/
home
/
suroeste
/
public_html
/
wp-content
/
plugins
/
akeebabackupwp
/
app
/
media
/
js
/
solo
/
/home/suroeste/public_html/wp-content/plugins/akeebabackupwp/app/media/js/solo
mkdir
upload
Name
Size
Mode
Actions
ajax.js
9696
0644
edit
dl
rm
ajax.min.js
3438
0644
edit
dl
rm
ajax.min.js.map
17483
0644
edit
dl
rm
backup.min.js
10466
0644
edit
dl
rm
backup.min.js.map
36399
0644
edit
dl
rm
browser.js
852
0644
edit
dl
rm
browser.min.js
547
0644
edit
dl
rm
browser.min.js.map
1952
0644
edit
dl
rm
configuration.min.js
36980
0644
edit
dl
rm
configuration.min.js.map
137014
0644
edit
dl
rm
dbfilters.min.js
7751
0644
edit
dl
rm
dbfilters.min.js.map
28768
0644
edit
dl
rm
discover.js
717
0644
edit
dl
rm
discover.min.js
442
0644
edit
dl
rm
discover.min.js.map
1581
0644
edit
dl
rm
extradirs.min.js.map
23454
0644
edit
dl
rm
fsfilters.min.js
15091
0644
edit
dl
rm
fsfilters.min.js.map
60366
0644
edit
dl
rm
gui-helpers.min.js
7604
0644
edit
dl
rm
gui-helpers.min.js.map
40838
0644
edit
dl
rm
log.js
872
0644
edit
dl
rm
log.min.js
568
0644
edit
dl
rm
log.min.js.map
1967
0644
edit
dl
rm
main.js
6469
0644
edit
dl
rm
main.min.js
3734
0644
edit
dl
rm
main.min.js.map
12115
0644
edit
dl
rm
manage.js
5914
0644
edit
dl
rm
manage.min.js
3541
0644
edit
dl
rm
manage.min.js.map
11993
0644
edit
dl
rm
modal.js
11029
0644
edit
dl
rm
modal.min.js
4882
0644
edit
dl
rm
modal.min.js.map
22351
0644
edit
dl
rm
multidb.min.js.map
31604
0644
edit
dl
rm
regexdbfilters.min.js.map
21450
0644
edit
dl
rm
regexfsfilters.min.js.map
21737
0644
edit
dl
rm
remotefiles.js
1700
0644
edit
dl
rm
remotefiles.min.js
790
0644
edit
dl
rm
remotefiles.min.js.map
2917
0644
edit
dl
rm
restore.min.js.map
26410
0644
edit
dl
rm
s3import.js
2806
0644
edit
dl
rm
s3import.min.js
1621
0644
edit
dl
rm
s3import.min.js.map
5608
0644
edit
dl
rm
setup.min.js.map
40294
0644
edit
dl
rm
showon.js
7583
0644
edit
dl
rm
showon.min.js
4206
0644
edit
dl
rm
showon.min.js.map
15553
0644
edit
dl
rm
system.min.js
14806
0644
edit
dl
rm
system.min.js.map
81766
0644
edit
dl
rm
tooltip.js
8070
0644
edit
dl
rm
tooltip.min.js
3726
0644
edit
dl
rm
tooltip.min.js.map
15163
0644
edit
dl
rm
transfer.js
18711
0644
edit
dl
rm
transfer.min.js.map
35219
0644
edit
dl
rm
update.min.js
5583
0644
edit
dl
rm
update.min.js.map
20544
0644
edit
dl
rm
upload.js
1051
0644
edit
dl
rm
upload.min.js
496
0644
edit
dl
rm
upload.min.js.map
2108
0644
edit
dl
rm
users.js
913
0644
edit
dl
rm
users.min.js.map
2118
0644
edit
dl
rm
wizard.min.js
10656
0644
edit
dl
rm
wizard.min.js.map
32501
0644
edit
dl
rm
Edit:
/home/suroeste/public_html/wp-content/plugins/akeebabackupwp/app/media/js/solo/update.min.js.map
(20544B)
{"version":3,"file":"update.min.js","names":["akeeba","Update","errorCallback","statistics","inbytes","outbytes","files","factory","password","ajaxURL","mainURL","translations","nextStepUrl","finaliseUrl","downloadErrorCallback","msg","elPBInfo","document","getElementById","elPBFill","style","display","className","innerHTML","extractErrorCallback","nextStep","window","location","System","getOptions","onGenericError","alert","setProgressBar","percent","progressBarId","newValue","elPBINfo","width","toFixed","innerText","humanFileSize","bytes","si","thresh","units","u","startDownload","data","task","json","JSON","stringify","frag","totalSize","doAjax","ret","stepDownload","status","errorCode","Text","_","error","doneSize","jsonObject","post","pingExtract","doEncryptedAjax","startExtract","stepExtract","message","totalsize","is_array","filelist","item","i","length","bytesIn","bytesOut","percentage","done","lastfile","empty","setTimeout","finalizeUpdate","documentReady","addEventListener","Modal","open","inherit","params","autoAction"],"sources":["update.js"],"sourcesContent":["/**\n * @package solo\n * @copyright Copyright (c)2014-2024 Nicholas K. Dionysopoulos / Akeeba Ltd\n * @license GNU General Public License version 3, or later\n */\n\nif (typeof akeeba === \"undefined\")\n{\n var akeeba = {};\n}\n\nif (typeof akeeba.Update === \"undefined\")\n{\n akeeba.Update = {\n errorCallback: null,\n statistics: {\n inbytes: 0, outbytes: 0, files: 0\n },\n factory: null,\n password: null,\n ajaxURL: null,\n mainURL: null,\n translations: {},\n nextStepUrl: \"\",\n finaliseUrl: \"\"\n };\n}\n\nakeeba.Update.downloadErrorCallback = function (msg)\n{\n var elPBInfo = document.getElementById(\"downloadProgressInfo\");\n var elPBFill = document.getElementById(\"downloadProgressBar\");\n\n elPBInfo.style.display = \"none\";\n elPBFill.className = \"akeeba-progress-fill--failure\";\n\n document.getElementById(\"downloadErrorText\").innerHTML = msg;\n document.getElementById(\"downloadError\").style.display = \"block\";\n};\n\nakeeba.Update.extractErrorCallback = function (msg)\n{\n var elPBInfo = document.getElementById(\"extractProgressInfo\");\n var elPBFill = document.getElementById(\"extractProgressBar\");\n\n elPBInfo.style.display = \"none\";\n elPBFill.className = \"akeeba-progress-fill--failure\";\n\n document.getElementById(\"extractErrorText\").innerHTML = msg;\n document.getElementById(\"extractError\").style.display = \"block\";\n};\n\nakeeba.Update.nextStep = function ()\n{\n window.location = akeeba.System.getOptions(\"akeeba.Update.nextStepUrl\");\n};\n\n/**\n * Generic error handler\n *\n * @param msg {string} The error message to display\n */\nakeeba.Update.onGenericError = function (msg)\n{\n alert(msg);\n};\n\n/**\n * Update a progress bar\n *\n * @param percent {int} The percent to set the progress bar to, must be 0 to 100\n * @param progressBarId {string} The ID of the progress bar to set\n */\nakeeba.Update.setProgressBar = function (percent, progressBarId)\n{\n if (progressBarId === undefined)\n {\n progressBarId = \"downloadProgressBar\";\n }\n\n var newValue;\n\n if (percent <= 1)\n {\n newValue = 100 * percent;\n }\n else\n {\n newValue = percent;\n }\n\n if (newValue < 0)\n {\n newValue = 0;\n }\n\n if (newValue > 100)\n {\n newValue = 100;\n }\n\n var elPBFill = document.getElementById(progressBarId);\n var elPBINfo = document.getElementById(progressBarId + \"Info\");\n\n if (newValue < 100)\n {\n elPBFill.className = \"akeeba-progress-fill\";\n }\n else\n {\n elPBFill.className = \"akeeba-progress-fill--success\";\n }\n\n document.getElementById(progressBarId).style.width = newValue.toFixed(1) + \"%\";\n elPBINfo.innerText = newValue.toFixed(1) + \"%\";\n};\n\n/**\n * Converts a bytes value to a human readable form (e.g. KiB, MiB etc)\n *\n * @param bytes {Number} The number of bytes, e.g. 1124\n * @param si {Boolean} Set to true to use base 10 for unit conversion, otherwise base 2 is used\n *\n * @returns string The human readable size with maximum 1 decimal precision, e.g. 1.1 Kib\n */\nakeeba.Update.humanFileSize = function (bytes, si)\n{\n var thresh = si ? 1000 : 1024;\n\n if (bytes < thresh)\n {\n return bytes + \" B\";\n }\n\n var units = si ? [\n \"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"\n ] : [\n \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\", \"EiB\", \"ZiB\", \"YiB\"\n ];\n var u = -1;\n\n do\n {\n bytes /= thresh;\n ++u;\n }\n while (bytes >= thresh);\n\n return bytes.toFixed(1) + \" \" + units[u];\n};\n\n/**\n * Starts the download of the update file\n */\nakeeba.Update.startDownload = function ()\n{\n akeeba.Update.setProgressBar(0, \"downloadProgressBar\");\n\n document.getElementById(\"downloadProgressBarText\").innerHTML = \"\";\n\n var jsonObject = {\n frag: -1, totalSize: -1\n };\n\n var data = {\n task: \"downloader\",\n json: JSON.stringify(jsonObject)\n };\n\n akeeba.System.doAjax(data, function (ret)\n {\n akeeba.Update.stepDownload(ret);\n }, null, false);\n};\n\n/**\n * Steps through the download of the update file\n *\n * @param data {Object} The return data from the server\n */\nakeeba.Update.stepDownload = function (data)\n{\n // Look for errors\n if (!data.status)\n {\n if ((data.errorCode >= 300) && (data.errorCode < 500))\n {\n akeeba.Update.downloadErrorCallback(akeeba.System.Text._(\"SOLO_UPDATE_ERR_INVALIDDOWNLOADID\"));\n return;\n }\n\n akeeba.Update.downloadErrorCallback(data.error);\n return;\n }\n\n var totalSize = 0;\n var doneSize = 0;\n var percent = 0;\n var frag = -1;\n\n // get running stats\n if (data.totalSize !== undefined)\n {\n totalSize = data.totalSize;\n }\n\n if (data.doneSize !== undefined)\n {\n doneSize = data.doneSize;\n }\n\n if (data.percent !== undefined)\n {\n percent = data.percent;\n }\n\n if (data.frag !== undefined)\n {\n frag = data.frag;\n }\n\n // Update GUI\n akeeba.Update.setProgressBar(percent, \"downloadProgressBar\");\n\n document.getElementById(\"downloadProgressBarText\").innerText = percent.toFixed(1) + \"%\";\n\n var jsonObject = {\n frag: frag, totalSize: totalSize, doneSize: doneSize\n };\n\n var post = {\n \"task\": \"downloader\", \"json\": JSON.stringify(jsonObject)\n };\n\n if (percent < 100)\n {\n // More work to do\n akeeba.System.doAjax(post, function (ret)\n {\n akeeba.Update.stepDownload(ret);\n }, null, false);\n\n return;\n }\n\n // Done!\n akeeba.Update.setProgressBar(100, \"downloadProgressBar\");\n\n akeeba.Update.nextStep();\n};\n\n/**\n * Pings the update script (making sure its executable)\n */\nakeeba.Update.pingExtract = function ()\n{\n // Reset variables\n akeeba.Update.statistics.files = 0;\n akeeba.Update.statistics.inbytes = 0;\n akeeba.Update.statistics.outbytes = 0;\n\n // Do AJAX post\n var post = {task: \"ping\"};\n\n akeeba.System.doEncryptedAjax(post, function (data)\n {\n akeeba.Update.startExtract(data);\n }, function (msg)\n {\n document.getElementById(\"extractProgress\").style.display = \"none\";\n document.getElementById(\"extractPingError\").style.display = \"block\";\n },\n true, 60000, true);\n};\n\nakeeba.Update.startExtract = function ()\n{\n // Reset variables\n akeeba.Update.statistics.files = 0;\n akeeba.Update.statistics.inbytes = 0;\n akeeba.Update.statistics.outbytes = 0;\n\n var post = {task: \"startRestore\"};\n\n akeeba.System.doEncryptedAjax(post, function (data)\n {\n akeeba.Update.stepExtract(data);\n },\n null,\n true,\n 60000,\n true\n );\n};\n\nakeeba.Update.stepExtract = function (data)\n{\n if (data.status == false)\n {\n // handle failure\n akeeba.Update.extractErrorCallback(data.message);\n\n return;\n }\n\n // Parse total size, if exists\n if (data.totalsize !== undefined)\n {\n if (is_array(data.filelist))\n {\n akeeba.Update.statistics.totalSize = 0;\n\n for (var i = 0; i < data.filelist.length; i++)\n {\n var item = data.filelist[i];\n\n akeeba.Update.statistics.totalSize += item[1];\n }\n }\n\n akeeba.Update.statistics.files = 0;\n akeeba.Update.statistics.inbytes = 0;\n akeeba.Update.statistics.outbytes = 0;\n }\n\n // Update GUI\n akeeba.Update.statistics.files += data.files;\n akeeba.Update.statistics.inbytes += data.bytesIn;\n akeeba.Update.statistics.outbytes += data.bytesOut;\n\n var percentage = 0;\n\n if (akeeba.Update.statistics.totalSize > 0)\n {\n percentage = 100 * akeeba.Update.statistics.inbytes / akeeba.Update.statistics.totalSize;\n\n if (percentage < 0)\n {\n percentage = 0;\n }\n else if (percentage > 100)\n {\n percentage = 100;\n }\n }\n\n if (data.done)\n {\n percentage = 100;\n }\n\n akeeba.Update.setProgressBar(percentage, \"extractProgressBar\");\n document.getElementById(\"extractProgressBarTextPercent\").innerText = percentage.toFixed(1);\n document.getElementById(\"extractProgressBarTextIn\").innerText = akeeba.Update.humanFileSize(\n akeeba.Update.statistics.inbytes, 0) + \" / \" + akeeba.Update.humanFileSize(\n akeeba.Update.statistics.totalSize, 0);\n document.getElementById(\"extractProgressBarTextOut\").innerText = akeeba.Update.humanFileSize(\n akeeba.Update.outbytes, 0);\n document.getElementById(\"extractProgressBarTextFile\").innerText = data.lastfile;\n\n if (!empty(data.factory))\n {\n akeeba.Update.factory = data.factory;\n }\n\n if (data.done)\n {\n window.setTimeout(akeeba.Update.finalizeUpdate, 500);\n }\n else\n {\n // Do AJAX post\n post = {\n task: \"stepRestore\", factory: data.factory\n };\n\n akeeba.System.doEncryptedAjax(post, function (data)\n {\n akeeba.Update.stepExtract(data);\n },\n null,\n true,\n 60000,\n true\n );\n }\n};\n\nakeeba.Update.finalizeUpdate = function ()\n{\n // Do AJAX post\n var post = {task: \"finalizeRestore\", factory: akeeba.Update.factory};\n akeeba.System.doEncryptedAjax(post, function (data)\n {\n window.location = akeeba.System.getOptions(\"akeeba.Update.finaliseUrl\");\n },\n null,\n true,\n 60000,\n true\n );\n};\n\n\nakeeba.System.documentReady(function ()\n{\n akeeba.System.addEventListener(\"btnLiveUpdateReleaseNotes\", \"click\", function ()\n {\n akeeba.Modal.open({\n inherit: \"#releaseNotesPopup\",\n width: \"80%\"\n });\n\n return false;\n });\n\n akeeba.System.params.errorCallback = akeeba.Update.downloadErrorCallback;\n\n var autoAction = akeeba.System.getOptions(\"akeeba.Update.autoAction\", \"none\");\n\n switch (autoAction)\n {\n case \"startDownload\":\n akeeba.Update.startDownload();\n break;\n\n case \"pingExtract\":\n akeeba.Update.pingExtract();\n break;\n }\n});"],"mappings":"AAMA,GAAsB,WAAW,EAA7B,MAAO,CAAAA,MAAsB,CAE7B,GAAI,CAAAA,MAAM,CAAG,CAAC,CAAC,CAGU,WAAW,EAApC,MAAO,CAAAA,MAAM,CAACC,MAAsB,GAEpCD,MAAM,CAACC,MAAM,CAAG,CACZC,aAAa,CAAE,IAAI,CACnBC,UAAU,CAAK,CACXC,OAAO,CAAE,CAAC,CAAEC,QAAQ,CAAE,CAAC,CAAEC,KAAK,CAAE,CACpC,CAAC,CACDC,OAAO,CAAQ,IAAI,CACnBC,QAAQ,CAAO,IAAI,CACnBC,OAAO,CAAQ,IAAI,CACnBC,OAAO,CAAQ,IAAI,CACnBC,YAAY,CAAG,CAAC,CAAC,CACjBC,WAAW,CAAI,EAAE,CACjBC,WAAW,CAAI,EACnB,CAAC,EAGLb,MAAM,CAACC,MAAM,CAACa,qBAAqB,CAAG,SAAUC,CAAG,CACnD,IACQ,CAAAC,CAAQ,CAAGC,QAAQ,CAACC,cAAc,CAAC,sBAAsB,CAAC,CAC1DC,CAAQ,CAAGF,QAAQ,CAACC,cAAc,CAAC,qBAAqB,CAAC,CAE7DF,CAAQ,CAACI,KAAK,CAACC,OAAO,CAAG,MAAM,CAC/BF,CAAQ,CAACG,SAAS,CAAO,+BAA+B,CAExDL,QAAQ,CAACC,cAAc,CAAC,mBAAmB,CAAC,CAACK,SAAS,CAAGR,CAAG,CAC5DE,QAAQ,CAACC,cAAc,CAAC,eAAe,CAAC,CAACE,KAAK,CAACC,OAAO,CAAG,OAC7D,CAAC,CAEDrB,MAAM,CAACC,MAAM,CAACuB,oBAAoB,CAAG,SAAUT,CAAG,CAClD,IACQ,CAAAC,CAAQ,CAAGC,QAAQ,CAACC,cAAc,CAAC,qBAAqB,CAAC,CACzDC,CAAQ,CAAGF,QAAQ,CAACC,cAAc,CAAC,oBAAoB,CAAC,CAE5DF,CAAQ,CAACI,KAAK,CAACC,OAAO,CAAG,MAAM,CAC/BF,CAAQ,CAACG,SAAS,CAAO,+BAA+B,CAExDL,QAAQ,CAACC,cAAc,CAAC,kBAAkB,CAAC,CAACK,SAAS,CAAGR,CAAG,CAC3DE,QAAQ,CAACC,cAAc,CAAC,cAAc,CAAC,CAACE,KAAK,CAACC,OAAO,CAAG,OAC5D,CAAC,CAEDrB,MAAM,CAACC,MAAM,CAACwB,QAAQ,CAAG,UACzB,CACIC,MAAM,CAACC,QAAQ,CAAG3B,MAAM,CAAC4B,MAAM,CAACC,UAAU,CAAC,2BAA2B,CAC1E,CAAC,CAOD7B,MAAM,CAACC,MAAM,CAAC6B,cAAc,CAAG,SAAUf,CAAG,CAC5C,CACIgB,KAAK,CAAChB,CAAG,CACb,CAAC,CAQDf,MAAM,CAACC,MAAM,CAAC+B,cAAc,CAAG,SAAUC,CAAO,CAAEC,CAAa,CAC/D,CACQA,CAAa,SAAc,GAE3BA,CAAa,CAAG,qBAAqB,EAGzC,GAAI,CAAAC,CAAQ,CAIRA,CAAQ,CAFG,CAAC,EAAZF,CAAY,CAED,GAAG,CAAGA,CAAO,CAIbA,CAAO,CAGP,CAAC,CAAZE,CAAY,GAEZA,CAAQ,CAAG,CAAC,EAGD,GAAG,CAAdA,CAAc,GAEdA,CAAQ,CAAG,GAAG,KAGd,CAAAhB,CAAQ,CAAGF,QAAQ,CAACC,cAAc,CAACgB,CAAa,CAAC,CACjDE,CAAQ,CAAGnB,QAAQ,CAACC,cAAc,CAACgB,CAAa,CAAG,MAAM,CAAC,CAI1Df,CAAQ,CAACG,SAAS,CAFP,GAAG,CAAda,CAAc,CAEO,sBAAsB,CAItB,+BAA+B,CAGxDlB,QAAQ,CAACC,cAAc,CAACgB,CAAa,CAAC,CAACd,KAAK,CAACiB,KAAK,CAAGF,CAAQ,CAACG,OAAO,CAAC,CAAC,CAAC,CAAG,GAAG,CAC9EF,CAAQ,CAACG,SAAS,CAAmCJ,CAAQ,CAACG,OAAO,CAAC,CAAC,CAAC,CAAG,GAC/E,CAAC,CAUDtC,MAAM,CAACC,MAAM,CAACuC,aAAa,CAAG,SAAUC,CAAK,CAAEC,CAAE,CACjD,CACI,GAAI,CAAAC,CAAM,CAAGD,CAAE,CAAG,GAAI,CAAG,IAAI,CAE7B,GAAID,CAAK,CAAGE,CAAM,CAEd,MAAO,CAAAF,CAAK,CAAG,IAAI,CACtB,GAEG,CAAAG,CAAK,CAAGF,CAAE,CAAG,CACb,IAAI,CAAE,IAAI,CAAE,IAAI,CAAE,IAAI,CAAE,IAAI,CAAE,IAAI,CAAE,IAAI,CAAE,IAAI,CACjD,CAAG,CACA,KAAK,CAAE,KAAK,CAAE,KAAK,CAAE,KAAK,CAAE,KAAK,CAAE,KAAK,CAAE,KAAK,CAAE,KAAK,CACzD,CACGG,CAAC,CAAO,CAAC,CAAC,CAEd,EAEI,CAAAJ,CAAK,EAAIE,CAAM,CACf,EAAEE,CAAC,OAEAJ,CAAK,EAAIE,CAAM,EAEtB,MAAO,CAAAF,CAAK,CAACH,OAAO,CAAC,CAAC,CAAC,CAAG,GAAG,CAAGM,CAAK,CAACC,CAAC,CAC3C,CAAC,CAKD7C,MAAM,CAACC,MAAM,CAAC6C,aAAa,CAAG,UAC9B,CACI9C,MAAM,CAACC,MAAM,CAAC+B,cAAc,CAAC,CAAC,CAAE,qBAAqB,CAAC,CAEtDf,QAAQ,CAACC,cAAc,CAAC,yBAAyB,CAAC,CAACK,SAAS,CAAG,EAAE,IAM7D,CAAAwB,CAAI,CAAG,CACPC,IAAI,CAAE,YAAY,CAClBC,IAAI,CAAEC,IAAI,CAACC,SAAS,CANP,CACbC,IAAI,CAAE,CAAC,CAAC,CAAEC,SAAS,CAAE,CAAC,CAC1B,CAAC,CAKD,CAAC,CAEDrD,MAAM,CAAC4B,MAAM,CAAC0B,MAAM,CAACP,CAAI,CAAE,SAAUQ,CAAG,CACxC,CACIvD,MAAM,CAACC,MAAM,CAACuD,YAAY,CAACD,CAAG,CAClC,CAAC,CAAE,IAAI,IACX,CAAC,CAODvD,MAAM,CAACC,MAAM,CAACuD,YAAY,CAAG,SAAUT,CAAI,CAC3C,CAEI,GAAI,CAACA,CAAI,CAACU,MAAM,OAEW,IAAG,EAArBV,CAAI,CAACW,SAAgB,EAAuB,GAAG,CAApBX,CAAI,CAACW,SAAgB,KAEjD,CAAA1D,MAAM,CAACC,MAAM,CAACa,qBAAqB,CAACd,MAAM,CAAC4B,MAAM,CAAC+B,IAAI,CAACC,CAAC,CAAC,mCAAmC,CAAC,CAAC,KAIlG,CAAA5D,MAAM,CAACC,MAAM,CAACa,qBAAqB,CAACiC,CAAI,CAACc,KAAK,CAAC,CAElD,GAEG,CAAAR,CAAS,CAAG,CAAC,CACbS,CAAQ,CAAI,CAAC,CACb7B,CAAO,CAAK,CAAC,CACbmB,CAAI,CAAQ,CAAC,CAAC,CAGdL,CAAI,CAACM,SAAS,SAAc,GAE5BA,CAAS,CAAGN,CAAI,CAACM,SAAS,EAG1BN,CAAI,CAACe,QAAQ,SAAc,GAE3BA,CAAQ,CAAGf,CAAI,CAACe,QAAQ,EAGxBf,CAAI,CAACd,OAAO,SAAc,GAE1BA,CAAO,CAAGc,CAAI,CAACd,OAAO,EAGtBc,CAAI,CAACK,IAAI,SAAc,GAEvBA,CAAI,CAAGL,CAAI,CAACK,IAAI,EAIpBpD,MAAM,CAACC,MAAM,CAAC+B,cAAc,CAACC,CAAO,CAAE,qBAAqB,CAAC,CAE5DhB,QAAQ,CAACC,cAAc,CAAC,yBAAyB,CAAC,CAACqB,SAAS,CAAGN,CAAO,CAACK,OAAO,CAAC,CAAC,CAAC,CAAG,GAAG,IAEnF,CAAAyB,CAAU,CAAG,CACbX,IAAI,CAAEA,CAAI,CAAEC,SAAS,CAAEA,CAAS,CAAES,QAAQ,CAAEA,CAChD,CAAC,CAEGE,CAAI,CAAG,CACPhB,IAAA,CAAQ,YAAY,CAAEC,IAAA,CAAQC,IAAI,CAACC,SAAS,CAACY,CAAU,CAC3D,CAAC,OAEa,IAAG,CAAb9B,CAAa,KAGb,CAAAjC,MAAM,CAAC4B,MAAM,CAAC0B,MAAM,CAACU,CAAI,CAAE,SAAUT,CAAG,CACxC,CACIvD,MAAM,CAACC,MAAM,CAACuD,YAAY,CAACD,CAAG,CAClC,CAAC,CAAE,IAAI,IAAQ,MAMnBvD,MAAM,CAACC,MAAM,CAAC+B,cAAc,CAAC,GAAG,CAAE,qBAAqB,CAAC,CAExDhC,MAAM,CAACC,MAAM,CAACwB,QAAQ,EAAE,CAC5B,CAAC,CAKDzB,MAAM,CAACC,MAAM,CAACgE,WAAW,CAAG,UAC5B,CAEIjE,MAAM,CAACC,MAAM,CAACE,UAAU,CAACG,KAAK,CAAM,CAAC,CACrCN,MAAM,CAACC,MAAM,CAACE,UAAU,CAACC,OAAO,CAAI,CAAC,CACrCJ,MAAM,CAACC,MAAM,CAACE,UAAU,CAACE,QAAQ,CAAG,CAAC,CAKrCL,MAAM,CAAC4B,MAAM,CAACsC,eAAe,CAFlB,CAAClB,IAAI,CAAE,MAAM,CAAC,CAEW,SAAUD,CAAI,CAClD,CACI/C,MAAM,CAACC,MAAM,CAACkE,YAAY,CAACpB,CAAI,CACnC,CAAC,CAAE,UACH,CACI9B,QAAQ,CAACC,cAAc,CAAC,iBAAiB,CAAC,CAACE,KAAK,CAACC,OAAO,CAAI,MAAM,CAClEJ,QAAQ,CAACC,cAAc,CAAC,kBAAkB,CAAC,CAACE,KAAK,CAACC,OAAO,CAAG,OAChE,CAAC,IACS,GAAK,IACnB,CAAC,CAEDrB,MAAM,CAACC,MAAM,CAACkE,YAAY,CAAG,UAC7B,CAEInE,MAAM,CAACC,MAAM,CAACE,UAAU,CAACG,KAAK,CAAM,CAAC,CACrCN,MAAM,CAACC,MAAM,CAACE,UAAU,CAACC,OAAO,CAAI,CAAC,CACrCJ,MAAM,CAACC,MAAM,CAACE,UAAU,CAACE,QAAQ,CAAG,CAAC,CAIrCL,MAAM,CAAC4B,MAAM,CAACsC,eAAe,CAFlB,CAAClB,IAAI,CAAE,cAAc,CAAC,CAEG,SAAUD,CAAI,CAClD,CACI/C,MAAM,CAACC,MAAM,CAACmE,WAAW,CAACrB,CAAI,CAClC,CAAC,CACG,IAAI,IAEJ,GAAK,IAGb,CAAC,CAED/C,MAAM,CAACC,MAAM,CAACmE,WAAW,CAAG,SAAUrB,CAAI,CAC1C,CACI,GAAI,IAAAA,CAAI,CAACU,MAAe,CAKpB,WAFA,CAAAzD,MAAM,CAACC,MAAM,CAACuB,oBAAoB,CAACuB,CAAI,CAACsB,OAAO,CAAC,CAMpD,GAAI,SAAAtB,CAAI,CAACuB,SAAuB,CAChC,CACI,GAAIC,QAAQ,CAACxB,CAAI,CAACyB,QAAQ,CAAC,CAC3B,CACIxE,MAAM,CAACC,MAAM,CAACE,UAAU,CAACkD,SAAS,CAAG,CAAC,CAEtC,IAAK,GAEG,CAAAoB,CAAI,CAFHC,CAAC,CAAG,CAAC,CAAEA,CAAC,CAAG3B,CAAI,CAACyB,QAAQ,CAACG,MAAM,CAAED,CAAC,EAAE,CAErCD,CAAI,CAAG1B,CAAI,CAACyB,QAAQ,CAACE,CAAC,CAAC,CAE3B1E,MAAM,CAACC,MAAM,CAACE,UAAU,CAACkD,SAAS,EAAIoB,CAAI,CAAC,CAAC,CAEpD,CAEAzE,MAAM,CAACC,MAAM,CAACE,UAAU,CAACG,KAAK,CAAM,CAAC,CACrCN,MAAM,CAACC,MAAM,CAACE,UAAU,CAACC,OAAO,CAAI,CAAC,CACrCJ,MAAM,CAACC,MAAM,CAACE,UAAU,CAACE,QAAQ,CAAG,CACxC,CAGAL,MAAM,CAACC,MAAM,CAACE,UAAU,CAACG,KAAK,EAAIyC,CAAI,CAACzC,KAAK,CAC5CN,MAAM,CAACC,MAAM,CAACE,UAAU,CAACC,OAAO,EAAI2C,CAAI,CAAC6B,OAAO,CAChD5E,MAAM,CAACC,MAAM,CAACE,UAAU,CAACE,QAAQ,EAAI0C,CAAI,CAAC8B,QAAQ,CAElD,GAAI,CAAAC,CAAU,CAAG,CAAC,CAEuB,CAAC,CAAtC9E,MAAM,CAACC,MAAM,CAACE,UAAU,CAACkD,SAAa,GAEtCyB,CAAU,CAAG,GAAG,CAAG9E,MAAM,CAACC,MAAM,CAACE,UAAU,CAACC,OAAO,CAAGJ,MAAM,CAACC,MAAM,CAACE,UAAU,CAACkD,SAAS,CAEvE,CAAC,CAAdyB,CAAc,CAEdA,CAAU,CAAG,CAAC,CAEI,GAAG,CAAhBA,CAAgB,GAErBA,CAAU,CAAG,GAAG,GAIpB/B,CAAI,CAACgC,IAAI,GAETD,CAAU,CAAG,GAAG,EAGpB9E,MAAM,CAACC,MAAM,CAAC+B,cAAc,CAAC8C,CAAU,CAAE,oBAAoB,CAAC,CAC9D7D,QAAQ,CAACC,cAAc,CAAC,+BAA+B,CAAC,CAACqB,SAAS,CAAGuC,CAAU,CAACxC,OAAO,CAAC,CAAC,CAAC,CAC1FrB,QAAQ,CAACC,cAAc,CAAC,0BAA0B,CAAC,CAACqB,SAAS,CAAQvC,MAAM,CAACC,MAAM,CAACuC,aAAa,CAC5FxC,MAAM,CAACC,MAAM,CAACE,UAAU,CAACC,OAAO,CAAE,CAAC,CAAC,CAAG,KAAK,CAAGJ,MAAM,CAACC,MAAM,CAACuC,aAAa,CAC1ExC,MAAM,CAACC,MAAM,CAACE,UAAU,CAACkD,SAAS,CAAE,CAAC,CAAC,CAC1CpC,QAAQ,CAACC,cAAc,CAAC,2BAA2B,CAAC,CAACqB,SAAS,CAAOvC,MAAM,CAACC,MAAM,CAACuC,aAAa,CAC5FxC,MAAM,CAACC,MAAM,CAACI,QAAQ,CAAE,CAAC,CAAC,CAC9BY,QAAQ,CAACC,cAAc,CAAC,4BAA4B,CAAC,CAACqB,SAAS,CAAMQ,CAAI,CAACiC,QAAQ,CAE7EC,KAAK,CAAClC,CAAI,CAACxC,OAAO,CAAC,GAEpBP,MAAM,CAACC,MAAM,CAACM,OAAO,CAAGwC,CAAI,CAACxC,OAAO,EAGpCwC,CAAI,CAACgC,IAAI,CAETrD,MAAM,CAACwD,UAAU,CAAClF,MAAM,CAACC,MAAM,CAACkF,cAAc,CAAE,GAAG,CAAC,EAKpDnB,IAAI,CAAG,CACHhB,IAAI,CAAE,aAAa,CAAEzC,OAAO,CAAEwC,CAAI,CAACxC,OACvC,CAAC,CAEDP,MAAM,CAAC4B,MAAM,CAACsC,eAAe,CAACF,IAAI,CAAE,SAAUjB,CAAI,CAClD,CACI/C,MAAM,CAACC,MAAM,CAACmE,WAAW,CAACrB,CAAI,CAClC,CAAC,CACG,IAAI,IAEJ,GAAK,IAER,CAET,CAAC,CAED/C,MAAM,CAACC,MAAM,CAACkF,cAAc,CAAG,UAC/B,CAEI,GAAI,CAAAnB,CAAI,CAAG,CAAChB,IAAI,CAAE,iBAAiB,CAAEzC,OAAO,CAAEP,MAAM,CAACC,MAAM,CAACM,OAAO,CAAC,CACpEP,MAAM,CAAC4B,MAAM,CAACsC,eAAe,CAACF,CAAI,CAAE,UACpC,CACItC,MAAM,CAACC,QAAQ,CAAG3B,MAAM,CAAC4B,MAAM,CAACC,UAAU,CAAC,2BAA2B,CAC1E,CAAC,CACG,IAAI,IAEJ,GAAK,IAGb,CAAC,CAGD7B,MAAM,CAAC4B,MAAM,CAACwD,aAAa,CAAC,UAC5B,CACIpF,MAAM,CAAC4B,MAAM,CAACyD,gBAAgB,CAAC,2BAA2B,CAAE,OAAO,CAAE,UACrE,CAMI,MALA,CAAArF,MAAM,CAACsF,KAAK,CAACC,IAAI,CAAC,CACdC,OAAO,CAAE,oBAAoB,CAC7BnD,KAAK,CAAI,KACb,CAAC,CAAC,GAGN,CAAC,CAAC,CAEFrC,MAAM,CAAC4B,MAAM,CAAC6D,MAAM,CAACvF,aAAa,CAAGF,MAAM,CAACC,MAAM,CAACa,qBAAqB,CAExE,GAAI,CAAA4E,CAAU,CAAG1F,MAAM,CAAC4B,MAAM,CAACC,UAAU,CAAC,0BAA0B,CAAE,MAAM,CAAC,CAIpE,eAAe,GAFhB6D,CAAU,CAGV1F,MAAM,CAACC,MAAM,CAAC6C,aAAa,EAAE,CAG5B,aAAa,GANd4C,CAAU,CAOV1F,MAAM,CAACC,MAAM,CAACgE,WAAW,EAAE,OAGvC,CAAC,CAAC"}
Save
cmd:
run