piclist 2.3.1 → 2.3.3

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.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{EventEmitter as e}from"node:events";import t,{dirname as r}from"node:path";import n from"axios";import i from"fs-extra";import{readJSONSync as a,ensureDirSync as s,emptyDirSync as o,pathExistsSync as E,createFileSync as S,outputFileSync as I,removeSync as _,moveSync as l,ensureFileSync as c,remove as P}from"fs-extra/esm";import u from"heic-convert";import{cloneDeep as p,merge as g,get as A,set as C,unset as d}from"lodash-es";import T from"node:crypto";import D,{fileURLToPath as m,URL as f,pathToFileURL as L}from"node:url";import{imageSize as h}from"image-size";import B from"sharp";import N from"text-to-svg";import{v4 as U}from"uuid";import R,{homedir as M}from"node:os";import{ObjectAdapter as O,I18n as y}from"@piclist/i18n";import w from"js-yaml";import{Command as G}from"commander";import b from"inquirer";import x from"node:util";import W from"chalk";import $ from"dayjs";import{spawn as F}from"cross-spawn";import H from"resolve";import K from"node:https";import k from"form-data";import{httpsOverHttp as v}from"tunnel";import Y from"mime";import{S3Client as V,PutObjectCommand as z,GetObjectCommand as j}from"@aws-sdk/client-s3";import{getSignedUrl as q}from"@aws-sdk/s3-request-presigner";import{NodeHttpHandler as X}from"@smithy/node-http-handler";import{fileTypeFromBuffer as Q}from"file-type";import{HttpsProxyAgent as Z,HttpProxyAgent as J}from"hpagent";import ee from"qiniu";import{NodeSSH as te}from"node-ssh-no-cpu-features";import{AuthType as re,createClient as ne}from"webdav";import{JSONStore as ie}from"@piclist/store";import{spawn as ae}from"node:child_process";import se from"is-wsl";const oe=r(m(import.meta.url));function Ee(e){const t=new Array(e);let r=0,n=0,i=0;for(;r<e;){if(i<6){n=n<<30|1073741824*Math.random()>>>0,i+=30;continue}const e=63&n;n>>>=6,i-=6,e<62&&(t[r++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[e])}return t.join("")}function Se(e){return 1===e.toString().length?`0${e}`:e.toString()}function Ie(e){return T.createHash("md5").update(e).digest("hex")}function _e(e){return T.createHash("sha256").update(e).digest("hex")}function le(e,r,n,i){const a=new Date,s=a.getFullYear().toString(),o=t.basename(e,t.extname(e)),E={"{Y}":()=>s,"{y}":()=>s.slice(2),"{m}":()=>Se(a.getMonth()+1),"{d}":()=>Se(a.getDate()),"{h}":()=>Se(a.getHours()),"{i}":()=>Se(a.getMinutes()),"{s}":()=>Se(a.getSeconds()),"{ms}":()=>a.getMilliseconds().toString().padStart(3,"0"),"{md5}":()=>Ie(i||o),"{sha256}":()=>_e(i||o),"{md5-16}":()=>Ie(i||o).slice(0,16),"{filename}":()=>n?t.basename(n,t.extname(n)):o,"{uuid}":()=>U().replace(/-/g,""),"{timestamp}":()=>a.getTime().toString()};if(void 0===r||!Object.keys(E).some(e=>r.includes(e))&&!r.includes("localFolder:")&&!r.includes("str-"))return e;const S=t.extname(e);let I=Object.keys(E).reduce((e,t)=>e.replace(new RegExp(t,"g"),E[t]()),r)+S;return I=I.replace(/{str-(\d+)}/gi,(e,t)=>Ee(parseInt(t,10))),I=I.replace(/{sha256-(\d+)}/gi,(e,t)=>{const r=parseInt(t,10);return _e(i||o).slice(0,r)}),I=I.replace(/{(localFolder:?(\d+)?)}/gi,(r,n,i)=>{i=Math.max(1,i||0);return t.dirname(e).split(t.sep).slice(0-i).reduce((e,t)=>`${e}/${t}`).replace(/:/g,"")}),I}const ce=e=>/^https?:\/\//.test(e),Pe=e=>{e=e||"";try{return e!==decodeURI(e)}catch(e){return!1}},ue=e=>(Pe(e)||(e=encodeURI(e)),e),pe=e=>{try{const{width:t=0,height:r=0,type:n}=h(e);return{real:!0,width:t,height:r,extname:n?`.${n}`:".png"}}catch(e){return{real:!1,width:200,height:200,extname:".png"}}},ge=async e=>{try{return{extname:t.extname(e),fileName:t.basename(e),filePath:e,buffer:await i.readFile(e),success:!0}}catch{return{reason:`read file ${e} error`,success:!1}}},Ae=async(e,r)=>{let n;e=ue(e);const i=new Promise((i,a)=>{(async()=>{try{const a=await r.request({method:"get",url:e,resolveWithFullResponse:!0,responseType:"arraybuffer"}).then(e=>e.data);clearTimeout(n);const s=new f(e).pathname;let o="";try{o=new f(e).searchParams.get("wx_fmt")||t.extname(s)||""}catch(e){o=t.extname(s)||""}!o.startsWith(".")&&o&&(o=`.${o}`),i({buffer:a,fileName:t.basename(s),extname:o,success:!0})}catch(t){clearTimeout(n),i({success:!1,reason:`request ${e} error, ${t?.message??""}`})}})().catch(a)}),a=new Promise(t=>{n=setTimeout(()=>{t({success:!1,reason:`request ${e} timeout`})},3e4)});return Promise.race([i,a])},Ce=e=>/^@[^/]+\/picgo-plugin-/.test(e)?"scope":e.startsWith("picgo-plugin-")?"normal":de(e)?"simple":"unknown",de=e=>{if(t.isAbsolute(e))return!1;const r=t.join(process.cwd(),e);return!i.existsSync(r)&&(!e.includes("/")&&!e.includes("\\"))},Te=(e,t="")=>t?`@${t}/picgo-plugin-${e}`:`picgo-plugin-${e}`,De=(e,r=console)=>{switch(Ce(e)){case"normal":case"scope":return e;case"simple":return Te(e);default:{let n=e;return t.isAbsolute(e)&&i.existsSync(e)?fe(n):(n=t.join(process.cwd(),e),i.existsSync(n)?fe(n):(r.warn(`Can't find plugin ${e}`),""))}}},me=(e,r=console)=>{switch(Ce(e)){case"normal":return Le(e);case"scope":return Le(e,!0);case"simple":return Le(Te(e));default:{if(!i.existsSync(e))return r.warn(`Can't find plugin: ${e}`),"";const n=t.posix.join(e,"package.json");if(i.existsSync(n)){const e=a(n)||{};return e.name?.includes("picgo-plugin-")?e.name:(r.warn(`The plugin package.json's name filed is ${e.name||"empty"}, need to include the prefix: picgo-plugin-`),"")}return r.warn(`Can't find plugin: ${e}`),""}}},fe=e=>e.split(t.sep).join("/"),Le=(e,t=!1)=>{if(e.includes("@")){let r=/(.+\/)?(picgo-plugin-\w+)(@.+)*/;t&&(r=/(.+\/)?(^@[^/]+\/picgo-plugin-\w+)(@.+)*/);const n=e.match(r);return n?n[2]:(console.warn("can not remove plugin version"),e)}return e},he=[],Be=e=>he.some(t=>e.startsWith(t)),Ne=e=>"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0;function Ue(e){try{return JSON.parse(e)}catch(e){return JSON.parse("{}")}}const Re=(e=0)=>isNaN(Number(e))?0:Number(e),Me=()=>"development"===process.env.NODE_ENV;const Oe=t.join(oe,"assets","piclist.png");async function ye(e,t,r,n,i,a,s,o,E,S,I,_){o=!o||o<0||o>1?.15:o;const l=B(e,{animated:!0}),{width:c=200}=await l.metadata(),P=await async function(e,t,r,n,i,a,s,o=200,E=0,S=255){let I;"image"===e?(S=Re(S),s=s||Oe,I=await B(s).composite([{input:Buffer.from([255,255,255,S>255?255:S]),raw:{width:1,height:1,channels:4},tile:!0,blend:"dest-in"}]).toBuffer()):I=await async function(e,t,r,n){t=t||"测试",n=n||e;const i={anchor:"top",attributes:{fill:r=r||"rgba(204, 204, 204, 0.45)"}},a=N.loadSync(n).getSVG(t,i);return Buffer.from(a)}(t,r,a,n||t);const{width:_,height:l}=await async function(e){const{width:t,height:r}=await B(e).metadata();return{width:t||200,height:r||200}}(I),c=Math.floor(o*Re(i)),P=Math.floor(c*l/_);return await B(I).resize(c,P,{fit:"inside"}).rotate(E,{background:{r:255,g:255,b:255,alpha:0}}).toBuffer()}(t,r,a,s,o,E,S,c,i,_);return await l.composite([{input:P,gravity:I||"southeast",tile:n}]).toBuffer()}const we=(...e)=>e.every(e=>null!=e&&("string"==typeof e?""!==e:"number"==typeof e?e>0:"object"!=typeof e||Object.keys(e).length>0)),Ge=["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"],be=["jpg","jpeg","png","webp","bmp","tiff","tif","svg","ico","avif","heif","heic","gif"],xe=e=>Ge.includes(e);function We(e,t,r,n){e=e||{};return{isAddWatermark:!!(t.isAddWatermark??e.isAddWatermarkMap?.[r]??e.isAddWatermark),watermarkType:(t.watermarkType??e.watermarkTypeMap?.[r]??e.watermarkType)||"text",isFullScreenWatermark:!!(t.isFullScreenWatermark??e.isFullScreenWatermarkMap?.[r]??e.isFullScreenWatermark),watermarkDegree:Re(t.watermarkDegree??e.watermarkDegreeMap?.[r]??e.watermarkDegree),watermarkText:(t.watermarkText??e.watermarkTextMap?.[r]??e.watermarkText)||"",watermarkFontPath:(t.watermarkFontPath??e.watermarkFontPath)||"",watermarkScaleRatio:Re(t.watermarkScaleRatio??e.watermarkScaleRatioMap?.[r]??e.watermarkScaleRatio),watermarkColor:(t.watermarkColor??e.watermarkColorMap?.[r]??e.watermarkColor)||"rgba(204, 204, 204, 0.45)",watermarkImagePath:(t.watermarkImagePath??e.watermarkImagePathMap?.[r]??e.watermarkImagePath)||"",watermarkPosition:(t.watermarkPosition??e.watermarkPositionMap?.[r]??e.watermarkPosition)||"southeast",watermarkImageOpacity:Re(t.watermarkImageOpacity??e.watermarkImageOpacityMap?.[r]??e.watermarkImageOpacity),picBed:r,id:n}}function $e(e,t,r,n){e=e||{};return{quality:Re(t.quality??e.qualityMap?.[r]??e.quality),isConvert:!!(t.isConvert??e.isConvertMap?.[r]??e.isConvert),convertFormat:(t.convertFormat??e.convertFormatMap?.[r]??e.convertFormat)||"jpg",isReSize:!!(t.isReSize??e.isReSizeMap?.[r]??e.isReSize),reSizeHeight:Re(t.reSizeHeight??e.reSizeHeightMap?.[r]??e.reSizeHeight),reSizeWidth:Re(t.reSizeWidth??e.reSizeWidthMap?.[r]??e.reSizeWidth),skipReSizeOfSmallImg:!!(t.skipReSizeOfSmallImg??e.skipReSizeOfSmallImgMap?.[r]??e.skipReSizeOfSmallImg),isReSizeByPercent:!!(t.isReSizeByPercent??e.isReSizeByPercentMap?.[r]??e.isReSizeByPercent),reSizePercent:Re(t.reSizePercent??e.reSizePercentMap?.[r]??e.reSizePercent),isRotate:!!(t.isRotate??e.isRotateMap?.[r]??e.isRotate),rotateDegree:Re(t.rotateDegree??e.rotateDegreeMap?.[r]??e.rotateDegree),isRemoveExif:!!(t.isRemoveExif??e.isRemoveExifMap?.[r]??e.isRemoveExif),isFlip:!!(t.isFlip??e.isFlipMap?.[r]??e.isFlip),isFlop:!!(t.isFlop??e.isFlopMap?.[r]??e.isFlop),formatConvertObj:(t.formatConvertObj??e.formatConvertObjMap?.[r]??e.formatConvertObj)||{},picBed:r,id:n}}async function Fe(e,t,r,n){try{let n=B(e,{animated:!0});return n=B(await ye(e,t.watermarkType||"text",r,t.isFullScreenWatermark,Re(t.watermarkDegree),t.watermarkText,t.watermarkFontPath,Re(t.watermarkScaleRatio),t.watermarkColor,t.watermarkImagePath,t.watermarkPosition,Re(t.watermarkImageOpacity)),{animated:!0}),await n.toBuffer()}catch(t){return n.error(`Image add watermark error: ${t}`),e}}function He(e){const t="string"==typeof e.formatConvertObj?Ue(e.formatConvertObj):e.formatConvertObj;return{quality:Re(e.quality),isConvert:e.isConvert||!1,convertFormat:e.convertFormat||"jpg",isReSize:e.isReSize||!1,reSizeHeight:Re(e.reSizeHeight),reSizeWidth:Re(e.reSizeWidth),skipReSizeOfSmallImg:e.skipReSizeOfSmallImg||!1,isReSizeByPercent:e.isReSizeByPercent||!1,reSizePercent:Re(e.reSizePercent),isRotate:e.isRotate||!1,isFlip:e.isFlip||!1,isFlop:e.isFlop||!1,rotateDegree:Re(e.rotateDegree),picBed:e.picBed||"smms",formatConvertObj:t||{}}}async function Ke(e,t,r,n){t=He(t);try{if(r=ke(r),!be.includes(r)||"gif"===r)return e;let n=B(e,{animated:!0}),i=100;if(we(t.quality)&&t.quality<100&&(i=Math.min(Math.max(Math.round(t.quality),1),100)),t.isReSizeByPercent){if(we(t.reSizePercent)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);e&&r&&(n=n.resize(Math.round(e*t.reSizePercent/100),Math.round(r*t.reSizePercent/100),{fit:"inside"}))}}else if(t.isReSize)if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&"number"==typeof t.reSizeWidth&&t.reSizeWidth>0)n=n.resize(t.reSizeWidth,t.reSizeHeight,{fit:"fill"});else if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&("number"!=typeof t.reSizeWidth||0===t.reSizeWidth)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeHeight<r)){const i=t.reSizeHeight/r;n=n.resize(Math.round(e*i),t.reSizeHeight,{fit:"inside"})}}else if("number"==typeof t.reSizeWidth&&t.reSizeWidth>0&&("number"!=typeof t.reSizeHeight||0===t.reSizeHeight)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeWidth<e)){const i=t.reSizeWidth/e;n=n.resize(t.reSizeWidth,Math.round(r*i),{fit:"inside"})}}if(t.isRotate&&t.rotateDegree&&(n=n.rotate(t.rotateDegree,{background:{r:255,g:255,b:255,alpha:0}})),t.isFlip&&(n=n.flip()),t.isFlop&&(n=n.flop()),t.isConvert){const e=ve(t,r);e!==r&&(n=n.toFormat(e,{quality:i,mozjpeg:!0}))}else n=r&&xe(r)?n.toFormat(r,{quality:i,mozjpeg:!0}):n.toFormat("jpg",{quality:i,mozjpeg:!0});return await n.toBuffer()}catch(t){return n.error(`Image process error: ${t}`),e}}const ke=e=>e.toLowerCase().replace(".","");function ve(e,t){if(e=He(e||{}),"gif"===(t=ke(t)))return"gif";let r=e?.convertFormat||"jpg";if(e?.formatConvertObj&&Object.keys(e.formatConvertObj).length>0){const n=e.formatConvertObj;Object.keys(n).includes(t)&&(r=n[t],xe(r)||(r="jpg"))}return"imgur"===e?.picBed&&"webp"===r&&(r="jpg"),r}const Ye=(e,t)=>(t=ke(t),!!e&&!!e.isAddWatermark&&be.includes(t)&&"svg"!==t),Ve=(e,t)=>{if(!be.includes(ke(t))||!e)return!1;const{quality:r,isReSizeByPercent:n,reSizePercent:i,isReSize:a,reSizeHeight:s,reSizeWidth:o,isRotate:E,rotateDegree:S,isConvert:I,convertFormat:_,isFlip:l,isFlop:c}=He(e);if(we(r)&&r<100)return!0;if(n&&we(i))return!0;if(a&&("number"==typeof s&&s>0||"number"==typeof o&&o>0))return!0;if(E&&S)return!0;if(l||c)return!0;if(I){return t!==(_||"jpg")}return!1},ze=async(e,t)=>(t=ke(t),be.includes(t)&&"svg"!==t?await B(e,{animated:!0}).toBuffer():e);var je=Object.freeze({__proto__:null,AddWatermark:ye,configBlackList:he,forceNumber:Re,getConvertedFormat:ve,getFSFile:ge,getImageSize:pe,getNormalPluginName:me,getPluginNameType:Ce,getProcessPluginName:De,getTreatedCompressOptions:$e,getTreatedWaterMarkOptions:We,getURLFile:Ae,handleCompletePluginName:Te,handleStreamlinePluginName:e=>/^@[^/]+\/picgo-plugin-/.test(e)?e.replace(/^@[^/]+\/picgo-plugin-/,""):e.replace(/picgo-plugin-/,""),handleUnixStylePath:fe,handleUrlEncode:ue,imageAddWaterMark:Fe,imageCompress:Ke,isConfigKeyInBlackList:Be,isDev:Me,isInputConfigValid:Ne,isNeedAddWatermark:Ye,isNeedCompress:Ve,isSimpleName:de,isUrl:ce,isUrlEncode:Pe,randomStringGenerator:Ee,removeExif:ze,removePluginVersion:Le,renameFileNameWithCustomString:le,renameFileNameWithRandomString:function(e,r=5){return`${Ee(r)}${t.extname(e)}`},renameFileNameWithTimestamp:function(e){return`${Math.floor(Date.now()/1e3)}${Ee(5)}${t.extname(e)}`},safeParse:Ue});var qe,Xe,Qe;!function(e){e.success="success",e.info="info",e.warn="warn",e.error="error"}(qe||(qe={})),function(e){e.UPLOAD_PROGRESS="uploadProgress",e.FAILED="failed",e.BEFORE_TRANSFORM="beforeTransform",e.BEFORE_UPLOAD="beforeUpload",e.AFTER_UPLOAD="afterUpload",e.FINISHED="finished",e.INSTALL="install",e.UNINSTALL="uninstall",e.UPDATE="update",e.NOTIFICATION="notification"}(Xe||(Xe={})),function(e){e.CONFIG_CHANGE="CONFIG_CHANGE"}(Qe||(Qe={}));const Ze="Add watermark to image",Je="Compress or convert image",et="Remove exif info",tt="Download ttf file",rt="Download ttf file successfully",nt="Download ttf file failed",it="Download ttf file failed, skip add watermark",at=0,st=30,ot=60,Et=-1,St=["zip","rar","7z","tar","gz","tar.gz","tar.bz2","tar.xz"],It="smms";class _t extends e{ctx;ttfPath;constructor(e){super(),this.ctx=e,this.ttfPath=t.join(e.baseDir,"assets","simhei.ttf"),this.initializeDirs()}initializeDirs(){s(t.join(this.ctx.baseDir,"imgTemp"));this.ctx.getConfig("settings.enableSecondUploader")||!1||o(t.join(this.ctx.baseDir,"piclistTemp"))}async downloadTTF(){try{if(s(t.dirname(this.ttfPath)),i.existsSync(this.ttfPath)&&i.statSync(this.ttfPath).size>0)return!0;this.ctx.log.info(tt);const e=await n.get("https://release.piclist.cn/simhei.ttf",{responseType:"arraybuffer"});return i.writeFileSync(this.ttfPath,e.data),this.ctx.log.info(rt),!0}catch(e){return this.ctx.log.error(nt),!1}}getProcessingOptions(e){const t=e.getConfig("buildIn.compress"),r=e.getConfig("buildIn.watermark"),n=e.getConfig("buildIn.list")||[],i=this.getUploaderType(e),a=n.find(e=>e.id===i.id)?.compress||{},s=n.find(e=>e.id===i.id)?.watermark||{};if(t){t.picBed=i.picBed,t.id=i.id;const e="string"==typeof t.formatConvertObj?Ue(t.formatConvertObj):t.formatConvertObj;t.formatConvertObj=e}r&&(r.picBed=i.picBed,r.id=i.id);return{compressOptions:$e(t,a,i.picBed,i.id),watermarkOptions:We(r,s,i.picBed,i.id)}}getUploaderType(e){const t=e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||It,r=e.getConfig(`picBed.${t}`)||{};return{picBed:t,id:r._id||"",config:r}}getSkipExtensions(e){const t=e.getConfig("buildIn.skipProcess")||{},r=e.getConfig("buildIn.list")||[],n=this.getUploaderType(e),i=r.find(e=>e.id===n.id)?.skipProcess||{},a=i.skipProcessExtList?i.skipProcessExtList.split(",").map(e=>e.trim()):t.skipProcessExtList?t.skipProcessExtList.split(",").map(e=>e.trim()):St;return new Set(a.map(e=>{const t=e.trim().toLowerCase();return t.startsWith(".")?t:`.${t}`}))}async start(e,t=!1){const r=(e=>({configPath:e.configPath,baseDir:e.baseDir,log:e.log,cmd:e.cmd,output:[],input:[],rawInput:[],processedInput:[],pluginLoader:e.pluginLoader,pluginHandler:e.pluginHandler,Request:e.Request,helper:e.helper,VERSION:e.VERSION,GUI_VERSION:e.GUI_VERSION,request:e.request,i18n:e.i18n,configManager:e.configManager,getConfig:e.getConfig.bind(e),saveConfig:e.saveConfig.bind(e),removeConfig:e.removeConfig.bind(e),setConfig:e.setConfig.bind(e),unsetConfig:e.unsetConfig.bind(e),upload:e.upload.bind(e),uploadReturnCtx:e.uploadReturnCtx.bind(e),addListener:e.addListener.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeListener:e.removeListener.bind(e),off:e.off.bind(e),removeAllListeners:e.removeAllListeners.bind(e),setMaxListeners:e.setMaxListeners.bind(e),getMaxListeners:e.getMaxListeners.bind(e),listeners:e.listeners.bind(e),rawListeners:e.rawListeners.bind(e),emit:e.emit.bind(e),listenerCount:e.listenerCount.bind(e),prependListener:e.prependListener.bind(e),prependOnceListener:e.prependOnceListener.bind(e),eventNames:e.eventNames.bind(e)}))(this.ctx);try{if(!Array.isArray(e))throw new Error("Input must be an array.");return this.initializeContext(r,e),t?await this.handleSkipProcess(r):await this.executeLifecycle(r)}catch(e){return this.handleError(r,e)}}initializeContext(e,t){e.input=t,e.output=[],e.processedInput=[],e.rawInputPath=[],e.rawInput=p(t)}async handleSkipProcess(e){return e.log.info("Skip process."),e.output=e.input,await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}async executeLifecycle(e){return await this.preprocess(e),await this.beforeTransform(e),await this.doTransform(e),await this.buildInRename(e),await this.beforeUpload(e),e.processedInput=p(e.output),await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}handleError(e,t){if(e.log.warn(Xe.FAILED),e.emit(Xe.UPLOAD_PROGRESS,Et),e.emit(Xe.FAILED,t),e.log.error(t),e.getConfig("debug"))throw t;return e}async preprocess(e){const{compressOptions:r,watermarkOptions:n}=this.getProcessingOptions(e),i=this.getSkipExtensions(e);if(e.emit(Xe.UPLOAD_PROGRESS,at),e.emit(Xe.BEFORE_TRANSFORM,e),e.log.info("Before transform"),r||n){const a=t.join(e.baseDir,"piclistTemp");await this.processImages(e,a,r,n,i)}else this.initializeRawInputPaths(e);return e}initializeRawInputPaths(e){for(const t of e.input)e.rawInputPath.push(t)}async processImages(e,t,r,n,i){await Promise.allSettled(e.input.map(async(a,s)=>{await this.processImage(a,s,e,t,r,n,i)}))}async processImage(e,r,n,a,s,o,E){const S=ce(e),I=S?await Ae(e,n):{success:!1};if(S&&(!I.success||!I.buffer))return;n.rawInputPath[r]=e;const _=S?I.extname||"":t.extname(e),l=E.has(_.toLowerCase()),c=S?I.buffer:i.readFileSync(e),P=await this.applyProcessing(c,_,s,o,l,e,a,n);P&&await this.saveProcessedImage(e,r,n,a,P,_,s,S,I)}async applyProcessing(e,t,r,n,i,a,s,o){let E;return Ve(r,t)&&!i&&(E=await this.compressImage(e,E,t,r,a,s,o)),Ye(n,t)&&!i&&(E=await this.addWatermark(e,n,o)),E||!r?.isRemoveExif||i||(o.log.info(et),E=await ze(e,t)),E}async addWatermark(e,t,r){if(!t?.watermarkFontPath&&"image"!==t?.watermarkType){if(!await this.downloadTTF())return void this.ctx.log.warn(it)}return r.log.info(Ze),await Fe(e,t,this.ttfPath,r.log)}async compressImage(e,t,r,n,i,a,s){s.log.info(Je);const o=r.toLowerCase();return ce(i)||".heic"!==o&&".heif"!==o?await Ke(t??e,n,r,s.log):await this.convertHeicAndCompress(e,i,r,a,n,s)}async convertHeicAndCompress(e,r,n,a,s,o){const E=await u({buffer:e.buffer,format:"JPEG",quality:1}),S=t.join(a,`${t.basename(r,n)}.jpg`);return i.writeFileSync(S,Buffer.from(E)),await Ke(i.readFileSync(S),s,".jpg",o.log)}async saveProcessedImage(e,r,n,a,s,o,E,S,I){let _=E?.isConvert?ve(E,o):o;_=_.startsWith(".")?_:`.${_}`;const l=S?t.join(a,`${this.getFileBaseName(I)}${_}`):t.join(a,`${t.basename(e,o)}${_}`);n.rawInputPath[r]=t.join(t.dirname(e),S?t.basename(l):`${t.basename(e,o)}${_}`),i.writeFileSync(l,s),n.input[r]=l}getFileBaseName(e){return e.fileName?t.basename(e.fileName,t.extname(e.fileName)):(new Date).getTime().toString()}async buildInRename(e){const t=this.getUploaderType(e),r=e.getConfig("buildIn.rename")||{},n=e.getConfig("buildIn.list")||[],i={...r,...n.find(e=>e.id===t.id)?.rename||{}};if(!i.enable)return e;const a=i.format||"{filename}";return e.output=e.output.map((t,r)=>{let n=t.fileName;return n=le(e.rawInputPath[r],a,void 0,t.base64Image?t.base64Image:t.buffer),n=n.replace(/\/+/g,"/"),"/"===n.slice(-1)&&(n+=r.toString()),t.fileName=n,t}),e}async beforeTransform(e){return await this.handlePlugins(e.helper.beforeTransformPlugins,e),e}async doTransform(e){e.emit(Xe.UPLOAD_PROGRESS,st);const t=e.getConfig("picBed.transformer")||"path";let r=e.helper.transformer.get(t),n=t;return r||(r=e.helper.transformer.get("path"),n="path",e.log.warn(`Can't find transformer - ${t}, switch to default transformer - path`)),e.log.info(`Transforming... Current transformer is [${n}]`),await(r?.handle(e)),e}async beforeUpload(e){return e.emit(Xe.UPLOAD_PROGRESS,ot),e.log.info("Before upload"),e.emit(Xe.BEFORE_UPLOAD,e),await this.handlePlugins(e.helper.beforeUploadPlugins,e),e}async doUpload(e){const t=this.getUploaderType(e);let r=e.helper.uploader.get(t.picBed),n=t.picBed;r||(e.log.warn(`Can't find uploader - ${n}, switch to default uploader - ${It}`),n=It,r=e.helper.uploader.get(It)),e.log.info(`Uploading... Current uploader is [${n}] with config id [${t.id||"default"}]`),await(r?.handle(e));for(const t of e.output)t.type=n;return e}async afterUpload(e){e.emit(Xe.AFTER_UPLOAD,e),e.emit(Xe.UPLOAD_PROGRESS,100),await this.handlePlugins(e.helper.afterUploadPlugins,e);let t="";const r=e.output.length,n=!0===e.getConfig("settings.encodeOutputURL");for(let i=0;i<r;i++)void 0!==e.output[i].imgUrl&&(t+=n?ue(e.output[i].imgUrl):e.output[i].imgUrl,i!==r-1&&(t+="\n")),delete e.output[i].base64Image,delete e.output[i].buffer;return e.emit(Xe.FINISHED,e),e.log.success(`\n${t}`),e}async handlePlugins(e,t){const r=e.getList(),n=e.getIdList(),i=e.getName();return await Promise.all(r.map(async(e,r)=>{try{t.log.info(`${i}: ${n[r]} running`),await e.handle(t)}catch(e){throw t.log.error(`${i}: ${n[r]} error`),e}})),t}}const lt={"zh-CN":{UPLOAD_FAILED:"上传失败",CHECK_SETTINGS:"请检查你的配置项是否正确",CHECK_SETTINGS_AND_NETWORK:"请检查你的配置项以及网络",UPLOAD_FAILED_REASON:"错误码: ${code},请打开浏览器粘贴地址查看相关原因",SERVER_ERROR:"服务端出错,请重试",AUTH_FAILED:"认证失败",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"设定Token",PICBED_SMMS_MESSAGE_TOKEN:"请填写Token",PICBED_SMMS_BACKUPDOMAIN:"备用上传域名",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高级自定义",PICBED_ADVANCEDPLIST_ENDPOINT:"设定接口网址",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"设定请求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"请选择请求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"设定表单参数名",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"设定请求头",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"设定请求体",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"设定自定义前缀",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"设定网站路径",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ADVANCEDPLIST_RESDATAPATH:"设定返回数据URL路径",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地上传",PICBED_LOCAL_PATH:"设定路径",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"设定自定义域名",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"设定网站路径",PICBED_LOCAL_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"设定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"设定Token",PICBED_ALIST_MESSAGE_TOKEN:"请输入Token(与用户名-密码二选一)",PICBED_ALIST_USERNAME:"设定用户名",PICBED_ALIST_MESSAGE_USERNAME:"请输入用户名(与Token二选一)",PICBED_ALIST_PASSWORD:"设定密码",PICBED_ALIST_MESSAGE_PASSWORD:"请输入密码",PICBED_ALIST_UPLOADPATH:"设定上传路径",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"设定网站路径",PICBED_ALIST_MESSAGE_WEB_PATH:"用于拼接网址路径",PICBED_ALIST_CUSTOMURL:"设定自定义域名",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里云OSS",PICBED_ALICLOUD_ACCESSKEYID:"设定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"设定accessKeySecret",PICBED_ALICLOUD_BUCKET:"设定Bucket",PICBED_ALICLOUD_AREA:"设定存储区域",PICBED_ALICLOUD_PATH:"设定存储路径",PICBED_ALICLOUD_WEBPATH:"设定网站路径",PICBED_ALICLOUD_CUSTOMURL:"设定自定义域名",PICBED_ALICLOUD_OPTIONS:"设定网址后缀",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"腾讯云COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"设定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"设定SecretKey",PICBED_TENCENTCLOUD_APPID:"设定AppId",PICBED_TENCENTCLOUD_BUCKET:"设定Bucket",PICBED_TENCENTCLOUD_AREA:"设定存储区域",PICBED_TENCENTCLOUD_ENDPOINT:"设定接入点",PICBED_TENCENTCLOUD_PATH:"设定存储路径",PICBED_TENCENTCLOUD_WEBPATH:"设定网站路径",PICBED_TENCENTCLOUD_OPTIONS:"设定网址后缀",PICBED_TENCENTCLOUD_CUSTOMURL:"设定自定义域名",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"极智压缩",PICBED_TENCENTCLOUD_SLIM_TIP:"图片极智压缩,详情请参考[文档说明](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"开启",PICBED_TENCENTCLOUD_SLIM_CANCEL:"关闭",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"设定Token",PICBED_GITHUB_REPO:"设定仓库名",PICBED_GITHUB_PATH:"设定存储路径",PICBED_GITHUB_WEBPATH:"设定网站路径",PICBED_GITHUB_BRANCH:"设定分支名",PICBED_GITHUB_CUSTOMURL:"设定自定义域名",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛云",PICBED_QINIU_ACCESSKEY:"设定AccessKey",PICBED_QINIU_SECRETKEY:"设定SecretKey",PICBED_QINIU_BUCKET:"设定Bucket",PICBED_QINIU_PATH:"设定存储路径",PICBED_QINIU_URL:"设定访问网址",PICBED_QINIU_OPTIONS:"设定网址后缀",PICBED_QINIU_AREA:"设定存储区域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"设定ClientId",PICBED_IMGUR_USERNAME:"设定用户名",PICBED_IMGUR_ACCESS_TOKEN:"设定accessToken",PICBED_IMGUR_ALBUM:"设定相册名",PICBED_IMGUR_PROXY:"设定代理",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上传时填写",PICBED_IMGUR_MESSAGE_USERNAME:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍云",PICBED_UPYUN_BUCKET:"设定Bucket",PICBED_UPYUN_OPERATOR:"设定操作员",PICBED_UPYUN_PASSWORD:"设定操作员密码",PICBED_UPYUN_PATH:"设定存储路径",PICBED_UPYUN_URL:"设定加速域名",PICBED_UPYUN_OPTIONS:"设定网址后缀",PICBED_UPYUN_ENDPOINT:"设定自定义API接入点",PICBED_UPYUN_ANTILEECHTOKEN:"设定防盗链Token",PICBED_UPYUN_EXPIRETIME:"设定过期时间(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"设定接口网址",PICBED_WEBDAVPLIST_SSLENABLED:"启用SSL",PICBED_WEBDAVPLIST_USERNAME:"设定用户名",PICBED_WEBDAVPLIST_PASSWORD:"设定密码",PICBED_WEBDAVPLIST_PATH:"设定存储路径",PICBED_WEBDAVPLIST_WEBPATH:"设定网址路径",PICBED_WEBDAVPLIST_CUSTOMURL:"设定自定义域名",PICBED_WEBDAVPLIST_AUTHTYPE:"设定认证方式",PICBED_WEBDAVPLIST_OPTIONS:"设定网址后缀",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS时启用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"输入密码",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=123456",PICBED_SFTPPLIST:"内置SFTP",PICBED_SFTPPLIST_HOST:"设定主机",PICBED_SFTPPLIST_PORT:"设定端口",PICBED_SFTPPLIST_USERNAME:"设定用户名",PICBED_SFTPPLIST_PASSWORD:"设定密码",PICBED_SFTPPLIST_PRIVATEKEY:"设定私钥",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"设定私钥密码",PICBED_SFTPPLIST_UPLOADPATH:"设定上传路径",PICBED_SFTPPLIST_CUSTOMURL:"设定自定义域名",PICBED_SFTPPLIST_WEBSITE_PATH:"设定网站路径",PICBED_SFTPPLIST_FILE_USER:"设定文件用户:组",PICBED_SFTPPLIST_FILE_MODE:"设定文件权限",PICBED_SFTPPLIST_DIR_MODE:"设定文件夹权限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默认22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"输入私钥密码",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"设定主机",PICBED_PICLIST_PORT:"设定端口",PICBED_PICLIST_PICBED:"设定图床",PICBED_PICLIST_CONFIGNAME:"设定配置名",PICBED_PICLIST_KEY:"设定鉴权Key",PICBED_LSKY_PLIST:"兰空图床",PICBED_LSKY_VERSION:"设定版本",PICBED_LSKY_MESSAGE_VERSION:"例如V1",PICBED_LSKY_HOST:"设定主机",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"设定Token",PICBED_LSKY_MESSAGE_TOKEN:"例如: 1234567890",PICBED_LSKY_STRATEGY_ID:"设定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如: 1",PICBED_LSKY_ALBUM_ID:"设定相册ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"选填,V2版本限定",PICBED_LSKY_PERMISSION:"设定权限",PICBED_LSKY_MESSAGE_PERMISSION:"例如: public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"设定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"设定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"设定Bucket",PICBED_AWSS3PLIST_REGION:"设定Region",PICBED_AWSS3PLIST_UPLOADPATH:"设定上传路径",PICBED_AWSS3PLIST_ENDPOINT:"设定自定义节点",PICBED_AWSS3PLIST_PROXY:"设定代理",PICBED_AWSS3PLIST_URLPREFIX:"设定自定义域名",PICBED_AWSS3PLIST_OPTIONS:"设定网址后缀",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"启用s3ForcePathStyle",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"拒绝无效TLS证书连接",PICBED_AWSS3PLIST_ACL:"设定上传资源的访问策略",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"开启 `pathStyleAccess` 时,是否要禁用最终生成URL中添加 bucket 前缀",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要时启用",BUILDIN_WATERMARK:"水印设置",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印时启用",BUILDIN_WATERMARK_WATERMARKTYPE:"设定水印类型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"请选择水印类型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印时启用",BUILDIN_WATERMARK_WATERMARKDEGREE:"设定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"请输入数字",BUILDIN_WATERMARK_WATERMARKTEXT:"设定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"请输入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"设定水印字体文件路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"请输入水印字体文件路径",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"设定水印相对于图片的比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"请输入0-1的小数",BUILDIN_WATERMARK_WATERMARKCOLOR:"设定水印字体颜色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"请输入rgb颜色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"设定水印图片路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"请输入水印图片路径",BUILDIN_WATERMARK_WATERMARKPOSITION:"设定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"请选择水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"设定水印图片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"请输入0-255的整数",BUILDIN_SKIPPROCESS:"跳过处理设置",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"设定跳过处理的文件后缀列表",BUILDIN_RENAME:"重命名设置",BUILDIN_RENAME_FORMAT:"设定重命名格式",BUILDIN_RENAME_ENABLE:"是否启用重命名",BUILDIN_COMPRESS:"图片处理",BUILDIN_COMPRESS_QUALITY:"设定图片质量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"请输入1-100的整数",BUILDIN_COMPRESS_ISCONVERT:"是否进行格式转换",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要转换时启用",BUILDIN_COMPRESS_CONVERTFORMAT:"设定转换格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"请选择转换格式",BUILDIN_COMPRESS_ISRESIZE:"是否进行图片缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要缩放时启用",BUILDIN_COMPRESS_RESIZEWIDTH:"设定缩放宽度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"请输入数字",BUILDIN_COMPRESS_RESIZEHEIGHT:"设定缩放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"请输入数字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比进行缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比缩放时启用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻转图片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻转图片",BUILDIN_COMPRESS_RESIZEPERCENT:"设定缩放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"请输入数字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳过小图缩放",BUILDIN_COMPRESS_ISROTATE:"是否进行图片旋转",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋转时启用",BUILDIN_COMPRESS_ROTATEDEGREE:"设定旋转角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"请输入数字,可为负数",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF信息",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF信息时启用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安装成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安装失败",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安装失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安装失败,请输入合法插件名或合法安装路径",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸载成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸载失败",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸载失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸载失败,请输入合法插件名",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失败",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失败,请输入合法插件名"},"zh-TW":{UPLOAD_FAILED:"上傳失敗",CHECK_SETTINGS:"請檢查你的設定是否正確",CHECK_SETTINGS_AND_NETWORK:"請檢查你的設定及網路",UPLOAD_FAILED_REASON:"錯誤碼: ${code},請打開瀏覽器貼上地址查看相關原因",SERVER_ERROR:"伺服器出錯,請重試",AUTH_FAILED:"認證失敗",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"設定Token",PICBED_SMMS_MESSAGE_TOKEN:"請輸入Token",PICBED_SMMS_BACKUPDOMAIN:"備用上傳網址",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高級自定義",PICBED_ADVANCEDPLIST_ENDPOINT:"設定API主機",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"設定請求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"請選擇請求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"設定表單Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"設定請求頭",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"設定請求體",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"設定自定義前綴",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"設定網站路徑",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ADVANCEDPLIST_RESDATAPATH:"設定返回數據路徑",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地",PICBED_LOCAL_PATH:"設定儲存路徑",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"設定自訂網址",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"設定網址路徑",PICBED_LOCAL_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"設定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"設定Token",PICBED_ALIST_MESSAGE_TOKEN:"請輸入Token(與用戶名-密碼二選一)",PICBED_ALIST_USERNAME:"設定用戶名",PICBED_ALIST_MESSAGE_USERNAME:"請輸入用戶名(與Token二選一)",PICBED_ALIST_PASSWORD:"設定密碼",PICBED_ALIST_MESSAGE_PASSWORD:"請輸入密碼",PICBED_ALIST_UPLOADPATH:"設定上傳路徑",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"設定網址路徑",PICBED_ALIST_MESSAGE_WEB_PATH:"用於網頁顯示的路徑",PICBED_ALIST_CUSTOMURL:"設定自訂網址",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里雲OSS",PICBED_ALICLOUD_ACCESSKEYID:"設定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"設定accessKeySecret",PICBED_ALICLOUD_BUCKET:"設定Bucket",PICBED_ALICLOUD_AREA:"設定儲存區域",PICBED_ALICLOUD_PATH:"設定儲存路徑",PICBED_ALICLOUD_WEBPATH:"設定網址路徑",PICBED_ALICLOUD_CUSTOMURL:"設定自訂網址",PICBED_ALICLOUD_OPTIONS:"設定網址後綴",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"騰訊雲COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"設定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"設定SecretKey",PICBED_TENCENTCLOUD_APPID:"設定AppId",PICBED_TENCENTCLOUD_BUCKET:"設定Bucket",PICBED_TENCENTCLOUD_AREA:"設定儲存區域",PICBED_TENCENTCLOUD_ENDPOINT:"設定接入點",PICBED_TENCENTCLOUD_PATH:"設定儲存路徑",PICBED_TENCENTCLOUD_WEBPATH:"設定網址路徑",PICBED_TENCENTCLOUD_OPTIONS:"設定網址後綴",PICBED_TENCENTCLOUD_CUSTOMURL:"設定自訂網址",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"極智壓縮",PICBED_TENCENTCLOUD_SLIM_CANCEL:"關閉",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"開啟",PICBED_TENCENTCLOUD_SLIM_TIP:"圖片極智壓縮,詳情請參考[文檔說明](https://cloud.tencent.com/document/product/436/49259)",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"設定Token",PICBED_GITHUB_REPO:"設定倉庫名稱",PICBED_GITHUB_PATH:"設定儲存路徑",PICBED_GITHUB_WEBPATH:"設定網站路徑",PICBED_GITHUB_BRANCH:"設定分支名稱",PICBED_GITHUB_CUSTOMURL:"設定自訂網址",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_WEBPATH:"用於拼接網址路徑",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛雲",PICBED_QINIU_ACCESSKEY:"設定AccessKey",PICBED_QINIU_SECRETKEY:"設定SecretKey",PICBED_QINIU_BUCKET:"設定Bucket",PICBED_QINIU_PATH:"設定儲存路徑",PICBED_QINIU_URL:"設定訪問網址",PICBED_QINIU_OPTIONS:"設定網址後綴",PICBED_QINIU_AREA:"設定儲存區域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"設定ClientId",PICBED_IMGUR_USERNAME:"設定用戶名",PICBED_IMGUR_ACCESS_TOKEN:"設定accessToken",PICBED_IMGUR_ALBUM:"設定相簿名",PICBED_IMGUR_PROXY:"設定PROXY",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上傳時填寫",PICBED_IMGUR_MESSAGE_USERNAME:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍雲",PICBED_UPYUN_BUCKET:"設定Bucket",PICBED_UPYUN_ENDPOINT:"設定接入點",PICBED_UPYUN_OPERATOR:"設定操作員",PICBED_UPYUN_PASSWORD:"設定操作員密碼",PICBED_UPYUN_PATH:"設定儲存路徑",PICBED_UPYUN_URL:"設定加速網址",PICBED_UPYUN_OPTIONS:"設定網址後綴",PICBED_UPYUN_ANTILEECHTOKEN:"設定防盜鏈Token",PICBED_UPYUN_EXPIRETIME:"設定過期時間(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"設定API主機",PICBED_WEBDAVPLIST_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_USERNAME:"設定用戶名",PICBED_WEBDAVPLIST_PASSWORD:"設定密碼",PICBED_WEBDAVPLIST_PATH:"設定儲存路徑",PICBED_WEBDAVPLIST_CUSTOMURL:"設定自訂網址",PICBED_WEBDAVPLIST_AUTHTYPE:"設定認證方式",PICBED_WEBDAVPLIST_OPTIONS:"設定網址後綴",PICBED_WEBDAVPLIST_WEBPATH:"設定網站路徑",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"輸入用戶密碼",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=value",PICBED_SFTPPLIST:"內置SFTP",PICBED_SFTPPLIST_HOST:"設定主機",PICBED_SFTPPLIST_PORT:"設定端口",PICBED_SFTPPLIST_USERNAME:"設定用戶名",PICBED_SFTPPLIST_PASSWORD:"設定密碼",PICBED_SFTPPLIST_PRIVATEKEY:"設定私鑰",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"設定私鑰密碼",PICBED_SFTPPLIST_UPLOADPATH:"設定上傳路徑",PICBED_SFTPPLIST_CUSTOMURL:"設定自訂網址",PICBED_SFTPPLIST_WEBSITE_PATH:"設定網站路徑",PICBED_SFTPPLIST_FILE_USER:"設定文件用戶:組",PICBED_SFTPPLIST_FILE_MODE:"設定文件權限",PICBED_SFTPPLIST_DIR_MODE:"設定文件夾權限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默認22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"輸入私鑰密碼",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"設定主機",PICBED_PICLIST_PORT:"設定端口",PICBED_PICLIST_PICBED:"設定圖床",PICBED_PICLIST_CONFIGNAME:"設定配置名",PICBED_PICLIST_KEY:"設定鑒權Key",PICBED_LSKY_PLIST:"蘭空圖床",PICBED_LSKY_VERSION:"設定版本",PICBED_LSKY_MESSAGE_VERSION:"請選擇版本",PICBED_LSKY_HOST:"設定主機",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"設定Token",PICBED_LSKY_MESSAGE_TOKEN:"請輸入Token",PICBED_LSKY_STRATEGY_ID:"設定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如1",PICBED_LSKY_ALBUM_ID:"設定相冊ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"例如1",PICBED_LSKY_PERMISSION:"設定上傳權限",PICBED_LSKY_MESSAGE_PERMISSION:"請選擇上傳權限",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"設定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"設定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"設定Bucket",PICBED_AWSS3PLIST_REGION:"設定Region",PICBED_AWSS3PLIST_UPLOADPATH:"設定上傳路徑",PICBED_AWSS3PLIST_ENDPOINT:"設定自定義節點",PICBED_AWSS3PLIST_PROXY:"設定代理",PICBED_AWSS3PLIST_URLPREFIX:"設定自定義網址",PICBED_AWSS3PLIST_OPTIONS:"設定網址後綴",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"開啟 `pathStyleAccess`",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"開啟 `rejectUnauthorized`",PICBED_AWSS3PLIST_ACL:"設定ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"開啟 `pathStyleAccess` 時,是否要禁用最終生成URL中添加 bucket 前綴",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要時啟用",BUILDIN_WATERMARK:"水印設定",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印時啟用",BUILDIN_WATERMARK_WATERMARKTYPE:"設定水印類型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"請選擇水印類型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印時啟用",BUILDIN_WATERMARK_WATERMARKDEGREE:"設定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"請輸入數字",BUILDIN_WATERMARK_WATERMARKTEXT:"設定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"請輸入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"設定水印字體",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"請輸入水印字體文件路徑",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"設定水印圖片比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"請輸入0-1的數字",BUILDIN_WATERMARK_WATERMARKCOLOR:"設定水印字體顏色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"請輸入rgb顏色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"設定水印圖片路徑",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"請輸入水印圖片路徑",BUILDIN_WATERMARK_WATERMARKPOSITION:"設定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"請選擇水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"設定水印圖片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"請輸入0-255的整數",BUILDIN_SKIPPROCESS:"跳過處理設定",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"設定跳過處理的擴展名列表",BUILDIN_RENAME:"重命名設定",BUILDIN_RENAME_FORMAT:"設定重命名格式",BUILDIN_RENAME_ENABLE:"是否啟用重命名",BUILDIN_COMPRESS:"圖片處理設定",BUILDIN_COMPRESS_QUALITY:"設定圖片質量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"請輸入1-100的整數",BUILDIN_COMPRESS_ISCONVERT:"是否進行格式轉換",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要轉換時啟用",BUILDIN_COMPRESS_CONVERTFORMAT:"設定轉換格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"請選擇轉換格式",BUILDIN_COMPRESS_ISRESIZE:"是否進行圖片縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要縮放時啟用",BUILDIN_COMPRESS_RESIZEWIDTH:"設定縮放寬度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"請輸入數字",BUILDIN_COMPRESS_RESIZEHEIGHT:"設定縮放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"請輸入數字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比進行縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比縮放時啟用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻轉圖片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻轉圖片",BUILDIN_COMPRESS_RESIZEPERCENT:"設定縮放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"請輸入數字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳過小圖縮放",BUILDIN_COMPRESS_ISROTATE:"是否進行圖片旋轉",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋轉時啟用",BUILDIN_COMPRESS_ROTATEDEGREE:"設定旋轉角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"請輸入數字,可為負數",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF資訊",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF資訊時啟用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安裝成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安裝失敗",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安裝失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安裝失敗,請輸入正確的插件名稱或正確的安裝路徑",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸載成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸載失敗",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸載失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸載失敗,請輸入正確的插件名稱",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失敗",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失敗,請輸入正確的插件名稱"},en:{UPLOAD_FAILED:"Upload failed",CHECK_SETTINGS:"Please check your settings",CHECK_SETTINGS_AND_NETWORK:"Please check your settings and network",UPLOAD_FAILED_REASON:"Error code: ${code}, please open the browser and paste the address to see the reason",SERVER_ERROR:"Server error, please try again later",AUTH_FAILED:"Authentication failed",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"Set Token",PICBED_SMMS_MESSAGE_TOKEN:"Please enter the token",PICBED_SMMS_BACKUPDOMAIN:"Set Backup Upload Domain",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"Ex. smms.app",PICBED_ADVANCEDPLIST:"Advanced",PICBED_ADVANCEDPLIST_ENDPOINT:"Set Endpoint",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"Please enter the endpoint",PICBED_ADVANCEDPLIST_METHOD:"Set Method",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"Please select the request method",PICBED_ADVANCEDPLIST_FORMDATAKEY:"Set FormData Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"Please enter the FormData key",PICBED_ADVANCEDPLIST_HEADERS:"Set Headers",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'e.g. {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"Set Body",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'e.g. {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"Set Custom Prefix",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"e.g. https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"Set Web Path",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ADVANCEDPLIST_RESDATAPATH:"Set Response Data Path",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"e.g. data.url",PICBED_LOCAL:"Local",PICBED_LOCAL_PATH:"Set Path",PICBED_LOCAL_MESSAGE_PATH:"Ex. /Users/name/Pictures/",PICBED_LOCAL_CUSTOMURL:"Set Custom URL",PICBED_LOCAL_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_LOCAL_WEBPATH:"Set Web Path",PICBED_LOCAL_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"Set URL",PICBED_ALIST_MESSAGE_URL:"Ex. https://alist.example.com",PICBED_ALIST_TOKEN:"Set Token",PICBED_ALIST_MESSAGE_TOKEN:"Please enter the token(choose one of either username-password or token)",PICBED_ALIST_USERNAME:"Set Username",PICBED_ALIST_MESSAGE_USERNAME:"Please enter the username(choose one of either username-password or token)",PICBED_ALIST_PASSWORD:"Set Password",PICBED_ALIST_MESSAGE_PASSWORD:"Please enter the password",PICBED_ALIST_UPLOADPATH:"Set Upload Path",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"Ex. /test/",PICBED_ALIST_WEBPATH:"Set Web Path",PICBED_ALIST_MESSAGE_WEB_PATH:"Used to generate URL path",PICBED_ALIST_CUSTOMURL:"Set Custom URL",PICBED_ALIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_ALICLOUD:"Ali Cloud",PICBED_ALICLOUD_ACCESSKEYID:"Set accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"Set accessKeySecret",PICBED_ALICLOUD_BUCKET:"Set Bucket",PICBED_ALICLOUD_AREA:"Set Area",PICBED_ALICLOUD_PATH:"Set Path",PICBED_ALICLOUD_WEBPATH:"Set Web Path",PICBED_ALICLOUD_CUSTOMURL:"Set Custom URL",PICBED_ALICLOUD_OPTIONS:"Set URL Suffix",PICBED_ALICLOUD_MESSAGE_AREA:"Ex. oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"Ex. test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALICLOUD_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD:"Tencent Cloud",PICBED_TENCENTCLOUD_VERSION:"Choose COS version",PICBED_TENCENTCLOUD_SECRETID:"Set SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"Set SecretKey",PICBED_TENCENTCLOUD_APPID:"Set AppId",PICBED_TENCENTCLOUD_BUCKET:"Set Bucket",PICBED_TENCENTCLOUD_AREA:"Set Area",PICBED_TENCENTCLOUD_ENDPOINT:"Set Endpoint",PICBED_TENCENTCLOUD_PATH:"Set Path",PICBED_TENCENTCLOUD_WEBPATH:"Set Web Path",PICBED_TENCENTCLOUD_OPTIONS:"Set URL Suffix",PICBED_TENCENTCLOUD_CUSTOMURL:"Set Custom URL",PICBED_TENCENTCLOUD_MESSAGE_APPID:"Ex. 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"Ex. ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"Ex. test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"Ex. ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"Ex. cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"Set ImageSlim",PICBED_TENCENTCLOUD_SLIM_TIP:"Image extremely intelligent compression, please refer to the [document description](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"OPEN",PICBED_TENCENTCLOUD_SLIM_CANCEL:"CLOSE",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"Set Token",PICBED_GITHUB_REPO:"Set Repo Name",PICBED_GITHUB_PATH:"Set Path",PICBED_GITHUB_WEBPATH:"Set Web Path",PICBED_GITHUB_BRANCH:"Set Branch",PICBED_GITHUB_CUSTOMURL:"Set Custom URL",PICBED_GITHUB_MESSAGE_REPO:"Ex. username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"Ex. main",PICBED_GITHUB_MESSAGE_PATH:"Ex. test/",PICBED_GITHUB_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_GITHUB_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_QINIU:"Qiniu",PICBED_QINIU_ACCESSKEY:"Set AccessKey",PICBED_QINIU_SECRETKEY:"Set SecretKey",PICBED_QINIU_BUCKET:"Set Bucket",PICBED_QINIU_PATH:"Set Path",PICBED_QINIU_URL:"Set URL",PICBED_QINIU_OPTIONS:"Set URL Suffix",PICBED_QINIU_AREA:"Set Area",PICBED_QINIU_MESSAGE_PATH:"Ex. test/",PICBED_QINIU_MESSAGE_AREA:"Ex. z0",PICBED_QINIU_MESSAGE_OPTIONS:"Ex. ?imageslim",PICBED_QINIU_MESSAGE_URL:"Ex. https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"Set ClientId",PICBED_IMGUR_USERNAME:"Set Username",PICBED_IMGUR_ACCESS_TOKEN:"Set Access Token",PICBED_IMGUR_ALBUM:"Set Album Name",PICBED_IMGUR_PROXY:"Set Proxy",PICBED_IMGUR_MESSAGE_CLIENTID:"Fill in when you need to upload as anonymous",PICBED_IMGUR_MESSAGE_USERNAME:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ALBUM:"Ex. test",PICBED_IMGUR_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_UPYUN:"Upyun",PICBED_UPYUN_BUCKET:"Set Bucket",PICBED_UPYUN_ENDPOINT:"Set Endpoint",PICBED_UPYUN_OPERATOR:"Set Operator",PICBED_UPYUN_PASSWORD:"Set Operator Password",PICBED_UPYUN_PATH:"Set Path",PICBED_UPYUN_URL:"Set URL",PICBED_UPYUN_OPTIONS:"Set URL Suffix",PICBED_UPYUN_ANTILEECHTOKEN:"Set Anti-Leech Token",PICBED_UPYUN_EXPIRETIME:"Set Expire Time(seconds)",PICBED_UPYUN_MESSAGE_OPERATOR:"Ex. me",PICBED_UPYUN_MESSAGE_PASSWORD:"Ex. xxx",PICBED_UPYUN_MESSAGE_URL:"Ex. http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"Ex. !imgslim",PICBED_UPYUN_MESSAGE_PATH:"Ex. test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"Ex. https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"Set Host",PICBED_WEBDAVPLIST_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_USERNAME:"Set Username",PICBED_WEBDAVPLIST_PASSWORD:"Set Password",PICBED_WEBDAVPLIST_PATH:"Set Path",PICBED_WEBDAVPLIST_WEBPATH:"Set Website Path",PICBED_WEBDAVPLIST_CUSTOMURL:"Set Custom URL",PICBED_WEBDAVPLIST_AUTHTYPE:"Set Auth Type",PICBED_WEBDAVPLIST_OPTIONS:"Set URL Suffix",PICBED_WEBDAVPLIST_MESSAGE_HOST:"Ex. https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"Ex. me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"Please type the password",PICBED_WEBDAVPLIST_MESSAGE_PATH:"Ex. test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"Ex. ?key=value",PICBED_SFTPPLIST:"SFTP Built-in",PICBED_SFTPPLIST_HOST:"Set Host",PICBED_SFTPPLIST_PORT:"Set Port",PICBED_SFTPPLIST_USERNAME:"Set Username",PICBED_SFTPPLIST_PASSWORD:"Set Password",PICBED_SFTPPLIST_PRIVATEKEY:"Set Private Key",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"Set Private Key Passphrase",PICBED_SFTPPLIST_UPLOADPATH:"Set Upload Path",PICBED_SFTPPLIST_CUSTOMURL:"Set Custom URL",PICBED_SFTPPLIST_WEBSITE_PATH:"Set Website Path",PICBED_SFTPPLIST_FILE_USER:"Set File User:Group",PICBED_SFTPPLIST_FILE_MODE:"Set File Mode",PICBED_SFTPPLIST_DIR_MODE:"Set Directory Mode",PICBED_SFTPPLIST_MESSAGE_HOST:"Ex. 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"Default 22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"Ex. /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"Please type the private key passphrase",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"Ex. test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"Ex. www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"Ex. 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"Ex. 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"Set Host",PICBED_PICLIST_PORT:"Set Port",PICBED_PICLIST_PICBED:"Set PicBed",PICBED_PICLIST_CONFIGNAME:"Set Config Name",PICBED_PICLIST_KEY:"Set Key",PICBED_LSKY_PLIST:"Lsky",PICBED_LSKY_VERSION:"Set Version",PICBED_LSKY_MESSAGE_VERSION:"Ex. v1",PICBED_LSKY_HOST:"Set Host",PICBED_LSKY_MESSAGE_HOST:"Ex. https://lsky.co",PICBED_LSKY_TOKEN:"Set Token",PICBED_LSKY_MESSAGE_TOKEN:"Ex. xxx",PICBED_LSKY_STRATEGY_ID:"Set Strategy ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"Ex. 1",PICBED_LSKY_ALBUM_ID:"Set Album ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"Optional, only for V2",PICBED_LSKY_PERMISSION:"Set Permission",PICBED_LSKY_MESSAGE_PERMISSION:"Ex. public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"Set AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"Set SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"Set Bucket",PICBED_AWSS3PLIST_REGION:"Set Region",PICBED_AWSS3PLIST_UPLOADPATH:"Set Upload Path",PICBED_AWSS3PLIST_ENDPOINT:"Set Endpoint",PICBED_AWSS3PLIST_PROXY:"Set Proxy",PICBED_AWSS3PLIST_URLPREFIX:"Set Custom URL",PICBED_AWSS3PLIST_OPTIONS:"Set Options",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"Set PathStyleAccess",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"Set RejectUnauthorized",PICBED_AWSS3PLIST_ACL:"Set ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"when `pathStyleAccess` is enabled, whether to disable adding bucket prefix to url",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"Ex. test",PICBED_AWSS3PLIST_MESSAGE_REGION:"Ex. us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"Ex. test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"Ex. https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"Ex. https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"Enable when `pathStyleAccess` is required",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"Enable when rejecting invalid TLS certificate connection is required",PICBED_AWSS3PLIST_MESSAGE_ACL:"Ex. public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"Enable when `pathStyleAccess` is enabled",BUILDIN_SKIPPROCESS:"Skip Process Settings",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"Set Skip Process Ext List",BUILDIN_RENAME:"Rename Settings",BUILDIN_RENAME_FORMAT:"Set rename format",BUILDIN_RENAME_ENABLE:"Enable rename",BUILDIN_WATERMARK:"Watermark Settings",BUILDIN_WATERMARK_ISADDWATERMARK:"Whether to add watermark",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"Enable when watermark is required",BUILDIN_WATERMARK_WATERMARKTYPE:"Set watermark type",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"Please select watermark type",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"Whether to use full-screen watermark",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"Enable when full-screen watermark is required",BUILDIN_WATERMARK_WATERMARKDEGREE:"Set watermark angle",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"Please enter a number",BUILDIN_WATERMARK_WATERMARKTEXT:"Set watermark text",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"Please enter watermark text",BUILDIN_WATERMARK_WATERMARKFONTPATH:"Set watermark font",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"Please enter the watermark font file path",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"Set the ratio of the watermark to the image",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"Please enter a number between 0-1",BUILDIN_WATERMARK_WATERMARKCOLOR:"Set watermark font color",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"Please enter the RGB color value",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"Set watermark image path",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"Please enter the watermark image path",BUILDIN_WATERMARK_WATERMARKPOSITION:"Set watermark position",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"Please select watermark position",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"Set watermark image opacity",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"Please enter an integer between 0-255",BUILDIN_COMPRESS:"Processing Settings",BUILDIN_COMPRESS_QUALITY:"Set image quality",BUILDIN_COMPRESS_MESSAGE_QUALITY:"Please enter an integer between 1-100",BUILDIN_COMPRESS_ISCONVERT:"Whether to perform format conversion",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"Enable when format conversion is required",BUILDIN_COMPRESS_CONVERTFORMAT:"Set conversion format",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"Please select conversion format",BUILDIN_COMPRESS_ISRESIZE:"Whether to resize the image",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"Enable when image resizing is required",BUILDIN_COMPRESS_RESIZEWIDTH:"Set resizing width",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"Please enter a number",BUILDIN_COMPRESS_RESIZEHEIGHT:"Set resizing height",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"Please enter a number",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"Whether to resize the image by percentage",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"Enable when resizing by percentage is required",BUILDIN_COMPRESS_ISFLIP:"Whether to flip the image vertically",BUILDIN_COMPRESS_ISFLOP:"Whether to flip the image horizontally",BUILDIN_COMPRESS_RESIZEPERCENT:"Set resizing percentage",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"Please enter a number",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"Whether to skip resizing of small images",BUILDIN_COMPRESS_ISROTATE:"Whether to rotate the image",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"Enable when image rotation is required",BUILDIN_COMPRESS_ROTATEDEGREE:"Set rotation angle",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"Please enter a number, can be negative",BUILDIN_COMPRESS_ISREMOVEEXIF:"Whether to remove EXIF information",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"Enable when removing EXIF information is required",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"Plugin installed successfully",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"Plugin installation failed",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"Plugin installation failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"Plugin installation failed, please enter a valid plugin name or valid installation path",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"Plugin uninstalled successfully",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"Plugin uninstall failed",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"Plugin uninstall failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"Plugin uninstall failed, please enter a valid plugin name",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"Plugin updated successfully",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"Plugin update failed",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"Plugin update failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"Plugin update failed, please enter a valid plugin name"}};class ct{i18n;objectAdapter;ctx;constructor(e){this.ctx=e,this.objectAdapter=new O(lt);let t=this.ctx.getConfig("settings.language")||"zh-CN";lt[t]||(t="zh-CN"),this.i18n=new y({adapter:this.objectAdapter,defaultLanguage:t}),this.loadOutterI18n()}loadOutterI18n(){const e=this.getOutterI18nFolder();i.readdirSync(e,{withFileTypes:!0}).forEach(r=>{if(r.isFile()&&r.name.endsWith(".yml")){const n=t.join(e,r.name),a=i.readFileSync(n,"utf8");try{const e=w.load(a);lt[r.name.replace(/\.yml$/,"")]=e}catch(e){console.error(e)}}})}getOutterI18nFolder(){const e=t.join(this.ctx.baseDir,"i18n-cli");return E(e)||s(e),e}translate(e,t){return this.i18n.translate(e,t)||e}setLanguage(e){this.i18n.setLanguage(e),this.ctx.saveConfig({"settings.language":e})}addLocale(e,t){const r=this.objectAdapter.getLocale(e);if(!r)return!1;const n=g(r,t);return this.objectAdapter.setLocale(e,n),!0}addLanguage(e,t){return!this.objectAdapter.getLocale(e)&&(this.objectAdapter.setLocale(e,t),lt[e]=t,!0)}getLanguageList(){return Object.keys(lt)}}const Pt={handle:e=>{e.cmd.program.option("-c, --config <path>","set config path")}},ut={handle:e=>{const t=e.cmd;t.program.command("config-list").description("list all configs names for an uploader").arguments("<uploader>").action(t=>{try{const r=e.configManager.getAllUploaderConfigs(t),n=e.configManager.getCurrentUploaderConfig(t);if(0===r.length)return void e.log.info(`No configs found for ${t}`);e.log.info(`Configs for ${t}:`),r.forEach(t=>{const r=n&&t._id===n._id?" (default)":"";e.log.info(` - ${t._configName}${r} [ID: ${t._id}]`)})}catch(t){e.log.error(t)}}),t.program.command("config-use").description("set a config as default for an uploader").arguments("<uploader> <configName>").action((t,r)=>{try{const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);e.configManager.setDefaultConfig(t,n._id)?e.log.success(`Set "${r}" as default config for ${t}`):e.log.error(`Failed to set "${r}" as default`)}catch(t){e.log.error(t)}}),t.program.command("config-remove").description("remove a config for an uploader").arguments("<uploader> <configName>").action((t,r)=>{(async()=>{try{const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);const i=[{type:"confirm",name:"confirm",message:`Are you sure you want to delete config "${r}"?`,default:!1}];if(!(await e.cmd.inquirer.prompt(i)).confirm)return void e.log.info("Cancelled");e.configManager.deleteUploaderConfig(t,n._id)?e.log.success(`Deleted config "${r}" for ${t}`):e.log.error(`Failed to delete config "${r}"`)}catch(t){e.log.error(t)}})().catch(t=>{e.log.error(t)})}),t.program.command("config-rename").description("rename a config for an uploader").arguments("<uploader> <oldName> <newName>").action((t,r,n)=>{try{const i=e.configManager.getConfigByName(t,r);if(!i)return void e.log.error(`Config "${r}" not found for ${t}`);e.configManager.renameConfig(t,i._id,n)?e.log.success(`Renamed config from "${r}" to "${n}"`):e.log.error("Failed to rename config")}catch(t){e.log.error(t)}}),t.program.command("config-show").description("show details of a config").arguments("<uploader> [configName]").action((t,r)=>{try{if(!r){const r=e.configManager.getAllUploaderConfigs(t);return r&&0!==r.length?void r.forEach(t=>{e.log.info(`Config details for "${t._configName}":`),e.log.info(` ID: ${t._id}`),e.log.info(` Created: ${new Date(t._createdAt).toLocaleString()}`),e.log.info(` Updated: ${new Date(t._updatedAt).toLocaleString()}`),e.log.info("Config values:"),Object.keys(t).forEach(r=>{if(!r.startsWith("_")){const n=t[r],i="string"==typeof n&&(r.includes("password")||r.includes("token")||r.includes("key"))?"***":JSON.stringify(n);e.log.info(` ${r}: ${i}`)}})}):void e.log.info(`No configs found for ${t}`)}const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);e.log.info(`Config details for "${r}":`),e.log.info(` ID: ${n._id}`),e.log.info(` Created: ${new Date(n._createdAt).toLocaleString()}`),e.log.info(` Updated: ${new Date(n._updatedAt).toLocaleString()}`),e.log.info("Config values:"),Object.keys(n).forEach(t=>{if(!t.startsWith("_")){const r=n[t],i="string"==typeof r&&(t.includes("password")||t.includes("token")||t.includes("key"))?"***":JSON.stringify(r);e.log.info(` ${t}: ${i}`)}})}catch(t){e.log.error(t)}})}},pt={handle:e=>{e.cmd.program.command("i18n").arguments("[lang]").description("change language, zh-CN, zh-TW, en").action(async(t="")=>{const r=e.i18n.getLanguageList();if(!t){const n=[{type:"list",name:"i18n",choices:r,message:"Choose a language",default:e.getConfig("settings.language")||"zh-CN"}];t=(await e.cmd.inquirer.prompt(n)).i18n}r.includes(t)?(e.i18n.setLanguage(t),e.log.success(`Language set to ${t}`)):e.log.warn("No such language")})}},gt=(e,t,r,n,i,a)=>{let s=e.program.command(t).description(r).alias(n);a?.proxy&&(s=s.option("-p, --proxy <proxy>","Add proxy for installing plugins")),a?.registry&&(s=s.option("-r, --registry <registry>","Choose a registry for installing plugins")),s.action(i)},At={handle:e=>{const t=e.cmd;gt(t,"install <plugins...>","install picgo plugin","add",(t,r)=>{const{proxy:n,registry:i}=r,a={proxy:n,registry:i};e.pluginHandler.install(t,a).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0}),gt(t,"uninstall <plugins...>","uninstall picgo plugin","rm",t=>{e.pluginHandler.uninstall(t).catch(t=>{e.log.error(t)})}),gt(t,"update <plugins...>","update picgo plugin","up",(t,r)=>{const{proxy:n,registry:i}=r,a={proxy:n,registry:i};e.pluginHandler.update(t,a).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0})}},Ct={handle:e=>{e.cmd.program.option("-p, --proxy <url>","set proxy for uploading",t=>{e.setConfig({"picBed.proxy":t})})}};function dt({path:e,startSlash:t=!1,endSlash:r=!0,rootToEmpty:n=!0}){const i=e?.replace(/^\/+|\/+$/g,"").replace(/\/{2,}/g,"/");return i?`${t?"/":""}${i}${r?"/":""}`:n?"":"/"}function Tt(e){return e.replace(/\/{2,}/g,"/").split("/").map(e=>encodeURIComponent(e)).join("/")}const Dt="advancedplist",mt="alistplist",ft="aliyun",Lt="aws-s3-plist",ht="github",Bt="imgur",Nt="local",Ut="lskyplist",Rt="piclist",Mt="qiniu",Ot="sftpplist",yt="smms",wt="tcyun",Gt="upyun",bt="webdavplist",xt=(e,t,r,n,i,a,s="PICBED",o)=>({name:r,type:n,get prefix(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},default:i,required:a,...o});const Wt=e=>({advancedplist:e.i18n.translate("PICBED_ADVANCEDPLIST"),alistplist:e.i18n.translate("PICBED_ALIST_PLIST"),aliyun:e.i18n.translate("PICBED_ALICLOUD"),"aws-s3-plist":e.i18n.translate("PICBED_AWSS3PLIST"),github:e.i18n.translate("PICBED_GITHUB"),imgur:e.i18n.translate("PICBED_IMGUR"),local:e.i18n.translate("PICBED_LOCAL"),lskyplist:e.i18n.translate("PICBED_LSKY_PLIST"),piclist:e.i18n.translate("PICBED_PICLIST"),qiniu:e.i18n.translate("PICBED_QINIU"),sftpplist:e.i18n.translate("PICBED_SFTPPLIST"),smms:e.i18n.translate("PICBED_SMMS"),tcyun:e.i18n.translate("PICBED_TENCENTCLOUD"),upyun:e.i18n.translate("PICBED_UPYUN"),webdavplist:e.i18n.translate("PICBED_WEBDAVPLIST")}),$t={compress:{config:{config:e=>{const t=e.getConfig("buildIn.compress")||{};return[xt(e,"compress","quality","input",t.quality||100,!1,"BUILDIN"),xt(e,"compress","isConvert","confirm",t.isConvert||!1,!1,"BUILDIN"),xt(e,"compress","convertFormat","list",t.convertFormat||"jpg",!1,"BUILDIN",{choices:["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"]}),xt(e,"compress","isReSize","confirm",t.isReSize||!1,!1,"BUILDIN"),xt(e,"compress","reSizeWidth","input",t.reSizeWidth||500,!1,"BUILDIN"),xt(e,"compress","reSizeHeight","input",t.reSizeHeight||500,!1,"BUILDIN"),xt(e,"compress","skipReSizeOfSmallImg","confirm",t.skipReSizeOfSmallImg||!1,!1,"BUILDIN"),xt(e,"compress","isReSizeByPercent","confirm",t.isReSizeByPercent||!1,!1,"BUILDIN"),xt(e,"compress","reSizePercent","input",t.reSizePercent||50,!1,"BUILDIN"),xt(e,"compress","isFlip","confirm",t.isFlip||!1,!1,"BUILDIN"),xt(e,"compress","isFlop","confirm",t.isFlop||!1,!1,"BUILDIN"),xt(e,"compress","isRotate","confirm",t.isRotate||!1,!1,"BUILDIN"),xt(e,"compress","rotateDegree","input",t.rotateDegree||90,!1,"BUILDIN"),xt(e,"compress","isRemoveExif","confirm",t.isRemoveExif||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_COMPRESS"},watermark:{config:{config:e=>{const t=e.getConfig("buildIn.watermark")||{};return[xt(e,"watermark","isAddWatermark","confirm",t.isAddWatermark||!1,!1,"BUILDIN"),xt(e,"watermark","watermarkType","list",t.watermarkType||"text",!1,"BUILDIN",{choices:["text","image"]}),xt(e,"watermark","isFullScreenWatermark","confirm",t.isFullScreenWatermark||!1,!1,"BUILDIN"),xt(e,"watermark","watermarkDegree","input",t.watermarkDegree||0,!1,"BUILDIN"),xt(e,"watermark","watermarkText","input",t.watermarkText||"",!1,"BUILDIN"),xt(e,"watermark","watermarkFontPath","input",t.watermarkFontPath||"",!1,"BUILDIN"),xt(e,"watermark","watermarkScaleRatio","input",t.watermarkScaleRatio||.15,!1,"BUILDIN"),xt(e,"watermark","watermarkColor","input",t.watermarkColor||"rgba(204, 204, 204, 0.45)",!1,"BUILDIN"),xt(e,"watermark","watermarkImagePath","input",t.watermarkImagePath||"",!1,"BUILDIN"),xt(e,"watermark","watermarkImageOpacity","input",t.watermarkImageOpacity||255,!1,"BUILDIN"),xt(e,"watermark","watermarkPosition","list",t.watermarkPosition||"southeast",!1,"BUILDIN",{choices:["north","northeast","southeast","south","southwest","northwest","west","east","center","centre"]})]}}.config,key:"BUILDIN_WATERMARK"},rename:{config:{config:e=>{const t=e.getConfig("buildIn.rename")||{};return[xt(e,"rename","format","input",t.format||"{filename}",!1,"BUILDIN"),xt(e,"rename","enable","confirm",t.enable||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_RENAME"},skipProcess:{config:{config:e=>{const t=e.getConfig("buildIn.skipProcess")||{};return[xt(e,"skipProcess","skipProcessExtList","input",t.skipProcessExtList||"zip,rar,7z,tar,gz,tar.gz,tar.bz2,tar.xz",!1,"BUILDIN")]}}.config,key:"BUILDIN_SKIPPROCESS"}},Ft=async(e,t,r,n,i,a)=>{const s=await e.cmd.inquirer.prompt(t),o=Ht(r,n);if("uploader"===r){const t=i||"Default",r=e.configManager.getConfigByName(n,t);if(r)e.configManager.updateUploaderConfig(n,r._id,s),e.log.success(`Updated config "${t}" for ${n}`);else{const r=e.configManager.addUploaderConfig(n,t,s);e.log.success(`Created new config "${t}" for ${n}`),e.configManager.setDefaultConfig(n,r._id)}e.saveConfig({"picBed.current":n,"picBed.uploader":n})}else if("buildin"===r)if(a){const t=e.getConfig(`uploader.${a}`)||{};if(!t.configList||0===t.configList.length)return void e.log.error(`No config found for uploader ${a}`);const r=t.configList.find(e=>e._configName===(i||"Default"))?._id;if(!r)return void e.log.error(`No config named "${i||"Default"}" found for uploader ${a}`);const o=e.getConfig("buildIn.list")||[],E=o.findIndex(e=>e.id===r);-1!==E?o[E]={...o[E],[n]:s}:o.push({id:r,[n]:s}),e.saveConfig({"buildIn.list":o})}else e.saveConfig({[o]:s});else e.saveConfig({[o]:s}),"transformer"===r&&e.saveConfig({"picBed.transformer":n})},Ht=(e,t)=>({uploader:`picBed.${t}`,transformer:`transformer.${t}`,buildin:`buildIn.${t}`}[e]||t),Kt={handle:e=>{e.cmd.program.command("set").alias("config").arguments("<module> [name] [configName] [uploaderName]").description('configure config of picgo modules, uploader|transformer|plugin|buildin. For uploader and buildin, configName is optional (defaults to "Default"). For buildin module, uploaderName is the uploader name to which the buildin module config will be linked.').action((t,r,n,i)=>{(async()=>{try{switch(t){case"buildin":await(async(e,t,r,n)=>{if(t&&t in $t){const i=$t[t];return void await Ft(e,i.config(e),"buildin",t,r,n)}if(t&&!(t in $t))return e.log.error(`No buildin module named ${t}`),void e.log.warn("Available buildin modules are: compress|watermark|rename|skipProcess");const i=[{type:"list",name:"buildin",choices:Object.entries($t).map(([t,{key:r}])=>({name:e.i18n.translate(r),value:t})),message:"Choose a buildin module"}],a=await e.cmd.inquirer.prompt(i),s=$t[a.buildin];await Ft(e,s.config(e),"buildin",a.buildin,r,n)})(e,r,n,i);break;case"uploader":case"transformer":await(async(e,t,r,n)=>{if(r){const i=e.helper[t].get(r);return i?void(i.config&&await Ft(e,i.config(e),t,r,n)):void e.log.error(`No ${t} named ${r}`)}const i=e.helper[t].getIdList().map(t=>({name:Wt(e)[t]||t,value:t})),a=[{type:"list",name:t,choices:i,message:`Choose a(n) ${t}`}],s=await e.cmd.inquirer.prompt(a),o=e.helper[t].get(s[t]);o?.config&&await Ft(e,o.config(e),t,s[t],n)})(e,t,r,n);break;case"plugin":await(async(e,t)=>{if(t){const r=t.includes("picgo-plugin-")?t:`picgo-plugin-${t}`;if(!Object.keys(e.getConfig("picgoPlugins")).includes(r))return void e.log.error(`No plugin named ${r}`);const n=await e.pluginLoader.getPlugin(r);return void(n?.config&&await Ft(e,n.config(e),"plugin",r))}const r=[{type:"list",name:"plugin",choices:e.pluginLoader.getFullList(),message:"Choose a plugin"}],n=await e.cmd.inquirer.prompt(r),i=await e.pluginLoader.getPlugin(n.plugin);i?.config&&await Ft(e,i.config(e),"plugin",n.plugin)})(e,r);break;default:return e.log.warn(`No module named ${t}`),void e.log.warn("Available modules are uploader|transformer|plugin|buildin")}e.log.success("Configure config done"),"plugin"===t&&e.log.info("If you want to use this config, please run 'picgo use plugins'")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}},kt={handle:e=>{e.cmd.program.command("upload").description("upload, go go go").arguments("[input...]").alias("u").action(r=>{(async()=>{const n=r.map(e=>ce(e)?e:t.resolve(e)).filter(t=>{const r=i.existsSync(t)||ce(t);return r||e.log.warn(`${t} does not exist.`),r});await e.uploadReturnCtx(n)})().catch(t=>{e.log.error(t)})})}},vt={handle:async e=>{const t=e.cmd;t.program.command("use").arguments("[module]").description("use modules of picgo").action(r=>{(async()=>{try{let n=[];const i={uploader:{type:"list",name:"uploader",message:"Use an uploader",choices:e.helper.uploader.getIdList().map(t=>({name:Wt(e)[t]||t,value:t})),default:e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||"smms"},transformer:{type:"list",name:"transformer",message:"Use a transformer",choices:e.helper.transformer.getIdList(),default:e.getConfig("picBed.transformer")||"path"},plugins:{type:"checkbox",name:"plugins",message:"Use plugins",choices:e.pluginLoader.getFullList(),default:Object.keys(e.getConfig("picgoPlugins")).filter(t=>e.getConfig(`picgoPlugins.${t}`))}};if(r){if(!i[r])return e.log.warn(`No module named ${r}`),void e.log.warn("Available modules are uploader|transformer|plugins");n.push(i[r])}else n=Object.keys(i).map(e=>i[e]);const a=await t.inquirer.prompt(n);if(a.plugins){const t=e.getConfig("picgoPlugins");Object.keys(t).forEach(e=>{a.plugins.includes(e)?t[e]=!0:t[e]=!1}),e.saveConfig({picgoPlugins:t})}e.saveConfig({"picBed.current":a.uploader||e.getConfig("picBed.current"),"picBed.uploader":a.uploader||e.getConfig("picBed.current"),"picBed.transformer":a.transformer||"path"}),e.log.success("Configure saved successfully!")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}};class Yt{static currentPlugin;name;list;pluginIdMap;constructor(e){this.name=e,this.list=new Map,this.pluginIdMap=new Map}register(e,t){if(!e)throw new TypeError("id is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} duplicate id: ${e}!`);this.list.set(e,t),Yt.currentPlugin&&(this.pluginIdMap.has(Yt.currentPlugin)?this.pluginIdMap.get(Yt.currentPlugin)?.push(e):this.pluginIdMap.set(Yt.currentPlugin,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}getName(){return this.name}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}const Vt=(e=null)=>{Yt.currentPlugin=e};class zt{name="commander";static currentPlugin;list=new Map;pluginIdMap=new Map;ctx;program;inquirer;constructor(e){this.program=new G,this.inquirer=b,this.ctx=e}getName(){return this.name}init(){var e;this.program.version("2.3.1","-v, --version").option("-d, --debug","debug mode",()=>{this.ctx.setConfig({debug:!0})}).option("-s, --silent","silent mode",()=>{this.ctx.setConfig({silent:!0})}).on("command:*",()=>{this.ctx.log.error(`Invalid command: ${this.program.args.join(" ")}\nSee --help for a list of available commands.`),process.exit(1)}),(e=this.ctx).cmd.register("pluginHandler",At),e.cmd.register("config",Pt),e.cmd.register("configManager",ut),e.cmd.register("setting",Kt),e.cmd.register("upload",kt),e.cmd.register("use",vt),e.cmd.register("proxy",Ct),e.cmd.register("i18n",pt)}register(e,t){if(!e)throw new TypeError("name is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} plugin duplicate id: ${e}!`);this.list.set(e,t);const r=Yt.currentPlugin;null!==r&&(this.pluginIdMap.has(r)?this.pluginIdMap.get(r)?.push(e):this.pluginIdMap.set(r,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}loadCommands(){this.getList().forEach(e=>{try{e.handle(this.ctx)}catch(e){this.ctx.log.error(e)}})}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}class jt{level={[qe.success]:"green",[qe.info]:"blue",[qe.warn]:"yellow",[qe.error]:"red"};ctx;logLevel;logPath;constructor(e){this.ctx=e}handleLog(e,...r){if(this.logLevel=this.ctx.getConfig("settings.logLevel"),!this.ctx.getConfig("silent")&&this.checkLogLevel(e,this.logLevel)){const n=W[this.level[e]](`[PicList ${e.toUpperCase()}]:`);console.log(n,...r),this.logPath=this.ctx.getConfig("settings.logPath")||t.join(this.ctx.baseDir,"./piclist.log"),setTimeout(()=>{try{const t=this.checkLogFileIsLarge(this.logPath);if(t.isLarge){const e=`Log file is too large (> ${t.logFileSizeLimit/1024/1024||"10"} MB), recreate log file`;console.log(W.yellow("[PicList WARN]:"),e),this.recreateLogFile(this.logPath),r.unshift(e)}this.handleWriteLog(this.logPath,e,...r)}catch(e){console.error("[PicList Error] on checking log file size",e)}},0)}}checkLogFileIsLarge(e){if(i.existsSync(e)){const t=i.statSync(e).size,r=1024*Re(this.ctx.getConfig("settings.logFileSizeLimit")||10)*1024;return{isLarge:t>r,logFileSize:t,logFileSizeLimit:r}}return{isLarge:!1}}recreateLogFile(e){i.existsSync(e)&&(i.unlinkSync(e),S(e))}handleWriteLog(e,t,...r){try{let n=`${$().format("YYYY-MM-DD HH:mm:ss")} [PicList ${t.toUpperCase()}] `;r.forEach(e=>{e instanceof Error&&"error"===t?n+=`\n------Error Stack Begin------\n${x.format(e?.stack)}\n-------Error Stack End------- `:("object"==typeof e&&(e=JSON.stringify(e,null,2)),n+=`${e} `)}),n+="\n",i.appendFileSync(e,n)}catch(e){console.error("[PicList Error] on writing log file",e)}}checkLogLevel(e,t){return void 0===t||"all"===t||(Array.isArray(t)?t.some(t=>t===e||"all"===t):e===t)}success(...e){this.handleLog(qe.success,...e)}info(...e){this.handleLog(qe.info,...e)}error(...e){this.handleLog(qe.error,...e)}warn(...e){this.handleLog(qe.warn,...e)}debug(...e){Me()&&this.handleLog(qe.info,...e)}}class qt{ctx;constructor(e){this.ctx=e}async install(e,t={},r){const n=[],i=e.map(e=>Xt(this.ctx,e)).filter(e=>this.ctx.pluginLoader.hasPlugin(e.pkgName)?(n.push(e.pkgName),this.ctx.log.success(`PicList has already installed ${e.pkgName}`),!1):!!e.success),a=i.map(e=>e.fullName),s=i.map(e=>e.pkgName);if(a.length>0){const e=await this.execCommand("install",a,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:t});return{success:!1,body:t}}for(const e of a)await this.ctx.pluginLoader.registerPlugin(e);this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}if(0===n.length){const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:e});return{success:!1,body:e}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}async uninstall(e){const t=e.map(e=>Xt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(t.length>0){const e=await this.execCommand("uninstall",t,this.ctx.baseDir);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:t});return{success:!1,body:t}}t.forEach(e=>{this.ctx.pluginLoader.unregisterPlugin(e)}),this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS")),this.ctx.emit("uninstallSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS"),body:t});return{success:!0,body:t}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:e});return{success:!1,body:e}}}async update(e,t={},r){const n=e.map(e=>Xt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(n.length>0){const e=await this.execCommand("update",n,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:t});return{success:!1,body:t}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS")),this.ctx.emit("updateSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS"),body:n});return{success:!0,body:n}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:e});return{success:!1,body:e}}}async execCommand(e,t,r,n={},i={}){const a=n.registry||this.ctx.getConfig("settings.registry"),s=n.proxy||this.ctx.getConfig("settings.proxy");return await new Promise(n=>{let o=[e].concat(t).concat("--color=always").concat("--save");a&&(o=o.concat(`--registry=${a}`)),s&&(o=o.concat(`--proxy=${s}`));try{const e=F("npm",o,{cwd:r,env:{...process.env,...i}});let t="";e.stdout?.on("data",e=>{t+=e}).pipe(process.stdout),e.stderr?.on("data",e=>{t+=e}).pipe(process.stderr),e.on("close",e=>{n(e?{code:e,data:t}:{code:0,data:t})}),e.on("error",e=>{this.ctx.log.error(e),this.ctx.log.error("NPM is not installed"),this.ctx.emit(Xe.FAILED,"NPM is not installed")})}catch(e){this.ctx.log.error(e),this.ctx.emit(Xe.FAILED,e)}})}}const Xt=(e,t)=>{const r={success:!1,fullName:"",pkgName:""},n=De(t,e.log);if(!n)return r;const i=me(n,e.log);return i?{success:!0,fullName:n,pkgName:i}:r};class Qt{ctx;list=[];fullList=new Set;pluginMap=new Map;constructor(e){this.ctx=e,this.init()}init(){const e=t.join(this.ctx.baseDir,"package.json");if(!i.existsSync(e)){const t={name:"picgo-plugins",description:"picgo-plugins",repository:"https://github.com/Kuingsmile/PicList-Core",license:"MIT"};i.writeFileSync(e,JSON.stringify(t),"utf8")}}resolvePlugin(e,r){try{return H.sync(r,{basedir:e.baseDir})}catch(n){return t.join(e.baseDir,"node_modules",r)}}async load(){const e=t.join(this.ctx.baseDir,"node_modules/");if(!i.existsSync(e))return!1;const r=t.join(this.ctx.baseDir,"package.json"),n=a(r),s=Object.keys(n.dependencies||{}),o=Object.keys(n.devDependencies||{}),E=s.concat(o).filter(e=>{if(!/^picgo-plugin-|^@[^/]+\/picgo-plugin-/.test(e))return!1;const t=this.resolvePlugin(this.ctx,e);return i.existsSync(t)});for(const e of E)await this.registerPlugin(e);return!0}async registerPlugin(e,t){if(e&&"string"==typeof e){this.fullList.add(e);try{if(t){this.list.push(e),Vt(e);const r=t(this.ctx);this.pluginMap.set(e,r),r.register(this.ctx)}else if(!0===this.ctx.getConfig(`picgoPlugins.${e}`)||void 0===this.ctx.getConfig(`picgoPlugins.${e}`)){this.list.push(e),Vt(e);(await this.getPlugin(e)).register(this.ctx);const t=`picgoPlugins[${e}]`;this.ctx.saveConfig({[t]:!0})}}catch(t){this.pluginMap.delete(e),this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.ctx.log.error(t),this.ctx.emit(Xe.NOTIFICATION,{title:`Plugin ${e} Load Error`,body:t})}}else this.ctx.log.warn("Please provide valid plugin")}unregisterPlugin(e){this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.pluginMap.delete(e),Vt(e),this.ctx.helper.uploader.unregister(e),this.ctx.helper.transformer.unregister(e),this.ctx.helper.beforeTransformPlugins.unregister(e),this.ctx.helper.beforeUploadPlugins.unregister(e),this.ctx.helper.afterUploadPlugins.unregister(e),this.ctx.cmd.unregister(e),this.ctx.removeConfig("picgoPlugins",e)}async getPlugin(e){if(this.pluginMap.has(e))return this.pluginMap.get(e);let r;try{r=this.resolvePlugin(this.ctx,e)}catch(n){const s=t.join(this.ctx.baseDir,"node_modules",e),o=t.join(s,"package.json");if(!i.existsSync(o))throw new Error(`Plugin package.json not found: ${e}`);try{const e=a(o),n=e.main||e.module||"index.js";r=t.join(s,n)}catch{const n=["index.js","src/index.js","dist/index.js","lib/index.js"];r="";for(const e of n){const n=t.join(s,e);if(i.existsSync(n)){r=n;break}}if(!r)throw new Error(`Cannot find entry point for plugin: ${e}`)}}const n=L(r).href,s=await import(n),o=(s.default||s)(this.ctx);return this.pluginMap.set(e,o),o}getList(){return this.list}hasPlugin(e){return this.fullList.has(e)}getFullList(){return[...this.fullList]}}const Zt=new e,Jt=new K.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2",rejectUnauthorized:!1});function er(e,t,r){"object"==typeof r&&"value"in r&&"options"in r?e.append(t,r.value,r.options):e.append(t,r)}function tr(e){return{...e,statusCode:e.status,body:e.data}}function rr(e){const t={method:e?.config?.method?.toUpperCase()||"",url:e?.config?.url||"",statusCode:e?.response?.status||0,message:e?.message||"",stack:e?.stack||{},response:{status:e?.response?.status||0,statusCode:e?.response?.status||0,body:e?.response?.data||""}};return Promise.reject(t)}class nr{ctx;proxy="";options={};constructor(e){this.ctx=e,this.init(),Zt.on(Qe.CONFIG_CHANGE,e=>{switch(e.configName){case"picBed":e.value?.proxy&&(this.proxy=e.value.proxy);break;case"picBed.proxy":this.proxy=e.value}})}init(){const e=this.ctx.getConfig("picBed.proxy");e&&(this.proxy=e)}handleProxy(){if(this.proxy)try{const e=new f(this.proxy);return{host:e.hostname,port:parseInt(e.port||"0",10),protocol:e.protocol}}catch(e){}return!1}request(e){this.options.proxy=this.handleProxy(),this.options.headers=e.headers||{},this.options.maxBodyLength=1/0,this.options.maxContentLength=1/0,this.options.proxy&&e.url?.startsWith("https://")?(this.options.httpsAgent=v({proxy:{host:this.options.proxy.host,port:this.options.proxy.port}}),this.options.proxy=!1):this.options.httpsAgent=Jt;const t=n.create(this.options);t.interceptors.response.use(tr,rr);const r=function(e){let t=!1;const r={...e,url:e.url||"",headers:e.headers||{}};if(e.proxy){let n=e.proxy;if("string"==typeof n){try{n=new f(e.proxy)}catch(e){n=!1,r.proxy=!1,console.error(e)}t=!0}n&&(e.url?.startsWith("https://")?(r.proxy=!1,r.httpsAgent=v({proxy:{host:n?.hostname,port:parseInt(n?.port,10)}})):r.proxy={host:n.hostname,port:parseInt(n.port,10),protocol:"http"})}if("formData"in e){const n=new k;for(const t in e.formData)er(n,t,e.formData[t]);r.data=n,r.headers=Object.assign(r.headers||{},n.getHeaders()),t=!0,delete r.formData}return"body"in e&&(r.data=e.body,t=!0,delete r.body),"qs"in e&&(r.params=e.qs,t=!0),r.__isOldOptions=t,r}(e);return t.interceptors.request.use(function(e){let t="";return e?.headers?.contentType?(t=e.headers.contentType,delete e.headers.contentType):e?.headers?.ContentType?(t=e.headers.ContentType,delete e.headers.ContentType):e?.headers?.["content-type"]&&(t=e.headers["content-type"],delete e.headers["content-type"]),""!==t&&e.headers&&(e.headers["Content-Type"]=t),e}),"resolveWithFullResponse"in e&&e.resolveWithFullResponse?t.request(r):t.request(r).then(t=>r.__isOldOptions?"json"in e?e.json?t.data:void 0:JSON.stringify(t.data):t.data)}}var ir={handle:async e=>(e.output.push(...e.input),e)};const ar=(e,t,r)=>{const n=pe(t);return n.real||("string"==typeof r?e.log.warn(`can't get ${r}'s image size`):e.log.warn("can't get image size"),e.log.warn("fallback to 200 * 200")),n};var sr={handle:async e=>{const t=e.output;return await Promise.all(e.input.map(async(r,n)=>{let i;if(i=Buffer.isBuffer(r)?{success:!0,buffer:r,fileName:"",extname:""}:ce(r)?await Ae(r,e):await ge(r),i.success&&i.buffer){const a=ar(e,i.buffer,r),s=i.extname||a.extname||".png";t[n]={buffer:i.buffer,fileName:i.fileName||`${$().format("YYYYMMDDHHmmssSSS")}${s}`,width:a.width,height:a.height,filePath:i.filePath,extname:i.extname,mimeType:Y.getType(s)||"application/octet-stream"}}else e.log.error(i.reason)})),e.output=t.filter(e=>e),e}};const or=(e,t,r,n,i,a,s)=>({method:n.toUpperCase(),url:r,headers:{contentType:"multipart/form-data","User-Agent":"PicList",...i},formData:{[s]:{value:e,options:{filename:t}},...a},json:!0}),Er=async e=>{const t=e.getConfig("picBed.advancedplist");if(!t)throw new Error("Can not find advancedplist config");const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.buffer||(n.base64Image?Buffer.from(n.base64Image,"base64"):null);if(!r)continue;const i=or(r,n.fileName,t.endpoint,t.method||"POST",JSON.parse(t.headers||"{}"),JSON.parse(t.body||"{}"),t.formDataKey||"file");let a=await e.request(i);a="string"==typeof a?JSON.parse(a):a;let s=a;const o=t.resDataPath||"data.url";for(const e of o.split(".")){if(!s||"object"!=typeof s||!(e in s)){s=void 0;break}s=s[e]}if(!s||"string"!=typeof s)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:a.message}),console.error("AdvancedPlist upload failed:",a),new Error(a.message);if(delete n.base64Image,delete n.buffer,t.webPath){const e=s.split("/").pop()||s;s=(t.webPath.endsWith("/")?t.webPath:t.webPath+"/")+e}n.imgUrl=t.customPrefix?t.customPrefix+s:s}return e},Sr=e=>{const t=e.getConfig("picBed.advancedplist")||{},r=(r,n,i,a=!1,s)=>({name:r,type:n,get prefix(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get message(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_MESSAGE_${r.toUpperCase()}`)},default:t[r]||i,required:a,...s});return[r("endpoint","input","",!0),r("method","list","POST",!1,{choices:["POST","PUT","GET"]}),r("formDataKey","input","file"),r("headers","input","{}"),r("body","input","{}"),r("customPrefix","input",""),r("webPath","input",""),r("resDataPath","input","data.url")]};const Ir=(e,t,r,n,i)=>({method:"PUT",url:`${e}/api/fs/form`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:t,"File-Path":encodeURIComponent(n)},formData:{file:{value:i,options:{filename:r}}},resolveWithFullResponse:!0}),_r=(e,t)=>{if(200!==t.statusCode||200!==t.body.code||"success"!==t.body.message)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:t.body.message}),new Error(t.body.message)},lr=(e,t,r)=>({method:"POST",url:e,headers:{Authorization:t,"Content-Type":"application/json"},body:r,resolveWithFullResponse:!0}),cr=e=>{const{url:t,token:r,username:n,password:i,uploadPath:a,webPath:s,customUrl:o}=e;return{url:(t||"").replace(/\/$/,""),token:r||"",username:n||"",password:i||"",uploadPath:dt({path:a||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}),webPath:s?dt({path:s||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}):"",customUrl:(o||"").replace(/\/$/,"")}},Pr=async e=>{const r=e.getConfig("picBed.alistplist");if(!r)throw new Error("Can not find alist config!");const{url:i,username:a,password:s,uploadPath:o,webPath:E,customUrl:S}=cr(r);let{token:I}=cr(r);if(I||(I=await(async(e,t,r,i)=>{const a=e.getConfig("picgo-plugin-buildin-alistplist");if(a&&a.refreshedAt&&Date.now()-a.refreshedAt<36e5&&a.token)return a.token;const s=await n.post(`${t}/api/auth/login`,{username:r,password:i});if(200===s.data.code&&"success"===s.data.message){const t=s.data.data.token;return e.saveConfig({"picgo-plugin-buildin-alistplist":{token:t,refreshedAt:Date.now()}}),t}throw new Error("Get token failed")})(e,i,a,s)),!i||!(I||a&&s))throw new Error("Please check your alist config!");const _=e.output;for(const r of _)if(r.fileName&&r.buffer){let n=r.buffer;!n&&r.base64Image&&(n=Buffer.from(r.base64Image,"base64"));const a=`${o}${r.fileName}`,s=Ir(i,I,r.fileName,a,n),_=await e.request(s);_r(e,_);const l=await e.request(lr(`${i}/api/fs/list`,I,{password:"",page:1,per_page:1,refresh:!0,path:t.dirname(a)}));_r(e,l);const c=await e.request(lr(`${i}/api/fs/get`,I,{password:"",path:a,page:1,per_page:1,refresh:!0}));_r(e,c);const P=c.body.data.sign,u=Tt(`${E||o}${r.fileName}`);r.imgUrl=`${S||i}${S&&S!==i?"":"/d"}${u}`,r.imgUrl+=S&&S!==i||!P?"":`?sign=${P}`,delete r.base64Image,delete r.buffer}return e},ur=e=>{const t=e.getConfig("picBed.alistplist")||{};return[xt(e,"alist","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_URL")}}),xt(e,"alist","token","input",t.token||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_TOKEN")}}),xt(e,"alist","username","input",t.username||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_USERNAME")}}),xt(e,"alist","password","input",t.password||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_PASSWORD")}}),xt(e,"alist","uploadPath","input",t.uploadPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_UPLOAD_PATH")}}),xt(e,"alist","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_WEB_PATH")}}),xt(e,"alist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_CUSTOMURL")}})]};const pr=()=>(new Date).toUTCString(),gr=(e,t)=>{const r=pr(),n=`PUT\n\n${Y.getType(t)||"application/octet-stream"}\n${r}\n/${e.bucket}/${e.path}${t}`,i=T.createHmac("sha1",e.accessKeySecret).update(n).digest("base64");return`OSS ${e.accessKeyId}:${i}`},Ar=(e,t,r,n)=>({method:"PUT",url:`https://${e.bucket}.${e.area}.aliyuncs.com/${Tt(`${e.path}${t}`)}`,headers:{Host:`${e.bucket}.${e.area}.aliyuncs.com`,Authorization:r,Date:pr(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}),Cr=async e=>{const t=e.getConfig("picBed.aliyun");if(!t)throw new Error("Can't find aliYun OSS config");t.path=dt({path:t.path});const r=dt({path:t.webPath});try{const{output:n}=e,i=(t.customUrl||"").replace(/\/$/,""),{path:a,bucket:s,area:o,options:E=""}=t;for(const S of n)if(S.fileName&&S.buffer){const n=gr(t,S.fileName),I=S.buffer||Buffer.from(S.base64Image,"base64"),_=Ar(t,S.fileName,n,I);if(200!==(await e.request(_)).statusCode)throw new Error("Upload failed");{delete S.base64Image,delete S.buffer;const e=Tt(`${r||a}${S.fileName}`);S.imgUrl=i?`${i}/${e}${E}`:`https://${s}.${o}.aliyuncs.com/${e}${E}`}}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},dr=e=>{const t=e.getConfig("picBed.aliyun")||{};return[xt(e,"alicloud","accessKeyId","input",t.accessKeyId||"",!0),xt(e,"alicloud","accessKeySecret","input",t.accessKeySecret||"",!0),xt(e,"alicloud","bucket","input",t.bucket||"",!0),xt(e,"alicloud","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_AREA")}}),xt(e,"alicloud","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_PATH")}}),xt(e,"alicloud","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_WEBPATH")}}),xt(e,"alicloud","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_CUSTOMURL")}}),xt(e,"alicloud","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_OPTIONS")}})]};class Tr{date;info;static fields=["year","month","day","fullName","fileName","extName","md5","md5B64","md5B64Short","sha1","sha256","timestamp","timestampMS"];constructor(e){this.date=new Date,this.info=e}year(){return`${this.date.getFullYear()}`}month(){return(this.date.getMonth()+1).toString().padStart(2,"0")}day(){return this.date.getDate().toString().padStart(2,"0")}fullName(){return this.info.fileName}fileName(){return(this.info.fileName??"").replace(this.info.extname??"","")}extName(){return(this.info.extname??"").replace(".","")}md5(){return T.createHash("md5").update(this.imgBuffer()).digest("hex")}md5B64(){return T.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}md5B64Short(){return T.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").slice(0,7)}sha1(){return T.createHash("sha1").update(this.imgBuffer()).digest("hex")}sha256(){return T.createHash("sha256").update(this.imgBuffer()).digest("hex")}timestamp(){return Math.floor(Date.now()/1e3).toString()}timestampMS(){return Date.now().toString()}imgBuffer(){return this.info.base64Image?this.info.base64Image:this.info.buffer}}function Dr(e,t){if(!t)return e.fileName;const r=new Tr(e);let n=t;for(const e of Tr.fields){const t=new RegExp(`{${e}}`,"g");n=n.replace(t,r[e]())}return n}function mr(e,t,r){const n=function(e=""){if(!e)return"";if(!/^https?:\/\//.test(e)){const[t,r]=e.split(":");return`http://${t.replace("127.0.0.1","localhost")}:${r}`}try{const{protocol:t,hostname:r,port:n}=new f(e);return`${t}//${r.replace("127.0.0.1","localhost")}:${n}`}catch(e){return""}}(e);if(!n)return;return new(t?Z:J)({keepAlive:!0,keepAliveMsecs:1e3,scheduling:"lifo",rejectUnauthorized:r,proxy:n})}async function fr(e,t,r){const n=await q(e.client,new j({Bucket:e.bucketName,Key:e.path,IfMatch:t,VersionId:r}),{expiresIn:3600}),i=new D.URL(n);return i.search="",i.href}var Lr={createS3Client:function(e){let t=!0;try{t="https:"===new D.URL(e.endpoint).protocol}catch{}const r={};t?r.httpsAgent=mr(e.proxy,!0,!!e.rejectUnauthorized):r.httpAgent=mr(e.proxy,!1,!!e.rejectUnauthorized);const n={region:e.region||"auto",endpoint:e.endpoint||void 0,credentials:{accessKeyId:e.accessKeyID,secretAccessKey:e.secretAccessKey},tls:t,forcePathStyle:e.pathStyleAccess,requestHandler:new X(r)};return new V(n)},createUploadTask:async function(e){if(!e.item.buffer&&!e.item.base64Image)throw new Error("undefined image");try{const{body:t,contentType:r,contentEncoding:n}=await async function(e){const t={};if(e.base64Image){const r=e.base64Image.replace(/^data:[/\w]+;base64,/,"");t.contentType=e.base64Image.match(/[^:]\w+\/[\w-+\d.]+(?=;|,)/)?.[0],t.body=Buffer.from(r,"base64"),t.contentEncoding="base64"}else e.extname&&(t.contentType=Y.getType(e.extname)||void 0),t.body=e.buffer;if(!t.contentType){const e=await Q(t.body);t.contentType=e?.mime}return t}(e.item),i=new z({Bucket:e.bucketName,Key:e.path,ACL:e.acl,Body:t,ContentType:r,ContentEncoding:n}),a=await e.client.send(i);let s;return s=e.urlPrefix?`${e.urlPrefix}/${e.path}`:await fr(e,a.ETag,a.VersionId),e.options&&(s+=e.options.startsWith("?")?e.options:`?${e.options}`),{key:e.path,url:s,imgURL:s,versionId:a.VersionId,eTag:a.ETag}}catch(e){return Promise.reject(e)}}};function hr(e){return"string"==typeof e?"true"===e.toLowerCase():Boolean(e)}const Br=async e=>{const t=e.getConfig("picBed.aws-s3-plist");if(!t)throw new Error("Can't find aws s3 uploader config");try{const r=hr(t.disableBucketPrefixToURL);let n=t.urlPrefix;n&&(n=n.replace(/\/?$/,""),t.pathStyleAccess&&!r&&(n+="/"+t.bucketName));const i=Lr.createS3Client(t),a=e.output;for(const e of a){const r=await Lr.createUploadTask({client:i,bucketName:t.bucketName,path:Dr(e,t.uploadPath),item:e,acl:t.acl||"public-read",urlPrefix:n,options:t.options||""});delete e.buffer,delete e.base64Image,e.imgUrl=r.imgURL,e.url=r.url}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:""}),t}},Nr=e=>{let t=e.getConfig("picBed.aws-s3-plist")||{};t={accessKeyID:"",secretAccessKey:"",bucketName:"",uploadPath:"{year}/{month}/{md5}.{extName}",pathStyleAccess:!1,rejectUnauthorized:!1,acl:"public-read",...t};return[{name:"accessKeyID",type:"input",default:t.accessKeyID,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID")}},{name:"secretAccessKey",type:"input",default:t.secretAccessKey,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY")}},{name:"bucketName",type:"input",default:t.bucketName,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_BUCKET")}},{name:"uploadPath",type:"input",default:t.uploadPath,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH")}},{name:"region",type:"input",default:t.region,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REGION")}},{name:"endpoint",type:"input",default:t.endpoint,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ENDPOINT")}},{name:"proxy",type:"input",default:t.proxy,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PROXY")}},{name:"urlPrefix",type:"input",default:t.urlPrefix,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_URLPREFIX")}},{name:"options",type:"input",default:t.options||"",required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_OPTIONS")}},{name:"pathStyleAccess",type:"confirm",default:t.pathStyleAccess||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS")}},{name:"rejectUnauthorized",type:"confirm",default:t.rejectUnauthorized||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED")}},{name:"acl",type:"list",default:t.acl||"public-read",choices:["private","public-read","public-read-write","authenticated-read","aws-exec-read","bucket-owner-read","bucket-owner-full-control"],required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACL")}},{name:"disableBucketPrefixToURL",type:"confirm",default:hr(t.disableBucketPrefixToURL)||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL")}}]};function Ur(e,t,r,n=""){return`https://api.github.com/repos/${e}/contents/${Tt(`${t}${r}`)}${n}`}const Rr=(e,t,r)=>{const{token:n,repo:i}=t,a=Y.getType(e)||"application/octet-stream";return{method:"PUT",url:Ur(i,t.path,e),headers:{Authorization:`token ${n}`,"User-Agent":"PicList","Content-Type":a},body:r,json:!0}},Mr=(e,t)=>{const{token:r,repo:n,branch:i}=t;return{method:"GET",url:Ur(n,t.path,e,`?ref=${i}`),headers:{Authorization:`token ${r}`,"User-Agent":"PicList"},json:!0}},Or=async e=>{const t=e.getConfig("picBed.github");if(!t)throw new Error("Can't find github config");const r=dt({path:t.path}),n=dt({path:t.webPath||""});t.path=r,t.customUrl=(t.customUrl||"").replace(/\/$/,"");try{const i=e.output;for(const a of i)if(a.fileName&&a.buffer){const i=a.base64Image||Buffer.from(a.buffer).toString("base64"),s={message:"Upload by PicList",branch:t.branch,content:i,path:r+encodeURI(a.fileName)},o=Rr(a.fileName,t,s);try{const i=await e.request(o);if(!i)throw new Error("Server error, please try again");delete a.base64Image,delete a.buffer,a.imgUrl=t.customUrl?`${t.customUrl}/${Tt(`${n||r}${a.fileName}`)}`:i.content.download_url,a.hash=i.content.sha}catch(i){if(422!==i.statusCode)throw i;delete a.base64Image,delete a.buffer;const s=await e.request(Mr(a.fileName,t));if(!Object.keys(s).length)throw i;a.hash=s.sha,a.imgUrl=t.customUrl?`${t.customUrl}/${Tt(`${n||r}${a.fileName}`)}`:s.download_url}}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK")}),t}},yr=e=>{const t=e.getConfig("picBed.github")||{};return[{name:"repo",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_REPO")},get alias(){return e.i18n.translate("PICBED_GITHUB_REPO")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_REPO")},default:t.repo||"",required:!0},{name:"branch",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get alias(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_BRANCH")},default:t.branch||"master",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},get alias(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},default:t.token||"",required:!0},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_PATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_PATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_PATH")},default:t.path||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_WEBPATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_WEBPATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_WEBPATH")},default:t.webPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1}]};const wr=async(e,t,r,n)=>{const i=t.clientId||"",a=t.username||"",s=(e=>e?e.startsWith("Bearer")?e:`Bearer ${e}`:"")(t.accessToken||""),o=t.album||"";let E;if(a&&s)E=s;else{if(!i)throw new Error("clientId or accessToken is required");E=`Client-ID ${i}`}const S={method:"POST",url:"https://api.imgur.com/3/image",headers:{Authorization:E,"content-type":"multipart/form-data",Host:"api.imgur.com","User-Agent":"PicList"},formData:{image:n,type:"base64",name:r,description:"Uploaded with PicList"}};if(a&&s&&o){let r,n=0,i="";do{const s={method:"GET",url:`https://api.imgur.com/3/account/${a}/albums/${n}`,headers:{Authorization:E},json:!0,resolveWithFullResponse:!0,timeout:1e4};if(t.proxy&&(s.proxy=t.proxy),r=await e.request(s),200!==r.statusCode||!r.body.success)throw new Error("Server error, please try again");const S=r.body.data;for(const e of S)if(e.title===o){i=e.id;break}n++}while(r.body.data.length>0);i&&S.formData&&(S.formData.album=i)}return t.proxy&&(S.proxy=t.proxy),S},Gr=async e=>{const t=e.getConfig("picBed.imgur");if(!t)throw new Error("Can't find imgur config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),i=await wr(e,t,n.fileName,r),a=await e.request(i),s="string"==typeof a?JSON.parse(a):a;if(!s.success)throw new Error("Server error, please try again");delete n.base64Image,delete n.buffer,n.imgUrl=s.data.link,n.hash=s.data.deletehash}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:"http://docs.imgur.com/api/errno/"}),t?.response?.data||t}},br=e=>{const t=e.getConfig("picBed.imgur")||{};return[{name:"clientId",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get alias(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_CLIENTID")},default:t.clientId||"",required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get alias(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_USERNAME")},default:t.username||"",required:!1},{name:"accessToken",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get alias(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ACCESS_TOKEN")},default:t.accessToken||"",required:!1},{name:"album",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get alias(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ALBUM")},default:t.album||"",required:!1},{name:"proxy",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get alias(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_PROXY")},default:t.proxy||"",required:!1}]};const xr=async e=>{const r=e.getConfig("picBed.local");if(!r)throw new Error("Can not find local config!");const n=r.path||"",a=(r.customUrl||"").replace(/\/$/,""),o=dt({path:r.webPath?.replace(/\\/g,"/")}),E=e.output;for(const r of E)if(r.fileName&&r.buffer){let E=r.buffer;!E&&r.base64Image&&(E=Buffer.from(r.base64Image,"base64"));try{const S=t.join(e.baseDir,"imgTemp","local"),I=t.join(S,r.fileName),_=t.join(n,r.fileName);try{s(t.dirname(_)),s(t.dirname(I))}catch(e){}i.writeFileSync(_,E),i.copyFileSync(_,I),delete r.base64Image,delete r.buffer,r.imgUrl=a?`${a}/${Tt(`${o}${r.fileName}`)}`:t.join(n,r.fileName),r.hash=t.join(n,r.fileName),r.galleryPath=`http://localhost:36699/local/${Tt(r.fileName).replace(/^\//,"")}`}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:"failed to upload image"}),new Error("failed to upload image")}}return e},Wr=e=>{const t=e.getConfig("picBed.local")||{};return[{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_PATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_PATH")},default:t.path||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_PATH")},required:!0},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},default:t.customUrl||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_CUSTOMURL")},required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},default:t.webPath||"",required:!1,get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_WEBPATH")}}]};const $r=(e,t,r)=>{let n=e.host;n=n.replace(/\/$/,"");const i="V2"===e.version,a=e.token,s={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",token:a||void 0},o={image:{value:r,options:{filename:t}},ssl:"true"},E={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",Accept:"application/json",Authorization:a||void 0},S=e.strategyId,I=e.albumId;let _=e.permission.value;void 0===_&&(_=e.permission);const l={file:{value:r,options:{filename:t}},ssl:"true",strategy_id:S,album_id:I,permission:_};S||delete l.strategy_id,I||delete l.album_id,0!==_&&1!==_&&delete l.permission;return{method:"POST",url:i?`${n}/api/v1/upload`:`${n}/api/upload`,agent:new K.Agent({rejectUnauthorized:!1}),headers:i?E:s,formData:i?l:o}},Fr=async e=>{const t=e.getConfig("picBed.lskyplist");if(!t)throw new Error("Can't find lsky uploader config");const r=e.output;for(const n of r){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const i=$r(t,n.fileName,r);let a=await e.request(i);a="string"==typeof a?JSON.parse(a):a;const s="V2"===t.version;if(!(s?!0===a.status:200===a.code))throw e.emit(Xe.NOTIFICATION,{title:"upload failed",body:a.message}),new Error(a.message);delete n.base64Image,delete n.buffer,n.imgUrl=s?a.data.links.url:a.data.url,s&&(n.hash=a.data.key)}return e},Hr=e=>{const t=e.getConfig("picBed.lskyplist")||{};return[{name:"version",type:"list",default:t.version||"V1",get prefix(){return e.i18n.translate("PICBED_LSKY_VERSION")},get alias(){return e.i18n.translate("PICBED_LSKY_VERSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_VERSION")},choices:["V1","V2"],required:!0},{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_HOST")},get alias(){return e.i18n.translate("PICBED_LSKY_HOST")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get alias(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_TOKEN")},default:t.token,required:!0},{name:"strategyId",type:"input",default:t.strategyId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_STRATEGY_ID")}},{name:"albumId",type:"input",default:t.albumId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_ALBUM_ID")}},{name:"permission",type:"list",default:t.permission||"private(default)",choices:[{name:"private(default)",value:0},{name:"public",value:1}],required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get alias(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_PERMISSION")}}]};const Kr=(e,t,r)=>{const{host:n="127.0.0.1",port:i="",picbed:a="",configName:s="Default",serverKey:o=""}=e,E=n.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)/),S=n.startsWith("https://")?"https://":"http://",I=n.replace(/(http:\/\/|https:\/\/)/,"");return{method:"POST",url:`${E?`${S}${I}:${i||"36677"}`:`${S}${I}${i?`:${i}`:""}`}/upload?configName=${s}${a?`&picbed=${a}`:""}${o?`&key=${o}`:""}`,headers:{"content-type":"multipart/form-data"},formData:{file:{value:r,options:{filename:t,contentType:Y.getType(t)||"application/octet-stream"}}},resolveWithFullResponse:!0}},kr=async e=>{const t=e.getConfig("picBed.piclist");if(!t)throw new Error("Can't find PicList config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const i=Kr(t,n.fileName,r),a=await e.request(i).then(e=>e).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}}));if(200!==a.statusCode||!a.body?.success)throw new Error(a.body.message);delete n.base64Image,delete n.buffer,n.imgUrl=a.body.result[0],n.fullResult=a.body.fullResult?a.body.fullResult[0]:""}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},vr=e=>{const t=e.getConfig("picBed.piclist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_HOST")},get alias(){return e.i18n.translate("PICBED_PICLIST_HOST")},default:t.host||"127.0.0.1",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PORT")},get alias(){return e.i18n.translate("PICBED_PICLIST_PORT")},default:t.port||36677,required:!1},{name:"picbed",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PICBED")},get alias(){return e.i18n.translate("PICBED_PICLIST_PICBED")},default:t.picbed||"",required:!1},{name:"configName",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},get alias(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},default:t.configName||"",required:!1},{name:"serverKey",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_KEY")},get alias(){return e.i18n.translate("PICBED_PICLIST_KEY")},default:t.serverKey||"",required:!1}]};function Yr(e,t,r,n){const i=function(e){return"z0"===e?"":"-"+e}(e.area||"z0"),a=e.path||"";return{method:"POST",url:`http://upload${i}.qiniup.com/putb64/-1/key/${Buffer.from(a+t,"utf-8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_")}`,headers:{Authorization:`UpToken ${r}`,"Content-Type":Y.getType(t)||"application/octet-stream"},body:n}}function Vr(e){const t=e.accessKey,r=e.secretKey,n=new ee.auth.digest.Mac(t,r),i={scope:e.bucket};return new ee.rs.PutPolicy(i).uploadToken(n)}const zr=async e=>{const t=e.getConfig("picBed.qiniu");if(!t)throw new Error("Can't find qiniu config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),i=Yr(t,n.fileName,Vr(t),r),a=await e.request(i),s=JSON.parse(a);if(!s?.key)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:s.msg}),e.log.error("qiniu error",s),new Error("Upload failed");{delete n.base64Image,delete n.buffer;const e=t.url,r=t.options||"";n.imgUrl=`${e}/${s.key}${r}`}}return e}catch(t){if("Upload failed"!==t.message&&t.response){const r=t.response.body;e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:r.error})}throw t}},jr=e=>{const t=e.getConfig("picBed.qiniu")||{};return[{name:"accessKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},default:t.accessKey||"",required:!0},{name:"secretKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},default:t.secretKey||"",required:!0},{name:"bucket",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_BUCKET")},get alias(){return e.i18n.translate("PICBED_QINIU_BUCKET")},default:t.bucket||"",required:!0},{name:"url",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_URL")},get alias(){return e.i18n.translate("PICBED_QINIU_URL")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_URL")},default:t.url||"",required:!0},{name:"area",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_AREA")},get alias(){return e.i18n.translate("PICBED_QINIU_AREA")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_AREA")},default:t.area||"",required:!0},{name:"options",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get alias(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_OPTIONS")},default:t.options||"",required:!1},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_PATH")},get alias(){return e.i18n.translate("PICBED_QINIU_PATH")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_PATH")},default:t.path||"",required:!1}]};class qr{static instance;client=new te;isConnected=!1;constructor(){}static getInstance(){return qr.instance||(qr.instance=new qr),qr.instance}static changeWinStylePathToUnix(e){return e.replace(/\\/g,"/")}async connect(e){const{host:t,port:r,username:n,password:i,privateKey:a,passphrase:s}=e,o=a?{username:n,privateKeyPath:a,passphrase:s||void 0}:{username:n,password:i};try{await this.client.connect({host:t,port:Number(r)||22,...o}),this.isConnected=!0}catch(e){throw new Error(e)}}async upload(e,r,n){if(!this.isConnected)throw new Error("SSH client is not connected");try{r=qr.changeWinStylePathToUnix(r),await this.mkdir(t.dirname(r).replace(/^\/+|\/+$/g,""),n),await this.client.putFile(e,r);const i=n.fileMode||"0644";"0644"!==i&&await this.exec(`chmod ${i} "${r}"`)}catch(e){throw new Error(e)}}async mkdir(e,t){if(!this.client.isConnected())throw new Error("sftp client is not connected");const r=t.dirMode||"0755";if("0755"!==r){const t=e.split("/");let n="";for(const e of t)if(e){n+=`/${e}`;const t=`mkdir "${n}" && chmod ${r} "${n}"`;await this.exec(t)}}else{const t=`cd / && mkdir -p "${e}"`;await this.exec(t)}}async chown(e,t,r){e=qr.changeWinStylePathToUnix(e);const[n,i]=r?[t,r]:t.includes(":")?t.split(":"):[t,t];await this.exec(`chown ${n}:${i} "${e}"`)}async exec(e){return 0===(await this.client.execCommand(e)).code}close(){this.client.dispose(),this.isConnected=!1}}const Xr=async e=>{const r=e.getConfig("picBed.sftpplist");if(!r)throw new Error("Can not find sftpplist config!");r.port=Number(r.port)||22,(r.port<0||r.port>65535)&&(r.port=22),r.uploadPath=dt({path:r.uploadPath,rootToEmpty:!1});const n=dt({path:r.webPath,rootToEmpty:!1});try{const i=e.output;for(const a of i)if(a.fileName&&a.buffer){let i=a.buffer;!i&&a.base64Image&&(i=Buffer.from(a.base64Image,"base64"));const o=t.join(e.baseDir,"uploadTemp"),E=t.join(e.baseDir,"imgTemp","sftpplist");s(E);const S=t.join(o,a.fileName);s(t.dirname(S)),I(S,i);const c=qr.getInstance();await c.connect(r);const P=t.join(`/${r.uploadPath}`.replace(/\/\/+/g,"/"),a.fileName);await c.upload(S,P,r),r.fileUser&&await c.chown(P,r.fileUser),delete a.base64Image,delete a.buffer;const u=r.customUrl||r.host;r.webPath?a.imgUrl=`${u}/${Tt(`${"/"===n?"":n}${a.fileName}`)}`:a.imgUrl=`${u}/${Tt(`${"/"===r.uploadPath?"":r.uploadPath}${a.fileName}`)}`;const p=t.join(E,a.fileName);s(t.dirname(p)),_(p),l(S,t.join(E,a.fileName)),a.galleryPath=`http://localhost:36699/sftpplist/${encodeURIComponent(a.fileName)}`,c.close()}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Qr=e=>{const t=e.getConfig("picBed.sftpplist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PORT")},default:t.port||22,required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},default:t.username||"",required:!0},{name:"password",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},default:t.password||"",required:!1},{name:"privateKey",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY")},default:t.privateKey||"",required:!1},{name:"passphrase",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE")},default:t.passphrase||"",required:!1},{name:"uploadPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_UPLOADPATH")},default:t.uploadPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH")},default:t.webPath||"",required:!1},{name:"fileUser",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_USER")},default:t.fileUser||"",required:!1},{name:"fileMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_MODE")},default:t.fileMode||"",required:!1},{name:"dirMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_DIR_MODE")},default:t.dirMode||"",required:!1}]};const Zr=(e,t,r,n="")=>({method:"POST",url:`https://${n}/api/v2/upload`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:r},formData:{smfile:{value:t,options:{filename:e}},ssl:"true"}}),Jr=async e=>{const t=e.getConfig("picBed.smms");if(!t?.token?.trim())throw new Error("SM.MS token is required!");const r=(t.backupDomain||"sm.ms").replace(/^https?:\/\//,"").replace(/\/$/,""),i=e.output;for(const a of i){if(!a.fileName)continue;const i=a.buffer||(a.base64Image?Buffer.from(a.base64Image,"base64"):void 0);if(!i)continue;const s=Zr(a.fileName,i,t.token,r),o=await e.request(s),E=JSON.parse(o);if("success"===E.code)a.imgUrl=E.data.url,a.hash=E.data.hash;else{if("image_repeated"!==E.code||"string"!=typeof E.images){const t=E.message||"Upload failed";throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:t}),new Error(t)}a.imgUrl=E.images;try{const e=await n.get(`https://${r}/api/v2/upload_history`,{headers:{Authorization:t.token}}),i=e.data?.data?.find(e=>e.url===E.images);i&&(a.hash=i.hash)}catch{}}delete a.base64Image,delete a.buffer}return e},en=e=>{const t=e.getConfig("picBed.smms")||{};return[xt(e,"SMMS","token","input",t.token||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_TOKEN")}}),xt(e,"SMMS","backupDomain","input",t.backupDomain||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_BACKUP_DOMAIN")}})]};const tn=(e,t)=>{const{secretId:r,secretKey:n,appId:i,bucket:a,version:s,area:o,endpoint:E,path:S}=e;let I,_="";if(!s||"v4"===s){const e=Math.floor(1e10*Math.random()),t=Math.floor(Date.now()/1e3)-1,s=`a=${i}&b=${a}&k=${r}&e=${t+3600}&t=${t}&r=${e}&f=`,o=T.createHmac("sha1",n).update(s).digest(),E=Buffer.concat([o,Buffer.from(s)]);I=Buffer.from(E).toString("base64")}else{const e=Math.floor(Date.now()/1e3);_=`${e};${e+86400}`;const r=T.createHmac("sha1",n).update(_).digest("hex"),i=`put\n/${S}${t}\n\nhost=${a}.${E||`cos.${o}.myqcloud.com`}\n`,s=`sha1\n${_}\n${T.createHash("sha1").update(i).digest("hex")}\n`;I=T.createHmac("sha1",r).update(s).digest("hex")}return{signature:I,appId:i,bucket:a,signTime:_}},rn=(e,t,r,n,i)=>{const{area:a,path:s,bucket:o,endpoint:E,secretId:S}=e,I=`PicGo;${i};null;null`;if(!e.version||"v4"===e.version)return{method:"POST",url:`http://${a}.file.myqcloud.com/files/v2/${r.appId}/${r.bucket}/${encodeURI(s)}${t}`,headers:{Host:`${a}.file.myqcloud.com`,Authorization:r.signature,contentType:"multipart/form-data","User-Agent":I},formData:{op:"upload",filecontent:n},resolveWithFullResponse:!0};const _=`${o}.${E||`cos.${a}.myqcloud.com`}`;return{method:"PUT",url:`http://${_}/${Tt(`${s}${t}`)}`,headers:{Host:_,Authorization:`q-sign-algorithm=sha1&q-ak=${S}&q-sign-time=${r.signTime}&q-key-time=${r.signTime}&q-header-list=host&q-url-param-list=&q-signature=${r.signature}`,contentType:Y.getType(t)||"application/octet-stream","User-Agent":I},body:n,resolveWithFullResponse:!0}},nn=async e=>{const t=e.getConfig("picBed.tcyun");if(!t)throw new Error("Can't find tencent COS config");try{const r=e.output,n=(t.customUrl||"").replace(/\/$/,""),i=dt({path:t.path}),a=dt({path:t.webPath});t.path=i;const s=!t.version||"v4"===t.version;for(const o of r){if(!o.fileName||!o.buffer)continue;const r=tn(t,o.fileName),E=o.buffer||Buffer.from(o.base64Image,"base64"),S=rn(t,o.fileName,r,E,e.GUI_VERSION||e.VERSION),I=await e.request(S).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}})),_=s&&"string"==typeof I?JSON.parse(I):I;if(400===_.statusCode)throw _?.body?.err||new Error(_?.body?.msg||_?.body?.message);const l=t.options||"",c=!!t.slim;if(delete o.base64Image,delete o.buffer,s&&"SUCCESS"===_.message)o.imgUrl=n?`${n}/${Tt(`${a||i}${o.fileName}`)}${l}`:`${_.data.source_url}${l}`;else{if(s||200!==_?.statusCode)throw new Error(I.body?.msg||"Upload failed");if(n)o.imgUrl=`${n}/${Tt(`${a||i}${o.fileName}`)}${l}`;else{const e=t.endpoint||`cos.${t.area}.myqcloud.com`;o.imgUrl=`https://${t.bucket}.${e}/${Tt(`${i}${o.fileName}`)}${l}`}}c&&(o.imgUrl+=l?"&imageSlim":"?imageSlim")}return e}catch(r){if((!t.version||"v4"===t.version)&&r.error)try{const t=JSON.parse(r.error);e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:t.code}),text:"https://cloud.tencent.com/document/product/436/8432"})}catch(e){}throw r}},an=e=>{const t=e.getConfig("picBed.tcyun")||{};return[xt(e,"TENCENTCLOUD","version","list","v5",!1,void 0,{choices:["v4","v5"]}),xt(e,"TENCENTCLOUD","secretId","input",t.secretId||"",!0),xt(e,"TENCENTCLOUD","secretKey","input",t.secretKey||"",!0),xt(e,"TENCENTCLOUD","bucket","input",t.bucket||"",!0),xt(e,"TENCENTCLOUD","appId","input",t.appId||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_APPID")}}),xt(e,"TENCENTCLOUD","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_AREA")}}),xt(e,"TENCENTCLOUD","endpoint","input",t.endpoint||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT")}}),xt(e,"TENCENTCLOUD","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_PATH")}}),xt(e,"TENCENTCLOUD","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_WEBPATH")}}),xt(e,"TENCENTCLOUD","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL")}}),xt(e,"TENCENTCLOUD","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_OPTIONS")}}),xt(e,"TENCENTCLOUD","slim","confirm",!!t.slim,!1,void 0,{get confirmText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CONFIRM")},get cancelText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CANCEL")},get tips(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_TIP")}})]};const sn="https://v0.api.upyun.com",on=e=>T.createHash("md5").update(e).digest("hex"),En=async(e,t,r,n)=>{if(!t.fileName||!t.buffer)return;const i=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!i)return;const a=((e,t)=>{const{path:r="",operator:n,password:i,bucket:a}=e,s=on(i),o=(new Date).toUTCString(),E=`PUT&/${a}/${Tt(`${r}${t}`)}&${o}`;return`UPYUN ${n}:${T.createHmac("sha1",s).update(E).digest("base64")}`})(r,t.fileName),s=((e,t,r,n)=>{const{bucket:i,path:a}=e;let s=(e.endpoint||sn).replace(/\/+$/g,"");return s.startsWith("http")||(s=`https://${s}`),{method:"PUT",url:`${s}/${i}/${Tt(`${a}${t}`)}`,headers:{Authorization:r,Date:(new Date).toUTCString(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}})(r,t.fileName,a,i);if(200!==(await e.request(s)).statusCode)throw new Error("Upload failed");delete t.base64Image,delete t.buffer;const o=r.options||"",E=`${r.url}/${Tt(`${n}${t.fileName}`)}${o}`;t.imgUrl=r.antiLeechToken?Sn(E,r,t.fileName):E},Sn=(e,t,r)=>{const n=((e,t,r,n)=>{const i=`/${r.path||""}${n}`.replace(/%2F/g,"/").replace(/^\/+/g,"/"),a=Math.round(Date.now()/1e3),s=t?a+parseInt(t.toString(),10):a+1800;return`_upt=${on(`${e}&${s}&${i}`).substring(12,20)}${s}`})(t.antiLeechToken,t.expireTime,t,r);return e.includes("?")?`${e}&${n}`:`${e}?${n}`},In=async e=>{const t=e.getConfig("picBed.upyun");if(!t)throw new Error("Can't find UpYun config");try{const r=e.output,n=dt({path:t.path});t.path=n;for(const i of r)await En(e,i,t,n);return e}catch(t){throw _n(e,t),t}},_n=(e,t)=>{if("Upload failed"===t.message)e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")});else{const r=Ue(t.error),n="object"==typeof r&&r?r.code:r||"Unknown error";e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:n}),text:"http://docs.upyun.com/api/errno/"})}},ln=e=>{const t=e.getConfig("picBed.upyun")||{};return[xt(e,"upyun","bucket","input",t.bucket||"",!0),xt(e,"upyun","operator","input",t.operator||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPERATOR")}}),xt(e,"upyun","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PASSWORD")}}),xt(e,"upyun","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_URL")}}),xt(e,"upyun","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPTIONS")}}),xt(e,"upyun","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PATH")}}),xt(e,"upyun","antiLeechToken","input",t.antiLeechToken||"",!1),xt(e,"upyun","expireTime","input",t.expireTime||"",!1),xt(e,"upyun","endpoint","input",t.endpoint||sn,!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_ENDPOINT")}})]};const cn=4294967296,Pn=e=>{if(e.buffer)return e.buffer;if(e.base64Image)return Buffer.from(e.base64Image,"base64");throw new Error("No image data found")},un=(e,t,r,n,i,a)=>`${e}/${Tt(`${a?r:t}${n}`).replace(/^\/+/g,"")}${i}`,pn=(e,r,n)=>{const a=t.join(e.baseDir,"imgTemp","webdavplist"),o=t.join(a,r);s(t.dirname(o)),i.writeFileSync(o,n)},gn=async(e,r,n,i)=>{const a=t.dirname(`${r}${n}`),s="/"===a?"":a;s&&await e.createDirectory(s,{recursive:!0});const o=`${r}${n}`.replace(/^\/+|\/+$/g,"");return await e.putFileContents(o,i,{overwrite:!0})},An=async e=>{const t=e.getConfig("picBed.webdavplist");if(!t)throw new Error("Can't find webdavplist config");var r;t.host=(r=t.host,`${t.sslEnabled?"https://":"http://"}${r.replace(/^https?:\/\/|\/+$/g,"")}`),t.path=dt({path:t.path,rootToEmpty:!1});const n=dt({path:t.webpath,rootToEmpty:!1}),i=t.options||"";try{const r=(e=>{const t={username:e.username,password:e.password,maxBodyLength:cn,maxContentLength:cn};return"digest"===e.authType&&(t.authType=re.Digest),ne(e.host,t)})(t),a=t.customUrl||t.host;for(const s of e.output){if(!s.fileName)continue;const o=Pn(s);if(!await gn(r,t.path,s.fileName,o))throw new Error("Upload failed");pn(e,s.fileName,o),delete s.base64Image,delete s.buffer,s.imgUrl=un(a,t.path,n,s.fileName,i,!!t.webpath),s.galleryPath=`http://localhost:36699/webdavplist/${encodeURIComponent(s.fileName)}`}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Cn=e=>{const t=e.getConfig("picBed.webdavplist")||{};return[xt(e,"webdavplist","host","input",t.host||"",!0),xt(e,"webdavplist","sslEnabled","confirm",!!t.sslEnabled,!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED")}}),xt(e,"webdavplist","username","input",t.username||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_USERNAME")}}),xt(e,"webdavplist","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PASSWORD")}}),xt(e,"webdavplist","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PATH")}}),xt(e,"webdavplist","webpath","input",t.webpath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH")}}),xt(e,"webdavplist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL")}}),xt(e,"webdavplist","authType","list",t.authType||"basic",!1,void 0,{choices:["basic","digest"]}),xt(e,"webdavplist","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_OPTIONS")}})]};const dn=()=>({register(e){!function(e){e.helper.uploader.register(Dt,{get name(){return e.i18n.translate("PICBED_ADVANCEDPLIST")},handle:Er,config:Sr})}(e),function(e){e.helper.uploader.register(mt,{get name(){return e.i18n.translate("PICBED_ALIST_PLIST")},handle:Pr,config:ur})}(e),function(e){e.helper.uploader.register(ft,{get name(){return e.i18n.translate("PICBED_ALICLOUD")},handle:Cr,config:dr})}(e),function(e){e.helper.uploader.register(Lt,{get name(){return e.i18n.translate("PICBED_AWSS3PLIST")},handle:Br,config:Nr})}(e),function(e){e.helper.uploader.register(ht,{get name(){return e.i18n.translate("PICBED_GITHUB")},handle:Or,config:yr})}(e),function(e){e.helper.uploader.register(Bt,{get name(){return e.i18n.translate("PICBED_IMGUR")},handle:Gr,config:br})}(e),function(e){e.helper.uploader.register(Nt,{get name(){return e.i18n.translate("PICBED_LOCAL")},handle:xr,config:Wr})}(e),function(e){e.helper.uploader.register(Ut,{get name(){return e.i18n.translate("PICBED_LSKY_PLIST")},handle:Fr,config:Hr})}(e),function(e){e.helper.uploader.register(Rt,{get name(){return e.i18n.translate("PICBED_PICLIST")},handle:kr,config:vr})}(e),function(e){e.helper.uploader.register(Mt,{get name(){return e.i18n.translate("PICBED_QINIU")},handle:zr,config:jr})}(e),function(e){e.helper.uploader.register(Ot,{get name(){return e.i18n.translate("PICBED_SFTPPLIST")},handle:Xr,config:Qr})}(e),function(e){e.helper.uploader.register(yt,{get name(){return e.i18n.translate("PICBED_SMMS")},handle:Jr,config:en})}(e),function(e){e.helper.uploader.register(wt,{get name(){return e.i18n.translate("PICBED_TENCENTCLOUD")},handle:nn,config:an})}(e),function(e){e.helper.uploader.register(Gt,{get name(){return e.i18n.translate("PICBED_UPYUN")},handle:In,config:ln})}(e),function(e){e.helper.uploader.register(bt,{get name(){return e.i18n.translate("PICBED_WEBDAVPLIST")},handle:An,config:Cn})}(e)}});class Tn{ctx;constructor(e){this.ctx=e}migrateToMultiConfig(e){const t=this.ctx.getConfig(),r=this.ctx.getConfig(`picBed.${e}`);if(!t.uploader||!t.uploader[e])if(t.uploader||(t.uploader={}),r&&Object.keys(r).length>0){const n={...r,_id:r._id||U(),_configName:r._configName||"Default",_createdAt:r._createdAt||Date.now(),_updatedAt:r._updatedAt||Date.now()};t.uploader[e]={configList:[n],defaultId:n._id},this.ctx.saveConfig({uploader:t.uploader}),this.ctx.saveConfig({[`picBed.${e}`]:n})}else t.uploader[e]={configList:[],defaultId:""},this.ctx.saveConfig({uploader:t.uploader})}getCurrentUploaderConfig(e){this.migrateToMultiConfig(e);const t=this.ctx.getConfig(`uploader.${e}`);if(!t||!t.defaultId)return null;return t.configList.find(e=>e._id===t.defaultId)||null}getAllUploaderConfigs(e){this.migrateToMultiConfig(e);const t=this.ctx.getConfig(`uploader.${e}`);return t?.configList||[]}addUploaderConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i={...r,_id:U(),_configName:t,_createdAt:Date.now(),_updatedAt:Date.now()};return n.configList.push(i),1===n.configList.length&&(n.defaultId=i._id),this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===i._id&&this.syncConfigToPicBed(e,i),i}updateUploaderConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i=n.configList.findIndex(e=>e._id===t);if(-1===i)return!1;const a=n.configList[i];return n.configList[i]={...r,_id:a._id,_configName:r._configName||a._configName,_createdAt:a._createdAt,_updatedAt:Date.now()},this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===t&&this.syncConfigToPicBed(e,n.configList[i]),!0}deleteUploaderConfig(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`),n=this.ctx.getConfig("picBed.uploader")||this.ctx.getConfig("picBed.current")||"smms";if(1===r.configList.length&&e===n)return this.ctx.log.warn("Cannot delete the only config of the current uploader."),!1;const i=r.configList.findIndex(e=>e._id===t);return-1!==i&&(r.defaultId===t&&r.configList.length>1?(this.ctx.log.warn("Cannot delete the default config. Please set another config as default first."),!1):(r.configList.splice(i,1),r.defaultId===t&&(r.defaultId=r.configList.length>0?r.configList[0]._id:""),this.ctx.saveConfig({[`uploader.${e}`]:r}),0===r.configList.length&&this.ctx.removeConfig("picBed",e),this.ctx.log.info(`${e} is deleted everywhere.`),!0))}setDefaultConfig(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`),n=r.configList.find(e=>e._id===t);return!!n&&(r.defaultId=t,this.ctx.saveConfig({[`uploader.${e}`]:r}),this.syncConfigToPicBed(e,n),!0)}syncConfigToPicBed(e,t){this.ctx.saveConfig({[`picBed.${e}`]:t})}getConfigByName(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`)||{};return r?.configList?.find(e=>e._configName===t)||null}renameConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i=n.configList.find(e=>e._id===t);return!!i&&(i._configName=r,i._updatedAt=Date.now(),this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===t&&this.syncConfigToPicBed(e,i),!0)}}class Dn{ctx;db;constructor(e){if(this.ctx=e,this.db=new ie(this.ctx.configPath),!this.db.has("picBed"))try{this.db.set("picBed",{current:"smms",uploader:"smms",smms:{token:""}})}catch(e){throw this.ctx.log.error(e),e}if(!this.db.has("picgoPlugins"))try{this.db.set("picgoPlugins",{})}catch(e){throw this.ctx.log.error(e),e}this.read(!0)}read(e){return this.db.read(e)}getSingle(e=""){return""===e?this.db.read(!0):(this.read(!0),this.db.get(e))}get(e=""){return Array.isArray(e)?e.map(e=>this.getSingle(e)):this.getSingle(e)}set(e,t){this.read(!0),this.db.set(e,t)}has(e){return this.read(!0),this.db.has(e)}unset(e,t){return this.read(!0),this.db.unset(e,t)}saveConfig(e){Object.keys(e).forEach(t=>{this.set(t,e[t])})}removeConfig(e){Object.keys(e).forEach(t=>{this.unset(t,e[t])})}getConfigPath(){return this.ctx.configPath}}const mn="piclist-clipboard-images",fn={darwin:'-- From https://github.com/mushanshitiancai/vscode-paste-image\nproperty fileTypes : {{«class PNGf», ".png"}}\n\non run argv\n\tif argv is {} then\n\t\treturn ""\n\tend if\n\n\tif ((clipboard info) as string) contains "«class furl»" then\n\t\treturn POSIX path of (the clipboard as «class furl»)\n\telse\n\t\tset imagePath to (item 1 of argv)\n\t\tset theType to getType()\n\n\t\tif theType is not missing value then\n\t\t\ttry\n\t\t\t\tset myFile to (open for access imagePath with write permission)\n\t\t\t\tset eof myFile to 0\n\t\t\t\twrite (the clipboard as (first item of theType)) to myFile\n\t\t\t\tclose access myFile\n\t\t\t\treturn (POSIX path of imagePath)\n\t\t\ton error\n\t\t\t\ttry\n\t\t\t\t\tclose access myFile\n\t\t\t\tend try\n\t\t\t\treturn "no image"\n\t\t\tend try\n\t\telse\n\t\t\treturn "no image"\n\t\tend if\n\tend if\nend run\n\non getType()\n\trepeat with aType in fileTypes\n\t\trepeat with theInfo in (clipboard info)\n\t\t\tif (first item of theInfo) is equal to (first item of aType) then return aType\n\t\tend repeat\n\tend repeat\n\treturn missing value\nend getType\n',win32:'\r\nparam($imagePath)\r\n\r\n# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\n\r\nAdd-Type -Assembly PresentationCore\r\n$img = [Windows.Clipboard]::GetImage()\r\n\r\nif ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\nif (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\n$fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n$stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n$encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n$encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n$encoder.Save($stream) | out-null\r\n$stream.Dispose() | out-null\r\n\r\n$imagePath\r\n',win10:'# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\nparam($imagePath)\r\n\r\n# https://github.com/PowerShell/PowerShell/issues/7233\r\n# fix the output encoding bug\r\n[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding\r\n\r\nAdd-Type -Assembly PresentationCore\r\nfunction main {\r\n $img = [Windows.Clipboard]::GetImage()\r\n\r\n if ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n if (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n $fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n $stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n $encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n $encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n $encoder.Save($stream) | out-null\r\n $stream.Dispose() | out-null\r\n\r\n $imagePath\r\n # fix windows 10 native cmd crash bug when "picgo upload"\r\n # https://github.com/PicGo/PicGo-Core/issues/32\r\n Exit 1\r\n}\r\n\r\ntry {\r\n # For WIN10\r\n $file = Get-Clipboard -Format FileDropList\r\n if ($null -ne $file) {\r\n Convert-Path $file\r\n Exit 1\r\n }\r\n} catch {\r\n # For WIN7 WIN8 WIN10\r\n main\r\n}\r\n\r\nmain',linux:'#!/bin/sh\nif [ "$XDG_SESSION_TYPE" = "x11" ]; then\n # require xclip(see http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212)\n command -v xclip >/dev/null 2>&1 || { echo >&1 "no xclip"; exit 1; }\n # write image in clipboard to file (see http://unix.stackexchange.com/questions/145131/copy-image-from-clipboard-to-file)\n filePath=`xclip -selection clipboard -o 2>/dev/null | grep ^file:// | cut -c8-`\n if [ ! -n "$filePath" ] ;then\n if\n xclip -selection clipboard -target image/png -o >/dev/null 2>&1\n then\n xclip -selection clipboard -target image/png -o >$1 2>/dev/null\n echo $1\n else\n echo "no image"\n fi\n else\n echo $filePath\n fi\nelif [ "$XDG_SESSION_TYPE" = "wayland" ]; then\n command -v wl-paste >/dev/null 2>&1 || { echo >&1 "no wl-clipboard"; exit 1; }\n isImage=`wl-paste --list-types | grep image`\n if [ -n "$isImage" ]; then\n wl-paste --type image/png > $1 2>/dev/null\n echo $1\n else\n echo "no image"\n exit 1\n fi\nfi',wsl:'#!/bin/sh\n# grab the paths\nscriptPath=$(echo $0 | awk \'{ print substr( $0, 1, length($0)-6 ) }\')"windows10.ps1"\nimagePath=$(echo $1 | awk \'{ print substr( $0, 1, length($0)-18 ) }\')\nimageName=$(echo $1 | awk \'{ print substr( $0, length($0)-17, length($0) ) }\')\n\n# run the powershell script\nres=$(powershell.exe -noprofile -noninteractive -nologo -sta -executionpolicy unrestricted -file $(wslpath -w $scriptPath) $(wslpath -w $imagePath)"\\\\"$imageName)\n\n# note that there is a return symbol in powershell result\nnoImage=$(echo "no image\\r")\n\n# check whether image exists\nif [ "$res" = "$noImage" ] ;then\n echo "no image"\nelse\n echo $(wslpath -u -a "${res}")\nfi\n'},Ln={darwin:"mac.applescript",win32:"windows.ps1",win10:"windows10.ps1",linux:"linux.sh",wsl:"wsl.sh"};const hn=async e=>{!function(e){const r=t.join(e.baseDir,mn);s(r)}(e);const r=t.join(e.baseDir,mn,`${$().format("YYYYMMDDHHmmssSSS")}.png`);return await new Promise((n,a)=>{const s=(()=>{const e=process.platform;return se?"wsl":"win32"===e?"10"===R.release().split(".")[0]?"win10":"win32":"darwin"===e?"darwin":"linux"})(),o=t.join(e.baseDir,Ln[s]);let E;i.existsSync(o)||i.writeFileSync(o,fn[s],"utf8"),E="darwin"===s?ae("osascript",[o,r]):"win32"===s||"win10"===s?ae("powershell",["-noprofile","-noninteractive","-nologo","-sta","-executionpolicy","unrestricted","-file",o,r]):ae("sh",[o,r]),E.stdout.on("data",o=>{if("linux"===s&&"no xclip or wl-clipboard"===o.toString().trim())return e.emit(Xe.NOTIFICATION,{title:"xclip or wl-clipboard not found",body:"Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"}),a(new Error("Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"));const E=o.toString().trim();let S=!1;if(t.basename(E)!==t.basename(r)&&i.existsSync(E)&&(S=!0),"no image"!==E&&!i.existsSync(E))return a(new Error(`Can't find ${E}`));n({imgPath:E,shouldKeepAfterUploading:S})})})};class Bn extends e{_config;lifecycle;db;_pluginLoader;configPath;baseDir;helper;log;cmd;output;input;rawInput;processedInput;pluginHandler;configManager;Request;i18n;VERSION="2.3.1";GUI_VERSION;get pluginLoader(){return this._pluginLoader}constructor(e=""){super(),this.configPath=e,this.input=[],this.rawInput=[],this.processedInput=[],this.output=[],this.helper={transformer:new Yt("transformer"),uploader:new Yt("uploader"),beforeTransformPlugins:new Yt("beforeTransformPlugins"),beforeUploadPlugins:new Yt("beforeUploadPlugins"),afterUploadPlugins:new Yt("afterUploadPlugins")},this.initConfigPath(),this.log=new jt(this),this.cmd=new zt(this),this.pluginHandler=new qt(this),this.configManager=new Tn(this),this.initConfig()}static async create(e=""){const t=new Bn(e);return await t.init(),t}initConfigPath(){if(this.configPath=this.configPath||t.join(M(),".piclist/config.json"),".JSON"!==t.extname(this.configPath).toUpperCase())throw this.configPath="",Error("The configuration file only supports JSON format.");this.baseDir=t.dirname(this.configPath),E(this.configPath)||c(`${this.configPath}`)}initConfig(){this.db=new Dn(this),this.configManager=new Tn(this),this._config=this.db.read(!0)}async init(){try{this.i18n=new ct(this),this.Request=new nr(this),this._pluginLoader=new Qt(this),Vt("picgo"),dn().register(this),{register(e){e.helper.transformer.register("path",sr),e.helper.transformer.register("base64",ir)}}.register(this),Vt(""),await this._pluginLoader.load(),this.lifecycle=new _t(this)}catch(e){throw this.emit(Xe.UPLOAD_PROGRESS,-1),this.log.error(e),e}}async use(e,t){return t?(await this.pluginLoader.registerPlugin(t,e),await this.pluginLoader.getPlugin(t)):e(this)}registerCommands(){""!==this.configPath&&(this.cmd.init(),this.cmd.loadCommands())}getConfig(e){return this._config=this.db.read(!0),e?A(this._config,e):this._config}saveConfig(e){Ne(e)?(this.setConfig(e),this.db.saveConfig(e)):this.log.warn("the format of config is invalid, please provide object")}removeConfig(e,t){e&&t&&(Be(e)?this.log.warn(`the config.${e} can't be removed`):(this.unsetConfig(e,t),this.db.unset(e,t)))}setConfig(e){Ne(e)?Object.keys(e).forEach(t=>{Be(t)&&(this.log.warn(`the config.${t} can't be modified`),delete e[t]),C(this._config,t,e[t]),Zt.emit(Qe.CONFIG_CHANGE,{configName:t,value:e[t]})}):this.log.warn("the format of config is invalid, please provide object")}unsetConfig(e,t){e&&t&&(Be(e)?this.log.warn(`the config.${e} can't be unset`):d(this.getConfig(e),t))}get request(){return this.Request.request.bind(this.Request)}async upload(e){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),[];if(void 0!==e&&0!==e.length){const{output:t}=await this.lifecycle.start(e);return t}try{const{imgPath:e,shouldKeepAfterUploading:t}=await hn(this),r=()=>{t||P(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");{this.once(Xe.FAILED,r),this.once(Xe.FINISHED,r);const{output:t}=await this.lifecycle.start([e]);return t}}catch(e){throw this.emit(Xe.FAILED,e),e}}changeCurrentUploader(e,t){this.saveConfig({[`picBed.${e}`]:t,"picBed.uploader":e,"picBed.current":e})}async uploadReturnCtx(e){const t={output:[],backupOutput:[]};if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),t;const r=p(e||[]);let n=this.getConfig("settings.enableSecondUploader")||!1;const i=this.getConfig("picBed.secondUploader")||"",a=this.getConfig("picBed.secondUploaderConfig")||{};a&&0!==Object.keys(a).length||(n=!1);const s=this.lifecycle.getUploaderType(this);if(!s.config||0===Object.keys(s.config).length)return this.log.error("Current uploader config is empty, please check your settings"),t;a._id===s.id&&(this.log.info("The second uploader config is the same as the first uploader, skipping second upload."),n=!1);let o,E="",S="",I={imgPath:"",shouldKeepAfterUploading:!1},_=!1;if(void 0!==e&&0!==e.length)E="file",o=await this.lifecycle.start(e,!1),t.output=o.output;else{E="clipboard";try{I=await hn(this),S=I.imgPath,_=I.shouldKeepAfterUploading,n&&(_=!0);const e=()=>{_||P(S).catch(e=>{this.log.error(e)})};if("no image"===S)throw new Error("image not found in clipboard");this.once(Xe.FAILED,e),this.once(Xe.FINISHED,e),o=await this.lifecycle.start([S],!1),t.output=o.output}catch(e){throw this.emit(Xe.FAILED,e),e}}if(!n)return t;const l=this.getConfig("settings.secondPicBedMode");let c;if(!a||0===Object.keys(a).length)return this.log.error("Second uploader config is empty, please check your settings"),t;this.changeCurrentUploader(i,a);try{if("seperate"===l){if("clipboard"===E){const e=()=>{I.shouldKeepAfterUploading||P(S).catch(e=>{this.log.error(e)})};this.once(Xe.FAILED,e),this.once(Xe.FINISHED,e)}c=await this.lifecycle.start("file"===E?r:[I.imgPath],!1)}else c=await this.lifecycle.start(o.processedInput,!0);t.backupOutput=c.output}catch(e){this.log.error("Failed to upload to second uploader:",e)}finally{this.changeCurrentUploader(s.picBed,s.config||{})}return t}}export{zt as Commander,_t as Lifecycle,Yt as LifecyclePlugins,jt as Logger,Bn as PicGo,je as PicGoUtils,qt as PluginHandler,Qt as PluginLoader,nr as Request};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy9jb21tb24udHMiLCIuLi9zcmMvdXRpbHMvZW51bS50cyIsIi4uL3NyYy9jb3JlL0xpZmVjeWNsZS50cyIsIi4uL3NyYy91dGlscy9jcmVhdGVDb250ZXh0LnRzIiwiLi4vc3JjL2kxOG4vZW4udHMiLCIuLi9zcmMvaTE4bi9pbmRleC50cyIsIi4uL3NyYy9pMThuL3poLUNOLnRzIiwiLi4vc3JjL2kxOG4vemgtVFcudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvY29uZmlnLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL2NvbmZpZ01hbmFnZXIudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvaTE4bi50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9wbHVnaW5IYW5kbGVyLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3Byb3h5LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvdXRpbHMudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvdXRpbHMudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvc2V0dGluZy50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXRyYW5zZm9ybWVyL2NvbXByZXNzLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldHJhbnNmb3JtZXIvd2F0ZXJtYXJrLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldXBsb2FkL2J1aWxkSW5SZW5hbWUudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV0cmFuc2Zvcm1lci9za2lwUHJvY2Vzcy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci91cGxvYWQudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvdXNlLnRzIiwiLi4vc3JjL2xpYi9MaWZlY3ljbGVQbHVnaW5zLnRzIiwiLi4vc3JjL2xpYi9Db21tYW5kZXIudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvaW5kZXgudHMiLCIuLi9zcmMvbGliL0xvZ2dlci50cyIsIi4uL3NyYy9saWIvUGx1Z2luSGFuZGxlci50cyIsIi4uL3NyYy9saWIvUGx1Z2luTG9hZGVyLnRzIiwiLi4vc3JjL3V0aWxzL2V2ZW50QnVzLnRzIiwiLi4vc3JjL2xpYi9SZXF1ZXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdHJhbnNmb3JtZXIvYmFzZTY0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdHJhbnNmb3JtZXIvcGF0aC50cyIsIi4uL3NyYy9wbHVnaW5zL3RyYW5zZm9ybWVyL2luZGV4LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvYWR2YW5jZWRwbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2FsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvYWxpeXVuLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvczMvdXRpbHMudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9zMy91cGxvYWRlci50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2F3c3MzcGxpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9naXRodWIudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9pbWd1ci50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2xvY2FsLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvbHNreS50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3BpY2xpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9xaW5pdS50cyIsIi4uL3NyYy91dGlscy9zc2hDbGllbnQudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9zZnRwLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvc21tcy50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3RjeXVuLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvdXB5dW4udHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci93ZWJkYXYudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9pbmRleC50cyIsIi4uL3NyYy91dGlscy9jb25maWdNYW5hZ2VyLnRzIiwiLi4vc3JjL3V0aWxzL2RiLnRzIiwiLi4vc3JjL3V0aWxzL3N0YXRpYy50cyIsIi4uL3NyYy91dGlscy9nZXRDbGlwYm9hcmRJbWFnZS50cyIsIi4uL3NyYy9jb3JlL1BpY0dvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGxdLCJuYW1lcyI6WyJfX2Rpcm5hbWUiLCJkaXJuYW1lIiwiZmlsZVVSTFRvUGF0aCIsInVybCIsInJhbmRvbVN0cmluZ0dlbmVyYXRvciIsImxlbmd0aCIsIm91dCIsIkFycmF5IiwiaSIsInBvb2wiLCJiaXRzIiwiTWF0aCIsInJhbmRvbSIsImlkeCIsImpvaW4iLCJmb3JtYXRIZWxwZXIiLCJudW0iLCJ0b1N0cmluZyIsImdldE1kNSIsImlucHV0IiwiY3J5cHRvIiwiY3JlYXRlSGFzaCIsInVwZGF0ZSIsImRpZ2VzdCIsImdldFNoYTI1NiIsInJlbmFtZUZpbGVOYW1lV2l0aEN1c3RvbVN0cmluZyIsIm9sZE5hbWUiLCJjdXN0b21Gb3JtYXQiLCJhZmZpeEZpbGVOYW1lIiwiZmlsZUJ1ZmZlciIsIm5vdyIsIkRhdGUiLCJ5ZWFyIiwiZ2V0RnVsbFllYXIiLCJmaWxlYmFzZW5hbWUiLCJwYXRoIiwiYmFzZW5hbWUiLCJleHRuYW1lIiwiY29udmVyc2lvbk1hcCIsInNsaWNlIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwiZ2V0SG91cnMiLCJnZXRNaW51dGVzIiwiZ2V0U2Vjb25kcyIsImdldE1pbGxpc2Vjb25kcyIsInBhZFN0YXJ0IiwidXVpZHY0IiwicmVwbGFjZSIsImdldFRpbWUiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJrZXlzIiwic29tZSIsIml0ZW0iLCJpbmNsdWRlcyIsImV4dCIsIm5ld05hbWUiLCJyZWR1Y2UiLCJhY2MiLCJjdXIiLCJSZWdFeHAiLCJfIiwiZ3JvdXAxIiwicGFyc2VJbnQiLCJfcmVzdWx0Iiwia2V5IiwiY291bnQiLCJtYXgiLCJzcGxpdCIsInNlcCIsImEiLCJiIiwiaXNVcmwiLCJ0ZXN0IiwiaXNVcmxFbmNvZGUiLCJkZWNvZGVVUkkiLCJfZSIsImhhbmRsZVVybEVuY29kZSIsImVuY29kZVVSSSIsImdldEltYWdlU2l6ZSIsImZpbGUiLCJ3aWR0aCIsImhlaWdodCIsInR5cGUiLCJpbWFnZVNpemUiLCJyZWFsIiwiZ2V0RlNGaWxlIiwiYXN5bmMiLCJmaWxlUGF0aCIsImZpbGVOYW1lIiwiYnVmZmVyIiwiZnMiLCJyZWFkRmlsZSIsInN1Y2Nlc3MiLCJyZWFzb24iLCJnZXRVUkxGaWxlIiwiY3R4IiwidGltZW91dElkIiwicmVxdWVzdEZuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZXMiLCJyZXF1ZXN0IiwibWV0aG9kIiwicmVzb2x2ZVdpdGhGdWxsUmVzcG9uc2UiLCJyZXNwb25zZVR5cGUiLCJ0aGVuIiwicmVzcCIsImRhdGEiLCJjbGVhclRpbWVvdXQiLCJ1cmxQYXRoIiwiVVJMIiwicGF0aG5hbWUiLCJzZWFyY2hQYXJhbXMiLCJnZXQiLCJzdGFydHNXaXRoIiwiZXJyb3IiLCJtZXNzYWdlIiwiY2F0Y2giLCJ0aW1lb3V0UHJvbWlzZSIsInNldFRpbWVvdXQiLCJyYWNlIiwiZ2V0UGx1Z2luTmFtZVR5cGUiLCJuYW1lIiwiaXNTaW1wbGVOYW1lIiwibmFtZU9yUGF0aCIsImlzQWJzb2x1dGUiLCJwbHVnaW5QYXRoIiwicHJvY2VzcyIsImN3ZCIsImV4aXN0c1N5bmMiLCJoYW5kbGVDb21wbGV0ZVBsdWdpbk5hbWUiLCJzY29wZSIsImdldFByb2Nlc3NQbHVnaW5OYW1lIiwibG9nZ2VyIiwiY29uc29sZSIsImhhbmRsZVVuaXhTdHlsZVBhdGgiLCJ3YXJuIiwiZ2V0Tm9ybWFsUGx1Z2luTmFtZSIsInJlbW92ZVBsdWdpblZlcnNpb24iLCJwYWNrYWdlSlNPTlBhdGgiLCJwb3NpeCIsInBrZyIsInJlYWRKU09OU3luYyIsInBhdGhTdHIiLCJyZWciLCJtYXRjaEFyciIsIm1hdGNoIiwiY29uZmlnQmxhY2tMaXN0IiwiaXNDb25maWdLZXlJbkJsYWNrTGlzdCIsImJsYWNrSXRlbSIsImlzSW5wdXRDb25maWdWYWxpZCIsImNvbmZpZyIsImlzQXJyYXkiLCJzYWZlUGFyc2UiLCJzdHIiLCJKU09OIiwicGFyc2UiLCJmb3JjZU51bWJlciIsImlzTmFOIiwiTnVtYmVyIiwiaXNEZXYiLCJlbnYiLCJOT0RFX0VOViIsImRlZmF1bHRXYXRlcm1hcmtJbWFnZVBhdGgiLCJBZGRXYXRlcm1hcmsiLCJpbWciLCJ3YXRlcm1hcmtUeXBlIiwiZGVmYXVsdFdhdGVybWFya0ZvbnRQYXRoIiwiaXNGdWxsU2NyZWVuV2F0ZXJtYXJrIiwid2F0ZXJtYXJrRGVncmVlIiwidGV4dCIsIndhdGVybWFya0ZvbnRQYXRoIiwid2F0ZXJtYXJrU2NhbGVSYXRpbyIsIndhdGVybWFya0NvbG9yIiwid2F0ZXJtYXJrSW1hZ2VQYXRoIiwicG9zaXRpb24iLCJ3YXRlcm1hcmtJbWFnZU9wYWNpdHkiLCJpbWFnZSIsInNoYXJwIiwiYW5pbWF0ZWQiLCJpbWdXaWR0aCIsIm1ldGFkYXRhIiwid2F0ZXJtYXJrIiwiY29tcG9zaXRlIiwiQnVmZmVyIiwiZnJvbSIsInJhdyIsImNoYW5uZWxzIiwidGlsZSIsImJsZW5kIiwidG9CdWZmZXIiLCJjb2xvciIsImZvbnRGYW1pbHkiLCJvcHRpb25zIiwiYW5jaG9yIiwiYXR0cmlidXRlcyIsImZpbGwiLCJ0ZXh0U1ZHIiwiVGV4dFRvU1ZHIiwibG9hZFN5bmMiLCJnZXRTVkciLCJ0ZXh0MlNWRyIsIndhdGVybWFya1dpZHRoIiwid2F0ZXJtYXJrSGVpZ2h0IiwiZ2V0U2l6ZSIsIndhdGVybWFya1Jlc2l6ZVdpZHRoIiwiZmxvb3IiLCJ3YXRlcm1hcmtSZXNpemVIZWlnaHQiLCJyZXNpemUiLCJmaXQiLCJyb3RhdGUiLCJiYWNrZ3JvdW5kIiwiciIsImciLCJhbHBoYSIsImNyZWF0ZVdhdGVybWFyayIsImdyYXZpdHkiLCJ2YWxpZFBhcmFtIiwicGFyYW1zIiwiZXZlcnkiLCJwYXJhbSIsImF2YWlsYWJsZUNvbnZlcnRGb3JtYXRMaXN0IiwiaW1hZ2VGb3JtYXRMaXN0IiwidmFsaWRPdXRwdXRGb3JtYXQiLCJmb3JtYXQiLCJnZXRUcmVhdGVkV2F0ZXJNYXJrT3B0aW9ucyIsImdsb2JhbCIsImlkU3BlY2lmaWNDb25maWciLCJwaWNCZWQiLCJpZCIsImlzQWRkV2F0ZXJtYXJrIiwiaXNBZGRXYXRlcm1hcmtNYXAiLCJ3YXRlcm1hcmtUeXBlTWFwIiwiaXNGdWxsU2NyZWVuV2F0ZXJtYXJrTWFwIiwid2F0ZXJtYXJrRGVncmVlTWFwIiwid2F0ZXJtYXJrVGV4dCIsIndhdGVybWFya1RleHRNYXAiLCJ3YXRlcm1hcmtTY2FsZVJhdGlvTWFwIiwid2F0ZXJtYXJrQ29sb3JNYXAiLCJ3YXRlcm1hcmtJbWFnZVBhdGhNYXAiLCJ3YXRlcm1hcmtQb3NpdGlvbiIsIndhdGVybWFya1Bvc2l0aW9uTWFwIiwid2F0ZXJtYXJrSW1hZ2VPcGFjaXR5TWFwIiwiZ2V0VHJlYXRlZENvbXByZXNzT3B0aW9ucyIsInF1YWxpdHkiLCJxdWFsaXR5TWFwIiwiaXNDb252ZXJ0IiwiaXNDb252ZXJ0TWFwIiwiY29udmVydEZvcm1hdCIsImNvbnZlcnRGb3JtYXRNYXAiLCJpc1JlU2l6ZSIsImlzUmVTaXplTWFwIiwicmVTaXplSGVpZ2h0IiwicmVTaXplSGVpZ2h0TWFwIiwicmVTaXplV2lkdGgiLCJyZVNpemVXaWR0aE1hcCIsInNraXBSZVNpemVPZlNtYWxsSW1nIiwic2tpcFJlU2l6ZU9mU21hbGxJbWdNYXAiLCJpc1JlU2l6ZUJ5UGVyY2VudCIsImlzUmVTaXplQnlQZXJjZW50TWFwIiwicmVTaXplUGVyY2VudCIsInJlU2l6ZVBlcmNlbnRNYXAiLCJpc1JvdGF0ZSIsImlzUm90YXRlTWFwIiwicm90YXRlRGVncmVlIiwicm90YXRlRGVncmVlTWFwIiwiaXNSZW1vdmVFeGlmIiwiaXNSZW1vdmVFeGlmTWFwIiwiaXNGbGlwIiwiaXNGbGlwTWFwIiwiaXNGbG9wIiwiaXNGbG9wTWFwIiwiZm9ybWF0Q29udmVydE9iaiIsImZvcm1hdENvbnZlcnRPYmpNYXAiLCJpbWFnZUFkZFdhdGVyTWFyayIsImZvcm1hdE9wdGlvbnMiLCJpbWFnZUNvbXByZXNzIiwicmF3Rm9ybWF0Iiwibm9ybWFsaXplSW1hZ2VFeHQiLCJtaW4iLCJyb3VuZCIsImltYWdlV2lkdGgiLCJpbWFnZUhlaWdodCIsInNjYWxlUmF0aW8iLCJmbGlwIiwiZmxvcCIsIm5ld0Zvcm1hdCIsImdldENvbnZlcnRlZEZvcm1hdCIsInRvRm9ybWF0IiwibW96anBlZyIsInRvTG93ZXJDYXNlIiwiaXNOZWVkQWRkV2F0ZXJtYXJrIiwid2F0ZXJtYXJrT3B0aW9ucyIsImZpbGVFeHQiLCJpc05lZWRDb21wcmVzcyIsImNvbXByZXNzT3B0aW9ucyIsInJlbW92ZUV4aWYiLCJJTG9nVHlwZSIsIklCdWlsZEluRXZlbnQiLCJJQnVzRXZlbnQiLCJNRVNTQUdFUyIsIlBST0dSRVNTIiwiREVGQVVMVF9TS0lQX0VYVEVOU0lPTlMiLCJERUZBVUxUX1VQTE9BREVSIiwiTGlmZWN5Y2xlIiwiRXZlbnRFbWl0dGVyIiwidHRmUGF0aCIsImNvbnN0cnVjdG9yIiwic3VwZXIiLCJ0aGlzIiwiYmFzZURpciIsImluaXRpYWxpemVEaXJzIiwiZW5zdXJlRGlyU3luYyIsImdldENvbmZpZyIsImVtcHR5RGlyU3luYyIsImRvd25sb2FkVFRGIiwic3RhdFN5bmMiLCJzaXplIiwibG9nIiwiaW5mbyIsImF4aW9zIiwid3JpdGVGaWxlU3luYyIsImdldFByb2Nlc3NpbmdPcHRpb25zIiwiY29tcHJlc3NPcHRpb25zR2xvYmFsIiwid2F0ZXJtYXJrT3B0aW9uc0dsb2JhbCIsImJ1aWxkSW5MaXN0IiwidXBsb2FkZXJUeXBlIiwiZ2V0VXBsb2FkZXJUeXBlIiwiaWRTcGVjaWZpY0NvbXByZXNzQ29uZmlnIiwiZmluZCIsImNvbXByZXNzIiwiaWRTcGVjaWZpY1dhdGVybWFya0NvbmZpZyIsInBpY0JlZENvbmZpZyIsIl9pZCIsImdldFNraXBFeHRlbnNpb25zIiwic2tpcFByb2Nlc3NHbG9iYWwiLCJpZFNwZWNpZmljU2tpcFByb2Nlc3NDb25maWciLCJza2lwUHJvY2VzcyIsInNraXBQcm9jZXNzRXh0TGlzdCIsIm1hcCIsInRyaW0iLCJTZXQiLCJmb3JtYXR0ZWRJdGVtIiwic3RhcnQiLCJjb25maWdQYXRoIiwiY21kIiwib3V0cHV0IiwicmF3SW5wdXQiLCJwcm9jZXNzZWRJbnB1dCIsInBsdWdpbkxvYWRlciIsInBsdWdpbkhhbmRsZXIiLCJSZXF1ZXN0IiwiaGVscGVyIiwiVkVSU0lPTiIsIkdVSV9WRVJTSU9OIiwiaTE4biIsImNvbmZpZ01hbmFnZXIiLCJiaW5kIiwic2F2ZUNvbmZpZyIsInJlbW92ZUNvbmZpZyIsInNldENvbmZpZyIsInVuc2V0Q29uZmlnIiwidXBsb2FkIiwidXBsb2FkUmV0dXJuQ3R4IiwiYWRkTGlzdGVuZXIiLCJvbiIsIm9uY2UiLCJyZW1vdmVMaXN0ZW5lciIsIm9mZiIsInJlbW92ZUFsbExpc3RlbmVycyIsInNldE1heExpc3RlbmVycyIsImdldE1heExpc3RlbmVycyIsImxpc3RlbmVycyIsInJhd0xpc3RlbmVycyIsImVtaXQiLCJsaXN0ZW5lckNvdW50IiwicHJlcGVuZExpc3RlbmVyIiwicHJlcGVuZE9uY2VMaXN0ZW5lciIsImV2ZW50TmFtZXMiLCJjcmVhdGVDb250ZXh0IiwiRXJyb3IiLCJpbml0aWFsaXplQ29udGV4dCIsImhhbmRsZVNraXBQcm9jZXNzIiwiZXhlY3V0ZUxpZmVjeWNsZSIsImUiLCJoYW5kbGVFcnJvciIsInJhd0lucHV0UGF0aCIsImNsb25lRGVlcCIsImRvVXBsb2FkIiwiYWZ0ZXJVcGxvYWQiLCJwcmVwcm9jZXNzIiwiYmVmb3JlVHJhbnNmb3JtIiwiZG9UcmFuc2Zvcm0iLCJidWlsZEluUmVuYW1lIiwiYmVmb3JlVXBsb2FkIiwiRkFJTEVEIiwiVVBMT0FEX1BST0dSRVNTIiwic2tpcEV4dGVuc2lvbnMiLCJCRUZPUkVfVFJBTlNGT1JNIiwidGVtcEZpbGVQYXRoIiwicHJvY2Vzc0ltYWdlcyIsImluaXRpYWxpemVSYXdJbnB1dFBhdGhzIiwicHVzaCIsImFsbFNldHRsZWQiLCJpbmRleCIsInByb2Nlc3NJbWFnZSIsIml0ZW1Jc1VybCIsImV4dGVuc2lvbiIsInNob3VsZFNraXBFeHRlbnNpb24iLCJoYXMiLCJyZWFkRmlsZVN5bmMiLCJ0cmFuc2Zvcm1lZEJ1ZmZlciIsImFwcGx5UHJvY2Vzc2luZyIsInNhdmVQcm9jZXNzZWRJbWFnZSIsImNvbXByZXNzSW1hZ2UiLCJhZGRXYXRlcm1hcmsiLCJub3JtYWxpemVkRXh0ZW5zaW9uIiwiY29udmVydEhlaWNBbmRDb21wcmVzcyIsImhlaWNSZXN1bHQiLCJoZWljQ29udmVydCIsInRlbXBIZWljQ29udmVydEZpbGUiLCJuZXdFeHQiLCJ0ZW1wRmlsZSIsImdldEZpbGVCYXNlTmFtZSIsImdsb2JhbFJlbmFtZUNvbmZpZyIsInJlbmFtZUNvbmZpZyIsInJlbmFtZSIsImVuYWJsZSIsImJhc2U2NEltYWdlIiwiaGFuZGxlUGx1Z2lucyIsImJlZm9yZVRyYW5zZm9ybVBsdWdpbnMiLCJ0cmFuc2Zvcm1lciIsImN1cnJlbnRUcmFuc2Zvcm1lciIsImhhbmRsZSIsIkJFRk9SRV9VUExPQUQiLCJiZWZvcmVVcGxvYWRQbHVnaW5zIiwidXBsb2FkZXIiLCJjdXJyZW50VXBsb2FkZXIiLCJvdXRwdXRJbWciLCJBRlRFUl9VUExPQUQiLCJhZnRlclVwbG9hZFBsdWdpbnMiLCJtc2ciLCJpc0VuY29kZU91dHB1dFVSTCIsImltZ1VybCIsIkZJTklTSEVEIiwibGlmZUN5Y2xlUGx1Z2lucyIsInBsdWdpbnMiLCJnZXRMaXN0IiwicGx1Z2luTmFtZXMiLCJnZXRJZExpc3QiLCJsaWZlQ3ljbGVOYW1lIiwiZ2V0TmFtZSIsImFsbCIsInBsdWdpbiIsImxhbmd1YWdlTGlzdCIsIlVQTE9BRF9GQUlMRUQiLCJDSEVDS19TRVRUSU5HUyIsIkNIRUNLX1NFVFRJTkdTX0FORF9ORVRXT1JLIiwiVVBMT0FEX0ZBSUxFRF9SRUFTT04iLCJTRVJWRVJfRVJST1IiLCJBVVRIX0ZBSUxFRCIsIlBJQ0JFRF9TTU1TIiwiUElDQkVEX1NNTVNfVE9LRU4iLCJQSUNCRURfU01NU19NRVNTQUdFX1RPS0VOIiwiUElDQkVEX1NNTVNfQkFDS1VQRE9NQUlOIiwiUElDQkVEX1NNTVNfTUVTU0FHRV9CQUNLVVBfRE9NQUlOIiwiUElDQkVEX0FEVkFOQ0VEUExJU1QiLCJQSUNCRURfQURWQU5DRURQTElTVF9FTkRQT0lOVCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVRIT0QiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX01FVEhPRCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0ZPUk1EQVRBS0VZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9GT1JNREFUQUtFWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0hFQURFUlMiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0hFQURFUlMiLCJQSUNCRURfQURWQU5DRURQTElTVF9CT0RZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9CT0RZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfQ1VTVE9NUFJFRklYIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9DVVNUT01QUkVGSVgiLCJQSUNCRURfQURWQU5DRURQTElTVF9XRUJQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfUkVTREFUQVBBVEgiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX1JFU0RBVEFQQVRIIiwiUElDQkVEX0xPQ0FMIiwiUElDQkVEX0xPQ0FMX1BBVEgiLCJQSUNCRURfTE9DQUxfTUVTU0FHRV9QQVRIIiwiUElDQkVEX0xPQ0FMX0NVU1RPTVVSTCIsIlBJQ0JFRF9MT0NBTF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9MT0NBTF9XRUJQQVRIIiwiUElDQkVEX0xPQ0FMX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9BTElTVF9QTElTVCIsIlBJQ0JFRF9BTElTVF9VUkwiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VUkwiLCJQSUNCRURfQUxJU1RfVE9LRU4iLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9UT0tFTiIsIlBJQ0JFRF9BTElTVF9VU0VSTkFNRSIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1VTRVJOQU1FIiwiUElDQkVEX0FMSVNUX1BBU1NXT1JEIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfUEFTU1dPUkQiLCJQSUNCRURfQUxJU1RfVVBMT0FEUEFUSCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1VQTE9BRF9QQVRIIiwiUElDQkVEX0FMSVNUX1dFQlBBVEgiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9XRUJfUEFUSCIsIlBJQ0JFRF9BTElTVF9DVVNUT01VUkwiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfQUxJQ0xPVUQiLCJQSUNCRURfQUxJQ0xPVURfQUNDRVNTS0VZSUQiLCJQSUNCRURfQUxJQ0xPVURfQUNDRVNTS0VZU0VDUkVUIiwiUElDQkVEX0FMSUNMT1VEX0JVQ0tFVCIsIlBJQ0JFRF9BTElDTE9VRF9BUkVBIiwiUElDQkVEX0FMSUNMT1VEX1BBVEgiLCJQSUNCRURfQUxJQ0xPVURfV0VCUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9DVVNUT01VUkwiLCJQSUNCRURfQUxJQ0xPVURfT1BUSU9OUyIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX0FSRUEiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9QQVRIIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfVEVOQ0VOVENMT1VEIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9WRVJTSU9OIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TRUNSRVRJRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0VDUkVUS0VZIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9BUFBJRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQlVDS0VUIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9BUkVBIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9FTkRQT0lOVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfV0VCUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfT1BUSU9OUyIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQ1VTVE9NVVJMIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0FQUElEIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0FSRUEiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNX1RJUCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9DT05GSVJNIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNX0NBTkNFTCIsIlBJQ0JFRF9HSVRIVUIiLCJQSUNCRURfR0lUSFVCX1RPS0VOIiwiUElDQkVEX0dJVEhVQl9SRVBPIiwiUElDQkVEX0dJVEhVQl9QQVRIIiwiUElDQkVEX0dJVEhVQl9XRUJQQVRIIiwiUElDQkVEX0dJVEhVQl9CUkFOQ0giLCJQSUNCRURfR0lUSFVCX0NVU1RPTVVSTCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9SRVBPIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX0JSQU5DSCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9QQVRIIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1FJTklVIiwiUElDQkVEX1FJTklVX0FDQ0VTU0tFWSIsIlBJQ0JFRF9RSU5JVV9TRUNSRVRLRVkiLCJQSUNCRURfUUlOSVVfQlVDS0VUIiwiUElDQkVEX1FJTklVX1BBVEgiLCJQSUNCRURfUUlOSVVfVVJMIiwiUElDQkVEX1FJTklVX09QVElPTlMiLCJQSUNCRURfUUlOSVVfQVJFQSIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX1BBVEgiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9BUkVBIiwiUElDQkVEX1FJTklVX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX1VSTCIsIlBJQ0JFRF9JTUdVUiIsIlBJQ0JFRF9JTUdVUl9DTElFTlRJRCIsIlBJQ0JFRF9JTUdVUl9VU0VSTkFNRSIsIlBJQ0JFRF9JTUdVUl9BQ0NFU1NfVE9LRU4iLCJQSUNCRURfSU1HVVJfQUxCVU0iLCJQSUNCRURfSU1HVVJfUFJPWFkiLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9DTElFTlRJRCIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX1VTRVJOQU1FIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQUNDRVNTX1RPS0VOIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQUxCVU0iLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9QUk9YWSIsIlBJQ0JFRF9VUFlVTiIsIlBJQ0JFRF9VUFlVTl9CVUNLRVQiLCJQSUNCRURfVVBZVU5fT1BFUkFUT1IiLCJQSUNCRURfVVBZVU5fUEFTU1dPUkQiLCJQSUNCRURfVVBZVU5fUEFUSCIsIlBJQ0JFRF9VUFlVTl9VUkwiLCJQSUNCRURfVVBZVU5fT1BUSU9OUyIsIlBJQ0JFRF9VUFlVTl9FTkRQT0lOVCIsIlBJQ0JFRF9VUFlVTl9BTlRJTEVFQ0hUT0tFTiIsIlBJQ0JFRF9VUFlVTl9FWFBJUkVUSU1FIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfT1BFUkFUT1IiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9QQVNTV09SRCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX1VSTCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9QQVRIIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfV0VCREFWUExJU1QiLCJQSUNCRURfV0VCREFWUExJU1RfSE9TVCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9TU0xFTkFCTEVEIiwiUElDQkVEX1dFQkRBVlBMSVNUX1VTRVJOQU1FIiwiUElDQkVEX1dFQkRBVlBMSVNUX1BBU1NXT1JEIiwiUElDQkVEX1dFQkRBVlBMSVNUX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfV0VCUEFUSCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9DVVNUT01VUkwiLCJQSUNCRURfV0VCREFWUExJU1RfQVVUSFRZUEUiLCJQSUNCRURfV0VCREFWUExJU1RfT1BUSU9OUyIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX0hPU1QiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9TU0xFTkFCTEVEIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfVVNFUk5BTUUiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9QQVNTV09SRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9XRUJTSVRFX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1NGVFBQTElTVCIsIlBJQ0JFRF9TRlRQUExJU1RfSE9TVCIsIlBJQ0JFRF9TRlRQUExJU1RfUE9SVCIsIlBJQ0JFRF9TRlRQUExJU1RfVVNFUk5BTUUiLCJQSUNCRURfU0ZUUFBMSVNUX1BBU1NXT1JEIiwiUElDQkVEX1NGVFBQTElTVF9QUklWQVRFS0VZIiwiUElDQkVEX1NGVFBQTElTVF9QUklWQVRFS0VZX1BBU1NQSFJBU0UiLCJQSUNCRURfU0ZUUFBMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX0NVU1RPTVVSTCIsIlBJQ0JFRF9TRlRQUExJU1RfV0VCU0lURV9QQVRIIiwiUElDQkVEX1NGVFBQTElTVF9GSUxFX1VTRVIiLCJQSUNCRURfU0ZUUFBMSVNUX0ZJTEVfTU9ERSIsIlBJQ0JFRF9TRlRQUExJU1RfRElSX01PREUiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfSE9TVCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9QT1JUIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1BSSVZBVEVLRVkiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfUFJJVkFURUtFWV9QQVNTUEhSQVNFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1VQTE9BRFBBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1dFQlNJVEVfUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9GSUxFX1VTRVIiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfRklMRV9NT0RFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0RJUl9NT0RFIiwiUElDQkVEX1BJQ0xJU1QiLCJQSUNCRURfUElDTElTVF9IT1NUIiwiUElDQkVEX1BJQ0xJU1RfUE9SVCIsIlBJQ0JFRF9QSUNMSVNUX1BJQ0JFRCIsIlBJQ0JFRF9QSUNMSVNUX0NPTkZJR05BTUUiLCJQSUNCRURfUElDTElTVF9LRVkiLCJQSUNCRURfTFNLWV9QTElTVCIsIlBJQ0JFRF9MU0tZX1ZFUlNJT04iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1ZFUlNJT04iLCJQSUNCRURfTFNLWV9IT1NUIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9IT1NUIiwiUElDQkVEX0xTS1lfVE9LRU4iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1RPS0VOIiwiUElDQkVEX0xTS1lfU1RSQVRFR1lfSUQiLCJQSUNCRURfTFNLWV9NRVNTQUdFX1NUUkFURUdZX0lEIiwiUElDQkVEX0xTS1lfQUxCVU1fSUQiLCJQSUNCRURfTFNLWV9NRVNTQUdFX0FMQlVNX0lEIiwiUElDQkVEX0xTS1lfUEVSTUlTU0lPTiIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfUEVSTUlTU0lPTiIsIlBJQ0JFRF9BV1NTM1BMSVNUIiwiUElDQkVEX0FXU1MzUExJU1RfQUNDRVNTS0VZSUQiLCJQSUNCRURfQVdTUzNQTElTVF9TRUNSRVRfQUNDRVNTS0VZIiwiUElDQkVEX0FXU1MzUExJU1RfQlVDS0VUIiwiUElDQkVEX0FXU1MzUExJU1RfUkVHSU9OIiwiUElDQkVEX0FXU1MzUExJU1RfVVBMT0FEUEFUSCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0VORFBPSU5UIiwiUElDQkVEX0FXU1MzUExJU1RfUFJPWFkiLCJQSUNCRURfQVdTUzNQTElTVF9VUkxQUkVGSVgiLCJQSUNCRURfQVdTUzNQTElTVF9PUFRJT05TIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX0FXU1MzUExJU1RfUEFUSFNUWUxFQUNDRVNTIiwiUElDQkVEX0FXU1MzUExJU1RfUkVKRUNUVU5BVVRIT1JJWkVEIiwiUElDQkVEX0FXU1MzUExJU1RfQUNMIiwiUElDQkVEX0FXU1MzUExJU1RfRElTQUJMRUJVQ0tFVFBSRUZJWFRPVVJMIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9BQ0NFU1NLRVlJRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfU0VDUkVUX0FDQ0VTU0tFWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQlVDS0VUIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9SRUdJT04iLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1VQTE9BRFBBVEgiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9QUk9YWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfVVJMUFJFRklYIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9QQVRIU1RZTEVBQ0NFU1MiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1JFSkVDVFVOQVVUSE9SSVpFRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQUNMIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9ESVNBQkxFQlVDS0VUUFJFRklYVE9VUkwiLCJCVUlMRElOX1dBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX0lTQUREV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9JU0FERFdBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1RZUEUiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS1RZUEUiLCJCVUlMRElOX1dBVEVSTUFSS19JU0ZVTExTQ1JFRU5XQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX0lTRlVMTFNDUkVFTldBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0RFR1JFRSIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLREVHUkVFIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLVEVYVCIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLVEVYVCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0ZPTlRQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1NDQUxFUkFUSU8iLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0ZPTlRSQVRJTyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0NPTE9SIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UQ09MT1IiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktJTUFHRVBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0lNQUdFUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1BPU0lUSU9OIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktQT1NJVElPTiIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0lNQUdFT1BBQ0lUWSIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLSU1BR0VPUEFDSVRZIiwiQlVJTERJTl9TS0lQUFJPQ0VTUyIsIkJVSUxESU5fU0tJUFBST0NFU1NfU0tJUFBST0NFU1NFWFRMSVNUIiwiQlVJTERJTl9SRU5BTUUiLCJCVUlMRElOX1JFTkFNRV9GT1JNQVQiLCJCVUlMRElOX1JFTkFNRV9FTkFCTEUiLCJCVUlMRElOX0NPTVBSRVNTIiwiQlVJTERJTl9DT01QUkVTU19RVUFMSVRZIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1FVQUxJVFkiLCJCVUlMRElOX0NPTVBSRVNTX0lTQ09OVkVSVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU0NPTlZFUlQiLCJCVUlMRElOX0NPTVBSRVNTX0NPTlZFUlRGT1JNQVQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfQ09OVkVSVEZPUk1BVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNSRVNJWkUiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRVNJWkUiLCJCVUlMRElOX0NPTVBSRVNTX1JFU0laRVdJRFRIIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JFU0laRVdJRFRIIiwiQlVJTERJTl9DT01QUkVTU19SRVNJWkVIRUlHSFQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUkVTSVpFSEVJR0hUIiwiQlVJTERJTl9DT01QUkVTU19JU1JFU0laRUJZUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JFU0laRUJZUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNGTElQIiwiQlVJTERJTl9DT01QUkVTU19JU0ZMT1AiLCJCVUlMRElOX0NPTVBSRVNTX1JFU0laRVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUkVTSVpFUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfU0tJUFJFU0laRU9GU01BTExJTUciLCJCVUlMRElOX0NPTVBSRVNTX0lTUk9UQVRFIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUk9UQVRFIiwiQlVJTERJTl9DT01QUkVTU19ST1RBVEVERUdSRUUiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUk9UQVRFREVHUkVFIiwiQlVJTERJTl9DT01QUkVTU19JU1JFTU9WRUVYSUYiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRU1PVkVFWElGIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfU1VDQ0VTUyIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX0ZBSUxFRF9SRUFTT04iLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9GQUlMRURfUEFUSCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfU1VDQ0VTUyIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfRkFJTEVEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9GQUlMRURfUkVBU09OIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9GQUlMRURfVkFMSUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX1NVQ0NFU1MiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfRkFJTEVEX1JFQVNPTiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfRkFJTEVEX1ZBTElEIiwiZW4iLCJJMThuTWFuYWdlciIsIm9iamVjdEFkYXB0ZXIiLCJPYmplY3RBZGFwdGVyIiwibGFuZ3VhZ2UiLCJJMThuIiwiYWRhcHRlciIsImRlZmF1bHRMYW5ndWFnZSIsImxvYWRPdXR0ZXJJMThuIiwiaTE4bkZvbGRlciIsImdldE91dHRlckkxOG5Gb2xkZXIiLCJyZWFkZGlyU3luYyIsIndpdGhGaWxlVHlwZXMiLCJmb3JFYWNoIiwiaXNGaWxlIiwiZW5kc1dpdGgiLCJpMThuRmlsZVBhdGgiLCJpMThuRmlsZSIsImkxOG5GaWxlT2JqIiwieWFtbCIsImxvYWQiLCJwYXRoRXhpc3RzU3luYyIsInRyYW5zbGF0ZSIsImFyZ3MiLCJzZXRMYW5ndWFnZSIsImFkZExvY2FsZSIsImxvY2FsZXMiLCJvcmlnaW5Mb2NhbGVzIiwiZ2V0TG9jYWxlIiwibmV3TG9jYWxlcyIsIm1lcmdlIiwic2V0TG9jYWxlIiwiYWRkTGFuZ3VhZ2UiLCJnZXRMYW5ndWFnZUxpc3QiLCJwcm9ncmFtIiwib3B0aW9uIiwiY29uZmlnQ21kIiwiY29tbWFuZCIsImRlc2NyaXB0aW9uIiwiYXJndW1lbnRzIiwiYWN0aW9uIiwiY29uZmlncyIsImdldEFsbFVwbG9hZGVyQ29uZmlncyIsImRlZmF1bHRDb25maWciLCJnZXRDdXJyZW50VXBsb2FkZXJDb25maWciLCJtYXJrZXIiLCJfY29uZmlnTmFtZSIsImNvbmZpZ05hbWUiLCJnZXRDb25maWdCeU5hbWUiLCJzZXREZWZhdWx0Q29uZmlnIiwicHJvbXB0cyIsImRlZmF1bHQiLCJpbnF1aXJlciIsInByb21wdCIsImNvbmZpcm0iLCJkZWxldGVVcGxvYWRlckNvbmZpZyIsIl9jcmVhdGVkQXQiLCJ0b0xvY2FsZVN0cmluZyIsIl91cGRhdGVkQXQiLCJ2YWx1ZSIsImRpc3BsYXlWYWx1ZSIsInN0cmluZ2lmeSIsImxhbmciLCJsaXN0IiwiY2hvaWNlcyIsImNyZWF0ZUNvbW1hbmQiLCJhbGlhcyIsInByb3h5IiwicmVnaXN0cnkiLCJpbnN0YWxsIiwidW5pbnN0YWxsIiwiZm9ybWF0UGF0aEhlbHBlciIsInN0YXJ0U2xhc2giLCJlbmRTbGFzaCIsInJvb3RUb0VtcHR5IiwiY2xlYW5QYXRoIiwiZW5jb2RlUGF0aCIsInAiLCJlbmNvZGVVUklDb21wb25lbnQiLCJidWlsZEluVXBsb2FkZXJOYW1lcyIsImNyZWF0ZUZpZWxkIiwicGljQmVkTmFtZSIsImRlZmF1bHRWYWx1ZSIsInJlcXVpcmVkIiwiaTE4blByZWZpeCIsImV4dHJhcyIsInByZWZpeCIsInRvVXBwZXJDYXNlIiwidXBsb2FkZXJUcmFuc2xhdG9ycyIsImFkdmFuY2VkcGxpc3QiLCJhbGlzdHBsaXN0IiwiYWxpeXVuIiwiZ2l0aHViIiwiaW1ndXIiLCJsb2NhbCIsImxza3lwbGlzdCIsInBpY2xpc3QiLCJxaW5pdSIsInNmdHBwbGlzdCIsInNtbXMiLCJ0Y3l1biIsInVweXVuIiwid2ViZGF2cGxpc3QiLCJCVUlMRElOX01PRFVMRVMiLCJ1c2VyQ29uZmlnIiwiaGFuZGxlQ29uZmlnIiwibW9kdWxlIiwidXBsb2FkZXJOYW1lIiwiYW5zd2VyIiwiY29uZmlnS2V5IiwiZ2V0Q29uZmlnTmFtZSIsImFjdHVhbENvbmZpZ05hbWUiLCJleGlzdGluZ0NvbmZpZyIsInVwZGF0ZVVwbG9hZGVyQ29uZmlnIiwibmV3Q29uZmlnIiwiYWRkVXBsb2FkZXJDb25maWciLCJjb25maWdMaXN0IiwiaWRPZkNvbmZpZ05hbWUiLCJleGlzdGluZ0VudHJ5SW5kZXgiLCJmaW5kSW5kZXgiLCJidWlsZGluIiwic2V0dGluZyIsImVudHJpZXMiLCJzZWxlY3RlZE1vZHVsZSIsImhhbmRsZUJ1aWxkaW5Nb2R1bGUiLCJoYW5kbGVVcGxvYWRlck9yVHJhbnNmb3JtZXIiLCJwbHVnaW5OYW1lIiwiZ2V0UGx1Z2luIiwiZ2V0RnVsbExpc3QiLCJoYW5kbGVQbHVnaW4iLCJhcmd2IiwiaW5wdXRMaXN0IiwiZmlsdGVyIiwiZXhpc3QiLCJ1c2UiLCJwaWNnb1BsdWdpbnMiLCJMaWZlY3ljbGVQbHVnaW5zIiwic3RhdGljIiwicGx1Z2luSWRNYXAiLCJNYXAiLCJyZWdpc3RlciIsIlR5cGVFcnJvciIsInNldCIsImN1cnJlbnRQbHVnaW4iLCJ1bnJlZ2lzdGVyIiwicGx1Z2luTGlzdCIsImRlbGV0ZSIsInZhbHVlcyIsInNldEN1cnJlbnRQbHVnaW5OYW1lIiwiQ29tbWFuZGVyIiwiQ29tbWFuZCIsImluaXQiLCJ2ZXJzaW9uIiwiZGVidWciLCJzaWxlbnQiLCJleGl0IiwiY3VycmVudFBsdWdpbk5hbWUiLCJsb2FkQ29tbWFuZHMiLCJMb2dnZXIiLCJsZXZlbCIsImxvZ0xldmVsIiwibG9nUGF0aCIsImhhbmRsZUxvZyIsImNoZWNrTG9nTGV2ZWwiLCJsb2dIZWFkZXIiLCJjaGFsayIsInJlc3VsdCIsImNoZWNrTG9nRmlsZUlzTGFyZ2UiLCJpc0xhcmdlIiwid2FybmluZ01zZyIsImxvZ0ZpbGVTaXplTGltaXQiLCJ5ZWxsb3ciLCJyZWNyZWF0ZUxvZ0ZpbGUiLCJ1bnNoaWZ0IiwiaGFuZGxlV3JpdGVMb2ciLCJsb2dGaWxlU2l6ZSIsInVubGlua1N5bmMiLCJjcmVhdGVGaWxlU3luYyIsImRheWpzIiwidXRpbCIsInN0YWNrIiwiYXBwZW5kRmlsZVN5bmMiLCJQbHVnaW5IYW5kbGVyIiwiaW5zdGFsbGVkUGx1Z2lucyIsInByb2Nlc3NQbHVnaW5zIiwiaGFuZGxlUGx1Z2luTmFtZVByb2Nlc3MiLCJoYXNQbHVnaW4iLCJwa2dOYW1lIiwiZnVsbE5hbWVMaXN0IiwiZnVsbE5hbWUiLCJwa2dOYW1lTGlzdCIsImV4ZWNDb21tYW5kIiwiY29kZSIsImVyciIsInRpdGxlIiwiYm9keSIsInJlZ2lzdGVyUGx1Z2luIiwidW5yZWdpc3RlclBsdWdpbiIsIm1vZHVsZXMiLCJ3aGVyZSIsImNvbmNhdCIsIm5wbSIsInNwYXduIiwic3Rkb3V0IiwicGlwZSIsInN0ZGVyciIsIlBsdWdpbkxvYWRlciIsImZ1bGxMaXN0IiwicGx1Z2luTWFwIiwicGFja2FnZVBhdGgiLCJyZXBvc2l0b3J5IiwibGljZW5zZSIsInJlc29sdmVQbHVnaW4iLCJzeW5jIiwiYmFzZWRpciIsInBsdWdpbkRpciIsImpzb24iLCJkZXBzIiwiZGVwZW5kZW5jaWVzIiwiZGV2RGVwcyIsImRldkRlcGVuZGVuY2llcyIsImFkZCIsInBsdWdpbkludGVyZmFjZSIsIk5PVElGSUNBVElPTiIsInBhY2thZ2VKc29uUGF0aCIsInBhY2thZ2VKc29uIiwibWFpbiIsInBvc3NpYmxlRW50cmllcyIsImVudHJ5IiwiZW50cnlQYXRoIiwicGx1Z2luVXJsIiwicGF0aFRvRmlsZVVSTCIsImhyZWYiLCJtb2QiLCJpbXBvcnQiLCJldmVudEJ1cyIsImh0dHBzQWdlbnQiLCJodHRwcyIsIkFnZW50IiwibWF4VmVyc2lvbiIsIm1pblZlcnNpb24iLCJyZWplY3RVbmF1dGhvcml6ZWQiLCJhcHBlbmRGb3JtRGF0YSIsImZvcm0iLCJhcHBlbmQiLCJyZXNwb25zZUludGVyY2VwdG9yIiwicmVzcG9uc2UiLCJzdGF0dXNDb2RlIiwic3RhdHVzIiwicmVzcG9uc2VFcnJvckhhbmRsZXIiLCJlcnJvck9iaiIsIkNPTkZJR19DSEFOR0UiLCJoYW5kbGVQcm94eSIsInByb3h5T3B0aW9ucyIsImhvc3QiLCJob3N0bmFtZSIsInBvcnQiLCJwcm90b2NvbCIsImhlYWRlcnMiLCJtYXhCb2R5TGVuZ3RoIiwiSW5maW5pdHkiLCJtYXhDb250ZW50TGVuZ3RoIiwiaHR0cHNPdmVySHR0cCIsImluc3RhbmNlIiwiY3JlYXRlIiwiaW50ZXJjZXB0b3JzIiwib3B0IiwiX19pc09sZE9wdGlvbnMiLCJGb3JtRGF0YSIsImZvcm1EYXRhIiwiYXNzaWduIiwiZ2V0SGVhZGVycyIsInFzIiwicmVxdWVzdEludGVyY2VwdG9yIiwib2JqIiwiY29udGVudFR5cGUiLCJDb250ZW50VHlwZSIsIkltZ0Zyb21CYXNlNjQiLCJnZXRJbWdTaXplIiwiSW1nRnJvbVBhdGgiLCJyZXN1bHRzIiwiaXNCdWZmZXIiLCJpbWdTaXplIiwibWltZVR5cGUiLCJtaW1lIiwiZ2V0VHlwZSIsInBvc3RPcHRpb25zIiwiZW5kcG9pbnQiLCJmb3JtRGF0YUtleSIsImZpbGVuYW1lIiwiYWR2YW5jZWRwbGlzdENvbmZpZyIsImltZ0xpc3QiLCJwb3N0Q29uZmlnIiwiaW1hZ2VVcmwiLCJyZXNEYXRhUGF0aCIsIndlYlBhdGgiLCJwb3AiLCJjdXN0b21QcmVmaXgiLCJjcmVhdGVDb25maWdGaWVsZCIsInRva2VuIiwiQXV0aG9yaXphdGlvbiIsImhhbmRsZVJlc0Vycm9yIiwiY3JlYXRlQXBpUmVxdWVzdCIsImV4dHJhY3RDb25maWciLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwidXBsb2FkUGF0aCIsImN1c3RvbVVybCIsImFsaXN0Q29uZmlnIiwidG9rZW5TdG9yZSIsInJlZnJlc2hlZEF0IiwicG9zdCIsImdldEFsaXN0VG9rZW4iLCJmdWxsVXBsb2FkUGF0aCIsInVwbG9hZFJlcyIsInJlZnJlc2hSZXMiLCJwYWdlIiwicGVyX3BhZ2UiLCJyZWZyZXNoIiwiZ2V0SW5mb1JlcyIsInNpZ24iLCJlbmNvZGVkUGF0aCIsImdldEN1cnJlbnRVVENEYXRlIiwidG9VVENTdHJpbmciLCJnZW5lcmF0ZVNpZ25hdHVyZSIsImRhdGUiLCJzaWduU3RyaW5nIiwiYnVja2V0Iiwic2lnbmF0dXJlIiwiY3JlYXRlSG1hYyIsImFjY2Vzc0tleVNlY3JldCIsImFjY2Vzc0tleUlkIiwiYXJlYSIsIkhvc3QiLCJhbGlZdW5PcHRpb25zIiwidXJsT3B0aW9ucyIsIkZpbGVOYW1lR2VuZXJhdG9yIiwibW9udGgiLCJkYXkiLCJleHROYW1lIiwibWQ1IiwiaW1nQnVmZmVyIiwibWQ1QjY0IiwibWQ1QjY0U2hvcnQiLCJzaGExIiwic2hhMjU2IiwidGltZXN0YW1wIiwidGltZXN0YW1wTVMiLCJmb3JtYXRQYXRoIiwiZmlsZU5hbWVHZW5lcmF0b3IiLCJmaWVsZHMiLCJyZSIsImdldFByb3h5QWdlbnQiLCJzc2xFbmFibGVkIiwiZm9ybWF0ZWRQcm94eSIsImZvcm1hdEh0dHBQcm94eVVSTCIsIkh0dHBzUHJveHlBZ2VudCIsIkh0dHBQcm94eUFnZW50Iiwia2VlcEFsaXZlIiwia2VlcEFsaXZlTXNlY3MiLCJzY2hlZHVsaW5nIiwiZ2V0RmlsZVVSTCIsIm9wdHMiLCJlVGFnIiwidmVyc2lvbklkIiwic2lnbmVkVXJsIiwiZ2V0U2lnbmVkVXJsIiwiY2xpZW50IiwiR2V0T2JqZWN0Q29tbWFuZCIsIkJ1Y2tldCIsImJ1Y2tldE5hbWUiLCJLZXkiLCJJZk1hdGNoIiwiVmVyc2lvbklkIiwiZXhwaXJlc0luIiwidXJsT2JqZWN0Iiwic2VhcmNoIiwiY3JlYXRlUzNDbGllbnQiLCJodHRwSGFuZGxlck9wdHMiLCJodHRwQWdlbnQiLCJjbGllbnRPcHRpb25zIiwicmVnaW9uIiwiY3JlZGVudGlhbHMiLCJhY2Nlc3NLZXlJRCIsInNlY3JldEFjY2Vzc0tleSIsInRscyIsImZvcmNlUGF0aFN0eWxlIiwicGF0aFN0eWxlQWNjZXNzIiwicmVxdWVzdEhhbmRsZXIiLCJOb2RlSHR0cEhhbmRsZXIiLCJTM0NsaWVudCIsImNyZWF0ZVVwbG9hZFRhc2siLCJjb250ZW50RW5jb2RpbmciLCJmaWxlVHlwZSIsImZpbGVUeXBlRnJvbUJ1ZmZlciIsImV4dHJhY3RJbmZvIiwiUHV0T2JqZWN0Q29tbWFuZCIsIkFDTCIsImFjbCIsIkJvZHkiLCJDb250ZW50RW5jb2RpbmciLCJzZW5kIiwidXJsUHJlZml4IiwiRVRhZyIsImltZ1VSTCIsImZvcm1hdERpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsImRpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsIkJvb2xlYW4iLCJ0YXNrIiwiYnVpbGRHaXRodWJBcGlVcmwiLCJyZXBvIiwiZXh0cmEiLCJnZXRPcHRpb25zIiwiYnJhbmNoIiwiZ2l0aHViT3B0aW9ucyIsImNvbnRlbnQiLCJkb3dubG9hZF91cmwiLCJoYXNoIiwic2hhIiwiaW1nQmFzZTY0IiwiY2xpZW50SWQiLCJhY2Nlc3NUb2tlbiIsImZvcm1hdEFjY2Vzc1Rva2VuIiwiYWxidW0iLCJhdXRob3JpemF0aW9uIiwicmVxdWVzdE9wdGlvbnMiLCJpbml0UGFnZXMiLCJhbGJ1bUhhc2giLCJnZXRBbGJ1bUhhc2hPcHRpb25zIiwidGltZW91dCIsImFsYnVtTGlzdCIsImltZ3VyT3B0aW9ucyIsImxpbmsiLCJkZWxldGVoYXNoIiwibG9jYWxDb25maWciLCJpbWdUZW1wUGF0aCIsImZpbGVJbWdUZW1wUGF0aCIsImZpbGVVcGxvYWRQYXRoIiwiY29weUZpbGVTeW5jIiwiZ2FsbGVyeVBhdGgiLCJpc1YyIiwidjFIZWFkZXJzIiwiQ29ubmVjdGlvbiIsInYxRm9ybURhdGEiLCJzc2wiLCJ2MkhlYWRlcnMiLCJBY2NlcHQiLCJzdHJhdGVneUlkIiwiYWxidW1JZCIsInBlcm1pc3Npb24iLCJ2MkZvcm1EYXRhIiwic3RyYXRlZ3lfaWQiLCJhbGJ1bV9pZCIsImFnZW50IiwibHNreU9wdGlvbnMiLCJsaW5rcyIsInBpY2JlZCIsInNlcnZlcktleSIsImlzSXAiLCJmb3JtYXRIb3N0IiwicGljbGlzdE9wdGlvbnMiLCJmdWxsUmVzdWx0Iiwic2VsZWN0QXJlYSIsImdldFRva2VuIiwicWluaXVPcHRpb25zIiwiYWNjZXNzS2V5Iiwic2VjcmV0S2V5IiwibWFjIiwiYXV0aCIsIk1hYyIsInJzIiwiUHV0UG9saWN5IiwidXBsb2FkVG9rZW4iLCJiYXNlVXJsIiwiU1NIQ2xpZW50IiwiTm9kZVNTSCIsImlzQ29ubmVjdGVkIiwiZ2V0SW5zdGFuY2UiLCJjaGFuZ2VXaW5TdHlsZVBhdGhUb1VuaXgiLCJjb25uZWN0IiwicHJpdmF0ZUtleSIsInBhc3NwaHJhc2UiLCJsb2dpbkluZm8iLCJwcml2YXRlS2V5UGF0aCIsInJlbW90ZSIsIm1rZGlyIiwicHV0RmlsZSIsImZpbGVNb2RlIiwiZXhlYyIsImRpclBhdGgiLCJkaXJlY3RvcnlNb2RlIiwiZGlyTW9kZSIsImRpcnMiLCJjdXJyZW50UGF0aCIsImRpciIsInNjcmlwdCIsImNob3duIiwidXNlciIsImdyb3VwIiwiX3VzZXIiLCJfZ3JvdXAiLCJjbG9zZSIsImRpc3Bvc2UiLCJzZnRwcGxpc3RDb25maWciLCJ1cGxvYWRUZW1wUGF0aCIsIm91dHB1dEZpbGVTeW5jIiwicmVtb3RlUGF0aCIsImZpbGVVc2VyIiwiaW1nVGVtcEZpbGVQYXRoIiwicmVtb3ZlU3luYyIsIm1vdmVTeW5jIiwiYXBpVG9rZW4iLCJkb21haW4iLCJzbWZpbGUiLCJzbW1zQ29uZmlnIiwiYmFja3VwRG9tYWluIiwiaW1hZ2VCdWZmZXIiLCJpbWFnZXMiLCJlcnJvck1zZyIsInVwbG9hZEhpc3RvcnkiLCJtYXRjaGVkSW1hZ2UiLCJzZWNyZXRJZCIsImFwcElkIiwic2lnblRpbWUiLCJjdXJyZW50IiwibXVsdGlTaWduYXR1cmUiLCJzaWduSGV4S2V5IiwidGVtcFN0cmluZyIsInRvZGF5Iiwic2lnbktleSIsImh0dHBTdHJpbmciLCJzdHJpbmdUb1NpZ24iLCJ1c2VyQWdlbnQiLCJvcCIsImZpbGVjb250ZW50IiwidGNZdW5PcHRpb25zIiwidXNlVjQiLCJvcHRpb25VcmwiLCJzbGltIiwic291cmNlX3VybCIsImNvbmZpcm1UZXh0IiwiY2FuY2VsVGV4dCIsInRpcHMiLCJERUZBVUxUX0VORFBPSU5UIiwidXB5dW5PcHRpb25zIiwib3BlcmF0b3IiLCJtZDVQYXNzd29yZCIsInN1ZmZpeCIsImFudGlMZWVjaFRva2VuIiwiYWRkQW50aUxlZWNoVG9rZW4iLCJ1cHQiLCJleHBpcmVUaW1lIiwidXJpIiwiZXhwaXJlIiwic3Vic3RyaW5nIiwiZ2V0QW50aUxlZWNoUGFyYW0iLCJoYW5kbGVVcGxvYWRFcnJvciIsImVycm9yQm9keSIsImVycm9yQ29kZSIsIk1BWF9GSUxFX1NJWkUiLCJnZXRJbWFnZUJ1ZmZlciIsImJ1aWxkSW1hZ2VVcmwiLCJ3ZWJwYXRoIiwidXNlV2VicGF0aCIsInNhdmVJbWFnZVRvVGVtcCIsInVwbG9hZEltYWdlIiwiZnVsbFVwbG9hZERpclBhdGgiLCJwYXRoVG9DcmVhdGUiLCJjcmVhdGVEaXJlY3RvcnkiLCJyZWN1cnNpdmUiLCJwdXRGaWxlQ29udGVudHMiLCJvdmVyd3JpdGUiLCJhdXRoVHlwZSIsIkF1dGhUeXBlIiwiRGlnZXN0IiwiY3JlYXRlQ2xpZW50IiwiY3JlYXRlV2ViREFWQ2xpZW50IiwiYnVpbGRJblVwbG9hZGVycyIsImFkdmFuY2VkcGxpc3RVcGxvYWRlciIsImFsaXN0VXBsb2FkZXIiLCJhbGlZdW5VcGxvYWRlciIsImF3c3MzcGxpc3RVcGxvYWRlciIsImdpdGh1YlVwbG9hZGVyIiwiaW1ndXJVcGxvYWRlciIsImxvY2FsVXBsb2FkZXIiLCJsc2t5VXBsb2FkZXIiLCJwaWNsaXN0VXBsb2FkZXIiLCJxaW5pdVVwbG9hZGVyIiwic2Z0cFVwbG9hZGVyIiwic21tc1VwbG9hZGVyIiwidGNZdW5VcGxvYWRlciIsInVwWXVuVXBsb2FkZXIiLCJ3ZWJkYXZwbGlzdFVwbG9hZGVyIiwiQ29uZmlnTWFuYWdlciIsIm1pZ3JhdGVUb011bHRpQ29uZmlnIiwidXBsb2FkZXJDb25maWciLCJjb25maWdJdGVtIiwidXVpZCIsImRlZmF1bHRJZCIsInVwbG9hZGVyRGF0YSIsImNvbmZpZ0RhdGEiLCJzeW5jQ29uZmlnVG9QaWNCZWQiLCJjb25maWdJZCIsImNvbmZpZ0luZGV4Iiwic3BsaWNlIiwiREIiLCJkYiIsIkpTT05TdG9yZSIsInJlYWQiLCJmbHVzaCIsImdldFNpbmdsZSIsImsiLCJ1bnNldCIsImdldENvbmZpZ1BhdGgiLCJDTElQQk9BUkRfSU1BR0VfRk9MREVSIiwicGxhdGZvcm0yU2NyaXB0Q29udGVudCIsImRhcndpbiIsIndpbjMyIiwid2luMTAiLCJsaW51eCIsIndzbCIsInBsYXRmb3JtMlNjcmlwdEZpbGVuYW1lIiwiZ2V0Q2xpcGJvYXJkSW1hZ2UiLCJpbWFnZVBhdGgiLCJjcmVhdGVJbWFnZUZvbGRlciIsInBsYXRmb3JtIiwiaXNXc2wiLCJvcyIsInJlbGVhc2UiLCJnZXRDdXJyZW50UGxhdGZvcm0iLCJzY3JpcHRQYXRoIiwiZXhlY3V0aW9uIiwiaW1nUGF0aCIsInNob3VsZEtlZXBBZnRlclVwbG9hZGluZyIsIlBpY0dvIiwiX2NvbmZpZyIsImxpZmVjeWNsZSIsIl9wbHVnaW5Mb2FkZXIiLCJpbml0Q29uZmlnUGF0aCIsImluaXRDb25maWciLCJob21lZGlyIiwiZW5zdXJlRmlsZVN5bmMiLCJyZWdpc3RlckNvbW1hbmRzIiwicHJvcE5hbWUiLCJjbGVhbnVwIiwicmVtb3ZlIiwiY2hhbmdlQ3VycmVudFVwbG9hZGVyIiwiY3R4UmVzdWx0IiwiYmFja3VwT3V0cHV0IiwiZW5hYmxlU2Vjb25kVXBsb2FkZXIiLCJzZWNvbmRhcnlVcGxvYWRlclR5cGUiLCJzZWNvbmRVcGxvYWRlckNvbmZpZyIsImN0eFAiLCJpbml0aWFsVXBsb2FkVHlwZSIsImdldENsaXBib2FyZFJlc3VsdCIsInNlY29uZFBpY0JlZE1vZGUiLCJjdHhPb2ZTZWNvbmQiLCJjbGVhbnVwRm9yU2Vjb25kIl0sIm1hcHBpbmdzIjoibWxEQVdBLE1BQ01BLEdBQVlDLEVBRENDLGNBQTBCQyxNQW1CdkMsU0FBVUMsR0FBc0JDLEdBQ3BDLE1BQU1DLEVBQU0sSUFBSUMsTUFBTUYsR0FDdEIsSUFBSUcsRUFBSSxFQUNKQyxFQUFPLEVBQ1BDLEVBQU8sRUFDWCxLQUFPRixFQUFJSCxHQUFRLENBQ2pCLEdBQUlLLEVBQU8sRUFBRyxDQUNaRCxFQUFRQSxHQUFRLEdBQXdCLFdBQWhCRSxLQUFLQyxXQUEyQixFQUN4REYsR0FBUSxHQUNSLFFBQ0YsQ0FDQSxNQUFNRyxFQWZHLEdBZUdKLEVBQ1pBLEtBQVUsRUFDVkMsR0FBUSxFQUNKRyxFQUFNLEtBQUlQLEVBQUlFLEtBakJSLGlFQWlCcUJLLEdBQ2pDLENBQ0EsT0FBT1AsRUFBSVEsS0FBSyxHQUNsQixDQVVBLFNBQVNDLEdBQWFDLEdBQ3BCLE9BQWlDLElBQTFCQSxFQUFJQyxXQUFXWixPQUFlLElBQUlXLElBQVFBLEVBQUlDLFVBQ3ZELENBRUEsU0FBU0MsR0FBT0MsR0FDZCxPQUFPQyxFQUFPQyxXQUFXLE9BQU9DLE9BQU9ILEdBQU9JLE9BQU8sTUFDdkQsQ0FFQSxTQUFTQyxHQUFVTCxHQUNqQixPQUFPQyxFQUFPQyxXQUFXLFVBQVVDLE9BQU9ILEdBQU9JLE9BQU8sTUFDMUQsQ0FFTSxTQUFVRSxHQUNkQyxFQUNBQyxFQUNBQyxFQUNBQyxHQUVBLE1BQU1DLEVBQU0sSUFBSUMsS0FDVkMsRUFBT0YsRUFBSUcsY0FBY2hCLFdBQ3pCaUIsRUFBZUMsRUFBS0MsU0FBU1YsRUFBU1MsRUFBS0UsUUFBUVgsSUFDbkRZLEVBQThDLENBQ2xELE1BQU8sSUFBTU4sRUFDYixNQUFPLElBQU1BLEVBQUtPLE1BQU0sR0FDeEIsTUFBTyxJQUFNeEIsR0FBYWUsRUFBSVUsV0FBYSxHQUMzQyxNQUFPLElBQU16QixHQUFhZSxFQUFJVyxXQUM5QixNQUFPLElBQU0xQixHQUFhZSxFQUFJWSxZQUM5QixNQUFPLElBQU0zQixHQUFhZSxFQUFJYSxjQUM5QixNQUFPLElBQU01QixHQUFhZSxFQUFJYyxjQUM5QixPQUFRLElBQU1kLEVBQUllLGtCQUFrQjVCLFdBQVc2QixTQUFTLEVBQUcsS0FDM0QsUUFBUyxJQUFNNUIsR0FBT1csR0FBY0ssR0FDcEMsV0FBWSxJQUFNVixHQUFVSyxHQUFjSyxHQUMxQyxXQUFZLElBQU1oQixHQUFPVyxHQUFjSyxHQUFjSyxNQUFNLEVBQUcsSUFDOUQsYUFBYyxJQUFPWCxFQUFnQk8sRUFBS0MsU0FBU1IsRUFBZU8sRUFBS0UsUUFBUVQsSUFBa0JNLEVBQ2pHLFNBQVUsSUFBTWEsSUFBU0MsUUFBUSxLQUFNLElBQ3ZDLGNBQWUsSUFBTWxCLEVBQUltQixVQUFVaEMsWUFFckMsUUFDbUJpQyxJQUFqQnZCLElBQ0V3QixPQUFPQyxLQUFLZCxHQUFlZSxLQUFLQyxHQUFRM0IsRUFBYTRCLFNBQVNELE1BQzdEM0IsRUFBYTRCLFNBQVMsa0JBQ3RCNUIsRUFBYTRCLFNBQVMsUUFFekIsT0FBTzdCLEVBRVQsTUFBTThCLEVBQU1yQixFQUFLRSxRQUFRWCxHQUN6QixJQUFJK0IsRUFDRk4sT0FBT0MsS0FBS2QsR0FBZW9CLE9BQU8sQ0FBQ0MsRUFBS0MsSUFDL0JELEVBQUlYLFFBQVEsSUFBSWEsT0FBT0QsRUFBSyxLQUFNdEIsRUFBY3NCLE1BQ3REakMsR0FBZ0I2QixFQWlCckIsT0FkQUMsRUFBVUEsRUFBUVQsUUFGRCxnQkFFbUIsQ0FBQ2MsRUFBR0MsSUFFL0IzRCxHQURRNEQsU0FBU0QsRUFBUSxNQUdsQ04sRUFBVUEsRUFBUVQsUUFMRSxtQkFLbUIsQ0FBQ2MsRUFBR0MsS0FDekMsTUFBTTFELEVBQVMyRCxTQUFTRCxFQUFRLElBQ2hDLE9BQU92QyxHQUFVSyxHQUFjSyxHQUFjSyxNQUFNLEVBQUdsQyxLQUV4RG9ELEVBQVVBLEVBQVFULFFBQVEsNEJBQTZCLENBQUNpQixFQUFTQyxFQUFLQyxLQUNwRUEsRUFBUXhELEtBQUt5RCxJQUFJLEVBQUdELEdBQVMsR0FHN0IsT0FGY2hDLEVBQUtsQyxRQUFReUIsR0FBUzJDLE1BQU1sQyxFQUFLbUMsS0FDbkMvQixNQUFNLEVBQUk0QixHQUFPVCxPQUFPLENBQUNhLEVBQUdDLElBQU0sR0FBR0QsS0FBS0MsS0FDM0N4QixRQUFRLEtBQU0sTUFFcEJTLENBQ1QsQ0FHTyxNQUFNZ0IsR0FBU3RFLEdBQXlCLGVBQWV1RSxLQUFLdkUsR0FFdER3RSxHQUFleEUsSUFDMUJBLEVBQU1BLEdBQU8sR0FDYixJQUVFLE9BQU9BLElBQVF5RSxVQUFVekUsRUFDM0IsQ0FBRSxNQUFPMEUsR0FDUCxPQUFPLENBQ1QsR0FHV0MsR0FBbUIzRSxJQUN6QndFLEdBQVl4RSxLQUNmQSxFQUFNNEUsVUFBVTVFLElBRVhBLEdBSUk2RSxHQUFnQkMsSUFDM0IsSUFDRSxNQUFNQyxNQUFFQSxFQUFRLEVBQUNDLE9BQUVBLEVBQVMsRUFBQ0MsS0FBRUEsR0FBU0MsRUFBVUosR0FFbEQsTUFBTyxDQUNMSyxNQUFNLEVBQ05KLFFBQ0FDLFNBQ0E5QyxRQUxjK0MsRUFBTyxJQUFJQSxJQUFTLE9BT3RDLENBQUUsTUFBT1AsR0FFUCxNQUFPLENBQ0xTLE1BQU0sRUFDTkosTUFBTyxJQUNQQyxPQUFRLElBQ1I5QyxRQUFTLE9BRWIsR0FHV2tELEdBQVlDLE1BQU9DLElBQzlCLElBQ0UsTUFBTyxDQUNMcEQsUUFBU0YsRUFBS0UsUUFBUW9ELEdBQ3RCQyxTQUFVdkQsRUFBS0MsU0FBU3FELEdBQ3hCQSxXQUNBRSxhQUFjQyxFQUFHQyxTQUFTSixHQUMxQkssU0FBUyxFQUViLENBQUUsTUFDQSxNQUFPLENBQ0xDLE9BQVEsYUFBYU4sVUFDckJLLFNBQVMsRUFFYixHQUdXRSxHQUFhUixNQUFPckYsRUFBYThGLEtBRTVDLElBQUlDLEVBREovRixFQUFNMkUsR0FBZ0IzRSxHQUV0QixNQUFNZ0csRUFBWSxJQUFJQyxRQUFpQyxDQUFDQyxFQUFTQyxLQUM5RCxXQUNDLElBQ0UsTUFBTUMsUUFBWU4sRUFDZk8sUUFBUSxDQUNQQyxPQUFRLE1BQ1J0RyxNQUNBdUcseUJBQXlCLEVBQ3pCQyxhQUFjLGdCQUVmQyxLQUFLQyxHQUNHQSxFQUFLQyxNQUVoQkMsYUFBYWIsR0FDYixNQUFNYyxFQUFVLElBQUlDLEVBQUk5RyxHQUFLK0csU0FDN0IsSUFBSTdFLEVBQVUsR0FDZCxJQUVFQSxFQURrQixJQUFJNEUsRUFBSTlHLEdBQUtnSCxhQUNYQyxJQUFJLFdBQWFqRixFQUFLRSxRQUFRMkUsSUFBWSxFQUNoRSxDQUFFLE1BQU9uQyxHQUNQeEMsRUFBVUYsRUFBS0UsUUFBUTJFLElBQVksRUFDckMsRUFDSzNFLEVBQVFnRixXQUFXLE1BQVFoRixJQUM5QkEsRUFBVSxJQUFJQSxLQUVoQmdFLEVBQVEsQ0FDTlYsT0FBUVksRUFDUmIsU0FBVXZELEVBQUtDLFNBQVM0RSxHQUN4QjNFLFVBQ0F5RCxTQUFTLEdBRWIsQ0FBRSxNQUFPd0IsR0FDUFAsYUFBYWIsR0FDYkcsRUFBUSxDQUNOUCxTQUFTLEVBRVRDLE9BQVEsV0FBVzVGLFlBQWNtSCxHQUFPQyxTQUFXLE1BRXZELENBQ0QsRUF0Q0EsR0FzQ0lDLE1BQU1sQixLQUVQbUIsRUFBaUIsSUFBSXJCLFFBQWtDQyxJQUMzREgsRUFBWXdCLFdBQVcsS0FDckJyQixFQUFRLENBQ05QLFNBQVMsRUFDVEMsT0FBUSxXQUFXNUYsZUFFcEIsT0FFTCxPQUFPaUcsUUFBUXVCLEtBQUssQ0FBQ3hCLEVBQVdzQixLQUlyQkcsR0FBcUJDLEdBQzVCLHlCQUF5Qm5ELEtBQUttRCxHQUN6QixRQUNFQSxFQUFLUixXQUFXLGlCQUNsQixTQUNFUyxHQUFhRCxHQUNmLFNBRUYsVUFHSUMsR0FBZ0JDLElBQzNCLEdBQUk1RixFQUFLNkYsV0FBV0QsR0FDbEIsT0FBTyxFQUVULE1BQU1FLEVBQWE5RixFQUFLckIsS0FBS29ILFFBQVFDLE1BQU9KLEdBQzVDLE9BQUluQyxFQUFHd0MsV0FBV0gsTUFHZEYsRUFBV3hFLFNBQVMsT0FBUXdFLEVBQVd4RSxTQUFTLFFBY3pDOEUsR0FBMkIsQ0FBQ1IsRUFBY1MsRUFBUSxLQUM3REEsRUFBUSxJQUFJQSxrQkFBc0JULElBQVMsZ0JBQWdCQSxJQUVoRFUsR0FBdUIsQ0FBQ1IsRUFBb0JTLEVBQTRCQyxXQUVuRixPQUR1QmIsR0FBa0JHLElBRXZDLElBQUssU0FDTCxJQUFLLFFBQ0gsT0FBT0EsRUFDVCxJQUFLLFNBQ0gsT0FBT00sR0FBeUJOLEdBQ2xDLFFBQVMsQ0FDUCxJQUFJRSxFQUFhRixFQUNqQixPQUFJNUYsRUFBSzZGLFdBQVdELElBQWVuQyxFQUFHd0MsV0FBV0wsR0FDeENXLEdBQW9CVCxJQUU3QkEsRUFBYTlGLEVBQUtyQixLQUFLb0gsUUFBUUMsTUFBT0osR0FDbENuQyxFQUFHd0MsV0FBV0gsR0FDVFMsR0FBb0JULElBRTdCTyxFQUFPRyxLQUFLLHFCQUFxQlosS0FDMUIsSUFDVCxJQUlTYSxHQUFzQixDQUFDYixFQUFvQlMsRUFBNEJDLFdBRWxGLE9BRHVCYixHQUFrQkcsSUFFdkMsSUFBSyxTQUNILE9BQU9jLEdBQW9CZCxHQUM3QixJQUFLLFFBQ0gsT0FBT2MsR0FBb0JkLEdBQVksR0FDekMsSUFBSyxTQUNILE9BQU9jLEdBQW9CUixHQUF5Qk4sSUFDdEQsUUFBUyxDQUNQLElBQUtuQyxFQUFHd0MsV0FBV0wsR0FFakIsT0FEQVMsRUFBT0csS0FBSyxzQkFBc0JaLEtBQzNCLEdBRVQsTUFBTWUsRUFBa0IzRyxFQUFLNEcsTUFBTWpJLEtBQUtpSCxFQUFZLGdCQUNwRCxHQUFLbkMsRUFBR3dDLFdBQVdVLEdBR1osQ0FDTCxNQUFNRSxFQUFNQyxFQUFhSCxJQUFvQixDQUFBLEVBQzdDLE9BQUtFLEVBQUluQixNQUFNdEUsU0FBUyxpQkFNakJ5RixFQUFJbkIsTUFMVFcsRUFBT0csS0FDTCwyQ0FBNENLLEVBQUluQixNQUFtQixzREFFOUQsR0FHWCxDQVZFLE9BREFXLEVBQU9HLEtBQUssc0JBQXNCWixLQUMzQixFQVdYLElBSVNXLEdBQXVCUSxHQUNsQkEsRUFBUTdFLE1BQU1sQyxFQUFLbUMsS0FDcEJ4RCxLQUFLLEtBR1QrSCxHQUFzQixDQUFDZCxFQUFvQk8sR0FBaUIsS0FDdkUsR0FBS1AsRUFBV3hFLFNBQVMsS0FFbEIsQ0FDTCxJQUFJNEYsRUFBTSxrQ0FDTmIsSUFDRmEsRUFBTSw0Q0FFUixNQUFNQyxFQUFXckIsRUFBV3NCLE1BQU1GLEdBQ2xDLE9BQUtDLEVBSUlBLEVBQVMsSUFIaEJYLFFBQVFFLEtBQUssaUNBQ05aLEVBSVgsQ0FiRSxPQUFPQSxHQW9CRXVCLEdBQWtCLEdBTWxCQyxHQUEwQnJGLEdBQzlCb0YsR0FBZ0JqRyxLQUFLbUcsR0FBYXRGLEVBQUltRCxXQUFXbUMsSUFHN0NDLEdBQXNCQyxHQUNYLGlCQUFYQSxJQUF3Qm5KLE1BQU1vSixRQUFRRCxJQUFXdkcsT0FBT0MsS0FBS3NHLEdBQVFySixPQUFTLEVBTXJGLFNBQVV1SixHQUFhQyxHQUMzQixJQUNFLE9BQU9DLEtBQUtDLE1BQU1GLEVBQ3BCLENBQUUsTUFBT2hGLEdBQ1AsT0FBT2lGLEtBQUtDLE1BQU0sS0FDcEIsQ0FDRixDQUVPLE1BQU1DLEdBQWMsQ0FBQ2hKLEVBQXVCLElBQzFDaUosTUFBTUMsT0FBT2xKLElBQVEsRUFBSWtKLE9BQU9sSixHQUc1Qm1KLEdBQVEsSUFBd0MsZ0JBQXpCakMsUUFBUWtDLElBQUlDLFNBdUJoRCxNQUFNQyxHQUE0Qm5JLEVBQUtyQixLQUFLZCxHQUFXLFNBQVUsZUFFMUR3RixlQUFlK0UsR0FDcEJDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEdBRUFKLEdBQ0dBLEdBQXVCQSxFQUFzQixHQUFLQSxFQUFzQixFQUFJLElBQU9BLEVBQ3RGLE1BQU1LLEVBQVFDLEVBQU1iLEVBQUssQ0FBRWMsVUFBVSxLQUM3QnBHLE1BQU9xRyxFQUFXLFdBQWNILEVBQU1JLFdBQ3hDQyxRQXVCUmpHLGVBQ0VpRixFQUNBQyxFQUNBRyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBTSxFQUFtQixJQUNuQlgsRUFBMEIsRUFDMUJPLEVBQWdDLEtBRWhDLElBQUlNLEVBQ2tCLFVBQWxCaEIsR0FDRlUsRUFBd0JuQixHQUFZbUIsR0FDcENGLEVBQXFCQSxHQUFzQlgsR0FDM0NtQixRQUFrQkosRUFBTUosR0FDckJTLFVBQVUsQ0FDVCxDQUNFdkssTUFBT3dLLE9BQU9DLEtBQUssQ0FBQyxJQUFLLElBQUssSUFBS1QsRUFBd0IsSUFBTSxJQUFNQSxJQUN2RVUsSUFBSyxDQUNIM0csTUFBTyxFQUNQQyxPQUFRLEVBQ1IyRyxTQUFVLEdBRVpDLE1BQU0sRUFDTkMsTUFBTyxhQUdWQyxZQUVIUixRQTlGSmpHLGVBQ0VrRixFQUNBRyxFQUNBcUIsRUFDQUMsR0FFQXRCLEVBQVFBLEdBQU8sS0FDZnNCLEVBQWNBLEdBQWF6QixFQUUzQixNQUNNMEIsRUFBdUMsQ0FDM0NDLE9BQVEsTUFDUkMsV0FBWSxDQUNWQyxLQUxKTCxFQUFTQSxHQUFRLDhCQVFYTSxFQVBXQyxFQUFVQyxTQUFTUCxHQU9YUSxPQUFPOUIsRUFBTXVCLEdBQ3RDLE9BQU9ULE9BQU9DLEtBQUtZLEVBQ3JCLENBNEVzQkksQ0FDaEJsQyxFQUNBRyxFQUNBRyxFQUNBRixHQUFxQkosR0FHekIsTUFBUXhGLE1BQU8ySCxFQUFnQjFILE9BQVEySCxTQWF6Q3RILGVBQXVCNEYsR0FDckIsTUFBTWxHLE1BQUVBLEVBQUtDLE9BQUVBLFNBQWlCa0csRUFBTUQsR0FBT0ksV0FDN0MsTUFBTyxDQUFFdEcsTUFBT0EsR0FBUyxJQUFLQyxPQUFRQSxHQUFVLElBQ2xELENBaEJtRTRILENBQVF0QixHQUNuRXVCLEVBQXVCck0sS0FBS3NNLE1BQU0xQixFQUFXdkIsR0FBWWUsSUFDekRtQyxFQUF3QnZNLEtBQUtzTSxNQUFPRCxFQUF1QkYsRUFBbUJELEdBQ3BGLGFBQWF4QixFQUFNSSxHQUNoQjBCLE9BQU9ILEVBQXNCRSxFQUF1QixDQUNuREUsSUFBSyxXQUVOQyxPQUFPekMsRUFBaUIsQ0FDdkIwQyxXQUFZLENBQUVDLEVBQUcsSUFBS0MsRUFBRyxJQUFLaEosRUFBRyxJQUFLaUosTUFBTyxLQUU5Q3hCLFVBQ0wsQ0F4RTBCeUIsQ0FDdEJqRCxFQUNBQyxFQUNBRyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBTSxFQUNBWCxFQUNBTyxHQUVGLGFBQWFDLEVBQ1ZNLFVBQVUsQ0FDVCxDQUNFdkssTUFBT3NLLEVBQ1BrQyxRQUFTekMsR0FBWSxZQUNyQmEsS0FBTXBCLEtBR1RzQixVQUNMLENBMERBLE1BQU0yQixHQUFhLElBQUlDLElBQ2RBLEVBQU9DLE1BQU1DLEdBQ2RBLFVBQ2lCLGlCQUFWQSxFQUFxQyxLQUFWQSxFQUNqQixpQkFBVkEsRUFBMkJBLEVBQVEsRUFDekIsaUJBQVZBLEdBQTJCNUssT0FBT0MsS0FBSzJLLEdBQU8xTixPQUFTLElBUWhFMk4sR0FBNkIsQ0FDakMsT0FDQSxLQUNBLE9BQ0EsTUFDQSxPQUNBLFFBQ0EsT0FDQSxNQUNBLE1BQ0EsTUFDQSxTQUNBLFlBQ0EsTUFDQSxNQUNBLE1BQ0EsTUFDQSxNQUNBLE9BQ0EsTUFDQSxJQUNBLFFBTUlDLEdBQWtCLENBQ3RCLE1BQ0EsT0FDQSxNQUNBLE9BQ0EsTUFDQSxPQUNBLE1BQ0EsTUFDQSxNQUNBLE9BQ0EsT0FDQSxPQUNBLE9BR0lDLEdBQXFCQyxHQUE0QkgsR0FBMkJ6SyxTQUFTNEssR0FFckYsU0FBVUMsR0FDZEMsRUFDQUMsRUFDQUMsRUFDQUMsR0FFQUgsRUFBU0EsR0FBVSxDQUFBLEVBbUNuQixNQWxDaUQsQ0FDL0NJLGtCQUFtQkgsRUFBaUJHLGdCQUFrQkosRUFBT0ssb0JBQW9CSCxJQUFXRixFQUFPSSxnQkFDbkdoRSxlQUNHNkQsRUFBaUI3RCxlQUFpQjRELEVBQU9NLG1CQUFtQkosSUFBV0YsRUFBTzVELGdCQUFrQixPQUNuR0UseUJBQ0UyRCxFQUFpQjNELHVCQUNqQjBELEVBQU9PLDJCQUEyQkwsSUFDbENGLEVBQU8xRCx1QkFFVEMsZ0JBQWlCWixHQUNmc0UsRUFBaUIxRCxpQkFBbUJ5RCxFQUFPUSxxQkFBcUJOLElBQVdGLEVBQU96RCxpQkFFcEZrRSxlQUFnQlIsRUFBaUJRLGVBQWlCVCxFQUFPVSxtQkFBbUJSLElBQVdGLEVBQU9TLGdCQUFrQixHQUNoSGhFLG1CQUFvQndELEVBQWlCeEQsbUJBQXFCdUQsRUFBT3ZELG9CQUFzQixHQUN2RkMsb0JBQXFCZixHQUNuQnNFLEVBQWlCdkQscUJBQXVCc0QsRUFBT1cseUJBQXlCVCxJQUFXRixFQUFPdEQscUJBRTVGQyxnQkFDR3NELEVBQWlCdEQsZ0JBQWtCcUQsRUFBT1ksb0JBQW9CVixJQUFXRixFQUFPckQsaUJBQ2pGLDRCQUNGQyxvQkFDR3FELEVBQWlCckQsb0JBQXNCb0QsRUFBT2Esd0JBQXdCWCxJQUFXRixFQUFPcEQscUJBQ3pGLEdBQ0ZrRSxtQkFDR2IsRUFBaUJhLG1CQUFxQmQsRUFBT2UsdUJBQXVCYixJQUFXRixFQUFPYyxvQkFDdkYsWUFDRmhFLHNCQUF1Qm5CLEdBQ3JCc0UsRUFBaUJuRCx1QkFDZmtELEVBQU9nQiwyQkFBMkJkLElBQ2xDRixFQUFPbEQsdUJBRVhvRCxTQUNBQyxLQUdKLENBRU0sU0FBVWMsR0FDZGpCLEVBQ0FDLEVBQ0FDLEVBQ0FDLEdBRUFILEVBQVNBLEdBQVUsQ0FBQSxFQWdDbkIsTUEvQmdELENBQzlDa0IsUUFBU3ZGLEdBQVlzRSxFQUFpQmlCLFNBQVdsQixFQUFPbUIsYUFBYWpCLElBQVdGLEVBQU9rQixTQUN2RkUsYUFBY25CLEVBQWlCbUIsV0FBYXBCLEVBQU9xQixlQUFlbkIsSUFBV0YsRUFBT29CLFdBQ3BGRSxlQUNHckIsRUFBaUJxQixlQUFpQnRCLEVBQU91QixtQkFBbUJyQixJQUFXRixFQUFPc0IsZ0JBQWtCLE1BQ25HRSxZQUFhdkIsRUFBaUJ1QixVQUFZeEIsRUFBT3lCLGNBQWN2QixJQUFXRixFQUFPd0IsVUFDakZFLGFBQWMvRixHQUFZc0UsRUFBaUJ5QixjQUFnQjFCLEVBQU8yQixrQkFBa0J6QixJQUFXRixFQUFPMEIsY0FDdEdFLFlBQWFqRyxHQUFZc0UsRUFBaUIyQixhQUFlNUIsRUFBTzZCLGlCQUFpQjNCLElBQVdGLEVBQU80QixhQUNuR0Usd0JBQ0U3QixFQUFpQjZCLHNCQUNqQjlCLEVBQU8rQiwwQkFBMEI3QixJQUNqQ0YsRUFBTzhCLHNCQUVURSxxQkFDRS9CLEVBQWlCK0IsbUJBQ2pCaEMsRUFBT2lDLHVCQUF1Qi9CLElBQzlCRixFQUFPZ0MsbUJBRVRFLGNBQWV2RyxHQUNic0UsRUFBaUJpQyxlQUFpQmxDLEVBQU9tQyxtQkFBbUJqQyxJQUFXRixFQUFPa0MsZUFFaEZFLFlBQWFuQyxFQUFpQm1DLFVBQVlwQyxFQUFPcUMsY0FBY25DLElBQVdGLEVBQU9vQyxVQUNqRkUsYUFBYzNHLEdBQVlzRSxFQUFpQnFDLGNBQWdCdEMsRUFBT3VDLGtCQUFrQnJDLElBQVdGLEVBQU9zQyxjQUN0R0UsZ0JBQWlCdkMsRUFBaUJ1QyxjQUFnQnhDLEVBQU95QyxrQkFBa0J2QyxJQUFXRixFQUFPd0MsY0FDN0ZFLFVBQVd6QyxFQUFpQnlDLFFBQVUxQyxFQUFPMkMsWUFBWXpDLElBQVdGLEVBQU8wQyxRQUMzRUUsVUFBVzNDLEVBQWlCMkMsUUFBVTVDLEVBQU82QyxZQUFZM0MsSUFBV0YsRUFBTzRDLFFBQzNFRSxrQkFDRzdDLEVBQWlCNkMsa0JBQW9COUMsRUFBTytDLHNCQUFzQjdDLElBQVdGLEVBQU84QyxtQkFBcUIsQ0FBQSxFQUM1RzVDLFNBQ0FDLEtBR0osQ0FFT2hKLGVBQWU2TCxHQUNwQjdHLEVBQ0E0QixFQUNBMUIsRUFDQWxDLEdBRUEsSUFDRSxJQUFJNEMsRUFBcUJDLEVBQU1iLEVBQUssQ0FBRWMsVUFBVSxJQWtCaEQsT0FqQkFGLEVBQVFDLFFBQ0FkLEdBQ0pDLEVBQ0E0QixFQUFRM0IsZUFBaUIsT0FDekJDLEVBQ0EwQixFQUFRekIsc0JBQ1JYLEdBQVlvQyxFQUFReEIsaUJBQ3BCd0IsRUFBUTBDLGNBQ1IxQyxFQUFRdEIsa0JBQ1JkLEdBQVlvQyxFQUFRckIscUJBQ3BCcUIsRUFBUXBCLGVBQ1JvQixFQUFRbkIsbUJBQ1JtQixFQUFRK0Msa0JBQ1JuRixHQUFZb0MsRUFBUWpCLHdCQUV0QixDQUFFRyxVQUFVLFVBRURGLEVBQU1hLFVBQ3JCLENBQUUsTUFBTzNFLEdBRVAsT0FEQWtCLEVBQU9sQixNQUFNLDhCQUE4QkEsS0FDcENrRCxDQUNULENBQ0YsQ0FFQSxTQUFTOEcsR0FBY2xGLEdBQ3JCLE1BQU0rRSxFQUNnQyxpQkFBN0IvRSxFQUFRK0UsaUJBQWdDdkgsR0FBVXdDLEVBQVErRSxrQkFBb0IvRSxFQUFRK0UsaUJBQy9GLE1BQU8sQ0FDTDVCLFFBQVN2RixHQUFZb0MsRUFBUW1ELFNBQzdCRSxVQUFXckQsRUFBUXFELFlBQWEsRUFDaENFLGNBQWV2RCxFQUFRdUQsZUFBaUIsTUFDeENFLFNBQVV6RCxFQUFReUQsV0FBWSxFQUM5QkUsYUFBYy9GLEdBQVlvQyxFQUFRMkQsY0FDbENFLFlBQWFqRyxHQUFZb0MsRUFBUTZELGFBQ2pDRSxxQkFBc0IvRCxFQUFRK0QsdUJBQXdCLEVBQ3RERSxrQkFBbUJqRSxFQUFRaUUsb0JBQXFCLEVBQ2hERSxjQUFldkcsR0FBWW9DLEVBQVFtRSxlQUNuQ0UsU0FBVXJFLEVBQVFxRSxXQUFZLEVBQzlCTSxPQUFRM0UsRUFBUTJFLFNBQVUsRUFDMUJFLE9BQVE3RSxFQUFRNkUsU0FBVSxFQUMxQk4sYUFBYzNHLEdBQVlvQyxFQUFRdUUsY0FDbENwQyxPQUFRbkMsRUFBUW1DLFFBQVUsT0FDMUI0QyxpQkFBa0JBLEdBQW9CLENBQUEsRUFFMUMsQ0FFTzNMLGVBQWUrTCxHQUNwQi9HLEVBQ0E0QixFQUNBb0YsRUFDQWhKLEdBRUE0RCxFQUFVa0YsR0FBY2xGLEdBQ3hCLElBRUUsR0FEQW9GLEVBQVlDLEdBQWtCRCxJQUN6QnZELEdBQWdCMUssU0FBU2lPLElBQTRCLFFBQWRBLEVBQXFCLE9BQU9oSCxFQUN4RSxJQUFJWSxFQUFxQkMsRUFBTWIsRUFBSyxDQUFFYyxVQUFVLElBQzVDaUUsRUFBVSxJQUlkLEdBSEkzQixHQUFXeEIsRUFBUW1ELFVBQVluRCxFQUFRbUQsUUFBVyxNQUNwREEsRUFBVTVPLEtBQUsrUSxJQUFJL1EsS0FBS3lELElBQUl6RCxLQUFLZ1IsTUFBTXZGLEVBQVFtRCxTQUFXLEdBQUksTUFFNURuRCxFQUFRaUUsbUJBQ1YsR0FBSXpDLEdBQVd4QixFQUFRbUUsZUFBZ0IsQ0FDckMsTUFBTXFCLFFBQW1CeEcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTdEcsT0FDOUQyTSxRQUFvQnpHLEVBQU1JLFdBQVc1RSxLQUFLNEUsR0FBWUEsRUFBU3JHLFFBQ2pFeU0sR0FBY0MsSUFDaEJ6RyxFQUFRQSxFQUFNK0IsT0FDWnhNLEtBQUtnUixNQUFPQyxFQUFheEYsRUFBUW1FLGNBQWtCLEtBQ25ENVAsS0FBS2dSLE1BQU9FLEVBQWN6RixFQUFRbUUsY0FBa0IsS0FDcEQsQ0FDRW5ELElBQUssV0FJYixPQUNLLEdBQUloQixFQUFReUQsU0FDakIsR0FDa0MsaUJBQXpCekQsRUFBUTJELGNBQ2YzRCxFQUFRMkQsYUFBZSxHQUNRLGlCQUF4QjNELEVBQVE2RCxhQUNmN0QsRUFBUTZELFlBQWMsRUFFdEI3RSxFQUFRQSxFQUFNK0IsT0FBT2YsRUFBUTZELFlBQWE3RCxFQUFRMkQsYUFBYyxDQUM5RDNDLElBQUssY0FFRixHQUMyQixpQkFBekJoQixFQUFRMkQsY0FDZjNELEVBQVEyRCxhQUFlLElBQ1MsaUJBQXhCM0QsRUFBUTZELGFBQW9ELElBQXhCN0QsRUFBUTZELGFBQ3BELENBQ0EsTUFBTTJCLFFBQW1CeEcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTdEcsT0FDOUQyTSxRQUFvQnpHLEVBQU1JLFdBQVc1RSxLQUFLNEUsR0FBWUEsRUFBU3JHLFFBQ3JFLEdBQUl5TSxHQUFjQyxLQUNYekYsRUFBUStELHNCQUF5Qi9ELEVBQVErRCxzQkFBd0IvRCxFQUFRMkQsYUFBZThCLEdBQWMsQ0FDekcsTUFBTUMsRUFBYTFGLEVBQVEyRCxhQUFlOEIsRUFDMUN6RyxFQUFRQSxFQUFNK0IsT0FBT3hNLEtBQUtnUixNQUFNQyxFQUFhRSxHQUFhMUYsRUFBUTJELGFBQWMsQ0FDOUUzQyxJQUFLLFVBRVQsQ0FFSixNQUFPLEdBQzBCLGlCQUF4QmhCLEVBQVE2RCxhQUNmN0QsRUFBUTZELFlBQWMsSUFDVyxpQkFBekI3RCxFQUFRMkQsY0FBc0QsSUFBekIzRCxFQUFRMkQsY0FDckQsQ0FDQSxNQUFNNkIsUUFBbUJ4RyxFQUFNSSxXQUFXNUUsS0FBSzRFLEdBQVlBLEVBQVN0RyxPQUM5RDJNLFFBQW9CekcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTckcsUUFDckUsR0FBSXlNLEdBQWNDLEtBQ1h6RixFQUFRK0Qsc0JBQXlCL0QsRUFBUStELHNCQUF3Qi9ELEVBQVE2RCxZQUFjMkIsR0FBYSxDQUN2RyxNQUFNRSxFQUFhMUYsRUFBUTZELFlBQWMyQixFQUN6Q3hHLEVBQVFBLEVBQU0rQixPQUFPZixFQUFRNkQsWUFBYXRQLEtBQUtnUixNQUFNRSxFQUFjQyxHQUFhLENBQzlFMUUsSUFBSyxVQUVULENBRUosQ0FhRixHQVhJaEIsRUFBUXFFLFVBQVlyRSxFQUFRdUUsZUFDOUJ2RixFQUFRQSxFQUFNaUMsT0FBT2pCLEVBQVF1RSxhQUFjLENBQ3pDckQsV0FBWSxDQUFFQyxFQUFHLElBQUtDLEVBQUcsSUFBS2hKLEVBQUcsSUFBS2lKLE1BQU8sTUFHN0NyQixFQUFRMkUsU0FDVjNGLEVBQVFBLEVBQU0yRyxRQUVaM0YsRUFBUTZFLFNBQ1Y3RixFQUFRQSxFQUFNNEcsUUFFWjVGLEVBQVFxRCxVQUFXLENBQ3JCLE1BQU13QyxFQUFZQyxHQUFtQjlGLEVBQVNvRixHQUMxQ1MsSUFBY1QsSUFDaEJwRyxFQUFRQSxFQUFNK0csU0FBU0YsRUFBVyxDQUNoQzFDLFVBQ0E2QyxTQUFTLElBR2YsTUFFSWhILEVBREVvRyxHQUFhdEQsR0FBa0JzRCxHQUN6QnBHLEVBQU0rRyxTQUFTWCxFQUFrQixDQUN2Q2pDLFVBQ0E2QyxTQUFTLElBR0hoSCxFQUFNK0csU0FBUyxNQUFPLENBQzVCNUMsVUFDQTZDLFNBQVMsSUFJZixhQUFhaEgsRUFBTWEsVUFDckIsQ0FBRSxNQUFPM0UsR0FFUCxPQURBa0IsRUFBT2xCLE1BQU0sd0JBQXdCQSxLQUM5QmtELENBQ1QsQ0FDRixDQUVBLE1BQU1pSCxHQUFxQmpPLEdBQ2xCQSxFQUFJNk8sY0FBY3JQLFFBQVEsSUFBSyxJQUdsQyxTQUFVa1AsR0FBbUI5RixFQUE4Q29GLEdBRy9FLEdBRkFwRixFQUFVa0YsR0FBY2xGLEdBQVcsSUFFakIsU0FEbEJvRixFQUFZQyxHQUFrQkQsSUFDTCxNQUFPLE1BQ2hDLElBQUlTLEVBQVk3RixHQUFTdUQsZUFBaUIsTUFDMUMsR0FBSXZELEdBQVMrRSxrQkFBb0JoTyxPQUFPQyxLQUFLZ0osRUFBUStFLGtCQUFrQjlRLE9BQVMsRUFBRyxDQUNqRixNQUFNOFEsRUFBbUIvRSxFQUFRK0UsaUJBQ0poTyxPQUFPQyxLQUFLK04sR0FDaEI1TixTQUFTaU8sS0FDaENTLEVBQVlkLEVBQWlCSyxHQUN4QnRELEdBQWtCK0QsS0FDckJBLEVBQVksT0FHbEIsQ0FJQSxNQUh3QixVQUFwQjdGLEdBQVNtQyxRQUFvQyxTQUFkMEQsSUFDakNBLEVBQVksT0FFUEEsQ0FDVCxDQUVPLE1BQU1LLEdBQXFCLENBQ2hDQyxFQUNBQyxLQUVBQSxFQUFVZixHQUFrQmUsS0FFeEJELEtBQXNCQSxFQUFpQjlELGdCQUFrQlIsR0FBZ0IxSyxTQUFTaVAsSUFBd0IsUUFBWkEsR0FJdkZDLEdBQWlCLENBQUNDLEVBQXNERixLQUNuRixJQUFLdkUsR0FBZ0IxSyxTQUFTa08sR0FBa0JlLE1BQWNFLEVBQWlCLE9BQU8sRUFFdEYsTUFBTW5ELFFBQ0pBLEVBQU9jLGtCQUNQQSxFQUFpQkUsY0FDakJBLEVBQWFWLFNBQ2JBLEVBQVFFLGFBQ1JBLEVBQVlFLFlBQ1pBLEVBQVdRLFNBQ1hBLEVBQVFFLGFBQ1JBLEVBQVlsQixVQUNaQSxFQUFTRSxjQUNUQSxFQUFhb0IsT0FDYkEsRUFBTUUsT0FDTkEsR0FDRUssR0FBY29CLEdBRWxCLEdBQUk5RSxHQUFXMkIsSUFBWUEsRUFBVyxJQUFLLE9BQU8sRUFDbEQsR0FBSWMsR0FBcUJ6QyxHQUFXMkMsR0FBZ0IsT0FBTyxFQUMzRCxHQUNFVixJQUMwQixpQkFBakJFLEdBQTZCQSxFQUFlLEdBQThCLGlCQUFoQkUsR0FBNEJBLEVBQWMsR0FFN0csT0FBTyxFQUVULEdBQUlRLEdBQVlFLEVBQWMsT0FBTyxFQUNyQyxHQUFJSSxHQUFVRSxFQUFRLE9BQU8sRUFDN0IsR0FBSXhCLEVBQVcsQ0FFYixPQUFPK0MsS0FEVzdDLEdBQWlCLE1BRXJDLENBQ0EsT0FBTyxHQUdJZ0QsR0FBYW5OLE1BQU9nRixFQUFhZ0ksS0FDNUNBLEVBQVVmLEdBQWtCZSxHQUN2QnZFLEdBQWdCMUssU0FBU2lQLElBQXdCLFFBQVpBLFFBQzdCbkgsRUFBTWIsRUFBSyxDQUN0QmMsVUFBVSxJQUNUVyxXQUhpRXpCLGlWQS9tQjNCM0MsR0FDckMseUJBQXlCbkQsS0FBS21ELEdBQ3pCQSxFQUFLN0UsUUFBUSx5QkFBMEIsSUFFdkM2RSxFQUFLN0UsUUFBUSxnQkFBaUIscVdBek5NdEIsRUFBaUJyQixFQUFpQixHQUMvRSxNQUFPLEdBQUdELEdBQXNCQyxLQUFVOEIsRUFBS0UsUUFBUVgsSUFDekQsOEJBTk0sU0FBc0NBLEdBQzFDLE1BQU8sR0FBR2YsS0FBS3NNLE1BQU1sTCxLQUFLRCxNQUFRLE9BQVExQixHQUFzQixLQUFLK0IsRUFBS0UsUUFBUVgsSUFDcEYsaUJDbkRBLElBQVlrUixHQVVBQyxHQWdCQUMsSUExQlosU0FBWUYsR0FDVkEsRUFBQSxRQUFBLFVBQ0FBLEVBQUEsS0FBQSxPQUNBQSxFQUFBLEtBQUEsT0FDQUEsRUFBQSxNQUFBLE9BQ0QsQ0FMRCxDQUFZQSxLQUFBQSxHQUFRLENBQUEsSUFVcEIsU0FBWUMsR0FDVkEsRUFBQSxnQkFBQSxpQkFDQUEsRUFBQSxPQUFBLFNBQ0FBLEVBQUEsaUJBQUEsa0JBQ0FBLEVBQUEsY0FBQSxlQUNBQSxFQUFBLGFBQUEsY0FDQUEsRUFBQSxTQUFBLFdBQ0FBLEVBQUEsUUFBQSxVQUNBQSxFQUFBLFVBQUEsWUFDQUEsRUFBQSxPQUFBLFNBQ0FBLEVBQUEsYUFBQSxjQUNELENBWEQsQ0FBWUEsS0FBQUEsR0FBYSxDQUFBLElBZ0J6QixTQUFZQyxHQUNWQSxFQUFBLGNBQUEsZUFDRCxDQUZELENBQVlBLEtBQUFBLEdBQVMsQ0FBQSxJQ2VyQixNQUFNQyxHQUNPLHlCQURQQSxHQUVNLDRCQUZOQSxHQUdTLG1CQUhUQSxHQUlVLG9CQUpWQSxHQUtrQixpQ0FMbEJBLEdBTWlCLDJCQU5qQkEsR0FPZSwrQ0FHZkMsR0FDRyxFQURIQSxHQUVPLEdBRlBBLEdBR0ksR0FISkEsSUFLSSxFQUdKQyxHQUEwQixDQUFDLE1BQU8sTUFBTyxLQUFNLE1BQU8sS0FBTSxTQUFVLFVBQVcsVUFFakZDLEdBQW1CLE9BRW5CLE1BQU9DLFdBQWtCQyxFQUNabk4sSUFDakJvTixRQUVBLFdBQUFDLENBQVlyTixHQUNWc04sUUFDQUMsS0FBS3ZOLElBQU1BLEVBQ1h1TixLQUFLSCxRQUFVbFIsRUFBS3JCLEtBQUttRixFQUFJd04sUUFBUyxTQUFVLGNBQ2hERCxLQUFLRSxnQkFDUCxDQUVRLGNBQUFBLEdBQ05DLEVBQWN4UixFQUFLckIsS0FBSzBTLEtBQUt2TixJQUFJd04sUUFBUyxZQUNiRCxLQUFLdk4sSUFBSTJOLFVBQWdDLG1DQUFvQyxHQUV4R0MsRUFBYTFSLEVBQUtyQixLQUFLMFMsS0FBS3ZOLElBQUl3TixRQUFTLGVBRTdDLENBRVEsaUJBQU1LLEdBQ1osSUFFRSxHQURBSCxFQUFjeFIsRUFBS2xDLFFBQVF1VCxLQUFLSCxVQUM1QnpOLEVBQUd3QyxXQUFXb0wsS0FBS0gsVUFBWXpOLEVBQUdtTyxTQUFTUCxLQUFLSCxTQUFTVyxLQUFPLEVBQUcsT0FBTyxFQUU5RVIsS0FBS3ZOLElBQUlnTyxJQUFJQyxLQUFLbkIsSUFDbEIsTUFBTXhNLFFBQVk0TixFQUFNL00sSUE1QlQsd0NBNEIyQixDQUFFVCxhQUFjLGdCQUcxRCxPQUZBZixFQUFHd08sY0FBY1osS0FBS0gsUUFBUzlNLEVBQUlPLE1BQ25DME0sS0FBS3ZOLElBQUlnTyxJQUFJQyxLQUFLbkIsS0FDWCxDQUNULENBQUUsTUFBT2xPLEdBRVAsT0FEQTJPLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU15TCxLQUNaLENBQ1QsQ0FDRixDQUVRLG9CQUFBc0IsQ0FBcUJwTyxHQUkzQixNQUFNcU8sRUFBd0JyTyxFQUFJMk4sVUFBZ0Qsb0JBQzVFVyxFQUF5QnRPLEVBQUkyTixVQUFpRCxxQkFDOUVZLEVBQWN2TyxFQUFJMk4sVUFBMkMsaUJBQW9CLEdBRWpGYSxFQUFlakIsS0FBS2tCLGdCQUFnQnpPLEdBQ3BDME8sRUFBMkJILEVBQVlJLEtBQUt0UixHQUFRQSxFQUFLa0wsS0FBT2lHLEVBQWFqRyxLQUFLcUcsVUFBWSxDQUFBLEVBQzlGQyxFQUE0Qk4sRUFBWUksS0FBS3RSLEdBQVFBLEVBQUtrTCxLQUFPaUcsRUFBYWpHLEtBQUsvQyxXQUFhLENBQUEsRUFFdEcsR0FBSTZJLEVBQXVCLENBQ3pCQSxFQUFzQi9GLE9BQVNrRyxFQUFhbEcsT0FDNUMrRixFQUFzQjlGLEdBQUtpRyxFQUFhakcsR0FDeEMsTUFBTTJDLEVBQzhDLGlCQUEzQ21ELEVBQXNCbkQsaUJBQ3pCdkgsR0FBVTBLLEVBQXNCbkQsa0JBQ2hDbUQsRUFBc0JuRCxpQkFDNUJtRCxFQUFzQm5ELGlCQUFtQkEsQ0FDM0MsQ0FFSW9ELElBQ0ZBLEVBQXVCaEcsT0FBU2tHLEVBQWFsRyxPQUM3Q2dHLEVBQXVCL0YsR0FBS2lHLEVBQWFqRyxJQWdCM0MsTUFBTyxDQUFFa0UsZ0JBYnNCcEQsR0FDN0JnRixFQUNBSyxFQUNBRixFQUFhbEcsT0FDYmtHLEVBQWFqRyxJQVNtQytELGlCQVBsQm5FLEdBQzlCbUcsRUFDQU8sRUFDQUwsRUFBYWxHLE9BQ2JrRyxFQUFhakcsSUFJakIsQ0FFQSxlQUFBa0csQ0FBZ0J6TyxHQUtkLE1BQU1zSSxFQUNKdEksRUFBSTJOLFVBQStCLG9CQUNuQzNOLEVBQUkyTixVQUErQixtQkFDbkNWLEdBQ0k2QixFQUFlOU8sRUFBSTJOLFVBQThDLFVBQVVyRixNQUFhLENBQUEsRUFFOUYsTUFBTyxDQUFFQSxTQUFRQyxHQUROdUcsRUFBYUMsS0FBTyxHQUNWdEwsT0FBUXFMLEVBQy9CLENBRVEsaUJBQUFFLENBQWtCaFAsR0FDeEIsTUFBTWlQLEVBQW9CalAsRUFBSTJOLFVBQW1ELHdCQUEwQixDQUFBLEVBQ3JHWSxFQUFjdk8sRUFBSTJOLFVBQTJDLGlCQUFvQixHQUNqRmEsRUFBZWpCLEtBQUtrQixnQkFBZ0J6TyxHQUNwQ2tQLEVBQThCWCxFQUFZSSxLQUFLdFIsR0FBUUEsRUFBS2tMLEtBQU9pRyxFQUFhakcsS0FBSzRHLGFBQWUsQ0FBQSxFQUNwR0MsRUFBcUJGLEVBQTRCRSxtQkFDbkRGLEVBQTRCRSxtQkFBbUJoUixNQUFNLEtBQUtpUixJQUFLaFMsR0FBaUJBLEVBQUtpUyxRQUNyRkwsRUFBa0JHLG1CQUNoQkgsRUFBa0JHLG1CQUFtQmhSLE1BQU0sS0FBS2lSLElBQUtoUyxHQUFpQkEsRUFBS2lTLFFBQzNFdEMsR0FFTixPQUFPLElBQUl1QyxJQUNUSCxFQUFtQkMsSUFBS2hTLElBQ3RCLE1BQU1tUyxFQUFnQm5TLEVBQUtpUyxPQUFPbEQsY0FDbEMsT0FBT29ELEVBQWNwTyxXQUFXLEtBQU9vTyxFQUFnQixJQUFJQSxNQUdqRSxDQUdBLFdBQU1DLENBQU12VSxFQUFjaVUsR0FBYyxHQUN0QyxNQUFNblAsRUMxS21CLENBQUNBLElBQ3JCLENBQ0wwUCxXQUFZMVAsRUFBSTBQLFdBQ2hCbEMsUUFBU3hOLEVBQUl3TixRQUNiUSxJQUFLaE8sRUFBSWdPLElBQ1QyQixJQUFLM1AsRUFBSTJQLElBQ1RDLE9BQVEsR0FDUjFVLE1BQU8sR0FDUDJVLFNBQVUsR0FDVkMsZUFBZ0IsR0FDaEJDLGFBQWMvUCxFQUFJK1AsYUFDbEJDLGNBQWVoUSxFQUFJZ1EsY0FDbkJDLFFBQVNqUSxFQUFJaVEsUUFDYkMsT0FBUWxRLEVBQUlrUSxPQUNaQyxRQUFTblEsRUFBSW1RLFFBQ2JDLFlBQWFwUSxFQUFJb1EsWUFDakI3UCxRQUFTUCxFQUFJTyxRQUNiOFAsS0FBTXJRLEVBQUlxUSxLQUNWQyxjQUFldFEsRUFBSXNRLGNBQ25CM0MsVUFBVzNOLEVBQUkyTixVQUFVNEMsS0FBS3ZRLEdBQzlCd1EsV0FBWXhRLEVBQUl3USxXQUFXRCxLQUFLdlEsR0FDaEN5USxhQUFjelEsRUFBSXlRLGFBQWFGLEtBQUt2USxHQUNwQzBRLFVBQVcxUSxFQUFJMFEsVUFBVUgsS0FBS3ZRLEdBQzlCMlEsWUFBYTNRLEVBQUkyUSxZQUFZSixLQUFLdlEsR0FDbEM0USxPQUFRNVEsRUFBSTRRLE9BQU9MLEtBQUt2USxHQUN4QjZRLGdCQUFpQjdRLEVBQUk2USxnQkFBZ0JOLEtBQUt2USxHQUMxQzhRLFlBQWE5USxFQUFJOFEsWUFBWVAsS0FBS3ZRLEdBQ2xDK1EsR0FBSS9RLEVBQUkrUSxHQUFHUixLQUFLdlEsR0FDaEJnUixLQUFNaFIsRUFBSWdSLEtBQUtULEtBQUt2USxHQUNwQmlSLGVBQWdCalIsRUFBSWlSLGVBQWVWLEtBQUt2USxHQUN4Q2tSLElBQUtsUixFQUFJa1IsSUFBSVgsS0FBS3ZRLEdBQ2xCbVIsbUJBQW9CblIsRUFBSW1SLG1CQUFtQlosS0FBS3ZRLEdBQ2hEb1IsZ0JBQWlCcFIsRUFBSW9SLGdCQUFnQmIsS0FBS3ZRLEdBQzFDcVIsZ0JBQWlCclIsRUFBSXFSLGdCQUFnQmQsS0FBS3ZRLEdBQzFDc1IsVUFBV3RSLEVBQUlzUixVQUFVZixLQUFLdlEsR0FDOUJ1UixhQUFjdlIsRUFBSXVSLGFBQWFoQixLQUFLdlEsR0FDcEN3UixLQUFNeFIsRUFBSXdSLEtBQUtqQixLQUFLdlEsR0FDcEJ5UixjQUFlelIsRUFBSXlSLGNBQWNsQixLQUFLdlEsR0FDdEMwUixnQkFBaUIxUixFQUFJMFIsZ0JBQWdCbkIsS0FBS3ZRLEdBQzFDMlIsb0JBQXFCM1IsRUFBSTJSLG9CQUFvQnBCLEtBQUt2USxHQUNsRDRSLFdBQVk1UixFQUFJNFIsV0FBV3JCLEtBQUt2USxLRGtJcEI2UixDQUFjdEUsS0FBS3ZOLEtBQy9CLElBQ0UsSUFBSzFGLE1BQU1vSixRQUFReEksR0FBUSxNQUFNLElBQUk0VyxNQUFNLDJCQUkzQyxPQUZBdkUsS0FBS3dFLGtCQUFrQi9SLEVBQUs5RSxHQUV4QmlVLFFBQ1c1QixLQUFLeUUsa0JBQWtCaFMsU0FHekJ1TixLQUFLMEUsaUJBQWlCalMsRUFDckMsQ0FBRSxNQUFPa1MsR0FDUCxPQUFPM0UsS0FBSzRFLFlBQVluUyxFQUFLa1MsRUFDL0IsQ0FDRixDQUVRLGlCQUFBSCxDQUFrQi9SLEVBQWE5RSxHQUNyQzhFLEVBQUk5RSxNQUFRQSxFQUNaOEUsRUFBSTRQLE9BQVMsR0FDYjVQLEVBQUk4UCxlQUFpQixHQUNyQjlQLEVBQUlvUyxhQUFlLEdBQ25CcFMsRUFBSTZQLFNBQVd3QyxFQUFVblgsRUFDM0IsQ0FFUSx1QkFBTThXLENBQWtCaFMsR0FNOUIsT0FMQUEsRUFBSWdPLElBQUlDLEtBQUssaUJBQ2JqTyxFQUFJNFAsT0FBUzVQLEVBQUk5RSxZQUNYcVMsS0FBSytFLFNBQVN0UyxHQUNwQkEsRUFBSTlFLE1BQVE4RSxFQUFJNlAsZUFDVnRDLEtBQUtnRixZQUFZdlMsR0FDaEJBLENBQ1QsQ0FFUSxzQkFBTWlTLENBQWlCalMsR0FVN0IsYUFUTXVOLEtBQUtpRixXQUFXeFMsU0FDaEJ1TixLQUFLa0YsZ0JBQWdCelMsU0FDckJ1TixLQUFLbUYsWUFBWTFTLFNBQ2pCdU4sS0FBS29GLGNBQWMzUyxTQUNuQnVOLEtBQUtxRixhQUFhNVMsR0FDeEJBLEVBQUk4UCxlQUFpQnVDLEVBQVVyUyxFQUFJNFAsY0FDN0JyQyxLQUFLK0UsU0FBU3RTLEdBQ3BCQSxFQUFJOUUsTUFBUThFLEVBQUk2UCxlQUNWdEMsS0FBS2dGLFlBQVl2UyxHQUNoQkEsQ0FDVCxDQUVRLFdBQUFtUyxDQUFZblMsRUFBYXFCLEdBTS9CLEdBTEFyQixFQUFJZ08sSUFBSXRMLEtBQUtrSyxHQUFjaUcsUUFDM0I3UyxFQUFJd1IsS0FBSzVFLEdBQWNrRyxnQkFBaUIvRixJQUN4Qy9NLEVBQUl3UixLQUFLNUUsR0FBY2lHLE9BQVF4UixHQUMvQnJCLEVBQUlnTyxJQUFJM00sTUFBTUEsR0FFVnJCLEVBQUkyTixVQUErQixTQUNyQyxNQUFNdE0sRUFFUixPQUFPckIsQ0FDVCxDQUdRLGdCQUFNd1MsQ0FBV3hTLEdBQ3ZCLE1BQU15TSxnQkFBRUEsRUFBZUgsaUJBQUVBLEdBQXFCaUIsS0FBS2EscUJBQXFCcE8sR0FDbEUrUyxFQUFpQnhGLEtBQUt5QixrQkFBa0JoUCxHQU05QyxHQUpBQSxFQUFJd1IsS0FBSzVFLEdBQWNrRyxnQkFBaUIvRixJQUN4Qy9NLEVBQUl3UixLQUFLNUUsR0FBY29HLGlCQUFrQmhULEdBQ3pDQSxFQUFJZ08sSUFBSUMsS0FBSyxvQkFFVHhCLEdBQW1CSCxFQUFrQixDQUN2QyxNQUFNMkcsRUFBZS9XLEVBQUtyQixLQUFLbUYsRUFBSXdOLFFBQVMscUJBQ3RDRCxLQUFLMkYsY0FBY2xULEVBQUtpVCxFQUFjeEcsRUFBaUJILEVBQWtCeUcsRUFDakYsTUFDRXhGLEtBQUs0Rix3QkFBd0JuVCxHQUUvQixPQUFPQSxDQUNULENBRVEsdUJBQUFtVCxDQUF3Qm5ULEdBQzlCLElBQUssTUFBTTNDLEtBQVEyQyxFQUFJOUUsTUFDckI4RSxFQUFJb1MsYUFBY2dCLEtBQUsvVixFQUUzQixDQUVRLG1CQUFNNlYsQ0FDWmxULEVBQ0FpVCxFQUNBeEcsRUFDQUgsRUFDQXlHLFNBRU01UyxRQUFRa1QsV0FDWnJULEVBQUk5RSxNQUFNbVUsSUFBSTlQLE1BQU9sQyxFQUFjaVcsV0FDM0IvRixLQUFLZ0csYUFBYWxXLEVBQU1pVyxFQUFPdFQsRUFBS2lULEVBQWN4RyxFQUFpQkgsRUFBa0J5RyxLQUdqRyxDQUVRLGtCQUFNUSxDQUNabFcsRUFDQWlXLEVBQ0F0VCxFQUNBaVQsRUFDQXhHLEVBQ0FILEVBQ0F5RyxHQUVBLE1BQU1TLEVBQVloVixHQUFNbkIsR0FDbEI0USxFQUFnQ3VGLFFBQWtCelQsR0FBVzFDLEVBQU0yQyxHQUFPLENBQUVILFNBQVMsR0FFM0YsR0FBSTJULEtBQWV2RixFQUFLcE8sVUFBWW9PLEVBQUt2TyxRQUFTLE9BRWxETSxFQUFJb1MsYUFBY2tCLEdBQVNqVyxFQUMzQixNQUFNb1csRUFBWUQsRUFBWXZGLEVBQUs3UixTQUFXLEdBQUtGLEVBQUtFLFFBQVFpQixHQUMxRHFXLEVBQXNCWCxFQUFlWSxJQUFJRixFQUFVckgsZUFFbkR4USxFQUFxQjRYLEVBQVl2RixFQUFLdk8sT0FBVUMsRUFBR2lVLGFBQWF2VyxHQUNoRXdXLFFBQTBCdEcsS0FBS3VHLGdCQUNuQ2xZLEVBQ0E2WCxFQUNBaEgsRUFDQUgsRUFDQW9ILEVBQ0FyVyxFQUNBNFYsRUFDQWpULEdBR0U2VCxTQUNJdEcsS0FBS3dHLG1CQUNUMVcsRUFDQWlXLEVBQ0F0VCxFQUNBaVQsRUFDQVksRUFDQUosRUFDQWhILEVBQ0ErRyxFQUNBdkYsRUFHTixDQUVRLHFCQUFNNkYsQ0FDWmxZLEVBQ0E2WCxFQUNBaEgsRUFDQUgsRUFDQW9ILEVBQ0FyVyxFQUNBNFYsRUFDQWpULEdBRUEsSUFBSTZULEVBMEJKLE9BdkJJckgsR0FBZUMsRUFBaUJnSCxLQUFlQyxJQUNqREcsUUFBMEJ0RyxLQUFLeUcsY0FDN0JwWSxFQUNBaVksRUFDQUosRUFDQWhILEVBQ0FwUCxFQUNBNFYsRUFDQWpULElBS0FxTSxHQUFtQkMsRUFBa0JtSCxLQUFlQyxJQUN0REcsUUFBMEJ0RyxLQUFLMEcsYUFBYXJZLEVBQVkwUSxFQUFtQnRNLElBSXhFNlQsSUFBcUJwSCxHQUFpQjdCLGNBQWlCOEksSUFDMUQxVCxFQUFJZ08sSUFBSUMsS0FBS25CLElBQ2IrRyxRQUEwQm5ILEdBQVc5USxFQUFZNlgsSUFHNUNJLENBQ1QsQ0FFUSxrQkFBTUksQ0FDWnJZLEVBQ0EwUSxFQUNBdE0sR0FFQSxJQUFNc00sR0FBa0J6SCxtQkFBeUQsVUFBcEN5SCxHQUFrQjlILGNBQTRCLENBRXpGLFVBRDZCK0ksS0FBS00sY0FHaEMsWUFEQU4sS0FBS3ZOLElBQUlnTyxJQUFJdEwsS0FBS29LLEdBR3RCLENBR0EsT0FEQTlNLEVBQUlnTyxJQUFJQyxLQUFLbkIsVUFDQTFCLEdBQWtCeFAsRUFBWTBRLEVBQWtCaUIsS0FBS0gsUUFBU3BOLEVBQUlnTyxJQUNqRixDQUVRLG1CQUFNZ0csQ0FDWnBZLEVBQ0FpWSxFQUNBSixFQUNBaEgsRUFDQXBQLEVBQ0E0VixFQUNBalQsR0FFQUEsRUFBSWdPLElBQUlDLEtBQUtuQixJQUNiLE1BQU1vSCxFQUFzQlQsRUFBVXJILGNBRXRDLE9BQUs1TixHQUFNbkIsSUFBa0MsVUFBeEI2VyxHQUEyRCxVQUF4QkEsUUFJM0M1SSxHQUFjdUksR0FBcUJqWSxFQUFZNlEsRUFBaUJnSCxFQUFXelQsRUFBSWdPLFdBSDdFVCxLQUFLNEcsdUJBQXVCdlksRUFBWXlCLEVBQU1vVyxFQUFXUixFQUFjeEcsRUFBaUJ6TSxFQUl6RyxDQUVRLDRCQUFNbVUsQ0FDWnZZLEVBQ0F5QixFQUNBb1csRUFDQVIsRUFDQXhHLEVBQ0F6TSxHQUVBLE1BQU1vVSxRQUFtQkMsRUFBWSxDQUNuQzNVLE9BQVE5RCxFQUFXOEQsT0FDbkJ3SSxPQUFRLE9BQ1JvQixRQUFTLElBRUxnTCxFQUFzQnBZLEVBQUtyQixLQUFLb1ksRUFBYyxHQUFHL1csRUFBS0MsU0FBU2tCLEVBQU1vVyxVQUUzRSxPQURBOVQsRUFBR3dPLGNBQWNtRyxFQUFxQjVPLE9BQU9DLEtBQUt5TyxVQUNyQzlJLEdBQWMzTCxFQUFHaVUsYUFBYVUsR0FBc0I3SCxFQUFpQixPQUFRek0sRUFBSWdPLElBQ2hHLENBRVEsd0JBQU0rRixDQUNaMVcsRUFDQWlXLEVBQ0F0VCxFQUNBaVQsRUFDQVksRUFDQUosRUFDQWhILEVBQ0ErRyxFQUNBdkYsR0FFQSxJQUFJc0csRUFBUzlILEdBQWlCakQsVUFBWXlDLEdBQW1CUSxFQUFpQmdILEdBQWFBLEVBQzNGYyxFQUFTQSxFQUFPblQsV0FBVyxLQUFPbVQsRUFBUyxJQUFJQSxJQUUvQyxNQUFNQyxFQUFXaEIsRUFDYnRYLEVBQUtyQixLQUFLb1ksRUFBYyxHQUFHMUYsS0FBS2tILGdCQUFnQnhHLEtBQVFzRyxLQUN4RHJZLEVBQUtyQixLQUFLb1ksRUFBYyxHQUFHL1csRUFBS0MsU0FBU2tCLEVBQU1vVyxLQUFhYyxLQUVoRXZVLEVBQUlvUyxhQUFja0IsR0FBU3BYLEVBQUtyQixLQUM5QnFCLEVBQUtsQyxRQUFRcUQsR0FDYm1XLEVBQVl0WCxFQUFLQyxTQUFTcVksR0FBWSxHQUFHdFksRUFBS0MsU0FBU2tCLEVBQU1vVyxLQUFhYyxLQUc1RTVVLEVBQUd3TyxjQUFjcUcsRUFBVVgsR0FDM0I3VCxFQUFJOUUsTUFBTW9ZLEdBQVNrQixDQUNyQixDQUVRLGVBQUFDLENBQWdCeEcsR0FDdEIsT0FBT0EsRUFBS3hPLFNBQVd2RCxFQUFLQyxTQUFTOFIsRUFBS3hPLFNBQVV2RCxFQUFLRSxRQUFRNlIsRUFBS3hPLFlBQWEsSUFBSTNELE1BQU9rQixVQUFVaEMsVUFDMUcsQ0FHUSxtQkFBTTJYLENBQWMzUyxHQUMxQixNQUFNd08sRUFBZWpCLEtBQUtrQixnQkFBZ0J6TyxHQUNwQzBVLEVBQXFCMVUsRUFBSTJOLFVBQWUsbUJBQXFCLENBQUEsRUFDN0RZLEVBQWN2TyxFQUFJMk4sVUFBMkMsaUJBQW9CLEdBRWpGZ0gsRUFBZSxJQUNoQkQsS0FGMEJuRyxFQUFZSSxLQUFLdFIsR0FBUUEsRUFBS2tMLEtBQU9pRyxFQUFhakcsS0FBS3FNLFFBQVUsQ0FBQSxHQUtoRyxJQUFLRCxFQUFhRSxPQUFRLE9BQU83VSxFQUVqQyxNQUFNa0ksRUFBU3lNLEVBQWF6TSxRQUFVLGFBa0J0QyxPQWpCQWxJLEVBQUk0UCxPQUFTNVAsRUFBSTRQLE9BQU9QLElBQUksQ0FBQ2hTLEVBQWdCaVcsS0FDM0MsSUFBSTdULEVBQVdwQyxFQUFLb0MsU0FjcEIsT0FaRUEsRUFBV2pFLEdBQ1R3RSxFQUFJb1MsYUFBY2tCLEdBQ2xCcEwsT0FDQWpMLEVBQ0FJLEVBQUt5WCxZQUFjelgsRUFBS3lYLFlBQWN6WCxFQUFLcUMsUUFFN0NELEVBQVdBLEVBQVMxQyxRQUFRLE9BQVEsS0FDVCxNQUF2QjBDLEVBQVNuRCxPQUFNLEtBQ2pCbUQsR0FBc0I2VCxFQUFNdFksWUFHaENxQyxFQUFLb0MsU0FBV0EsRUFDVHBDLElBRUYyQyxDQUNULENBRVEscUJBQU15UyxDQUFnQnpTLEdBRTVCLGFBRE11TixLQUFLd0gsY0FBYy9VLEVBQUlrUSxPQUFPOEUsdUJBQXdCaFYsR0FDckRBLENBQ1QsQ0FFUSxpQkFBTTBTLENBQVkxUyxHQUN4QkEsRUFBSXdSLEtBQUs1RSxHQUFja0csZ0JBQWlCL0YsSUFDeEMsTUFBTTVOLEVBQU9hLEVBQUkyTixVQUErQix1QkFBeUIsT0FDekUsSUFBSXNILEVBQWNqVixFQUFJa1EsT0FBTytFLFlBQVk5VCxJQUFJaEMsR0FDekMrVixFQUFxQi9WLEVBVXpCLE9BUks4VixJQUNIQSxFQUFjalYsRUFBSWtRLE9BQU8rRSxZQUFZOVQsSUFBSSxRQUN6QytULEVBQXFCLE9BQ3JCbFYsRUFBSWdPLElBQUl0TCxLQUFLLDRCQUE0QnZELDRDQUczQ2EsRUFBSWdPLElBQUlDLEtBQUssMkNBQTJDaUgsWUFDbERELEdBQWFFLE9BQU9uVixJQUNuQkEsQ0FDVCxDQUVRLGtCQUFNNFMsQ0FBYTVTLEdBS3pCLE9BSkFBLEVBQUl3UixLQUFLNUUsR0FBY2tHLGdCQUFpQi9GLElBQ3hDL00sRUFBSWdPLElBQUlDLEtBQUssaUJBQ2JqTyxFQUFJd1IsS0FBSzVFLEdBQWN3SSxjQUFlcFYsU0FDaEN1TixLQUFLd0gsY0FBYy9VLEVBQUlrUSxPQUFPbUYsb0JBQXFCclYsR0FDbERBLENBQ1QsQ0FFUSxjQUFNc1MsQ0FBU3RTLEdBQ3JCLE1BQU13TyxFQUFlakIsS0FBS2tCLGdCQUFnQnpPLEdBQzFDLElBQUlzVixFQUFXdFYsRUFBSWtRLE9BQU9vRixTQUFTblUsSUFBSXFOLEVBQWFsRyxRQUNoRGlOLEVBQWtCL0csRUFBYWxHLE9BQzlCZ04sSUFDSHRWLEVBQUlnTyxJQUFJdEwsS0FBSyx5QkFBeUI2UyxtQ0FBaUR0SSxNQUN2RnNJLEVBQWtCdEksR0FDbEJxSSxFQUFXdFYsRUFBSWtRLE9BQU9vRixTQUFTblUsSUFBSThMLEtBR3JDak4sRUFBSWdPLElBQUlDLEtBQ04scUNBQXFDc0gsc0JBQW9DL0csRUFBYWpHLElBQU0sb0JBRXhGK00sR0FBVUgsT0FBT25WLElBRXZCLElBQUssTUFBTXdWLEtBQWF4VixFQUFJNFAsT0FDMUI0RixFQUFVclcsS0FBT29XLEVBRW5CLE9BQU92VixDQUNULENBRVEsaUJBQU11UyxDQUFZdlMsR0FDeEJBLEVBQUl3UixLQUFLNUUsR0FBYzZJLGFBQWN6VixHQUNyQ0EsRUFBSXdSLEtBQUs1RSxHQUFja0csZ0JBQWlCLFdBQ2xDdkYsS0FBS3dILGNBQWMvVSxFQUFJa1EsT0FBT3dGLG1CQUFvQjFWLEdBQ3hELElBQUkyVixFQUFNLEdBQ1YsTUFBTXZiLEVBQVM0RixFQUFJNFAsT0FBT3hWLE9BQ3BCd2IsR0FBd0YsSUFBcEU1VixFQUFJMk4sVUFBZ0MsNEJBQzlELElBQUssSUFBSXBULEVBQUksRUFBR0EsRUFBSUgsRUFBUUcsU0FDVSxJQUF6QnlGLEVBQUk0UCxPQUFPclYsR0FBR3NiLFNBQ3ZCRixHQUFPQyxFQUFvQi9XLEdBQWdCbUIsRUFBSTRQLE9BQU9yVixHQUFHc2IsUUFBVzdWLEVBQUk0UCxPQUFPclYsR0FBR3NiLE9BQzlFdGIsSUFBTUgsRUFBUyxJQUNqQnViLEdBQU8sY0FHSjNWLEVBQUk0UCxPQUFPclYsR0FBR3VhLG1CQUNkOVUsRUFBSTRQLE9BQU9yVixHQUFHbUYsT0FJdkIsT0FGQU0sRUFBSXdSLEtBQUs1RSxHQUFja0osU0FBVTlWLEdBQ2pDQSxFQUFJZ08sSUFBSW5PLFFBQVEsS0FBSzhWLEtBQ2QzVixDQUNULENBR1EsbUJBQU0rVSxDQUFjZ0IsRUFBcUMvVixHQUMvRCxNQUFNZ1csRUFBVUQsRUFBaUJFLFVBQzNCQyxFQUFjSCxFQUFpQkksWUFDL0JDLEVBQWdCTCxFQUFpQk0sVUFhdkMsYUFYTWxXLFFBQVFtVyxJQUNaTixFQUFRM0csSUFBSTlQLE1BQU9nWCxFQUFpQmpELEtBQ2xDLElBQ0V0VCxFQUFJZ08sSUFBSUMsS0FBSyxHQUFHbUksTUFBa0JGLEVBQVk1QyxvQkFDeENpRCxFQUFPcEIsT0FBT25WLEVBQ3RCLENBQUUsTUFBT2tTLEdBRVAsTUFEQWxTLEVBQUlnTyxJQUFJM00sTUFBTSxHQUFHK1UsTUFBa0JGLEVBQVk1QyxZQUN6Q3BCLENBQ1IsS0FHR2xTLENBQ1QsRUVuakJLLE1DYUR3VyxHQUFxRCxDQUN6RCxRQ2hCbUIsQ0FDbkJDLGNBQWUsT0FDZkMsZUFBZ0IsZUFDaEJDLDJCQUE0QixlQUM1QkMscUJBQXNCLGdDQUN0QkMsYUFBYyxZQUNkQyxZQUFhLE9BR2JDLFlBQWEsUUFDYkMsa0JBQW1CLFVBQ25CQywwQkFBMkIsV0FDM0JDLHlCQUEwQixTQUMxQkMsa0NBQW1DLGNBR25DQyxxQkFBc0IsUUFDdEJDLDhCQUErQixTQUMvQkMsc0NBQXVDLGlDQUN2Q0MsNEJBQTZCLFNBQzdCQyxvQ0FBcUMsVUFDckNDLGlDQUFrQyxVQUNsQ0MseUNBQTBDLFdBQzFDQyw2QkFBOEIsUUFDOUJDLHFDQUFzQyw4Q0FDdENDLDBCQUEyQixRQUMzQkMsa0NBQW1DLHVCQUNuQ0Msa0NBQW1DLFVBQ25DQywwQ0FBMkMsMkJBQzNDQyw2QkFBOEIsU0FDOUJDLHFDQUFzQyxXQUN0Q0MsaUNBQWtDLGNBQ2xDQyx5Q0FBMEMsZUFHMUNDLGFBQWMsT0FDZEMsa0JBQW1CLE9BQ25CQywwQkFBMkIsd0JBQzNCQyx1QkFBd0IsVUFDeEJDLCtCQUFnQyxzQkFDaENDLHFCQUFzQixTQUN0QkMsNkJBQThCLFdBRzlCQyxtQkFBb0IsUUFDcEJDLGlCQUFrQixRQUNsQkMseUJBQTBCLGdDQUMxQkMsbUJBQW9CLFVBQ3BCQywyQkFBNEIsdUJBQzVCQyxzQkFBdUIsUUFDdkJDLDhCQUErQixvQkFDL0JDLHNCQUF1QixPQUN2QkMsOEJBQStCLFFBQy9CQyx3QkFBeUIsU0FDekJDLGlDQUFrQyxZQUNsQ0MscUJBQXNCLFNBQ3RCQyw4QkFBK0IsV0FDL0JDLHVCQUF3QixVQUN4QkMsK0JBQWdDLHVCQUdoQ0MsZ0JBQWlCLFNBQ2pCQyw0QkFBNkIsZ0JBQzdCQyxnQ0FBaUMsb0JBQ2pDQyx1QkFBd0IsV0FDeEJDLHFCQUFzQixTQUN0QkMscUJBQXNCLFNBQ3RCQyx3QkFBeUIsU0FDekJDLDBCQUEyQixVQUMzQkMsd0JBQXlCLFNBQ3pCQyw2QkFBOEIscUJBQzlCQyw2QkFBOEIsWUFDOUJDLGdDQUFpQyxXQUNqQ0MsZ0NBQWlDLHlCQUNqQ0Msa0NBQW1DLHVCQUduQ0Msb0JBQXFCLFNBQ3JCQyw0QkFBNkIsUUFDN0JDLDZCQUE4QixhQUM5QkMsOEJBQStCLGNBQy9CQywwQkFBMkIsVUFDM0JDLDJCQUE0QixXQUM1QkMseUJBQTBCLFNBQzFCQyw2QkFBOEIsUUFDOUJDLHlCQUEwQixTQUMxQkMsNEJBQTZCLFNBQzdCQyw0QkFBNkIsU0FDN0JDLDhCQUErQixVQUMvQkMsa0NBQW1DLGlCQUNuQ0MsaUNBQWtDLGlCQUNsQ0MsaUNBQWtDLFlBQ2xDQyxvQ0FBcUMseUJBQ3JDQyxzQ0FBdUMsdUJBQ3ZDQyxvQ0FBcUMsa0JBQ3JDQyxxQ0FBc0MsNENBQ3RDQyx5QkFBMEIsT0FDMUJDLDZCQUNFLDJFQUNGQyxpQ0FBa0MsS0FDbENDLGdDQUFpQyxLQUdqQ0MsY0FBZSxTQUNmQyxvQkFBcUIsVUFDckJDLG1CQUFvQixRQUNwQkMsbUJBQW9CLFNBQ3BCQyxzQkFBdUIsU0FDdkJDLHFCQUFzQixRQUN0QkMsd0JBQXlCLFVBQ3pCQywyQkFBNEIsb0JBQzVCQyw2QkFBOEIsV0FDOUJDLDJCQUE0QixZQUM1QkMsOEJBQStCLFdBQy9CQyxnQ0FBaUMsdUJBR2pDQyxhQUFjLE1BQ2RDLHVCQUF3QixjQUN4QkMsdUJBQXdCLGNBQ3hCQyxvQkFBcUIsV0FDckJDLGtCQUFtQixTQUNuQkMsaUJBQWtCLFNBQ2xCQyxxQkFBc0IsU0FDdEJDLGtCQUFtQixTQUNuQkMsMEJBQTJCLFlBQzNCQywwQkFBMkIsU0FDM0JDLDZCQUE4QixpQkFDOUJDLHlCQUEwQixzQ0FHMUJDLGFBQWMsUUFDZEMsc0JBQXVCLGFBQ3ZCQyxzQkFBdUIsUUFDdkJDLDBCQUEyQixnQkFDM0JDLG1CQUFvQixRQUNwQkMsbUJBQW9CLE9BQ3BCQyw4QkFBK0IsVUFDL0JDLDhCQUErQixhQUMvQkMsa0NBQW1DLGFBQ25DQywyQkFBNEIsV0FDNUJDLDJCQUE0Qiw0QkFHNUJDLGFBQWMsTUFDZEMsb0JBQXFCLFdBQ3JCQyxzQkFBdUIsUUFDdkJDLHNCQUF1QixVQUN2QkMsa0JBQW1CLFNBQ25CQyxpQkFBa0IsU0FDbEJDLHFCQUFzQixTQUN0QkMsc0JBQXVCLGNBQ3ZCQyw0QkFBNkIsYUFDN0JDLHdCQUF5QixZQUN6QkMsOEJBQStCLFNBQy9CQyw4QkFBK0IsYUFDL0JDLHlCQUEwQixnQ0FDMUJDLDZCQUE4QixlQUM5QkMsMEJBQTJCLFlBQzNCQyw4QkFBK0IsK0JBRy9CQyxtQkFBb0IsU0FDcEJDLHdCQUF5QixTQUN6QkMsOEJBQStCLFFBQy9CQyw0QkFBNkIsUUFDN0JDLDRCQUE2QixPQUM3QkMsd0JBQXlCLFNBQ3pCQywyQkFBNEIsU0FDNUJDLDZCQUE4QixVQUM5QkMsNEJBQTZCLFNBQzdCQywyQkFBNEIsU0FDNUJDLGdDQUFpQyxpQ0FDakNDLHNDQUF1QyxhQUN2Q0Msb0NBQXFDLFNBQ3JDQyxvQ0FBcUMsT0FDckNDLGdDQUFpQyxZQUNqQ0Msd0NBQXlDLFVBQ3pDQyxxQ0FBc0MsdUJBQ3RDQyxtQ0FBb0Msa0JBR3BDQyxpQkFBa0IsU0FDbEJDLHNCQUF1QixPQUN2QkMsc0JBQXVCLE9BQ3ZCQywwQkFBMkIsUUFDM0JDLDBCQUEyQixPQUMzQkMsNEJBQTZCLE9BQzdCQyx1Q0FBd0MsU0FDeENDLDRCQUE2QixTQUM3QkMsMkJBQTRCLFVBQzVCQyw4QkFBK0IsU0FDL0JDLDJCQUE0QixXQUM1QkMsMkJBQTRCLFNBQzVCQywwQkFBMkIsVUFDM0JDLDhCQUErQixjQUMvQkMsOEJBQStCLE9BQy9CQyxvQ0FBcUMsNkJBQ3JDQywrQ0FBZ0QsU0FDaERDLG9DQUFxQyxZQUNyQ0MsbUNBQW9DLHVCQUNwQ0Msc0NBQXVDLFVBQ3ZDQyxtQ0FBb0MsZUFDcENDLG1DQUFvQyxXQUNwQ0Msa0NBQW1DLFdBR25DQyxlQUFnQixVQUNoQkMsb0JBQXFCLE9BQ3JCQyxvQkFBcUIsT0FDckJDLHNCQUF1QixPQUN2QkMsMEJBQTJCLFFBQzNCQyxtQkFBb0IsVUFHcEJDLGtCQUFtQixPQUNuQkMsb0JBQXFCLE9BQ3JCQyw0QkFBNkIsT0FDN0JDLGlCQUFrQixPQUNsQkMseUJBQTBCLDBCQUMxQkMsa0JBQW1CLFVBQ25CQywwQkFBMkIsaUJBQzNCQyx3QkFBeUIsU0FDekJDLGdDQUFpQyxRQUNqQ0MscUJBQXNCLFNBQ3RCQyw2QkFBOEIsWUFDOUJDLHVCQUF3QixPQUN4QkMsK0JBQWdDLGFBR2hDQyxrQkFBbUIsU0FDbkJDLDhCQUErQixnQkFDL0JDLG1DQUFvQyxvQkFDcENDLHlCQUEwQixXQUMxQkMseUJBQTBCLFdBQzFCQyw2QkFBOEIsU0FDOUJDLDJCQUE0QixVQUM1QkMsd0JBQXlCLE9BQ3pCQyw0QkFBNkIsVUFDN0JDLDBCQUEyQixTQUMzQkMsa0NBQW1DLHlCQUNuQ0Msa0NBQW1DLHFCQUNuQ0MscUNBQXNDLGNBQ3RDQyxzQkFBdUIsY0FDdkJDLDJDQUE0QyxtREFDNUNDLHNDQUF1Qyx3QkFDdkNDLDJDQUE0QyxpQkFDNUNDLGlDQUFrQyxXQUNsQ0MsaUNBQWtDLGdCQUNsQ0MscUNBQXNDLHNCQUN0Q0MsbUNBQW9DLHlDQUNwQ0MsZ0NBQWlDLDRCQUNqQ0Msb0NBQXFDLHVCQUNyQ0MsMENBQTJDLFFBQzNDQyw2Q0FBOEMsUUFDOUNDLDhCQUErQixrQkFDL0JDLG1EQUFvRCxRQUVwREMsa0JBQW1CLE9BQ25CQyxpQ0FBa0MsU0FDbENDLHlDQUEwQyxZQUMxQ0MsZ0NBQWlDLFNBQ2pDQyx3Q0FBeUMsVUFDekNDLHdDQUF5QyxTQUN6Q0MsZ0RBQWlELFlBQ2pEQyxrQ0FBbUMsU0FDbkNDLDBDQUEyQyxRQUMzQ0MsZ0NBQWlDLFNBQ2pDQyx3Q0FBeUMsVUFDekNDLG9DQUFxQyxhQUNyQ0MsNENBQTZDLGNBQzdDQyxzQ0FBdUMsZUFDdkNDLDZDQUE4QyxZQUM5Q0MsaUNBQWtDLFdBQ2xDQyw2Q0FBOEMsWUFDOUNDLHFDQUFzQyxXQUN0Q0MsNkNBQThDLFlBQzlDQyxvQ0FBcUMsU0FDckNDLDRDQUE2QyxVQUM3Q0Msd0NBQXlDLFlBQ3pDQyxnREFBaUQsY0FFakRDLG9CQUFxQixTQUNyQkMsdUNBQXdDLGdCQUV4Q0MsZUFBZ0IsUUFDaEJDLHNCQUF1QixVQUN2QkMsc0JBQXVCLFVBRXZCQyxpQkFBa0IsT0FDbEJDLHlCQUEwQixTQUMxQkMsaUNBQWtDLGNBQ2xDQywyQkFBNEIsV0FDNUJDLG1DQUFvQyxVQUNwQ0MsK0JBQWdDLFNBQ2hDQyx1Q0FBd0MsVUFDeENDLDBCQUEyQixXQUMzQkMsa0NBQW1DLFVBQ25DQyw2QkFBOEIsU0FDOUJDLHFDQUFzQyxRQUN0Q0MsOEJBQStCLFNBQy9CQyxzQ0FBdUMsUUFDdkNDLG1DQUFvQyxhQUNwQ0MsMkNBQTRDLGNBQzVDQyx3QkFBeUIsV0FDekJDLHdCQUF5QixXQUN6QkMsK0JBQWdDLFVBQ2hDQyx1Q0FBd0MsUUFDeENDLHNDQUF1QyxXQUN2Q0MsMEJBQTJCLFdBQzNCQyxrQ0FBbUMsVUFDbkNDLDhCQUErQixTQUMvQkMsc0NBQXVDLGFBQ3ZDQyw4QkFBK0IsYUFDL0JDLHNDQUF1QyxnQkFHdkNDLHNDQUF1QyxTQUN2Q0MscUNBQXNDLFNBQ3RDQyw0Q0FBNkMsc0NBQzdDQywwQ0FBMkMseUJBQzNDQyx3Q0FBeUMsU0FDekNDLHVDQUF3QyxTQUN4Q0MsOENBQStDLHNDQUMvQ0MsNkNBQThDLGtCQUM5Q0MscUNBQXNDLFNBQ3RDQyxvQ0FBcUMsU0FDckNDLDJDQUE0QyxzQ0FDNUNDLDBDQUEyQyxtQkR2VDNDLFFFZjZCLENBQzdCbFMsY0FBZSxPQUNmQyxlQUFnQixjQUNoQkMsMkJBQTRCLGFBQzVCQyxxQkFBc0IsZ0NBQ3RCQyxhQUFjLFlBQ2RDLFlBQWEsT0FHYkMsWUFBYSxRQUNiQyxrQkFBbUIsVUFDbkJDLDBCQUEyQixXQUMzQkMseUJBQTBCLFNBQzFCQyxrQ0FBbUMsY0FHbkNDLHFCQUFzQixRQUN0QkMsOEJBQStCLFVBQy9CQyxzQ0FBdUMsaUNBQ3ZDQyw0QkFBNkIsU0FDN0JDLG9DQUFxQyxVQUNyQ0MsaUNBQWtDLFVBQ2xDQyx5Q0FBMEMsV0FDMUNDLDZCQUE4QixRQUM5QkMscUNBQXNDLDhDQUN0Q0MsMEJBQTJCLFFBQzNCQyxrQ0FBbUMsdUJBQ25DQyxrQ0FBbUMsVUFDbkNDLDBDQUEyQywyQkFDM0NDLDZCQUE4QixTQUM5QkMscUNBQXNDLFlBQ3RDQyxpQ0FBa0MsV0FDbENDLHlDQUEwQyxlQUcxQ0MsYUFBYyxLQUNkQyxrQkFBbUIsU0FDbkJDLDBCQUEyQix3QkFDM0JDLHVCQUF3QixTQUN4QkMsK0JBQWdDLHNCQUNoQ0MscUJBQXNCLFNBQ3RCQyw2QkFBOEIsWUFHOUJDLG1CQUFvQixRQUNwQkMsaUJBQWtCLFFBQ2xCQyx5QkFBMEIsZ0NBQzFCQyxtQkFBb0IsVUFDcEJDLDJCQUE0Qix1QkFDNUJDLHNCQUF1QixRQUN2QkMsOEJBQStCLG9CQUMvQkMsc0JBQXVCLE9BQ3ZCQyw4QkFBK0IsUUFDL0JDLHdCQUF5QixTQUN6QkMsaUNBQWtDLFlBQ2xDQyxxQkFBc0IsU0FDdEJDLDhCQUErQixZQUMvQkMsdUJBQXdCLFNBQ3hCQywrQkFBZ0MsdUJBR2hDQyxnQkFBaUIsU0FDakJDLDRCQUE2QixnQkFDN0JDLGdDQUFpQyxvQkFDakNDLHVCQUF3QixXQUN4QkMscUJBQXNCLFNBQ3RCQyxxQkFBc0IsU0FDdEJDLHdCQUF5QixTQUN6QkMsMEJBQTJCLFNBQzNCQyx3QkFBeUIsU0FDekJDLDZCQUE4QixxQkFDOUJDLDZCQUE4QixZQUM5QkMsZ0NBQWlDLFlBQ2pDQyxnQ0FBaUMseUJBQ2pDQyxrQ0FBbUMsdUJBR25DQyxvQkFBcUIsU0FDckJDLDRCQUE2QixRQUM3QkMsNkJBQThCLGFBQzlCQyw4QkFBK0IsY0FDL0JDLDBCQUEyQixVQUMzQkMsMkJBQTRCLFdBQzVCQyx5QkFBMEIsU0FDMUJDLDZCQUE4QixRQUM5QkMseUJBQTBCLFNBQzFCQyw0QkFBNkIsU0FDN0JDLDRCQUE2QixTQUM3QkMsOEJBQStCLFNBQy9CQyxrQ0FBbUMsaUJBQ25DQyxpQ0FBa0MsaUJBQ2xDQyxpQ0FBa0MsWUFDbENDLG9DQUFxQyx5QkFDckNDLHNDQUF1Qyx1QkFDdkNDLG9DQUFxQyxrQkFDckNDLHFDQUFzQyw0Q0FDdENDLHlCQUEwQixPQUMxQkcsZ0NBQWlDLEtBQ2pDRCxpQ0FBa0MsS0FDbENELDZCQUNFLDJFQUdGRyxjQUFlLFNBQ2ZDLG9CQUFxQixVQUNyQkMsbUJBQW9CLFNBQ3BCQyxtQkFBb0IsU0FDcEJDLHNCQUF1QixTQUN2QkMscUJBQXNCLFNBQ3RCQyx3QkFBeUIsU0FDekJDLDJCQUE0QixvQkFDNUJDLDZCQUE4QixXQUM5QkMsMkJBQTRCLFlBQzVCQyw4QkFBK0IsV0FDL0JDLGdDQUFpQyx1QkFHakNDLGFBQWMsTUFDZEMsdUJBQXdCLGNBQ3hCQyx1QkFBd0IsY0FDeEJDLG9CQUFxQixXQUNyQkMsa0JBQW1CLFNBQ25CQyxpQkFBa0IsU0FDbEJDLHFCQUFzQixTQUN0QkMsa0JBQW1CLFNBQ25CQywwQkFBMkIsWUFDM0JDLDBCQUEyQixTQUMzQkMsNkJBQThCLGlCQUM5QkMseUJBQTBCLHNDQUcxQkMsYUFBYyxRQUNkQyxzQkFBdUIsYUFDdkJDLHNCQUF1QixRQUN2QkMsMEJBQTJCLGdCQUMzQkMsbUJBQW9CLFFBQ3BCQyxtQkFBb0IsVUFDcEJDLDhCQUErQixVQUMvQkMsOEJBQStCLGFBQy9CQyxrQ0FBbUMsYUFDbkNDLDJCQUE0QixXQUM1QkMsMkJBQTRCLDRCQUc1QkMsYUFBYyxNQUNkQyxvQkFBcUIsV0FDckJNLHNCQUF1QixRQUN2Qkwsc0JBQXVCLFFBQ3ZCQyxzQkFBdUIsVUFDdkJDLGtCQUFtQixTQUNuQkMsaUJBQWtCLFNBQ2xCQyxxQkFBc0IsU0FDdEJFLDRCQUE2QixhQUM3QkMsd0JBQXlCLFlBQ3pCQyw4QkFBK0IsU0FDL0JDLDhCQUErQixhQUMvQkMseUJBQTBCLGdDQUMxQkMsNkJBQThCLGVBQzlCQywwQkFBMkIsWUFDM0JDLDhCQUErQiwrQkFHL0JDLG1CQUFvQixTQUNwQkMsd0JBQXlCLFVBQ3pCQyw4QkFBK0IsYUFDL0JDLDRCQUE2QixRQUM3QkMsNEJBQTZCLE9BQzdCQyx3QkFBeUIsU0FDekJFLDZCQUE4QixTQUM5QkMsNEJBQTZCLFNBQzdCQywyQkFBNEIsU0FDNUJILDJCQUE0QixTQUM1QkksZ0NBQWlDLGlDQUNqQ0Msc0NBQXVDLGFBQ3ZDQyxvQ0FBcUMsU0FDckNDLG9DQUFxQyxTQUNyQ0MsZ0NBQWlDLFlBQ2pDQyx3Q0FBeUMsVUFDekNDLHFDQUFzQyx1QkFDdENDLG1DQUFvQyxpQkFHcENDLGlCQUFrQixTQUNsQkMsc0JBQXVCLE9BQ3ZCQyxzQkFBdUIsT0FDdkJDLDBCQUEyQixRQUMzQkMsMEJBQTJCLE9BQzNCQyw0QkFBNkIsT0FDN0JDLHVDQUF3QyxTQUN4Q0MsNEJBQTZCLFNBQzdCQywyQkFBNEIsU0FDNUJDLDhCQUErQixTQUMvQkMsMkJBQTRCLFdBQzVCQywyQkFBNEIsU0FDNUJDLDBCQUEyQixVQUMzQkMsOEJBQStCLGNBQy9CQyw4QkFBK0IsT0FDL0JDLG9DQUFxQyw2QkFDckNDLCtDQUFnRCxTQUNoREMsb0NBQXFDLFlBQ3JDQyxtQ0FBb0MsdUJBQ3BDQyxzQ0FBdUMsVUFDdkNDLG1DQUFvQyxlQUNwQ0MsbUNBQW9DLFdBQ3BDQyxrQ0FBbUMsV0FHbkNDLGVBQWdCLFVBQ2hCQyxvQkFBcUIsT0FDckJDLG9CQUFxQixPQUNyQkMsc0JBQXVCLE9BQ3ZCQywwQkFBMkIsUUFDM0JDLG1CQUFvQixVQUdwQkMsa0JBQW1CLE9BQ25CQyxvQkFBcUIsT0FDckJDLDRCQUE2QixRQUM3QkMsaUJBQWtCLE9BQ2xCQyx5QkFBMEIsMEJBQzFCQyxrQkFBbUIsVUFDbkJDLDBCQUEyQixXQUMzQkMsd0JBQXlCLFNBQ3pCQyxnQ0FBaUMsTUFDakNDLHFCQUFzQixTQUN0QkMsNkJBQThCLE1BQzlCQyx1QkFBd0IsU0FDeEJDLCtCQUFnQyxVQUdoQ0Msa0JBQW1CLFNBQ25CQyw4QkFBK0IsZ0JBQy9CQyxtQ0FBb0Msb0JBQ3BDQyx5QkFBMEIsV0FDMUJDLHlCQUEwQixXQUMxQkMsNkJBQThCLFNBQzlCQywyQkFBNEIsVUFDNUJDLHdCQUF5QixPQUN6QkMsNEJBQTZCLFVBQzdCQywwQkFBMkIsU0FDM0JDLGtDQUFtQyx5QkFDbkNDLGtDQUFtQyx1QkFDbkNDLHFDQUFzQywwQkFDdENDLHNCQUF1QixRQUN2QkMsMkNBQTRDLG1EQUM1Q0Msc0NBQXVDLHdCQUN2Q0MsMkNBQTRDLGlCQUM1Q0MsaUNBQWtDLHNCQUNsQ0MsaUNBQWtDLGdCQUNsQ0MscUNBQXNDLFlBQ3RDQyxtQ0FBb0MseUNBQ3BDQyxnQ0FBaUMsNEJBQ2pDQyxvQ0FBcUMsdUJBQ3JDQywwQ0FBMkMsUUFDM0NDLDZDQUE4QyxRQUM5Q0MsOEJBQStCLGtCQUMvQkMsbURBQW9ELFFBRXBEQyxrQkFBbUIsT0FDbkJDLGlDQUFrQyxTQUNsQ0MseUNBQTBDLFlBQzFDQyxnQ0FBaUMsU0FDakNDLHdDQUF5QyxVQUN6Q0Msd0NBQXlDLFNBQ3pDQyxnREFBaUQsWUFDakRDLGtDQUFtQyxTQUNuQ0MsMENBQTJDLFFBQzNDQyxnQ0FBaUMsU0FDakNDLHdDQUF5QyxVQUN6Q0Msb0NBQXFDLFNBQ3JDQyw0Q0FBNkMsY0FDN0NDLHNDQUF1QyxXQUN2Q0MsNkNBQThDLFlBQzlDQyxpQ0FBa0MsV0FDbENDLDZDQUE4QyxZQUM5Q0MscUNBQXNDLFdBQ3RDQyw2Q0FBOEMsWUFDOUNDLG9DQUFxQyxTQUNyQ0MsNENBQTZDLFVBQzdDQyx3Q0FBeUMsWUFDekNDLGdEQUFpRCxjQUVqREMsb0JBQXFCLFNBQ3JCQyx1Q0FBd0MsZUFFeENDLGVBQWdCLFFBQ2hCQyxzQkFBdUIsVUFDdkJDLHNCQUF1QixVQUV2QkMsaUJBQWtCLFNBQ2xCQyx5QkFBMEIsU0FDMUJDLGlDQUFrQyxjQUNsQ0MsMkJBQTRCLFdBQzVCQyxtQ0FBb0MsVUFDcENDLCtCQUFnQyxTQUNoQ0MsdUNBQXdDLFVBQ3hDQywwQkFBMkIsV0FDM0JDLGtDQUFtQyxVQUNuQ0MsNkJBQThCLFNBQzlCQyxxQ0FBc0MsUUFDdENDLDhCQUErQixTQUMvQkMsc0NBQXVDLFFBQ3ZDQyxtQ0FBb0MsYUFDcENDLDJDQUE0QyxjQUM1Q0Msd0JBQXlCLFdBQ3pCQyx3QkFBeUIsV0FDekJDLCtCQUFnQyxVQUNoQ0MsdUNBQXdDLFFBQ3hDQyxzQ0FBdUMsV0FDdkNDLDBCQUEyQixXQUMzQkMsa0NBQW1DLFVBQ25DQyw4QkFBK0IsU0FDL0JDLHNDQUF1QyxhQUN2Q0MsOEJBQStCLGFBQy9CQyxzQ0FBdUMsZ0JBR3ZDQyxzQ0FBdUMsU0FDdkNDLHFDQUFzQyxTQUN0Q0MsNENBQTZDLHNDQUM3Q0MsMENBQTJDLDRCQUMzQ0Msd0NBQXlDLFNBQ3pDQyx1Q0FBd0MsU0FDeENDLDhDQUErQyxzQ0FDL0NDLDZDQUE4QyxvQkFDOUNDLHFDQUFzQyxTQUN0Q0Msb0NBQXFDLFNBQ3JDQywyQ0FBNEMsc0NBQzVDQywwQ0FBMkMscUJGeFQzQ0MsR0RoQjBCLENBQzFCblMsY0FBZSxnQkFDZkMsZUFBZ0IsNkJBQ2hCQywyQkFBNEIseUNBQzVCQyxxQkFBc0IsdUZBQ3RCQyxhQUFjLHVDQUNkQyxZQUFhLHdCQUdiQyxZQUFhLFFBQ2JDLGtCQUFtQixZQUNuQkMsMEJBQTJCLHlCQUMzQkMseUJBQTBCLDJCQUMxQkMsa0NBQW1DLGVBR25DQyxxQkFBc0IsV0FDdEJDLDhCQUErQixlQUMvQkMsc0NBQXVDLDRCQUN2Q0MsNEJBQTZCLGFBQzdCQyxvQ0FBcUMsbUNBQ3JDQyxpQ0FBa0MsbUJBQ2xDQyx5Q0FBMEMsZ0NBQzFDQyw2QkFBOEIsY0FDOUJDLHFDQUFzQywrQ0FDdENDLDBCQUEyQixXQUMzQkMsa0NBQW1DLHdCQUNuQ0Msa0NBQW1DLG9CQUNuQ0MsMENBQTJDLDRCQUMzQ0MsNkJBQThCLGVBQzlCQyxxQ0FBc0MsNEJBQ3RDQyxpQ0FBa0MseUJBQ2xDQyx5Q0FBMEMsZ0JBRTFDQyxhQUFjLFFBQ2RDLGtCQUFtQixXQUNuQkMsMEJBQTJCLDRCQUMzQkMsdUJBQXdCLGlCQUN4QkMsK0JBQWdDLHVCQUNoQ0MscUJBQXNCLGVBQ3RCQyw2QkFBOEIsNEJBRzlCQyxtQkFBb0IsUUFDcEJDLGlCQUFrQixVQUNsQkMseUJBQTBCLGdDQUMxQkMsbUJBQW9CLFlBQ3BCQywyQkFBNEIsMEVBQzVCQyxzQkFBdUIsZUFDdkJDLDhCQUErQiw2RUFDL0JDLHNCQUF1QixlQUN2QkMsOEJBQStCLDRCQUMvQkMsd0JBQXlCLGtCQUN6QkMsaUNBQWtDLGFBQ2xDQyxxQkFBc0IsZUFDdEJDLDhCQUErQiw0QkFDL0JDLHVCQUF3QixpQkFDeEJDLCtCQUFnQyx1QkFHaENDLGdCQUFpQixZQUNqQkMsNEJBQTZCLGtCQUM3QkMsZ0NBQWlDLHNCQUNqQ0MsdUJBQXdCLGFBQ3hCQyxxQkFBc0IsV0FDdEJDLHFCQUFzQixXQUN0QkMsd0JBQXlCLGVBQ3pCQywwQkFBMkIsaUJBQzNCQyx3QkFBeUIsaUJBQ3pCQyw2QkFBOEIscUJBQzlCQyw2QkFBOEIsWUFDOUJDLGdDQUFpQyw0QkFDakNDLGdDQUFpQyx5QkFDakNDLGtDQUFtQyx1QkFHbkNDLG9CQUFxQixnQkFDckJDLDRCQUE2QixxQkFDN0JDLDZCQUE4QixlQUM5QkMsOEJBQStCLGdCQUMvQkMsMEJBQTJCLFlBQzNCQywyQkFBNEIsYUFDNUJDLHlCQUEwQixXQUMxQkMsNkJBQThCLGVBQzlCQyx5QkFBMEIsV0FDMUJDLDRCQUE2QixlQUM3QkMsNEJBQTZCLGlCQUM3QkMsOEJBQStCLGlCQUMvQkMsa0NBQW1DLGlCQUNuQ0MsaUNBQWtDLGlCQUNsQ0MsaUNBQWtDLFlBQ2xDQyxvQ0FBcUMsNEJBQ3JDQyxzQ0FBdUMsdUJBQ3ZDQyxvQ0FBcUMsa0JBQ3JDQyxxQ0FBc0MsNENBQ3RDQyx5QkFBMEIsZ0JBQzFCQyw2QkFDRSw0SUFDRkMsaUNBQWtDLE9BQ2xDQyxnQ0FBaUMsUUFFakNDLGNBQWUsU0FDZkMsb0JBQXFCLFlBQ3JCQyxtQkFBb0IsZ0JBQ3BCQyxtQkFBb0IsV0FDcEJDLHNCQUF1QixlQUN2QkMscUJBQXNCLGFBQ3RCQyx3QkFBeUIsaUJBQ3pCQywyQkFBNEIsb0JBQzVCQyw2QkFBOEIsV0FDOUJDLDJCQUE0QixZQUM1QkMsOEJBQStCLDRCQUMvQkMsZ0NBQWlDLHVCQUdqQ0MsYUFBYyxRQUNkQyx1QkFBd0IsZ0JBQ3hCQyx1QkFBd0IsZ0JBQ3hCQyxvQkFBcUIsYUFDckJDLGtCQUFtQixXQUNuQkMsaUJBQWtCLFVBQ2xCQyxxQkFBc0IsaUJBQ3RCQyxrQkFBbUIsV0FDbkJDLDBCQUEyQixZQUMzQkMsMEJBQTJCLFNBQzNCQyw2QkFBOEIsaUJBQzlCQyx5QkFBMEIsc0NBRzFCQyxhQUFjLFFBQ2RDLHNCQUF1QixlQUN2QkMsc0JBQXVCLGVBQ3ZCQywwQkFBMkIsbUJBQzNCQyxtQkFBb0IsaUJBQ3BCQyxtQkFBb0IsWUFDcEJDLDhCQUErQiwrQ0FDL0JDLDhCQUErQixpREFDL0JDLGtDQUFtQyxpREFDbkNDLDJCQUE0QixXQUM1QkMsMkJBQTRCLDRCQUc1QkMsYUFBYyxRQUNkQyxvQkFBcUIsYUFDckJNLHNCQUF1QixlQUN2Qkwsc0JBQXVCLGVBQ3ZCQyxzQkFBdUIsd0JBQ3ZCQyxrQkFBbUIsV0FDbkJDLGlCQUFrQixVQUNsQkMscUJBQXNCLGlCQUN0QkUsNEJBQTZCLHVCQUM3QkMsd0JBQXlCLDJCQUN6QkMsOEJBQStCLFNBQy9CQyw4QkFBK0IsVUFDL0JDLHlCQUEwQixnQ0FDMUJDLDZCQUE4QixlQUM5QkMsMEJBQTJCLFlBQzNCQyw4QkFBK0IsK0JBRy9CQyxtQkFBb0IsU0FDcEJDLHdCQUF5QixXQUN6QkMsOEJBQStCLGVBQy9CQyw0QkFBNkIsZUFDN0JDLDRCQUE2QixlQUM3QkMsd0JBQXlCLFdBQ3pCQywyQkFBNEIsbUJBQzVCQyw2QkFBOEIsaUJBQzlCQyw0QkFBNkIsZ0JBQzdCQywyQkFBNEIsaUJBQzVCQyxnQ0FBaUMsaUNBQ2pDQyxzQ0FBdUMsZUFDdkNDLG9DQUFxQyxTQUNyQ0Msb0NBQXFDLDJCQUNyQ0MsZ0NBQWlDLFlBQ2pDQyx3Q0FBeUMsd0NBQ3pDQyxxQ0FBc0MsdUJBQ3RDQyxtQ0FBb0MsaUJBR3BDQyxpQkFBa0IsZ0JBQ2xCQyxzQkFBdUIsV0FDdkJDLHNCQUF1QixXQUN2QkMsMEJBQTJCLGVBQzNCQywwQkFBMkIsZUFDM0JDLDRCQUE2QixrQkFDN0JDLHVDQUF3Qyw2QkFDeENDLDRCQUE2QixrQkFDN0JDLDJCQUE0QixpQkFDNUJDLDhCQUErQixtQkFDL0JDLDJCQUE0QixzQkFDNUJDLDJCQUE0QixnQkFDNUJDLDBCQUEyQixxQkFDM0JDLDhCQUErQixjQUMvQkMsOEJBQStCLGFBQy9CQyxvQ0FBcUMsNkJBQ3JDQywrQ0FBZ0QseUNBQ2hEQyxvQ0FBcUMsWUFDckNDLG1DQUFvQyx1QkFDcENDLHNDQUF1Qyx3Q0FDdkNDLG1DQUFvQyxlQUNwQ0MsbUNBQW9DLFdBQ3BDQyxrQ0FBbUMsV0FHbkNDLGVBQWdCLFVBQ2hCQyxvQkFBcUIsV0FDckJDLG9CQUFxQixXQUNyQkMsc0JBQXVCLGFBQ3ZCQywwQkFBMkIsa0JBQzNCQyxtQkFBb0IsVUFHcEJDLGtCQUFtQixPQUNuQkMsb0JBQXFCLGNBQ3JCQyw0QkFBNkIsU0FDN0JDLGlCQUFrQixXQUNsQkMseUJBQTBCLHNCQUMxQkMsa0JBQW1CLFlBQ25CQywwQkFBMkIsVUFDM0JDLHdCQUF5QixrQkFDekJDLGdDQUFpQyxRQUNqQ0MscUJBQXNCLGVBQ3RCQyw2QkFBOEIsd0JBQzlCQyx1QkFBd0IsaUJBQ3hCQywrQkFBZ0MsYUFHaENDLGtCQUFtQixTQUNuQkMsOEJBQStCLGtCQUMvQkMsbUNBQW9DLHNCQUNwQ0MseUJBQTBCLGFBQzFCQyx5QkFBMEIsYUFDMUJDLDZCQUE4QixrQkFDOUJDLDJCQUE0QixlQUM1QkMsd0JBQXlCLFlBQ3pCQyw0QkFBNkIsaUJBQzdCQywwQkFBMkIsY0FDM0JDLGtDQUFtQyx5QkFDbkNDLGtDQUFtQyxzQkFDbkNDLHFDQUFzQyx5QkFDdENDLHNCQUF1QixVQUN2QkMsMkNBQ0Usb0ZBQ0ZDLHNDQUF1QyxVQUN2Q0MsMkNBQTRDLFVBQzVDQyxpQ0FBa0MsV0FDbENDLGlDQUFrQyxnQkFDbENDLHFDQUFzQyxzQkFDdENDLG1DQUFvQyx5Q0FDcENDLGdDQUFpQyw0QkFDakNDLG9DQUFxQyx1QkFDckNDLDBDQUEyQyw0Q0FDM0NDLDZDQUE4Qyx1RUFDOUNDLDhCQUErQixrQkFDL0JDLG1EQUFvRCwyQ0FFcER3QixvQkFBcUIsd0JBQ3JCQyx1Q0FBd0MsNEJBRXhDQyxlQUFnQixrQkFDaEJDLHNCQUF1QixvQkFDdkJDLHNCQUF1QixnQkFFdkIzQixrQkFBbUIscUJBQ25CQyxpQ0FBa0MsMkJBQ2xDQyx5Q0FBMEMsb0NBQzFDQyxnQ0FBaUMscUJBQ2pDQyx3Q0FBeUMsK0JBQ3pDQyx3Q0FBeUMsdUNBQ3pDQyxnREFBaUQsZ0RBQ2pEQyxrQ0FBbUMsc0JBQ25DQywwQ0FBMkMsd0JBQzNDQyxnQ0FBaUMscUJBQ2pDQyx3Q0FBeUMsOEJBQ3pDQyxvQ0FBcUMscUJBQ3JDQyw0Q0FBNkMsNENBQzdDQyxzQ0FBdUMsOENBQ3ZDQyw2Q0FBOEMsb0NBQzlDQyxpQ0FBa0MsMkJBQ2xDQyw2Q0FBOEMsbUNBQzlDQyxxQ0FBc0MsMkJBQ3RDQyw2Q0FBOEMsd0NBQzlDQyxvQ0FBcUMseUJBQ3JDQyw0Q0FBNkMsbUNBQzdDQyx3Q0FBeUMsOEJBQ3pDQyxnREFBaUQsd0NBRWpETSxpQkFBa0Isc0JBQ2xCQyx5QkFBMEIsb0JBQzFCQyxpQ0FBa0Msd0NBQ2xDQywyQkFBNEIsdUNBQzVCQyxtQ0FBb0MsNENBQ3BDQywrQkFBZ0Msd0JBQ2hDQyx1Q0FBd0Msa0NBQ3hDQywwQkFBMkIsOEJBQzNCQyxrQ0FBbUMseUNBQ25DQyw2QkFBOEIscUJBQzlCQyxxQ0FBc0Msd0JBQ3RDQyw4QkFBK0Isc0JBQy9CQyxzQ0FBdUMsd0JBQ3ZDQyxtQ0FBb0MsNENBQ3BDQywyQ0FBNEMsaURBQzVDQyx3QkFBeUIsdUNBQ3pCQyx3QkFBeUIseUNBQ3pCQywrQkFBZ0MsMEJBQ2hDQyx1Q0FBd0Msd0JBQ3hDQyxzQ0FBdUMsMkNBQ3ZDQywwQkFBMkIsOEJBQzNCQyxrQ0FBbUMseUNBQ25DQyw4QkFBK0IscUJBQy9CQyxzQ0FBdUMseUNBQ3ZDQyw4QkFBK0IscUNBQy9CQyxzQ0FBdUMsb0RBRXZDQyxzQ0FBdUMsZ0NBQ3ZDQyxxQ0FBc0MsNkJBQ3RDQyw0Q0FDRSw2RUFDRkMsMENBQ0UsMEZBQ0ZDLHdDQUF5QyxrQ0FDekNDLHVDQUF3QywwQkFDeENDLDhDQUNFLDBFQUNGQyw2Q0FBOEMsNERBQzlDQyxxQ0FBc0MsOEJBQ3RDQyxvQ0FBcUMsdUJBQ3JDQywyQ0FBNEMsdUVBQzVDQywwQ0FBMkMsMkRDdFQ3QyxNQUFNRSxHQUNheFksS0FDQXlZLGNBQ0E5b0IsSUFDakIsV0FBQXFOLENBQVlyTixHQUNWdU4sS0FBS3ZOLElBQU1BLEVBQ1h1TixLQUFLdWIsY0FBZ0IsSUFBSUMsRUFBY3ZTLElBQ3ZDLElBQUl3UyxFQUFXemIsS0FBS3ZOLElBQUkyTixVQUFrQixzQkFBd0IsUUFDN0Q2SSxHQUFhd1MsS0FDaEJBLEVBQVcsU0FFYnpiLEtBQUs4QyxLQUFPLElBQUk0WSxFQUFLLENBQ25CQyxRQUFTM2IsS0FBS3ViLGNBQ2RLLGdCQUFpQkgsSUFFbkJ6YixLQUFLNmIsZ0JBQ1AsQ0FFUSxjQUFBQSxHQUNOLE1BQU1DLEVBQWE5YixLQUFLK2Isc0JBQ1YzcEIsRUFBRzRwQixZQUFZRixFQUFZLENBQ3ZDRyxlQUFlLElBRVhDLFFBQVF6cUIsSUFDWixHQUFJQSxFQUFLMHFCLFVBQVkxcUIsRUFBSzRDLEtBQUsrbkIsU0FBUyxRQUFTLENBQy9DLE1BQU1DLEVBQWUxdEIsRUFBS3JCLEtBQUt3dUIsRUFBWXJxQixFQUFLNEMsTUFDMUNpb0IsRUFBV2xxQixFQUFHaVUsYUFBYWdXLEVBQWMsUUFDL0MsSUFDRSxNQUFNRSxFQUFjQyxFQUFLQyxLQUFLSCxHQUM5QnJULEdBQWF4WCxFQUFLNEMsS0FBSzdFLFFBQVEsU0FBVSxLQUFPK3NCLENBQ2xELENBQUUsTUFBTzVYLEdBQ1AxUCxRQUFRbkIsTUFBTTZRLEVBQ2hCLENBQ0YsR0FFSixDQUVRLG1CQUFBb1gsR0FDTixNQUFNRCxFQUFhbnRCLEVBQUtyQixLQUFLMFMsS0FBS3ZOLElBQUl3TixRQUFTLFlBSS9DLE9BSEt5YyxFQUFlWixJQUNsQjNiLEVBQWMyYixHQUVUQSxDQUNULENBRUEsU0FBQWEsQ0FBNEJqc0IsRUFBc0Jrc0IsR0FDaEQsT0FBTzVjLEtBQUs4QyxLQUFLNlosVUFBVWpzQixFQUFLa3NCLElBQVNsc0IsQ0FDM0MsQ0FFQSxXQUFBbXNCLENBQVlwQixHQUNWemIsS0FBSzhDLEtBQUsrWixZQUFZcEIsR0FDdEJ6YixLQUFLdk4sSUFBSXdRLFdBQVcsQ0FDbEIsb0JBQXFCd1ksR0FFekIsQ0FFQSxTQUFBcUIsQ0FBVXJCLEVBQWtCc0IsR0FDMUIsTUFBTUMsRUFBZ0JoZCxLQUFLdWIsY0FBYzBCLFVBQVV4QixHQUNuRCxJQUFLdUIsRUFDSCxPQUFPLEVBRVQsTUFBTUUsRUFBYUMsRUFBTUgsRUFBZUQsR0FFeEMsT0FEQS9jLEtBQUt1YixjQUFjNkIsVUFBVTNCLEVBQVV5QixJQUNoQyxDQUNULENBRUEsV0FBQUcsQ0FBWTVCLEVBQWtCc0IsR0FFNUIsT0FEc0IvYyxLQUFLdWIsY0FBYzBCLFVBQVV4QixLQUluRHpiLEtBQUt1YixjQUFjNkIsVUFBVTNCLEVBQVVzQixHQUN2QzlULEdBQWF3UyxHQUFZc0IsR0FDbEIsRUFDVCxDQUVBLGVBQUFPLEdBQ0UsT0FBTzN0QixPQUFPQyxLQUFLcVosR0FDckIsRUdqR0YsTUFBTS9TLEdBQWtCLENBQ3RCMFIsT0FBU25WLElBQ0tBLEVBQUkyUCxJQUNabWIsUUFBUUMsT0FBTyxzQkFBdUIscUJDSHhDQyxHQUFZLENBQ2hCN1YsT0FBU25WLElBQ1AsTUFBTTJQLEVBQU0zUCxFQUFJMlAsSUFDaEJBLEVBQUltYixRQUNERyxRQUFRLGVBQ1JDLFlBQVksMENBQ1pDLFVBQVUsY0FDVkMsT0FBUTlWLElBQ1AsSUFDRSxNQUFNK1YsRUFBVXJyQixFQUFJc1EsY0FBY2diLHNCQUFzQmhXLEdBQ2xEaVcsRUFBZ0J2ckIsRUFBSXNRLGNBQWNrYix5QkFBeUJsVyxHQUVqRSxHQUF1QixJQUFuQitWLEVBQVFqeEIsT0FFVixZQURBNEYsRUFBSWdPLElBQUlDLEtBQUssd0JBQXdCcUgsS0FJdkN0VixFQUFJZ08sSUFBSUMsS0FBSyxlQUFlcUgsTUFDNUIrVixFQUFRNUIsUUFBU2htQixJQUNmLE1BQ01nb0IsRUFEWUYsR0FBaUI5bkIsRUFBT3NMLE1BQVF3YyxFQUFjeGMsSUFDckMsYUFBZSxHQUMxQy9PLEVBQUlnTyxJQUFJQyxLQUFLLE9BQU94SyxFQUFPaW9CLGNBQWNELFVBQWVob0IsRUFBT3NMLFNBRW5FLENBQUUsTUFBT21ELEdBQ1BsUyxFQUFJZ08sSUFBSTNNLE1BQU02USxFQUNoQixJQUdKdkMsRUFBSW1iLFFBQ0RHLFFBQVEsY0FDUkMsWUFBWSwyQ0FDWkMsVUFBVSwyQkFDVkMsT0FBTyxDQUFDOVYsRUFBa0JxVyxLQUN6QixJQUNFLE1BQU1sb0IsRUFBU3pELEVBQUlzUSxjQUFjc2IsZ0JBQWdCdFcsRUFBVXFXLEdBRTNELElBQUtsb0IsRUFFSCxZQURBekQsRUFBSWdPLElBQUkzTSxNQUFNLFdBQVdzcUIsb0JBQTZCclcsS0FJeEN0VixFQUFJc1EsY0FBY3ViLGlCQUFpQnZXLEVBQVU3UixFQUFPc0wsS0FHbEUvTyxFQUFJZ08sSUFBSW5PLFFBQVEsUUFBUThyQiw0QkFBcUNyVyxLQUU3RHRWLEVBQUlnTyxJQUFJM00sTUFBTSxrQkFBa0JzcUIsZ0JBRXBDLENBQUUsTUFBT3paLEdBQ1BsUyxFQUFJZ08sSUFBSTNNLE1BQU02USxFQUNoQixJQUdKdkMsRUFBSW1iLFFBQ0RHLFFBQVEsaUJBQ1JDLFlBQVksbUNBQ1pDLFVBQVUsMkJBQ1ZDLE9BQU8sQ0FBQzlWLEVBQWtCcVcsS0FDeEIsV0FDQyxJQUNFLE1BQU1sb0IsRUFBU3pELEVBQUlzUSxjQUFjc2IsZ0JBQWdCdFcsRUFBVXFXLEdBRTNELElBQUtsb0IsRUFFSCxZQURBekQsRUFBSWdPLElBQUkzTSxNQUFNLFdBQVdzcUIsb0JBQTZCclcsS0FJeEQsTUFBTXdXLEVBQVUsQ0FDZCxDQUNFM3NCLEtBQU0sVUFDTnlDLEtBQU0sVUFDTk4sUUFBUywyQ0FBMkNxcUIsTUFDcERJLFNBQVMsSUFNYixXQUZxQi9yQixFQUFJMlAsSUFBSXFjLFNBQVNDLE9BQStCSCxJQUV6REksUUFFVixZQURBbHNCLEVBQUlnTyxJQUFJQyxLQUFLLGFBSUNqTyxFQUFJc1EsY0FBYzZiLHFCQUFxQjdXLEVBQVU3UixFQUFPc0wsS0FHdEUvTyxFQUFJZ08sSUFBSW5PLFFBQVEsbUJBQW1COHJCLFVBQW1CclcsS0FFdER0VixFQUFJZ08sSUFBSTNNLE1BQU0sNEJBQTRCc3FCLEtBRTlDLENBQUUsTUFBT3paLEdBQ1BsUyxFQUFJZ08sSUFBSTNNLE1BQU02USxFQUNoQixDQUNELEVBbkNBLEdBbUNJM1EsTUFBTTJRLElBQ1RsUyxFQUFJZ08sSUFBSTNNLE1BQU02USxPQUlwQnZDLEVBQUltYixRQUNERyxRQUFRLGlCQUNSQyxZQUFZLG1DQUNaQyxVQUFVLGtDQUNWQyxPQUFPLENBQUM5VixFQUFrQjdaLEVBQWlCK0IsS0FDMUMsSUFDRSxNQUFNaUcsRUFBU3pELEVBQUlzUSxjQUFjc2IsZ0JBQWdCdFcsRUFBVTdaLEdBRTNELElBQUtnSSxFQUVILFlBREF6RCxFQUFJZ08sSUFBSTNNLE1BQU0sV0FBVzVGLG9CQUEwQjZaLEtBSXJDdFYsRUFBSXNRLGNBQWNxRSxhQUFhVyxFQUFVN1IsRUFBT3NMLElBQUt2UixHQUduRXdDLEVBQUlnTyxJQUFJbk8sUUFBUSx3QkFBd0JwRSxVQUFnQitCLE1BRXhEd0MsRUFBSWdPLElBQUkzTSxNQUFNLDBCQUVsQixDQUFFLE1BQU82USxHQUNQbFMsRUFBSWdPLElBQUkzTSxNQUFNNlEsRUFDaEIsSUFHSnZDLEVBQUltYixRQUNERyxRQUFRLGVBQ1JDLFlBQVksNEJBQ1pDLFVBQVUsMkJBQ1ZDLE9BQU8sQ0FBQzlWLEVBQWtCcVcsS0FDekIsSUFDRSxJQUFLQSxFQUFZLENBQ2YsTUFBTU4sRUFBVXJyQixFQUFJc1EsY0FBY2diLHNCQUFzQmhXLEdBQ3hELE9BQUsrVixHQUE4QixJQUFuQkEsRUFBUWp4QixZQUl4Qml4QixFQUFRNUIsUUFBUWhtQixJQUNkekQsRUFBSWdPLElBQUlDLEtBQUssdUJBQXVCeEssRUFBT2lvQixpQkFDM0MxckIsRUFBSWdPLElBQUlDLEtBQUssU0FBU3hLLEVBQU9zTCxPQUM3Qi9PLEVBQUlnTyxJQUFJQyxLQUFLLGNBQWMsSUFBSW5TLEtBQUsySCxFQUFPMm9CLFlBQVlDLG9CQUN2RHJzQixFQUFJZ08sSUFBSUMsS0FBSyxjQUFjLElBQUluUyxLQUFLMkgsRUFBTzZvQixZQUFZRCxvQkFDdkRyc0IsRUFBSWdPLElBQUlDLEtBQUssa0JBRWIvUSxPQUFPQyxLQUFLc0csR0FBUWdtQixRQUFReHJCLElBQzFCLElBQUtBLEVBQUltRCxXQUFXLEtBQU0sQ0FDeEIsTUFBTW1yQixFQUFROW9CLEVBQU94RixHQUNmdXVCLEVBQ2EsaUJBQVZELElBQ050dUIsRUFBSVgsU0FBUyxhQUFlVyxFQUFJWCxTQUFTLFVBQVlXLEVBQUlYLFNBQVMsUUFDL0QsTUFDQXVHLEtBQUs0b0IsVUFBVUYsR0FDckJ2c0IsRUFBSWdPLElBQUlDLEtBQUssS0FBS2hRLE1BQVF1dUIsSUFDNUIsV0FuQkZ4c0IsRUFBSWdPLElBQUlDLEtBQUssd0JBQXdCcUgsSUF1QnpDLENBQ0EsTUFBTTdSLEVBQVN6RCxFQUFJc1EsY0FBY3NiLGdCQUFnQnRXLEVBQVVxVyxHQUUzRCxJQUFLbG9CLEVBRUgsWUFEQXpELEVBQUlnTyxJQUFJM00sTUFBTSxXQUFXc3FCLG9CQUE2QnJXLEtBSXhEdFYsRUFBSWdPLElBQUlDLEtBQUssdUJBQXVCMGQsT0FDcEMzckIsRUFBSWdPLElBQUlDLEtBQUssU0FBU3hLLEVBQU9zTCxPQUM3Qi9PLEVBQUlnTyxJQUFJQyxLQUFLLGNBQWMsSUFBSW5TLEtBQUsySCxFQUFPMm9CLFlBQVlDLG9CQUN2RHJzQixFQUFJZ08sSUFBSUMsS0FBSyxjQUFjLElBQUluUyxLQUFLMkgsRUFBTzZvQixZQUFZRCxvQkFDdkRyc0IsRUFBSWdPLElBQUlDLEtBQUssa0JBQ2IvUSxPQUFPQyxLQUFLc0csR0FBUWdtQixRQUFReHJCLElBQzFCLElBQUtBLEVBQUltRCxXQUFXLEtBQU0sQ0FDeEIsTUFBTW1yQixFQUFROW9CLEVBQU94RixHQUNmdXVCLEVBQ2EsaUJBQVZELElBQXVCdHVCLEVBQUlYLFNBQVMsYUFBZVcsRUFBSVgsU0FBUyxVQUFZVyxFQUFJWCxTQUFTLFFBQzVGLE1BQ0F1RyxLQUFLNG9CLFVBQVVGLEdBQ3JCdnNCLEVBQUlnTyxJQUFJQyxLQUFLLEtBQUtoUSxNQUFRdXVCLElBQzVCLEdBRUosQ0FBRSxNQUFPdGEsR0FDUGxTLEVBQUlnTyxJQUFJM00sTUFBTTZRLEVBQ2hCLE1DcExGN0IsR0FBZ0IsQ0FDcEI4RSxPQUFTblYsSUFDS0EsRUFBSTJQLElBQ1ptYixRQUNERyxRQUFRLFFBQ1JFLFVBQVUsVUFDVkQsWUFBWSxxQ0FDWkUsT0FBTzdyQixNQUFPbXRCLEVBQWUsTUFDNUIsTUFBTUMsRUFBTzNzQixFQUFJcVEsS0FBS3dhLGtCQUN0QixJQUFLNkIsRUFBTSxDQUNULE1BQU1aLEVBQVUsQ0FDZCxDQUNFM3NCLEtBQU0sT0FDTnlDLEtBQU0sT0FDTmdyQixRQUFTRCxFQUNUcnJCLFFBQVMsb0JBQ1R5cUIsUUFBUy9yQixFQUFJMk4sVUFBVSxzQkFBd0IsVUFJbkQrZSxTQURxQjFzQixFQUFJMlAsSUFBSXFjLFNBQVNDLE9BQThCSCxJQUN0RHpiLElBQ2hCLENBQ0tzYyxFQUFLcnZCLFNBQVNvdkIsSUFHakIxc0IsRUFBSXFRLEtBQUsrWixZQUFZc0MsR0FDckIxc0IsRUFBSWdPLElBQUluTyxRQUFRLG1CQUFtQjZzQixNQUhuQzFzQixFQUFJZ08sSUFBSXRMLEtBQUssd0JDckJqQm1xQixHQUFnQixDQUNwQmxkLEVBQ0FzYixFQUNBQyxFQUNBNEIsRUFDQTFCLEVBQ0FqbEIsS0FFQSxJQUFJMmtCLEVBQVVuYixFQUFJbWIsUUFBUUcsUUFBUUEsR0FBU0MsWUFBWUEsR0FBYTRCLE1BQU1BLEdBQ3RFM21CLEdBQVM0bUIsUUFDWGpDLEVBQVVBLEVBQVFDLE9BQU8sc0JBQXVCLHFDQUU5QzVrQixHQUFTNm1CLFdBQ1hsQyxFQUFVQSxFQUFRQyxPQUFPLDRCQUE2Qiw2Q0FFeERELEVBQVFNLE9BQU9BLElBR1hwYixHQUF5QixDQUM3Qm1GLE9BQVNuVixJQUNQLE1BQU0yUCxFQUFNM1AsRUFBSTJQLElBQ2hCa2QsR0FDRWxkLEVBQ0EsdUJBQ0EsdUJBQ0EsTUFDQSxDQUFDcUcsRUFBbUI4VSxLQUNsQixNQUFNaUMsTUFBRUEsRUFBS0MsU0FBRUEsR0FBYWxDLEVBQ3RCM2tCLEVBQVUsQ0FBRTRtQixRQUFPQyxZQUN6Qmh0QixFQUFJZ1EsY0FBY2lkLFFBQVFqWCxFQUFTN1AsR0FBUzVFLE1BQU0yUSxJQUNoRGxTLEVBQUlnTyxJQUFJM00sTUFBTTZRLE1BR2xCLENBQUU2YSxPQUFPLEVBQU1DLFVBQVUsSUFFM0JILEdBQWNsZCxFQUFLLHlCQUEwQix5QkFBMEIsS0FBT3FHLElBQzVFaFcsRUFBSWdRLGNBQWNrZCxVQUFVbFgsR0FBU3pVLE1BQU0yUSxJQUN6Q2xTLEVBQUlnTyxJQUFJM00sTUFBTTZRLE9BR2xCMmEsR0FDRWxkLEVBQ0Esc0JBQ0Esc0JBQ0EsS0FDQSxDQUFDcUcsRUFBbUI4VSxLQUNsQixNQUFNaUMsTUFBRUEsRUFBS0MsU0FBRUEsR0FBYWxDLEVBQ3RCM2tCLEVBQVUsQ0FBRTRtQixRQUFPQyxZQUN6Qmh0QixFQUFJZ1EsY0FBYzNVLE9BQU8yYSxFQUFTN1AsR0FBUzVFLE1BQU8yUSxJQUNoRGxTLEVBQUlnTyxJQUFJM00sTUFBTTZRLE1BR2xCLENBQUU2YSxPQUFPLEVBQU1DLFVBQVUsTUN0RHpCRCxHQUFpQixDQUNyQjVYLE9BQVNuVixJQUNLQSxFQUFJMlAsSUFDWm1iLFFBQVFDLE9BQU8sb0JBQXFCLDBCQUE0QmdDLElBQ2xFL3NCLEVBQUkwUSxVQUFVLENBQ1osZUFBZ0JxYyxpQkNKUkksSUFBaUJqeEIsS0FDL0JBLEVBQUlreEIsV0FDSkEsR0FBYSxFQUFLQyxTQUNsQkEsR0FBVyxFQUFJQyxZQUNmQSxHQUFjLElBT2QsTUFBTUMsRUFBWXJ4QixHQUFNYSxRQUFRLGFBQWMsSUFBSUEsUUFBUSxVQUFXLEtBQ3JFLE9BQUt3d0IsRUFHRSxHQUFHSCxFQUFhLElBQU0sS0FBS0csSUFBWUYsRUFBVyxJQUFNLEtBRnREQyxFQUFjLEdBQUssR0FHOUIsQ0FFTSxTQUFVRSxHQUFXdHhCLEdBQ3pCLE9BQU9BLEVBQ0phLFFBQVEsVUFBVyxLQUNuQnFCLE1BQU0sS0FDTmlSLElBQUlvZSxHQUFLQyxtQkFBbUJELElBQzVCNXlCLEtBQUssSUFDVixDQUVPLE1BQU04eUIsR0FDSSxnQkFESkEsR0FFQyxhQUZEQSxHQUdILFNBSEdBLEdBSUssZUFKTEEsR0FLSCxTQUxHQSxHQU1KLFFBTklBLEdBT0osUUFQSUEsR0FRQSxZQVJBQSxHQVNGLFVBVEVBLEdBVUosUUFWSUEsR0FXQSxZQVhBQSxHQVlMLE9BWktBLEdBYUosUUFiSUEsR0FjSixRQWRJQSxHQWVFLGNBR0ZDLEdBQWMsQ0FDekI1dEIsRUFDQTZ0QixFQUNBanNCLEVBQ0F6QyxFQUNBMnVCLEVBQ0FDLEVBQ0FDLEVBQXFCLFNBQ3JCQyxLQUFZLENBRVpyc0IsT0FDQXpDLE9BQ0EsVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUNkLEdBQUc4RCxLQUFjSCxFQUFXTSxpQkFBaUJ2c0IsRUFBS3VzQixnQkFFdEQsRUFDQSxTQUFJckIsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFDZCxHQUFHOEQsS0FBY0gsRUFBV00saUJBQWlCdnNCLEVBQUt1c0IsZ0JBRXRELEVBQ0FwQyxRQUFTK0IsRUFDVEMsY0FDR0UsSUNwRUUsTUFBTUcsR0FBdUJwdUIsSUFDM0IsQ0FDTHF1QixjQUFlcnVCLEVBQUlxUSxLQUFLNlosVUFBdUIsd0JBQy9Db0UsV0FBWXR1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHNCQUM1Q3FFLE9BQVF2dUIsRUFBSXFRLEtBQUs2WixVQUF1QixtQkFDeEMsZUFBZ0JscUIsRUFBSXFRLEtBQUs2WixVQUF1QixxQkFDaERzRSxPQUFReHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsaUJBQ3hDdUUsTUFBT3p1QixFQUFJcVEsS0FBSzZaLFVBQXVCLGdCQUN2Q3dFLE1BQU8xdUIsRUFBSXFRLEtBQUs2WixVQUF1QixnQkFDdkN5RSxVQUFXM3VCLEVBQUlxUSxLQUFLNlosVUFBdUIscUJBQzNDMEUsUUFBUzV1QixFQUFJcVEsS0FBSzZaLFVBQXVCLGtCQUN6QzJFLE1BQU83dUIsRUFBSXFRLEtBQUs2WixVQUF1QixnQkFDdkM0RSxVQUFXOXVCLEVBQUlxUSxLQUFLNlosVUFBdUIsb0JBQzNDNkUsS0FBTS91QixFQUFJcVEsS0FBSzZaLFVBQXVCLGVBQ3RDOEUsTUFBT2h2QixFQUFJcVEsS0FBSzZaLFVBQXVCLHVCQUN2QytFLE1BQU9qdkIsRUFBSXFRLEtBQUs2WixVQUF1QixnQkFDdkNnRixZQUFhbHZCLEVBQUlxUSxLQUFLNlosVUFBdUIsd0JDVjNDaUYsR0FBa0IsQ0FDdEJ2Z0IsU0FBVSxDQUFFbkwsT0NzREMsUUE3REN6RCxJQUNkLE1BQU1vdkIsRUFBYXB2QixFQUFJMk4sVUFBbUMscUJBQXVCLENBQUEsRUF5RGpGLE1BeERnQyxDQUM5QmlnQixHQUFZNXRCLEVBQUssV0FBWSxVQUFXLFFBQVNvdkIsRUFBVzlsQixTQUFXLEtBQUssRUFBTyxXQUNuRnNrQixHQUFZNXRCLEVBQUssV0FBWSxZQUFhLFVBQVdvdkIsRUFBVzVsQixZQUFhLEdBQU8sRUFBTyxXQUMzRm9rQixHQUFZNXRCLEVBQUssV0FBWSxnQkFBaUIsT0FBUW92QixFQUFXMWxCLGVBQWlCLE9BQU8sRUFBTyxVQUFXLENBQ3pHa2pCLFFBQVMsQ0FDUCxPQUNBLEtBQ0EsT0FDQSxNQUNBLE9BQ0EsUUFDQSxPQUNBLE1BQ0EsTUFDQSxNQUNBLFNBQ0EsWUFDQSxNQUNBLE1BQ0EsTUFDQSxNQUNBLE1BQ0EsT0FDQSxNQUNBLElBQ0EsVUFHSmdCLEdBQVk1dEIsRUFBSyxXQUFZLFdBQVksVUFBV292QixFQUFXeGxCLFdBQVksR0FBTyxFQUFPLFdBQ3pGZ2tCLEdBQVk1dEIsRUFBSyxXQUFZLGNBQWUsUUFBU292QixFQUFXcGxCLGFBQWUsS0FBSyxFQUFPLFdBQzNGNGpCLEdBQVk1dEIsRUFBSyxXQUFZLGVBQWdCLFFBQVNvdkIsRUFBV3RsQixjQUFnQixLQUFLLEVBQU8sV0FDN0Y4akIsR0FDRTV0QixFQUNBLFdBQ0EsdUJBQ0EsVUFDQW92QixFQUFXbGxCLHVCQUF3QixHQUNuQyxFQUNBLFdBRUYwakIsR0FDRTV0QixFQUNBLFdBQ0Esb0JBQ0EsVUFDQW92QixFQUFXaGxCLG9CQUFxQixHQUNoQyxFQUNBLFdBRUZ3akIsR0FBWTV0QixFQUFLLFdBQVksZ0JBQWlCLFFBQVNvdkIsRUFBVzlrQixlQUFpQixJQUFJLEVBQU8sV0FDOUZzakIsR0FBWTV0QixFQUFLLFdBQVksU0FBVSxVQUFXb3ZCLEVBQVd0a0IsU0FBVSxHQUFPLEVBQU8sV0FDckY4aUIsR0FBWTV0QixFQUFLLFdBQVksU0FBVSxVQUFXb3ZCLEVBQVdwa0IsU0FBVSxHQUFPLEVBQU8sV0FDckY0aUIsR0FBWTV0QixFQUFLLFdBQVksV0FBWSxVQUFXb3ZCLEVBQVc1a0IsV0FBWSxHQUFPLEVBQU8sV0FDekZvakIsR0FBWTV0QixFQUFLLFdBQVksZUFBZ0IsUUFBU292QixFQUFXMWtCLGNBQWdCLElBQUksRUFBTyxXQUM1RmtqQixHQUFZNXRCLEVBQUssV0FBWSxlQUFnQixVQUFXb3ZCLEVBQVd4a0IsZUFBZ0IsR0FBTyxFQUFPLGNEakR0RW5ILE9BQVF4RixJQUFLLG9CQUMxQ3VILFVBQVcsQ0FBRS9CLE9Fa0VBLFFBMUVDekQsSUFDZCxNQUFNb3ZCLEVBQWFwdkIsRUFBSTJOLFVBQW9DLHNCQUF3QixDQUFBLEVBc0VuRixNQXJFZ0MsQ0FDOUJpZ0IsR0FBWTV0QixFQUFLLFlBQWEsaUJBQWtCLFVBQVdvdkIsRUFBVzVtQixpQkFBa0IsR0FBTyxFQUFPLFdBQ3RHb2xCLEdBQVk1dEIsRUFBSyxZQUFhLGdCQUFpQixPQUFRb3ZCLEVBQVc1cUIsZUFBaUIsUUFBUSxFQUFPLFVBQVcsQ0FDM0dvb0IsUUFBUyxDQUFDLE9BQVEsV0FFcEJnQixHQUNFNXRCLEVBQ0EsWUFDQSx3QkFDQSxVQUNBb3ZCLEVBQVcxcUIsd0JBQXlCLEdBQ3BDLEVBQ0EsV0FFRmtwQixHQUFZNXRCLEVBQUssWUFBYSxrQkFBbUIsUUFBU292QixFQUFXenFCLGlCQUFtQixHQUFHLEVBQU8sV0FDbEdpcEIsR0FBWTV0QixFQUFLLFlBQWEsZ0JBQWlCLFFBQVNvdkIsRUFBV3ZtQixlQUFpQixJQUFJLEVBQU8sV0FDL0Yra0IsR0FBWTV0QixFQUFLLFlBQWEsb0JBQXFCLFFBQVNvdkIsRUFBV3ZxQixtQkFBcUIsSUFBSSxFQUFPLFdBQ3ZHK29CLEdBQ0U1dEIsRUFDQSxZQUNBLHNCQUNBLFFBQ0FvdkIsRUFBV3RxQixxQkFBdUIsS0FDbEMsRUFDQSxXQUVGOG9CLEdBQ0U1dEIsRUFDQSxZQUNBLGlCQUNBLFFBQ0FvdkIsRUFBV3JxQixnQkFBa0IsNkJBQzdCLEVBQ0EsV0FFRjZvQixHQUFZNXRCLEVBQUssWUFBYSxxQkFBc0IsUUFBU292QixFQUFXcHFCLG9CQUFzQixJQUFJLEVBQU8sV0FDekc0b0IsR0FDRTV0QixFQUNBLFlBQ0Esd0JBQ0EsUUFDQW92QixFQUFXbHFCLHVCQUF5QixLQUNwQyxFQUNBLFdBRUYwb0IsR0FDRTV0QixFQUNBLFlBQ0Esb0JBQ0EsT0FDQW92QixFQUFXbG1CLG1CQUFxQixhQUNoQyxFQUNBLFVBQ0EsQ0FDRTBqQixRQUFTLENBQ1AsUUFDQSxZQUNBLFlBQ0EsUUFDQSxZQUNBLFlBQ0EsT0FDQSxPQUNBLFNBQ0EsZUYxRHVCbnBCLE9BQVF4RixJQUFLLHFCQUM1QzJXLE9BQVEsQ0FBRW5SLE9HQUcsUUFUQ3pELElBQ2QsTUFBTW92QixFQUFhcHZCLEVBQUkyTixVQUFlLG1CQUFxQixDQUFBLEVBSzNELE1BSmdDLENBQzlCaWdCLEdBQVk1dEIsRUFBSyxTQUFVLFNBQVUsUUFBU292QixFQUFXbG5CLFFBQVUsY0FBYyxFQUFPLFdBQ3hGMGxCLEdBQVk1dEIsRUFBSyxTQUFVLFNBQVUsVUFBV292QixFQUFXdmEsU0FBVSxHQUFPLEVBQU8sY0hLNURwUixPQUFReEYsSUFBSyxrQkFDdENrUixZQUFhLENBQUUxTCxPSU1GLFFBaEJDekQsSUFDZCxNQUFNb3ZCLEVBQWFwdkIsRUFBSTJOLFVBQTJDLHdCQUEwQixDQUFBLEVBWTVGLE1BWGdDLENBQzlCaWdCLEdBQ0U1dEIsRUFDQSxjQUNBLHFCQUNBLFFBQ0FvdkIsRUFBV2hnQixvQkFBc0IsMkNBQ2pDLEVBQ0EsY0pBK0IzTCxPQUFReEYsSUFBSyx3QkFLNUNveEIsR0FBZTl2QixNQUNuQlMsRUFDQThyQixFQUNBd0QsRUFDQTF0QixFQUNBK3BCLEVBQ0E0RCxLQUVBLE1BQU1DLFFBQWV4dkIsRUFBSTJQLElBQUlxYyxTQUFTQyxPQUFPSCxHQUN2QzJELEVBQVlDLEdBQWNKLEVBQVExdEIsR0FDeEMsR0FBZSxhQUFYMHRCLEVBQXVCLENBQ3pCLE1BQU1LLEVBQW1CaEUsR0FBYyxVQUNqQ2lFLEVBQWlCNXZCLEVBQUlzUSxjQUFjc2IsZ0JBQWdCaHFCLEVBQU0rdEIsR0FDL0QsR0FBSUMsRUFDRjV2QixFQUFJc1EsY0FBY3VmLHFCQUFxQmp1QixFQUFNZ3VCLEVBQWU3Z0IsSUFBS3lnQixHQUNqRXh2QixFQUFJZ08sSUFBSW5PLFFBQVEsbUJBQW1COHZCLFVBQXlCL3RCLFNBQ3ZELENBQ0wsTUFBTWt1QixFQUFZOXZCLEVBQUlzUSxjQUFjeWYsa0JBQWtCbnVCLEVBQU0rdEIsRUFBa0JILEdBQzlFeHZCLEVBQUlnTyxJQUFJbk8sUUFBUSx1QkFBdUI4dkIsVUFBeUIvdEIsS0FDaEU1QixFQUFJc1EsY0FBY3ViLGlCQUFpQmpxQixFQUFNa3VCLEVBQVUvZ0IsSUFDckQsQ0FFQS9PLEVBQUl3USxXQUFXLENBQ2IsaUJBQWtCNU8sRUFDbEIsa0JBQW1CQSxHQUV2QixNQUFPLEdBQWUsWUFBWDB0QixFQUNULEdBQUlDLEVBQWMsQ0FDaEIsTUFBTWphLEVBQVd0VixFQUFJMk4sVUFBZSxZQUFZNGhCLE1BQW1CLENBQUEsRUFDbkUsSUFBS2phLEVBQVMwYSxZQUE2QyxJQUEvQjFhLEVBQVMwYSxXQUFXNTFCLE9BRTlDLFlBREE0RixFQUFJZ08sSUFBSTNNLE1BQU0sZ0NBQWdDa3VCLEtBR2hELE1BQU1VLEVBQWlCM2EsRUFBUzBhLFdBQVdyaEIsS0FDeEN0UixHQUFjQSxFQUFLcXVCLGVBQWlCQyxHQUFjLGFBQ2xENWMsSUFDSCxJQUFLa2hCLEVBRUgsWUFEQWp3QixFQUFJZ08sSUFBSTNNLE1BQU0sb0JBQW9Cc3FCLEdBQWMsaUNBQWlDNEQsS0FHbkYsTUFBTWhoQixFQUFjdk8sRUFBSTJOLFVBQWlCLGlCQUFtQixHQUN0RHVpQixFQUFxQjNoQixFQUFZNGhCLFVBQVU5eUIsR0FBUUEsRUFBS2tMLEtBQU8wbkIsSUFDMUMsSUFBdkJDLEVBQ0YzaEIsRUFBWTJoQixHQUFzQixJQUM3QjNoQixFQUFZMmhCLEdBQ2Z0dUIsQ0FBQ0EsR0FBTzR0QixHQUdWamhCLEVBQVk2RSxLQUFLLENBQ2Y3SyxHQUFJMG5CLEVBQ0pydUIsQ0FBQ0EsR0FBTzR0QixJQUdaeHZCLEVBQUl3USxXQUFXLENBQ2IsZUFBZ0JqQyxHQUVwQixNQUNFdk8sRUFBSXdRLFdBQVcsQ0FBRWlmLENBQUNBLEdBQVlELFNBR2hDeHZCLEVBQUl3USxXQUFXLENBQUVpZixDQUFDQSxHQUFZRCxJQUVmLGdCQUFYRixHQUNGdHZCLEVBQUl3USxXQUFXLENBQ2IscUJBQXNCNU8sS0FNeEI4dEIsR0FBZ0IsQ0FBQ0osRUFBZ0IxdEIsS0FDSyxDQUN4QzBULFNBQVUsVUFBVTFULElBQ3BCcVQsWUFBYSxlQUFlclQsSUFDNUJ3dUIsUUFBUyxXQUFXeHVCLEtBRUwwdEIsSUFBVzF0QixHQWtIeEJ5dUIsR0FBVSxDQUNkbGIsT0FBU25WLElBQ0tBLEVBQUkyUCxJQUNabWIsUUFDREcsUUFBUSxPQUNSNkIsTUFBTSxVQUNOM0IsVUFBVSwrQ0FDVkQsWUFDQyw4UEFFREUsT0FBTyxDQUFDa0UsRUFBZ0IxdEIsRUFBYytwQixFQUFxQjRELEtBQ3pELFdBQ0MsSUFFRSxPQUFRRCxHQUNOLElBQUssZUE5SFMvdkIsT0FDMUJTLEVBQ0E0QixFQUNBK3BCLEVBQ0E0RCxLQUVBLEdBQUkzdEIsR0FBUUEsS0FBUXV0QixHQUFpQixDQUNuQyxNQUFNRyxFQUFTSCxHQUFnQnZ0QixHQUUvQixrQkFETXl0QixHQUFhcnZCLEVBQUtzdkIsRUFBTzdyQixPQUFPekQsR0FBTSxVQUFXNEIsRUFBTStwQixFQUFZNEQsRUFFM0UsQ0FFQSxHQUFJM3RCLEtBQVVBLEtBQVF1dEIsSUFHcEIsT0FGQW52QixFQUFJZ08sSUFBSTNNLE1BQU0sMkJBQTJCTyxVQUN6QzVCLEVBQUlnTyxJQUFJdEwsS0FBSyx3RUFLZixNQUtNb3BCLEVBQVUsQ0FDZCxDQUNFM3NCLEtBQU0sT0FDTnlDLEtBQU0sVUFDTmdyQixRQVRZMXZCLE9BQU9vekIsUUFBUW5CLElBQWlCOWYsSUFBSSxFQUFFa2QsR0FBU3R1QixXQUFNLENBQ25FMkQsS0FBTTVCLEVBQUlxUSxLQUFLNlosVUFBdUJqc0IsR0FDdENzdUIsV0FRRWpyQixRQUFTLDRCQUlQa3VCLFFBQWV4dkIsRUFBSTJQLElBQUlxYyxTQUFTQyxPQUE4QkgsR0FDOUR5RSxFQUFpQnBCLEdBQWdCSyxFQUFPWSxlQUN4Q2YsR0FBYXJ2QixFQUFLdXdCLEVBQWU5c0IsT0FBT3pELEdBQU0sVUFBV3d2QixFQUFPWSxRQUFTekUsRUFBWTRELElBNEZ2RWlCLENBQW9CeHdCLEVBQUs0QixFQUFNK3BCLEVBQVk0RCxHQUNqRCxNQUNGLElBQUssV0FDTCxJQUFLLG1CQTVGaUJod0IsT0FDbENTLEVBQ0FzdkIsRUFDQTF0QixFQUNBK3BCLEtBRUEsR0FBSS9wQixFQUFNLENBQ1IsTUFBTXZFLEVBQU8yQyxFQUFJa1EsT0FBT29mLEdBQVFudUIsSUFBSVMsR0FDcEMsT0FBS3ZFLE9BSURBLEVBQUtvRyxjQUNENHJCLEdBQWFydkIsRUFBSzNDLEVBQUtvRyxPQUFPekQsR0FBTXN2QixFQUFRMXRCLEVBQU0rcEIsU0FKeEQzckIsRUFBSWdPLElBQUkzTSxNQUFNLE1BQU1pdUIsV0FBZ0IxdEIsSUFPeEMsQ0FHQSxNQUFNZ3JCLEVBQVU1c0IsRUFBSWtRLE9BQU9vZixHQUFRblosWUFBWTlHLElBQUtoUyxJQUFZLENBQzlEdUUsS0FBTXdzQixHQUFvQnB1QixHQUFLM0MsSUFBU0EsRUFDeENrdkIsTUFBT2x2QixLQUdIeXVCLEVBQVUsQ0FDZCxDQUNFM3NCLEtBQU0sT0FDTnlDLEtBQU0wdEIsRUFDTjFDLFVBQ0F0ckIsUUFBUyxlQUFlZ3VCLE1BSXRCRSxRQUFleHZCLEVBQUkyUCxJQUFJcWMsU0FBU0MsT0FBOEJILEdBQzlEenVCLEVBQU8yQyxFQUFJa1EsT0FBT29mLEdBQVFudUIsSUFBSXF1QixFQUFPRixJQUN2Q2p5QixHQUFNb0csY0FDRjRyQixHQUFhcnZCLEVBQUszQyxFQUFLb0csT0FBT3pELEdBQU1zdkIsRUFBUUUsRUFBT0YsR0FBUzNELElBeURoRDhFLENBQTRCendCLEVBQUtzdkIsRUFBUTF0QixFQUFNK3BCLEdBQ3JELE1BQ0YsSUFBSyxjQXZERXBzQixPQUFPUyxFQUFhNEIsS0FDdkMsR0FBSUEsRUFBTSxDQUNSLE1BQU04dUIsRUFBYTl1QixFQUFLdEUsU0FBUyxpQkFBbUJzRSxFQUFPLGdCQUFnQkEsSUFFM0UsSUFBSzFFLE9BQU9DLEtBQUs2QyxFQUFJMk4sVUFBVSxpQkFBaUJyUSxTQUFTb3pCLEdBRXZELFlBREExd0IsRUFBSWdPLElBQUkzTSxNQUFNLG1CQUFtQnF2QixLQUluQyxNQUFNbmEsUUFBZXZXLEVBQUkrUCxhQUFhNGdCLFVBQVVELEdBSWhELFlBSEluYSxHQUFROVMsY0FDSjRyQixHQUFhcnZCLEVBQUt1VyxFQUFPOVMsT0FBT3pELEdBQU0sU0FBVTB3QixHQUcxRCxDQUdBLE1BQU01RSxFQUFVLENBQ2QsQ0FDRTNzQixLQUFNLE9BQ055QyxLQUFNLFNBQ05nckIsUUFBUzVzQixFQUFJK1AsYUFBYTZnQixjQUMxQnR2QixRQUFTLG9CQUlQa3VCLFFBQWV4dkIsRUFBSTJQLElBQUlxYyxTQUFTQyxPQUE4QkgsR0FDOUR2VixRQUFldlcsRUFBSStQLGFBQWE0Z0IsVUFBVW5CLEVBQU9qWixRQUNuREEsR0FBUTlTLGNBQ0o0ckIsR0FBYXJ2QixFQUFLdVcsRUFBTzlTLE9BQU96RCxHQUFNLFNBQVV3dkIsRUFBT2paLFNBMkIzQ3NhLENBQWE3d0IsRUFBSzRCLEdBQ3hCLE1BQ0YsUUFHRSxPQUZBNUIsRUFBSWdPLElBQUl0TCxLQUFLLG1CQUFtQjRzQixVQUNoQ3R2QixFQUFJZ08sSUFBSXRMLEtBQUssNkRBSWpCMUMsRUFBSWdPLElBQUluTyxRQUFRLHlCQUNELFdBQVh5dkIsR0FDRnR2QixFQUFJZ08sSUFBSUMsS0FBSyxpRUFFakIsQ0FBRSxNQUFPaUUsR0FFUCxHQURBbFMsRUFBSWdPLElBQUkzTSxNQUFNNlEsR0FDVmpRLFFBQVE2dUIsS0FBS3h6QixTQUFTLFdBQ3hCLE1BQU00VSxDQUVWLENBQ0QsRUE5QkEsR0E4QkkzUSxNQUFNMlEsSUFDVGxTLEVBQUlnTyxJQUFJM00sTUFBTTZRLFNLblBsQnRCLEdBQWtCLENBQ3RCdUUsT0FBU25WLElBQ1BBLEVBQUkyUCxJQUFJbWIsUUFDTEcsUUFBUSxVQUNSQyxZQUFZLG9CQUNaQyxVQUFVLGNBQ1YyQixNQUFNLEtBQ04xQixPQUFRbHdCLElBQ04sV0FDQyxNQUFNNjFCLEVBQVk3MUIsRUFDZm1VLElBQUtoUyxHQUNHbUIsR0FBTW5CLEdBQVFBLEVBQU9uQixFQUFLa0UsUUFBUS9DLElBRTFDMnpCLE9BQVEzekIsSUFDUCxNQUFNNHpCLEVBQVF0eEIsRUFBR3dDLFdBQVc5RSxJQUFTbUIsR0FBTW5CLEdBSTNDLE9BSEs0ekIsR0FDSGp4QixFQUFJZ08sSUFBSXRMLEtBQUssR0FBR3JGLHFCQUVYNHpCLFVBRUxqeEIsRUFBSTZRLGdCQUFnQmtnQixFQUMzQixFQWJBLEdBYUl4dkIsTUFBTTJRLElBQ1RsUyxFQUFJZ08sSUFBSTNNLE1BQU02USxTQzFCbEJnZixHQUFlLENBQ25CL2IsT0FBUTVWLE1BQU9TLElBQ2IsTUFBTTJQLEVBQU0zUCxFQUFJMlAsSUFDaEJBLEVBQUltYixRQUNERyxRQUFRLE9BQ1JFLFVBQVUsWUFDVkQsWUFBWSx3QkFDWkUsT0FBUWtFLElBQ04sV0FDQyxJQUNFLElBQUl4RCxFQUFpQixHQUNyQixNQUFNcm9CLEVBQXNCLENBQzFCNlIsU0FBVSxDQUNSblcsS0FBTSxPQUNOeUMsS0FBTSxXQUNOTixRQUFTLGtCQUNUc3JCLFFBQVM1c0IsRUFBSWtRLE9BQU9vRixTQUFTYSxZQUFZOUcsSUFBS2hTLElBQ3JDLENBQ0x1RSxLQUFNd3NCLEdBQW9CcHVCLEdBQUszQyxJQUFTQSxFQUN4Q2t2QixNQUFPbHZCLEtBR1gwdUIsUUFBUy9yQixFQUFJMk4sVUFBVSxvQkFBc0IzTixFQUFJMk4sVUFBVSxtQkFBcUIsUUFFbEZzSCxZQUFhLENBQ1g5VixLQUFNLE9BQ055QyxLQUFNLGNBQ05OLFFBQVMsb0JBQ1RzckIsUUFBUzVzQixFQUFJa1EsT0FBTytFLFlBQVlrQixZQUNoQzRWLFFBQVMvckIsRUFBSTJOLFVBQStCLHVCQUF5QixRQUV2RXFJLFFBQVMsQ0FDUDdXLEtBQU0sV0FDTnlDLEtBQU0sVUFDTk4sUUFBUyxjQUNUc3JCLFFBQVM1c0IsRUFBSStQLGFBQWE2Z0IsY0FDMUI3RSxRQUFTN3VCLE9BQU9DLEtBQUs2QyxFQUFJMk4sVUFBVSxpQkFBaUJxakIsT0FBUTN6QixHQUMxRDJDLEVBQUkyTixVQUFVLGdCQUFnQnRRLFFBS3BDLEdBQUlpeUIsRUFBUSxDQUNWLElBQUk3ckIsRUFBTzZyQixHQUtULE9BRkF0dkIsRUFBSWdPLElBQUl0TCxLQUFLLG1CQUFtQjRzQixVQUNoQ3R2QixFQUFJZ08sSUFBSXRMLEtBQUssc0RBSGJvcEIsRUFBUTFZLEtBQUszUCxFQUFPNnJCLEdBTXhCLE1BQ0V4RCxFQUFVNXVCLE9BQU9DLEtBQUtzRyxHQUFRNEwsSUFBS2hTLEdBQWlCb0csRUFBT3BHLElBRTdELE1BQU1teUIsUUFBZTdmLEVBQUlxYyxTQUFTQyxPQUFZSCxHQUc5QyxHQUFJMEQsRUFBT3haLFFBQVMsQ0FDbEIsTUFBTUEsRUFBVWhXLEVBQUkyTixVQUFrQyxnQkFDdER6USxPQUFPQyxLQUFLNlksR0FBU3lULFFBQVNwc0IsSUFDeEJteUIsRUFBT3haLFFBQVExWSxTQUFTRCxHQUMxQjJZLEVBQVEzWSxJQUFRLEVBRWhCMlksRUFBUTNZLElBQVEsSUFJcEIyQyxFQUFJd1EsV0FBVyxDQUNiMmdCLGFBQWNuYixHQUVsQixDQUVBaFcsRUFBSXdRLFdBQVcsQ0FDYixpQkFBa0JnZixFQUFPbGEsVUFBWXRWLEVBQUkyTixVQUFrQixrQkFDM0Qsa0JBQW1CNmhCLEVBQU9sYSxVQUFZdFYsRUFBSTJOLFVBQWtCLGtCQUM1RCxxQkFBc0I2aEIsRUFBT3ZhLGFBQWUsU0FFOUNqVixFQUFJZ08sSUFBSW5PLFFBQVEsZ0NBQ2xCLENBQUUsTUFBT3FTLEdBRVAsR0FEQWxTLEVBQUlnTyxJQUFJM00sTUFBTTZRLEdBQ1ZqUSxRQUFRNnVCLEtBQUt4ekIsU0FBUyxXQUN4QixNQUFNNFUsQ0FFVixDQUNELEVBM0VBLEdBMkVJM1EsTUFBTTJRLElBQ1RsUyxFQUFJZ08sSUFBSTNNLE1BQU02USxlQ3JGWGtmLEdBQ1hDLHFCQUtpQnp2QixLQUlBK3FCLEtBSUEyRSxZQUVqQixXQUFBamtCLENBQVl6TCxHQUNWMkwsS0FBSzNMLEtBQU9BLEVBQ1oyTCxLQUFLb2YsS0FBTyxJQUFJNEUsSUFDaEJoa0IsS0FBSytqQixZQUFjLElBQUlDLEdBQ3pCLENBRUEsUUFBQUMsQ0FBU2pwQixFQUFZZ08sR0FDbkIsSUFBS2hPLEVBQUksTUFBTSxJQUFJa3BCLFVBQVUsbUJBQzdCLEdBQTZCLG1CQUFsQmxiLEVBQU9wQixPQUF1QixNQUFNLElBQUlzYyxVQUFVLHFDQUM3RCxHQUFJbGtCLEtBQUtvZixLQUFLaFosSUFBSXBMLEdBQUssTUFBTSxJQUFJa3BCLFVBQVUsR0FBR2xrQixLQUFLM0wsc0JBQXNCMkcsTUFFekVnRixLQUFLb2YsS0FBSytFLElBQUlucEIsRUFBSWdPLEdBRWQ2YSxHQUFpQk8sZ0JBQ2Zwa0IsS0FBSytqQixZQUFZM2QsSUFBSXlkLEdBQWlCTyxlQUN4Q3BrQixLQUFLK2pCLFlBQVlud0IsSUFBSWl3QixHQUFpQk8sZ0JBQWdCdmUsS0FBSzdLLEdBRTNEZ0YsS0FBSytqQixZQUFZSSxJQUFJTixHQUFpQk8sY0FBZSxDQUFDcHBCLElBRzVELENBRUEsVUFBQXFwQixDQUFXbEIsR0FDVCxHQUFJbmpCLEtBQUsrakIsWUFBWTNkLElBQUkrYyxHQUFhLENBQ3BDLE1BQU1tQixFQUFhdGtCLEtBQUsrakIsWUFBWW53QixJQUFJdXZCLEdBQ3hDbUIsR0FBWXBJLFFBQVNsVCxJQUNuQmhKLEtBQUtvZixLQUFLbUYsT0FBT3ZiLElBRXJCLENBQ0YsQ0FFQSxPQUFBRixHQUNFLE9BQU85SSxLQUFLM0wsSUFDZCxDQUVBLEdBQUFULENBQUlvSCxHQUNGLE9BQU9nRixLQUFLb2YsS0FBS3hyQixJQUFJb0gsRUFDdkIsQ0FFQSxPQUFBME4sR0FDRSxNQUFPLElBQUkxSSxLQUFLb2YsS0FBS29GLFNBQ3ZCLENBRUEsU0FBQTViLEdBQ0UsTUFBTyxJQUFJNUksS0FBS29mLEtBQUt4dkIsT0FDdkIsRUFHSyxNQUFNNjBCLEdBQXVCLENBQUNwd0IsRUFBc0IsUUFDekR3dkIsR0FBaUJPLGNBQWdCL3ZCLFNDNUR0QnF3QixHQUNNcndCLEtBQU8sWUFDeEJ5dkIscUJBQ2lCMUUsS0FBTyxJQUFJNEUsSUFDWEQsWUFBYyxJQUFJQyxJQUNsQnZ4QixJQUVqQjhxQixRQUNBa0IsU0FFQSxXQUFBM2UsQ0FBWXJOLEdBQ1Z1TixLQUFLdWQsUUFBVSxJQUFJb0gsRUFDbkIza0IsS0FBS3llLFNBQVdBLEVBQ2hCemUsS0FBS3ZOLElBQU1BLENBQ2IsQ0FFQSxPQUFBcVcsR0FDRSxPQUFPOUksS0FBSzNMLElBQ2QsQ0FFQSxJQUFBdXdCLEdDakJhLElBQUNueUIsRURrQlp1TixLQUFLdWQsUUFDRnNILFFBQVEsUUFBMkIsaUJBQ25DckgsT0FBTyxjQUFlLGFBQWMsS0FDbkN4ZCxLQUFLdk4sSUFBSTBRLFVBQVUsQ0FDakIyaEIsT0FBTyxNQUdWdEgsT0FBTyxlQUFnQixjQUFlLEtBQ3JDeGQsS0FBS3ZOLElBQUkwUSxVQUFVLENBQ2pCNGhCLFFBQVEsTUFHWHZoQixHQUFHLFlBQWEsS0FDZnhELEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQ1gsb0JBQW9Ca00sS0FBS3VkLFFBQVFYLEtBQUt0dkIsS0FBSyxzREFFN0NvSCxRQUFRc3dCLEtBQUssTUNsQ0x2eUIsRURzQ0R1TixLQUFLdk4sS0NyQ2QyUCxJQUFJNmhCLFNBQVMsZ0JBQWlCeGhCLElBQ2xDaFEsRUFBSTJQLElBQUk2aEIsU0FBUyxTQUFVL3RCLElBQzNCekQsRUFBSTJQLElBQUk2aEIsU0FBUyxnQkFBaUJsaEIsSUFDbEN0USxFQUFJMlAsSUFBSTZoQixTQUFTLFVBQVduQixJQUM1QnJ3QixFQUFJMlAsSUFBSTZoQixTQUFTLFNBQVU1Z0IsSUFDM0I1USxFQUFJMlAsSUFBSTZoQixTQUFTLE1BQU9OLElBQ3hCbHhCLEVBQUkyUCxJQUFJNmhCLFNBQVMsUUFBU3pFLElBQzFCL3NCLEVBQUkyUCxJQUFJNmhCLFNBQVMsT0FBUW5oQixHRCtCekIsQ0FFQSxRQUFBbWhCLENBQVNqcEIsRUFBWWdPLEdBQ25CLElBQUtoTyxFQUFJLE1BQU0sSUFBSWtwQixVQUFVLHFCQUM3QixHQUE2QixtQkFBbEJsYixFQUFPcEIsT0FBdUIsTUFBTSxJQUFJc2MsVUFBVSxxQ0FDN0QsR0FBSWxrQixLQUFLb2YsS0FBS2haLElBQUlwTCxHQUFLLE1BQU0sSUFBSWtwQixVQUFVLEdBQUdsa0IsS0FBSzNMLDZCQUE2QjJHLE1BQ2hGZ0YsS0FBS29mLEtBQUsrRSxJQUFJbnBCLEVBQUlnTyxHQUNsQixNQUFNaWMsRURlRHBCLEdBQWlCTyxjQ2RJLE9BQXRCYSxJQUNFamxCLEtBQUsrakIsWUFBWTNkLElBQUk2ZSxHQUN2QmpsQixLQUFLK2pCLFlBQVlud0IsSUFBSXF4QixJQUFvQnBmLEtBQUs3SyxHQUU5Q2dGLEtBQUsrakIsWUFBWUksSUFBSWMsRUFBbUIsQ0FBQ2pxQixJQUcvQyxDQUVBLFVBQUFxcEIsQ0FBV2xCLEdBQ1QsR0FBSW5qQixLQUFLK2pCLFlBQVkzZCxJQUFJK2MsR0FBYSxDQUNwQyxNQUFNbUIsRUFBYXRrQixLQUFLK2pCLFlBQVlud0IsSUFBSXV2QixHQUN4Q21CLEdBQVlwSSxRQUFTbFQsSUFDbkJoSixLQUFLb2YsS0FBS21GLE9BQU92YixJQUVyQixDQUNGLENBRUEsWUFBQWtjLEdBQ0VsbEIsS0FBSzBJLFVBQVV3VCxRQUFTcHNCLElBQ3RCLElBQ0VBLEVBQUs4WCxPQUFPNUgsS0FBS3ZOLElBQ25CLENBQUUsTUFBT2tTLEdBQ1AzRSxLQUFLdk4sSUFBSWdPLElBQUkzTSxNQUFNNlEsRUFDckIsR0FFSixDQUVBLEdBQUEvUSxDQUFJb0gsR0FDRixPQUFPZ0YsS0FBS29mLEtBQUt4ckIsSUFBSW9ILEVBQ3ZCLENBRUEsT0FBQTBOLEdBQ0UsTUFBTyxJQUFJMUksS0FBS29mLEtBQUtvRixTQUN2QixDQUVBLFNBQUE1YixHQUNFLE1BQU8sSUFBSTVJLEtBQUtvZixLQUFLeHZCLE9BQ3ZCLFFFbkZXdTFCLEdBQ01DLE1BQVEsQ0FDdkIsQ0FBQ2htQixHQUFTOU0sU0FBVSxRQUNwQixDQUFDOE0sR0FBU3NCLE1BQU8sT0FDakIsQ0FBQ3RCLEdBQVNqSyxNQUFPLFNBQ2pCLENBQUNpSyxHQUFTdEwsT0FBUSxPQUdIckIsSUFDVDR5QixTQUNBQyxRQUNSLFdBQUF4bEIsQ0FBWXJOLEdBQ1Z1TixLQUFLdk4sSUFBTUEsQ0FDYixDQUVRLFNBQUE4eUIsQ0FBVTN6QixLQUFtQndXLEdBRW5DLEdBREFwSSxLQUFLcWxCLFNBQVdybEIsS0FBS3ZOLElBQUkyTixVQUFVLHNCQUM5QkosS0FBS3ZOLElBQUkyTixVQUErQixXQUFhSixLQUFLd2xCLGNBQWM1ekIsRUFBTW9PLEtBQUtxbEIsVUFBVyxDQUNqRyxNQUFNSSxFQUFZQyxFQUFNMWxCLEtBQUtvbEIsTUFBTXh6QixJQUFvQixZQUFZQSxFQUFLZ3ZCLG1CQUN4RTNyQixRQUFRd0wsSUFBSWdsQixLQUFjcmQsR0FDMUJwSSxLQUFLc2xCLFFBQ0h0bEIsS0FBS3ZOLElBQUkyTixVQUErQixxQkFBdUJ6UixFQUFLckIsS0FBSzBTLEtBQUt2TixJQUFJd04sUUFBUyxpQkFDN0YvTCxXQUFXLEtBQ1QsSUFDRSxNQUFNeXhCLEVBQVMzbEIsS0FBSzRsQixvQkFBb0I1bEIsS0FBS3NsQixTQUM3QyxHQUFJSyxFQUFPRSxRQUFTLENBQ2xCLE1BQU1DLEVBQWEsNEJBQTRCSCxFQUFPSSxpQkFBb0IsS0FBTyxNQUFRLDhCQUN6Rjl3QixRQUFRd0wsSUFBSWlsQixFQUFNTSxPQUFPLG1CQUFvQkYsR0FDN0M5bEIsS0FBS2ltQixnQkFBZ0JqbUIsS0FBS3NsQixTQUMxQmxkLEVBQUk4ZCxRQUFRSixFQUNkLENBQ0E5bEIsS0FBS21tQixlQUFlbm1CLEtBQUtzbEIsUUFBUzF6QixLQUFTd1csRUFDN0MsQ0FBRSxNQUFPekQsR0FDUDFQLFFBQVFuQixNQUFNLDRDQUE2QzZRLEVBQzdELEdBQ0MsRUFDTCxDQUNGLENBRVEsbUJBQUFpaEIsQ0FBb0JOLEdBSzFCLEdBQUlsekIsRUFBR3dDLFdBQVcwd0IsR0FBVSxDQUMxQixNQUFNYyxFQUFjaDBCLEVBQUdtTyxTQUFTK2tCLEdBQVM5a0IsS0FDbkN1bEIsRUFDc0YsS0FBMUZ2dkIsR0FBWXdKLEtBQUt2TixJQUFJMk4sVUFBK0IsOEJBQWdDLElBQWEsS0FDbkcsTUFBTyxDQUNMeWxCLFFBQVNPLEVBQWNMLEVBQ3ZCSyxjQUNBTCxtQkFFSixDQUNBLE1BQU8sQ0FBRUYsU0FBUyxFQUNwQixDQUVRLGVBQUFJLENBQWdCWCxHQUNsQmx6QixFQUFHd0MsV0FBVzB3QixLQUNoQmx6QixFQUFHaTBCLFdBQVdmLEdBQ2RnQixFQUFlaEIsR0FFbkIsQ0FFUSxjQUFBYSxDQUFlYixFQUFpQjF6QixLQUFpQndXLEdBQ3ZELElBQ0UsSUFBSTNILEVBQU0sR0FBRzhsQixJQUFRNXJCLE9BQU8sbUNBQW1DL0ksRUFBS2d2QixrQkFDcEV4WSxFQUFJOFQsUUFBU3BzQixJQUNQQSxhQUFnQnlVLE9BQWtCLFVBQVQzUyxFQUMzQjZPLEdBQU8sb0NBQW9DK2xCLEVBQUs3ckIsT0FBTzdLLEdBQU0yMkIsMENBRXpDLGlCQUFUMzJCLElBQ1RBLEVBQU93RyxLQUFLNG9CLFVBQVVwdkIsRUFBTSxLQUFNLElBRXBDMlEsR0FBTyxHQUFHM1EsUUFHZDJRLEdBQU8sS0FDUHJPLEVBQUdzMEIsZUFBZXBCLEVBQVM3a0IsRUFDN0IsQ0FBRSxNQUFPa0UsR0FDUDFQLFFBQVFuQixNQUFNLHNDQUF1QzZRLEVBQ3ZELENBQ0YsQ0FFUSxhQUFBNmdCLENBQWM1ekIsRUFBY3d6QixHQUNsQyxZQUFjMTFCLElBQVYwMUIsR0FBaUMsUUFBVkEsSUFDdkJyNEIsTUFBTW9KLFFBQVFpdkIsR0FDVEEsRUFBTXYxQixLQUFNQyxHQUFpQkEsSUFBUzhCLEdBQWlCLFFBQVQ5QixHQUVoRDhCLElBQVN3ekIsRUFDbEIsQ0FFQSxPQUFBOXlCLElBQVc4VixHQUNUcEksS0FBS3VsQixVQUFVbm1CLEdBQVM5TSxXQUFZOFYsRUFDdEMsQ0FFQSxJQUFBMUgsSUFBUTBILEdBQ05wSSxLQUFLdWxCLFVBQVVubUIsR0FBU3NCLFFBQVMwSCxFQUNuQyxDQUVBLEtBQUF0VSxJQUFTc1UsR0FDUHBJLEtBQUt1bEIsVUFBVW5tQixHQUFTdEwsU0FBVXNVLEVBQ3BDLENBRUEsSUFBQWpULElBQVFpVCxHQUNOcEksS0FBS3VsQixVQUFVbm1CLEdBQVNqSyxRQUFTaVQsRUFDbkMsQ0FFQSxLQUFBMGMsSUFBUzFjLEdBQ0h6UixNQUNGcUosS0FBS3VsQixVQUFVbm1CLEdBQVNzQixRQUFTMEgsRUFFckMsUUM1R1d1ZSxHQUVNbDBCLElBQ2pCLFdBQUFxTixDQUFZck4sR0FDVnVOLEtBQUt2TixJQUFNQSxDQUNiLENBRUEsYUFBTWl0QixDQUNKalgsRUFDQTdQLEVBQWlDLENBQUEsRUFDakNoQyxHQUVBLE1BQU1nd0IsRUFBNkIsR0FDN0JDLEVBQWlCcGUsRUFDcEIzRyxJQUFLaFMsR0FBaUJnM0IsR0FBd0I5bUIsS0FBS3ZOLElBQUszQyxJQUN4RDJ6QixPQUFPM3pCLEdBR0ZrUSxLQUFLdk4sSUFBSStQLGFBQWF1a0IsVUFBVWozQixFQUFLazNCLFVBQ3ZDSixFQUFpQi9nQixLQUFLL1YsRUFBS2szQixTQUMzQmhuQixLQUFLdk4sSUFBSWdPLElBQUluTyxRQUFRLGlDQUFpQ3hDLEVBQUtrM0IsWUFDcEQsS0FHSmwzQixFQUFLd0MsU0FLUjIwQixFQUFlSixFQUFlL2tCLElBQUloUyxHQUFRQSxFQUFLbzNCLFVBQy9DQyxFQUFjTixFQUFlL2tCLElBQUloUyxHQUFRQSxFQUFLazNCLFNBQ3BELEdBQUlDLEVBQWFwNkIsT0FBUyxFQUFHLENBSTNCLE1BQU04NEIsUUFBZTNsQixLQUFLb25CLFlBQVksVUFBV0gsRUFBY2puQixLQUFLdk4sSUFBSXdOLFFBQVNySCxFQUFTaEMsR0FDMUYsR0FBSyt1QixFQUFPMEIsS0FjTCxDQUNMLE1BQU1DLEVBQU10bkIsS0FBS3ZOLElBQUlxUSxLQUFLNlosVUFBdUIsOENBQStDLENBQzlGMEssS0FBTSxHQUFHMUIsRUFBTzBCLE9BQ2hCL3pCLEtBQU1xeUIsRUFBT3J5QixPQUVmME0sS0FBS3ZOLElBQUlnTyxJQUFJM00sTUFBTXd6QixHQUNuQnRuQixLQUFLdk4sSUFBSXdSLEtBQUssZ0JBQWlCLENBQzdCc2pCLE1BQU92bkIsS0FBS3ZOLElBQUlxUSxLQUFLNlosVUFBdUIsd0NBQzVDNkssS0FBTUYsSUFNUixNQUp5QyxDQUN2Q2gxQixTQUFTLEVBQ1RrMUIsS0FBTUYsRUFHVixDQTVCRSxJQUFLLE1BQU14M0IsS0FBUW0zQixRQUNYam5CLEtBQUt2TixJQUFJK1AsYUFBYWlsQixlQUFlMzNCLEdBRTdDa1EsS0FBS3ZOLElBQUlnTyxJQUFJbk8sUUFBUTBOLEtBQUt2TixJQUFJcVEsS0FBSzZaLFVBQXVCLDBDQUMxRDNjLEtBQUt2TixJQUFJd1IsS0FBSyxpQkFBa0IsQ0FDOUJzakIsTUFBT3ZuQixLQUFLdk4sSUFBSXFRLEtBQUs2WixVQUF1Qix5Q0FDNUM2SyxLQUFNLElBQUlMLEtBQWdCUCxLQU01QixNQUp3QyxDQUN0Q3QwQixTQUFTLEVBQ1RrMUIsS0FBTSxJQUFJTCxLQUFnQlAsR0FtQmhDLENBQU8sR0FBZ0MsSUFBNUJBLEVBQWlCLzVCLE9BQWMsQ0FDeEMsTUFBTXk2QixFQUFNdG5CLEtBQUt2TixJQUFJcVEsS0FBSzZaLFVBQXVCLGdEQUNqRDNjLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU13ekIsR0FDbkJ0bkIsS0FBS3ZOLElBQUl3UixLQUFLLGdCQUFpQixDQUM3QnNqQixNQUFPdm5CLEtBQUt2TixJQUFJcVEsS0FBSzZaLFVBQXVCLHdDQUM1QzZLLEtBQU1GLElBTVIsTUFKeUMsQ0FDdkNoMUIsU0FBUyxFQUNUazFCLEtBQU1GLEVBR1YsQ0FDRXRuQixLQUFLdk4sSUFBSWdPLElBQUluTyxRQUFRME4sS0FBS3ZOLElBQUlxUSxLQUFLNlosVUFBdUIsMENBQzFEM2MsS0FBS3ZOLElBQUl3UixLQUFLLGlCQUFrQixDQUM5QnNqQixNQUFPdm5CLEtBQUt2TixJQUFJcVEsS0FBSzZaLFVBQXVCLHlDQUM1QzZLLEtBQU0sSUFBSUwsS0FBZ0JQLEtBTTVCLE1BSndDLENBQ3RDdDBCLFNBQVMsRUFDVGsxQixLQUFNLElBQUlMLEtBQWdCUCxHQUloQyxDQUVBLGVBQU1qSCxDQUFVbFgsR0FDZCxNQUdNMGUsRUFIaUIxZSxFQUNwQjNHLElBQUtoUyxHQUFpQmczQixHQUF3QjltQixLQUFLdk4sSUFBSzNDLElBQ3hEMnpCLE9BQU8zekIsR0FBUUEsRUFBS3dDLFNBQ1l3UCxJQUFJaFMsR0FBUUEsRUFBS2szQixTQUNwRCxHQUFJRyxFQUFZdDZCLE9BQVMsRUFBRyxDQUcxQixNQUFNODRCLFFBQWUzbEIsS0FBS29uQixZQUFZLFlBQWFELEVBQWFubkIsS0FBS3ZOLElBQUl3TixTQUN6RSxHQUFLMGxCLEVBQU8wQixLQWNMLENBQ0wsTUFBTUMsRUFBTXRuQixLQUFLdk4sSUFBSXFRLEtBQUs2WixVQUF1QixnREFBaUQsQ0FDaEcwSyxLQUFNLEdBQUcxQixFQUFPMEIsT0FDaEIvekIsS0FBTXF5QixFQUFPcnlCLE9BRWYwTSxLQUFLdk4sSUFBSWdPLElBQUkzTSxNQUFNd3pCLEdBQ25CdG5CLEtBQUt2TixJQUFJd1IsS0FBSyxrQkFBbUIsQ0FDL0JzakIsTUFBT3ZuQixLQUFLdk4sSUFBSXFRLEtBQUs2WixVQUF1QiwwQ0FDNUM2SyxLQUFNRixJQU1SLE1BSnlDLENBQ3ZDaDFCLFNBQVMsRUFDVGsxQixLQUFNRixFQUdWLENBNUJFSCxFQUFZakwsUUFBU2lILElBQ25CbmpCLEtBQUt2TixJQUFJK1AsYUFBYWtsQixpQkFBaUJ2RSxLQUV6Q25qQixLQUFLdk4sSUFBSWdPLElBQUluTyxRQUFRME4sS0FBS3ZOLElBQUlxUSxLQUFLNlosVUFBdUIsNENBQzFEM2MsS0FBS3ZOLElBQUl3UixLQUFLLG1CQUFvQixDQUNoQ3NqQixNQUFPdm5CLEtBQUt2TixJQUFJcVEsS0FBSzZaLFVBQXVCLDJDQUM1QzZLLEtBQU1MLElBTVIsTUFKd0MsQ0FDdEM3MEIsU0FBUyxFQUNUazFCLEtBQU1MLEVBbUJaLENBQU8sQ0FDTCxNQUFNRyxFQUFNdG5CLEtBQUt2TixJQUFJcVEsS0FBSzZaLFVBQXVCLGdEQUNqRDNjLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU13ekIsR0FDbkJ0bkIsS0FBS3ZOLElBQUl3UixLQUFLLGtCQUFtQixDQUMvQnNqQixNQUFPdm5CLEtBQUt2TixJQUFJcVEsS0FBSzZaLFVBQXVCLDBDQUM1QzZLLEtBQU1GLElBTVIsTUFKeUMsQ0FDdkNoMUIsU0FBUyxFQUNUazFCLEtBQU1GLEVBR1YsQ0FDRixDQUVBLFlBQU14NUIsQ0FDSjJhLEVBQ0E3UCxFQUFpQyxDQUFBLEVBQ2pDaEMsR0FFQSxNQUdNdXdCLEVBSGlCMWUsRUFDcEIzRyxJQUFLaFMsR0FBaUJnM0IsR0FBd0I5bUIsS0FBS3ZOLElBQUszQyxJQUN4RDJ6QixPQUFPM3pCLEdBQVFBLEVBQUt3QyxTQUNZd1AsSUFBSWhTLEdBQVFBLEVBQUtrM0IsU0FDcEQsR0FBSUcsRUFBWXQ2QixPQUFTLEVBQUcsQ0FHMUIsTUFBTTg0QixRQUFlM2xCLEtBQUtvbkIsWUFBWSxTQUFVRCxFQUFhbm5CLEtBQUt2TixJQUFJd04sUUFBU3JILEVBQVNoQyxHQUN4RixHQUFLK3VCLEVBQU8wQixLQVdMLENBQ0wsTUFBTUMsRUFBTXRuQixLQUFLdk4sSUFBSXFRLEtBQUs2WixVQUF1Qiw2Q0FBOEMsQ0FDN0YwSyxLQUFNLEdBQUcxQixFQUFPMEIsT0FDaEIvekIsS0FBTXF5QixFQUFPcnlCLE9BRWYwTSxLQUFLdk4sSUFBSWdPLElBQUkzTSxNQUFNd3pCLEdBQ25CdG5CLEtBQUt2TixJQUFJd1IsS0FBSyxlQUFnQixDQUM1QnNqQixNQUFPdm5CLEtBQUt2TixJQUFJcVEsS0FBSzZaLFVBQXVCLHVDQUM1QzZLLEtBQU1GLElBTVIsTUFKeUMsQ0FDdkNoMUIsU0FBUyxFQUNUazFCLEtBQU1GLEVBR1YsQ0F6QkV0bkIsS0FBS3ZOLElBQUlnTyxJQUFJbk8sUUFBUTBOLEtBQUt2TixJQUFJcVEsS0FBSzZaLFVBQXVCLHlDQUMxRDNjLEtBQUt2TixJQUFJd1IsS0FBSyxnQkFBaUIsQ0FDN0JzakIsTUFBT3ZuQixLQUFLdk4sSUFBSXFRLEtBQUs2WixVQUF1Qix3Q0FDNUM2SyxLQUFNTCxJQU1SLE1BSndDLENBQ3RDNzBCLFNBQVMsRUFDVGsxQixLQUFNTCxFQW1CWixDQUFPLENBQ0wsTUFBTUcsRUFBTXRuQixLQUFLdk4sSUFBSXFRLEtBQUs2WixVQUF1Qiw2Q0FDakQzYyxLQUFLdk4sSUFBSWdPLElBQUkzTSxNQUFNd3pCLEdBQ25CdG5CLEtBQUt2TixJQUFJd1IsS0FBSyxlQUFnQixDQUM1QnNqQixNQUFPdm5CLEtBQUt2TixJQUFJcVEsS0FBSzZaLFVBQXVCLHVDQUM1QzZLLEtBQU1GLElBTVIsTUFKeUMsQ0FDdkNoMUIsU0FBUyxFQUNUazFCLEtBQU1GLEVBR1YsQ0FDRixDQUVRLGlCQUFNRixDQUNaaGxCLEVBQ0F1bEIsRUFDQUMsRUFDQWh2QixFQUFpQyxDQUFBLEVBQ2pDaEMsRUFBbUIsSUFHbkIsTUFBTTZvQixFQUFXN21CLEVBQVE2bUIsVUFBWXpmLEtBQUt2TixJQUFJMk4sVUFBK0IscUJBQ3ZFb2YsRUFBUTVtQixFQUFRNG1CLE9BQVN4ZixLQUFLdk4sSUFBSTJOLFVBQStCLGtCQUN2RSxhQUFhLElBQUl4TixRQUFTQyxJQUN4QixJQUFJK3BCLEVBQU8sQ0FBQ3hhLEdBQUt5bEIsT0FBT0YsR0FBU0UsT0FBTyxrQkFBa0JBLE9BQU8sVUFDN0RwSSxJQUNGN0MsRUFBT0EsRUFBS2lMLE9BQU8sY0FBY3BJLE1BRS9CRCxJQUNGNUMsRUFBT0EsRUFBS2lMLE9BQU8sV0FBV3JJLE1BRWhDLElBQ0UsTUFBTXNJLEVBQU1DLEVBQU0sTUFBT25MLEVBQU0sQ0FDN0Jqb0IsSUFBS2l6QixFQUNMaHhCLElBQUssSUFBS2xDLFFBQVFrQyxPQUFRQSxLQUc1QixJQUFJeUwsRUFBUyxHQUNieWxCLEVBQUlFLFFBQ0F4a0IsR0FBRyxPQUFTbFEsSUFDWitPLEdBQVUvTyxJQUVYMjBCLEtBQUt2ekIsUUFBUXN6QixRQUVoQkYsRUFBSUksUUFDQTFrQixHQUFHLE9BQVNsUSxJQUNaK08sR0FBVS9PLElBRVgyMEIsS0FBS3Z6QixRQUFRd3pCLFFBRWhCSixFQUFJdGtCLEdBQUcsUUFBVTZqQixJQUlieDBCLEVBSEd3MEIsRUFHSyxDQUFFQSxPQUFNL3pCLEtBQU0rTyxHQUZkLENBQUVnbEIsS0FBTSxFQUFHL3pCLEtBQU0rTyxNQU03QnlsQixFQUFJdGtCLEdBQUcsUUFBVThqQixJQUNmdG5CLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU13ekIsR0FDbkJ0bkIsS0FBS3ZOLElBQUlnTyxJQUFJM00sTUFBTSx3QkFDbkJrTSxLQUFLdk4sSUFBSXdSLEtBQUs1RSxHQUFjaUcsT0FBUSx5QkFFeEMsQ0FBRSxNQUFPWCxHQUNQM0UsS0FBS3ZOLElBQUlnTyxJQUFJM00sTUFBTTZRLEdBQ25CM0UsS0FBS3ZOLElBQUl3UixLQUFLNUUsR0FBY2lHLE9BQVFYLEVBQ3RDLEdBRUosRUFRRixNQUFNbWlCLEdBQTBCLENBQUNyMEIsRUFBYThCLEtBQzVDLE1BQU14QixFQUFNLENBQ1ZULFNBQVMsRUFDVDQwQixTQUFVLEdBQ1ZGLFFBQVMsSUFFTHJCLEVBQVM1d0IsR0FBcUJSLEVBQVk5QixFQUFJZ08sS0FDcEQsSUFBS2tsQixFQUNILE9BQU81eUIsRUFJVCxNQUFNaTBCLEVBQVU1eEIsR0FBb0J1d0IsRUFBUWx6QixFQUFJZ08sS0FDaEQsT0FBS3VtQixFQUdFLENBQ0wxMEIsU0FBUyxFQUNUNDBCLFNBQVV2QixFQUNWcUIsV0FMT2owQixTQ3hSRW8xQixHQUNNMTFCLElBQ1Qyc0IsS0FBaUIsR0FDUmdKLFNBQVcsSUFBSXBtQixJQUNmcW1CLFVBQVksSUFBSXJFLElBQ2pDLFdBQUFsa0IsQ0FBWXJOLEdBQ1Z1TixLQUFLdk4sSUFBTUEsRUFDWHVOLEtBQUs0a0IsTUFDUCxDQUVRLElBQUFBLEdBQ04sTUFBTTBELEVBQWMzNUIsRUFBS3JCLEtBQUswUyxLQUFLdk4sSUFBSXdOLFFBQVMsZ0JBQ2hELElBQUs3TixFQUFHd0MsV0FBVzB6QixHQUFjLENBQy9CLE1BQU05eUIsRUFBTSxDQUNWbkIsS0FBTSxnQkFDTnNwQixZQUFhLGdCQUNiNEssV0FBWSw2Q0FDWkMsUUFBUyxPQUVYcDJCLEVBQUd3TyxjQUFjMG5CLEVBQWFoeUIsS0FBSzRvQixVQUFVMXBCLEdBQU0sT0FDckQsQ0FDRixDQUdRLGFBQUFpekIsQ0FBY2gyQixFQUFhNEIsR0FDakMsSUFDRSxPQUFPeEIsRUFBUTYxQixLQUFLcjBCLEVBQU0sQ0FBRXMwQixRQUFTbDJCLEVBQUl3TixTQUMzQyxDQUFFLE1BQU81TyxHQUNQLE9BQU8xQyxFQUFLckIsS0FBS21GLEVBQUl3TixRQUFTLGVBQWdCNUwsRUFDaEQsQ0FDRixDQUdBLFVBQU1vb0IsR0FDSixNQUFNbU0sRUFBWWo2QixFQUFLckIsS0FBSzBTLEtBQUt2TixJQUFJd04sUUFBUyxpQkFFOUMsSUFBSzdOLEVBQUd3QyxXQUFXZzBCLEdBQ2pCLE9BQU8sRUFFVCxNQUFNTixFQUFjMzVCLEVBQUtyQixLQUFLMFMsS0FBS3ZOLElBQUl3TixRQUFTLGdCQUMxQzRvQixFQUFPcHpCLEVBQWE2eUIsR0FDcEJRLEVBQU9uNUIsT0FBT0MsS0FBS2k1QixFQUFLRSxjQUFnQixDQUFBLEdBQ3hDQyxFQUFVcjVCLE9BQU9DLEtBQUtpNUIsRUFBS0ksaUJBQW1CLENBQUEsR0FDOUN0QixFQUFVbUIsRUFBS2pCLE9BQU9tQixHQUFTdkYsT0FBUXB2QixJQUMzQyxJQUFLLHdDQUF3Q25ELEtBQUttRCxHQUFPLE9BQU8sRUFDaEUsTUFBTTFGLEVBQU9xUixLQUFLeW9CLGNBQWN6b0IsS0FBS3ZOLElBQUs0QixHQUMxQyxPQUFPakMsRUFBR3dDLFdBQVdqRyxLQUV2QixJQUFLLE1BQU1vekIsS0FBVTRGLFFBQ2IzbkIsS0FBS3luQixlQUFlMUYsR0FFNUIsT0FBTyxDQUNULENBRUEsb0JBQU0wRixDQUFlcHpCLEVBQWMyVSxHQUNqQyxHQUFLM1UsR0FBd0IsaUJBQVRBLEVBQXBCLENBSUEyTCxLQUFLb29CLFNBQVNjLElBQUk3MEIsR0FDbEIsSUFFRSxHQUFLMlUsRUFjRSxDQUdMaEosS0FBS29mLEtBQUt2WixLQUFLeFIsR0FDZm93QixHQUFxQnB3QixHQUNyQixNQUFNODBCLEVBQWtCbmdCLEVBQU9oSixLQUFLdk4sS0FDcEN1TixLQUFLcW9CLFVBQVVsRSxJQUFJOXZCLEVBQU04MEIsR0FDekJBLEVBQWdCbEYsU0FBU2prQixLQUFLdk4sSUFDaEMsTUFyQkUsSUFDaUQsSUFBL0N1TixLQUFLdk4sSUFBSTJOLFVBQVUsZ0JBQWdCL0wsV0FDWTNFLElBQS9Dc1EsS0FBS3ZOLElBQUkyTixVQUFVLGdCQUFnQi9MLEtBQ25DLENBQ0EyTCxLQUFLb2YsS0FBS3ZaLEtBQUt4UixHQUNmb3dCLEdBQXFCcHdCLFVBQ0MyTCxLQUFLb2pCLFVBQVUvdUIsSUFDNUI0dkIsU0FBU2prQixLQUFLdk4sS0FDdkIsTUFBTXVXLEVBQVMsZ0JBQWdCM1UsS0FDL0IyTCxLQUFLdk4sSUFBSXdRLFdBQVcsQ0FDbEIrRixDQUFDQSxJQUFTLEdBRWQsQ0FVSixDQUFFLE1BQU9yRSxHQUNQM0UsS0FBS3FvQixVQUFVOUQsT0FBT2x3QixHQUN0QjJMLEtBQUtvZixLQUFPcGYsS0FBS29mLEtBQUtxRSxPQUFRM3pCLEdBQWlCQSxJQUFTdUUsR0FDeEQyTCxLQUFLb29CLFNBQVM3RCxPQUFPbHdCLEdBQ3JCMkwsS0FBS3ZOLElBQUlnTyxJQUFJM00sTUFBTTZRLEdBQ25CM0UsS0FBS3ZOLElBQUl3UixLQUFLNUUsR0FBYytwQixhQUFjLENBQ3hDN0IsTUFBTyxVQUFVbHpCLGVBQ2pCbXpCLEtBQU03aUIsR0FFVixDQXBDQSxNQUZFM0UsS0FBS3ZOLElBQUlnTyxJQUFJdEwsS0FBSyw4QkF1Q3RCLENBRUEsZ0JBQUF1eUIsQ0FBaUJyekIsR0FDZjJMLEtBQUtvZixLQUFPcGYsS0FBS29mLEtBQUtxRSxPQUFRM3pCLEdBQWlCQSxJQUFTdUUsR0FDeEQyTCxLQUFLb29CLFNBQVM3RCxPQUFPbHdCLEdBQ3JCMkwsS0FBS3FvQixVQUFVOUQsT0FBT2x3QixHQUN0Qm93QixHQUFxQnB3QixHQUNyQjJMLEtBQUt2TixJQUFJa1EsT0FBT29GLFNBQVNzYyxXQUFXaHdCLEdBQ3BDMkwsS0FBS3ZOLElBQUlrUSxPQUFPK0UsWUFBWTJjLFdBQVdod0IsR0FDdkMyTCxLQUFLdk4sSUFBSWtRLE9BQU84RSx1QkFBdUI0YyxXQUFXaHdCLEdBQ2xEMkwsS0FBS3ZOLElBQUlrUSxPQUFPbUYsb0JBQW9CdWMsV0FBV2h3QixHQUMvQzJMLEtBQUt2TixJQUFJa1EsT0FBT3dGLG1CQUFtQmtjLFdBQVdod0IsR0FDOUMyTCxLQUFLdk4sSUFBSTJQLElBQUlpaUIsV0FBV2h3QixHQUN4QjJMLEtBQUt2TixJQUFJeVEsYUFBYSxlQUFnQjdPLEVBQ3hDLENBR0EsZUFBTSt1QixDQUFVL3VCLEdBQ2QsR0FBSTJMLEtBQUtxb0IsVUFBVWppQixJQUFJL1IsR0FDckIsT0FBTzJMLEtBQUtxb0IsVUFBVXowQixJQUFJUyxHQUk1QixJQUFJSSxFQUNKLElBRUVBLEVBQWF1TCxLQUFLeW9CLGNBQWN6b0IsS0FBS3ZOLElBQUs0QixFQUM1QyxDQUFFLE1BQU9oRCxHQUVQLE1BQU11M0IsRUFBWWo2QixFQUFLckIsS0FBSzBTLEtBQUt2TixJQUFJd04sUUFBUyxlQUFnQjVMLEdBQ3hEZzFCLEVBQWtCMTZCLEVBQUtyQixLQUFLczdCLEVBQVcsZ0JBRTdDLElBQUl4MkIsRUFBR3dDLFdBQVd5MEIsR0FxQmhCLE1BQU0sSUFBSTlrQixNQUFNLGtDQUFrQ2xRLEtBcEJsRCxJQUNFLE1BQU1pMUIsRUFBYzd6QixFQUFhNHpCLEdBQzNCRSxFQUFPRCxFQUFZQyxNQUFRRCxFQUFZdkgsUUFBVSxXQUN2RHR0QixFQUFhOUYsRUFBS3JCLEtBQUtzN0IsRUFBV1csRUFDcEMsQ0FBRSxNQUVBLE1BQU1DLEVBQWtCLENBQUMsV0FBWSxlQUFnQixnQkFBaUIsZ0JBQ3RFLzBCLEVBQWEsR0FDYixJQUFLLE1BQU1nMUIsS0FBU0QsRUFBaUIsQ0FDbkMsTUFBTUUsRUFBWS82QixFQUFLckIsS0FBS3M3QixFQUFXYSxHQUN2QyxHQUFJcjNCLEVBQUd3QyxXQUFXODBCLEdBQVksQ0FDNUJqMUIsRUFBYWkxQixFQUNiLEtBQ0YsQ0FDRixDQUNBLElBQUtqMUIsRUFDSCxNQUFNLElBQUk4UCxNQUFNLHVDQUF1Q2xRLElBRTNELENBSUosQ0FFQSxNQUFNczFCLEVBQVlDLEVBQWNuMUIsR0FBWW8xQixLQUN0Q0MsUUFBWUMsT0FBT0osR0FDbkIzZ0IsR0FBVThnQixFQUFJdEwsU0FBV3NMLEdBQUs5cEIsS0FBS3ZOLEtBRXpDLE9BREF1TixLQUFLcW9CLFVBQVVsRSxJQUFJOXZCLEVBQU0yVSxHQUNsQkEsQ0FDVCxDQUtBLE9BQUFOLEdBQ0UsT0FBTzFJLEtBQUtvZixJQUNkLENBRUEsU0FBQTJILENBQVUxeUIsR0FDUixPQUFPMkwsS0FBS29vQixTQUFTaGlCLElBQUkvUixFQUMzQixDQUtBLFdBQUFndkIsR0FDRSxNQUFPLElBQUlyakIsS0FBS29vQixTQUNsQixFQzNMRixNQUFNNEIsR0FBVyxJQUFJcHFCLEVDb0JmcXFCLEdBQWEsSUFBSUMsRUFBTUMsTUFBTSxDQUNqQ0MsV0FBWSxVQUNaQyxXQUFZLFVBQ1pDLG9CQUFvQixJQUl0QixTQUFTQyxHQUFlQyxFQUFnQjk1QixFQUFhNEMsR0FDL0IsaUJBQVRBLEdBQXFCLFVBQVdBLEdBQVEsWUFBYUEsRUFDOURrM0IsRUFBS0MsT0FBTy81QixFQUFLNEMsRUFBSzByQixNQUFPMXJCLEVBQUtzRixTQUVsQzR4QixFQUFLQyxPQUFPLzVCLEVBQUs0QyxFQUVyQixDQXNFQSxTQUFTbzNCLEdBQW9CQyxHQUMzQixNQUFPLElBQ0ZBLEVBQ0hDLFdBQVlELEVBQVNFLE9BQ3JCckQsS0FBTW1ELEVBQVNyM0IsS0FFbkIsQ0FFQSxTQUFTdzNCLEdBQXFCaDNCLEdBQzVCLE1BQU1pM0IsRUFBVyxDQUNmOTNCLE9BQVFhLEdBQU9vQyxRQUFRakQsUUFBUTJ0QixlQUFpQixHQUNoRGowQixJQUFLbUgsR0FBT29DLFFBQVF2SixLQUFPLEdBQzNCaStCLFdBQVk5MkIsR0FBTzYyQixVQUFVRSxRQUFVLEVBQ3ZDOTJCLFFBQVNELEdBQU9DLFNBQVcsR0FDM0IweUIsTUFBTzN5QixHQUFPMnlCLE9BQVMsQ0FBQSxFQUN2QmtFLFNBQVUsQ0FDUkUsT0FBUS8yQixHQUFPNjJCLFVBQVVFLFFBQVUsRUFDbkNELFdBQVk5MkIsR0FBTzYyQixVQUFVRSxRQUFVLEVBQ3ZDckQsS0FBTTF6QixHQUFPNjJCLFVBQVVyM0IsTUFBUSxLQUduQyxPQUFPVixRQUFRRSxPQUFPaTRCLEVBQ3hCLE9BRWFyb0IsR0FDTWpRLElBQ1Qrc0IsTUFBNkIsR0FDckM1bUIsUUFBbUMsQ0FBQSxFQUNuQyxXQUFBa0gsQ0FBWXJOLEdBQ1Z1TixLQUFLdk4sSUFBTUEsRUFDWHVOLEtBQUs0a0IsT0FDTG9GLEdBQVN4bUIsR0FBR2xFLEdBQVUwckIsY0FBZ0IxM0IsSUFDcEMsT0FBUUEsRUFBSzhxQixZQUNYLElBQUssU0FDRTlxQixFQUFLMHJCLE9BQTZCUSxRQUNyQ3hmLEtBQUt3ZixNQUFTbHNCLEVBQUswckIsTUFBNEJRLE9BRWpELE1BQ0YsSUFBSyxlQUNIeGYsS0FBS3dmLE1BQVFsc0IsRUFBSzByQixRQUkxQixDQUVRLElBQUE0RixHQUNOLE1BQU1wRixFQUFReGYsS0FBS3ZOLElBQUkyTixVQUErQixnQkFDbERvZixJQUNGeGYsS0FBS3dmLE1BQVFBLEVBRWpCLENBRVEsV0FBQXlMLEdBQ04sR0FBSWpyQixLQUFLd2YsTUFDUCxJQUNFLE1BQU0wTCxFQUFlLElBQUl6M0IsRUFBSXVNLEtBQUt3ZixPQUNsQyxNQUFPLENBQ0wyTCxLQUFNRCxFQUFhRSxTQUNuQkMsS0FBTTc2QixTQUFTMDZCLEVBQWFHLE1BQVEsSUFBSyxJQUN6Q0MsU0FBVUosRUFBYUksU0FFM0IsQ0FBRSxNQUFPajZCLEdBRVQsQ0FFRixPQUFPLENBQ1QsQ0FHQSxPQUFBMkIsQ0FPRTRGLEdBQ0FvSCxLQUFLcEgsUUFBUTRtQixNQUFReGYsS0FBS2lyQixjQUMxQmpyQixLQUFLcEgsUUFBUTJ5QixRQUFVM3lCLEVBQVEyeUIsU0FBVyxDQUFBLEVBQzFDdnJCLEtBQUtwSCxRQUFRNHlCLGNBQWdCQyxJQUM3QnpyQixLQUFLcEgsUUFBUTh5QixpQkFBbUJELElBQzVCenJCLEtBQUtwSCxRQUFRNG1CLE9BQVM1bUIsRUFBUWpNLEtBQUtrSCxXQUFXLGFBQ2hEbU0sS0FBS3BILFFBQVFxeEIsV0FBYTBCLEVBQWMsQ0FDdENuTSxNQUFPLENBQ0wyTCxLQUFNbnJCLEtBQUtwSCxRQUFRNG1CLE1BQU0yTCxLQUN6QkUsS0FBTXJyQixLQUFLcEgsUUFBUTRtQixNQUFNNkwsUUFHN0JyckIsS0FBS3BILFFBQVE0bUIsT0FBUSxHQUVyQnhmLEtBQUtwSCxRQUFRcXhCLFdBQWFBLEdBSTVCLE1BQU0yQixFQUFXanJCLEVBQU1rckIsT0FBTzdyQixLQUFLcEgsU0FDbkNnekIsRUFBU0UsYUFBYW5CLFNBQVNoSCxJQUFJK0csR0FBcUJJLElBR3hELE1BQU1pQixFQXRLVixTQUE0Qm56QixHQUcxQixJQUFJb3pCLEdBQWlCLEVBQ3JCLE1BQU1ELEVBRUYsSUFDQ256QixFQUNIak0sSUFBTWlNLEVBQVFqTSxLQUFrQixHQUNoQzQrQixRQUFTM3lCLEVBQVEyeUIsU0FBVyxDQUFBLEdBRzlCLEdBQUkzeUIsRUFBUTRtQixNQUFPLENBQ2pCLElBQUkwTCxFQUFldHlCLEVBQVE0bUIsTUFDM0IsR0FBNEIsaUJBQWpCMEwsRUFBMkIsQ0FDcEMsSUFDRUEsRUFBZSxJQUFJejNCLEVBQUltRixFQUFRNG1CLE1BQ2pDLENBQUUsTUFBTzdhLEdBQ1B1bUIsR0FBZSxFQUNmYSxFQUFJdk0sT0FBUSxFQUNadnFCLFFBQVFuQixNQUFNNlEsRUFDaEIsQ0FDQXFuQixHQUFpQixDQUNuQixDQUNJZCxJQUNFdHlCLEVBQVFqTSxLQUFLa0gsV0FBVyxhQUMxQms0QixFQUFJdk0sT0FBUSxFQUNadU0sRUFBSTlCLFdBQWEwQixFQUFjLENBQzdCbk0sTUFBTyxDQUNMMkwsS0FBTUQsR0FBY0UsU0FDcEJDLEtBQU03NkIsU0FBUzA2QixHQUFjRyxLQUFNLFFBSXZDVSxFQUFJdk0sTUFBUSxDQUNWMkwsS0FBTUQsRUFBYUUsU0FDbkJDLEtBQU03NkIsU0FBUzA2QixFQUFhRyxLQUFNLElBQ2xDQyxTQUFVLFFBSWxCLENBQ0EsR0FBSSxhQUFjMXlCLEVBQVMsQ0FDekIsTUFBTTR4QixFQUFPLElBQUl5QixFQUNqQixJQUFLLE1BQU12N0IsS0FBT2tJLEVBQVFzekIsU0FFeEIzQixHQUFlQyxFQUFNOTVCLEVBRFJrSSxFQUFRc3pCLFNBQVN4N0IsSUFHaENxN0IsRUFBSXo0QixLQUFPazNCLEVBQ1h1QixFQUFJUixRQUFVNTdCLE9BQU93OEIsT0FBT0osRUFBSVIsU0FBVyxDQUFBLEVBQUlmLEVBQUs0QixjQUNwREosR0FBaUIsU0FFVkQsRUFBSUcsUUFDYixDQVlBLE1BWEksU0FBVXR6QixJQUNabXpCLEVBQUl6NEIsS0FBT3NGLEVBQVE0dUIsS0FDbkJ3RSxHQUFpQixTQUVWRCxFQUFJdkUsTUFFVCxPQUFRNXVCLElBQ1ZtekIsRUFBSTF4QixPQUFTekIsRUFBUXl6QixHQUNyQkwsR0FBaUIsR0FFbkJELEVBQUlDLGVBQWlCQSxFQUNkRCxDQUNULENBb0dnQk8sQ0FBbUIxekIsR0FvQi9CLE9BbEJBZ3pCLEVBQVNFLGFBQWE5NEIsUUFBUTJ3QixJQUFJLFNBQVU0SSxHQUUxQyxJQUFJQyxFQUFjLEdBY2xCLE9BYklELEdBQUtoQixTQUFTaUIsYUFDaEJBLEVBQWNELEVBQUloQixRQUFRaUIsbUJBQ25CRCxFQUFJaEIsUUFBUWlCLGFBQ1ZELEdBQUtoQixTQUFTa0IsYUFDdkJELEVBQWNELEVBQUloQixRQUFRa0IsbUJBQ25CRixFQUFJaEIsUUFBUWtCLGFBQ1ZGLEdBQUtoQixVQUFVLGtCQUN4QmlCLEVBQWNELEVBQUloQixRQUFRLHVCQUNuQmdCLEVBQUloQixRQUFRLGlCQUVELEtBQWhCaUIsR0FBc0JELEVBQUloQixVQUM1QmdCLEVBQUloQixRQUFRLGdCQUFrQmlCLEdBRXpCRCxDQUNULEdBQ0ksNEJBQTZCM3pCLEdBQVdBLEVBQVExRix3QkFDM0MwNEIsRUFBUzU0QixRQUFRKzRCLEdBRWpCSCxFQUFTNTRCLFFBQVErNEIsR0FBSzM0QixLQUFLTCxHQUU1Qmc1QixFQUFJQyxlQUNGLFNBQVVwekIsRUFDUkEsRUFBUWl3QixLQUNIOTFCLEVBQUlPLFVBRGIsRUFJT2dELEtBQUs0b0IsVUFBVW5zQixFQUFJTyxNQUdyQlAsRUFBSU8sS0FJbkIsRUMxT0YsSUFBQW81QixHQUFlLFFBTEExNkIsTUFBT1MsSUFDcEJBLEVBQUk0UCxPQUFPd0QsUUFBUXBULEVBQUk5RSxPQUNoQjhFLElDRVQsTUF1Q01rNkIsR0FBYSxDQUFDbDZCLEVBQWFoQixFQUFjOUMsS0FDN0MsTUFBTWtELEVBQVlMLEdBQWFDLEdBUy9CLE9BUktJLEVBQVVDLE9BQ08saUJBQVRuRCxFQUNUOEQsRUFBSWdPLElBQUl0TCxLQUFLLGFBQWF4RyxrQkFFMUI4RCxFQUFJZ08sSUFBSXRMLEtBQUssd0JBRWYxQyxFQUFJZ08sSUFBSXRMLEtBQUssMEJBRVJ0RCxHQUdULElBQUErNkIsR0FBZSxRQXBEQTU2QixNQUFPUyxJQUNwQixNQUFNbzZCLEVBQXNCcDZCLEVBQUk0UCxPQW1DaEMsYUFsQ016UCxRQUFRbVcsSUFDWnRXLEVBQUk5RSxNQUFNbVUsSUFBSTlQLE1BQU9sQyxFQUF1QmlXLEtBQzFDLElBQUlyRixFQWFKLEdBWEVBLEVBREV2SSxPQUFPMjBCLFNBQVNoOUIsR0FDWCxDQUNMd0MsU0FBUyxFQUNUSCxPQUFRckMsRUFDUm9DLFNBQVUsR0FDVnJELFFBQVMsSUFFRm9DLEdBQU1uQixTQUNGMEMsR0FBVzFDLEVBQU0yQyxTQUVqQlYsR0FBVWpDLEdBRXJCNFEsRUFBS3BPLFNBQVdvTyxFQUFLdk8sT0FBUSxDQUMvQixNQUFNNDZCLEVBQVVKLEdBQVdsNkIsRUFBS2lPLEVBQUt2TyxPQUFRckMsR0FDdkNqQixFQUFVNlIsRUFBSzdSLFNBQVdrK0IsRUFBUWwrQixTQUFXLE9BQ25EZytCLEVBQVE5bUIsR0FBUyxDQUNmNVQsT0FBUXVPLEVBQUt2TyxPQUNiRCxTQUFVd08sRUFBS3hPLFVBQVksR0FBR3EwQixJQUFRNXJCLE9BQU8sdUJBQXVCOUwsSUFDcEU2QyxNQUFPcTdCLEVBQVFyN0IsTUFDZkMsT0FBUW83QixFQUFRcDdCLE9BQ2hCTSxTQUFVeU8sRUFBS3pPLFNBQ2ZwRCxRQUFTNlIsRUFBSzdSLFFBQ2RtK0IsU0FBVUMsRUFBS0MsUUFBUXIrQixJQUFZLDJCQUV2QyxNQUNFNEQsRUFBSWdPLElBQUkzTSxNQUFNNE0sRUFBS25PLFdBS3pCRSxFQUFJNFAsT0FBU3dxQixFQUFRcEosT0FBTzN6QixHQUFRQSxHQUM3QjJDLElDdENULE1DQ00wNkIsR0FBYyxDQUNsQnYxQixFQUNBMUYsRUFDQWs3QixFQUNBbjZCLEVBQ0FzNEIsRUFDQS9ELEVBQ0E2RixLQUFtQixDQUVuQnA2QixPQUFRQSxFQUFPMnRCLGNBQ2ZqMEIsSUFBS3lnQyxFQUNMN0IsUUFBUyxDQUNQaUIsWUFBYSxzQkFDYixhQUFjLGFBQ1hqQixHQUVMVyxTQUFVLENBQ1JtQixDQUFDQSxHQUFjLENBQ2JyTyxNQUFPcG5CLEVBQ1BnQixRQUFTLENBQUUwMEIsU0FBVXA3QixPQUVwQnMxQixHQUVMcUIsTUFBTSxJQUdGamhCLEdBQVM1VixNQUFPUyxJQUNwQixNQUFNODZCLEVBQXNCOTZCLEVBQUkyTixVQUFnQyx3QkFDaEUsSUFBS210QixFQUFxQixNQUFNLElBQUlocEIsTUFBTSxxQ0FFMUMsTUFBTWlwQixFQUFVLzZCLEVBQUk0UCxPQUNwQixJQUFLLE1BQU1yTCxLQUFPdzJCLEVBQ2hCLEdBQUl4MkIsRUFBSTlFLFVBQVk4RSxFQUFJN0UsT0FBUSxDQUM5QixNQUFNeUYsRUFBUVosRUFBSTdFLFNBQVc2RSxFQUFJdVEsWUFBY3BQLE9BQU9DLEtBQUtwQixFQUFJdVEsWUFBYSxVQUFZLE1BQ3hGLElBQUszUCxFQUFPLFNBRVosTUFBTTYxQixFQUFhTixHQUNqQnYxQixFQUNBWixFQUFJOUUsU0FDSnE3QixFQUFvQkgsU0FDcEJHLEVBQW9CdDZCLFFBQVUsT0FDOUJxRCxLQUFLQyxNQUFNZzNCLEVBQW9CaEMsU0FBVyxNQUMxQ2oxQixLQUFLQyxNQUFNZzNCLEVBQW9CL0YsTUFBUSxNQUN2QytGLEVBQW9CRixhQUFlLFFBR3JDLElBQUk3RixRQUFjLzBCLEVBQUlPLFFBQVF5NkIsR0FDOUJqRyxFQUF1QixpQkFBVEEsRUFBb0JseEIsS0FBS0MsTUFBTWl4QixHQUFRQSxFQUdyRCxJQUFJa0csRUFBV2xHLEVBQ2YsTUFBTW1HLEVBQWNKLEVBQW9CSSxhQUFlLFdBQ3ZELElBQUssTUFBTWo5QixLQUFPaTlCLEVBQVk5OEIsTUFBTSxLQUFNLENBQ3hDLElBQUk2OEIsR0FBZ0MsaUJBQWJBLEtBQXlCaDlCLEtBQU9nOUIsR0FFaEQsQ0FDTEEsT0FBV2grQixFQUNYLEtBQ0YsQ0FKRWcrQixFQUFXQSxFQUFTaDlCLEVBS3hCLENBRUEsSUFBSWc5QixHQUFnQyxpQkFBYkEsRUFpQnJCLE1BTEFqN0IsRUFBSXdSLEtBQUs1RSxHQUFjK3BCLGFBQWMsQ0FDbkM3QixNQUFPOTBCLEVBQUlxUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTUEsRUFBS3p6QixVQUVia0IsUUFBUW5CLE1BQU0sK0JBQWdDMHpCLEdBQ3hDLElBQUlqakIsTUFBTWlqQixFQUFLenpCLFNBZHJCLFVBRk9pRCxFQUFJdVEsbUJBQ0p2USxFQUFJN0UsT0FDUG83QixFQUFvQkssUUFBUyxDQUMvQixNQUFNMTdCLEVBQVd3N0IsRUFBUzc4QixNQUFNLEtBQUtnOUIsT0FBU0gsRUFJOUNBLEdBSGdCSCxFQUFvQkssUUFBUXhSLFNBQVMsS0FDakRtUixFQUFvQkssUUFDcEJMLEVBQW9CSyxRQUFVLEtBQ2IxN0IsQ0FDdkIsQ0FDQThFLEVBQUlzUixPQUFTaWxCLEVBQW9CTyxhQUFlUCxFQUFvQk8sYUFBZUosRUFBV0EsQ0FTbEcsQ0FFRixPQUFPajdCLEdBR0h5RCxHQUFVekQsSUFDZCxNQUFNb3ZCLEVBQWFwdkIsRUFBSTJOLFVBQWdDLHlCQUEyQixDQUFBLEVBRTVFMnRCLEVBQW9CLENBQ3hCMTVCLEVBQ0F6QyxFQUNBMnVCLEVBQ0FDLEdBQW9CLEVBQ3BCRSxLQUFZLENBRVpyc0IsT0FDQXpDLE9BQ0EsVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qix3QkFBd0J0b0IsRUFBS3VzQixnQkFDdEUsRUFDQSxTQUFJckIsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsd0JBQXdCdG9CLEVBQUt1c0IsZ0JBQ3RFLEVBQ0EsV0FBSTdzQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGdDQUFnQ3RvQixFQUFLdXNCLGdCQUM5RSxFQUNBcEMsUUFBU3FELEVBQVd4dEIsSUFBdUNrc0IsRUFDM0RDLGNBQ0dFLElBR0wsTUFBTyxDQUNMcU4sRUFBa0IsV0FBWSxRQUFTLElBQUksR0FDM0NBLEVBQWtCLFNBQVUsT0FBUSxRQUFRLEVBQU8sQ0FBRTFPLFFBQVMsQ0FBQyxPQUFRLE1BQU8sU0FDOUUwTyxFQUFrQixjQUFlLFFBQVMsUUFDMUNBLEVBQWtCLFVBQVcsUUFBUyxNQUN0Q0EsRUFBa0IsT0FBUSxRQUFTLE1BQ25DQSxFQUFrQixlQUFnQixRQUFTLElBQzNDQSxFQUFrQixVQUFXLFFBQVMsSUFDdENBLEVBQWtCLGNBQWUsUUFBUyxjQzlHOUMsTUFzQk1aLEdBQWMsQ0FBQ3hnQyxFQUFhcWhDLEVBQWU5N0IsRUFBa0JELEVBQWtCMkYsS0FDNUUsQ0FDTDNFLE9BQVEsTUFDUnRHLElBQUssR0FBR0EsZ0JBQ1I0K0IsUUFBUyxDQUNQaUIsWUFBYSxzQkFDYixhQUFjLFVBQ2R5QixjQUFlRCxFQUNmLFlBQWE3TixtQkFBbUJsdUIsSUFFbENpNkIsU0FBVSxDQUNSejZCLEtBQU0sQ0FDSnV0QixNQUFPcG5CLEVBQ1BnQixRQUFTLENBQ1AwMEIsU0FBVXA3QixLQUloQmdCLHlCQUF5QixJQUl2Qmc3QixHQUFpQixDQUFDejdCLEVBQWFNLEtBQ25DLEdBQXVCLE1BQW5CQSxFQUFJNjNCLFlBQXdDLE1BQWxCNzNCLEVBQUl5MEIsS0FBS0gsTUFBcUMsWUFBckJ0MEIsRUFBSXkwQixLQUFLenpCLFFBTTlELE1BTEF0QixFQUFJd1IsS0FBSzVFLEdBQWMrcEIsYUFBYyxDQUNuQzdCLE1BQU85MEIsRUFBSXFRLEtBQUs2WixVQUF1QixpQkFDdkM2SyxLQUFNLzBCLEVBQUlxUSxLQUFLNlosVUFBdUIsOEJBQ3RDdGxCLEtBQU10RSxFQUFJeTBCLEtBQUt6ekIsVUFFWCxJQUFJd1EsTUFBTXhSLEVBQUl5MEIsS0FBS3p6QixVQUl2Qm82QixHQUFtQixDQUFDeGhDLEVBQWFxaEMsRUFBZXhHLEtBQVMsQ0FDN0R2MEIsT0FBUSxPQUNSdEcsTUFDQTQrQixRQUFTLENBQ1AwQyxjQUFlRCxFQUNmLGVBQWdCLG9CQUVsQnhHLE9BQ0F0MEIseUJBQXlCLElBR3JCazdCLEdBQWlCbDRCLElBQ3JCLE1BQU12SixJQUFFQSxFQUFHcWhDLE1BQUVBLEVBQUtLLFNBQUVBLEVBQVFDLFNBQUVBLEVBQVFDLFdBQUVBLEVBQVVYLFFBQUVBLEVBQU9ZLFVBQUVBLEdBQWN0NEIsRUFDM0UsTUFBTyxDQUNMdkosS0FBTUEsR0FBTyxJQUFJNkMsUUFBUSxNQUFPLElBQ2hDdytCLE1BQU9BLEdBQVMsR0FDaEJLLFNBQVVBLEdBQVksR0FDdEJDLFNBQVVBLEdBQVksR0FDdEJDLFdBQVkzTyxHQUFpQixDQUMzQmp4QixLQUFNNC9CLEdBQWMsR0FDcEIxTyxZQUFZLEVBQ1pDLFVBQVUsRUFDVkMsYUFBYSxJQUVmNk4sUUFBU0EsRUFDTGhPLEdBQWlCLENBQ2ZqeEIsS0FBTWkvQixHQUFXLEdBQ2pCL04sWUFBWSxFQUNaQyxVQUFVLEVBQ1ZDLGFBQWEsSUFFZixHQUNKeU8sV0FBWUEsR0FBYSxJQUFJaC9CLFFBQVEsTUFBTyxNQUkxQ29ZLEdBQVM1VixNQUFPUyxJQUNwQixNQUFNZzhCLEVBQWNoOEIsRUFBSTJOLFVBQXdCLHFCQUNoRCxJQUFLcXVCLEVBQWEsTUFBTSxJQUFJbHFCLE1BQU0sOEJBRWxDLE1BQU01WCxJQUFFQSxFQUFHMGhDLFNBQUVBLEVBQVFDLFNBQUVBLEVBQVFDLFdBQUVBLEVBQVVYLFFBQUVBLEVBQU9ZLFVBQUVBLEdBQWNKLEdBQWNLLEdBQ2xGLElBQUlULE1BQUVBLEdBQVVJLEdBQWNLLEdBSTlCLEdBSEtULElBQ0hBLE9BbEdrQmg4QixPQUFPUyxFQUFhOUYsRUFBYTBoQyxFQUFrQkMsS0FDdkUsTUFBTUksRUFBYWo4QixFQUFJMk4sVUFBNEIsbUNBQ25ELEdBQUlzdUIsR0FBY0EsRUFBV0MsYUFBZXBnQyxLQUFLRCxNQUFRb2dDLEVBQVdDLFlBQWMsTUFBV0QsRUFBV1YsTUFDdEcsT0FBT1UsRUFBV1YsTUFFcEIsTUFBTWo3QixRQUFZNE4sRUFBTWl1QixLQUFLLEdBQUdqaUMsbUJBQXNCLENBQ3BEMGhDLFdBQ0FDLGFBRUYsR0FBc0IsTUFBbEJ2N0IsRUFBSU8sS0FBSyt6QixNQUFxQyxZQUFyQnQwQixFQUFJTyxLQUFLUyxRQUF1QixDQUMzRCxNQUFNaTZCLEVBQVFqN0IsRUFBSU8sS0FBS0EsS0FBSzA2QixNQU81QixPQU5BdjdCLEVBQUl3USxXQUFXLENBQ2Isa0NBQW1DLENBQ2pDK3FCLFFBQ0FXLFlBQWFwZ0MsS0FBS0QsU0FHZjAvQixDQUNULENBQ0EsTUFBTSxJQUFJenBCLE1BQU0scUJBK0VBc3FCLENBQWNwOEIsRUFBSzlGLEVBQUswaEMsRUFBVUMsS0FFN0MzaEMsS0FBU3FoQyxHQUFVSyxHQUFZQyxHQUFZLE1BQU0sSUFBSS9wQixNQUFNLG1DQUVoRSxNQUFNaXBCLEVBQVUvNkIsRUFBSTRQLE9BQ3BCLElBQUssTUFBTXJMLEtBQU93MkIsRUFDaEIsR0FBSXgyQixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLElBQUl5RixFQUFRWixFQUFJN0UsUUFDWHlGLEdBQVNaLEVBQUl1USxjQUNoQjNQLEVBQVFPLE9BQU9DLEtBQUtwQixFQUFJdVEsWUFBYSxXQUV2QyxNQUFNdW5CLEVBQWlCLEdBQUdQLElBQWF2M0IsRUFBSTlFLFdBQ3JDdTdCLEVBQWFOLEdBQVl4Z0MsRUFBS3FoQyxFQUFPaDNCLEVBQUk5RSxTQUFVNDhCLEVBQWdCbDNCLEdBQ25FbTNCLFFBQW1CdDhCLEVBQUlPLFFBQVF5NkIsR0FDckNTLEdBQWV6N0IsRUFBS3M4QixHQUVwQixNQUFNQyxRQUFvQnY4QixFQUFJTyxRQUM1Qm03QixHQUFpQixHQUFHeGhDLGdCQUFtQnFoQyxFQUFPLENBQzVDTSxTQUFVLEdBQ1ZXLEtBQU0sRUFDTkMsU0FBVSxFQUNWQyxTQUFTLEVBQ1R4Z0MsS0FBTUEsRUFBS2xDLFFBQVFxaUMsTUFHdkJaLEdBQWV6N0IsRUFBS3U4QixHQUVwQixNQUFNSSxRQUFvQjM4QixFQUFJTyxRQUM1Qm03QixHQUFpQixHQUFHeGhDLGVBQWtCcWhDLEVBQU8sQ0FDM0NNLFNBQVUsR0FDVjMvQixLQUFNbWdDLEVBQ05HLEtBQU0sRUFDTkMsU0FBVSxFQUNWQyxTQUFTLEtBR2JqQixHQUFlejdCLEVBQUsyOEIsR0FFcEIsTUFBTUMsRUFBT0QsRUFBVzVILEtBQUtsMEIsS0FBSys3QixLQUM1QkMsRUFBY3JQLEdBQVcsR0FBRzJOLEdBQVdXLElBQWF2M0IsRUFBSTlFLFlBQzlEOEUsRUFBSXNSLE9BQVMsR0FBR2ttQixHQUFhN2hDLElBQU02aEMsR0FBYUEsSUFBYzdoQyxFQUFNLEdBQUssT0FBTzJpQyxJQUNoRnQ0QixFQUFJc1IsUUFBWWttQixHQUFhQSxJQUFjN2hDLElBQVEwaUMsRUFBeUIsR0FBbEIsU0FBU0EsV0FDNURyNEIsRUFBSXVRLG1CQUNKdlEsRUFBSTdFLE1BQ2IsQ0FFRixPQUFPTSxHQUdIeUQsR0FBVXpELElBQ2QsTUFBTW92QixFQUFhcHZCLEVBQUkyTixVQUF3QixzQkFBd0IsQ0FBQSxFQUN2RSxNQUFPLENBQ0xpZ0IsR0FBWTV0QixFQUFLLFFBQVMsTUFBTyxRQUFTb3ZCLEVBQVdsMUIsS0FBTyxJQUFJLE9BQU0rQyxFQUFXLENBQy9FLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLDJCQUN6QyxJQUVGMEQsR0FBWTV0QixFQUFLLFFBQVMsUUFBUyxRQUFTb3ZCLEVBQVdtTSxPQUFTLElBQUksT0FBT3QrQixFQUFXLENBQ3BGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLDZCQUN6QyxJQUVGMEQsR0FBWTV0QixFQUFLLFFBQVMsV0FBWSxRQUFTb3ZCLEVBQVd3TSxVQUFZLElBQUksT0FBTzMrQixFQUFXLENBQzFGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGdDQUN6QyxJQUVGMEQsR0FBWTV0QixFQUFLLFFBQVMsV0FBWSxRQUFTb3ZCLEVBQVd5TSxVQUFZLElBQUksT0FBTzUrQixFQUFXLENBQzFGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGdDQUN6QyxJQUVGMEQsR0FBWTV0QixFQUFLLFFBQVMsYUFBYyxRQUFTb3ZCLEVBQVcwTSxZQUFjLElBQUksT0FBTzcrQixFQUFXLENBQzlGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLG1DQUN6QyxJQUVGMEQsR0FBWTV0QixFQUFLLFFBQVMsVUFBVyxRQUFTb3ZCLEVBQVcrTCxTQUFXLElBQUksT0FBT2wrQixFQUFXLENBQ3hGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGdDQUN6QyxJQUVGMEQsR0FBWTV0QixFQUFLLFFBQVMsWUFBYSxRQUFTb3ZCLEVBQVcyTSxXQUFhLElBQUksT0FBTzkrQixFQUFXLENBQzVGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGlDQUN6QyxNQzVMTixNQUFNNFMsR0FBb0IsS0FBYyxJQUFJaGhDLE1BQU9paEMsY0FHN0NDLEdBQW9CLENBQUM3MkIsRUFBd0IxRyxLQUNqRCxNQUFNdzlCLEVBQU9ILEtBRVBJLEVBQWEsVUFERjFDLEVBQUtDLFFBQVFoN0IsSUFBYSwrQkFDRHc5QixPQUFVOTJCLEVBQVFnM0IsVUFBVWgzQixFQUFRakssT0FBT3VELElBQy9FMjlCLEVBQVlqaUMsRUFBT2tpQyxXQUFXLE9BQVFsM0IsRUFBUW0zQixpQkFBaUJqaUMsT0FBTzZoQyxHQUFZNWhDLE9BQU8sVUFDL0YsTUFBTyxPQUFPNkssRUFBUW8zQixlQUFlSCxLQUdqQzFDLEdBQWMsQ0FDbEJ2MEIsRUFDQTFHLEVBQ0EyOUIsRUFDQWo0QixLQUFhLENBRWIzRSxPQUFRLE1BQ1J0RyxJQUFLLFdBQVdpTSxFQUFRZzNCLFVBQVVoM0IsRUFBUXEzQixxQkFBcUJoUSxHQUFXLEdBQUdybkIsRUFBUWpLLE9BQU91RCxPQUM1RnE1QixRQUFTLENBQ1AyRSxLQUFNLEdBQUd0M0IsRUFBUWczQixVQUFVaDNCLEVBQVFxM0Isb0JBQ25DaEMsY0FBZTRCLEVBQ2Z0aEMsS0FBTWdoQyxLQUNOLGVBQWdCdEMsRUFBS0MsUUFBUWg3QixJQUFhLDRCQUU1Q3MxQixLQUFNNXZCLEVBQ04xRSx5QkFBeUIsSUFHckIwVSxHQUFTNVYsTUFBT1MsSUFDcEIsTUFBTTA5QixFQUFnQjE5QixFQUFJMk4sVUFBeUIsaUJBQ25ELElBQUsrdkIsRUFBZSxNQUFNLElBQUk1ckIsTUFBTSxnQ0FFcEM0ckIsRUFBY3hoQyxLQUFPaXhCLEdBQWlCLENBQUVqeEIsS0FBTXdoQyxFQUFjeGhDLE9BQzVELE1BQU1pL0IsRUFBVWhPLEdBQWlCLENBQUVqeEIsS0FBTXdoQyxFQUFjdkMsVUFFdkQsSUFDRSxNQUFRdnJCLE9BQVFtckIsR0FBWS82QixFQUN0Qis3QixHQUFhMkIsRUFBYzNCLFdBQWEsSUFBSWgvQixRQUFRLE1BQU8sS0FDM0RiLEtBQUVBLEVBQUlpaEMsT0FBRUEsRUFBTUssS0FBRUEsRUFBTXIzQixRQUFTdzNCLEVBQWEsSUFBT0QsRUFFekQsSUFBSyxNQUFNbjVCLEtBQU93MkIsRUFDaEIsR0FBSXgyQixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLE1BQU0wOUIsRUFBWUosR0FBa0JVLEVBQWVuNUIsRUFBSTlFLFVBQ2pEMEYsRUFBUVosRUFBSTdFLFFBQVVnRyxPQUFPQyxLQUFLcEIsRUFBSXVRLFlBQWMsVUFDcEQzTyxFQUFVdTBCLEdBQVlnRCxFQUFlbjVCLEVBQUk5RSxTQUFVMjlCLEVBQVdqNEIsR0FHcEUsR0FBd0IsYUFGTG5GLEVBQUlPLFFBQVE0RixJQUV0Qmd5QixXQVFQLE1BQU0sSUFBSXJtQixNQUFNLGlCQVJXLFFBQ3BCdk4sRUFBSXVRLG1CQUNKdlEsRUFBSTdFLE9BQ1gsTUFBTW05QixFQUFjclAsR0FBVyxHQUFHMk4sR0FBV2ovQixJQUFPcUksRUFBSTlFLFlBQ3hEOEUsRUFBSXNSLE9BQVNrbUIsRUFDVCxHQUFHQSxLQUFhYyxJQUFjYyxJQUM5QixXQUFXUixLQUFVSyxrQkFBcUJYLElBQWNjLEdBQzlELENBR0YsQ0FFRixPQUFPMzlCLENBQ1QsQ0FBRSxNQUFPNjBCLEdBS1AsTUFKQTcwQixFQUFJd1IsS0FBSzVFLEdBQWMrcEIsYUFBYyxDQUNuQzdCLE1BQU85MEIsRUFBSXFRLEtBQUs2WixVQUF1QixpQkFDdkM2SyxLQUFNLzBCLEVBQUlxUSxLQUFLNlosVUFBdUIsb0JBRWxDMkssQ0FDUixHQUdJcHhCLEdBQVV6RCxJQUNkLE1BQU1vdkIsRUFBYXB2QixFQUFJMk4sVUFBeUIsa0JBQW9CLENBQUEsRUFDcEUsTUFBTyxDQUNMaWdCLEdBQVk1dEIsRUFBSyxXQUFZLGNBQWUsUUFBU292QixFQUFXbU8sYUFBZSxJQUFJLEdBQ25GM1AsR0FBWTV0QixFQUFLLFdBQVksa0JBQW1CLFFBQVNvdkIsRUFBV2tPLGlCQUFtQixJQUFJLEdBQzNGMVAsR0FBWTV0QixFQUFLLFdBQVksU0FBVSxRQUFTb3ZCLEVBQVcrTixRQUFVLElBQUksR0FDekV2UCxHQUFZNXRCLEVBQUssV0FBWSxPQUFRLFFBQVNvdkIsRUFBV29PLE1BQVEsSUFBSSxPQUFNdmdDLEVBQVcsQ0FDcEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsK0JBQ3pDLElBRUYwRCxHQUFZNXRCLEVBQUssV0FBWSxPQUFRLFFBQVNvdkIsRUFBV2x6QixNQUFRLElBQUksT0FBT2UsRUFBVyxDQUNyRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QiwrQkFDekMsSUFFRjBELEdBQVk1dEIsRUFBSyxXQUFZLFVBQVcsUUFBU292QixFQUFXK0wsU0FBVyxJQUFJLE9BQU9sK0IsRUFBVyxDQUMzRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixrQ0FDekMsSUFFRjBELEdBQVk1dEIsRUFBSyxXQUFZLFlBQWEsUUFBU292QixFQUFXMk0sV0FBYSxJQUFJLE9BQU85K0IsRUFBVyxDQUMvRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixvQ0FDekMsSUFFRjBELEdBQVk1dEIsRUFBSyxXQUFZLFVBQVcsUUFBU292QixFQUFXanBCLFNBQVcsSUFBSSxPQUFPbEosRUFBVyxDQUMzRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixrQ0FDekMsTUNuR04sTUFBTTBULEdBQ0pYLEtBQ0FodkIsS0FFQW9qQixjQUFnQixDQUNkLE9BQ0EsUUFDQSxNQUNBLFdBQ0EsV0FDQSxVQUNBLE1BQ0EsU0FDQSxjQUNBLE9BQ0EsU0FDQSxZQUNBLGVBR0YsV0FBQWhrQixDQUFZWSxHQUNWVixLQUFLMHZCLEtBQU8sSUFBSW5oQyxLQUNoQnlSLEtBQUtVLEtBQU9BLENBQ2QsQ0FFTyxJQUFBbFMsR0FDTCxNQUFPLEdBQUd3UixLQUFLMHZCLEtBQUtqaEMsZUFDdEIsQ0FFTyxLQUFBNmhDLEdBQ0wsT0FBUXR3QixLQUFLMHZCLEtBQUsxZ0MsV0FBYSxHQUFHdkIsV0FBVzZCLFNBQVMsRUFBRyxJQUMzRCxDQUVPLEdBQUFpaEMsR0FDTCxPQUFPdndCLEtBQUswdkIsS0FBS3pnQyxVQUFVeEIsV0FBVzZCLFNBQVMsRUFBRyxJQUNwRCxDQUVPLFFBQUE0M0IsR0FDTCxPQUFPbG5CLEtBQUtVLEtBQUt4TyxRQUNuQixDQUVPLFFBQUFBLEdBQ0wsT0FBUThOLEtBQUtVLEtBQUt4TyxVQUFZLElBQUkxQyxRQUFRd1EsS0FBS1UsS0FBSzdSLFNBQVcsR0FBSSxHQUNyRSxDQUVPLE9BQUEyaEMsR0FDTCxPQUFReHdCLEtBQUtVLEtBQUs3UixTQUFXLElBQUlXLFFBQVEsSUFBSyxHQUNoRCxDQUVPLEdBQUFpaEMsR0FDTCxPQUFPN2lDLEVBQU9DLFdBQVcsT0FBT0MsT0FBT2tTLEtBQUswd0IsYUFBYzNpQyxPQUFPLE1BQ25FLENBRU8sTUFBQTRpQyxHQUNMLE9BQU8vaUMsRUFDSkMsV0FBVyxPQUNYQyxPQUFPa1MsS0FBSzB3QixhQUNaM2lDLE9BQU8sVUFDUHlCLFFBQVEsTUFBTyxLQUNmQSxRQUFRLE1BQU8sS0FDZkEsUUFBUSxNQUFPLEdBQ3BCLENBRU8sV0FBQW9oQyxHQUNMLE9BQU9oakMsRUFDSkMsV0FBVyxPQUNYQyxPQUFPa1MsS0FBSzB3QixhQUNaM2lDLE9BQU8sVUFDUHlCLFFBQVEsTUFBTyxLQUNmQSxRQUFRLE1BQU8sS0FDZlQsTUFBTSxFQUFHLEVBQ2QsQ0FFTyxJQUFBOGhDLEdBQ0wsT0FBT2pqQyxFQUFPQyxXQUFXLFFBQVFDLE9BQU9rUyxLQUFLMHdCLGFBQWMzaUMsT0FBTyxNQUNwRSxDQUVPLE1BQUEraUMsR0FDTCxPQUFPbGpDLEVBQU9DLFdBQVcsVUFBVUMsT0FBT2tTLEtBQUswd0IsYUFBYzNpQyxPQUFPLE1BQ3RFLENBRU8sU0FBQWdqQyxHQUNMLE9BQU81akMsS0FBS3NNLE1BQU1sTCxLQUFLRCxNQUFRLEtBQU1iLFVBQ3ZDLENBRU8sV0FBQXVqQyxHQUNMLE9BQU96aUMsS0FBS0QsTUFBTWIsVUFDcEIsQ0FFUSxTQUFBaWpDLEdBQ04sT0FBTzF3QixLQUFLVSxLQUFLNkcsWUFBY3ZILEtBQUtVLEtBQUs2RyxZQUFjdkgsS0FBS1UsS0FBS3ZPLE1BQ25FLEVBR0ksU0FBVTgrQixHQUFXdndCLEVBQWdCL0YsR0FDekMsSUFBS0EsRUFDSCxPQUFPK0YsRUFBS3hPLFNBR2QsTUFBTWcvQixFQUFvQixJQUFJYixHQUFrQjN2QixHQUVoRCxJQUFJdXdCLEVBQXFCdDJCLEVBRXpCLElBQUssTUFBTWpLLEtBQU8yL0IsR0FBa0JjLE9BQVEsQ0FDMUMsTUFBTUMsRUFBSyxJQUFJL2dDLE9BQU8sSUFBSUssS0FBUSxLQUVsQ3VnQyxFQUFhQSxFQUFXemhDLFFBQVE0aEMsRUFBSUYsRUFBa0J4Z0MsS0FDeEQsQ0FFQSxPQUFPdWdDLENBQ1QsVUFrRGdCSSxHQUNkN1IsRUFDQThSLEVBQ0FoSCxHQUVBLE1BQU1pSCxFQXJCUixTQUE0QjVrQyxFQUFNLElBQ2hDLElBQUtBLEVBQUssTUFBTyxHQUVqQixJQUFLLGVBQWV1RSxLQUFLdkUsR0FBTSxDQUM3QixNQUFPdytCLEVBQU1FLEdBQVExK0IsRUFBSWtFLE1BQU0sS0FDL0IsTUFBTyxVQUFVczZCLEVBQUszN0IsUUFBUSxZQUFhLGdCQUFnQjY3QixHQUM3RCxDQUVBLElBQ0UsTUFBTUMsU0FBRUEsRUFBUUYsU0FBRUEsRUFBUUMsS0FBRUEsR0FBUyxJQUFJNTNCLEVBQUk5RyxHQUM3QyxNQUFPLEdBQUcyK0IsTUFBYUYsRUFBUzU3QixRQUFRLFlBQWEsZ0JBQWdCNjdCLEdBQ3ZFLENBQUUsTUFBT2g2QixHQUNQLE1BQU8sRUFDVCxDQUNGLENBT3dCbWdDLENBQW1CaFMsR0FDekMsSUFBSytSLEVBQ0gsT0FZRixPQUFPLElBVE9ELEVBQWFHLEVBQWtCQyxHQUM3QixDQUNkQyxXQUFXLEVBQ1hDLGVBQWdCLElBQ2hCQyxXQUFZLE9BQ1p2SCxxQkFDQTlLLE1BQU8rUixHQUlYLENDcEZBdi9CLGVBQWU4L0IsR0FBV0MsRUFBNkJDLEVBQWNDLEdBQ25FLE1BQU1DLFFBQWtCQyxFQUN0QkosRUFBS0ssT0FDTCxJQUFJQyxFQUFpQixDQUNuQkMsT0FBUVAsRUFBS1EsV0FDYkMsSUFBS1QsRUFBS3BqQyxLQUNWOGpDLFFBQVNULEVBQ1RVLFVBQVdULElBRWIsQ0FBRVUsVUFBVyxPQUVUQyxFQUFZLElBQUlqbUMsRUFBSThHLElBQUl5K0IsR0FFOUIsT0FEQVUsRUFBVUMsT0FBUyxHQUNaRCxFQUFVL0ksSUFDbkIsQ0FFQSxJQUFBOWhCLEdBQWUsQ0FDYitxQixlQWpHRixTQUF3QmYsR0FDdEIsSUFBSVQsR0FBYSxFQUNqQixJQUVFQSxFQUE0QixXQURsQixJQUFJM2tDLEVBQUk4RyxJQUFJcytCLEVBQUszRSxVQUNaOUIsUUFDakIsQ0FBRSxNQUFPLENBRVQsTUFBTXlILEVBQTBDLENBQUEsRUFDNUN6QixFQUNGeUIsRUFBZ0I5SSxXQUFhb0gsR0FBY1UsRUFBS3ZTLE9BQU8sSUFBUXVTLEVBQUt6SCxvQkFFcEV5SSxFQUFnQkMsVUFBWTNCLEdBQWNVLEVBQUt2UyxPQUFPLElBQVN1UyxFQUFLekgsb0JBR3RFLE1BQU0ySSxFQUFnQyxDQUNwQ0MsT0FBUW5CLEVBQUttQixRQUFVLE9BQ3ZCOUYsU0FBVTJFLEVBQUszRSxlQUFZMTlCLEVBQzNCeWpDLFlBQWEsQ0FDWG5ELFlBQWErQixFQUFLcUIsWUFDbEJDLGdCQUFpQnRCLEVBQUtzQixpQkFFeEJDLElBQUtoQyxFQUNMaUMsZUFBZ0J4QixFQUFLeUIsZ0JBQ3JCQyxlQUFnQixJQUFJQyxFQUFnQlgsSUFHdEMsT0FBTyxJQUFJWSxFQUFTVixFQUN0QixFQXVFRVcsaUJBM0RGNWhDLGVBQWdDKy9CLEdBQzlCLElBQUtBLEVBQUtqaUMsS0FBS3FDLFNBQVc0L0IsRUFBS2ppQyxLQUFLeVgsWUFDbEMsTUFBTSxJQUFJaEQsTUFBTSxtQkFFbEIsSUFDRSxNQUFNaWpCLEtBQUVBLEVBQUlnRixZQUFFQSxFQUFXcUgsZ0JBQUVBLFNEb0R4QjdoQyxlQUEyQjBPLEdBS2hDLE1BQU1pbEIsRUFJRixDQUFBLEVBRUosR0FBSWpsQixFQUFLNkcsWUFBYSxDQUNwQixNQUFNaWdCLEVBQU85bUIsRUFBSzZHLFlBQVkvWCxRQUFRLHVCQUF3QixJQUM5RG0yQixFQUFPNkcsWUFBYzlyQixFQUFLNkcsWUFBWTFSLE1BQU0sZ0NBQWdDLEdBQzVFOHZCLEVBQU82QixLQUFPcnZCLE9BQU9DLEtBQUtvdkIsRUFBTSxVQUNoQzdCLEVBQU9rTyxnQkFBa0IsUUFDM0IsTUFDTW56QixFQUFLN1IsVUFDUDgyQixFQUFPNkcsWUFBY1MsRUFBS0MsUUFBUXhzQixFQUFLN1IsZUFBWWEsR0FFckRpMkIsRUFBTzZCLEtBQU85bUIsRUFBS3ZPLE9BSXJCLElBQUt3ekIsRUFBTzZHLFlBQWEsQ0FDdkIsTUFBTXNILFFBQWlCQyxFQUFtQnBPLEVBQU82QixNQUNqRDdCLEVBQU82RyxZQUFjc0gsR0FBVTdHLElBQ2pDLENBRUEsT0FBT3RILENBQ1QsQ0NsRnlEcU8sQ0FBWWpDLEVBQUtqaUMsTUFFaEU0dEIsRUFBVSxJQUFJdVcsRUFBaUIsQ0FDbkMzQixPQUFRUCxFQUFLUSxXQUNiQyxJQUFLVCxFQUFLcGpDLEtBQ1Z1bEMsSUFBS25DLEVBQUtvQyxJQUNWQyxLQUFNNU0sRUFDTmlGLFlBQWFELEVBQ2I2SCxnQkFBaUJSLElBR2J4eEIsUUFBdUMwdkIsRUFBS0ssT0FBT2tDLEtBQUs1VyxHQUU5RCxJQUFJL3dCLEVBV0osT0FQRUEsRUFIR29sQyxFQUFLd0MsVUFHRixHQUFHeEMsRUFBS3dDLGFBQWF4QyxFQUFLcGpDLGFBRnBCbWpDLEdBQVdDLEVBQU0xdkIsRUFBT215QixLQUFPbnlCLEVBQU9xd0IsV0FLaERYLEVBQUtuNUIsVUFDUGpNLEdBQU9vbEMsRUFBS241QixRQUFRL0UsV0FBVyxLQUFPaytCLEVBQUtuNUIsUUFBVSxJQUFJbTVCLEVBQUtuNUIsV0FHekQsQ0FDTGxJLElBQUtxaEMsRUFBS3BqQyxLQUNWaEMsTUFDQThuQyxPQUFROW5DLEVBQ1JzbEMsVUFBVzV2QixFQUFPcXdCLFVBQ2xCVixLQUFNM3ZCLEVBQU9teUIsS0FFakIsQ0FBRSxNQUFPbE4sR0FDUCxPQUFPMTBCLFFBQVFFLE9BQU93MEIsRUFDeEIsQ0FDRixHQzlGQSxTQUFTb04sR0FBK0JDLEdBQ3RDLE1BQXdDLGlCQUE3QkEsRUFDeUMsU0FBM0NBLEVBQXlCOTFCLGNBRTNCKzFCLFFBQVFELEVBQ2pCLENBRUEsTUFBTS9zQixHQUFTNVYsTUFBT1MsSUFDcEIsTUFBTW92QixFQUFvQ3B2QixFQUFJMk4sVUFBVSx1QkFDeEQsSUFBS3loQixFQUFZLE1BQU0sSUFBSXRkLE1BQU0scUNBQ2pDLElBQ0UsTUFBTW93QixFQUEyQkQsR0FBK0I3UyxFQUFXOFMsMEJBQzNFLElBQUlKLEVBQVkxUyxFQUFXMFMsVUFDdkJBLElBQ0ZBLEVBQVlBLEVBQVUva0MsUUFBUSxPQUFRLElBQ2xDcXlCLEVBQVcyUixrQkFBb0JtQixJQUNqQ0osR0FBYSxJQUFNMVMsRUFBVzBRLGFBR2xDLE1BQU1ILEVBQVNycUIsR0FBUytxQixlQUFlalIsR0FDakMyTCxFQUFVLzZCLEVBQUk0UCxPQUNwQixJQUFLLE1BQU1yTCxLQUFPdzJCLEVBQVMsQ0FDekIsTUFBTXFILFFBQWE5c0IsR0FBUzZyQixpQkFBaUIsQ0FDM0N4QixTQUNBRyxXQUFZMVEsRUFBVzBRLFdBQ3ZCNWpDLEtBQU1zaUMsR0FBV2o2QixFQUFLNnFCLEVBQVcwTSxZQUNqQ3orQixLQUFNa0gsRUFDTm05QixJQUFNdFMsRUFBV3NTLEtBQU8sY0FDeEJJLFlBQ0EzN0IsUUFBU2lwQixFQUFXanBCLFNBQVcsWUFFMUI1QixFQUFJN0UsY0FDSjZFLEVBQUl1USxZQUNYdlEsRUFBSXNSLE9BQVN1c0IsRUFBS0osT0FDbEJ6OUIsRUFBSXJLLElBQU1rb0MsRUFBS2xvQyxHQUNqQixDQUVBLE9BQU84RixDQUNULENBQUUsTUFBTzYwQixHQU1QLE1BTEE3MEIsRUFBSXdSLEtBQUs1RSxHQUFjK3BCLGFBQWMsQ0FDbkM3QixNQUFPOTBCLEVBQUlxUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTS8wQixFQUFJcVEsS0FBSzZaLFVBQXVCLDhCQUN0Q3RsQixLQUFNLEtBRUZpd0IsQ0FDUixHQUdJcHhCLEdBQVV6RCxJQVVkLElBQUlvdkIsRUFBYXB2QixFQUFJMk4sVUFBaUMsd0JBQTBCLENBQUEsRUFDaEZ5aEIsRUFBYSxDQVRYdVIsWUFBYSxHQUNiQyxnQkFBaUIsR0FDakJkLFdBQVksR0FDWmhFLFdBQVksaUNBQ1ppRixpQkFBaUIsRUFDakJsSixvQkFBb0IsRUFDcEI2SixJQUFLLGlCQUc2QnRTLEdBK01wQyxNQTlNZ0MsQ0FDOUIsQ0FDRXh0QixLQUFNLGNBQ056QyxLQUFNLFFBQ040c0IsUUFBU3FELEVBQVd1UixZQUNwQjVTLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1QixnQ0FDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLHdDQUN6QyxHQUVGLENBQ0V0b0IsS0FBTSxrQkFDTnpDLEtBQU0sUUFDTjRzQixRQUFTcUQsRUFBV3dSLGdCQUNwQjdTLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1QixxQ0FDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIscUNBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLDZDQUN6QyxHQUVGLENBQ0V0b0IsS0FBTSxhQUNOekMsS0FBTSxRQUNONHNCLFFBQVNxRCxFQUFXMFEsV0FDcEIvUixVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsMkJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLDJCQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixtQ0FDekMsR0FFRixDQUNFdG9CLEtBQU0sYUFDTnpDLEtBQU0sUUFDTjRzQixRQUFTcUQsRUFBVzBNLFdBQ3BCL04sVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLCtCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QiwrQkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsdUNBQ3pDLEdBRUYsQ0FDRXRvQixLQUFNLFNBQ056QyxLQUFNLFFBQ040c0IsUUFBU3FELEVBQVdxUixPQUNwQjFTLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1QiwyQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsMkJBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLG1DQUN6QyxHQUVGLENBQ0V0b0IsS0FBTSxXQUNOekMsS0FBTSxRQUNONHNCLFFBQVNxRCxFQUFXdUwsU0FDcEI1TSxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLDZCQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixxQ0FDekMsR0FFRixDQUNFdG9CLEtBQU0sUUFDTnpDLEtBQU0sUUFDTjRzQixRQUFTcUQsRUFBV3JDLE1BQ3BCZ0IsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLDBCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QiwwQkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsa0NBQ3pDLEdBRUYsQ0FDRXRvQixLQUFNLFlBQ056QyxLQUFNLFFBQ040c0IsUUFBU3FELEVBQVcwUyxVQUNwQi9ULFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qiw4QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsOEJBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLHNDQUN6QyxHQUVGLENBQ0V0b0IsS0FBTSxVQUNOekMsS0FBTSxRQUNONHNCLFFBQVNxRCxFQUFXanBCLFNBQVcsR0FDL0I0bkIsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qiw0QkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsb0NBQ3pDLEdBRUYsQ0FDRXRvQixLQUFNLGtCQUNOekMsS0FBTSxVQUNONHNCLFFBQVNxRCxFQUFXMlIsa0JBQW1CLEVBQ3ZDaFQsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLG9DQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QixvQ0FDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsNENBQ3pDLEdBRUYsQ0FDRXRvQixLQUFNLHFCQUNOekMsS0FBTSxVQUNONHNCLFFBQVNxRCxFQUFXeUkscUJBQXNCLEVBQzFDOUosVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHVDQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qix1Q0FDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsK0NBQ3pDLEdBRUYsQ0FDRXRvQixLQUFNLE1BQ056QyxLQUFNLE9BQ040c0IsUUFBU3FELEVBQVdzUyxLQUFPLGNBQzNCOVUsUUFBUyxDQUNQLFVBQ0EsY0FDQSxvQkFDQSxxQkFDQSxnQkFDQSxvQkFDQSw2QkFFRm1CLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsd0JBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGdDQUN6QyxHQUVGLENBQ0V0b0IsS0FBTSwyQkFDTnpDLEtBQU0sVUFDTjRzQixRQUFTa1csR0FBK0I3UyxFQUFXOFMsNEJBQTZCLEVBQ2hGblUsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLDZDQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qiw2Q0FDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIscURBQ3pDLEtDelFOLFNBQVNtWSxHQUFrQkMsRUFBY3BtQyxFQUFjdUQsRUFBa0I4aUMsRUFBZ0IsSUFDdkYsTUFBTyxnQ0FBZ0NELGNBQWlCOVUsR0FBVyxHQUFHdHhCLElBQU91RCxPQUFjOGlDLEdBQzdGLENBRUEsTUFBTTdILEdBQWMsQ0FBQ2o3QixFQUFrQjBHLEVBQXdCdEYsS0FDN0QsTUFBTTA2QixNQUFFQSxFQUFLK0csS0FBRUEsR0FBU244QixFQUNsQjR6QixFQUFjUyxFQUFLQyxRQUFRaDdCLElBQWEsMkJBQzlDLE1BQU8sQ0FDTGUsT0FBUSxNQUNSdEcsSUFBS21vQyxHQUFrQkMsRUFBTW44QixFQUFRakssS0FBTXVELEdBQzNDcTVCLFFBQVMsQ0FDUDBDLGNBQWUsU0FBU0QsSUFDeEIsYUFBYyxVQUNkLGVBQWdCeEIsR0FFbEJoRixLQUFNbDBCLEVBQ051MUIsTUFBTSxJQUlKb00sR0FBYSxDQUFDL2lDLEVBQWtCMEcsS0FDcEMsTUFBTW8xQixNQUFFQSxFQUFLK0csS0FBRUEsRUFBSUcsT0FBRUEsR0FBV3Q4QixFQUNoQyxNQUFPLENBQ0wzRixPQUFRLE1BQ1J0RyxJQUFLbW9DLEdBQWtCQyxFQUFNbjhCLEVBQVFqSyxLQUFNdUQsRUFBVSxRQUFRZ2pDLEtBQzdEM0osUUFBUyxDQUNQMEMsY0FBZSxTQUFTRCxJQUN4QixhQUFjLFdBRWhCbkYsTUFBTSxJQUlKamhCLEdBQVM1VixNQUFPUyxJQUNwQixNQUFNMGlDLEVBQWdCMWlDLEVBQUkyTixVQUF5QixpQkFDbkQsSUFBSyswQixFQUFlLE1BQU0sSUFBSTV3QixNQUFNLDRCQUVwQyxNQUFNZ3FCLEVBQWEzTyxHQUFpQixDQUFFanhCLEtBQU13bUMsRUFBY3htQyxPQUNwRGkvQixFQUFVaE8sR0FBaUIsQ0FBRWp4QixLQUFNd21DLEVBQWN2SCxTQUFXLEtBQ2xFdUgsRUFBY3htQyxLQUFPNC9CLEVBQ3JCNEcsRUFBYzNHLFdBQWEyRyxFQUFjM0csV0FBYSxJQUFJaC9CLFFBQVEsTUFBTyxJQUN6RSxJQUNFLE1BQU1nK0IsRUFBVS82QixFQUFJNFAsT0FDcEIsSUFBSyxNQUFNckwsS0FBT3cyQixFQUNoQixHQUFJeDJCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsTUFBTW9WLEVBQWN2USxFQUFJdVEsYUFBZXBQLE9BQU9DLEtBQUtwQixFQUFJN0UsUUFBUTFFLFNBQVMsVUFDbEU2RixFQUFPLENBQ1hTLFFBQVMsb0JBQ1RtaEMsT0FBUUMsRUFBY0QsT0FDdEJFLFFBQVM3dEIsRUFDVDVZLEtBQU00L0IsRUFBYWg5QixVQUFVeUYsRUFBSTlFLFdBRTdCdTdCLEVBQWFOLEdBQVluMkIsRUFBSTlFLFNBQVVpakMsRUFBZTdoQyxHQUM1RCxJQUNFLE1BQU1rMEIsUUFLSS8wQixFQUFJTyxRQUFReTZCLEdBQ3RCLElBQUlqRyxFQVFGLE1BQU0sSUFBSWpqQixNQUFNLHlDQVBUdk4sRUFBSXVRLG1CQUNKdlEsRUFBSTdFLE9BQ1g2RSxFQUFJc1IsT0FBUzZzQixFQUFjM0csVUFDdkIsR0FBRzJHLEVBQWMzRyxhQUFhdk8sR0FBVyxHQUFHMk4sR0FBV1csSUFBYXYzQixFQUFJOUUsY0FDeEVzMUIsRUFBSzROLFFBQVFDLGFBQ2pCcitCLEVBQUlzK0IsS0FBTzlOLEVBQUs0TixRQUFRRyxHQUk1QixDQUFFLE1BQU9qTyxHQUNQLEdBQXVCLE1BQW5CQSxFQUFJc0QsV0FBb0IsTUFBTXRELFNBQzNCdHdCLEVBQUl1USxtQkFDSnZRLEVBQUk3RSxPQUNYLE1BQU1ZLFFBQWFOLEVBQUlPLFFBQVFpaUMsR0FBV2orQixFQUFJOUUsU0FBVWlqQyxJQUN4RCxJQUFJeGxDLE9BQU9DLEtBQUttRCxHQUFLbEcsT0FNbkIsTUFBTXk2QixFQUxOdHdCLEVBQUlzK0IsS0FBT3ZpQyxFQUFJd2lDLElBQ2Z2K0IsRUFBSXNSLE9BQVM2c0IsRUFBYzNHLFVBQ3ZCLEdBQUcyRyxFQUFjM0csYUFBYXZPLEdBQVcsR0FBRzJOLEdBQVdXLElBQWF2M0IsRUFBSTlFLGNBQ3hFYSxFQUFJc2lDLFlBSVosQ0FDRixDQUVGLE9BQU81aUMsQ0FDVCxDQUFFLE1BQU82MEIsR0FLUCxNQUpBNzBCLEVBQUl3UixLQUFLNUUsR0FBYytwQixhQUFjLENBQ25DN0IsTUFBTzkwQixFQUFJcVEsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU0vMEIsRUFBSXFRLEtBQUs2WixVQUF1QixnQ0FFbEMySyxDQUNSLEdBR0lweEIsR0FBVXpELElBQ2QsTUFBTW92QixFQUFhcHZCLEVBQUkyTixVQUF5QixrQkFBb0IsQ0FBQSxFQTBGcEUsTUF6RmdDLENBQzlCLENBQ0UvTCxLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1QixxQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIscUJBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLDZCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVdrVCxNQUFRLEdBQzVCdlUsVUFBVSxHQUVaLENBQ0Vuc0IsS0FBTSxTQUNOekMsS0FBTSxRQUNOLFVBQUkrdUIsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsdUJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLHVCQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QiwrQkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXcVQsUUFBVSxTQUM5QjFVLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sUUFDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHNCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QixzQkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXbU0sT0FBUyxHQUM3QnhOLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHFCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QixxQkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV2x6QixNQUFRLEdBQzVCNnhCLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sVUFDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHdCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBVytMLFNBQVcsR0FDL0JwTixVQUFVLEdBRVosQ0FDRW5zQixLQUFNLFlBQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1QiwwQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsMEJBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGtDQUN6QyxFQUNBNkIsUUFBU3FELEVBQVcyTSxXQUFhLEdBQ2pDaE8sVUFBVSxLQzFMaEIsTUFHTTJNLEdBQWNuN0IsTUFDbEJTLEVBQ0FtRyxFQUNBMUcsRUFDQXNqQyxLQUVBLE1BQU1DLEVBQVc3OEIsRUFBUTY4QixVQUFZLEdBQy9CcEgsRUFBV3oxQixFQUFReTFCLFVBQVksR0FDL0JxSCxFQVhrQixDQUFDQSxHQUN6QkEsRUFBZUEsRUFBWTdoQyxXQUFXLFVBQVk2aEMsRUFBYyxVQUFVQSxJQUFpQixHQVV2RUMsQ0FBa0IvOEIsRUFBUTg4QixhQUFlLElBQ3ZERSxFQUFRaDlCLEVBQVFnOUIsT0FBUyxHQUMvQixJQUFJQyxFQUNKLEdBQUl4SCxHQUFZcUgsRUFDZEcsRUFBZ0JILE1BQ1gsS0FBSUQsRUFHVCxNQUFNLElBQUlseEIsTUFBTSx1Q0FGaEJzeEIsRUFBZ0IsYUFBYUosR0FHL0IsQ0FDQSxNQUFNSyxFQUFpQyxDQUNyQzdpQyxPQUFRLE9BQ1J0RyxJQUFLLGdDQUNMNCtCLFFBQVMsQ0FDUDBDLGNBQWU0SCxFQUNmLGVBQWdCLHNCQUNoQjNGLEtBQU0sZ0JBQ04sYUFBYyxXQUVoQmhFLFNBQVUsQ0FDUnQwQixNQUFPNDlCLEVBQ1A1akMsS0FBTSxTQUNOeUMsS0FBTW5DLEVBQ055ckIsWUFBYSwwQkFHakIsR0FBSTBRLEdBQVlxSCxHQUFlRSxFQUFPLENBQ3BDLElBQ0k3aUMsRUFEQWdqQyxFQUFZLEVBRVpDLEVBQVksR0FDaEIsRUFBRyxDQUNELE1BQU1DLEVBQXNDLENBQzFDaGpDLE9BQVEsTUFDUnRHLElBQUssbUNBQW1DMGhDLFlBQW1CMEgsSUFDM0R4SyxRQUFTLENBQ1AwQyxjQUFlNEgsR0FFakJoTixNQUFNLEVBQ04zMUIseUJBQXlCLEVBQ3pCZ2pDLFFBQVMsS0FNWCxHQUpJdDlCLEVBQVE0bUIsUUFDVnlXLEVBQW9CelcsTUFBUTVtQixFQUFRNG1CLE9BRXRDenNCLFFBQWFOLEVBQUlPLFFBQVFpakMsR0FDQSxNQUFuQmxqQyxFQUFJNjNCLGFBQXNCNzNCLEVBQUl5MEIsS0FBS2wxQixRQUN2QyxNQUFNLElBQUlpUyxNQUFNLGtDQUVsQixNQUFNNHhCLEVBQVlwakMsRUFBSXkwQixLQUFLbDBCLEtBQzNCLElBQUssTUFBTXhELEtBQVFxbUMsRUFDakIsR0FBSXJtQyxFQUFLeTNCLFFBQVVxTyxFQUFPLENBQ3hCSSxFQUFZbG1DLEVBQUtrTCxHQUNqQixLQUNGLENBRUYrNkIsR0FDRixPQUFTaGpDLEVBQUl5MEIsS0FBS2wwQixLQUFLekcsT0FBUyxHQUM1Qm1wQyxHQUFhRixFQUFlNUosV0FDOUI0SixFQUFlNUosU0FBUzBKLE1BQVFJLEVBRXBDLENBSUEsT0FISXA5QixFQUFRNG1CLFFBQ1ZzVyxFQUFldFcsTUFBUTVtQixFQUFRNG1CLE9BRTFCc1csR0FHSGx1QixHQUFTNVYsTUFBT1MsSUFDcEIsTUFBTTJqQyxFQUFlM2pDLEVBQUkyTixVQUF3QixnQkFDakQsSUFBS2cyQixFQUFjLE1BQU0sSUFBSTd4QixNQUFNLDJCQUNuQyxJQUNFLE1BQU1pcEIsRUFBVS82QixFQUFJNFAsT0FDcEIsSUFBSyxNQUFNckwsS0FBT3cyQixFQUNoQixHQUFJeDJCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsTUFBTW9WLEVBQWN2USxFQUFJdVEsYUFBZXBQLE9BQU9DLEtBQUtwQixFQUFJN0UsUUFBUTFFLFNBQVMsVUFDbEVtTCxRQUFnQnUwQixHQUFZMTZCLEVBQUsyakMsRUFBY3AvQixFQUFJOUUsU0FBVXFWLEdBQzdEeFUsUUFBb0JOLEVBQUlPLFFBQVE0RixHQUNoQzR1QixFQUFzQixpQkFBUnowQixFQUFtQnVELEtBQUtDLE1BQU14RCxHQUFPQSxFQUN6RCxJQUFJeTBCLEVBQUtsMUIsUUFNUCxNQUFNLElBQUlpUyxNQUFNLHlDQUxUdk4sRUFBSXVRLG1CQUNKdlEsRUFBSTdFLE9BQ1g2RSxFQUFJc1IsT0FBU2tmLEVBQUtsMEIsS0FBSytpQyxLQUN2QnIvQixFQUFJcytCLEtBQU85TixFQUFLbDBCLEtBQUtnakMsVUFJekIsQ0FFRixPQUFPN2pDLENBQ1QsQ0FBRSxNQUFPNjBCLEdBTVAsTUFMQTcwQixFQUFJd1IsS0FBSzVFLEdBQWMrcEIsYUFBYyxDQUNuQzdCLE1BQU85MEIsRUFBSXFRLEtBQUs2WixVQUF1QixpQkFDdkM2SyxLQUFNLzBCLEVBQUlxUSxLQUFLNlosVUFBdUIsOEJBQ3RDdGxCLEtBQU0scUNBRUZpd0IsR0FBS3FELFVBQVVyM0IsTUFBUWcwQixDQUMvQixHQUdJcHhCLEdBQVV6RCxJQUNkLE1BQU1vdkIsRUFBYXB2QixFQUFJMk4sVUFBd0IsaUJBQW1CLENBQUEsRUE4RWxFLE1BN0VnQyxDQUM5QixDQUNFL0wsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUkrdUIsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsd0JBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLHdCQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixnQ0FDekMsRUFDQTZCLFFBQVNxRCxFQUFXNFQsVUFBWSxHQUNoQ2pWLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sV0FDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHdCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3dNLFVBQVksR0FDaEM3TixVQUFVLEdBRVosQ0FDRW5zQixLQUFNLGNBQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qiw0QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLG9DQUN6QyxFQUNBNkIsUUFBU3FELEVBQVc2VCxhQUFlLEdBQ25DbFYsVUFBVSxHQUVaLENBQ0Vuc0IsS0FBTSxRQUNOekMsS0FBTSxRQUNOLFVBQUkrdUIsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIscUJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLHFCQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1Qiw2QkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXK1QsT0FBUyxHQUM3QnBWLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sUUFDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHFCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QixxQkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3JDLE9BQVMsR0FDN0JnQixVQUFVLEtDckxoQixNQUFNNVksR0FBUzVWLE1BQU9TLElBQ3BCLE1BQU04akMsRUFBYzlqQyxFQUFJMk4sVUFBd0IsZ0JBQ2hELElBQUttMkIsRUFBYSxNQUFNLElBQUloeUIsTUFBTSw4QkFFbEMsTUFBTWdxQixFQUFhZ0ksRUFBWTVuQyxNQUFRLEdBQ2pDNi9CLEdBQWErSCxFQUFZL0gsV0FBYSxJQUFJaC9CLFFBQVEsTUFBTyxJQUN6RG8rQixFQUFVaE8sR0FBaUIsQ0FDL0JqeEIsS0FBTTRuQyxFQUFZM0ksU0FBU3ArQixRQUFRLE1BQU8sT0FFdENnK0IsRUFBVS82QixFQUFJNFAsT0FDcEIsSUFBSyxNQUFNckwsS0FBT3cyQixFQUNoQixHQUFJeDJCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsSUFBSXlGLEVBQVFaLEVBQUk3RSxRQUNYeUYsR0FBU1osRUFBSXVRLGNBQ2hCM1AsRUFBUU8sT0FBT0MsS0FBS3BCLEVBQUl1USxZQUFhLFdBRXZDLElBQ0UsTUFBTWl2QixFQUFjN25DLEVBQUtyQixLQUFLbUYsRUFBSXdOLFFBQVMsVUFBVyxTQUNoRHcyQixFQUFrQjluQyxFQUFLckIsS0FBS2twQyxFQUFheC9CLEVBQUk5RSxVQUM3Q3drQyxFQUFpQi9uQyxFQUFLckIsS0FBS2loQyxFQUFZdjNCLEVBQUk5RSxVQUNqRCxJQUVFaU8sRUFBY3hSLEVBQUtsQyxRQUFRaXFDLElBQzNCdjJCLEVBQWN4UixFQUFLbEMsUUFBUWdxQyxHQUM3QixDQUFFLE1BQU9wbEMsR0FBSyxDQUNkZSxFQUFHd08sY0FBYzgxQixFQUFnQjkrQixHQUNqQ3hGLEVBQUd1a0MsYUFBYUQsRUFBZ0JELFVBQ3pCei9CLEVBQUl1USxtQkFDSnZRLEVBQUk3RSxPQUVUNkUsRUFBSXNSLE9BREZrbUIsRUFDVyxHQUFHQSxLQUFhdk8sR0FBVyxHQUFHMk4sSUFBVTUyQixFQUFJOUUsY0FFNUN2RCxFQUFLckIsS0FBS2loQyxFQUFZdjNCLEVBQUk5RSxVQUV6QzhFLEVBQUlzK0IsS0FBTzNtQyxFQUFLckIsS0FBS2loQyxFQUFZdjNCLEVBQUk5RSxVQUNyQzhFLEVBQUk0L0IsWUFBYyxnQ0FBZ0MzVyxHQUFXanBCLEVBQUk5RSxVQUFVMUMsUUFBUSxNQUFPLEtBQzVGLENBQUUsTUFBTzZCLEdBS1AsTUFKQW9CLEVBQUl3UixLQUFLNUUsR0FBYytwQixhQUFjLENBQ25DN0IsTUFBTzkwQixFQUFJcVEsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU0sMkJBRUYsSUFBSWpqQixNQUFNLHlCQUNsQixDQUNGLENBRUYsT0FBTzlSLEdBR0h5RCxHQUFVekQsSUFDZCxNQUFNb3ZCLEVBQWFwdkIsRUFBSTJOLFVBQXdCLGlCQUFtQixDQUFBLEVBZ0RsRSxNQS9DZ0MsQ0FDOUIsQ0FDRS9MLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLG9CQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QixvQkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXbHpCLE1BQVEsR0FDNUIsV0FBSW9GLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0E2RCxVQUFVLEdBRVosQ0FDRW5zQixLQUFNLFlBQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qix5QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIseUJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBVzJNLFdBQWEsR0FDakMsV0FBSXo2QixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGlDQUN6QyxFQUNBNkQsVUFBVSxHQUVaLENBQ0Vuc0IsS0FBTSxVQUNOekMsS0FBTSxRQUNOLFVBQUkrdUIsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsdUJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLHVCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVcrTCxTQUFXLEdBQy9CcE4sVUFBVSxFQUNWLFdBQUl6c0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QiwrQkFDekMsS0MxRU4sTUFBTXdRLEdBQWMsQ0FBQ3YwQixFQUFzQjFHLEVBQThCMEYsS0FDdkUsSUFBSXV6QixFQUFPdnlCLEVBQVF1eUIsS0FDbkJBLEVBQU9BLEVBQUszN0IsUUFBUSxNQUFPLElBQzNCLE1BQU1xbkMsRUFBMkIsT0FBcEJqK0IsRUFBUWlzQixRQUNmbUosRUFBUXAxQixFQUFRbzFCLE1BRWhCOEksRUFBWSxDQUNoQixlQUFnQixzQkFDaEIsYUFBYyxVQUNkQyxXQUFZLGFBQ1ovSSxNQUFPQSxRQUFTdCtCLEdBRVpzbkMsRUFBYSxDQUNqQnAvQixNQUFPLENBQ0xvbkIsTUFBT3BuQixFQUNQZ0IsUUFBUyxDQUNQMDBCLFNBQVVwN0IsSUFHZCtrQyxJQUFLLFFBR0RDLEVBQVksQ0FDaEIsZUFBZ0Isc0JBQ2hCLGFBQWMsVUFDZEgsV0FBWSxhQUNaSSxPQUFRLG1CQUNSbEosY0FBZUQsUUFBU3QrQixHQUVwQjBuQyxFQUFheCtCLEVBQVF3K0IsV0FDckJDLEVBQVV6K0IsRUFBUXkrQixRQUN4QixJQUFJQyxFQUFrQjErQixFQUFRMCtCLFdBQVd0WSxXQUN0QnR2QixJQUFmNG5DLElBQ0ZBLEVBQWExK0IsRUFBUTArQixZQUV2QixNQUFNQyxFQUEwQixDQUM5QjlsQyxLQUFNLENBQ0p1dEIsTUFBT3BuQixFQUNQZ0IsUUFBUyxDQUNQMDBCLFNBQVVwN0IsSUFHZCtrQyxJQUFLLE9BQ0xPLFlBQWFKLEVBQ2JLLFNBQVVKLEVBQ1ZDLGNBRUdGLFVBQ0lHLEVBQVdDLFlBRWZILFVBQ0lFLEVBQVdFLFNBRUMsSUFBZkgsR0FBbUMsSUFBZkEsVUFDakJDLEVBQVdELFdBTXBCLE1BQU8sQ0FDTHJrQyxPQUFRLE9BQ1J0RyxJQUFLa3FDLEVBQU8sR0FBRzFMLGtCQUF1QixHQUFHQSxlQUN6Q3VNLE1BTm1CLElBQUl4TixFQUFNQyxNQUFNLENBQ25DRyxvQkFBb0IsSUFNcEJpQixRQUFTc0wsRUFBT0ssRUFBWUosRUFDNUI1SyxTQUFVMkssRUFBT1UsRUFBYVAsSUFJNUJwdkIsR0FBUzVWLE1BQU9TLElBQ3BCLE1BQU1rbEMsRUFBY2xsQyxFQUFJMk4sVUFBdUIsb0JBQy9DLElBQUt1M0IsRUFBYSxNQUFNLElBQUlwekIsTUFBTSxtQ0FFbEMsTUFBTWlwQixFQUFVLzZCLEVBQUk0UCxPQUNwQixJQUFLLE1BQU1yTCxLQUFPdzJCLEVBQVMsQ0FDekIsSUFBSTUxQixFQUFRWixFQUFJN0UsUUFDWHlGLEdBQVNaLEVBQUl1USxjQUNoQjNQLEVBQVFPLE9BQU9DLEtBQUtwQixFQUFJdVEsWUFBYSxXQUV2QyxNQUFNa21CLEVBQWFOLEdBQVl3SyxFQUFhM2dDLEVBQUk5RSxTQUFVMEYsR0FDMUQsSUFBSTR2QixRQUFjLzBCLEVBQUlPLFFBQVF5NkIsR0FDOUJqRyxFQUF1QixpQkFBVEEsRUFBb0JseEIsS0FBS0MsTUFBTWl4QixHQUFRQSxFQUNyRCxNQUFNcVAsRUFBK0IsT0FBeEJjLEVBQVk5UyxRQUV6QixLQURrQmdTLEdBQXVCLElBQWhCclAsRUFBS3FELE9BQWdDLE1BQWRyRCxFQUFLSCxNQWFuRCxNQUpBNTBCLEVBQUl3UixLQUFLNUUsR0FBYytwQixhQUFjLENBQ25DN0IsTUFBTyxnQkFDUEMsS0FBTUEsRUFBS3p6QixVQUVQLElBQUl3USxNQUFNaWpCLEVBQUt6ekIsZ0JBWGRpRCxFQUFJdVEsbUJBQ0p2USxFQUFJN0UsT0FDWDZFLEVBQUlzUixPQUFTdXVCLEVBQU9yUCxFQUFLbDBCLEtBQUtza0MsTUFBTWpyQyxJQUFNNjZCLEVBQUtsMEIsS0FBSzNHLElBQ2hEa3FDLElBQ0Y3L0IsRUFBSXMrQixLQUFPOU4sRUFBS2wwQixLQUFLNUMsSUFTM0IsQ0FDQSxPQUFPK0IsR0FHSHlELEdBQVV6RCxJQUNkLE1BQU1vdkIsRUFBYXB2QixFQUFJMk4sVUFBdUIscUJBQXVCLENBQUEsRUF3R3JFLE1BdkdnQyxDQUM5QixDQUNFL0wsS0FBTSxVQUNOekMsS0FBTSxPQUNONHNCLFFBQVNxRCxFQUFXZ0QsU0FBVyxLQUMvQixVQUFJbEUsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsc0JBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLHNCQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1Qiw4QkFDekMsRUFDQTBDLFFBQVMsQ0FBQyxLQUFNLE1BQ2hCbUIsVUFBVSxHQUVaLENBQ0Vuc0IsS0FBTSxPQUNOekMsS0FBTSxRQUNOLFVBQUkrdUIsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsbUJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLG1CQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QiwyQkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXc0osTUFBUSxHQUM1QjNLLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sUUFDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLG9CQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QixvQkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV21NLE1BQ3BCeE4sVUFBVSxHQUVaLENBQ0Vuc0IsS0FBTSxhQUNOekMsS0FBTSxRQUNONHNCLFFBQVNxRCxFQUFXdVYsV0FDcEI1VyxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsMEJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLDBCQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixrQ0FDekMsR0FFRixDQUNFdG9CLEtBQU0sVUFDTnpDLEtBQU0sUUFDTjRzQixRQUFTcUQsRUFBV3dWLFFBQ3BCN1csVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHVCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qix1QkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsK0JBQ3pDLEdBRUYsQ0FDRXRvQixLQUFNLGFBQ056QyxLQUFNLE9BQ040c0IsUUFBU3FELEVBQVd5VixZQUFjLG1CQUNsQ2pZLFFBQVMsQ0FDUCxDQUNFaHJCLEtBQU0sbUJBQ04ycUIsTUFBTyxHQUVULENBQ0UzcUIsS0FBTSxTQUNOMnFCLE1BQU8sSUFHWHdCLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qix5QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIseUJBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGlDQUN6QyxLQ25PTixNQUFNd1EsR0FBYyxDQUFDdjBCLEVBQXlCMUcsRUFBa0IwRixLQUM5RCxNQUFNdXpCLEtBQUVBLEVBQU8sWUFBV0UsS0FBRUEsRUFBTyxHQUFFd00sT0FBRUEsRUFBUyxHQUFFelosV0FBRUEsRUFBYSxVQUFTMFosVUFBRUEsRUFBWSxJQUFPbC9CLEVBQ3pGbS9CLEVBQU81TSxFQUFLdDFCLE1BQU0sOEJBQ2xCeTFCLEVBQVdILEVBQUt0M0IsV0FBVyxZQUFjLFdBQWEsVUFDdERta0MsRUFBYTdNLEVBQUszN0IsUUFBUSx5QkFBMEIsSUFNMUQsTUFBTyxDQUNMeUQsT0FBUSxPQUNSdEcsSUFIVSxHQUhLb3JDLEVBQ2IsR0FBR3pNLElBQVcwTSxLQUZFM00sR0FBUSxVQUd4QixHQUFHQyxJQUFXME0sSUFBYTNNLEVBQU8sSUFBSUEsSUFBUywwQkFDTmpOLElBQWF5WixFQUFTLFdBQVdBLElBQVcsS0FBS0MsRUFBWSxRQUFRQSxJQUFjLEtBSTlIdk0sUUFBUyxDQUNQLGVBQWdCLHVCQUVsQlcsU0FBVSxDQUNSejZCLEtBQU0sQ0FDSnV0QixNQUFPcG5CLEVBQ1BnQixRQUFTLENBQ1AwMEIsU0FBVXA3QixFQUNWczZCLFlBQWFTLEVBQUtDLFFBQVFoN0IsSUFBYSw4QkFJN0NnQix5QkFBeUIsSUFJdkIwVSxHQUFTNVYsTUFBT1MsSUFDcEIsTUFBTXdsQyxFQUFpQnhsQyxFQUFJMk4sVUFBMEIsa0JBQ3JELElBQUs2M0IsRUFDSCxNQUFNLElBQUkxekIsTUFBTSw2QkFFbEIsSUFDRSxNQUFNaXBCLEVBQVUvNkIsRUFBSTRQLE9BQ3BCLElBQUssTUFBTXJMLEtBQU93MkIsRUFDaEIsR0FBSXgyQixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLElBQUl5RixFQUFRWixFQUFJN0UsUUFDWHlGLEdBQVNaLEVBQUl1USxjQUNoQjNQLEVBQVFPLE9BQU9DLEtBQUtwQixFQUFJdVEsWUFBYSxXQUV2QyxNQUFNM08sRUFBVXUwQixHQUFZOEssRUFBZ0JqaEMsRUFBSTlFLFNBQVUwRixHQUVwRDdFLFFBQVlOLEVBQ2ZPLFFBQVE0RixHQUNSeEYsS0FBTUwsR0FBYUEsR0FDbkJpQixNQUFPc3pCLElBQ0MsQ0FDTHNELFdBQVksSUFDWnBELEtBQU0sQ0FDSnBmLElBQUszVixFQUFJcVEsS0FBSzZaLFVBQXVCLGVBQ3JDMkssVUFJUixHQUF1QixNQUFuQnYwQixFQUFJNjNCLGFBQXNCNzNCLEVBQUl5MEIsTUFBTWwxQixRQU10QyxNQUFNLElBQUlpUyxNQUFNeFIsRUFBSXkwQixLQUFLenpCLGdCQUxsQmlELEVBQUl1USxtQkFDSnZRLEVBQUk3RSxPQUNYNkUsRUFBSXNSLE9BQVN2VixFQUFJeTBCLEtBQUs3QixPQUFPLEdBQzdCM3VCLEVBQUlraEMsV0FBYW5sQyxFQUFJeTBCLEtBQUswUSxXQUFhbmxDLEVBQUl5MEIsS0FBSzBRLFdBQVcsR0FBSyxFQUlwRSxDQUVGLE9BQU96bEMsQ0FDVCxDQUFFLE1BQU82MEIsR0FLUCxNQUpBNzBCLEVBQUl3UixLQUFLNUUsR0FBYytwQixhQUFjLENBQ25DN0IsTUFBTzkwQixFQUFJcVEsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU0vMEIsRUFBSXFRLEtBQUs2WixVQUF1QixvQkFFbEMySyxDQUNSLEdBR0lweEIsR0FBVXpELElBQ2QsTUFBTW92QixFQUFhcHZCLEVBQUkyTixVQUEwQixtQkFBcUIsQ0FBQSxFQStEdEUsTUE5RGdDLENBQzlCLENBQ0UvTCxLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1QixzQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsc0JBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3NKLE1BQVEsWUFDNUIzSyxVQUFVLEdBRVosQ0FDRW5zQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1QixzQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsc0JBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3dKLE1BQVEsTUFDNUI3SyxVQUFVLEdBRVosQ0FDRW5zQixLQUFNLFNBQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsd0JBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV2dXLFFBQVUsR0FDOUJyWCxVQUFVLEdBRVosQ0FDRW5zQixLQUFNLGFBQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qiw0QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3pELFlBQWMsR0FDbENvQyxVQUFVLEdBRVosQ0FDRW5zQixLQUFNLFlBQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1QixxQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIscUJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV2lXLFdBQWEsR0FDakN0WCxVQUFVLEtDeEloQixTQUFTMk0sR0FBWXYwQixFQUF1QjFHLEVBQWtCODdCLEVBQWV3SCxHQUMzRSxNQUFNdkYsRUFpQlIsU0FBb0JBLEdBQ2xCLE1BQWdCLE9BQVRBLEVBQWdCLEdBQUssSUFBTUEsQ0FDcEMsQ0FuQmVrSSxDQUFXdi9CLEVBQVFxM0IsTUFBUSxNQUNsQ3RoQyxFQUFPaUssRUFBUWpLLE1BQVEsR0FLN0IsTUFBTyxDQUNMc0UsT0FBUSxPQUNSdEcsSUFBSyxnQkFBZ0JzakMsOEJBTkE5M0IsT0FBT0MsS0FBS3pKLEVBQU91RCxFQUFVLFNBQ2pEekUsU0FBUyxVQUNUK0IsUUFBUSxNQUFPLEtBQ2ZBLFFBQVEsTUFBTyxPQUloQis3QixRQUFTLENBQ1AwQyxjQUFlLFdBQVdELElBQzFCLGVBQWdCZixFQUFLQyxRQUFRaDdCLElBQWEsNEJBRTVDczFCLEtBQU1nTyxFQUVWLENBTUEsU0FBUzRDLEdBQVNDLEdBQ2hCLE1BQU1DLEVBQVlELEVBQWFDLFVBQ3pCQyxFQUFZRixFQUFhRSxVQUN6QkMsRUFBTSxJQUFJbFgsR0FBTW1YLEtBQUsxcUMsT0FBTzJxQyxJQUFJSixFQUFXQyxHQUMzQzMvQixFQUFVLENBQ2Q5RCxNQUFPdWpDLEVBQWF6SSxRQUd0QixPQURrQixJQUFJdE8sR0FBTXFYLEdBQUdDLFVBQVVoZ0MsR0FDeEJpZ0MsWUFBWUwsRUFDL0IsQ0FFQSxNQUFNNXdCLEdBQVM1VixNQUFPUyxJQUNwQixNQUFNNGxDLEVBQWU1bEMsRUFBSTJOLFVBQXdCLGdCQUNqRCxJQUFLaTRCLEVBQ0gsTUFBTSxJQUFJOXpCLE1BQU0sMkJBRWxCLElBQ0UsTUFBTWlwQixFQUFVLzZCLEVBQUk0UCxPQUNwQixJQUFLLE1BQU1yTCxLQUFPdzJCLEVBQ2hCLEdBQUl4MkIsRUFBSTlFLFVBQVk4RSxFQUFJN0UsT0FBUSxDQUM5QixNQUFNb1YsRUFBY3ZRLEVBQUl1USxhQUFlcFAsT0FBT0MsS0FBS3BCLEVBQUk3RSxRQUFRMUUsU0FBUyxVQUNsRW1MLEVBQVV1MEIsR0FBWWtMLEVBQWNyaEMsRUFBSTlFLFNBQVVrbUMsR0FBU0MsR0FBZTl3QixHQUMxRXhVLFFBQVlOLEVBQUlPLFFBQVE0RixHQUN4QjR1QixFQUFPbHhCLEtBQUtDLE1BQU14RCxHQUN4QixJQUFJeTBCLEdBQU05MkIsSUFZUixNQUxBK0IsRUFBSXdSLEtBQUs1RSxHQUFjK3BCLGFBQWMsQ0FDbkM3QixNQUFPOTBCLEVBQUlxUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTUEsRUFBS3BmLE1BRWIzVixFQUFJZ08sSUFBSTNNLE1BQU0sY0FBZTB6QixHQUN2QixJQUFJampCLE1BQU0saUJBWkgsUUFDTnZOLEVBQUl1USxtQkFDSnZRLEVBQUk3RSxPQUNYLE1BQU0ybUMsRUFBVVQsRUFBYTFyQyxJQUN2QnlqQyxFQUFhaUksRUFBYXovQixTQUFXLEdBQzNDNUIsRUFBSXNSLE9BQVMsR0FBR3d3QixLQUFXdFIsRUFBSzkyQixNQUFnQjAvQixHQUNsRCxDQVFGLENBRUYsT0FBTzM5QixDQUNULENBQUUsTUFBTzYwQixHQUNQLEdBQW9CLGtCQUFoQkEsRUFBSXZ6QixTQUVGdXpCLEVBQUlxRCxTQUFVLENBQ2hCLE1BQU03MkIsRUFBUXd6QixFQUFJcUQsU0FBU25ELEtBQzNCLzBCLEVBQUl3UixLQUFLNUUsR0FBYytwQixhQUFjLENBQ25DN0IsTUFBTzkwQixFQUFJcVEsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU0xekIsRUFBTUEsT0FFaEIsQ0FFRixNQUFNd3pCLENBQ1IsR0FHSXB4QixHQUFVekQsSUFDZCxNQUFNb3ZCLEVBQWFwdkIsRUFBSTJOLFVBQXdCLGlCQUFtQixDQUFBLEVBbUdsRSxNQWxHZ0MsQ0FDOUIsQ0FDRS9MLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHlCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qix5QkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXeVcsV0FBYSxHQUNqQzlYLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHlCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qix5QkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXMFcsV0FBYSxHQUNqQy9YLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sU0FDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHNCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QixzQkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXK04sUUFBVSxHQUM5QnBQLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sTUFDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLG1CQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QixtQkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsMkJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV2wxQixLQUFPLEdBQzNCNnpCLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLG9CQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QixvQkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV29PLE1BQVEsR0FDNUJ6UCxVQUFVLEdBRVosQ0FDRW5zQixLQUFNLFVBQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qix1QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsdUJBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLCtCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVdqcEIsU0FBVyxHQUMvQjRuQixVQUFVLEdBRVosQ0FDRW5zQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1QixvQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsb0JBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVdsekIsTUFBUSxHQUM1QjZ4QixVQUFVLEtDaExoQixNQUFNdVksR0FDSWpWLGdCQUNBc08sT0FBUyxJQUFJNEcsR0FDckJDLGFBQWMsRUFFZCxXQUFBbjVCLEdBQXVCLENBRWhCLGtCQUFPbzVCLEdBSVosT0FIS0gsR0FBVW5OLFdBQ2JtTixHQUFVbk4sU0FBVyxJQUFJbU4sSUFFcEJBLEdBQVVuTixRQUNuQixDQUVRLCtCQUFPdU4sQ0FBeUJ4cUMsR0FDdEMsT0FBT0EsRUFBS2EsUUFBUSxNQUFPLElBQzdCLENBRU8sYUFBTTRwQyxDQUFRbGpDLEdBQ25CLE1BQU1pMUIsS0FBRUEsRUFBSUUsS0FBRUEsRUFBSWdELFNBQUVBLEVBQVFDLFNBQUVBLEVBQVErSyxXQUFFQSxFQUFVQyxXQUFFQSxHQUFlcGpDLEVBQzdEcWpDLEVBQW9CRixFQUN0QixDQUNFaEwsV0FDQW1MLGVBQWdCSCxFQUNoQkMsV0FBWUEsUUFBYzVwQyxHQUU1QixDQUFFMitCLFdBQVVDLFlBQ2hCLFVBQ1F0dUIsS0FBS295QixPQUFPZ0gsUUFBUSxDQUN4QmpPLE9BQ0FFLEtBQU0zMEIsT0FBTzIwQixJQUFTLE1BQ25Ca08sSUFFTHY1QixLQUFLaTVCLGFBQWMsQ0FDckIsQ0FBRSxNQUFPM1IsR0FDUCxNQUFNLElBQUkvaUIsTUFBTStpQixFQUNsQixDQUNGLENBRU8sWUFBTWprQixDQUFPOGQsRUFBZXNZLEVBQWdCdmpDLEdBQ2pELElBQUs4SixLQUFLaTVCLFlBQ1IsTUFBTSxJQUFJMTBCLE1BQU0sK0JBRWxCLElBQ0VrMUIsRUFBU1YsR0FBVUkseUJBQXlCTSxTQUN0Q3o1QixLQUFLMDVCLE1BQU0vcUMsRUFBS2xDLFFBQVFndEMsR0FBUWpxQyxRQUFRLGFBQWMsSUFBSzBHLFNBQzNEOEosS0FBS295QixPQUFPdUgsUUFBUXhZLEVBQU9zWSxHQUNqQyxNQUFNRyxFQUFXMWpDLEVBQU8wakMsVUFBWSxPQUNuQixTQUFiQSxTQUNJNTVCLEtBQUs2NUIsS0FBSyxTQUFTRCxNQUFhSCxLQUUxQyxDQUFFLE1BQU9uUyxHQUNQLE1BQU0sSUFBSS9pQixNQUFNK2lCLEVBQ2xCLENBQ0YsQ0FFUSxXQUFNb1MsQ0FBTUksRUFBaUI1akMsR0FDbkMsSUFBSzhKLEtBQUtveUIsT0FBTzZHLGNBQ2YsTUFBTSxJQUFJMTBCLE1BQU0sZ0NBRWxCLE1BQU13MUIsRUFBZ0I3akMsRUFBTzhqQyxTQUFXLE9BQ3hDLEdBQXNCLFNBQWxCRCxFQUEwQixDQUM1QixNQUFNRSxFQUFPSCxFQUFRanBDLE1BQU0sS0FDM0IsSUFBSXFwQyxFQUFjLEdBQ2xCLElBQUssTUFBTUMsS0FBT0YsRUFDaEIsR0FBSUUsRUFBSyxDQUNQRCxHQUFlLElBQUlDLElBQ25CLE1BQU1DLEVBQVMsVUFBVUYsZUFBeUJILE1BQWtCRyxXQUM5RGw2QixLQUFLNjVCLEtBQUtPLEVBQ2xCLENBRUosS0FBTyxDQUNMLE1BQU1BLEVBQVMscUJBQXFCTixXQUM5Qjk1QixLQUFLNjVCLEtBQUtPLEVBQ2xCLENBQ0YsQ0FFTyxXQUFNQyxDQUFNWixFQUFnQmEsRUFBY0MsR0FDL0NkLEVBQVNWLEdBQVVJLHlCQUF5Qk0sR0FDNUMsTUFBT2UsRUFBT0MsR0FBVUYsRUFBUSxDQUFDRCxFQUFNQyxHQUFTRCxFQUFLdnFDLFNBQVMsS0FBT3VxQyxFQUFLenBDLE1BQU0sS0FBTyxDQUFDeXBDLEVBQU1BLFNBRXhGdDZCLEtBQUs2NUIsS0FBSyxTQUFTVyxLQUFTQyxNQUFXaEIsS0FDL0MsQ0FFUSxVQUFNSSxDQUFLTyxHQUVqQixPQUEyQixXQURGcDZCLEtBQUtveUIsT0FBT2hMLFlBQVlnVCxJQUMvQi9TLElBQ3BCLENBRU8sS0FBQXFULEdBQ0wxNkIsS0FBS295QixPQUFPdUksVUFDWjM2QixLQUFLaTVCLGFBQWMsQ0FDckIsRUN6RkYsTUFBTXJ4QixHQUFTNVYsTUFBT1MsSUFDcEIsTUFBTW1vQyxFQUFrQm5vQyxFQUFJMk4sVUFBNEIsb0JBQ3hELElBQUt3NkIsRUFDSCxNQUFNLElBQUlyMkIsTUFBTSxrQ0FFbEJxMkIsRUFBZ0J2UCxLQUFPMzBCLE9BQU9ra0MsRUFBZ0J2UCxPQUFTLElBQ25EdVAsRUFBZ0J2UCxLQUFPLEdBQUt1UCxFQUFnQnZQLEtBQU8sU0FDckR1UCxFQUFnQnZQLEtBQU8sSUFFekJ1UCxFQUFnQnJNLFdBQWEzTyxHQUFpQixDQUM1Q2p4QixLQUFNaXNDLEVBQWdCck0sV0FDdEJ4TyxhQUFhLElBRWYsTUFBTTZOLEVBQVVoTyxHQUFpQixDQUMvQmp4QixLQUFNaXNDLEVBQWdCaE4sUUFDdEI3TixhQUFhLElBRWYsSUFDRSxNQUFNeU4sRUFBVS82QixFQUFJNFAsT0FDcEIsSUFBSyxNQUFNckwsS0FBT3cyQixFQUNoQixHQUFJeDJCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsSUFBSXlGLEVBQVFaLEVBQUk3RSxRQUNYeUYsR0FBU1osRUFBSXVRLGNBQ2hCM1AsRUFBUU8sT0FBT0MsS0FBS3BCLEVBQUl1USxZQUFhLFdBRXZDLE1BQU1zekIsRUFBaUJsc0MsRUFBS3JCLEtBQUttRixFQUFJd04sUUFBUyxjQUN4Q3UyQixFQUFjN25DLEVBQUtyQixLQUFLbUYsRUFBSXdOLFFBQVMsVUFBVyxhQUN0REUsRUFBY3EyQixHQUNkLE1BQU05d0IsRUFBZS9XLEVBQUtyQixLQUFLdXRDLEVBQWdCN2pDLEVBQUk5RSxVQUNuRGlPLEVBQWN4UixFQUFLbEMsUUFBUWlaLElBQzNCbzFCLEVBQWVwMUIsRUFBYzlOLEdBQzdCLE1BQU13NkIsRUFBUzJHLEdBQVVHLG9CQUNuQjlHLEVBQU9nSCxRQUFRd0IsR0FDckIsTUFBTUcsRUFBYXBzQyxFQUFLckIsS0FBSyxJQUFJc3RDLEVBQWdCck0sYUFBYS8rQixRQUFRLFNBQVUsS0FBTXdILEVBQUk5RSxnQkFDcEZrZ0MsRUFBTy91QixPQUFPcUMsRUFBY3ExQixFQUFZSCxHQUM5Q0EsRUFBZ0JJLGdCQUFtQjVJLEVBQU9pSSxNQUFNVSxFQUFZSCxFQUFnQkksaUJBQ3JFaGtDLEVBQUl1USxtQkFDSnZRLEVBQUk3RSxPQUNYLE1BQU0ybUMsRUFBVThCLEVBQWdCcE0sV0FBYW9NLEVBQWdCelAsS0FDekR5UCxFQUFnQmhOLFFBQ2xCNTJCLEVBQUlzUixPQUFTLEdBQUd3d0IsS0FBVzdZLEdBQVcsR0FBZSxNQUFaMk4sRUFBa0IsR0FBS0EsSUFBVTUyQixFQUFJOUUsY0FFOUU4RSxFQUFJc1IsT0FBUyxHQUFHd3dCLEtBQVc3WSxHQUFXLEdBQWtDLE1BQS9CMmEsRUFBZ0JyTSxXQUFxQixHQUFLcU0sRUFBZ0JyTSxhQUFhdjNCLEVBQUk5RSxjQUV0SCxNQUFNK29DLEVBQWtCdHNDLEVBQUtyQixLQUFLa3BDLEVBQWF4L0IsRUFBSTlFLFVBQ25EaU8sRUFBY3hSLEVBQUtsQyxRQUFRd3VDLElBQzNCQyxFQUFXRCxHQUNYRSxFQUFTejFCLEVBQWMvVyxFQUFLckIsS0FBS2twQyxFQUFheC9CLEVBQUk5RSxXQUNsRDhFLEVBQUk0L0IsWUFBYyxvQ0FBb0N6VyxtQkFBbUJucEIsRUFBSTlFLFlBQzdFa2dDLEVBQU9zSSxPQUNULENBRUYsT0FBT2pvQyxDQUNULENBQUUsTUFBTzYwQixHQUtQLE1BSkE3MEIsRUFBSXdSLEtBQUs1RSxHQUFjK3BCLGFBQWMsQ0FDbkM3QixNQUFPOTBCLEVBQUlxUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTS8wQixFQUFJcVEsS0FBSzZaLFVBQXVCLG9CQUVsQzJLLENBQ1IsR0FHSXB4QixHQUFVekQsSUFDZCxNQUFNb3ZCLEVBQWFwdkIsRUFBSTJOLFVBQTRCLHFCQUF1QixDQUFBLEVBaUwxRSxNQWhMZ0MsQ0FDOUIsQ0FDRS9MLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHdCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3NKLE1BQVEsR0FDNUIzSyxVQUFVLEdBRVosQ0FDRW5zQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsd0JBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGdDQUN6QyxFQUNBNkIsUUFBU3FELEVBQVd3SixNQUFRLEdBQzVCN0ssVUFBVSxHQUVaLENBQ0Vuc0IsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUkrdUIsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVd3TSxVQUFZLEdBQ2hDN04sVUFBVSxHQUVaLENBQ0Vuc0IsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUkrdUIsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVd5TSxVQUFZLEdBQ2hDOU4sVUFBVSxHQUVaLENBQ0Vuc0IsS0FBTSxhQUNOekMsS0FBTSxRQUNOLFVBQUkrdUIsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsOEJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLDhCQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixzQ0FDekMsRUFDQTZCLFFBQVNxRCxFQUFXd1gsWUFBYyxHQUNsQzdZLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sYUFDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLHlDQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qix5Q0FDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsaURBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3lYLFlBQWMsR0FDbEM5WSxVQUFVLEdBRVosQ0FDRW5zQixLQUFNLGFBQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qiw4QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsOEJBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLHNDQUN6QyxFQUNBNkIsUUFBU3FELEVBQVcwTSxZQUFjLEdBQ2xDL04sVUFBVSxHQUVaLENBQ0Vuc0IsS0FBTSxZQUNOekMsS0FBTSxRQUNOLFVBQUkrdUIsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLDZCQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixxQ0FDekMsRUFDQTZCLFFBQVNxRCxFQUFXMk0sV0FBYSxHQUNqQ2hPLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sVUFDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLGdDQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1QixnQ0FDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsd0NBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBVytMLFNBQVcsR0FDL0JwTixVQUFVLEdBRVosQ0FDRW5zQixLQUFNLFdBQ056QyxLQUFNLFFBQ04sVUFBSSt1QixHQUNGLE9BQU9sdUIsRUFBSXFRLEtBQUs2WixVQUF1Qiw2QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPOXNCLEVBQUlxUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0EsV0FBSTVvQixHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLHFDQUN6QyxFQUNBNkIsUUFBU3FELEVBQVdtWixVQUFZLEdBQ2hDeGEsVUFBVSxHQUVaLENBQ0Vuc0IsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUkrdUIsR0FDRixPQUFPbHVCLEVBQUlxUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzlzQixFQUFJcVEsS0FBSzZaLFVBQXVCLDZCQUN6QyxFQUNBLFdBQUk1b0IsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixxQ0FDekMsRUFDQTZCLFFBQVNxRCxFQUFXK1gsVUFBWSxHQUNoQ3BaLFVBQVUsR0FFWixDQUNFbnNCLEtBQU0sVUFDTnpDLEtBQU0sUUFDTixVQUFJK3VCLEdBQ0YsT0FBT2x1QixFQUFJcVEsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU85c0IsRUFBSXFRLEtBQUs2WixVQUF1Qiw0QkFDekMsRUFDQSxXQUFJNW9CLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsb0NBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV21ZLFNBQVcsR0FDL0J4WixVQUFVLEtDaFBoQixNQUFNMk0sR0FBYyxDQUFDajdCLEVBQWtCMEYsRUFBZXdqQyxFQUFrQkMsRUFBUyxNQUN4RSxDQUNMcG9DLE9BQVEsT0FDUnRHLElBQUssV0FBVzB1QyxrQkFDaEI5UCxRQUFTLENBQ1BpQixZQUFhLHNCQUNiLGFBQWMsVUFDZHlCLGNBQWVtTixHQUVqQmxQLFNBQVUsQ0FDUm9QLE9BQVEsQ0FDTnRjLE1BQU9wbkIsRUFDUGdCLFFBQVMsQ0FBRTAwQixTQUFVcDdCLElBRXZCK2tDLElBQUssVUFLTHJ2QixHQUFTNVYsTUFBT1MsSUFDcEIsTUFBTThvQyxFQUFhOW9DLEVBQUkyTixVQUF1QixlQUM5QyxJQUFLbTdCLEdBQVl2TixPQUFPanNCLE9BQ3RCLE1BQU0sSUFBSXdDLE1BQU0sNEJBRWxCLE1BQU04MkIsR0FBVUUsRUFBV0MsY0FBZ0IsU0FBU2hzQyxRQUFRLGVBQWdCLElBQUlBLFFBQVEsTUFBTyxJQUV6RmcrQixFQUFVLzZCLEVBQUk0UCxPQUNwQixJQUFLLE1BQU1yTCxLQUFPdzJCLEVBQVMsQ0FDekIsSUFBS3gyQixFQUFJOUUsU0FBVSxTQUVuQixNQUFNdXBDLEVBQWN6a0MsRUFBSTdFLFNBQVc2RSxFQUFJdVEsWUFBY3BQLE9BQU9DLEtBQUtwQixFQUFJdVEsWUFBYSxlQUFZN1gsR0FDOUYsSUFBSytyQyxFQUFhLFNBRWxCLE1BQU1oTyxFQUFhTixHQUFZbjJCLEVBQUk5RSxTQUFVdXBDLEVBQWFGLEVBQVd2TixNQUFPcU4sR0FDdEV0b0MsUUFBb0JOLEVBQUlPLFFBQVF5NkIsR0FDaENqRyxFQUFPbHhCLEtBQUtDLE1BQU14RCxHQUV4QixHQUFrQixZQUFkeTBCLEVBQUtILEtBQ1Byd0IsRUFBSXNSLE9BQVNrZixFQUFLbDBCLEtBQUszRyxJQUN2QnFLLEVBQUlzK0IsS0FBTzlOLEVBQUtsMEIsS0FBS2dpQyxTQUNoQixJQUFrQixtQkFBZDlOLEVBQUtILE1BQW9ELGlCQUFoQkcsRUFBS2tVLE9BV2xELENBQ0wsTUFBTUMsRUFBV25VLEVBQUt6ekIsU0FBVyxnQkFLakMsTUFKQXRCLEVBQUl3UixLQUFLNUUsR0FBYytwQixhQUFjLENBQ25DN0IsTUFBTzkwQixFQUFJcVEsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU1tVSxJQUVGLElBQUlwM0IsTUFBTW8zQixFQUNsQixDQWpCRTNrQyxFQUFJc1IsT0FBU2tmLEVBQUtrVSxPQUNsQixJQUNFLE1BQU1FLFFBQXNCajdCLEVBQU0vTSxJQUFJLFdBQVd5bkMsMEJBQWdDLENBQy9FOVAsUUFBUyxDQUFFMEMsY0FBZXNOLEVBQVd2TixTQUVqQzZOLEVBQWVELEVBQWN0b0MsTUFBTUEsTUFBTThOLEtBQU14SixHQUFlQSxFQUFNakwsTUFBUTY2QixFQUFLa1UsUUFDbkZHLElBQWM3a0MsRUFBSXMrQixLQUFPdUcsRUFBYXZHLEtBQzVDLENBQUUsTUFFRixDQVFGLFFBRU90K0IsRUFBSXVRLG1CQUNKdlEsRUFBSTdFLE1BQ2IsQ0FDQSxPQUFPTSxHQUdIeUQsR0FBVXpELElBQ2QsTUFBTW92QixFQUFhcHZCLEVBQUkyTixVQUF1QixnQkFBa0IsQ0FBQSxFQUNoRSxNQUFPLENBQ0xpZ0IsR0FBWTV0QixFQUFLLE9BQVEsUUFBUyxRQUFTb3ZCLEVBQVdtTSxPQUFTLElBQUksT0FBTXQrQixFQUFXLENBQ2xGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLDRCQUN6QyxJQUVGMEQsR0FBWTV0QixFQUFLLE9BQVEsZUFBZ0IsUUFBU292QixFQUFXMlosY0FBZ0IsSUFBSSxPQUFPOXJDLEVBQVcsQ0FDakcsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsb0NBQ3pDLE1DcEVOLE1BQU04UyxHQUFvQixDQUFDNzJCLEVBQXVCMUcsS0FDaEQsTUFBTTRwQyxTQUFFQSxFQUFRdkQsVUFBRUEsRUFBU3dELE1BQUVBLEVBQUtuTSxPQUFFQSxFQUFNL0ssUUFBRUEsRUFBT29MLEtBQUVBLEVBQUk3QyxTQUFFQSxFQUFReitCLEtBQUVBLEdBQVNpSyxFQUc5RSxJQUFJaTNCLEVBQ0FtTSxFQUFXLEdBRWYsSUFMY25YLEdBQXVCLE9BQVpBLEVBS2YsQ0FDUixNQUFNejNCLEVBQVNELEtBQUtzTSxNQUFzQixLQUFoQnRNLEtBQUtDLFVBQ3pCNnVDLEVBQVU5dUMsS0FBS3NNLE1BQU1sTCxLQUFLRCxNQUFRLEtBQVEsRUFFMUM0dEMsRUFBaUIsS0FBS0gsT0FBV25NLE9BQVlrTSxPQURuQ0csRUFBVSxVQUNvREEsT0FBYTd1QyxPQUVyRit1QyxFQUFhdnVDLEVBQU9raUMsV0FBVyxPQUFReUksR0FBV3pxQyxPQUFPb3VDLEdBQWdCbnVDLFNBQ3pFcXVDLEVBQWFqa0MsT0FBTzB2QixPQUFPLENBQUNzVSxFQUFZaGtDLE9BQU9DLEtBQUs4akMsS0FDMURyTSxFQUFZMTNCLE9BQU9DLEtBQUtna0MsR0FBWTN1QyxTQUFTLFNBQy9DLEtBQU8sQ0FDTCxNQUFNNHVDLEVBQVFsdkMsS0FBS3NNLE1BQU1sTCxLQUFLRCxNQUFRLEtBQ3RDMHRDLEVBQVcsR0FBR0ssS0FBU0EsRUFBUSxRQUMvQixNQUFNQyxFQUFVMXVDLEVBQU9raUMsV0FBVyxPQUFReUksR0FBV3pxQyxPQUFPa3VDLEdBQVVqdUMsT0FBTyxPQUV2RXd1QyxFQUFhLFNBQVM1dEMsSUFBT3VELGFBQW9CMDlCLEtBQVV4QyxHQUR6QyxPQUFPNkMscUJBR3pCdU0sRUFBZSxTQUFTUixNQURMcHVDLEVBQU9DLFdBQVcsUUFBUUMsT0FBT3l1QyxHQUFZeHVDLE9BQU8sV0FFN0U4aEMsRUFBWWppQyxFQUFPa2lDLFdBQVcsT0FBUXdNLEdBQVN4dUMsT0FBTzB1QyxHQUFjenVDLE9BQU8sTUFDN0UsQ0FFQSxNQUFPLENBQUU4aEMsWUFBV2tNLFFBQU9uTSxTQUFRb00sYUFHL0I3TyxHQUFjLENBQ2xCdjBCLEVBQ0ExRyxFQUNBMjlCLEVBQ0FqNEIsRUFDQWl0QixLQUVBLE1BQU1vTCxLQUFFQSxFQUFJdGhDLEtBQUVBLEVBQUlpaEMsT0FBRUEsRUFBTXhDLFNBQUVBLEVBQVEwTyxTQUFFQSxHQUFhbGpDLEVBRTdDNmpDLEVBQVksU0FBUzVYLGNBRTNCLElBSGNqc0IsRUFBUWlzQixTQUErQixPQUFwQmpzQixFQUFRaXNCLFFBSXZDLE1BQU8sQ0FDTDV4QixPQUFRLE9BQ1J0RyxJQUFLLFVBQVVzakMsZ0NBQW1DSixFQUFVa00sU0FBU2xNLEVBQVVELFVBQVVyK0IsVUFBVTVDLEtBQVF1RCxJQUMzR3E1QixRQUFTLENBQ1AyRSxLQUFNLEdBQUdELHNCQUNUaEMsY0FBZTRCLEVBQVVBLFVBQ3pCckQsWUFBYSxzQkFDYixhQUFjaVEsR0FFaEJ2USxTQUFVLENBQUV3USxHQUFJLFNBQVVDLFlBQWEva0MsR0FDdkMxRSx5QkFBeUIsR0FJN0IsTUFDTWk0QixFQUFPLEdBQUd5RSxLQUFVeEMsR0FERixPQUFPNkMsbUJBRS9CLE1BQU8sQ0FDTGg5QixPQUFRLE1BQ1J0RyxJQUFLLFVBQVV3K0IsS0FBUWxMLEdBQVcsR0FBR3R4QixJQUFPdUQsT0FDNUNxNUIsUUFBUyxDQUNQMkUsS0FBTS9FLEVBQ044QyxjQUFlLDhCQUE4QjZOLGlCQUF3QmpNLEVBQVVtTSx1QkFBdUJuTSxFQUFVbU0sNkRBQTZEbk0sRUFBVUEsWUFDdkxyRCxZQUFhUyxFQUFLQyxRQUFRaDdCLElBQWEsMkJBQ3ZDLGFBQWN1cUMsR0FFaEJqVixLQUFNNXZCLEVBQ04xRSx5QkFBeUIsSUFJdkIwVSxHQUFTNVYsTUFBT1MsSUFDcEIsTUFBTW1xQyxFQUFlbnFDLEVBQUkyTixVQUF3QixnQkFDakQsSUFBS3c4QixFQUFjLE1BQU0sSUFBSXI0QixNQUFNLGlDQUVuQyxJQUNFLE1BQU1pcEIsRUFBVS82QixFQUFJNFAsT0FDZG1zQixHQUFhb08sRUFBYXBPLFdBQWEsSUFBSWgvQixRQUFRLE1BQU8sSUFDMURiLEVBQU9peEIsR0FBaUIsQ0FBRWp4QixLQUFNaXVDLEVBQWFqdUMsT0FDN0NpL0IsRUFBVWhPLEdBQWlCLENBQUVqeEIsS0FBTWl1QyxFQUFhaFAsVUFDdERnUCxFQUFhanVDLEtBQU9BLEVBQ3BCLE1BQU1rdUMsR0FBU0QsRUFBYS9YLFNBQW9DLE9BQXpCK1gsRUFBYS9YLFFBRXBELElBQUssTUFBTTd0QixLQUFPdzJCLEVBQVMsQ0FDekIsSUFBS3gyQixFQUFJOUUsV0FBYThFLEVBQUk3RSxPQUFRLFNBRWxDLE1BQU0wOUIsRUFBWUosR0FBa0JtTixFQUFjNWxDLEVBQUk5RSxVQUNoRDBGLEVBQVFaLEVBQUk3RSxRQUFVZ0csT0FBT0MsS0FBS3BCLEVBQUl1USxZQUFjLFVBQ3BEM08sRUFBVXUwQixHQUFZeVAsRUFBYzVsQyxFQUFJOUUsU0FBVTI5QixFQUFXajRCLEVBQU9uRixFQUFJb1EsYUFBZXBRLEVBQUltUSxTQUUzRjdQLFFBQVlOLEVBQUlPLFFBQVE0RixHQUFTNUUsTUFBT3N6QixJQUFVLENBQ3REc0QsV0FBWSxJQUNacEQsS0FBTSxDQUFFcGYsSUFBSzNWLEVBQUlxUSxLQUFLNlosVUFBdUIsZUFBZ0IySyxVQUd6REUsRUFBT3FWLEdBQXdCLGlCQUFSOXBDLEVBQW1CdUQsS0FBS0MsTUFBTXhELEdBQU9BLEVBRWxFLEdBQXdCLE1BQXBCeTBCLEVBQUtvRCxXQUNQLE1BQU1wRCxHQUFNQSxNQUFNRixLQUFPLElBQUkvaUIsTUFBTWlqQixHQUFNQSxNQUFNcGYsS0FBT29mLEdBQU1BLE1BQU16ekIsU0FHcEUsTUFBTStvQyxFQUFZRixFQUFhaGtDLFNBQVcsR0FDcENta0MsSUFBU0gsRUFBYUcsS0FLNUIsVUFITy9sQyxFQUFJdVEsbUJBQ0p2USxFQUFJN0UsT0FFUDBxQyxHQUEwQixZQUFqQnJWLEVBQUt6ekIsUUFDaEJpRCxFQUFJc1IsT0FBU2ttQixFQUNULEdBQUdBLEtBQWF2TyxHQUFXLEdBQUcyTixHQUFXai9CLElBQU9xSSxFQUFJOUUsY0FBYzRxQyxJQUNsRSxHQUFHdFYsRUFBS2wwQixLQUFLMHBDLGFBQWFGLFFBQ3pCLElBQUtELEdBQThCLE1BQXJCclYsR0FBTW9ELFdBUXpCLE1BQU0sSUFBSXJtQixNQUFPeFIsRUFBWXkwQixNQUFNcGYsS0FBTyxpQkFQMUMsR0FBSW9tQixFQUNGeDNCLEVBQUlzUixPQUFTLEdBQUdrbUIsS0FBYXZPLEdBQVcsR0FBRzJOLEdBQVdqL0IsSUFBT3FJLEVBQUk5RSxjQUFjNHFDLFFBQzFFLENBQ0wsTUFBTTFQLEVBQVd3UCxFQUFheFAsVUFBWSxPQUFPd1AsRUFBYTNNLG9CQUM5RGo1QixFQUFJc1IsT0FBUyxXQUFXczBCLEVBQWFoTixVQUFVeEMsS0FBWW5OLEdBQVcsR0FBR3R4QixJQUFPcUksRUFBSTlFLGNBQWM0cUMsR0FDcEcsQ0FHRixDQUVJQyxJQUNGL2xDLEVBQUlzUixRQUFVdzBCLEVBQVksYUFBZSxhQUU3QyxDQUNBLE9BQU9ycUMsQ0FDVCxDQUFFLE1BQU82MEIsR0FDUCxLQUFNc1YsRUFBYS9YLFNBQW9DLE9BQXpCK1gsRUFBYS9YLFVBQXFCeUMsRUFBSXh6QixNQUNsRSxJQUNFLE1BQU0wekIsRUFBT2x4QixLQUFLQyxNQUFNK3dCLEVBQUl4ekIsT0FDNUJyQixFQUFJd1IsS0FBSzVFLEdBQWMrcEIsYUFBYyxDQUNuQzdCLE1BQU85MEIsRUFBSXFRLEtBQUs2WixVQUF1QixpQkFDdkM2SyxLQUFNLzBCLEVBQUlxUSxLQUFLNlosVUFBdUIsdUJBQXdCLENBQUUwSyxLQUFNRyxFQUFLSCxPQUMzRWh3QixLQUFNLHVEQUVWLENBQUUsTUFBT2hHLEdBRVQsQ0FFRixNQUFNaTJCLENBQ1IsR0FHSXB4QixHQUFVekQsSUFDZCxNQUFNb3ZCLEVBQWFwdkIsRUFBSTJOLFVBQXdCLGlCQUFtQixDQUFBLEVBRWxFLE1BQU8sQ0FDTGlnQixHQUFZNXRCLEVBQUssZUFBZ0IsVUFBVyxPQUFRLE1BQU0sT0FBTy9DLEVBQVcsQ0FBRTJ2QixRQUFTLENBQUMsS0FBTSxRQUM5RmdCLEdBQVk1dEIsRUFBSyxlQUFnQixXQUFZLFFBQVNvdkIsRUFBV2lhLFVBQVksSUFBSSxHQUNqRnpiLEdBQVk1dEIsRUFBSyxlQUFnQixZQUFhLFFBQVNvdkIsRUFBVzBXLFdBQWEsSUFBSSxHQUNuRmxZLEdBQVk1dEIsRUFBSyxlQUFnQixTQUFVLFFBQVNvdkIsRUFBVytOLFFBQVUsSUFBSSxHQUM3RXZQLEdBQVk1dEIsRUFBSyxlQUFnQixRQUFTLFFBQVNvdkIsRUFBV2thLE9BQVMsSUFBSSxPQUFNcnNDLEVBQVcsQ0FDMUYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsb0NBQ3pDLElBRUYwRCxHQUFZNXRCLEVBQUssZUFBZ0IsT0FBUSxRQUFTb3ZCLEVBQVdvTyxNQUFRLElBQUksT0FBTXZnQyxFQUFXLENBQ3hGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLG1DQUN6QyxJQUVGMEQsR0FBWTV0QixFQUFLLGVBQWdCLFdBQVksUUFBU292QixFQUFXdUwsVUFBWSxJQUFJLE9BQU8xOUIsRUFBVyxDQUNqRyxXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1Qix1Q0FDekMsSUFFRjBELEdBQVk1dEIsRUFBSyxlQUFnQixPQUFRLFFBQVNvdkIsRUFBV2x6QixNQUFRLElBQUksT0FBT2UsRUFBVyxDQUN6RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixtQ0FDekMsSUFFRjBELEdBQVk1dEIsRUFBSyxlQUFnQixVQUFXLFFBQVNvdkIsRUFBVytMLFNBQVcsSUFBSSxPQUFPbCtCLEVBQVcsQ0FDL0YsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsc0NBQ3pDLElBRUYwRCxHQUFZNXRCLEVBQUssZUFBZ0IsWUFBYSxRQUFTb3ZCLEVBQVcyTSxXQUFhLElBQUksT0FBTzkrQixFQUFXLENBQ25HLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLHdDQUN6QyxJQUVGMEQsR0FBWTV0QixFQUFLLGVBQWdCLFVBQVcsUUFBU292QixFQUFXanBCLFNBQVcsSUFBSSxPQUFPbEosRUFBVyxDQUMvRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixzQ0FDekMsSUFFRjBELEdBQVk1dEIsRUFBSyxlQUFnQixPQUFRLFlBQWFvdkIsRUFBV2tiLE1BQU0sT0FBT3J0QyxFQUFXLENBQ3ZGLGVBQUl1dEMsR0FDRixPQUFPeHFDLEVBQUlxUSxLQUFLNlosVUFBdUIsbUNBQ3pDLEVBQ0EsY0FBSXVnQixHQUNGLE9BQU96cUMsRUFBSXFRLEtBQUs2WixVQUF1QixrQ0FDekMsRUFDQSxRQUFJd2dCLEdBQ0YsT0FBTzFxQyxFQUFJcVEsS0FBSzZaLFVBQXVCLCtCQUN6QyxNQzNNTixNQUFNeWdCLEdBQW1CLDJCQUluQjNNLEdBQU8yRSxHQUE0QnhuQyxFQUFPQyxXQUFXLE9BQU9DLE9BQU9zbkMsR0FBU3JuQyxPQUFPLE9Bb0RuRmlZLEdBQWVoVSxNQUFPUyxFQUFhdUUsRUFBVXFtQyxFQUE0QjF1QyxLQUM3RSxJQUFLcUksRUFBSTlFLFdBQWE4RSxFQUFJN0UsT0FBUSxPQUVsQyxNQUFNeUYsRUFBUVosRUFBSTdFLFNBQVc2RSxFQUFJdVEsWUFBY3BQLE9BQU9DLEtBQUtwQixFQUFJdVEsWUFBYSxVQUFZLE1BQ3hGLElBQUszUCxFQUFPLE9BRVosTUFBTWk0QixFQXhEa0IsRUFBQ2ozQixFQUF1QjFHLEtBQ2hELE1BQU12RCxLQUFFQSxFQUFPLEdBQUUydUMsU0FBRUEsRUFBUWhQLFNBQUVBLEVBQVFzQixPQUFFQSxHQUFXaDNCLEVBQzVDMmtDLEVBQWM5TSxHQUFJbkMsR0FDbEJvQixHQUFPLElBQUluaEMsTUFBT2loQyxjQUVsQnhRLEVBQVEsUUFERTRRLEtBQVUzUCxHQUFXLEdBQUd0eEIsSUFBT3VELFFBQ25CdzlCLElBRTVCLE1BQU8sU0FBUzROLEtBREgxdkMsRUFBT2tpQyxXQUFXLE9BQVF5TixHQUFhenZDLE9BQU9reEIsR0FBT2p4QixPQUFPLGFBa0R2RDBoQyxDQUFrQjROLEVBQWNybUMsRUFBSTlFLFVBQ2hEMEcsRUEvQ1ksRUFDbEJBLEVBQ0ExRyxFQUNBMjlCLEVBQ0FqNEIsS0FFQSxNQUFNZzRCLE9BQUVBLEVBQU1qaEMsS0FBRUEsR0FBU2lLLEVBQ3pCLElBQUl3MEIsR0FBWXgwQixFQUFRdzBCLFVBQVlnUSxJQUFrQjV0QyxRQUFRLFFBQVMsSUFLdkUsT0FKSzQ5QixFQUFTdjVCLFdBQVcsVUFDdkJ1NUIsRUFBVyxXQUFXQSxLQUdqQixDQUNMbjZCLE9BQVEsTUFDUnRHLElBQUssR0FBR3lnQyxLQUFZd0MsS0FBVTNQLEdBQVcsR0FBR3R4QixJQUFPdUQsT0FDbkRxNUIsUUFBUyxDQUNQMEMsY0FBZTRCLEVBQ2Z0aEMsTUFBTSxJQUFJQSxNQUFPaWhDLGNBQ2pCLGVBQWdCdkMsRUFBS0MsUUFBUWg3QixJQUFhLDRCQUU1Q3MxQixLQUFNNXZCLEVBQ04xRSx5QkFBeUIsSUEwQlhpNkIsQ0FBWWtRLEVBQWNybUMsRUFBSTlFLFNBQVUyOUIsRUFBV2o0QixHQUduRSxHQWhFMEIsYUE4RFBuRixFQUFJTyxRQUFRNEYsSUFFdEJneUIsV0FDUCxNQUFNLElBQUlybUIsTUFBTSx3QkFHWHZOLEVBQUl1USxtQkFDSnZRLEVBQUk3RSxPQUVYLE1BQU1xckMsRUFBU0gsRUFBYXprQyxTQUFXLEdBQ2pDa2dDLEVBQVUsR0FBR3VFLEVBQWExd0MsT0FBT3N6QixHQUFXLEdBQUd0eEIsSUFBT3FJLEVBQUk5RSxjQUFjc3JDLElBRTlFeG1DLEVBQUlzUixPQUFTKzBCLEVBQWFJLGVBQWlCQyxHQUFrQjVFLEVBQVN1RSxFQUFjcm1DLEVBQUk5RSxVQUFZNG1DLEdBR2hHNEUsR0FBb0IsQ0FBQy93QyxFQUFhaU0sRUFBdUIxRyxLQUM3RCxNQUFNeXJDLEVBdkNrQixFQUN4QkYsRUFDQUcsRUFDQWhsQyxFQUNBMUcsS0FFQSxNQUFNMnJDLEVBQU0sSUFBSWpsQyxFQUFRakssTUFBUSxLQUFLdUQsSUFBVzFDLFFBQVEsT0FBUSxLQUFLQSxRQUFRLFFBQVMsS0FDaEZsQixFQUFNbkIsS0FBS2dSLE1BQU01UCxLQUFLRCxNQUFRLEtBQzlCd3ZDLEVBQVNGLEVBQWF0dkMsRUFBTWtDLFNBQVNvdEMsRUFBV253QyxXQUFZLElBQU1hLEVBaEQ5QyxLQW1EMUIsTUFBTyxRQUZNbWlDLEdBQUksR0FBR2dOLEtBQWtCSyxLQUFVRCxLQUNiRSxVQUFVLEdBQUksTUFBTUQsS0E2QjNDRSxDQUFrQnBsQyxFQUFRNmtDLGVBQWdCN2tDLEVBQVFnbEMsV0FBWWhsQyxFQUFTMUcsR0FDbkYsT0FBT3ZGLEVBQUlvRCxTQUFTLEtBQU8sR0FBR3BELEtBQU9neEMsSUFBUSxHQUFHaHhDLEtBQU9neEMsS0FHbkQvMUIsR0FBUzVWLE1BQU9TLElBQ3BCLE1BQU00cUMsRUFBZTVxQyxFQUFJMk4sVUFBd0IsZ0JBQ2pELElBQUtpOUIsRUFBYyxNQUFNLElBQUk5NEIsTUFBTSwyQkFFbkMsSUFDRSxNQUFNaXBCLEVBQVUvNkIsRUFBSTRQLE9BQ2QxVCxFQUFPaXhCLEdBQWlCLENBQUVqeEIsS0FBTTB1QyxFQUFhMXVDLE9BQ25EMHVDLEVBQWExdUMsS0FBT0EsRUFFcEIsSUFBSyxNQUFNcUksS0FBT3cyQixRQUNWeG5CLEdBQWF2VCxFQUFLdUUsRUFBS3FtQyxFQUFjMXVDLEdBRzdDLE9BQU84RCxDQUNULENBQUUsTUFBTzYwQixHQUVQLE1BREEyVyxHQUFrQnhyQyxFQUFLNjBCLEdBQ2pCQSxDQUNSLEdBR0kyVyxHQUFvQixDQUFDeHJDLEVBQWE2MEIsS0FHdEMsR0FGd0Msa0JBQWhCQSxFQUFJdnpCLFFBRzFCdEIsRUFBSXdSLEtBQUs1RSxHQUFjK3BCLGFBQWMsQ0FDbkM3QixNQUFPOTBCLEVBQUlxUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTS8wQixFQUFJcVEsS0FBSzZaLFVBQXVCLHdCQUVuQyxDQUNMLE1BQU11aEIsRUFBWTluQyxHQUE0Qmt4QixFQUFJeHpCLE9BQzVDcXFDLEVBQWlDLGlCQUFkRCxHQUEwQkEsRUFBWUEsRUFBVTdXLEtBQU82VyxHQUFhLGdCQUU3RnpyQyxFQUFJd1IsS0FBSzVFLEdBQWMrcEIsYUFBYyxDQUNuQzdCLE1BQU85MEIsRUFBSXFRLEtBQUs2WixVQUF1QixpQkFDdkM2SyxLQUFNLzBCLEVBQUlxUSxLQUFLNlosVUFBdUIsdUJBQXdCLENBQUUwSyxLQUFNOFcsSUFDdEU5bUMsS0FBTSxvQ0FFVixHQUdJbkIsR0FBVXpELElBQ2QsTUFBTW92QixFQUFhcHZCLEVBQUkyTixVQUF3QixpQkFBbUIsQ0FBQSxFQUVsRSxNQUFPLENBQ0xpZ0IsR0FBWTV0QixFQUFLLFFBQVMsU0FBVSxRQUFTb3ZCLEVBQVcrTixRQUFVLElBQUksR0FFdEV2UCxHQUFZNXRCLEVBQUssUUFBUyxXQUFZLFFBQVNvdkIsRUFBV3liLFVBQVksSUFBSSxPQUFNNXRDLEVBQVcsQ0FDekYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLElBRUYwRCxHQUFZNXRCLEVBQUssUUFBUyxXQUFZLFFBQVNvdkIsRUFBV3lNLFVBQVksSUFBSSxPQUFNNStCLEVBQVcsQ0FDekYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLElBRUYwRCxHQUFZNXRCLEVBQUssUUFBUyxNQUFPLFFBQVNvdkIsRUFBV2wxQixLQUFPLElBQUksT0FBTStDLEVBQVcsQ0FDL0UsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsMkJBQ3pDLElBRUYwRCxHQUFZNXRCLEVBQUssUUFBUyxVQUFXLFFBQVNvdkIsRUFBV2pwQixTQUFXLElBQUksT0FBT2xKLEVBQVcsQ0FDeEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsK0JBQ3pDLElBRUYwRCxHQUFZNXRCLEVBQUssUUFBUyxPQUFRLFFBQVNvdkIsRUFBV2x6QixNQUFRLElBQUksT0FBT2UsRUFBVyxDQUNsRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1Qiw0QkFDekMsSUFFRjBELEdBQVk1dEIsRUFBSyxRQUFTLGlCQUFrQixRQUFTb3ZCLEVBQVc0YixnQkFBa0IsSUFBSSxHQUN0RnBkLEdBQVk1dEIsRUFBSyxRQUFTLGFBQWMsUUFBU292QixFQUFXK2IsWUFBYyxJQUFJLEdBQzlFdmQsR0FBWTV0QixFQUFLLFFBQVMsV0FBWSxRQUFTb3ZCLEVBQVd1TCxVQUFZZ1EsSUFBa0IsT0FBTzF0QyxFQUFXLENBQ3hHLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJcVEsS0FBSzZaLFVBQXVCLGdDQUN6QyxNQy9KTixNQUFNeWhCLEdBQWdCLFdBdUJoQkMsR0FBa0JybkMsSUFDdEIsR0FBSUEsRUFBSTdFLE9BQVEsT0FBTzZFLEVBQUk3RSxPQUMzQixHQUFJNkUsRUFBSXVRLFlBQWEsT0FBT3BQLE9BQU9DLEtBQUtwQixFQUFJdVEsWUFBYSxVQUN6RCxNQUFNLElBQUloRCxNQUFNLHdCQUdaKzVCLEdBQWdCLENBQ3BCeEYsRUFDQXZLLEVBQ0FnUSxFQUNBcnNDLEVBQ0FzckMsRUFDQWdCLElBSU8sR0FBRzFGLEtBRFU3WSxHQUFXLEdBRGJ1ZSxFQUFhRCxFQUFVaFEsSUFDS3I4QixLQUFZMUMsUUFBUSxRQUFTLE1BQ3hDZ3VDLElBRy9CaUIsR0FBa0IsQ0FBQ2hzQyxFQUFhUCxFQUFrQnVwQyxLQUN0RCxNQUFNakYsRUFBYzduQyxFQUFLckIsS0FBS21GLEVBQUl3TixRQUFTLFVBQVcsZUFDaERnN0IsRUFBa0J0c0MsRUFBS3JCLEtBQUtrcEMsRUFBYXRrQyxHQUMvQ2lPLEVBQWN4UixFQUFLbEMsUUFBUXd1QyxJQUMzQjdvQyxFQUFHd08sY0FBY3E2QixFQUFpQlEsSUFHOUJpRCxHQUFjMXNDLE1BQ2xCb2dDLEVBQ0E3RCxFQUNBcjhCLEVBQ0F1cEMsS0FFQSxNQUFNa0QsRUFBb0Jod0MsRUFBS2xDLFFBQVEsR0FBRzhoQyxJQUFhcjhCLEtBQ2pEMHNDLEVBQXFDLE1BQXRCRCxFQUE0QixHQUFLQSxFQUVsREMsU0FDSXhNLEVBQU95TSxnQkFBZ0JELEVBQWMsQ0FBRUUsV0FBVyxJQUcxRCxNQUFNN3NDLEVBQVcsR0FBR3M4QixJQUFhcjhCLElBQVcxQyxRQUFRLGFBQWMsSUFDbEUsYUFBYTRpQyxFQUFPMk0sZ0JBQWdCOXNDLEVBQVV3cEMsRUFBYSxDQUFFdUQsV0FBVyxLQUdwRXAzQixHQUFTNVYsTUFBT1MsSUFDcEIsTUFBTXlELEVBQVN6RCxFQUFJMk4sVUFBOEIsc0JBQ2pELElBQUtsSyxFQUFRLE1BQU0sSUFBSXFPLE1BQU0saUNBakVOLElBQUM0bUIsRUFtRXhCajFCLEVBQU9pMUIsTUFuRWlCQSxFQW1FT2oxQixFQUFPaTFCLEtBakUvQixHQWlFcUNqMUIsRUFBT283QixXQWpFNUIsV0FBYSxZQURsQm5HLEVBQUszN0IsUUFBUSxxQkFBc0IsT0FtRXJEMEcsRUFBT3ZILEtBQU9peEIsR0FBaUIsQ0FBRWp4QixLQUFNdUgsRUFBT3ZILEtBQU1veEIsYUFBYSxJQUVqRSxNQUFNd2UsRUFBVTNlLEdBQWlCLENBQUVqeEIsS0FBTXVILEVBQU9xb0MsUUFBU3hlLGFBQWEsSUFDaEV5ZCxFQUFTdG5DLEVBQU8wQyxTQUFXLEdBRWpDLElBQ0UsTUFBTXc1QixFQXJFaUIsQ0FBQ2w4QixJQUMxQixNQUFNKzhCLEVBQXFDLENBQ3pDNUUsU0FBVW40QixFQUFPbTRCLFNBQ2pCQyxTQUFVcDRCLEVBQU9vNEIsU0FDakI5QyxjQUFlNFMsR0FDZjFTLGlCQUFrQjBTLElBT3BCLE1BSndCLFdBQXBCbG9DLEVBQU8rb0MsV0FDVGhNLEVBQWNnTSxTQUFXQyxHQUFTQyxRQUc3QkMsR0FBYWxwQyxFQUFPaTFCLEtBQU04SCxJQXlEaEJvTSxDQUFtQm5wQyxHQUM1QjRpQyxFQUFVNWlDLEVBQU9zNEIsV0FBYXQ0QixFQUFPaTFCLEtBRTNDLElBQUssTUFBTW4wQixLQUFPdkUsRUFBSTRQLE9BQVEsQ0FDNUIsSUFBS3JMLEVBQUk5RSxTQUFVLFNBRW5CLE1BQU11cEMsRUFBYzRDLEdBQWVybkMsR0FHbkMsVUFGMkIwbkMsR0FBWXRNLEVBQVFsOEIsRUFBT3ZILEtBQU1xSSxFQUFJOUUsU0FBVXVwQyxHQUd4RSxNQUFNLElBQUlsM0IsTUFBTSxpQkFHbEJrNkIsR0FBZ0Joc0MsRUFBS3VFLEVBQUk5RSxTQUFVdXBDLFVBRTVCemtDLEVBQUl1USxtQkFDSnZRLEVBQUk3RSxPQUVYNkUsRUFBSXNSLE9BQVNnMkIsR0FBY3hGLEVBQVM1aUMsRUFBT3ZILEtBQU00dkMsRUFBU3ZuQyxFQUFJOUUsU0FBVXNyQyxJQUFVdG5DLEVBQU9xb0MsU0FDekZ2bkMsRUFBSTQvQixZQUFjLHNDQUFnRHpXLG1CQUFtQm5wQixFQUFJOUUsV0FDM0YsQ0FFQSxPQUFPTyxDQUNULENBQUUsTUFBTzYwQixHQUtQLE1BSkE3MEIsRUFBSXdSLEtBQUs1RSxHQUFjK3BCLGFBQWMsQ0FDbkM3QixNQUFPOTBCLEVBQUlxUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTS8wQixFQUFJcVEsS0FBSzZaLFVBQXVCLG9CQUVsQzJLLENBQ1IsR0FHSXB4QixHQUFVekQsSUFDZCxNQUFNb3ZCLEVBQWFwdkIsRUFBSTJOLFVBQThCLHVCQUF5QixDQUFBLEVBRTlFLE1BQU8sQ0FDTGlnQixHQUFZNXRCLEVBQUssY0FBZSxPQUFRLFFBQVNvdkIsRUFBV3NKLE1BQVEsSUFBSSxHQUN4RTlLLEdBQVk1dEIsRUFBSyxjQUFlLGFBQWMsWUFBYW92QixFQUFXeVAsWUFBWSxPQUFPNWhDLEVBQVcsQ0FDbEcsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsd0NBQ3pDLElBRUYwRCxHQUFZNXRCLEVBQUssY0FBZSxXQUFZLFFBQVNvdkIsRUFBV3dNLFVBQVksSUFBSSxPQUFNMytCLEVBQVcsQ0FDL0YsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsc0NBQ3pDLElBRUYwRCxHQUFZNXRCLEVBQUssY0FBZSxXQUFZLFFBQVNvdkIsRUFBV3lNLFVBQVksSUFBSSxPQUFNNStCLEVBQVcsQ0FDL0YsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlxUSxLQUFLNlosVUFBdUIsc0NBQ3pDLElBRUYwRCxHQUFZNXRCLEVBQUssY0FBZSxPQUFRLFFBQVNvdkIsRUFBV2x6QixNQUFRLElBQUksT0FBT2UsRUFBVyxDQUN4RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixrQ0FDekMsSUFFRjBELEdBQVk1dEIsRUFBSyxjQUFlLFVBQVcsUUFBU292QixFQUFXMGMsU0FBVyxJQUFJLE9BQU83dUMsRUFBVyxDQUM5RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QiwwQ0FDekMsSUFFRjBELEdBQVk1dEIsRUFBSyxjQUFlLFlBQWEsUUFBU292QixFQUFXMk0sV0FBYSxJQUFJLE9BQU85K0IsRUFBVyxDQUNsRyxXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1Qix1Q0FDekMsSUFFRjBELEdBQVk1dEIsRUFBSyxjQUFlLFdBQVksT0FBUW92QixFQUFXb2QsVUFBWSxTQUFTLE9BQU92dkMsRUFBVyxDQUNwRzJ2QixRQUFTLENBQUMsUUFBUyxZQUVyQmdCLEdBQVk1dEIsRUFBSyxjQUFlLFVBQVcsUUFBU292QixFQUFXanBCLFNBQVcsSUFBSSxPQUFPbEosRUFBVyxDQUM5RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSXFRLEtBQUs2WixVQUF1QixxQ0FDekMsTUNoSk4sTUFBTTJpQixHQUFtQixLQUNoQixDQUNMLFFBQUFyYixDQUFTeHhCLElsQjZHQyxTQUFtQkEsR0FDL0JBLEVBQUlrUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUFvQyxDQUMvRCxRQUFJL3JCLEdBQ0YsT0FBTzVCLEVBQUlxUSxLQUFLNlosVUFBdUIsdUJBQ3pDLFNBQ0EvVSxVQUNBMVIsSUFFSixDa0JwSE1xcEMsQ0FBc0I5c0MsR2pCc0xkLFNBQW1CQSxHQUMvQkEsRUFBSWtRLE9BQU9vRixTQUFTa2MsU0FBUzdELEdBQWlDLENBQzVELFFBQUkvckIsR0FDRixPQUFPNUIsRUFBSXFRLEtBQUs2WixVQUF1QixxQkFDekMsU0FDQS9VLFVBQ0ExUixJQUVKLENpQjdMTXNwQyxDQUFjL3NDLEdoQjRGTixTQUFtQkEsR0FDL0JBLEVBQUlrUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE2QixDQUN4RCxRQUFJL3JCLEdBQ0YsT0FBTzVCLEVBQUlxUSxLQUFLNlosVUFBdUIsa0JBQ3pDLFNBQ0EvVSxVQUNBMVIsSUFFSixDZ0JuR011cEMsQ0FBZWh0QyxHYmdRUCxTQUFtQkEsR0FDL0JBLEVBQUlrUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUFzQyxDQUNqRSxRQUFJL3JCLEdBQ0YsT0FBTzVCLEVBQUlxUSxLQUFLNlosVUFBdUIsb0JBQ3pDLFNBQ0EvVSxVQUNBMVIsSUFFSixDYXZRTXdwQyxDQUFtQmp0QyxHWjhLWCxTQUFtQkEsR0FDL0JBLEVBQUlrUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE2QixDQUN4RCxRQUFJL3JCLEdBQ0YsT0FBTzVCLEVBQUlxUSxLQUFLNlosVUFBdUIsZ0JBQ3pDLFNBQ0EvVSxVQUNBMVIsSUFFSixDWXJMTXlwQyxDQUFlbHRDLEdYNktQLFNBQW1CQSxHQUMvQkEsRUFBSWtRLE9BQU9vRixTQUFTa2MsU0FBUzdELEdBQTRCLENBQ3ZELFFBQUkvckIsR0FDRixPQUFPNUIsRUFBSXFRLEtBQUs2WixVQUF1QixlQUN6QyxTQUNBL1UsVUFDQTFSLElBRUosQ1dwTE0wcEMsQ0FBY250QyxHVnFGTixTQUFtQkEsR0FDL0JBLEVBQUlrUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE0QixDQUN2RCxRQUFJL3JCLEdBQ0YsT0FBTzVCLEVBQUlxUSxLQUFLNlosVUFBdUIsZUFDekMsU0FDQS9VLFVBQ0ExUixJQUVKLENVNUZNMnBDLENBQWNwdEMsR1RzTk4sU0FBbUJBLEdBQy9CQSxFQUFJa1EsT0FBT29GLFNBQVNrYyxTQUFTN0QsR0FBZ0MsQ0FDM0QsUUFBSS9yQixHQUNGLE9BQU81QixFQUFJcVEsS0FBSzZaLFVBQXVCLG9CQUN6QyxTQUNBL1UsVUFDQTFSLElBRUosQ1M3Tk00cEMsQ0FBYXJ0QyxHUjJITCxTQUFtQkEsR0FDL0JBLEVBQUlrUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE4QixDQUN6RCxRQUFJL3JCLEdBQ0YsT0FBTzVCLEVBQUlxUSxLQUFLNlosVUFBdUIsaUJBQ3pDLFNBQ0EvVSxVQUNBMVIsSUFFSixDUWxJTTZwQyxDQUFnQnR0QyxHUGlLUixTQUFtQkEsR0FDL0JBLEVBQUlrUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE0QixDQUN2RCxRQUFJL3JCLEdBQ0YsT0FBTzVCLEVBQUlxUSxLQUFLNlosVUFBdUIsZUFDekMsU0FDQS9VLFVBQ0ExUixJQUVKLENPeEtNOHBDLENBQWN2dEMsR0xnT04sU0FBbUJBLEdBQy9CQSxFQUFJa1EsT0FBT29GLFNBQVNrYyxTQUFTN0QsR0FBZ0MsQ0FDM0QsUUFBSS9yQixHQUNGLE9BQU81QixFQUFJcVEsS0FBSzZaLFVBQXVCLG1CQUN6QyxTQUNBL1UsVUFDQTFSLElBRUosQ0t2T00rcEMsQ0FBYXh0QyxHSjJETCxTQUFtQkEsR0FDL0JBLEVBQUlrUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUEyQixDQUN0RCxRQUFJL3JCLEdBQ0YsT0FBTzVCLEVBQUlxUSxLQUFLNlosVUFBdUIsY0FDekMsU0FDQS9VLFVBQ0ExUixJQUVKLENJbEVNZ3FDLENBQWF6dEMsR0gyTEwsU0FBbUJBLEdBQy9CQSxFQUFJa1EsT0FBT29GLFNBQVNrYyxTQUFTN0QsR0FBNEIsQ0FDdkQsUUFBSS9yQixHQUNGLE9BQU81QixFQUFJcVEsS0FBSzZaLFVBQXVCLHNCQUN6QyxTQUNBL1UsVUFDQTFSLElBRUosQ0dsTU1pcUMsQ0FBYzF0QyxHRitJTixTQUFtQkEsR0FDL0JBLEVBQUlrUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE0QixDQUN2RCxRQUFJL3JCLEdBQ0YsT0FBTzVCLEVBQUlxUSxLQUFLNlosVUFBdUIsZUFDekMsU0FDQS9VLFVBQ0ExUixJQUVKLENFdEpNa3FDLENBQWMzdEMsR0RxSU4sU0FBbUJBLEdBQy9CQSxFQUFJa1EsT0FBT29GLFNBQVNrYyxTQUFTN0QsR0FBa0MsQ0FDN0QsUUFBSS9yQixHQUNGLE9BQU81QixFQUFJcVEsS0FBSzZaLFVBQXVCLHFCQUN6QyxFQUNBL1UsVUFDQTFSLFdBRUosQ0M1SU1tcUMsQ0FBb0I1dEMsRUFDdEIsVUMvQlM2dEMsR0FDTTd0QyxJQUVqQixXQUFBcU4sQ0FBWXJOLEdBQ1Z1TixLQUFLdk4sSUFBTUEsQ0FDYixDQUVBLG9CQUFBOHRDLENBQXFCdmUsR0FDbkIsTUFBTTlyQixFQUFTOEosS0FBS3ZOLElBQUkyTixZQUNsQm9nQyxFQUFpQnhnQyxLQUFLdk4sSUFBSTJOLFVBQWUsVUFBVTRoQixLQUV6RCxJQUFJOXJCLEVBQU82UixXQUFZN1IsRUFBTzZSLFNBQVNpYSxHQVF2QyxHQUpLOXJCLEVBQU82UixXQUNWN1IsRUFBTzZSLFNBQVcsQ0FBQSxHQUdoQnk0QixHQUFrQjd3QyxPQUFPQyxLQUFLNHdDLEdBQWdCM3pDLE9BQVMsRUFBRyxDQUM1RCxNQUFNNHpDLEVBQTBCLElBQzNCRCxFQUNIaC9CLElBQUtnL0IsRUFBZWgvQixLQUFPay9CLElBQzNCdmlCLFlBQWFxaUIsRUFBZXJpQixhQUFlLFVBQzNDVSxXQUFZMmhCLEVBQWUzaEIsWUFBY3R3QixLQUFLRCxNQUM5Q3l3QixXQUFZeWhCLEVBQWV6aEIsWUFBY3h3QixLQUFLRCxPQUdoRDRILEVBQU82UixTQUFTaWEsR0FBZ0IsQ0FDOUJTLFdBQVksQ0FBQ2dlLEdBQ2JFLFVBQVdGLEVBQVdqL0IsS0FHeEJ4QixLQUFLdk4sSUFBSXdRLFdBQVcsQ0FDbEI4RSxTQUFVN1IsRUFBTzZSLFdBRW5CL0gsS0FBS3ZOLElBQUl3USxXQUFXLENBQ2xCLENBQUMsVUFBVStlLEtBQWlCeWUsR0FFaEMsTUFDRXZxQyxFQUFPNlIsU0FBU2lhLEdBQWdCLENBQzlCUyxXQUFZLEdBQ1prZSxVQUFXLElBRWIzZ0MsS0FBS3ZOLElBQUl3USxXQUFXLENBQ2xCOEUsU0FBVTdSLEVBQU82UixVQUd2QixDQUVBLHdCQUFBa1csQ0FBeUIrRCxHQUN2QmhpQixLQUFLdWdDLHFCQUFxQnZlLEdBRTFCLE1BQU00ZSxFQUFlNWdDLEtBQUt2TixJQUFJMk4sVUFBK0IsWUFBWTRoQixLQUN6RSxJQUFLNGUsSUFBaUJBLEVBQWFELFVBQ2pDLE9BQU8sS0FJVCxPQURzQkMsRUFBYW5lLFdBQVdyaEIsS0FBS3RSLEdBQVFBLEVBQUswUixNQUFRby9CLEVBQWFELFlBQzdELElBQzFCLENBRUEscUJBQUE1aUIsQ0FBc0JpRSxHQUNwQmhpQixLQUFLdWdDLHFCQUFxQnZlLEdBRTFCLE1BQU00ZSxFQUFlNWdDLEtBQUt2TixJQUFJMk4sVUFBK0IsWUFBWTRoQixLQUN6RSxPQUFPNGUsR0FBY25lLFlBQWMsRUFDckMsQ0FFQSxpQkFBQUQsQ0FBa0JSLEVBQXNCNUQsRUFBb0J5aUIsR0FDMUQ3Z0MsS0FBS3VnQyxxQkFBcUJ2ZSxHQUUxQixNQUFNNGUsRUFBZTVnQyxLQUFLdk4sSUFBSTJOLFVBQStCLFlBQVk0aEIsS0FFbkVPLEVBQXlCLElBQzFCc2UsRUFDSHIvQixJQUFLay9CLElBQ0x2aUIsWUFBYUMsRUFDYlMsV0FBWXR3QixLQUFLRCxNQUNqQnl3QixXQUFZeHdCLEtBQUtELE9BaUJuQixPQWRBc3lDLEVBQWFuZSxXQUFXNWMsS0FBSzBjLEdBRVUsSUFBbkNxZSxFQUFhbmUsV0FBVzUxQixTQUMxQit6QyxFQUFhRCxVQUFZcGUsRUFBVS9nQixLQUdyQ3hCLEtBQUt2TixJQUFJd1EsV0FBVyxDQUNsQixDQUFDLFlBQVkrZSxLQUFpQjRlLElBRzVCQSxFQUFhRCxZQUFjcGUsRUFBVS9nQixLQUN2Q3hCLEtBQUs4Z0MsbUJBQW1COWUsRUFBY08sR0FHakNBLENBQ1QsQ0FFQSxvQkFBQUQsQ0FBcUJOLEVBQXNCK2UsRUFBa0JGLEdBQzNEN2dDLEtBQUt1Z0MscUJBQXFCdmUsR0FFMUIsTUFBTTRlLEVBQWU1Z0MsS0FBS3ZOLElBQUkyTixVQUErQixZQUFZNGhCLEtBQ25FZ2YsRUFBY0osRUFBYW5lLFdBQVdHLFVBQVU5eUIsR0FBUUEsRUFBSzBSLE1BQVF1L0IsR0FFM0UsSUFBb0IsSUFBaEJDLEVBQ0YsT0FBTyxFQUdULE1BQU0zZSxFQUFpQnVlLEVBQWFuZSxXQUFXdWUsR0FpQi9DLE9BaEJBSixFQUFhbmUsV0FBV3VlLEdBQWUsSUFDbENILEVBQ0hyL0IsSUFBSzZnQixFQUFlN2dCLElBQ3BCMmMsWUFBYTBpQixFQUFXMWlCLGFBQWVrRSxFQUFlbEUsWUFDdERVLFdBQVl3RCxFQUFleEQsV0FDM0JFLFdBQVl4d0IsS0FBS0QsT0FHbkIwUixLQUFLdk4sSUFBSXdRLFdBQVcsQ0FDbEIsQ0FBQyxZQUFZK2UsS0FBaUI0ZSxJQUc1QkEsRUFBYUQsWUFBY0ksR0FDN0IvZ0MsS0FBSzhnQyxtQkFBbUI5ZSxFQUFjNGUsRUFBYW5lLFdBQVd1ZSxLQUd6RCxDQUNULENBRUEsb0JBQUFwaUIsQ0FBcUJvRCxFQUFzQitlLEdBQ3pDL2dDLEtBQUt1Z0MscUJBQXFCdmUsR0FFMUIsTUFBTTRlLEVBQWU1Z0MsS0FBS3ZOLElBQUkyTixVQUErQixZQUFZNGhCLEtBQ25FaGEsRUFDSmhJLEtBQUt2TixJQUFJMk4sVUFBa0Isb0JBQXNCSixLQUFLdk4sSUFBSTJOLFVBQWtCLG1CQUFxQixPQUVuRyxHQUF1QyxJQUFuQ3dnQyxFQUFhbmUsV0FBVzUxQixRQUFnQm0xQixJQUFpQmhhLEVBRTNELE9BREFoSSxLQUFLdk4sSUFBSWdPLElBQUl0TCxLQUFLLDJEQUNYLEVBR1QsTUFBTTZyQyxFQUFjSixFQUFhbmUsV0FBV0csVUFBVTl5QixHQUFRQSxFQUFLMFIsTUFBUXUvQixHQUUzRSxPQUFvQixJQUFoQkMsSUFJQUosRUFBYUQsWUFBY0ksR0FBWUgsRUFBYW5lLFdBQVc1MUIsT0FBUyxHQUMxRW1ULEtBQUt2TixJQUFJZ08sSUFBSXRMLEtBQUssa0ZBQ1gsSUFHVHlyQyxFQUFhbmUsV0FBV3dlLE9BQU9ELEVBQWEsR0FFeENKLEVBQWFELFlBQWNJLElBQzdCSCxFQUFhRCxVQUFZQyxFQUFhbmUsV0FBVzUxQixPQUFTLEVBQUkrekMsRUFBYW5lLFdBQVcsR0FBR2poQixJQUFNLElBR2pHeEIsS0FBS3ZOLElBQUl3USxXQUFXLENBQ2xCLENBQUMsWUFBWStlLEtBQWlCNGUsSUFHTyxJQUFuQ0EsRUFBYW5lLFdBQVc1MUIsUUFDMUJtVCxLQUFLdk4sSUFBSXlRLGFBQWEsU0FBVThlLEdBRWxDaGlCLEtBQUt2TixJQUFJZ08sSUFBSUMsS0FBSyxHQUFHc2hCLDZCQUVkLEdBQ1QsQ0FFQSxnQkFBQTFELENBQWlCMEQsRUFBc0IrZSxHQUNyQy9nQyxLQUFLdWdDLHFCQUFxQnZlLEdBRTFCLE1BQU00ZSxFQUFlNWdDLEtBQUt2TixJQUFJMk4sVUFBK0IsWUFBWTRoQixLQUNuRTlyQixFQUFTMHFDLEVBQWFuZSxXQUFXcmhCLEtBQUt0UixHQUFRQSxFQUFLMFIsTUFBUXUvQixHQUVqRSxRQUFLN3FDLElBSUwwcUMsRUFBYUQsVUFBWUksRUFFekIvZ0MsS0FBS3ZOLElBQUl3USxXQUFXLENBQ2xCLENBQUMsWUFBWStlLEtBQWlCNGUsSUFHaEM1Z0MsS0FBSzhnQyxtQkFBbUI5ZSxFQUFjOXJCLElBRS9CLEVBQ1QsQ0FFUSxrQkFBQTRxQyxDQUFtQjllLEVBQXNCOXJCLEdBQy9DOEosS0FBS3ZOLElBQUl3USxXQUFXLENBQ2xCLENBQUMsVUFBVStlLEtBQWlCOXJCLEdBRWhDLENBRUEsZUFBQW1vQixDQUFnQjJELEVBQXNCNUQsR0FDcENwZSxLQUFLdWdDLHFCQUFxQnZlLEdBRTFCLE1BQU00ZSxFQUFlNWdDLEtBQUt2TixJQUFJMk4sVUFBK0IsWUFBWTRoQixNQUFtQixDQUFBLEVBQzVGLE9BQU80ZSxHQUFjbmUsWUFBWXJoQixLQUFLdFIsR0FBUUEsRUFBS3F1QixjQUFnQkMsSUFBZSxJQUNwRixDQUVBLFlBQUFoWCxDQUFhNGEsRUFBc0IrZSxFQUFrQjl3QyxHQUNuRCtQLEtBQUt1Z0MscUJBQXFCdmUsR0FFMUIsTUFBTTRlLEVBQWU1Z0MsS0FBS3ZOLElBQUkyTixVQUErQixZQUFZNGhCLEtBQ25FOXJCLEVBQVMwcUMsRUFBYW5lLFdBQVdyaEIsS0FBS3RSLEdBQVFBLEVBQUswUixNQUFRdS9CLEdBRWpFLFFBQUs3cUMsSUFJTEEsRUFBT2lvQixZQUFjbHVCLEVBQ3JCaUcsRUFBTzZvQixXQUFheHdCLEtBQUtELE1BRXpCMFIsS0FBS3ZOLElBQUl3USxXQUFXLENBQ2xCLENBQUMsWUFBWStlLEtBQWlCNGUsSUFHNUJBLEVBQWFELFlBQWNJLEdBQzdCL2dDLEtBQUs4Z0MsbUJBQW1COWUsRUFBYzlyQixJQUdqQyxFQUNULEVDL05GLE1BQU1nckMsR0FDYXp1QyxJQUNBMHVDLEdBQ2pCLFdBQUFyaEMsQ0FBWXJOLEdBSVYsR0FIQXVOLEtBQUt2TixJQUFNQSxFQUNYdU4sS0FBS21oQyxHQUFLLElBQUlDLEdBQVVwaEMsS0FBS3ZOLElBQUkwUCxhQUU1Qm5DLEtBQUttaEMsR0FBRy82QixJQUFJLFVBQ2YsSUFDRXBHLEtBQUttaEMsR0FBR2hkLElBQUksU0FBVSxDQUVwQjhYLFFBQVMsT0FDVGwwQixTQUFVLE9BQ1Z5WixLQUFNLENBQ0p3TSxNQUFPLEtBR2IsQ0FBRSxNQUFPcnBCLEdBRVAsTUFEQTNFLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU02USxHQUNiQSxDQUNSLENBRUYsSUFBSzNFLEtBQUttaEMsR0FBRy82QixJQUFJLGdCQUNmLElBQ0VwRyxLQUFLbWhDLEdBQUdoZCxJQUFJLGVBQWdCLENBQUEsRUFDOUIsQ0FBRSxNQUFPeGYsR0FFUCxNQURBM0UsS0FBS3ZOLElBQUlnTyxJQUFJM00sTUFBTTZRLEdBQ2JBLENBQ1IsQ0FHRjNFLEtBQUtxaEMsTUFBSyxFQUNaLENBRUEsSUFBQUEsQ0FBS0MsR0FDSCxPQUFPdGhDLEtBQUttaEMsR0FBR0UsS0FBS0MsRUFDdEIsQ0FFQSxTQUFBQyxDQUFVN3dDLEVBQU0sSUFDZCxNQUFZLEtBQVJBLEVBQ0tzUCxLQUFLbWhDLEdBQUdFLE1BQUssSUFFdEJyaEMsS0FBS3FoQyxNQUFLLEdBQ0hyaEMsS0FBS21oQyxHQUFHdnRDLElBQUlsRCxHQUNyQixDQUlBLEdBQUFrRCxDQUFJbEQsRUFBeUIsSUFDM0IsT0FBSTNELE1BQU1vSixRQUFRekYsR0FDVEEsRUFBSW9SLElBQUkwL0IsR0FBS3hoQyxLQUFLdWhDLFVBQVVDLElBRTlCeGhDLEtBQUt1aEMsVUFBVTd3QyxFQUN4QixDQUVBLEdBQUF5ekIsQ0FBSXp6QixFQUFhc3VCLEdBQ2ZoZixLQUFLcWhDLE1BQUssR0FDVnJoQyxLQUFLbWhDLEdBQUdoZCxJQUFJenpCLEVBQUtzdUIsRUFDbkIsQ0FFQSxHQUFBNVksQ0FBSTFWLEdBRUYsT0FEQXNQLEtBQUtxaEMsTUFBSyxHQUNIcmhDLEtBQUttaEMsR0FBRy82QixJQUFJMVYsRUFDckIsQ0FFQSxLQUFBK3dDLENBQU0vd0MsRUFBYXN1QixHQUVqQixPQURBaGYsS0FBS3FoQyxNQUFLLEdBQ0hyaEMsS0FBS21oQyxHQUFHTSxNQUFNL3dDLEVBQUtzdUIsRUFDNUIsQ0FFQSxVQUFBL2IsQ0FBVy9NLEdBQ1R2RyxPQUFPQyxLQUFLc0csR0FBUWdtQixRQUFTN25CLElBQzNCMkwsS0FBS21rQixJQUFJOXZCLEVBQU02QixFQUFPN0IsS0FFMUIsQ0FFQSxZQUFBNk8sQ0FBYWhOLEdBQ1h2RyxPQUFPQyxLQUFLc0csR0FBUWdtQixRQUFTN25CLElBQzNCMkwsS0FBS3loQyxNQUFNcHRDLEVBQU02QixFQUFPN0IsS0FFNUIsQ0FFQSxhQUFBcXRDLEdBQ0UsT0FBTzFoQyxLQUFLdk4sSUFBSTBQLFVBQ2xCLEVDM0ZLLE1BQU13L0IsR0FBeUIsMkJDZ0NoQ0MsR0FBbUQsQ0FDdkRDLHlsQ0FDQUMsaXdCQUNBQyxnNENBQ0FDLG9qQ0FDQUMsOHJCQU9JQyxHQUFvRCxDQUN4REwsT0FBUSxrQkFDUkMsTUFBTyxjQUNQQyxNQUFPLGdCQUNQQyxNQUFPLFdBQ1BDLElBQUssVUFTUCxNQUFNRSxHQUFvQm53QyxNQUFPUyxLQU5qQyxTQUEyQkEsR0FDekIsTUFBTTJ2QyxFQUFZenpDLEVBQUtyQixLQUFLbUYsRUFBSXdOLFFBQVMwaEMsSUFDekN4aEMsRUFBY2lpQyxFQUNoQixDQUlFQyxDQUFrQjV2QyxHQUVsQixNQUFNMnZDLEVBQVl6ekMsRUFBS3JCLEtBQUttRixFQUFJd04sUUFBUzBoQyxHQUF3QixHQUFHcGIsSUFBUTVyQixPQUFPLDRCQUNuRixhQUFhLElBQUkvSCxRQUF5QixDQUFDQyxFQUFjQyxLQUN2RCxNQUFNd3ZDLEVBM0NpQixNQUN6QixNQUFNQSxFQUFXNXRDLFFBQVE0dEMsU0FDekIsT0FBSUMsR0FBYyxNQUNELFVBQWJELEVBQ29DLE9BQS9CRSxFQUFHQyxVQUFVNXhDLE1BQU0sS0FBSyxHQUFjLFFBQVUsUUFDakMsV0FBYnl4QyxFQUNGLFNBRUEsU0FtQ1VJLEdBQ1hDLEVBQWFoMEMsRUFBS3JCLEtBQUttRixFQUFJd04sUUFBU2lpQyxHQUF3QkksSUFLbEUsSUFBSU0sRUFIQ3h3QyxFQUFHd0MsV0FBVyt0QyxJQUNqQnZ3QyxFQUFHd08sY0FBYytoQyxFQUFZZixHQUF1QlUsR0FBVyxRQUkvRE0sRUFEZSxXQUFiTixFQUNVdmEsR0FBTSxZQUFhLENBQUM0YSxFQUFZUCxJQUN0QixVQUFiRSxHQUFxQyxVQUFiQSxFQUNyQnZhLEdBQU0sYUFBYyxDQUM5QixhQUNBLGtCQUNBLFVBQ0EsT0FDQSxtQkFDQSxlQUtBLFFBQ0E0YSxFQUNBUCxJQUdVcmEsR0FBTSxLQUFNLENBQUM0YSxFQUFZUCxJQUd2Q1EsRUFBVTVhLE9BQU94a0IsR0FBRyxPQUFTbFEsSUFDM0IsR0FBaUIsVUFBYmd2QyxHQUM2Qiw2QkFBM0JodkMsRUFBSzdGLFdBQVdzVSxPQUtsQixPQUpBdFAsRUFBSXdSLEtBQUs1RSxHQUFjK3BCLGFBQWMsQ0FDbkM3QixNQUFPLGtDQUNQQyxLQUFNLGdGQUVEMTBCLEVBQU8sSUFBSXlSLE1BQU0sZ0ZBRzVCLE1BQU1zK0IsRUFBVXZ2QyxFQUFLN0YsV0FBV3NVLE9BSWhDLElBQUkrZ0MsR0FBMkIsRUFXL0IsR0FSSW4wQyxFQUFLQyxTQUFTaTBDLEtBQWFsMEMsRUFBS0MsU0FBU3d6QyxJQUd2Q2h3QyxFQUFHd0MsV0FBV2l1QyxLQUNoQkMsR0FBMkIsR0FJZixhQUFaRCxJQUEyQnp3QyxFQUFHd0MsV0FBV2l1QyxHQUMzQyxPQUFPL3ZDLEVBQU8sSUFBSXlSLE1BQU0sY0FBY3MrQixNQUd4Q2h3QyxFQUFRLENBQ05nd0MsVUFDQUMsa0NDdEZGLE1BQU9DLFdBQWNuakMsRUFDakJvakMsUUFDQUMsVUFDQTlCLEdBQ0ErQixjQUNSL2dDLFdBQ0FsQyxRQUNBMEMsT0FDQWxDLElBQ0EyQixJQUNBQyxPQUNBMVUsTUFDQTJVLFNBQ0FDLGVBQ0FFLGNBQ0FNLGNBTUFMLFFBQ0FJLEtBQ0FGLFFBQWtCLFFBQ2xCQyxZQUVBLGdCQUFJTCxHQUNGLE9BQU94QyxLQUFLa2pDLGFBQ2QsQ0FFQSxXQUFBcGpDLENBQVlxQyxFQUFxQixJQUMvQnBDLFFBQ0FDLEtBQUttQyxXQUFhQSxFQUNsQm5DLEtBQUtyUyxNQUFRLEdBQ2JxUyxLQUFLc0MsU0FBVyxHQUNoQnRDLEtBQUt1QyxlQUFpQixHQUN0QnZDLEtBQUtxQyxPQUFTLEdBQ2RyQyxLQUFLMkMsT0FBUyxDQUNaK0UsWUFBYSxJQUFJbWMsR0FBaUIsZUFDbEM5YixTQUFVLElBQUk4YixHQUFpQixZQUMvQnBjLHVCQUF3QixJQUFJb2MsR0FBaUIsMEJBQzdDL2Isb0JBQXFCLElBQUkrYixHQUFpQix1QkFDMUMxYixtQkFBb0IsSUFBSTBiLEdBQWlCLHVCQUUzQzdqQixLQUFLbWpDLGlCQUNMbmpDLEtBQUtTLElBQU0sSUFBSTBrQixHQUFPbmxCLE1BQ3RCQSxLQUFLb0MsSUFBTSxJQUFJc2lCLEdBQVUxa0IsTUFDekJBLEtBQUt5QyxjQUFnQixJQUFJa2tCLEdBQWMzbUIsTUFDdkNBLEtBQUsrQyxjQUFnQixJQUFJdTlCLEdBQWN0Z0MsTUFDdkNBLEtBQUtvakMsWUFDUCxDQUVBLG1CQUFhdlgsQ0FBTzFwQixFQUFxQixJQUN2QyxNQUFNMVAsRUFBTSxJQUFJc3dDLEdBQU01Z0MsR0FFdEIsYUFETTFQLEVBQUlteUIsT0FDSG55QixDQUNULENBRVEsY0FBQTB3QyxHQUVOLEdBREFuakMsS0FBS21DLFdBQWFuQyxLQUFLbUMsWUFBY3hULEVBQUtyQixLQUFLKzFDLElBQVcsd0JBQ04sVUFBaEQxMEMsRUFBS0UsUUFBUW1SLEtBQUttQyxZQUFZeWUsY0FFaEMsTUFEQTVnQixLQUFLbUMsV0FBYSxHQUNab0MsTUFBTSxxREFFZHZFLEtBQUtDLFFBQVV0UixFQUFLbEMsUUFBUXVULEtBQUttQyxZQUM1QnVhLEVBQWUxYyxLQUFLbUMsYUFDdkJtaEMsRUFBZSxHQUFHdGpDLEtBQUttQyxhQUUzQixDQUVRLFVBQUFpaEMsR0FDTnBqQyxLQUFLbWhDLEdBQUssSUFBSUQsR0FBR2xoQyxNQUNqQkEsS0FBSytDLGNBQWdCLElBQUl1OUIsR0FBY3RnQyxNQUN2Q0EsS0FBS2dqQyxRQUFVaGpDLEtBQUttaEMsR0FBR0UsTUFBSyxFQUM5QixDQUVRLFVBQU16YyxHQUNaLElBRUU1a0IsS0FBSzhDLEtBQU8sSUFBSXdZLEdBQVl0YixNQUM1QkEsS0FBSzBDLFFBQVUsSUFBSUEsR0FBUTFDLE1BQzNCQSxLQUFLa2pDLGNBQWdCLElBQUkvYSxHQUFhbm9CLE1BRXRDeWtCLEdBQXFCLFNBQ3JCNmEsS0FBbUJyYixTQUFTamtCLE14QnBIekIsQ0FDTCxRQUFBaWtCLENBQVN4eEIsR0FDUEEsRUFBSWtRLE9BQU8rRSxZQUFZdWMsU0FBUyxPQUFRMkksSUFDeENuNkIsRUFBSWtRLE9BQU8rRSxZQUFZdWMsU0FBUyxTQUFVeUksR0FDNUMsR3dCaUh3QnpJLFNBQVNqa0IsTUFDL0J5a0IsR0FBcUIsVUFFZnprQixLQUFLa2pDLGNBQWN6bUIsT0FDekJ6YyxLQUFLaWpDLFVBQVksSUFBSXRqQyxHQUFVSyxLQUNqQyxDQUFFLE1BQU8yRSxHQUdQLE1BRkEzRSxLQUFLaUUsS0FBSzVFLEdBQWNrRyxpQkFBaUIsR0FDekN2RixLQUFLUyxJQUFJM00sTUFBTTZRLEdBQ1RBLENBQ1IsQ0FDRixDQU9BLFNBQU1nZixDQUFJM2EsRUFBc0IzVSxHQUM5QixPQUFJQSxTQUNJMkwsS0FBS3dDLGFBQWFpbEIsZUFBZXB6QixFQUFNMlUsU0FDL0JoSixLQUFLd0MsYUFBYTRnQixVQUFVL3VCLElBRXJDMlUsRUFBT2hKLEtBQ2hCLENBRUEsZ0JBQUF1akMsR0FDMEIsS0FBcEJ2akMsS0FBS21DLGFBQ1BuQyxLQUFLb0MsSUFBSXdpQixPQUNUNWtCLEtBQUtvQyxJQUFJOGlCLGVBRWIsQ0FFQSxTQUFBOWtCLENBQWEvTCxHQUVYLE9BREEyTCxLQUFLZ2pDLFFBQVVoakMsS0FBS21oQyxHQUFHRSxNQUFLLEdBQ3ZCaHRDLEVBR0VULEVBQUlvTSxLQUFLZ2pDLFFBQVMzdUMsR0FGaEIyTCxLQUFLZ2pDLE9BR2hCLENBRUEsVUFBQS8vQixDQUFXL00sR0FDSkQsR0FBbUJDLElBSXhCOEosS0FBS21ELFVBQVVqTixHQUNmOEosS0FBS21oQyxHQUFHbCtCLFdBQVcvTSxJQUpqQjhKLEtBQUtTLElBQUl0TCxLQUFLLHlEQUtsQixDQUVBLFlBQUErTixDQUFheFMsRUFBYTh5QyxHQUNuQjl5QyxHQUFROHlDLElBQ1R6dEMsR0FBdUJyRixHQUN6QnNQLEtBQUtTLElBQUl0TCxLQUFLLGNBQWN6RSx1QkFHOUJzUCxLQUFLb0QsWUFBWTFTLEVBQUs4eUMsR0FDdEJ4akMsS0FBS21oQyxHQUFHTSxNQUFNL3dDLEVBQUs4eUMsSUFDckIsQ0FFQSxTQUFBcmdDLENBQVVqTixHQUNIRCxHQUFtQkMsR0FJeEJ2RyxPQUFPQyxLQUFLc0csR0FBUWdtQixRQUFTN25CLElBQ3ZCMEIsR0FBdUIxQixLQUN6QjJMLEtBQUtTLElBQUl0TCxLQUFLLGNBQWNkLDhCQUVyQjZCLEVBQU83QixJQUVoQjh2QixFQUFJbmtCLEtBQUtnakMsUUFBUzN1QyxFQUFNNkIsRUFBTzdCLElBQy9CMjFCLEdBQVMvbEIsS0FBSzNFLEdBQVUwckIsY0FBZSxDQUNyQzVNLFdBQVkvcEIsRUFDWjJxQixNQUFPOW9CLEVBQU83QixPQVpoQjJMLEtBQUtTLElBQUl0TCxLQUFLLHlEQWVsQixDQUVBLFdBQUFpTyxDQUFZMVMsRUFBYTh5QyxHQUNsQjl5QyxHQUFROHlDLElBQ1R6dEMsR0FBdUJyRixHQUN6QnNQLEtBQUtTLElBQUl0TCxLQUFLLGNBQWN6RSxvQkFHOUIrd0MsRUFBTXpoQyxLQUFLSSxVQUFVMVAsR0FBTTh5QyxHQUM3QixDQUVBLFdBQUl4d0MsR0FDRixPQUFPZ04sS0FBSzBDLFFBQVExUCxRQUFRZ1EsS0FBS2hELEtBQUswQyxRQUN4QyxDQUVBLFlBQU1XLENBQU8xVixHQUNYLEdBQXdCLEtBQXBCcVMsS0FBS21DLFdBRVAsT0FEQW5DLEtBQUtTLElBQUkzTSxNQUFNLDREQUNSLEdBR1QsUUFBY3BFLElBQVYvQixHQUF3QyxJQUFqQkEsRUFBTWQsT0FzQjFCLENBQ0wsTUFBTXdWLE9BQUVBLFNBQWlCckMsS0FBS2lqQyxVQUFVL2dDLE1BQU12VSxHQUM5QyxPQUFPMFUsQ0FDVCxDQXhCRSxJQUNFLE1BQU13Z0MsUUFBRUEsRUFBT0MseUJBQUVBLFNBQW1DWCxHQUFrQm5pQyxNQUNoRXlqQyxFQUFVLEtBQ1RYLEdBQ0hZLEVBQU9iLEdBQVM3dUMsTUFBTTJRLElBQ3BCM0UsS0FBS1MsSUFBSTNNLE1BQU02USxNQUlyQixHQUFnQixhQUFaaytCLEVBQ0YsTUFBTSxJQUFJdCtCLE1BQU0sZ0NBQ1gsQ0FDTHZFLEtBQUt5RCxLQUFLcEUsR0FBY2lHLE9BQVFtK0IsR0FDaEN6akMsS0FBS3lELEtBQUtwRSxHQUFja0osU0FBVWs3QixHQUNsQyxNQUFNcGhDLE9BQUVBLFNBQWlCckMsS0FBS2lqQyxVQUFVL2dDLE1BQU0sQ0FBQzJnQyxJQUMvQyxPQUFPeGdDLENBQ1QsQ0FDRixDQUFFLE1BQU9zQyxHQUVQLE1BREEzRSxLQUFLaUUsS0FBSzVFLEdBQWNpRyxPQUFRWCxHQUMxQkEsQ0FDUixDQUtKLENBRUEscUJBQUFnL0IsQ0FBc0IveEMsRUFBY3NFLEdBQ2xDOEosS0FBS2lELFdBQVcsQ0FDZCxDQUFDLFVBQVVyUixLQUFTc0UsRUFDcEIsa0JBQW1CdEUsRUFDbkIsaUJBQWtCQSxHQUV0QixDQUVBLHFCQUFNMFIsQ0FBZ0IzVixHQUNwQixNQUFNaTJDLEVBQXFDLENBQUV2aEMsT0FBUSxHQUFJd2hDLGFBQWMsSUFDdkUsR0FBd0IsS0FBcEI3akMsS0FBS21DLFdBRVAsT0FEQW5DLEtBQUtTLElBQUkzTSxNQUFNLDREQUNSOHZDLEVBRVQsTUFBTXRoQyxFQUFXd0MsRUFBVW5YLEdBQVMsSUFDcEMsSUFBSW0yQyxFQUF1QjlqQyxLQUFLSSxVQUFtQixtQ0FBb0MsRUFDdkYsTUFBTTJqQyxFQUF3Qi9qQyxLQUFLSSxVQUFrQiwwQkFBNEIsR0FDM0U0akMsRUFBdUJoa0MsS0FBS0ksVUFBOEIsZ0NBQWtDLENBQUEsRUFDN0Y0akMsR0FBcUUsSUFBN0NyMEMsT0FBT0MsS0FBS28wQyxHQUFzQm4zQyxTQUM3RGkzQyxHQUF1QixHQUV6QixNQUFNOTdCLEVBQWtCaEksS0FBS2lqQyxVQUFVL2hDLGdCQUFnQmxCLE1BQ3ZELElBQUtnSSxFQUFnQjlSLFFBQXlELElBQS9DdkcsT0FBT0MsS0FBS29ZLEVBQWdCOVIsUUFBUXJKLE9BRWpFLE9BREFtVCxLQUFLUyxJQUFJM00sTUFBTSxnRUFDUjh2QyxFQUVMSSxFQUFxQnhpQyxNQUFRd0csRUFBZ0JoTixLQUMvQ2dGLEtBQUtTLElBQUlDLEtBQUsseUZBQ2RvakMsR0FBdUIsR0FFekIsSUFPSUcsRUFQQUMsRUFBb0IsR0FDcEJyQixFQUFrQixHQUNsQnNCLEVBQTZFLENBQy9FdEIsUUFBUyxHQUNUQywwQkFBMEIsR0FFeEJBLEdBQW9DLEVBSXhDLFFBQWdCcHpDLElBQVYvQixHQUF3QyxJQUFqQkEsRUFBTWQsT0FDakNxM0MsRUFBb0IsT0FDcEJELFFBQWFqa0MsS0FBS2lqQyxVQUFVL2dDLE1BQU12VSxHQUFPLEdBQ3pDaTJDLEVBQVV2aEMsT0FBUzRoQyxFQUFLNWhDLFdBQ25CLENBQ0w2aEMsRUFBb0IsWUFDcEIsSUFDRUMsUUFBMkJoQyxHQUFrQm5pQyxNQUM3QzZpQyxFQUFVc0IsRUFBbUJ0QixRQUM3QkMsRUFBMkJxQixFQUFtQnJCLHlCQUMxQ2dCLElBQ0ZoQixHQUEyQixHQUU3QixNQUFNVyxFQUFVLEtBQ1RYLEdBQ0hZLEVBQU9iLEdBQVM3dUMsTUFBTTJRLElBQ3BCM0UsS0FBS1MsSUFBSTNNLE1BQU02USxNQUlyQixHQUFnQixhQUFaaytCLEVBQ0YsTUFBTSxJQUFJdCtCLE1BQU0sZ0NBRWhCdkUsS0FBS3lELEtBQUtwRSxHQUFjaUcsT0FBUW0rQixHQUNoQ3pqQyxLQUFLeUQsS0FBS3BFLEdBQWNrSixTQUFVazdCLEdBQ2xDUSxRQUFhamtDLEtBQUtpakMsVUFBVS9nQyxNQUFNLENBQUMyZ0MsSUFBVSxHQUM3Q2UsRUFBVXZoQyxPQUFTNGhDLEVBQUs1aEMsTUFFNUIsQ0FBRSxNQUFPc0MsR0FFUCxNQURBM0UsS0FBS2lFLEtBQUs1RSxHQUFjaUcsT0FBUVgsR0FDMUJBLENBQ1IsQ0FDRixDQUNBLElBQUttL0IsRUFBc0IsT0FBT0YsRUFFbEMsTUFBTVEsRUFBbUJwa0MsS0FBS0ksVUFBa0IsNkJBQ2hELElBQUlpa0MsRUFDSixJQUFLTCxHQUFxRSxJQUE3Q3IwQyxPQUFPQyxLQUFLbzBDLEdBQXNCbjNDLE9BRTdELE9BREFtVCxLQUFLUyxJQUFJM00sTUFBTSwrREFDUjh2QyxFQUVUNWpDLEtBQUsyakMsc0JBQXNCSSxFQUF1QkMsR0FDbEQsSUFDRSxHQUF5QixhQUFyQkksRUFBaUMsQ0FDbkMsR0FBMEIsY0FBdEJGLEVBQW1DLENBQ3JDLE1BQU1JLEVBQW1CLEtBQ2xCSCxFQUFtQnJCLDBCQUN0QlksRUFBT2IsR0FBUzd1QyxNQUFNMlEsSUFDcEIzRSxLQUFLUyxJQUFJM00sTUFBTTZRLE1BSXJCM0UsS0FBS3lELEtBQUtwRSxHQUFjaUcsT0FBUWcvQixHQUNoQ3RrQyxLQUFLeUQsS0FBS3BFLEdBQWNrSixTQUFVKzdCLEVBQ3BDLENBQ0FELFFBQXFCcmtDLEtBQUtpakMsVUFBVS9nQyxNQUNaLFNBQXRCZ2lDLEVBQStCNWhDLEVBQVcsQ0FBQzZoQyxFQUFtQnRCLFVBQzlELEVBRUosTUFDRXdCLFFBQXFCcmtDLEtBQUtpakMsVUFBVS9nQyxNQUFNK2hDLEVBQUsxaEMsZ0JBQWdCLEdBRWpFcWhDLEVBQVVDLGFBQWVRLEVBQWFoaUMsTUFDeEMsQ0FBRSxNQUFPc0MsR0FDUDNFLEtBQUtTLElBQUkzTSxNQUFNLHVDQUF3QzZRLEVBQ3pELFNBQ0UzRSxLQUFLMmpDLHNCQUFzQjM3QixFQUFnQmpOLE9BQVFpTixFQUFnQjlSLFFBQVUsR0FDL0UsQ0FDQSxPQUFPMHRDLENBQ1QifQ==
1
+ import{EventEmitter as e}from"node:events";import t,{dirname as r}from"node:path";import n from"axios";import i from"fs-extra";import{readJSONSync as a,ensureDirSync as s,emptyDirSync as o,pathExistsSync as E,createFileSync as S,outputFileSync as I,removeSync as l,moveSync as _,ensureFileSync as c,remove as P}from"fs-extra/esm";import u from"heic-convert";import{cloneDeep as p,merge as g,get as A,set as C,unset as d}from"lodash-es";import T from"node:crypto";import D,{fileURLToPath as m,URL as f,pathToFileURL as L}from"node:url";import{imageSize as h}from"image-size";import B from"sharp";import N from"text-to-svg";import{v4 as U}from"uuid";import R,{homedir as M}from"node:os";import O from"node:vm";import y from"dotenv";import{ObjectAdapter as w,I18n as G}from"@piclist/i18n";import b from"js-yaml";import{Command as x}from"commander";import W from"inquirer";import $ from"node:util";import F from"chalk";import H from"dayjs";import{spawn as K}from"cross-spawn";import k from"resolve";import v from"node:https";import Y from"form-data";import{httpsOverHttp as V}from"tunnel";import j from"mime";import{S3Client as z,PutObjectCommand as q,GetObjectCommand as X}from"@aws-sdk/client-s3";import{getSignedUrl as Q}from"@aws-sdk/s3-request-presigner";import{NodeHttpHandler as Z}from"@smithy/node-http-handler";import{fileTypeFromBuffer as J}from"file-type";import{HttpsProxyAgent as ee,HttpProxyAgent as te}from"hpagent";import re from"qiniu";import{NodeSSH as ne}from"node-ssh-no-cpu-features";import{AuthType as ie,createClient as ae}from"webdav";import{JSONStore as se}from"@piclist/store";import{spawn as oe}from"node:child_process";import Ee from"is-wsl";const Se=r(m(import.meta.url));function Ie(e){const t=new Array(e);let r=0,n=0,i=0;for(;r<e;){if(i<6){n=n<<30|1073741824*Math.random()>>>0,i+=30;continue}const e=63&n;n>>>=6,i-=6,e<62&&(t[r++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[e])}return t.join("")}function le(e){return 1===e.toString().length?`0${e}`:e.toString()}function _e(e){return T.createHash("md5").update(e).digest("hex")}function ce(e){return T.createHash("sha256").update(e).digest("hex")}function Pe(e,r,n,i){const a=new Date,s=a.getFullYear().toString(),o=t.basename(e,t.extname(e)),E={"{Y}":()=>s,"{y}":()=>s.slice(2),"{m}":()=>le(a.getMonth()+1),"{d}":()=>le(a.getDate()),"{h}":()=>le(a.getHours()),"{i}":()=>le(a.getMinutes()),"{s}":()=>le(a.getSeconds()),"{ms}":()=>a.getMilliseconds().toString().padStart(3,"0"),"{md5}":()=>_e(i||o),"{sha256}":()=>ce(i||o),"{md5-16}":()=>_e(i||o).slice(0,16),"{filename}":()=>n?t.basename(n,t.extname(n)):o,"{uuid}":()=>U().replace(/-/g,""),"{timestamp}":()=>a.getTime().toString()};if(void 0===r||!Object.keys(E).some(e=>r.includes(e))&&!r.includes("localFolder:")&&!r.includes("str-"))return e;const S=t.extname(e);let I=Object.keys(E).reduce((e,t)=>e.replace(new RegExp(t,"g"),E[t]()),r)+S;return I=I.replace(/{str-(\d+)}/gi,(e,t)=>Ie(parseInt(t,10))),I=I.replace(/{sha256-(\d+)}/gi,(e,t)=>{const r=parseInt(t,10);return ce(i||o).slice(0,r)}),I=I.replace(/{(localFolder:?(\d+)?)}/gi,(r,n,i)=>{i=Math.max(1,i||0);return t.dirname(e).split(t.sep).slice(0-i).reduce((e,t)=>`${e}/${t}`).replace(/:/g,"")}),I}const ue=e=>/^https?:\/\//.test(e),pe=e=>{e=e||"";try{return e!==decodeURI(e)}catch(e){return!1}},ge=e=>(pe(e)||(e=encodeURI(e)),e),Ae=e=>{try{const{width:t=0,height:r=0,type:n}=h(e);return{real:!0,width:t,height:r,extname:n?`.${n}`:".png"}}catch(e){return{real:!1,width:200,height:200,extname:".png"}}},Ce=async e=>{try{return{extname:t.extname(e),fileName:t.basename(e),filePath:e,buffer:await i.readFile(e),success:!0}}catch{return{reason:`read file ${e} error`,success:!1}}},de=async(e,r)=>{let n;e=ge(e);const i=new Promise((i,a)=>{(async()=>{try{const a=await r.request({method:"get",url:e,resolveWithFullResponse:!0,responseType:"arraybuffer"}).then(e=>e.data);clearTimeout(n);const s=new f(e).pathname;let o="";try{o=new f(e).searchParams.get("wx_fmt")||t.extname(s)||""}catch(e){o=t.extname(s)||""}!o.startsWith(".")&&o&&(o=`.${o}`),i({buffer:a,fileName:t.basename(s),extname:o,success:!0})}catch(t){clearTimeout(n),i({success:!1,reason:`request ${e} error, ${t?.message??""}`})}})().catch(a)}),a=new Promise(t=>{n=setTimeout(()=>{t({success:!1,reason:`request ${e} timeout`})},3e4)});return Promise.race([i,a])},Te=e=>/^@[^/]+\/picgo-plugin-/.test(e)?"scope":e.startsWith("picgo-plugin-")?"normal":De(e)?"simple":"unknown",De=e=>{if(t.isAbsolute(e))return!1;const r=t.join(process.cwd(),e);return!i.existsSync(r)&&(!e.includes("/")&&!e.includes("\\"))},me=(e,t="")=>t?`@${t}/picgo-plugin-${e}`:`picgo-plugin-${e}`,fe=(e,r=console)=>{switch(Te(e)){case"normal":case"scope":return e;case"simple":return me(e);default:{let n=e;return t.isAbsolute(e)&&i.existsSync(e)?he(n):(n=t.join(process.cwd(),e),i.existsSync(n)?he(n):(r.warn(`Can't find plugin ${e}`),""))}}},Le=(e,r=console)=>{switch(Te(e)){case"normal":return Be(e);case"scope":return Be(e,!0);case"simple":return Be(me(e));default:{if(!i.existsSync(e))return r.warn(`Can't find plugin: ${e}`),"";const n=t.posix.join(e,"package.json");if(i.existsSync(n)){const e=a(n)||{};return e.name?.includes("picgo-plugin-")?e.name:(r.warn(`The plugin package.json's name filed is ${e.name||"empty"}, need to include the prefix: picgo-plugin-`),"")}return r.warn(`Can't find plugin: ${e}`),""}}},he=e=>e.split(t.sep).join("/"),Be=(e,t=!1)=>{if(e.includes("@")){let r=/(.+\/)?(picgo-plugin-\w+)(@.+)*/;t&&(r=/(.+\/)?(^@[^/]+\/picgo-plugin-\w+)(@.+)*/);const n=e.match(r);return n?n[2]:(console.warn("can not remove plugin version"),e)}return e},Ne=[],Ue=e=>Ne.some(t=>e.startsWith(t)),Re=e=>"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0;function Me(e){try{return JSON.parse(e)}catch(e){return JSON.parse("{}")}}const Oe=(e=0)=>isNaN(Number(e))?0:Number(e),ye=()=>"development"===process.env.NODE_ENV;const we=t.join(Se,"assets","piclist.png");async function Ge(e,t,r,n,i,a,s,o,E,S,I,l){o=!o||o<0||o>1?.15:o;const _=B(e,{animated:!0}),{width:c=200}=await _.metadata(),P=await async function(e,t,r,n,i,a,s,o=200,E=0,S=255){let I;"image"===e?(S=Oe(S),s=s||we,I=await B(s).composite([{input:Buffer.from([255,255,255,S>255?255:S]),raw:{width:1,height:1,channels:4},tile:!0,blend:"dest-in"}]).toBuffer()):I=await async function(e,t,r,n){t=t||"测试",n=n||e;const i={anchor:"top",attributes:{fill:r=r||"rgba(204, 204, 204, 0.45)"}},a=N.loadSync(n).getSVG(t,i);return Buffer.from(a)}(t,r,a,n||t);const{width:l,height:_}=await async function(e){const{width:t,height:r}=await B(e).metadata();return{width:t||200,height:r||200}}(I),c=Math.floor(o*Oe(i)),P=Math.floor(c*_/l);return await B(I).resize(c,P,{fit:"inside"}).rotate(E,{background:{r:255,g:255,b:255,alpha:0}}).toBuffer()}(t,r,a,s,o,E,S,c,i,l);return await _.composite([{input:P,gravity:I||"southeast",tile:n}]).toBuffer()}const be=(...e)=>e.every(e=>null!=e&&("string"==typeof e?""!==e:"number"==typeof e?e>0:"object"!=typeof e||Object.keys(e).length>0)),xe=["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"],We=["jpg","jpeg","png","webp","bmp","tiff","tif","svg","ico","avif","heif","heic","gif"],$e=e=>xe.includes(e);function Fe(e,t,r,n){e=e||{};return{isAddWatermark:!!(t.isAddWatermark??e.isAddWatermarkMap?.[r]??e.isAddWatermark),watermarkType:(t.watermarkType??e.watermarkTypeMap?.[r]??e.watermarkType)||"text",isFullScreenWatermark:!!(t.isFullScreenWatermark??e.isFullScreenWatermarkMap?.[r]??e.isFullScreenWatermark),watermarkDegree:Oe(t.watermarkDegree??e.watermarkDegreeMap?.[r]??e.watermarkDegree),watermarkText:(t.watermarkText??e.watermarkTextMap?.[r]??e.watermarkText)||"",watermarkFontPath:(t.watermarkFontPath??e.watermarkFontPath)||"",watermarkScaleRatio:Oe(t.watermarkScaleRatio??e.watermarkScaleRatioMap?.[r]??e.watermarkScaleRatio),watermarkColor:(t.watermarkColor??e.watermarkColorMap?.[r]??e.watermarkColor)||"rgba(204, 204, 204, 0.45)",watermarkImagePath:(t.watermarkImagePath??e.watermarkImagePathMap?.[r]??e.watermarkImagePath)||"",watermarkPosition:(t.watermarkPosition??e.watermarkPositionMap?.[r]??e.watermarkPosition)||"southeast",watermarkImageOpacity:Oe(t.watermarkImageOpacity??e.watermarkImageOpacityMap?.[r]??e.watermarkImageOpacity),picBed:r,id:n}}function He(e,t,r,n){e=e||{};return{quality:Oe(t.quality??e.qualityMap?.[r]??e.quality),isConvert:!!(t.isConvert??e.isConvertMap?.[r]??e.isConvert),convertFormat:(t.convertFormat??e.convertFormatMap?.[r]??e.convertFormat)||"jpg",isReSize:!!(t.isReSize??e.isReSizeMap?.[r]??e.isReSize),reSizeHeight:Oe(t.reSizeHeight??e.reSizeHeightMap?.[r]??e.reSizeHeight),reSizeWidth:Oe(t.reSizeWidth??e.reSizeWidthMap?.[r]??e.reSizeWidth),skipReSizeOfSmallImg:!!(t.skipReSizeOfSmallImg??e.skipReSizeOfSmallImgMap?.[r]??e.skipReSizeOfSmallImg),isReSizeByPercent:!!(t.isReSizeByPercent??e.isReSizeByPercentMap?.[r]??e.isReSizeByPercent),reSizePercent:Oe(t.reSizePercent??e.reSizePercentMap?.[r]??e.reSizePercent),isRotate:!!(t.isRotate??e.isRotateMap?.[r]??e.isRotate),rotateDegree:Oe(t.rotateDegree??e.rotateDegreeMap?.[r]??e.rotateDegree),isRemoveExif:!!(t.isRemoveExif??e.isRemoveExifMap?.[r]??e.isRemoveExif),isFlip:!!(t.isFlip??e.isFlipMap?.[r]??e.isFlip),isFlop:!!(t.isFlop??e.isFlopMap?.[r]??e.isFlop),formatConvertObj:(t.formatConvertObj??e.formatConvertObjMap?.[r]??e.formatConvertObj)||{},picBed:r,id:n}}async function Ke(e,t,r,n){try{let n=B(e,{animated:!0});return n=B(await Ge(e,t.watermarkType||"text",r,t.isFullScreenWatermark,Oe(t.watermarkDegree),t.watermarkText,t.watermarkFontPath,Oe(t.watermarkScaleRatio),t.watermarkColor,t.watermarkImagePath,t.watermarkPosition,Oe(t.watermarkImageOpacity)),{animated:!0}),await n.toBuffer()}catch(t){return n.error(`Image add watermark error: ${t}`),e}}function ke(e){const t="string"==typeof e.formatConvertObj?Me(e.formatConvertObj):e.formatConvertObj;return{quality:Oe(e.quality),isConvert:e.isConvert||!1,convertFormat:e.convertFormat||"jpg",isReSize:e.isReSize||!1,reSizeHeight:Oe(e.reSizeHeight),reSizeWidth:Oe(e.reSizeWidth),skipReSizeOfSmallImg:e.skipReSizeOfSmallImg||!1,isReSizeByPercent:e.isReSizeByPercent||!1,reSizePercent:Oe(e.reSizePercent),isRotate:e.isRotate||!1,isFlip:e.isFlip||!1,isFlop:e.isFlop||!1,rotateDegree:Oe(e.rotateDegree),picBed:e.picBed||"smms",formatConvertObj:t||{}}}async function ve(e,t,r,n){t=ke(t);try{if(r=Ye(r),!We.includes(r)||"gif"===r)return e;let n=B(e,{animated:!0}),i=100;if(be(t.quality)&&t.quality<100&&(i=Math.min(Math.max(Math.round(t.quality),1),100)),t.isReSizeByPercent){if(be(t.reSizePercent)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);e&&r&&(n=n.resize(Math.round(e*t.reSizePercent/100),Math.round(r*t.reSizePercent/100),{fit:"inside"}))}}else if(t.isReSize)if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&"number"==typeof t.reSizeWidth&&t.reSizeWidth>0)n=n.resize(t.reSizeWidth,t.reSizeHeight,{fit:"fill"});else if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&("number"!=typeof t.reSizeWidth||0===t.reSizeWidth)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeHeight<r)){const i=t.reSizeHeight/r;n=n.resize(Math.round(e*i),t.reSizeHeight,{fit:"inside"})}}else if("number"==typeof t.reSizeWidth&&t.reSizeWidth>0&&("number"!=typeof t.reSizeHeight||0===t.reSizeHeight)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeWidth<e)){const i=t.reSizeWidth/e;n=n.resize(t.reSizeWidth,Math.round(r*i),{fit:"inside"})}}if(t.isRotate&&t.rotateDegree&&(n=n.rotate(t.rotateDegree,{background:{r:255,g:255,b:255,alpha:0}})),t.isFlip&&(n=n.flip()),t.isFlop&&(n=n.flop()),t.isConvert){const e=Ve(t,r);e!==r&&(n=n.toFormat(e,{quality:i,mozjpeg:!0}))}else n=r&&$e(r)?n.toFormat(r,{quality:i,mozjpeg:!0}):n.toFormat("jpg",{quality:i,mozjpeg:!0});return await n.toBuffer()}catch(t){return n.error(`Image process error: ${t}`),e}}const Ye=e=>e.toLowerCase().replace(".","");function Ve(e,t){if(e=ke(e||{}),"gif"===(t=Ye(t)))return"gif";let r=e?.convertFormat||"jpg";if(e?.formatConvertObj&&Object.keys(e.formatConvertObj).length>0){const n=e.formatConvertObj;Object.keys(n).includes(t)&&(r=n[t],$e(r)||(r="jpg"))}return"imgur"===e?.picBed&&"webp"===r&&(r="jpg"),r}const je=(e,t)=>(t=Ye(t),!!e&&!!e.isAddWatermark&&We.includes(t)&&"svg"!==t),ze=(e,t)=>{if(!We.includes(Ye(t))||!e)return!1;const{quality:r,isReSizeByPercent:n,reSizePercent:i,isReSize:a,reSizeHeight:s,reSizeWidth:o,isRotate:E,rotateDegree:S,isConvert:I,convertFormat:l,isFlip:_,isFlop:c}=ke(e);if(be(r)&&r<100)return!0;if(n&&be(i))return!0;if(a&&("number"==typeof s&&s>0||"number"==typeof o&&o>0))return!0;if(E&&S)return!0;if(_||c)return!0;if(I){return t!==(l||"jpg")}return!1},qe=async(e,t)=>(t=Ye(t),We.includes(t)&&"svg"!==t?await B(e,{animated:!0}).toBuffer():e);var Xe=Object.freeze({__proto__:null,AddWatermark:Ge,configBlackList:Ne,forceNumber:Oe,getConvertedFormat:Ve,getFSFile:Ce,getImageSize:Ae,getNormalPluginName:Le,getPluginNameType:Te,getProcessPluginName:fe,getTreatedCompressOptions:He,getTreatedWaterMarkOptions:Fe,getURLFile:de,handleCompletePluginName:me,handleStreamlinePluginName:e=>/^@[^/]+\/picgo-plugin-/.test(e)?e.replace(/^@[^/]+\/picgo-plugin-/,""):e.replace(/picgo-plugin-/,""),handleUnixStylePath:he,handleUrlEncode:ge,imageAddWaterMark:Ke,imageCompress:ve,isConfigKeyInBlackList:Ue,isDev:ye,isInputConfigValid:Re,isNeedAddWatermark:je,isNeedCompress:ze,isSimpleName:De,isUrl:ue,isUrlEncode:pe,randomStringGenerator:Ie,removeExif:qe,removePluginVersion:Be,renameFileNameWithCustomString:Pe,renameFileNameWithRandomString:function(e,r=5){return`${Ie(r)}${t.extname(e)}`},renameFileNameWithTimestamp:function(e){return`${Math.floor(Date.now()/1e3)}${Ie(5)}${t.extname(e)}`},safeParse:Me});var Qe,Ze,Je;function et(e){if(e instanceof Error)return`${e.name}: ${e.message}\n${e.stack}`;try{return JSON.stringify(e)}catch{return String(e)}}!function(e){e.success="success",e.info="info",e.warn="warn",e.error="error"}(Qe||(Qe={})),function(e){e.UPLOAD_PROGRESS="uploadProgress",e.FAILED="failed",e.BEFORE_TRANSFORM="beforeTransform",e.BEFORE_UPLOAD="beforeUpload",e.AFTER_UPLOAD="afterUpload",e.FINISHED="finished",e.INSTALL="install",e.UNINSTALL="uninstall",e.UPDATE="update",e.NOTIFICATION="notification"}(Ze||(Ze={})),function(e){e.CONFIG_CHANGE="CONFIG_CHANGE"}(Je||(Je={}));class tt{ctx;scriptCache=new Map;stages=["preProcess","beforeTransform","transform","beforeUpload","upload","afterUpload"];constructor(e){this.ctx=e}async refreshCache(){this.scriptCache.clear();const e=t.join(this.ctx.baseDir,"scripts"),r=this.ctx.getConfig()||{},n=r.scripts?.disabledList||[];await Promise.all(this.stages.map(async r=>{const a=r,s=t.join(e,r);try{const e=await i.readdir(s),o=[];for(const r of e)if(r.endsWith(".js")&&!n.includes(`${a}/${r}`)){const e=t.join(s,r),n=await i.readFile(e,"utf-8"),a=new O.Script(n,{filename:e});o.push({path:e,compiledScript:a})}this.scriptCache.set(r,o)}catch(e){this.scriptCache.set(r,[])}}))}async runStage(e,t={}){const r=this.scriptCache.get(e)||[];if(0!==r.length)for(const e of r)try{const r=this.createSandbox(t),n=O.createContext(r);if(e.compiledScript.runInContext(n),"function"==typeof n.main){const r=n.main(this.ctx,t);await(r instanceof Promise?r:Promise.resolve(r)),this.ctx.log.info(`[Script] ${e.path} executed successfully`)}}catch(t){this.ctx.log.error(`[Script] ${e.path} failed: ${t}`)}}createSandbox(e){const r=function(e){if(i.existsSync(e)){const t=i.readFileSync(e),r=y.parse(t);for(const e in r)process.env[e]=r[e];return r}return{}}(t.join(this.ctx.baseDir,".env"));return{ctx:this.ctx,extra:e,console:Object.freeze({log:(...e)=>this.ctx.log.info(e.map(et).join(" ")),info:(...e)=>this.ctx.log.info(e.map(et).join(" ")),error:(...e)=>this.ctx.log.error(e.map(et).join(" ")),debug:(...e)=>this.ctx.log.debug(e.map(et).join(" "))}),axios:n,crypto:T,fs:i,path:t,os:R,Buffer:Buffer,setTimeout:setTimeout,setInterval:setInterval,clearTimeout:clearTimeout,clearInterval:clearInterval,base64Decode:e=>Buffer.from(e,"base64").toString("utf-8"),base64Encode:e=>(Buffer.isBuffer(e)?e:Buffer.from(String(e))).toString("base64"),env:r}}}const rt="Add watermark to image",nt="Compress or convert image",it="Remove exif info",at="Download ttf file",st="Download ttf file successfully",ot="Download ttf file failed",Et="Download ttf file failed, skip add watermark",St=0,It=30,lt=60,_t=-1,ct=["zip","rar","7z","tar","gz","tar.gz","tar.bz2","tar.xz"],Pt="smms";class ut extends e{ctx;ttfPath;constructor(e){super(),this.ctx=e,this.ttfPath=t.join(e.baseDir,"assets","simhei.ttf"),this.initializeDirs()}initializeDirs(){s(t.join(this.ctx.baseDir,"imgTemp"));this.ctx.getConfig("settings.enableSecondUploader")||!1||o(t.join(this.ctx.baseDir,"piclistTemp"))}async downloadTTF(){try{if(s(t.dirname(this.ttfPath)),i.existsSync(this.ttfPath)&&i.statSync(this.ttfPath).size>0)return!0;this.ctx.log.info(at);const e=await n.get("https://release.piclist.cn/simhei.ttf",{responseType:"arraybuffer"});return i.writeFileSync(this.ttfPath,e.data),this.ctx.log.info(st),!0}catch(e){return this.ctx.log.error(ot),!1}}getProcessingOptions(e){const t=e.getConfig("buildIn.compress"),r=e.getConfig("buildIn.watermark"),n=e.getConfig("buildIn.list")||[],i=this.getUploaderType(e),a=n.find(e=>e.id===i.id)?.compress||{},s=n.find(e=>e.id===i.id)?.watermark||{};if(t){t.picBed=i.picBed,t.id=i.id;const e="string"==typeof t.formatConvertObj?Me(t.formatConvertObj):t.formatConvertObj;t.formatConvertObj=e}r&&(r.picBed=i.picBed,r.id=i.id);return{compressOptions:He(t,a,i.picBed,i.id),watermarkOptions:Fe(r,s,i.picBed,i.id)}}getUploaderType(e){const t=e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||Pt,r=e.getConfig(`picBed.${t}`)||{};return{picBed:t,id:r._id||"",config:r}}getSkipExtensions(e){const t=e.getConfig("buildIn.skipProcess")||{},r=e.getConfig("buildIn.list")||[],n=this.getUploaderType(e),i=r.find(e=>e.id===n.id)?.skipProcess||{},a=i.skipProcessExtList?i.skipProcessExtList.split(",").map(e=>e.trim()):t.skipProcessExtList?t.skipProcessExtList.split(",").map(e=>e.trim()):ct;return new Set(a.map(e=>{const t=e.trim().toLowerCase();return t.startsWith(".")?t:`.${t}`}))}async start(e,t=!1){const r=(e=>({configPath:e.configPath,baseDir:e.baseDir,log:e.log,cmd:e.cmd,output:[],input:[],rawInput:[],processedInput:[],pluginLoader:e.pluginLoader,pluginHandler:e.pluginHandler,Request:e.Request,helper:e.helper,VERSION:e.VERSION,GUI_VERSION:e.GUI_VERSION,request:e.request,i18n:e.i18n,configManager:e.configManager,getConfig:e.getConfig.bind(e),saveConfig:e.saveConfig.bind(e),removeConfig:e.removeConfig.bind(e),setConfig:e.setConfig.bind(e),unsetConfig:e.unsetConfig.bind(e),upload:e.upload.bind(e),uploadReturnCtx:e.uploadReturnCtx.bind(e),addListener:e.addListener.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeListener:e.removeListener.bind(e),off:e.off.bind(e),removeAllListeners:e.removeAllListeners.bind(e),setMaxListeners:e.setMaxListeners.bind(e),getMaxListeners:e.getMaxListeners.bind(e),listeners:e.listeners.bind(e),rawListeners:e.rawListeners.bind(e),emit:e.emit.bind(e),listenerCount:e.listenerCount.bind(e),prependListener:e.prependListener.bind(e),prependOnceListener:e.prependOnceListener.bind(e),eventNames:e.eventNames.bind(e)}))(this.ctx);try{if(!Array.isArray(e))throw new Error("Input must be an array.");return this.initializeContext(r,e),t?await this.handleSkipProcess(r):await this.executeLifecycle(r)}catch(e){return this.handleError(r,e)}}initializeContext(e,t){e.input=t,e.output=[],e.processedInput=[],e.rawInputPath=[],e.rawInput=p(t)}async handleSkipProcess(e){const t=new tt(e);return await t.refreshCache(),e.output=e.input,await this.doUpload(e),await t.runStage("upload"),e.input=e.rawInput,await this.afterUpload(e),await t.runStage("afterUpload"),e}async executeLifecycle(e){const t=new tt(e);return await t.refreshCache(),await this.preprocess(e),await t.runStage("preProcess"),await this.beforeTransform(e),await t.runStage("beforeTransform"),await this.doTransform(e),await t.runStage("transform"),await this.buildInRename(e),await this.beforeUpload(e),await t.runStage("beforeUpload"),e.processedInput=p(e.output),await this.doUpload(e),await t.runStage("upload"),e.input=e.rawInput,await this.afterUpload(e),await t.runStage("afterUpload"),e}handleError(e,t){if(e.log.warn(Ze.FAILED),e.emit(Ze.UPLOAD_PROGRESS,_t),e.emit(Ze.FAILED,t),e.log.error(t),e.getConfig("debug"))throw t;return e}async preprocess(e){const{compressOptions:r,watermarkOptions:n}=this.getProcessingOptions(e),i=this.getSkipExtensions(e);if(e.emit(Ze.UPLOAD_PROGRESS,St),e.emit(Ze.BEFORE_TRANSFORM,e),e.log.info("Pre-processing images, please wait..."),r||n){const a=t.join(e.baseDir,"piclistTemp");await this.processImages(e,a,r,n,i)}else this.initializeRawInputPaths(e);return e}initializeRawInputPaths(e){for(const t of e.input)e.rawInputPath.push(t)}async processImages(e,t,r,n,i){await Promise.allSettled(e.input.map(async(a,s)=>{await this.processImage(a,s,e,t,r,n,i)}))}async processImage(e,r,n,a,s,o,E){const S=ue(e),I=S?await de(e,n):{success:!1};if(S&&(!I.success||!I.buffer))return;n.rawInputPath[r]=e;const l=S?I.extname||"":t.extname(e),_=E.has(l.toLowerCase()),c=S?I.buffer:i.readFileSync(e),P=await this.applyProcessing(c,l,s,o,_,e,a,n);P&&await this.saveProcessedImage(e,r,n,a,P,l,s,S,I)}async applyProcessing(e,t,r,n,i,a,s,o){let E;return ze(r,t)&&!i&&(E=await this.compressImage(e,E,t,r,a,s,o)),je(n,t)&&!i&&(E=await this.addWatermark(e,n,o)),E||!r?.isRemoveExif||i||(o.log.info(it),E=await qe(e,t)),E}async addWatermark(e,t,r){if(!t?.watermarkFontPath&&"image"!==t?.watermarkType){if(!await this.downloadTTF())return void this.ctx.log.warn(Et)}return r.log.info(rt),await Ke(e,t,this.ttfPath,r.log)}async compressImage(e,t,r,n,i,a,s){s.log.info(nt);const o=r.toLowerCase();return ue(i)||".heic"!==o&&".heif"!==o?await ve(t??e,n,r,s.log):await this.convertHeicAndCompress(e,i,r,a,n,s)}async convertHeicAndCompress(e,r,n,a,s,o){const E=await u({buffer:e.buffer,format:"JPEG",quality:1}),S=t.join(a,`${t.basename(r,n)}.jpg`);return i.writeFileSync(S,Buffer.from(E)),await ve(i.readFileSync(S),s,".jpg",o.log)}async saveProcessedImage(e,r,n,a,s,o,E,S,I){let l=E?.isConvert?Ve(E,o):o;l=l.startsWith(".")?l:`.${l}`;const _=S?t.join(a,`${this.getFileBaseName(I)}${l}`):t.join(a,`${t.basename(e,o)}${l}`);n.rawInputPath[r]=t.join(t.dirname(e),S?t.basename(_):`${t.basename(e,o)}${l}`),i.writeFileSync(_,s),n.input[r]=_}getFileBaseName(e){return e.fileName?t.basename(e.fileName,t.extname(e.fileName)):(new Date).getTime().toString()}async buildInRename(e){const t=this.getUploaderType(e),r=e.getConfig("buildIn.rename")||{},n=e.getConfig("buildIn.list")||[],i={...r,...n.find(e=>e.id===t.id)?.rename||{}};if(!i.enable)return e;const a=i.format||"{filename}";return e.output=e.output.map((t,r)=>{let n=t.fileName;return n=Pe(e.rawInputPath[r],a,void 0,t.base64Image?t.base64Image:t.buffer),n=n.replace(/\/+/g,"/"),"/"===n.slice(-1)&&(n+=r.toString()),t.fileName=n,t}),e}async beforeTransform(e){return await this.handlePlugins(e.helper.beforeTransformPlugins,e),e}async doTransform(e){e.emit(Ze.UPLOAD_PROGRESS,It);const t=e.getConfig("picBed.transformer")||"path";let r=e.helper.transformer.get(t),n=t;return r||(r=e.helper.transformer.get("path"),n="path",e.log.warn(`Can't find transformer - ${t}, switch to default transformer - path`)),e.log.info(`Transforming... Current transformer is [${n}]`),await(r?.handle(e)),e}async beforeUpload(e){return e.emit(Ze.UPLOAD_PROGRESS,lt),e.log.info("Before upload"),e.emit(Ze.BEFORE_UPLOAD,e),await this.handlePlugins(e.helper.beforeUploadPlugins,e),e}async doUpload(e){const t=this.getUploaderType(e);let r=e.helper.uploader.get(t.picBed),n=t.picBed;r||(e.log.warn(`Can't find uploader - ${n}, switch to default uploader - ${Pt}`),n=Pt,r=e.helper.uploader.get(Pt)),e.log.info(`Uploading... Current uploader is [${n}] with config id [${t.id||"default"}]`),await(r?.handle(e));for(const t of e.output)t.type=n;return e}async afterUpload(e){e.emit(Ze.AFTER_UPLOAD,e),e.emit(Ze.UPLOAD_PROGRESS,100),await this.handlePlugins(e.helper.afterUploadPlugins,e);let t="";const r=e.output.length,n=!0===e.getConfig("settings.encodeOutputURL");for(let i=0;i<r;i++)void 0!==e.output[i].imgUrl&&(t+=n?ge(e.output[i].imgUrl):e.output[i].imgUrl,i!==r-1&&(t+="\n")),delete e.output[i].base64Image,delete e.output[i].buffer;return e.emit(Ze.FINISHED,e),e.log.success(`\n${t}`),e}async handlePlugins(e,t){const r=e.getList(),n=e.getIdList(),i=e.getName();return await Promise.all(r.map(async(e,r)=>{try{t.log.info(`${i}: ${n[r]} running`),await e.handle(t)}catch(e){throw t.log.error(`${i}: ${n[r]} error`),e}})),t}}const pt={"zh-CN":{UPLOAD_FAILED:"上传失败",CHECK_SETTINGS:"请检查你的配置项是否正确",CHECK_SETTINGS_AND_NETWORK:"请检查你的配置项以及网络",UPLOAD_FAILED_REASON:"错误码: ${code},请打开浏览器粘贴地址查看相关原因",SERVER_ERROR:"服务端出错,请重试",AUTH_FAILED:"认证失败",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"设定Token",PICBED_SMMS_MESSAGE_TOKEN:"请填写Token",PICBED_SMMS_BACKUPDOMAIN:"备用上传域名",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高级自定义",PICBED_ADVANCEDPLIST_ENDPOINT:"设定接口网址",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"设定请求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"请选择请求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"设定表单参数名",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"设定请求头",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"设定请求体",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"设定自定义前缀",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"设定网站路径",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ADVANCEDPLIST_RESDATAPATH:"设定返回数据URL路径",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_ADVANCEDPLIST_UPLOADSCRIPTNAME:"设定上传脚本名称",PICBED_ADVANCEDPLIST_MESSAGE_UPLOADSCRIPTNAME:"请输入存放在脚本目录中的上传脚本名称",PICBED_LOCAL:"本地上传",PICBED_LOCAL_PATH:"设定路径",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"设定自定义域名",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"设定网站路径",PICBED_LOCAL_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"设定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"设定Token",PICBED_ALIST_MESSAGE_TOKEN:"请输入Token(与用户名-密码二选一)",PICBED_ALIST_USERNAME:"设定用户名",PICBED_ALIST_MESSAGE_USERNAME:"请输入用户名(与Token二选一)",PICBED_ALIST_PASSWORD:"设定密码",PICBED_ALIST_MESSAGE_PASSWORD:"请输入密码",PICBED_ALIST_UPLOADPATH:"设定上传路径",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"设定网站路径",PICBED_ALIST_MESSAGE_WEB_PATH:"用于拼接网址路径",PICBED_ALIST_CUSTOMURL:"设定自定义域名",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里云OSS",PICBED_ALICLOUD_ACCESSKEYID:"设定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"设定accessKeySecret",PICBED_ALICLOUD_BUCKET:"设定Bucket",PICBED_ALICLOUD_AREA:"设定存储区域",PICBED_ALICLOUD_PATH:"设定存储路径",PICBED_ALICLOUD_WEBPATH:"设定网站路径",PICBED_ALICLOUD_CUSTOMURL:"设定自定义域名",PICBED_ALICLOUD_OPTIONS:"设定网址后缀",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"腾讯云COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"设定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"设定SecretKey",PICBED_TENCENTCLOUD_APPID:"设定AppId",PICBED_TENCENTCLOUD_BUCKET:"设定Bucket",PICBED_TENCENTCLOUD_AREA:"设定存储区域",PICBED_TENCENTCLOUD_ENDPOINT:"设定接入点",PICBED_TENCENTCLOUD_PATH:"设定存储路径",PICBED_TENCENTCLOUD_WEBPATH:"设定网站路径",PICBED_TENCENTCLOUD_OPTIONS:"设定网址后缀",PICBED_TENCENTCLOUD_CUSTOMURL:"设定自定义域名",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"极智压缩",PICBED_TENCENTCLOUD_SLIM_TIP:"图片极智压缩,详情请参考[文档说明](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"开启",PICBED_TENCENTCLOUD_SLIM_CANCEL:"关闭",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"设定Token",PICBED_GITHUB_REPO:"设定仓库名",PICBED_GITHUB_PATH:"设定存储路径",PICBED_GITHUB_WEBPATH:"设定网站路径",PICBED_GITHUB_BRANCH:"设定分支名",PICBED_GITHUB_CUSTOMURL:"设定自定义域名",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛云",PICBED_QINIU_ACCESSKEY:"设定AccessKey",PICBED_QINIU_SECRETKEY:"设定SecretKey",PICBED_QINIU_BUCKET:"设定Bucket",PICBED_QINIU_PATH:"设定存储路径",PICBED_QINIU_URL:"设定访问网址",PICBED_QINIU_OPTIONS:"设定网址后缀",PICBED_QINIU_AREA:"设定存储区域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"设定ClientId",PICBED_IMGUR_USERNAME:"设定用户名",PICBED_IMGUR_ACCESS_TOKEN:"设定accessToken",PICBED_IMGUR_ALBUM:"设定相册名",PICBED_IMGUR_PROXY:"设定代理",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上传时填写",PICBED_IMGUR_MESSAGE_USERNAME:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍云",PICBED_UPYUN_BUCKET:"设定Bucket",PICBED_UPYUN_OPERATOR:"设定操作员",PICBED_UPYUN_PASSWORD:"设定操作员密码",PICBED_UPYUN_PATH:"设定存储路径",PICBED_UPYUN_URL:"设定加速域名",PICBED_UPYUN_OPTIONS:"设定网址后缀",PICBED_UPYUN_ENDPOINT:"设定自定义API接入点",PICBED_UPYUN_ANTILEECHTOKEN:"设定防盗链Token",PICBED_UPYUN_EXPIRETIME:"设定过期时间(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"设定接口网址",PICBED_WEBDAVPLIST_SSLENABLED:"启用SSL",PICBED_WEBDAVPLIST_USERNAME:"设定用户名",PICBED_WEBDAVPLIST_PASSWORD:"设定密码",PICBED_WEBDAVPLIST_PATH:"设定存储路径",PICBED_WEBDAVPLIST_WEBPATH:"设定网址路径",PICBED_WEBDAVPLIST_CUSTOMURL:"设定自定义域名",PICBED_WEBDAVPLIST_AUTHTYPE:"设定认证方式",PICBED_WEBDAVPLIST_OPTIONS:"设定网址后缀",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS时启用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"输入密码",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=123456",PICBED_SFTPPLIST:"内置SFTP",PICBED_SFTPPLIST_HOST:"设定主机",PICBED_SFTPPLIST_PORT:"设定端口",PICBED_SFTPPLIST_USERNAME:"设定用户名",PICBED_SFTPPLIST_PASSWORD:"设定密码",PICBED_SFTPPLIST_PRIVATEKEY:"设定私钥",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"设定私钥密码",PICBED_SFTPPLIST_UPLOADPATH:"设定上传路径",PICBED_SFTPPLIST_CUSTOMURL:"设定自定义域名",PICBED_SFTPPLIST_WEBSITE_PATH:"设定网站路径",PICBED_SFTPPLIST_FILE_USER:"设定文件用户:组",PICBED_SFTPPLIST_FILE_MODE:"设定文件权限",PICBED_SFTPPLIST_DIR_MODE:"设定文件夹权限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默认22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"输入私钥密码",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"设定主机",PICBED_PICLIST_PORT:"设定端口",PICBED_PICLIST_PICBED:"设定图床",PICBED_PICLIST_CONFIGNAME:"设定配置名",PICBED_PICLIST_KEY:"设定鉴权Key",PICBED_LSKY_PLIST:"兰空图床",PICBED_LSKY_VERSION:"设定版本",PICBED_LSKY_MESSAGE_VERSION:"例如V1",PICBED_LSKY_HOST:"设定主机",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"设定Token",PICBED_LSKY_MESSAGE_TOKEN:"例如: 1234567890",PICBED_LSKY_STRATEGY_ID:"设定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如: 1",PICBED_LSKY_ALBUM_ID:"设定相册ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"选填,V2版本限定",PICBED_LSKY_PERMISSION:"设定权限",PICBED_LSKY_MESSAGE_PERMISSION:"例如: public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"设定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"设定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"设定Bucket",PICBED_AWSS3PLIST_REGION:"设定Region",PICBED_AWSS3PLIST_UPLOADPATH:"设定上传路径",PICBED_AWSS3PLIST_ENDPOINT:"设定自定义节点",PICBED_AWSS3PLIST_PROXY:"设定代理",PICBED_AWSS3PLIST_URLPREFIX:"设定自定义域名",PICBED_AWSS3PLIST_OPTIONS:"设定网址后缀",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"启用s3ForcePathStyle",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"拒绝无效TLS证书连接",PICBED_AWSS3PLIST_ACL:"设定上传资源的访问策略",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"开启 `pathStyleAccess` 时,是否要禁用最终生成URL中添加 bucket 前缀",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要时启用",BUILDIN_WATERMARK:"水印设置",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印时启用",BUILDIN_WATERMARK_WATERMARKTYPE:"设定水印类型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"请选择水印类型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印时启用",BUILDIN_WATERMARK_WATERMARKDEGREE:"设定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"请输入数字",BUILDIN_WATERMARK_WATERMARKTEXT:"设定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"请输入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"设定水印字体文件路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"请输入水印字体文件路径",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"设定水印相对于图片的比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"请输入0-1的小数",BUILDIN_WATERMARK_WATERMARKCOLOR:"设定水印字体颜色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"请输入rgb颜色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"设定水印图片路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"请输入水印图片路径",BUILDIN_WATERMARK_WATERMARKPOSITION:"设定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"请选择水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"设定水印图片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"请输入0-255的整数",BUILDIN_SKIPPROCESS:"跳过处理设置",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"设定跳过处理的文件后缀列表",BUILDIN_RENAME:"重命名设置",BUILDIN_RENAME_FORMAT:"设定重命名格式",BUILDIN_RENAME_ENABLE:"是否启用重命名",BUILDIN_COMPRESS:"图片处理",BUILDIN_COMPRESS_QUALITY:"设定图片质量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"请输入1-100的整数",BUILDIN_COMPRESS_ISCONVERT:"是否进行格式转换",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要转换时启用",BUILDIN_COMPRESS_CONVERTFORMAT:"设定转换格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"请选择转换格式",BUILDIN_COMPRESS_ISRESIZE:"是否进行图片缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要缩放时启用",BUILDIN_COMPRESS_RESIZEWIDTH:"设定缩放宽度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"请输入数字",BUILDIN_COMPRESS_RESIZEHEIGHT:"设定缩放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"请输入数字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比进行缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比缩放时启用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻转图片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻转图片",BUILDIN_COMPRESS_RESIZEPERCENT:"设定缩放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"请输入数字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳过小图缩放",BUILDIN_COMPRESS_ISROTATE:"是否进行图片旋转",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋转时启用",BUILDIN_COMPRESS_ROTATEDEGREE:"设定旋转角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"请输入数字,可为负数",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF信息",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF信息时启用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安装成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安装失败",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安装失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安装失败,请输入合法插件名或合法安装路径",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸载成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸载失败",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸载失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸载失败,请输入合法插件名",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失败",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失败,请输入合法插件名"},"zh-TW":{UPLOAD_FAILED:"上傳失敗",CHECK_SETTINGS:"請檢查你的設定是否正確",CHECK_SETTINGS_AND_NETWORK:"請檢查你的設定及網路",UPLOAD_FAILED_REASON:"錯誤碼: ${code},請打開瀏覽器貼上地址查看相關原因",SERVER_ERROR:"伺服器出錯,請重試",AUTH_FAILED:"認證失敗",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"設定Token",PICBED_SMMS_MESSAGE_TOKEN:"請輸入Token",PICBED_SMMS_BACKUPDOMAIN:"備用上傳網址",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高級自定義",PICBED_ADVANCEDPLIST_ENDPOINT:"設定API主機",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"設定請求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"請選擇請求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"設定表單Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"設定請求頭",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"設定請求體",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"設定自定義前綴",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"設定網站路徑",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ADVANCEDPLIST_RESDATAPATH:"設定返回數據路徑",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_ADVANCEDPLIST_UPLOADSCRIPTNAME:"設定上傳腳本名稱",PICBED_ADVANCEDPLIST_MESSAGE_UPLOADSCRIPTNAME:"請輸入存放在腳本目錄中的上傳腳本名稱",PICBED_LOCAL:"本地",PICBED_LOCAL_PATH:"設定儲存路徑",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"設定自訂網址",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"設定網址路徑",PICBED_LOCAL_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"設定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"設定Token",PICBED_ALIST_MESSAGE_TOKEN:"請輸入Token(與用戶名-密碼二選一)",PICBED_ALIST_USERNAME:"設定用戶名",PICBED_ALIST_MESSAGE_USERNAME:"請輸入用戶名(與Token二選一)",PICBED_ALIST_PASSWORD:"設定密碼",PICBED_ALIST_MESSAGE_PASSWORD:"請輸入密碼",PICBED_ALIST_UPLOADPATH:"設定上傳路徑",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"設定網址路徑",PICBED_ALIST_MESSAGE_WEB_PATH:"用於網頁顯示的路徑",PICBED_ALIST_CUSTOMURL:"設定自訂網址",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里雲OSS",PICBED_ALICLOUD_ACCESSKEYID:"設定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"設定accessKeySecret",PICBED_ALICLOUD_BUCKET:"設定Bucket",PICBED_ALICLOUD_AREA:"設定儲存區域",PICBED_ALICLOUD_PATH:"設定儲存路徑",PICBED_ALICLOUD_WEBPATH:"設定網址路徑",PICBED_ALICLOUD_CUSTOMURL:"設定自訂網址",PICBED_ALICLOUD_OPTIONS:"設定網址後綴",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"騰訊雲COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"設定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"設定SecretKey",PICBED_TENCENTCLOUD_APPID:"設定AppId",PICBED_TENCENTCLOUD_BUCKET:"設定Bucket",PICBED_TENCENTCLOUD_AREA:"設定儲存區域",PICBED_TENCENTCLOUD_ENDPOINT:"設定接入點",PICBED_TENCENTCLOUD_PATH:"設定儲存路徑",PICBED_TENCENTCLOUD_WEBPATH:"設定網址路徑",PICBED_TENCENTCLOUD_OPTIONS:"設定網址後綴",PICBED_TENCENTCLOUD_CUSTOMURL:"設定自訂網址",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"極智壓縮",PICBED_TENCENTCLOUD_SLIM_CANCEL:"關閉",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"開啟",PICBED_TENCENTCLOUD_SLIM_TIP:"圖片極智壓縮,詳情請參考[文檔說明](https://cloud.tencent.com/document/product/436/49259)",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"設定Token",PICBED_GITHUB_REPO:"設定倉庫名稱",PICBED_GITHUB_PATH:"設定儲存路徑",PICBED_GITHUB_WEBPATH:"設定網站路徑",PICBED_GITHUB_BRANCH:"設定分支名稱",PICBED_GITHUB_CUSTOMURL:"設定自訂網址",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_WEBPATH:"用於拼接網址路徑",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛雲",PICBED_QINIU_ACCESSKEY:"設定AccessKey",PICBED_QINIU_SECRETKEY:"設定SecretKey",PICBED_QINIU_BUCKET:"設定Bucket",PICBED_QINIU_PATH:"設定儲存路徑",PICBED_QINIU_URL:"設定訪問網址",PICBED_QINIU_OPTIONS:"設定網址後綴",PICBED_QINIU_AREA:"設定儲存區域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"設定ClientId",PICBED_IMGUR_USERNAME:"設定用戶名",PICBED_IMGUR_ACCESS_TOKEN:"設定accessToken",PICBED_IMGUR_ALBUM:"設定相簿名",PICBED_IMGUR_PROXY:"設定PROXY",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上傳時填寫",PICBED_IMGUR_MESSAGE_USERNAME:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍雲",PICBED_UPYUN_BUCKET:"設定Bucket",PICBED_UPYUN_ENDPOINT:"設定接入點",PICBED_UPYUN_OPERATOR:"設定操作員",PICBED_UPYUN_PASSWORD:"設定操作員密碼",PICBED_UPYUN_PATH:"設定儲存路徑",PICBED_UPYUN_URL:"設定加速網址",PICBED_UPYUN_OPTIONS:"設定網址後綴",PICBED_UPYUN_ANTILEECHTOKEN:"設定防盜鏈Token",PICBED_UPYUN_EXPIRETIME:"設定過期時間(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"設定API主機",PICBED_WEBDAVPLIST_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_USERNAME:"設定用戶名",PICBED_WEBDAVPLIST_PASSWORD:"設定密碼",PICBED_WEBDAVPLIST_PATH:"設定儲存路徑",PICBED_WEBDAVPLIST_CUSTOMURL:"設定自訂網址",PICBED_WEBDAVPLIST_AUTHTYPE:"設定認證方式",PICBED_WEBDAVPLIST_OPTIONS:"設定網址後綴",PICBED_WEBDAVPLIST_WEBPATH:"設定網站路徑",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"輸入用戶密碼",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=value",PICBED_SFTPPLIST:"內置SFTP",PICBED_SFTPPLIST_HOST:"設定主機",PICBED_SFTPPLIST_PORT:"設定端口",PICBED_SFTPPLIST_USERNAME:"設定用戶名",PICBED_SFTPPLIST_PASSWORD:"設定密碼",PICBED_SFTPPLIST_PRIVATEKEY:"設定私鑰",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"設定私鑰密碼",PICBED_SFTPPLIST_UPLOADPATH:"設定上傳路徑",PICBED_SFTPPLIST_CUSTOMURL:"設定自訂網址",PICBED_SFTPPLIST_WEBSITE_PATH:"設定網站路徑",PICBED_SFTPPLIST_FILE_USER:"設定文件用戶:組",PICBED_SFTPPLIST_FILE_MODE:"設定文件權限",PICBED_SFTPPLIST_DIR_MODE:"設定文件夾權限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默認22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"輸入私鑰密碼",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"設定主機",PICBED_PICLIST_PORT:"設定端口",PICBED_PICLIST_PICBED:"設定圖床",PICBED_PICLIST_CONFIGNAME:"設定配置名",PICBED_PICLIST_KEY:"設定鑒權Key",PICBED_LSKY_PLIST:"蘭空圖床",PICBED_LSKY_VERSION:"設定版本",PICBED_LSKY_MESSAGE_VERSION:"請選擇版本",PICBED_LSKY_HOST:"設定主機",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"設定Token",PICBED_LSKY_MESSAGE_TOKEN:"請輸入Token",PICBED_LSKY_STRATEGY_ID:"設定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如1",PICBED_LSKY_ALBUM_ID:"設定相冊ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"例如1",PICBED_LSKY_PERMISSION:"設定上傳權限",PICBED_LSKY_MESSAGE_PERMISSION:"請選擇上傳權限",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"設定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"設定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"設定Bucket",PICBED_AWSS3PLIST_REGION:"設定Region",PICBED_AWSS3PLIST_UPLOADPATH:"設定上傳路徑",PICBED_AWSS3PLIST_ENDPOINT:"設定自定義節點",PICBED_AWSS3PLIST_PROXY:"設定代理",PICBED_AWSS3PLIST_URLPREFIX:"設定自定義網址",PICBED_AWSS3PLIST_OPTIONS:"設定網址後綴",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"開啟 `pathStyleAccess`",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"開啟 `rejectUnauthorized`",PICBED_AWSS3PLIST_ACL:"設定ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"開啟 `pathStyleAccess` 時,是否要禁用最終生成URL中添加 bucket 前綴",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要時啟用",BUILDIN_WATERMARK:"水印設定",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印時啟用",BUILDIN_WATERMARK_WATERMARKTYPE:"設定水印類型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"請選擇水印類型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印時啟用",BUILDIN_WATERMARK_WATERMARKDEGREE:"設定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"請輸入數字",BUILDIN_WATERMARK_WATERMARKTEXT:"設定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"請輸入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"設定水印字體",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"請輸入水印字體文件路徑",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"設定水印圖片比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"請輸入0-1的數字",BUILDIN_WATERMARK_WATERMARKCOLOR:"設定水印字體顏色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"請輸入rgb顏色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"設定水印圖片路徑",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"請輸入水印圖片路徑",BUILDIN_WATERMARK_WATERMARKPOSITION:"設定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"請選擇水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"設定水印圖片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"請輸入0-255的整數",BUILDIN_SKIPPROCESS:"跳過處理設定",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"設定跳過處理的擴展名列表",BUILDIN_RENAME:"重命名設定",BUILDIN_RENAME_FORMAT:"設定重命名格式",BUILDIN_RENAME_ENABLE:"是否啟用重命名",BUILDIN_COMPRESS:"圖片處理設定",BUILDIN_COMPRESS_QUALITY:"設定圖片質量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"請輸入1-100的整數",BUILDIN_COMPRESS_ISCONVERT:"是否進行格式轉換",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要轉換時啟用",BUILDIN_COMPRESS_CONVERTFORMAT:"設定轉換格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"請選擇轉換格式",BUILDIN_COMPRESS_ISRESIZE:"是否進行圖片縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要縮放時啟用",BUILDIN_COMPRESS_RESIZEWIDTH:"設定縮放寬度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"請輸入數字",BUILDIN_COMPRESS_RESIZEHEIGHT:"設定縮放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"請輸入數字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比進行縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比縮放時啟用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻轉圖片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻轉圖片",BUILDIN_COMPRESS_RESIZEPERCENT:"設定縮放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"請輸入數字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳過小圖縮放",BUILDIN_COMPRESS_ISROTATE:"是否進行圖片旋轉",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋轉時啟用",BUILDIN_COMPRESS_ROTATEDEGREE:"設定旋轉角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"請輸入數字,可為負數",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF資訊",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF資訊時啟用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安裝成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安裝失敗",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安裝失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安裝失敗,請輸入正確的插件名稱或正確的安裝路徑",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸載成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸載失敗",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸載失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸載失敗,請輸入正確的插件名稱",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失敗",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失敗,請輸入正確的插件名稱"},en:{UPLOAD_FAILED:"Upload failed",CHECK_SETTINGS:"Please check your settings",CHECK_SETTINGS_AND_NETWORK:"Please check your settings and network",UPLOAD_FAILED_REASON:"Error code: ${code}, please open the browser and paste the address to see the reason",SERVER_ERROR:"Server error, please try again later",AUTH_FAILED:"Authentication failed",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"Set Token",PICBED_SMMS_MESSAGE_TOKEN:"Please enter the token",PICBED_SMMS_BACKUPDOMAIN:"Set Backup Upload Domain",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"Ex. smms.app",PICBED_ADVANCEDPLIST:"Advanced",PICBED_ADVANCEDPLIST_ENDPOINT:"Set Endpoint",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"Please enter the endpoint",PICBED_ADVANCEDPLIST_METHOD:"Set Method",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"Please select the request method",PICBED_ADVANCEDPLIST_FORMDATAKEY:"Set FormData Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"Please enter the FormData key",PICBED_ADVANCEDPLIST_HEADERS:"Set Headers",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'e.g. {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"Set Body",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'e.g. {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"Set Custom Prefix",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"e.g. https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"Set Web Path",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ADVANCEDPLIST_RESDATAPATH:"Set Response Data Path",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"e.g. data.url",PICBED_ADVANCEDPLIST_UPLOADSCRIPTNAME:"Set Upload Script Name",PICBED_ADVANCEDPLIST_MESSAGE_UPLOADSCRIPTNAME:"Please enter the upload script name stored in scripts dir",PICBED_LOCAL:"Local",PICBED_LOCAL_PATH:"Set Path",PICBED_LOCAL_MESSAGE_PATH:"Ex. /Users/name/Pictures/",PICBED_LOCAL_CUSTOMURL:"Set Custom URL",PICBED_LOCAL_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_LOCAL_WEBPATH:"Set Web Path",PICBED_LOCAL_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"Set URL",PICBED_ALIST_MESSAGE_URL:"Ex. https://alist.example.com",PICBED_ALIST_TOKEN:"Set Token",PICBED_ALIST_MESSAGE_TOKEN:"Please enter the token(choose one of either username-password or token)",PICBED_ALIST_USERNAME:"Set Username",PICBED_ALIST_MESSAGE_USERNAME:"Please enter the username(choose one of either username-password or token)",PICBED_ALIST_PASSWORD:"Set Password",PICBED_ALIST_MESSAGE_PASSWORD:"Please enter the password",PICBED_ALIST_UPLOADPATH:"Set Upload Path",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"Ex. /test/",PICBED_ALIST_WEBPATH:"Set Web Path",PICBED_ALIST_MESSAGE_WEB_PATH:"Used to generate URL path",PICBED_ALIST_CUSTOMURL:"Set Custom URL",PICBED_ALIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_ALICLOUD:"Ali Cloud",PICBED_ALICLOUD_ACCESSKEYID:"Set accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"Set accessKeySecret",PICBED_ALICLOUD_BUCKET:"Set Bucket",PICBED_ALICLOUD_AREA:"Set Area",PICBED_ALICLOUD_PATH:"Set Path",PICBED_ALICLOUD_WEBPATH:"Set Web Path",PICBED_ALICLOUD_CUSTOMURL:"Set Custom URL",PICBED_ALICLOUD_OPTIONS:"Set URL Suffix",PICBED_ALICLOUD_MESSAGE_AREA:"Ex. oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"Ex. test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALICLOUD_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD:"Tencent Cloud",PICBED_TENCENTCLOUD_VERSION:"Choose COS version",PICBED_TENCENTCLOUD_SECRETID:"Set SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"Set SecretKey",PICBED_TENCENTCLOUD_APPID:"Set AppId",PICBED_TENCENTCLOUD_BUCKET:"Set Bucket",PICBED_TENCENTCLOUD_AREA:"Set Area",PICBED_TENCENTCLOUD_ENDPOINT:"Set Endpoint",PICBED_TENCENTCLOUD_PATH:"Set Path",PICBED_TENCENTCLOUD_WEBPATH:"Set Web Path",PICBED_TENCENTCLOUD_OPTIONS:"Set URL Suffix",PICBED_TENCENTCLOUD_CUSTOMURL:"Set Custom URL",PICBED_TENCENTCLOUD_MESSAGE_APPID:"Ex. 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"Ex. ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"Ex. test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"Ex. ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"Ex. cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"Set ImageSlim",PICBED_TENCENTCLOUD_SLIM_TIP:"Image extremely intelligent compression, please refer to the [document description](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"OPEN",PICBED_TENCENTCLOUD_SLIM_CANCEL:"CLOSE",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"Set Token",PICBED_GITHUB_REPO:"Set Repo Name",PICBED_GITHUB_PATH:"Set Path",PICBED_GITHUB_WEBPATH:"Set Web Path",PICBED_GITHUB_BRANCH:"Set Branch",PICBED_GITHUB_CUSTOMURL:"Set Custom URL",PICBED_GITHUB_MESSAGE_REPO:"Ex. username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"Ex. main",PICBED_GITHUB_MESSAGE_PATH:"Ex. test/",PICBED_GITHUB_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_GITHUB_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_QINIU:"Qiniu",PICBED_QINIU_ACCESSKEY:"Set AccessKey",PICBED_QINIU_SECRETKEY:"Set SecretKey",PICBED_QINIU_BUCKET:"Set Bucket",PICBED_QINIU_PATH:"Set Path",PICBED_QINIU_URL:"Set URL",PICBED_QINIU_OPTIONS:"Set URL Suffix",PICBED_QINIU_AREA:"Set Area",PICBED_QINIU_MESSAGE_PATH:"Ex. test/",PICBED_QINIU_MESSAGE_AREA:"Ex. z0",PICBED_QINIU_MESSAGE_OPTIONS:"Ex. ?imageslim",PICBED_QINIU_MESSAGE_URL:"Ex. https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"Set ClientId",PICBED_IMGUR_USERNAME:"Set Username",PICBED_IMGUR_ACCESS_TOKEN:"Set Access Token",PICBED_IMGUR_ALBUM:"Set Album Name",PICBED_IMGUR_PROXY:"Set Proxy",PICBED_IMGUR_MESSAGE_CLIENTID:"Fill in when you need to upload as anonymous",PICBED_IMGUR_MESSAGE_USERNAME:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ALBUM:"Ex. test",PICBED_IMGUR_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_UPYUN:"Upyun",PICBED_UPYUN_BUCKET:"Set Bucket",PICBED_UPYUN_ENDPOINT:"Set Endpoint",PICBED_UPYUN_OPERATOR:"Set Operator",PICBED_UPYUN_PASSWORD:"Set Operator Password",PICBED_UPYUN_PATH:"Set Path",PICBED_UPYUN_URL:"Set URL",PICBED_UPYUN_OPTIONS:"Set URL Suffix",PICBED_UPYUN_ANTILEECHTOKEN:"Set Anti-Leech Token",PICBED_UPYUN_EXPIRETIME:"Set Expire Time(seconds)",PICBED_UPYUN_MESSAGE_OPERATOR:"Ex. me",PICBED_UPYUN_MESSAGE_PASSWORD:"Ex. xxx",PICBED_UPYUN_MESSAGE_URL:"Ex. http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"Ex. !imgslim",PICBED_UPYUN_MESSAGE_PATH:"Ex. test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"Ex. https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"Set Host",PICBED_WEBDAVPLIST_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_USERNAME:"Set Username",PICBED_WEBDAVPLIST_PASSWORD:"Set Password",PICBED_WEBDAVPLIST_PATH:"Set Path",PICBED_WEBDAVPLIST_WEBPATH:"Set Website Path",PICBED_WEBDAVPLIST_CUSTOMURL:"Set Custom URL",PICBED_WEBDAVPLIST_AUTHTYPE:"Set Auth Type",PICBED_WEBDAVPLIST_OPTIONS:"Set URL Suffix",PICBED_WEBDAVPLIST_MESSAGE_HOST:"Ex. https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"Ex. me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"Please type the password",PICBED_WEBDAVPLIST_MESSAGE_PATH:"Ex. test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"Ex. ?key=value",PICBED_SFTPPLIST:"SFTP Built-in",PICBED_SFTPPLIST_HOST:"Set Host",PICBED_SFTPPLIST_PORT:"Set Port",PICBED_SFTPPLIST_USERNAME:"Set Username",PICBED_SFTPPLIST_PASSWORD:"Set Password",PICBED_SFTPPLIST_PRIVATEKEY:"Set Private Key",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"Set Private Key Passphrase",PICBED_SFTPPLIST_UPLOADPATH:"Set Upload Path",PICBED_SFTPPLIST_CUSTOMURL:"Set Custom URL",PICBED_SFTPPLIST_WEBSITE_PATH:"Set Website Path",PICBED_SFTPPLIST_FILE_USER:"Set File User:Group",PICBED_SFTPPLIST_FILE_MODE:"Set File Mode",PICBED_SFTPPLIST_DIR_MODE:"Set Directory Mode",PICBED_SFTPPLIST_MESSAGE_HOST:"Ex. 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"Default 22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"Ex. /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"Please type the private key passphrase",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"Ex. test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"Ex. www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"Ex. 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"Ex. 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"Set Host",PICBED_PICLIST_PORT:"Set Port",PICBED_PICLIST_PICBED:"Set PicBed",PICBED_PICLIST_CONFIGNAME:"Set Config Name",PICBED_PICLIST_KEY:"Set Key",PICBED_LSKY_PLIST:"Lsky",PICBED_LSKY_VERSION:"Set Version",PICBED_LSKY_MESSAGE_VERSION:"Ex. v1",PICBED_LSKY_HOST:"Set Host",PICBED_LSKY_MESSAGE_HOST:"Ex. https://lsky.co",PICBED_LSKY_TOKEN:"Set Token",PICBED_LSKY_MESSAGE_TOKEN:"Ex. xxx",PICBED_LSKY_STRATEGY_ID:"Set Strategy ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"Ex. 1",PICBED_LSKY_ALBUM_ID:"Set Album ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"Optional, only for V2",PICBED_LSKY_PERMISSION:"Set Permission",PICBED_LSKY_MESSAGE_PERMISSION:"Ex. public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"Set AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"Set SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"Set Bucket",PICBED_AWSS3PLIST_REGION:"Set Region",PICBED_AWSS3PLIST_UPLOADPATH:"Set Upload Path",PICBED_AWSS3PLIST_ENDPOINT:"Set Endpoint",PICBED_AWSS3PLIST_PROXY:"Set Proxy",PICBED_AWSS3PLIST_URLPREFIX:"Set Custom URL",PICBED_AWSS3PLIST_OPTIONS:"Set Options",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"Set PathStyleAccess",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"Set RejectUnauthorized",PICBED_AWSS3PLIST_ACL:"Set ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"when `pathStyleAccess` is enabled, whether to disable adding bucket prefix to url",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"Ex. test",PICBED_AWSS3PLIST_MESSAGE_REGION:"Ex. us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"Ex. test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"Ex. https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"Ex. https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"Enable when `pathStyleAccess` is required",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"Enable when rejecting invalid TLS certificate connection is required",PICBED_AWSS3PLIST_MESSAGE_ACL:"Ex. public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"Enable when `pathStyleAccess` is enabled",BUILDIN_SKIPPROCESS:"Skip Process Settings",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"Set Skip Process Ext List",BUILDIN_RENAME:"Rename Settings",BUILDIN_RENAME_FORMAT:"Set rename format",BUILDIN_RENAME_ENABLE:"Enable rename",BUILDIN_WATERMARK:"Watermark Settings",BUILDIN_WATERMARK_ISADDWATERMARK:"Whether to add watermark",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"Enable when watermark is required",BUILDIN_WATERMARK_WATERMARKTYPE:"Set watermark type",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"Please select watermark type",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"Whether to use full-screen watermark",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"Enable when full-screen watermark is required",BUILDIN_WATERMARK_WATERMARKDEGREE:"Set watermark angle",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"Please enter a number",BUILDIN_WATERMARK_WATERMARKTEXT:"Set watermark text",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"Please enter watermark text",BUILDIN_WATERMARK_WATERMARKFONTPATH:"Set watermark font",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"Please enter the watermark font file path",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"Set the ratio of the watermark to the image",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"Please enter a number between 0-1",BUILDIN_WATERMARK_WATERMARKCOLOR:"Set watermark font color",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"Please enter the RGB color value",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"Set watermark image path",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"Please enter the watermark image path",BUILDIN_WATERMARK_WATERMARKPOSITION:"Set watermark position",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"Please select watermark position",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"Set watermark image opacity",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"Please enter an integer between 0-255",BUILDIN_COMPRESS:"Processing Settings",BUILDIN_COMPRESS_QUALITY:"Set image quality",BUILDIN_COMPRESS_MESSAGE_QUALITY:"Please enter an integer between 1-100",BUILDIN_COMPRESS_ISCONVERT:"Whether to perform format conversion",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"Enable when format conversion is required",BUILDIN_COMPRESS_CONVERTFORMAT:"Set conversion format",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"Please select conversion format",BUILDIN_COMPRESS_ISRESIZE:"Whether to resize the image",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"Enable when image resizing is required",BUILDIN_COMPRESS_RESIZEWIDTH:"Set resizing width",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"Please enter a number",BUILDIN_COMPRESS_RESIZEHEIGHT:"Set resizing height",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"Please enter a number",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"Whether to resize the image by percentage",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"Enable when resizing by percentage is required",BUILDIN_COMPRESS_ISFLIP:"Whether to flip the image vertically",BUILDIN_COMPRESS_ISFLOP:"Whether to flip the image horizontally",BUILDIN_COMPRESS_RESIZEPERCENT:"Set resizing percentage",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"Please enter a number",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"Whether to skip resizing of small images",BUILDIN_COMPRESS_ISROTATE:"Whether to rotate the image",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"Enable when image rotation is required",BUILDIN_COMPRESS_ROTATEDEGREE:"Set rotation angle",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"Please enter a number, can be negative",BUILDIN_COMPRESS_ISREMOVEEXIF:"Whether to remove EXIF information",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"Enable when removing EXIF information is required",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"Plugin installed successfully",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"Plugin installation failed",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"Plugin installation failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"Plugin installation failed, please enter a valid plugin name or valid installation path",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"Plugin uninstalled successfully",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"Plugin uninstall failed",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"Plugin uninstall failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"Plugin uninstall failed, please enter a valid plugin name",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"Plugin updated successfully",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"Plugin update failed",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"Plugin update failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"Plugin update failed, please enter a valid plugin name"}};class gt{i18n;objectAdapter;ctx;constructor(e){this.ctx=e,this.objectAdapter=new w(pt);let t=this.ctx.getConfig("settings.language")||"zh-CN";pt[t]||(t="zh-CN"),this.i18n=new G({adapter:this.objectAdapter,defaultLanguage:t}),this.loadOutterI18n()}loadOutterI18n(){const e=this.getOutterI18nFolder();i.readdirSync(e,{withFileTypes:!0}).forEach(r=>{if(r.isFile()&&r.name.endsWith(".yml")){const n=t.join(e,r.name),a=i.readFileSync(n,"utf8");try{const e=b.load(a);pt[r.name.replace(/\.yml$/,"")]=e}catch(e){console.error(e)}}})}getOutterI18nFolder(){const e=t.join(this.ctx.baseDir,"i18n-cli");return E(e)||s(e),e}translate(e,t){return this.i18n.translate(e,t)||e}setLanguage(e){this.i18n.setLanguage(e),this.ctx.saveConfig({"settings.language":e})}addLocale(e,t){const r=this.objectAdapter.getLocale(e);if(!r)return!1;const n=g(r,t);return this.objectAdapter.setLocale(e,n),!0}addLanguage(e,t){return!this.objectAdapter.getLocale(e)&&(this.objectAdapter.setLocale(e,t),pt[e]=t,!0)}getLanguageList(){return Object.keys(pt)}}const At={handle:e=>{e.cmd.program.option("-c, --config <path>","set config path")}},Ct={handle:e=>{const t=e.cmd;t.program.command("config-list").description("list all configs names for an uploader").arguments("<uploader>").action(t=>{try{const r=e.configManager.getAllUploaderConfigs(t),n=e.configManager.getCurrentUploaderConfig(t);if(0===r.length)return void e.log.info(`No configs found for ${t}`);e.log.info(`Configs for ${t}:`),r.forEach(t=>{const r=n&&t._id===n._id?" (default)":"";e.log.info(` - ${t._configName}${r} [ID: ${t._id}]`)})}catch(t){e.log.error(t)}}),t.program.command("config-use").description("set a config as default for an uploader").arguments("<uploader> <configName>").action((t,r)=>{try{const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);e.configManager.setDefaultConfig(t,n._id)?e.log.success(`Set "${r}" as default config for ${t}`):e.log.error(`Failed to set "${r}" as default`)}catch(t){e.log.error(t)}}),t.program.command("config-remove").description("remove a config for an uploader").arguments("<uploader> <configName>").action((t,r)=>{(async()=>{try{const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);const i=[{type:"confirm",name:"confirm",message:`Are you sure you want to delete config "${r}"?`,default:!1}];if(!(await e.cmd.inquirer.prompt(i)).confirm)return void e.log.info("Cancelled");e.configManager.deleteUploaderConfig(t,n._id)?e.log.success(`Deleted config "${r}" for ${t}`):e.log.error(`Failed to delete config "${r}"`)}catch(t){e.log.error(t)}})().catch(t=>{e.log.error(t)})}),t.program.command("config-rename").description("rename a config for an uploader").arguments("<uploader> <oldName> <newName>").action((t,r,n)=>{try{const i=e.configManager.getConfigByName(t,r);if(!i)return void e.log.error(`Config "${r}" not found for ${t}`);e.configManager.renameConfig(t,i._id,n)?e.log.success(`Renamed config from "${r}" to "${n}"`):e.log.error("Failed to rename config")}catch(t){e.log.error(t)}}),t.program.command("config-show").description("show details of a config").arguments("<uploader> [configName]").action((t,r)=>{try{if(!r){const r=e.configManager.getAllUploaderConfigs(t);return r&&0!==r.length?void r.forEach(t=>{e.log.info(`Config details for "${t._configName}":`),e.log.info(` ID: ${t._id}`),e.log.info(` Created: ${new Date(t._createdAt).toLocaleString()}`),e.log.info(` Updated: ${new Date(t._updatedAt).toLocaleString()}`),e.log.info("Config values:"),Object.keys(t).forEach(r=>{if(!r.startsWith("_")){const n=t[r],i="string"==typeof n&&(r.includes("password")||r.includes("token")||r.includes("key"))?"***":JSON.stringify(n);e.log.info(` ${r}: ${i}`)}})}):void e.log.info(`No configs found for ${t}`)}const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);e.log.info(`Config details for "${r}":`),e.log.info(` ID: ${n._id}`),e.log.info(` Created: ${new Date(n._createdAt).toLocaleString()}`),e.log.info(` Updated: ${new Date(n._updatedAt).toLocaleString()}`),e.log.info("Config values:"),Object.keys(n).forEach(t=>{if(!t.startsWith("_")){const r=n[t],i="string"==typeof r&&(t.includes("password")||t.includes("token")||t.includes("key"))?"***":JSON.stringify(r);e.log.info(` ${t}: ${i}`)}})}catch(t){e.log.error(t)}})}},dt={handle:e=>{e.cmd.program.command("i18n").arguments("[lang]").description("change language, zh-CN, zh-TW, en").action(async(t="")=>{const r=e.i18n.getLanguageList();if(!t){const n=[{type:"list",name:"i18n",choices:r,message:"Choose a language",default:e.getConfig("settings.language")||"zh-CN"}];t=(await e.cmd.inquirer.prompt(n)).i18n}r.includes(t)?(e.i18n.setLanguage(t),e.log.success(`Language set to ${t}`)):e.log.warn("No such language")})}},Tt=(e,t,r,n,i,a)=>{let s=e.program.command(t).description(r).alias(n);a?.proxy&&(s=s.option("-p, --proxy <proxy>","Add proxy for installing plugins")),a?.registry&&(s=s.option("-r, --registry <registry>","Choose a registry for installing plugins")),s.action(i)},Dt={handle:e=>{const t=e.cmd;Tt(t,"install <plugins...>","install picgo plugin","add",(t,r)=>{const{proxy:n,registry:i}=r,a={proxy:n,registry:i};e.pluginHandler.install(t,a).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0}),Tt(t,"uninstall <plugins...>","uninstall picgo plugin","rm",t=>{e.pluginHandler.uninstall(t).catch(t=>{e.log.error(t)})}),Tt(t,"update <plugins...>","update picgo plugin","up",(t,r)=>{const{proxy:n,registry:i}=r,a={proxy:n,registry:i};e.pluginHandler.update(t,a).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0})}},mt={handle:e=>{e.cmd.program.option("-p, --proxy <url>","set proxy for uploading",t=>{e.setConfig({"picBed.proxy":t})})}};function ft({path:e,startSlash:t=!1,endSlash:r=!0,rootToEmpty:n=!0}){const i=e?.replace(/^\/+|\/+$/g,"").replace(/\/{2,}/g,"/");return i?`${t?"/":""}${i}${r?"/":""}`:n?"":"/"}function Lt(e){return e.replace(/\/{2,}/g,"/").split("/").map(e=>encodeURIComponent(e)).join("/")}const ht="advancedplist",Bt="alistplist",Nt="aliyun",Ut="aws-s3-plist",Rt="github",Mt="imgur",Ot="local",yt="lskyplist",wt="piclist",Gt="qiniu",bt="sftpplist",xt="smms",Wt="tcyun",$t="upyun",Ft="webdavplist",Ht=(e,t,r,n,i,a,s="PICBED",o)=>({name:r,type:n,get prefix(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},default:i,required:a,...o});const Kt=e=>({advancedplist:e.i18n.translate("PICBED_ADVANCEDPLIST"),alistplist:e.i18n.translate("PICBED_ALIST_PLIST"),aliyun:e.i18n.translate("PICBED_ALICLOUD"),"aws-s3-plist":e.i18n.translate("PICBED_AWSS3PLIST"),github:e.i18n.translate("PICBED_GITHUB"),imgur:e.i18n.translate("PICBED_IMGUR"),local:e.i18n.translate("PICBED_LOCAL"),lskyplist:e.i18n.translate("PICBED_LSKY_PLIST"),piclist:e.i18n.translate("PICBED_PICLIST"),qiniu:e.i18n.translate("PICBED_QINIU"),sftpplist:e.i18n.translate("PICBED_SFTPPLIST"),smms:e.i18n.translate("PICBED_SMMS"),tcyun:e.i18n.translate("PICBED_TENCENTCLOUD"),upyun:e.i18n.translate("PICBED_UPYUN"),webdavplist:e.i18n.translate("PICBED_WEBDAVPLIST")}),kt={compress:{config:{config:e=>{const t=e.getConfig("buildIn.compress")||{};return[Ht(e,"compress","quality","input",t.quality||100,!1,"BUILDIN"),Ht(e,"compress","isConvert","confirm",t.isConvert||!1,!1,"BUILDIN"),Ht(e,"compress","convertFormat","list",t.convertFormat||"jpg",!1,"BUILDIN",{choices:["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"]}),Ht(e,"compress","isReSize","confirm",t.isReSize||!1,!1,"BUILDIN"),Ht(e,"compress","reSizeWidth","input",t.reSizeWidth||500,!1,"BUILDIN"),Ht(e,"compress","reSizeHeight","input",t.reSizeHeight||500,!1,"BUILDIN"),Ht(e,"compress","skipReSizeOfSmallImg","confirm",t.skipReSizeOfSmallImg||!1,!1,"BUILDIN"),Ht(e,"compress","isReSizeByPercent","confirm",t.isReSizeByPercent||!1,!1,"BUILDIN"),Ht(e,"compress","reSizePercent","input",t.reSizePercent||50,!1,"BUILDIN"),Ht(e,"compress","isFlip","confirm",t.isFlip||!1,!1,"BUILDIN"),Ht(e,"compress","isFlop","confirm",t.isFlop||!1,!1,"BUILDIN"),Ht(e,"compress","isRotate","confirm",t.isRotate||!1,!1,"BUILDIN"),Ht(e,"compress","rotateDegree","input",t.rotateDegree||90,!1,"BUILDIN"),Ht(e,"compress","isRemoveExif","confirm",t.isRemoveExif||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_COMPRESS"},watermark:{config:{config:e=>{const t=e.getConfig("buildIn.watermark")||{};return[Ht(e,"watermark","isAddWatermark","confirm",t.isAddWatermark||!1,!1,"BUILDIN"),Ht(e,"watermark","watermarkType","list",t.watermarkType||"text",!1,"BUILDIN",{choices:["text","image"]}),Ht(e,"watermark","isFullScreenWatermark","confirm",t.isFullScreenWatermark||!1,!1,"BUILDIN"),Ht(e,"watermark","watermarkDegree","input",t.watermarkDegree||0,!1,"BUILDIN"),Ht(e,"watermark","watermarkText","input",t.watermarkText||"",!1,"BUILDIN"),Ht(e,"watermark","watermarkFontPath","input",t.watermarkFontPath||"",!1,"BUILDIN"),Ht(e,"watermark","watermarkScaleRatio","input",t.watermarkScaleRatio||.15,!1,"BUILDIN"),Ht(e,"watermark","watermarkColor","input",t.watermarkColor||"rgba(204, 204, 204, 0.45)",!1,"BUILDIN"),Ht(e,"watermark","watermarkImagePath","input",t.watermarkImagePath||"",!1,"BUILDIN"),Ht(e,"watermark","watermarkImageOpacity","input",t.watermarkImageOpacity||255,!1,"BUILDIN"),Ht(e,"watermark","watermarkPosition","list",t.watermarkPosition||"southeast",!1,"BUILDIN",{choices:["north","northeast","southeast","south","southwest","northwest","west","east","center","centre"]})]}}.config,key:"BUILDIN_WATERMARK"},rename:{config:{config:e=>{const t=e.getConfig("buildIn.rename")||{};return[Ht(e,"rename","format","input",t.format||"{filename}",!1,"BUILDIN"),Ht(e,"rename","enable","confirm",t.enable||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_RENAME"},skipProcess:{config:{config:e=>{const t=e.getConfig("buildIn.skipProcess")||{};return[Ht(e,"skipProcess","skipProcessExtList","input",t.skipProcessExtList||"zip,rar,7z,tar,gz,tar.gz,tar.bz2,tar.xz",!1,"BUILDIN")]}}.config,key:"BUILDIN_SKIPPROCESS"}},vt=async(e,t,r,n,i,a)=>{const s=await e.cmd.inquirer.prompt(t),o=Yt(r,n);if("uploader"===r){const t=i||"Default",r=e.configManager.getConfigByName(n,t);if(r)e.configManager.updateUploaderConfig(n,r._id,s),e.log.success(`Updated config "${t}" for ${n}`);else{const r=e.configManager.addUploaderConfig(n,t,s);e.log.success(`Created new config "${t}" for ${n}`),e.configManager.setDefaultConfig(n,r._id)}e.saveConfig({"picBed.current":n,"picBed.uploader":n})}else if("buildin"===r)if(a){const t=e.getConfig(`uploader.${a}`)||{};if(!t.configList||0===t.configList.length)return void e.log.error(`No config found for uploader ${a}`);const r=t.configList.find(e=>e._configName===(i||"Default"))?._id;if(!r)return void e.log.error(`No config named "${i||"Default"}" found for uploader ${a}`);const o=e.getConfig("buildIn.list")||[],E=o.findIndex(e=>e.id===r);-1!==E?o[E]={...o[E],[n]:s}:o.push({id:r,[n]:s}),e.saveConfig({"buildIn.list":o})}else e.saveConfig({[o]:s});else e.saveConfig({[o]:s}),"transformer"===r&&e.saveConfig({"picBed.transformer":n})},Yt=(e,t)=>({uploader:`picBed.${t}`,transformer:`transformer.${t}`,buildin:`buildIn.${t}`}[e]||t),Vt={handle:e=>{e.cmd.program.command("set").alias("config").arguments("<module> [name] [configName] [uploaderName]").description('configure config of picgo modules, uploader|transformer|plugin|buildin. For uploader and buildin, configName is optional (defaults to "Default"). For buildin module, uploaderName is the uploader name to which the buildin module config will be linked.').action((t,r,n,i)=>{(async()=>{try{switch(t){case"buildin":await(async(e,t,r,n)=>{if(t&&t in kt){const i=kt[t];return void await vt(e,i.config(e),"buildin",t,r,n)}if(t&&!(t in kt))return e.log.error(`No buildin module named ${t}`),void e.log.warn("Available buildin modules are: compress|watermark|rename|skipProcess");const i=[{type:"list",name:"buildin",choices:Object.entries(kt).map(([t,{key:r}])=>({name:e.i18n.translate(r),value:t})),message:"Choose a buildin module"}],a=await e.cmd.inquirer.prompt(i),s=kt[a.buildin];await vt(e,s.config(e),"buildin",a.buildin,r,n)})(e,r,n,i);break;case"uploader":case"transformer":await(async(e,t,r,n)=>{if(r){const i=e.helper[t].get(r);return i?void(i.config&&await vt(e,i.config(e),t,r,n)):void e.log.error(`No ${t} named ${r}`)}const i=e.helper[t].getIdList().map(t=>({name:Kt(e)[t]||t,value:t})),a=[{type:"list",name:t,choices:i,message:`Choose a(n) ${t}`}],s=await e.cmd.inquirer.prompt(a),o=e.helper[t].get(s[t]);o?.config&&await vt(e,o.config(e),t,s[t],n)})(e,t,r,n);break;case"plugin":await(async(e,t)=>{if(t){const r=t.includes("picgo-plugin-")?t:`picgo-plugin-${t}`;if(!Object.keys(e.getConfig("picgoPlugins")).includes(r))return void e.log.error(`No plugin named ${r}`);const n=await e.pluginLoader.getPlugin(r);return void(n?.config&&await vt(e,n.config(e),"plugin",r))}const r=[{type:"list",name:"plugin",choices:e.pluginLoader.getFullList(),message:"Choose a plugin"}],n=await e.cmd.inquirer.prompt(r),i=await e.pluginLoader.getPlugin(n.plugin);i?.config&&await vt(e,i.config(e),"plugin",n.plugin)})(e,r);break;default:return e.log.warn(`No module named ${t}`),void e.log.warn("Available modules are uploader|transformer|plugin|buildin")}e.log.success("Configure config done"),"plugin"===t&&e.log.info("If you want to use this config, please run 'picgo use plugins'")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}},jt={handle:e=>{e.cmd.program.command("upload").description("upload, go go go").arguments("[input...]").alias("u").action(r=>{(async()=>{const n=r.map(e=>ue(e)?e:t.resolve(e)).filter(t=>{const r=i.existsSync(t)||ue(t);return r||e.log.warn(`${t} does not exist.`),r});await e.uploadReturnCtx(n)})().catch(t=>{e.log.error(t)})})}},zt={handle:async e=>{const t=e.cmd;t.program.command("use").arguments("[module]").description("use modules of picgo").action(r=>{(async()=>{try{let n=[];const i={uploader:{type:"list",name:"uploader",message:"Use an uploader",choices:e.helper.uploader.getIdList().map(t=>({name:Kt(e)[t]||t,value:t})),default:e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||"smms"},transformer:{type:"list",name:"transformer",message:"Use a transformer",choices:e.helper.transformer.getIdList(),default:e.getConfig("picBed.transformer")||"path"},plugins:{type:"checkbox",name:"plugins",message:"Use plugins",choices:e.pluginLoader.getFullList(),default:Object.keys(e.getConfig("picgoPlugins")).filter(t=>e.getConfig(`picgoPlugins.${t}`))}};if(r){if(!i[r])return e.log.warn(`No module named ${r}`),void e.log.warn("Available modules are uploader|transformer|plugins");n.push(i[r])}else n=Object.keys(i).map(e=>i[e]);const a=await t.inquirer.prompt(n);if(a.plugins){const t=e.getConfig("picgoPlugins");Object.keys(t).forEach(e=>{a.plugins.includes(e)?t[e]=!0:t[e]=!1}),e.saveConfig({picgoPlugins:t})}e.saveConfig({"picBed.current":a.uploader||e.getConfig("picBed.current"),"picBed.uploader":a.uploader||e.getConfig("picBed.current"),"picBed.transformer":a.transformer||"path"}),e.log.success("Configure saved successfully!")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}};class qt{static currentPlugin;name;list;pluginIdMap;constructor(e){this.name=e,this.list=new Map,this.pluginIdMap=new Map}register(e,t){if(!e)throw new TypeError("id is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} duplicate id: ${e}!`);this.list.set(e,t),qt.currentPlugin&&(this.pluginIdMap.has(qt.currentPlugin)?this.pluginIdMap.get(qt.currentPlugin)?.push(e):this.pluginIdMap.set(qt.currentPlugin,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}getName(){return this.name}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}const Xt=(e=null)=>{qt.currentPlugin=e};class Qt{name="commander";static currentPlugin;list=new Map;pluginIdMap=new Map;ctx;program;inquirer;constructor(e){this.program=new x,this.inquirer=W,this.ctx=e}getName(){return this.name}init(){var e;this.program.version("2.3.3","-v, --version").option("-d, --debug","debug mode",()=>{this.ctx.setConfig({debug:!0})}).option("-s, --silent","silent mode",()=>{this.ctx.setConfig({silent:!0})}).on("command:*",()=>{this.ctx.log.error(`Invalid command: ${this.program.args.join(" ")}\nSee --help for a list of available commands.`),process.exit(1)}),(e=this.ctx).cmd.register("pluginHandler",Dt),e.cmd.register("config",At),e.cmd.register("configManager",Ct),e.cmd.register("setting",Vt),e.cmd.register("upload",jt),e.cmd.register("use",zt),e.cmd.register("proxy",mt),e.cmd.register("i18n",dt)}register(e,t){if(!e)throw new TypeError("name is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} plugin duplicate id: ${e}!`);this.list.set(e,t);const r=qt.currentPlugin;null!==r&&(this.pluginIdMap.has(r)?this.pluginIdMap.get(r)?.push(e):this.pluginIdMap.set(r,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}loadCommands(){this.getList().forEach(e=>{try{e.handle(this.ctx)}catch(e){this.ctx.log.error(e)}})}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}class Zt{level={[Qe.success]:"green",[Qe.info]:"blue",[Qe.warn]:"yellow",[Qe.error]:"red"};ctx;logLevel;logPath;constructor(e){this.ctx=e}handleLog(e,...r){if(this.logLevel=this.ctx.getConfig("settings.logLevel"),!this.ctx.getConfig("silent")&&this.checkLogLevel(e,this.logLevel)){const n=F[this.level[e]](`[PicList ${e.toUpperCase()}]:`);console.log(n,...r),this.logPath=this.ctx.getConfig("settings.logPath")||t.join(this.ctx.baseDir,"./piclist.log"),setTimeout(()=>{try{const t=this.checkLogFileIsLarge(this.logPath);if(t.isLarge){const e=`Log file is too large (> ${t.logFileSizeLimit/1024/1024||"10"} MB), recreate log file`;console.log(F.yellow("[PicList WARN]:"),e),this.recreateLogFile(this.logPath),r.unshift(e)}this.handleWriteLog(this.logPath,e,...r)}catch(e){console.error("[PicList Error] on checking log file size",e)}},0)}}checkLogFileIsLarge(e){if(i.existsSync(e)){const t=i.statSync(e).size,r=1024*Oe(this.ctx.getConfig("settings.logFileSizeLimit")||10)*1024;return{isLarge:t>r,logFileSize:t,logFileSizeLimit:r}}return{isLarge:!1}}recreateLogFile(e){i.existsSync(e)&&(i.unlinkSync(e),S(e))}handleWriteLog(e,t,...r){try{let n=`${H().format("YYYY-MM-DD HH:mm:ss")} [PicList ${t.toUpperCase()}] `;r.forEach(e=>{e instanceof Error&&"error"===t?n+=`\n------Error Stack Begin------\n${$.format(e?.stack)}\n-------Error Stack End------- `:("object"==typeof e&&(e=JSON.stringify(e,null,2)),n+=`${e} `)}),n+="\n",i.appendFileSync(e,n)}catch(e){console.error("[PicList Error] on writing log file",e)}}checkLogLevel(e,t){return void 0===t||"all"===t||(Array.isArray(t)?t.some(t=>t===e||"all"===t):e===t)}success(...e){this.handleLog(Qe.success,...e)}info(...e){this.handleLog(Qe.info,...e)}error(...e){this.handleLog(Qe.error,...e)}warn(...e){this.handleLog(Qe.warn,...e)}debug(...e){ye()&&this.handleLog(Qe.info,...e)}}class Jt{ctx;constructor(e){this.ctx=e}async install(e,t={},r){const n=[],i=e.map(e=>er(this.ctx,e)).filter(e=>this.ctx.pluginLoader.hasPlugin(e.pkgName)?(n.push(e.pkgName),this.ctx.log.success(`PicList has already installed ${e.pkgName}`),!1):!!e.success),a=i.map(e=>e.fullName),s=i.map(e=>e.pkgName);if(a.length>0){const e=await this.execCommand("install",a,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:t});return{success:!1,body:t}}for(const e of a)await this.ctx.pluginLoader.registerPlugin(e);this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}if(0===n.length){const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:e});return{success:!1,body:e}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}async uninstall(e){const t=e.map(e=>er(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(t.length>0){const e=await this.execCommand("uninstall",t,this.ctx.baseDir);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:t});return{success:!1,body:t}}t.forEach(e=>{this.ctx.pluginLoader.unregisterPlugin(e)}),this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS")),this.ctx.emit("uninstallSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS"),body:t});return{success:!0,body:t}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:e});return{success:!1,body:e}}}async update(e,t={},r){const n=e.map(e=>er(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(n.length>0){const e=await this.execCommand("update",n,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:t});return{success:!1,body:t}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS")),this.ctx.emit("updateSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS"),body:n});return{success:!0,body:n}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:e});return{success:!1,body:e}}}async execCommand(e,t,r,n={},i={}){const a=n.registry||this.ctx.getConfig("settings.registry"),s=n.proxy||this.ctx.getConfig("settings.proxy");return await new Promise(n=>{let o=[e].concat(t).concat("--color=always").concat("--save");a&&(o=o.concat(`--registry=${a}`)),s&&(o=o.concat(`--proxy=${s}`));try{const e=K("npm",o,{cwd:r,env:{...process.env,...i}});let t="";e.stdout?.on("data",e=>{t+=e}).pipe(process.stdout),e.stderr?.on("data",e=>{t+=e}).pipe(process.stderr),e.on("close",e=>{n(e?{code:e,data:t}:{code:0,data:t})}),e.on("error",e=>{this.ctx.log.error(e),this.ctx.log.error("NPM is not installed"),this.ctx.emit(Ze.FAILED,"NPM is not installed")})}catch(e){this.ctx.log.error(e),this.ctx.emit(Ze.FAILED,e)}})}}const er=(e,t)=>{const r={success:!1,fullName:"",pkgName:""},n=fe(t,e.log);if(!n)return r;const i=Le(n,e.log);return i?{success:!0,fullName:n,pkgName:i}:r};class tr{ctx;list=[];fullList=new Set;pluginMap=new Map;constructor(e){this.ctx=e,this.init()}init(){const e=t.join(this.ctx.baseDir,"package.json");if(!i.existsSync(e)){const t={name:"picgo-plugins",description:"picgo-plugins",repository:"https://github.com/Kuingsmile/PicList-Core",license:"MIT"};i.writeFileSync(e,JSON.stringify(t),"utf8")}}resolvePlugin(e,r){try{return k.sync(r,{basedir:e.baseDir})}catch(n){return t.join(e.baseDir,"node_modules",r)}}async load(){const e=t.join(this.ctx.baseDir,"node_modules/");if(!i.existsSync(e))return!1;const r=t.join(this.ctx.baseDir,"package.json"),n=a(r),s=Object.keys(n.dependencies||{}),o=Object.keys(n.devDependencies||{}),E=s.concat(o).filter(e=>{if(!/^picgo-plugin-|^@[^/]+\/picgo-plugin-/.test(e))return!1;const t=this.resolvePlugin(this.ctx,e);return i.existsSync(t)});for(const e of E)await this.registerPlugin(e);return!0}async registerPlugin(e,t){if(e&&"string"==typeof e){this.fullList.add(e);try{if(t){this.list.push(e),Xt(e);const r=t(this.ctx);this.pluginMap.set(e,r),r.register(this.ctx)}else if(!0===this.ctx.getConfig(`picgoPlugins.${e}`)||void 0===this.ctx.getConfig(`picgoPlugins.${e}`)){this.list.push(e),Xt(e);(await this.getPlugin(e)).register(this.ctx);const t=`picgoPlugins[${e}]`;this.ctx.saveConfig({[t]:!0})}}catch(t){this.pluginMap.delete(e),this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.ctx.log.error(t),this.ctx.emit(Ze.NOTIFICATION,{title:`Plugin ${e} Load Error`,body:t})}}else this.ctx.log.warn("Please provide valid plugin")}unregisterPlugin(e){this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.pluginMap.delete(e),Xt(e),this.ctx.helper.uploader.unregister(e),this.ctx.helper.transformer.unregister(e),this.ctx.helper.beforeTransformPlugins.unregister(e),this.ctx.helper.beforeUploadPlugins.unregister(e),this.ctx.helper.afterUploadPlugins.unregister(e),this.ctx.cmd.unregister(e),this.ctx.removeConfig("picgoPlugins",e)}async getPlugin(e){if(this.pluginMap.has(e))return this.pluginMap.get(e);let r;try{r=this.resolvePlugin(this.ctx,e)}catch(n){const s=t.join(this.ctx.baseDir,"node_modules",e),o=t.join(s,"package.json");if(!i.existsSync(o))throw new Error(`Plugin package.json not found: ${e}`);try{const e=a(o),n=e.main||e.module||"index.js";r=t.join(s,n)}catch{const n=["index.js","src/index.js","dist/index.js","lib/index.js"];r="";for(const e of n){const n=t.join(s,e);if(i.existsSync(n)){r=n;break}}if(!r)throw new Error(`Cannot find entry point for plugin: ${e}`)}}const n=L(r).href,s=await import(n),o=(s.default||s)(this.ctx);return this.pluginMap.set(e,o),o}getList(){return this.list}hasPlugin(e){return this.fullList.has(e)}getFullList(){return[...this.fullList]}}const rr=new e,nr=new v.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2",rejectUnauthorized:!1});function ir(e,t,r){"object"==typeof r&&"value"in r&&"options"in r?e.append(t,r.value,r.options):e.append(t,r)}function ar(e){return{...e,statusCode:e.status,body:e.data}}function sr(e){const t={method:e?.config?.method?.toUpperCase()||"",url:e?.config?.url||"",statusCode:e?.response?.status||0,message:e?.message||"",stack:e?.stack||{},response:{status:e?.response?.status||0,statusCode:e?.response?.status||0,body:e?.response?.data||""}};return Promise.reject(t)}class or{ctx;proxy="";options={};constructor(e){this.ctx=e,this.init(),rr.on(Je.CONFIG_CHANGE,e=>{switch(e.configName){case"picBed":e.value?.proxy&&(this.proxy=e.value.proxy);break;case"picBed.proxy":this.proxy=e.value}})}init(){const e=this.ctx.getConfig("picBed.proxy");e&&(this.proxy=e)}handleProxy(){if(this.proxy)try{const e=new f(this.proxy);return{host:e.hostname,port:parseInt(e.port||"0",10),protocol:e.protocol}}catch(e){}return!1}request(e){this.options.proxy=this.handleProxy(),this.options.headers=e.headers||{},this.options.maxBodyLength=1/0,this.options.maxContentLength=1/0,this.options.proxy&&e.url?.startsWith("https://")?(this.options.httpsAgent=V({proxy:{host:this.options.proxy.host,port:this.options.proxy.port}}),this.options.proxy=!1):this.options.httpsAgent=nr;const t=n.create(this.options);t.interceptors.response.use(ar,sr);const r=function(e){let t=!1;const r={...e,url:e.url||"",headers:e.headers||{}};if(e.proxy){let n=e.proxy;if("string"==typeof n){try{n=new f(e.proxy)}catch(e){n=!1,r.proxy=!1,console.error(e)}t=!0}n&&(e.url?.startsWith("https://")?(r.proxy=!1,r.httpsAgent=V({proxy:{host:n?.hostname,port:parseInt(n?.port,10)}})):r.proxy={host:n.hostname,port:parseInt(n.port,10),protocol:"http"})}if("formData"in e){const n=new Y;for(const t in e.formData)ir(n,t,e.formData[t]);r.data=n,r.headers=Object.assign(r.headers||{},n.getHeaders()),t=!0,delete r.formData}return"body"in e&&(r.data=e.body,t=!0,delete r.body),"qs"in e&&(r.params=e.qs,t=!0),r.__isOldOptions=t,r}(e);return t.interceptors.request.use(function(e){let t="";return e?.headers?.contentType?(t=e.headers.contentType,delete e.headers.contentType):e?.headers?.ContentType?(t=e.headers.ContentType,delete e.headers.ContentType):e?.headers?.["content-type"]&&(t=e.headers["content-type"],delete e.headers["content-type"]),""!==t&&e.headers&&(e.headers["Content-Type"]=t),e}),"resolveWithFullResponse"in e&&e.resolveWithFullResponse?t.request(r):t.request(r).then(t=>r.__isOldOptions?"json"in e?e.json?t.data:void 0:JSON.stringify(t.data):t.data)}}var Er={handle:async e=>(e.output.push(...e.input),e)};const Sr=(e,t,r)=>{const n=Ae(t);return n.real||("string"==typeof r?e.log.warn(`can't get ${r}'s image size`):e.log.warn("can't get image size"),e.log.warn("fallback to 200 * 200")),n};var Ir={handle:async e=>{const t=e.output;return await Promise.all(e.input.map(async(r,n)=>{let i;if(i=Buffer.isBuffer(r)?{success:!0,buffer:r,fileName:"",extname:""}:ue(r)?await de(r,e):await Ce(r),i.success&&i.buffer){const a=Sr(e,i.buffer,r),s=i.extname||a.extname||".png";t[n]={buffer:i.buffer,fileName:i.fileName||`${H().format("YYYYMMDDHHmmssSSS")}${s}`,width:a.width,height:a.height,filePath:i.filePath,extname:i.extname,mimeType:j.getType(s)||"application/octet-stream"}}else e.log.error(i.reason)})),e.output=t.filter(e=>e),e}};const lr=(e,t,r,n,i,a,s)=>({method:n.toUpperCase(),url:r||"",headers:{contentType:"multipart/form-data","User-Agent":"PicList",...i},formData:{[s]:{value:e,options:{filename:t}},...a},json:!0}),_r=async e=>{const r=e.getConfig("picBed.advancedplist");if(!r)throw new Error("Can not find advancedplist config");if(r.uploadScriptName)try{const a=r.uploadScriptName,s=t.join(e.baseDir,"scripts","uploader","advancedplist",`${a.endsWith(".js")?a:a+".js"}`),o=await i.readFile(s,"utf-8");return e=await async function(e,r,a){try{const s=e=>Buffer.from(e,"base64").toString("utf-8"),o=e=>(Buffer.isBuffer(e)?e:Buffer.from(String(e))).toString("base64"),E={ctx:e,extra:a,console:Object.freeze({log:(...t)=>e.log.info(t.map(et).join(" ")),info:(...t)=>e.log.info(t.map(et).join(" ")),error:(...t)=>e.log.error(t.map(et).join(" ")),debug:(...t)=>e.log.debug(t.map(et).join(" "))}),axios:n,crypto:T,setTimeout:setTimeout,setInterval:setInterval,clearTimeout:clearTimeout,clearInterval:clearInterval,fs:i,path:t,base64Decode:s,base64Encode:o,os:R,Buffer:Buffer};O.createContext(E),e.log.info("start to run script"),O.runInContext(r,E);const S=O.runInContext("(async () => {\n const result = main(ctx, extra)\n if (result instanceof Promise) return await result\n return result\n })()",E),I=await S;return e.log.info("script executed successfully"),I}catch(t){throw e.log.error(`script execution failed: ${t}`),t}}(e,o,{})}catch(t){throw e.log.error("AdvancedPlist upload script error:",t),new Error(`AdvancedPlist upload script error: ${t}`)}const a=e.output;for(const t of a)if(t.fileName&&t.buffer){const n=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!n)continue;const i=lr(n,t.fileName,r.endpoint,r.method||"POST",JSON.parse(r.headers||"{}"),JSON.parse(r.body||"{}"),r.formDataKey||"file");let a=await e.request(i);a="string"==typeof a?JSON.parse(a):a;let s=a;const o=r.resDataPath||"data.url";for(const e of o.split(".")){if(!s||"object"!=typeof s||!(e in s)){s=void 0;break}s=s[e]}if(!s||"string"!=typeof s)throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:a.message}),console.error("AdvancedPlist upload failed:",a),new Error(a.message);if(delete t.base64Image,delete t.buffer,r.webPath){const e=s.split("/").pop()||s;s=(r.webPath.endsWith("/")?r.webPath:r.webPath+"/")+e}t.imgUrl=r.customPrefix?r.customPrefix+s:s}return e},cr=e=>{const t=e.getConfig("picBed.advancedplist")||{},r=(r,n,i,a=!1,s)=>({name:r,type:n,get prefix(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get message(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_MESSAGE_${r.toUpperCase()}`)},default:t[r]||i,required:a,...s});return[r("uploadScriptName","input",""),r("endpoint","input","",!1),r("method","list","POST",!1,{choices:["POST","PUT","GET"]}),r("formDataKey","input","file"),r("headers","input","{}"),r("body","input","{}"),r("customPrefix","input",""),r("webPath","input",""),r("resDataPath","input","data.url")]};const Pr=(e,t,r,n,i)=>({method:"PUT",url:`${e}/api/fs/form`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:t,"File-Path":encodeURIComponent(n)},formData:{file:{value:i,options:{filename:r}}},resolveWithFullResponse:!0}),ur=(e,t)=>{if(200!==t.statusCode||200!==t.body.code||"success"!==t.body.message)throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:t.body.message}),new Error(t.body.message)},pr=(e,t,r)=>({method:"POST",url:e,headers:{Authorization:t,"Content-Type":"application/json"},body:r,resolveWithFullResponse:!0}),gr=e=>{const{url:t,token:r,username:n,password:i,uploadPath:a,webPath:s,customUrl:o}=e;return{url:(t||"").replace(/\/$/,""),token:r||"",username:n||"",password:i||"",uploadPath:ft({path:a||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}),webPath:s?ft({path:s||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}):"",customUrl:(o||"").replace(/\/$/,"")}},Ar=async e=>{const r=e.getConfig("picBed.alistplist");if(!r)throw new Error("Can not find alist config!");const{url:i,username:a,password:s,uploadPath:o,webPath:E,customUrl:S}=gr(r);let{token:I}=gr(r);if(I||(I=await(async(e,t,r,i)=>{const a=e.getConfig("picgo-plugin-buildin-alistplist");if(a&&a.refreshedAt&&Date.now()-a.refreshedAt<36e5&&a.token)return a.token;const s=await n.post(`${t}/api/auth/login`,{username:r,password:i});if(200===s.data.code&&"success"===s.data.message){const t=s.data.data.token;return e.saveConfig({"picgo-plugin-buildin-alistplist":{token:t,refreshedAt:Date.now()}}),t}throw new Error("Get token failed")})(e,i,a,s)),!i||!(I||a&&s))throw new Error("Please check your alist config!");const l=e.output;for(const r of l)if(r.fileName&&r.buffer){let n=r.buffer;!n&&r.base64Image&&(n=Buffer.from(r.base64Image,"base64"));const a=`${o}${r.fileName}`,s=Pr(i,I,r.fileName,a,n),l=await e.request(s);ur(e,l);const _=await e.request(pr(`${i}/api/fs/list`,I,{password:"",page:1,per_page:1,refresh:!0,path:t.dirname(a)}));ur(e,_);const c=await e.request(pr(`${i}/api/fs/get`,I,{password:"",path:a,page:1,per_page:1,refresh:!0}));ur(e,c);const P=c.body.data.sign,u=Lt(`${E||o}${r.fileName}`);r.imgUrl=`${S||i}${S&&S!==i?"":"/d"}${u}`,r.imgUrl+=S&&S!==i||!P?"":`?sign=${P}`,delete r.base64Image,delete r.buffer}return e},Cr=e=>{const t=e.getConfig("picBed.alistplist")||{};return[Ht(e,"alist","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_URL")}}),Ht(e,"alist","token","input",t.token||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_TOKEN")}}),Ht(e,"alist","username","input",t.username||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_USERNAME")}}),Ht(e,"alist","password","input",t.password||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_PASSWORD")}}),Ht(e,"alist","uploadPath","input",t.uploadPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_UPLOAD_PATH")}}),Ht(e,"alist","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_WEB_PATH")}}),Ht(e,"alist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_CUSTOMURL")}})]};const dr=()=>(new Date).toUTCString(),Tr=(e,t)=>{const r=dr(),n=`PUT\n\n${j.getType(t)||"application/octet-stream"}\n${r}\n/${e.bucket}/${e.path}${t}`,i=T.createHmac("sha1",e.accessKeySecret).update(n).digest("base64");return`OSS ${e.accessKeyId}:${i}`},Dr=(e,t,r,n)=>({method:"PUT",url:`https://${e.bucket}.${e.area}.aliyuncs.com/${Lt(`${e.path}${t}`)}`,headers:{Host:`${e.bucket}.${e.area}.aliyuncs.com`,Authorization:r,Date:dr(),"Content-Type":j.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}),mr=async e=>{const t=e.getConfig("picBed.aliyun");if(!t)throw new Error("Can't find aliYun OSS config");t.path=ft({path:t.path});const r=ft({path:t.webPath});try{const{output:n}=e,i=(t.customUrl||"").replace(/\/$/,""),{path:a,bucket:s,area:o,options:E=""}=t;for(const S of n)if(S.fileName&&S.buffer){const n=Tr(t,S.fileName),I=S.buffer||Buffer.from(S.base64Image,"base64"),l=Dr(t,S.fileName,n,I);if(200!==(await e.request(l)).statusCode)throw new Error("Upload failed");{delete S.base64Image,delete S.buffer;const e=Lt(`${r||a}${S.fileName}`);S.imgUrl=i?`${i}/${e}${E}`:`https://${s}.${o}.aliyuncs.com/${e}${E}`}}return e}catch(t){throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},fr=e=>{const t=e.getConfig("picBed.aliyun")||{};return[Ht(e,"alicloud","accessKeyId","input",t.accessKeyId||"",!0),Ht(e,"alicloud","accessKeySecret","input",t.accessKeySecret||"",!0),Ht(e,"alicloud","bucket","input",t.bucket||"",!0),Ht(e,"alicloud","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_AREA")}}),Ht(e,"alicloud","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_PATH")}}),Ht(e,"alicloud","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_WEBPATH")}}),Ht(e,"alicloud","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_CUSTOMURL")}}),Ht(e,"alicloud","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_OPTIONS")}})]};class Lr{date;info;static fields=["year","month","day","fullName","fileName","extName","md5","md5B64","md5B64Short","sha1","sha256","timestamp","timestampMS"];constructor(e){this.date=new Date,this.info=e}year(){return`${this.date.getFullYear()}`}month(){return(this.date.getMonth()+1).toString().padStart(2,"0")}day(){return this.date.getDate().toString().padStart(2,"0")}fullName(){return this.info.fileName}fileName(){return(this.info.fileName??"").replace(this.info.extname??"","")}extName(){return(this.info.extname??"").replace(".","")}md5(){return T.createHash("md5").update(this.imgBuffer()).digest("hex")}md5B64(){return T.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}md5B64Short(){return T.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").slice(0,7)}sha1(){return T.createHash("sha1").update(this.imgBuffer()).digest("hex")}sha256(){return T.createHash("sha256").update(this.imgBuffer()).digest("hex")}timestamp(){return Math.floor(Date.now()/1e3).toString()}timestampMS(){return Date.now().toString()}imgBuffer(){return this.info.base64Image?this.info.base64Image:this.info.buffer}}function hr(e,t){if(!t)return e.fileName;const r=new Lr(e);let n=t;for(const e of Lr.fields){const t=new RegExp(`{${e}}`,"g");n=n.replace(t,r[e]())}return n}function Br(e,t,r){const n=function(e=""){if(!e)return"";if(!/^https?:\/\//.test(e)){const[t,r]=e.split(":");return`http://${t.replace("127.0.0.1","localhost")}:${r}`}try{const{protocol:t,hostname:r,port:n}=new f(e);return`${t}//${r.replace("127.0.0.1","localhost")}:${n}`}catch(e){return""}}(e);if(!n)return;return new(t?ee:te)({keepAlive:!0,keepAliveMsecs:1e3,scheduling:"lifo",rejectUnauthorized:r,proxy:n})}async function Nr(e,t,r){const n=await Q(e.client,new X({Bucket:e.bucketName,Key:e.path,IfMatch:t,VersionId:r}),{expiresIn:3600}),i=new D.URL(n);return i.search="",i.href}var Ur={createS3Client:function(e){let t=!0;try{t="https:"===new D.URL(e.endpoint).protocol}catch{}const r={};t?r.httpsAgent=Br(e.proxy,!0,!!e.rejectUnauthorized):r.httpAgent=Br(e.proxy,!1,!!e.rejectUnauthorized);const n={region:e.region||"auto",endpoint:e.endpoint||void 0,credentials:{accessKeyId:e.accessKeyID,secretAccessKey:e.secretAccessKey},tls:t,forcePathStyle:e.pathStyleAccess,requestHandler:new Z(r)};return new z(n)},createUploadTask:async function(e){if(!e.item.buffer&&!e.item.base64Image)throw new Error("undefined image");try{const{body:t,contentType:r,contentEncoding:n}=await async function(e){const t={};if(e.base64Image){const r=e.base64Image.replace(/^data:[/\w]+;base64,/,"");t.contentType=e.base64Image.match(/[^:]\w+\/[\w-+\d.]+(?=;|,)/)?.[0],t.body=Buffer.from(r,"base64"),t.contentEncoding="base64"}else e.extname&&(t.contentType=j.getType(e.extname)||void 0),t.body=e.buffer;if(!t.contentType){const e=await J(t.body);t.contentType=e?.mime}return t}(e.item),i=new q({Bucket:e.bucketName,Key:e.path,ACL:e.acl,Body:t,ContentType:r,ContentEncoding:n}),a=await e.client.send(i);let s;return s=e.urlPrefix?`${e.urlPrefix}/${e.path}`:await Nr(e,a.ETag,a.VersionId),e.options&&(s+=e.options.startsWith("?")?e.options:`?${e.options}`),{key:e.path,url:s,imgURL:s,versionId:a.VersionId,eTag:a.ETag}}catch(e){return Promise.reject(e)}}};function Rr(e){return"string"==typeof e?"true"===e.toLowerCase():Boolean(e)}const Mr=async e=>{const t=e.getConfig("picBed.aws-s3-plist");if(!t)throw new Error("Can't find aws s3 uploader config");try{const r=Rr(t.disableBucketPrefixToURL);let n=t.urlPrefix;n&&(n=n.replace(/\/?$/,""),t.pathStyleAccess&&!r&&(n+="/"+t.bucketName));const i=Ur.createS3Client(t),a=e.output;for(const e of a){const r=await Ur.createUploadTask({client:i,bucketName:t.bucketName,path:hr(e,t.uploadPath),item:e,acl:t.acl||"public-read",urlPrefix:n,options:t.options||""});delete e.buffer,delete e.base64Image,e.imgUrl=r.imgURL,e.url=r.url}return e}catch(t){throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:""}),t}},Or=e=>{let t=e.getConfig("picBed.aws-s3-plist")||{};t={accessKeyID:"",secretAccessKey:"",bucketName:"",uploadPath:"{year}/{month}/{md5}.{extName}",pathStyleAccess:!1,rejectUnauthorized:!1,acl:"public-read",...t};return[{name:"accessKeyID",type:"input",default:t.accessKeyID,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID")}},{name:"secretAccessKey",type:"input",default:t.secretAccessKey,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY")}},{name:"bucketName",type:"input",default:t.bucketName,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_BUCKET")}},{name:"uploadPath",type:"input",default:t.uploadPath,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH")}},{name:"region",type:"input",default:t.region,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REGION")}},{name:"endpoint",type:"input",default:t.endpoint,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ENDPOINT")}},{name:"proxy",type:"input",default:t.proxy,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PROXY")}},{name:"urlPrefix",type:"input",default:t.urlPrefix,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_URLPREFIX")}},{name:"options",type:"input",default:t.options||"",required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_OPTIONS")}},{name:"pathStyleAccess",type:"confirm",default:t.pathStyleAccess||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS")}},{name:"rejectUnauthorized",type:"confirm",default:t.rejectUnauthorized||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED")}},{name:"acl",type:"list",default:t.acl||"public-read",choices:["private","public-read","public-read-write","authenticated-read","aws-exec-read","bucket-owner-read","bucket-owner-full-control"],required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACL")}},{name:"disableBucketPrefixToURL",type:"confirm",default:Rr(t.disableBucketPrefixToURL)||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL")}}]};function yr(e,t,r,n=""){return`https://api.github.com/repos/${e}/contents/${Lt(`${t}${r}`)}${n}`}const wr=(e,t,r)=>{const{token:n,repo:i}=t,a=j.getType(e)||"application/octet-stream";return{method:"PUT",url:yr(i,t.path,e),headers:{Authorization:`token ${n}`,"User-Agent":"PicList","Content-Type":a},body:r,json:!0}},Gr=(e,t)=>{const{token:r,repo:n,branch:i}=t;return{method:"GET",url:yr(n,t.path,e,`?ref=${i}`),headers:{Authorization:`token ${r}`,"User-Agent":"PicList"},json:!0}},br=async e=>{const t=e.getConfig("picBed.github");if(!t)throw new Error("Can't find github config");const r=ft({path:t.path}),n=ft({path:t.webPath||""});t.path=r,t.customUrl=(t.customUrl||"").replace(/\/$/,"");try{const i=e.output;for(const a of i)if(a.fileName&&a.buffer){const i=a.base64Image||Buffer.from(a.buffer).toString("base64"),s={message:"Upload by PicList",branch:t.branch,content:i,path:r+encodeURI(a.fileName)},o=wr(a.fileName,t,s);try{const i=await e.request(o);if(!i)throw new Error("Server error, please try again");delete a.base64Image,delete a.buffer,a.imgUrl=t.customUrl?`${t.customUrl}/${Lt(`${n||r}${a.fileName}`)}`:i.content.download_url,a.hash=i.content.sha}catch(i){if(422!==i.statusCode)throw i;delete a.base64Image,delete a.buffer;const s=await e.request(Gr(a.fileName,t));if(!Object.keys(s).length)throw i;a.hash=s.sha,a.imgUrl=t.customUrl?`${t.customUrl}/${Lt(`${n||r}${a.fileName}`)}`:s.download_url}}return e}catch(t){throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK")}),t}},xr=e=>{const t=e.getConfig("picBed.github")||{};return[{name:"repo",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_REPO")},get alias(){return e.i18n.translate("PICBED_GITHUB_REPO")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_REPO")},default:t.repo||"",required:!0},{name:"branch",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get alias(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_BRANCH")},default:t.branch||"master",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},get alias(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},default:t.token||"",required:!0},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_PATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_PATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_PATH")},default:t.path||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_WEBPATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_WEBPATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_WEBPATH")},default:t.webPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1}]};const Wr=async(e,t,r,n)=>{const i=t.clientId||"",a=t.username||"",s=(e=>e?e.startsWith("Bearer")?e:`Bearer ${e}`:"")(t.accessToken||""),o=t.album||"";let E;if(a&&s)E=s;else{if(!i)throw new Error("clientId or accessToken is required");E=`Client-ID ${i}`}const S={method:"POST",url:"https://api.imgur.com/3/image",headers:{Authorization:E,"content-type":"multipart/form-data",Host:"api.imgur.com","User-Agent":"PicList"},formData:{image:n,type:"base64",name:r,description:"Uploaded with PicList"}};if(a&&s&&o){let r,n=0,i="";do{const s={method:"GET",url:`https://api.imgur.com/3/account/${a}/albums/${n}`,headers:{Authorization:E},json:!0,resolveWithFullResponse:!0,timeout:1e4};if(t.proxy&&(s.proxy=t.proxy),r=await e.request(s),200!==r.statusCode||!r.body.success)throw new Error("Server error, please try again");const S=r.body.data;for(const e of S)if(e.title===o){i=e.id;break}n++}while(r.body.data.length>0);i&&S.formData&&(S.formData.album=i)}return t.proxy&&(S.proxy=t.proxy),S},$r=async e=>{const t=e.getConfig("picBed.imgur");if(!t)throw new Error("Can't find imgur config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),i=await Wr(e,t,n.fileName,r),a=await e.request(i),s="string"==typeof a?JSON.parse(a):a;if(!s.success)throw new Error("Server error, please try again");delete n.base64Image,delete n.buffer,n.imgUrl=s.data.link,n.hash=s.data.deletehash}return e}catch(t){throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:"http://docs.imgur.com/api/errno/"}),t?.response?.data||t}},Fr=e=>{const t=e.getConfig("picBed.imgur")||{};return[{name:"clientId",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get alias(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_CLIENTID")},default:t.clientId||"",required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get alias(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_USERNAME")},default:t.username||"",required:!1},{name:"accessToken",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get alias(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ACCESS_TOKEN")},default:t.accessToken||"",required:!1},{name:"album",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get alias(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ALBUM")},default:t.album||"",required:!1},{name:"proxy",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get alias(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_PROXY")},default:t.proxy||"",required:!1}]};const Hr=async e=>{const r=e.getConfig("picBed.local");if(!r)throw new Error("Can not find local config!");const n=r.path||"",a=(r.customUrl||"").replace(/\/$/,""),o=ft({path:r.webPath?.replace(/\\/g,"/")}),E=e.output;for(const r of E)if(r.fileName&&r.buffer){let E=r.buffer;!E&&r.base64Image&&(E=Buffer.from(r.base64Image,"base64"));try{const S=t.join(e.baseDir,"imgTemp","local"),I=t.join(S,r.fileName),l=t.join(n,r.fileName);try{s(t.dirname(l)),s(t.dirname(I))}catch(e){}i.writeFileSync(l,E),i.copyFileSync(l,I),delete r.base64Image,delete r.buffer,r.imgUrl=a?`${a}/${Lt(`${o}${r.fileName}`)}`:t.join(n,r.fileName),r.hash=t.join(n,r.fileName),r.galleryPath=`http://localhost:36699/local/${Lt(r.fileName).replace(/^\//,"")}`}catch(t){throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:"failed to upload image"}),new Error("failed to upload image")}}return e},Kr=e=>{const t=e.getConfig("picBed.local")||{};return[{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_PATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_PATH")},default:t.path||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_PATH")},required:!0},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},default:t.customUrl||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_CUSTOMURL")},required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},default:t.webPath||"",required:!1,get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_WEBPATH")}}]};const kr=(e,t,r)=>{let n=e.host;n=n.replace(/\/$/,"");const i="V2"===e.version,a=e.token,s={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",token:a||void 0},o={image:{value:r,options:{filename:t}},ssl:"true"},E={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",Accept:"application/json",Authorization:a||void 0},S=e.strategyId,I=e.albumId;let l=e.permission.value;void 0===l&&(l=e.permission);const _={file:{value:r,options:{filename:t}},ssl:"true",strategy_id:S,album_id:I,permission:l};S||delete _.strategy_id,I||delete _.album_id,0!==l&&1!==l&&delete _.permission;return{method:"POST",url:i?`${n}/api/v1/upload`:`${n}/api/upload`,agent:new v.Agent({rejectUnauthorized:!1}),headers:i?E:s,formData:i?_:o}},vr=async e=>{const t=e.getConfig("picBed.lskyplist");if(!t)throw new Error("Can't find lsky uploader config");const r=e.output;for(const n of r){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const i=kr(t,n.fileName,r);let a=await e.request(i);a="string"==typeof a?JSON.parse(a):a;const s="V2"===t.version;if(!(s?!0===a.status:200===a.code))throw e.emit(Ze.NOTIFICATION,{title:"upload failed",body:a.message}),new Error(a.message);delete n.base64Image,delete n.buffer,n.imgUrl=s?a.data.links.url:a.data.url,s&&(n.hash=a.data.key)}return e},Yr=e=>{const t=e.getConfig("picBed.lskyplist")||{};return[{name:"version",type:"list",default:t.version||"V1",get prefix(){return e.i18n.translate("PICBED_LSKY_VERSION")},get alias(){return e.i18n.translate("PICBED_LSKY_VERSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_VERSION")},choices:["V1","V2"],required:!0},{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_HOST")},get alias(){return e.i18n.translate("PICBED_LSKY_HOST")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get alias(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_TOKEN")},default:t.token,required:!0},{name:"strategyId",type:"input",default:t.strategyId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_STRATEGY_ID")}},{name:"albumId",type:"input",default:t.albumId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_ALBUM_ID")}},{name:"permission",type:"list",default:t.permission||"private(default)",choices:[{name:"private(default)",value:0},{name:"public",value:1}],required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get alias(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_PERMISSION")}}]};const Vr=(e,t,r)=>{const{host:n="127.0.0.1",port:i="",picbed:a="",configName:s="Default",serverKey:o=""}=e,E=n.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)/),S=n.startsWith("https://")?"https://":"http://",I=n.replace(/(http:\/\/|https:\/\/)/,"");return{method:"POST",url:`${E?`${S}${I}:${i||"36677"}`:`${S}${I}${i?`:${i}`:""}`}/upload?configName=${s}${a?`&picbed=${a}`:""}${o?`&key=${o}`:""}`,headers:{"content-type":"multipart/form-data"},formData:{file:{value:r,options:{filename:t,contentType:j.getType(t)||"application/octet-stream"}}},resolveWithFullResponse:!0}},jr=async e=>{const t=e.getConfig("picBed.piclist");if(!t)throw new Error("Can't find PicList config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const i=Vr(t,n.fileName,r),a=await e.request(i).then(e=>e).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}}));if(200!==a.statusCode||!a.body?.success)throw new Error(a.body.message);delete n.base64Image,delete n.buffer,n.imgUrl=a.body.result[0],n.fullResult=a.body.fullResult?a.body.fullResult[0]:""}return e}catch(t){throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},zr=e=>{const t=e.getConfig("picBed.piclist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_HOST")},get alias(){return e.i18n.translate("PICBED_PICLIST_HOST")},default:t.host||"127.0.0.1",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PORT")},get alias(){return e.i18n.translate("PICBED_PICLIST_PORT")},default:t.port||36677,required:!1},{name:"picbed",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PICBED")},get alias(){return e.i18n.translate("PICBED_PICLIST_PICBED")},default:t.picbed||"",required:!1},{name:"configName",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},get alias(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},default:t.configName||"",required:!1},{name:"serverKey",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_KEY")},get alias(){return e.i18n.translate("PICBED_PICLIST_KEY")},default:t.serverKey||"",required:!1}]};function qr(e,t,r,n){const i=function(e){return"z0"===e?"":"-"+e}(e.area||"z0"),a=e.path||"";return{method:"POST",url:`http://upload${i}.qiniup.com/putb64/-1/key/${Buffer.from(a+t,"utf-8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_")}`,headers:{Authorization:`UpToken ${r}`,"Content-Type":j.getType(t)||"application/octet-stream"},body:n}}function Xr(e){const t=e.accessKey,r=e.secretKey,n=new re.auth.digest.Mac(t,r),i={scope:e.bucket};return new re.rs.PutPolicy(i).uploadToken(n)}const Qr=async e=>{const t=e.getConfig("picBed.qiniu");if(!t)throw new Error("Can't find qiniu config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),i=qr(t,n.fileName,Xr(t),r),a=await e.request(i),s=JSON.parse(a);if(!s?.key)throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:s.msg}),e.log.error("qiniu error",s),new Error("Upload failed");{delete n.base64Image,delete n.buffer;const e=t.url,r=t.options||"";n.imgUrl=`${e}/${s.key}${r}`}}return e}catch(t){if("Upload failed"!==t.message&&t.response){const r=t.response.body;e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:r.error})}throw t}},Zr=e=>{const t=e.getConfig("picBed.qiniu")||{};return[{name:"accessKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},default:t.accessKey||"",required:!0},{name:"secretKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},default:t.secretKey||"",required:!0},{name:"bucket",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_BUCKET")},get alias(){return e.i18n.translate("PICBED_QINIU_BUCKET")},default:t.bucket||"",required:!0},{name:"url",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_URL")},get alias(){return e.i18n.translate("PICBED_QINIU_URL")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_URL")},default:t.url||"",required:!0},{name:"area",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_AREA")},get alias(){return e.i18n.translate("PICBED_QINIU_AREA")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_AREA")},default:t.area||"",required:!0},{name:"options",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get alias(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_OPTIONS")},default:t.options||"",required:!1},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_PATH")},get alias(){return e.i18n.translate("PICBED_QINIU_PATH")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_PATH")},default:t.path||"",required:!1}]};class Jr{static instance;client=new ne;isConnected=!1;constructor(){}static getInstance(){return Jr.instance||(Jr.instance=new Jr),Jr.instance}static changeWinStylePathToUnix(e){return e.replace(/\\/g,"/")}async connect(e){const{host:t,port:r,username:n,password:i,privateKey:a,passphrase:s}=e,o=a?{username:n,privateKeyPath:a,passphrase:s||void 0}:{username:n,password:i};try{await this.client.connect({host:t,port:Number(r)||22,...o}),this.isConnected=!0}catch(e){throw new Error(e)}}async upload(e,r,n){if(!this.isConnected)throw new Error("SSH client is not connected");try{r=Jr.changeWinStylePathToUnix(r),await this.mkdir(t.dirname(r).replace(/^\/+|\/+$/g,""),n),await this.client.putFile(e,r);const i=n.fileMode||"0644";"0644"!==i&&await this.exec(`chmod ${i} "${r}"`)}catch(e){throw new Error(e)}}async mkdir(e,t){if(!this.client.isConnected())throw new Error("sftp client is not connected");const r=t.dirMode||"0755";if("0755"!==r){const t=e.split("/");let n="";for(const e of t)if(e){n+=`/${e}`;const t=`mkdir "${n}" && chmod ${r} "${n}"`;await this.exec(t)}}else{const t=`cd / && mkdir -p "${e}"`;await this.exec(t)}}async chown(e,t,r){e=Jr.changeWinStylePathToUnix(e);const[n,i]=r?[t,r]:t.includes(":")?t.split(":"):[t,t];await this.exec(`chown ${n}:${i} "${e}"`)}async exec(e){return 0===(await this.client.execCommand(e)).code}close(){this.client.dispose(),this.isConnected=!1}}const en=async e=>{const r=e.getConfig("picBed.sftpplist");if(!r)throw new Error("Can not find sftpplist config!");r.port=Number(r.port)||22,(r.port<0||r.port>65535)&&(r.port=22),r.uploadPath=ft({path:r.uploadPath,rootToEmpty:!1});const n=ft({path:r.webPath,rootToEmpty:!1});try{const i=e.output;for(const a of i)if(a.fileName&&a.buffer){let i=a.buffer;!i&&a.base64Image&&(i=Buffer.from(a.base64Image,"base64"));const o=t.join(e.baseDir,"uploadTemp"),E=t.join(e.baseDir,"imgTemp","sftpplist");s(E);const S=t.join(o,a.fileName);s(t.dirname(S)),I(S,i);const c=Jr.getInstance();await c.connect(r);const P=t.join(`/${r.uploadPath}`.replace(/\/\/+/g,"/"),a.fileName);await c.upload(S,P,r),r.fileUser&&await c.chown(P,r.fileUser),delete a.base64Image,delete a.buffer;const u=r.customUrl||r.host;r.webPath?a.imgUrl=`${u}/${Lt(`${"/"===n?"":n}${a.fileName}`)}`:a.imgUrl=`${u}/${Lt(`${"/"===r.uploadPath?"":r.uploadPath}${a.fileName}`)}`;const p=t.join(E,a.fileName);s(t.dirname(p)),l(p),_(S,t.join(E,a.fileName)),a.galleryPath=`http://localhost:36699/sftpplist/${encodeURIComponent(a.fileName)}`,c.close()}return e}catch(t){throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},tn=e=>{const t=e.getConfig("picBed.sftpplist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PORT")},default:t.port||22,required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},default:t.username||"",required:!0},{name:"password",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},default:t.password||"",required:!1},{name:"privateKey",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY")},default:t.privateKey||"",required:!1},{name:"passphrase",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE")},default:t.passphrase||"",required:!1},{name:"uploadPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_UPLOADPATH")},default:t.uploadPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH")},default:t.webPath||"",required:!1},{name:"fileUser",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_USER")},default:t.fileUser||"",required:!1},{name:"fileMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_MODE")},default:t.fileMode||"",required:!1},{name:"dirMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_DIR_MODE")},default:t.dirMode||"",required:!1}]};const rn=(e,t,r,n="")=>({method:"POST",url:`https://${n}/api/v2/upload`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:r},formData:{smfile:{value:t,options:{filename:e}},ssl:"true"}}),nn=async e=>{const t=e.getConfig("picBed.smms");if(!t?.token?.trim())throw new Error("SM.MS token is required!");const r=(t.backupDomain||"sm.ms").replace(/^https?:\/\//,"").replace(/\/$/,""),i=e.output;for(const a of i){if(!a.fileName)continue;const i=a.buffer||(a.base64Image?Buffer.from(a.base64Image,"base64"):void 0);if(!i)continue;const s=rn(a.fileName,i,t.token,r),o=await e.request(s),E=JSON.parse(o);if("success"===E.code)a.imgUrl=E.data.url,a.hash=E.data.hash;else{if("image_repeated"!==E.code||"string"!=typeof E.images){const t=E.message||"Upload failed";throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:t}),new Error(t)}a.imgUrl=E.images;try{const e=await n.get(`https://${r}/api/v2/upload_history`,{headers:{Authorization:t.token}}),i=e.data?.data?.find(e=>e.url===E.images);i&&(a.hash=i.hash)}catch{}}delete a.base64Image,delete a.buffer}return e},an=e=>{const t=e.getConfig("picBed.smms")||{};return[Ht(e,"SMMS","token","input",t.token||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_TOKEN")}}),Ht(e,"SMMS","backupDomain","input",t.backupDomain||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_BACKUP_DOMAIN")}})]};const sn=(e,t)=>{const{secretId:r,secretKey:n,appId:i,bucket:a,version:s,area:o,endpoint:E,path:S}=e;let I,l="";if(!s||"v4"===s){const e=Math.floor(1e10*Math.random()),t=Math.floor(Date.now()/1e3)-1,s=`a=${i}&b=${a}&k=${r}&e=${t+3600}&t=${t}&r=${e}&f=`,o=T.createHmac("sha1",n).update(s).digest(),E=Buffer.concat([o,Buffer.from(s)]);I=Buffer.from(E).toString("base64")}else{const e=Math.floor(Date.now()/1e3);l=`${e};${e+86400}`;const r=T.createHmac("sha1",n).update(l).digest("hex"),i=`put\n/${S}${t}\n\nhost=${a}.${E||`cos.${o}.myqcloud.com`}\n`,s=`sha1\n${l}\n${T.createHash("sha1").update(i).digest("hex")}\n`;I=T.createHmac("sha1",r).update(s).digest("hex")}return{signature:I,appId:i,bucket:a,signTime:l}},on=(e,t,r,n,i)=>{const{area:a,path:s,bucket:o,endpoint:E,secretId:S}=e,I=`PicGo;${i};null;null`;if(!e.version||"v4"===e.version)return{method:"POST",url:`http://${a}.file.myqcloud.com/files/v2/${r.appId}/${r.bucket}/${encodeURI(s)}${t}`,headers:{Host:`${a}.file.myqcloud.com`,Authorization:r.signature,contentType:"multipart/form-data","User-Agent":I},formData:{op:"upload",filecontent:n},resolveWithFullResponse:!0};const l=`${o}.${E||`cos.${a}.myqcloud.com`}`;return{method:"PUT",url:`http://${l}/${Lt(`${s}${t}`)}`,headers:{Host:l,Authorization:`q-sign-algorithm=sha1&q-ak=${S}&q-sign-time=${r.signTime}&q-key-time=${r.signTime}&q-header-list=host&q-url-param-list=&q-signature=${r.signature}`,contentType:j.getType(t)||"application/octet-stream","User-Agent":I},body:n,resolveWithFullResponse:!0}},En=async e=>{const t=e.getConfig("picBed.tcyun");if(!t)throw new Error("Can't find tencent COS config");try{const r=e.output,n=(t.customUrl||"").replace(/\/$/,""),i=ft({path:t.path}),a=ft({path:t.webPath});t.path=i;const s=!t.version||"v4"===t.version;for(const o of r){if(!o.fileName||!o.buffer)continue;const r=sn(t,o.fileName),E=o.buffer||Buffer.from(o.base64Image,"base64"),S=on(t,o.fileName,r,E,e.GUI_VERSION||e.VERSION),I=await e.request(S).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}})),l=s&&"string"==typeof I?JSON.parse(I):I;if(400===l.statusCode)throw l?.body?.err||new Error(l?.body?.msg||l?.body?.message);const _=t.options||"",c=!!t.slim;if(delete o.base64Image,delete o.buffer,s&&"SUCCESS"===l.message)o.imgUrl=n?`${n}/${Lt(`${a||i}${o.fileName}`)}${_}`:`${l.data.source_url}${_}`;else{if(s||200!==l?.statusCode)throw new Error(I.body?.msg||"Upload failed");if(n)o.imgUrl=`${n}/${Lt(`${a||i}${o.fileName}`)}${_}`;else{const e=t.endpoint||`cos.${t.area}.myqcloud.com`;o.imgUrl=`https://${t.bucket}.${e}/${Lt(`${i}${o.fileName}`)}${_}`}}c&&(o.imgUrl+=_?"&imageSlim":"?imageSlim")}return e}catch(r){if((!t.version||"v4"===t.version)&&r.error)try{const t=JSON.parse(r.error);e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:t.code}),text:"https://cloud.tencent.com/document/product/436/8432"})}catch(e){}throw r}},Sn=e=>{const t=e.getConfig("picBed.tcyun")||{};return[Ht(e,"TENCENTCLOUD","version","list","v5",!1,void 0,{choices:["v4","v5"]}),Ht(e,"TENCENTCLOUD","secretId","input",t.secretId||"",!0),Ht(e,"TENCENTCLOUD","secretKey","input",t.secretKey||"",!0),Ht(e,"TENCENTCLOUD","bucket","input",t.bucket||"",!0),Ht(e,"TENCENTCLOUD","appId","input",t.appId||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_APPID")}}),Ht(e,"TENCENTCLOUD","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_AREA")}}),Ht(e,"TENCENTCLOUD","endpoint","input",t.endpoint||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT")}}),Ht(e,"TENCENTCLOUD","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_PATH")}}),Ht(e,"TENCENTCLOUD","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_WEBPATH")}}),Ht(e,"TENCENTCLOUD","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL")}}),Ht(e,"TENCENTCLOUD","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_OPTIONS")}}),Ht(e,"TENCENTCLOUD","slim","confirm",!!t.slim,!1,void 0,{get confirmText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CONFIRM")},get cancelText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CANCEL")},get tips(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_TIP")}})]};const In="https://v0.api.upyun.com",ln=e=>T.createHash("md5").update(e).digest("hex"),_n=async(e,t,r,n)=>{if(!t.fileName||!t.buffer)return;const i=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!i)return;const a=((e,t)=>{const{path:r="",operator:n,password:i,bucket:a}=e,s=ln(i),o=(new Date).toUTCString(),E=`PUT&/${a}/${Lt(`${r}${t}`)}&${o}`;return`UPYUN ${n}:${T.createHmac("sha1",s).update(E).digest("base64")}`})(r,t.fileName),s=((e,t,r,n)=>{const{bucket:i,path:a}=e;let s=(e.endpoint||In).replace(/\/+$/g,"");return s.startsWith("http")||(s=`https://${s}`),{method:"PUT",url:`${s}/${i}/${Lt(`${a}${t}`)}`,headers:{Authorization:r,Date:(new Date).toUTCString(),"Content-Type":j.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}})(r,t.fileName,a,i);if(200!==(await e.request(s)).statusCode)throw new Error("Upload failed");delete t.base64Image,delete t.buffer;const o=r.options||"",E=`${r.url}/${Lt(`${n}${t.fileName}`)}${o}`;t.imgUrl=r.antiLeechToken?cn(E,r,t.fileName):E},cn=(e,t,r)=>{const n=((e,t,r,n)=>{const i=`/${r.path||""}${n}`.replace(/%2F/g,"/").replace(/^\/+/g,"/"),a=Math.round(Date.now()/1e3),s=t?a+parseInt(t.toString(),10):a+1800;return`_upt=${ln(`${e}&${s}&${i}`).substring(12,20)}${s}`})(t.antiLeechToken,t.expireTime,t,r);return e.includes("?")?`${e}&${n}`:`${e}?${n}`},Pn=async e=>{const t=e.getConfig("picBed.upyun");if(!t)throw new Error("Can't find UpYun config");try{const r=e.output,n=ft({path:t.path});t.path=n;for(const i of r)await _n(e,i,t,n);return e}catch(t){throw un(e,t),t}},un=(e,t)=>{if("Upload failed"===t.message)e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")});else{const r=Me(t.error),n="object"==typeof r&&r?r.code:r||"Unknown error";e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:n}),text:"http://docs.upyun.com/api/errno/"})}},pn=e=>{const t=e.getConfig("picBed.upyun")||{};return[Ht(e,"upyun","bucket","input",t.bucket||"",!0),Ht(e,"upyun","operator","input",t.operator||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPERATOR")}}),Ht(e,"upyun","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PASSWORD")}}),Ht(e,"upyun","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_URL")}}),Ht(e,"upyun","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPTIONS")}}),Ht(e,"upyun","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PATH")}}),Ht(e,"upyun","antiLeechToken","input",t.antiLeechToken||"",!1),Ht(e,"upyun","expireTime","input",t.expireTime||"",!1),Ht(e,"upyun","endpoint","input",t.endpoint||In,!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_ENDPOINT")}})]};const gn=4294967296,An=e=>{if(e.buffer)return e.buffer;if(e.base64Image)return Buffer.from(e.base64Image,"base64");throw new Error("No image data found")},Cn=(e,t,r,n,i,a)=>`${e}/${Lt(`${a?r:t}${n}`).replace(/^\/+/g,"")}${i}`,dn=(e,r,n)=>{const a=t.join(e.baseDir,"imgTemp","webdavplist"),o=t.join(a,r);s(t.dirname(o)),i.writeFileSync(o,n)},Tn=async(e,r,n,i)=>{const a=t.dirname(`${r}${n}`),s="/"===a?"":a;s&&await e.createDirectory(s,{recursive:!0});const o=`${r}${n}`.replace(/^\/+|\/+$/g,"");return await e.putFileContents(o,i,{overwrite:!0})},Dn=async e=>{const t=e.getConfig("picBed.webdavplist");if(!t)throw new Error("Can't find webdavplist config");var r;t.host=(r=t.host,`${t.sslEnabled?"https://":"http://"}${r.replace(/^https?:\/\/|\/+$/g,"")}`),t.path=ft({path:t.path,rootToEmpty:!1});const n=ft({path:t.webpath,rootToEmpty:!1}),i=t.options||"";try{const r=(e=>{const t={username:e.username,password:e.password,maxBodyLength:gn,maxContentLength:gn};return"digest"===e.authType&&(t.authType=ie.Digest),ae(e.host,t)})(t),a=t.customUrl||t.host;for(const s of e.output){if(!s.fileName)continue;const o=An(s);if(!await Tn(r,t.path,s.fileName,o))throw new Error("Upload failed");dn(e,s.fileName,o),delete s.base64Image,delete s.buffer,s.imgUrl=Cn(a,t.path,n,s.fileName,i,!!t.webpath),s.galleryPath=`http://localhost:36699/webdavplist/${encodeURIComponent(s.fileName)}`}return e}catch(t){throw e.emit(Ze.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},mn=e=>{const t=e.getConfig("picBed.webdavplist")||{};return[Ht(e,"webdavplist","host","input",t.host||"",!0),Ht(e,"webdavplist","sslEnabled","confirm",!!t.sslEnabled,!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED")}}),Ht(e,"webdavplist","username","input",t.username||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_USERNAME")}}),Ht(e,"webdavplist","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PASSWORD")}}),Ht(e,"webdavplist","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PATH")}}),Ht(e,"webdavplist","webpath","input",t.webpath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH")}}),Ht(e,"webdavplist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL")}}),Ht(e,"webdavplist","authType","list",t.authType||"basic",!1,void 0,{choices:["basic","digest"]}),Ht(e,"webdavplist","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_OPTIONS")}})]};const fn=()=>({register(e){!function(e){e.helper.uploader.register(ht,{get name(){return e.i18n.translate("PICBED_ADVANCEDPLIST")},handle:_r,config:cr})}(e),function(e){e.helper.uploader.register(Bt,{get name(){return e.i18n.translate("PICBED_ALIST_PLIST")},handle:Ar,config:Cr})}(e),function(e){e.helper.uploader.register(Nt,{get name(){return e.i18n.translate("PICBED_ALICLOUD")},handle:mr,config:fr})}(e),function(e){e.helper.uploader.register(Ut,{get name(){return e.i18n.translate("PICBED_AWSS3PLIST")},handle:Mr,config:Or})}(e),function(e){e.helper.uploader.register(Rt,{get name(){return e.i18n.translate("PICBED_GITHUB")},handle:br,config:xr})}(e),function(e){e.helper.uploader.register(Mt,{get name(){return e.i18n.translate("PICBED_IMGUR")},handle:$r,config:Fr})}(e),function(e){e.helper.uploader.register(Ot,{get name(){return e.i18n.translate("PICBED_LOCAL")},handle:Hr,config:Kr})}(e),function(e){e.helper.uploader.register(yt,{get name(){return e.i18n.translate("PICBED_LSKY_PLIST")},handle:vr,config:Yr})}(e),function(e){e.helper.uploader.register(wt,{get name(){return e.i18n.translate("PICBED_PICLIST")},handle:jr,config:zr})}(e),function(e){e.helper.uploader.register(Gt,{get name(){return e.i18n.translate("PICBED_QINIU")},handle:Qr,config:Zr})}(e),function(e){e.helper.uploader.register(bt,{get name(){return e.i18n.translate("PICBED_SFTPPLIST")},handle:en,config:tn})}(e),function(e){e.helper.uploader.register(xt,{get name(){return e.i18n.translate("PICBED_SMMS")},handle:nn,config:an})}(e),function(e){e.helper.uploader.register(Wt,{get name(){return e.i18n.translate("PICBED_TENCENTCLOUD")},handle:En,config:Sn})}(e),function(e){e.helper.uploader.register($t,{get name(){return e.i18n.translate("PICBED_UPYUN")},handle:Pn,config:pn})}(e),function(e){e.helper.uploader.register(Ft,{get name(){return e.i18n.translate("PICBED_WEBDAVPLIST")},handle:Dn,config:mn})}(e)}});class Ln{ctx;constructor(e){this.ctx=e}migrateToMultiConfig(e){const t=this.ctx.getConfig(),r=this.ctx.getConfig(`picBed.${e}`);if(!t.uploader||!t.uploader[e])if(t.uploader||(t.uploader={}),r&&Object.keys(r).length>0){const n={...r,_id:r._id||U(),_configName:r._configName||"Default",_createdAt:r._createdAt||Date.now(),_updatedAt:r._updatedAt||Date.now()};t.uploader[e]={configList:[n],defaultId:n._id},this.ctx.saveConfig({uploader:t.uploader}),this.ctx.saveConfig({[`picBed.${e}`]:n})}else t.uploader[e]={configList:[],defaultId:""},this.ctx.saveConfig({uploader:t.uploader})}getCurrentUploaderConfig(e){this.migrateToMultiConfig(e);const t=this.ctx.getConfig(`uploader.${e}`);if(!t||!t.defaultId)return null;return t.configList.find(e=>e._id===t.defaultId)||null}getAllUploaderConfigs(e){this.migrateToMultiConfig(e);const t=this.ctx.getConfig(`uploader.${e}`);return t?.configList||[]}addUploaderConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i={...r,_id:U(),_configName:t,_createdAt:Date.now(),_updatedAt:Date.now()};return n.configList.push(i),1===n.configList.length&&(n.defaultId=i._id),this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===i._id&&this.syncConfigToPicBed(e,i),i}updateUploaderConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i=n.configList.findIndex(e=>e._id===t);if(-1===i)return!1;const a=n.configList[i];return n.configList[i]={...r,_id:a._id,_configName:r._configName||a._configName,_createdAt:a._createdAt,_updatedAt:Date.now()},this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===t&&this.syncConfigToPicBed(e,n.configList[i]),!0}deleteUploaderConfig(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`),n=this.ctx.getConfig("picBed.uploader")||this.ctx.getConfig("picBed.current")||"smms";if(1===r.configList.length&&e===n)return this.ctx.log.warn("Cannot delete the only config of the current uploader."),!1;const i=r.configList.findIndex(e=>e._id===t);return-1!==i&&(r.defaultId===t&&r.configList.length>1?(this.ctx.log.warn("Cannot delete the default config. Please set another config as default first."),!1):(r.configList.splice(i,1),r.defaultId===t&&(r.defaultId=r.configList.length>0?r.configList[0]._id:""),this.ctx.saveConfig({[`uploader.${e}`]:r}),0===r.configList.length&&this.ctx.removeConfig("picBed",e),this.ctx.log.info(`${e} is deleted everywhere.`),!0))}setDefaultConfig(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`),n=r.configList.find(e=>e._id===t);return!!n&&(r.defaultId=t,this.ctx.saveConfig({[`uploader.${e}`]:r}),this.syncConfigToPicBed(e,n),!0)}syncConfigToPicBed(e,t){this.ctx.saveConfig({[`picBed.${e}`]:t})}getConfigByName(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`)||{};return r?.configList?.find(e=>e._configName===t)||null}renameConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i=n.configList.find(e=>e._id===t);return!!i&&(i._configName=r,i._updatedAt=Date.now(),this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===t&&this.syncConfigToPicBed(e,i),!0)}}class hn{ctx;db;constructor(e){if(this.ctx=e,this.db=new se(this.ctx.configPath),!this.db.has("picBed"))try{this.db.set("picBed",{current:"smms",uploader:"smms",smms:{token:""}})}catch(e){throw this.ctx.log.error(e),e}if(!this.db.has("picgoPlugins"))try{this.db.set("picgoPlugins",{})}catch(e){throw this.ctx.log.error(e),e}this.read(!0)}read(e){return this.db.read(e)}getSingle(e=""){return""===e?this.db.read(!0):(this.read(!0),this.db.get(e))}get(e=""){return Array.isArray(e)?e.map(e=>this.getSingle(e)):this.getSingle(e)}set(e,t){this.read(!0),this.db.set(e,t)}has(e){return this.read(!0),this.db.has(e)}unset(e,t){return this.read(!0),this.db.unset(e,t)}saveConfig(e){Object.keys(e).forEach(t=>{this.set(t,e[t])})}removeConfig(e){Object.keys(e).forEach(t=>{this.unset(t,e[t])})}getConfigPath(){return this.ctx.configPath}}const Bn="piclist-clipboard-images",Nn={darwin:'-- From https://github.com/mushanshitiancai/vscode-paste-image\nproperty fileTypes : {{«class PNGf», ".png"}}\n\non run argv\n\tif argv is {} then\n\t\treturn ""\n\tend if\n\n\tif ((clipboard info) as string) contains "«class furl»" then\n\t\treturn POSIX path of (the clipboard as «class furl»)\n\telse\n\t\tset imagePath to (item 1 of argv)\n\t\tset theType to getType()\n\n\t\tif theType is not missing value then\n\t\t\ttry\n\t\t\t\tset myFile to (open for access imagePath with write permission)\n\t\t\t\tset eof myFile to 0\n\t\t\t\twrite (the clipboard as (first item of theType)) to myFile\n\t\t\t\tclose access myFile\n\t\t\t\treturn (POSIX path of imagePath)\n\t\t\ton error\n\t\t\t\ttry\n\t\t\t\t\tclose access myFile\n\t\t\t\tend try\n\t\t\t\treturn "no image"\n\t\t\tend try\n\t\telse\n\t\t\treturn "no image"\n\t\tend if\n\tend if\nend run\n\non getType()\n\trepeat with aType in fileTypes\n\t\trepeat with theInfo in (clipboard info)\n\t\t\tif (first item of theInfo) is equal to (first item of aType) then return aType\n\t\tend repeat\n\tend repeat\n\treturn missing value\nend getType\n',win32:'\r\nparam($imagePath)\r\n\r\n# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\n\r\nAdd-Type -Assembly PresentationCore\r\n$img = [Windows.Clipboard]::GetImage()\r\n\r\nif ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\nif (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\n$fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n$stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n$encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n$encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n$encoder.Save($stream) | out-null\r\n$stream.Dispose() | out-null\r\n\r\n$imagePath\r\n',win10:'# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\nparam($imagePath)\r\n\r\n# https://github.com/PowerShell/PowerShell/issues/7233\r\n# fix the output encoding bug\r\n[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding\r\n\r\nAdd-Type -Assembly PresentationCore\r\nfunction main {\r\n $img = [Windows.Clipboard]::GetImage()\r\n\r\n if ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n if (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n $fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n $stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n $encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n $encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n $encoder.Save($stream) | out-null\r\n $stream.Dispose() | out-null\r\n\r\n $imagePath\r\n # fix windows 10 native cmd crash bug when "picgo upload"\r\n # https://github.com/PicGo/PicGo-Core/issues/32\r\n Exit 1\r\n}\r\n\r\ntry {\r\n # For WIN10\r\n $file = Get-Clipboard -Format FileDropList\r\n if ($null -ne $file) {\r\n Convert-Path $file\r\n Exit 1\r\n }\r\n} catch {\r\n # For WIN7 WIN8 WIN10\r\n main\r\n}\r\n\r\nmain',linux:'#!/bin/sh\nif [ "$XDG_SESSION_TYPE" = "x11" ]; then\n # require xclip(see http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212)\n command -v xclip >/dev/null 2>&1 || { echo >&1 "no xclip"; exit 1; }\n # write image in clipboard to file (see http://unix.stackexchange.com/questions/145131/copy-image-from-clipboard-to-file)\n filePath=`xclip -selection clipboard -o 2>/dev/null | grep ^file:// | cut -c8-`\n if [ ! -n "$filePath" ] ;then\n if\n xclip -selection clipboard -target image/png -o >/dev/null 2>&1\n then\n xclip -selection clipboard -target image/png -o >$1 2>/dev/null\n echo $1\n else\n echo "no image"\n fi\n else\n echo $filePath\n fi\nelif [ "$XDG_SESSION_TYPE" = "wayland" ]; then\n command -v wl-paste >/dev/null 2>&1 || { echo >&1 "no wl-clipboard"; exit 1; }\n isImage=`wl-paste --list-types | grep image`\n if [ -n "$isImage" ]; then\n wl-paste --type image/png > $1 2>/dev/null\n echo $1\n else\n echo "no image"\n exit 1\n fi\nfi',wsl:'#!/bin/sh\n# grab the paths\nscriptPath=$(echo $0 | awk \'{ print substr( $0, 1, length($0)-6 ) }\')"windows10.ps1"\nimagePath=$(echo $1 | awk \'{ print substr( $0, 1, length($0)-18 ) }\')\nimageName=$(echo $1 | awk \'{ print substr( $0, length($0)-17, length($0) ) }\')\n\n# run the powershell script\nres=$(powershell.exe -noprofile -noninteractive -nologo -sta -executionpolicy unrestricted -file $(wslpath -w $scriptPath) $(wslpath -w $imagePath)"\\\\"$imageName)\n\n# note that there is a return symbol in powershell result\nnoImage=$(echo "no image\\r")\n\n# check whether image exists\nif [ "$res" = "$noImage" ] ;then\n echo "no image"\nelse\n echo $(wslpath -u -a "${res}")\nfi\n'},Un={darwin:"mac.applescript",win32:"windows.ps1",win10:"windows10.ps1",linux:"linux.sh",wsl:"wsl.sh"};const Rn=async e=>{!function(e){const r=t.join(e.baseDir,Bn);s(r)}(e);const r=t.join(e.baseDir,Bn,`${H().format("YYYYMMDDHHmmssSSS")}.png`);return await new Promise((n,a)=>{const s=(()=>{const e=process.platform;return Ee?"wsl":"win32"===e?"10"===R.release().split(".")[0]?"win10":"win32":"darwin"===e?"darwin":"linux"})(),o=t.join(e.baseDir,Un[s]);let E;i.existsSync(o)||i.writeFileSync(o,Nn[s],"utf8"),E="darwin"===s?oe("osascript",[o,r]):"win32"===s||"win10"===s?oe("powershell",["-noprofile","-noninteractive","-nologo","-sta","-executionpolicy","unrestricted","-file",o,r]):oe("sh",[o,r]),E.stdout.on("data",o=>{if("linux"===s&&"no xclip or wl-clipboard"===o.toString().trim())return e.emit(Ze.NOTIFICATION,{title:"xclip or wl-clipboard not found",body:"Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"}),a(new Error("Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"));const E=o.toString().trim();let S=!1;if(t.basename(E)!==t.basename(r)&&i.existsSync(E)&&(S=!0),"no image"!==E&&!i.existsSync(E))return a(new Error(`Can't find ${E}`));n({imgPath:E,shouldKeepAfterUploading:S})})})};class Mn extends e{_config;lifecycle;db;_pluginLoader;configPath;baseDir;helper;log;cmd;output;input;rawInput;processedInput;pluginHandler;configManager;Request;i18n;VERSION="2.3.3";GUI_VERSION;get pluginLoader(){return this._pluginLoader}constructor(e=""){super(),this.configPath=e,this.input=[],this.rawInput=[],this.processedInput=[],this.output=[],this.helper={transformer:new qt("transformer"),uploader:new qt("uploader"),beforeTransformPlugins:new qt("beforeTransformPlugins"),beforeUploadPlugins:new qt("beforeUploadPlugins"),afterUploadPlugins:new qt("afterUploadPlugins")},this.initConfigPath(),this.log=new Zt(this),this.cmd=new Qt(this),this.pluginHandler=new Jt(this),this.configManager=new Ln(this),this.initConfig()}static async create(e=""){const t=new Mn(e);return await t.init(),t}initConfigPath(){if(this.configPath=this.configPath||t.join(M(),".piclist/config.json"),".JSON"!==t.extname(this.configPath).toUpperCase())throw this.configPath="",Error("The configuration file only supports JSON format.");this.baseDir=t.dirname(this.configPath),E(this.configPath)||c(`${this.configPath}`)}initConfig(){this.db=new hn(this),this.configManager=new Ln(this),this._config=this.db.read(!0)}async init(){try{this.i18n=new gt(this),this.Request=new or(this),this._pluginLoader=new tr(this),Xt("picgo"),fn().register(this),{register(e){e.helper.transformer.register("path",Ir),e.helper.transformer.register("base64",Er)}}.register(this),Xt(""),await this._pluginLoader.load(),this.lifecycle=new ut(this)}catch(e){throw this.emit(Ze.UPLOAD_PROGRESS,-1),this.log.error(e),e}}async use(e,t){return t?(await this.pluginLoader.registerPlugin(t,e),await this.pluginLoader.getPlugin(t)):e(this)}registerCommands(){""!==this.configPath&&(this.cmd.init(),this.cmd.loadCommands())}getConfig(e){return this._config=this.db.read(!0),e?A(this._config,e):this._config}saveConfig(e){Re(e)?(this.setConfig(e),this.db.saveConfig(e)):this.log.warn("the format of config is invalid, please provide object")}removeConfig(e,t){e&&t&&(Ue(e)?this.log.warn(`the config.${e} can't be removed`):(this.unsetConfig(e,t),this.db.unset(e,t)))}setConfig(e){Re(e)?Object.keys(e).forEach(t=>{Ue(t)&&(this.log.warn(`the config.${t} can't be modified`),delete e[t]),C(this._config,t,e[t]),rr.emit(Je.CONFIG_CHANGE,{configName:t,value:e[t]})}):this.log.warn("the format of config is invalid, please provide object")}unsetConfig(e,t){e&&t&&(Ue(e)?this.log.warn(`the config.${e} can't be unset`):d(this.getConfig(e),t))}get request(){return this.Request.request.bind(this.Request)}async upload(e){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),[];if(void 0!==e&&0!==e.length){const{output:t}=await this.lifecycle.start(e);return t}try{const{imgPath:e,shouldKeepAfterUploading:t}=await Rn(this),r=()=>{t||P(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");{this.once(Ze.FAILED,r),this.once(Ze.FINISHED,r);const{output:t}=await this.lifecycle.start([e]);return t}}catch(e){throw this.emit(Ze.FAILED,e),e}}changeCurrentUploader(e,t){this.saveConfig({[`picBed.${e}`]:t,"picBed.uploader":e,"picBed.current":e})}async uploadReturnCtx(e){const t={ctx:this,backupCtx:void 0};if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),t;const r=p(e||[]);let n=this.getConfig("settings.enableSecondUploader")||!1;const i=this.getConfig("picBed.secondUploader")||"",a=this.getConfig("picBed.secondUploaderConfig")||{};a&&0!==Object.keys(a).length||(n=!1);const s=this.lifecycle.getUploaderType(this);if(!s.config||0===Object.keys(s.config).length)return this.log.error("Current uploader config is empty, please check your settings"),t;a._id===s.id&&(this.log.info("The second uploader config is the same as the first uploader, skipping second upload."),n=!1);let o,E="",S="",I={imgPath:"",shouldKeepAfterUploading:!1},l=!1;if(void 0!==e&&0!==e.length)E="file",o=await this.lifecycle.start(e,!1),t.ctx=o;else{E="clipboard";try{I=await Rn(this),S=I.imgPath,l=I.shouldKeepAfterUploading,n&&(l=!0);const e=()=>{l||P(S).catch(e=>{this.log.error(e)})};if("no image"===S)throw new Error("image not found in clipboard");this.once(Ze.FAILED,e),this.once(Ze.FINISHED,e),o=await this.lifecycle.start([S],!1),t.ctx=o}catch(e){throw this.emit(Ze.FAILED,e),e}}if(!n)return t;const _=this.getConfig("settings.secondPicBedMode");let c;if(!a||0===Object.keys(a).length)return this.log.error("Second uploader config is empty, please check your settings"),t;this.changeCurrentUploader(i,a);try{if("seperate"===_){if("clipboard"===E){const e=()=>{I.shouldKeepAfterUploading||P(S).catch(e=>{this.log.error(e)})};this.once(Ze.FAILED,e),this.once(Ze.FINISHED,e)}c=await this.lifecycle.start("file"===E?r:[I.imgPath],!1)}else c=await this.lifecycle.start(o.processedInput,!0);t.backupCtx=c}catch(e){this.log.error("Failed to upload to second uploader:",e)}finally{this.changeCurrentUploader(s.picBed,s.config||{})}return t}}export{Qt as Commander,ut as Lifecycle,qt as LifecyclePlugins,Zt as Logger,Mn as PicGo,Xe as PicGoUtils,Jt as PluginHandler,tr as PluginLoader,or as Request};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy9jb21tb24udHMiLCIuLi9zcmMvdXRpbHMvZW51bS50cyIsIi4uL3NyYy91dGlscy9ydW5TY3JpcHRzLnRzIiwiLi4vc3JjL2NvcmUvTGlmZWN5Y2xlLnRzIiwiLi4vc3JjL3V0aWxzL2NyZWF0ZUNvbnRleHQudHMiLCIuLi9zcmMvaTE4bi9lbi50cyIsIi4uL3NyYy9pMThuL2luZGV4LnRzIiwiLi4vc3JjL2kxOG4vemgtQ04udHMiLCIuLi9zcmMvaTE4bi96aC1UVy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9jb25maWcudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvY29uZmlnTWFuYWdlci50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9pMThuLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3BsdWdpbkhhbmRsZXIudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvcHJveHkudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci91dGlscy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci91dGlscy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9zZXR0aW5nLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldHJhbnNmb3JtZXIvY29tcHJlc3MudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV0cmFuc2Zvcm1lci93YXRlcm1hcmsudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV1cGxvYWQvYnVpbGRJblJlbmFtZS50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXRyYW5zZm9ybWVyL3NraXBQcm9jZXNzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3VwbG9hZC50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci91c2UudHMiLCIuLi9zcmMvbGliL0xpZmVjeWNsZVBsdWdpbnMudHMiLCIuLi9zcmMvbGliL0NvbW1hbmRlci50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9pbmRleC50cyIsIi4uL3NyYy9saWIvTG9nZ2VyLnRzIiwiLi4vc3JjL2xpYi9QbHVnaW5IYW5kbGVyLnRzIiwiLi4vc3JjL2xpYi9QbHVnaW5Mb2FkZXIudHMiLCIuLi9zcmMvdXRpbHMvZXZlbnRCdXMudHMiLCIuLi9zcmMvbGliL1JlcXVlc3QudHMiLCIuLi9zcmMvcGx1Z2lucy90cmFuc2Zvcm1lci9iYXNlNjQudHMiLCIuLi9zcmMvcGx1Z2lucy90cmFuc2Zvcm1lci9wYXRoLnRzIiwiLi4vc3JjL3BsdWdpbnMvdHJhbnNmb3JtZXIvaW5kZXgudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hZHZhbmNlZHBsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvYWxpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hbGl5dW4udHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9zMy91dGlscy50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3MzL3VwbG9hZGVyLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvYXdzczNwbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2dpdGh1Yi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2ltZ3VyLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvbG9jYWwudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9sc2t5LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvcGljbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3Fpbml1LnRzIiwiLi4vc3JjL3V0aWxzL3NzaENsaWVudC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3NmdHAudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9zbW1zLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvdGN5dW4udHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci91cHl1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3dlYmRhdi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2luZGV4LnRzIiwiLi4vc3JjL3V0aWxzL2NvbmZpZ01hbmFnZXIudHMiLCIuLi9zcmMvdXRpbHMvZGIudHMiLCIuLi9zcmMvdXRpbHMvc3RhdGljLnRzIiwiLi4vc3JjL3V0aWxzL2dldENsaXBib2FyZEltYWdlLnRzIiwiLi4vc3JjL2NvcmUvUGljR28udHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsXSwibmFtZXMiOlsiX19kaXJuYW1lIiwiZGlybmFtZSIsImZpbGVVUkxUb1BhdGgiLCJ1cmwiLCJyYW5kb21TdHJpbmdHZW5lcmF0b3IiLCJsZW5ndGgiLCJvdXQiLCJBcnJheSIsImkiLCJwb29sIiwiYml0cyIsIk1hdGgiLCJyYW5kb20iLCJpZHgiLCJqb2luIiwiZm9ybWF0SGVscGVyIiwibnVtIiwidG9TdHJpbmciLCJnZXRNZDUiLCJpbnB1dCIsImNyeXB0byIsImNyZWF0ZUhhc2giLCJ1cGRhdGUiLCJkaWdlc3QiLCJnZXRTaGEyNTYiLCJyZW5hbWVGaWxlTmFtZVdpdGhDdXN0b21TdHJpbmciLCJvbGROYW1lIiwiY3VzdG9tRm9ybWF0IiwiYWZmaXhGaWxlTmFtZSIsImZpbGVCdWZmZXIiLCJub3ciLCJEYXRlIiwieWVhciIsImdldEZ1bGxZZWFyIiwiZmlsZWJhc2VuYW1lIiwicGF0aCIsImJhc2VuYW1lIiwiZXh0bmFtZSIsImNvbnZlcnNpb25NYXAiLCJzbGljZSIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsImdldEhvdXJzIiwiZ2V0TWludXRlcyIsImdldFNlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJwYWRTdGFydCIsInV1aWR2NCIsInJlcGxhY2UiLCJnZXRUaW1lIiwidW5kZWZpbmVkIiwiT2JqZWN0Iiwia2V5cyIsInNvbWUiLCJpdGVtIiwiaW5jbHVkZXMiLCJleHQiLCJuZXdOYW1lIiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiUmVnRXhwIiwiXyIsImdyb3VwMSIsInBhcnNlSW50IiwiX3Jlc3VsdCIsImtleSIsImNvdW50IiwibWF4Iiwic3BsaXQiLCJzZXAiLCJhIiwiYiIsImlzVXJsIiwidGVzdCIsImlzVXJsRW5jb2RlIiwiZGVjb2RlVVJJIiwiX2UiLCJoYW5kbGVVcmxFbmNvZGUiLCJlbmNvZGVVUkkiLCJnZXRJbWFnZVNpemUiLCJmaWxlIiwid2lkdGgiLCJoZWlnaHQiLCJ0eXBlIiwiaW1hZ2VTaXplIiwicmVhbCIsImdldEZTRmlsZSIsImFzeW5jIiwiZmlsZVBhdGgiLCJmaWxlTmFtZSIsImJ1ZmZlciIsImZzIiwicmVhZEZpbGUiLCJzdWNjZXNzIiwicmVhc29uIiwiZ2V0VVJMRmlsZSIsImN0eCIsInRpbWVvdXRJZCIsInJlcXVlc3RGbiIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVzIiwicmVxdWVzdCIsIm1ldGhvZCIsInJlc29sdmVXaXRoRnVsbFJlc3BvbnNlIiwicmVzcG9uc2VUeXBlIiwidGhlbiIsInJlc3AiLCJkYXRhIiwiY2xlYXJUaW1lb3V0IiwidXJsUGF0aCIsIlVSTCIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwiZ2V0Iiwic3RhcnRzV2l0aCIsImVycm9yIiwibWVzc2FnZSIsImNhdGNoIiwidGltZW91dFByb21pc2UiLCJzZXRUaW1lb3V0IiwicmFjZSIsImdldFBsdWdpbk5hbWVUeXBlIiwibmFtZSIsImlzU2ltcGxlTmFtZSIsIm5hbWVPclBhdGgiLCJpc0Fic29sdXRlIiwicGx1Z2luUGF0aCIsInByb2Nlc3MiLCJjd2QiLCJleGlzdHNTeW5jIiwiaGFuZGxlQ29tcGxldGVQbHVnaW5OYW1lIiwic2NvcGUiLCJnZXRQcm9jZXNzUGx1Z2luTmFtZSIsImxvZ2dlciIsImNvbnNvbGUiLCJoYW5kbGVVbml4U3R5bGVQYXRoIiwid2FybiIsImdldE5vcm1hbFBsdWdpbk5hbWUiLCJyZW1vdmVQbHVnaW5WZXJzaW9uIiwicGFja2FnZUpTT05QYXRoIiwicG9zaXgiLCJwa2ciLCJyZWFkSlNPTlN5bmMiLCJwYXRoU3RyIiwicmVnIiwibWF0Y2hBcnIiLCJtYXRjaCIsImNvbmZpZ0JsYWNrTGlzdCIsImlzQ29uZmlnS2V5SW5CbGFja0xpc3QiLCJibGFja0l0ZW0iLCJpc0lucHV0Q29uZmlnVmFsaWQiLCJjb25maWciLCJpc0FycmF5Iiwic2FmZVBhcnNlIiwic3RyIiwiSlNPTiIsInBhcnNlIiwiZm9yY2VOdW1iZXIiLCJpc05hTiIsIk51bWJlciIsImlzRGV2IiwiZW52IiwiTk9ERV9FTlYiLCJkZWZhdWx0V2F0ZXJtYXJrSW1hZ2VQYXRoIiwiQWRkV2F0ZXJtYXJrIiwiaW1nIiwid2F0ZXJtYXJrVHlwZSIsImRlZmF1bHRXYXRlcm1hcmtGb250UGF0aCIsImlzRnVsbFNjcmVlbldhdGVybWFyayIsIndhdGVybWFya0RlZ3JlZSIsInRleHQiLCJ3YXRlcm1hcmtGb250UGF0aCIsIndhdGVybWFya1NjYWxlUmF0aW8iLCJ3YXRlcm1hcmtDb2xvciIsIndhdGVybWFya0ltYWdlUGF0aCIsInBvc2l0aW9uIiwid2F0ZXJtYXJrSW1hZ2VPcGFjaXR5IiwiaW1hZ2UiLCJzaGFycCIsImFuaW1hdGVkIiwiaW1nV2lkdGgiLCJtZXRhZGF0YSIsIndhdGVybWFyayIsImNvbXBvc2l0ZSIsIkJ1ZmZlciIsImZyb20iLCJyYXciLCJjaGFubmVscyIsInRpbGUiLCJibGVuZCIsInRvQnVmZmVyIiwiY29sb3IiLCJmb250RmFtaWx5Iiwib3B0aW9ucyIsImFuY2hvciIsImF0dHJpYnV0ZXMiLCJmaWxsIiwidGV4dFNWRyIsIlRleHRUb1NWRyIsImxvYWRTeW5jIiwiZ2V0U1ZHIiwidGV4dDJTVkciLCJ3YXRlcm1hcmtXaWR0aCIsIndhdGVybWFya0hlaWdodCIsImdldFNpemUiLCJ3YXRlcm1hcmtSZXNpemVXaWR0aCIsImZsb29yIiwid2F0ZXJtYXJrUmVzaXplSGVpZ2h0IiwicmVzaXplIiwiZml0Iiwicm90YXRlIiwiYmFja2dyb3VuZCIsInIiLCJnIiwiYWxwaGEiLCJjcmVhdGVXYXRlcm1hcmsiLCJncmF2aXR5IiwidmFsaWRQYXJhbSIsInBhcmFtcyIsImV2ZXJ5IiwicGFyYW0iLCJhdmFpbGFibGVDb252ZXJ0Rm9ybWF0TGlzdCIsImltYWdlRm9ybWF0TGlzdCIsInZhbGlkT3V0cHV0Rm9ybWF0IiwiZm9ybWF0IiwiZ2V0VHJlYXRlZFdhdGVyTWFya09wdGlvbnMiLCJnbG9iYWwiLCJpZFNwZWNpZmljQ29uZmlnIiwicGljQmVkIiwiaWQiLCJpc0FkZFdhdGVybWFyayIsImlzQWRkV2F0ZXJtYXJrTWFwIiwid2F0ZXJtYXJrVHlwZU1hcCIsImlzRnVsbFNjcmVlbldhdGVybWFya01hcCIsIndhdGVybWFya0RlZ3JlZU1hcCIsIndhdGVybWFya1RleHQiLCJ3YXRlcm1hcmtUZXh0TWFwIiwid2F0ZXJtYXJrU2NhbGVSYXRpb01hcCIsIndhdGVybWFya0NvbG9yTWFwIiwid2F0ZXJtYXJrSW1hZ2VQYXRoTWFwIiwid2F0ZXJtYXJrUG9zaXRpb24iLCJ3YXRlcm1hcmtQb3NpdGlvbk1hcCIsIndhdGVybWFya0ltYWdlT3BhY2l0eU1hcCIsImdldFRyZWF0ZWRDb21wcmVzc09wdGlvbnMiLCJxdWFsaXR5IiwicXVhbGl0eU1hcCIsImlzQ29udmVydCIsImlzQ29udmVydE1hcCIsImNvbnZlcnRGb3JtYXQiLCJjb252ZXJ0Rm9ybWF0TWFwIiwiaXNSZVNpemUiLCJpc1JlU2l6ZU1hcCIsInJlU2l6ZUhlaWdodCIsInJlU2l6ZUhlaWdodE1hcCIsInJlU2l6ZVdpZHRoIiwicmVTaXplV2lkdGhNYXAiLCJza2lwUmVTaXplT2ZTbWFsbEltZyIsInNraXBSZVNpemVPZlNtYWxsSW1nTWFwIiwiaXNSZVNpemVCeVBlcmNlbnQiLCJpc1JlU2l6ZUJ5UGVyY2VudE1hcCIsInJlU2l6ZVBlcmNlbnQiLCJyZVNpemVQZXJjZW50TWFwIiwiaXNSb3RhdGUiLCJpc1JvdGF0ZU1hcCIsInJvdGF0ZURlZ3JlZSIsInJvdGF0ZURlZ3JlZU1hcCIsImlzUmVtb3ZlRXhpZiIsImlzUmVtb3ZlRXhpZk1hcCIsImlzRmxpcCIsImlzRmxpcE1hcCIsImlzRmxvcCIsImlzRmxvcE1hcCIsImZvcm1hdENvbnZlcnRPYmoiLCJmb3JtYXRDb252ZXJ0T2JqTWFwIiwiaW1hZ2VBZGRXYXRlck1hcmsiLCJmb3JtYXRPcHRpb25zIiwiaW1hZ2VDb21wcmVzcyIsInJhd0Zvcm1hdCIsIm5vcm1hbGl6ZUltYWdlRXh0IiwibWluIiwicm91bmQiLCJpbWFnZVdpZHRoIiwiaW1hZ2VIZWlnaHQiLCJzY2FsZVJhdGlvIiwiZmxpcCIsImZsb3AiLCJuZXdGb3JtYXQiLCJnZXRDb252ZXJ0ZWRGb3JtYXQiLCJ0b0Zvcm1hdCIsIm1vempwZWciLCJ0b0xvd2VyQ2FzZSIsImlzTmVlZEFkZFdhdGVybWFyayIsIndhdGVybWFya09wdGlvbnMiLCJmaWxlRXh0IiwiaXNOZWVkQ29tcHJlc3MiLCJjb21wcmVzc09wdGlvbnMiLCJyZW1vdmVFeGlmIiwiSUxvZ1R5cGUiLCJJQnVpbGRJbkV2ZW50IiwiSUJ1c0V2ZW50IiwiRXJyb3IiLCJzdGFjayIsInN0cmluZ2lmeSIsIlN0cmluZyIsIlNjcmlwdEhhbmRsZXIiLCJzY3JpcHRDYWNoZSIsIk1hcCIsInN0YWdlcyIsImNvbnN0cnVjdG9yIiwidGhpcyIsInJlZnJlc2hDYWNoZSIsImNsZWFyIiwiYmFzZURpciIsImFsbENvbmZpZyIsImdldENvbmZpZyIsImRpc2FibGVkTGlzdCIsInNjcmlwdHMiLCJhbGwiLCJtYXAiLCJzdGFnZSIsImNvbmZpZ0tleSIsInNjcmlwdERpciIsImZpbGVzIiwicmVhZGRpciIsInN0YWdlU2NyaXB0cyIsImVuZHNXaXRoIiwiY29udGVudCIsImNvbXBpbGVkU2NyaXB0Iiwidm0iLCJTY3JpcHQiLCJmaWxlbmFtZSIsInB1c2giLCJzZXQiLCJydW5TdGFnZSIsImV4dHJhIiwic2NyaXB0T2JqIiwiZXhwb3NlZEFQSSIsImNyZWF0ZVNhbmRib3giLCJjb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsInJ1bkluQ29udGV4dCIsIm1haW4iLCJyZXN1bHQiLCJsb2ciLCJpbmZvIiwiZSIsImVudlBhdGgiLCJidWYiLCJyZWFkRmlsZVN5bmMiLCJkb3RlbnYiLCJrIiwiZ2V0RnJlc2hFbnYiLCJmcmVlemUiLCJhcmdzIiwiZGVidWciLCJheGlvcyIsIm9zIiwic2V0SW50ZXJ2YWwiLCJjbGVhckludGVydmFsIiwiYmFzZTY0RGVjb2RlIiwiYmFzZTY0RW5jb2RlIiwiaXNCdWZmZXIiLCJNRVNTQUdFUyIsIlBST0dSRVNTIiwiREVGQVVMVF9TS0lQX0VYVEVOU0lPTlMiLCJERUZBVUxUX1VQTE9BREVSIiwiTGlmZWN5Y2xlIiwiRXZlbnRFbWl0dGVyIiwidHRmUGF0aCIsInN1cGVyIiwiaW5pdGlhbGl6ZURpcnMiLCJlbnN1cmVEaXJTeW5jIiwiZW1wdHlEaXJTeW5jIiwiZG93bmxvYWRUVEYiLCJzdGF0U3luYyIsInNpemUiLCJ3cml0ZUZpbGVTeW5jIiwiZ2V0UHJvY2Vzc2luZ09wdGlvbnMiLCJjb21wcmVzc09wdGlvbnNHbG9iYWwiLCJ3YXRlcm1hcmtPcHRpb25zR2xvYmFsIiwiYnVpbGRJbkxpc3QiLCJ1cGxvYWRlclR5cGUiLCJnZXRVcGxvYWRlclR5cGUiLCJpZFNwZWNpZmljQ29tcHJlc3NDb25maWciLCJmaW5kIiwiY29tcHJlc3MiLCJpZFNwZWNpZmljV2F0ZXJtYXJrQ29uZmlnIiwicGljQmVkQ29uZmlnIiwiX2lkIiwiZ2V0U2tpcEV4dGVuc2lvbnMiLCJza2lwUHJvY2Vzc0dsb2JhbCIsImlkU3BlY2lmaWNTa2lwUHJvY2Vzc0NvbmZpZyIsInNraXBQcm9jZXNzIiwic2tpcFByb2Nlc3NFeHRMaXN0IiwidHJpbSIsIlNldCIsImZvcm1hdHRlZEl0ZW0iLCJzdGFydCIsImNvbmZpZ1BhdGgiLCJjbWQiLCJvdXRwdXQiLCJyYXdJbnB1dCIsInByb2Nlc3NlZElucHV0IiwicGx1Z2luTG9hZGVyIiwicGx1Z2luSGFuZGxlciIsIlJlcXVlc3QiLCJoZWxwZXIiLCJWRVJTSU9OIiwiR1VJX1ZFUlNJT04iLCJpMThuIiwiY29uZmlnTWFuYWdlciIsImJpbmQiLCJzYXZlQ29uZmlnIiwicmVtb3ZlQ29uZmlnIiwic2V0Q29uZmlnIiwidW5zZXRDb25maWciLCJ1cGxvYWQiLCJ1cGxvYWRSZXR1cm5DdHgiLCJhZGRMaXN0ZW5lciIsIm9uIiwib25jZSIsInJlbW92ZUxpc3RlbmVyIiwib2ZmIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwic2V0TWF4TGlzdGVuZXJzIiwiZ2V0TWF4TGlzdGVuZXJzIiwibGlzdGVuZXJzIiwicmF3TGlzdGVuZXJzIiwiZW1pdCIsImxpc3RlbmVyQ291bnQiLCJwcmVwZW5kTGlzdGVuZXIiLCJwcmVwZW5kT25jZUxpc3RlbmVyIiwiZXZlbnROYW1lcyIsImluaXRpYWxpemVDb250ZXh0IiwiaGFuZGxlU2tpcFByb2Nlc3MiLCJleGVjdXRlTGlmZWN5Y2xlIiwiaGFuZGxlRXJyb3IiLCJyYXdJbnB1dFBhdGgiLCJjbG9uZURlZXAiLCJoYW5kbGVyIiwiZG9VcGxvYWQiLCJhZnRlclVwbG9hZCIsInByZXByb2Nlc3MiLCJiZWZvcmVUcmFuc2Zvcm0iLCJkb1RyYW5zZm9ybSIsImJ1aWxkSW5SZW5hbWUiLCJiZWZvcmVVcGxvYWQiLCJGQUlMRUQiLCJVUExPQURfUFJPR1JFU1MiLCJza2lwRXh0ZW5zaW9ucyIsIkJFRk9SRV9UUkFOU0ZPUk0iLCJ0ZW1wRmlsZVBhdGgiLCJwcm9jZXNzSW1hZ2VzIiwiaW5pdGlhbGl6ZVJhd0lucHV0UGF0aHMiLCJhbGxTZXR0bGVkIiwiaW5kZXgiLCJwcm9jZXNzSW1hZ2UiLCJpdGVtSXNVcmwiLCJleHRlbnNpb24iLCJzaG91bGRTa2lwRXh0ZW5zaW9uIiwiaGFzIiwidHJhbnNmb3JtZWRCdWZmZXIiLCJhcHBseVByb2Nlc3NpbmciLCJzYXZlUHJvY2Vzc2VkSW1hZ2UiLCJjb21wcmVzc0ltYWdlIiwiYWRkV2F0ZXJtYXJrIiwibm9ybWFsaXplZEV4dGVuc2lvbiIsImNvbnZlcnRIZWljQW5kQ29tcHJlc3MiLCJoZWljUmVzdWx0IiwiaGVpY0NvbnZlcnQiLCJ0ZW1wSGVpY0NvbnZlcnRGaWxlIiwibmV3RXh0IiwidGVtcEZpbGUiLCJnZXRGaWxlQmFzZU5hbWUiLCJnbG9iYWxSZW5hbWVDb25maWciLCJyZW5hbWVDb25maWciLCJyZW5hbWUiLCJlbmFibGUiLCJiYXNlNjRJbWFnZSIsImhhbmRsZVBsdWdpbnMiLCJiZWZvcmVUcmFuc2Zvcm1QbHVnaW5zIiwidHJhbnNmb3JtZXIiLCJjdXJyZW50VHJhbnNmb3JtZXIiLCJoYW5kbGUiLCJCRUZPUkVfVVBMT0FEIiwiYmVmb3JlVXBsb2FkUGx1Z2lucyIsInVwbG9hZGVyIiwiY3VycmVudFVwbG9hZGVyIiwib3V0cHV0SW1nIiwiQUZURVJfVVBMT0FEIiwiYWZ0ZXJVcGxvYWRQbHVnaW5zIiwibXNnIiwiaXNFbmNvZGVPdXRwdXRVUkwiLCJpbWdVcmwiLCJGSU5JU0hFRCIsImxpZmVDeWNsZVBsdWdpbnMiLCJwbHVnaW5zIiwiZ2V0TGlzdCIsInBsdWdpbk5hbWVzIiwiZ2V0SWRMaXN0IiwibGlmZUN5Y2xlTmFtZSIsImdldE5hbWUiLCJwbHVnaW4iLCJsYW5ndWFnZUxpc3QiLCJVUExPQURfRkFJTEVEIiwiQ0hFQ0tfU0VUVElOR1MiLCJDSEVDS19TRVRUSU5HU19BTkRfTkVUV09SSyIsIlVQTE9BRF9GQUlMRURfUkVBU09OIiwiU0VSVkVSX0VSUk9SIiwiQVVUSF9GQUlMRUQiLCJQSUNCRURfU01NUyIsIlBJQ0JFRF9TTU1TX1RPS0VOIiwiUElDQkVEX1NNTVNfTUVTU0FHRV9UT0tFTiIsIlBJQ0JFRF9TTU1TX0JBQ0tVUERPTUFJTiIsIlBJQ0JFRF9TTU1TX01FU1NBR0VfQkFDS1VQX0RPTUFJTiIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfRU5EUE9JTlQiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVUSE9EIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9NRVRIT0QiLCJQSUNCRURfQURWQU5DRURQTElTVF9GT1JNREFUQUtFWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfRk9STURBVEFLRVkiLCJQSUNCRURfQURWQU5DRURQTElTVF9IRUFERVJTIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9IRUFERVJTIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfQk9EWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfQk9EWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0NVU1RPTVBSRUZJWCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfQ1VTVE9NUFJFRklYIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfV0VCUEFUSCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX1JFU0RBVEFQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9SRVNEQVRBUEFUSCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX1VQTE9BRFNDUklQVE5BTUUiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX1VQTE9BRFNDUklQVE5BTUUiLCJQSUNCRURfTE9DQUwiLCJQSUNCRURfTE9DQUxfUEFUSCIsIlBJQ0JFRF9MT0NBTF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfTE9DQUxfQ1VTVE9NVVJMIiwiUElDQkVEX0xPQ0FMX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX0xPQ0FMX1dFQlBBVEgiLCJQSUNCRURfTE9DQUxfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0FMSVNUX1BMSVNUIiwiUElDQkVEX0FMSVNUX1VSTCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1VSTCIsIlBJQ0JFRF9BTElTVF9UT0tFTiIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1RPS0VOIiwiUElDQkVEX0FMSVNUX1VTRVJOQU1FIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVVNFUk5BTUUiLCJQSUNCRURfQUxJU1RfUEFTU1dPUkQiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9QQVNTV09SRCIsIlBJQ0JFRF9BTElTVF9VUExPQURQQVRIIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfVVBMT0FEX1BBVEgiLCJQSUNCRURfQUxJU1RfV0VCUEFUSCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1dFQl9QQVRIIiwiUElDQkVEX0FMSVNUX0NVU1RPTVVSTCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9BTElDTE9VRCIsIlBJQ0JFRF9BTElDTE9VRF9BQ0NFU1NLRVlJRCIsIlBJQ0JFRF9BTElDTE9VRF9BQ0NFU1NLRVlTRUNSRVQiLCJQSUNCRURfQUxJQ0xPVURfQlVDS0VUIiwiUElDQkVEX0FMSUNMT1VEX0FSRUEiLCJQSUNCRURfQUxJQ0xPVURfUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9XRUJQQVRIIiwiUElDQkVEX0FMSUNMT1VEX0NVU1RPTVVSTCIsIlBJQ0JFRF9BTElDTE9VRF9PUFRJT05TIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfQVJFQSIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9URU5DRU5UQ0xPVUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1ZFUlNJT04iLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NFQ1JFVElEIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TRUNSRVRLRVkiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0FQUElEIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9CVUNLRVQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0FSRUEiLCJQSUNCRURfVEVOQ0VOVENMT1VEX0VORFBPSU5UIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9QQVRIIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9XRUJQQVRIIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9PUFRJT05TIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9DVVNUT01VUkwiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfQVBQSUQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfQVJFQSIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9QQVRIIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NMSU0iLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NMSU1fVElQIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNX0NPTkZJUk0iLCJQSUNCRURfVEVOQ0VOVENMT1VEX1NMSU1fQ0FOQ0VMIiwiUElDQkVEX0dJVEhVQiIsIlBJQ0JFRF9HSVRIVUJfVE9LRU4iLCJQSUNCRURfR0lUSFVCX1JFUE8iLCJQSUNCRURfR0lUSFVCX1BBVEgiLCJQSUNCRURfR0lUSFVCX1dFQlBBVEgiLCJQSUNCRURfR0lUSFVCX0JSQU5DSCIsIlBJQ0JFRF9HSVRIVUJfQ1VTVE9NVVJMIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX1JFUE8iLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfQlJBTkNIIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX1BBVEgiLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfUUlOSVUiLCJQSUNCRURfUUlOSVVfQUNDRVNTS0VZIiwiUElDQkVEX1FJTklVX1NFQ1JFVEtFWSIsIlBJQ0JFRF9RSU5JVV9CVUNLRVQiLCJQSUNCRURfUUlOSVVfUEFUSCIsIlBJQ0JFRF9RSU5JVV9VUkwiLCJQSUNCRURfUUlOSVVfT1BUSU9OUyIsIlBJQ0JFRF9RSU5JVV9BUkVBIiwiUElDQkVEX1FJTklVX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX0FSRUEiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1FJTklVX01FU1NBR0VfVVJMIiwiUElDQkVEX0lNR1VSIiwiUElDQkVEX0lNR1VSX0NMSUVOVElEIiwiUElDQkVEX0lNR1VSX1VTRVJOQU1FIiwiUElDQkVEX0lNR1VSX0FDQ0VTU19UT0tFTiIsIlBJQ0JFRF9JTUdVUl9BTEJVTSIsIlBJQ0JFRF9JTUdVUl9QUk9YWSIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX0NMSUVOVElEIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfVVNFUk5BTUUiLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9BQ0NFU1NfVE9LRU4iLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9BTEJVTSIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX1BST1hZIiwiUElDQkVEX1VQWVVOIiwiUElDQkVEX1VQWVVOX0JVQ0tFVCIsIlBJQ0JFRF9VUFlVTl9PUEVSQVRPUiIsIlBJQ0JFRF9VUFlVTl9QQVNTV09SRCIsIlBJQ0JFRF9VUFlVTl9QQVRIIiwiUElDQkVEX1VQWVVOX1VSTCIsIlBJQ0JFRF9VUFlVTl9PUFRJT05TIiwiUElDQkVEX1VQWVVOX0VORFBPSU5UIiwiUElDQkVEX1VQWVVOX0FOVElMRUVDSFRPS0VOIiwiUElDQkVEX1VQWVVOX0VYUElSRVRJTUUiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9PUEVSQVRPUiIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX1BBU1NXT1JEIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfVVJMIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX1BBVEgiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9FTkRQT0lOVCIsIlBJQ0JFRF9XRUJEQVZQTElTVCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9IT1NUIiwiUElDQkVEX1dFQkRBVlBMSVNUX1NTTEVOQUJMRUQiLCJQSUNCRURfV0VCREFWUExJU1RfVVNFUk5BTUUiLCJQSUNCRURfV0VCREFWUExJU1RfUEFTU1dPUkQiLCJQSUNCRURfV0VCREFWUExJU1RfUEFUSCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9XRUJQQVRIIiwiUElDQkVEX1dFQkRBVlBMSVNUX0NVU1RPTVVSTCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9BVVRIVFlQRSIsIlBJQ0JFRF9XRUJEQVZQTElTVF9PUFRJT05TIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfSE9TVCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1NTTEVOQUJMRUQiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9VU0VSTkFNRSIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1BBU1NXT1JEIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1dFQlNJVEVfUEFUSCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfU0ZUUFBMSVNUIiwiUElDQkVEX1NGVFBQTElTVF9IT1NUIiwiUElDQkVEX1NGVFBQTElTVF9QT1JUIiwiUElDQkVEX1NGVFBQTElTVF9VU0VSTkFNRSIsIlBJQ0JFRF9TRlRQUExJU1RfUEFTU1dPUkQiLCJQSUNCRURfU0ZUUFBMSVNUX1BSSVZBVEVLRVkiLCJQSUNCRURfU0ZUUFBMSVNUX1BSSVZBVEVLRVlfUEFTU1BIUkFTRSIsIlBJQ0JFRF9TRlRQUExJU1RfVVBMT0FEUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfQ1VTVE9NVVJMIiwiUElDQkVEX1NGVFBQTElTVF9XRUJTSVRFX1BBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX0ZJTEVfVVNFUiIsIlBJQ0JFRF9TRlRQUExJU1RfRklMRV9NT0RFIiwiUElDQkVEX1NGVFBQTElTVF9ESVJfTU9ERSIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9IT1NUIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1BPUlQiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfUFJJVkFURUtFWSIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9QUklWQVRFS0VZX1BBU1NQSFJBU0UiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfVVBMT0FEUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfV0VCU0lURV9QQVRIIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0ZJTEVfVVNFUiIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9GSUxFX01PREUiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfRElSX01PREUiLCJQSUNCRURfUElDTElTVCIsIlBJQ0JFRF9QSUNMSVNUX0hPU1QiLCJQSUNCRURfUElDTElTVF9QT1JUIiwiUElDQkVEX1BJQ0xJU1RfUElDQkVEIiwiUElDQkVEX1BJQ0xJU1RfQ09ORklHTkFNRSIsIlBJQ0JFRF9QSUNMSVNUX0tFWSIsIlBJQ0JFRF9MU0tZX1BMSVNUIiwiUElDQkVEX0xTS1lfVkVSU0lPTiIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfVkVSU0lPTiIsIlBJQ0JFRF9MU0tZX0hPU1QiLCJQSUNCRURfTFNLWV9NRVNTQUdFX0hPU1QiLCJQSUNCRURfTFNLWV9UT0tFTiIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfVE9LRU4iLCJQSUNCRURfTFNLWV9TVFJBVEVHWV9JRCIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfU1RSQVRFR1lfSUQiLCJQSUNCRURfTFNLWV9BTEJVTV9JRCIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfQUxCVU1fSUQiLCJQSUNCRURfTFNLWV9QRVJNSVNTSU9OIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9QRVJNSVNTSU9OIiwiUElDQkVEX0FXU1MzUExJU1QiLCJQSUNCRURfQVdTUzNQTElTVF9BQ0NFU1NLRVlJRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX1NFQ1JFVF9BQ0NFU1NLRVkiLCJQSUNCRURfQVdTUzNQTElTVF9CVUNLRVQiLCJQSUNCRURfQVdTUzNQTElTVF9SRUdJT04iLCJQSUNCRURfQVdTUzNQTElTVF9VUExPQURQQVRIIiwiUElDQkVEX0FXU1MzUExJU1RfRU5EUE9JTlQiLCJQSUNCRURfQVdTUzNQTElTVF9QUk9YWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX1VSTFBSRUZJWCIsIlBJQ0JFRF9BV1NTM1BMSVNUX09QVElPTlMiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfQVdTUzNQTElTVF9QQVRIU1RZTEVBQ0NFU1MiLCJQSUNCRURfQVdTUzNQTElTVF9SRUpFQ1RVTkFVVEhPUklaRUQiLCJQSUNCRURfQVdTUzNQTElTVF9BQ0wiLCJQSUNCRURfQVdTUzNQTElTVF9ESVNBQkxFQlVDS0VUUFJFRklYVE9VUkwiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0FDQ0VTU0tFWUlEIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9TRUNSRVRfQUNDRVNTS0VZIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9CVUNLRVQiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1JFR0lPTiIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfVVBMT0FEUEFUSCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1BST1hZIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9VUkxQUkVGSVgiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1BBVEhTVFlMRUFDQ0VTUyIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfUkVKRUNUVU5BVVRIT1JJWkVEIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9BQ0wiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0RJU0FCTEVCVUNLRVRQUkVGSVhUT1VSTCIsIkJVSUxESU5fV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfSVNBRERXQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX0lTQUREV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLVFlQRSIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLVFlQRSIsIkJVSUxESU5fV0FURVJNQVJLX0lTRlVMTFNDUkVFTldBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfSVNGVUxMU0NSRUVOV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLREVHUkVFIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktERUdSRUUiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktURVhUIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktURVhUIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLRk9OVFBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0ZPTlRQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLU0NBTEVSQVRJTyIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLRk9OVFJBVElPIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLQ09MT1IiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0ZPTlRDT0xPUiIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0lNQUdFUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLSU1BR0VQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLUE9TSVRJT04iLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS1BPU0lUSU9OIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLSU1BR0VPUEFDSVRZIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktJTUFHRU9QQUNJVFkiLCJCVUlMRElOX1NLSVBQUk9DRVNTIiwiQlVJTERJTl9TS0lQUFJPQ0VTU19TS0lQUFJPQ0VTU0VYVExJU1QiLCJCVUlMRElOX1JFTkFNRSIsIkJVSUxESU5fUkVOQU1FX0ZPUk1BVCIsIkJVSUxESU5fUkVOQU1FX0VOQUJMRSIsIkJVSUxESU5fQ09NUFJFU1MiLCJCVUlMRElOX0NPTVBSRVNTX1FVQUxJVFkiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUVVBTElUWSIsIkJVSUxESU5fQ09NUFJFU1NfSVNDT05WRVJUIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTQ09OVkVSVCIsIkJVSUxESU5fQ09NUFJFU1NfQ09OVkVSVEZPUk1BVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9DT05WRVJURk9STUFUIiwiQlVJTERJTl9DT01QUkVTU19JU1JFU0laRSIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JFU0laRSIsIkJVSUxESU5fQ09NUFJFU1NfUkVTSVpFV0lEVEgiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUkVTSVpFV0lEVEgiLCJCVUlMRElOX0NPTVBSRVNTX1JFU0laRUhFSUdIVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9SRVNJWkVIRUlHSFQiLCJCVUlMRElOX0NPTVBSRVNTX0lTUkVTSVpFQllQRVJDRU5UIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUkVTSVpFQllQRVJDRU5UIiwiQlVJTERJTl9DT01QUkVTU19JU0ZMSVAiLCJCVUlMRElOX0NPTVBSRVNTX0lTRkxPUCIsIkJVSUxESU5fQ09NUFJFU1NfUkVTSVpFUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9SRVNJWkVQRVJDRU5UIiwiQlVJTERJTl9DT01QUkVTU19TS0lQUkVTSVpFT0ZTTUFMTElNRyIsIkJVSUxESU5fQ09NUFJFU1NfSVNST1RBVEUiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNST1RBVEUiLCJCVUlMRElOX0NPTVBSRVNTX1JPVEFURURFR1JFRSIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9ST1RBVEVERUdSRUUiLCJCVUlMRElOX0NPTVBSRVNTX0lTUkVNT1ZFRVhJRiIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JFTU9WRUVYSUYiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9TVUNDRVNTIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfRkFJTEVEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfRkFJTEVEX1JFQVNPTiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX0ZBSUxFRF9QQVRIIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9TVUNDRVNTIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9GQUlMRUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVU5JTlNUQUxMX0ZBSUxFRF9SRUFTT04iLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVU5JTlNUQUxMX0ZBSUxFRF9WQUxJRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfU1VDQ0VTUyIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfRkFJTEVEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VQREFURV9GQUlMRURfUkVBU09OIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VQREFURV9GQUlMRURfVkFMSUQiLCJlbiIsIkkxOG5NYW5hZ2VyIiwib2JqZWN0QWRhcHRlciIsIk9iamVjdEFkYXB0ZXIiLCJsYW5ndWFnZSIsIkkxOG4iLCJhZGFwdGVyIiwiZGVmYXVsdExhbmd1YWdlIiwibG9hZE91dHRlckkxOG4iLCJpMThuRm9sZGVyIiwiZ2V0T3V0dGVySTE4bkZvbGRlciIsInJlYWRkaXJTeW5jIiwid2l0aEZpbGVUeXBlcyIsImZvckVhY2giLCJpc0ZpbGUiLCJpMThuRmlsZVBhdGgiLCJpMThuRmlsZSIsImkxOG5GaWxlT2JqIiwieWFtbCIsImxvYWQiLCJwYXRoRXhpc3RzU3luYyIsInRyYW5zbGF0ZSIsInNldExhbmd1YWdlIiwiYWRkTG9jYWxlIiwibG9jYWxlcyIsIm9yaWdpbkxvY2FsZXMiLCJnZXRMb2NhbGUiLCJuZXdMb2NhbGVzIiwibWVyZ2UiLCJzZXRMb2NhbGUiLCJhZGRMYW5ndWFnZSIsImdldExhbmd1YWdlTGlzdCIsInByb2dyYW0iLCJvcHRpb24iLCJjb25maWdDbWQiLCJjb21tYW5kIiwiZGVzY3JpcHRpb24iLCJhcmd1bWVudHMiLCJhY3Rpb24iLCJjb25maWdzIiwiZ2V0QWxsVXBsb2FkZXJDb25maWdzIiwiZGVmYXVsdENvbmZpZyIsImdldEN1cnJlbnRVcGxvYWRlckNvbmZpZyIsIm1hcmtlciIsIl9jb25maWdOYW1lIiwiY29uZmlnTmFtZSIsImdldENvbmZpZ0J5TmFtZSIsInNldERlZmF1bHRDb25maWciLCJwcm9tcHRzIiwiZGVmYXVsdCIsImlucXVpcmVyIiwicHJvbXB0IiwiY29uZmlybSIsImRlbGV0ZVVwbG9hZGVyQ29uZmlnIiwiX2NyZWF0ZWRBdCIsInRvTG9jYWxlU3RyaW5nIiwiX3VwZGF0ZWRBdCIsInZhbHVlIiwiZGlzcGxheVZhbHVlIiwibGFuZyIsImxpc3QiLCJjaG9pY2VzIiwiY3JlYXRlQ29tbWFuZCIsImFsaWFzIiwicHJveHkiLCJyZWdpc3RyeSIsImluc3RhbGwiLCJ1bmluc3RhbGwiLCJmb3JtYXRQYXRoSGVscGVyIiwic3RhcnRTbGFzaCIsImVuZFNsYXNoIiwicm9vdFRvRW1wdHkiLCJjbGVhblBhdGgiLCJlbmNvZGVQYXRoIiwicCIsImVuY29kZVVSSUNvbXBvbmVudCIsImJ1aWxkSW5VcGxvYWRlck5hbWVzIiwiY3JlYXRlRmllbGQiLCJwaWNCZWROYW1lIiwiZGVmYXVsdFZhbHVlIiwicmVxdWlyZWQiLCJpMThuUHJlZml4IiwiZXh0cmFzIiwicHJlZml4IiwidG9VcHBlckNhc2UiLCJ1cGxvYWRlclRyYW5zbGF0b3JzIiwiYWR2YW5jZWRwbGlzdCIsImFsaXN0cGxpc3QiLCJhbGl5dW4iLCJnaXRodWIiLCJpbWd1ciIsImxvY2FsIiwibHNreXBsaXN0IiwicGljbGlzdCIsInFpbml1Iiwic2Z0cHBsaXN0Iiwic21tcyIsInRjeXVuIiwidXB5dW4iLCJ3ZWJkYXZwbGlzdCIsIkJVSUxESU5fTU9EVUxFUyIsInVzZXJDb25maWciLCJoYW5kbGVDb25maWciLCJtb2R1bGUiLCJ1cGxvYWRlck5hbWUiLCJhbnN3ZXIiLCJnZXRDb25maWdOYW1lIiwiYWN0dWFsQ29uZmlnTmFtZSIsImV4aXN0aW5nQ29uZmlnIiwidXBkYXRlVXBsb2FkZXJDb25maWciLCJuZXdDb25maWciLCJhZGRVcGxvYWRlckNvbmZpZyIsImNvbmZpZ0xpc3QiLCJpZE9mQ29uZmlnTmFtZSIsImV4aXN0aW5nRW50cnlJbmRleCIsImZpbmRJbmRleCIsImJ1aWxkaW4iLCJzZXR0aW5nIiwiZW50cmllcyIsInNlbGVjdGVkTW9kdWxlIiwiaGFuZGxlQnVpbGRpbk1vZHVsZSIsImhhbmRsZVVwbG9hZGVyT3JUcmFuc2Zvcm1lciIsInBsdWdpbk5hbWUiLCJnZXRQbHVnaW4iLCJnZXRGdWxsTGlzdCIsImhhbmRsZVBsdWdpbiIsImFyZ3YiLCJpbnB1dExpc3QiLCJmaWx0ZXIiLCJleGlzdCIsInVzZSIsInBpY2dvUGx1Z2lucyIsIkxpZmVjeWNsZVBsdWdpbnMiLCJzdGF0aWMiLCJwbHVnaW5JZE1hcCIsInJlZ2lzdGVyIiwiVHlwZUVycm9yIiwiY3VycmVudFBsdWdpbiIsInVucmVnaXN0ZXIiLCJwbHVnaW5MaXN0IiwiZGVsZXRlIiwidmFsdWVzIiwic2V0Q3VycmVudFBsdWdpbk5hbWUiLCJDb21tYW5kZXIiLCJDb21tYW5kIiwiaW5pdCIsInZlcnNpb24iLCJzaWxlbnQiLCJleGl0IiwiY3VycmVudFBsdWdpbk5hbWUiLCJsb2FkQ29tbWFuZHMiLCJMb2dnZXIiLCJsZXZlbCIsImxvZ0xldmVsIiwibG9nUGF0aCIsImhhbmRsZUxvZyIsImNoZWNrTG9nTGV2ZWwiLCJsb2dIZWFkZXIiLCJjaGFsayIsImNoZWNrTG9nRmlsZUlzTGFyZ2UiLCJpc0xhcmdlIiwid2FybmluZ01zZyIsImxvZ0ZpbGVTaXplTGltaXQiLCJ5ZWxsb3ciLCJyZWNyZWF0ZUxvZ0ZpbGUiLCJ1bnNoaWZ0IiwiaGFuZGxlV3JpdGVMb2ciLCJsb2dGaWxlU2l6ZSIsInVubGlua1N5bmMiLCJjcmVhdGVGaWxlU3luYyIsImRheWpzIiwidXRpbCIsImFwcGVuZEZpbGVTeW5jIiwiUGx1Z2luSGFuZGxlciIsImluc3RhbGxlZFBsdWdpbnMiLCJwcm9jZXNzUGx1Z2lucyIsImhhbmRsZVBsdWdpbk5hbWVQcm9jZXNzIiwiaGFzUGx1Z2luIiwicGtnTmFtZSIsImZ1bGxOYW1lTGlzdCIsImZ1bGxOYW1lIiwicGtnTmFtZUxpc3QiLCJleGVjQ29tbWFuZCIsImNvZGUiLCJlcnIiLCJ0aXRsZSIsImJvZHkiLCJyZWdpc3RlclBsdWdpbiIsInVucmVnaXN0ZXJQbHVnaW4iLCJtb2R1bGVzIiwid2hlcmUiLCJjb25jYXQiLCJucG0iLCJzcGF3biIsInN0ZG91dCIsInBpcGUiLCJzdGRlcnIiLCJQbHVnaW5Mb2FkZXIiLCJmdWxsTGlzdCIsInBsdWdpbk1hcCIsInBhY2thZ2VQYXRoIiwicmVwb3NpdG9yeSIsImxpY2Vuc2UiLCJyZXNvbHZlUGx1Z2luIiwic3luYyIsImJhc2VkaXIiLCJwbHVnaW5EaXIiLCJqc29uIiwiZGVwcyIsImRlcGVuZGVuY2llcyIsImRldkRlcHMiLCJkZXZEZXBlbmRlbmNpZXMiLCJhZGQiLCJwbHVnaW5JbnRlcmZhY2UiLCJOT1RJRklDQVRJT04iLCJwYWNrYWdlSnNvblBhdGgiLCJwYWNrYWdlSnNvbiIsInBvc3NpYmxlRW50cmllcyIsImVudHJ5IiwiZW50cnlQYXRoIiwicGx1Z2luVXJsIiwicGF0aFRvRmlsZVVSTCIsImhyZWYiLCJtb2QiLCJpbXBvcnQiLCJldmVudEJ1cyIsImh0dHBzQWdlbnQiLCJodHRwcyIsIkFnZW50IiwibWF4VmVyc2lvbiIsIm1pblZlcnNpb24iLCJyZWplY3RVbmF1dGhvcml6ZWQiLCJhcHBlbmRGb3JtRGF0YSIsImZvcm0iLCJhcHBlbmQiLCJyZXNwb25zZUludGVyY2VwdG9yIiwicmVzcG9uc2UiLCJzdGF0dXNDb2RlIiwic3RhdHVzIiwicmVzcG9uc2VFcnJvckhhbmRsZXIiLCJlcnJvck9iaiIsIkNPTkZJR19DSEFOR0UiLCJoYW5kbGVQcm94eSIsInByb3h5T3B0aW9ucyIsImhvc3QiLCJob3N0bmFtZSIsInBvcnQiLCJwcm90b2NvbCIsImhlYWRlcnMiLCJtYXhCb2R5TGVuZ3RoIiwiSW5maW5pdHkiLCJtYXhDb250ZW50TGVuZ3RoIiwiaHR0cHNPdmVySHR0cCIsImluc3RhbmNlIiwiY3JlYXRlIiwiaW50ZXJjZXB0b3JzIiwib3B0IiwiX19pc09sZE9wdGlvbnMiLCJGb3JtRGF0YSIsImZvcm1EYXRhIiwiYXNzaWduIiwiZ2V0SGVhZGVycyIsInFzIiwicmVxdWVzdEludGVyY2VwdG9yIiwib2JqIiwiY29udGVudFR5cGUiLCJDb250ZW50VHlwZSIsIkltZ0Zyb21CYXNlNjQiLCJnZXRJbWdTaXplIiwiSW1nRnJvbVBhdGgiLCJyZXN1bHRzIiwiaW1nU2l6ZSIsIm1pbWVUeXBlIiwibWltZSIsImdldFR5cGUiLCJwb3N0T3B0aW9ucyIsImVuZHBvaW50IiwiZm9ybURhdGFLZXkiLCJhZHZhbmNlZHBsaXN0Q29uZmlnIiwidXBsb2FkU2NyaXB0TmFtZSIsInNjcmlwdE5hbWUiLCJzY3JpcHRQYXRoIiwic2NyaXB0Q29udGVudCIsInNjcmlwdCIsInByb21pc2UiLCJydW5TY3JpcHQiLCJpbWdMaXN0IiwicG9zdENvbmZpZyIsImltYWdlVXJsIiwicmVzRGF0YVBhdGgiLCJ3ZWJQYXRoIiwicG9wIiwiY3VzdG9tUHJlZml4IiwiY3JlYXRlQ29uZmlnRmllbGQiLCJ0b2tlbiIsIkF1dGhvcml6YXRpb24iLCJoYW5kbGVSZXNFcnJvciIsImNyZWF0ZUFwaVJlcXVlc3QiLCJleHRyYWN0Q29uZmlnIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsInVwbG9hZFBhdGgiLCJjdXN0b21VcmwiLCJhbGlzdENvbmZpZyIsInRva2VuU3RvcmUiLCJyZWZyZXNoZWRBdCIsInBvc3QiLCJnZXRBbGlzdFRva2VuIiwiZnVsbFVwbG9hZFBhdGgiLCJ1cGxvYWRSZXMiLCJyZWZyZXNoUmVzIiwicGFnZSIsInBlcl9wYWdlIiwicmVmcmVzaCIsImdldEluZm9SZXMiLCJzaWduIiwiZW5jb2RlZFBhdGgiLCJnZXRDdXJyZW50VVRDRGF0ZSIsInRvVVRDU3RyaW5nIiwiZ2VuZXJhdGVTaWduYXR1cmUiLCJkYXRlIiwic2lnblN0cmluZyIsImJ1Y2tldCIsInNpZ25hdHVyZSIsImNyZWF0ZUhtYWMiLCJhY2Nlc3NLZXlTZWNyZXQiLCJhY2Nlc3NLZXlJZCIsImFyZWEiLCJIb3N0IiwiYWxpWXVuT3B0aW9ucyIsInVybE9wdGlvbnMiLCJGaWxlTmFtZUdlbmVyYXRvciIsIm1vbnRoIiwiZGF5IiwiZXh0TmFtZSIsIm1kNSIsImltZ0J1ZmZlciIsIm1kNUI2NCIsIm1kNUI2NFNob3J0Iiwic2hhMSIsInNoYTI1NiIsInRpbWVzdGFtcCIsInRpbWVzdGFtcE1TIiwiZm9ybWF0UGF0aCIsImZpbGVOYW1lR2VuZXJhdG9yIiwiZmllbGRzIiwicmUiLCJnZXRQcm94eUFnZW50Iiwic3NsRW5hYmxlZCIsImZvcm1hdGVkUHJveHkiLCJmb3JtYXRIdHRwUHJveHlVUkwiLCJIdHRwc1Byb3h5QWdlbnQiLCJIdHRwUHJveHlBZ2VudCIsImtlZXBBbGl2ZSIsImtlZXBBbGl2ZU1zZWNzIiwic2NoZWR1bGluZyIsImdldEZpbGVVUkwiLCJvcHRzIiwiZVRhZyIsInZlcnNpb25JZCIsInNpZ25lZFVybCIsImdldFNpZ25lZFVybCIsImNsaWVudCIsIkdldE9iamVjdENvbW1hbmQiLCJCdWNrZXQiLCJidWNrZXROYW1lIiwiS2V5IiwiSWZNYXRjaCIsIlZlcnNpb25JZCIsImV4cGlyZXNJbiIsInVybE9iamVjdCIsInNlYXJjaCIsImNyZWF0ZVMzQ2xpZW50IiwiaHR0cEhhbmRsZXJPcHRzIiwiaHR0cEFnZW50IiwiY2xpZW50T3B0aW9ucyIsInJlZ2lvbiIsImNyZWRlbnRpYWxzIiwiYWNjZXNzS2V5SUQiLCJzZWNyZXRBY2Nlc3NLZXkiLCJ0bHMiLCJmb3JjZVBhdGhTdHlsZSIsInBhdGhTdHlsZUFjY2VzcyIsInJlcXVlc3RIYW5kbGVyIiwiTm9kZUh0dHBIYW5kbGVyIiwiUzNDbGllbnQiLCJjcmVhdGVVcGxvYWRUYXNrIiwiY29udGVudEVuY29kaW5nIiwiZmlsZVR5cGUiLCJmaWxlVHlwZUZyb21CdWZmZXIiLCJleHRyYWN0SW5mbyIsIlB1dE9iamVjdENvbW1hbmQiLCJBQ0wiLCJhY2wiLCJCb2R5IiwiQ29udGVudEVuY29kaW5nIiwic2VuZCIsInVybFByZWZpeCIsIkVUYWciLCJpbWdVUkwiLCJmb3JtYXREaXNhYmxlQnVja2V0UHJlZml4VG9VUkwiLCJkaXNhYmxlQnVja2V0UHJlZml4VG9VUkwiLCJCb29sZWFuIiwidGFzayIsImJ1aWxkR2l0aHViQXBpVXJsIiwicmVwbyIsImdldE9wdGlvbnMiLCJicmFuY2giLCJnaXRodWJPcHRpb25zIiwiZG93bmxvYWRfdXJsIiwiaGFzaCIsInNoYSIsImltZ0Jhc2U2NCIsImNsaWVudElkIiwiYWNjZXNzVG9rZW4iLCJmb3JtYXRBY2Nlc3NUb2tlbiIsImFsYnVtIiwiYXV0aG9yaXphdGlvbiIsInJlcXVlc3RPcHRpb25zIiwiaW5pdFBhZ2VzIiwiYWxidW1IYXNoIiwiZ2V0QWxidW1IYXNoT3B0aW9ucyIsInRpbWVvdXQiLCJhbGJ1bUxpc3QiLCJpbWd1ck9wdGlvbnMiLCJsaW5rIiwiZGVsZXRlaGFzaCIsImxvY2FsQ29uZmlnIiwiaW1nVGVtcFBhdGgiLCJmaWxlSW1nVGVtcFBhdGgiLCJmaWxlVXBsb2FkUGF0aCIsImNvcHlGaWxlU3luYyIsImdhbGxlcnlQYXRoIiwiaXNWMiIsInYxSGVhZGVycyIsIkNvbm5lY3Rpb24iLCJ2MUZvcm1EYXRhIiwic3NsIiwidjJIZWFkZXJzIiwiQWNjZXB0Iiwic3RyYXRlZ3lJZCIsImFsYnVtSWQiLCJwZXJtaXNzaW9uIiwidjJGb3JtRGF0YSIsInN0cmF0ZWd5X2lkIiwiYWxidW1faWQiLCJhZ2VudCIsImxza3lPcHRpb25zIiwibGlua3MiLCJwaWNiZWQiLCJzZXJ2ZXJLZXkiLCJpc0lwIiwiZm9ybWF0SG9zdCIsInBpY2xpc3RPcHRpb25zIiwiZnVsbFJlc3VsdCIsInNlbGVjdEFyZWEiLCJnZXRUb2tlbiIsInFpbml1T3B0aW9ucyIsImFjY2Vzc0tleSIsInNlY3JldEtleSIsIm1hYyIsImF1dGgiLCJNYWMiLCJycyIsIlB1dFBvbGljeSIsInVwbG9hZFRva2VuIiwiYmFzZVVybCIsIlNTSENsaWVudCIsIk5vZGVTU0giLCJpc0Nvbm5lY3RlZCIsImdldEluc3RhbmNlIiwiY2hhbmdlV2luU3R5bGVQYXRoVG9Vbml4IiwiY29ubmVjdCIsInByaXZhdGVLZXkiLCJwYXNzcGhyYXNlIiwibG9naW5JbmZvIiwicHJpdmF0ZUtleVBhdGgiLCJyZW1vdGUiLCJta2RpciIsInB1dEZpbGUiLCJmaWxlTW9kZSIsImV4ZWMiLCJkaXJQYXRoIiwiZGlyZWN0b3J5TW9kZSIsImRpck1vZGUiLCJkaXJzIiwiY3VycmVudFBhdGgiLCJkaXIiLCJjaG93biIsInVzZXIiLCJncm91cCIsIl91c2VyIiwiX2dyb3VwIiwiY2xvc2UiLCJkaXNwb3NlIiwic2Z0cHBsaXN0Q29uZmlnIiwidXBsb2FkVGVtcFBhdGgiLCJvdXRwdXRGaWxlU3luYyIsInJlbW90ZVBhdGgiLCJmaWxlVXNlciIsImltZ1RlbXBGaWxlUGF0aCIsInJlbW92ZVN5bmMiLCJtb3ZlU3luYyIsImFwaVRva2VuIiwiZG9tYWluIiwic21maWxlIiwic21tc0NvbmZpZyIsImJhY2t1cERvbWFpbiIsImltYWdlQnVmZmVyIiwiaW1hZ2VzIiwiZXJyb3JNc2ciLCJ1cGxvYWRIaXN0b3J5IiwibWF0Y2hlZEltYWdlIiwic2VjcmV0SWQiLCJhcHBJZCIsInNpZ25UaW1lIiwiY3VycmVudCIsIm11bHRpU2lnbmF0dXJlIiwic2lnbkhleEtleSIsInRlbXBTdHJpbmciLCJ0b2RheSIsInNpZ25LZXkiLCJodHRwU3RyaW5nIiwic3RyaW5nVG9TaWduIiwidXNlckFnZW50Iiwib3AiLCJmaWxlY29udGVudCIsInRjWXVuT3B0aW9ucyIsInVzZVY0Iiwib3B0aW9uVXJsIiwic2xpbSIsInNvdXJjZV91cmwiLCJjb25maXJtVGV4dCIsImNhbmNlbFRleHQiLCJ0aXBzIiwiREVGQVVMVF9FTkRQT0lOVCIsInVweXVuT3B0aW9ucyIsIm9wZXJhdG9yIiwibWQ1UGFzc3dvcmQiLCJzdWZmaXgiLCJhbnRpTGVlY2hUb2tlbiIsImFkZEFudGlMZWVjaFRva2VuIiwidXB0IiwiZXhwaXJlVGltZSIsInVyaSIsImV4cGlyZSIsInN1YnN0cmluZyIsImdldEFudGlMZWVjaFBhcmFtIiwiaGFuZGxlVXBsb2FkRXJyb3IiLCJlcnJvckJvZHkiLCJlcnJvckNvZGUiLCJNQVhfRklMRV9TSVpFIiwiZ2V0SW1hZ2VCdWZmZXIiLCJidWlsZEltYWdlVXJsIiwid2VicGF0aCIsInVzZVdlYnBhdGgiLCJzYXZlSW1hZ2VUb1RlbXAiLCJ1cGxvYWRJbWFnZSIsImZ1bGxVcGxvYWREaXJQYXRoIiwicGF0aFRvQ3JlYXRlIiwiY3JlYXRlRGlyZWN0b3J5IiwicmVjdXJzaXZlIiwicHV0RmlsZUNvbnRlbnRzIiwib3ZlcndyaXRlIiwiYXV0aFR5cGUiLCJBdXRoVHlwZSIsIkRpZ2VzdCIsImNyZWF0ZUNsaWVudCIsImNyZWF0ZVdlYkRBVkNsaWVudCIsImJ1aWxkSW5VcGxvYWRlcnMiLCJhZHZhbmNlZHBsaXN0VXBsb2FkZXIiLCJhbGlzdFVwbG9hZGVyIiwiYWxpWXVuVXBsb2FkZXIiLCJhd3NzM3BsaXN0VXBsb2FkZXIiLCJnaXRodWJVcGxvYWRlciIsImltZ3VyVXBsb2FkZXIiLCJsb2NhbFVwbG9hZGVyIiwibHNreVVwbG9hZGVyIiwicGljbGlzdFVwbG9hZGVyIiwicWluaXVVcGxvYWRlciIsInNmdHBVcGxvYWRlciIsInNtbXNVcGxvYWRlciIsInRjWXVuVXBsb2FkZXIiLCJ1cFl1blVwbG9hZGVyIiwid2ViZGF2cGxpc3RVcGxvYWRlciIsIkNvbmZpZ01hbmFnZXIiLCJtaWdyYXRlVG9NdWx0aUNvbmZpZyIsInVwbG9hZGVyQ29uZmlnIiwiY29uZmlnSXRlbSIsInV1aWQiLCJkZWZhdWx0SWQiLCJ1cGxvYWRlckRhdGEiLCJjb25maWdEYXRhIiwic3luY0NvbmZpZ1RvUGljQmVkIiwiY29uZmlnSWQiLCJjb25maWdJbmRleCIsInNwbGljZSIsIkRCIiwiZGIiLCJKU09OU3RvcmUiLCJyZWFkIiwiZmx1c2giLCJnZXRTaW5nbGUiLCJ1bnNldCIsImdldENvbmZpZ1BhdGgiLCJDTElQQk9BUkRfSU1BR0VfRk9MREVSIiwicGxhdGZvcm0yU2NyaXB0Q29udGVudCIsImRhcndpbiIsIndpbjMyIiwid2luMTAiLCJsaW51eCIsIndzbCIsInBsYXRmb3JtMlNjcmlwdEZpbGVuYW1lIiwiZ2V0Q2xpcGJvYXJkSW1hZ2UiLCJpbWFnZVBhdGgiLCJjcmVhdGVJbWFnZUZvbGRlciIsInBsYXRmb3JtIiwiaXNXc2wiLCJyZWxlYXNlIiwiZ2V0Q3VycmVudFBsYXRmb3JtIiwiZXhlY3V0aW9uIiwiaW1nUGF0aCIsInNob3VsZEtlZXBBZnRlclVwbG9hZGluZyIsIlBpY0dvIiwiX2NvbmZpZyIsImxpZmVjeWNsZSIsIl9wbHVnaW5Mb2FkZXIiLCJpbml0Q29uZmlnUGF0aCIsImluaXRDb25maWciLCJob21lZGlyIiwiZW5zdXJlRmlsZVN5bmMiLCJyZWdpc3RlckNvbW1hbmRzIiwicHJvcE5hbWUiLCJjbGVhbnVwIiwicmVtb3ZlIiwiY2hhbmdlQ3VycmVudFVwbG9hZGVyIiwiY3R4UmVzdWx0IiwiYmFja3VwQ3R4IiwiZW5hYmxlU2Vjb25kVXBsb2FkZXIiLCJzZWNvbmRhcnlVcGxvYWRlclR5cGUiLCJzZWNvbmRVcGxvYWRlckNvbmZpZyIsImN0eFAiLCJpbml0aWFsVXBsb2FkVHlwZSIsImdldENsaXBib2FyZFJlc3VsdCIsInNlY29uZFBpY0JlZE1vZGUiLCJjdHhPb2ZTZWNvbmQiLCJjbGVhbnVwRm9yU2Vjb25kIl0sIm1hcHBpbmdzIjoia29EQVdBLE1BQ01BLEdBQVlDLEVBRENDLGNBQTBCQyxNQW1CdkMsU0FBVUMsR0FBc0JDLEdBQ3BDLE1BQU1DLEVBQU0sSUFBSUMsTUFBTUYsR0FDdEIsSUFBSUcsRUFBSSxFQUNKQyxFQUFPLEVBQ1BDLEVBQU8sRUFDWCxLQUFPRixFQUFJSCxHQUFRLENBQ2pCLEdBQUlLLEVBQU8sRUFBRyxDQUNaRCxFQUFRQSxHQUFRLEdBQXdCLFdBQWhCRSxLQUFLQyxXQUEyQixFQUN4REYsR0FBUSxHQUNSLFFBQ0YsQ0FDQSxNQUFNRyxFQWZHLEdBZUdKLEVBQ1pBLEtBQVUsRUFDVkMsR0FBUSxFQUNKRyxFQUFNLEtBQUlQLEVBQUlFLEtBakJSLGlFQWlCcUJLLEdBQ2pDLENBQ0EsT0FBT1AsRUFBSVEsS0FBSyxHQUNsQixDQVVBLFNBQVNDLEdBQWFDLEdBQ3BCLE9BQWlDLElBQTFCQSxFQUFJQyxXQUFXWixPQUFlLElBQUlXLElBQVFBLEVBQUlDLFVBQ3ZELENBRUEsU0FBU0MsR0FBT0MsR0FDZCxPQUFPQyxFQUFPQyxXQUFXLE9BQU9DLE9BQU9ILEdBQU9JLE9BQU8sTUFDdkQsQ0FFQSxTQUFTQyxHQUFVTCxHQUNqQixPQUFPQyxFQUFPQyxXQUFXLFVBQVVDLE9BQU9ILEdBQU9JLE9BQU8sTUFDMUQsQ0FFTSxTQUFVRSxHQUNkQyxFQUNBQyxFQUNBQyxFQUNBQyxHQUVBLE1BQU1DLEVBQU0sSUFBSUMsS0FDVkMsRUFBT0YsRUFBSUcsY0FBY2hCLFdBQ3pCaUIsRUFBZUMsRUFBS0MsU0FBU1YsRUFBU1MsRUFBS0UsUUFBUVgsSUFDbkRZ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