From 32612f3103f6f733a8d08626cfefd11476db2034 Mon Sep 17 00:00:00 2001 From: xiadc <251308692@qq.com> Date: Sat, 26 Apr 2025 15:49:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(upload):=20=E6=B7=BB=E5=8A=A0=E5=8D=8E?= =?UTF-8?q?=E4=B8=BA=20OBS=20=E5=AF=B9=E8=B1=A1=E5=AD=98=E5=82=A8=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 addons.php 中添加了与华为 OBS 相关的钩子 - 新增了对华为 OBS 上传功能的实现,包括分片上传和合并 - 优化了上传参数处理和错误处理 - 支持客户端和服务端两种上传模式 --- addons/hwobs/.addonrc | 1 + addons/hwobs/Hwobs.php | 152 + addons/hwobs/bootstrap.js | 279 ++ addons/hwobs/config.php | 245 + addons/hwobs/controller/Index.php | 325 ++ addons/hwobs/info.ini | 10 + addons/hwobs/library/Auth.php | 37 + .../Obs/Internal/Common/CheckoutStream.php | 63 + .../Obs/Internal/Common/ITransform.php | 23 + .../library/Obs/Internal/Common/Model.php | 257 ++ .../Obs/Internal/Common/ObsTransform.php | 78 + .../Obs/Internal/Common/SchemaFormatter.php | 116 + .../Obs/Internal/Common/SdkCurlFactory.php | 422 ++ .../Obs/Internal/Common/SdkStreamHandler.php | 502 ++ .../Obs/Internal/Common/ToArrayInterface.php | 23 + .../Obs/Internal/Common/V2Transform.php | 83 + .../library/Obs/Internal/GetResponseTrait.php | 380 ++ .../Obs/Internal/Resource/Constants.php | 123 + .../Obs/Internal/Resource/OBSConstants.php | 35 + .../Internal/Resource/OBSRequestResource.php | 4071 +++++++++++++++++ .../Obs/Internal/Resource/V2Constants.php | 38 + .../Internal/Resource/V2RequestResource.php | 3890 ++++++++++++++++ .../library/Obs/Internal/SendRequestTrait.php | 718 +++ .../Internal/Signature/AbstractSignature.php | 462 ++ .../Internal/Signature/DefaultSignature.php | 138 + .../Internal/Signature/SignatureInterface.php | 25 + .../Obs/Internal/Signature/V4Signature.php | 199 + addons/hwobs/library/Obs/Log/ObsConfig.php | 28 + addons/hwobs/library/Obs/Log/ObsLog.php | 126 + addons/hwobs/library/Obs/ObsClient.php | 405 ++ addons/hwobs/library/Obs/ObsException.php | 140 + addons/hwobs/library/Signer.php | 68 + application/extra/addons.php | 14 +- public/assets/addons/hwobs/js/spark.js | 1 + public/assets/js/addons.js | 282 +- vendor/composer/autoload_classmap.php | 2270 +++++++++ vendor/composer/autoload_static.php | 2270 +++++++++ 37 files changed, 18296 insertions(+), 3 deletions(-) create mode 100644 addons/hwobs/.addonrc create mode 100644 addons/hwobs/Hwobs.php create mode 100644 addons/hwobs/bootstrap.js create mode 100644 addons/hwobs/config.php create mode 100644 addons/hwobs/controller/Index.php create mode 100644 addons/hwobs/info.ini create mode 100644 addons/hwobs/library/Auth.php create mode 100644 addons/hwobs/library/Obs/Internal/Common/CheckoutStream.php create mode 100644 addons/hwobs/library/Obs/Internal/Common/ITransform.php create mode 100644 addons/hwobs/library/Obs/Internal/Common/Model.php create mode 100644 addons/hwobs/library/Obs/Internal/Common/ObsTransform.php create mode 100644 addons/hwobs/library/Obs/Internal/Common/SchemaFormatter.php create mode 100644 addons/hwobs/library/Obs/Internal/Common/SdkCurlFactory.php create mode 100644 addons/hwobs/library/Obs/Internal/Common/SdkStreamHandler.php create mode 100644 addons/hwobs/library/Obs/Internal/Common/ToArrayInterface.php create mode 100644 addons/hwobs/library/Obs/Internal/Common/V2Transform.php create mode 100644 addons/hwobs/library/Obs/Internal/GetResponseTrait.php create mode 100644 addons/hwobs/library/Obs/Internal/Resource/Constants.php create mode 100644 addons/hwobs/library/Obs/Internal/Resource/OBSConstants.php create mode 100644 addons/hwobs/library/Obs/Internal/Resource/OBSRequestResource.php create mode 100644 addons/hwobs/library/Obs/Internal/Resource/V2Constants.php create mode 100644 addons/hwobs/library/Obs/Internal/Resource/V2RequestResource.php create mode 100644 addons/hwobs/library/Obs/Internal/SendRequestTrait.php create mode 100644 addons/hwobs/library/Obs/Internal/Signature/AbstractSignature.php create mode 100644 addons/hwobs/library/Obs/Internal/Signature/DefaultSignature.php create mode 100644 addons/hwobs/library/Obs/Internal/Signature/SignatureInterface.php create mode 100644 addons/hwobs/library/Obs/Internal/Signature/V4Signature.php create mode 100644 addons/hwobs/library/Obs/Log/ObsConfig.php create mode 100644 addons/hwobs/library/Obs/Log/ObsLog.php create mode 100644 addons/hwobs/library/Obs/ObsClient.php create mode 100644 addons/hwobs/library/Obs/ObsException.php create mode 100644 addons/hwobs/library/Signer.php create mode 100644 public/assets/addons/hwobs/js/spark.js diff --git a/addons/hwobs/.addonrc b/addons/hwobs/.addonrc new file mode 100644 index 0000000..41cb282 --- /dev/null +++ b/addons/hwobs/.addonrc @@ -0,0 +1 @@ +{"files":["public\\assets\\addons\\hwobs\\js\\spark.js"],"license":"regular","licenseto":"34485","licensekey":"kaCpXL6B57yO89Rv h7EIXhuMw6+sCcUldTSJoQ==","domains":["localhost"],"licensecodes":[],"validations":["757319b447175b6ca1882635b132a594"]} \ No newline at end of file diff --git a/addons/hwobs/Hwobs.php b/addons/hwobs/Hwobs.php new file mode 100644 index 0000000..5e00b78 --- /dev/null +++ b/addons/hwobs/Hwobs.php @@ -0,0 +1,152 @@ +getConfig(); + $module = strtolower($request->module()); + if ($module == 'api' && ($config['apiupload'] ?? 0) && + strtolower($request->controller()) == 'common' && + strtolower($request->action()) == 'upload') { + request()->param('isApi', true); + App::invokeMethod(["\\addons\\hwobs\\controller\\Index", "upload"], ['isApi' => true]); + } + } + + /** + * 上传配置初始化 + */ + public function uploadConfigInit(&$upload) + { + $config = $this->getConfig(); + $module = request()->module(); + $module = $module ? strtolower($module) : 'index'; + + $data = ['deadline' => time() + $config['expire']]; + $signature = hash_hmac('sha1', json_encode($data), $config['secretKey'], true); + + $token = ''; + if (Auth::isModuleAllow()) { + $token = $config['accessKey'] . ':' . base64_encode($signature) . ':' . base64_encode(json_encode($data)); + } + $multipart = [ + 'hwobstoken' => $token + ]; + + $upload = array_merge($upload, [ + 'cdnurl' => $config['cdnurl'], + 'uploadurl' => $config['uploadmode'] == 'client' ? $config['uploadurl'] : addon_url('hwobs/index/upload', [], false, true), + 'uploadmode' => $config['uploadmode'], + 'bucket' => $config['bucket'], + 'maxsize' => $config['maxsize'], + 'mimetype' => $config['mimetype'], + 'savekey' => $config['savekey'], + 'chunking' => (bool)($config['chunking'] ?? $upload['chunking']), + 'chunksize' => (int)($config['chunksize'] ?? $upload['chunksize']), + 'multipart' => $multipart, + 'storage' => $this->getName(), + 'multiple' => (bool)$config['multiple'], + ]); + } + + /** + * 附件删除后 + */ + public function uploadDelete($attachment) + { + $config = $this->getConfig(); + if ($attachment['storage'] == 'hwobs' && isset($config['syncdelete']) && $config['syncdelete']) { + try { + //删除云储存文件 + $config = get_addon_config('hwobs'); + $obs = new ObsClient([ + 'key' => $config['accessKey'], + 'secret' => $config['secretKey'], + 'endpoint' => $config['endpoint'] + ]); + $result = $obs->deleteObject([ + 'Bucket' => $config['bucket'], + 'Key' => ltrim($attachment->url, '/') + ]); + } catch (\Exception $e) { + return false; + } + + //如果是服务端中转,还需要删除本地文件 + //if ($config['uploadmode'] == 'server') { + // $filePath = ROOT_PATH . 'public' . str_replace('/', DS, $attachment->url); + // if ($filePath) { + // @unlink($filePath); + // } + //} + + } + return true; + } + + /** + * 渲染命名空间配置信息 + */ + public function appInit() + { + if (!class_exists('\Obs\ObsClient')) { + Loader::addNamespace('Obs', $this->addons_path . str_replace('/', DS, 'library/Obs/')); + } + } +} diff --git a/addons/hwobs/bootstrap.js b/addons/hwobs/bootstrap.js new file mode 100644 index 0000000..5370dfe --- /dev/null +++ b/addons/hwobs/bootstrap.js @@ -0,0 +1,279 @@ +if (typeof Config.upload.storage !== 'undefined' && Config.upload.storage === 'hwobs') { + require(['upload'], function (Upload) { + //获取文件MD5值 + var getFileMd5 = function (file, cb) { + //如果savekey中未检测到md5,则无需获取文件md5,直接返回upload的uuid + if (!Config.upload.savekey.match(/\{(file)?md5\}/)) { + cb && cb(file.upload.uuid); + return; + } + require(['../addons/hwobs/js/spark'], function (SparkMD5) { + var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice, + chunkSize = 10 * 1024 * 1024, + chunks = Math.ceil(file.size / chunkSize), + currentChunk = 0, + spark = new SparkMD5.ArrayBuffer(), + fileReader = new FileReader(); + + fileReader.onload = function (e) { + spark.append(e.target.result); + currentChunk++; + if (currentChunk < chunks) { + loadNext(); + } else { + cb && cb(spark.end()); + } + }; + + fileReader.onerror = function () { + console.warn('文件读取错误'); + }; + + function loadNext() { + var start = currentChunk * chunkSize, + end = ((start + chunkSize) >= file.size) ? file.size : start + chunkSize; + + fileReader.readAsArrayBuffer(blobSlice.call(file, start, end)); + } + + loadNext(); + }); + }; + + var _onInit = Upload.events.onInit; + //初始化中完成判断 + Upload.events.onInit = function () { + _onInit.apply(this, Array.prototype.slice.apply(arguments)); + //如果上传接口不是hwobs,则不处理 + if (this.options.url !== Config.upload.uploadurl) { + return; + } + $.extend(this.options, { + //关闭自动处理队列功能 + autoQueue: false, + params: function (files, xhr, chunk) { + var params = $.extend({}, Config.upload.multipart); + if (chunk) { + return $.extend({}, params, { + filesize: chunk.file.size, + filename: chunk.file.name, + chunkid: chunk.file.upload.uuid, + chunkindex: chunk.index, + chunkcount: chunk.file.upload.totalChunkCount, + chunkfilesize: chunk.dataBlock.data.size, + chunksize: this.options.chunkSize, + width: chunk.file.width || 0, + height: chunk.file.height || 0, + type: chunk.file.type, + uploadId: chunk.file.uploadId, + key: chunk.file.key, + }); + } + return params; + }, + chunkSuccess: function (chunk, file, response) { + var etag = chunk.xhr.getResponseHeader("ETag").replace(/(^")|("$)/g, ''); + file.etags = file.etags ? file.etags : []; + file.etags[chunk.index] = etag; + }, + chunksUploaded: function (file, done) { + var that = this; + + Fast.api.ajax({ + url: "/addons/hwobs/index/upload", + data: { + action: 'merge', + filesize: file.size, + filename: file.name, + chunkid: file.upload.uuid, + chunkcount: file.upload.totalChunkCount, + md5: file.md5, + key: file.key, + uploadId: file.uploadId, + etags: file.etags, + category: file.category || '', + hwobstoken: Config.upload.multipart.hwobstoken, + }, + }, function (data, ret) { + done(JSON.stringify(ret)); + return false; + }, function (data, ret) { + file.accepted = false; + that._errorProcessing([file], ret.msg); + return false; + }); + + }, + }); + + var _success = this.options.success; + //先移除已有的事件 + this.off("success", _success).on("success", function (file, response) { + var ret = {code: 0, msg: response}; + try { + if (response) { + ret = typeof response === 'string' ? JSON.parse(response) : response; + } + if (file.xhr.status === 200 || file.xhr.status === 204) { + + if (Config.upload.uploadmode === 'client') { + ret = {code: 1, data: {url: '/' + file.key}}; + } + + if (ret.code == 1) { + var url = ret.data.url || ''; + Fast.api.ajax({ + url: "/addons/hwobs/index/notify", + data: {name: file.name, url: url, md5: file.md5, size: file.size, width: file.width || 0, height: file.height || 0, type: file.type, category: file.category || '', hwobstoken: Config.upload.multipart.hwobstoken} + }, function () { + return false; + }, function () { + return false; + }); + } else { + console.error(ret); + } + } else { + console.error(file.xhr); + } + } catch (e) { + console.error(e); + } + _success.call(this, file, ret); + }); + + this.on("addedfile", function (file) { + var that = this; + setTimeout(function () { + if (file.status === 'error') { + return; + } + getFileMd5(file, function (md5) { + var chunk = that.options.chunking && file.size > that.options.chunkSize ? 1 : 0; + var params = $(that.element).data("params") || {}; + var category = typeof params.category !== 'undefined' ? params.category : ($(that.element).data("category") || ''); + category = typeof category === 'function' ? category.call(that, file) : category; + Fast.api.ajax({ + url: "/addons/hwobs/index/params", + data: {method: 'POST', category: category, md5: md5, name: file.name, type: file.type, size: file.size, chunk: chunk, chunksize: that.options.chunkSize, hwobstoken: Config.upload.multipart.hwobstoken}, + }, function (data) { + file.md5 = md5; + file.id = data.id; + file.key = data.key; + file.date = data.date; + file.uploadId = data.uploadId; + file.policy = data.policy; + file.signature = data.signature; + file.partsAuthorization = data.partsAuthorization; + file.headers = data.headers; + delete data.headers; + file.params = data; + file.category = category; + + if (file.status != 'error') { + //开始上传 + that.enqueueFile(file); + } else { + that.removeFile(file); + } + return false; + }, function () { + that.removeFile(file); + }); + }); + }, 0); + }); + + if (Config.upload.uploadmode === 'client') { + var _method = this.options.method; + var _url = this.options.url; + this.options.method = function (files) { + if (files[0].upload.chunked) { + var chunk = null; + files[0].upload.chunks.forEach(function (item) { + if (item.status === 'uploading') { + chunk = item; + } + }); + if (!chunk) { + return "POST"; + } else { + return "PUT"; + } + } else { + return "POST"; + } + return _method; + }; + this.options.url = function (files) { + if (files[0].upload.chunked) { + var chunk = null; + files[0].upload.chunks.forEach(function (item) { + if (item.status === 'uploading') { + chunk = item; + } + }); + var index = chunk.dataBlock.chunkIndex; + this.options.headers = {"Authorization": files[0]['partsAuthorization'][index], "x-amz-date": files[0]['date']}; + if (!chunk) { + return Config.upload.uploadurl + "/" + files[0].key + "?uploadId=" + files[0].uploadId; + } else { + return Config.upload.uploadurl + "/" + files[0].key + "?partNumber=" + (index + 1) + "&uploadId=" + files[0].uploadId; + } + } + return _url; + }; + this.options.params = function (files, xhr, chunk) { + var params = Config.upload.multipart; + delete params.category; + if (chunk) { + return $.extend({}, params, { + filesize: chunk.file.size, + filename: chunk.file.name, + chunkid: chunk.file.upload.uuid, + chunkindex: chunk.index, + chunkcount: chunk.file.upload.totalChunkCount, + chunkfilesize: chunk.dataBlock.data.size, + width: chunk.file.width || 0, + height: chunk.file.height || 0, + type: chunk.file.type, + }); + } else { + var retParams = $.extend({}, params, files[0].params || {}); + delete retParams.hwobstoken; + delete retParams.date; + delete retParams.md5; + if (Config.upload.uploadmode !== 'client') { + params.category = files[0].category || ''; + } + return retParams; + } + }; + this.on("sending", function (file, xhr, formData) { + var that = this; + var _send = xhr.send; + //仅允许部分字段 + var allowFields = ['partNumber', 'uploadId', 'key', 'AccessKeyId', 'policy', 'signature', 'file']; + formData.forEach(function (value, key) { + if (allowFields.indexOf(key) < 0) { + formData.delete(key); + } + }); + if (file.upload.chunked) { + xhr.send = function () { + if (file.upload.chunked) { + var chunk = null; + file.upload.chunks.forEach(function (item) { + if (item.status == 'uploading') { + chunk = item; + } + }); + _send.call(xhr, chunk.dataBlock.data); + } + }; + } + }); + } + }; + }); +} diff --git a/addons/hwobs/config.php b/addons/hwobs/config.php new file mode 100644 index 0000000..6b6fa57 --- /dev/null +++ b/addons/hwobs/config.php @@ -0,0 +1,245 @@ + 'accessKey', + 'title' => 'Access Key', + 'type' => 'string', + 'content' => [], + 'value' => '', + 'rule' => 'required', + 'msg' => '', + 'tip' => '请前往华为云控制台->我的凭证->访问密钥中生成', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'secretKey', + 'title' => 'Secret Key', + 'type' => 'string', + 'content' => [], + 'value' => '', + 'rule' => 'required', + 'msg' => '', + 'tip' => '请前往华为云控制台->我的凭证->访问密钥中生成', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'bucket', + 'title' => '存储桶名称', + 'type' => 'string', + 'content' => [], + 'value' => 'yourbucket', + 'rule' => 'required', + 'msg' => '', + 'tip' => '存储桶名称', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'endpoint', + 'title' => 'Endpoint', + 'type' => 'string', + 'content' => [], + 'value' => 'obs.cn-south-1.myhuaweicloud.com', + 'rule' => 'required;endpoint', + 'msg' => '', + 'tip' => '请输入你的Endpoint', + 'ok' => '', + 'extend' => 'data-rule-endpoint="[/^(?!http(s)?:\/\/).*$/, \'不能以http(s)://开头\']"', + ], + [ + 'name' => 'uploadurl', + 'title' => '上传接口地址', + 'type' => 'string', + 'content' => [], + 'value' => 'https://yourbucket.obs.cn-south-1.myhuaweicloud.com', + 'rule' => 'required;uploadurl', + 'msg' => '', + 'tip' => '请使用存储桶->基本信息->访问域名的值,并在前面加上http://或https://', + 'ok' => '', + 'extend' => 'data-rule-uploadurl="[/^http(s)?:\/\/.*$/, \'必需以http(s)://开头\']"', + ], + [ + 'name' => 'cdnurl', + 'title' => 'CDN地址', + 'type' => 'string', + 'content' => [], + 'value' => 'https://yourbucket.obs.cn-south-1.myhuaweicloud.com', + 'rule' => 'required;cdnurl', + 'msg' => '', + 'tip' => '如果你的云存储有绑定自定义域名,请输入自定义域名', + 'ok' => '', + 'extend' => 'data-rule-cdnurl="[/^http(s)?:\/\/.*$/, \'必需以http(s)://开头\']"', + ], + [ + 'name' => 'uploadmode', + 'title' => '上传模式', + 'type' => 'select', + 'content' => [ + 'client' => '客户端直传(速度快,无备份)', + 'server' => '服务器中转(占用服务器带宽,有备份)', + ], + 'value' => 'server', + 'rule' => '', + 'msg' => '', + 'tip' => '', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'serverbackup', + 'title' => '服务器中转模式备份', + 'type' => 'radio', + 'content' => [ + 1 => '备份(附件管理将产生2条记录)', + 0 => '不备份', + ], + 'value' => '1', + 'rule' => '', + 'msg' => '', + 'tip' => '服务器中转模式下是否备份文件', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'savekey', + 'title' => '保存文件名', + 'type' => 'string', + 'content' => [], + 'value' => '/uploads/{year}{mon}{day}/{filemd5}{.suffix}', + 'rule' => 'required', + 'msg' => '', + 'tip' => '', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'expire', + 'title' => '上传有效时长', + 'type' => 'string', + 'content' => [], + 'value' => '600', + 'rule' => 'required', + 'msg' => '', + 'tip' => '用户停留页面上传有效时长,单位秒', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'maxsize', + 'title' => '最大可上传', + 'type' => 'string', + 'content' => [], + 'value' => '10M', + 'rule' => 'required', + 'msg' => '', + 'tip' => '', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'mimetype', + 'title' => '可上传后缀格式', + 'type' => 'string', + 'content' => [], + 'value' => 'jpg,png,bmp,jpeg,gif,zip,rar,xls,xlsx', + 'rule' => 'required', + 'msg' => '', + 'tip' => '', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'multiple', + 'title' => '多文件上传', + 'type' => 'bool', + 'content' => [], + 'value' => '0', + 'rule' => 'required', + 'msg' => '', + 'tip' => '', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'thumbstyle', + 'title' => '缩略图样式', + 'type' => 'string', + 'content' => [], + 'value' => '', + 'rule' => '', + 'msg' => '', + 'tip' => '用于后台列表缩略图样式,可使用:?x-image-process=image/resize,m_fixed,h_90,w_120或?x-image-process=style/样式名称', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'chunking', + 'title' => '分片上传', + 'type' => 'radio', + 'content' => [ + 1 => '开启', + 0 => '关闭', + ], + 'value' => '0', + 'rule' => 'required', + 'msg' => '', + 'tip' => '', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'chunksize', + 'title' => '分片大小', + 'type' => 'number', + 'content' => [], + 'value' => '4194304', + 'rule' => 'required', + 'msg' => '', + 'tip' => '', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'syncdelete', + 'title' => '附件删除时是否同步删除云存储文件', + 'type' => 'bool', + 'content' => [], + 'value' => '0', + 'rule' => 'required', + 'msg' => '', + 'tip' => '', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'apiupload', + 'title' => 'API接口使用云存储', + 'type' => 'bool', + 'content' => [], + 'value' => '0', + 'rule' => 'required', + 'msg' => '', + 'tip' => '', + 'ok' => '', + 'extend' => '', + ], + [ + 'name' => 'noneedlogin', + 'title' => '免登录上传', + 'type' => 'checkbox', + 'content' => [ + 'api' => 'API', + 'index' => '前台', + 'admin' => '后台', + ], + 'value' => '', + 'rule' => '', + 'msg' => '', + 'tip' => '', + 'ok' => '', + 'extend' => '', + ], +]; diff --git a/addons/hwobs/controller/Index.php b/addons/hwobs/controller/Index.php new file mode 100644 index 0000000..fb73c7a --- /dev/null +++ b/addons/hwobs/controller/Index.php @@ -0,0 +1,325 @@ +error("当前插件暂无前台页面"); + } + + public function params() + { + $this->check(); + + $config = get_addon_config('hwobs'); + $name = $this->request->post('name'); + $md5 = $this->request->post('md5'); + $chunk = $this->request->post('chunk'); + + $key = (new Upload())->getSavekey($config['savekey'], $name, $md5); + $key = ltrim($key, "/"); + $params = [ + 'key' => $key, + 'md5' => $md5 + ]; + $fileSize = $this->request->post('size'); + $type = $this->request->post('type'); + $date = gmdate('D, d M Y H:i:s \G\M\T', time()); + $headers = []; + $obs = new ObsClient([ + 'key' => $config['accessKey'], + 'secret' => $config['secretKey'], + 'endpoint' => $config['endpoint'] + ]); + if ($chunk) { + $partSize = $this->request->post("chunksize"); + + try { + $ret = $obs->initiateMultipartUpload([ + 'Bucket' => $config['bucket'], + 'Key' => $key, + ]); + } catch (\Exception $e) { + $this->error("上传失败"); + } + $uploadId = $ret['UploadId']; + + $params['key'] = $key; + $params['uploadId'] = $uploadId; + $params['partsAuthorization'] = Signer::getPartsAuthorization($key, $uploadId, $fileSize, $partSize, $date); + } else { + $signature = $obs->createPostSignature([ + 'Bucket' => $config['bucket'], + 'Key' => $key, + 'FormParams' => [ + ] + ]); + $params['key'] = $key; + $params['AccessKeyId'] = $config['accessKey']; + $params['policy'] = $signature['Policy']; + $params['signature'] = $signature['Signature']; + } + $params['headers'] = $headers; + $params['date'] = $date; + $this->success('', null, $params); + return; + } + + /** + * 服务器中转上传文件 + * 上传分片 + * 合并分片 + * @param bool $isApi + */ + public function upload($isApi = false) + { + if ($isApi === true) { + if (!Auth::isModuleAllow()) { + $this->error("请登录后再进行操作"); + } + } else { + $this->check(); + } + $config = get_addon_config('hwobs'); + $obs = new ObsClient([ + 'key' => $config['accessKey'], + 'secret' => $config['secretKey'], + 'endpoint' => $config['endpoint'] + ]); + + //检测删除文件或附件 + $checkDeleteFile = function ($attachment, $upload, $force = false) use ($config) { + //如果设定为不备份则删除文件和记录 或 强制删除 + if ((isset($config['serverbackup']) && !$config['serverbackup']) || $force) { + if ($attachment && !empty($attachment['id'])) { + $attachment->delete(); + } + if ($upload) { + //文件绝对路径 + $filePath = $upload->getFile()->getRealPath() ?: $upload->getFile()->getPathname(); + @unlink($filePath); + } + } + }; + + $chunkid = $this->request->post("chunkid"); + if ($chunkid) { + $action = $this->request->post("action"); + $chunkindex = $this->request->post("chunkindex/d"); + $chunkcount = $this->request->post("chunkcount/d"); + $filesize = $this->request->post("filesize"); + $filename = $this->request->post("filename"); + $method = $this->request->method(true); + $key = $this->request->post("key"); + $uploadId = $this->request->post("uploadId"); + + if ($action == 'merge') { + $attachment = null; + $upload = null; + //合并分片 + if ($config['uploadmode'] == 'server') { + //合并分片文件 + try { + $upload = new Upload(); + $attachment = $upload->merge($chunkid, $chunkcount, $filename); + } catch (UploadException $e) { + $this->error($e->getMessage()); + } + } + + $etags = $this->request->post("etags/a", []); + if (count($etags) != $chunkcount) { + $checkDeleteFile($attachment, $upload, true); + $this->error("分片数据错误"); + } + $listParts = []; + for ($i = 0; $i < $chunkcount; $i++) { + $listParts[] = array("PartNumber" => $i + 1, "ETag" => $etags[$i]); + } + try { + $result = $obs->completeMultipartUpload([ + 'Bucket' => $config['bucket'], + 'Key' => $key, + // 设置Upload ID + 'UploadId' => $uploadId, + 'Parts' => $listParts + ]); + } catch (\Exception $e) { + $checkDeleteFile($attachment, $upload, true); + $this->error($e->getMessage()); + } + if (!isset($result['Key'])) { + $checkDeleteFile($attachment, $upload, true); + $this->error("上传失败"); + } else { + $checkDeleteFile($attachment, $upload); + $this->success("上传成功", '', ['url' => "/" . $key, 'fullurl' => cdnurl("/" . $key, true)]); + } + } else { + //默认普通上传文件 + $file = $this->request->file('file'); + try { + $upload = new Upload($file); + $file = $upload->chunk($chunkid, $chunkindex, $chunkcount); + } catch (UploadException $e) { + $this->error($e->getMessage()); + } + try { + $ret = $obs->uploadPart([ + 'Bucket' => $config['bucket'], + 'Key' => $key, + // 设置分段号,范围是1~10000 + 'PartNumber' => $chunkindex + 1, + // 设置Upload ID + 'UploadId' => $uploadId, + // 设置将要上传的大文件,localfile为上传的本地文件路径,需要指定到具体的文件名 + 'SourceFile' => $file->getRealPath(), + // 设置分段大小 + 'PartSize' => $file->getSize(), + // 设置分段的起始偏移大小 + 'Offset' => 0 + ]); + } catch (\Exception $e) { + $this->error($e->getMessage()); + } + + $etag = isset($ret['ETag']) ? $ret['ETag'] : ''; + $this->success("上传成功", "", [], 3, ['ETag' => $etag]); + } + } else { + $attachment = null; + //默认普通上传文件 + $file = $this->request->file('file'); + try { + $upload = new Upload($file); + $attachment = $upload->upload(); + } catch (UploadException $e) { + $this->error($e->getMessage()); + } + + //文件绝对路径 + $filePath = $upload->getFile()->getRealPath() ?: $upload->getFile()->getPathname(); + + $url = $attachment->url; + + try { + $ret = $obs->putObject([ + 'Bucket' => $config['bucket'], + 'Key' => ltrim($attachment->url, '/'), + 'SourceFile' => $filePath + ]); + //成功不做任何操作 + } catch (\Exception $e) { + $checkDeleteFile($attachment, $upload, true); + $this->error("上传失败"); + } + $checkDeleteFile($attachment, $upload); + + // 记录云存储记录 + $data = $attachment->toArray(); + unset($data['id']); + $data['storage'] = 'hwobs'; + Attachment::create($data, true); + + $this->success("上传成功", '', ['url' => $url, 'fullurl' => cdnurl($url, true)]); + } + return; + } + + /** + * 回调 + */ + public function notify() + { + $this->check(); + $config = get_addon_config('hwobs'); + if ($config['uploadmode'] != 'client') { + $this->error("无需执行该操作"); + } + $this->request->filter('trim,strip_tags,htmlspecialchars,xss_clean'); + + $size = $this->request->post('size/d'); + $name = $this->request->post('name', ''); + $md5 = $this->request->post('md5', ''); + $type = $this->request->post('type', ''); + $url = $this->request->post('url', ''); + $width = $this->request->post('width/d'); + $height = $this->request->post('height/d'); + $category = $this->request->post('category', ''); + $suffix = strtolower(pathinfo($name, PATHINFO_EXTENSION)); + $suffix = $suffix && preg_match("/^[a-zA-Z0-9]+$/", $suffix) ? $suffix : 'file'; + $attachment = Attachment::where('url', $url)->where('storage', 'hwobs')->find(); + if (!$attachment) { + $params = array( + 'category' => $category, + 'admin_id' => (int)session('admin.id'), + 'user_id' => (int)$this->auth->id, + 'filesize' => $size, + 'filename' => $name, + 'imagewidth' => $width, + 'imageheight' => $height, + 'imagetype' => $suffix, + 'imageframes' => 0, + 'mimetype' => $type, + 'url' => $url, + 'uploadtime' => time(), + 'storage' => 'hwobs', + 'sha1' => $md5, + ); + Attachment::create($params, true); + } + $this->success(); + return; + } + + /** + * 检查签名是否正确或过期 + */ + protected function check() + { + $hwobstoken = $this->request->post('hwobstoken', '', 'trim'); + if (!$hwobstoken) { + $this->error("参数不正确(code:1)"); + } + $config = get_addon_config('hwobs'); + list($accessKey, $sign, $data) = explode(':', $hwobstoken); + if (!$accessKey || !$sign || !$data) { + $this->error("参数不正确(code:2)"); + } + if ($accessKey !== $config['accessKey']) { + $this->error("参数不正确(code:3)"); + } + if ($sign !== base64_encode(hash_hmac('sha1', base64_decode($data), $config['secretKey'], true))) { + $this->error("签名不正确"); + } + $json = json_decode(base64_decode($data), true); + if ($json['deadline'] < time()) { + $this->error("请求已经超时"); + } + } + +} diff --git a/addons/hwobs/info.ini b/addons/hwobs/info.ini new file mode 100644 index 0000000..83467de --- /dev/null +++ b/addons/hwobs/info.ini @@ -0,0 +1,10 @@ +name = hwobs +title = 华为OBS云储存 +intro = 使用华为OBS作为默认云储存 +author = FastAdmin +website = https://www.fastadmin.net +version = 1.2.9 +state = 1 +url = /addons/hwobs +license = regular +licenseto = 34485 diff --git a/addons/hwobs/library/Auth.php b/addons/hwobs/library/Auth.php new file mode 100644 index 0000000..1bde068 --- /dev/null +++ b/addons/hwobs/library/Auth.php @@ -0,0 +1,37 @@ +module(); + $module = $module ? strtolower($module) : 'index'; + $noNeedLogin = array_filter(explode(',', $config['noneedlogin'] ?? '')); + $isModuleLogin = false; + $tagName = 'upload_config_checklogin'; + foreach (\think\Hook::get($tagName) as $index => $name) { + if (\think\Hook::exec($name, $tagName)) { + $isModuleLogin = true; + break; + } + } + if (in_array($module, $noNeedLogin) + || ($module == 'admin' && \app\admin\library\Auth::instance()->id) + || ($module != 'admin' && \app\common\library\Auth::instance()->id) + || $isModuleLogin) { + return true; + } else { + return false; + } + } + +} diff --git a/addons/hwobs/library/Obs/Internal/Common/CheckoutStream.php b/addons/hwobs/library/Obs/Internal/Common/CheckoutStream.php new file mode 100644 index 0000000..6fbeebb --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Common/CheckoutStream.php @@ -0,0 +1,63 @@ +stream = $stream; + $this->expectedLength = $expectedLength; + } + + public function getContents() { + $contents = $this->stream->getContents(); + $length = strlen($contents); + if ($this->expectedLength !== null && floatval($length) !== $this->expectedLength) { + $this -> throwObsException($this->expectedLength, $length); + } + return $contents; + } + + public function read($length) { + $string = $this->stream->read($length); + if ($this->expectedLength !== null) { + $this->readedCount += strlen($string); + if ($this->stream->eof()) { + if (floatval($this->readedCount) !== $this->expectedLength) { + $this -> throwObsException($this->expectedLength, $this->readedCount); + } + } + } + return $string; + } + + public function throwObsException($expectedLength, $reaLength) { + $obsException = new ObsException('premature end of Content-Length delimiter message body (expected:' . $expectedLength . '; received:' . $reaLength . ')'); + $obsException->setExceptionType('server'); + throw $obsException; + } +} + diff --git a/addons/hwobs/library/Obs/Internal/Common/ITransform.php b/addons/hwobs/library/Obs/Internal/Common/ITransform.php new file mode 100644 index 0000000..a0c369c --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Common/ITransform.php @@ -0,0 +1,23 @@ + + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +namespace Obs\Internal\Common; + +class Model implements \ArrayAccess, \IteratorAggregate, \Countable, ToArrayInterface +{ + protected $data; + + public function __construct(array $data = []) + { + $this->data = $data; + } + + public function count() + { + return count($this->data); + } + + public function getIterator() + { + return new \ArrayIterator($this->data); + } + + public function toArray() + { + return $this->data; + } + + public function clear() + { + $this->data = []; + + return $this; + } + + public function getAll(array $keys = null) + { + return $keys ? array_intersect_key($this->data, array_flip($keys)) : $this->data; + } + + public function get($key) + { + return isset($this->data[$key]) ? $this->data[$key] : null; + } + + public function set($key, $value) + { + $this->data[$key] = $value; + + return $this; + } + + public function add($key, $value) + { + if (!array_key_exists($key, $this->data)) { + $this->data[$key] = $value; + } elseif (is_array($this->data[$key])) { + $this->data[$key][] = $value; + } else { + $this->data[$key] = [$this->data[$key], $value]; + } + + return $this; + } + + public function remove($key) + { + unset($this->data[$key]); + + return $this; + } + + public function getKeys() + { + return array_keys($this->data); + } + + public function hasKey($key) + { + return array_key_exists($key, $this->data); + } + + public function keySearch($key) + { + foreach (array_keys($this->data) as $k) { + if (!strcasecmp($k, $key)) { + return $k; + } + } + + return false; + } + + + public function hasValue($value) + { + return array_search($value, $this->data); + } + + public function replace(array $data) + { + $this->data = $data; + + return $this; + } + + public function merge($data) + { + foreach ($data as $key => $value) { + $this->add($key, $value); + } + + return $this; + } + + public function overwriteWith($data) + { + if (is_array($data)) { + $this->data = $data + $this->data; + } else { + foreach ($data as $key => $value) { + $this->data[$key] = $value; + } + } + + return $this; + } + + public function map(\Closure $closure, array $context = [], $static = true) + { + $collection = $static ? new static() : new self(); + foreach ($this as $key => $value) { + $collection->add($key, $closure($key, $value, $context)); + } + + return $collection; + } + + public function filter(\Closure $closure, $static = true) + { + $collection = ($static) ? new static() : new self(); + foreach ($this->data as $key => $value) { + if ($closure($key, $value)) { + $collection->add($key, $value); + } + } + + return $collection; + } + + public function offsetExists($offset) + { + return isset($this->data[$offset]); + } + + public function offsetGet($offset) + { + return isset($this->data[$offset]) ? $this->data[$offset] : null; + } + + public function offsetSet($offset, $value) + { + $this->data[$offset] = $value; + } + + public function offsetUnset($offset) + { + unset($this->data[$offset]); + } + + public function setPath($path, $value) + { + $current =& $this->data; + $queue = explode('/', $path); + while (null !== ($key = array_shift($queue))) { + if (!is_array($current)) { + throw new \RuntimeException("Trying to setPath {$path}, but {$key} is set and is not an array"); + } elseif (!$queue) { + $current[$key] = $value; + } elseif (isset($current[$key])) { + $current =& $current[$key]; + } else { + $current[$key] = []; + $current =& $current[$key]; + } + } + + return $this; + } + + public function getPath($path, $separator = '/', $data = null) + { + if ($data === null) { + $data =& $this->data; + } + + $path = is_array($path) ? $path : explode($separator, $path); + while (null !== ($part = array_shift($path))) { + if (!is_array($data)) { + return null; + } elseif (isset($data[$part])) { + $data =& $data[$part]; + } elseif ($part != '*') { + return null; + } else { + // Perform a wildcard search by diverging and merging paths + $result = []; + foreach ($data as $value) { + if (!$path) { + $result = array_merge_recursive($result, (array) $value); + } elseif (null !== ($test = $this->getPath($path, $separator, $value))) { + $result = array_merge_recursive($result, (array) $test); + } + } + return $result; + } + } + + return $data; + } + + public function __toString() + { + $output = 'Debug output of '; + $output .= 'model'; + $output = str_repeat('=', strlen($output)) . "\n" . $output . "\n" . str_repeat('=', strlen($output)) . "\n\n"; + $output .= "Model data\n-----------\n\n"; + $output .= "This data can be retrieved from the model object using the get() method of the model " + . "(e.g. \$model->get(\$key)) or accessing the model like an associative array (e.g. \$model['key']).\n\n"; + $lines = array_slice(explode("\n", trim(print_r($this->toArray(), true))), 2, -1); + $output .= implode("\n", $lines); + + return $output . "\n"; + } +} diff --git a/addons/hwobs/library/Obs/Internal/Common/ObsTransform.php b/addons/hwobs/library/Obs/Internal/Common/ObsTransform.php new file mode 100644 index 0000000..03d42b6 --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Common/ObsTransform.php @@ -0,0 +1,78 @@ +transAclHeader($para); + } else if ($sign === 'aclUri') { + $para = $this->transAclGroupUri($para); + } else if ($sign == 'event') { + $para = $this->transNotificationEvent($para); + } else if ($sign == 'storageClass') { + $para = $this->transStorageClass($para); + } + return $para; + } + + private function transAclHeader($para) { + if ($para === ObsClient::AclAuthenticatedRead || $para === ObsClient::AclBucketOwnerRead || + $para === ObsClient::AclBucketOwnerFullControl || $para === ObsClient::AclLogDeliveryWrite) { + $para = null; + } + return $para; + } + + private function transAclGroupUri($para) { + if ($para === ObsClient::GroupAllUsers) { + $para = ObsClient::AllUsers; + } + return $para; + } + + private function transNotificationEvent($para) { + $pos = strpos($para, 's3:'); + if ($pos !== false && $pos === 0) { + $para = substr($para, 3); + } + return $para; + } + + private function transStorageClass($para) { + $search = array('STANDARD', 'STANDARD_IA', 'GLACIER'); + $repalce = array(ObsClient::StorageClassStandard, ObsClient::StorageClassWarm, ObsClient::StorageClassCold); + $para = str_replace($search, $repalce, $para); + return $para; + } +} + diff --git a/addons/hwobs/library/Obs/Internal/Common/SchemaFormatter.php b/addons/hwobs/library/Obs/Internal/Common/SchemaFormatter.php new file mode 100644 index 0000000..46b896b --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Common/SchemaFormatter.php @@ -0,0 +1,116 @@ + format('Y-m-d\T00:00:00\Z'); + } + return null; + } + + public static function formatDateTime($value) + { + return self::dateFormatter($value, 'Y-m-d\TH:i:s\Z'); + } + + public static function formatDateTimeHttp($value) + { + return self::dateFormatter($value, 'D, d M Y H:i:s \G\M\T'); + } + + public static function formatDate($value) + { + return self::dateFormatter($value, 'Y-m-d'); + } + + public static function formatTime($value) + { + return self::dateFormatter($value, 'H:i:s'); + } + + public static function formatBooleanAsString($value) + { + return filter_var($value, FILTER_VALIDATE_BOOLEAN) ? 'true' : 'false'; + } + + public static function formatTimestamp($value) + { + return (int) self::dateFormatter($value, 'U'); + } + + private static function dateFormatter($dt, $fmt) + { + if (is_numeric($dt)) { + return gmdate($fmt, (int) $dt); + } + + if (is_string($dt)) { + $dt = new \DateTime($dt); + } + + if ($dt instanceof \DateTime) { + if (!self::$utcTimeZone) { + self::$utcTimeZone = new \DateTimeZone('UTC'); + } + + return $dt->setTimezone(self::$utcTimeZone)->format($fmt); + } + + return null; + } +} diff --git a/addons/hwobs/library/Obs/Internal/Common/SdkCurlFactory.php b/addons/hwobs/library/Obs/Internal/Common/SdkCurlFactory.php new file mode 100644 index 0000000..47488ae --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Common/SdkCurlFactory.php @@ -0,0 +1,422 @@ + + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +namespace Obs\Internal\Common; + +use GuzzleHttp\Psr7; +use GuzzleHttp\Psr7\LazyOpenStream; +use Psr\Http\Message\RequestInterface; +use GuzzleHttp\Handler\CurlFactoryInterface; +use GuzzleHttp\Handler\EasyHandle; + +class SdkCurlFactory implements CurlFactoryInterface +{ + private $handles = []; + + private $maxHandles; + + public function __construct($maxHandles) + { + $this->maxHandles = $maxHandles; + } + + public function create(RequestInterface $request, array $options): EasyHandle + { + if (isset($options['curl']['body_as_string'])) { + $options['_body_as_string'] = $options['curl']['body_as_string']; + unset($options['curl']['body_as_string']); + } + + $easy = new EasyHandle; + $easy->request = $request; + $easy->options = $options; + $conf = $this->getDefaultConf($easy); + $this->applyMethod($easy, $conf); + $this->applyHandlerOptions($easy, $conf); + $this->applyHeaders($easy, $conf); + + + unset($conf['_headers']); + + if (isset($options['curl'])) { + $conf = array_replace($conf, $options['curl']); + } + + $conf[CURLOPT_HEADERFUNCTION] = $this->createHeaderFn($easy); + if($this->handles){ + $easy->handle = array_pop($this->handles); + }else{ + $easy->handle = curl_init(); + } + curl_setopt_array($easy->handle, $conf); + + return $easy; + } + + public function close() + { + if($this->handles){ + foreach ($this->handles as $handle){ + curl_close($handle); + } + unset($this->handles); + $this->handles = []; + } + } + + public function release(EasyHandle $easy): void + { + $resource = $easy->handle; + unset($easy->handle); + + if (count($this->handles) >= $this->maxHandles) { + curl_close($resource); + } else { + curl_setopt($resource, CURLOPT_HEADERFUNCTION, null); + curl_setopt($resource, CURLOPT_READFUNCTION, null); + curl_setopt($resource, CURLOPT_WRITEFUNCTION, null); + curl_setopt($resource, CURLOPT_PROGRESSFUNCTION, null); + curl_reset($resource); + $this->handles[] = $resource; + } + } + + private function getDefaultConf(EasyHandle $easy) + { + $conf = [ + '_headers' => $easy->request->getHeaders(), + CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(), + CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''), + CURLOPT_RETURNTRANSFER => false, + CURLOPT_HEADER => false, + CURLOPT_CONNECTTIMEOUT => 150, + ]; + + if (defined('CURLOPT_PROTOCOLS')) { + $conf[CURLOPT_PROTOCOLS] = CURLPROTO_HTTP | CURLPROTO_HTTPS; + } + + $version = $easy->request->getProtocolVersion(); + if ($version == 1.1) { + $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_1; + } elseif ($version == 2.0) { + $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_2_0; + } else { + $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_0; + } + + return $conf; + } + + private function applyMethod(EasyHandle $easy, array &$conf) + { + $body = $easy->request->getBody(); + $size = $body->getSize(); + + if ($size === null || $size > 0) { + $this->applyBody($easy->request, $easy->options, $conf); + return; + } + + $method = $easy->request->getMethod(); + if ($method === 'PUT' || $method === 'POST') { + if (!$easy->request->hasHeader('Content-Length')) { + $conf[CURLOPT_HTTPHEADER][] = 'Content-Length: 0'; + } + } elseif ($method === 'HEAD') { + $conf[CURLOPT_NOBODY] = true; + unset( + $conf[CURLOPT_WRITEFUNCTION], + $conf[CURLOPT_READFUNCTION], + $conf[CURLOPT_FILE], + $conf[CURLOPT_INFILE] + ); + } + } + + private function applyBody(RequestInterface $request, array $options, array &$conf) + { + $size = $request->hasHeader('Content-Length') + ? (int) $request->getHeaderLine('Content-Length') + : $request->getBody()->getSize(); + + if($request->getBody()->getSize() === $size && $request -> getBody() ->tell() <= 0){ + if (($size !== null && $size < 1000000) || + !empty($options['_body_as_string']) + ) { + $conf[CURLOPT_POSTFIELDS] = (string) $request->getBody(); + $this->removeHeader('Content-Length', $conf); + $this->removeHeader('Transfer-Encoding', $conf); + } else { + $conf[CURLOPT_UPLOAD] = true; + if ($size !== null) { + $conf[CURLOPT_INFILESIZE] = $size; + $this->removeHeader('Content-Length', $conf); + } + $body = $request->getBody(); + if ($body->isSeekable()) { + $body->rewind(); + } + $conf[CURLOPT_READFUNCTION] = function ($ch, $fd, $length) use ($body) { + return $body->read($length); + }; + } + }else{ + $body = $request->getBody(); + $conf[CURLOPT_UPLOAD] = true; + $conf[CURLOPT_INFILESIZE] = $size; + $readCount = 0; + $conf[CURLOPT_READFUNCTION] = function ($ch, $fd, $length) use ($body, $readCount, $size) { + if($readCount >= $size){ + $body -> close(); + return ''; + } + $readCountOnce = $length <= $size ? $length : $size; + $readCount += $readCountOnce; + return $body->read($readCountOnce); + }; + } + + + + if (!$request->hasHeader('Expect')) { + $conf[CURLOPT_HTTPHEADER][] = 'Expect:'; + } + + if (!$request->hasHeader('Content-Type')) { + $conf[CURLOPT_HTTPHEADER][] = 'Content-Type:'; + } + } + + private function applyHeaders(EasyHandle $easy, array &$conf) + { + foreach ($conf['_headers'] as $name => $values) { + foreach ($values as $value) { + $conf[CURLOPT_HTTPHEADER][] = "$name: $value"; + } + } + + // Remove the Accept header if one was not set + if (!$easy->request->hasHeader('Accept')) { + $conf[CURLOPT_HTTPHEADER][] = 'Accept:'; + } + } + + private function removeHeader($name, array &$options) + { + foreach (array_keys($options['_headers']) as $key) { + if (!strcasecmp($key, $name)) { + unset($options['_headers'][$key]); + return; + } + } + } + + private function applyHandlerOptions(EasyHandle $easy, array &$conf) + { + $options = $easy->options; + if (isset($options['verify'])) { + $conf[CURLOPT_SSL_VERIFYHOST] = 0; + if ($options['verify'] === false) { + unset($conf[CURLOPT_CAINFO]); + $conf[CURLOPT_SSL_VERIFYPEER] = false; + } else { + $conf[CURLOPT_SSL_VERIFYPEER] = true; + if (is_string($options['verify'])) { + if (!file_exists($options['verify'])) { + throw new \InvalidArgumentException( + "SSL CA bundle not found: {$options['verify']}" + ); + } + if (is_dir($options['verify']) || + (is_link($options['verify']) && is_dir(readlink($options['verify'])))) { + $conf[CURLOPT_CAPATH] = $options['verify']; + } else { + $conf[CURLOPT_CAINFO] = $options['verify']; + } + } + } + } + + if (!empty($options['decode_content'])) { + $accept = $easy->request->getHeaderLine('Accept-Encoding'); + if ($accept) { + $conf[CURLOPT_ENCODING] = $accept; + } else { + $conf[CURLOPT_ENCODING] = ''; + $conf[CURLOPT_HTTPHEADER][] = 'Accept-Encoding:'; + } + } + + if (isset($options['sink'])) { + $sink = $options['sink']; + if (!is_string($sink)) { + $sink = \GuzzleHttp\Psr7\Utils::streamFor($sink); + } elseif (!is_dir(dirname($sink))) { + throw new \RuntimeException(sprintf( + 'Directory %s does not exist for sink value of %s', + dirname($sink), + $sink + )); + } else { + $sink = new LazyOpenStream($sink, 'w+'); + } + $easy->sink = $sink; + $conf[CURLOPT_WRITEFUNCTION] = function ($ch, $write) use ($sink) { + return $sink->write($write); + }; + } else { + $conf[CURLOPT_FILE] = fopen('php://temp', 'w+'); + $easy->sink = \GuzzleHttp\Psr7\Utils::streamFor($conf[CURLOPT_FILE]); + } + $timeoutRequiresNoSignal = false; + if (isset($options['timeout'])) { + $timeoutRequiresNoSignal |= $options['timeout'] < 1; + $conf[CURLOPT_TIMEOUT_MS] = $options['timeout'] * 1000; + } + + if (isset($options['force_ip_resolve'])) { + if ('v4' === $options['force_ip_resolve']) { + $conf[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4; + } else if ('v6' === $options['force_ip_resolve']) { + $conf[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V6; + } + } + + if (isset($options['connect_timeout'])) { + $timeoutRequiresNoSignal |= $options['connect_timeout'] < 1; + $conf[CURLOPT_CONNECTTIMEOUT_MS] = $options['connect_timeout'] * 1000; + } + + if ($timeoutRequiresNoSignal && strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') { + $conf[CURLOPT_NOSIGNAL] = true; + } + + if (isset($options['proxy'])) { + if (!is_array($options['proxy'])) { + $conf[CURLOPT_PROXY] = $options['proxy']; + } else { + $scheme = $easy->request->getUri()->getScheme(); + if (isset($options['proxy'][$scheme])) { + $host = $easy->request->getUri()->getHost(); + if (!isset($options['proxy']['no']) || + !\GuzzleHttp\is_host_in_noproxy($host, $options['proxy']['no']) + ) { + $conf[CURLOPT_PROXY] = $options['proxy'][$scheme]; + } + } + } + } + + if (isset($options['cert'])) { + $cert = $options['cert']; + if (is_array($cert)) { + $conf[CURLOPT_SSLCERTPASSWD] = $cert[1]; + $cert = $cert[0]; + } + if (!file_exists($cert)) { + throw new \InvalidArgumentException( + "SSL certificate not found: {$cert}" + ); + } + $conf[CURLOPT_SSLCERT] = $cert; + } + + if (isset($options['ssl_key'])) { + $sslKey = $options['ssl_key']; + if (is_array($sslKey)) { + $conf[CURLOPT_SSLKEYPASSWD] = $sslKey[1]; + $sslKey = $sslKey[0]; + } + if (!file_exists($sslKey)) { + throw new \InvalidArgumentException( + "SSL private key not found: {$sslKey}" + ); + } + $conf[CURLOPT_SSLKEY] = $sslKey; + } + + if (isset($options['progress'])) { + $progress = $options['progress']; + if (!is_callable($progress)) { + throw new \InvalidArgumentException( + 'progress client option must be callable' + ); + } + $conf[CURLOPT_NOPROGRESS] = false; + $conf[CURLOPT_PROGRESSFUNCTION] = function () use ($progress) { + $args = func_get_args(); + if (is_resource($args[0])) { + array_shift($args); + } + call_user_func_array($progress, $args); + }; + } + + if (!empty($options['debug'])) { + $conf[CURLOPT_STDERR] = \GuzzleHttp\debug_resource($options['debug']); + $conf[CURLOPT_VERBOSE] = true; + } + } + + + private function createHeaderFn(EasyHandle $easy) + { + if (isset($easy->options['on_headers'])) { + $onHeaders = $easy->options['on_headers']; + + if (!is_callable($onHeaders)) { + throw new \InvalidArgumentException('on_headers must be callable'); + } + } else { + $onHeaders = null; + } + + return function ($ch, $h) use ( + $onHeaders, + $easy, + &$startingResponse + ) { + $value = trim($h); + if ($value === '') { + $startingResponse = true; + $easy->createResponse(); + if ($onHeaders !== null) { + try { + $onHeaders($easy->response); + } catch (\Exception $e) { + $easy->onHeadersException = $e; + return -1; + } + } + } elseif ($startingResponse) { + $startingResponse = false; + $easy->headers = [$value]; + } else { + $easy->headers[] = $value; + } + return strlen($h); + }; + } +} diff --git a/addons/hwobs/library/Obs/Internal/Common/SdkStreamHandler.php b/addons/hwobs/library/Obs/Internal/Common/SdkStreamHandler.php new file mode 100644 index 0000000..74d0fe7 --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Common/SdkStreamHandler.php @@ -0,0 +1,502 @@ + + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +namespace Obs\Internal\Common; + +use GuzzleHttp\Exception\RequestException; +use GuzzleHttp\Exception\ConnectException; +use GuzzleHttp\Promise\FulfilledPromise; +use GuzzleHttp\Promise\PromiseInterface; +use GuzzleHttp\Psr7; +use GuzzleHttp\TransferStats; +use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\StreamInterface; + +class SdkStreamHandler +{ + private $lastHeaders = []; + + public function __invoke(RequestInterface $request, array $options) + { + if (isset($options['delay'])) { + usleep($options['delay'] * 1000); + } + + $startTime = isset($options['on_stats']) ? microtime(true) : null; + + try { + $request = $request->withoutHeader('Expect'); + + if (0 === $request->getBody()->getSize()) { + $request = $request->withHeader('Content-Length', 0); + } + + return $this->createResponse( + $request, + $options, + $this->createStream($request, $options), + $startTime + ); + } catch (\InvalidArgumentException $e) { + throw $e; + } catch (\Exception $e) { + $message = $e->getMessage(); + if (strpos($message, 'getaddrinfo') + || strpos($message, 'Connection refused') + || strpos($message, "couldn't connect to host") + ) { + $e = new ConnectException($e->getMessage(), $request, $e); + } + $e = RequestException::wrapException($request, $e); + $this->invokeStats($options, $request, $startTime, null, $e); + + return \GuzzleHttp\Promise\rejection_for($e); + } + } + + private function invokeStats( + array $options, + RequestInterface $request, + $startTime, + ResponseInterface $response = null, + $error = null + ) { + if (isset($options['on_stats'])) { + $stats = new TransferStats( + $request, + $response, + microtime(true) - $startTime, + $error, + [] + ); + call_user_func($options['on_stats'], $stats); + } + } + + private function createResponse( + RequestInterface $request, + array $options, + $stream, + $startTime + ) { + $hdrs = $this->lastHeaders; + $this->lastHeaders = []; + $parts = explode(' ', array_shift($hdrs), 3); + $ver = explode('/', $parts[0])[1]; + $status = $parts[1]; + $reason = isset($parts[2]) ? $parts[2] : null; + $headers = \GuzzleHttp\headers_from_lines($hdrs); + list ($stream, $headers) = $this->checkDecode($options, $headers, $stream); + $stream = \GuzzleHttp\Psr7\Utils::streamFor($stream); + $sink = $stream; + + if (strcasecmp('HEAD', $request->getMethod())) { + $sink = $this->createSink($stream, $options); + } + + $response = new Psr7\Response($status, $headers, $sink, $ver, $reason); + + if (isset($options['on_headers'])) { + try { + $options['on_headers']($response); + } catch (\Exception $e) { + $msg = 'An error was encountered during the on_headers event'; + $ex = new RequestException($msg, $request, $response, $e); + return \GuzzleHttp\Promise\rejection_for($ex); + } + } + + if ($sink !== $stream) { + $this->drain( + $stream, + $sink, + $response->getHeaderLine('Content-Length') + ); + } + + $this->invokeStats($options, $request, $startTime, $response, null); + + return new FulfilledPromise($response); + } + + private function createSink(StreamInterface $stream, array $options) + { + if (!empty($options['stream'])) { + return $stream; + } + + $sink = isset($options['sink']) + ? $options['sink'] + : fopen('php://temp', 'r+'); + + return is_string($sink) + ? new Psr7\LazyOpenStream($sink, 'w+') + : \GuzzleHttp\Psr7\Utils::streamFor($sink); + } + + private function checkDecode(array $options, array $headers, $stream) + { + if (!empty($options['decode_content'])) { + $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers); + if (isset($normalizedKeys['content-encoding'])) { + $encoding = $headers[$normalizedKeys['content-encoding']]; + if ($encoding[0] === 'gzip' || $encoding[0] === 'deflate') { + $stream = new Psr7\InflateStream( + \GuzzleHttp\Psr7\Utils::streamFor($stream) + ); + $headers['x-encoded-content-encoding'] + = $headers[$normalizedKeys['content-encoding']]; + unset($headers[$normalizedKeys['content-encoding']]); + if (isset($normalizedKeys['content-length'])) { + $headers['x-encoded-content-length'] + = $headers[$normalizedKeys['content-length']]; + + $length = (int) $stream->getSize(); + if ($length === 0) { + unset($headers[$normalizedKeys['content-length']]); + } else { + $headers[$normalizedKeys['content-length']] = [$length]; + } + } + } + } + } + + return [$stream, $headers]; + } + + private function drain( + StreamInterface $source, + StreamInterface $sink, + $contentLength + ) { + \GuzzleHttp\Psr7\Utils::copyToStream( + $source, + $sink, + (strlen($contentLength) > 0 && (int) $contentLength > 0) ? (int) $contentLength : -1 + ); + + $sink->seek(0); + $source->close(); + + return $sink; + } + + private function createResource(callable $callback) + { + $errors = null; + set_error_handler(function ($_, $msg, $file, $line) use (&$errors) { + $errors[] = [ + 'message' => $msg, + 'file' => $file, + 'line' => $line + ]; + return true; + }); + + $resource = $callback(); + restore_error_handler(); + + if (!$resource) { + $message = 'Error creating resource: '; + foreach ($errors as $err) { + foreach ($err as $key => $value) { + $message .= "[$key] $value" . PHP_EOL; + } + } + throw new \RuntimeException(trim($message)); + } + + return $resource; + } + + private function createStream(RequestInterface $request, array $options) + { + static $methods; + if (!$methods) { + $methods = array_flip(get_class_methods(__CLASS__)); + } + + if ($request->getProtocolVersion() == '1.1' + && !$request->hasHeader('Connection') + ) { + $request = $request->withHeader('Connection', 'close'); + } + + if (!isset($options['verify'])) { + $options['verify'] = true; + } + + $params = []; + $context = $this->getDefaultContext($request, $options); + + if (isset($options['on_headers']) && !is_callable($options['on_headers'])) { + throw new \InvalidArgumentException('on_headers must be callable'); + } + + if (!empty($options)) { + foreach ($options as $key => $value) { + $method = "add_{$key}"; + if (isset($methods[$method])) { + $this->{$method}($request, $context, $value, $params); + } + } + } + + if (isset($options['stream_context'])) { + if (!is_array($options['stream_context'])) { + throw new \InvalidArgumentException('stream_context must be an array'); + } + $context = array_replace_recursive( + $context, + $options['stream_context'] + ); + } + + if (isset($options['auth']) + && is_array($options['auth']) + && isset($options['auth'][2]) + && 'ntlm' == $options['auth'][2] + ) { + + throw new \InvalidArgumentException('Microsoft NTLM authentication only supported with curl handler'); + } + + $uri = $this->resolveHost($request, $options); + + $context = $this->createResource( + function () use ($context, $params) { + return stream_context_create($context, $params); + } + ); + + return $this->createResource( + function () use ($uri, &$http_response_header, $context, $options) { + $resource = fopen((string) $uri, 'r', null, $context); + $this->lastHeaders = $http_response_header; + + if (isset($options['read_timeout'])) { + $readTimeout = $options['read_timeout']; + $sec = (int) $readTimeout; + $usec = ($readTimeout - $sec) * 100000; + stream_set_timeout($resource, $sec, $usec); + } + + return $resource; + } + ); + } + + private function resolveHost(RequestInterface $request, array $options) + { + $uri = $request->getUri(); + + if (isset($options['force_ip_resolve']) && !filter_var($uri->getHost(), FILTER_VALIDATE_IP)) { + if ('v4' === $options['force_ip_resolve']) { + $records = dns_get_record($uri->getHost(), DNS_A); + if (!isset($records[0]['ip'])) { + throw new ConnectException(sprintf("Could not resolve IPv4 address for host '%s'", $uri->getHost()), $request); + } + $uri = $uri->withHost($records[0]['ip']); + } elseif ('v6' === $options['force_ip_resolve']) { + $records = dns_get_record($uri->getHost(), DNS_AAAA); + if (!isset($records[0]['ipv6'])) { + throw new ConnectException(sprintf("Could not resolve IPv6 address for host '%s'", $uri->getHost()), $request); + } + $uri = $uri->withHost('[' . $records[0]['ipv6'] . ']'); + } + } + + return $uri; + } + + private function getDefaultContext(RequestInterface $request) + { + $headers = ''; + foreach ($request->getHeaders() as $name => $value) { + foreach ($value as $val) { + $headers .= "$name: $val\r\n"; + } + } + + $context = [ + 'http' => [ + 'method' => $request->getMethod(), + 'header' => $headers, + 'protocol_version' => $request->getProtocolVersion(), + 'ignore_errors' => true, + 'follow_location' => 0, + ], + ]; + + $body = (string) $request->getBody(); + + if (!empty($body)) { + $context['http']['content'] = $body; + if (!$request->hasHeader('Content-Type')) { + $context['http']['header'] .= "Content-Type:\r\n"; + } + } + + $context['http']['header'] = rtrim($context['http']['header']); + + return $context; + } + + private function add_proxy(RequestInterface $request, &$options, $value, &$params) + { + if (!is_array($value)) { + $options['http']['proxy'] = $value; + } else { + $scheme = $request->getUri()->getScheme(); + if (isset($value[$scheme])) { + if (!isset($value['no']) + || !\GuzzleHttp\is_host_in_noproxy( + $request->getUri()->getHost(), + $value['no'] + ) + ) { + $options['http']['proxy'] = $value[$scheme]; + } + } + } + } + + private function add_timeout(RequestInterface $request, &$options, $value, &$params) + { + if ($value > 0) { + $options['http']['timeout'] = $value; + } + } + + private function add_verify(RequestInterface $request, &$options, $value, &$params) + { + if ($value === true) { + if (PHP_VERSION_ID < 50600) { + $options['ssl']['cafile'] = \GuzzleHttp\default_ca_bundle(); + } + } elseif (is_string($value)) { + $options['ssl']['cafile'] = $value; + if (!file_exists($value)) { + throw new \RuntimeException("SSL CA bundle not found: $value"); + } + } elseif ($value === false) { + $options['ssl']['verify_peer'] = false; + $options['ssl']['verify_peer_name'] = false; + return; + } else { + throw new \InvalidArgumentException('Invalid verify request option'); + } + + $options['ssl']['verify_peer'] = true; + $options['ssl']['verify_peer_name'] = true; + $options['ssl']['allow_self_signed'] = false; + } + + private function add_cert(RequestInterface $request, &$options, $value, &$params) + { + if (is_array($value)) { + $options['ssl']['passphrase'] = $value[1]; + $value = $value[0]; + } + + if (!file_exists($value)) { + throw new \RuntimeException("SSL certificate not found: {$value}"); + } + + $options['ssl']['local_cert'] = $value; + } + + private function add_progress(RequestInterface $request, &$options, $value, &$params) + { + $this->addNotification( + $params, + function ($code, $a, $b, $c, $transferred, $total) use ($value) { + if ($code == STREAM_NOTIFY_PROGRESS) { + $value($total, $transferred, null, null); + } + } + ); + } + + private function add_debug(RequestInterface $request, &$options, $value, &$params) + { + if ($value === false) { + return; + } + + static $map = [ + STREAM_NOTIFY_CONNECT => 'CONNECT', + STREAM_NOTIFY_AUTH_REQUIRED => 'AUTH_REQUIRED', + STREAM_NOTIFY_AUTH_RESULT => 'AUTH_RESULT', + STREAM_NOTIFY_MIME_TYPE_IS => 'MIME_TYPE_IS', + STREAM_NOTIFY_FILE_SIZE_IS => 'FILE_SIZE_IS', + STREAM_NOTIFY_REDIRECTED => 'REDIRECTED', + STREAM_NOTIFY_PROGRESS => 'PROGRESS', + STREAM_NOTIFY_FAILURE => 'FAILURE', + STREAM_NOTIFY_COMPLETED => 'COMPLETED', + STREAM_NOTIFY_RESOLVE => 'RESOLVE', + ]; + static $args = ['severity', 'message', 'message_code', + 'bytes_transferred', 'bytes_max']; + + $value = \GuzzleHttp\debug_resource($value); + $ident = $request->getMethod() . ' ' . $request->getUri()->withFragment(''); + $this->addNotification( + $params, + function () use ($ident, $value, $map, $args) { + $passed = func_get_args(); + $code = array_shift($passed); + fprintf($value, '<%s> [%s] ', $ident, $map[$code]); + foreach (array_filter($passed) as $i => $v) { + fwrite($value, $args[$i] . ': "' . $v . '" '); + } + fwrite($value, "\n"); + } + ); + } + + private function addNotification(array &$params, callable $notify) + { + if (!isset($params['notification'])) { + $params['notification'] = $notify; + } else { + $params['notification'] = $this->callArray([ + $params['notification'], + $notify + ]); + } + } + + private function callArray(array $functions) + { + return function () use ($functions) { + $args = func_get_args(); + foreach ($functions as $fn) { + call_user_func_array($fn, $args); + } + }; + } +} diff --git a/addons/hwobs/library/Obs/Internal/Common/ToArrayInterface.php b/addons/hwobs/library/Obs/Internal/Common/ToArrayInterface.php new file mode 100644 index 0000000..e8d5177 --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Common/ToArrayInterface.php @@ -0,0 +1,23 @@ +transStorageClass($para); + } else if ($sign === 'aclHeader') { + $para = $this->transAclHeader($para); + } else if ($sign === 'aclUri') { + $para = $this->transAclGroupUri($para); + } else if ($sign == 'event') { + $para = $this->transNotificationEvent($para); + } + return $para; + } + + private function transStorageClass($para) { + $search = array(ObsClient::StorageClassStandard, ObsClient::StorageClassWarm, ObsClient::StorageClassCold); + $repalce = array('STANDARD', 'STANDARD_IA', 'GLACIER'); + $para = str_replace($search, $repalce, $para); + return $para; + } + + private function transAclHeader($para) { + if ($para === ObsClient::AclPublicReadDelivered || $para === ObsClient::AclPublicReadWriteDelivered) { + $para = null; + } + return $para; + } + + private function transAclGroupUri($para) { + if ($para === ObsClient::GroupAllUsers) { + $para = V2Constants::GROUP_ALL_USERS_PREFIX . $para; + } else if ($para === ObsClient::GroupAuthenticatedUsers) { + $para = V2Constants::GROUP_AUTHENTICATED_USERS_PREFIX . $para; + } else if ($para === ObsClient::GroupLogDelivery) { + $para = V2Constants::GROUP_LOG_DELIVERY_PREFIX . $para; + } else if ($para === ObsClient::AllUsers) { + $para = V2Constants::GROUP_ALL_USERS_PREFIX . ObsClient::GroupAllUsers; + } + return $para; + } + + private function transNotificationEvent($para) { + $pos = strpos($para, 's3:'); + if ($pos === false || $pos !== 0) { + $para = 's3:' . $para; + } + return $para; + } +} + + diff --git a/addons/hwobs/library/Obs/Internal/GetResponseTrait.php b/addons/hwobs/library/Obs/Internal/GetResponseTrait.php new file mode 100644 index 0000000..0e47651 --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/GetResponseTrait.php @@ -0,0 +1,380 @@ + getStatusCode() >= 400 && $response -> getStatusCode() < 500; + } + + protected function parseXmlByType($searchPath, $key, &$value, $xml, $prefix) + { + $type = 'string'; + + if(isset($value['sentAs'])){ + $key = $value['sentAs']; + } + + if($searchPath === null){ + $searchPath = '//'.$prefix.$key; + } + + if(isset($value['type'])){ + $type = $value['type']; + if($type === 'array'){ + $items = $value['items']; + if(isset($value['wrapper'])){ + $paths = explode('/', $searchPath); + $size = count($paths); + if ($size > 1) { + $end = $paths[$size - 1]; + $paths[$size - 1] = $value['wrapper']; + $paths[] = $end; + $searchPath = implode('/', $paths) .'/' . $prefix; + } + } + + $array = []; + if(!isset($value['data']['xmlFlattened'])){ + $pkey = isset($items['sentAs']) ? $items['sentAs'] : $items['name']; + $_searchPath = $searchPath .'/' . $prefix .$pkey; + }else{ + $pkey = $key; + $_searchPath = $searchPath; + } + if($result = $xml -> xpath($_searchPath)){ + if(is_array($result)){ + foreach ($result as $subXml){ + $subXml = simplexml_load_string($subXml -> asXML()); + $subPrefix = $this->getXpathPrefix($subXml); + $array[] = $this->parseXmlByType('//'.$subPrefix. $pkey, $pkey, $items, $subXml, $subPrefix); + } + } + } + return $array; + }else if($type === 'object'){ + $properties = $value['properties']; + $array = []; + foreach ($properties as $pkey => $pvalue){ + $name = isset($pvalue['sentAs']) ? $pvalue['sentAs'] : $pkey; + $array[$pkey] = $this->parseXmlByType($searchPath.'/' . $prefix .$name, $name, $pvalue, $xml, $prefix); + } + return $array; + } + } + + if($result = $xml -> xpath($searchPath)){ + if($type === 'boolean'){ + return strval($result[0]) !== 'false'; + }else if($type === 'numeric' || $type === 'float'){ + return floatval($result[0]); + }else if($type === 'int' || $type === 'integer'){ + return intval($result[0]); + }else{ + return strval($result[0]); + } + }else{ + if($type === 'boolean'){ + return false; + }else if($type === 'numeric' || $type === 'float' || $type === 'int' || $type === 'integer'){ + return null; + }else{ + return ''; + } + } + } + + private function parseCommonHeaders($model, $response){ + $constants = Constants::selectConstants($this -> signature); + foreach($constants::COMMON_HEADERS as $key => $value){ + $model[$value] = $response -> getHeaderLine($key); + } + } + + protected function parseItems($responseParameters, $model, $response, $body) + { + $prefix = ''; + + $this->parseCommonHeaders($model, $response); + + $closeBody = false; + try{ + foreach ($responseParameters as $key => $value){ + if(isset($value['location'])){ + $location = $value['location']; + if($location === 'header'){ + $name = isset($value['sentAs']) ? $value['sentAs'] : $key; + $isSet = false; + if(isset($value['type'])){ + $type = $value['type']; + if($type === 'object'){ + $headers = $response -> getHeaders(); + $temp = []; + foreach ($headers as $headerName => $headerValue){ + if(stripos($headerName, $name) === 0){ + $metaKey = rawurldecode(substr($headerName, strlen($name))); + $temp[$metaKey] = rawurldecode($response -> getHeaderLine($headerName)); + } + } + $model[$key] = $temp; + $isSet = true; + }else{ + if($response -> hasHeader($name)){ + if($type === 'boolean'){ + $model[$key] = ($response -> getHeaderLine($name)) !== 'false'; + $isSet = true; + }else if($type === 'numeric' || $type === 'float'){ + $model[$key] = floatval($response -> getHeaderLine($name)); + $isSet = true; + }else if($type === 'int' || $type === 'integer'){ + $model[$key] = intval($response -> getHeaderLine($name)); + $isSet = true; + } + } + } + } + if(!$isSet){ + $model[$key] = rawurldecode($response -> getHeaderLine($name)); + } + }else if($location === 'xml' && $body !== null){ + if(!isset($xml) && ($xml = simplexml_load_string($body -> getContents()))){ + $prefix = $this ->getXpathPrefix($xml); + } + $closeBody = true; + $model[$key] = $this -> parseXmlByType(null, $key,$value, $xml, $prefix); + }else if($location === 'body' && $body !== null){ + if(isset($value['type']) && $value['type'] === 'stream'){ + $model[$key] = $body; + }else{ + $model[$key] = $body -> getContents(); + $closeBody = true; + } + } + } + } + }finally { + if($closeBody && $body !== null){ + $body -> close(); + } + } + } + + private function writeFile($filePath, StreamInterface &$body, $contentLength) + { + $filePath = iconv('UTF-8', 'GBK', $filePath); + if(is_string($filePath) && $filePath !== '') + { + $fp = null; + $dir = dirname($filePath); + try{ + if(!is_dir($dir)) + { + mkdir($dir,0755,true); + } + + if(($fp = fopen($filePath, 'w'))) + { + while(!$body->eof()) + { + $str = $body->read($this->chunkSize); + fwrite($fp, $str); + } + fflush($fp); + ObsLog::commonLog(DEBUG, "write file %s ok",$filePath); + } + else{ + ObsLog::commonLog(ERROR, "open file error,file path:%s",$filePath); + } + }finally{ + if($fp){ + fclose($fp); + } + $body->close(); + $body = null; + } + } + } + + private function parseXmlToException($body, $obsException){ + try{ + $xmlErrorBody = trim($body -> getContents()); + if($xmlErrorBody && ($xml = simplexml_load_string($xmlErrorBody))){ + $prefix = $this->getXpathPrefix($xml); + if ($tempXml = $xml->xpath('//'.$prefix . 'Code')) { + $obsException-> setExceptionCode(strval($tempXml[0])); + } + if ($tempXml = $xml->xpath('//'.$prefix . 'RequestId')) { + $obsException-> setRequestId(strval($tempXml[0])); + } + if ($tempXml = $xml->xpath('//'.$prefix . 'Message')) { + $obsException-> setExceptionMessage(strval($tempXml[0])); + } + if ($tempXml = $xml->xpath('//'.$prefix . 'HostId')) { + $obsException -> setHostId(strval($tempXml[0])); + } + } + }finally{ + $body -> close(); + } + } + + private function parseXmlToModel($body, $model){ + try{ + $xmlErrorBody = trim($body -> getContents()); + if($xmlErrorBody && ($xml = simplexml_load_string($xmlErrorBody))){ + $prefix = $this->getXpathPrefix($xml); + if ($tempXml = $xml->xpath('//'.$prefix . 'Code')) { + $model['Code'] = strval($tempXml[0]); + } + if ($tempXml = $xml->xpath('//'.$prefix . 'RequestId')) { + $model['RequestId'] = strval($tempXml[0]); + } + + if ($tempXml = $xml->xpath('//'.$prefix . 'HostId')) { + $model['HostId'] = strval($tempXml[0]); + } + if ($tempXml = $xml->xpath('//'.$prefix . 'Resource')) { + $model['Resource'] = strval($tempXml[0]); + } + + if ($tempXml = $xml->xpath('//'.$prefix . 'Message')) { + $model['Message'] = strval($tempXml[0]); + } + } + }finally { + $body -> close(); + } + } + + protected function parseResponse(Model $model, Request $request, Response $response, array $requestConfig) + { + $statusCode = $response -> getStatusCode(); + $expectedLength = $response -> getHeaderLine('content-length'); + $expectedLength = is_numeric($expectedLength) ? floatval($expectedLength) : null; + + $body = new CheckoutStream($response->getBody(), $expectedLength); + + if($statusCode >= 300){ + if($this-> exceptionResponseMode){ + $obsException= new ObsException(); + $obsException-> setRequest($request); + $obsException-> setResponse($response); + $obsException-> setExceptionType($this->isClientError($response) ? 'client' : 'server'); + $this->parseXmlToException($body, $obsException); + throw $obsException; + }else{ + $this->parseCommonHeaders($model, $response); + $this->parseXmlToModel($body, $model); + } + + }else{ + if(!empty($model)){ + foreach ($model as $key => $value){ + if($key === 'method'){ + continue; + } + if(isset($value['type']) && $value['type'] === 'file'){ + $this->writeFile($value['value'], $body, $expectedLength); + } + $model[$key] = $value['value']; + } + } + + if(isset($requestConfig['responseParameters'])){ + $responseParameters = $requestConfig['responseParameters']; + if(isset($responseParameters['type']) && $responseParameters['type'] === 'object'){ + $responseParameters = $responseParameters['properties']; + } + $this->parseItems($responseParameters, $model, $response, $body); + } + } + + $model['HttpStatusCode'] = $statusCode; + $model['Reason'] = $response -> getReasonPhrase(); + } + + protected function getXpathPrefix($xml) + { + $namespaces = $xml -> getDocNamespaces(); + if (isset($namespaces[''])) { + $xml->registerXPathNamespace('ns', $namespaces['']); + $prefix = 'ns:'; + } else { + $prefix = ''; + } + return $prefix; + } + + protected function buildException(Request $request, RequestException $exception, $message) + { + $response = $exception-> hasResponse() ? $exception-> getResponse() : null; + $obsException= new ObsException($message ? $message : $exception-> getMessage()); + $obsException-> setExceptionType('client'); + $obsException-> setRequest($request); + if($response){ + $obsException-> setResponse($response); + $obsException-> setExceptionType($this->isClientError($response) ? 'client' : 'server'); + $this->parseXmlToException($response -> getBody(), $obsException); + if ($obsException->getRequestId() === null) { + $prefix = strcasecmp($this->signature, 'obs' ) === 0 ? 'x-obs-' : 'x-amz-'; + $requestId = $response->getHeaderLine($prefix . 'request-id'); + $obsException->setRequestId($requestId); + } + } + return $obsException; + } + + protected function parseExceptionAsync(Request $request, RequestException $exception, $message=null) + { + return $this->buildException($request, $exception, $message); + } + + protected function parseException(Model $model, Request $request, RequestException $exception, $message=null) + { + $response = $exception-> hasResponse() ? $exception-> getResponse() : null; + + if($this-> exceptionResponseMode){ + throw $this->buildException($request, $exception, $message); + }else{ + if($response){ + $model['HttpStatusCode'] = $response -> getStatusCode(); + $model['Reason'] = $response -> getReasonPhrase(); + $this->parseXmlToModel($response -> getBody(), $model); + }else{ + $model['HttpStatusCode'] = -1; + $model['Message'] = $exception -> getMessage(); + } + } + } +} \ No newline at end of file diff --git a/addons/hwobs/library/Obs/Internal/Resource/Constants.php b/addons/hwobs/library/Obs/Internal/Resource/Constants.php new file mode 100644 index 0000000..5f0753b --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Resource/Constants.php @@ -0,0 +1,123 @@ + 'ContentLength', + 'date' => 'Date', + 'x-obs-request-id' => 'RequestId', + 'x-obs-id-2' => 'Id2', + 'x-reserved' => 'Reserved' + ]; +} diff --git a/addons/hwobs/library/Obs/Internal/Resource/OBSRequestResource.php b/addons/hwobs/library/Obs/Internal/Resource/OBSRequestResource.php new file mode 100644 index 0000000..45518fb --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Resource/OBSRequestResource.php @@ -0,0 +1,4071 @@ + [ + 'createBucket' => [ + 'httpMethod' => 'PUT', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'CreateBucketConfiguration' + ] + ], + 'requestParameters' => [ + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-acl', + 'transform' => 'aclHeader' + ], + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'LocationConstraint' => [ + 'type' => 'string', + 'location' => 'xml', + 'sentAs' => 'Location' + ], + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-storage-class', + 'transform' => 'storageClass' + ] + ], + 'responseParameters' => [ + 'Location' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ], + + 'listBuckets' => [ + 'httpMethod' => 'GET', + 'responseParameters' => [ + 'Buckets' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Buckets', + 'items' => [ + 'name' => 'Bucket', + 'type' => 'object', + 'sentAs' => 'Bucket', + 'properties' => [ + 'Name' => [ + 'type' => 'string' + ], + 'CreationDate' => [ + 'type' => 'string' + ], + 'Location' => [ + 'type' => 'string' + ] + ] + ] + ], + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ], + + 'deleteBucket' => [ + 'httpMethod' => 'DELETE', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'listObjects' => [ + 'httpMethod' => 'GET', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'delimiter' + ], + 'Marker' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'marker' + ], + 'MaxKeys' => [ + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'max-keys' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'prefix' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'IsTruncated' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'Marker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'NextMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Contents' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Contents', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'Object', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string' + ], + 'LastModified' => [ + 'type' => 'string' + ], + 'ETag' => [ + 'type' => 'string' + ], + 'Size' => [ + 'type' => 'integer' + ], + 'StorageClass' => [ + 'type' => 'string' + ], + 'Type' => [ + 'type' => 'string' + ], + 'Owner' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ], + 'Name' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'MaxKeys' => [ + 'type' => 'integer', + 'location' => 'xml' + ], + 'CommonPrefixes' => [ + 'type' => 'array', + 'location' => 'xml', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'CommonPrefix', + 'type' => 'object', + 'properties' => [ + 'Prefix' => [ + 'type' => 'string' + ] + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'Location' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-bucket-location' + ] + ] + ] + ], + + 'listVersions' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'versions', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'delimiter' + ], + 'KeyMarker' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'key-marker' + ], + 'MaxKeys' => [ + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'max-keys' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'prefix' + ], + 'VersionIdMarker' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'version-id-marker' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'IsTruncated' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'KeyMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'VersionIdMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'NextKeyMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'NextVersionIdMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Versions' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Version', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'ObjectVersion', + 'type' => 'object', + 'sentAs' => 'Version', + 'properties' => [ + 'ETag' => [ + 'type' => 'string' + ], + 'Size' => [ + 'type' => 'integer' + ], + 'StorageClass' => [ + 'type' => 'string' + ], + 'Key' => [ + 'type' => 'string' + ], + 'VersionId' => [ + 'type' => 'string' + ], + 'IsLatest' => [ + 'type' => 'boolean' + ], + 'LastModified' => [ + 'type' => 'string' + ], + 'Type' => [ + 'type' => 'string' + ], + 'Owner' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ], + 'DeleteMarkers' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'DeleteMarker', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'DeleteMarkerEntry', + 'type' => 'object', + 'sentAs' => 'DeleteMarker', + 'properties' => [ + 'Owner' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Key' => [ + 'type' => 'string' + ], + 'VersionId' => [ + 'type' => 'string' + ], + 'IsLatest' => [ + 'type' => 'boolean' + ], + 'LastModified' => [ + 'type' => 'string' + ] + ] + ] + ], + 'Name' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'MaxKeys' => [ + 'type' => 'integer', + 'location' => 'xml' + ], + 'CommonPrefixes' => [ + 'type' => 'array', + 'location' => 'xml', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'CommonPrefix', + 'type' => 'object', + 'properties' => [ + 'Prefix' => [ + 'type' => 'string' + ] + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'Location' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-bucket-location' + ] + ] + ] + ], + + 'getBucketMetadata' => [ + 'httpMethod' => 'HEAD', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Origin' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Origin' + ], + 'RequestHeader' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Access-Control-Request-Headers' + ] + ], + 'responseParameters' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'StorageClass' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-storage-class' + ], + + 'Location' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-bucket-location' + ], + + 'AllowOrigin' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-origin' + ], + 'MaxAgeSeconds' => [ + 'location' => 'header', + 'sentAs' => 'access-control-max-age', + 'type' => 'integer' + ], + 'ExposeHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-expose-headers' + ], + 'AllowMethod' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-methods' + ], + 'AllowHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-headers' + ] + ] + ], + + 'getBucketLocation' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'location', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Location' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketStorageInfo' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'storageinfo', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Size' => [ + 'type' => 'numeric', + 'location' => 'xml', + 'sentAs' => 'Size' + ], + 'ObjectNumber' => [ + 'type' => 'integer', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + 'setBucketQuota' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'quota', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'Quota' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'StorageQuota' => [ + 'required' => true, + 'type' => 'numeric', + 'location' => 'xml' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketQuota' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'quota', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'StorageQuota' => [ + 'type' => 'integer', + 'location' => 'xml', + 'sentAs' => 'StorageQuota' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'setBucketStoragePolicy' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'storageClass', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'StorageClass' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'StorageClass' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'xml', + 'transform' => 'storageClass', + 'data' => [ + 'xmlFlattened' => true + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketStoragePolicy' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'storagePolicy', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'setBucketAcl' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'acl', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'AccessControlPolicy' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-acl', + 'transform' => 'aclHeader' + ], + 'GrantRead' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-read' + ], + 'GrantWrite' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-write' + ], + 'GrantReadAcp' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-read-acp' + ], + 'GrantWriteAcp' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-write-acp' + ], + 'GrantFullControl' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-full-control' + ], + 'GrantDeliveryRead' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-read-delivered' + ], + 'GrantDeliveryFullControl' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-full-control-delivered' + ], + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Grants' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'AccessControlList', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'URI' => [ + 'type' => 'string', + 'sentAs' => 'Canned', + 'transform' => 'aclUri' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ], + 'Delivered' => [ + 'type' => 'boolean' + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketAcl' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'acl', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Grants' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'AccessControlList', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'sentAs' => 'Grant', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'URI' => [ + 'type' => 'string', + 'sentAs' => 'Canned' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ], + 'Delivered' => [ + 'type' => 'boolean' + ] + ] + ] + ] + ] + ] + ], + + 'setBucketLoggingConfiguration' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'logging', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'BucketLoggingStatus' + ], + 'xmlAllowEmpty' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Agency' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'LoggingEnabled' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'TargetBucket' => [ + 'type' => 'string' + ], + 'TargetPrefix' => [ + 'type' => 'string' + ], + 'TargetGrants' => [ + 'type' => 'array', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'URI' => [ + 'type' => 'string', + 'sentAs' => 'Canned', + 'transform' => 'aclUri' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketLoggingConfiguration' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'logging', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Agency' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'LoggingEnabled' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'TargetBucket' => [ + 'type' => 'string' + ], + 'TargetGrants' => [ + 'type' => 'array', + 'sentAs' => 'TargetGrants', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'sentAs' => 'Grant', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'URI' => [ + 'type' => 'string', + 'sentAs' => 'Canned' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ] + ] + ] + ], + 'TargetPrefix' => [ + 'type' => 'string' + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'setBucketPolicy' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'policy', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Policy' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'body' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketPolicy' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'policy', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Policy' => [ + 'type' => 'string', + 'location' => 'body' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'deleteBucketPolicy' => [ + 'httpMethod' => 'DELETE', + 'specialParam' => 'policy', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'setBucketLifecycleConfiguration' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'lifecycle', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'LifecycleConfiguration' + ], + 'contentMd5' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Rules' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Rule', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'Rule', + 'type' => 'object', + 'sentAs' => 'Rule', + 'properties' => [ + 'Transitions' => [ + 'type' => 'array', + 'sentAs' => 'Transition', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'Transition', + 'properties' => [ + 'StorageClass' => [ + 'type' => 'string', + 'transform' => 'storageClass' + ], + 'Date' => [ + 'type' => 'string', + 'format' => 'date-time-middle' + ], + 'Days' => [ + 'type' => 'numeric' + ] + ] + ] + ], + 'Expiration' => [ + 'type' => 'object', + 'properties' => [ + 'Date' => [ + 'type' => 'string', + 'format' => 'date-time-middle' + ], + 'Days' => [ + 'type' => 'numeric' + ] + ] + ], + 'NoncurrentVersionTransitions' => [ + 'type' => 'array', + 'sentAs' => 'NoncurrentVersionTransition', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'NoncurrentVersionTransition', + 'properties' => [ + 'StorageClass' => [ + 'type' => 'string', + 'transform' => 'storageClass' + ], + 'NoncurrentDays' => [ + 'type' => 'numeric' + ] + ] + ] + ], + 'NoncurrentVersionExpiration' => [ + 'type' => 'object', + 'properties' => [ + 'NoncurrentDays' => [ + 'type' => 'numeric' + ] + ] + ], + 'ID' => [ + 'type' => 'string' + ], + 'Prefix' => [ + 'required' => true, + 'type' => 'string', + 'canEmpty' => true + ], + 'Status' => [ + 'required' => true, + 'type' => 'string' + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketLifecycleConfiguration' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'lifecycle', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'Rules' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Rule', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'Rule', + 'type' => 'object', + 'sentAs' => 'Rule', + 'properties' => [ + 'Transitions' => [ + 'type' => 'array', + 'sentAs' => 'Transition', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'Transition', + 'properties' => [ + 'StorageClass' => [ + 'type' => 'string' + ], + 'Date' => [ + 'type' => 'string', + 'format' => 'date-time-middle' + ], + 'Days' => [ + 'type' => 'numeric' + ] + ] + ] + ], + 'Expiration' => [ + 'type' => 'object', + 'properties' => [ + 'Date' => [ + 'type' => 'string' + ], + 'Days' => [ + 'type' => 'integer' + ] + ] + ], + 'NoncurrentVersionTransitions' => [ + 'type' => 'array', + 'sentAs' => 'NoncurrentVersionTransition', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'NoncurrentVersionTransition', + 'properties' => [ + 'StorageClass' => [ + 'type' => 'string' + ], + 'NoncurrentDays' => [ + 'type' => 'numeric' + ] + ] + ] + ], + 'NoncurrentVersionExpiration' => [ + 'type' => 'object', + 'properties' => [ + 'NoncurrentDays' => [ + 'type' => 'integer' + ] + ] + ], + 'ID' => [ + 'type' => 'string' + ], + 'Prefix' => [ + 'type' => 'string' + ], + 'Status' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + + 'deleteBucketLifecycleConfiguration' => [ + 'httpMethod' => 'DELETE', + 'specialParam' => 'lifecycle', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'setBucketWebsiteConfiguration' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'website', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'WebsiteConfiguration' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'ErrorDocument' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'Key' => [ + 'required' => true, + 'type' => 'string' + ] + ] + ], + 'IndexDocument' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'Suffix' => [ + 'required' => true, + 'type' => 'string' + ] + ] + ], + 'RedirectAllRequestsTo' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'HostName' => [ + 'required' => true, + 'type' => 'string' + ], + 'Protocol' => [ + 'type' => 'string' + ] + ] + ], + 'RoutingRules' => [ + 'type' => 'array', + 'location' => 'xml', + 'items' => [ + 'name' => 'RoutingRule', + 'type' => 'object', + 'properties' => [ + 'Condition' => [ + 'type' => 'object', + 'properties' => [ + 'HttpErrorCodeReturnedEquals' => [ + 'type' => 'numeric' + ], + 'KeyPrefixEquals' => [ + 'type' => 'string' + ] + ] + ], + 'Redirect' => [ + 'required' => true, + 'type' => 'object', + 'properties' => [ + 'HostName' => [ + 'type' => 'string' + ], + 'HttpRedirectCode' => [ + 'type' => 'numeric' + ], + 'Protocol' => [ + 'type' => 'string' + ], + 'ReplaceKeyPrefixWith' => [ + 'type' => 'string' + ], + 'ReplaceKeyWith' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketWebsiteConfiguration' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'website', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'RedirectAllRequestsTo' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'HostName' => [ + 'type' => 'string' + ], + 'Protocol' => [ + 'type' => 'string' + ] + ] + ], + 'IndexDocument' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'Suffix' => [ + 'type' => 'string' + ] + ] + ], + 'ErrorDocument' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'Key' => [ + 'type' => 'string' + ] + ] + ], + 'RoutingRules' => [ + 'type' => 'array', + 'location' => 'xml', + 'items' => [ + 'name' => 'RoutingRule', + 'type' => 'object', + 'sentAs' => 'RoutingRule', + 'properties' => [ + 'Condition' => [ + 'type' => 'object', + 'properties' => [ + 'HttpErrorCodeReturnedEquals' => [ + 'type' => 'integer' + ], + 'KeyPrefixEquals' => [ + 'type' => 'string' + ] + ] + ], + 'Redirect' => [ + 'type' => 'object', + 'properties' => [ + 'HostName' => [ + 'type' => 'string' + ], + 'HttpRedirectCode' => [ + 'type' => 'integer' + ], + 'Protocol' => [ + 'type' => 'string' + ], + 'ReplaceKeyPrefixWith' => [ + 'type' => 'string' + ], + 'ReplaceKeyWith' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ] + ] + ], + + 'deleteBucketWebsiteConfiguration' => [ + 'httpMethod' => 'DELETE', + 'specialParam' => 'website', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'setBucketVersioningConfiguration' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'versioning', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'VersioningConfiguration' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Status' => [ + 'type' => 'string', + 'location' => 'xml' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketVersioningConfiguration' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'versioning', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'Status' => [ + 'type' => 'string', + 'location' => 'xml' + ] + ] + ] + ], + + 'setBucketCors' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'cors', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'CORSConfiguration' + ], + 'contentMd5' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'CorsRules' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'CORSRule', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'CORSRule', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'AllowedMethod' => [ + 'required' => true, + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'AllowedMethod' + ] + ], + 'AllowedOrigin' => [ + 'required' => true, + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'sentAs' => 'AllowedOrigin', + 'type' => 'string' + ] + ], + 'AllowedHeader' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'AllowedHeader', + 'type' => 'string' + ] + ], + 'MaxAgeSeconds' => [ + 'type' => 'numeric' + ], + 'ExposeHeader' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'ExposeHeader', + 'type' => 'string' + ] + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketCors' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'cors', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'CorsRules' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'CORSRule', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'AllowedMethod' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'AllowedMethod' + ] + ], + 'AllowedOrigin' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'sentAs' => 'AllowedOrigin', + 'type' => 'string' + ] + ], + 'AllowedHeader' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'AllowedHeader', + 'type' => 'string' + ] + ], + 'MaxAgeSeconds' => [ + 'type' => 'integer' + ], + 'ExposeHeader' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'ExposeHeader', + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ] + ], + + 'deleteBucketCors' => [ + 'httpMethod' => 'DELETE', + 'specialParam' => 'cors', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'optionsBucket' => [ + 'httpMethod' => 'OPTIONS', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Origin' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'header' + ], + 'AccessControlRequestMethods' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'header', + 'items' => [ + 'sentAs' => 'Access-Control-Request-Method', + 'type' => 'string' + ] + ], + 'AccessControlRequestHeaders' => [ + 'type' => 'array', + 'location' => 'header', + 'items' => [ + 'sentAs' => 'Access-Control-Request-Headers', + 'type' => 'string' + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'AllowOrigin' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-origin' + ], + 'AllowHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-headers' + ], + 'AllowMethod' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-methods' + ], + 'ExposeHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-expose-headers' + ], + 'MaxAgeSeconds' => [ + 'location' => 'header', + 'sentAs' => 'access-control-max-age' + ] + ] + ] + ], + + 'setBucketTagging' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'tagging', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'Tagging' + ], + 'contentMd5' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Tags' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'TagSet', + 'items' => [ + 'required' => true, + 'type' => 'object', + 'name' => 'Tag', + 'properties' => [ + 'Key' => [ + 'required' => true, + 'type' => 'string' + ], + 'Value' => [ + 'required' => true, + 'type' => 'string' + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketTagging' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'tagging', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'Tags' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'TagSet', + 'items' => [ + 'type' => 'object', + 'name' => 'Tag', + 'properties' => [ + 'Key' => [ + 'type' => 'string' + ], + 'Value' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + + 'deleteBucketTagging' => [ + 'httpMethod' => 'DELETE', + 'specialParam' => 'tagging', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'setBucketNotification' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'notification', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'NotificationConfiguration' + ], + 'xmlAllowEmpty' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'TopicConfigurations' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'TopicConfiguration', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'location' => 'xml', + 'sentAs' => 'TopicConfiguration', + 'properties' => [ + 'ID' => [ + 'type' => 'string', + 'sentAs' => 'Id' + ], + 'Filter' => [ + 'type' => 'array', + 'wrapper' => 'Filter', + 'sentAs' => 'Object', + 'items' => [ + 'type' => 'object', + 'sentAs' => 'FilterRule', + 'properties' => [ + 'Name' => [ + 'type' => 'string' + ], + + 'Value' => [ + 'type' => 'string' + ] + ] + ] + ], + 'Topic' => [ + 'type' => 'string' + ], + 'Event' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'Event', + 'transform' => 'event' + ] + ], + ] + ] + ], + 'FunctionStageConfigurations' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'FunctionStageConfiguration', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'location' => 'xml', + 'sentAs' => 'FunctionStageConfiguration', + 'properties' => [ + 'ID' => [ + 'type' => 'string', + 'sentAs' => 'Id' + ], + 'FunctionStage' => [ + 'type' => 'string' + ], + 'Event' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'Event' + ] + ], + 'Filter' => [ + 'type' => 'array', + 'wrapper' => 'Filter', + 'sentAs' => 'Object', + 'items' => [ + 'type' => 'object', + 'sentAs' => 'FilterRule', + 'properties' => [ + 'Name' => [ + 'type' => 'string' + ], + + 'Value' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + 'FunctionGraphConfigurations' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'FunctionGraphConfiguration', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'location' => 'xml', + 'sentAs' => 'FunctionGraphConfiguration', + 'properties' => [ + 'ID' => [ + 'type' => 'string', + 'sentAs' => 'Id' + ], + 'FunctionGraph' => [ + 'type' => 'string' + ], + 'Event' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'Event' + ] + ], + 'Filter' => [ + 'type' => 'array', + 'wrapper' => 'Filter', + 'sentAs' => 'Object', + 'items' => [ + 'type' => 'object', + 'sentAs' => 'FilterRule', + 'properties' => [ + 'Name' => [ + 'type' => 'string' + ], + + 'Value' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'getBucketNotification' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'notification', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'TopicConfigurations' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'TopicConfiguration', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'location' => 'xml', + 'sentAs' => 'TopicConfiguration', + 'properties' => [ + 'ID' => [ + 'type' => 'string', + 'sentAs' => 'Id' + ], + 'Topic' => [ + 'type' => 'string' + ], + 'Event' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'Event' + ] + ], + 'Filter' => [ + 'type' => 'array', + 'wrapper' => 'Filter', + 'sentAs' => 'Object', + 'items' => [ + 'type' => 'object', + 'sentAs' => 'FilterRule', + 'properties' => [ + 'Name' => [ + 'type' => 'string' + ], + + 'Value' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + 'FunctionStageConfigurations' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'FunctionStageConfiguration', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'location' => 'xml', + 'sentAs' => 'FunctionStageConfiguration', + 'properties' => [ + 'ID' => [ + 'type' => 'string', + 'sentAs' => 'Id' + ], + 'FunctionStage' => [ + 'type' => 'string' + ], + 'Event' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'Event' + ] + ], + 'Filter' => [ + 'type' => 'array', + 'wrapper' => 'Filter', + 'sentAs' => 'Object', + 'items' => [ + 'type' => 'object', + 'sentAs' => 'FilterRule', + 'properties' => [ + 'Name' => [ + 'type' => 'string' + ], + + 'Value' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + 'FunctionGraphConfigurations' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'FunctionGraphConfiguration', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'location' => 'xml', + 'sentAs' => 'FunctionGraphConfiguration', + 'properties' => [ + 'ID' => [ + 'type' => 'string', + 'sentAs' => 'Id' + ], + 'FunctionGraph' => [ + 'type' => 'string' + ], + 'Event' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'Event' + ] + ], + 'Filter' => [ + 'type' => 'array', + 'wrapper' => 'Filter', + 'sentAs' => 'Object', + 'items' => [ + 'type' => 'object', + 'sentAs' => 'FilterRule', + 'properties' => [ + 'Name' => [ + 'type' => 'string' + ], + + 'Value' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ] + ] + ] + ], + + 'optionsObject' => [ + 'httpMethod' => 'OPTIONS', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'Origin' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'header' + ], + 'AccessControlRequestMethods' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'header', + 'items' => [ + 'sentAs' => 'Access-Control-Request-Method', + 'type' => 'string' + ] + ], + 'AccessControlRequestHeaders' => [ + 'type' => 'array', + 'location' => 'header', + 'items' => [ + 'sentAs' => 'Access-Control-Request-Headers', + 'type' => 'string' + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'AllowOrigin' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-origin' + ], + 'AllowHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-headers' + ], + 'AllowMethod' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-methods' + ], + 'ExposeHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-expose-headers' + ], + 'MaxAgeSeconds' => [ + 'location' => 'header', + 'sentAs' => 'access-control-max-age' + ] + ] + ] + ], + + 'deleteObject' => [ + 'httpMethod' => 'DELETE', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'DeleteMarker' => [ + 'type' => 'boolean', + 'location' => 'header', + 'sentAs' => 'x-obs-delete-marker' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-version-id' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + 'deleteObjects' => [ + 'httpMethod' => 'POST', + 'specialParam' => 'delete', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'Delete' + ], + 'contentMd5' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Quiet' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'Objects' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'xml', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'Object', + 'properties' => [ + 'Key' => [ + 'required' => true, + 'type' => 'string' + ], + 'VersionId' => [ + 'type' => 'string' + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Deleteds' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Deleted', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'DeletedObject', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string' + ], + 'VersionId' => [ + 'type' => 'string' + ], + 'DeleteMarker' => [ + 'type' => 'boolean' + ], + 'DeleteMarkerVersionId' => [ + 'type' => 'string' + ] + ] + ] + ], + 'Errors' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Error', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'Error', + 'type' => 'object', + 'sentAs' => 'Error', + 'properties' => [ + 'Key' => [ + 'type' => 'string' + ], + 'VersionId' => [ + 'type' => 'string' + ], + 'Code' => [ + 'type' => 'string' + ], + 'Message' => [ + 'type' => 'string' + ] + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'setObjectAcl' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'acl', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'AccessControlPolicy' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ], + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-acl', + 'transform' => 'aclHeader' + ], + 'GrantRead' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-read' + ], + 'GrantWrite' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-write' + ], + 'GrantReadAcp' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-read-acp' + ], + 'GrantWriteAcp' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-write-acp' + ], + 'GrantFullControl' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-grant-full-control' + ], + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Delivered' => [ + 'type' => 'boolean' + ], + 'Grants' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'AccessControlList', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'URI' => [ + 'type' => 'string', + 'sentAs' => 'Canned', + 'transform' => 'aclUri' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ], + + 'getObjectAcl' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'acl', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Delivered' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'Grants' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'AccessControlList', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'sentAs' => 'Grant', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'URI' => [ + 'type' => 'string', + 'sentAs' => 'Canned' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ] + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'VersionId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-version-id' + ] + ] + ] + ], + + 'restoreObject' => [ + 'httpMethod' => 'POST', + 'specialParam' => 'restore', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'RestoreRequest' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ], + 'Days' => [ + 'required' => true, + 'type' => 'numeric', + 'location' => 'xml', + 'sentAs' => 'Days' + ], + 'Tier' => [ + 'wrapper' => 'RestoreJob', + 'type' => 'string', + 'sentAs' => 'Tier', + 'location' => 'xml' + ] + ], + 'responseParameters' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ], + + 'putObject' => [ + 'httpMethod' => 'PUT', + 'requestParameters' => [ + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-acl', + 'transform' => 'aclHeader' + ], + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-storage-class', + 'transform' => 'storageClass' + ], + 'Body' => [ + 'type' => 'stream', + 'location' => 'body' + ], + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'ContentMD5' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Content-MD5' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Content-Type' + ], + 'ContentLength' => [ + 'type' => 'numeric', + 'location' => 'header', + 'sentAs' => 'Content-Length' + ], + 'Metadata' => [ + 'type' => 'object', + 'location' => 'header', + 'sentAs' => 'x-obs-meta-' + ], + 'SourceFile' => [ + 'type' => 'file', + 'location' => 'body' + ], + 'WebsiteRedirectLocation' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-website-redirect-location' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key', + 'type' => 'password' + ], + 'SuccessRedirect' => [ + 'location' => 'header', + 'type' => 'string', + 'sentAs' => 'success-action-redirect' + ], + 'Expires' => [ + 'location' => 'header', + 'type' => 'string', + 'sentAs' => 'x-obs-expires' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'ETag' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-version-id' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'StorageClass' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-storage-class' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key-MD5' + ] + ] + ] + ], + + 'getObject' => [ + 'httpMethod' => 'GET', + 'stream' => true, + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'IfMatch' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'If-Match' + ], + 'IfModifiedSince' => [ + 'type' => 'string', + 'format' => 'date-time-http', + 'location' => 'header', + 'sentAs' => 'If-Modified-Since' + ], + 'IfNoneMatch' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'If-None-Match' + ], + 'IfUnmodifiedSince' => [ + 'type' => 'string', + 'format' => 'date-time-http', + 'location' => 'header', + 'sentAs' => 'If-Unmodified-Since' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'Range' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'ImageProcess' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'x-image-process' + ], + 'ResponseCacheControl' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'response-cache-control' + ], + 'ResponseContentDisposition' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'response-content-disposition' + ], + 'ResponseContentEncoding' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'response-content-encoding' + ], + 'ResponseContentLanguage' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'response-content-language' + ], + 'ResponseContentType' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'response-content-type' + ], + 'ResponseExpires' => [ + 'type' => 'string', + 'format' => 'date-time-http', + 'location' => 'query', + 'sentAs' => 'response-expires' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ], + 'SaveAsFile' => [ + 'type' => 'file', + 'location' => 'response' + ], + 'FilePath' => [ + 'type' => 'file', + 'location' => 'response' + ], + + 'Origin' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Origin' + ], + 'RequestHeader' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Access-Control-Request-Headers' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key', + 'type' => 'password' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Body' => [ + 'type' => 'stream', + 'location' => 'body' + ], + 'DeleteMarker' => [ + 'type' => 'boolean', + 'location' => 'header', + 'sentAs' => 'x-obs-delete-marker' + ], + 'Expiration' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-expiration' + ], + 'LastModified' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'last-modified' + ], + 'ContentLength' => [ + 'type' => 'integer', + 'location' => 'header', + 'sentAs' => 'content-length' + ], + 'ETag' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'etag' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-version-id' + ], + 'CacheControl' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'cache-control' + ], + 'ContentDisposition' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-disposition' + ], + 'ContentEncoding' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-encoding' + ], + 'ContentLanguage' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-language' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-type' + ], + 'Expires' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'WebsiteRedirectLocation' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-website-redirect-location' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'StorageClass' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-storage-class' + ], + 'Restore' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-restore' + ], + 'AllowOrigin' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-origin' + ], + 'MaxAgeSeconds' => [ + 'location' => 'header', + 'sentAs' => 'access-control-max-age' + ], + 'ExposeHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-expose-headers' + ], + 'AllowMethod' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-methods' + ], + 'AllowHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-headers' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key-MD5' + ], + 'Metadata' => [ + 'location' => 'header', + 'type' => 'object', + 'sentAs' => 'x-obs-meta-' + ], + 'ObjectType' => [ + 'location' => 'header', + 'type' => 'string', + 'sentAs' => 'x-obs-object-type' + ], + 'AppendPosition' => [ + 'location' => 'header', + 'type' => 'string', + 'sentAs' => 'x-obs-next-append-position' + ] + ] + ] + ], + + 'copyObject' => [ + 'httpMethod' => 'PUT', + 'requestParameters' => [ + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-acl', + 'transform' => 'aclHeader' + ], + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-storage-class', + 'transform' => 'storageClass' + ], + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'CopySource' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source' + ], + 'CopySourceIfMatch' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source-if-match' + ], + 'CopySourceIfModifiedSince' => [ + 'type' => 'string', + 'format' => 'date-time-http', + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source-if-modified-since' + ], + 'CopySourceIfNoneMatch' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source-if-none-match' + ], + 'CopySourceIfUnmodifiedSince' => [ + 'type' => 'string', + 'format' => 'date-time-http', + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source-if-unmodified-since' + ], + 'MetadataDirective' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-metadata-directive' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-type' + ], + 'ContentEncoding' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-encoding' + ], + 'ContentLanguage' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-language' + ], + 'ContentDisposition' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-disposition' + ], + 'CacheControl' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'cache-control' + ], + 'Expires' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'expires' + ], + 'Metadata' => [ + 'type' => 'object', + 'location' => 'header', + 'sentAs' => 'x-obs-meta-' + ], + 'WebsiteRedirectLocation' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-website-redirect-location' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key', + 'type' => 'password' + ], + 'CopySourceSseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source-server-side-encryption-customer-algorithm' + ], + 'CopySourceSseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source-server-side-encryption-customer-key', + 'type' => 'password' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'ETag' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'LastModified' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-version-id' + ], + 'CopySourceVersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source-version-id' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key-MD5' + ] + ] + ] + ], + + 'getObjectMetadata' => [ + 'httpMethod' => 'HEAD', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ], + 'Origin' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Origin' + ], + 'RequestHeader' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Access-Control-Request-Headers' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key', + 'type' => 'password' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Expiration' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-expiration' + ], + 'LastModified' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'last-modified' + ], + 'ContentLength' => [ + 'type' => 'integer', + 'location' => 'header', + 'sentAs' => 'content-length' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-type' + ], + 'ETag' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-version-id' + ], + 'WebsiteRedirectLocation' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-website-redirect-location' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'StorageClass' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-storage-class' + ], + 'AllowOrigin' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-origin' + ], + 'MaxAgeSeconds' => [ + 'type' => 'integer', + 'location' => 'header', + 'sentAs' => 'access-control-max-age' + ], + 'ExposeHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-expose-headers' + ], + 'AllowMethod' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-methods' + ], + 'AllowHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-headers' + ], + 'Restore' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-restore' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key-MD5' + ], + 'Metadata' => [ + 'location' => 'header', + 'type' => 'object', + 'sentAs' => 'x-obs-meta-' + ], + 'ObjectType' => [ + 'location' => 'header', + 'type' => 'string', + 'sentAs' => 'x-obs-object-type' + ], + 'AppendPosition' => [ + 'location' => 'header', + 'type' => 'string', + 'sentAs' => 'x-obs-next-append-position' + ] + ] + ] + ], + + 'initiateMultipartUpload' => [ + 'httpMethod' => 'POST', + 'specialParam' => 'uploads', + 'requestParameters' => [ + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-acl', + 'transform' => 'aclHeader' + ], + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-storage-class', + 'transform' => 'storageClass' + ], + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Content-Type' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'Metadata' => [ + 'type' => 'object', + 'location' => 'header', + 'sentAs' => 'x-obs-meta-' + ], + 'WebsiteRedirectLocation' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-website-redirect-location' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key', + 'type' => 'password' + ], + 'Expires' => [ + 'location' => 'header', + 'type' => 'string', + 'sentAs' => 'x-obs-expires' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Bucket' => [ + 'type' => 'string', + 'location' => 'xml', + 'sentAs' => 'Bucket' + ], + 'Key' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'UploadId' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key-MD5' + ] + ] + ] + ], + + 'listMultipartUploads' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'uploads', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'delimiter' + ], + 'KeyMarker' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'key-marker' + ], + 'MaxUploads' => [ + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'max-uploads' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'prefix' + ], + 'UploadIdMarker' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'upload-id-marker' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Bucket' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'KeyMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'UploadIdMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'NextKeyMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'NextUploadIdMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'MaxUploads' => [ + 'type' => 'numeric', + 'location' => 'xml' + ], + 'IsTruncated' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'Uploads' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Upload', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'MultipartUpload', + 'type' => 'object', + 'sentAs' => 'Upload', + 'properties' => [ + 'UploadId' => [ + 'type' => 'string' + ], + 'Key' => [ + 'type' => 'string' + ], + 'Initiated' => [ + 'type' => 'string' + ], + 'StorageClass' => [ + 'type' => 'string' + ], + 'Owner' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Initiator' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ], + 'CommonPrefixes' => [ + 'type' => 'array', + 'location' => 'xml', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'CommonPrefix', + 'type' => 'object', + 'properties' => [ + 'Prefix' => [ + 'type' => 'string' + ] + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'abortMultipartUpload' => [ + 'httpMethod' => 'DELETE', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'UploadId' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'uploadId' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'uploadPart' => [ + 'httpMethod' => 'PUT', + 'requestParameters' => [ + 'Body' => [ + 'type' => 'stream', + 'location' => 'body' + ], + 'SourceFile' => [ + 'type' => 'file', + 'location' => 'body' + ], + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'PartNumber' => [ + 'required' => true, + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'partNumber' + ], + 'UploadId' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'uploadId' + ], + 'Offset' => [ + 'type' => 'numeric', + 'location' => 'response' + ], + 'PartSize' => [ + 'type' => 'numeric', + 'location' => 'response' + ], + 'ContentMD5' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Content-MD5' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Content-Type' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key', + 'type' => 'password' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'ETag' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key-MD5' + ] + ] + ] + ], + + 'completeMultipartUpload' => [ + 'httpMethod' => 'POST', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'CompleteMultipartUpload' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'Parts' => [ + 'type' => 'array', + 'location' => 'xml', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'CompletedPart', + 'type' => 'object', + 'sentAs' => 'Part', + 'properties' => [ + 'PartNumber' => [ + 'type' => 'numeric' + ], + 'ETag' => [ + 'type' => 'string' + ] + ] + ] + ], + 'UploadId' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'uploadId' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Location' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Bucket' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Key' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Location' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'ETag' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-version-id' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key-MD5' + ] + ] + ] + ], + + 'listParts' => [ + 'httpMethod' => 'GET', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'MaxParts' => [ + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'max-parts' + ], + 'PartNumberMarker' => [ + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'part-number-marker' + ], + 'UploadId' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'uploadId' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Bucket' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Key' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'UploadId' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'PartNumberMarker' => [ + 'type' => 'numeric', + 'location' => 'xml' + ], + 'NextPartNumberMarker' => [ + 'type' => 'numeric', + 'location' => 'xml' + ], + 'MaxParts' => [ + 'type' => 'numeric', + 'location' => 'xml' + ], + 'IsTruncated' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'Parts' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Part', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'Part', + 'type' => 'object', + 'sentAs' => 'Part', + 'properties' => [ + 'PartNumber' => [ + 'type' => 'integer' + ], + 'LastModified' => [ + 'type' => 'string' + ], + 'ETag' => [ + 'type' => 'string' + ], + 'Size' => [ + 'type' => 'integer' + ] + ] + ] + ], + 'Initiator' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ] + ] + ] + ], + + 'copyPart' => [ + 'httpMethod' => 'PUT', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'CopySource' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source' + ], + 'CopySourceRange' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source-range' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'PartNumber' => [ + 'required' => true, + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'partNumber' + ], + 'UploadId' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'uploadId' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key', + 'type' => 'password' + ], + 'CopySourceSseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source-server-side-encryption-customer-algorithm' + ], + 'CopySourceSseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-copy-source-server-side-encryption-customer-key', + 'type' => 'password' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'ETag' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'LastModified' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-request-id' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-obs-server-side-encryption-customer-key-MD5' + ] + ] + ] + ] + ], + + 'aliases' => [ + 'headBucket' => 'getBucketMetadata', + + 'getBucketLogging' => 'getBucketLoggingConfiguration', + 'setBucketLogging' => 'setBucketLoggingConfiguration', + 'getBucketVersioning' => 'getBucketVersioningConfiguration', + 'setBucketVersioning' => 'setBucketVersioningConfiguration', + 'setBucketWebsite' => 'setBucketWebsiteConfiguration', + 'getBucketWebsite' => 'getBucketWebsiteConfiguration', + 'deleteBucketWebsite' => 'deleteBucketWebsiteConfiguration', + 'setBucketLifecycle' => 'setBucketLifecycleConfiguration', + 'getBucketLifecycle' => 'getBucketLifecycleConfiguration', + 'deleteBucketLifecycle' => 'deleteBucketLifecycleConfiguration' + ] + ]; +} \ No newline at end of file diff --git a/addons/hwobs/library/Obs/Internal/Resource/V2Constants.php b/addons/hwobs/library/Obs/Internal/Resource/V2Constants.php new file mode 100644 index 0000000..57cb93d --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Resource/V2Constants.php @@ -0,0 +1,38 @@ + 'ContentLength', + 'date' => 'Date', + 'x-amz-request-id' => 'RequestId', + 'x-amz-id-2' => 'Id2', + 'x-reserved' => 'Reserved' + ]; +} diff --git a/addons/hwobs/library/Obs/Internal/Resource/V2RequestResource.php b/addons/hwobs/library/Obs/Internal/Resource/V2RequestResource.php new file mode 100644 index 0000000..5cbab73 --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Resource/V2RequestResource.php @@ -0,0 +1,3890 @@ + [ + 'createBucket' => [ + 'httpMethod' => 'PUT', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'CreateBucketConfiguration' + ] + ], + 'requestParameters' => [ + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-acl', + 'transform' => 'aclHeader' + ], + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'LocationConstraint' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-default-storage-class', + 'transform' => 'storageClass' + ] + ], + 'responseParameters' => [ + 'Location' => [ + 'type' => 'string', + 'location' => 'header', + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ], + + 'listBuckets' => [ + 'httpMethod' => 'GET', + 'requestParameters' => [ + 'QueryLocation' => [ + 'type' => 'boolean', + 'location' => 'header', + 'sentAs' => 'x-amz-location', + ], + ], + 'responseParameters' => [ + 'Buckets' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Buckets', + 'items' => [ + 'name' => 'Bucket', + 'type' => 'object', + 'sentAs' => 'Bucket', + 'properties' => [ + 'Name' => [ + 'type' => 'string' + ], + 'CreationDate' => [ + 'type' => 'string' + ], + 'Location' => [ + 'type' => 'string' + ] + ] + ] + ], + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ], + + 'deleteBucket' => [ + 'httpMethod' => 'DELETE', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'listObjects' => [ + 'httpMethod' => 'GET', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'delimiter' + ], + 'Marker' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'marker' + ], + 'MaxKeys' => [ + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'max-keys' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'prefix' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'IsTruncated' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'Marker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'NextMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Contents' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Contents', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'Object', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string' + ], + 'LastModified' => [ + 'type' => 'string' + ], + 'ETag' => [ + 'type' => 'string' + ], + 'Size' => [ + 'type' => 'integer' + ], + 'StorageClass' => [ + 'type' => 'string' + ], + 'Owner' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ], + 'Name' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'MaxKeys' => [ + 'type' => 'integer', + 'location' => 'xml' + ], + 'CommonPrefixes' => [ + 'type' => 'array', + 'location' => 'xml', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'CommonPrefix', + 'type' => 'object', + 'properties' => [ + 'Prefix' => [ + 'type' => 'string' + ] + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'Location' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-bucket-region' + ] + ] + ] + ], + + 'listVersions' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'versions', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'delimiter' + ], + 'KeyMarker' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'key-marker' + ], + 'MaxKeys' => [ + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'max-keys' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'prefix' + ], + 'VersionIdMarker' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'version-id-marker' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'IsTruncated' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'KeyMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'VersionIdMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'NextKeyMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'NextVersionIdMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Versions' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Version', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'ObjectVersion', + 'type' => 'object', + 'sentAs' => 'Version', + 'properties' => [ + 'ETag' => [ + 'type' => 'string' + ], + 'Size' => [ + 'type' => 'integer' + ], + 'StorageClass' => [ + 'type' => 'string' + ], + 'Key' => [ + 'type' => 'string' + ], + 'VersionId' => [ + 'type' => 'string' + ], + 'IsLatest' => [ + 'type' => 'boolean' + ], + 'LastModified' => [ + 'type' => 'string' + ], + 'Owner' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ], + 'DeleteMarkers' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'DeleteMarker', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'DeleteMarkerEntry', + 'type' => 'object', + 'sentAs' => 'DeleteMarker', + 'properties' => [ + 'Owner' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Key' => [ + 'type' => 'string' + ], + 'VersionId' => [ + 'type' => 'string' + ], + 'IsLatest' => [ + 'type' => 'boolean' + ], + 'LastModified' => [ + 'type' => 'string' + ] + ] + ] + ], + 'Name' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'MaxKeys' => [ + 'type' => 'integer', + 'location' => 'xml' + ], + 'CommonPrefixes' => [ + 'type' => 'array', + 'location' => 'xml', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'CommonPrefix', + 'type' => 'object', + 'properties' => [ + 'Prefix' => [ + 'type' => 'string' + ] + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'Location' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-bucket-region' + ] + ] + ] + ], + + 'getBucketMetadata' => [ + 'httpMethod' => 'HEAD', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Origin' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Origin' + ], + 'RequestHeader' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Access-Control-Request-Headers' + ] + ], + 'responseParameters' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'StorageClass' => [ + 'location' => 'header', + 'sentAs' => 'x-default-storage-class' + ], + + 'Location' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-bucket-region' + ], + + 'AllowOrigin' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-origin' + ], + 'MaxAgeSeconds' => [ + 'location' => 'header', + 'sentAs' => 'access-control-max-age', + 'type' => 'integer' + ], + 'ExposeHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-expose-headers' + ], + 'AllowMethod' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-methods' + ], + 'AllowHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-headers' + ] + ] + ], + + 'getBucketLocation' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'location', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Location' => [ + 'type' => 'string', + 'sentAs' => 'LocationConstraint', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketStorageInfo' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'storageinfo', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Size' => [ + 'type' => 'numeric', + 'location' => 'xml', + 'sentAs' => 'Size' + ], + 'ObjectNumber' => [ + 'type' => 'integer', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + 'setBucketQuota' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'quota', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'Quota' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'StorageQuota' => [ + 'required' => true, + 'type' => 'numeric', + 'location' => 'xml' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketQuota' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'quota', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'StorageQuota' => [ + 'type' => 'integer', + 'location' => 'xml', + 'sentAs' => 'StorageQuota' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'setBucketStoragePolicy' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'storagePolicy', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'StoragePolicy' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'StorageClass' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'xml', + 'sentAs' => 'DefaultStorageClass', + 'transform' => 'storageClass' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketStoragePolicy' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'storagePolicy', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'xml', + 'sentAs' => 'DefaultStorageClass' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'setBucketAcl' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'acl', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'AccessControlPolicy' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-acl', + 'transform' => 'aclHeader' + ], + 'GrantRead' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-grant-read' + ], + 'GrantWrite' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-grant-write' + ], + 'GrantReadAcp' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-grant-read-acp' + ], + 'GrantWriteAcp' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-grant-write-acp' + ], + 'GrantFullControl' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-grant-full-control' + ], + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Grants' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'AccessControlList', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ], + 'Type' => [ + 'required' => true, + 'type' => 'string', + 'sentAs' => 'xsi:type', + 'data' => [ + 'xmlAttribute' => true, + 'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance' + ] + ], + 'URI' => [ + 'type' => 'string', + 'transform' => 'aclUri' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketAcl' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'acl', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Grants' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'AccessControlList', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'sentAs' => 'Grant', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ], + 'URI' => [ + 'type' => 'string' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + + 'setBucketLoggingConfiguration' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'logging', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'BucketLoggingStatus' + ], + 'xmlAllowEmpty' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'LoggingEnabled' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'TargetBucket' => [ + 'type' => 'string' + ], + 'TargetPrefix' => [ + 'type' => 'string' + ], + 'TargetGrants' => [ + 'type' => 'array', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ], + 'Type' => [ + 'required' => true, + 'type' => 'string', + 'sentAs' => 'xsi:type', + 'data' => [ + 'xmlAttribute' => true, + 'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance' + ] + ], + 'URI' => [ + 'type' => 'string', + 'transform' => 'aclUri' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketLoggingConfiguration' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'logging', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'LoggingEnabled' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'TargetBucket' => [ + 'type' => 'string' + ], + 'TargetGrants' => [ + 'type' => 'array', + 'sentAs' => 'TargetGrants', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'sentAs' => 'Grant', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ], + 'URI' => [ + 'type' => 'string' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ] + ] + ] + ], + 'TargetPrefix' => [ + 'type' => 'string' + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'setBucketPolicy' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'policy', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Policy' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'body' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketPolicy' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'policy', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Policy' => [ + 'type' => 'string', + 'location' => 'body' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'deleteBucketPolicy' => [ + 'httpMethod' => 'DELETE', + 'specialParam' => 'policy', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'setBucketLifecycleConfiguration' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'lifecycle', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'LifecycleConfiguration' + ], + 'contentMd5' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Rules' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Rule', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'Rule', + 'type' => 'object', + 'sentAs' => 'Rule', + 'properties' => [ + 'Transitions' => [ + 'type' => 'array', + 'sentAs' => 'Transition', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'Transition', + 'properties' => [ + 'StorageClass' => [ + 'type' => 'string', + 'transform' => 'storageClass' + ], + 'Date' => [ + 'type' => 'string', + 'format' => 'date-time-middle' + ], + 'Days' => [ + 'type' => 'numeric' + ] + ] + ] + ], + 'Expiration' => [ + 'type' => 'object', + 'properties' => [ + 'Date' => [ + 'type' => 'string', + 'format' => 'date-time-middle' + ], + 'Days' => [ + 'type' => 'numeric' + ] + ] + ], + 'NoncurrentVersionTransitions' => [ + 'type' => 'array', + 'sentAs' => 'NoncurrentVersionTransition', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'NoncurrentVersionTransition', + 'properties' => [ + 'StorageClass' => [ + 'type' => 'string', + 'transform' => 'storageClass' + ], + 'NoncurrentDays' => [ + 'type' => 'numeric' + ] + ] + ] + ], + 'NoncurrentVersionExpiration' => [ + 'type' => 'object', + 'properties' => [ + 'NoncurrentDays' => [ + 'type' => 'numeric' + ] + ] + ], + 'ID' => [ + 'type' => 'string' + ], + 'Prefix' => [ + 'required' => true, + 'type' => 'string', + 'canEmpty' => true + ], + 'Status' => [ + 'required' => true, + 'type' => 'string' + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketLifecycleConfiguration' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'lifecycle', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'Rules' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Rule', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'Rule', + 'type' => 'object', + 'sentAs' => 'Rule', + 'properties' => [ + 'Transitions' => [ + 'type' => 'array', + 'sentAs' => 'Transition', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'Transition', + 'properties' => [ + 'StorageClass' => [ + 'type' => 'string' + ], + 'Date' => [ + 'type' => 'string', + 'format' => 'date-time-middle' + ], + 'Days' => [ + 'type' => 'numeric' + ] + ] + ] + ], + 'Expiration' => [ + 'type' => 'object', + 'properties' => [ + 'Date' => [ + 'type' => 'string' + ], + 'Days' => [ + 'type' => 'integer' + ] + ] + ], + 'NoncurrentVersionTransitions' => [ + 'type' => 'array', + 'sentAs' => 'NoncurrentVersionTransition', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'NoncurrentVersionTransition', + 'properties' => [ + 'StorageClass' => [ + 'type' => 'string' + ], + 'NoncurrentDays' => [ + 'type' => 'numeric' + ] + ] + ] + ], + 'NoncurrentVersionExpiration' => [ + 'type' => 'object', + 'properties' => [ + 'NoncurrentDays' => [ + 'type' => 'integer' + ] + ] + ], + 'ID' => [ + 'type' => 'string' + ], + 'Prefix' => [ + 'type' => 'string' + ], + 'Status' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + + 'deleteBucketLifecycleConfiguration' => [ + 'httpMethod' => 'DELETE', + 'specialParam' => 'lifecycle', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'setBucketWebsiteConfiguration' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'website', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'WebsiteConfiguration' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'ErrorDocument' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'Key' => [ + 'required' => true, + 'type' => 'string' + ] + ] + ], + 'IndexDocument' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'Suffix' => [ + 'required' => true, + 'type' => 'string' + ] + ] + ], + 'RedirectAllRequestsTo' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'HostName' => [ + 'required' => true, + 'type' => 'string' + ], + 'Protocol' => [ + 'type' => 'string' + ] + ] + ], + 'RoutingRules' => [ + 'type' => 'array', + 'location' => 'xml', + 'items' => [ + 'name' => 'RoutingRule', + 'type' => 'object', + 'properties' => [ + 'Condition' => [ + 'type' => 'object', + 'properties' => [ + 'HttpErrorCodeReturnedEquals' => [ + 'type' => 'numeric' + ], + 'KeyPrefixEquals' => [ + 'type' => 'string' + ] + ] + ], + 'Redirect' => [ + 'required' => true, + 'type' => 'object', + 'properties' => [ + 'HostName' => [ + 'type' => 'string' + ], + 'HttpRedirectCode' => [ + 'type' => 'numeric' + ], + 'Protocol' => [ + 'type' => 'string' + ], + 'ReplaceKeyPrefixWith' => [ + 'type' => 'string' + ], + 'ReplaceKeyWith' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketWebsiteConfiguration' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'website', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'RedirectAllRequestsTo' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'HostName' => [ + 'type' => 'string' + ], + 'Protocol' => [ + 'type' => 'string' + ] + ] + ], + 'IndexDocument' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'Suffix' => [ + 'type' => 'string' + ] + ] + ], + 'ErrorDocument' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'Key' => [ + 'type' => 'string' + ] + ] + ], + 'RoutingRules' => [ + 'type' => 'array', + 'location' => 'xml', + 'items' => [ + 'name' => 'RoutingRule', + 'type' => 'object', + 'sentAs' => 'RoutingRule', + 'properties' => [ + 'Condition' => [ + 'type' => 'object', + 'properties' => [ + 'HttpErrorCodeReturnedEquals' => [ + 'type' => 'integer' + ], + 'KeyPrefixEquals' => [ + 'type' => 'string' + ] + ] + ], + 'Redirect' => [ + 'type' => 'object', + 'properties' => [ + 'HostName' => [ + 'type' => 'string' + ], + 'HttpRedirectCode' => [ + 'type' => 'integer' + ], + 'Protocol' => [ + 'type' => 'string' + ], + 'ReplaceKeyPrefixWith' => [ + 'type' => 'string' + ], + 'ReplaceKeyWith' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ] + ] + ], + + 'deleteBucketWebsiteConfiguration' => [ + 'httpMethod' => 'DELETE', + 'specialParam' => 'website', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'setBucketVersioningConfiguration' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'versioning', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'VersioningConfiguration' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Status' => [ + 'type' => 'string', + 'location' => 'xml' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketVersioningConfiguration' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'versioning', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'Status' => [ + 'type' => 'string', + 'location' => 'xml' + ] + ] + ] + ], + + 'setBucketCors' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'cors', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'CORSConfiguration' + ], + 'contentMd5' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'CorsRules' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'CORSRule', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'CORSRule', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'AllowedMethod' => [ + 'required' => true, + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'AllowedMethod' + ] + ], + 'AllowedOrigin' => [ + 'required' => true, + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'sentAs' => 'AllowedOrigin', + 'type' => 'string' + ] + ], + 'AllowedHeader' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'AllowedHeader', + 'type' => 'string' + ] + ], + 'MaxAgeSeconds' => [ + 'type' => 'numeric' + ], + 'ExposeHeader' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'ExposeHeader', + 'type' => 'string' + ] + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketCors' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'cors', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'CorsRules' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'CORSRule', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'AllowedMethod' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'AllowedMethod' + ] + ], + 'AllowedOrigin' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'sentAs' => 'AllowedOrigin', + 'type' => 'string' + ] + ], + 'AllowedHeader' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'AllowedHeader', + 'type' => 'string' + ] + ], + 'MaxAgeSeconds' => [ + 'type' => 'integer' + ], + 'ExposeHeader' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'ExposeHeader', + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ] + ], + + 'deleteBucketCors' => [ + 'httpMethod' => 'DELETE', + 'specialParam' => 'cors', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'optionsBucket' => [ + 'httpMethod' => 'OPTIONS', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Origin' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'header' + ], + 'AccessControlRequestMethods' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'header', + 'items' => [ + 'sentAs' => 'Access-Control-Request-Method', + 'type' => 'string' + ] + ], + 'AccessControlRequestHeaders' => [ + 'type' => 'array', + 'location' => 'header', + 'items' => [ + 'sentAs' => 'Access-Control-Request-Headers', + 'type' => 'string' + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'AllowOrigin' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-origin' + ], + 'AllowHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-headers' + ], + 'AllowMethod' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-methods' + ], + 'ExposeHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-expose-headers' + ], + 'MaxAgeSeconds' => [ + 'location' => 'header', + 'sentAs' => 'access-control-max-age' + ] + ] + ] + ], + + 'setBucketTagging' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'tagging', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'Tagging' + ], + 'contentMd5' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Tags' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'TagSet', + 'items' => [ + 'required' => true, + 'type' => 'object', + 'name' => 'Tag', + 'properties' => [ + 'Key' => [ + 'required' => true, + 'type' => 'string' + ], + 'Value' => [ + 'required' => true, + 'type' => 'string' + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketTagging' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'tagging', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'Tags' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'TagSet', + 'items' => [ + 'type' => 'object', + 'name' => 'Tag', + 'properties' => [ + 'Key' => [ + 'type' => 'string' + ], + 'Value' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ], + + 'deleteBucketTagging' => [ + 'httpMethod' => 'DELETE', + 'specialParam' => 'tagging', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'setBucketNotification' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'notification', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'NotificationConfiguration' + ], + 'xmlAllowEmpty' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + + 'TopicConfigurations' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'TopicConfiguration', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'location' => 'xml', + 'sentAs' => 'TopicConfiguration', + 'properties' => [ + 'ID' => [ + 'type' => 'string', + 'sentAs' => 'Id' + ], + 'Filter' => [ + 'type' => 'array', + 'wrapper' => 'Filter', + 'sentAs' => 'S3Key', + 'items' => [ + 'type' => 'object', + 'sentAs' => 'FilterRule', + 'properties' => [ + 'Name' => [ + 'type' => 'string' + ], + + 'Value' => [ + 'type' => 'string' + ] + ] + ] + ], + 'Topic' => [ + 'type' => 'string' + ], + 'Event' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'Event', + 'transform' => 'event' + ] + ], + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'getBucketNotification' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'notification', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'TopicConfigurations' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'TopicConfiguration', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'location' => 'xml', + 'sentAs' => 'TopicConfiguration', + 'properties' => [ + 'ID' => [ + 'type' => 'string', + 'sentAs' => 'Id' + ], + 'Topic' => [ + 'type' => 'string' + ], + 'Event' => [ + 'type' => 'array', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'string', + 'sentAs' => 'Event' + ] + ], + 'Filter' => [ + 'type' => 'array', + 'wrapper' => 'Filter', + 'sentAs' => 'S3Key', + 'items' => [ + 'type' => 'object', + 'sentAs' => 'FilterRule', + 'properties' => [ + 'Name' => [ + 'type' => 'string' + ], + + 'Value' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ] + ] + ] + ] + ], + + 'optionsObject' => [ + 'httpMethod' => 'OPTIONS', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'Origin' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'header' + ], + 'AccessControlRequestMethods' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'header', + 'items' => [ + 'sentAs' => 'Access-Control-Request-Method', + 'type' => 'string' + ] + ], + 'AccessControlRequestHeaders' => [ + 'type' => 'array', + 'location' => 'header', + 'items' => [ + 'sentAs' => 'Access-Control-Request-Headers', + 'type' => 'string' + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'AllowOrigin' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-origin' + ], + 'AllowHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-headers' + ], + 'AllowMethod' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-methods' + ], + 'ExposeHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-expose-headers' + ], + 'MaxAgeSeconds' => [ + 'location' => 'header', + 'sentAs' => 'access-control-max-age' + ] + ] + ] + ], + + 'deleteObject' => [ + 'httpMethod' => 'DELETE', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'DeleteMarker' => [ + 'type' => 'boolean', + 'location' => 'header', + 'sentAs' => 'x-amz-delete-marker' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-version-id' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + 'deleteObjects' => [ + 'httpMethod' => 'POST', + 'specialParam' => 'delete', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'Delete' + ], + 'contentMd5' => true + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Quiet' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'Objects' => [ + 'required' => true, + 'type' => 'array', + 'location' => 'xml', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'type' => 'object', + 'sentAs' => 'Object', + 'properties' => [ + 'Key' => [ + 'required' => true, + 'type' => 'string' + ], + 'VersionId' => [ + 'type' => 'string' + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Deleteds' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Deleted', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'DeletedObject', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string' + ], + 'VersionId' => [ + 'type' => 'string' + ], + 'DeleteMarker' => [ + 'type' => 'boolean' + ], + 'DeleteMarkerVersionId' => [ + 'type' => 'string' + ] + ] + ] + ], + 'Errors' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Error', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'Error', + 'type' => 'object', + 'sentAs' => 'Error', + 'properties' => [ + 'Key' => [ + 'type' => 'string' + ], + 'VersionId' => [ + 'type' => 'string' + ], + 'Code' => [ + 'type' => 'string' + ], + 'Message' => [ + 'type' => 'string' + ] + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'setObjectAcl' => [ + 'httpMethod' => 'PUT', + 'specialParam' => 'acl', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'AccessControlPolicy' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ], + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-acl', + 'transform' => 'aclHeader' + ], + 'GrantRead' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-grant-read' + ], + 'GrantWrite' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-grant-write' + ], + 'GrantReadAcp' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-grant-read-acp' + ], + 'GrantWriteAcp' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-grant-write-acp' + ], + 'GrantFullControl' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-grant-full-control' + ], + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Grants' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'AccessControlList', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ], + 'Type' => [ + 'required' => true, + 'type' => 'string', + 'sentAs' => 'xsi:type', + 'data' => [ + 'xmlAttribute' => true, + 'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance' + ] + ], + 'URI' => [ + 'type' => 'string', + 'transform' => 'aclUri' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ] + ] + ] + ] + ], + 'responseParameters' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ], + + 'getObjectAcl' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'acl', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Grants' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'AccessControlList', + 'items' => [ + 'name' => 'Grant', + 'type' => 'object', + 'sentAs' => 'Grant', + 'properties' => [ + 'Grantee' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ], + 'URI' => [ + 'type' => 'string' + ] + ] + ], + 'Permission' => [ + 'type' => 'string' + ] + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'VersionId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-version-id' + ] + ] + ] + ], + + 'restoreObject' => [ + 'httpMethod' => 'POST', + 'specialParam' => 'restore', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'RestoreRequest' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ], + 'Days' => [ + 'required' => true, + 'type' => 'numeric', + 'location' => 'xml', + 'sentAs' => 'Days' + ], + 'Tier' => [ + 'wrapper' => 'GlacierJobParameters', + 'type' => 'string', + 'sentAs' => 'Tier', + 'location' => 'xml' + ] + ], + 'responseParameters' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ], + + 'putObject' => [ + 'httpMethod' => 'PUT', + 'requestParameters' => [ + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-acl', + 'transform' => 'aclHeader' + ], + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-storage-class', + 'transform' => 'storageClass' + ], + 'Body' => [ + 'type' => 'stream', + 'location' => 'body' + ], + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'ContentMD5' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Content-MD5' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Content-Type' + ], + 'ContentLength' => [ + 'type' => 'numeric', + 'location' => 'header', + 'sentAs' => 'Content-Length' + ], + 'Metadata' => [ + 'type' => 'object', + 'location' => 'header', + 'sentAs' => 'x-amz-meta-' + ], + 'SourceFile' => [ + 'type' => 'file', + 'location' => 'body' + ], + 'WebsiteRedirectLocation' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-website-redirect-location' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key', + 'type' => 'password' + ], + 'Expires' => [ + 'location' => 'header', + 'type' => 'string', + 'sentAs' => 'x-obs-expires' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'ETag' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-version-id' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'StorageClass' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-storage-class' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5' + ] + ] + ] + ], + + 'getObject' => [ + 'httpMethod' => 'GET', + 'stream' => true, + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'IfMatch' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'If-Match' + ], + 'IfModifiedSince' => [ + 'type' => 'string', + 'format' => 'date-time-http', + 'location' => 'header', + 'sentAs' => 'If-Modified-Since' + ], + 'IfNoneMatch' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'If-None-Match' + ], + 'IfUnmodifiedSince' => [ + 'type' => 'string', + 'format' => 'date-time-http', + 'location' => 'header', + 'sentAs' => 'If-Unmodified-Since' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'Range' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'ImageProcess' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'x-image-process' + ], + 'ResponseCacheControl' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'response-cache-control' + ], + 'ResponseContentDisposition' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'response-content-disposition' + ], + 'ResponseContentEncoding' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'response-content-encoding' + ], + 'ResponseContentLanguage' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'response-content-language' + ], + 'ResponseContentType' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'response-content-type' + ], + 'ResponseExpires' => [ + 'type' => 'string', + 'format' => 'date-time-http', + 'location' => 'query', + 'sentAs' => 'response-expires' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ], + 'SaveAsFile' => [ + 'type' => 'file', + 'location' => 'response' + ], + 'FilePath' => [ + 'type' => 'file', + 'location' => 'response' + ], + + 'Origin' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Origin' + ], + 'RequestHeader' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Access-Control-Request-Headers' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key', + 'type' => 'password' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Body' => [ + 'type' => 'stream', + 'location' => 'body' + ], + 'DeleteMarker' => [ + 'type' => 'boolean', + 'location' => 'header', + 'sentAs' => 'x-amz-delete-marker' + ], + 'Expiration' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-expiration' + ], + 'LastModified' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'last-modified' + ], + 'ContentLength' => [ + 'type' => 'integer', + 'location' => 'header', + 'sentAs' => 'content-length' + ], + 'ETag' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'etag' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-version-id' + ], + 'CacheControl' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'cache-control' + ], + 'ContentDisposition' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-disposition' + ], + 'ContentEncoding' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-encoding' + ], + 'ContentLanguage' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-language' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-type' + ], + 'Expires' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'WebsiteRedirectLocation' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-website-redirect-location' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'StorageClass' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-storage-class' + ], + 'Restore' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-restore' + ], + 'AllowOrigin' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-origin' + ], + 'MaxAgeSeconds' => [ + 'location' => 'header', + 'sentAs' => 'access-control-max-age' + ], + 'ExposeHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-expose-headers' + ], + 'AllowMethod' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-methods' + ], + 'AllowHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-headers' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5' + ], + 'Metadata' => [ + 'location' => 'header', + 'type' => 'object', + 'sentAs' => 'x-amz-meta-' + ] + ] + ] + ], + + 'copyObject' => [ + 'httpMethod' => 'PUT', + 'requestParameters' => [ + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-acl', + 'transform' => 'aclHeader' + ], + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-storage-class', + 'transform' => 'storageClass' + ], + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'CopySource' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source' + ], + 'CopySourceIfMatch' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source-if-match' + ], + 'CopySourceIfModifiedSince' => [ + 'type' => 'string', + 'format' => 'date-time-http', + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source-if-modified-since' + ], + 'CopySourceIfNoneMatch' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source-if-none-match' + ], + 'CopySourceIfUnmodifiedSince' => [ + 'type' => 'string', + 'format' => 'date-time-http', + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source-if-unmodified-since' + ], + 'MetadataDirective' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-metadata-directive' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-type' + ], + 'ContentEncoding' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-encoding' + ], + 'ContentLanguage' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-language' + ], + 'ContentDisposition' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-disposition' + ], + 'CacheControl' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'cache-control' + ], + 'Expires' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'expires' + ], + 'Metadata' => [ + 'type' => 'object', + 'location' => 'header', + 'sentAs' => 'x-amz-meta-' + ], + 'WebsiteRedirectLocation' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-website-redirect-location' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key', + 'type' => 'password' + ], + 'CopySourceSseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source-server-side-encryption-customer-algorithm' + ], + 'CopySourceSseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source-server-side-encryption-customer-key', + 'type' => 'password' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'ETag' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'LastModified' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-version-id' + ], + 'CopySourceVersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source-version-id' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5' + ] + ] + ] + ], + + 'getObjectMetadata' => [ + 'httpMethod' => 'HEAD', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'versionId' + ], + 'Origin' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Origin' + ], + 'RequestHeader' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Access-Control-Request-Headers' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key', + 'type' => 'password' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Expiration' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-expiration' + ], + 'LastModified' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'last-modified' + ], + 'ContentLength' => [ + 'type' => 'integer', + 'location' => 'header', + 'sentAs' => 'content-length' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'content-type' + ], + 'ETag' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-version-id' + ], + 'WebsiteRedirectLocation' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-website-redirect-location' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'StorageClass' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-storage-class' + ], + 'AllowOrigin' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-origin' + ], + 'MaxAgeSeconds' => [ + 'type' => 'integer', + 'location' => 'header', + 'sentAs' => 'access-control-max-age' + ], + 'ExposeHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-expose-headers' + ], + 'AllowMethod' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-methods' + ], + 'AllowHeader' => [ + 'location' => 'header', + 'sentAs' => 'access-control-allow-headers' + ], + 'Restore' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-restore' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5' + ], + 'Metadata' => [ + 'location' => 'header', + 'type' => 'object', + 'sentAs' => 'x-amz-meta-' + ] + ] + ] + ], + + 'initiateMultipartUpload' => [ + 'httpMethod' => 'POST', + 'specialParam' => 'uploads', + 'requestParameters' => [ + 'ACL' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-acl', + 'transform' => 'aclHeader' + ], + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-storage-class', + 'transform' => 'storageClass' + ], + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Content-Type' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'Metadata' => [ + 'type' => 'object', + 'location' => 'header', + 'sentAs' => 'x-amz-meta-' + ], + 'WebsiteRedirectLocation' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-website-redirect-location' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key', + 'type' => 'password' + ], + 'Expires' => [ + 'location' => 'header', + 'type' => 'string', + 'sentAs' => 'x-obs-expires' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Bucket' => [ + 'type' => 'string', + 'location' => 'xml', + 'sentAs' => 'Bucket' + ], + 'Key' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'UploadId' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5' + ] + ] + ] + ], + + 'listMultipartUploads' => [ + 'httpMethod' => 'GET', + 'specialParam' => 'uploads', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'delimiter' + ], + 'KeyMarker' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'key-marker' + ], + 'MaxUploads' => [ + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'max-uploads' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'prefix' + ], + 'UploadIdMarker' => [ + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'upload-id-marker' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Bucket' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'KeyMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'UploadIdMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'NextKeyMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Prefix' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Delimiter' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'NextUploadIdMarker' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'MaxUploads' => [ + 'type' => 'numeric', + 'location' => 'xml' + ], + 'IsTruncated' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'Uploads' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Upload', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'MultipartUpload', + 'type' => 'object', + 'sentAs' => 'Upload', + 'properties' => [ + 'UploadId' => [ + 'type' => 'string' + ], + 'Key' => [ + 'type' => 'string' + ], + 'Initiated' => [ + 'type' => 'string' + ], + 'StorageClass' => [ + 'type' => 'string' + ], + 'Owner' => [ + 'type' => 'object', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'Initiator' => [ + 'type' => 'object', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'DisplayName' => [ + 'type' => 'string' + ] + ] + ] + ] + ] + ], + 'CommonPrefixes' => [ + 'type' => 'array', + 'location' => 'xml', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'CommonPrefix', + 'type' => 'object', + 'properties' => [ + 'Prefix' => [ + 'type' => 'string' + ] + ] + ] + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'abortMultipartUpload' => [ + 'httpMethod' => 'DELETE', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'UploadId' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'uploadId' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'uploadPart' => [ + 'httpMethod' => 'PUT', + 'requestParameters' => [ + 'Body' => [ + 'type' => 'stream', + 'location' => 'body' + ], + 'SourceFile' => [ + 'type' => 'file', + 'location' => 'body' + ], + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'PartNumber' => [ + 'required' => true, + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'partNumber' + ], + 'UploadId' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'uploadId' + ], + 'Offset' => [ + 'type' => 'numeric', + 'location' => 'response' + ], + 'PartSize' => [ + 'type' => 'numeric', + 'location' => 'response' + ], + 'ContentMD5' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Content-MD5' + ], + 'ContentType' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'Content-Type' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key', + 'type' => 'password' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'ETag' => [ + 'type' => 'string', + 'location' => 'header' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5' + ] + ] + ] + ], + + 'completeMultipartUpload' => [ + 'httpMethod' => 'POST', + 'data' => [ + 'xmlRoot' => [ + 'name' => 'CompleteMultipartUpload' + ] + ], + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'Parts' => [ + 'type' => 'array', + 'location' => 'xml', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'CompletedPart', + 'type' => 'object', + 'sentAs' => 'Part', + 'properties' => [ + 'PartNumber' => [ + 'type' => 'numeric' + ], + 'ETag' => [ + 'type' => 'string' + ] + ] + ] + ], + 'UploadId' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'uploadId' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Location' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Bucket' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Key' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Location' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'ETag' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'VersionId' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-version-id' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5' + ] + ] + ] + ], + + 'listParts' => [ + 'httpMethod' => 'GET', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'MaxParts' => [ + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'max-parts' + ], + 'PartNumberMarker' => [ + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'part-number-marker' + ], + 'UploadId' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'uploadId' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'Bucket' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'Key' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'UploadId' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'PartNumberMarker' => [ + 'type' => 'numeric', + 'location' => 'xml' + ], + 'NextPartNumberMarker' => [ + 'type' => 'numeric', + 'location' => 'xml' + ], + 'MaxParts' => [ + 'type' => 'numeric', + 'location' => 'xml' + ], + 'IsTruncated' => [ + 'type' => 'boolean', + 'location' => 'xml' + ], + 'Parts' => [ + 'type' => 'array', + 'location' => 'xml', + 'sentAs' => 'Part', + 'data' => [ + 'xmlFlattened' => true + ], + 'items' => [ + 'name' => 'Part', + 'type' => 'object', + 'sentAs' => 'Part', + 'properties' => [ + 'PartNumber' => [ + 'type' => 'integer' + ], + 'LastModified' => [ + 'type' => 'string' + ], + 'ETag' => [ + 'type' => 'string' + ], + 'Size' => [ + 'type' => 'integer' + ] + ] + ] + ], + 'Initiator' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'ID' => [ + 'type' => 'string' + ], + 'DisplayName' => [ + 'type' => 'string' + ] + ] + ], + 'Owner' => [ + 'type' => 'object', + 'location' => 'xml', + 'properties' => [ + 'DisplayName' => [ + 'type' => 'string' + ], + 'ID' => [ + 'type' => 'string' + ] + ] + ], + 'StorageClass' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ] + ] + ] + ], + + 'copyPart' => [ + 'httpMethod' => 'PUT', + 'requestParameters' => [ + 'Bucket' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'dns' + ], + 'CopySource' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source' + ], + 'CopySourceRange' => [ + 'type' => 'string', + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source-range' + ], + 'Key' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'uri' + ], + 'PartNumber' => [ + 'required' => true, + 'type' => 'numeric', + 'location' => 'query', + 'sentAs' => 'partNumber' + ], + 'UploadId' => [ + 'required' => true, + 'type' => 'string', + 'location' => 'query', + 'sentAs' => 'uploadId' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key', + 'type' => 'password' + ], + 'CopySourceSseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source-server-side-encryption-customer-algorithm' + ], + 'CopySourceSseCKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-copy-source-server-side-encryption-customer-key', + 'type' => 'password' + ] + ], + 'responseParameters' => [ + 'type' => 'object', + 'properties' => [ + 'ETag' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'LastModified' => [ + 'type' => 'string', + 'location' => 'xml' + ], + 'RequestId' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-request-id' + ], + 'SseKms' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption' + ], + 'SseKmsKey' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-aws-kms-key-id' + ], + 'SseC' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-algorithm' + ], + 'SseCKeyMd5' => [ + 'location' => 'header', + 'sentAs' => 'x-amz-server-side-encryption-customer-key-MD5' + ] + ] + ] + ] + ], + + 'aliases' => [ + 'headBucket' => 'getBucketMetadata', + + 'getBucketLogging' => 'getBucketLoggingConfiguration', + 'setBucketLogging' => 'setBucketLoggingConfiguration', + 'getBucketVersioning' => 'getBucketVersioningConfiguration', + 'setBucketVersioning' => 'setBucketVersioningConfiguration', + 'setBucketWebsite' => 'setBucketWebsiteConfiguration', + 'getBucketWebsite' => 'getBucketWebsiteConfiguration', + 'deleteBucketWebsite' => 'deleteBucketWebsiteConfiguration', + 'setBucketLifecycle' => 'setBucketLifecycleConfiguration', + 'getBucketLifecycle' => 'getBucketLifecycleConfiguration', + 'deleteBucketLifecycle' => 'deleteBucketLifecycleConfiguration' + ] + ]; +} \ No newline at end of file diff --git a/addons/hwobs/library/Obs/Internal/SendRequestTrait.php b/addons/hwobs/library/Obs/Internal/SendRequestTrait.php new file mode 100644 index 0000000..f1deceb --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/SendRequestTrait.php @@ -0,0 +1,718 @@ + signature, 'v4') === 0) { + return $this -> createV4SignedUrl($args); + } + return $this->createCommonSignedUrl($args, $this->signature); + } + + public function createV2SignedUrl(array $args=[]) { + return $this->createCommonSignedUrl($args, 'v2'); + } + + private function createCommonSignedUrl(array $args=[], $signature = '') { + if(!isset($args['Method'])){ + $obsException = new ObsException('Method param must be specified, allowed values: GET | PUT | HEAD | POST | DELETE | OPTIONS'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + $method = strval($args['Method']); + $bucketName = isset($args['Bucket'])? strval($args['Bucket']): null; + $objectKey = isset($args['Key'])? strval($args['Key']): null; + $specialParam = isset($args['SpecialParam'])? strval($args['SpecialParam']): null; + $expires = isset($args['Expires']) && is_numeric($args['Expires']) ? intval($args['Expires']): 300; + + $headers = []; + if(isset($args['Headers']) && is_array($args['Headers']) ){ + foreach ($args['Headers'] as $key => $val){ + if(is_string($key) && $key !== ''){ + $headers[$key] = $val; + } + } + } + + + + $queryParams = []; + if(isset($args['QueryParams']) && is_array($args['QueryParams']) ){ + foreach ($args['QueryParams'] as $key => $val){ + if(is_string($key) && $key !== ''){ + $queryParams[$key] = $val; + } + } + } + + $constants = Constants::selectConstants($signature); + if($this->securityToken && !isset($queryParams[$constants::SECURITY_TOKEN_HEAD])){ + $queryParams[$constants::SECURITY_TOKEN_HEAD] = $this->securityToken; + } + + $sign = new DefaultSignature($this->ak, $this->sk, $this->pathStyle, $this->endpoint, $method, $this->signature, $this->securityToken, $this->isCname); + + $url = parse_url($this->endpoint); + $host = $url['host']; + + $result = ''; + + if($bucketName){ + if($this-> pathStyle){ + $result = '/' . $bucketName; + }else{ + $host = $this->isCname ? $host : $bucketName . '.' . $host; + } + } + + $headers['Host'] = $host; + + if($objectKey){ + $objectKey = $sign ->urlencodeWithSafe($objectKey); + $result .= '/' . $objectKey; + } + + $result .= '?'; + + if($specialParam){ + $queryParams[$specialParam] = ''; + } + + $queryParams[$constants::TEMPURL_AK_HEAD] = $this->ak; + + + if(!is_numeric($expires) || $expires < 0){ + $expires = 300; + } + $expires = intval($expires) + intval(microtime(true)); + + $queryParams['Expires'] = strval($expires); + + $_queryParams = []; + + foreach ($queryParams as $key => $val){ + $key = $sign -> urlencodeWithSafe($key); + $val = $sign -> urlencodeWithSafe($val); + $_queryParams[$key] = $val; + $result .= $key; + if($val){ + $result .= '=' . $val; + } + $result .= '&'; + } + + $canonicalstring = $sign ->makeCanonicalstring($method, $headers, $_queryParams, $bucketName, $objectKey, $expires); + $signatureContent = base64_encode(hash_hmac('sha1', $canonicalstring, $this->sk, true)); + + $result .= 'Signature=' . $sign->urlencodeWithSafe($signatureContent); + + $model = new Model(); + $model['ActualSignedRequestHeaders'] = $headers; + $model['SignedUrl'] = $url['scheme'] . '://' . $host . ':' . (isset($url['port']) ? $url['port'] : (strtolower($url['scheme']) === 'https' ? '443' : '80')) . $result; + return $model; + } + + public function createV4SignedUrl(array $args=[]){ + if(!isset($args['Method'])){ + $obsException= new ObsException('Method param must be specified, allowed values: GET | PUT | HEAD | POST | DELETE | OPTIONS'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + $method = strval($args['Method']); + $bucketName = isset($args['Bucket'])? strval($args['Bucket']): null; + $objectKey = isset($args['Key'])? strval($args['Key']): null; + $specialParam = isset($args['SpecialParam'])? strval($args['SpecialParam']): null; + $expires = isset($args['Expires']) && is_numeric($args['Expires']) ? intval($args['Expires']): 300; + $headers = []; + if(isset($args['Headers']) && is_array($args['Headers']) ){ + foreach ($args['Headers'] as $key => $val){ + if(is_string($key) && $key !== ''){ + $headers[$key] = $val; + } + } + } + + $queryParams = []; + if(isset($args['QueryParams']) && is_array($args['QueryParams']) ){ + foreach ($args['QueryParams'] as $key => $val){ + if(is_string($key) && $key !== ''){ + $queryParams[$key] = $val; + } + } + } + + if($this->securityToken && !isset($queryParams['x-amz-security-token'])){ + $queryParams['x-amz-security-token'] = $this->securityToken; + } + + $v4 = new V4Signature($this->ak, $this->sk, $this->pathStyle, $this->endpoint, $this->region, $method, $this->signature, $this->securityToken, $this->isCname); + + $url = parse_url($this->endpoint); + $host = $url['host']; + + $result = ''; + + if($bucketName){ + if($this-> pathStyle){ + $result = '/' . $bucketName; + }else{ + $host = $this->isCname ? $host : $bucketName . '.' . $host; + } + } + + $headers['Host'] = $host; + + if($objectKey){ + $objectKey = $v4 -> urlencodeWithSafe($objectKey); + $result .= '/' . $objectKey; + } + + $result .= '?'; + + if($specialParam){ + $queryParams[$specialParam] = ''; + } + + if(!is_numeric($expires) || $expires < 0){ + $expires = 300; + } + + $expires = strval($expires); + + $date = isset($headers['date']) ? $headers['date'] : (isset($headers['Date']) ? $headers['Date'] : null); + + $timestamp = $date ? date_create_from_format('D, d M Y H:i:s \G\M\T', $date, new \DateTimeZone ('UTC')) -> getTimestamp() + :time(); + + $longDate = gmdate('Ymd\THis\Z', $timestamp); + $shortDate = substr($longDate, 0, 8); + + $headers['host'] = $host; + if(isset($url['port'])){ + $port = $url['port']; + if($port !== 443 && $port !== 80){ + $headers['host'] = $headers['host'] . ':' . $port; + } + } + + $signedHeaders = $v4 -> getSignedHeaders($headers); + + $queryParams['X-Amz-Algorithm'] = 'AWS4-HMAC-SHA256'; + $queryParams['X-Amz-Credential'] = $v4 -> getCredential($shortDate); + $queryParams['X-Amz-Date'] = $longDate; + $queryParams['X-Amz-Expires'] = $expires; + $queryParams['X-Amz-SignedHeaders'] = $signedHeaders; + + $_queryParams = []; + + foreach ($queryParams as $key => $val){ + $key = rawurlencode($key); + $val = rawurlencode($val); + $_queryParams[$key] = $val; + $result .= $key; + if($val){ + $result .= '=' . $val; + } + $result .= '&'; + } + + $canonicalstring = $v4 -> makeCanonicalstring($method, $headers, $_queryParams, $bucketName, $objectKey, $signedHeaders, 'UNSIGNED-PAYLOAD'); + + $signatureContent = $v4 -> getSignature($canonicalstring, $longDate, $shortDate); + + $result .= 'X-Amz-Signature=' . $v4 -> urlencodeWithSafe($signatureContent); + + $model = new Model(); + $model['ActualSignedRequestHeaders'] = $headers; + $model['SignedUrl'] = $url['scheme'] . '://' . $host . ':' . (isset($url['port']) ? $url['port'] : (strtolower($url['scheme']) === 'https' ? '443' : '80')) . $result; + return $model; + } + + public function createPostSignature(array $args=[]) { + if (strcasecmp($this -> signature, 'v4') === 0) { + return $this -> createV4PostSignature($args); + } + + $bucketName = isset($args['Bucket'])? strval($args['Bucket']): null; + $objectKey = isset($args['Key'])? strval($args['Key']): null; + $expires = isset($args['Expires']) && is_numeric($args['Expires']) ? intval($args['Expires']): 300; + + $formParams = []; + + if(isset($args['FormParams']) && is_array($args['FormParams'])){ + foreach ($args['FormParams'] as $key => $val){ + $formParams[$key] = $val; + } + } + + $constants = Constants::selectConstants($this -> signature); + if($this->securityToken && !isset($formParams[$constants::SECURITY_TOKEN_HEAD])){ + $formParams[$constants::SECURITY_TOKEN_HEAD] = $this->securityToken; + } + + $timestamp = time(); + $expires = gmdate('Y-m-d\TH:i:s\Z', $timestamp + $expires); + + if($bucketName){ + $formParams['bucket'] = $bucketName; + } + + if($objectKey){ + $formParams['key'] = $objectKey; + } + + $policy = []; + + $policy[] = '{"expiration":"'; + $policy[] = $expires; + $policy[] = '", "conditions":['; + + $matchAnyBucket = true; + $matchAnyKey = true; + + $conditionAllowKeys = ['acl', 'bucket', 'key', 'success_action_redirect', 'redirect', 'success_action_status']; + + foreach($formParams as $key => $val){ + if($key){ + $key = strtolower(strval($key)); + + if($key === 'bucket'){ + $matchAnyBucket = false; + }else if($key === 'key'){ + $matchAnyKey = false; + } + + if(!in_array($key, Constants::ALLOWED_REQUEST_HTTP_HEADER_METADATA_NAMES) && strpos($key, $constants::HEADER_PREFIX) !== 0 && !in_array($key, $conditionAllowKeys)){ + $key = $constants::METADATA_PREFIX . $key; + } + + $policy[] = '{"'; + $policy[] = $key; + $policy[] = '":"'; + $policy[] = $val !== null ? strval($val) : ''; + $policy[] = '"},'; + } + } + + if($matchAnyBucket){ + $policy[] = '["starts-with", "$bucket", ""],'; + } + + if($matchAnyKey){ + $policy[] = '["starts-with", "$key", ""],'; + } + + $policy[] = ']}'; + + $originPolicy = implode('', $policy); + + $policy = base64_encode($originPolicy); + + $signatureContent = base64_encode(hash_hmac('sha1', $policy, $this->sk, true)); + + $model = new Model(); + $model['OriginPolicy'] = $originPolicy; + $model['Policy'] = $policy; + $model['Signature'] = $signatureContent; + return $model; + } + + public function createV4PostSignature(array $args=[]){ + $bucketName = isset($args['Bucket'])? strval($args['Bucket']): null; + $objectKey = isset($args['Key'])? strval($args['Key']): null; + $expires = isset($args['Expires']) && is_numeric($args['Expires']) ? intval($args['Expires']): 300; + + $formParams = []; + + if(isset($args['FormParams']) && is_array($args['FormParams'])){ + foreach ($args['FormParams'] as $key => $val){ + $formParams[$key] = $val; + } + } + + if($this->securityToken && !isset($formParams['x-amz-security-token'])){ + $formParams['x-amz-security-token'] = $this->securityToken; + } + + $timestamp = time(); + $longDate = gmdate('Ymd\THis\Z', $timestamp); + $shortDate = substr($longDate, 0, 8); + + $credential = sprintf('%s/%s/%s/s3/aws4_request', $this->ak, $shortDate, $this->region); + + $expires = gmdate('Y-m-d\TH:i:s\Z', $timestamp + $expires); + + $formParams['X-Amz-Algorithm'] = 'AWS4-HMAC-SHA256'; + $formParams['X-Amz-Date'] = $longDate; + $formParams['X-Amz-Credential'] = $credential; + + if($bucketName){ + $formParams['bucket'] = $bucketName; + } + + if($objectKey){ + $formParams['key'] = $objectKey; + } + + $policy = []; + + $policy[] = '{"expiration":"'; + $policy[] = $expires; + $policy[] = '", "conditions":['; + + $matchAnyBucket = true; + $matchAnyKey = true; + + $conditionAllowKeys = ['acl', 'bucket', 'key', 'success_action_redirect', 'redirect', 'success_action_status']; + + foreach($formParams as $key => $val){ + if($key){ + $key = strtolower(strval($key)); + + if($key === 'bucket'){ + $matchAnyBucket = false; + }else if($key === 'key'){ + $matchAnyKey = false; + } + + if(!in_array($key, Constants::ALLOWED_REQUEST_HTTP_HEADER_METADATA_NAMES) && strpos($key, V2Constants::HEADER_PREFIX) !== 0 && !in_array($key, $conditionAllowKeys)){ + $key = V2Constants::METADATA_PREFIX . $key; + } + + $policy[] = '{"'; + $policy[] = $key; + $policy[] = '":"'; + $policy[] = $val !== null ? strval($val) : ''; + $policy[] = '"},'; + } + } + + if($matchAnyBucket){ + $policy[] = '["starts-with", "$bucket", ""],'; + } + + if($matchAnyKey){ + $policy[] = '["starts-with", "$key", ""],'; + } + + $policy[] = ']}'; + + $originPolicy = implode('', $policy); + + $policy = base64_encode($originPolicy); + + $dateKey = hash_hmac('sha256', $shortDate, 'AWS4' . $this -> sk, true); + $regionKey = hash_hmac('sha256', $this->region, $dateKey, true); + $serviceKey = hash_hmac('sha256', 's3', $regionKey, true); + $signingKey = hash_hmac('sha256', 'aws4_request', $serviceKey, true); + $signatureContent = hash_hmac('sha256', $policy, $signingKey); + + $model = new Model(); + $model['OriginPolicy'] = $originPolicy; + $model['Policy'] = $policy; + $model['Algorithm'] = $formParams['X-Amz-Algorithm']; + $model['Credential'] = $formParams['X-Amz-Credential']; + $model['Date'] = $formParams['X-Amz-Date']; + $model['Signature'] = $signatureContent; + return $model; + } + + public function __call($originMethod, $args) + { + $method = $originMethod; + + $contents = Constants::selectRequestResource($this->signature); + $resource = &$contents::$RESOURCE_ARRAY; + $async = false; + if(strpos($method, 'Async') === (strlen($method) - 5)){ + $method = substr($method, 0, strlen($method) - 5); + $async = true; + } + + if(isset($resource['aliases'][$method])){ + $method = $resource['aliases'][$method]; + } + + $method = lcfirst($method); + + + $operation = isset($resource['operations'][$method]) ? + $resource['operations'][$method] : null; + + if(!$operation){ + ObsLog::commonLog(WARNING, 'unknow method ' . $originMethod); + $obsException= new ObsException('unknow method '. $originMethod); + $obsException-> setExceptionType('client'); + throw $obsException; + } + + $start = microtime(true); + if(!$async){ + ObsLog::commonLog(INFO, 'enter method '. $originMethod. '...'); + $model = new Model(); + $model['method'] = $method; + $params = empty($args) ? [] : $args[0]; + $this->checkMimeType($method, $params); + $this->doRequest($model, $operation, $params); + ObsLog::commonLog(INFO, 'obsclient cost ' . round(microtime(true) - $start, 3) * 1000 . ' ms to execute '. $originMethod); + unset($model['method']); + return $model; + }else{ + if(empty($args) || !(is_callable($callback = $args[count($args) -1]))){ + ObsLog::commonLog(WARNING, 'async method ' . $originMethod . ' must pass a CallbackInterface as param'); + $obsException= new ObsException('async method ' . $originMethod . ' must pass a CallbackInterface as param'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + ObsLog::commonLog(INFO, 'enter method '. $originMethod. '...'); + $params = count($args) === 1 ? [] : $args[0]; + $this->checkMimeType($method, $params); + $model = new Model(); + $model['method'] = $method; + return $this->doRequestAsync($model, $operation, $params, $callback, $start, $originMethod); + } + } + + private function checkMimeType($method, &$params){ + // fix bug that guzzlehttp lib will add the content-type if not set + if(($method === 'putObject' || $method === 'initiateMultipartUpload' || $method === 'uploadPart') && (!isset($params['ContentType']) || $params['ContentType'] === null)){ + if(isset($params['Key'])){ + $params['ContentType'] = \GuzzleHttp\Psr7\MimeType::fromFilename($params['Key']); + } + + if((!isset($params['ContentType']) || $params['ContentType'] === null) && isset($params['SourceFile'])){ + $params['ContentType'] = \GuzzleHttp\Psr7\MimeType::fromFilename($params['SourceFile']); + } + + if(!isset($params['ContentType']) || $params['ContentType'] === null){ + $params['ContentType'] = 'binary/octet-stream'; + } + } + } + + protected function makeRequest($model, &$operation, $params, $endpoint = null) + { + if($endpoint === null){ + $endpoint = $this->endpoint; + } + $signatureInterface = strcasecmp($this-> signature, 'v4') === 0 ? + new V4Signature($this->ak, $this->sk, $this->pathStyle, $endpoint, $this->region, $model['method'], $this->signature, $this->securityToken, $this->isCname) : + new DefaultSignature($this->ak, $this->sk, $this->pathStyle, $endpoint, $model['method'], $this->signature, $this->securityToken, $this->isCname); + $authResult = $signatureInterface -> doAuth($operation, $params, $model); + $httpMethod = $authResult['method']; + ObsLog::commonLog(DEBUG, 'perform '. strtolower($httpMethod) . ' request with url ' . $authResult['requestUrl']); + ObsLog::commonLog(DEBUG, 'cannonicalRequest:' . $authResult['cannonicalRequest']); + ObsLog::commonLog(DEBUG, 'request headers ' . var_export($authResult['headers'],true)); + $authResult['headers']['User-Agent'] = self::default_user_agent(); + if($model['method'] === 'putObject'){ + $model['ObjectURL'] = ['value' => $authResult['requestUrl']]; + } + return new Request($httpMethod, $authResult['requestUrl'], $authResult['headers'], $authResult['body']); + } + + + protected function doRequest($model, &$operation, $params, $endpoint = null) + { + $request = $this -> makeRequest($model, $operation, $params, $endpoint); + $this->sendRequest($model, $operation, $params, $request); + } + + protected function sendRequest($model, &$operation, $params, $request, $requestCount = 1) + { + $start = microtime(true); + $saveAsStream = false; + if(isset($operation['stream']) && $operation['stream']){ + $saveAsStream = isset($params['SaveAsStream']) ? $params['SaveAsStream'] : false; + + if(isset($params['SaveAsFile'])){ + if($saveAsStream){ + $obsException = new ObsException('SaveAsStream cannot be used with SaveAsFile together'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + $saveAsStream = true; + } + if(isset($params['FilePath'])){ + if($saveAsStream){ + $obsException = new ObsException('SaveAsStream cannot be used with FilePath together'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + $saveAsStream = true; + } + + if(isset($params['SaveAsFile']) && isset($params['FilePath'])){ + $obsException = new ObsException('SaveAsFile cannot be used with FilePath together'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + } + + $promise = $this->httpClient->sendAsync($request, ['stream' => $saveAsStream])->then( + function(Response $response) use ($model, $operation, $params, $request, $requestCount, $start){ + + ObsLog::commonLog(INFO, 'http request cost ' . round(microtime(true) - $start, 3) * 1000 . ' ms'); + $statusCode = $response -> getStatusCode(); + $readable = isset($params['Body']) && ($params['Body'] instanceof StreamInterface || is_resource($params['Body'])); + if($statusCode >= 300 && $statusCode <400 && $statusCode !== 304 && !$readable && $requestCount <= $this->maxRetryCount){ + if($location = $response -> getHeaderLine('location')){ + $url = parse_url($this->endpoint); + $newUrl = parse_url($location); + $scheme = (isset($newUrl['scheme']) ? $newUrl['scheme'] : $url['scheme']); + $defaultPort = strtolower($scheme) === 'https' ? '443' : '80'; + $this->doRequest($model, $operation, $params, $scheme. '://' . $newUrl['host'] . + ':' . (isset($newUrl['port']) ? $newUrl['port'] : $defaultPort)); + return; + } + } + $this -> parseResponse($model, $request, $response, $operation); + }, + function ($exception) use ($model, $operation, $params, $request, $requestCount, $start) { + + ObsLog::commonLog(INFO, 'http request cost ' . round(microtime(true) - $start, 3) * 1000 . ' ms'); + $message = null; + if($exception instanceof ConnectException){ + if($requestCount <= $this->maxRetryCount){ + $this -> sendRequest($model, $operation, $params, $request, $requestCount + 1); + return; + }else{ + $message = 'Exceeded retry limitation, max retry count:'. $this->maxRetryCount . ', error message:' . $exception -> getMessage(); + } + } + $this -> parseException($model, $request, $exception, $message); + }); + $promise -> wait(); + } + + + protected function doRequestAsync($model, &$operation, $params, $callback, $startAsync, $originMethod, $endpoint = null){ + $request = $this -> makeRequest($model, $operation, $params, $endpoint); + return $this->sendRequestAsync($model, $operation, $params, $callback, $startAsync, $originMethod, $request); + } + + protected function sendRequestAsync($model, &$operation, $params, $callback, $startAsync, $originMethod, $request, $requestCount = 1) + { + $start = microtime(true); + + $saveAsStream = false; + if(isset($operation['stream']) && $operation['stream']){ + $saveAsStream = isset($params['SaveAsStream']) ? $params['SaveAsStream'] : false; + + if($saveAsStream){ + if(isset($params['SaveAsFile'])){ + $obsException = new ObsException('SaveAsStream cannot be used with SaveAsFile together'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + if(isset($params['FilePath'])){ + $obsException = new ObsException('SaveAsStream cannot be used with FilePath together'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + } + + if(isset($params['SaveAsFile']) && isset($params['FilePath'])){ + $obsException = new ObsException('SaveAsFile cannot be used with FilePath together'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + } + return $this->httpClient->sendAsync($request, ['stream' => $saveAsStream])->then( + function(Response $response) use ($model, $operation, $params, $callback, $startAsync, $originMethod, $request, $start){ + ObsLog::commonLog(INFO, 'http request cost ' . round(microtime(true) - $start, 3) * 1000 . ' ms'); + $statusCode = $response -> getStatusCode(); + $readable = isset($params['Body']) && ($params['Body'] instanceof StreamInterface || is_resource($params['Body'])); + if($statusCode === 307 && !$readable){ + if($location = $response -> getHeaderLine('location')){ + $url = parse_url($this->endpoint); + $newUrl = parse_url($location); + $scheme = (isset($newUrl['scheme']) ? $newUrl['scheme'] : $url['scheme']); + $defaultPort = strtolower($scheme) === 'https' ? '443' : '80'; + return $this->doRequestAsync($model, $operation, $params, $callback, $startAsync, $originMethod, $scheme. '://' . $newUrl['host'] . + ':' . (isset($newUrl['port']) ? $newUrl['port'] : $defaultPort)); + } + } + $this -> parseResponse($model, $request, $response, $operation); + ObsLog::commonLog(INFO, 'obsclient cost ' . round(microtime(true) - $startAsync, 3) * 1000 . ' ms to execute '. $originMethod); + unset($model['method']); + $callback(null, $model); + }, + function ($exception) use ($model, $operation, $params, $callback, $startAsync, $originMethod, $request, $start, $requestCount){ + ObsLog::commonLog(INFO, 'http request cost ' . round(microtime(true) - $start, 3) * 1000 . ' ms'); + $message = null; + if($exception instanceof ConnectException){ + if($requestCount <= $this->maxRetryCount){ + return $this -> sendRequestAsync($model, $operation, $params, $callback, $startAsync, $originMethod, $request, $requestCount + 1); + }else{ + $message = 'Exceeded retry limitation, max retry count:'. $this->maxRetryCount . ', error message:' . $exception -> getMessage(); + } + } + $obsException = $this -> parseExceptionAsync($request, $exception, $message); + ObsLog::commonLog(INFO, 'obsclient cost ' . round(microtime(true) - $startAsync, 3) * 1000 . ' ms to execute '. $originMethod); + $callback($obsException, null); + } + ); + } +} diff --git a/addons/hwobs/library/Obs/Internal/Signature/AbstractSignature.php b/addons/hwobs/library/Obs/Internal/Signature/AbstractSignature.php new file mode 100644 index 0000000..1330959 --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Signature/AbstractSignature.php @@ -0,0 +1,462 @@ + ak = $ak; + $this -> sk = $sk; + $this -> pathStyle = $pathStyle; + $this -> endpoint = $endpoint; + $this -> methodName = $methodName; + $this -> signature = $signature; + $this -> securityToken = $securityToken; + $this -> isCname = $isCname; + } + + protected function transXmlByType($key, &$value, &$subParams, $transHolder) + { + $xml = []; + $treatAsString = false; + if(isset($value['type'])){ + $type = $value['type']; + if($type === 'array'){ + $name = isset($value['sentAs']) ? $value['sentAs'] : $key; + $subXml = []; + foreach($subParams as $item){ + $temp = $this->transXmlByType($key, $value['items'], $item, $transHolder); + if($temp !== ''){ + $subXml[] = $temp; + } + } + if(!empty($subXml)){ + if(!isset($value['data']['xmlFlattened'])){ + $xml[] = '<' . $name . '>'; + $xml[] = implode('', $subXml); + $xml[] = ''; + }else{ + $xml[] = implode('', $subXml); + } + } + }else if($type === 'object'){ + $name = isset($value['sentAs']) ? $value['sentAs'] : (isset($value['name']) ? $value['name'] : $key); + $properties = $value['properties']; + $subXml = []; + $attr = []; + foreach ($properties as $pkey => $pvalue){ + if(isset($pvalue['required']) && $pvalue['required'] && !isset($subParams[$pkey])){ + $obsException= new ObsException('param:' .$pkey. ' is required'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + if(isset($subParams[$pkey])){ + if(isset($pvalue['data']) && isset($pvalue['data']['xmlAttribute']) && $pvalue['data']['xmlAttribute']){ + $attrValue = $this->xml_tansfer(trim(strval($subParams[$pkey]))); + $attr[$pvalue['sentAs']] = '"' . $attrValue . '"'; + if(isset($pvalue['data']['xmlNamespace'])){ + $ns = substr($pvalue['sentAs'], 0, strpos($pvalue['sentAs'], ':')); + $attr['xmlns:' . $ns] = '"' . $pvalue['data']['xmlNamespace'] . '"'; + } + }else{ + $subXml[] = $this -> transXmlByType($pkey, $pvalue, $subParams[$pkey], $transHolder); + } + } + } + $val = implode('', $subXml); + if($val !== ''){ + $_name = $name; + if(!empty($attr)){ + foreach ($attr as $akey => $avalue){ + $_name .= ' ' . $akey . '=' . $avalue; + } + } + if(!isset($value['data']['xmlFlattened'])){ + $xml[] = '<' . $_name . '>'; + $xml[] = $val; + $xml[] = ''; + } else { + $xml[] = $val; + } + } + }else{ + $treatAsString = true; + } + }else{ + $treatAsString = true; + $type = null; + } + + if($treatAsString){ + if($type === 'boolean'){ + if(!is_bool($subParams) && strval($subParams) !== 'false' && strval($subParams) !== 'true'){ + $obsException= new ObsException('param:' .$key. ' is not a boolean value'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + }else if($type === 'numeric'){ + if(!is_numeric($subParams)){ + $obsException= new ObsException('param:' .$key. ' is not a numeric value'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + }else if($type === 'float'){ + if(!is_float($subParams)){ + $obsException= new ObsException('param:' .$key. ' is not a float value'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + }else if($type === 'int' || $type === 'integer'){ + if(!is_int($subParams)){ + $obsException= new ObsException('param:' .$key. ' is not a int value'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + } + + $name = isset($value['sentAs']) ? $value['sentAs'] : $key; + if(is_bool($subParams)){ + $val = $subParams ? 'true' : 'false'; + }else{ + $val = strval($subParams); + } + if(isset($value['format'])){ + $val = SchemaFormatter::format($value['format'], $val); + } + if (isset($value['transform'])) { + $val = $transHolder->transform($value['transform'], $val); + } + if(isset($val) && $val !== ''){ + $val = $this->xml_tansfer($val); + if(!isset($value['data']['xmlFlattened'])){ + $xml[] = '<' . $name . '>'; + $xml[] = $val; + $xml[] = ''; + } else { + $xml[] = $val; + } + }else if(isset($value['canEmpty']) && $value['canEmpty']){ + $xml[] = '<' . $name . '>'; + $xml[] = $val; + $xml[] = ''; + } + } + $ret = implode('', $xml); + + if(isset($value['wrapper'])){ + $ret = '<'. $value['wrapper'] . '>' . $ret . ''; + } + + return $ret; + } + + private function xml_tansfer($tag) { + $search = array('&', '<', '>', '\'', '"'); + $repalce = array('&', '<', '>', ''', '"'); + $transferXml = str_replace($search, $repalce, $tag); + return $transferXml; + } + + protected function prepareAuth(array &$requestConfig, array &$params, Model $model) + { + $transHolder = strcasecmp($this-> signature, 'obs') === 0 ? ObsTransform::getInstance() : V2Transform::getInstance(); + $method = $requestConfig['httpMethod']; + $requestUrl = $this->endpoint; + $headers = []; + $pathArgs = []; + $dnsParam = null; + $uriParam = null; + $body = []; + $xml = []; + + if(isset($requestConfig['specialParam'])){ + $pathArgs[$requestConfig['specialParam']] = ''; + } + + $result = ['body' => null]; + $url = parse_url($requestUrl); + $host = $url['host']; + + $fileFlag = false; + + if(isset($requestConfig['requestParameters'])){ + $paramsMetadata = $requestConfig['requestParameters']; + foreach ($paramsMetadata as $key => $value){ + if(isset($value['required']) && $value['required'] && !isset($params[$key])){ + $obsException= new ObsException('param:' .$key. ' is required'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + if(isset($params[$key]) && isset($value['location'])){ + $location = $value['location']; + $val = $params[$key]; + $type = 'string'; + if($val !== '' && isset($value['type'])){ + $type = $value['type']; + if($type === 'boolean'){ + if(!is_bool($val) && strval($val) !== 'false' && strval($val) !== 'true'){ + $obsException= new ObsException('param:' .$key. ' is not a boolean value'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + }else if($type === 'numeric'){ + if(!is_numeric($val)){ + $obsException= new ObsException('param:' .$key. ' is not a numeric value'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + }else if($type === 'float'){ + if(!is_float($val)){ + $obsException= new ObsException('param:' .$key. ' is not a float value'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + }else if($type === 'int' || $type === 'integer'){ + if(!is_int($val)){ + $obsException= new ObsException('param:' .$key. ' is not a int value'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + } + } + + if($location === 'header'){ + if($type === 'object'){ + if(is_array($val)){ + $sentAs = strtolower($value['sentAs']); + foreach ($val as $k => $v){ + $k = self::urlencodeWithSafe(strtolower($k), ' ;/?:@&=+$,'); + $name = strpos($k, $sentAs) === 0 ? $k : $sentAs . $k; + $headers[$name] = self::urlencodeWithSafe($v, ' ;/?:@&=+$,\'*'); + } + } + }else if($type === 'array'){ + if(is_array($val)){ + $name = isset($value['sentAs']) ? $value['sentAs'] : (isset($value['items']['sentAs']) ? $value['items']['sentAs'] : $key); + $temp = []; + foreach ($val as $v){ + if(($v = strval($v)) !== ''){ + $temp[] = self::urlencodeWithSafe($val, ' ;/?:@&=+$,\'*'); + } + } + + $headers[$name] = $temp; + } + }else if($type === 'password'){ + if(($val = strval($val)) !== ''){ + $name = isset($value['sentAs']) ? $value['sentAs'] : $key; + $pwdName = isset($value['pwdSentAs']) ? $value['pwdSentAs'] : $name . '-MD5'; + $val1 = base64_encode($val); + $val2 = base64_encode(md5($val, true)); + $headers[$name] = $val1; + $headers[$pwdName] = $val2; + } + }else{ + if (isset($value['transform'])) { + $val = $transHolder->transform($value['transform'], strval($val)); + } + if(isset($val)){ + if(is_bool($val)){ + $val = $val ? 'true' : 'false'; + }else{ + $val = strval($val); + } + if($val !== ''){ + $name = isset($value['sentAs']) ? $value['sentAs'] : $key; + if(isset($value['format'])){ + $val = SchemaFormatter::format($value['format'], $val); + } + $headers[$name] = self::urlencodeWithSafe($val, ' ;/?:@&=+$,\'*'); + } + } + } + }else if($location === 'uri' && $uriParam === null){ + $uriParam = self::urlencodeWithSafe($val); + }else if($location === 'dns' && $dnsParam === null){ + $dnsParam = $val; + }else if($location === 'query'){ + $name = isset($value['sentAs']) ? $value['sentAs'] : $key; + if(strval($val) !== ''){ + if (strcasecmp ( $this->signature, 'v4' ) === 0) { + $pathArgs[rawurlencode($name)] = rawurlencode(strval($val)); + } else { + $pathArgs[self::urlencodeWithSafe($name)] = self::urlencodeWithSafe(strval($val)); + } + } + }else if($location === 'xml'){ + $val = $this->transXmlByType($key, $value, $val, $transHolder); + if($val !== ''){ + $xml[] = $val; + } + }else if($location === 'body'){ + + if(isset($result['body'])){ + $obsException= new ObsException('duplicated body provided'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + + if($type === 'file'){ + if(!file_exists($val)){ + $obsException= new ObsException('file[' .$val. '] does not exist'); + $obsException-> setExceptionType('client'); + throw $obsException; + } + $result['body'] = new Stream(fopen($val, 'r')); + $fileFlag = true; + }else if($type === 'stream'){ + $result['body'] = $val; + }else{ + $result['body'] = strval($val); + } + }else if($location === 'response'){ + $model[$key] = ['value' => $val, 'type' => $type]; + } + } + } + + + if($dnsParam){ + if($this -> pathStyle){ + $requestUrl = $requestUrl . '/' . $dnsParam; + }else{ + $defaultPort = strtolower($url['scheme']) === 'https' ? '443' : '80'; + $host = $this -> isCname ? $host : $dnsParam. '.' . $host; + $requestUrl = $url['scheme'] . '://' . $host . ':' . (isset($url['port']) ? $url['port'] : $defaultPort); + } + } + if($uriParam){ + $requestUrl = $requestUrl . '/' . $uriParam; + } + + if(!empty($pathArgs)){ + $requestUrl .= '?'; + $_pathArgs = []; + foreach ($pathArgs as $key => $value){ + $_pathArgs[] = $value === null || $value === '' ? $key : $key . '=' . $value; + } + $requestUrl .= implode('&', $_pathArgs); + } + } + + if($xml || (isset($requestConfig['data']['xmlAllowEmpty']) && $requestConfig['data']['xmlAllowEmpty'])){ + $body[] = '<'; + $xmlRoot = $requestConfig['data']['xmlRoot']['name']; + + $body[] = $xmlRoot; + $body[] = '>'; + $body[] = implode('', $xml); + $body[] = ''; + $headers['Content-Type'] = 'application/xml'; + $result['body'] = implode('', $body); + + ObsLog::commonLog(DEBUG, 'request content ' . $result['body']); + + if(isset($requestConfig['data']['contentMd5']) && $requestConfig['data']['contentMd5']){ + $headers['Content-MD5'] = base64_encode(md5($result['body'],true)); + } + } + + if($fileFlag && ($result['body'] instanceof StreamInterface)){ + if($this->methodName === 'uploadPart' && (isset($model['Offset']) || isset($model['PartSize']))){ + $bodySize = $result['body'] ->getSize(); + if(isset($model['Offset'])){ + $offset = intval($model['Offset']['value']); + $offset = $offset >= 0 && $offset < $bodySize ? $offset : 0; + }else{ + $offset = 0; + } + + if(isset($model['PartSize'])){ + $partSize = intval($model['PartSize']['value']); + $partSize = $partSize > 0 && $partSize <= ($bodySize - $offset) ? $partSize : $bodySize - $offset; + }else{ + $partSize = $bodySize - $offset; + } + $result['body'] -> rewind(); + $result['body'] -> seek($offset); + $headers['Content-Length'] = $partSize; + }else if(isset($headers['Content-Length'])){ + $bodySize = $result['body'] -> getSize(); + if(intval($headers['Content-Length']) > $bodySize){ + $headers['Content-Length'] = $bodySize; + } + } + } + + $constants = Constants::selectConstants($this -> signature); + + if($this->securityToken){ + $headers[$constants::SECURITY_TOKEN_HEAD] = $this->securityToken; + } + + $headers['Host'] = $host; + + $result['host'] = $host; + $result['method'] = $method; + $result['headers'] = $headers; + $result['pathArgs'] = $pathArgs; + $result['dnsParam'] = $dnsParam; + $result['uriParam'] = $uriParam; + $result['requestUrl'] = $requestUrl; + + return $result; + } +} \ No newline at end of file diff --git a/addons/hwobs/library/Obs/Internal/Signature/DefaultSignature.php b/addons/hwobs/library/Obs/Internal/Signature/DefaultSignature.php new file mode 100644 index 0000000..5261356 --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Signature/DefaultSignature.php @@ -0,0 +1,138 @@ + prepareAuth($requestConfig, $params, $model); + + $result['headers']['Date'] = gmdate('D, d M Y H:i:s \G\M\T'); + $canonicalstring = $this-> makeCanonicalstring($result['method'], $result['headers'], $result['pathArgs'], $result['dnsParam'], $result['uriParam']); + + $result['cannonicalRequest'] = $canonicalstring; +//print_r($result); + $signature = base64_encode(hash_hmac('sha1', $canonicalstring, $this->sk, true)); + + $constants = Constants::selectConstants($this -> signature); + $signatureFlag = $constants::FLAG; + + $authorization = $signatureFlag . ' ' . $this->ak . ':' . $signature; + + $result['headers']['Authorization'] = $authorization; + + return $result; + } + + public function makeCanonicalstring($method, $headers, $pathArgs, $bucketName, $objectKey, $expires = null) + { + $buffer = []; + $buffer[] = $method; + $buffer[] = "\n"; + $interestHeaders = []; + $constants = Constants::selectConstants($this -> signature); + + foreach ($headers as $key => $value){ + $key = strtolower($key); + if(in_array($key, self::INTEREST_HEADER_KEY_LIST) || strpos($key, $constants::HEADER_PREFIX) === 0){ + $interestHeaders[$key] = $value; + } + } + + if(array_key_exists($constants::ALTERNATIVE_DATE_HEADER, $interestHeaders)){ + $interestHeaders['date'] = ''; + } + + if($expires !== null){ + $interestHeaders['date'] = strval($expires); + } + + if(!array_key_exists('content-type', $interestHeaders)){ + $interestHeaders['content-type'] = ''; + } + + if(!array_key_exists('content-md5', $interestHeaders)){ + $interestHeaders['content-md5'] = ''; + } + + ksort($interestHeaders); + + foreach ($interestHeaders as $key => $value){ + if(strpos($key, $constants::HEADER_PREFIX) === 0){ + $buffer[] = $key . ':' . $value; + }else{ + $buffer[] = $value; + } + $buffer[] = "\n"; + } + + $uri = ''; + + $bucketName = $this->isCname ? $headers['Host'] : $bucketName; + + if($bucketName){ + $uri .= '/'; + $uri .= $bucketName; + if(!$this->pathStyle){ + $uri .= '/'; + } + } + + if($objectKey){ + if(!($pos=strripos($uri, '/')) || strlen($uri)-1 !== $pos){ + $uri .= '/'; + } + $uri .= $objectKey; + } + + $buffer[] = $uri === ''? '/' : $uri; + + + if(!empty($pathArgs)){ + ksort($pathArgs); + $_pathArgs = []; + foreach ($pathArgs as $key => $value){ + if(in_array(strtolower($key), $constants::ALLOWED_RESOURCE_PARAMTER_NAMES) || strpos($key, $constants::HEADER_PREFIX) === 0){ + $_pathArgs[] = $value === null || $value === '' ? $key : $key . '=' . urldecode($value); + } + } + if(!empty($_pathArgs)){ + $buffer[] = '?'; + $buffer[] = implode('&', $_pathArgs); + } + } + + return implode('', $buffer); + } + +} diff --git a/addons/hwobs/library/Obs/Internal/Signature/SignatureInterface.php b/addons/hwobs/library/Obs/Internal/Signature/SignatureInterface.php new file mode 100644 index 0000000..ae11c78 --- /dev/null +++ b/addons/hwobs/library/Obs/Internal/Signature/SignatureInterface.php @@ -0,0 +1,25 @@ +region = $region; + $this->utcTimeZone = new \DateTimeZone ('UTC'); + } + + public function doAuth(array &$requestConfig, array &$params, Model $model) + { + $result = $this -> prepareAuth($requestConfig, $params, $model); + + $result['headers']['x-amz-content-sha256'] = self::CONTENT_SHA256; + + $bucketName = $result['dnsParam']; + + $result['headers']['Host'] = $result['host']; + + $time = null; + if(array_key_exists('x-amz-date', $result['headers'])){ + $time = $result['headers']['x-amz-date']; + }else if(array_key_exists('X-Amz-Date', $result['headers'])){ + $time = $result['headers']['X-Amz-Date']; + } + $timestamp = $time ? date_create_from_format('Ymd\THis\Z', $time, $this->utcTimeZone) -> getTimestamp() + :time(); + + $result['headers']['Date'] = gmdate('D, d M Y H:i:s \G\M\T', $timestamp); + + $longDate = gmdate('Ymd\THis\Z', $timestamp); + $shortDate = substr($longDate, 0, 8); + + $credential = $this-> getCredential($shortDate); + + $signedHeaders = $this->getSignedHeaders($result['headers']); + + $canonicalstring = $this-> makeCanonicalstring($result['method'], $result['headers'], $result['pathArgs'], $bucketName, $result['uriParam'], $signedHeaders); + + $result['cannonicalRequest'] = $canonicalstring; + + $signature = $this -> getSignature($canonicalstring, $longDate, $shortDate); + + $authorization = 'AWS4-HMAC-SHA256 ' . 'Credential=' . $credential. ',' . 'SignedHeaders=' . $signedHeaders . ',' . 'Signature=' . $signature; + + $result['headers']['Authorization'] = $authorization; + + return $result; + } + + public function getSignature($canonicalstring, $longDate, $shortDate) + { + $stringToSign = []; + $stringToSign[] = 'AWS4-HMAC-SHA256'; + + $stringToSign[] = "\n"; + + $stringToSign[] = $longDate; + + $stringToSign[] = "\n"; + $stringToSign[] = $this -> getScope($shortDate); + $stringToSign[] = "\n"; + + $stringToSign[] = hash('sha256', $canonicalstring); + + $dateKey = hash_hmac('sha256', $shortDate, 'AWS4' . $this -> sk, true); + $regionKey = hash_hmac('sha256', $this->region, $dateKey, true); + $serviceKey = hash_hmac('sha256', 's3', $regionKey, true); + $signingKey = hash_hmac('sha256', 'aws4_request', $serviceKey, true); + $signature = hash_hmac('sha256', implode('', $stringToSign), $signingKey); + return $signature; + } + + public function getCanonicalQueryString($pathArgs) + { + $queryStr = ''; + + ksort($pathArgs); + $index = 0; + foreach ($pathArgs as $key => $value){ + $queryStr .= $key . '=' . $value; + if($index++ !== count($pathArgs) - 1){ + $queryStr .= '&'; + } + } + return $queryStr; + } + + public function getCanonicalHeaders($headers) + { + $_headers = []; + foreach ($headers as $key => $value) { + $_headers[strtolower($key)] = $value; + } + ksort($_headers); + + $canonicalHeaderStr = ''; + + foreach ($_headers as $key => $value){ + $value = is_array($value) ? implode(',', $value) : $value; + $canonicalHeaderStr .= $key . ':' . $value; + $canonicalHeaderStr .= "\n"; + } + return $canonicalHeaderStr; + } + + public function getCanonicalURI($bucketName, $objectKey) + { + $uri = ''; + if($this -> pathStyle && $bucketName){ + $uri .= '/' . $bucketName; + } + + if($objectKey){ + $uri .= '/' . $objectKey; + } + + if($uri === ''){ + $uri = '/'; + } + return $uri; + } + + public function makeCanonicalstring($method, $headers, $pathArgs, $bucketName, $objectKey, $signedHeaders=null, $payload=null) + { + $buffer = []; + $buffer[] = $method; + $buffer[] = "\n"; + $buffer[] = $this->getCanonicalURI($bucketName, $objectKey); + $buffer[] = "\n"; + $buffer[] = $this->getCanonicalQueryString($pathArgs); + $buffer[] = "\n"; + $buffer[] = $this->getCanonicalHeaders($headers); + $buffer[] = "\n"; + $buffer[] = $signedHeaders ? $signedHeaders : $this->getSignedHeaders($headers); + $buffer[] = "\n"; + $buffer[] = $payload ? strval($payload) : self::CONTENT_SHA256; + + return implode('', $buffer); + } + + public function getSignedHeaders($headers) + { + $_headers = []; + + foreach ($headers as $key => $value) { + $_headers[] = strtolower($key); + } + + sort($_headers); + + $signedHeaders = ''; + + foreach ($_headers as $key => $value){ + $signedHeaders .= $value; + if($key !== count($_headers) - 1){ + $signedHeaders .= ';'; + } + } + return $signedHeaders; + } + + public function getScope($shortDate) + { + return $shortDate . '/' . $this->region . '/s3/aws4_request'; + } + + public function getCredential($shortDate) + { + return $this->ak . '/' . $this->getScope($shortDate); + } +} diff --git a/addons/hwobs/library/Obs/Log/ObsConfig.php b/addons/hwobs/library/Obs/Log/ObsConfig.php new file mode 100644 index 0000000..aea8213 --- /dev/null +++ b/addons/hwobs/library/Obs/Log/ObsConfig.php @@ -0,0 +1,28 @@ +'./logs', + 'FileName'=>'eSDK-OBS-PHP.log', + 'MaxFiles'=>10, + 'Level'=>INFO + ]; +} diff --git a/addons/hwobs/library/Obs/Log/ObsLog.php b/addons/hwobs/library/Obs/Log/ObsLog.php new file mode 100644 index 0000000..7cc8c5d --- /dev/null +++ b/addons/hwobs/library/Obs/Log/ObsLog.php @@ -0,0 +1,126 @@ +setConfig($logConfig); + $s3log->cheakDir(); + $s3log->setFilePath(); + $s3log->setFormat(); + $s3log->setHande(); + } + private function setFormat() + { + $output = '[%datetime%][%level_name%]'.'%message%' . "\n"; + $this->formatter = new LineFormatter($output); + + } + private function setHande() + { + self::$log = new Logger('obs_logger'); + $rotating = new RotatingFileHandler($this->filepath, $this->log_maxFiles, $this->log_level); + $rotating->setFormatter($this->formatter); + self::$log->pushHandler($rotating); + } + private function setConfig($logConfig= []) + { + $arr = empty($logConfig) ? ObsConfig::LOG_FILE_CONFIG : $logConfig; + $this->log_path = iconv('UTF-8', 'GBK',$arr['FilePath']); + $this->log_name = iconv('UTF-8', 'GBK',$arr['FileName']); + $this->log_maxFiles = is_numeric($arr['MaxFiles']) ? 0 : intval($arr['MaxFiles']); + $this->log_level = $arr['Level']; + } + private function cheakDir() + { + if (!is_dir($this->log_path)){ + mkdir($this->log_path, 0755, true); + } + } + private function setFilePath() + { + $this->filepath = $this->log_path.'/'.$this->log_name; + } + private static function writeLog($level, $msg) + { + switch ($level) { + case DEBUG: + self::$log->debug($msg); + break; + case INFO: + self::$log->info($msg); + break; + case NOTICE: + self::$log->notice($msg); + break; + case WARNING: + self::$log->warning($msg); + break; + case ERROR: + self::$log->error($msg); + break; + case CRITICAL: + self::$log->critical($msg); + break; + case ALERT: + self::$log->alert($msg); + break; + case EMERGENCY: + self::$log->emergency($msg); + break; + default: + break; + } + + } + + public static function commonLog($level, $format, $args1 = null, $arg2 = null) + { + if(ObsLog::$log){ + if ($args1 === null && $arg2 === null) { + $msg = urldecode($format); + } else { + $msg = sprintf($format, $args1, $arg2); + } + $back = debug_backtrace(); + $line = $back[0]['line']; + $funcname = $back[1]['function']; + $filename = basename($back[0]['file']); + $message = '['.$filename.':'.$line.']: '.$msg; + ObsLog::writeLog($level, $message); + } + } +} diff --git a/addons/hwobs/library/Obs/ObsClient.php b/addons/hwobs/library/Obs/ObsClient.php new file mode 100644 index 0000000..e34a986 --- /dev/null +++ b/addons/hwobs/library/Obs/ObsClient.php @@ -0,0 +1,405 @@ +factorys = []; + + $this -> ak = strval($config['key']); + $this -> sk = strval($config['secret']); + + if(isset($config['security_token'])){ + $this -> securityToken = strval($config['security_token']); + } + + if(isset($config['endpoint'])){ + $this -> endpoint = trim(strval($config['endpoint'])); + } + + if($this -> endpoint === ''){ + throw new \RuntimeException('endpoint is not set'); + } + + while($this -> endpoint[strlen($this -> endpoint)-1] === '/'){ + $this -> endpoint = substr($this -> endpoint, 0, strlen($this -> endpoint)-1); + } + + if(strpos($this-> endpoint, 'http') !== 0){ + $this -> endpoint = 'https://' . $this -> endpoint; + } + + if(isset($config['signature'])){ + $this -> signature = strval($config['signature']); + } + + if(isset($config['path_style'])){ + $this -> pathStyle = $config['path_style']; + } + + if(isset($config['region'])){ + $this -> region = strval($config['region']); + } + + if(isset($config['ssl_verify'])){ + $this -> sslVerify = $config['ssl_verify']; + }else if(isset($config['ssl.certificate_authority'])){ + $this -> sslVerify = $config['ssl.certificate_authority']; + } + + if(isset($config['max_retry_count'])){ + $this -> maxRetryCount = intval($config['max_retry_count']); + } + + if(isset($config['timeout'])){ + $this -> timeout = intval($config['timeout']); + } + + if(isset($config['socket_timeout'])){ + $this -> socketTimeout = intval($config['socket_timeout']); + } + + if(isset($config['connect_timeout'])){ + $this -> connectTimeout = intval($config['connect_timeout']); + } + + if(isset($config['chunk_size'])){ + $this -> chunkSize = intval($config['chunk_size']); + } + + if(isset($config['exception_response_mode'])){ + $this -> exceptionResponseMode = $config['exception_response_mode']; + } + + if (isset($config['is_cname'])) { + $this -> isCname = $config['is_cname']; + } + + $host = parse_url($this -> endpoint)['host']; + if(filter_var($host, FILTER_VALIDATE_IP) !== false) { + $this -> pathStyle = true; + } + + $handler = self::choose_handler($this); + + $this -> httpClient = new Client( + [ + 'timeout' => 0, + 'read_timeout' => $this -> socketTimeout, + 'connect_timeout' => $this -> connectTimeout, + 'allow_redirects' => false, + 'verify' => $this -> sslVerify, + 'expect' => false, + 'handler' => HandlerStack::create($handler), + 'curl' => [ + CURLOPT_BUFFERSIZE => $this -> chunkSize + ] + ] + ); + + } + + public function __destruct(){ + $this-> close(); + } + + public function refresh($key, $secret, $security_token=false){ + $this -> ak = strval($key); + $this -> sk = strval($secret); + if($security_token){ + $this -> securityToken = strval($security_token); + } + } + + /** + * Get the default User-Agent string to use with Guzzle + * + * @return string + */ + private static function default_user_agent() + { + static $defaultAgent = ''; + if (!$defaultAgent) { + $defaultAgent = 'obs-sdk-php/' . self::SDK_VERSION; + } + + return $defaultAgent; + } + + /** + * Factory method to create a new Obs client using an array of configuration options. + * + * @param array $config Client configuration data + * + * @return ObsClient + */ + public static function factory(array $config = []) + { + return new ObsClient($config); + } + + public function close(){ + if($this->factorys){ + foreach ($this->factorys as $factory){ + $factory->close(); + } + } + } + + public function initLog(array $logConfig= []) + { + ObsLog::initLog($logConfig); + + $msg = []; + $msg[] = '[OBS SDK Version=' . self::SDK_VERSION; + $msg[] = 'Endpoint=' . $this->endpoint; + $msg[] = 'Access Mode=' . ($this->pathStyle ? 'Path' : 'Virtual Hosting').']'; + + ObsLog::commonLog(WARNING, implode("];[", $msg)); + } + + private static function choose_handler($obsclient) + { + $handler = null; + if (function_exists('curl_multi_exec') && function_exists('curl_exec')) { + $f1 = new SdkCurlFactory(50); + $f2 = new SdkCurlFactory(3); + $obsclient->factorys[] = $f1; + $obsclient->factorys[] = $f2; + $handler = Proxy::wrapSync(new CurlMultiHandler(['handle_factory' => $f1]), new CurlHandler(['handle_factory' => $f2])); + } elseif (function_exists('curl_exec')) { + $f = new SdkCurlFactory(3); + $obsclient->factorys[] = $f; + $handler = new CurlHandler(['handle_factory' => $f]); + } elseif (function_exists('curl_multi_exec')) { + $f = new SdkCurlFactory(50); + $obsclient->factorys[] = $f; + $handler = new CurlMultiHandler(['handle_factory' => $f]); + } + + if (ini_get('allow_url_fopen')) { + $handler = $handler + ? Proxy::wrapStreaming($handler, new SdkStreamHandler()) + : new SdkStreamHandler(); + } elseif (!$handler) { + throw new \RuntimeException('GuzzleHttp requires cURL, the ' + . 'allow_url_fopen ini setting, or a custom HTTP handler.'); + } + + return $handler; + } +} diff --git a/addons/hwobs/library/Obs/ObsException.php b/addons/hwobs/library/Obs/ObsException.php new file mode 100644 index 0000000..29d555e --- /dev/null +++ b/addons/hwobs/library/Obs/ObsException.php @@ -0,0 +1,140 @@ +exceptionCode = $exceptionCode; + } + + public function getExceptionCode() + { + return $this->exceptionCode; + } + + public function setExceptionMessage($exceptionMessage) + { + $this->exceptionMessage = $exceptionMessage; + } + + public function getExceptionMessage() + { + return $this->exceptionMessage ? $this->exceptionMessage : $this->message; + } + + public function setExceptionType($exceptionType) + { + $this->exceptionType = $exceptionType; + } + + public function getExceptionType() + { + return $this->exceptionType; + } + + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + + public function getRequestId() + { + return $this->requestId; + } + + public function setResponse(Response $response) + { + $this->response = $response; + } + + public function getResponse() + { + return $this->response; + } + + public function setRequest(Request $request) + { + $this->request = $request; + } + + public function getRequest() + { + return $this->request; + } + + public function getStatusCode() + { + return $this->response ? $this->response->getStatusCode() : -1; + } + + public function setHostId($hostId){ + $this->hostId = $hostId; + } + + public function getHostId(){ + return $this->hostId; + } + + public function __toString() + { + $message = get_class($this) . ': ' + . 'OBS Error Code: ' . $this->getExceptionCode() . ', ' + . 'Status Code: ' . $this->getStatusCode() . ', ' + . 'OBS Error Type: ' . $this->getExceptionType() . ', ' + . 'OBS Error Message: ' . ($this->getExceptionMessage() ? $this->getExceptionMessage():$this->getMessage()); + + // Add the User-Agent if available + if ($this->request) { + $message .= ', ' . 'User-Agent: ' . $this->request->getHeaderLine('User-Agent'); + } + $message .= "\n"; + + ObsLog::commonLog(INFO, "http request:status:%d, %s",$this->getStatusCode(),"code:".$this->getExceptionCode().", message:".$this->getMessage()); + return $message; + } + +} diff --git a/addons/hwobs/library/Signer.php b/addons/hwobs/library/Signer.php new file mode 100644 index 0000000..545102c --- /dev/null +++ b/addons/hwobs/library/Signer.php @@ -0,0 +1,68 @@ + 0) { + $size_count -= $partSize; + $values[] = array( + $partSize * $i, + ($size_count > 0) ? $partSize : ($size_count + $partSize), + ); + $i++; + } + + $httpMethod = "PUT"; + $headers = [ + "Host" => str_replace(['http://', 'https://'], '', $config['uploadurl']), + "Content-Length" => 0, + "x-amz-date" => $date, + ]; + + $result = []; + foreach ($values as $index => $value) { + $headers['Content-Length'] = $value[1]; + $params = ['partNumber' => $index + 1, 'uploadId' => $uploadId, 'uriParam' => $url, 'dnsParam' => $config['bucket'], 'x-amz-date' => $date]; + $model = new Model($params); + $sign = new DefaultSignature($config['accessKey'], $config['secretKey'], false, $config['uploadurl'], $httpMethod, 'v2', false, false); + $requestConfig = [ + 'httpMethod' => $httpMethod, + 'requestParameters' => [ + 'x-amz-date' => ['location' => 'header'], + 'partNumber' => ['location' => 'query'], + 'uploadId' => ['location' => 'query'], + 'uriParam' => ['location' => 'uri'], + 'dnsParam' => ['location' => 'dns'], + ] + ]; + $sig = $sign->doAuth($requestConfig, $params, $model); + $result[] = $sig['headers']['Authorization']; + } + + return $result; + } +} diff --git a/application/extra/addons.php b/application/extra/addons.php index 09ad373..cc219fb 100644 --- a/application/extra/addons.php +++ b/application/extra/addons.php @@ -21,10 +21,20 @@ return [ 'action_begin' => [ 'epay', ], - 'upgrade' => [ - 'shopro', + 'module_init' => [ + 'hwobs', + ], + 'upload_config_init' => [ + 'hwobs', + ], + 'upload_delete' => [ + 'hwobs', ], 'app_init' => [ + 'hwobs', + 'shopro', + ], + 'upgrade' => [ 'shopro', ], 'config_init' => [ diff --git a/public/assets/addons/hwobs/js/spark.js b/public/assets/addons/hwobs/js/spark.js new file mode 100644 index 0000000..5a22f70 --- /dev/null +++ b/public/assets/addons/hwobs/js/spark.js @@ -0,0 +1 @@ +(function(factory){if(typeof exports==="object"){module.exports=factory()}else if(typeof define==="function"&&define.amd){define(factory)}else{var glob;try{glob=window}catch(e){glob=self}glob.SparkMD5=factory()}})(function(undefined){"use strict";var add32=function(a,b){return a+b&4294967295},hex_chr=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function cmn(q,a,b,x,s,t){a=add32(add32(a,q),add32(x,t));return add32(a<>>32-s,b)}function md5cycle(x,k){var a=x[0],b=x[1],c=x[2],d=x[3];a+=(b&c|~b&d)+k[0]-680876936|0;a=(a<<7|a>>>25)+b|0;d+=(a&b|~a&c)+k[1]-389564586|0;d=(d<<12|d>>>20)+a|0;c+=(d&a|~d&b)+k[2]+606105819|0;c=(c<<17|c>>>15)+d|0;b+=(c&d|~c&a)+k[3]-1044525330|0;b=(b<<22|b>>>10)+c|0;a+=(b&c|~b&d)+k[4]-176418897|0;a=(a<<7|a>>>25)+b|0;d+=(a&b|~a&c)+k[5]+1200080426|0;d=(d<<12|d>>>20)+a|0;c+=(d&a|~d&b)+k[6]-1473231341|0;c=(c<<17|c>>>15)+d|0;b+=(c&d|~c&a)+k[7]-45705983|0;b=(b<<22|b>>>10)+c|0;a+=(b&c|~b&d)+k[8]+1770035416|0;a=(a<<7|a>>>25)+b|0;d+=(a&b|~a&c)+k[9]-1958414417|0;d=(d<<12|d>>>20)+a|0;c+=(d&a|~d&b)+k[10]-42063|0;c=(c<<17|c>>>15)+d|0;b+=(c&d|~c&a)+k[11]-1990404162|0;b=(b<<22|b>>>10)+c|0;a+=(b&c|~b&d)+k[12]+1804603682|0;a=(a<<7|a>>>25)+b|0;d+=(a&b|~a&c)+k[13]-40341101|0;d=(d<<12|d>>>20)+a|0;c+=(d&a|~d&b)+k[14]-1502002290|0;c=(c<<17|c>>>15)+d|0;b+=(c&d|~c&a)+k[15]+1236535329|0;b=(b<<22|b>>>10)+c|0;a+=(b&d|c&~d)+k[1]-165796510|0;a=(a<<5|a>>>27)+b|0;d+=(a&c|b&~c)+k[6]-1069501632|0;d=(d<<9|d>>>23)+a|0;c+=(d&b|a&~b)+k[11]+643717713|0;c=(c<<14|c>>>18)+d|0;b+=(c&a|d&~a)+k[0]-373897302|0;b=(b<<20|b>>>12)+c|0;a+=(b&d|c&~d)+k[5]-701558691|0;a=(a<<5|a>>>27)+b|0;d+=(a&c|b&~c)+k[10]+38016083|0;d=(d<<9|d>>>23)+a|0;c+=(d&b|a&~b)+k[15]-660478335|0;c=(c<<14|c>>>18)+d|0;b+=(c&a|d&~a)+k[4]-405537848|0;b=(b<<20|b>>>12)+c|0;a+=(b&d|c&~d)+k[9]+568446438|0;a=(a<<5|a>>>27)+b|0;d+=(a&c|b&~c)+k[14]-1019803690|0;d=(d<<9|d>>>23)+a|0;c+=(d&b|a&~b)+k[3]-187363961|0;c=(c<<14|c>>>18)+d|0;b+=(c&a|d&~a)+k[8]+1163531501|0;b=(b<<20|b>>>12)+c|0;a+=(b&d|c&~d)+k[13]-1444681467|0;a=(a<<5|a>>>27)+b|0;d+=(a&c|b&~c)+k[2]-51403784|0;d=(d<<9|d>>>23)+a|0;c+=(d&b|a&~b)+k[7]+1735328473|0;c=(c<<14|c>>>18)+d|0;b+=(c&a|d&~a)+k[12]-1926607734|0;b=(b<<20|b>>>12)+c|0;a+=(b^c^d)+k[5]-378558|0;a=(a<<4|a>>>28)+b|0;d+=(a^b^c)+k[8]-2022574463|0;d=(d<<11|d>>>21)+a|0;c+=(d^a^b)+k[11]+1839030562|0;c=(c<<16|c>>>16)+d|0;b+=(c^d^a)+k[14]-35309556|0;b=(b<<23|b>>>9)+c|0;a+=(b^c^d)+k[1]-1530992060|0;a=(a<<4|a>>>28)+b|0;d+=(a^b^c)+k[4]+1272893353|0;d=(d<<11|d>>>21)+a|0;c+=(d^a^b)+k[7]-155497632|0;c=(c<<16|c>>>16)+d|0;b+=(c^d^a)+k[10]-1094730640|0;b=(b<<23|b>>>9)+c|0;a+=(b^c^d)+k[13]+681279174|0;a=(a<<4|a>>>28)+b|0;d+=(a^b^c)+k[0]-358537222|0;d=(d<<11|d>>>21)+a|0;c+=(d^a^b)+k[3]-722521979|0;c=(c<<16|c>>>16)+d|0;b+=(c^d^a)+k[6]+76029189|0;b=(b<<23|b>>>9)+c|0;a+=(b^c^d)+k[9]-640364487|0;a=(a<<4|a>>>28)+b|0;d+=(a^b^c)+k[12]-421815835|0;d=(d<<11|d>>>21)+a|0;c+=(d^a^b)+k[15]+530742520|0;c=(c<<16|c>>>16)+d|0;b+=(c^d^a)+k[2]-995338651|0;b=(b<<23|b>>>9)+c|0;a+=(c^(b|~d))+k[0]-198630844|0;a=(a<<6|a>>>26)+b|0;d+=(b^(a|~c))+k[7]+1126891415|0;d=(d<<10|d>>>22)+a|0;c+=(a^(d|~b))+k[14]-1416354905|0;c=(c<<15|c>>>17)+d|0;b+=(d^(c|~a))+k[5]-57434055|0;b=(b<<21|b>>>11)+c|0;a+=(c^(b|~d))+k[12]+1700485571|0;a=(a<<6|a>>>26)+b|0;d+=(b^(a|~c))+k[3]-1894986606|0;d=(d<<10|d>>>22)+a|0;c+=(a^(d|~b))+k[10]-1051523|0;c=(c<<15|c>>>17)+d|0;b+=(d^(c|~a))+k[1]-2054922799|0;b=(b<<21|b>>>11)+c|0;a+=(c^(b|~d))+k[8]+1873313359|0;a=(a<<6|a>>>26)+b|0;d+=(b^(a|~c))+k[15]-30611744|0;d=(d<<10|d>>>22)+a|0;c+=(a^(d|~b))+k[6]-1560198380|0;c=(c<<15|c>>>17)+d|0;b+=(d^(c|~a))+k[13]+1309151649|0;b=(b<<21|b>>>11)+c|0;a+=(c^(b|~d))+k[4]-145523070|0;a=(a<<6|a>>>26)+b|0;d+=(b^(a|~c))+k[11]-1120210379|0;d=(d<<10|d>>>22)+a|0;c+=(a^(d|~b))+k[2]+718787259|0;c=(c<<15|c>>>17)+d|0;b+=(d^(c|~a))+k[9]-343485551|0;b=(b<<21|b>>>11)+c|0;x[0]=a+x[0]|0;x[1]=b+x[1]|0;x[2]=c+x[2]|0;x[3]=d+x[3]|0}function md5blk(s){var md5blks=[],i;for(i=0;i<64;i+=4){md5blks[i>>2]=s.charCodeAt(i)+(s.charCodeAt(i+1)<<8)+(s.charCodeAt(i+2)<<16)+(s.charCodeAt(i+3)<<24)}return md5blks}function md5blk_array(a){var md5blks=[],i;for(i=0;i<64;i+=4){md5blks[i>>2]=a[i]+(a[i+1]<<8)+(a[i+2]<<16)+(a[i+3]<<24)}return md5blks}function md51(s){var n=s.length,state=[1732584193,-271733879,-1732584194,271733878],i,length,tail,tmp,lo,hi;for(i=64;i<=n;i+=64){md5cycle(state,md5blk(s.substring(i-64,i)))}s=s.substring(i-64);length=s.length;tail=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i>2]|=s.charCodeAt(i)<<(i%4<<3)}tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(state,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=n*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(state,tail);return state}function md51_array(a){var n=a.length,state=[1732584193,-271733879,-1732584194,271733878],i,length,tail,tmp,lo,hi;for(i=64;i<=n;i+=64){md5cycle(state,md5blk_array(a.subarray(i-64,i)))}a=i-64>2]|=a[i]<<(i%4<<3)}tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(state,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=n*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(state,tail);return state}function rhex(n){var s="",j;for(j=0;j<4;j+=1){s+=hex_chr[n>>j*8+4&15]+hex_chr[n>>j*8&15]}return s}function hex(x){var i;for(i=0;i>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535}}if(typeof ArrayBuffer!=="undefined"&&!ArrayBuffer.prototype.slice){(function(){function clamp(val,length){val=val|0||0;if(val<0){return Math.max(val+length,0)}return Math.min(val,length)}ArrayBuffer.prototype.slice=function(from,to){var length=this.byteLength,begin=clamp(from,length),end=length,num,target,targetArray,sourceArray;if(to!==undefined){end=clamp(to,length)}if(begin>end){return new ArrayBuffer(0)}num=end-begin;target=new ArrayBuffer(num);targetArray=new Uint8Array(target);sourceArray=new Uint8Array(this,begin,num);targetArray.set(sourceArray);return target}})()}function toUtf8(str){if(/[\u0080-\uFFFF]/.test(str)){str=unescape(encodeURIComponent(str))}return str}function utf8Str2ArrayBuffer(str,returnUInt8Array){var length=str.length,buff=new ArrayBuffer(length),arr=new Uint8Array(buff),i;for(i=0;i>2]|=buff.charCodeAt(i)<<(i%4<<3)}this._finish(tail,length);ret=hex(this._hash);if(raw){ret=hexToBinaryString(ret)}this.reset();return ret};SparkMD5.prototype.reset=function(){this._buff="";this._length=0;this._hash=[1732584193,-271733879,-1732584194,271733878];return this};SparkMD5.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash}};SparkMD5.prototype.setState=function(state){this._buff=state.buff;this._length=state.length;this._hash=state.hash;return this};SparkMD5.prototype.destroy=function(){delete this._hash;delete this._buff;delete this._length};SparkMD5.prototype._finish=function(tail,length){var i=length,tmp,lo,hi;tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(this._hash,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=this._length*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(this._hash,tail)};SparkMD5.hash=function(str,raw){return SparkMD5.hashBinary(toUtf8(str),raw)};SparkMD5.hashBinary=function(content,raw){var hash=md51(content),ret=hex(hash);return raw?hexToBinaryString(ret):ret};SparkMD5.ArrayBuffer=function(){this.reset()};SparkMD5.ArrayBuffer.prototype.append=function(arr){var buff=concatenateArrayBuffers(this._buff.buffer,arr,true),length=buff.length,i;this._length+=arr.byteLength;for(i=64;i<=length;i+=64){md5cycle(this._hash,md5blk_array(buff.subarray(i-64,i)))}this._buff=i-64>2]|=buff[i]<<(i%4<<3)}this._finish(tail,length);ret=hex(this._hash);if(raw){ret=hexToBinaryString(ret)}this.reset();return ret};SparkMD5.ArrayBuffer.prototype.reset=function(){this._buff=new Uint8Array(0);this._length=0;this._hash=[1732584193,-271733879,-1732584194,271733878];return this};SparkMD5.ArrayBuffer.prototype.getState=function(){var state=SparkMD5.prototype.getState.call(this);state.buff=arrayBuffer2Utf8Str(state.buff);return state};SparkMD5.ArrayBuffer.prototype.setState=function(state){state.buff=utf8Str2ArrayBuffer(state.buff,true);return SparkMD5.prototype.setState.call(this,state)};SparkMD5.ArrayBuffer.prototype.destroy=SparkMD5.prototype.destroy;SparkMD5.ArrayBuffer.prototype._finish=SparkMD5.prototype._finish;SparkMD5.ArrayBuffer.hash=function(arr,raw){var hash=md51_array(new Uint8Array(arr)),ret=hex(hash);return raw?hexToBinaryString(ret):ret};return SparkMD5}); diff --git a/public/assets/js/addons.js b/public/assets/js/addons.js index d1fb09b..e03a62f 100644 --- a/public/assets/js/addons.js +++ b/public/assets/js/addons.js @@ -1,5 +1,285 @@ define([], function () { - if (Config.modulename == 'admin' && Config.controllername == 'index' && Config.actionname == 'index') { + if (typeof Config.upload.storage !== 'undefined' && Config.upload.storage === 'hwobs') { + require(['upload'], function (Upload) { + //获取文件MD5值 + var getFileMd5 = function (file, cb) { + //如果savekey中未检测到md5,则无需获取文件md5,直接返回upload的uuid + if (!Config.upload.savekey.match(/\{(file)?md5\}/)) { + cb && cb(file.upload.uuid); + return; + } + require(['../addons/hwobs/js/spark'], function (SparkMD5) { + var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice, + chunkSize = 10 * 1024 * 1024, + chunks = Math.ceil(file.size / chunkSize), + currentChunk = 0, + spark = new SparkMD5.ArrayBuffer(), + fileReader = new FileReader(); + + fileReader.onload = function (e) { + spark.append(e.target.result); + currentChunk++; + if (currentChunk < chunks) { + loadNext(); + } else { + cb && cb(spark.end()); + } + }; + + fileReader.onerror = function () { + console.warn('文件读取错误'); + }; + + function loadNext() { + var start = currentChunk * chunkSize, + end = ((start + chunkSize) >= file.size) ? file.size : start + chunkSize; + + fileReader.readAsArrayBuffer(blobSlice.call(file, start, end)); + } + + loadNext(); + }); + }; + + var _onInit = Upload.events.onInit; + //初始化中完成判断 + Upload.events.onInit = function () { + _onInit.apply(this, Array.prototype.slice.apply(arguments)); + //如果上传接口不是hwobs,则不处理 + if (this.options.url !== Config.upload.uploadurl) { + return; + } + $.extend(this.options, { + //关闭自动处理队列功能 + autoQueue: false, + params: function (files, xhr, chunk) { + var params = $.extend({}, Config.upload.multipart); + if (chunk) { + return $.extend({}, params, { + filesize: chunk.file.size, + filename: chunk.file.name, + chunkid: chunk.file.upload.uuid, + chunkindex: chunk.index, + chunkcount: chunk.file.upload.totalChunkCount, + chunkfilesize: chunk.dataBlock.data.size, + chunksize: this.options.chunkSize, + width: chunk.file.width || 0, + height: chunk.file.height || 0, + type: chunk.file.type, + uploadId: chunk.file.uploadId, + key: chunk.file.key, + }); + } + return params; + }, + chunkSuccess: function (chunk, file, response) { + var etag = chunk.xhr.getResponseHeader("ETag").replace(/(^")|("$)/g, ''); + file.etags = file.etags ? file.etags : []; + file.etags[chunk.index] = etag; + }, + chunksUploaded: function (file, done) { + var that = this; + + Fast.api.ajax({ + url: "/addons/hwobs/index/upload", + data: { + action: 'merge', + filesize: file.size, + filename: file.name, + chunkid: file.upload.uuid, + chunkcount: file.upload.totalChunkCount, + md5: file.md5, + key: file.key, + uploadId: file.uploadId, + etags: file.etags, + category: file.category || '', + hwobstoken: Config.upload.multipart.hwobstoken, + }, + }, function (data, ret) { + done(JSON.stringify(ret)); + return false; + }, function (data, ret) { + file.accepted = false; + that._errorProcessing([file], ret.msg); + return false; + }); + + }, + }); + + var _success = this.options.success; + //先移除已有的事件 + this.off("success", _success).on("success", function (file, response) { + var ret = {code: 0, msg: response}; + try { + if (response) { + ret = typeof response === 'string' ? JSON.parse(response) : response; + } + if (file.xhr.status === 200 || file.xhr.status === 204) { + + if (Config.upload.uploadmode === 'client') { + ret = {code: 1, data: {url: '/' + file.key}}; + } + + if (ret.code == 1) { + var url = ret.data.url || ''; + Fast.api.ajax({ + url: "/addons/hwobs/index/notify", + data: {name: file.name, url: url, md5: file.md5, size: file.size, width: file.width || 0, height: file.height || 0, type: file.type, category: file.category || '', hwobstoken: Config.upload.multipart.hwobstoken} + }, function () { + return false; + }, function () { + return false; + }); + } else { + console.error(ret); + } + } else { + console.error(file.xhr); + } + } catch (e) { + console.error(e); + } + _success.call(this, file, ret); + }); + + this.on("addedfile", function (file) { + var that = this; + setTimeout(function () { + if (file.status === 'error') { + return; + } + getFileMd5(file, function (md5) { + var chunk = that.options.chunking && file.size > that.options.chunkSize ? 1 : 0; + var params = $(that.element).data("params") || {}; + var category = typeof params.category !== 'undefined' ? params.category : ($(that.element).data("category") || ''); + category = typeof category === 'function' ? category.call(that, file) : category; + Fast.api.ajax({ + url: "/addons/hwobs/index/params", + data: {method: 'POST', category: category, md5: md5, name: file.name, type: file.type, size: file.size, chunk: chunk, chunksize: that.options.chunkSize, hwobstoken: Config.upload.multipart.hwobstoken}, + }, function (data) { + file.md5 = md5; + file.id = data.id; + file.key = data.key; + file.date = data.date; + file.uploadId = data.uploadId; + file.policy = data.policy; + file.signature = data.signature; + file.partsAuthorization = data.partsAuthorization; + file.headers = data.headers; + delete data.headers; + file.params = data; + file.category = category; + + if (file.status != 'error') { + //开始上传 + that.enqueueFile(file); + } else { + that.removeFile(file); + } + return false; + }, function () { + that.removeFile(file); + }); + }); + }, 0); + }); + + if (Config.upload.uploadmode === 'client') { + var _method = this.options.method; + var _url = this.options.url; + this.options.method = function (files) { + if (files[0].upload.chunked) { + var chunk = null; + files[0].upload.chunks.forEach(function (item) { + if (item.status === 'uploading') { + chunk = item; + } + }); + if (!chunk) { + return "POST"; + } else { + return "PUT"; + } + } else { + return "POST"; + } + return _method; + }; + this.options.url = function (files) { + if (files[0].upload.chunked) { + var chunk = null; + files[0].upload.chunks.forEach(function (item) { + if (item.status === 'uploading') { + chunk = item; + } + }); + var index = chunk.dataBlock.chunkIndex; + this.options.headers = {"Authorization": files[0]['partsAuthorization'][index], "x-amz-date": files[0]['date']}; + if (!chunk) { + return Config.upload.uploadurl + "/" + files[0].key + "?uploadId=" + files[0].uploadId; + } else { + return Config.upload.uploadurl + "/" + files[0].key + "?partNumber=" + (index + 1) + "&uploadId=" + files[0].uploadId; + } + } + return _url; + }; + this.options.params = function (files, xhr, chunk) { + var params = Config.upload.multipart; + delete params.category; + if (chunk) { + return $.extend({}, params, { + filesize: chunk.file.size, + filename: chunk.file.name, + chunkid: chunk.file.upload.uuid, + chunkindex: chunk.index, + chunkcount: chunk.file.upload.totalChunkCount, + chunkfilesize: chunk.dataBlock.data.size, + width: chunk.file.width || 0, + height: chunk.file.height || 0, + type: chunk.file.type, + }); + } else { + var retParams = $.extend({}, params, files[0].params || {}); + delete retParams.hwobstoken; + delete retParams.date; + delete retParams.md5; + if (Config.upload.uploadmode !== 'client') { + params.category = files[0].category || ''; + } + return retParams; + } + }; + this.on("sending", function (file, xhr, formData) { + var that = this; + var _send = xhr.send; + //仅允许部分字段 + var allowFields = ['partNumber', 'uploadId', 'key', 'AccessKeyId', 'policy', 'signature', 'file']; + formData.forEach(function (value, key) { + if (allowFields.indexOf(key) < 0) { + formData.delete(key); + } + }); + if (file.upload.chunked) { + xhr.send = function () { + if (file.upload.chunked) { + var chunk = null; + file.upload.chunks.forEach(function (item) { + if (item.status == 'uploading') { + chunk = item; + } + }); + _send.call(xhr, chunk.dataBlock.data); + } + }; + } + }); + } + }; + }); +} + +if (Config.modulename == 'admin' && Config.controllername == 'index' && Config.actionname == 'index') { require.config({ paths: { 'vue3': "../addons/shopro/libs/vue", diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index f79184e..c7755c0 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -7,10 +7,2280 @@ $baseDir = dirname($vendorDir); return array( 'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php', + 'Channel\\Client' => $vendorDir . '/workerman/channel/src/Client.php', + 'Channel\\Queue' => $vendorDir . '/workerman/channel/src/Queue.php', + 'Channel\\Server' => $vendorDir . '/workerman/channel/src/Server.php', + 'Complex\\Complex' => $vendorDir . '/markbaker/complex/classes/src/Complex.php', + 'Complex\\Exception' => $vendorDir . '/markbaker/complex/classes/src/Exception.php', + 'Complex\\Functions' => $vendorDir . '/markbaker/complex/classes/src/Functions.php', + 'Complex\\Operations' => $vendorDir . '/markbaker/complex/classes/src/Operations.php', 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', + 'Composer\\Pcre\\MatchAllResult' => $vendorDir . '/composer/pcre/src/MatchAllResult.php', + 'Composer\\Pcre\\MatchAllStrictGroupsResult' => $vendorDir . '/composer/pcre/src/MatchAllStrictGroupsResult.php', + 'Composer\\Pcre\\MatchAllWithOffsetsResult' => $vendorDir . '/composer/pcre/src/MatchAllWithOffsetsResult.php', + 'Composer\\Pcre\\MatchResult' => $vendorDir . '/composer/pcre/src/MatchResult.php', + 'Composer\\Pcre\\MatchStrictGroupsResult' => $vendorDir . '/composer/pcre/src/MatchStrictGroupsResult.php', + 'Composer\\Pcre\\MatchWithOffsetsResult' => $vendorDir . '/composer/pcre/src/MatchWithOffsetsResult.php', + 'Composer\\Pcre\\PHPStan\\InvalidRegexPatternRule' => $vendorDir . '/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php', + 'Composer\\Pcre\\PHPStan\\PregMatchFlags' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchFlags.php', + 'Composer\\Pcre\\PHPStan\\PregMatchParameterOutTypeExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php', + 'Composer\\Pcre\\PHPStan\\PregMatchTypeSpecifyingExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php', + 'Composer\\Pcre\\PHPStan\\PregReplaceCallbackClosureTypeExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php', + 'Composer\\Pcre\\PHPStan\\UnsafeStrictGroupsCallRule' => $vendorDir . '/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php', + 'Composer\\Pcre\\PcreException' => $vendorDir . '/composer/pcre/src/PcreException.php', + 'Composer\\Pcre\\Preg' => $vendorDir . '/composer/pcre/src/Preg.php', + 'Composer\\Pcre\\Regex' => $vendorDir . '/composer/pcre/src/Regex.php', + 'Composer\\Pcre\\ReplaceResult' => $vendorDir . '/composer/pcre/src/ReplaceResult.php', + 'Composer\\Pcre\\UnexpectedNullMatchException' => $vendorDir . '/composer/pcre/src/UnexpectedNullMatchException.php', + 'EasyWeChatComposer\\Commands\\ExtensionsCommand' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Commands/ExtensionsCommand.php', + 'EasyWeChatComposer\\Commands\\Provider' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Commands/Provider.php', + 'EasyWeChatComposer\\Contracts\\Encrypter' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Contracts/Encrypter.php', + 'EasyWeChatComposer\\Delegation\\DelegationOptions' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Delegation/DelegationOptions.php', + 'EasyWeChatComposer\\Delegation\\DelegationTo' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Delegation/DelegationTo.php', + 'EasyWeChatComposer\\Delegation\\Hydrate' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Delegation/Hydrate.php', + 'EasyWeChatComposer\\EasyWeChat' => $vendorDir . '/easywechat-composer/easywechat-composer/src/EasyWeChat.php', + 'EasyWeChatComposer\\Encryption\\DefaultEncrypter' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Encryption/DefaultEncrypter.php', + 'EasyWeChatComposer\\Exceptions\\DecryptException' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Exceptions/DecryptException.php', + 'EasyWeChatComposer\\Exceptions\\DelegationException' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Exceptions/DelegationException.php', + 'EasyWeChatComposer\\Exceptions\\EncryptException' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Exceptions/EncryptException.php', + 'EasyWeChatComposer\\Extension' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Extension.php', + 'EasyWeChatComposer\\Http\\DelegationResponse' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Http/DelegationResponse.php', + 'EasyWeChatComposer\\Http\\Response' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Http/Response.php', + 'EasyWeChatComposer\\Laravel\\Http\\Controllers\\DelegatesController' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Laravel/Http/Controllers/DelegatesController.php', + 'EasyWeChatComposer\\Laravel\\ServiceProvider' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Laravel/ServiceProvider.php', + 'EasyWeChatComposer\\ManifestManager' => $vendorDir . '/easywechat-composer/easywechat-composer/src/ManifestManager.php', + 'EasyWeChatComposer\\Plugin' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Plugin.php', + 'EasyWeChatComposer\\Traits\\MakesHttpRequests' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Traits/MakesHttpRequests.php', + 'EasyWeChatComposer\\Traits\\WithAggregator' => $vendorDir . '/easywechat-composer/easywechat-composer/src/Traits/WithAggregator.php', + 'EasyWeChat\\BasicService\\Application' => $vendorDir . '/overtrue/wechat/src/BasicService/Application.php', + 'EasyWeChat\\BasicService\\ContentSecurity\\Client' => $vendorDir . '/overtrue/wechat/src/BasicService/ContentSecurity/Client.php', + 'EasyWeChat\\BasicService\\ContentSecurity\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/BasicService/ContentSecurity/ServiceProvider.php', + 'EasyWeChat\\BasicService\\Jssdk\\Client' => $vendorDir . '/overtrue/wechat/src/BasicService/Jssdk/Client.php', + 'EasyWeChat\\BasicService\\Jssdk\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/BasicService/Jssdk/ServiceProvider.php', + 'EasyWeChat\\BasicService\\Media\\Client' => $vendorDir . '/overtrue/wechat/src/BasicService/Media/Client.php', + 'EasyWeChat\\BasicService\\Media\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/BasicService/Media/ServiceProvider.php', + 'EasyWeChat\\BasicService\\QrCode\\Client' => $vendorDir . '/overtrue/wechat/src/BasicService/QrCode/Client.php', + 'EasyWeChat\\BasicService\\QrCode\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/BasicService/QrCode/ServiceProvider.php', + 'EasyWeChat\\BasicService\\Url\\Client' => $vendorDir . '/overtrue/wechat/src/BasicService/Url/Client.php', + 'EasyWeChat\\BasicService\\Url\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/BasicService/Url/ServiceProvider.php', + 'EasyWeChat\\Factory' => $vendorDir . '/overtrue/wechat/src/Factory.php', + 'EasyWeChat\\Kernel\\AccessToken' => $vendorDir . '/overtrue/wechat/src/Kernel/AccessToken.php', + 'EasyWeChat\\Kernel\\BaseClient' => $vendorDir . '/overtrue/wechat/src/Kernel/BaseClient.php', + 'EasyWeChat\\Kernel\\Clauses\\Clause' => $vendorDir . '/overtrue/wechat/src/Kernel/Clauses/Clause.php', + 'EasyWeChat\\Kernel\\Config' => $vendorDir . '/overtrue/wechat/src/Kernel/Config.php', + 'EasyWeChat\\Kernel\\Contracts\\AccessTokenInterface' => $vendorDir . '/overtrue/wechat/src/Kernel/Contracts/AccessTokenInterface.php', + 'EasyWeChat\\Kernel\\Contracts\\Arrayable' => $vendorDir . '/overtrue/wechat/src/Kernel/Contracts/Arrayable.php', + 'EasyWeChat\\Kernel\\Contracts\\EventHandlerInterface' => $vendorDir . '/overtrue/wechat/src/Kernel/Contracts/EventHandlerInterface.php', + 'EasyWeChat\\Kernel\\Contracts\\MediaInterface' => $vendorDir . '/overtrue/wechat/src/Kernel/Contracts/MediaInterface.php', + 'EasyWeChat\\Kernel\\Contracts\\MessageInterface' => $vendorDir . '/overtrue/wechat/src/Kernel/Contracts/MessageInterface.php', + 'EasyWeChat\\Kernel\\Decorators\\FinallyResult' => $vendorDir . '/overtrue/wechat/src/Kernel/Decorators/FinallyResult.php', + 'EasyWeChat\\Kernel\\Decorators\\TerminateResult' => $vendorDir . '/overtrue/wechat/src/Kernel/Decorators/TerminateResult.php', + 'EasyWeChat\\Kernel\\Encryptor' => $vendorDir . '/overtrue/wechat/src/Kernel/Encryptor.php', + 'EasyWeChat\\Kernel\\Events\\AccessTokenRefreshed' => $vendorDir . '/overtrue/wechat/src/Kernel/Events/AccessTokenRefreshed.php', + 'EasyWeChat\\Kernel\\Events\\ApplicationInitialized' => $vendorDir . '/overtrue/wechat/src/Kernel/Events/ApplicationInitialized.php', + 'EasyWeChat\\Kernel\\Events\\HttpResponseCreated' => $vendorDir . '/overtrue/wechat/src/Kernel/Events/HttpResponseCreated.php', + 'EasyWeChat\\Kernel\\Events\\ServerGuardResponseCreated' => $vendorDir . '/overtrue/wechat/src/Kernel/Events/ServerGuardResponseCreated.php', + 'EasyWeChat\\Kernel\\Exceptions\\BadRequestException' => $vendorDir . '/overtrue/wechat/src/Kernel/Exceptions/BadRequestException.php', + 'EasyWeChat\\Kernel\\Exceptions\\DecryptException' => $vendorDir . '/overtrue/wechat/src/Kernel/Exceptions/DecryptException.php', + 'EasyWeChat\\Kernel\\Exceptions\\Exception' => $vendorDir . '/overtrue/wechat/src/Kernel/Exceptions/Exception.php', + 'EasyWeChat\\Kernel\\Exceptions\\HttpException' => $vendorDir . '/overtrue/wechat/src/Kernel/Exceptions/HttpException.php', + 'EasyWeChat\\Kernel\\Exceptions\\InvalidArgumentException' => $vendorDir . '/overtrue/wechat/src/Kernel/Exceptions/InvalidArgumentException.php', + 'EasyWeChat\\Kernel\\Exceptions\\InvalidConfigException' => $vendorDir . '/overtrue/wechat/src/Kernel/Exceptions/InvalidConfigException.php', + 'EasyWeChat\\Kernel\\Exceptions\\RuntimeException' => $vendorDir . '/overtrue/wechat/src/Kernel/Exceptions/RuntimeException.php', + 'EasyWeChat\\Kernel\\Exceptions\\UnboundServiceException' => $vendorDir . '/overtrue/wechat/src/Kernel/Exceptions/UnboundServiceException.php', + 'EasyWeChat\\Kernel\\Http\\Response' => $vendorDir . '/overtrue/wechat/src/Kernel/Http/Response.php', + 'EasyWeChat\\Kernel\\Http\\StreamResponse' => $vendorDir . '/overtrue/wechat/src/Kernel/Http/StreamResponse.php', + 'EasyWeChat\\Kernel\\Log\\LogManager' => $vendorDir . '/overtrue/wechat/src/Kernel/Log/LogManager.php', + 'EasyWeChat\\Kernel\\Messages\\Article' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Article.php', + 'EasyWeChat\\Kernel\\Messages\\Card' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Card.php', + 'EasyWeChat\\Kernel\\Messages\\DeviceEvent' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/DeviceEvent.php', + 'EasyWeChat\\Kernel\\Messages\\DeviceText' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/DeviceText.php', + 'EasyWeChat\\Kernel\\Messages\\File' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/File.php', + 'EasyWeChat\\Kernel\\Messages\\Image' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Image.php', + 'EasyWeChat\\Kernel\\Messages\\Link' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Link.php', + 'EasyWeChat\\Kernel\\Messages\\Location' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Location.php', + 'EasyWeChat\\Kernel\\Messages\\Media' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Media.php', + 'EasyWeChat\\Kernel\\Messages\\Message' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Message.php', + 'EasyWeChat\\Kernel\\Messages\\MiniProgramPage' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/MiniProgramPage.php', + 'EasyWeChat\\Kernel\\Messages\\MiniprogramNotice' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/MiniprogramNotice.php', + 'EasyWeChat\\Kernel\\Messages\\Music' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Music.php', + 'EasyWeChat\\Kernel\\Messages\\News' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/News.php', + 'EasyWeChat\\Kernel\\Messages\\NewsItem' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/NewsItem.php', + 'EasyWeChat\\Kernel\\Messages\\Raw' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Raw.php', + 'EasyWeChat\\Kernel\\Messages\\ShortVideo' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/ShortVideo.php', + 'EasyWeChat\\Kernel\\Messages\\TaskCard' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/TaskCard.php', + 'EasyWeChat\\Kernel\\Messages\\Text' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Text.php', + 'EasyWeChat\\Kernel\\Messages\\TextCard' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/TextCard.php', + 'EasyWeChat\\Kernel\\Messages\\Transfer' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Transfer.php', + 'EasyWeChat\\Kernel\\Messages\\Video' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Video.php', + 'EasyWeChat\\Kernel\\Messages\\Voice' => $vendorDir . '/overtrue/wechat/src/Kernel/Messages/Voice.php', + 'EasyWeChat\\Kernel\\Providers\\ConfigServiceProvider' => $vendorDir . '/overtrue/wechat/src/Kernel/Providers/ConfigServiceProvider.php', + 'EasyWeChat\\Kernel\\Providers\\EventDispatcherServiceProvider' => $vendorDir . '/overtrue/wechat/src/Kernel/Providers/EventDispatcherServiceProvider.php', + 'EasyWeChat\\Kernel\\Providers\\ExtensionServiceProvider' => $vendorDir . '/overtrue/wechat/src/Kernel/Providers/ExtensionServiceProvider.php', + 'EasyWeChat\\Kernel\\Providers\\HttpClientServiceProvider' => $vendorDir . '/overtrue/wechat/src/Kernel/Providers/HttpClientServiceProvider.php', + 'EasyWeChat\\Kernel\\Providers\\LogServiceProvider' => $vendorDir . '/overtrue/wechat/src/Kernel/Providers/LogServiceProvider.php', + 'EasyWeChat\\Kernel\\Providers\\RequestServiceProvider' => $vendorDir . '/overtrue/wechat/src/Kernel/Providers/RequestServiceProvider.php', + 'EasyWeChat\\Kernel\\ServerGuard' => $vendorDir . '/overtrue/wechat/src/Kernel/ServerGuard.php', + 'EasyWeChat\\Kernel\\ServiceContainer' => $vendorDir . '/overtrue/wechat/src/Kernel/ServiceContainer.php', + 'EasyWeChat\\Kernel\\Support\\AES' => $vendorDir . '/overtrue/wechat/src/Kernel/Support/AES.php', + 'EasyWeChat\\Kernel\\Support\\Arr' => $vendorDir . '/overtrue/wechat/src/Kernel/Support/Arr.php', + 'EasyWeChat\\Kernel\\Support\\ArrayAccessible' => $vendorDir . '/overtrue/wechat/src/Kernel/Support/ArrayAccessible.php', + 'EasyWeChat\\Kernel\\Support\\Collection' => $vendorDir . '/overtrue/wechat/src/Kernel/Support/Collection.php', + 'EasyWeChat\\Kernel\\Support\\File' => $vendorDir . '/overtrue/wechat/src/Kernel/Support/File.php', + 'EasyWeChat\\Kernel\\Support\\Str' => $vendorDir . '/overtrue/wechat/src/Kernel/Support/Str.php', + 'EasyWeChat\\Kernel\\Support\\XML' => $vendorDir . '/overtrue/wechat/src/Kernel/Support/XML.php', + 'EasyWeChat\\Kernel\\Traits\\HasAttributes' => $vendorDir . '/overtrue/wechat/src/Kernel/Traits/HasAttributes.php', + 'EasyWeChat\\Kernel\\Traits\\HasHttpRequests' => $vendorDir . '/overtrue/wechat/src/Kernel/Traits/HasHttpRequests.php', + 'EasyWeChat\\Kernel\\Traits\\InteractsWithCache' => $vendorDir . '/overtrue/wechat/src/Kernel/Traits/InteractsWithCache.php', + 'EasyWeChat\\Kernel\\Traits\\Observable' => $vendorDir . '/overtrue/wechat/src/Kernel/Traits/Observable.php', + 'EasyWeChat\\Kernel\\Traits\\ResponseCastable' => $vendorDir . '/overtrue/wechat/src/Kernel/Traits/ResponseCastable.php', + 'EasyWeChat\\MicroMerchant\\Application' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Application.php', + 'EasyWeChat\\MicroMerchant\\Base\\Client' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Base/Client.php', + 'EasyWeChat\\MicroMerchant\\Base\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Base/ServiceProvider.php', + 'EasyWeChat\\MicroMerchant\\Certficates\\Client' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Certficates/Client.php', + 'EasyWeChat\\MicroMerchant\\Certficates\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Certficates/ServiceProvider.php', + 'EasyWeChat\\MicroMerchant\\Kernel\\BaseClient' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Kernel/BaseClient.php', + 'EasyWeChat\\MicroMerchant\\Kernel\\Exceptions\\EncryptException' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Kernel/Exceptions/EncryptException.php', + 'EasyWeChat\\MicroMerchant\\Kernel\\Exceptions\\InvalidExtensionException' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Kernel/Exceptions/InvalidExtensionException.php', + 'EasyWeChat\\MicroMerchant\\Kernel\\Exceptions\\InvalidSignException' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Kernel/Exceptions/InvalidSignException.php', + 'EasyWeChat\\MicroMerchant\\Material\\Client' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Material/Client.php', + 'EasyWeChat\\MicroMerchant\\Material\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Material/ServiceProvider.php', + 'EasyWeChat\\MicroMerchant\\Media\\Client' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Media/Client.php', + 'EasyWeChat\\MicroMerchant\\Media\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Media/ServiceProvider.php', + 'EasyWeChat\\MicroMerchant\\MerchantConfig\\Client' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/MerchantConfig/Client.php', + 'EasyWeChat\\MicroMerchant\\MerchantConfig\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/MerchantConfig/ServiceProvider.php', + 'EasyWeChat\\MicroMerchant\\Withdraw\\Client' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Withdraw/Client.php', + 'EasyWeChat\\MicroMerchant\\Withdraw\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MicroMerchant/Withdraw/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\ActivityMessage\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/ActivityMessage/Client.php', + 'EasyWeChat\\MiniProgram\\ActivityMessage\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/ActivityMessage/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\AppCode\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/AppCode/Client.php', + 'EasyWeChat\\MiniProgram\\AppCode\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/AppCode/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Application' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Application.php', + 'EasyWeChat\\MiniProgram\\Auth\\AccessToken' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Auth/AccessToken.php', + 'EasyWeChat\\MiniProgram\\Auth\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Auth/Client.php', + 'EasyWeChat\\MiniProgram\\Auth\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Auth/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Base\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Base/Client.php', + 'EasyWeChat\\MiniProgram\\Base\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Base/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Broadcast\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Broadcast/Client.php', + 'EasyWeChat\\MiniProgram\\Broadcast\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Broadcast/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\CustomerService\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/CustomerService/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\DataCube\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/DataCube/Client.php', + 'EasyWeChat\\MiniProgram\\DataCube\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/DataCube/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Encryptor' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Encryptor.php', + 'EasyWeChat\\MiniProgram\\Express\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Express/Client.php', + 'EasyWeChat\\MiniProgram\\Express\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Express/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Live\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Live/Client.php', + 'EasyWeChat\\MiniProgram\\Live\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Live/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Mall\\CartClient' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Mall/CartClient.php', + 'EasyWeChat\\MiniProgram\\Mall\\ForwardsMall' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Mall/ForwardsMall.php', + 'EasyWeChat\\MiniProgram\\Mall\\MediaClient' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Mall/MediaClient.php', + 'EasyWeChat\\MiniProgram\\Mall\\OrderClient' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Mall/OrderClient.php', + 'EasyWeChat\\MiniProgram\\Mall\\ProductClient' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Mall/ProductClient.php', + 'EasyWeChat\\MiniProgram\\Mall\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Mall/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\NearbyPoi\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/NearbyPoi/Client.php', + 'EasyWeChat\\MiniProgram\\NearbyPoi\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/NearbyPoi/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\OCR\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/OCR/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\OpenData\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/OpenData/Client.php', + 'EasyWeChat\\MiniProgram\\OpenData\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/OpenData/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Plugin\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Plugin/Client.php', + 'EasyWeChat\\MiniProgram\\Plugin\\DevClient' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Plugin/DevClient.php', + 'EasyWeChat\\MiniProgram\\Plugin\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Plugin/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\RealtimeLog\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/RealtimeLog/Client.php', + 'EasyWeChat\\MiniProgram\\RealtimeLog\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/RealtimeLog/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Search\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Search/Client.php', + 'EasyWeChat\\MiniProgram\\Search\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Search/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Server\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Server/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Soter\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Soter/Client.php', + 'EasyWeChat\\MiniProgram\\Soter\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/Soter/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\SubscribeMessage\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/SubscribeMessage/Client.php', + 'EasyWeChat\\MiniProgram\\SubscribeMessage\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/SubscribeMessage/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\TemplateMessage\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/TemplateMessage/Client.php', + 'EasyWeChat\\MiniProgram\\TemplateMessage\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/TemplateMessage/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\UniformMessage\\Client' => $vendorDir . '/overtrue/wechat/src/MiniProgram/UniformMessage/Client.php', + 'EasyWeChat\\MiniProgram\\UniformMessage\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/MiniProgram/UniformMessage/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Application' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Application.php', + 'EasyWeChat\\OfficialAccount\\Auth\\AccessToken' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Auth/AccessToken.php', + 'EasyWeChat\\OfficialAccount\\Auth\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Auth/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\AutoReply\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/AutoReply/Client.php', + 'EasyWeChat\\OfficialAccount\\AutoReply\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/AutoReply/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Base\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Base/Client.php', + 'EasyWeChat\\OfficialAccount\\Base\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Base/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Broadcasting\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Broadcasting/Client.php', + 'EasyWeChat\\OfficialAccount\\Broadcasting\\MessageBuilder' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Broadcasting/MessageBuilder.php', + 'EasyWeChat\\OfficialAccount\\Broadcasting\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Broadcasting/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Card\\BoardingPassClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/BoardingPassClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\Card' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/Card.php', + 'EasyWeChat\\OfficialAccount\\Card\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/Client.php', + 'EasyWeChat\\OfficialAccount\\Card\\CodeClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/CodeClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\CoinClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/CoinClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\GeneralCardClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/GeneralCardClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\GiftCardClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/GiftCardClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\GiftCardOrderClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/GiftCardOrderClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\GiftCardPageClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/GiftCardPageClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\InvoiceClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/InvoiceClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\JssdkClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/JssdkClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\MeetingTicketClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/MeetingTicketClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\MemberCardClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/MemberCardClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\MovieTicketClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/MovieTicketClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Card\\SubMerchantClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Card/SubMerchantClient.php', + 'EasyWeChat\\OfficialAccount\\Comment\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Comment/Client.php', + 'EasyWeChat\\OfficialAccount\\Comment\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Comment/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\CustomerService\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/CustomerService/Client.php', + 'EasyWeChat\\OfficialAccount\\CustomerService\\Messenger' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/CustomerService/Messenger.php', + 'EasyWeChat\\OfficialAccount\\CustomerService\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/CustomerService/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\CustomerService\\SessionClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/CustomerService/SessionClient.php', + 'EasyWeChat\\OfficialAccount\\DataCube\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/DataCube/Client.php', + 'EasyWeChat\\OfficialAccount\\DataCube\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/DataCube/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Device\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Device/Client.php', + 'EasyWeChat\\OfficialAccount\\Device\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Device/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Goods\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Goods/Client.php', + 'EasyWeChat\\OfficialAccount\\Goods\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Goods/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Guide\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Guide/Client.php', + 'EasyWeChat\\OfficialAccount\\Guide\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Guide/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Material\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Material/Client.php', + 'EasyWeChat\\OfficialAccount\\Material\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Material/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Menu\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Menu/Client.php', + 'EasyWeChat\\OfficialAccount\\Menu\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Menu/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\OAuth\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/OAuth/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\OCR\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/OCR/Client.php', + 'EasyWeChat\\OfficialAccount\\OCR\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/OCR/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\POI\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/POI/Client.php', + 'EasyWeChat\\OfficialAccount\\POI\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/POI/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Semantic\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Semantic/Client.php', + 'EasyWeChat\\OfficialAccount\\Semantic\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Semantic/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Server\\Guard' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Server/Guard.php', + 'EasyWeChat\\OfficialAccount\\Server\\Handlers\\EchoStrHandler' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Server/Handlers/EchoStrHandler.php', + 'EasyWeChat\\OfficialAccount\\Server\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Server/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/ShakeAround/Client.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\DeviceClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/ShakeAround/DeviceClient.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\GroupClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/ShakeAround/GroupClient.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\MaterialClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/ShakeAround/MaterialClient.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\PageClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/ShakeAround/PageClient.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\RelationClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/ShakeAround/RelationClient.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/ShakeAround/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\ShakeAround' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/ShakeAround/ShakeAround.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\StatsClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/ShakeAround/StatsClient.php', + 'EasyWeChat\\OfficialAccount\\Store\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Store/Client.php', + 'EasyWeChat\\OfficialAccount\\Store\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/Store/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\SubscribeMessage\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/SubscribeMessage/Client.php', + 'EasyWeChat\\OfficialAccount\\SubscribeMessage\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/SubscribeMessage/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\TemplateMessage\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/TemplateMessage/Client.php', + 'EasyWeChat\\OfficialAccount\\TemplateMessage\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/TemplateMessage/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\User\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/User/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\User\\TagClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/User/TagClient.php', + 'EasyWeChat\\OfficialAccount\\User\\UserClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/User/UserClient.php', + 'EasyWeChat\\OfficialAccount\\WiFi\\CardClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/WiFi/CardClient.php', + 'EasyWeChat\\OfficialAccount\\WiFi\\Client' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/WiFi/Client.php', + 'EasyWeChat\\OfficialAccount\\WiFi\\DeviceClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/WiFi/DeviceClient.php', + 'EasyWeChat\\OfficialAccount\\WiFi\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/WiFi/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\WiFi\\ShopClient' => $vendorDir . '/overtrue/wechat/src/OfficialAccount/WiFi/ShopClient.php', + 'EasyWeChat\\OpenPlatform\\Application' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Application.php', + 'EasyWeChat\\OpenPlatform\\Auth\\AccessToken' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Auth/AccessToken.php', + 'EasyWeChat\\OpenPlatform\\Auth\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Auth/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Auth\\VerifyTicket' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Auth/VerifyTicket.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\Aggregate\\Account\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/Aggregate/Account/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\Aggregate\\AggregateServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/Aggregate/AggregateServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\Auth\\AccessToken' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/Auth/AccessToken.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Account\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Account/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Account\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Account/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Application' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Application.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Auth\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Auth/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Code\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Code/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Code\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Code/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Domain\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Domain/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Domain\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Domain/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Setting\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Setting/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Setting\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Setting/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Tester\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Tester/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Tester\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Tester/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\OfficialAccount\\Account\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/OfficialAccount/Account/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\OfficialAccount\\Application' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/OfficialAccount/Application.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\OfficialAccount\\MiniProgram\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/OfficialAccount/MiniProgram/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\OfficialAccount\\MiniProgram\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/OfficialAccount/MiniProgram/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\OfficialAccount\\OAuth\\ComponentDelegate' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/OfficialAccount/OAuth/ComponentDelegate.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\Server\\Guard' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Authorizer/Server/Guard.php', + 'EasyWeChat\\OpenPlatform\\Base\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Base/Client.php', + 'EasyWeChat\\OpenPlatform\\Base\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Base/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\CodeTemplate\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/CodeTemplate/Client.php', + 'EasyWeChat\\OpenPlatform\\CodeTemplate\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/CodeTemplate/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Component\\Client' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Component/Client.php', + 'EasyWeChat\\OpenPlatform\\Component\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Component/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Server\\Guard' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Server/Guard.php', + 'EasyWeChat\\OpenPlatform\\Server\\Handlers\\Authorized' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Server/Handlers/Authorized.php', + 'EasyWeChat\\OpenPlatform\\Server\\Handlers\\Unauthorized' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Server/Handlers/Unauthorized.php', + 'EasyWeChat\\OpenPlatform\\Server\\Handlers\\UpdateAuthorized' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Server/Handlers/UpdateAuthorized.php', + 'EasyWeChat\\OpenPlatform\\Server\\Handlers\\VerifyTicketRefreshed' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Server/Handlers/VerifyTicketRefreshed.php', + 'EasyWeChat\\OpenPlatform\\Server\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenPlatform/Server/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\Application' => $vendorDir . '/overtrue/wechat/src/OpenWork/Application.php', + 'EasyWeChat\\OpenWork\\Auth\\AccessToken' => $vendorDir . '/overtrue/wechat/src/OpenWork/Auth/AccessToken.php', + 'EasyWeChat\\OpenWork\\Auth\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenWork/Auth/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\Corp\\Client' => $vendorDir . '/overtrue/wechat/src/OpenWork/Corp/Client.php', + 'EasyWeChat\\OpenWork\\Corp\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenWork/Corp/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\MiniProgram\\Client' => $vendorDir . '/overtrue/wechat/src/OpenWork/MiniProgram/Client.php', + 'EasyWeChat\\OpenWork\\MiniProgram\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenWork/MiniProgram/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\Provider\\Client' => $vendorDir . '/overtrue/wechat/src/OpenWork/Provider/Client.php', + 'EasyWeChat\\OpenWork\\Provider\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenWork/Provider/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\Server\\Guard' => $vendorDir . '/overtrue/wechat/src/OpenWork/Server/Guard.php', + 'EasyWeChat\\OpenWork\\Server\\Handlers\\EchoStrHandler' => $vendorDir . '/overtrue/wechat/src/OpenWork/Server/Handlers/EchoStrHandler.php', + 'EasyWeChat\\OpenWork\\Server\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenWork/Server/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\SuiteAuth\\AccessToken' => $vendorDir . '/overtrue/wechat/src/OpenWork/SuiteAuth/AccessToken.php', + 'EasyWeChat\\OpenWork\\SuiteAuth\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/OpenWork/SuiteAuth/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\SuiteAuth\\SuiteTicket' => $vendorDir . '/overtrue/wechat/src/OpenWork/SuiteAuth/SuiteTicket.php', + 'EasyWeChat\\OpenWork\\Work\\Application' => $vendorDir . '/overtrue/wechat/src/OpenWork/Work/Application.php', + 'EasyWeChat\\OpenWork\\Work\\Auth\\AccessToken' => $vendorDir . '/overtrue/wechat/src/OpenWork/Work/Auth/AccessToken.php', + 'EasyWeChat\\Payment\\Application' => $vendorDir . '/overtrue/wechat/src/Payment/Application.php', + 'EasyWeChat\\Payment\\Base\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Base/Client.php', + 'EasyWeChat\\Payment\\Base\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Base/ServiceProvider.php', + 'EasyWeChat\\Payment\\Bill\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Bill/Client.php', + 'EasyWeChat\\Payment\\Bill\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Bill/ServiceProvider.php', + 'EasyWeChat\\Payment\\Contract\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Contract/Client.php', + 'EasyWeChat\\Payment\\Contract\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Contract/ServiceProvider.php', + 'EasyWeChat\\Payment\\Coupon\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Coupon/Client.php', + 'EasyWeChat\\Payment\\Coupon\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Coupon/ServiceProvider.php', + 'EasyWeChat\\Payment\\Fundflow\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Fundflow/Client.php', + 'EasyWeChat\\Payment\\Fundflow\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Fundflow/ServiceProvider.php', + 'EasyWeChat\\Payment\\Jssdk\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Jssdk/Client.php', + 'EasyWeChat\\Payment\\Jssdk\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Jssdk/ServiceProvider.php', + 'EasyWeChat\\Payment\\Kernel\\BaseClient' => $vendorDir . '/overtrue/wechat/src/Payment/Kernel/BaseClient.php', + 'EasyWeChat\\Payment\\Kernel\\Exceptions\\InvalidSignException' => $vendorDir . '/overtrue/wechat/src/Payment/Kernel/Exceptions/InvalidSignException.php', + 'EasyWeChat\\Payment\\Kernel\\Exceptions\\SandboxException' => $vendorDir . '/overtrue/wechat/src/Payment/Kernel/Exceptions/SandboxException.php', + 'EasyWeChat\\Payment\\Merchant\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Merchant/Client.php', + 'EasyWeChat\\Payment\\Merchant\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Merchant/ServiceProvider.php', + 'EasyWeChat\\Payment\\Notify\\Handler' => $vendorDir . '/overtrue/wechat/src/Payment/Notify/Handler.php', + 'EasyWeChat\\Payment\\Notify\\Paid' => $vendorDir . '/overtrue/wechat/src/Payment/Notify/Paid.php', + 'EasyWeChat\\Payment\\Notify\\Refunded' => $vendorDir . '/overtrue/wechat/src/Payment/Notify/Refunded.php', + 'EasyWeChat\\Payment\\Notify\\Scanned' => $vendorDir . '/overtrue/wechat/src/Payment/Notify/Scanned.php', + 'EasyWeChat\\Payment\\Order\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Order/Client.php', + 'EasyWeChat\\Payment\\Order\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Order/ServiceProvider.php', + 'EasyWeChat\\Payment\\ProfitSharing\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/ProfitSharing/Client.php', + 'EasyWeChat\\Payment\\ProfitSharing\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/ProfitSharing/ServiceProvider.php', + 'EasyWeChat\\Payment\\Redpack\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Redpack/Client.php', + 'EasyWeChat\\Payment\\Redpack\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Redpack/ServiceProvider.php', + 'EasyWeChat\\Payment\\Refund\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Refund/Client.php', + 'EasyWeChat\\Payment\\Refund\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Refund/ServiceProvider.php', + 'EasyWeChat\\Payment\\Reverse\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Reverse/Client.php', + 'EasyWeChat\\Payment\\Reverse\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Reverse/ServiceProvider.php', + 'EasyWeChat\\Payment\\Sandbox\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Sandbox/Client.php', + 'EasyWeChat\\Payment\\Sandbox\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Sandbox/ServiceProvider.php', + 'EasyWeChat\\Payment\\Security\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Security/Client.php', + 'EasyWeChat\\Payment\\Security\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Security/ServiceProvider.php', + 'EasyWeChat\\Payment\\Transfer\\Client' => $vendorDir . '/overtrue/wechat/src/Payment/Transfer/Client.php', + 'EasyWeChat\\Payment\\Transfer\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Payment/Transfer/ServiceProvider.php', + 'EasyWeChat\\Work\\Agent\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Agent/Client.php', + 'EasyWeChat\\Work\\Agent\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Agent/ServiceProvider.php', + 'EasyWeChat\\Work\\Application' => $vendorDir . '/overtrue/wechat/src/Work/Application.php', + 'EasyWeChat\\Work\\Auth\\AccessToken' => $vendorDir . '/overtrue/wechat/src/Work/Auth/AccessToken.php', + 'EasyWeChat\\Work\\Auth\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Auth/ServiceProvider.php', + 'EasyWeChat\\Work\\Base\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Base/Client.php', + 'EasyWeChat\\Work\\Base\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Base/ServiceProvider.php', + 'EasyWeChat\\Work\\Calendar\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Calendar/Client.php', + 'EasyWeChat\\Work\\Calendar\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Calendar/ServiceProvider.php', + 'EasyWeChat\\Work\\Chat\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Chat/Client.php', + 'EasyWeChat\\Work\\Chat\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Chat/ServiceProvider.php', + 'EasyWeChat\\Work\\Department\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Department/Client.php', + 'EasyWeChat\\Work\\Department\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Department/ServiceProvider.php', + 'EasyWeChat\\Work\\ExternalContact\\Client' => $vendorDir . '/overtrue/wechat/src/Work/ExternalContact/Client.php', + 'EasyWeChat\\Work\\ExternalContact\\ContactWayClient' => $vendorDir . '/overtrue/wechat/src/Work/ExternalContact/ContactWayClient.php', + 'EasyWeChat\\Work\\ExternalContact\\MessageClient' => $vendorDir . '/overtrue/wechat/src/Work/ExternalContact/MessageClient.php', + 'EasyWeChat\\Work\\ExternalContact\\SchoolClient' => $vendorDir . '/overtrue/wechat/src/Work/ExternalContact/SchoolClient.php', + 'EasyWeChat\\Work\\ExternalContact\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/ExternalContact/ServiceProvider.php', + 'EasyWeChat\\Work\\ExternalContact\\StatisticsClient' => $vendorDir . '/overtrue/wechat/src/Work/ExternalContact/StatisticsClient.php', + 'EasyWeChat\\Work\\GroupRobot\\Client' => $vendorDir . '/overtrue/wechat/src/Work/GroupRobot/Client.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\Image' => $vendorDir . '/overtrue/wechat/src/Work/GroupRobot/Messages/Image.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\Markdown' => $vendorDir . '/overtrue/wechat/src/Work/GroupRobot/Messages/Markdown.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\Message' => $vendorDir . '/overtrue/wechat/src/Work/GroupRobot/Messages/Message.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\News' => $vendorDir . '/overtrue/wechat/src/Work/GroupRobot/Messages/News.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\NewsItem' => $vendorDir . '/overtrue/wechat/src/Work/GroupRobot/Messages/NewsItem.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\Text' => $vendorDir . '/overtrue/wechat/src/Work/GroupRobot/Messages/Text.php', + 'EasyWeChat\\Work\\GroupRobot\\Messenger' => $vendorDir . '/overtrue/wechat/src/Work/GroupRobot/Messenger.php', + 'EasyWeChat\\Work\\GroupRobot\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/GroupRobot/ServiceProvider.php', + 'EasyWeChat\\Work\\Invoice\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Invoice/Client.php', + 'EasyWeChat\\Work\\Invoice\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Invoice/ServiceProvider.php', + 'EasyWeChat\\Work\\Jssdk\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Jssdk/Client.php', + 'EasyWeChat\\Work\\Jssdk\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Jssdk/ServiceProvider.php', + 'EasyWeChat\\Work\\Media\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Media/Client.php', + 'EasyWeChat\\Work\\Media\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Media/ServiceProvider.php', + 'EasyWeChat\\Work\\Menu\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Menu/Client.php', + 'EasyWeChat\\Work\\Menu\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Menu/ServiceProvider.php', + 'EasyWeChat\\Work\\Message\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Message/Client.php', + 'EasyWeChat\\Work\\Message\\Messenger' => $vendorDir . '/overtrue/wechat/src/Work/Message/Messenger.php', + 'EasyWeChat\\Work\\Message\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Message/ServiceProvider.php', + 'EasyWeChat\\Work\\MiniProgram\\Application' => $vendorDir . '/overtrue/wechat/src/Work/MiniProgram/Application.php', + 'EasyWeChat\\Work\\MiniProgram\\Auth\\Client' => $vendorDir . '/overtrue/wechat/src/Work/MiniProgram/Auth/Client.php', + 'EasyWeChat\\Work\\MsgAudit\\Client' => $vendorDir . '/overtrue/wechat/src/Work/MsgAudit/Client.php', + 'EasyWeChat\\Work\\MsgAudit\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/MsgAudit/ServiceProvider.php', + 'EasyWeChat\\Work\\OA\\Client' => $vendorDir . '/overtrue/wechat/src/Work/OA/Client.php', + 'EasyWeChat\\Work\\OA\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/OA/ServiceProvider.php', + 'EasyWeChat\\Work\\OAuth\\AccessTokenDelegate' => $vendorDir . '/overtrue/wechat/src/Work/OAuth/AccessTokenDelegate.php', + 'EasyWeChat\\Work\\OAuth\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/OAuth/ServiceProvider.php', + 'EasyWeChat\\Work\\Schedule\\Client' => $vendorDir . '/overtrue/wechat/src/Work/Schedule/Client.php', + 'EasyWeChat\\Work\\Schedule\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Schedule/ServiceProvider.php', + 'EasyWeChat\\Work\\Server\\Guard' => $vendorDir . '/overtrue/wechat/src/Work/Server/Guard.php', + 'EasyWeChat\\Work\\Server\\Handlers\\EchoStrHandler' => $vendorDir . '/overtrue/wechat/src/Work/Server/Handlers/EchoStrHandler.php', + 'EasyWeChat\\Work\\Server\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/Server/ServiceProvider.php', + 'EasyWeChat\\Work\\User\\Client' => $vendorDir . '/overtrue/wechat/src/Work/User/Client.php', + 'EasyWeChat\\Work\\User\\ServiceProvider' => $vendorDir . '/overtrue/wechat/src/Work/User/ServiceProvider.php', + 'EasyWeChat\\Work\\User\\TagClient' => $vendorDir . '/overtrue/wechat/src/Work/User/TagClient.php', + 'GuzzleHttp\\BodySummarizer' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizer.php', + 'GuzzleHttp\\BodySummarizerInterface' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php', + 'GuzzleHttp\\Client' => $vendorDir . '/guzzlehttp/guzzle/src/Client.php', + 'GuzzleHttp\\ClientInterface' => $vendorDir . '/guzzlehttp/guzzle/src/ClientInterface.php', + 'GuzzleHttp\\ClientTrait' => $vendorDir . '/guzzlehttp/guzzle/src/ClientTrait.php', + 'GuzzleHttp\\Cookie\\CookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php', + 'GuzzleHttp\\Cookie\\CookieJarInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php', + 'GuzzleHttp\\Cookie\\FileCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php', + 'GuzzleHttp\\Cookie\\SessionCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php', + 'GuzzleHttp\\Cookie\\SetCookie' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php', + 'GuzzleHttp\\Exception\\BadResponseException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php', + 'GuzzleHttp\\Exception\\ClientException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ClientException.php', + 'GuzzleHttp\\Exception\\ConnectException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ConnectException.php', + 'GuzzleHttp\\Exception\\GuzzleException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/GuzzleException.php', + 'GuzzleHttp\\Exception\\InvalidArgumentException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php', + 'GuzzleHttp\\Exception\\RequestException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/RequestException.php', + 'GuzzleHttp\\Exception\\ServerException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ServerException.php', + 'GuzzleHttp\\Exception\\TooManyRedirectsException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php', + 'GuzzleHttp\\Exception\\TransferException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TransferException.php', + 'GuzzleHttp\\HandlerStack' => $vendorDir . '/guzzlehttp/guzzle/src/HandlerStack.php', + 'GuzzleHttp\\Handler\\CurlFactory' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlFactory.php', + 'GuzzleHttp\\Handler\\CurlFactoryInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php', + 'GuzzleHttp\\Handler\\CurlHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php', + 'GuzzleHttp\\Handler\\CurlMultiHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php', + 'GuzzleHttp\\Handler\\EasyHandle' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php', + 'GuzzleHttp\\Handler\\HeaderProcessor' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php', + 'GuzzleHttp\\Handler\\MockHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/MockHandler.php', + 'GuzzleHttp\\Handler\\Proxy' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/Proxy.php', + 'GuzzleHttp\\Handler\\StreamHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php', + 'GuzzleHttp\\MessageFormatter' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatter.php', + 'GuzzleHttp\\MessageFormatterInterface' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php', + 'GuzzleHttp\\Middleware' => $vendorDir . '/guzzlehttp/guzzle/src/Middleware.php', + 'GuzzleHttp\\Pool' => $vendorDir . '/guzzlehttp/guzzle/src/Pool.php', + 'GuzzleHttp\\PrepareBodyMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php', + 'GuzzleHttp\\Promise\\AggregateException' => $vendorDir . '/guzzlehttp/promises/src/AggregateException.php', + 'GuzzleHttp\\Promise\\CancellationException' => $vendorDir . '/guzzlehttp/promises/src/CancellationException.php', + 'GuzzleHttp\\Promise\\Coroutine' => $vendorDir . '/guzzlehttp/promises/src/Coroutine.php', + 'GuzzleHttp\\Promise\\Create' => $vendorDir . '/guzzlehttp/promises/src/Create.php', + 'GuzzleHttp\\Promise\\Each' => $vendorDir . '/guzzlehttp/promises/src/Each.php', + 'GuzzleHttp\\Promise\\EachPromise' => $vendorDir . '/guzzlehttp/promises/src/EachPromise.php', + 'GuzzleHttp\\Promise\\FulfilledPromise' => $vendorDir . '/guzzlehttp/promises/src/FulfilledPromise.php', + 'GuzzleHttp\\Promise\\Is' => $vendorDir . '/guzzlehttp/promises/src/Is.php', + 'GuzzleHttp\\Promise\\Promise' => $vendorDir . '/guzzlehttp/promises/src/Promise.php', + 'GuzzleHttp\\Promise\\PromiseInterface' => $vendorDir . '/guzzlehttp/promises/src/PromiseInterface.php', + 'GuzzleHttp\\Promise\\PromisorInterface' => $vendorDir . '/guzzlehttp/promises/src/PromisorInterface.php', + 'GuzzleHttp\\Promise\\RejectedPromise' => $vendorDir . '/guzzlehttp/promises/src/RejectedPromise.php', + 'GuzzleHttp\\Promise\\RejectionException' => $vendorDir . '/guzzlehttp/promises/src/RejectionException.php', + 'GuzzleHttp\\Promise\\TaskQueue' => $vendorDir . '/guzzlehttp/promises/src/TaskQueue.php', + 'GuzzleHttp\\Promise\\TaskQueueInterface' => $vendorDir . '/guzzlehttp/promises/src/TaskQueueInterface.php', + 'GuzzleHttp\\Promise\\Utils' => $vendorDir . '/guzzlehttp/promises/src/Utils.php', + 'GuzzleHttp\\Psr7\\AppendStream' => $vendorDir . '/guzzlehttp/psr7/src/AppendStream.php', + 'GuzzleHttp\\Psr7\\BufferStream' => $vendorDir . '/guzzlehttp/psr7/src/BufferStream.php', + 'GuzzleHttp\\Psr7\\CachingStream' => $vendorDir . '/guzzlehttp/psr7/src/CachingStream.php', + 'GuzzleHttp\\Psr7\\DroppingStream' => $vendorDir . '/guzzlehttp/psr7/src/DroppingStream.php', + 'GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => $vendorDir . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php', + 'GuzzleHttp\\Psr7\\FnStream' => $vendorDir . '/guzzlehttp/psr7/src/FnStream.php', + 'GuzzleHttp\\Psr7\\Header' => $vendorDir . '/guzzlehttp/psr7/src/Header.php', + 'GuzzleHttp\\Psr7\\HttpFactory' => $vendorDir . '/guzzlehttp/psr7/src/HttpFactory.php', + 'GuzzleHttp\\Psr7\\InflateStream' => $vendorDir . '/guzzlehttp/psr7/src/InflateStream.php', + 'GuzzleHttp\\Psr7\\LazyOpenStream' => $vendorDir . '/guzzlehttp/psr7/src/LazyOpenStream.php', + 'GuzzleHttp\\Psr7\\LimitStream' => $vendorDir . '/guzzlehttp/psr7/src/LimitStream.php', + 'GuzzleHttp\\Psr7\\Message' => $vendorDir . '/guzzlehttp/psr7/src/Message.php', + 'GuzzleHttp\\Psr7\\MessageTrait' => $vendorDir . '/guzzlehttp/psr7/src/MessageTrait.php', + 'GuzzleHttp\\Psr7\\MimeType' => $vendorDir . '/guzzlehttp/psr7/src/MimeType.php', + 'GuzzleHttp\\Psr7\\MultipartStream' => $vendorDir . '/guzzlehttp/psr7/src/MultipartStream.php', + 'GuzzleHttp\\Psr7\\NoSeekStream' => $vendorDir . '/guzzlehttp/psr7/src/NoSeekStream.php', + 'GuzzleHttp\\Psr7\\PumpStream' => $vendorDir . '/guzzlehttp/psr7/src/PumpStream.php', + 'GuzzleHttp\\Psr7\\Query' => $vendorDir . '/guzzlehttp/psr7/src/Query.php', + 'GuzzleHttp\\Psr7\\Request' => $vendorDir . '/guzzlehttp/psr7/src/Request.php', + 'GuzzleHttp\\Psr7\\Response' => $vendorDir . '/guzzlehttp/psr7/src/Response.php', + 'GuzzleHttp\\Psr7\\Rfc7230' => $vendorDir . '/guzzlehttp/psr7/src/Rfc7230.php', + 'GuzzleHttp\\Psr7\\ServerRequest' => $vendorDir . '/guzzlehttp/psr7/src/ServerRequest.php', + 'GuzzleHttp\\Psr7\\Stream' => $vendorDir . '/guzzlehttp/psr7/src/Stream.php', + 'GuzzleHttp\\Psr7\\StreamDecoratorTrait' => $vendorDir . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php', + 'GuzzleHttp\\Psr7\\StreamWrapper' => $vendorDir . '/guzzlehttp/psr7/src/StreamWrapper.php', + 'GuzzleHttp\\Psr7\\UploadedFile' => $vendorDir . '/guzzlehttp/psr7/src/UploadedFile.php', + 'GuzzleHttp\\Psr7\\Uri' => $vendorDir . '/guzzlehttp/psr7/src/Uri.php', + 'GuzzleHttp\\Psr7\\UriComparator' => $vendorDir . '/guzzlehttp/psr7/src/UriComparator.php', + 'GuzzleHttp\\Psr7\\UriNormalizer' => $vendorDir . '/guzzlehttp/psr7/src/UriNormalizer.php', + 'GuzzleHttp\\Psr7\\UriResolver' => $vendorDir . '/guzzlehttp/psr7/src/UriResolver.php', + 'GuzzleHttp\\Psr7\\Utils' => $vendorDir . '/guzzlehttp/psr7/src/Utils.php', + 'GuzzleHttp\\RedirectMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RedirectMiddleware.php', + 'GuzzleHttp\\RequestOptions' => $vendorDir . '/guzzlehttp/guzzle/src/RequestOptions.php', + 'GuzzleHttp\\RetryMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RetryMiddleware.php', + 'GuzzleHttp\\TransferStats' => $vendorDir . '/guzzlehttp/guzzle/src/TransferStats.php', + 'GuzzleHttp\\Utils' => $vendorDir . '/guzzlehttp/guzzle/src/Utils.php', + 'HTMLPurifier' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.php', + 'HTMLPurifier_Arborize' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php', + 'HTMLPurifier_AttrCollections' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php', + 'HTMLPurifier_AttrDef' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php', + 'HTMLPurifier_AttrDef_CSS' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php', + 'HTMLPurifier_AttrDef_CSS_AlphaValue' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php', + 'HTMLPurifier_AttrDef_CSS_Background' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php', + 'HTMLPurifier_AttrDef_CSS_BackgroundPosition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php', + 'HTMLPurifier_AttrDef_CSS_Border' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php', + 'HTMLPurifier_AttrDef_CSS_Color' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php', + 'HTMLPurifier_AttrDef_CSS_Composite' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php', + 'HTMLPurifier_AttrDef_CSS_DenyElementDecorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php', + 'HTMLPurifier_AttrDef_CSS_Filter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php', + 'HTMLPurifier_AttrDef_CSS_Font' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php', + 'HTMLPurifier_AttrDef_CSS_FontFamily' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php', + 'HTMLPurifier_AttrDef_CSS_Ident' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php', + 'HTMLPurifier_AttrDef_CSS_ImportantDecorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php', + 'HTMLPurifier_AttrDef_CSS_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php', + 'HTMLPurifier_AttrDef_CSS_ListStyle' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php', + 'HTMLPurifier_AttrDef_CSS_Multiple' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php', + 'HTMLPurifier_AttrDef_CSS_Number' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php', + 'HTMLPurifier_AttrDef_CSS_Percentage' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php', + 'HTMLPurifier_AttrDef_CSS_Ratio' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ratio.php', + 'HTMLPurifier_AttrDef_CSS_TextDecoration' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php', + 'HTMLPurifier_AttrDef_CSS_URI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php', + 'HTMLPurifier_AttrDef_Clone' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php', + 'HTMLPurifier_AttrDef_Enum' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php', + 'HTMLPurifier_AttrDef_HTML_Bool' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php', + 'HTMLPurifier_AttrDef_HTML_Class' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php', + 'HTMLPurifier_AttrDef_HTML_Color' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php', + 'HTMLPurifier_AttrDef_HTML_ContentEditable' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ContentEditable.php', + 'HTMLPurifier_AttrDef_HTML_FrameTarget' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php', + 'HTMLPurifier_AttrDef_HTML_ID' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php', + 'HTMLPurifier_AttrDef_HTML_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php', + 'HTMLPurifier_AttrDef_HTML_LinkTypes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php', + 'HTMLPurifier_AttrDef_HTML_MultiLength' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php', + 'HTMLPurifier_AttrDef_HTML_Nmtokens' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php', + 'HTMLPurifier_AttrDef_HTML_Pixels' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php', + 'HTMLPurifier_AttrDef_Integer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php', + 'HTMLPurifier_AttrDef_Lang' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php', + 'HTMLPurifier_AttrDef_Switch' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php', + 'HTMLPurifier_AttrDef_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php', + 'HTMLPurifier_AttrDef_URI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php', + 'HTMLPurifier_AttrDef_URI_Email' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php', + 'HTMLPurifier_AttrDef_URI_Email_SimpleCheck' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php', + 'HTMLPurifier_AttrDef_URI_Host' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php', + 'HTMLPurifier_AttrDef_URI_IPv4' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php', + 'HTMLPurifier_AttrDef_URI_IPv6' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php', + 'HTMLPurifier_AttrTransform' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php', + 'HTMLPurifier_AttrTransform_Background' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php', + 'HTMLPurifier_AttrTransform_BdoDir' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php', + 'HTMLPurifier_AttrTransform_BgColor' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php', + 'HTMLPurifier_AttrTransform_BoolToCSS' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php', + 'HTMLPurifier_AttrTransform_Border' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php', + 'HTMLPurifier_AttrTransform_EnumToCSS' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php', + 'HTMLPurifier_AttrTransform_ImgRequired' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php', + 'HTMLPurifier_AttrTransform_ImgSpace' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php', + 'HTMLPurifier_AttrTransform_Input' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php', + 'HTMLPurifier_AttrTransform_Lang' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php', + 'HTMLPurifier_AttrTransform_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php', + 'HTMLPurifier_AttrTransform_Name' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php', + 'HTMLPurifier_AttrTransform_NameSync' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php', + 'HTMLPurifier_AttrTransform_Nofollow' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php', + 'HTMLPurifier_AttrTransform_SafeEmbed' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php', + 'HTMLPurifier_AttrTransform_SafeObject' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php', + 'HTMLPurifier_AttrTransform_SafeParam' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php', + 'HTMLPurifier_AttrTransform_ScriptRequired' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php', + 'HTMLPurifier_AttrTransform_TargetBlank' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php', + 'HTMLPurifier_AttrTransform_TargetNoopener' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php', + 'HTMLPurifier_AttrTransform_TargetNoreferrer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoreferrer.php', + 'HTMLPurifier_AttrTransform_Textarea' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php', + 'HTMLPurifier_AttrTypes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php', + 'HTMLPurifier_AttrValidator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php', + 'HTMLPurifier_Bootstrap' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php', + 'HTMLPurifier_CSSDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php', + 'HTMLPurifier_ChildDef' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php', + 'HTMLPurifier_ChildDef_Chameleon' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php', + 'HTMLPurifier_ChildDef_Custom' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php', + 'HTMLPurifier_ChildDef_Empty' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php', + 'HTMLPurifier_ChildDef_List' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php', + 'HTMLPurifier_ChildDef_Optional' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php', + 'HTMLPurifier_ChildDef_Required' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php', + 'HTMLPurifier_ChildDef_StrictBlockquote' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php', + 'HTMLPurifier_ChildDef_Table' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php', + 'HTMLPurifier_Config' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Config.php', + 'HTMLPurifier_ConfigSchema' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php', + 'HTMLPurifier_ConfigSchema_Builder_ConfigSchema' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php', + 'HTMLPurifier_ConfigSchema_Builder_Xml' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php', + 'HTMLPurifier_ConfigSchema_Exception' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php', + 'HTMLPurifier_ConfigSchema_Interchange' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php', + 'HTMLPurifier_ConfigSchema_InterchangeBuilder' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php', + 'HTMLPurifier_ConfigSchema_Interchange_Directive' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php', + 'HTMLPurifier_ConfigSchema_Interchange_Id' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php', + 'HTMLPurifier_ConfigSchema_Validator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php', + 'HTMLPurifier_ConfigSchema_ValidatorAtom' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php', + 'HTMLPurifier_ContentSets' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php', + 'HTMLPurifier_Context' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Context.php', + 'HTMLPurifier_Definition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php', + 'HTMLPurifier_DefinitionCache' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php', + 'HTMLPurifier_DefinitionCacheFactory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php', + 'HTMLPurifier_DefinitionCache_Decorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php', + 'HTMLPurifier_DefinitionCache_Decorator_Cleanup' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php', + 'HTMLPurifier_DefinitionCache_Decorator_Memory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php', + 'HTMLPurifier_DefinitionCache_Null' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php', + 'HTMLPurifier_DefinitionCache_Serializer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php', + 'HTMLPurifier_Doctype' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php', + 'HTMLPurifier_DoctypeRegistry' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php', + 'HTMLPurifier_ElementDef' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php', + 'HTMLPurifier_Encoder' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php', + 'HTMLPurifier_EntityLookup' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php', + 'HTMLPurifier_EntityParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php', + 'HTMLPurifier_ErrorCollector' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php', + 'HTMLPurifier_ErrorStruct' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php', + 'HTMLPurifier_Exception' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php', + 'HTMLPurifier_Filter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php', + 'HTMLPurifier_Filter_ExtractStyleBlocks' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php', + 'HTMLPurifier_Filter_YouTube' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php', + 'HTMLPurifier_Generator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php', + 'HTMLPurifier_HTMLDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php', + 'HTMLPurifier_HTMLModule' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php', + 'HTMLPurifier_HTMLModuleManager' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php', + 'HTMLPurifier_HTMLModule_Bdo' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php', + 'HTMLPurifier_HTMLModule_CommonAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php', + 'HTMLPurifier_HTMLModule_Edit' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php', + 'HTMLPurifier_HTMLModule_Forms' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php', + 'HTMLPurifier_HTMLModule_Hypertext' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php', + 'HTMLPurifier_HTMLModule_Iframe' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php', + 'HTMLPurifier_HTMLModule_Image' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php', + 'HTMLPurifier_HTMLModule_Legacy' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php', + 'HTMLPurifier_HTMLModule_List' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php', + 'HTMLPurifier_HTMLModule_Name' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php', + 'HTMLPurifier_HTMLModule_Nofollow' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php', + 'HTMLPurifier_HTMLModule_NonXMLCommonAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php', + 'HTMLPurifier_HTMLModule_Object' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php', + 'HTMLPurifier_HTMLModule_Presentation' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php', + 'HTMLPurifier_HTMLModule_Proprietary' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php', + 'HTMLPurifier_HTMLModule_Ruby' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php', + 'HTMLPurifier_HTMLModule_SafeEmbed' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php', + 'HTMLPurifier_HTMLModule_SafeObject' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php', + 'HTMLPurifier_HTMLModule_SafeScripting' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php', + 'HTMLPurifier_HTMLModule_Scripting' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php', + 'HTMLPurifier_HTMLModule_StyleAttribute' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php', + 'HTMLPurifier_HTMLModule_Tables' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php', + 'HTMLPurifier_HTMLModule_Target' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php', + 'HTMLPurifier_HTMLModule_TargetBlank' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php', + 'HTMLPurifier_HTMLModule_TargetNoopener' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoopener.php', + 'HTMLPurifier_HTMLModule_TargetNoreferrer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoreferrer.php', + 'HTMLPurifier_HTMLModule_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php', + 'HTMLPurifier_HTMLModule_Tidy' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php', + 'HTMLPurifier_HTMLModule_Tidy_Name' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php', + 'HTMLPurifier_HTMLModule_Tidy_Proprietary' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php', + 'HTMLPurifier_HTMLModule_Tidy_Strict' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php', + 'HTMLPurifier_HTMLModule_Tidy_Transitional' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php', + 'HTMLPurifier_HTMLModule_Tidy_XHTML' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php', + 'HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php', + 'HTMLPurifier_HTMLModule_XMLCommonAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php', + 'HTMLPurifier_IDAccumulator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php', + 'HTMLPurifier_Injector' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php', + 'HTMLPurifier_Injector_AutoParagraph' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php', + 'HTMLPurifier_Injector_DisplayLinkURI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php', + 'HTMLPurifier_Injector_Linkify' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php', + 'HTMLPurifier_Injector_PurifierLinkify' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php', + 'HTMLPurifier_Injector_RemoveEmpty' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php', + 'HTMLPurifier_Injector_RemoveSpansWithoutAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php', + 'HTMLPurifier_Injector_SafeObject' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php', + 'HTMLPurifier_Language' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Language.php', + 'HTMLPurifier_LanguageFactory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php', + 'HTMLPurifier_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Length.php', + 'HTMLPurifier_Lexer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php', + 'HTMLPurifier_Lexer_DOMLex' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php', + 'HTMLPurifier_Lexer_DirectLex' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php', + 'HTMLPurifier_Lexer_PH5P' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php', + 'HTMLPurifier_Node' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node.php', + 'HTMLPurifier_Node_Comment' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php', + 'HTMLPurifier_Node_Element' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php', + 'HTMLPurifier_Node_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php', + 'HTMLPurifier_PercentEncoder' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php', + 'HTMLPurifier_Printer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php', + 'HTMLPurifier_Printer_CSSDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php', + 'HTMLPurifier_Printer_ConfigForm' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php', + 'HTMLPurifier_Printer_HTMLDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php', + 'HTMLPurifier_PropertyList' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php', + 'HTMLPurifier_PropertyListIterator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php', + 'HTMLPurifier_Queue' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php', + 'HTMLPurifier_Strategy' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php', + 'HTMLPurifier_Strategy_Composite' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php', + 'HTMLPurifier_Strategy_Core' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php', + 'HTMLPurifier_Strategy_FixNesting' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php', + 'HTMLPurifier_Strategy_MakeWellFormed' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php', + 'HTMLPurifier_Strategy_RemoveForeignElements' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php', + 'HTMLPurifier_Strategy_ValidateAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php', + 'HTMLPurifier_StringHash' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php', + 'HTMLPurifier_StringHashParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php', + 'HTMLPurifier_TagTransform' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php', + 'HTMLPurifier_TagTransform_Font' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php', + 'HTMLPurifier_TagTransform_Simple' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php', + 'HTMLPurifier_Token' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token.php', + 'HTMLPurifier_TokenFactory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php', + 'HTMLPurifier_Token_Comment' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php', + 'HTMLPurifier_Token_Empty' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php', + 'HTMLPurifier_Token_End' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php', + 'HTMLPurifier_Token_Start' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php', + 'HTMLPurifier_Token_Tag' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php', + 'HTMLPurifier_Token_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php', + 'HTMLPurifier_URI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URI.php', + 'HTMLPurifier_URIDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php', + 'HTMLPurifier_URIFilter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php', + 'HTMLPurifier_URIFilter_DisableExternal' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php', + 'HTMLPurifier_URIFilter_DisableExternalResources' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php', + 'HTMLPurifier_URIFilter_DisableResources' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php', + 'HTMLPurifier_URIFilter_HostBlacklist' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php', + 'HTMLPurifier_URIFilter_MakeAbsolute' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php', + 'HTMLPurifier_URIFilter_Munge' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php', + 'HTMLPurifier_URIFilter_SafeIframe' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php', + 'HTMLPurifier_URIParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php', + 'HTMLPurifier_URIScheme' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php', + 'HTMLPurifier_URISchemeRegistry' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php', + 'HTMLPurifier_URIScheme_data' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php', + 'HTMLPurifier_URIScheme_file' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php', + 'HTMLPurifier_URIScheme_ftp' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php', + 'HTMLPurifier_URIScheme_http' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php', + 'HTMLPurifier_URIScheme_https' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php', + 'HTMLPurifier_URIScheme_mailto' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php', + 'HTMLPurifier_URIScheme_news' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php', + 'HTMLPurifier_URIScheme_nntp' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php', + 'HTMLPurifier_URIScheme_tel' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/tel.php', + 'HTMLPurifier_UnitConverter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php', + 'HTMLPurifier_VarParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php', + 'HTMLPurifier_VarParserException' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php', + 'HTMLPurifier_VarParser_Flexible' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php', + 'HTMLPurifier_VarParser_Native' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php', + 'HTMLPurifier_Zipper' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php', 'JsonException' => $vendorDir . '/symfony/polyfill-php73/Resources/stubs/JsonException.php', + 'Matrix\\Builder' => $vendorDir . '/markbaker/matrix/classes/src/Builder.php', + 'Matrix\\Decomposition\\Decomposition' => $vendorDir . '/markbaker/matrix/classes/src/Decomposition/Decomposition.php', + 'Matrix\\Decomposition\\LU' => $vendorDir . '/markbaker/matrix/classes/src/Decomposition/LU.php', + 'Matrix\\Decomposition\\QR' => $vendorDir . '/markbaker/matrix/classes/src/Decomposition/QR.php', + 'Matrix\\Div0Exception' => $vendorDir . '/markbaker/matrix/classes/src/Div0Exception.php', + 'Matrix\\Exception' => $vendorDir . '/markbaker/matrix/classes/src/Exception.php', + 'Matrix\\Functions' => $vendorDir . '/markbaker/matrix/classes/src/Functions.php', + 'Matrix\\Matrix' => $vendorDir . '/markbaker/matrix/classes/src/Matrix.php', + 'Matrix\\Operations' => $vendorDir . '/markbaker/matrix/classes/src/Operations.php', + 'Matrix\\Operators\\Addition' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Addition.php', + 'Matrix\\Operators\\DirectSum' => $vendorDir . '/markbaker/matrix/classes/src/Operators/DirectSum.php', + 'Matrix\\Operators\\Division' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Division.php', + 'Matrix\\Operators\\Multiplication' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Multiplication.php', + 'Matrix\\Operators\\Operator' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Operator.php', + 'Matrix\\Operators\\Subtraction' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Subtraction.php', + 'Monolog\\Attribute\\AsMonologProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Attribute/AsMonologProcessor.php', + 'Monolog\\DateTimeImmutable' => $vendorDir . '/monolog/monolog/src/Monolog/DateTimeImmutable.php', + 'Monolog\\ErrorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/ErrorHandler.php', + 'Monolog\\Formatter\\ChromePHPFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php', + 'Monolog\\Formatter\\ElasticaFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php', + 'Monolog\\Formatter\\ElasticsearchFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ElasticsearchFormatter.php', + 'Monolog\\Formatter\\FlowdockFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php', + 'Monolog\\Formatter\\FluentdFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php', + 'Monolog\\Formatter\\FormatterInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php', + 'Monolog\\Formatter\\GelfMessageFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php', + 'Monolog\\Formatter\\GoogleCloudLoggingFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/GoogleCloudLoggingFormatter.php', + 'Monolog\\Formatter\\HtmlFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php', + 'Monolog\\Formatter\\JsonFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php', + 'Monolog\\Formatter\\LineFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LineFormatter.php', + 'Monolog\\Formatter\\LogglyFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php', + 'Monolog\\Formatter\\LogmaticFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LogmaticFormatter.php', + 'Monolog\\Formatter\\LogstashFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php', + 'Monolog\\Formatter\\MongoDBFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php', + 'Monolog\\Formatter\\NormalizerFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php', + 'Monolog\\Formatter\\ScalarFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php', + 'Monolog\\Formatter\\WildfireFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php', + 'Monolog\\Handler\\AbstractHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractHandler.php', + 'Monolog\\Handler\\AbstractProcessingHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php', + 'Monolog\\Handler\\AbstractSyslogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php', + 'Monolog\\Handler\\AmqpHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AmqpHandler.php', + 'Monolog\\Handler\\BrowserConsoleHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php', + 'Monolog\\Handler\\BufferHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/BufferHandler.php', + 'Monolog\\Handler\\ChromePHPHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php', + 'Monolog\\Handler\\CouchDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php', + 'Monolog\\Handler\\CubeHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/CubeHandler.php', + 'Monolog\\Handler\\Curl\\Util' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/Curl/Util.php', + 'Monolog\\Handler\\DeduplicationHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php', + 'Monolog\\Handler\\DoctrineCouchDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php', + 'Monolog\\Handler\\DynamoDbHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php', + 'Monolog\\Handler\\ElasticaHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ElasticaHandler.php', + 'Monolog\\Handler\\ElasticsearchHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ElasticsearchHandler.php', + 'Monolog\\Handler\\ErrorLogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php', + 'Monolog\\Handler\\FallbackGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FallbackGroupHandler.php', + 'Monolog\\Handler\\FilterHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php', + 'Monolog\\Handler\\FingersCrossedHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php', + 'Monolog\\Handler\\FingersCrossed\\ActivationStrategyInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php', + 'Monolog\\Handler\\FingersCrossed\\ChannelLevelActivationStrategy' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php', + 'Monolog\\Handler\\FingersCrossed\\ErrorLevelActivationStrategy' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php', + 'Monolog\\Handler\\FirePHPHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php', + 'Monolog\\Handler\\FleepHookHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php', + 'Monolog\\Handler\\FlowdockHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php', + 'Monolog\\Handler\\FormattableHandlerInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php', + 'Monolog\\Handler\\FormattableHandlerTrait' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php', + 'Monolog\\Handler\\GelfHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/GelfHandler.php', + 'Monolog\\Handler\\GroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/GroupHandler.php', + 'Monolog\\Handler\\Handler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/Handler.php', + 'Monolog\\Handler\\HandlerInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HandlerInterface.php', + 'Monolog\\Handler\\HandlerWrapper' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php', + 'Monolog\\Handler\\IFTTTHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php', + 'Monolog\\Handler\\InsightOpsHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php', + 'Monolog\\Handler\\LogEntriesHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php', + 'Monolog\\Handler\\LogglyHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogglyHandler.php', + 'Monolog\\Handler\\LogmaticHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogmaticHandler.php', + 'Monolog\\Handler\\MailHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MailHandler.php', + 'Monolog\\Handler\\MandrillHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MandrillHandler.php', + 'Monolog\\Handler\\MissingExtensionException' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php', + 'Monolog\\Handler\\MongoDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php', + 'Monolog\\Handler\\NativeMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php', + 'Monolog\\Handler\\NewRelicHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php', + 'Monolog\\Handler\\NoopHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NoopHandler.php', + 'Monolog\\Handler\\NullHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NullHandler.php', + 'Monolog\\Handler\\OverflowHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/OverflowHandler.php', + 'Monolog\\Handler\\PHPConsoleHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php', + 'Monolog\\Handler\\ProcessHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ProcessHandler.php', + 'Monolog\\Handler\\ProcessableHandlerInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php', + 'Monolog\\Handler\\ProcessableHandlerTrait' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php', + 'Monolog\\Handler\\PsrHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PsrHandler.php', + 'Monolog\\Handler\\PushoverHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PushoverHandler.php', + 'Monolog\\Handler\\RedisHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RedisHandler.php', + 'Monolog\\Handler\\RedisPubSubHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RedisPubSubHandler.php', + 'Monolog\\Handler\\RollbarHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RollbarHandler.php', + 'Monolog\\Handler\\RotatingFileHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php', + 'Monolog\\Handler\\SamplingHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SamplingHandler.php', + 'Monolog\\Handler\\SendGridHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SendGridHandler.php', + 'Monolog\\Handler\\SlackHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SlackHandler.php', + 'Monolog\\Handler\\SlackWebhookHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php', + 'Monolog\\Handler\\Slack\\SlackRecord' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php', + 'Monolog\\Handler\\SocketHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SocketHandler.php', + 'Monolog\\Handler\\SqsHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SqsHandler.php', + 'Monolog\\Handler\\StreamHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php', + 'Monolog\\Handler\\SwiftMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php', + 'Monolog\\Handler\\SymfonyMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SymfonyMailerHandler.php', + 'Monolog\\Handler\\SyslogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php', + 'Monolog\\Handler\\SyslogUdpHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php', + 'Monolog\\Handler\\SyslogUdp\\UdpSocket' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php', + 'Monolog\\Handler\\TelegramBotHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php', + 'Monolog\\Handler\\TestHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/TestHandler.php', + 'Monolog\\Handler\\WebRequestRecognizerTrait' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php', + 'Monolog\\Handler\\WhatFailureGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php', + 'Monolog\\Handler\\ZendMonitorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php', + 'Monolog\\LogRecord' => $vendorDir . '/monolog/monolog/src/Monolog/LogRecord.php', + 'Monolog\\Logger' => $vendorDir . '/monolog/monolog/src/Monolog/Logger.php', + 'Monolog\\Processor\\GitProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php', + 'Monolog\\Processor\\HostnameProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/HostnameProcessor.php', + 'Monolog\\Processor\\IntrospectionProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php', + 'Monolog\\Processor\\MemoryPeakUsageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php', + 'Monolog\\Processor\\MemoryProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php', + 'Monolog\\Processor\\MemoryUsageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php', + 'Monolog\\Processor\\MercurialProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php', + 'Monolog\\Processor\\ProcessIdProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php', + 'Monolog\\Processor\\ProcessorInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php', + 'Monolog\\Processor\\PsrLogMessageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php', + 'Monolog\\Processor\\TagProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/TagProcessor.php', + 'Monolog\\Processor\\UidProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/UidProcessor.php', + 'Monolog\\Processor\\WebProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/WebProcessor.php', + 'Monolog\\Registry' => $vendorDir . '/monolog/monolog/src/Monolog/Registry.php', + 'Monolog\\ResettableInterface' => $vendorDir . '/monolog/monolog/src/Monolog/ResettableInterface.php', + 'Monolog\\SignalHandler' => $vendorDir . '/monolog/monolog/src/Monolog/SignalHandler.php', + 'Monolog\\Test\\TestCase' => $vendorDir . '/monolog/monolog/src/Monolog/Test/TestCase.php', + 'Monolog\\Utils' => $vendorDir . '/monolog/monolog/src/Monolog/Utils.php', + 'Overtrue\\Pinyin\\DictLoaderInterface' => $vendorDir . '/overtrue/pinyin/src/DictLoaderInterface.php', + 'Overtrue\\Pinyin\\FileDictLoader' => $vendorDir . '/overtrue/pinyin/src/FileDictLoader.php', + 'Overtrue\\Pinyin\\GeneratorFileDictLoader' => $vendorDir . '/overtrue/pinyin/src/GeneratorFileDictLoader.php', + 'Overtrue\\Pinyin\\MemoryFileDictLoader' => $vendorDir . '/overtrue/pinyin/src/MemoryFileDictLoader.php', + 'Overtrue\\Pinyin\\Pinyin' => $vendorDir . '/overtrue/pinyin/src/Pinyin.php', + 'Overtrue\\Socialite\\AccessToken' => $vendorDir . '/overtrue/socialite/src/AccessToken.php', + 'Overtrue\\Socialite\\AccessTokenInterface' => $vendorDir . '/overtrue/socialite/src/AccessTokenInterface.php', + 'Overtrue\\Socialite\\AuthorizeFailedException' => $vendorDir . '/overtrue/socialite/src/AuthorizeFailedException.php', + 'Overtrue\\Socialite\\Config' => $vendorDir . '/overtrue/socialite/src/Config.php', + 'Overtrue\\Socialite\\FactoryInterface' => $vendorDir . '/overtrue/socialite/src/FactoryInterface.php', + 'Overtrue\\Socialite\\HasAttributes' => $vendorDir . '/overtrue/socialite/src/HasAttributes.php', + 'Overtrue\\Socialite\\InvalidArgumentException' => $vendorDir . '/overtrue/socialite/src/InvalidArgumentException.php', + 'Overtrue\\Socialite\\InvalidStateException' => $vendorDir . '/overtrue/socialite/src/InvalidStateException.php', + 'Overtrue\\Socialite\\ProviderInterface' => $vendorDir . '/overtrue/socialite/src/ProviderInterface.php', + 'Overtrue\\Socialite\\Providers\\AbstractProvider' => $vendorDir . '/overtrue/socialite/src/Providers/AbstractProvider.php', + 'Overtrue\\Socialite\\Providers\\BaiduProvider' => $vendorDir . '/overtrue/socialite/src/Providers/BaiduProvider.php', + 'Overtrue\\Socialite\\Providers\\DouYinProvider' => $vendorDir . '/overtrue/socialite/src/Providers/DouYinProvider.php', + 'Overtrue\\Socialite\\Providers\\DoubanProvider' => $vendorDir . '/overtrue/socialite/src/Providers/DoubanProvider.php', + 'Overtrue\\Socialite\\Providers\\FacebookProvider' => $vendorDir . '/overtrue/socialite/src/Providers/FacebookProvider.php', + 'Overtrue\\Socialite\\Providers\\FeiShuProvider' => $vendorDir . '/overtrue/socialite/src/Providers/FeiShuProvider.php', + 'Overtrue\\Socialite\\Providers\\GitHubProvider' => $vendorDir . '/overtrue/socialite/src/Providers/GitHubProvider.php', + 'Overtrue\\Socialite\\Providers\\GoogleProvider' => $vendorDir . '/overtrue/socialite/src/Providers/GoogleProvider.php', + 'Overtrue\\Socialite\\Providers\\LinkedinProvider' => $vendorDir . '/overtrue/socialite/src/Providers/LinkedinProvider.php', + 'Overtrue\\Socialite\\Providers\\OutlookProvider' => $vendorDir . '/overtrue/socialite/src/Providers/OutlookProvider.php', + 'Overtrue\\Socialite\\Providers\\QQProvider' => $vendorDir . '/overtrue/socialite/src/Providers/QQProvider.php', + 'Overtrue\\Socialite\\Providers\\TaobaoProvider' => $vendorDir . '/overtrue/socialite/src/Providers/TaobaoProvider.php', + 'Overtrue\\Socialite\\Providers\\WeChatProvider' => $vendorDir . '/overtrue/socialite/src/Providers/WeChatProvider.php', + 'Overtrue\\Socialite\\Providers\\WeWorkProvider' => $vendorDir . '/overtrue/socialite/src/Providers/WeWorkProvider.php', + 'Overtrue\\Socialite\\Providers\\WeiboProvider' => $vendorDir . '/overtrue/socialite/src/Providers/WeiboProvider.php', + 'Overtrue\\Socialite\\SocialiteManager' => $vendorDir . '/overtrue/socialite/src/SocialiteManager.php', + 'Overtrue\\Socialite\\User' => $vendorDir . '/overtrue/socialite/src/User.php', + 'Overtrue\\Socialite\\UserInterface' => $vendorDir . '/overtrue/socialite/src/UserInterface.php', + 'Overtrue\\Socialite\\WeChatComponentInterface' => $vendorDir . '/overtrue/socialite/src/WeChatComponentInterface.php', + 'PHPSocketIO\\ChannelAdapter' => $vendorDir . '/workerman/phpsocket.io/src/ChannelAdapter.php', + 'PHPSocketIO\\Client' => $vendorDir . '/workerman/phpsocket.io/src/Client.php', + 'PHPSocketIO\\Debug' => $vendorDir . '/workerman/phpsocket.io/src/Debug.php', + 'PHPSocketIO\\DefaultAdapter' => $vendorDir . '/workerman/phpsocket.io/src/DefaultAdapter.php', + 'PHPSocketIO\\Engine\\Engine' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Engine.php', + 'PHPSocketIO\\Engine\\Parser' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Parser.php', + 'PHPSocketIO\\Engine\\Protocols\\Http\\Request' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Protocols/Http/Request.php', + 'PHPSocketIO\\Engine\\Protocols\\Http\\Response' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Protocols/Http/Response.php', + 'PHPSocketIO\\Engine\\Protocols\\SocketIO' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Protocols/SocketIO.php', + 'PHPSocketIO\\Engine\\Protocols\\WebSocket' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Protocols/WebSocket.php', + 'PHPSocketIO\\Engine\\Protocols\\WebSocket\\RFC6455' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Protocols/WebSocket/RFC6455.php', + 'PHPSocketIO\\Engine\\Socket' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Socket.php', + 'PHPSocketIO\\Engine\\Transport' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Transport.php', + 'PHPSocketIO\\Engine\\Transports\\Polling' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Transports/Polling.php', + 'PHPSocketIO\\Engine\\Transports\\PollingJsonp' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Transports/PollingJsonp.php', + 'PHPSocketIO\\Engine\\Transports\\PollingXHR' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Transports/PollingXHR.php', + 'PHPSocketIO\\Engine\\Transports\\WebSocket' => $vendorDir . '/workerman/phpsocket.io/src/Engine/Transports/WebSocket.php', + 'PHPSocketIO\\Event\\Emitter' => $vendorDir . '/workerman/phpsocket.io/src/Event/Emitter.php', + 'PHPSocketIO\\Nsp' => $vendorDir . '/workerman/phpsocket.io/src/Nsp.php', + 'PHPSocketIO\\Parser\\Decoder' => $vendorDir . '/workerman/phpsocket.io/src/Parser/Decoder.php', + 'PHPSocketIO\\Parser\\Encoder' => $vendorDir . '/workerman/phpsocket.io/src/Parser/Encoder.php', + 'PHPSocketIO\\Parser\\Parser' => $vendorDir . '/workerman/phpsocket.io/src/Parser/Parser.php', + 'PHPSocketIO\\Socket' => $vendorDir . '/workerman/phpsocket.io/src/Socket.php', + 'PHPSocketIO\\SocketIO' => $vendorDir . '/workerman/phpsocket.io/src/SocketIO.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\ArrayEnabled' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/ArrayEnabled.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\BinaryComparison' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/BinaryComparison.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Calculation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Calculation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Category' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Category.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DAverage' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DAverage.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DCount' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DCount.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DCountA' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DCountA.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DGet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DGet.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DMax' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DMax.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DMin' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DMin.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DProduct' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DProduct.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DStDev' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DStDev.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DStDevP' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DStDevP.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DSum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DSum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DVar' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DVar.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DVarP' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DVarP.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DatabaseAbstract' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTime' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTime.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Constants' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Current' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Current.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Date' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\DateParts' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/DateParts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\DateValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/DateValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Days' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Days.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Days360' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Days360.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Difference' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Difference.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Month' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Month.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\NetworkDays' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/NetworkDays.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Time' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Time.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\TimeParts' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/TimeParts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\TimeValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/TimeValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Week' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Week.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\WorkDay' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/WorkDay.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\YearFrac' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/YearFrac.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\ArrayArgumentHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\ArrayArgumentProcessor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentProcessor.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\BranchPruner' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/BranchPruner.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\CyclicReferenceStack' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/CyclicReferenceStack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\FormattedNumber' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/FormattedNumber.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Logger' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Logger.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Operands\\Operand' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Operands/Operand.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Operands\\StructuredReference' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Operands/StructuredReference.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselI' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselI.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselJ' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselJ.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselK' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselK.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselY' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselY.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BitWise' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BitWise.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Compare' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Compare.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Complex' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Complex.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ComplexFunctions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ComplexFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ComplexOperations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ComplexOperations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Constants' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertBinary' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertBinary.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertDecimal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertDecimal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertHex' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertHex.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertOctal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertOctal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertUOM' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertUOM.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\EngineeringValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/EngineeringValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Erf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Erf.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ErfC' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ErfC.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\ExceptionHandler' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/ExceptionHandler.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Amortization' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Amortization.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\CashFlowValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/CashFlowValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Cumulative' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Cumulative.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Interest' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\InterestAndPrincipal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/InterestAndPrincipal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Payments' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Payments.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Single' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Single.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Variable\\NonPeriodic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/NonPeriodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Variable\\Periodic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/Periodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Constants' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Coupons' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Coupons.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Depreciation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Depreciation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Dollar' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Dollar.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\FinancialValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/FinancialValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\InterestRate' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/InterestRate.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\AccruedInterest' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/AccruedInterest.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Price' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Price.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Rates' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Rates.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\SecurityValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/SecurityValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Yields' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Yields.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\TreasuryBill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/TreasuryBill.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\FormulaParser' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaParser.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\FormulaToken' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Functions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Functions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ErrorValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/ErrorValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ExcelError' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/ExcelError.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\Value' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/Value.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\MakeMatrix' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/MakeMatrix.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\WildcardMatch' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/WildcardMatch.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Boolean' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Boolean.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Conditional' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Operations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Operations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Address' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Address.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\ExcelMatch' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Filter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Filter.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Formula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Formula.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\HLookup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/HLookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Hyperlink' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Hyperlink.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Indirect' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Indirect.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Lookup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Lookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\LookupBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/LookupBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\LookupRefValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/LookupRefValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Matrix' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Matrix.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Offset' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Offset.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\RowColumnInformation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/RowColumnInformation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Selection' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Selection.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Sort' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Sort.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Unique' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Unique.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\VLookup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Absolute' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Absolute.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Angle' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Angle.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Arabic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Arabic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Base' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Base.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Ceiling' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Ceiling.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Combinations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Combinations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Exp' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Exp.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Factorial' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Factorial.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Floor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Floor.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Gcd' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Gcd.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\IntClass' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/IntClass.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Lcm' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Lcm.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Logarithms' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Logarithms.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\MatrixFunctions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/MatrixFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Operations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Operations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Random' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Random.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Roman' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Roman.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Round' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Round.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\SeriesSum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/SeriesSum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sign' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sign.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sqrt' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sqrt.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Subtotal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Subtotal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\SumSquares' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/SumSquares.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cosecant' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosecant.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cosine' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosine.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cotangent' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cotangent.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Secant' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Secant.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Sine' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Sine.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Tangent' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Tangent.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trunc' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trunc.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\AggregateBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/AggregateBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Averages' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Averages\\Mean' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages/Mean.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Conditional' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Confidence' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Confidence.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Counts' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Counts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Deviations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Deviations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Beta' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Beta.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Binomial' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Binomial.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\ChiSquared' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\DistributionValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/DistributionValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Exponential' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Exponential.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\F' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/F.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Fisher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Fisher.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Gamma' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Gamma.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\GammaBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\HyperGeometric' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/HyperGeometric.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\LogNormal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/LogNormal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\NewtonRaphson' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/NewtonRaphson.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Normal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Normal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Poisson' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Poisson.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\StandardNormal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/StandardNormal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\StudentT' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/StudentT.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Weibull' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Weibull.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\MaxMinBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/MaxMinBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Maximum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Maximum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Minimum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Minimum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Percentiles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Percentiles.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Permutations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Permutations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Size' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Size.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\StandardDeviations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/StandardDeviations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Standardize' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Standardize.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\StatisticalValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/StatisticalValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Trends' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Trends.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\VarianceBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/VarianceBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Variances' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Variances.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\CaseConvert' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/CaseConvert.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\CharacterConvert' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/CharacterConvert.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Concatenate' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Concatenate.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Extract' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Extract.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Format' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Format.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Replace' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Replace.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Search' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Search.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Text' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Text.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Trim' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Trim.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Token\\Stack' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Token/Stack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Web' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Web.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Web\\Service' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Web/Service.php', + 'PhpOffice\\PhpSpreadsheet\\CellReferenceHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/CellReferenceHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AddressHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AddressHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AddressRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AddressRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AdvancedValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AdvancedValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Cell' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\CellAddress' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/CellAddress.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\CellRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/CellRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\ColumnRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/ColumnRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Coordinate' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Coordinate.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataType' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataType.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataValidation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataValidation.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataValidator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataValidator.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DefaultValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Hyperlink' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Hyperlink.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\IValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/IValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\IgnoredErrors' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/IgnoredErrors.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\RowRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/RowRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\StringValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/StringValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Axis' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Axis.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\AxisText' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/AxisText.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Chart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\ChartColor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/ChartColor.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\DataSeries' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeries.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\DataSeriesValues' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeriesValues.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\GridLines' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/GridLines.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Layout' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Layout.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Legend' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Legend.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\PlotArea' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/PlotArea.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\IRenderer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/IRenderer.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\JpGraph' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/JpGraph.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\JpGraphRendererBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/JpGraphRendererBase.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\MtJpGraphRenderer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/MtJpGraphRenderer.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Title' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Title.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\TrendLine' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/TrendLine.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Cells' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Cells.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\CellsFactory' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/CellsFactory.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Memory\\SimpleCache1' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Memory/SimpleCache1.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Memory\\SimpleCache3' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Memory/SimpleCache3.php', + 'PhpOffice\\PhpSpreadsheet\\Comment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Comment.php', + 'PhpOffice\\PhpSpreadsheet\\DefinedName' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/DefinedName.php', + 'PhpOffice\\PhpSpreadsheet\\Document\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Document\\Security' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Security.php', + 'PhpOffice\\PhpSpreadsheet\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\HashTable' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/HashTable.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Dimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Dimension.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Downloader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Downloader.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Handler' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Handler.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Html' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Sample' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Sample.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Size' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Size.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\TextGrid' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/TextGrid.php', + 'PhpOffice\\PhpSpreadsheet\\IComparable' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IComparable.php', + 'PhpOffice\\PhpSpreadsheet\\IOFactory' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IOFactory.php', + 'PhpOffice\\PhpSpreadsheet\\NamedFormula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/NamedFormula.php', + 'PhpOffice\\PhpSpreadsheet\\NamedRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/NamedRange.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\BaseReader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/BaseReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Csv' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Csv.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Csv\\Delimiter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Csv/Delimiter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\DefaultReadFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/DefaultReadFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\PageSetup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\Styles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Html' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\IReadFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/IReadFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\IReader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/IReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\BaseLoader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/BaseLoader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\DefinedNames' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/DefinedNames.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\FormulaTranslator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/FormulaTranslator.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\PageSettings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/PageSettings.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Security\\XmlScanner' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Security/XmlScanner.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Slk' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Slk.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BIFF5' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BIFF5.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BIFF8' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BIFF8.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BuiltIn' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BuiltIn.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ConditionalFormatting' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ConditionalFormatting.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\DataValidationHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/DataValidationHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ErrorCode' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ErrorCode.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Escher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\MD5' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/MD5.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\RC4' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/RC4.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\Border' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\CellAlignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/CellAlignment.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\CellFont' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/CellFont.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\FillPattern' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/FillPattern.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\BaseParserClass' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/BaseParserClass.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Chart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\ColumnAndRowAttributes' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\ConditionalStyles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\DataValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/DataValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Hyperlinks' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Hyperlinks.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Namespaces' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Namespaces.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\PageSetup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SharedFormula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SharedFormula.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SheetViewOptions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViewOptions.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SheetViews' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViews.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Styles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\TableReader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/TableReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Theme' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\WorkbookView' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/WorkbookView.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\DataValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/DataValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\PageSettings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/PageSettings.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Alignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Alignment.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Border' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Fill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Fill.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\NumberFormat' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/NumberFormat.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\StyleBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/StyleBase.php', + 'PhpOffice\\PhpSpreadsheet\\ReferenceHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/ReferenceHelper.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\ITextElement' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/ITextElement.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\RichText' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/RichText.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\Run' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/Run.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\TextElement' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/TextElement.php', + 'PhpOffice\\PhpSpreadsheet\\Settings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Settings.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\CodePage' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/CodePage.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Date' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Drawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer\\SpgrContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer\\SpgrContainer\\SpContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer\\BSE' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer/BSE.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer\\BSE\\Blip' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\File' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/File.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\IntOrFloat' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/IntOrFloat.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLERead' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLERead.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\ChainedBlockStream' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/ChainedBlockStream.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS\\File' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS/File.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS\\Root' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS/Root.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\PasswordHasher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/PasswordHasher.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\StringHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/StringHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\TimeZone' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/TimeZone.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\BestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/BestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\ExponentialBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/ExponentialBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\LinearBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/LinearBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\LogarithmicBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/LogarithmicBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\PolynomialBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PolynomialBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\PowerBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PowerBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\Trend' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/Trend.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\XMLWriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/XMLWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Xls' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Spreadsheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Spreadsheet.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Alignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Alignment.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Border' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Borders' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Borders.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Color' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Color.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Conditional' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\CellMatcher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/CellMatcher.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\CellStyleAssessor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/CellStyleAssessor.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalDataBar' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalDataBarExtension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalFormatValueObject' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalFormattingRuleExtension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\StyleMerger' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/StyleMerger.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Blanks' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Blanks.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\CellValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/CellValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\DateValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/DateValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Duplicates' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Duplicates.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Errors' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Errors.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Expression' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Expression.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\TextValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/TextValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\WizardAbstract' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/WizardAbstract.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\WizardInterface' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/WizardInterface.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Fill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Fill.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\BaseFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/BaseFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\DateFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Formatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Formatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\FractionFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/FractionFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\NumberFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/NumberFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\PercentageFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/PercentageFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Accounting' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Accounting.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Currency' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Currency.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Date' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\DateTime' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/DateTime.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\DateTimeWizard' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/DateTimeWizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Duration' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Duration.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Locale' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Locale.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Number' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Number.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\NumberBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/NumberBase.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Percentage' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Percentage.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Scientific' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Scientific.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Time' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Time.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Wizard' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Wizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Protection' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Protection.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\RgbTint' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/RgbTint.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Supervisor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Supervisor.php', + 'PhpOffice\\PhpSpreadsheet\\Theme' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter\\Column' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter\\Column\\Rule' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column/Rule.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFit.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\BaseDrawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/BaseDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\CellIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/CellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Column' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnCellIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnCellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnDimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnDimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Dimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Dimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Drawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Drawing\\Shadow' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Drawing/Shadow.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\HeaderFooter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/HeaderFooter.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\HeaderFooterDrawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/HeaderFooterDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Iterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Iterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\MemoryDrawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/MemoryDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageBreak' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageBreak.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageMargins' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageMargins.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageSetup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Protection' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Protection.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Row' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Row.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowCellIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowCellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowDimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowDimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\SheetView' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/SheetView.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\Column' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\TableStyle' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/TableStyle.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Validations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Validations.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Worksheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\BaseWriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/BaseWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Csv' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Csv.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Html' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\IWriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/IWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\AutoFilters' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/AutoFilters.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Cell\\Comment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Comment.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Cell\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Content' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Content.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Formula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Formula.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Meta' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Meta.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\MetaInf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/MetaInf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Mimetype' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Mimetype.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\NamedExpressions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/NamedExpressions.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Settings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Settings.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Styles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Thumbnails' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Thumbnails.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\WriterPart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/WriterPart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Dompdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Mpdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Tcpdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\BIFFwriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/BIFFwriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\CellDataValidation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/CellDataValidation.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\ConditionalHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ConditionalHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\ErrorCode' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ErrorCode.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Escher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Parser' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Parser.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellAlignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellAlignment.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellBorder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellBorder.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellFill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellFill.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\ColorMap' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/ColorMap.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Workbook' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Workbook.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Worksheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Xf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Xf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Chart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Comments' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Comments.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\ContentTypes' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/ContentTypes.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\DefinedNames' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/DefinedNames.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\DocProps' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/DocProps.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Drawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\FunctionPrefix' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/FunctionPrefix.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Rels' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Rels.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\RelsRibbon' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/RelsRibbon.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\RelsVBA' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/RelsVBA.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\StringTable' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/StringTable.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Table' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Table.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Theme' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Workbook' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Workbook.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Worksheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\WriterPart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/WriterPart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream0' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream0.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream2' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream2.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream3' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream3.php', 'PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php', + 'PhpZip\\Constants\\DosAttrs' => $vendorDir . '/nelexa/zip/src/Constants/DosAttrs.php', + 'PhpZip\\Constants\\DosCodePage' => $vendorDir . '/nelexa/zip/src/Constants/DosCodePage.php', + 'PhpZip\\Constants\\GeneralPurposeBitFlag' => $vendorDir . '/nelexa/zip/src/Constants/GeneralPurposeBitFlag.php', + 'PhpZip\\Constants\\UnixStat' => $vendorDir . '/nelexa/zip/src/Constants/UnixStat.php', + 'PhpZip\\Constants\\ZipCompressionLevel' => $vendorDir . '/nelexa/zip/src/Constants/ZipCompressionLevel.php', + 'PhpZip\\Constants\\ZipCompressionMethod' => $vendorDir . '/nelexa/zip/src/Constants/ZipCompressionMethod.php', + 'PhpZip\\Constants\\ZipConstants' => $vendorDir . '/nelexa/zip/src/Constants/ZipConstants.php', + 'PhpZip\\Constants\\ZipEncryptionMethod' => $vendorDir . '/nelexa/zip/src/Constants/ZipEncryptionMethod.php', + 'PhpZip\\Constants\\ZipOptions' => $vendorDir . '/nelexa/zip/src/Constants/ZipOptions.php', + 'PhpZip\\Constants\\ZipPlatform' => $vendorDir . '/nelexa/zip/src/Constants/ZipPlatform.php', + 'PhpZip\\Constants\\ZipVersion' => $vendorDir . '/nelexa/zip/src/Constants/ZipVersion.php', + 'PhpZip\\Exception\\Crc32Exception' => $vendorDir . '/nelexa/zip/src/Exception/Crc32Exception.php', + 'PhpZip\\Exception\\InvalidArgumentException' => $vendorDir . '/nelexa/zip/src/Exception/InvalidArgumentException.php', + 'PhpZip\\Exception\\RuntimeException' => $vendorDir . '/nelexa/zip/src/Exception/RuntimeException.php', + 'PhpZip\\Exception\\ZipAuthenticationException' => $vendorDir . '/nelexa/zip/src/Exception/ZipAuthenticationException.php', + 'PhpZip\\Exception\\ZipCryptoException' => $vendorDir . '/nelexa/zip/src/Exception/ZipCryptoException.php', + 'PhpZip\\Exception\\ZipEntryNotFoundException' => $vendorDir . '/nelexa/zip/src/Exception/ZipEntryNotFoundException.php', + 'PhpZip\\Exception\\ZipException' => $vendorDir . '/nelexa/zip/src/Exception/ZipException.php', + 'PhpZip\\Exception\\ZipUnsupportMethodException' => $vendorDir . '/nelexa/zip/src/Exception/ZipUnsupportMethodException.php', + 'PhpZip\\IO\\Filter\\Cipher\\Pkware\\PKCryptContext' => $vendorDir . '/nelexa/zip/src/IO/Filter/Cipher/Pkware/PKCryptContext.php', + 'PhpZip\\IO\\Filter\\Cipher\\Pkware\\PKDecryptionStreamFilter' => $vendorDir . '/nelexa/zip/src/IO/Filter/Cipher/Pkware/PKDecryptionStreamFilter.php', + 'PhpZip\\IO\\Filter\\Cipher\\Pkware\\PKEncryptionStreamFilter' => $vendorDir . '/nelexa/zip/src/IO/Filter/Cipher/Pkware/PKEncryptionStreamFilter.php', + 'PhpZip\\IO\\Filter\\Cipher\\WinZipAes\\WinZipAesContext' => $vendorDir . '/nelexa/zip/src/IO/Filter/Cipher/WinZipAes/WinZipAesContext.php', + 'PhpZip\\IO\\Filter\\Cipher\\WinZipAes\\WinZipAesDecryptionStreamFilter' => $vendorDir . '/nelexa/zip/src/IO/Filter/Cipher/WinZipAes/WinZipAesDecryptionStreamFilter.php', + 'PhpZip\\IO\\Filter\\Cipher\\WinZipAes\\WinZipAesEncryptionStreamFilter' => $vendorDir . '/nelexa/zip/src/IO/Filter/Cipher/WinZipAes/WinZipAesEncryptionStreamFilter.php', + 'PhpZip\\IO\\Stream\\ResponseStream' => $vendorDir . '/nelexa/zip/src/IO/Stream/ResponseStream.php', + 'PhpZip\\IO\\Stream\\ZipEntryStreamWrapper' => $vendorDir . '/nelexa/zip/src/IO/Stream/ZipEntryStreamWrapper.php', + 'PhpZip\\IO\\ZipReader' => $vendorDir . '/nelexa/zip/src/IO/ZipReader.php', + 'PhpZip\\IO\\ZipWriter' => $vendorDir . '/nelexa/zip/src/IO/ZipWriter.php', + 'PhpZip\\Model\\Data\\ZipFileData' => $vendorDir . '/nelexa/zip/src/Model/Data/ZipFileData.php', + 'PhpZip\\Model\\Data\\ZipNewData' => $vendorDir . '/nelexa/zip/src/Model/Data/ZipNewData.php', + 'PhpZip\\Model\\Data\\ZipSourceFileData' => $vendorDir . '/nelexa/zip/src/Model/Data/ZipSourceFileData.php', + 'PhpZip\\Model\\EndOfCentralDirectory' => $vendorDir . '/nelexa/zip/src/Model/EndOfCentralDirectory.php', + 'PhpZip\\Model\\Extra\\ExtraFieldsCollection' => $vendorDir . '/nelexa/zip/src/Model/Extra/ExtraFieldsCollection.php', + 'PhpZip\\Model\\Extra\\Fields\\AbstractUnicodeExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/AbstractUnicodeExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\ApkAlignmentExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/ApkAlignmentExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\AsiExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/AsiExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\ExtendedTimestampExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/ExtendedTimestampExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\JarMarkerExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/JarMarkerExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\NewUnixExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/NewUnixExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\NtfsExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/NtfsExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\OldUnixExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/OldUnixExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\UnicodeCommentExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/UnicodeCommentExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\UnicodePathExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/UnicodePathExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\UnrecognizedExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/UnrecognizedExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\WinZipAesExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/WinZipAesExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\Zip64ExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/Fields/Zip64ExtraField.php', + 'PhpZip\\Model\\Extra\\ZipExtraDriver' => $vendorDir . '/nelexa/zip/src/Model/Extra/ZipExtraDriver.php', + 'PhpZip\\Model\\Extra\\ZipExtraField' => $vendorDir . '/nelexa/zip/src/Model/Extra/ZipExtraField.php', + 'PhpZip\\Model\\ImmutableZipContainer' => $vendorDir . '/nelexa/zip/src/Model/ImmutableZipContainer.php', + 'PhpZip\\Model\\ZipContainer' => $vendorDir . '/nelexa/zip/src/Model/ZipContainer.php', + 'PhpZip\\Model\\ZipData' => $vendorDir . '/nelexa/zip/src/Model/ZipData.php', + 'PhpZip\\Model\\ZipEntry' => $vendorDir . '/nelexa/zip/src/Model/ZipEntry.php', + 'PhpZip\\Model\\ZipEntryMatcher' => $vendorDir . '/nelexa/zip/src/Model/ZipEntryMatcher.php', + 'PhpZip\\Util\\CryptoUtil' => $vendorDir . '/nelexa/zip/src/Util/CryptoUtil.php', + 'PhpZip\\Util\\DateTimeConverter' => $vendorDir . '/nelexa/zip/src/Util/DateTimeConverter.php', + 'PhpZip\\Util\\FileAttribUtil' => $vendorDir . '/nelexa/zip/src/Util/FileAttribUtil.php', + 'PhpZip\\Util\\FilesUtil' => $vendorDir . '/nelexa/zip/src/Util/FilesUtil.php', + 'PhpZip\\Util\\Iterator\\IgnoreFilesFilterIterator' => $vendorDir . '/nelexa/zip/src/Util/Iterator/IgnoreFilesFilterIterator.php', + 'PhpZip\\Util\\Iterator\\IgnoreFilesRecursiveFilterIterator' => $vendorDir . '/nelexa/zip/src/Util/Iterator/IgnoreFilesRecursiveFilterIterator.php', + 'PhpZip\\Util\\MathUtil' => $vendorDir . '/nelexa/zip/src/Util/MathUtil.php', + 'PhpZip\\Util\\StringUtil' => $vendorDir . '/nelexa/zip/src/Util/StringUtil.php', + 'PhpZip\\ZipFile' => $vendorDir . '/nelexa/zip/src/ZipFile.php', + 'Pimple\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Container.php', + 'Pimple\\Exception\\ExpectedInvokableException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php', + 'Pimple\\Exception\\FrozenServiceException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php', + 'Pimple\\Exception\\InvalidServiceIdentifierException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php', + 'Pimple\\Exception\\UnknownIdentifierException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php', + 'Pimple\\Psr11\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Psr11/Container.php', + 'Pimple\\Psr11\\ServiceLocator' => $vendorDir . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php', + 'Pimple\\ServiceIterator' => $vendorDir . '/pimple/pimple/src/Pimple/ServiceIterator.php', + 'Pimple\\ServiceProviderInterface' => $vendorDir . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php', + 'Pimple\\Tests\\Fixtures\\Invokable' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php', + 'Pimple\\Tests\\Fixtures\\NonInvokable' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php', + 'Pimple\\Tests\\Fixtures\\PimpleServiceProvider' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php', + 'Pimple\\Tests\\Fixtures\\Service' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php', + 'Pimple\\Tests\\PimpleServiceProviderInterfaceTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php', + 'Pimple\\Tests\\PimpleTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php', + 'Pimple\\Tests\\Psr11\\ContainerTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php', + 'Pimple\\Tests\\Psr11\\ServiceLocatorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php', + 'Pimple\\Tests\\ServiceIteratorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php', + 'Psr\\Cache\\CacheException' => $vendorDir . '/psr/cache/src/CacheException.php', + 'Psr\\Cache\\CacheItemInterface' => $vendorDir . '/psr/cache/src/CacheItemInterface.php', + 'Psr\\Cache\\CacheItemPoolInterface' => $vendorDir . '/psr/cache/src/CacheItemPoolInterface.php', + 'Psr\\Cache\\InvalidArgumentException' => $vendorDir . '/psr/cache/src/InvalidArgumentException.php', + 'Psr\\Container\\ContainerExceptionInterface' => $vendorDir . '/psr/container/src/ContainerExceptionInterface.php', + 'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php', + 'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php', + 'Psr\\EventDispatcher\\EventDispatcherInterface' => $vendorDir . '/psr/event-dispatcher/src/EventDispatcherInterface.php', + 'Psr\\EventDispatcher\\ListenerProviderInterface' => $vendorDir . '/psr/event-dispatcher/src/ListenerProviderInterface.php', + 'Psr\\EventDispatcher\\StoppableEventInterface' => $vendorDir . '/psr/event-dispatcher/src/StoppableEventInterface.php', + 'Psr\\Http\\Client\\ClientExceptionInterface' => $vendorDir . '/psr/http-client/src/ClientExceptionInterface.php', + 'Psr\\Http\\Client\\ClientInterface' => $vendorDir . '/psr/http-client/src/ClientInterface.php', + 'Psr\\Http\\Client\\NetworkExceptionInterface' => $vendorDir . '/psr/http-client/src/NetworkExceptionInterface.php', + 'Psr\\Http\\Client\\RequestExceptionInterface' => $vendorDir . '/psr/http-client/src/RequestExceptionInterface.php', + 'Psr\\Http\\Message\\MessageInterface' => $vendorDir . '/psr/http-message/src/MessageInterface.php', + 'Psr\\Http\\Message\\RequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/RequestFactoryInterface.php', + 'Psr\\Http\\Message\\RequestInterface' => $vendorDir . '/psr/http-message/src/RequestInterface.php', + 'Psr\\Http\\Message\\ResponseFactoryInterface' => $vendorDir . '/psr/http-factory/src/ResponseFactoryInterface.php', + 'Psr\\Http\\Message\\ResponseInterface' => $vendorDir . '/psr/http-message/src/ResponseInterface.php', + 'Psr\\Http\\Message\\ServerRequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/ServerRequestFactoryInterface.php', + 'Psr\\Http\\Message\\ServerRequestInterface' => $vendorDir . '/psr/http-message/src/ServerRequestInterface.php', + 'Psr\\Http\\Message\\StreamFactoryInterface' => $vendorDir . '/psr/http-factory/src/StreamFactoryInterface.php', + 'Psr\\Http\\Message\\StreamInterface' => $vendorDir . '/psr/http-message/src/StreamInterface.php', + 'Psr\\Http\\Message\\UploadedFileFactoryInterface' => $vendorDir . '/psr/http-factory/src/UploadedFileFactoryInterface.php', + 'Psr\\Http\\Message\\UploadedFileInterface' => $vendorDir . '/psr/http-message/src/UploadedFileInterface.php', + 'Psr\\Http\\Message\\UriFactoryInterface' => $vendorDir . '/psr/http-factory/src/UriFactoryInterface.php', + 'Psr\\Http\\Message\\UriInterface' => $vendorDir . '/psr/http-message/src/UriInterface.php', + 'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php', + 'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php', + 'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php', + 'Psr\\Log\\LoggerAwareInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareInterface.php', + 'Psr\\Log\\LoggerAwareTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareTrait.php', + 'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php', + 'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php', + 'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php', + 'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php', + 'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php', + 'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php', + 'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php', + 'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php', 'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php', + 'Symfony\\Bridge\\PsrHttpMessage\\ArgumentValueResolver\\PsrServerRequestResolver' => $vendorDir . '/symfony/psr-http-message-bridge/ArgumentValueResolver/PsrServerRequestResolver.php', + 'Symfony\\Bridge\\PsrHttpMessage\\ArgumentValueResolver\\ValueResolverInterface' => $vendorDir . '/symfony/psr-http-message-bridge/ArgumentValueResolver/ValueResolverInterface.php', + 'Symfony\\Bridge\\PsrHttpMessage\\EventListener\\PsrResponseListener' => $vendorDir . '/symfony/psr-http-message-bridge/EventListener/PsrResponseListener.php', + 'Symfony\\Bridge\\PsrHttpMessage\\Factory\\HttpFoundationFactory' => $vendorDir . '/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php', + 'Symfony\\Bridge\\PsrHttpMessage\\Factory\\PsrHttpFactory' => $vendorDir . '/symfony/psr-http-message-bridge/Factory/PsrHttpFactory.php', + 'Symfony\\Bridge\\PsrHttpMessage\\Factory\\UploadedFile' => $vendorDir . '/symfony/psr-http-message-bridge/Factory/UploadedFile.php', + 'Symfony\\Bridge\\PsrHttpMessage\\HttpFoundationFactoryInterface' => $vendorDir . '/symfony/psr-http-message-bridge/HttpFoundationFactoryInterface.php', + 'Symfony\\Bridge\\PsrHttpMessage\\HttpMessageFactoryInterface' => $vendorDir . '/symfony/psr-http-message-bridge/HttpMessageFactoryInterface.php', + 'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\AbstractTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractTagAwareAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => $vendorDir . '/symfony/cache/Adapter/AdapterInterface.php', + 'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => $vendorDir . '/symfony/cache/Adapter/ApcuAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/ArrayAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => $vendorDir . '/symfony/cache/Adapter/ChainAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\CouchbaseBucketAdapter' => $vendorDir . '/symfony/cache/Adapter/CouchbaseBucketAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\CouchbaseCollectionAdapter' => $vendorDir . '/symfony/cache/Adapter/CouchbaseCollectionAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\DoctrineAdapter' => $vendorDir . '/symfony/cache/Adapter/DoctrineAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\DoctrineDbalAdapter' => $vendorDir . '/symfony/cache/Adapter/DoctrineDbalAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => $vendorDir . '/symfony/cache/Adapter/FilesystemAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\FilesystemTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/FilesystemTagAwareAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\MemcachedAdapter' => $vendorDir . '/symfony/cache/Adapter/MemcachedAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\NullAdapter' => $vendorDir . '/symfony/cache/Adapter/NullAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ParameterNormalizer' => $vendorDir . '/symfony/cache/Adapter/ParameterNormalizer.php', + 'Symfony\\Component\\Cache\\Adapter\\PdoAdapter' => $vendorDir . '/symfony/cache/Adapter/PdoAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\PhpArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/PhpArrayAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\PhpFilesAdapter' => $vendorDir . '/symfony/cache/Adapter/PhpFilesAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => $vendorDir . '/symfony/cache/Adapter/ProxyAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\Psr16Adapter' => $vendorDir . '/symfony/cache/Adapter/Psr16Adapter.php', + 'Symfony\\Component\\Cache\\Adapter\\RedisAdapter' => $vendorDir . '/symfony/cache/Adapter/RedisAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\RedisTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/RedisTagAwareAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapterInterface.php', + 'Symfony\\Component\\Cache\\Adapter\\TraceableAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php', + 'Symfony\\Component\\Cache\\CacheItem' => $vendorDir . '/symfony/cache/CacheItem.php', + 'Symfony\\Component\\Cache\\DataCollector\\CacheDataCollector' => $vendorDir . '/symfony/cache/DataCollector/CacheDataCollector.php', + 'Symfony\\Component\\Cache\\DependencyInjection\\CacheCollectorPass' => $vendorDir . '/symfony/cache/DependencyInjection/CacheCollectorPass.php', + 'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolClearerPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolClearerPass.php', + 'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolPass.php', + 'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPrunerPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolPrunerPass.php', + 'Symfony\\Component\\Cache\\DoctrineProvider' => $vendorDir . '/symfony/cache/DoctrineProvider.php', + 'Symfony\\Component\\Cache\\Exception\\CacheException' => $vendorDir . '/symfony/cache/Exception/CacheException.php', + 'Symfony\\Component\\Cache\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/cache/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\Cache\\Exception\\LogicException' => $vendorDir . '/symfony/cache/Exception/LogicException.php', + 'Symfony\\Component\\Cache\\LockRegistry' => $vendorDir . '/symfony/cache/LockRegistry.php', + 'Symfony\\Component\\Cache\\Marshaller\\DefaultMarshaller' => $vendorDir . '/symfony/cache/Marshaller/DefaultMarshaller.php', + 'Symfony\\Component\\Cache\\Marshaller\\DeflateMarshaller' => $vendorDir . '/symfony/cache/Marshaller/DeflateMarshaller.php', + 'Symfony\\Component\\Cache\\Marshaller\\MarshallerInterface' => $vendorDir . '/symfony/cache/Marshaller/MarshallerInterface.php', + 'Symfony\\Component\\Cache\\Marshaller\\SodiumMarshaller' => $vendorDir . '/symfony/cache/Marshaller/SodiumMarshaller.php', + 'Symfony\\Component\\Cache\\Marshaller\\TagAwareMarshaller' => $vendorDir . '/symfony/cache/Marshaller/TagAwareMarshaller.php', + 'Symfony\\Component\\Cache\\Messenger\\EarlyExpirationDispatcher' => $vendorDir . '/symfony/cache/Messenger/EarlyExpirationDispatcher.php', + 'Symfony\\Component\\Cache\\Messenger\\EarlyExpirationHandler' => $vendorDir . '/symfony/cache/Messenger/EarlyExpirationHandler.php', + 'Symfony\\Component\\Cache\\Messenger\\EarlyExpirationMessage' => $vendorDir . '/symfony/cache/Messenger/EarlyExpirationMessage.php', + 'Symfony\\Component\\Cache\\PruneableInterface' => $vendorDir . '/symfony/cache/PruneableInterface.php', + 'Symfony\\Component\\Cache\\Psr16Cache' => $vendorDir . '/symfony/cache/Psr16Cache.php', + 'Symfony\\Component\\Cache\\ResettableInterface' => $vendorDir . '/symfony/cache/ResettableInterface.php', + 'Symfony\\Component\\Cache\\Traits\\AbstractAdapterTrait' => $vendorDir . '/symfony/cache/Traits/AbstractAdapterTrait.php', + 'Symfony\\Component\\Cache\\Traits\\ContractsTrait' => $vendorDir . '/symfony/cache/Traits/ContractsTrait.php', + 'Symfony\\Component\\Cache\\Traits\\FilesystemCommonTrait' => $vendorDir . '/symfony/cache/Traits/FilesystemCommonTrait.php', + 'Symfony\\Component\\Cache\\Traits\\FilesystemTrait' => $vendorDir . '/symfony/cache/Traits/FilesystemTrait.php', + 'Symfony\\Component\\Cache\\Traits\\ProxyTrait' => $vendorDir . '/symfony/cache/Traits/ProxyTrait.php', + 'Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterNodeProxy.php', + 'Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterProxy.php', + 'Symfony\\Component\\Cache\\Traits\\RedisProxy' => $vendorDir . '/symfony/cache/Traits/RedisProxy.php', + 'Symfony\\Component\\Cache\\Traits\\RedisTrait' => $vendorDir . '/symfony/cache/Traits/RedisTrait.php', + 'Symfony\\Component\\EventDispatcher\\Attribute\\AsEventListener' => $vendorDir . '/symfony/event-dispatcher/Attribute/AsEventListener.php', + 'Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher' => $vendorDir . '/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php', + 'Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener' => $vendorDir . '/symfony/event-dispatcher/Debug/WrappedListener.php', + 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\AddEventAliasesPass' => $vendorDir . '/symfony/event-dispatcher/DependencyInjection/AddEventAliasesPass.php', + 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\RegisterListenersPass' => $vendorDir . '/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php', + 'Symfony\\Component\\EventDispatcher\\EventDispatcher' => $vendorDir . '/symfony/event-dispatcher/EventDispatcher.php', + 'Symfony\\Component\\EventDispatcher\\EventDispatcherInterface' => $vendorDir . '/symfony/event-dispatcher/EventDispatcherInterface.php', + 'Symfony\\Component\\EventDispatcher\\EventSubscriberInterface' => $vendorDir . '/symfony/event-dispatcher/EventSubscriberInterface.php', + 'Symfony\\Component\\EventDispatcher\\GenericEvent' => $vendorDir . '/symfony/event-dispatcher/GenericEvent.php', + 'Symfony\\Component\\EventDispatcher\\ImmutableEventDispatcher' => $vendorDir . '/symfony/event-dispatcher/ImmutableEventDispatcher.php', + 'Symfony\\Component\\EventDispatcher\\LegacyEventDispatcherProxy' => $vendorDir . '/symfony/event-dispatcher/LegacyEventDispatcherProxy.php', + 'Symfony\\Component\\Finder\\Comparator\\Comparator' => $vendorDir . '/symfony/finder/Comparator/Comparator.php', + 'Symfony\\Component\\Finder\\Comparator\\DateComparator' => $vendorDir . '/symfony/finder/Comparator/DateComparator.php', + 'Symfony\\Component\\Finder\\Comparator\\NumberComparator' => $vendorDir . '/symfony/finder/Comparator/NumberComparator.php', + 'Symfony\\Component\\Finder\\Exception\\AccessDeniedException' => $vendorDir . '/symfony/finder/Exception/AccessDeniedException.php', + 'Symfony\\Component\\Finder\\Exception\\DirectoryNotFoundException' => $vendorDir . '/symfony/finder/Exception/DirectoryNotFoundException.php', + 'Symfony\\Component\\Finder\\Finder' => $vendorDir . '/symfony/finder/Finder.php', + 'Symfony\\Component\\Finder\\Gitignore' => $vendorDir . '/symfony/finder/Gitignore.php', + 'Symfony\\Component\\Finder\\Glob' => $vendorDir . '/symfony/finder/Glob.php', + 'Symfony\\Component\\Finder\\Iterator\\CustomFilterIterator' => $vendorDir . '/symfony/finder/Iterator/CustomFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\DateRangeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/DateRangeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\DepthRangeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/DepthRangeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\ExcludeDirectoryFilterIterator' => $vendorDir . '/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FileTypeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/FileTypeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FilecontentFilterIterator' => $vendorDir . '/symfony/finder/Iterator/FilecontentFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FilenameFilterIterator' => $vendorDir . '/symfony/finder/Iterator/FilenameFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\LazyIterator' => $vendorDir . '/symfony/finder/Iterator/LazyIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\MultiplePcreFilterIterator' => $vendorDir . '/symfony/finder/Iterator/MultiplePcreFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\PathFilterIterator' => $vendorDir . '/symfony/finder/Iterator/PathFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\RecursiveDirectoryIterator' => $vendorDir . '/symfony/finder/Iterator/RecursiveDirectoryIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\SizeRangeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/SizeRangeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\SortableIterator' => $vendorDir . '/symfony/finder/Iterator/SortableIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\VcsIgnoredFilterIterator' => $vendorDir . '/symfony/finder/Iterator/VcsIgnoredFilterIterator.php', + 'Symfony\\Component\\Finder\\SplFileInfo' => $vendorDir . '/symfony/finder/SplFileInfo.php', + 'Symfony\\Component\\HttpFoundation\\AcceptHeader' => $vendorDir . '/symfony/http-foundation/AcceptHeader.php', + 'Symfony\\Component\\HttpFoundation\\AcceptHeaderItem' => $vendorDir . '/symfony/http-foundation/AcceptHeaderItem.php', + 'Symfony\\Component\\HttpFoundation\\BinaryFileResponse' => $vendorDir . '/symfony/http-foundation/BinaryFileResponse.php', + 'Symfony\\Component\\HttpFoundation\\Cookie' => $vendorDir . '/symfony/http-foundation/Cookie.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\BadRequestException' => $vendorDir . '/symfony/http-foundation/Exception/BadRequestException.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\ConflictingHeadersException' => $vendorDir . '/symfony/http-foundation/Exception/ConflictingHeadersException.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\JsonException' => $vendorDir . '/symfony/http-foundation/Exception/JsonException.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\RequestExceptionInterface' => $vendorDir . '/symfony/http-foundation/Exception/RequestExceptionInterface.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\SessionNotFoundException' => $vendorDir . '/symfony/http-foundation/Exception/SessionNotFoundException.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\SuspiciousOperationException' => $vendorDir . '/symfony/http-foundation/Exception/SuspiciousOperationException.php', + 'Symfony\\Component\\HttpFoundation\\ExpressionRequestMatcher' => $vendorDir . '/symfony/http-foundation/ExpressionRequestMatcher.php', + 'Symfony\\Component\\HttpFoundation\\FileBag' => $vendorDir . '/symfony/http-foundation/FileBag.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\AccessDeniedException' => $vendorDir . '/symfony/http-foundation/File/Exception/AccessDeniedException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\CannotWriteFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/CannotWriteFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\ExtensionFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/ExtensionFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FileException' => $vendorDir . '/symfony/http-foundation/File/Exception/FileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FileNotFoundException' => $vendorDir . '/symfony/http-foundation/File/Exception/FileNotFoundException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FormSizeFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/FormSizeFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\IniSizeFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/IniSizeFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\NoFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/NoFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\NoTmpDirFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/NoTmpDirFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\PartialFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/PartialFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\UnexpectedTypeException' => $vendorDir . '/symfony/http-foundation/File/Exception/UnexpectedTypeException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\UploadException' => $vendorDir . '/symfony/http-foundation/File/Exception/UploadException.php', + 'Symfony\\Component\\HttpFoundation\\File\\File' => $vendorDir . '/symfony/http-foundation/File/File.php', + 'Symfony\\Component\\HttpFoundation\\File\\Stream' => $vendorDir . '/symfony/http-foundation/File/Stream.php', + 'Symfony\\Component\\HttpFoundation\\File\\UploadedFile' => $vendorDir . '/symfony/http-foundation/File/UploadedFile.php', + 'Symfony\\Component\\HttpFoundation\\HeaderBag' => $vendorDir . '/symfony/http-foundation/HeaderBag.php', + 'Symfony\\Component\\HttpFoundation\\HeaderUtils' => $vendorDir . '/symfony/http-foundation/HeaderUtils.php', + 'Symfony\\Component\\HttpFoundation\\InputBag' => $vendorDir . '/symfony/http-foundation/InputBag.php', + 'Symfony\\Component\\HttpFoundation\\IpUtils' => $vendorDir . '/symfony/http-foundation/IpUtils.php', + 'Symfony\\Component\\HttpFoundation\\JsonResponse' => $vendorDir . '/symfony/http-foundation/JsonResponse.php', + 'Symfony\\Component\\HttpFoundation\\ParameterBag' => $vendorDir . '/symfony/http-foundation/ParameterBag.php', + 'Symfony\\Component\\HttpFoundation\\RateLimiter\\AbstractRequestRateLimiter' => $vendorDir . '/symfony/http-foundation/RateLimiter/AbstractRequestRateLimiter.php', + 'Symfony\\Component\\HttpFoundation\\RateLimiter\\RequestRateLimiterInterface' => $vendorDir . '/symfony/http-foundation/RateLimiter/RequestRateLimiterInterface.php', + 'Symfony\\Component\\HttpFoundation\\RedirectResponse' => $vendorDir . '/symfony/http-foundation/RedirectResponse.php', + 'Symfony\\Component\\HttpFoundation\\Request' => $vendorDir . '/symfony/http-foundation/Request.php', + 'Symfony\\Component\\HttpFoundation\\RequestMatcher' => $vendorDir . '/symfony/http-foundation/RequestMatcher.php', + 'Symfony\\Component\\HttpFoundation\\RequestMatcherInterface' => $vendorDir . '/symfony/http-foundation/RequestMatcherInterface.php', + 'Symfony\\Component\\HttpFoundation\\RequestStack' => $vendorDir . '/symfony/http-foundation/RequestStack.php', + 'Symfony\\Component\\HttpFoundation\\Response' => $vendorDir . '/symfony/http-foundation/Response.php', + 'Symfony\\Component\\HttpFoundation\\ResponseHeaderBag' => $vendorDir . '/symfony/http-foundation/ResponseHeaderBag.php', + 'Symfony\\Component\\HttpFoundation\\ServerBag' => $vendorDir . '/symfony/http-foundation/ServerBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\AttributeBag' => $vendorDir . '/symfony/http-foundation/Session/Attribute/AttributeBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\AttributeBagInterface' => $vendorDir . '/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\NamespacedAttributeBag' => $vendorDir . '/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\AutoExpireFlashBag' => $vendorDir . '/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBag' => $vendorDir . '/symfony/http-foundation/Session/Flash/FlashBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBagInterface' => $vendorDir . '/symfony/http-foundation/Session/Flash/FlashBagInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Session' => $vendorDir . '/symfony/http-foundation/Session/Session.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionBagInterface' => $vendorDir . '/symfony/http-foundation/Session/SessionBagInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionBagProxy' => $vendorDir . '/symfony/http-foundation/Session/SessionBagProxy.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionFactory' => $vendorDir . '/symfony/http-foundation/Session/SessionFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionFactoryInterface' => $vendorDir . '/symfony/http-foundation/Session/SessionFactoryInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionInterface' => $vendorDir . '/symfony/http-foundation/Session/SessionInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionUtils' => $vendorDir . '/symfony/http-foundation/Session/SessionUtils.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\AbstractSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\IdentityMarshaller' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/IdentityMarshaller.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MarshallingSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MarshallingSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MemcachedSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MigratingSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MigratingSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MongoDbSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NativeFileSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NullSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\PdoSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\RedisSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\SessionHandlerFactory' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/SessionHandlerFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\StrictSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MetadataBag' => $vendorDir . '/symfony/http-foundation/Session/Storage/MetadataBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockArraySessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockFileSessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockFileSessionStorageFactory' => $vendorDir . '/symfony/http-foundation/Session/Storage/MockFileSessionStorageFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/NativeSessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorageFactory' => $vendorDir . '/symfony/http-foundation/Session/Storage/NativeSessionStorageFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\PhpBridgeSessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\PhpBridgeSessionStorageFactory' => $vendorDir . '/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorageFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\AbstractProxy' => $vendorDir . '/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\SessionHandlerProxy' => $vendorDir . '/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\ServiceSessionFactory' => $vendorDir . '/symfony/http-foundation/Session/Storage/ServiceSessionFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\SessionStorageFactoryInterface' => $vendorDir . '/symfony/http-foundation/Session/Storage/SessionStorageFactoryInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\SessionStorageInterface' => $vendorDir . '/symfony/http-foundation/Session/Storage/SessionStorageInterface.php', + 'Symfony\\Component\\HttpFoundation\\StreamedResponse' => $vendorDir . '/symfony/http-foundation/StreamedResponse.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\RequestAttributeValueSame' => $vendorDir . '/symfony/http-foundation/Test/Constraint/RequestAttributeValueSame.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseCookieValueSame' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseCookieValueSame.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseFormatSame' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseFormatSame.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHasCookie' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseHasCookie.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHasHeader' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseHasHeader.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHeaderSame' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseHeaderSame.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseIsRedirected' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseIsRedirected.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseIsSuccessful' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseIsSuccessful.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseIsUnprocessable' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseIsUnprocessable.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseStatusCodeSame' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseStatusCodeSame.php', + 'Symfony\\Component\\HttpFoundation\\UrlHelper' => $vendorDir . '/symfony/http-foundation/UrlHelper.php', + 'Symfony\\Component\\VarExporter\\Exception\\ClassNotFoundException' => $vendorDir . '/symfony/var-exporter/Exception/ClassNotFoundException.php', + 'Symfony\\Component\\VarExporter\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/var-exporter/Exception/ExceptionInterface.php', + 'Symfony\\Component\\VarExporter\\Exception\\LogicException' => $vendorDir . '/symfony/var-exporter/Exception/LogicException.php', + 'Symfony\\Component\\VarExporter\\Exception\\NotInstantiableTypeException' => $vendorDir . '/symfony/var-exporter/Exception/NotInstantiableTypeException.php', + 'Symfony\\Component\\VarExporter\\Hydrator' => $vendorDir . '/symfony/var-exporter/Hydrator.php', + 'Symfony\\Component\\VarExporter\\Instantiator' => $vendorDir . '/symfony/var-exporter/Instantiator.php', + 'Symfony\\Component\\VarExporter\\Internal\\Exporter' => $vendorDir . '/symfony/var-exporter/Internal/Exporter.php', + 'Symfony\\Component\\VarExporter\\Internal\\Hydrator' => $vendorDir . '/symfony/var-exporter/Internal/Hydrator.php', + 'Symfony\\Component\\VarExporter\\Internal\\LazyObjectRegistry' => $vendorDir . '/symfony/var-exporter/Internal/LazyObjectRegistry.php', + 'Symfony\\Component\\VarExporter\\Internal\\LazyObjectState' => $vendorDir . '/symfony/var-exporter/Internal/LazyObjectState.php', + 'Symfony\\Component\\VarExporter\\Internal\\LazyObjectTrait' => $vendorDir . '/symfony/var-exporter/Internal/LazyObjectTrait.php', + 'Symfony\\Component\\VarExporter\\Internal\\Reference' => $vendorDir . '/symfony/var-exporter/Internal/Reference.php', + 'Symfony\\Component\\VarExporter\\Internal\\Registry' => $vendorDir . '/symfony/var-exporter/Internal/Registry.php', + 'Symfony\\Component\\VarExporter\\Internal\\Values' => $vendorDir . '/symfony/var-exporter/Internal/Values.php', + 'Symfony\\Component\\VarExporter\\LazyGhostTrait' => $vendorDir . '/symfony/var-exporter/LazyGhostTrait.php', + 'Symfony\\Component\\VarExporter\\LazyObjectInterface' => $vendorDir . '/symfony/var-exporter/LazyObjectInterface.php', + 'Symfony\\Component\\VarExporter\\LazyProxyTrait' => $vendorDir . '/symfony/var-exporter/LazyProxyTrait.php', + 'Symfony\\Component\\VarExporter\\ProxyHelper' => $vendorDir . '/symfony/var-exporter/ProxyHelper.php', + 'Symfony\\Component\\VarExporter\\VarExporter' => $vendorDir . '/symfony/var-exporter/VarExporter.php', + 'Symfony\\Contracts\\Cache\\CacheInterface' => $vendorDir . '/symfony/cache-contracts/CacheInterface.php', + 'Symfony\\Contracts\\Cache\\CacheTrait' => $vendorDir . '/symfony/cache-contracts/CacheTrait.php', + 'Symfony\\Contracts\\Cache\\CallbackInterface' => $vendorDir . '/symfony/cache-contracts/CallbackInterface.php', + 'Symfony\\Contracts\\Cache\\ItemInterface' => $vendorDir . '/symfony/cache-contracts/ItemInterface.php', + 'Symfony\\Contracts\\Cache\\TagAwareCacheInterface' => $vendorDir . '/symfony/cache-contracts/TagAwareCacheInterface.php', + 'Symfony\\Contracts\\EventDispatcher\\Event' => $vendorDir . '/symfony/event-dispatcher-contracts/Event.php', + 'Symfony\\Contracts\\EventDispatcher\\EventDispatcherInterface' => $vendorDir . '/symfony/event-dispatcher-contracts/EventDispatcherInterface.php', + 'Symfony\\Contracts\\Service\\Attribute\\Required' => $vendorDir . '/symfony/service-contracts/Attribute/Required.php', + 'Symfony\\Contracts\\Service\\Attribute\\SubscribedService' => $vendorDir . '/symfony/service-contracts/Attribute/SubscribedService.php', + 'Symfony\\Contracts\\Service\\ResetInterface' => $vendorDir . '/symfony/service-contracts/ResetInterface.php', + 'Symfony\\Contracts\\Service\\ServiceCollectionInterface' => $vendorDir . '/symfony/service-contracts/ServiceCollectionInterface.php', + 'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => $vendorDir . '/symfony/service-contracts/ServiceLocatorTrait.php', + 'Symfony\\Contracts\\Service\\ServiceMethodsSubscriberTrait' => $vendorDir . '/symfony/service-contracts/ServiceMethodsSubscriberTrait.php', + 'Symfony\\Contracts\\Service\\ServiceProviderInterface' => $vendorDir . '/symfony/service-contracts/ServiceProviderInterface.php', + 'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberInterface.php', + 'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberTrait.php', + 'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php', + 'Symfony\\Polyfill\\Php73\\Php73' => $vendorDir . '/symfony/polyfill-php73/Php73.php', + 'Symfony\\Polyfill\\Php80\\Php80' => $vendorDir . '/symfony/polyfill-php80/Php80.php', + 'Symfony\\Polyfill\\Php80\\PhpToken' => $vendorDir . '/symfony/polyfill-php80/PhpToken.php', + 'Tx\\Mailer' => $vendorDir . '/fastadminnet/fastadmin-mailer/src/Mailer.php', + 'Tx\\Mailer\\Exceptions\\CodeException' => $vendorDir . '/fastadminnet/fastadmin-mailer/src/Mailer/Exceptions/CodeException.php', + 'Tx\\Mailer\\Exceptions\\CryptoException' => $vendorDir . '/fastadminnet/fastadmin-mailer/src/Mailer/Exceptions/CryptoException.php', + 'Tx\\Mailer\\Exceptions\\SMTPException' => $vendorDir . '/fastadminnet/fastadmin-mailer/src/Mailer/Exceptions/SMTPException.php', + 'Tx\\Mailer\\Exceptions\\SendException' => $vendorDir . '/fastadminnet/fastadmin-mailer/src/Mailer/Exceptions/SendException.php', + 'Tx\\Mailer\\Message' => $vendorDir . '/fastadminnet/fastadmin-mailer/src/Mailer/Message.php', + 'Tx\\Mailer\\SMTP' => $vendorDir . '/fastadminnet/fastadmin-mailer/src/Mailer/SMTP.php', 'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php', 'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php', + 'Workerman\\Autoloader' => $vendorDir . '/workerman/workerman/Autoloader.php', + 'Workerman\\Connection\\AsyncTcpConnection' => $vendorDir . '/workerman/workerman/Connection/AsyncTcpConnection.php', + 'Workerman\\Connection\\AsyncUdpConnection' => $vendorDir . '/workerman/workerman/Connection/AsyncUdpConnection.php', + 'Workerman\\Connection\\ConnectionInterface' => $vendorDir . '/workerman/workerman/Connection/ConnectionInterface.php', + 'Workerman\\Connection\\TcpConnection' => $vendorDir . '/workerman/workerman/Connection/TcpConnection.php', + 'Workerman\\Connection\\UdpConnection' => $vendorDir . '/workerman/workerman/Connection/UdpConnection.php', + 'Workerman\\Events\\Ev' => $vendorDir . '/workerman/workerman/Events/Ev.php', + 'Workerman\\Events\\Event' => $vendorDir . '/workerman/workerman/Events/Event.php', + 'Workerman\\Events\\EventInterface' => $vendorDir . '/workerman/workerman/Events/EventInterface.php', + 'Workerman\\Events\\Libevent' => $vendorDir . '/workerman/workerman/Events/Libevent.php', + 'Workerman\\Events\\React\\Base' => $vendorDir . '/workerman/workerman/Events/React/Base.php', + 'Workerman\\Events\\React\\ExtEventLoop' => $vendorDir . '/workerman/workerman/Events/React/ExtEventLoop.php', + 'Workerman\\Events\\React\\ExtLibEventLoop' => $vendorDir . '/workerman/workerman/Events/React/ExtLibEventLoop.php', + 'Workerman\\Events\\React\\StreamSelectLoop' => $vendorDir . '/workerman/workerman/Events/React/StreamSelectLoop.php', + 'Workerman\\Events\\Select' => $vendorDir . '/workerman/workerman/Events/Select.php', + 'Workerman\\Events\\Swoole' => $vendorDir . '/workerman/workerman/Events/Swoole.php', + 'Workerman\\Events\\Uv' => $vendorDir . '/workerman/workerman/Events/Uv.php', + 'Workerman\\Lib\\Timer' => $vendorDir . '/workerman/workerman/Lib/Timer.php', + 'Workerman\\Protocols\\Frame' => $vendorDir . '/workerman/workerman/Protocols/Frame.php', + 'Workerman\\Protocols\\Http' => $vendorDir . '/workerman/workerman/Protocols/Http.php', + 'Workerman\\Protocols\\Http\\Chunk' => $vendorDir . '/workerman/workerman/Protocols/Http/Chunk.php', + 'Workerman\\Protocols\\Http\\Request' => $vendorDir . '/workerman/workerman/Protocols/Http/Request.php', + 'Workerman\\Protocols\\Http\\Response' => $vendorDir . '/workerman/workerman/Protocols/Http/Response.php', + 'Workerman\\Protocols\\Http\\ServerSentEvents' => $vendorDir . '/workerman/workerman/Protocols/Http/ServerSentEvents.php', + 'Workerman\\Protocols\\Http\\Session' => $vendorDir . '/workerman/workerman/Protocols/Http/Session.php', + 'Workerman\\Protocols\\Http\\Session\\FileSessionHandler' => $vendorDir . '/workerman/workerman/Protocols/Http/Session/FileSessionHandler.php', + 'Workerman\\Protocols\\Http\\Session\\RedisClusterSessionHandler' => $vendorDir . '/workerman/workerman/Protocols/Http/Session/RedisClusterSessionHandler.php', + 'Workerman\\Protocols\\Http\\Session\\RedisSessionHandler' => $vendorDir . '/workerman/workerman/Protocols/Http/Session/RedisSessionHandler.php', + 'Workerman\\Protocols\\Http\\Session\\SessionHandlerInterface' => $vendorDir . '/workerman/workerman/Protocols/Http/Session/SessionHandlerInterface.php', + 'Workerman\\Protocols\\ProtocolInterface' => $vendorDir . '/workerman/workerman/Protocols/ProtocolInterface.php', + 'Workerman\\Protocols\\Text' => $vendorDir . '/workerman/workerman/Protocols/Text.php', + 'Workerman\\Protocols\\Websocket' => $vendorDir . '/workerman/workerman/Protocols/Websocket.php', + 'Workerman\\Protocols\\Ws' => $vendorDir . '/workerman/workerman/Protocols/Ws.php', + 'Workerman\\Timer' => $vendorDir . '/workerman/workerman/Timer.php', + 'Workerman\\Worker' => $vendorDir . '/workerman/workerman/Worker.php', + 'ZipStream\\CentralDirectoryFileHeader' => $vendorDir . '/maennchen/zipstream-php/src/CentralDirectoryFileHeader.php', + 'ZipStream\\CompressionMethod' => $vendorDir . '/maennchen/zipstream-php/src/CompressionMethod.php', + 'ZipStream\\DataDescriptor' => $vendorDir . '/maennchen/zipstream-php/src/DataDescriptor.php', + 'ZipStream\\EndOfCentralDirectory' => $vendorDir . '/maennchen/zipstream-php/src/EndOfCentralDirectory.php', + 'ZipStream\\Exception' => $vendorDir . '/maennchen/zipstream-php/src/Exception.php', + 'ZipStream\\Exception\\DosTimeOverflowException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/DosTimeOverflowException.php', + 'ZipStream\\Exception\\FileNotFoundException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/FileNotFoundException.php', + 'ZipStream\\Exception\\FileNotReadableException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/FileNotReadableException.php', + 'ZipStream\\Exception\\FileSizeIncorrectException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/FileSizeIncorrectException.php', + 'ZipStream\\Exception\\OverflowException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/OverflowException.php', + 'ZipStream\\Exception\\ResourceActionException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/ResourceActionException.php', + 'ZipStream\\Exception\\SimulationFileUnknownException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/SimulationFileUnknownException.php', + 'ZipStream\\Exception\\StreamNotReadableException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/StreamNotReadableException.php', + 'ZipStream\\Exception\\StreamNotSeekableException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/StreamNotSeekableException.php', + 'ZipStream\\File' => $vendorDir . '/maennchen/zipstream-php/src/File.php', + 'ZipStream\\GeneralPurposeBitFlag' => $vendorDir . '/maennchen/zipstream-php/src/GeneralPurposeBitFlag.php', + 'ZipStream\\LocalFileHeader' => $vendorDir . '/maennchen/zipstream-php/src/LocalFileHeader.php', + 'ZipStream\\OperationMode' => $vendorDir . '/maennchen/zipstream-php/src/OperationMode.php', + 'ZipStream\\PackField' => $vendorDir . '/maennchen/zipstream-php/src/PackField.php', + 'ZipStream\\Time' => $vendorDir . '/maennchen/zipstream-php/src/Time.php', + 'ZipStream\\Version' => $vendorDir . '/maennchen/zipstream-php/src/Version.php', + 'ZipStream\\Zip64\\DataDescriptor' => $vendorDir . '/maennchen/zipstream-php/src/Zip64/DataDescriptor.php', + 'ZipStream\\Zip64\\EndOfCentralDirectory' => $vendorDir . '/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectory.php', + 'ZipStream\\Zip64\\EndOfCentralDirectoryLocator' => $vendorDir . '/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectoryLocator.php', + 'ZipStream\\Zip64\\ExtendedInformationExtraField' => $vendorDir . '/maennchen/zipstream-php/src/Zip64/ExtendedInformationExtraField.php', + 'ZipStream\\ZipStream' => $vendorDir . '/maennchen/zipstream-php/src/ZipStream.php', + 'ZipStream\\Zs\\ExtendedInformationExtraField' => $vendorDir . '/maennchen/zipstream-php/src/Zs/ExtendedInformationExtraField.php', + 'addons\\alisms\\Alisms' => $baseDir . '/addons/alisms/Alisms.php', + 'addons\\alisms\\controller\\Index' => $baseDir . '/addons/alisms/controller/Index.php', + 'addons\\alisms\\library\\Alisms' => $baseDir . '/addons/alisms/library/Alisms.php', + 'addons\\command\\Command' => $baseDir . '/addons/command/Command.php', + 'addons\\command\\controller\\Index' => $baseDir . '/addons/command/controller/Index.php', + 'addons\\command\\library\\Output' => $baseDir . '/addons/command/library/Output.php', + 'addons\\epay\\Epay' => $baseDir . '/addons/epay/Epay.php', + 'addons\\epay\\controller\\Api' => $baseDir . '/addons/epay/controller/Api.php', + 'addons\\epay\\controller\\Index' => $baseDir . '/addons/epay/controller/Index.php', + 'addons\\epay\\library\\Collection' => $baseDir . '/addons/epay/library/Collection.php', + 'addons\\epay\\library\\OrderException' => $baseDir . '/addons/epay/library/OrderException.php', + 'addons\\epay\\library\\RedirectResponse' => $baseDir . '/addons/epay/library/RedirectResponse.php', + 'addons\\epay\\library\\Response' => $baseDir . '/addons/epay/library/Response.php', + 'addons\\epay\\library\\Service' => $baseDir . '/addons/epay/library/Service.php', + 'addons\\epay\\library\\Wechat' => $baseDir . '/addons/epay/library/Wechat.php', + 'addons\\hwobs\\Hwobs' => $baseDir . '/addons/hwobs/Hwobs.php', + 'addons\\hwobs\\controller\\Index' => $baseDir . '/addons/hwobs/controller/Index.php', + 'addons\\hwobs\\library\\Auth' => $baseDir . '/addons/hwobs/library/Auth.php', + 'addons\\hwobs\\library\\Signer' => $baseDir . '/addons/hwobs/library/Signer.php', + 'addons\\shopro\\Shopro' => $baseDir . '/addons/shopro/Shopro.php', + 'addons\\shopro\\channel\\Database' => $baseDir . '/addons/shopro/channel/Database.php', + 'addons\\shopro\\channel\\Email' => $baseDir . '/addons/shopro/channel/Email.php', + 'addons\\shopro\\channel\\Sms' => $baseDir . '/addons/shopro/channel/Sms.php', + 'addons\\shopro\\channel\\Websocket' => $baseDir . '/addons/shopro/channel/Websocket.php', + 'addons\\shopro\\channel\\WechatMiniProgram' => $baseDir . '/addons/shopro/channel/WechatMiniProgram.php', + 'addons\\shopro\\channel\\WechatOfficialAccount' => $baseDir . '/addons/shopro/channel/WechatOfficialAccount.php', + 'addons\\shopro\\console\\Command' => $baseDir . '/addons/shopro/console/Command.php', + 'addons\\shopro\\console\\ShoproChat' => $baseDir . '/addons/shopro/console/ShoproChat.php', + 'addons\\shopro\\console\\ShoproHelp' => $baseDir . '/addons/shopro/console/ShoproHelp.php', + 'addons\\shopro\\controller\\Cart' => $baseDir . '/addons/shopro/controller/Cart.php', + 'addons\\shopro\\controller\\Category' => $baseDir . '/addons/shopro/controller/Category.php', + 'addons\\shopro\\controller\\Common' => $baseDir . '/addons/shopro/controller/Common.php', + 'addons\\shopro\\controller\\Coupon' => $baseDir . '/addons/shopro/controller/Coupon.php', + 'addons\\shopro\\controller\\Index' => $baseDir . '/addons/shopro/controller/Index.php', + 'addons\\shopro\\controller\\Pay' => $baseDir . '/addons/shopro/controller/Pay.php', + 'addons\\shopro\\controller\\Share' => $baseDir . '/addons/shopro/controller/Share.php', + 'addons\\shopro\\controller\\Withdraw' => $baseDir . '/addons/shopro/controller/Withdraw.php', + 'addons\\shopro\\controller\\activity\\Activity' => $baseDir . '/addons/shopro/controller/activity/Activity.php', + 'addons\\shopro\\controller\\activity\\Groupon' => $baseDir . '/addons/shopro/controller/activity/Groupon.php', + 'addons\\shopro\\controller\\activity\\Signin' => $baseDir . '/addons/shopro/controller/activity/Signin.php', + 'addons\\shopro\\controller\\app\\Mplive' => $baseDir . '/addons/shopro/controller/app/Mplive.php', + 'addons\\shopro\\controller\\app\\ScoreShop' => $baseDir . '/addons/shopro/controller/app/ScoreShop.php', + 'addons\\shopro\\controller\\chat\\Record' => $baseDir . '/addons/shopro/controller/chat/Record.php', + 'addons\\shopro\\controller\\commission\\Agent' => $baseDir . '/addons/shopro/controller/commission/Agent.php', + 'addons\\shopro\\controller\\commission\\Commission' => $baseDir . '/addons/shopro/controller/commission/Commission.php', + 'addons\\shopro\\controller\\commission\\Goods' => $baseDir . '/addons/shopro/controller/commission/Goods.php', + 'addons\\shopro\\controller\\commission\\Log' => $baseDir . '/addons/shopro/controller/commission/Log.php', + 'addons\\shopro\\controller\\commission\\Order' => $baseDir . '/addons/shopro/controller/commission/Order.php', + 'addons\\shopro\\controller\\commission\\Reward' => $baseDir . '/addons/shopro/controller/commission/Reward.php', + 'addons\\shopro\\controller\\data\\Area' => $baseDir . '/addons/shopro/controller/data/Area.php', + 'addons\\shopro\\controller\\data\\Faq' => $baseDir . '/addons/shopro/controller/data/Faq.php', + 'addons\\shopro\\controller\\data\\Richtext' => $baseDir . '/addons/shopro/controller/data/Richtext.php', + 'addons\\shopro\\controller\\goods\\Comment' => $baseDir . '/addons/shopro/controller/goods/Comment.php', + 'addons\\shopro\\controller\\goods\\Goods' => $baseDir . '/addons/shopro/controller/goods/Goods.php', + 'addons\\shopro\\controller\\order\\Aftersale' => $baseDir . '/addons/shopro/controller/order/Aftersale.php', + 'addons\\shopro\\controller\\order\\Express' => $baseDir . '/addons/shopro/controller/order/Express.php', + 'addons\\shopro\\controller\\order\\Invoice' => $baseDir . '/addons/shopro/controller/order/Invoice.php', + 'addons\\shopro\\controller\\order\\Order' => $baseDir . '/addons/shopro/controller/order/Order.php', + 'addons\\shopro\\controller\\third\\Apple' => $baseDir . '/addons/shopro/controller/third/Apple.php', + 'addons\\shopro\\controller\\third\\Wechat' => $baseDir . '/addons/shopro/controller/third/Wechat.php', + 'addons\\shopro\\controller\\trade\\Order' => $baseDir . '/addons/shopro/controller/trade/Order.php', + 'addons\\shopro\\controller\\traits\\UnifiedToken' => $baseDir . '/addons/shopro/controller/traits/UnifiedToken.php', + 'addons\\shopro\\controller\\traits\\Util' => $baseDir . '/addons/shopro/controller/traits/Util.php', + 'addons\\shopro\\controller\\user\\Account' => $baseDir . '/addons/shopro/controller/user/Account.php', + 'addons\\shopro\\controller\\user\\Address' => $baseDir . '/addons/shopro/controller/user/Address.php', + 'addons\\shopro\\controller\\user\\Coupon' => $baseDir . '/addons/shopro/controller/user/Coupon.php', + 'addons\\shopro\\controller\\user\\GoodsLog' => $baseDir . '/addons/shopro/controller/user/GoodsLog.php', + 'addons\\shopro\\controller\\user\\Invoice' => $baseDir . '/addons/shopro/controller/user/Invoice.php', + 'addons\\shopro\\controller\\user\\User' => $baseDir . '/addons/shopro/controller/user/User.php', + 'addons\\shopro\\controller\\user\\WalletLog' => $baseDir . '/addons/shopro/controller/user/WalletLog.php', + 'addons\\shopro\\controller\\wechat\\Serve' => $baseDir . '/addons/shopro/controller/wechat/Serve.php', + 'addons\\shopro\\exception\\ShoproException' => $baseDir . '/addons/shopro/exception/ShoproException.php', + 'addons\\shopro\\facade\\Activity' => $baseDir . '/addons/shopro/facade/Activity.php', + 'addons\\shopro\\facade\\ActivityRedis' => $baseDir . '/addons/shopro/facade/ActivityRedis.php', + 'addons\\shopro\\facade\\Base' => $baseDir . '/addons/shopro/facade/Base.php', + 'addons\\shopro\\facade\\HttpClient' => $baseDir . '/addons/shopro/facade/HttpClient.php', + 'addons\\shopro\\facade\\Redis' => $baseDir . '/addons/shopro/facade/Redis.php', + 'addons\\shopro\\facade\\Wechat' => $baseDir . '/addons/shopro/facade/Wechat.php', + 'addons\\shopro\\filter\\BaseFilter' => $baseDir . '/addons/shopro/filter/BaseFilter.php', + 'addons\\shopro\\filter\\CategoryFilter' => $baseDir . '/addons/shopro/filter/CategoryFilter.php', + 'addons\\shopro\\filter\\CouponFilter' => $baseDir . '/addons/shopro/filter/CouponFilter.php', + 'addons\\shopro\\filter\\FeedbackFilter' => $baseDir . '/addons/shopro/filter/FeedbackFilter.php', + 'addons\\shopro\\filter\\WithdrawFilter' => $baseDir . '/addons/shopro/filter/WithdrawFilter.php', + 'addons\\shopro\\filter\\activity\\ActivityFilter' => $baseDir . '/addons/shopro/filter/activity/ActivityFilter.php', + 'addons\\shopro\\filter\\activity\\GrouponFilter' => $baseDir . '/addons/shopro/filter/activity/GrouponFilter.php', + 'addons\\shopro\\filter\\chat\\CommonWordFilter' => $baseDir . '/addons/shopro/filter/chat/CommonWordFilter.php', + 'addons\\shopro\\filter\\chat\\CustomerServiceFilter' => $baseDir . '/addons/shopro/filter/chat/CustomerServiceFilter.php', + 'addons\\shopro\\filter\\chat\\QuestionFilter' => $baseDir . '/addons/shopro/filter/chat/QuestionFilter.php', + 'addons\\shopro\\filter\\chat\\RecordFilter' => $baseDir . '/addons/shopro/filter/chat/RecordFilter.php', + 'addons\\shopro\\filter\\chat\\UserFilter' => $baseDir . '/addons/shopro/filter/chat/UserFilter.php', + 'addons\\shopro\\filter\\commission\\OrderFilter' => $baseDir . '/addons/shopro/filter/commission/OrderFilter.php', + 'addons\\shopro\\filter\\commission\\RewardFilter' => $baseDir . '/addons/shopro/filter/commission/RewardFilter.php', + 'addons\\shopro\\filter\\data\\ExpressFilter' => $baseDir . '/addons/shopro/filter/data/ExpressFilter.php', + 'addons\\shopro\\filter\\data\\FaqFilter' => $baseDir . '/addons/shopro/filter/data/FaqFilter.php', + 'addons\\shopro\\filter\\data\\PageFilter' => $baseDir . '/addons/shopro/filter/data/PageFilter.php', + 'addons\\shopro\\filter\\data\\RichtextFilter' => $baseDir . '/addons/shopro/filter/data/RichtextFilter.php', + 'addons\\shopro\\filter\\dispatch\\DispatchFilter' => $baseDir . '/addons/shopro/filter/dispatch/DispatchFilter.php', + 'addons\\shopro\\filter\\goods\\CommentFilter' => $baseDir . '/addons/shopro/filter/goods/CommentFilter.php', + 'addons\\shopro\\filter\\goods\\GoodsFilter' => $baseDir . '/addons/shopro/filter/goods/GoodsFilter.php', + 'addons\\shopro\\filter\\goods\\ServiceFilter' => $baseDir . '/addons/shopro/filter/goods/ServiceFilter.php', + 'addons\\shopro\\filter\\goods\\StockLogFilter' => $baseDir . '/addons/shopro/filter/goods/StockLogFilter.php', + 'addons\\shopro\\filter\\goods\\StockWarningFilter' => $baseDir . '/addons/shopro/filter/goods/StockWarningFilter.php', + 'addons\\shopro\\filter\\notification\\NotificationFilter' => $baseDir . '/addons/shopro/filter/notification/NotificationFilter.php', + 'addons\\shopro\\filter\\order\\InvoiceFilter' => $baseDir . '/addons/shopro/filter/order/InvoiceFilter.php', + 'addons\\shopro\\filter\\order\\OrderFilter' => $baseDir . '/addons/shopro/filter/order/OrderFilter.php', + 'addons\\shopro\\filter\\trade\\OrderFilter' => $baseDir . '/addons/shopro/filter/trade/OrderFilter.php', + 'addons\\shopro\\filter\\traits\\CommonSearch' => $baseDir . '/addons/shopro/filter/traits/CommonSearch.php', + 'addons\\shopro\\filter\\user\\CouponFilter' => $baseDir . '/addons/shopro/filter/user/CouponFilter.php', + 'addons\\shopro\\filter\\user\\UserFilter' => $baseDir . '/addons/shopro/filter/user/UserFilter.php', + 'addons\\shopro\\job\\BaseJob' => $baseDir . '/addons/shopro/job/BaseJob.php', + 'addons\\shopro\\job\\Commission' => $baseDir . '/addons/shopro/job/Commission.php', + 'addons\\shopro\\job\\Designer' => $baseDir . '/addons/shopro/job/Designer.php', + 'addons\\shopro\\job\\GrouponAutoOper' => $baseDir . '/addons/shopro/job/GrouponAutoOper.php', + 'addons\\shopro\\job\\Notification' => $baseDir . '/addons/shopro/job/Notification.php', + 'addons\\shopro\\job\\OrderAutoOper' => $baseDir . '/addons/shopro/job/OrderAutoOper.php', + 'addons\\shopro\\job\\OrderPaid' => $baseDir . '/addons/shopro/job/OrderPaid.php', + 'addons\\shopro\\job\\Test' => $baseDir . '/addons/shopro/job/Test.php', + 'addons\\shopro\\job\\trade\\OrderAutoOper' => $baseDir . '/addons/shopro/job/trade/OrderAutoOper.php', + 'addons\\shopro\\job\\trade\\OrderPaid' => $baseDir . '/addons/shopro/job/trade/OrderPaid.php', + 'addons\\shopro\\library\\Export' => $baseDir . '/addons/shopro/library/Export.php', + 'addons\\shopro\\library\\Hook' => $baseDir . '/addons/shopro/library/Hook.php', + 'addons\\shopro\\library\\HttpClient' => $baseDir . '/addons/shopro/library/HttpClient.php', + 'addons\\shopro\\library\\Operator' => $baseDir . '/addons/shopro/library/Operator.php', + 'addons\\shopro\\library\\Pipeline' => $baseDir . '/addons/shopro/library/Pipeline.php', + 'addons\\shopro\\library\\Redis' => $baseDir . '/addons/shopro/library/Redis.php', + 'addons\\shopro\\library\\RedisCache' => $baseDir . '/addons/shopro/library/RedisCache.php', + 'addons\\shopro\\library\\Tree' => $baseDir . '/addons/shopro/library/Tree.php', + 'addons\\shopro\\library\\Websocket' => $baseDir . '/addons/shopro/library/Websocket.php', + 'addons\\shopro\\library\\activity\\Activity' => $baseDir . '/addons/shopro/library/activity/Activity.php', + 'addons\\shopro\\library\\activity\\ActivityRedis' => $baseDir . '/addons/shopro/library/activity/ActivityRedis.php', + 'addons\\shopro\\library\\activity\\contract\\ActivityGetterInterface' => $baseDir . '/addons/shopro/library/activity/contract/ActivityGetterInterface.php', + 'addons\\shopro\\library\\activity\\contract\\ActivityInterface' => $baseDir . '/addons/shopro/library/activity/contract/ActivityInterface.php', + 'addons\\shopro\\library\\activity\\getter\\Base' => $baseDir . '/addons/shopro/library/activity/getter/Base.php', + 'addons\\shopro\\library\\activity\\getter\\Db' => $baseDir . '/addons/shopro/library/activity/getter/Db.php', + 'addons\\shopro\\library\\activity\\getter\\Redis' => $baseDir . '/addons/shopro/library/activity/getter/Redis.php', + 'addons\\shopro\\library\\activity\\provider\\Base' => $baseDir . '/addons/shopro/library/activity/provider/Base.php', + 'addons\\shopro\\library\\activity\\provider\\FreeShipping' => $baseDir . '/addons/shopro/library/activity/provider/FreeShipping.php', + 'addons\\shopro\\library\\activity\\provider\\FullDiscount' => $baseDir . '/addons/shopro/library/activity/provider/FullDiscount.php', + 'addons\\shopro\\library\\activity\\provider\\FullGift' => $baseDir . '/addons/shopro/library/activity/provider/FullGift.php', + 'addons\\shopro\\library\\activity\\provider\\FullReduce' => $baseDir . '/addons/shopro/library/activity/provider/FullReduce.php', + 'addons\\shopro\\library\\activity\\provider\\Groupon' => $baseDir . '/addons/shopro/library/activity/provider/Groupon.php', + 'addons\\shopro\\library\\activity\\provider\\GrouponLadder' => $baseDir . '/addons/shopro/library/activity/provider/GrouponLadder.php', + 'addons\\shopro\\library\\activity\\provider\\GrouponLucky' => $baseDir . '/addons/shopro/library/activity/provider/GrouponLucky.php', + 'addons\\shopro\\library\\activity\\provider\\Seckill' => $baseDir . '/addons/shopro/library/activity/provider/Seckill.php', + 'addons\\shopro\\library\\activity\\provider\\Signin' => $baseDir . '/addons/shopro/library/activity/provider/Signin.php', + 'addons\\shopro\\library\\activity\\traits\\ActivityRedis' => $baseDir . '/addons/shopro/library/activity/traits/ActivityRedis.php', + 'addons\\shopro\\library\\activity\\traits\\CheckActivity' => $baseDir . '/addons/shopro/library/activity/traits/CheckActivity.php', + 'addons\\shopro\\library\\activity\\traits\\GiveGift' => $baseDir . '/addons/shopro/library/activity/traits/GiveGift.php', + 'addons\\shopro\\library\\activity\\traits\\Groupon' => $baseDir . '/addons/shopro/library/activity/traits/Groupon.php', + 'addons\\shopro\\library\\chat\\Chat' => $baseDir . '/addons/shopro/library/chat/Chat.php', + 'addons\\shopro\\library\\chat\\ChatService' => $baseDir . '/addons/shopro/library/chat/ChatService.php', + 'addons\\shopro\\library\\chat\\Getter' => $baseDir . '/addons/shopro/library/chat/Getter.php', + 'addons\\shopro\\library\\chat\\Sender' => $baseDir . '/addons/shopro/library/chat/Sender.php', + 'addons\\shopro\\library\\chat\\provider\\auth\\Admin' => $baseDir . '/addons/shopro/library/chat/provider/auth/Admin.php', + 'addons\\shopro\\library\\chat\\provider\\auth\\User' => $baseDir . '/addons/shopro/library/chat/provider/auth/User.php', + 'addons\\shopro\\library\\chat\\provider\\auth\\traits\\Customer' => $baseDir . '/addons/shopro/library/chat/provider/auth/traits/Customer.php', + 'addons\\shopro\\library\\chat\\provider\\auth\\traits\\CustomerService' => $baseDir . '/addons/shopro/library/chat/provider/auth/traits/CustomerService.php', + 'addons\\shopro\\library\\chat\\provider\\getter\\Db' => $baseDir . '/addons/shopro/library/chat/provider/getter/Db.php', + 'addons\\shopro\\library\\chat\\provider\\getter\\Socket' => $baseDir . '/addons/shopro/library/chat/provider/getter/Socket.php', + 'addons\\shopro\\library\\chat\\traits\\BindUId' => $baseDir . '/addons/shopro/library/chat/traits/BindUId.php', + 'addons\\shopro\\library\\chat\\traits\\DebugEvent' => $baseDir . '/addons/shopro/library/chat/traits/DebugEvent.php', + 'addons\\shopro\\library\\chat\\traits\\Helper' => $baseDir . '/addons/shopro/library/chat/traits/Helper.php', + 'addons\\shopro\\library\\chat\\traits\\NspData' => $baseDir . '/addons/shopro/library/chat/traits/NspData.php', + 'addons\\shopro\\library\\chat\\traits\\Session' => $baseDir . '/addons/shopro/library/chat/traits/Session.php', + 'addons\\shopro\\library\\chat\\traits\\sender\\SenderFunc' => $baseDir . '/addons/shopro/library/chat/traits/sender/SenderFunc.php', + 'addons\\shopro\\library\\easywechatPlus\\EasywechatPlus' => $baseDir . '/addons/shopro/library/easywechatPlus/EasywechatPlus.php', + 'addons\\shopro\\library\\easywechatPlus\\WechatMiniProgramShop' => $baseDir . '/addons/shopro/library/easywechatPlus/WechatMiniProgramShop.php', + 'addons\\shopro\\library\\easywechatPlus\\WechatOfficialTemplate' => $baseDir . '/addons/shopro/library/easywechatPlus/WechatOfficialTemplate.php', + 'addons\\shopro\\library\\express\\Express' => $baseDir . '/addons/shopro/library/express/Express.php', + 'addons\\shopro\\library\\express\\adapter\\Kdniao' => $baseDir . '/addons/shopro/library/express/adapter/Kdniao.php', + 'addons\\shopro\\library\\express\\contract\\ExpressInterface' => $baseDir . '/addons/shopro/library/express/contract/ExpressInterface.php', + 'addons\\shopro\\library\\express\\provider\\Base' => $baseDir . '/addons/shopro/library/express/provider/Base.php', + 'addons\\shopro\\library\\express\\provider\\Kdniao' => $baseDir . '/addons/shopro/library/express/provider/Kdniao.php', + 'addons\\shopro\\library\\express\\provider\\Thinkapi' => $baseDir . '/addons/shopro/library/express/provider/Thinkapi.php', + 'addons\\shopro\\library\\mplive\\Client' => $baseDir . '/addons/shopro/library/mplive/Client.php', + 'addons\\shopro\\library\\mplive\\ServiceProvider' => $baseDir . '/addons/shopro/library/mplive/ServiceProvider.php', + 'addons\\shopro\\library\\notify\\Notify' => $baseDir . '/addons/shopro/library/notify/Notify.php', + 'addons\\shopro\\library\\notify\\traits\\Notifiable' => $baseDir . '/addons/shopro/library/notify/traits/Notifiable.php', + 'addons\\shopro\\library\\pay\\PayService' => $baseDir . '/addons/shopro/library/pay/PayService.php', + 'addons\\shopro\\library\\pay\\provider\\Alipay' => $baseDir . '/addons/shopro/library/pay/provider/Alipay.php', + 'addons\\shopro\\library\\pay\\provider\\Base' => $baseDir . '/addons/shopro/library/pay/provider/Base.php', + 'addons\\shopro\\library\\pay\\provider\\Wechat' => $baseDir . '/addons/shopro/library/pay/provider/Wechat.php', + 'addons\\shopro\\listener\\Activity' => $baseDir . '/addons/shopro/listener/Activity.php', + 'addons\\shopro\\listener\\Commission' => $baseDir . '/addons/shopro/listener/Commission.php', + 'addons\\shopro\\listener\\Goods' => $baseDir . '/addons/shopro/listener/Goods.php', + 'addons\\shopro\\listener\\Order' => $baseDir . '/addons/shopro/listener/Order.php', + 'addons\\shopro\\listener\\OrderAftersale' => $baseDir . '/addons/shopro/listener/OrderAftersale.php', + 'addons\\shopro\\listener\\Upload' => $baseDir . '/addons/shopro/listener/Upload.php', + 'addons\\shopro\\listener\\User' => $baseDir . '/addons/shopro/listener/User.php', + 'addons\\shopro\\notification\\CustomeNotice' => $baseDir . '/addons/shopro/notification/CustomeNotice.php', + 'addons\\shopro\\notification\\Notification' => $baseDir . '/addons/shopro/notification/Notification.php', + 'addons\\shopro\\notification\\activity\\GrouponFail' => $baseDir . '/addons/shopro/notification/activity/GrouponFail.php', + 'addons\\shopro\\notification\\activity\\GrouponFinish' => $baseDir . '/addons/shopro/notification/activity/GrouponFinish.php', + 'addons\\shopro\\notification\\goods\\StockWarning' => $baseDir . '/addons/shopro/notification/goods/StockWarning.php', + 'addons\\shopro\\notification\\order\\OrderApplyRefund' => $baseDir . '/addons/shopro/notification/order/OrderApplyRefund.php', + 'addons\\shopro\\notification\\order\\OrderDispatched' => $baseDir . '/addons/shopro/notification/order/OrderDispatched.php', + 'addons\\shopro\\notification\\order\\OrderNew' => $baseDir . '/addons/shopro/notification/order/OrderNew.php', + 'addons\\shopro\\notification\\order\\OrderRefund' => $baseDir . '/addons/shopro/notification/order/OrderRefund.php', + 'addons\\shopro\\notification\\order\\aftersale\\OrderAdminAftersaleChange' => $baseDir . '/addons/shopro/notification/order/aftersale/OrderAdminAftersaleChange.php', + 'addons\\shopro\\notification\\order\\aftersale\\OrderAftersaleChange' => $baseDir . '/addons/shopro/notification/order/aftersale/OrderAftersaleChange.php', + 'addons\\shopro\\notification\\order\\aftersale\\OrderAftersaleChangeBase' => $baseDir . '/addons/shopro/notification/order/aftersale/OrderAftersaleChangeBase.php', + 'addons\\shopro\\notification\\traits\\Notification' => $baseDir . '/addons/shopro/notification/traits/Notification.php', + 'addons\\shopro\\notification\\wallet\\CommissionChange' => $baseDir . '/addons/shopro/notification/wallet/CommissionChange.php', + 'addons\\shopro\\notification\\wallet\\MoneyChange' => $baseDir . '/addons/shopro/notification/wallet/MoneyChange.php', + 'addons\\shopro\\notification\\wallet\\ScoreChange' => $baseDir . '/addons/shopro/notification/wallet/ScoreChange.php', + 'addons\\shopro\\service\\SearchHistory' => $baseDir . '/addons/shopro/service/SearchHistory.php', + 'addons\\shopro\\service\\StockSale' => $baseDir . '/addons/shopro/service/StockSale.php', + 'addons\\shopro\\service\\Wallet' => $baseDir . '/addons/shopro/service/Wallet.php', + 'addons\\shopro\\service\\Withdraw' => $baseDir . '/addons/shopro/service/Withdraw.php', + 'addons\\shopro\\service\\activity\\Signin' => $baseDir . '/addons/shopro/service/activity/Signin.php', + 'addons\\shopro\\service\\commission\\Agent' => $baseDir . '/addons/shopro/service/commission/Agent.php', + 'addons\\shopro\\service\\commission\\Config' => $baseDir . '/addons/shopro/service/commission/Config.php', + 'addons\\shopro\\service\\commission\\Goods' => $baseDir . '/addons/shopro/service/commission/Goods.php', + 'addons\\shopro\\service\\commission\\Order' => $baseDir . '/addons/shopro/service/commission/Order.php', + 'addons\\shopro\\service\\commission\\Reward' => $baseDir . '/addons/shopro/service/commission/Reward.php', + 'addons\\shopro\\service\\goods\\GoodsService' => $baseDir . '/addons/shopro/service/goods/GoodsService.php', + 'addons\\shopro\\service\\order\\OrderCreate' => $baseDir . '/addons/shopro/service/order/OrderCreate.php', + 'addons\\shopro\\service\\order\\OrderDispatch' => $baseDir . '/addons/shopro/service/order/OrderDispatch.php', + 'addons\\shopro\\service\\order\\OrderOper' => $baseDir . '/addons/shopro/service/order/OrderOper.php', + 'addons\\shopro\\service\\order\\OrderRefund' => $baseDir . '/addons/shopro/service/order/OrderRefund.php', + 'addons\\shopro\\service\\order\\OrderThrough' => $baseDir . '/addons/shopro/service/order/OrderThrough.php', + 'addons\\shopro\\service\\order\\shippingInfo\\Base' => $baseDir . '/addons/shopro/service/order/shippingInfo/Base.php', + 'addons\\shopro\\service\\order\\shippingInfo\\OrderShippingInfo' => $baseDir . '/addons/shopro/service/order/shippingInfo/OrderShippingInfo.php', + 'addons\\shopro\\service\\order\\shippingInfo\\TradeOrderShippingInfo' => $baseDir . '/addons/shopro/service/order/shippingInfo/TradeOrderShippingInfo.php', + 'addons\\shopro\\service\\pay\\PayOper' => $baseDir . '/addons/shopro/service/pay/PayOper.php', + 'addons\\shopro\\service\\pay\\PayRefund' => $baseDir . '/addons/shopro/service/pay/PayRefund.php', + 'addons\\shopro\\service\\third\\apple\\Apple' => $baseDir . '/addons/shopro/service/third/apple/Apple.php', + 'addons\\shopro\\service\\third\\wechat\\MiniProgram' => $baseDir . '/addons/shopro/service/third/wechat/MiniProgram.php', + 'addons\\shopro\\service\\third\\wechat\\OfficialAccount' => $baseDir . '/addons/shopro/service/third/wechat/OfficialAccount.php', + 'addons\\shopro\\service\\third\\wechat\\OpenPlatform' => $baseDir . '/addons/shopro/service/third/wechat/OpenPlatform.php', + 'addons\\shopro\\service\\third\\wechat\\Wechat' => $baseDir . '/addons/shopro/service/third/wechat/Wechat.php', + 'addons\\shopro\\service\\user\\User' => $baseDir . '/addons/shopro/service/user/User.php', + 'addons\\shopro\\service\\user\\UserAuth' => $baseDir . '/addons/shopro/service/user/UserAuth.php', + 'addons\\shopro\\traits\\CouponSend' => $baseDir . '/addons/shopro/traits/CouponSend.php', + 'addons\\shopro\\traits\\StockWarning' => $baseDir . '/addons/shopro/traits/StockWarning.php', + 'addons\\shopro\\validate\\Withdraw' => $baseDir . '/addons/shopro/validate/Withdraw.php', + 'addons\\shopro\\validate\\activity\\Signin' => $baseDir . '/addons/shopro/validate/activity/Signin.php', + 'addons\\shopro\\validate\\order\\Aftersale' => $baseDir . '/addons/shopro/validate/order/Aftersale.php', + 'addons\\shopro\\validate\\order\\Order' => $baseDir . '/addons/shopro/validate/order/Order.php', + 'addons\\shopro\\validate\\third\\Wechat' => $baseDir . '/addons/shopro/validate/third/Wechat.php', + 'addons\\shopro\\validate\\trade\\Order' => $baseDir . '/addons/shopro/validate/trade/Order.php', + 'addons\\shopro\\validate\\user\\Account' => $baseDir . '/addons/shopro/validate/user/Account.php', + 'addons\\shopro\\validate\\user\\Address' => $baseDir . '/addons/shopro/validate/user/Address.php', + 'addons\\shopro\\validate\\user\\Invoice' => $baseDir . '/addons/shopro/validate/user/Invoice.php', + 'addons\\shopro\\validate\\user\\User' => $baseDir . '/addons/shopro/validate/user/User.php', + 'addons\\summernote\\Summernote' => $baseDir . '/addons/summernote/Summernote.php', + 'addons\\summernote\\controller\\Index' => $baseDir . '/addons/summernote/controller/Index.php', + 'think\\Addons' => $vendorDir . '/fastadminnet/fastadmin-addons/src/Addons.php', + 'think\\App' => $baseDir . '/thinkphp/library/think/App.php', + 'think\\Build' => $baseDir . '/thinkphp/library/think/Build.php', + 'think\\Cache' => $baseDir . '/thinkphp/library/think/Cache.php', + 'think\\Collection' => $baseDir . '/thinkphp/library/think/Collection.php', + 'think\\Config' => $baseDir . '/thinkphp/library/think/Config.php', + 'think\\Console' => $baseDir . '/thinkphp/library/think/Console.php', + 'think\\Controller' => $baseDir . '/thinkphp/library/think/Controller.php', + 'think\\Cookie' => $baseDir . '/thinkphp/library/think/Cookie.php', + 'think\\Db' => $baseDir . '/thinkphp/library/think/Db.php', + 'think\\Debug' => $baseDir . '/thinkphp/library/think/Debug.php', + 'think\\Env' => $baseDir . '/thinkphp/library/think/Env.php', + 'think\\Error' => $baseDir . '/thinkphp/library/think/Error.php', + 'think\\Exception' => $baseDir . '/thinkphp/library/think/Exception.php', + 'think\\File' => $baseDir . '/thinkphp/library/think/File.php', + 'think\\Hook' => $baseDir . '/thinkphp/library/think/Hook.php', + 'think\\Lang' => $baseDir . '/thinkphp/library/think/Lang.php', + 'think\\Loader' => $baseDir . '/thinkphp/library/think/Loader.php', + 'think\\Log' => $baseDir . '/thinkphp/library/think/Log.php', + 'think\\Model' => $baseDir . '/thinkphp/library/think/Model.php', + 'think\\Paginator' => $baseDir . '/thinkphp/library/think/Paginator.php', + 'think\\Process' => $baseDir . '/thinkphp/library/think/Process.php', + 'think\\Queue' => $vendorDir . '/topthink/think-queue/src/Queue.php', + 'think\\Request' => $baseDir . '/thinkphp/library/think/Request.php', + 'think\\Response' => $baseDir . '/thinkphp/library/think/Response.php', + 'think\\Route' => $baseDir . '/thinkphp/library/think/Route.php', + 'think\\Session' => $baseDir . '/thinkphp/library/think/Session.php', + 'think\\Template' => $baseDir . '/thinkphp/library/think/Template.php', + 'think\\Url' => $baseDir . '/thinkphp/library/think/Url.php', + 'think\\Validate' => $baseDir . '/thinkphp/library/think/Validate.php', + 'think\\View' => $baseDir . '/thinkphp/library/think/View.php', + 'think\\addons\\AddonException' => $vendorDir . '/fastadminnet/fastadmin-addons/src/addons/AddonException.php', + 'think\\addons\\Controller' => $vendorDir . '/fastadminnet/fastadmin-addons/src/addons/Controller.php', + 'think\\addons\\Route' => $vendorDir . '/fastadminnet/fastadmin-addons/src/addons/Route.php', + 'think\\addons\\Service' => $vendorDir . '/fastadminnet/fastadmin-addons/src/addons/Service.php', + 'think\\cache\\Driver' => $baseDir . '/thinkphp/library/think/cache/Driver.php', + 'think\\cache\\driver\\File' => $baseDir . '/thinkphp/library/think/cache/driver/File.php', + 'think\\cache\\driver\\Lite' => $baseDir . '/thinkphp/library/think/cache/driver/Lite.php', + 'think\\cache\\driver\\Memcache' => $baseDir . '/thinkphp/library/think/cache/driver/Memcache.php', + 'think\\cache\\driver\\Memcached' => $baseDir . '/thinkphp/library/think/cache/driver/Memcached.php', + 'think\\cache\\driver\\Redis' => $baseDir . '/thinkphp/library/think/cache/driver/Redis.php', + 'think\\cache\\driver\\Sqlite' => $baseDir . '/thinkphp/library/think/cache/driver/Sqlite.php', + 'think\\cache\\driver\\Wincache' => $baseDir . '/thinkphp/library/think/cache/driver/Wincache.php', + 'think\\cache\\driver\\Xcache' => $baseDir . '/thinkphp/library/think/cache/driver/Xcache.php', + 'think\\captcha\\Captcha' => $vendorDir . '/topthink/think-captcha/src/Captcha.php', + 'think\\captcha\\CaptchaController' => $vendorDir . '/topthink/think-captcha/src/CaptchaController.php', + 'think\\composer\\LibraryInstaller' => $vendorDir . '/topthink/think-installer/src/LibraryInstaller.php', + 'think\\composer\\Plugin' => $vendorDir . '/topthink/think-installer/src/Plugin.php', + 'think\\composer\\Promise' => $vendorDir . '/topthink/think-installer/src/Promise.php', + 'think\\composer\\ThinkExtend' => $vendorDir . '/topthink/think-installer/src/ThinkExtend.php', + 'think\\composer\\ThinkFramework' => $vendorDir . '/topthink/think-installer/src/ThinkFramework.php', + 'think\\composer\\ThinkTesting' => $vendorDir . '/topthink/think-installer/src/ThinkTesting.php', + 'think\\config\\driver\\Ini' => $baseDir . '/thinkphp/library/think/config/driver/Ini.php', + 'think\\config\\driver\\Json' => $baseDir . '/thinkphp/library/think/config/driver/Json.php', + 'think\\config\\driver\\Xml' => $baseDir . '/thinkphp/library/think/config/driver/Xml.php', + 'think\\console\\Command' => $baseDir . '/thinkphp/library/think/console/Command.php', + 'think\\console\\Input' => $baseDir . '/thinkphp/library/think/console/Input.php', + 'think\\console\\Output' => $baseDir . '/thinkphp/library/think/console/Output.php', + 'think\\console\\command\\Build' => $baseDir . '/thinkphp/library/think/console/command/Build.php', + 'think\\console\\command\\Clear' => $baseDir . '/thinkphp/library/think/console/command/Clear.php', + 'think\\console\\command\\Help' => $baseDir . '/thinkphp/library/think/console/command/Help.php', + 'think\\console\\command\\Lists' => $baseDir . '/thinkphp/library/think/console/command/Lists.php', + 'think\\console\\command\\Make' => $baseDir . '/thinkphp/library/think/console/command/Make.php', + 'think\\console\\command\\make\\Controller' => $baseDir . '/thinkphp/library/think/console/command/make/Controller.php', + 'think\\console\\command\\make\\Model' => $baseDir . '/thinkphp/library/think/console/command/make/Model.php', + 'think\\console\\command\\optimize\\Autoload' => $baseDir . '/thinkphp/library/think/console/command/optimize/Autoload.php', + 'think\\console\\command\\optimize\\Config' => $baseDir . '/thinkphp/library/think/console/command/optimize/Config.php', + 'think\\console\\command\\optimize\\Route' => $baseDir . '/thinkphp/library/think/console/command/optimize/Route.php', + 'think\\console\\command\\optimize\\Schema' => $baseDir . '/thinkphp/library/think/console/command/optimize/Schema.php', + 'think\\console\\input\\Argument' => $baseDir . '/thinkphp/library/think/console/input/Argument.php', + 'think\\console\\input\\Definition' => $baseDir . '/thinkphp/library/think/console/input/Definition.php', + 'think\\console\\input\\Option' => $baseDir . '/thinkphp/library/think/console/input/Option.php', + 'think\\console\\output\\Ask' => $baseDir . '/thinkphp/library/think/console/output/Ask.php', + 'think\\console\\output\\Descriptor' => $baseDir . '/thinkphp/library/think/console/output/Descriptor.php', + 'think\\console\\output\\Formatter' => $baseDir . '/thinkphp/library/think/console/output/Formatter.php', + 'think\\console\\output\\Question' => $baseDir . '/thinkphp/library/think/console/output/Question.php', + 'think\\console\\output\\descriptor\\Console' => $baseDir . '/thinkphp/library/think/console/output/descriptor/Console.php', + 'think\\console\\output\\driver\\Buffer' => $baseDir . '/thinkphp/library/think/console/output/driver/Buffer.php', + 'think\\console\\output\\driver\\Console' => $baseDir . '/thinkphp/library/think/console/output/driver/Console.php', + 'think\\console\\output\\driver\\Nothing' => $baseDir . '/thinkphp/library/think/console/output/driver/Nothing.php', + 'think\\console\\output\\formatter\\Stack' => $baseDir . '/thinkphp/library/think/console/output/formatter/Stack.php', + 'think\\console\\output\\formatter\\Style' => $baseDir . '/thinkphp/library/think/console/output/formatter/Style.php', + 'think\\console\\output\\question\\Choice' => $baseDir . '/thinkphp/library/think/console/output/question/Choice.php', + 'think\\console\\output\\question\\Confirmation' => $baseDir . '/thinkphp/library/think/console/output/question/Confirmation.php', + 'think\\controller\\Rest' => $baseDir . '/thinkphp/library/think/controller/Rest.php', + 'think\\controller\\Yar' => $baseDir . '/thinkphp/library/think/controller/Yar.php', + 'think\\db\\Builder' => $baseDir . '/thinkphp/library/think/db/Builder.php', + 'think\\db\\Connection' => $baseDir . '/thinkphp/library/think/db/Connection.php', + 'think\\db\\Expression' => $baseDir . '/thinkphp/library/think/db/Expression.php', + 'think\\db\\Query' => $baseDir . '/thinkphp/library/think/db/Query.php', + 'think\\db\\builder\\Mysql' => $baseDir . '/thinkphp/library/think/db/builder/Mysql.php', + 'think\\db\\builder\\Pgsql' => $baseDir . '/thinkphp/library/think/db/builder/Pgsql.php', + 'think\\db\\builder\\Sqlite' => $baseDir . '/thinkphp/library/think/db/builder/Sqlite.php', + 'think\\db\\builder\\Sqlsrv' => $baseDir . '/thinkphp/library/think/db/builder/Sqlsrv.php', + 'think\\db\\connector\\Mysql' => $baseDir . '/thinkphp/library/think/db/connector/Mysql.php', + 'think\\db\\connector\\Pgsql' => $baseDir . '/thinkphp/library/think/db/connector/Pgsql.php', + 'think\\db\\connector\\Sqlite' => $baseDir . '/thinkphp/library/think/db/connector/Sqlite.php', + 'think\\db\\connector\\Sqlsrv' => $baseDir . '/thinkphp/library/think/db/connector/Sqlsrv.php', + 'think\\db\\exception\\BindParamException' => $baseDir . '/thinkphp/library/think/db/exception/BindParamException.php', + 'think\\db\\exception\\DataNotFoundException' => $baseDir . '/thinkphp/library/think/db/exception/DataNotFoundException.php', + 'think\\db\\exception\\ModelNotFoundException' => $baseDir . '/thinkphp/library/think/db/exception/ModelNotFoundException.php', + 'think\\debug\\Console' => $baseDir . '/thinkphp/library/think/debug/Console.php', + 'think\\debug\\Html' => $baseDir . '/thinkphp/library/think/debug/Html.php', + 'think\\exception\\ClassNotFoundException' => $baseDir . '/thinkphp/library/think/exception/ClassNotFoundException.php', + 'think\\exception\\DbException' => $baseDir . '/thinkphp/library/think/exception/DbException.php', + 'think\\exception\\ErrorException' => $baseDir . '/thinkphp/library/think/exception/ErrorException.php', + 'think\\exception\\Handle' => $baseDir . '/thinkphp/library/think/exception/Handle.php', + 'think\\exception\\HttpException' => $baseDir . '/thinkphp/library/think/exception/HttpException.php', + 'think\\exception\\HttpResponseException' => $baseDir . '/thinkphp/library/think/exception/HttpResponseException.php', + 'think\\exception\\PDOException' => $baseDir . '/thinkphp/library/think/exception/PDOException.php', + 'think\\exception\\RouteNotFoundException' => $baseDir . '/thinkphp/library/think/exception/RouteNotFoundException.php', + 'think\\exception\\TemplateNotFoundException' => $baseDir . '/thinkphp/library/think/exception/TemplateNotFoundException.php', + 'think\\exception\\ThrowableError' => $baseDir . '/thinkphp/library/think/exception/ThrowableError.php', + 'think\\exception\\ValidateException' => $baseDir . '/thinkphp/library/think/exception/ValidateException.php', + 'think\\helper\\Arr' => $vendorDir . '/topthink/think-helper/src/Arr.php', + 'think\\helper\\Hash' => $vendorDir . '/topthink/think-helper/src/Hash.php', + 'think\\helper\\Str' => $vendorDir . '/topthink/think-helper/src/Str.php', + 'think\\helper\\Time' => $vendorDir . '/topthink/think-helper/src/Time.php', + 'think\\helper\\hash\\Bcrypt' => $vendorDir . '/topthink/think-helper/src/hash/Bcrypt.php', + 'think\\helper\\hash\\Md5' => $vendorDir . '/topthink/think-helper/src/hash/Md5.php', + 'think\\log\\driver\\File' => $baseDir . '/thinkphp/library/think/log/driver/File.php', + 'think\\log\\driver\\Socket' => $baseDir . '/thinkphp/library/think/log/driver/Socket.php', + 'think\\log\\driver\\Test' => $baseDir . '/thinkphp/library/think/log/driver/Test.php', + 'think\\model\\Collection' => $baseDir . '/thinkphp/library/think/model/Collection.php', + 'think\\model\\Merge' => $baseDir . '/thinkphp/library/think/model/Merge.php', + 'think\\model\\Pivot' => $baseDir . '/thinkphp/library/think/model/Pivot.php', + 'think\\model\\Relation' => $baseDir . '/thinkphp/library/think/model/Relation.php', + 'think\\model\\relation\\BelongsTo' => $baseDir . '/thinkphp/library/think/model/relation/BelongsTo.php', + 'think\\model\\relation\\BelongsToMany' => $baseDir . '/thinkphp/library/think/model/relation/BelongsToMany.php', + 'think\\model\\relation\\HasMany' => $baseDir . '/thinkphp/library/think/model/relation/HasMany.php', + 'think\\model\\relation\\HasManyThrough' => $baseDir . '/thinkphp/library/think/model/relation/HasManyThrough.php', + 'think\\model\\relation\\HasOne' => $baseDir . '/thinkphp/library/think/model/relation/HasOne.php', + 'think\\model\\relation\\MorphMany' => $baseDir . '/thinkphp/library/think/model/relation/MorphMany.php', + 'think\\model\\relation\\MorphOne' => $baseDir . '/thinkphp/library/think/model/relation/MorphOne.php', + 'think\\model\\relation\\MorphTo' => $baseDir . '/thinkphp/library/think/model/relation/MorphTo.php', + 'think\\model\\relation\\OneToOne' => $baseDir . '/thinkphp/library/think/model/relation/OneToOne.php', + 'think\\paginator\\driver\\Bootstrap' => $baseDir . '/thinkphp/library/think/paginator/driver/Bootstrap.php', + 'think\\process\\Builder' => $baseDir . '/thinkphp/library/think/process/Builder.php', + 'think\\process\\Utils' => $baseDir . '/thinkphp/library/think/process/Utils.php', + 'think\\process\\exception\\Failed' => $baseDir . '/thinkphp/library/think/process/exception/Failed.php', + 'think\\process\\exception\\Timeout' => $baseDir . '/thinkphp/library/think/process/exception/Timeout.php', + 'think\\process\\pipes\\Pipes' => $baseDir . '/thinkphp/library/think/process/pipes/Pipes.php', + 'think\\process\\pipes\\Unix' => $baseDir . '/thinkphp/library/think/process/pipes/Unix.php', + 'think\\process\\pipes\\Windows' => $baseDir . '/thinkphp/library/think/process/pipes/Windows.php', + 'think\\queue\\CallQueuedHandler' => $vendorDir . '/topthink/think-queue/src/queue/CallQueuedHandler.php', + 'think\\queue\\Connector' => $vendorDir . '/topthink/think-queue/src/queue/Connector.php', + 'think\\queue\\Job' => $vendorDir . '/topthink/think-queue/src/queue/Job.php', + 'think\\queue\\Listener' => $vendorDir . '/topthink/think-queue/src/queue/Listener.php', + 'think\\queue\\Queueable' => $vendorDir . '/topthink/think-queue/src/queue/Queueable.php', + 'think\\queue\\ShouldQueue' => $vendorDir . '/topthink/think-queue/src/queue/ShouldQueue.php', + 'think\\queue\\Worker' => $vendorDir . '/topthink/think-queue/src/queue/Worker.php', + 'think\\queue\\command\\Listen' => $vendorDir . '/topthink/think-queue/src/queue/command/Listen.php', + 'think\\queue\\command\\Restart' => $vendorDir . '/topthink/think-queue/src/queue/command/Restart.php', + 'think\\queue\\command\\Subscribe' => $vendorDir . '/topthink/think-queue/src/queue/command/Subscribe.php', + 'think\\queue\\command\\Work' => $vendorDir . '/topthink/think-queue/src/queue/command/Work.php', + 'think\\queue\\connector\\Database' => $vendorDir . '/topthink/think-queue/src/queue/connector/Database.php', + 'think\\queue\\connector\\Redis' => $vendorDir . '/topthink/think-queue/src/queue/connector/Redis.php', + 'think\\queue\\connector\\Sync' => $vendorDir . '/topthink/think-queue/src/queue/connector/Sync.php', + 'think\\queue\\connector\\Topthink' => $vendorDir . '/topthink/think-queue/src/queue/connector/Topthink.php', + 'think\\queue\\job\\Database' => $vendorDir . '/topthink/think-queue/src/queue/job/Database.php', + 'think\\queue\\job\\Redis' => $vendorDir . '/topthink/think-queue/src/queue/job/Redis.php', + 'think\\queue\\job\\Sync' => $vendorDir . '/topthink/think-queue/src/queue/job/Sync.php', + 'think\\queue\\job\\Topthink' => $vendorDir . '/topthink/think-queue/src/queue/job/Topthink.php', + 'think\\response\\Json' => $baseDir . '/thinkphp/library/think/response/Json.php', + 'think\\response\\Jsonp' => $baseDir . '/thinkphp/library/think/response/Jsonp.php', + 'think\\response\\Redirect' => $baseDir . '/thinkphp/library/think/response/Redirect.php', + 'think\\response\\View' => $baseDir . '/thinkphp/library/think/response/View.php', + 'think\\response\\Xml' => $baseDir . '/thinkphp/library/think/response/Xml.php', + 'think\\session\\driver\\Memcache' => $baseDir . '/thinkphp/library/think/session/driver/Memcache.php', + 'think\\session\\driver\\Memcached' => $baseDir . '/thinkphp/library/think/session/driver/Memcached.php', + 'think\\session\\driver\\Redis' => $baseDir . '/thinkphp/library/think/session/driver/Redis.php', + 'think\\template\\TagLib' => $baseDir . '/thinkphp/library/think/template/TagLib.php', + 'think\\template\\driver\\File' => $baseDir . '/thinkphp/library/think/template/driver/File.php', + 'think\\template\\taglib\\Cx' => $baseDir . '/thinkphp/library/think/template/taglib/Cx.php', + 'think\\view\\driver\\Php' => $baseDir . '/thinkphp/library/think/view/driver/Php.php', + 'think\\view\\driver\\Think' => $baseDir . '/thinkphp/library/think/view/driver/Think.php', ); diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 491af61..14f0db2 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -296,12 +296,2282 @@ class ComposerStaticInitf3106b6ef3260b6914241eab0bed11c1 public static $classMap = array ( 'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php', + 'Channel\\Client' => __DIR__ . '/..' . '/workerman/channel/src/Client.php', + 'Channel\\Queue' => __DIR__ . '/..' . '/workerman/channel/src/Queue.php', + 'Channel\\Server' => __DIR__ . '/..' . '/workerman/channel/src/Server.php', + 'Complex\\Complex' => __DIR__ . '/..' . '/markbaker/complex/classes/src/Complex.php', + 'Complex\\Exception' => __DIR__ . '/..' . '/markbaker/complex/classes/src/Exception.php', + 'Complex\\Functions' => __DIR__ . '/..' . '/markbaker/complex/classes/src/Functions.php', + 'Complex\\Operations' => __DIR__ . '/..' . '/markbaker/complex/classes/src/Operations.php', 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', + 'Composer\\Pcre\\MatchAllResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchAllResult.php', + 'Composer\\Pcre\\MatchAllStrictGroupsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchAllStrictGroupsResult.php', + 'Composer\\Pcre\\MatchAllWithOffsetsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchAllWithOffsetsResult.php', + 'Composer\\Pcre\\MatchResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchResult.php', + 'Composer\\Pcre\\MatchStrictGroupsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchStrictGroupsResult.php', + 'Composer\\Pcre\\MatchWithOffsetsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchWithOffsetsResult.php', + 'Composer\\Pcre\\PHPStan\\InvalidRegexPatternRule' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php', + 'Composer\\Pcre\\PHPStan\\PregMatchFlags' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchFlags.php', + 'Composer\\Pcre\\PHPStan\\PregMatchParameterOutTypeExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php', + 'Composer\\Pcre\\PHPStan\\PregMatchTypeSpecifyingExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php', + 'Composer\\Pcre\\PHPStan\\PregReplaceCallbackClosureTypeExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php', + 'Composer\\Pcre\\PHPStan\\UnsafeStrictGroupsCallRule' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php', + 'Composer\\Pcre\\PcreException' => __DIR__ . '/..' . '/composer/pcre/src/PcreException.php', + 'Composer\\Pcre\\Preg' => __DIR__ . '/..' . '/composer/pcre/src/Preg.php', + 'Composer\\Pcre\\Regex' => __DIR__ . '/..' . '/composer/pcre/src/Regex.php', + 'Composer\\Pcre\\ReplaceResult' => __DIR__ . '/..' . '/composer/pcre/src/ReplaceResult.php', + 'Composer\\Pcre\\UnexpectedNullMatchException' => __DIR__ . '/..' . '/composer/pcre/src/UnexpectedNullMatchException.php', + 'EasyWeChatComposer\\Commands\\ExtensionsCommand' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Commands/ExtensionsCommand.php', + 'EasyWeChatComposer\\Commands\\Provider' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Commands/Provider.php', + 'EasyWeChatComposer\\Contracts\\Encrypter' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Contracts/Encrypter.php', + 'EasyWeChatComposer\\Delegation\\DelegationOptions' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Delegation/DelegationOptions.php', + 'EasyWeChatComposer\\Delegation\\DelegationTo' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Delegation/DelegationTo.php', + 'EasyWeChatComposer\\Delegation\\Hydrate' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Delegation/Hydrate.php', + 'EasyWeChatComposer\\EasyWeChat' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/EasyWeChat.php', + 'EasyWeChatComposer\\Encryption\\DefaultEncrypter' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Encryption/DefaultEncrypter.php', + 'EasyWeChatComposer\\Exceptions\\DecryptException' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Exceptions/DecryptException.php', + 'EasyWeChatComposer\\Exceptions\\DelegationException' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Exceptions/DelegationException.php', + 'EasyWeChatComposer\\Exceptions\\EncryptException' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Exceptions/EncryptException.php', + 'EasyWeChatComposer\\Extension' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Extension.php', + 'EasyWeChatComposer\\Http\\DelegationResponse' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Http/DelegationResponse.php', + 'EasyWeChatComposer\\Http\\Response' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Http/Response.php', + 'EasyWeChatComposer\\Laravel\\Http\\Controllers\\DelegatesController' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Laravel/Http/Controllers/DelegatesController.php', + 'EasyWeChatComposer\\Laravel\\ServiceProvider' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Laravel/ServiceProvider.php', + 'EasyWeChatComposer\\ManifestManager' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/ManifestManager.php', + 'EasyWeChatComposer\\Plugin' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Plugin.php', + 'EasyWeChatComposer\\Traits\\MakesHttpRequests' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Traits/MakesHttpRequests.php', + 'EasyWeChatComposer\\Traits\\WithAggregator' => __DIR__ . '/..' . '/easywechat-composer/easywechat-composer/src/Traits/WithAggregator.php', + 'EasyWeChat\\BasicService\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/Application.php', + 'EasyWeChat\\BasicService\\ContentSecurity\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/ContentSecurity/Client.php', + 'EasyWeChat\\BasicService\\ContentSecurity\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/ContentSecurity/ServiceProvider.php', + 'EasyWeChat\\BasicService\\Jssdk\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/Jssdk/Client.php', + 'EasyWeChat\\BasicService\\Jssdk\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/Jssdk/ServiceProvider.php', + 'EasyWeChat\\BasicService\\Media\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/Media/Client.php', + 'EasyWeChat\\BasicService\\Media\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/Media/ServiceProvider.php', + 'EasyWeChat\\BasicService\\QrCode\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/QrCode/Client.php', + 'EasyWeChat\\BasicService\\QrCode\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/QrCode/ServiceProvider.php', + 'EasyWeChat\\BasicService\\Url\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/Url/Client.php', + 'EasyWeChat\\BasicService\\Url\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/BasicService/Url/ServiceProvider.php', + 'EasyWeChat\\Factory' => __DIR__ . '/..' . '/overtrue/wechat/src/Factory.php', + 'EasyWeChat\\Kernel\\AccessToken' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/AccessToken.php', + 'EasyWeChat\\Kernel\\BaseClient' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/BaseClient.php', + 'EasyWeChat\\Kernel\\Clauses\\Clause' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Clauses/Clause.php', + 'EasyWeChat\\Kernel\\Config' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Config.php', + 'EasyWeChat\\Kernel\\Contracts\\AccessTokenInterface' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Contracts/AccessTokenInterface.php', + 'EasyWeChat\\Kernel\\Contracts\\Arrayable' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Contracts/Arrayable.php', + 'EasyWeChat\\Kernel\\Contracts\\EventHandlerInterface' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Contracts/EventHandlerInterface.php', + 'EasyWeChat\\Kernel\\Contracts\\MediaInterface' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Contracts/MediaInterface.php', + 'EasyWeChat\\Kernel\\Contracts\\MessageInterface' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Contracts/MessageInterface.php', + 'EasyWeChat\\Kernel\\Decorators\\FinallyResult' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Decorators/FinallyResult.php', + 'EasyWeChat\\Kernel\\Decorators\\TerminateResult' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Decorators/TerminateResult.php', + 'EasyWeChat\\Kernel\\Encryptor' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Encryptor.php', + 'EasyWeChat\\Kernel\\Events\\AccessTokenRefreshed' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Events/AccessTokenRefreshed.php', + 'EasyWeChat\\Kernel\\Events\\ApplicationInitialized' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Events/ApplicationInitialized.php', + 'EasyWeChat\\Kernel\\Events\\HttpResponseCreated' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Events/HttpResponseCreated.php', + 'EasyWeChat\\Kernel\\Events\\ServerGuardResponseCreated' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Events/ServerGuardResponseCreated.php', + 'EasyWeChat\\Kernel\\Exceptions\\BadRequestException' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Exceptions/BadRequestException.php', + 'EasyWeChat\\Kernel\\Exceptions\\DecryptException' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Exceptions/DecryptException.php', + 'EasyWeChat\\Kernel\\Exceptions\\Exception' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Exceptions/Exception.php', + 'EasyWeChat\\Kernel\\Exceptions\\HttpException' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Exceptions/HttpException.php', + 'EasyWeChat\\Kernel\\Exceptions\\InvalidArgumentException' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Exceptions/InvalidArgumentException.php', + 'EasyWeChat\\Kernel\\Exceptions\\InvalidConfigException' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Exceptions/InvalidConfigException.php', + 'EasyWeChat\\Kernel\\Exceptions\\RuntimeException' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Exceptions/RuntimeException.php', + 'EasyWeChat\\Kernel\\Exceptions\\UnboundServiceException' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Exceptions/UnboundServiceException.php', + 'EasyWeChat\\Kernel\\Http\\Response' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Http/Response.php', + 'EasyWeChat\\Kernel\\Http\\StreamResponse' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Http/StreamResponse.php', + 'EasyWeChat\\Kernel\\Log\\LogManager' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Log/LogManager.php', + 'EasyWeChat\\Kernel\\Messages\\Article' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Article.php', + 'EasyWeChat\\Kernel\\Messages\\Card' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Card.php', + 'EasyWeChat\\Kernel\\Messages\\DeviceEvent' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/DeviceEvent.php', + 'EasyWeChat\\Kernel\\Messages\\DeviceText' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/DeviceText.php', + 'EasyWeChat\\Kernel\\Messages\\File' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/File.php', + 'EasyWeChat\\Kernel\\Messages\\Image' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Image.php', + 'EasyWeChat\\Kernel\\Messages\\Link' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Link.php', + 'EasyWeChat\\Kernel\\Messages\\Location' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Location.php', + 'EasyWeChat\\Kernel\\Messages\\Media' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Media.php', + 'EasyWeChat\\Kernel\\Messages\\Message' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Message.php', + 'EasyWeChat\\Kernel\\Messages\\MiniProgramPage' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/MiniProgramPage.php', + 'EasyWeChat\\Kernel\\Messages\\MiniprogramNotice' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/MiniprogramNotice.php', + 'EasyWeChat\\Kernel\\Messages\\Music' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Music.php', + 'EasyWeChat\\Kernel\\Messages\\News' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/News.php', + 'EasyWeChat\\Kernel\\Messages\\NewsItem' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/NewsItem.php', + 'EasyWeChat\\Kernel\\Messages\\Raw' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Raw.php', + 'EasyWeChat\\Kernel\\Messages\\ShortVideo' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/ShortVideo.php', + 'EasyWeChat\\Kernel\\Messages\\TaskCard' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/TaskCard.php', + 'EasyWeChat\\Kernel\\Messages\\Text' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Text.php', + 'EasyWeChat\\Kernel\\Messages\\TextCard' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/TextCard.php', + 'EasyWeChat\\Kernel\\Messages\\Transfer' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Transfer.php', + 'EasyWeChat\\Kernel\\Messages\\Video' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Video.php', + 'EasyWeChat\\Kernel\\Messages\\Voice' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Messages/Voice.php', + 'EasyWeChat\\Kernel\\Providers\\ConfigServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Providers/ConfigServiceProvider.php', + 'EasyWeChat\\Kernel\\Providers\\EventDispatcherServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Providers/EventDispatcherServiceProvider.php', + 'EasyWeChat\\Kernel\\Providers\\ExtensionServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Providers/ExtensionServiceProvider.php', + 'EasyWeChat\\Kernel\\Providers\\HttpClientServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Providers/HttpClientServiceProvider.php', + 'EasyWeChat\\Kernel\\Providers\\LogServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Providers/LogServiceProvider.php', + 'EasyWeChat\\Kernel\\Providers\\RequestServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Providers/RequestServiceProvider.php', + 'EasyWeChat\\Kernel\\ServerGuard' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/ServerGuard.php', + 'EasyWeChat\\Kernel\\ServiceContainer' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/ServiceContainer.php', + 'EasyWeChat\\Kernel\\Support\\AES' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Support/AES.php', + 'EasyWeChat\\Kernel\\Support\\Arr' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Support/Arr.php', + 'EasyWeChat\\Kernel\\Support\\ArrayAccessible' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Support/ArrayAccessible.php', + 'EasyWeChat\\Kernel\\Support\\Collection' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Support/Collection.php', + 'EasyWeChat\\Kernel\\Support\\File' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Support/File.php', + 'EasyWeChat\\Kernel\\Support\\Str' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Support/Str.php', + 'EasyWeChat\\Kernel\\Support\\XML' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Support/XML.php', + 'EasyWeChat\\Kernel\\Traits\\HasAttributes' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Traits/HasAttributes.php', + 'EasyWeChat\\Kernel\\Traits\\HasHttpRequests' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Traits/HasHttpRequests.php', + 'EasyWeChat\\Kernel\\Traits\\InteractsWithCache' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Traits/InteractsWithCache.php', + 'EasyWeChat\\Kernel\\Traits\\Observable' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Traits/Observable.php', + 'EasyWeChat\\Kernel\\Traits\\ResponseCastable' => __DIR__ . '/..' . '/overtrue/wechat/src/Kernel/Traits/ResponseCastable.php', + 'EasyWeChat\\MicroMerchant\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Application.php', + 'EasyWeChat\\MicroMerchant\\Base\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Base/Client.php', + 'EasyWeChat\\MicroMerchant\\Base\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Base/ServiceProvider.php', + 'EasyWeChat\\MicroMerchant\\Certficates\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Certficates/Client.php', + 'EasyWeChat\\MicroMerchant\\Certficates\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Certficates/ServiceProvider.php', + 'EasyWeChat\\MicroMerchant\\Kernel\\BaseClient' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Kernel/BaseClient.php', + 'EasyWeChat\\MicroMerchant\\Kernel\\Exceptions\\EncryptException' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Kernel/Exceptions/EncryptException.php', + 'EasyWeChat\\MicroMerchant\\Kernel\\Exceptions\\InvalidExtensionException' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Kernel/Exceptions/InvalidExtensionException.php', + 'EasyWeChat\\MicroMerchant\\Kernel\\Exceptions\\InvalidSignException' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Kernel/Exceptions/InvalidSignException.php', + 'EasyWeChat\\MicroMerchant\\Material\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Material/Client.php', + 'EasyWeChat\\MicroMerchant\\Material\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Material/ServiceProvider.php', + 'EasyWeChat\\MicroMerchant\\Media\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Media/Client.php', + 'EasyWeChat\\MicroMerchant\\Media\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Media/ServiceProvider.php', + 'EasyWeChat\\MicroMerchant\\MerchantConfig\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/MerchantConfig/Client.php', + 'EasyWeChat\\MicroMerchant\\MerchantConfig\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/MerchantConfig/ServiceProvider.php', + 'EasyWeChat\\MicroMerchant\\Withdraw\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Withdraw/Client.php', + 'EasyWeChat\\MicroMerchant\\Withdraw\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MicroMerchant/Withdraw/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\ActivityMessage\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/ActivityMessage/Client.php', + 'EasyWeChat\\MiniProgram\\ActivityMessage\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/ActivityMessage/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\AppCode\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/AppCode/Client.php', + 'EasyWeChat\\MiniProgram\\AppCode\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/AppCode/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Application.php', + 'EasyWeChat\\MiniProgram\\Auth\\AccessToken' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Auth/AccessToken.php', + 'EasyWeChat\\MiniProgram\\Auth\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Auth/Client.php', + 'EasyWeChat\\MiniProgram\\Auth\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Auth/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Base\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Base/Client.php', + 'EasyWeChat\\MiniProgram\\Base\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Base/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Broadcast\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Broadcast/Client.php', + 'EasyWeChat\\MiniProgram\\Broadcast\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Broadcast/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\CustomerService\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/CustomerService/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\DataCube\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/DataCube/Client.php', + 'EasyWeChat\\MiniProgram\\DataCube\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/DataCube/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Encryptor' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Encryptor.php', + 'EasyWeChat\\MiniProgram\\Express\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Express/Client.php', + 'EasyWeChat\\MiniProgram\\Express\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Express/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Live\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Live/Client.php', + 'EasyWeChat\\MiniProgram\\Live\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Live/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Mall\\CartClient' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Mall/CartClient.php', + 'EasyWeChat\\MiniProgram\\Mall\\ForwardsMall' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Mall/ForwardsMall.php', + 'EasyWeChat\\MiniProgram\\Mall\\MediaClient' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Mall/MediaClient.php', + 'EasyWeChat\\MiniProgram\\Mall\\OrderClient' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Mall/OrderClient.php', + 'EasyWeChat\\MiniProgram\\Mall\\ProductClient' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Mall/ProductClient.php', + 'EasyWeChat\\MiniProgram\\Mall\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Mall/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\NearbyPoi\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/NearbyPoi/Client.php', + 'EasyWeChat\\MiniProgram\\NearbyPoi\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/NearbyPoi/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\OCR\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/OCR/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\OpenData\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/OpenData/Client.php', + 'EasyWeChat\\MiniProgram\\OpenData\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/OpenData/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Plugin\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Plugin/Client.php', + 'EasyWeChat\\MiniProgram\\Plugin\\DevClient' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Plugin/DevClient.php', + 'EasyWeChat\\MiniProgram\\Plugin\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Plugin/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\RealtimeLog\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/RealtimeLog/Client.php', + 'EasyWeChat\\MiniProgram\\RealtimeLog\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/RealtimeLog/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Search\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Search/Client.php', + 'EasyWeChat\\MiniProgram\\Search\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Search/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Server\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Server/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\Soter\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Soter/Client.php', + 'EasyWeChat\\MiniProgram\\Soter\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/Soter/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\SubscribeMessage\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/SubscribeMessage/Client.php', + 'EasyWeChat\\MiniProgram\\SubscribeMessage\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/SubscribeMessage/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\TemplateMessage\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/TemplateMessage/Client.php', + 'EasyWeChat\\MiniProgram\\TemplateMessage\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/TemplateMessage/ServiceProvider.php', + 'EasyWeChat\\MiniProgram\\UniformMessage\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/UniformMessage/Client.php', + 'EasyWeChat\\MiniProgram\\UniformMessage\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/MiniProgram/UniformMessage/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Application.php', + 'EasyWeChat\\OfficialAccount\\Auth\\AccessToken' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Auth/AccessToken.php', + 'EasyWeChat\\OfficialAccount\\Auth\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Auth/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\AutoReply\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/AutoReply/Client.php', + 'EasyWeChat\\OfficialAccount\\AutoReply\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/AutoReply/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Base\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Base/Client.php', + 'EasyWeChat\\OfficialAccount\\Base\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Base/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Broadcasting\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Broadcasting/Client.php', + 'EasyWeChat\\OfficialAccount\\Broadcasting\\MessageBuilder' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Broadcasting/MessageBuilder.php', + 'EasyWeChat\\OfficialAccount\\Broadcasting\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Broadcasting/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Card\\BoardingPassClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/BoardingPassClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\Card' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/Card.php', + 'EasyWeChat\\OfficialAccount\\Card\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/Client.php', + 'EasyWeChat\\OfficialAccount\\Card\\CodeClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/CodeClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\CoinClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/CoinClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\GeneralCardClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/GeneralCardClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\GiftCardClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/GiftCardClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\GiftCardOrderClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/GiftCardOrderClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\GiftCardPageClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/GiftCardPageClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\InvoiceClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/InvoiceClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\JssdkClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/JssdkClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\MeetingTicketClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/MeetingTicketClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\MemberCardClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/MemberCardClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\MovieTicketClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/MovieTicketClient.php', + 'EasyWeChat\\OfficialAccount\\Card\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Card\\SubMerchantClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Card/SubMerchantClient.php', + 'EasyWeChat\\OfficialAccount\\Comment\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Comment/Client.php', + 'EasyWeChat\\OfficialAccount\\Comment\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Comment/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\CustomerService\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/CustomerService/Client.php', + 'EasyWeChat\\OfficialAccount\\CustomerService\\Messenger' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/CustomerService/Messenger.php', + 'EasyWeChat\\OfficialAccount\\CustomerService\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/CustomerService/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\CustomerService\\SessionClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/CustomerService/SessionClient.php', + 'EasyWeChat\\OfficialAccount\\DataCube\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/DataCube/Client.php', + 'EasyWeChat\\OfficialAccount\\DataCube\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/DataCube/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Device\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Device/Client.php', + 'EasyWeChat\\OfficialAccount\\Device\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Device/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Goods\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Goods/Client.php', + 'EasyWeChat\\OfficialAccount\\Goods\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Goods/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Guide\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Guide/Client.php', + 'EasyWeChat\\OfficialAccount\\Guide\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Guide/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Material\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Material/Client.php', + 'EasyWeChat\\OfficialAccount\\Material\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Material/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Menu\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Menu/Client.php', + 'EasyWeChat\\OfficialAccount\\Menu\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Menu/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\OAuth\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/OAuth/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\OCR\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/OCR/Client.php', + 'EasyWeChat\\OfficialAccount\\OCR\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/OCR/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\POI\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/POI/Client.php', + 'EasyWeChat\\OfficialAccount\\POI\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/POI/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Semantic\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Semantic/Client.php', + 'EasyWeChat\\OfficialAccount\\Semantic\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Semantic/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\Server\\Guard' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Server/Guard.php', + 'EasyWeChat\\OfficialAccount\\Server\\Handlers\\EchoStrHandler' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Server/Handlers/EchoStrHandler.php', + 'EasyWeChat\\OfficialAccount\\Server\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Server/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/ShakeAround/Client.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\DeviceClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/ShakeAround/DeviceClient.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\GroupClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/ShakeAround/GroupClient.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\MaterialClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/ShakeAround/MaterialClient.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\PageClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/ShakeAround/PageClient.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\RelationClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/ShakeAround/RelationClient.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/ShakeAround/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\ShakeAround' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/ShakeAround/ShakeAround.php', + 'EasyWeChat\\OfficialAccount\\ShakeAround\\StatsClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/ShakeAround/StatsClient.php', + 'EasyWeChat\\OfficialAccount\\Store\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Store/Client.php', + 'EasyWeChat\\OfficialAccount\\Store\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/Store/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\SubscribeMessage\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/SubscribeMessage/Client.php', + 'EasyWeChat\\OfficialAccount\\SubscribeMessage\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/SubscribeMessage/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\TemplateMessage\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/TemplateMessage/Client.php', + 'EasyWeChat\\OfficialAccount\\TemplateMessage\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/TemplateMessage/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\User\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/User/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\User\\TagClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/User/TagClient.php', + 'EasyWeChat\\OfficialAccount\\User\\UserClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/User/UserClient.php', + 'EasyWeChat\\OfficialAccount\\WiFi\\CardClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/WiFi/CardClient.php', + 'EasyWeChat\\OfficialAccount\\WiFi\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/WiFi/Client.php', + 'EasyWeChat\\OfficialAccount\\WiFi\\DeviceClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/WiFi/DeviceClient.php', + 'EasyWeChat\\OfficialAccount\\WiFi\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/WiFi/ServiceProvider.php', + 'EasyWeChat\\OfficialAccount\\WiFi\\ShopClient' => __DIR__ . '/..' . '/overtrue/wechat/src/OfficialAccount/WiFi/ShopClient.php', + 'EasyWeChat\\OpenPlatform\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Application.php', + 'EasyWeChat\\OpenPlatform\\Auth\\AccessToken' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Auth/AccessToken.php', + 'EasyWeChat\\OpenPlatform\\Auth\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Auth/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Auth\\VerifyTicket' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Auth/VerifyTicket.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\Aggregate\\Account\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/Aggregate/Account/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\Aggregate\\AggregateServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/Aggregate/AggregateServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\Auth\\AccessToken' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/Auth/AccessToken.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Account\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Account/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Account\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Account/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Application.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Auth\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Auth/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Code\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Code/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Code\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Code/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Domain\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Domain/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Domain\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Domain/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Setting\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Setting/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Setting\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Setting/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Tester\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Tester/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\MiniProgram\\Tester\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/MiniProgram/Tester/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\OfficialAccount\\Account\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/OfficialAccount/Account/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\OfficialAccount\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/OfficialAccount/Application.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\OfficialAccount\\MiniProgram\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/OfficialAccount/MiniProgram/Client.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\OfficialAccount\\MiniProgram\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/OfficialAccount/MiniProgram/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\OfficialAccount\\OAuth\\ComponentDelegate' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/OfficialAccount/OAuth/ComponentDelegate.php', + 'EasyWeChat\\OpenPlatform\\Authorizer\\Server\\Guard' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Authorizer/Server/Guard.php', + 'EasyWeChat\\OpenPlatform\\Base\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Base/Client.php', + 'EasyWeChat\\OpenPlatform\\Base\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Base/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\CodeTemplate\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/CodeTemplate/Client.php', + 'EasyWeChat\\OpenPlatform\\CodeTemplate\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/CodeTemplate/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Component\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Component/Client.php', + 'EasyWeChat\\OpenPlatform\\Component\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Component/ServiceProvider.php', + 'EasyWeChat\\OpenPlatform\\Server\\Guard' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Server/Guard.php', + 'EasyWeChat\\OpenPlatform\\Server\\Handlers\\Authorized' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Server/Handlers/Authorized.php', + 'EasyWeChat\\OpenPlatform\\Server\\Handlers\\Unauthorized' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Server/Handlers/Unauthorized.php', + 'EasyWeChat\\OpenPlatform\\Server\\Handlers\\UpdateAuthorized' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Server/Handlers/UpdateAuthorized.php', + 'EasyWeChat\\OpenPlatform\\Server\\Handlers\\VerifyTicketRefreshed' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Server/Handlers/VerifyTicketRefreshed.php', + 'EasyWeChat\\OpenPlatform\\Server\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenPlatform/Server/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Application.php', + 'EasyWeChat\\OpenWork\\Auth\\AccessToken' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Auth/AccessToken.php', + 'EasyWeChat\\OpenWork\\Auth\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Auth/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\Corp\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Corp/Client.php', + 'EasyWeChat\\OpenWork\\Corp\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Corp/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\MiniProgram\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/MiniProgram/Client.php', + 'EasyWeChat\\OpenWork\\MiniProgram\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/MiniProgram/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\Provider\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Provider/Client.php', + 'EasyWeChat\\OpenWork\\Provider\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Provider/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\Server\\Guard' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Server/Guard.php', + 'EasyWeChat\\OpenWork\\Server\\Handlers\\EchoStrHandler' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Server/Handlers/EchoStrHandler.php', + 'EasyWeChat\\OpenWork\\Server\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Server/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\SuiteAuth\\AccessToken' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/SuiteAuth/AccessToken.php', + 'EasyWeChat\\OpenWork\\SuiteAuth\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/SuiteAuth/ServiceProvider.php', + 'EasyWeChat\\OpenWork\\SuiteAuth\\SuiteTicket' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/SuiteAuth/SuiteTicket.php', + 'EasyWeChat\\OpenWork\\Work\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Work/Application.php', + 'EasyWeChat\\OpenWork\\Work\\Auth\\AccessToken' => __DIR__ . '/..' . '/overtrue/wechat/src/OpenWork/Work/Auth/AccessToken.php', + 'EasyWeChat\\Payment\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Application.php', + 'EasyWeChat\\Payment\\Base\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Base/Client.php', + 'EasyWeChat\\Payment\\Base\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Base/ServiceProvider.php', + 'EasyWeChat\\Payment\\Bill\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Bill/Client.php', + 'EasyWeChat\\Payment\\Bill\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Bill/ServiceProvider.php', + 'EasyWeChat\\Payment\\Contract\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Contract/Client.php', + 'EasyWeChat\\Payment\\Contract\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Contract/ServiceProvider.php', + 'EasyWeChat\\Payment\\Coupon\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Coupon/Client.php', + 'EasyWeChat\\Payment\\Coupon\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Coupon/ServiceProvider.php', + 'EasyWeChat\\Payment\\Fundflow\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Fundflow/Client.php', + 'EasyWeChat\\Payment\\Fundflow\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Fundflow/ServiceProvider.php', + 'EasyWeChat\\Payment\\Jssdk\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Jssdk/Client.php', + 'EasyWeChat\\Payment\\Jssdk\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Jssdk/ServiceProvider.php', + 'EasyWeChat\\Payment\\Kernel\\BaseClient' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Kernel/BaseClient.php', + 'EasyWeChat\\Payment\\Kernel\\Exceptions\\InvalidSignException' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Kernel/Exceptions/InvalidSignException.php', + 'EasyWeChat\\Payment\\Kernel\\Exceptions\\SandboxException' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Kernel/Exceptions/SandboxException.php', + 'EasyWeChat\\Payment\\Merchant\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Merchant/Client.php', + 'EasyWeChat\\Payment\\Merchant\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Merchant/ServiceProvider.php', + 'EasyWeChat\\Payment\\Notify\\Handler' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Notify/Handler.php', + 'EasyWeChat\\Payment\\Notify\\Paid' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Notify/Paid.php', + 'EasyWeChat\\Payment\\Notify\\Refunded' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Notify/Refunded.php', + 'EasyWeChat\\Payment\\Notify\\Scanned' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Notify/Scanned.php', + 'EasyWeChat\\Payment\\Order\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Order/Client.php', + 'EasyWeChat\\Payment\\Order\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Order/ServiceProvider.php', + 'EasyWeChat\\Payment\\ProfitSharing\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/ProfitSharing/Client.php', + 'EasyWeChat\\Payment\\ProfitSharing\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/ProfitSharing/ServiceProvider.php', + 'EasyWeChat\\Payment\\Redpack\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Redpack/Client.php', + 'EasyWeChat\\Payment\\Redpack\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Redpack/ServiceProvider.php', + 'EasyWeChat\\Payment\\Refund\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Refund/Client.php', + 'EasyWeChat\\Payment\\Refund\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Refund/ServiceProvider.php', + 'EasyWeChat\\Payment\\Reverse\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Reverse/Client.php', + 'EasyWeChat\\Payment\\Reverse\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Reverse/ServiceProvider.php', + 'EasyWeChat\\Payment\\Sandbox\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Sandbox/Client.php', + 'EasyWeChat\\Payment\\Sandbox\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Sandbox/ServiceProvider.php', + 'EasyWeChat\\Payment\\Security\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Security/Client.php', + 'EasyWeChat\\Payment\\Security\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Security/ServiceProvider.php', + 'EasyWeChat\\Payment\\Transfer\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Transfer/Client.php', + 'EasyWeChat\\Payment\\Transfer\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Payment/Transfer/ServiceProvider.php', + 'EasyWeChat\\Work\\Agent\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Agent/Client.php', + 'EasyWeChat\\Work\\Agent\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Agent/ServiceProvider.php', + 'EasyWeChat\\Work\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Application.php', + 'EasyWeChat\\Work\\Auth\\AccessToken' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Auth/AccessToken.php', + 'EasyWeChat\\Work\\Auth\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Auth/ServiceProvider.php', + 'EasyWeChat\\Work\\Base\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Base/Client.php', + 'EasyWeChat\\Work\\Base\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Base/ServiceProvider.php', + 'EasyWeChat\\Work\\Calendar\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Calendar/Client.php', + 'EasyWeChat\\Work\\Calendar\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Calendar/ServiceProvider.php', + 'EasyWeChat\\Work\\Chat\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Chat/Client.php', + 'EasyWeChat\\Work\\Chat\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Chat/ServiceProvider.php', + 'EasyWeChat\\Work\\Department\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Department/Client.php', + 'EasyWeChat\\Work\\Department\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Department/ServiceProvider.php', + 'EasyWeChat\\Work\\ExternalContact\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/ExternalContact/Client.php', + 'EasyWeChat\\Work\\ExternalContact\\ContactWayClient' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/ExternalContact/ContactWayClient.php', + 'EasyWeChat\\Work\\ExternalContact\\MessageClient' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/ExternalContact/MessageClient.php', + 'EasyWeChat\\Work\\ExternalContact\\SchoolClient' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/ExternalContact/SchoolClient.php', + 'EasyWeChat\\Work\\ExternalContact\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/ExternalContact/ServiceProvider.php', + 'EasyWeChat\\Work\\ExternalContact\\StatisticsClient' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/ExternalContact/StatisticsClient.php', + 'EasyWeChat\\Work\\GroupRobot\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/GroupRobot/Client.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\Image' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/GroupRobot/Messages/Image.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\Markdown' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/GroupRobot/Messages/Markdown.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\Message' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/GroupRobot/Messages/Message.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\News' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/GroupRobot/Messages/News.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\NewsItem' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/GroupRobot/Messages/NewsItem.php', + 'EasyWeChat\\Work\\GroupRobot\\Messages\\Text' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/GroupRobot/Messages/Text.php', + 'EasyWeChat\\Work\\GroupRobot\\Messenger' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/GroupRobot/Messenger.php', + 'EasyWeChat\\Work\\GroupRobot\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/GroupRobot/ServiceProvider.php', + 'EasyWeChat\\Work\\Invoice\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Invoice/Client.php', + 'EasyWeChat\\Work\\Invoice\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Invoice/ServiceProvider.php', + 'EasyWeChat\\Work\\Jssdk\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Jssdk/Client.php', + 'EasyWeChat\\Work\\Jssdk\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Jssdk/ServiceProvider.php', + 'EasyWeChat\\Work\\Media\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Media/Client.php', + 'EasyWeChat\\Work\\Media\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Media/ServiceProvider.php', + 'EasyWeChat\\Work\\Menu\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Menu/Client.php', + 'EasyWeChat\\Work\\Menu\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Menu/ServiceProvider.php', + 'EasyWeChat\\Work\\Message\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Message/Client.php', + 'EasyWeChat\\Work\\Message\\Messenger' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Message/Messenger.php', + 'EasyWeChat\\Work\\Message\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Message/ServiceProvider.php', + 'EasyWeChat\\Work\\MiniProgram\\Application' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/MiniProgram/Application.php', + 'EasyWeChat\\Work\\MiniProgram\\Auth\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/MiniProgram/Auth/Client.php', + 'EasyWeChat\\Work\\MsgAudit\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/MsgAudit/Client.php', + 'EasyWeChat\\Work\\MsgAudit\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/MsgAudit/ServiceProvider.php', + 'EasyWeChat\\Work\\OA\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/OA/Client.php', + 'EasyWeChat\\Work\\OA\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/OA/ServiceProvider.php', + 'EasyWeChat\\Work\\OAuth\\AccessTokenDelegate' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/OAuth/AccessTokenDelegate.php', + 'EasyWeChat\\Work\\OAuth\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/OAuth/ServiceProvider.php', + 'EasyWeChat\\Work\\Schedule\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Schedule/Client.php', + 'EasyWeChat\\Work\\Schedule\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Schedule/ServiceProvider.php', + 'EasyWeChat\\Work\\Server\\Guard' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Server/Guard.php', + 'EasyWeChat\\Work\\Server\\Handlers\\EchoStrHandler' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Server/Handlers/EchoStrHandler.php', + 'EasyWeChat\\Work\\Server\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/Server/ServiceProvider.php', + 'EasyWeChat\\Work\\User\\Client' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/User/Client.php', + 'EasyWeChat\\Work\\User\\ServiceProvider' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/User/ServiceProvider.php', + 'EasyWeChat\\Work\\User\\TagClient' => __DIR__ . '/..' . '/overtrue/wechat/src/Work/User/TagClient.php', + 'GuzzleHttp\\BodySummarizer' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizer.php', + 'GuzzleHttp\\BodySummarizerInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php', + 'GuzzleHttp\\Client' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Client.php', + 'GuzzleHttp\\ClientInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientInterface.php', + 'GuzzleHttp\\ClientTrait' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientTrait.php', + 'GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php', + 'GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php', + 'GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php', + 'GuzzleHttp\\Cookie\\SessionCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php', + 'GuzzleHttp\\Cookie\\SetCookie' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php', + 'GuzzleHttp\\Exception\\BadResponseException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php', + 'GuzzleHttp\\Exception\\ClientException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ClientException.php', + 'GuzzleHttp\\Exception\\ConnectException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ConnectException.php', + 'GuzzleHttp\\Exception\\GuzzleException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/GuzzleException.php', + 'GuzzleHttp\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php', + 'GuzzleHttp\\Exception\\RequestException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/RequestException.php', + 'GuzzleHttp\\Exception\\ServerException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ServerException.php', + 'GuzzleHttp\\Exception\\TooManyRedirectsException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php', + 'GuzzleHttp\\Exception\\TransferException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TransferException.php', + 'GuzzleHttp\\HandlerStack' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/HandlerStack.php', + 'GuzzleHttp\\Handler\\CurlFactory' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlFactory.php', + 'GuzzleHttp\\Handler\\CurlFactoryInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php', + 'GuzzleHttp\\Handler\\CurlHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php', + 'GuzzleHttp\\Handler\\CurlMultiHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php', + 'GuzzleHttp\\Handler\\EasyHandle' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php', + 'GuzzleHttp\\Handler\\HeaderProcessor' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php', + 'GuzzleHttp\\Handler\\MockHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/MockHandler.php', + 'GuzzleHttp\\Handler\\Proxy' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/Proxy.php', + 'GuzzleHttp\\Handler\\StreamHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php', + 'GuzzleHttp\\MessageFormatter' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatter.php', + 'GuzzleHttp\\MessageFormatterInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php', + 'GuzzleHttp\\Middleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Middleware.php', + 'GuzzleHttp\\Pool' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Pool.php', + 'GuzzleHttp\\PrepareBodyMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php', + 'GuzzleHttp\\Promise\\AggregateException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/AggregateException.php', + 'GuzzleHttp\\Promise\\CancellationException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/CancellationException.php', + 'GuzzleHttp\\Promise\\Coroutine' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Coroutine.php', + 'GuzzleHttp\\Promise\\Create' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Create.php', + 'GuzzleHttp\\Promise\\Each' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Each.php', + 'GuzzleHttp\\Promise\\EachPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/EachPromise.php', + 'GuzzleHttp\\Promise\\FulfilledPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/FulfilledPromise.php', + 'GuzzleHttp\\Promise\\Is' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Is.php', + 'GuzzleHttp\\Promise\\Promise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Promise.php', + 'GuzzleHttp\\Promise\\PromiseInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/PromiseInterface.php', + 'GuzzleHttp\\Promise\\PromisorInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/PromisorInterface.php', + 'GuzzleHttp\\Promise\\RejectedPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/RejectedPromise.php', + 'GuzzleHttp\\Promise\\RejectionException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/RejectionException.php', + 'GuzzleHttp\\Promise\\TaskQueue' => __DIR__ . '/..' . '/guzzlehttp/promises/src/TaskQueue.php', + 'GuzzleHttp\\Promise\\TaskQueueInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/TaskQueueInterface.php', + 'GuzzleHttp\\Promise\\Utils' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Utils.php', + 'GuzzleHttp\\Psr7\\AppendStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/AppendStream.php', + 'GuzzleHttp\\Psr7\\BufferStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/BufferStream.php', + 'GuzzleHttp\\Psr7\\CachingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/CachingStream.php', + 'GuzzleHttp\\Psr7\\DroppingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/DroppingStream.php', + 'GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php', + 'GuzzleHttp\\Psr7\\FnStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/FnStream.php', + 'GuzzleHttp\\Psr7\\Header' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Header.php', + 'GuzzleHttp\\Psr7\\HttpFactory' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/HttpFactory.php', + 'GuzzleHttp\\Psr7\\InflateStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/InflateStream.php', + 'GuzzleHttp\\Psr7\\LazyOpenStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LazyOpenStream.php', + 'GuzzleHttp\\Psr7\\LimitStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LimitStream.php', + 'GuzzleHttp\\Psr7\\Message' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Message.php', + 'GuzzleHttp\\Psr7\\MessageTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MessageTrait.php', + 'GuzzleHttp\\Psr7\\MimeType' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MimeType.php', + 'GuzzleHttp\\Psr7\\MultipartStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MultipartStream.php', + 'GuzzleHttp\\Psr7\\NoSeekStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/NoSeekStream.php', + 'GuzzleHttp\\Psr7\\PumpStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/PumpStream.php', + 'GuzzleHttp\\Psr7\\Query' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Query.php', + 'GuzzleHttp\\Psr7\\Request' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Request.php', + 'GuzzleHttp\\Psr7\\Response' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Response.php', + 'GuzzleHttp\\Psr7\\Rfc7230' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Rfc7230.php', + 'GuzzleHttp\\Psr7\\ServerRequest' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/ServerRequest.php', + 'GuzzleHttp\\Psr7\\Stream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Stream.php', + 'GuzzleHttp\\Psr7\\StreamDecoratorTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php', + 'GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php', + 'GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php', + 'GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php', + 'GuzzleHttp\\Psr7\\UriComparator' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriComparator.php', + 'GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php', + 'GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php', + 'GuzzleHttp\\Psr7\\Utils' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Utils.php', + 'GuzzleHttp\\RedirectMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RedirectMiddleware.php', + 'GuzzleHttp\\RequestOptions' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RequestOptions.php', + 'GuzzleHttp\\RetryMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RetryMiddleware.php', + 'GuzzleHttp\\TransferStats' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/TransferStats.php', + 'GuzzleHttp\\Utils' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Utils.php', + 'HTMLPurifier' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.php', + 'HTMLPurifier_Arborize' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php', + 'HTMLPurifier_AttrCollections' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php', + 'HTMLPurifier_AttrDef' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php', + 'HTMLPurifier_AttrDef_CSS' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php', + 'HTMLPurifier_AttrDef_CSS_AlphaValue' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php', + 'HTMLPurifier_AttrDef_CSS_Background' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php', + 'HTMLPurifier_AttrDef_CSS_BackgroundPosition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php', + 'HTMLPurifier_AttrDef_CSS_Border' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php', + 'HTMLPurifier_AttrDef_CSS_Color' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php', + 'HTMLPurifier_AttrDef_CSS_Composite' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php', + 'HTMLPurifier_AttrDef_CSS_DenyElementDecorator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php', + 'HTMLPurifier_AttrDef_CSS_Filter' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php', + 'HTMLPurifier_AttrDef_CSS_Font' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php', + 'HTMLPurifier_AttrDef_CSS_FontFamily' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php', + 'HTMLPurifier_AttrDef_CSS_Ident' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php', + 'HTMLPurifier_AttrDef_CSS_ImportantDecorator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php', + 'HTMLPurifier_AttrDef_CSS_Length' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php', + 'HTMLPurifier_AttrDef_CSS_ListStyle' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php', + 'HTMLPurifier_AttrDef_CSS_Multiple' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php', + 'HTMLPurifier_AttrDef_CSS_Number' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php', + 'HTMLPurifier_AttrDef_CSS_Percentage' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php', + 'HTMLPurifier_AttrDef_CSS_Ratio' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ratio.php', + 'HTMLPurifier_AttrDef_CSS_TextDecoration' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php', + 'HTMLPurifier_AttrDef_CSS_URI' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php', + 'HTMLPurifier_AttrDef_Clone' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php', + 'HTMLPurifier_AttrDef_Enum' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php', + 'HTMLPurifier_AttrDef_HTML_Bool' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php', + 'HTMLPurifier_AttrDef_HTML_Class' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php', + 'HTMLPurifier_AttrDef_HTML_Color' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php', + 'HTMLPurifier_AttrDef_HTML_ContentEditable' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ContentEditable.php', + 'HTMLPurifier_AttrDef_HTML_FrameTarget' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php', + 'HTMLPurifier_AttrDef_HTML_ID' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php', + 'HTMLPurifier_AttrDef_HTML_Length' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php', + 'HTMLPurifier_AttrDef_HTML_LinkTypes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php', + 'HTMLPurifier_AttrDef_HTML_MultiLength' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php', + 'HTMLPurifier_AttrDef_HTML_Nmtokens' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php', + 'HTMLPurifier_AttrDef_HTML_Pixels' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php', + 'HTMLPurifier_AttrDef_Integer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php', + 'HTMLPurifier_AttrDef_Lang' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php', + 'HTMLPurifier_AttrDef_Switch' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php', + 'HTMLPurifier_AttrDef_Text' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php', + 'HTMLPurifier_AttrDef_URI' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php', + 'HTMLPurifier_AttrDef_URI_Email' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php', + 'HTMLPurifier_AttrDef_URI_Email_SimpleCheck' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php', + 'HTMLPurifier_AttrDef_URI_Host' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php', + 'HTMLPurifier_AttrDef_URI_IPv4' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php', + 'HTMLPurifier_AttrDef_URI_IPv6' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php', + 'HTMLPurifier_AttrTransform' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php', + 'HTMLPurifier_AttrTransform_Background' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php', + 'HTMLPurifier_AttrTransform_BdoDir' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php', + 'HTMLPurifier_AttrTransform_BgColor' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php', + 'HTMLPurifier_AttrTransform_BoolToCSS' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php', + 'HTMLPurifier_AttrTransform_Border' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php', + 'HTMLPurifier_AttrTransform_EnumToCSS' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php', + 'HTMLPurifier_AttrTransform_ImgRequired' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php', + 'HTMLPurifier_AttrTransform_ImgSpace' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php', + 'HTMLPurifier_AttrTransform_Input' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php', + 'HTMLPurifier_AttrTransform_Lang' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php', + 'HTMLPurifier_AttrTransform_Length' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php', + 'HTMLPurifier_AttrTransform_Name' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php', + 'HTMLPurifier_AttrTransform_NameSync' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php', + 'HTMLPurifier_AttrTransform_Nofollow' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php', + 'HTMLPurifier_AttrTransform_SafeEmbed' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php', + 'HTMLPurifier_AttrTransform_SafeObject' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php', + 'HTMLPurifier_AttrTransform_SafeParam' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php', + 'HTMLPurifier_AttrTransform_ScriptRequired' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php', + 'HTMLPurifier_AttrTransform_TargetBlank' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php', + 'HTMLPurifier_AttrTransform_TargetNoopener' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php', + 'HTMLPurifier_AttrTransform_TargetNoreferrer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoreferrer.php', + 'HTMLPurifier_AttrTransform_Textarea' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php', + 'HTMLPurifier_AttrTypes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php', + 'HTMLPurifier_AttrValidator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php', + 'HTMLPurifier_Bootstrap' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php', + 'HTMLPurifier_CSSDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php', + 'HTMLPurifier_ChildDef' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php', + 'HTMLPurifier_ChildDef_Chameleon' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php', + 'HTMLPurifier_ChildDef_Custom' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php', + 'HTMLPurifier_ChildDef_Empty' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php', + 'HTMLPurifier_ChildDef_List' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php', + 'HTMLPurifier_ChildDef_Optional' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php', + 'HTMLPurifier_ChildDef_Required' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php', + 'HTMLPurifier_ChildDef_StrictBlockquote' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php', + 'HTMLPurifier_ChildDef_Table' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php', + 'HTMLPurifier_Config' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Config.php', + 'HTMLPurifier_ConfigSchema' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php', + 'HTMLPurifier_ConfigSchema_Builder_ConfigSchema' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php', + 'HTMLPurifier_ConfigSchema_Builder_Xml' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php', + 'HTMLPurifier_ConfigSchema_Exception' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php', + 'HTMLPurifier_ConfigSchema_Interchange' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php', + 'HTMLPurifier_ConfigSchema_InterchangeBuilder' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php', + 'HTMLPurifier_ConfigSchema_Interchange_Directive' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php', + 'HTMLPurifier_ConfigSchema_Interchange_Id' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php', + 'HTMLPurifier_ConfigSchema_Validator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php', + 'HTMLPurifier_ConfigSchema_ValidatorAtom' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php', + 'HTMLPurifier_ContentSets' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php', + 'HTMLPurifier_Context' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Context.php', + 'HTMLPurifier_Definition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php', + 'HTMLPurifier_DefinitionCache' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php', + 'HTMLPurifier_DefinitionCacheFactory' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php', + 'HTMLPurifier_DefinitionCache_Decorator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php', + 'HTMLPurifier_DefinitionCache_Decorator_Cleanup' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php', + 'HTMLPurifier_DefinitionCache_Decorator_Memory' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php', + 'HTMLPurifier_DefinitionCache_Null' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php', + 'HTMLPurifier_DefinitionCache_Serializer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php', + 'HTMLPurifier_Doctype' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php', + 'HTMLPurifier_DoctypeRegistry' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php', + 'HTMLPurifier_ElementDef' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php', + 'HTMLPurifier_Encoder' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php', + 'HTMLPurifier_EntityLookup' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php', + 'HTMLPurifier_EntityParser' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php', + 'HTMLPurifier_ErrorCollector' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php', + 'HTMLPurifier_ErrorStruct' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php', + 'HTMLPurifier_Exception' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php', + 'HTMLPurifier_Filter' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php', + 'HTMLPurifier_Filter_ExtractStyleBlocks' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php', + 'HTMLPurifier_Filter_YouTube' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php', + 'HTMLPurifier_Generator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php', + 'HTMLPurifier_HTMLDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php', + 'HTMLPurifier_HTMLModule' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php', + 'HTMLPurifier_HTMLModuleManager' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php', + 'HTMLPurifier_HTMLModule_Bdo' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php', + 'HTMLPurifier_HTMLModule_CommonAttributes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php', + 'HTMLPurifier_HTMLModule_Edit' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php', + 'HTMLPurifier_HTMLModule_Forms' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php', + 'HTMLPurifier_HTMLModule_Hypertext' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php', + 'HTMLPurifier_HTMLModule_Iframe' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php', + 'HTMLPurifier_HTMLModule_Image' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php', + 'HTMLPurifier_HTMLModule_Legacy' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php', + 'HTMLPurifier_HTMLModule_List' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php', + 'HTMLPurifier_HTMLModule_Name' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php', + 'HTMLPurifier_HTMLModule_Nofollow' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php', + 'HTMLPurifier_HTMLModule_NonXMLCommonAttributes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php', + 'HTMLPurifier_HTMLModule_Object' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php', + 'HTMLPurifier_HTMLModule_Presentation' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php', + 'HTMLPurifier_HTMLModule_Proprietary' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php', + 'HTMLPurifier_HTMLModule_Ruby' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php', + 'HTMLPurifier_HTMLModule_SafeEmbed' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php', + 'HTMLPurifier_HTMLModule_SafeObject' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php', + 'HTMLPurifier_HTMLModule_SafeScripting' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php', + 'HTMLPurifier_HTMLModule_Scripting' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php', + 'HTMLPurifier_HTMLModule_StyleAttribute' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php', + 'HTMLPurifier_HTMLModule_Tables' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php', + 'HTMLPurifier_HTMLModule_Target' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php', + 'HTMLPurifier_HTMLModule_TargetBlank' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php', + 'HTMLPurifier_HTMLModule_TargetNoopener' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoopener.php', + 'HTMLPurifier_HTMLModule_TargetNoreferrer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoreferrer.php', + 'HTMLPurifier_HTMLModule_Text' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php', + 'HTMLPurifier_HTMLModule_Tidy' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php', + 'HTMLPurifier_HTMLModule_Tidy_Name' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php', + 'HTMLPurifier_HTMLModule_Tidy_Proprietary' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php', + 'HTMLPurifier_HTMLModule_Tidy_Strict' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php', + 'HTMLPurifier_HTMLModule_Tidy_Transitional' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php', + 'HTMLPurifier_HTMLModule_Tidy_XHTML' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php', + 'HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php', + 'HTMLPurifier_HTMLModule_XMLCommonAttributes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php', + 'HTMLPurifier_IDAccumulator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php', + 'HTMLPurifier_Injector' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php', + 'HTMLPurifier_Injector_AutoParagraph' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php', + 'HTMLPurifier_Injector_DisplayLinkURI' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php', + 'HTMLPurifier_Injector_Linkify' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php', + 'HTMLPurifier_Injector_PurifierLinkify' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php', + 'HTMLPurifier_Injector_RemoveEmpty' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php', + 'HTMLPurifier_Injector_RemoveSpansWithoutAttributes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php', + 'HTMLPurifier_Injector_SafeObject' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php', + 'HTMLPurifier_Language' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Language.php', + 'HTMLPurifier_LanguageFactory' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php', + 'HTMLPurifier_Length' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Length.php', + 'HTMLPurifier_Lexer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php', + 'HTMLPurifier_Lexer_DOMLex' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php', + 'HTMLPurifier_Lexer_DirectLex' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php', + 'HTMLPurifier_Lexer_PH5P' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php', + 'HTMLPurifier_Node' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Node.php', + 'HTMLPurifier_Node_Comment' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php', + 'HTMLPurifier_Node_Element' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php', + 'HTMLPurifier_Node_Text' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php', + 'HTMLPurifier_PercentEncoder' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php', + 'HTMLPurifier_Printer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php', + 'HTMLPurifier_Printer_CSSDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php', + 'HTMLPurifier_Printer_ConfigForm' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php', + 'HTMLPurifier_Printer_HTMLDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php', + 'HTMLPurifier_PropertyList' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php', + 'HTMLPurifier_PropertyListIterator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php', + 'HTMLPurifier_Queue' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php', + 'HTMLPurifier_Strategy' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php', + 'HTMLPurifier_Strategy_Composite' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php', + 'HTMLPurifier_Strategy_Core' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php', + 'HTMLPurifier_Strategy_FixNesting' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php', + 'HTMLPurifier_Strategy_MakeWellFormed' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php', + 'HTMLPurifier_Strategy_RemoveForeignElements' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php', + 'HTMLPurifier_Strategy_ValidateAttributes' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php', + 'HTMLPurifier_StringHash' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php', + 'HTMLPurifier_StringHashParser' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php', + 'HTMLPurifier_TagTransform' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php', + 'HTMLPurifier_TagTransform_Font' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php', + 'HTMLPurifier_TagTransform_Simple' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php', + 'HTMLPurifier_Token' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token.php', + 'HTMLPurifier_TokenFactory' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php', + 'HTMLPurifier_Token_Comment' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php', + 'HTMLPurifier_Token_Empty' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php', + 'HTMLPurifier_Token_End' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php', + 'HTMLPurifier_Token_Start' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php', + 'HTMLPurifier_Token_Tag' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php', + 'HTMLPurifier_Token_Text' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php', + 'HTMLPurifier_URI' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URI.php', + 'HTMLPurifier_URIDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php', + 'HTMLPurifier_URIFilter' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php', + 'HTMLPurifier_URIFilter_DisableExternal' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php', + 'HTMLPurifier_URIFilter_DisableExternalResources' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php', + 'HTMLPurifier_URIFilter_DisableResources' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php', + 'HTMLPurifier_URIFilter_HostBlacklist' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php', + 'HTMLPurifier_URIFilter_MakeAbsolute' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php', + 'HTMLPurifier_URIFilter_Munge' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php', + 'HTMLPurifier_URIFilter_SafeIframe' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php', + 'HTMLPurifier_URIParser' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php', + 'HTMLPurifier_URIScheme' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php', + 'HTMLPurifier_URISchemeRegistry' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php', + 'HTMLPurifier_URIScheme_data' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php', + 'HTMLPurifier_URIScheme_file' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php', + 'HTMLPurifier_URIScheme_ftp' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php', + 'HTMLPurifier_URIScheme_http' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php', + 'HTMLPurifier_URIScheme_https' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php', + 'HTMLPurifier_URIScheme_mailto' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php', + 'HTMLPurifier_URIScheme_news' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php', + 'HTMLPurifier_URIScheme_nntp' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php', + 'HTMLPurifier_URIScheme_tel' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/tel.php', + 'HTMLPurifier_UnitConverter' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php', + 'HTMLPurifier_VarParser' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php', + 'HTMLPurifier_VarParserException' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php', + 'HTMLPurifier_VarParser_Flexible' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php', + 'HTMLPurifier_VarParser_Native' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php', + 'HTMLPurifier_Zipper' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php', 'JsonException' => __DIR__ . '/..' . '/symfony/polyfill-php73/Resources/stubs/JsonException.php', + 'Matrix\\Builder' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Builder.php', + 'Matrix\\Decomposition\\Decomposition' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Decomposition/Decomposition.php', + 'Matrix\\Decomposition\\LU' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Decomposition/LU.php', + 'Matrix\\Decomposition\\QR' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Decomposition/QR.php', + 'Matrix\\Div0Exception' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Div0Exception.php', + 'Matrix\\Exception' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Exception.php', + 'Matrix\\Functions' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Functions.php', + 'Matrix\\Matrix' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Matrix.php', + 'Matrix\\Operations' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operations.php', + 'Matrix\\Operators\\Addition' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/Addition.php', + 'Matrix\\Operators\\DirectSum' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/DirectSum.php', + 'Matrix\\Operators\\Division' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/Division.php', + 'Matrix\\Operators\\Multiplication' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/Multiplication.php', + 'Matrix\\Operators\\Operator' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/Operator.php', + 'Matrix\\Operators\\Subtraction' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/Subtraction.php', + 'Monolog\\Attribute\\AsMonologProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Attribute/AsMonologProcessor.php', + 'Monolog\\DateTimeImmutable' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/DateTimeImmutable.php', + 'Monolog\\ErrorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ErrorHandler.php', + 'Monolog\\Formatter\\ChromePHPFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php', + 'Monolog\\Formatter\\ElasticaFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php', + 'Monolog\\Formatter\\ElasticsearchFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ElasticsearchFormatter.php', + 'Monolog\\Formatter\\FlowdockFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php', + 'Monolog\\Formatter\\FluentdFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php', + 'Monolog\\Formatter\\FormatterInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php', + 'Monolog\\Formatter\\GelfMessageFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php', + 'Monolog\\Formatter\\GoogleCloudLoggingFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/GoogleCloudLoggingFormatter.php', + 'Monolog\\Formatter\\HtmlFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php', + 'Monolog\\Formatter\\JsonFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php', + 'Monolog\\Formatter\\LineFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/LineFormatter.php', + 'Monolog\\Formatter\\LogglyFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php', + 'Monolog\\Formatter\\LogmaticFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/LogmaticFormatter.php', + 'Monolog\\Formatter\\LogstashFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php', + 'Monolog\\Formatter\\MongoDBFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php', + 'Monolog\\Formatter\\NormalizerFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php', + 'Monolog\\Formatter\\ScalarFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php', + 'Monolog\\Formatter\\WildfireFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php', + 'Monolog\\Handler\\AbstractHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AbstractHandler.php', + 'Monolog\\Handler\\AbstractProcessingHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php', + 'Monolog\\Handler\\AbstractSyslogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php', + 'Monolog\\Handler\\AmqpHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AmqpHandler.php', + 'Monolog\\Handler\\BrowserConsoleHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php', + 'Monolog\\Handler\\BufferHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/BufferHandler.php', + 'Monolog\\Handler\\ChromePHPHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php', + 'Monolog\\Handler\\CouchDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php', + 'Monolog\\Handler\\CubeHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/CubeHandler.php', + 'Monolog\\Handler\\Curl\\Util' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/Curl/Util.php', + 'Monolog\\Handler\\DeduplicationHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php', + 'Monolog\\Handler\\DoctrineCouchDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php', + 'Monolog\\Handler\\DynamoDbHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php', + 'Monolog\\Handler\\ElasticaHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ElasticaHandler.php', + 'Monolog\\Handler\\ElasticsearchHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ElasticsearchHandler.php', + 'Monolog\\Handler\\ErrorLogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php', + 'Monolog\\Handler\\FallbackGroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FallbackGroupHandler.php', + 'Monolog\\Handler\\FilterHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php', + 'Monolog\\Handler\\FingersCrossedHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php', + 'Monolog\\Handler\\FingersCrossed\\ActivationStrategyInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php', + 'Monolog\\Handler\\FingersCrossed\\ChannelLevelActivationStrategy' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php', + 'Monolog\\Handler\\FingersCrossed\\ErrorLevelActivationStrategy' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php', + 'Monolog\\Handler\\FirePHPHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php', + 'Monolog\\Handler\\FleepHookHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php', + 'Monolog\\Handler\\FlowdockHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php', + 'Monolog\\Handler\\FormattableHandlerInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php', + 'Monolog\\Handler\\FormattableHandlerTrait' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php', + 'Monolog\\Handler\\GelfHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/GelfHandler.php', + 'Monolog\\Handler\\GroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/GroupHandler.php', + 'Monolog\\Handler\\Handler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/Handler.php', + 'Monolog\\Handler\\HandlerInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/HandlerInterface.php', + 'Monolog\\Handler\\HandlerWrapper' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php', + 'Monolog\\Handler\\IFTTTHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php', + 'Monolog\\Handler\\InsightOpsHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php', + 'Monolog\\Handler\\LogEntriesHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php', + 'Monolog\\Handler\\LogglyHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/LogglyHandler.php', + 'Monolog\\Handler\\LogmaticHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/LogmaticHandler.php', + 'Monolog\\Handler\\MailHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MailHandler.php', + 'Monolog\\Handler\\MandrillHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MandrillHandler.php', + 'Monolog\\Handler\\MissingExtensionException' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php', + 'Monolog\\Handler\\MongoDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php', + 'Monolog\\Handler\\NativeMailerHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php', + 'Monolog\\Handler\\NewRelicHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php', + 'Monolog\\Handler\\NoopHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/NoopHandler.php', + 'Monolog\\Handler\\NullHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/NullHandler.php', + 'Monolog\\Handler\\OverflowHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/OverflowHandler.php', + 'Monolog\\Handler\\PHPConsoleHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php', + 'Monolog\\Handler\\ProcessHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ProcessHandler.php', + 'Monolog\\Handler\\ProcessableHandlerInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php', + 'Monolog\\Handler\\ProcessableHandlerTrait' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php', + 'Monolog\\Handler\\PsrHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/PsrHandler.php', + 'Monolog\\Handler\\PushoverHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/PushoverHandler.php', + 'Monolog\\Handler\\RedisHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RedisHandler.php', + 'Monolog\\Handler\\RedisPubSubHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RedisPubSubHandler.php', + 'Monolog\\Handler\\RollbarHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RollbarHandler.php', + 'Monolog\\Handler\\RotatingFileHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php', + 'Monolog\\Handler\\SamplingHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SamplingHandler.php', + 'Monolog\\Handler\\SendGridHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SendGridHandler.php', + 'Monolog\\Handler\\SlackHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SlackHandler.php', + 'Monolog\\Handler\\SlackWebhookHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php', + 'Monolog\\Handler\\Slack\\SlackRecord' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php', + 'Monolog\\Handler\\SocketHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SocketHandler.php', + 'Monolog\\Handler\\SqsHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SqsHandler.php', + 'Monolog\\Handler\\StreamHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php', + 'Monolog\\Handler\\SwiftMailerHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php', + 'Monolog\\Handler\\SymfonyMailerHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SymfonyMailerHandler.php', + 'Monolog\\Handler\\SyslogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php', + 'Monolog\\Handler\\SyslogUdpHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php', + 'Monolog\\Handler\\SyslogUdp\\UdpSocket' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php', + 'Monolog\\Handler\\TelegramBotHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php', + 'Monolog\\Handler\\TestHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/TestHandler.php', + 'Monolog\\Handler\\WebRequestRecognizerTrait' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php', + 'Monolog\\Handler\\WhatFailureGroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php', + 'Monolog\\Handler\\ZendMonitorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php', + 'Monolog\\LogRecord' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/LogRecord.php', + 'Monolog\\Logger' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Logger.php', + 'Monolog\\Processor\\GitProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php', + 'Monolog\\Processor\\HostnameProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/HostnameProcessor.php', + 'Monolog\\Processor\\IntrospectionProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php', + 'Monolog\\Processor\\MemoryPeakUsageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php', + 'Monolog\\Processor\\MemoryProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php', + 'Monolog\\Processor\\MemoryUsageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php', + 'Monolog\\Processor\\MercurialProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php', + 'Monolog\\Processor\\ProcessIdProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php', + 'Monolog\\Processor\\ProcessorInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php', + 'Monolog\\Processor\\PsrLogMessageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php', + 'Monolog\\Processor\\TagProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/TagProcessor.php', + 'Monolog\\Processor\\UidProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/UidProcessor.php', + 'Monolog\\Processor\\WebProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/WebProcessor.php', + 'Monolog\\Registry' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Registry.php', + 'Monolog\\ResettableInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ResettableInterface.php', + 'Monolog\\SignalHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/SignalHandler.php', + 'Monolog\\Test\\TestCase' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Test/TestCase.php', + 'Monolog\\Utils' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Utils.php', + 'Overtrue\\Pinyin\\DictLoaderInterface' => __DIR__ . '/..' . '/overtrue/pinyin/src/DictLoaderInterface.php', + 'Overtrue\\Pinyin\\FileDictLoader' => __DIR__ . '/..' . '/overtrue/pinyin/src/FileDictLoader.php', + 'Overtrue\\Pinyin\\GeneratorFileDictLoader' => __DIR__ . '/..' . '/overtrue/pinyin/src/GeneratorFileDictLoader.php', + 'Overtrue\\Pinyin\\MemoryFileDictLoader' => __DIR__ . '/..' . '/overtrue/pinyin/src/MemoryFileDictLoader.php', + 'Overtrue\\Pinyin\\Pinyin' => __DIR__ . '/..' . '/overtrue/pinyin/src/Pinyin.php', + 'Overtrue\\Socialite\\AccessToken' => __DIR__ . '/..' . '/overtrue/socialite/src/AccessToken.php', + 'Overtrue\\Socialite\\AccessTokenInterface' => __DIR__ . '/..' . '/overtrue/socialite/src/AccessTokenInterface.php', + 'Overtrue\\Socialite\\AuthorizeFailedException' => __DIR__ . '/..' . '/overtrue/socialite/src/AuthorizeFailedException.php', + 'Overtrue\\Socialite\\Config' => __DIR__ . '/..' . '/overtrue/socialite/src/Config.php', + 'Overtrue\\Socialite\\FactoryInterface' => __DIR__ . '/..' . '/overtrue/socialite/src/FactoryInterface.php', + 'Overtrue\\Socialite\\HasAttributes' => __DIR__ . '/..' . '/overtrue/socialite/src/HasAttributes.php', + 'Overtrue\\Socialite\\InvalidArgumentException' => __DIR__ . '/..' . '/overtrue/socialite/src/InvalidArgumentException.php', + 'Overtrue\\Socialite\\InvalidStateException' => __DIR__ . '/..' . '/overtrue/socialite/src/InvalidStateException.php', + 'Overtrue\\Socialite\\ProviderInterface' => __DIR__ . '/..' . '/overtrue/socialite/src/ProviderInterface.php', + 'Overtrue\\Socialite\\Providers\\AbstractProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/AbstractProvider.php', + 'Overtrue\\Socialite\\Providers\\BaiduProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/BaiduProvider.php', + 'Overtrue\\Socialite\\Providers\\DouYinProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/DouYinProvider.php', + 'Overtrue\\Socialite\\Providers\\DoubanProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/DoubanProvider.php', + 'Overtrue\\Socialite\\Providers\\FacebookProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/FacebookProvider.php', + 'Overtrue\\Socialite\\Providers\\FeiShuProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/FeiShuProvider.php', + 'Overtrue\\Socialite\\Providers\\GitHubProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/GitHubProvider.php', + 'Overtrue\\Socialite\\Providers\\GoogleProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/GoogleProvider.php', + 'Overtrue\\Socialite\\Providers\\LinkedinProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/LinkedinProvider.php', + 'Overtrue\\Socialite\\Providers\\OutlookProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/OutlookProvider.php', + 'Overtrue\\Socialite\\Providers\\QQProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/QQProvider.php', + 'Overtrue\\Socialite\\Providers\\TaobaoProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/TaobaoProvider.php', + 'Overtrue\\Socialite\\Providers\\WeChatProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/WeChatProvider.php', + 'Overtrue\\Socialite\\Providers\\WeWorkProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/WeWorkProvider.php', + 'Overtrue\\Socialite\\Providers\\WeiboProvider' => __DIR__ . '/..' . '/overtrue/socialite/src/Providers/WeiboProvider.php', + 'Overtrue\\Socialite\\SocialiteManager' => __DIR__ . '/..' . '/overtrue/socialite/src/SocialiteManager.php', + 'Overtrue\\Socialite\\User' => __DIR__ . '/..' . '/overtrue/socialite/src/User.php', + 'Overtrue\\Socialite\\UserInterface' => __DIR__ . '/..' . '/overtrue/socialite/src/UserInterface.php', + 'Overtrue\\Socialite\\WeChatComponentInterface' => __DIR__ . '/..' . '/overtrue/socialite/src/WeChatComponentInterface.php', + 'PHPSocketIO\\ChannelAdapter' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/ChannelAdapter.php', + 'PHPSocketIO\\Client' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Client.php', + 'PHPSocketIO\\Debug' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Debug.php', + 'PHPSocketIO\\DefaultAdapter' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/DefaultAdapter.php', + 'PHPSocketIO\\Engine\\Engine' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Engine.php', + 'PHPSocketIO\\Engine\\Parser' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Parser.php', + 'PHPSocketIO\\Engine\\Protocols\\Http\\Request' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Protocols/Http/Request.php', + 'PHPSocketIO\\Engine\\Protocols\\Http\\Response' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Protocols/Http/Response.php', + 'PHPSocketIO\\Engine\\Protocols\\SocketIO' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Protocols/SocketIO.php', + 'PHPSocketIO\\Engine\\Protocols\\WebSocket' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Protocols/WebSocket.php', + 'PHPSocketIO\\Engine\\Protocols\\WebSocket\\RFC6455' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Protocols/WebSocket/RFC6455.php', + 'PHPSocketIO\\Engine\\Socket' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Socket.php', + 'PHPSocketIO\\Engine\\Transport' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Transport.php', + 'PHPSocketIO\\Engine\\Transports\\Polling' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Transports/Polling.php', + 'PHPSocketIO\\Engine\\Transports\\PollingJsonp' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Transports/PollingJsonp.php', + 'PHPSocketIO\\Engine\\Transports\\PollingXHR' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Transports/PollingXHR.php', + 'PHPSocketIO\\Engine\\Transports\\WebSocket' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Engine/Transports/WebSocket.php', + 'PHPSocketIO\\Event\\Emitter' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Event/Emitter.php', + 'PHPSocketIO\\Nsp' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Nsp.php', + 'PHPSocketIO\\Parser\\Decoder' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Parser/Decoder.php', + 'PHPSocketIO\\Parser\\Encoder' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Parser/Encoder.php', + 'PHPSocketIO\\Parser\\Parser' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Parser/Parser.php', + 'PHPSocketIO\\Socket' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/Socket.php', + 'PHPSocketIO\\SocketIO' => __DIR__ . '/..' . '/workerman/phpsocket.io/src/SocketIO.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\ArrayEnabled' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/ArrayEnabled.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\BinaryComparison' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/BinaryComparison.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Calculation' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Calculation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Category' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Category.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DAverage' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DAverage.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DCount' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DCount.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DCountA' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DCountA.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DGet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DGet.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DMax' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DMax.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DMin' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DMin.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DProduct' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DProduct.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DStDev' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DStDev.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DStDevP' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DStDevP.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DSum' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DSum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DVar' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DVar.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DVarP' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DVarP.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DatabaseAbstract' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTime' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTime.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Constants' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Current' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Current.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Date' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\DateParts' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/DateParts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\DateValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/DateValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Days' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Days.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Days360' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Days360.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Difference' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Difference.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Helpers' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Month' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Month.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\NetworkDays' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/NetworkDays.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Time' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Time.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\TimeParts' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/TimeParts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\TimeValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/TimeValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Week' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Week.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\WorkDay' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/WorkDay.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\YearFrac' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/YearFrac.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\ArrayArgumentHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\ArrayArgumentProcessor' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentProcessor.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\BranchPruner' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/BranchPruner.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\CyclicReferenceStack' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/CyclicReferenceStack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\FormattedNumber' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/FormattedNumber.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Logger' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Logger.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Operands\\Operand' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Operands/Operand.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Operands\\StructuredReference' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Operands/StructuredReference.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselI' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselI.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselJ' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselJ.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselK' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselK.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselY' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselY.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BitWise' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BitWise.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Compare' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Compare.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Complex' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Complex.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ComplexFunctions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ComplexFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ComplexOperations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ComplexOperations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Constants' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertBinary' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertBinary.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertDecimal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertDecimal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertHex' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertHex.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertOctal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertOctal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertUOM' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertUOM.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\EngineeringValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/EngineeringValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Erf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Erf.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ErfC' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ErfC.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Exception' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\ExceptionHandler' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/ExceptionHandler.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Amortization' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Amortization.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\CashFlowValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/CashFlowValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Cumulative' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Cumulative.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Interest' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\InterestAndPrincipal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/InterestAndPrincipal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Payments' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Payments.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Single' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Single.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Variable\\NonPeriodic' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/NonPeriodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Variable\\Periodic' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/Periodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Constants' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Coupons' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Coupons.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Depreciation' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Depreciation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Dollar' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Dollar.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\FinancialValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/FinancialValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Helpers' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\InterestRate' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/InterestRate.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\AccruedInterest' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/AccruedInterest.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Price' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Price.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Rates' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Rates.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\SecurityValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/SecurityValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Yields' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Yields.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\TreasuryBill' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/TreasuryBill.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\FormulaParser' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaParser.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\FormulaToken' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Functions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Functions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ErrorValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/ErrorValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ExcelError' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/ExcelError.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\Value' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/Value.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\MakeMatrix' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/MakeMatrix.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\WildcardMatch' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/WildcardMatch.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Boolean' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Boolean.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Conditional' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Operations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Operations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Address' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Address.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\ExcelMatch' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Filter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Filter.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Formula' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Formula.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\HLookup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/HLookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Helpers' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Hyperlink' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Hyperlink.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Indirect' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Indirect.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Lookup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Lookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\LookupBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/LookupBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\LookupRefValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/LookupRefValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Matrix' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Matrix.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Offset' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Offset.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\RowColumnInformation' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/RowColumnInformation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Selection' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Selection.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Sort' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Sort.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Unique' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Unique.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\VLookup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Absolute' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Absolute.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Angle' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Angle.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Arabic' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Arabic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Base' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Base.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Ceiling' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Ceiling.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Combinations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Combinations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Exp' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Exp.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Factorial' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Factorial.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Floor' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Floor.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Gcd' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Gcd.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Helpers' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\IntClass' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/IntClass.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Lcm' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Lcm.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Logarithms' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Logarithms.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\MatrixFunctions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/MatrixFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Operations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Operations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Random' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Random.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Roman' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Roman.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Round' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Round.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\SeriesSum' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/SeriesSum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sign' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sign.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sqrt' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sqrt.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Subtotal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Subtotal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sum' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\SumSquares' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/SumSquares.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cosecant' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosecant.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cosine' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosine.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cotangent' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cotangent.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Secant' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Secant.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Sine' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Sine.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Tangent' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Tangent.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trunc' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trunc.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\AggregateBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/AggregateBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Averages' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Averages\\Mean' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages/Mean.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Conditional' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Confidence' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Confidence.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Counts' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Counts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Deviations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Deviations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Beta' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Beta.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Binomial' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Binomial.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\ChiSquared' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\DistributionValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/DistributionValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Exponential' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Exponential.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\F' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/F.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Fisher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Fisher.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Gamma' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Gamma.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\GammaBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\HyperGeometric' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/HyperGeometric.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\LogNormal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/LogNormal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\NewtonRaphson' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/NewtonRaphson.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Normal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Normal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Poisson' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Poisson.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\StandardNormal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/StandardNormal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\StudentT' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/StudentT.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Weibull' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Weibull.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\MaxMinBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/MaxMinBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Maximum' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Maximum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Minimum' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Minimum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Percentiles' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Percentiles.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Permutations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Permutations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Size' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Size.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\StandardDeviations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/StandardDeviations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Standardize' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Standardize.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\StatisticalValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/StatisticalValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Trends' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Trends.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\VarianceBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/VarianceBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Variances' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Variances.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\CaseConvert' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/CaseConvert.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\CharacterConvert' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/CharacterConvert.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Concatenate' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Concatenate.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Extract' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Extract.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Format' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Format.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Helpers' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Replace' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Replace.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Search' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Search.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Text' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Text.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Trim' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Trim.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Token\\Stack' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Token/Stack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Web' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Web.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Web\\Service' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Web/Service.php', + 'PhpOffice\\PhpSpreadsheet\\CellReferenceHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/CellReferenceHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AddressHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AddressHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AddressRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AddressRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AdvancedValueBinder' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AdvancedValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Cell' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\CellAddress' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/CellAddress.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\CellRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/CellRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\ColumnRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/ColumnRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Coordinate' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Coordinate.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataType' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataType.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataValidation' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataValidation.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataValidator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataValidator.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DefaultValueBinder' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Hyperlink' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Hyperlink.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\IValueBinder' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/IValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\IgnoredErrors' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/IgnoredErrors.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\RowRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/RowRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\StringValueBinder' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/StringValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Axis' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Axis.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\AxisText' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/AxisText.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Chart' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\ChartColor' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/ChartColor.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\DataSeries' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeries.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\DataSeriesValues' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeriesValues.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Exception' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\GridLines' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/GridLines.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Layout' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Layout.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Legend' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Legend.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\PlotArea' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/PlotArea.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\IRenderer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/IRenderer.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\JpGraph' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/JpGraph.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\JpGraphRendererBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/JpGraphRendererBase.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\MtJpGraphRenderer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/MtJpGraphRenderer.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Title' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Title.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\TrendLine' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/TrendLine.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Cells' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Cells.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\CellsFactory' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/CellsFactory.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Memory\\SimpleCache1' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Memory/SimpleCache1.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Memory\\SimpleCache3' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Memory/SimpleCache3.php', + 'PhpOffice\\PhpSpreadsheet\\Comment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Comment.php', + 'PhpOffice\\PhpSpreadsheet\\DefinedName' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/DefinedName.php', + 'PhpOffice\\PhpSpreadsheet\\Document\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Document\\Security' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Security.php', + 'PhpOffice\\PhpSpreadsheet\\Exception' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\HashTable' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/HashTable.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Dimension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Dimension.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Downloader' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Downloader.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Handler' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Handler.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Html' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Sample' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Sample.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Size' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Size.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\TextGrid' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/TextGrid.php', + 'PhpOffice\\PhpSpreadsheet\\IComparable' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IComparable.php', + 'PhpOffice\\PhpSpreadsheet\\IOFactory' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IOFactory.php', + 'PhpOffice\\PhpSpreadsheet\\NamedFormula' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/NamedFormula.php', + 'PhpOffice\\PhpSpreadsheet\\NamedRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/NamedRange.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\BaseReader' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/BaseReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Csv' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Csv.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Csv\\Delimiter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Csv/Delimiter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\DefaultReadFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/DefaultReadFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Exception' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\PageSetup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\Styles' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Html' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\IReadFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/IReadFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\IReader' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/IReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\AutoFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\BaseLoader' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/BaseLoader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\DefinedNames' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/DefinedNames.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\FormulaTranslator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/FormulaTranslator.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\PageSettings' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/PageSettings.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Security\\XmlScanner' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Security/XmlScanner.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Slk' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Slk.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BIFF5' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BIFF5.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BIFF8' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BIFF8.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BuiltIn' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BuiltIn.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ConditionalFormatting' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ConditionalFormatting.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\DataValidationHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/DataValidationHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ErrorCode' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ErrorCode.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Escher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\MD5' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/MD5.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\RC4' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/RC4.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\Border' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\CellAlignment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/CellAlignment.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\CellFont' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/CellFont.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\FillPattern' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/FillPattern.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\AutoFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\BaseParserClass' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/BaseParserClass.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Chart' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\ColumnAndRowAttributes' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\ConditionalStyles' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\DataValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/DataValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Hyperlinks' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Hyperlinks.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Namespaces' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Namespaces.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\PageSetup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SharedFormula' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SharedFormula.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SheetViewOptions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViewOptions.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SheetViews' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViews.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Styles' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\TableReader' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/TableReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Theme' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\WorkbookView' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/WorkbookView.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\DataValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/DataValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\PageSettings' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/PageSettings.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Alignment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Alignment.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Border' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Fill' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Fill.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Font' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\NumberFormat' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/NumberFormat.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\StyleBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/StyleBase.php', + 'PhpOffice\\PhpSpreadsheet\\ReferenceHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/ReferenceHelper.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\ITextElement' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/ITextElement.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\RichText' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/RichText.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\Run' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/Run.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\TextElement' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/TextElement.php', + 'PhpOffice\\PhpSpreadsheet\\Settings' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Settings.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\CodePage' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/CodePage.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Date' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Drawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer\\SpgrContainer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer\\SpgrContainer\\SpContainer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer\\BSE' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer/BSE.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer\\BSE\\Blip' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\File' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/File.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Font' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\IntOrFloat' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/IntOrFloat.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLERead' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLERead.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\ChainedBlockStream' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/ChainedBlockStream.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS\\File' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS/File.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS\\Root' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS/Root.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\PasswordHasher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/PasswordHasher.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\StringHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/StringHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\TimeZone' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/TimeZone.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\BestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/BestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\ExponentialBestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/ExponentialBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\LinearBestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/LinearBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\LogarithmicBestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/LogarithmicBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\PolynomialBestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PolynomialBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\PowerBestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PowerBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\Trend' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/Trend.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\XMLWriter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/XMLWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Xls' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Spreadsheet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Spreadsheet.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Alignment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Alignment.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Border' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Borders' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Borders.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Color' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Color.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Conditional' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\CellMatcher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/CellMatcher.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\CellStyleAssessor' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/CellStyleAssessor.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalDataBar' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalDataBarExtension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalFormatValueObject' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalFormattingRuleExtension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\StyleMerger' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/StyleMerger.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Blanks' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Blanks.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\CellValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/CellValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\DateValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/DateValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Duplicates' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Duplicates.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Errors' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Errors.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Expression' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Expression.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\TextValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/TextValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\WizardAbstract' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/WizardAbstract.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\WizardInterface' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/WizardInterface.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Fill' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Fill.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Font' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\BaseFormatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/BaseFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\DateFormatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Formatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Formatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\FractionFormatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/FractionFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\NumberFormatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/NumberFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\PercentageFormatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/PercentageFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Accounting' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Accounting.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Currency' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Currency.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Date' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\DateTime' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/DateTime.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\DateTimeWizard' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/DateTimeWizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Duration' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Duration.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Locale' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Locale.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Number' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Number.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\NumberBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/NumberBase.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Percentage' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Percentage.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Scientific' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Scientific.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Time' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Time.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Wizard' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Wizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Protection' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Protection.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\RgbTint' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/RgbTint.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Style' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Supervisor' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Supervisor.php', + 'PhpOffice\\PhpSpreadsheet\\Theme' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter\\Column' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter\\Column\\Rule' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column/Rule.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFit.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\BaseDrawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/BaseDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\CellIterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/CellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Column' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnCellIterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnCellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnDimension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnDimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnIterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Dimension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Dimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Drawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Drawing\\Shadow' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Drawing/Shadow.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\HeaderFooter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/HeaderFooter.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\HeaderFooterDrawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/HeaderFooterDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Iterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Iterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\MemoryDrawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/MemoryDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageBreak' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageBreak.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageMargins' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageMargins.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageSetup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Protection' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Protection.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Row' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Row.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowCellIterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowCellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowDimension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowDimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowIterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\SheetView' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/SheetView.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\Column' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\TableStyle' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/TableStyle.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Validations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Validations.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Worksheet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\BaseWriter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/BaseWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Csv' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Csv.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Exception' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Html' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\IWriter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/IWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\AutoFilters' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/AutoFilters.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Cell\\Comment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Comment.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Cell\\Style' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Content' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Content.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Formula' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Formula.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Meta' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Meta.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\MetaInf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/MetaInf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Mimetype' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Mimetype.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\NamedExpressions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/NamedExpressions.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Settings' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Settings.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Styles' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Thumbnails' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Thumbnails.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\WriterPart' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/WriterPart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Dompdf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Mpdf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Tcpdf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\BIFFwriter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/BIFFwriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\CellDataValidation' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/CellDataValidation.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\ConditionalHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ConditionalHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\ErrorCode' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ErrorCode.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Escher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Font' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Parser' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Parser.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellAlignment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellAlignment.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellBorder' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellBorder.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellFill' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellFill.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\ColorMap' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/ColorMap.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Workbook' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Workbook.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Worksheet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Xf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Xf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\AutoFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Chart' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Comments' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Comments.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\ContentTypes' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/ContentTypes.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\DefinedNames' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/DefinedNames.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\DocProps' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/DocProps.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Drawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\FunctionPrefix' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/FunctionPrefix.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Rels' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Rels.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\RelsRibbon' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/RelsRibbon.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\RelsVBA' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/RelsVBA.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\StringTable' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/StringTable.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Style' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Table' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Table.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Theme' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Workbook' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Workbook.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Worksheet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\WriterPart' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/WriterPart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream0' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream0.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream2' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream2.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream3' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream3.php', 'PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php', + 'PhpZip\\Constants\\DosAttrs' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/DosAttrs.php', + 'PhpZip\\Constants\\DosCodePage' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/DosCodePage.php', + 'PhpZip\\Constants\\GeneralPurposeBitFlag' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/GeneralPurposeBitFlag.php', + 'PhpZip\\Constants\\UnixStat' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/UnixStat.php', + 'PhpZip\\Constants\\ZipCompressionLevel' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/ZipCompressionLevel.php', + 'PhpZip\\Constants\\ZipCompressionMethod' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/ZipCompressionMethod.php', + 'PhpZip\\Constants\\ZipConstants' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/ZipConstants.php', + 'PhpZip\\Constants\\ZipEncryptionMethod' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/ZipEncryptionMethod.php', + 'PhpZip\\Constants\\ZipOptions' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/ZipOptions.php', + 'PhpZip\\Constants\\ZipPlatform' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/ZipPlatform.php', + 'PhpZip\\Constants\\ZipVersion' => __DIR__ . '/..' . '/nelexa/zip/src/Constants/ZipVersion.php', + 'PhpZip\\Exception\\Crc32Exception' => __DIR__ . '/..' . '/nelexa/zip/src/Exception/Crc32Exception.php', + 'PhpZip\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/nelexa/zip/src/Exception/InvalidArgumentException.php', + 'PhpZip\\Exception\\RuntimeException' => __DIR__ . '/..' . '/nelexa/zip/src/Exception/RuntimeException.php', + 'PhpZip\\Exception\\ZipAuthenticationException' => __DIR__ . '/..' . '/nelexa/zip/src/Exception/ZipAuthenticationException.php', + 'PhpZip\\Exception\\ZipCryptoException' => __DIR__ . '/..' . '/nelexa/zip/src/Exception/ZipCryptoException.php', + 'PhpZip\\Exception\\ZipEntryNotFoundException' => __DIR__ . '/..' . '/nelexa/zip/src/Exception/ZipEntryNotFoundException.php', + 'PhpZip\\Exception\\ZipException' => __DIR__ . '/..' . '/nelexa/zip/src/Exception/ZipException.php', + 'PhpZip\\Exception\\ZipUnsupportMethodException' => __DIR__ . '/..' . '/nelexa/zip/src/Exception/ZipUnsupportMethodException.php', + 'PhpZip\\IO\\Filter\\Cipher\\Pkware\\PKCryptContext' => __DIR__ . '/..' . '/nelexa/zip/src/IO/Filter/Cipher/Pkware/PKCryptContext.php', + 'PhpZip\\IO\\Filter\\Cipher\\Pkware\\PKDecryptionStreamFilter' => __DIR__ . '/..' . '/nelexa/zip/src/IO/Filter/Cipher/Pkware/PKDecryptionStreamFilter.php', + 'PhpZip\\IO\\Filter\\Cipher\\Pkware\\PKEncryptionStreamFilter' => __DIR__ . '/..' . '/nelexa/zip/src/IO/Filter/Cipher/Pkware/PKEncryptionStreamFilter.php', + 'PhpZip\\IO\\Filter\\Cipher\\WinZipAes\\WinZipAesContext' => __DIR__ . '/..' . '/nelexa/zip/src/IO/Filter/Cipher/WinZipAes/WinZipAesContext.php', + 'PhpZip\\IO\\Filter\\Cipher\\WinZipAes\\WinZipAesDecryptionStreamFilter' => __DIR__ . '/..' . '/nelexa/zip/src/IO/Filter/Cipher/WinZipAes/WinZipAesDecryptionStreamFilter.php', + 'PhpZip\\IO\\Filter\\Cipher\\WinZipAes\\WinZipAesEncryptionStreamFilter' => __DIR__ . '/..' . '/nelexa/zip/src/IO/Filter/Cipher/WinZipAes/WinZipAesEncryptionStreamFilter.php', + 'PhpZip\\IO\\Stream\\ResponseStream' => __DIR__ . '/..' . '/nelexa/zip/src/IO/Stream/ResponseStream.php', + 'PhpZip\\IO\\Stream\\ZipEntryStreamWrapper' => __DIR__ . '/..' . '/nelexa/zip/src/IO/Stream/ZipEntryStreamWrapper.php', + 'PhpZip\\IO\\ZipReader' => __DIR__ . '/..' . '/nelexa/zip/src/IO/ZipReader.php', + 'PhpZip\\IO\\ZipWriter' => __DIR__ . '/..' . '/nelexa/zip/src/IO/ZipWriter.php', + 'PhpZip\\Model\\Data\\ZipFileData' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Data/ZipFileData.php', + 'PhpZip\\Model\\Data\\ZipNewData' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Data/ZipNewData.php', + 'PhpZip\\Model\\Data\\ZipSourceFileData' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Data/ZipSourceFileData.php', + 'PhpZip\\Model\\EndOfCentralDirectory' => __DIR__ . '/..' . '/nelexa/zip/src/Model/EndOfCentralDirectory.php', + 'PhpZip\\Model\\Extra\\ExtraFieldsCollection' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/ExtraFieldsCollection.php', + 'PhpZip\\Model\\Extra\\Fields\\AbstractUnicodeExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/AbstractUnicodeExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\ApkAlignmentExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/ApkAlignmentExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\AsiExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/AsiExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\ExtendedTimestampExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/ExtendedTimestampExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\JarMarkerExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/JarMarkerExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\NewUnixExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/NewUnixExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\NtfsExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/NtfsExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\OldUnixExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/OldUnixExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\UnicodeCommentExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/UnicodeCommentExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\UnicodePathExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/UnicodePathExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\UnrecognizedExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/UnrecognizedExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\WinZipAesExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/WinZipAesExtraField.php', + 'PhpZip\\Model\\Extra\\Fields\\Zip64ExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/Fields/Zip64ExtraField.php', + 'PhpZip\\Model\\Extra\\ZipExtraDriver' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/ZipExtraDriver.php', + 'PhpZip\\Model\\Extra\\ZipExtraField' => __DIR__ . '/..' . '/nelexa/zip/src/Model/Extra/ZipExtraField.php', + 'PhpZip\\Model\\ImmutableZipContainer' => __DIR__ . '/..' . '/nelexa/zip/src/Model/ImmutableZipContainer.php', + 'PhpZip\\Model\\ZipContainer' => __DIR__ . '/..' . '/nelexa/zip/src/Model/ZipContainer.php', + 'PhpZip\\Model\\ZipData' => __DIR__ . '/..' . '/nelexa/zip/src/Model/ZipData.php', + 'PhpZip\\Model\\ZipEntry' => __DIR__ . '/..' . '/nelexa/zip/src/Model/ZipEntry.php', + 'PhpZip\\Model\\ZipEntryMatcher' => __DIR__ . '/..' . '/nelexa/zip/src/Model/ZipEntryMatcher.php', + 'PhpZip\\Util\\CryptoUtil' => __DIR__ . '/..' . '/nelexa/zip/src/Util/CryptoUtil.php', + 'PhpZip\\Util\\DateTimeConverter' => __DIR__ . '/..' . '/nelexa/zip/src/Util/DateTimeConverter.php', + 'PhpZip\\Util\\FileAttribUtil' => __DIR__ . '/..' . '/nelexa/zip/src/Util/FileAttribUtil.php', + 'PhpZip\\Util\\FilesUtil' => __DIR__ . '/..' . '/nelexa/zip/src/Util/FilesUtil.php', + 'PhpZip\\Util\\Iterator\\IgnoreFilesFilterIterator' => __DIR__ . '/..' . '/nelexa/zip/src/Util/Iterator/IgnoreFilesFilterIterator.php', + 'PhpZip\\Util\\Iterator\\IgnoreFilesRecursiveFilterIterator' => __DIR__ . '/..' . '/nelexa/zip/src/Util/Iterator/IgnoreFilesRecursiveFilterIterator.php', + 'PhpZip\\Util\\MathUtil' => __DIR__ . '/..' . '/nelexa/zip/src/Util/MathUtil.php', + 'PhpZip\\Util\\StringUtil' => __DIR__ . '/..' . '/nelexa/zip/src/Util/StringUtil.php', + 'PhpZip\\ZipFile' => __DIR__ . '/..' . '/nelexa/zip/src/ZipFile.php', + 'Pimple\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Container.php', + 'Pimple\\Exception\\ExpectedInvokableException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php', + 'Pimple\\Exception\\FrozenServiceException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php', + 'Pimple\\Exception\\InvalidServiceIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php', + 'Pimple\\Exception\\UnknownIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php', + 'Pimple\\Psr11\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/Container.php', + 'Pimple\\Psr11\\ServiceLocator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php', + 'Pimple\\ServiceIterator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceIterator.php', + 'Pimple\\ServiceProviderInterface' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php', + 'Pimple\\Tests\\Fixtures\\Invokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php', + 'Pimple\\Tests\\Fixtures\\NonInvokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php', + 'Pimple\\Tests\\Fixtures\\PimpleServiceProvider' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php', + 'Pimple\\Tests\\Fixtures\\Service' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php', + 'Pimple\\Tests\\PimpleServiceProviderInterfaceTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php', + 'Pimple\\Tests\\PimpleTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php', + 'Pimple\\Tests\\Psr11\\ContainerTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php', + 'Pimple\\Tests\\Psr11\\ServiceLocatorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php', + 'Pimple\\Tests\\ServiceIteratorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php', + 'Psr\\Cache\\CacheException' => __DIR__ . '/..' . '/psr/cache/src/CacheException.php', + 'Psr\\Cache\\CacheItemInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemInterface.php', + 'Psr\\Cache\\CacheItemPoolInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemPoolInterface.php', + 'Psr\\Cache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/cache/src/InvalidArgumentException.php', + 'Psr\\Container\\ContainerExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerExceptionInterface.php', + 'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php', + 'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php', + 'Psr\\EventDispatcher\\EventDispatcherInterface' => __DIR__ . '/..' . '/psr/event-dispatcher/src/EventDispatcherInterface.php', + 'Psr\\EventDispatcher\\ListenerProviderInterface' => __DIR__ . '/..' . '/psr/event-dispatcher/src/ListenerProviderInterface.php', + 'Psr\\EventDispatcher\\StoppableEventInterface' => __DIR__ . '/..' . '/psr/event-dispatcher/src/StoppableEventInterface.php', + 'Psr\\Http\\Client\\ClientExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/ClientExceptionInterface.php', + 'Psr\\Http\\Client\\ClientInterface' => __DIR__ . '/..' . '/psr/http-client/src/ClientInterface.php', + 'Psr\\Http\\Client\\NetworkExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/NetworkExceptionInterface.php', + 'Psr\\Http\\Client\\RequestExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/RequestExceptionInterface.php', + 'Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/..' . '/psr/http-message/src/MessageInterface.php', + 'Psr\\Http\\Message\\RequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/RequestFactoryInterface.php', + 'Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/RequestInterface.php', + 'Psr\\Http\\Message\\ResponseFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ResponseFactoryInterface.php', + 'Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/..' . '/psr/http-message/src/ResponseInterface.php', + 'Psr\\Http\\Message\\ServerRequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ServerRequestFactoryInterface.php', + 'Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/ServerRequestInterface.php', + 'Psr\\Http\\Message\\StreamFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/StreamFactoryInterface.php', + 'Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/..' . '/psr/http-message/src/StreamInterface.php', + 'Psr\\Http\\Message\\UploadedFileFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UploadedFileFactoryInterface.php', + 'Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/..' . '/psr/http-message/src/UploadedFileInterface.php', + 'Psr\\Http\\Message\\UriFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UriFactoryInterface.php', + 'Psr\\Http\\Message\\UriInterface' => __DIR__ . '/..' . '/psr/http-message/src/UriInterface.php', + 'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php', + 'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php', + 'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php', + 'Psr\\Log\\LoggerAwareInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerAwareInterface.php', + 'Psr\\Log\\LoggerAwareTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerAwareTrait.php', + 'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php', + 'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php', + 'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php', + 'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php', + 'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php', + 'Psr\\SimpleCache\\CacheException' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheException.php', + 'Psr\\SimpleCache\\CacheInterface' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheInterface.php', + 'Psr\\SimpleCache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/simple-cache/src/InvalidArgumentException.php', 'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php', + 'Symfony\\Bridge\\PsrHttpMessage\\ArgumentValueResolver\\PsrServerRequestResolver' => __DIR__ . '/..' . '/symfony/psr-http-message-bridge/ArgumentValueResolver/PsrServerRequestResolver.php', + 'Symfony\\Bridge\\PsrHttpMessage\\ArgumentValueResolver\\ValueResolverInterface' => __DIR__ . '/..' . '/symfony/psr-http-message-bridge/ArgumentValueResolver/ValueResolverInterface.php', + 'Symfony\\Bridge\\PsrHttpMessage\\EventListener\\PsrResponseListener' => __DIR__ . '/..' . '/symfony/psr-http-message-bridge/EventListener/PsrResponseListener.php', + 'Symfony\\Bridge\\PsrHttpMessage\\Factory\\HttpFoundationFactory' => __DIR__ . '/..' . '/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php', + 'Symfony\\Bridge\\PsrHttpMessage\\Factory\\PsrHttpFactory' => __DIR__ . '/..' . '/symfony/psr-http-message-bridge/Factory/PsrHttpFactory.php', + 'Symfony\\Bridge\\PsrHttpMessage\\Factory\\UploadedFile' => __DIR__ . '/..' . '/symfony/psr-http-message-bridge/Factory/UploadedFile.php', + 'Symfony\\Bridge\\PsrHttpMessage\\HttpFoundationFactoryInterface' => __DIR__ . '/..' . '/symfony/psr-http-message-bridge/HttpFoundationFactoryInterface.php', + 'Symfony\\Bridge\\PsrHttpMessage\\HttpMessageFactoryInterface' => __DIR__ . '/..' . '/symfony/psr-http-message-bridge/HttpMessageFactoryInterface.php', + 'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/AbstractAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\AbstractTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/AbstractTagAwareAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/AdapterInterface.php', + 'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ApcuAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ArrayAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ArrayAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ChainAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\CouchbaseBucketAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/CouchbaseBucketAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\CouchbaseCollectionAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/CouchbaseCollectionAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\DoctrineAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/DoctrineAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\DoctrineDbalAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/DoctrineDbalAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/FilesystemAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\FilesystemTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/FilesystemTagAwareAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\MemcachedAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/MemcachedAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\NullAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/NullAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ParameterNormalizer' => __DIR__ . '/..' . '/symfony/cache/Adapter/ParameterNormalizer.php', + 'Symfony\\Component\\Cache\\Adapter\\PdoAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PdoAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\PhpArrayAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PhpArrayAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\PhpFilesAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PhpFilesAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ProxyAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\Psr16Adapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/Psr16Adapter.php', + 'Symfony\\Component\\Cache\\Adapter\\RedisAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/RedisAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\RedisTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/RedisTagAwareAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapterInterface.php', + 'Symfony\\Component\\Cache\\Adapter\\TraceableAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableAdapter.php', + 'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php', + 'Symfony\\Component\\Cache\\CacheItem' => __DIR__ . '/..' . '/symfony/cache/CacheItem.php', + 'Symfony\\Component\\Cache\\DataCollector\\CacheDataCollector' => __DIR__ . '/..' . '/symfony/cache/DataCollector/CacheDataCollector.php', + 'Symfony\\Component\\Cache\\DependencyInjection\\CacheCollectorPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CacheCollectorPass.php', + 'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolClearerPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolClearerPass.php', + 'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolPass.php', + 'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPrunerPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolPrunerPass.php', + 'Symfony\\Component\\Cache\\DoctrineProvider' => __DIR__ . '/..' . '/symfony/cache/DoctrineProvider.php', + 'Symfony\\Component\\Cache\\Exception\\CacheException' => __DIR__ . '/..' . '/symfony/cache/Exception/CacheException.php', + 'Symfony\\Component\\Cache\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/cache/Exception/InvalidArgumentException.php', + 'Symfony\\Component\\Cache\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/cache/Exception/LogicException.php', + 'Symfony\\Component\\Cache\\LockRegistry' => __DIR__ . '/..' . '/symfony/cache/LockRegistry.php', + 'Symfony\\Component\\Cache\\Marshaller\\DefaultMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/DefaultMarshaller.php', + 'Symfony\\Component\\Cache\\Marshaller\\DeflateMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/DeflateMarshaller.php', + 'Symfony\\Component\\Cache\\Marshaller\\MarshallerInterface' => __DIR__ . '/..' . '/symfony/cache/Marshaller/MarshallerInterface.php', + 'Symfony\\Component\\Cache\\Marshaller\\SodiumMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/SodiumMarshaller.php', + 'Symfony\\Component\\Cache\\Marshaller\\TagAwareMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/TagAwareMarshaller.php', + 'Symfony\\Component\\Cache\\Messenger\\EarlyExpirationDispatcher' => __DIR__ . '/..' . '/symfony/cache/Messenger/EarlyExpirationDispatcher.php', + 'Symfony\\Component\\Cache\\Messenger\\EarlyExpirationHandler' => __DIR__ . '/..' . '/symfony/cache/Messenger/EarlyExpirationHandler.php', + 'Symfony\\Component\\Cache\\Messenger\\EarlyExpirationMessage' => __DIR__ . '/..' . '/symfony/cache/Messenger/EarlyExpirationMessage.php', + 'Symfony\\Component\\Cache\\PruneableInterface' => __DIR__ . '/..' . '/symfony/cache/PruneableInterface.php', + 'Symfony\\Component\\Cache\\Psr16Cache' => __DIR__ . '/..' . '/symfony/cache/Psr16Cache.php', + 'Symfony\\Component\\Cache\\ResettableInterface' => __DIR__ . '/..' . '/symfony/cache/ResettableInterface.php', + 'Symfony\\Component\\Cache\\Traits\\AbstractAdapterTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/AbstractAdapterTrait.php', + 'Symfony\\Component\\Cache\\Traits\\ContractsTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ContractsTrait.php', + 'Symfony\\Component\\Cache\\Traits\\FilesystemCommonTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/FilesystemCommonTrait.php', + 'Symfony\\Component\\Cache\\Traits\\FilesystemTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/FilesystemTrait.php', + 'Symfony\\Component\\Cache\\Traits\\ProxyTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ProxyTrait.php', + 'Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterNodeProxy.php', + 'Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterProxy.php', + 'Symfony\\Component\\Cache\\Traits\\RedisProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisProxy.php', + 'Symfony\\Component\\Cache\\Traits\\RedisTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisTrait.php', + 'Symfony\\Component\\EventDispatcher\\Attribute\\AsEventListener' => __DIR__ . '/..' . '/symfony/event-dispatcher/Attribute/AsEventListener.php', + 'Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher' => __DIR__ . '/..' . '/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php', + 'Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener' => __DIR__ . '/..' . '/symfony/event-dispatcher/Debug/WrappedListener.php', + 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\AddEventAliasesPass' => __DIR__ . '/..' . '/symfony/event-dispatcher/DependencyInjection/AddEventAliasesPass.php', + 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\RegisterListenersPass' => __DIR__ . '/..' . '/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php', + 'Symfony\\Component\\EventDispatcher\\EventDispatcher' => __DIR__ . '/..' . '/symfony/event-dispatcher/EventDispatcher.php', + 'Symfony\\Component\\EventDispatcher\\EventDispatcherInterface' => __DIR__ . '/..' . '/symfony/event-dispatcher/EventDispatcherInterface.php', + 'Symfony\\Component\\EventDispatcher\\EventSubscriberInterface' => __DIR__ . '/..' . '/symfony/event-dispatcher/EventSubscriberInterface.php', + 'Symfony\\Component\\EventDispatcher\\GenericEvent' => __DIR__ . '/..' . '/symfony/event-dispatcher/GenericEvent.php', + 'Symfony\\Component\\EventDispatcher\\ImmutableEventDispatcher' => __DIR__ . '/..' . '/symfony/event-dispatcher/ImmutableEventDispatcher.php', + 'Symfony\\Component\\EventDispatcher\\LegacyEventDispatcherProxy' => __DIR__ . '/..' . '/symfony/event-dispatcher/LegacyEventDispatcherProxy.php', + 'Symfony\\Component\\Finder\\Comparator\\Comparator' => __DIR__ . '/..' . '/symfony/finder/Comparator/Comparator.php', + 'Symfony\\Component\\Finder\\Comparator\\DateComparator' => __DIR__ . '/..' . '/symfony/finder/Comparator/DateComparator.php', + 'Symfony\\Component\\Finder\\Comparator\\NumberComparator' => __DIR__ . '/..' . '/symfony/finder/Comparator/NumberComparator.php', + 'Symfony\\Component\\Finder\\Exception\\AccessDeniedException' => __DIR__ . '/..' . '/symfony/finder/Exception/AccessDeniedException.php', + 'Symfony\\Component\\Finder\\Exception\\DirectoryNotFoundException' => __DIR__ . '/..' . '/symfony/finder/Exception/DirectoryNotFoundException.php', + 'Symfony\\Component\\Finder\\Finder' => __DIR__ . '/..' . '/symfony/finder/Finder.php', + 'Symfony\\Component\\Finder\\Gitignore' => __DIR__ . '/..' . '/symfony/finder/Gitignore.php', + 'Symfony\\Component\\Finder\\Glob' => __DIR__ . '/..' . '/symfony/finder/Glob.php', + 'Symfony\\Component\\Finder\\Iterator\\CustomFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/CustomFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\DateRangeFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/DateRangeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\DepthRangeFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/DepthRangeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\ExcludeDirectoryFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FileTypeFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/FileTypeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FilecontentFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/FilecontentFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\FilenameFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/FilenameFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\LazyIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/LazyIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\MultiplePcreFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/MultiplePcreFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\PathFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/PathFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\RecursiveDirectoryIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/RecursiveDirectoryIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\SizeRangeFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/SizeRangeFilterIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\SortableIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/SortableIterator.php', + 'Symfony\\Component\\Finder\\Iterator\\VcsIgnoredFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/VcsIgnoredFilterIterator.php', + 'Symfony\\Component\\Finder\\SplFileInfo' => __DIR__ . '/..' . '/symfony/finder/SplFileInfo.php', + 'Symfony\\Component\\HttpFoundation\\AcceptHeader' => __DIR__ . '/..' . '/symfony/http-foundation/AcceptHeader.php', + 'Symfony\\Component\\HttpFoundation\\AcceptHeaderItem' => __DIR__ . '/..' . '/symfony/http-foundation/AcceptHeaderItem.php', + 'Symfony\\Component\\HttpFoundation\\BinaryFileResponse' => __DIR__ . '/..' . '/symfony/http-foundation/BinaryFileResponse.php', + 'Symfony\\Component\\HttpFoundation\\Cookie' => __DIR__ . '/..' . '/symfony/http-foundation/Cookie.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\BadRequestException' => __DIR__ . '/..' . '/symfony/http-foundation/Exception/BadRequestException.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\ConflictingHeadersException' => __DIR__ . '/..' . '/symfony/http-foundation/Exception/ConflictingHeadersException.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\JsonException' => __DIR__ . '/..' . '/symfony/http-foundation/Exception/JsonException.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\RequestExceptionInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Exception/RequestExceptionInterface.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\SessionNotFoundException' => __DIR__ . '/..' . '/symfony/http-foundation/Exception/SessionNotFoundException.php', + 'Symfony\\Component\\HttpFoundation\\Exception\\SuspiciousOperationException' => __DIR__ . '/..' . '/symfony/http-foundation/Exception/SuspiciousOperationException.php', + 'Symfony\\Component\\HttpFoundation\\ExpressionRequestMatcher' => __DIR__ . '/..' . '/symfony/http-foundation/ExpressionRequestMatcher.php', + 'Symfony\\Component\\HttpFoundation\\FileBag' => __DIR__ . '/..' . '/symfony/http-foundation/FileBag.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\AccessDeniedException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/AccessDeniedException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\CannotWriteFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/CannotWriteFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\ExtensionFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/ExtensionFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/FileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FileNotFoundException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/FileNotFoundException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FormSizeFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/FormSizeFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\IniSizeFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/IniSizeFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\NoFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/NoFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\NoTmpDirFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/NoTmpDirFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\PartialFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/PartialFileException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\UnexpectedTypeException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/UnexpectedTypeException.php', + 'Symfony\\Component\\HttpFoundation\\File\\Exception\\UploadException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/UploadException.php', + 'Symfony\\Component\\HttpFoundation\\File\\File' => __DIR__ . '/..' . '/symfony/http-foundation/File/File.php', + 'Symfony\\Component\\HttpFoundation\\File\\Stream' => __DIR__ . '/..' . '/symfony/http-foundation/File/Stream.php', + 'Symfony\\Component\\HttpFoundation\\File\\UploadedFile' => __DIR__ . '/..' . '/symfony/http-foundation/File/UploadedFile.php', + 'Symfony\\Component\\HttpFoundation\\HeaderBag' => __DIR__ . '/..' . '/symfony/http-foundation/HeaderBag.php', + 'Symfony\\Component\\HttpFoundation\\HeaderUtils' => __DIR__ . '/..' . '/symfony/http-foundation/HeaderUtils.php', + 'Symfony\\Component\\HttpFoundation\\InputBag' => __DIR__ . '/..' . '/symfony/http-foundation/InputBag.php', + 'Symfony\\Component\\HttpFoundation\\IpUtils' => __DIR__ . '/..' . '/symfony/http-foundation/IpUtils.php', + 'Symfony\\Component\\HttpFoundation\\JsonResponse' => __DIR__ . '/..' . '/symfony/http-foundation/JsonResponse.php', + 'Symfony\\Component\\HttpFoundation\\ParameterBag' => __DIR__ . '/..' . '/symfony/http-foundation/ParameterBag.php', + 'Symfony\\Component\\HttpFoundation\\RateLimiter\\AbstractRequestRateLimiter' => __DIR__ . '/..' . '/symfony/http-foundation/RateLimiter/AbstractRequestRateLimiter.php', + 'Symfony\\Component\\HttpFoundation\\RateLimiter\\RequestRateLimiterInterface' => __DIR__ . '/..' . '/symfony/http-foundation/RateLimiter/RequestRateLimiterInterface.php', + 'Symfony\\Component\\HttpFoundation\\RedirectResponse' => __DIR__ . '/..' . '/symfony/http-foundation/RedirectResponse.php', + 'Symfony\\Component\\HttpFoundation\\Request' => __DIR__ . '/..' . '/symfony/http-foundation/Request.php', + 'Symfony\\Component\\HttpFoundation\\RequestMatcher' => __DIR__ . '/..' . '/symfony/http-foundation/RequestMatcher.php', + 'Symfony\\Component\\HttpFoundation\\RequestMatcherInterface' => __DIR__ . '/..' . '/symfony/http-foundation/RequestMatcherInterface.php', + 'Symfony\\Component\\HttpFoundation\\RequestStack' => __DIR__ . '/..' . '/symfony/http-foundation/RequestStack.php', + 'Symfony\\Component\\HttpFoundation\\Response' => __DIR__ . '/..' . '/symfony/http-foundation/Response.php', + 'Symfony\\Component\\HttpFoundation\\ResponseHeaderBag' => __DIR__ . '/..' . '/symfony/http-foundation/ResponseHeaderBag.php', + 'Symfony\\Component\\HttpFoundation\\ServerBag' => __DIR__ . '/..' . '/symfony/http-foundation/ServerBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\AttributeBag' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Attribute/AttributeBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\AttributeBagInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\NamespacedAttributeBag' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\AutoExpireFlashBag' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBag' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Flash/FlashBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBagInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Flash/FlashBagInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Session' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Session.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionBagInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionBagInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionBagProxy' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionBagProxy.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionFactory' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionFactoryInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionFactoryInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\SessionUtils' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionUtils.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\AbstractSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\IdentityMarshaller' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/IdentityMarshaller.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MarshallingSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/MarshallingSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MemcachedSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MigratingSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/MigratingSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MongoDbSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NativeFileSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NullSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\PdoSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\RedisSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\SessionHandlerFactory' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/SessionHandlerFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\StrictSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MetadataBag' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/MetadataBag.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockArraySessionStorage' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockFileSessionStorage' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockFileSessionStorageFactory' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/MockFileSessionStorageFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorage' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/NativeSessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorageFactory' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/NativeSessionStorageFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\PhpBridgeSessionStorage' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\PhpBridgeSessionStorageFactory' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorageFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\AbstractProxy' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\SessionHandlerProxy' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\ServiceSessionFactory' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/ServiceSessionFactory.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\SessionStorageFactoryInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/SessionStorageFactoryInterface.php', + 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\SessionStorageInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/SessionStorageInterface.php', + 'Symfony\\Component\\HttpFoundation\\StreamedResponse' => __DIR__ . '/..' . '/symfony/http-foundation/StreamedResponse.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\RequestAttributeValueSame' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/RequestAttributeValueSame.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseCookieValueSame' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseCookieValueSame.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseFormatSame' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseFormatSame.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHasCookie' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseHasCookie.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHasHeader' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseHasHeader.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHeaderSame' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseHeaderSame.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseIsRedirected' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseIsRedirected.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseIsSuccessful' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseIsSuccessful.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseIsUnprocessable' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseIsUnprocessable.php', + 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseStatusCodeSame' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseStatusCodeSame.php', + 'Symfony\\Component\\HttpFoundation\\UrlHelper' => __DIR__ . '/..' . '/symfony/http-foundation/UrlHelper.php', + 'Symfony\\Component\\VarExporter\\Exception\\ClassNotFoundException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/ClassNotFoundException.php', + 'Symfony\\Component\\VarExporter\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/ExceptionInterface.php', + 'Symfony\\Component\\VarExporter\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/LogicException.php', + 'Symfony\\Component\\VarExporter\\Exception\\NotInstantiableTypeException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/NotInstantiableTypeException.php', + 'Symfony\\Component\\VarExporter\\Hydrator' => __DIR__ . '/..' . '/symfony/var-exporter/Hydrator.php', + 'Symfony\\Component\\VarExporter\\Instantiator' => __DIR__ . '/..' . '/symfony/var-exporter/Instantiator.php', + 'Symfony\\Component\\VarExporter\\Internal\\Exporter' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Exporter.php', + 'Symfony\\Component\\VarExporter\\Internal\\Hydrator' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Hydrator.php', + 'Symfony\\Component\\VarExporter\\Internal\\LazyObjectRegistry' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/LazyObjectRegistry.php', + 'Symfony\\Component\\VarExporter\\Internal\\LazyObjectState' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/LazyObjectState.php', + 'Symfony\\Component\\VarExporter\\Internal\\LazyObjectTrait' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/LazyObjectTrait.php', + 'Symfony\\Component\\VarExporter\\Internal\\Reference' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Reference.php', + 'Symfony\\Component\\VarExporter\\Internal\\Registry' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Registry.php', + 'Symfony\\Component\\VarExporter\\Internal\\Values' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Values.php', + 'Symfony\\Component\\VarExporter\\LazyGhostTrait' => __DIR__ . '/..' . '/symfony/var-exporter/LazyGhostTrait.php', + 'Symfony\\Component\\VarExporter\\LazyObjectInterface' => __DIR__ . '/..' . '/symfony/var-exporter/LazyObjectInterface.php', + 'Symfony\\Component\\VarExporter\\LazyProxyTrait' => __DIR__ . '/..' . '/symfony/var-exporter/LazyProxyTrait.php', + 'Symfony\\Component\\VarExporter\\ProxyHelper' => __DIR__ . '/..' . '/symfony/var-exporter/ProxyHelper.php', + 'Symfony\\Component\\VarExporter\\VarExporter' => __DIR__ . '/..' . '/symfony/var-exporter/VarExporter.php', + 'Symfony\\Contracts\\Cache\\CacheInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/CacheInterface.php', + 'Symfony\\Contracts\\Cache\\CacheTrait' => __DIR__ . '/..' . '/symfony/cache-contracts/CacheTrait.php', + 'Symfony\\Contracts\\Cache\\CallbackInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/CallbackInterface.php', + 'Symfony\\Contracts\\Cache\\ItemInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/ItemInterface.php', + 'Symfony\\Contracts\\Cache\\TagAwareCacheInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/TagAwareCacheInterface.php', + 'Symfony\\Contracts\\EventDispatcher\\Event' => __DIR__ . '/..' . '/symfony/event-dispatcher-contracts/Event.php', + 'Symfony\\Contracts\\EventDispatcher\\EventDispatcherInterface' => __DIR__ . '/..' . '/symfony/event-dispatcher-contracts/EventDispatcherInterface.php', + 'Symfony\\Contracts\\Service\\Attribute\\Required' => __DIR__ . '/..' . '/symfony/service-contracts/Attribute/Required.php', + 'Symfony\\Contracts\\Service\\Attribute\\SubscribedService' => __DIR__ . '/..' . '/symfony/service-contracts/Attribute/SubscribedService.php', + 'Symfony\\Contracts\\Service\\ResetInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ResetInterface.php', + 'Symfony\\Contracts\\Service\\ServiceCollectionInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceCollectionInterface.php', + 'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceLocatorTrait.php', + 'Symfony\\Contracts\\Service\\ServiceMethodsSubscriberTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceMethodsSubscriberTrait.php', + 'Symfony\\Contracts\\Service\\ServiceProviderInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceProviderInterface.php', + 'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberInterface.php', + 'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberTrait.php', + 'Symfony\\Polyfill\\Mbstring\\Mbstring' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/Mbstring.php', + 'Symfony\\Polyfill\\Php73\\Php73' => __DIR__ . '/..' . '/symfony/polyfill-php73/Php73.php', + 'Symfony\\Polyfill\\Php80\\Php80' => __DIR__ . '/..' . '/symfony/polyfill-php80/Php80.php', + 'Symfony\\Polyfill\\Php80\\PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/PhpToken.php', + 'Tx\\Mailer' => __DIR__ . '/..' . '/fastadminnet/fastadmin-mailer/src/Mailer.php', + 'Tx\\Mailer\\Exceptions\\CodeException' => __DIR__ . '/..' . '/fastadminnet/fastadmin-mailer/src/Mailer/Exceptions/CodeException.php', + 'Tx\\Mailer\\Exceptions\\CryptoException' => __DIR__ . '/..' . '/fastadminnet/fastadmin-mailer/src/Mailer/Exceptions/CryptoException.php', + 'Tx\\Mailer\\Exceptions\\SMTPException' => __DIR__ . '/..' . '/fastadminnet/fastadmin-mailer/src/Mailer/Exceptions/SMTPException.php', + 'Tx\\Mailer\\Exceptions\\SendException' => __DIR__ . '/..' . '/fastadminnet/fastadmin-mailer/src/Mailer/Exceptions/SendException.php', + 'Tx\\Mailer\\Message' => __DIR__ . '/..' . '/fastadminnet/fastadmin-mailer/src/Mailer/Message.php', + 'Tx\\Mailer\\SMTP' => __DIR__ . '/..' . '/fastadminnet/fastadmin-mailer/src/Mailer/SMTP.php', 'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php', 'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php', + 'Workerman\\Autoloader' => __DIR__ . '/..' . '/workerman/workerman/Autoloader.php', + 'Workerman\\Connection\\AsyncTcpConnection' => __DIR__ . '/..' . '/workerman/workerman/Connection/AsyncTcpConnection.php', + 'Workerman\\Connection\\AsyncUdpConnection' => __DIR__ . '/..' . '/workerman/workerman/Connection/AsyncUdpConnection.php', + 'Workerman\\Connection\\ConnectionInterface' => __DIR__ . '/..' . '/workerman/workerman/Connection/ConnectionInterface.php', + 'Workerman\\Connection\\TcpConnection' => __DIR__ . '/..' . '/workerman/workerman/Connection/TcpConnection.php', + 'Workerman\\Connection\\UdpConnection' => __DIR__ . '/..' . '/workerman/workerman/Connection/UdpConnection.php', + 'Workerman\\Events\\Ev' => __DIR__ . '/..' . '/workerman/workerman/Events/Ev.php', + 'Workerman\\Events\\Event' => __DIR__ . '/..' . '/workerman/workerman/Events/Event.php', + 'Workerman\\Events\\EventInterface' => __DIR__ . '/..' . '/workerman/workerman/Events/EventInterface.php', + 'Workerman\\Events\\Libevent' => __DIR__ . '/..' . '/workerman/workerman/Events/Libevent.php', + 'Workerman\\Events\\React\\Base' => __DIR__ . '/..' . '/workerman/workerman/Events/React/Base.php', + 'Workerman\\Events\\React\\ExtEventLoop' => __DIR__ . '/..' . '/workerman/workerman/Events/React/ExtEventLoop.php', + 'Workerman\\Events\\React\\ExtLibEventLoop' => __DIR__ . '/..' . '/workerman/workerman/Events/React/ExtLibEventLoop.php', + 'Workerman\\Events\\React\\StreamSelectLoop' => __DIR__ . '/..' . '/workerman/workerman/Events/React/StreamSelectLoop.php', + 'Workerman\\Events\\Select' => __DIR__ . '/..' . '/workerman/workerman/Events/Select.php', + 'Workerman\\Events\\Swoole' => __DIR__ . '/..' . '/workerman/workerman/Events/Swoole.php', + 'Workerman\\Events\\Uv' => __DIR__ . '/..' . '/workerman/workerman/Events/Uv.php', + 'Workerman\\Lib\\Timer' => __DIR__ . '/..' . '/workerman/workerman/Lib/Timer.php', + 'Workerman\\Protocols\\Frame' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Frame.php', + 'Workerman\\Protocols\\Http' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Http.php', + 'Workerman\\Protocols\\Http\\Chunk' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Http/Chunk.php', + 'Workerman\\Protocols\\Http\\Request' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Http/Request.php', + 'Workerman\\Protocols\\Http\\Response' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Http/Response.php', + 'Workerman\\Protocols\\Http\\ServerSentEvents' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Http/ServerSentEvents.php', + 'Workerman\\Protocols\\Http\\Session' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Http/Session.php', + 'Workerman\\Protocols\\Http\\Session\\FileSessionHandler' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Http/Session/FileSessionHandler.php', + 'Workerman\\Protocols\\Http\\Session\\RedisClusterSessionHandler' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Http/Session/RedisClusterSessionHandler.php', + 'Workerman\\Protocols\\Http\\Session\\RedisSessionHandler' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Http/Session/RedisSessionHandler.php', + 'Workerman\\Protocols\\Http\\Session\\SessionHandlerInterface' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Http/Session/SessionHandlerInterface.php', + 'Workerman\\Protocols\\ProtocolInterface' => __DIR__ . '/..' . '/workerman/workerman/Protocols/ProtocolInterface.php', + 'Workerman\\Protocols\\Text' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Text.php', + 'Workerman\\Protocols\\Websocket' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Websocket.php', + 'Workerman\\Protocols\\Ws' => __DIR__ . '/..' . '/workerman/workerman/Protocols/Ws.php', + 'Workerman\\Timer' => __DIR__ . '/..' . '/workerman/workerman/Timer.php', + 'Workerman\\Worker' => __DIR__ . '/..' . '/workerman/workerman/Worker.php', + 'ZipStream\\CentralDirectoryFileHeader' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/CentralDirectoryFileHeader.php', + 'ZipStream\\CompressionMethod' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/CompressionMethod.php', + 'ZipStream\\DataDescriptor' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/DataDescriptor.php', + 'ZipStream\\EndOfCentralDirectory' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/EndOfCentralDirectory.php', + 'ZipStream\\Exception' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception.php', + 'ZipStream\\Exception\\DosTimeOverflowException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/DosTimeOverflowException.php', + 'ZipStream\\Exception\\FileNotFoundException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/FileNotFoundException.php', + 'ZipStream\\Exception\\FileNotReadableException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/FileNotReadableException.php', + 'ZipStream\\Exception\\FileSizeIncorrectException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/FileSizeIncorrectException.php', + 'ZipStream\\Exception\\OverflowException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/OverflowException.php', + 'ZipStream\\Exception\\ResourceActionException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/ResourceActionException.php', + 'ZipStream\\Exception\\SimulationFileUnknownException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/SimulationFileUnknownException.php', + 'ZipStream\\Exception\\StreamNotReadableException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/StreamNotReadableException.php', + 'ZipStream\\Exception\\StreamNotSeekableException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/StreamNotSeekableException.php', + 'ZipStream\\File' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/File.php', + 'ZipStream\\GeneralPurposeBitFlag' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/GeneralPurposeBitFlag.php', + 'ZipStream\\LocalFileHeader' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/LocalFileHeader.php', + 'ZipStream\\OperationMode' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/OperationMode.php', + 'ZipStream\\PackField' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/PackField.php', + 'ZipStream\\Time' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Time.php', + 'ZipStream\\Version' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Version.php', + 'ZipStream\\Zip64\\DataDescriptor' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Zip64/DataDescriptor.php', + 'ZipStream\\Zip64\\EndOfCentralDirectory' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectory.php', + 'ZipStream\\Zip64\\EndOfCentralDirectoryLocator' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectoryLocator.php', + 'ZipStream\\Zip64\\ExtendedInformationExtraField' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Zip64/ExtendedInformationExtraField.php', + 'ZipStream\\ZipStream' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/ZipStream.php', + 'ZipStream\\Zs\\ExtendedInformationExtraField' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Zs/ExtendedInformationExtraField.php', + 'addons\\alisms\\Alisms' => __DIR__ . '/../..' . '/addons/alisms/Alisms.php', + 'addons\\alisms\\controller\\Index' => __DIR__ . '/../..' . '/addons/alisms/controller/Index.php', + 'addons\\alisms\\library\\Alisms' => __DIR__ . '/../..' . '/addons/alisms/library/Alisms.php', + 'addons\\command\\Command' => __DIR__ . '/../..' . '/addons/command/Command.php', + 'addons\\command\\controller\\Index' => __DIR__ . '/../..' . '/addons/command/controller/Index.php', + 'addons\\command\\library\\Output' => __DIR__ . '/../..' . '/addons/command/library/Output.php', + 'addons\\epay\\Epay' => __DIR__ . '/../..' . '/addons/epay/Epay.php', + 'addons\\epay\\controller\\Api' => __DIR__ . '/../..' . '/addons/epay/controller/Api.php', + 'addons\\epay\\controller\\Index' => __DIR__ . '/../..' . '/addons/epay/controller/Index.php', + 'addons\\epay\\library\\Collection' => __DIR__ . '/../..' . '/addons/epay/library/Collection.php', + 'addons\\epay\\library\\OrderException' => __DIR__ . '/../..' . '/addons/epay/library/OrderException.php', + 'addons\\epay\\library\\RedirectResponse' => __DIR__ . '/../..' . '/addons/epay/library/RedirectResponse.php', + 'addons\\epay\\library\\Response' => __DIR__ . '/../..' . '/addons/epay/library/Response.php', + 'addons\\epay\\library\\Service' => __DIR__ . '/../..' . '/addons/epay/library/Service.php', + 'addons\\epay\\library\\Wechat' => __DIR__ . '/../..' . '/addons/epay/library/Wechat.php', + 'addons\\hwobs\\Hwobs' => __DIR__ . '/../..' . '/addons/hwobs/Hwobs.php', + 'addons\\hwobs\\controller\\Index' => __DIR__ . '/../..' . '/addons/hwobs/controller/Index.php', + 'addons\\hwobs\\library\\Auth' => __DIR__ . '/../..' . '/addons/hwobs/library/Auth.php', + 'addons\\hwobs\\library\\Signer' => __DIR__ . '/../..' . '/addons/hwobs/library/Signer.php', + 'addons\\shopro\\Shopro' => __DIR__ . '/../..' . '/addons/shopro/Shopro.php', + 'addons\\shopro\\channel\\Database' => __DIR__ . '/../..' . '/addons/shopro/channel/Database.php', + 'addons\\shopro\\channel\\Email' => __DIR__ . '/../..' . '/addons/shopro/channel/Email.php', + 'addons\\shopro\\channel\\Sms' => __DIR__ . '/../..' . '/addons/shopro/channel/Sms.php', + 'addons\\shopro\\channel\\Websocket' => __DIR__ . '/../..' . '/addons/shopro/channel/Websocket.php', + 'addons\\shopro\\channel\\WechatMiniProgram' => __DIR__ . '/../..' . '/addons/shopro/channel/WechatMiniProgram.php', + 'addons\\shopro\\channel\\WechatOfficialAccount' => __DIR__ . '/../..' . '/addons/shopro/channel/WechatOfficialAccount.php', + 'addons\\shopro\\console\\Command' => __DIR__ . '/../..' . '/addons/shopro/console/Command.php', + 'addons\\shopro\\console\\ShoproChat' => __DIR__ . '/../..' . '/addons/shopro/console/ShoproChat.php', + 'addons\\shopro\\console\\ShoproHelp' => __DIR__ . '/../..' . '/addons/shopro/console/ShoproHelp.php', + 'addons\\shopro\\controller\\Cart' => __DIR__ . '/../..' . '/addons/shopro/controller/Cart.php', + 'addons\\shopro\\controller\\Category' => __DIR__ . '/../..' . '/addons/shopro/controller/Category.php', + 'addons\\shopro\\controller\\Common' => __DIR__ . '/../..' . '/addons/shopro/controller/Common.php', + 'addons\\shopro\\controller\\Coupon' => __DIR__ . '/../..' . '/addons/shopro/controller/Coupon.php', + 'addons\\shopro\\controller\\Index' => __DIR__ . '/../..' . '/addons/shopro/controller/Index.php', + 'addons\\shopro\\controller\\Pay' => __DIR__ . '/../..' . '/addons/shopro/controller/Pay.php', + 'addons\\shopro\\controller\\Share' => __DIR__ . '/../..' . '/addons/shopro/controller/Share.php', + 'addons\\shopro\\controller\\Withdraw' => __DIR__ . '/../..' . '/addons/shopro/controller/Withdraw.php', + 'addons\\shopro\\controller\\activity\\Activity' => __DIR__ . '/../..' . '/addons/shopro/controller/activity/Activity.php', + 'addons\\shopro\\controller\\activity\\Groupon' => __DIR__ . '/../..' . '/addons/shopro/controller/activity/Groupon.php', + 'addons\\shopro\\controller\\activity\\Signin' => __DIR__ . '/../..' . '/addons/shopro/controller/activity/Signin.php', + 'addons\\shopro\\controller\\app\\Mplive' => __DIR__ . '/../..' . '/addons/shopro/controller/app/Mplive.php', + 'addons\\shopro\\controller\\app\\ScoreShop' => __DIR__ . '/../..' . '/addons/shopro/controller/app/ScoreShop.php', + 'addons\\shopro\\controller\\chat\\Record' => __DIR__ . '/../..' . '/addons/shopro/controller/chat/Record.php', + 'addons\\shopro\\controller\\commission\\Agent' => __DIR__ . '/../..' . '/addons/shopro/controller/commission/Agent.php', + 'addons\\shopro\\controller\\commission\\Commission' => __DIR__ . '/../..' . '/addons/shopro/controller/commission/Commission.php', + 'addons\\shopro\\controller\\commission\\Goods' => __DIR__ . '/../..' . '/addons/shopro/controller/commission/Goods.php', + 'addons\\shopro\\controller\\commission\\Log' => __DIR__ . '/../..' . '/addons/shopro/controller/commission/Log.php', + 'addons\\shopro\\controller\\commission\\Order' => __DIR__ . '/../..' . '/addons/shopro/controller/commission/Order.php', + 'addons\\shopro\\controller\\commission\\Reward' => __DIR__ . '/../..' . '/addons/shopro/controller/commission/Reward.php', + 'addons\\shopro\\controller\\data\\Area' => __DIR__ . '/../..' . '/addons/shopro/controller/data/Area.php', + 'addons\\shopro\\controller\\data\\Faq' => __DIR__ . '/../..' . '/addons/shopro/controller/data/Faq.php', + 'addons\\shopro\\controller\\data\\Richtext' => __DIR__ . '/../..' . '/addons/shopro/controller/data/Richtext.php', + 'addons\\shopro\\controller\\goods\\Comment' => __DIR__ . '/../..' . '/addons/shopro/controller/goods/Comment.php', + 'addons\\shopro\\controller\\goods\\Goods' => __DIR__ . '/../..' . '/addons/shopro/controller/goods/Goods.php', + 'addons\\shopro\\controller\\order\\Aftersale' => __DIR__ . '/../..' . '/addons/shopro/controller/order/Aftersale.php', + 'addons\\shopro\\controller\\order\\Express' => __DIR__ . '/../..' . '/addons/shopro/controller/order/Express.php', + 'addons\\shopro\\controller\\order\\Invoice' => __DIR__ . '/../..' . '/addons/shopro/controller/order/Invoice.php', + 'addons\\shopro\\controller\\order\\Order' => __DIR__ . '/../..' . '/addons/shopro/controller/order/Order.php', + 'addons\\shopro\\controller\\third\\Apple' => __DIR__ . '/../..' . '/addons/shopro/controller/third/Apple.php', + 'addons\\shopro\\controller\\third\\Wechat' => __DIR__ . '/../..' . '/addons/shopro/controller/third/Wechat.php', + 'addons\\shopro\\controller\\trade\\Order' => __DIR__ . '/../..' . '/addons/shopro/controller/trade/Order.php', + 'addons\\shopro\\controller\\traits\\UnifiedToken' => __DIR__ . '/../..' . '/addons/shopro/controller/traits/UnifiedToken.php', + 'addons\\shopro\\controller\\traits\\Util' => __DIR__ . '/../..' . '/addons/shopro/controller/traits/Util.php', + 'addons\\shopro\\controller\\user\\Account' => __DIR__ . '/../..' . '/addons/shopro/controller/user/Account.php', + 'addons\\shopro\\controller\\user\\Address' => __DIR__ . '/../..' . '/addons/shopro/controller/user/Address.php', + 'addons\\shopro\\controller\\user\\Coupon' => __DIR__ . '/../..' . '/addons/shopro/controller/user/Coupon.php', + 'addons\\shopro\\controller\\user\\GoodsLog' => __DIR__ . '/../..' . '/addons/shopro/controller/user/GoodsLog.php', + 'addons\\shopro\\controller\\user\\Invoice' => __DIR__ . '/../..' . '/addons/shopro/controller/user/Invoice.php', + 'addons\\shopro\\controller\\user\\User' => __DIR__ . '/../..' . '/addons/shopro/controller/user/User.php', + 'addons\\shopro\\controller\\user\\WalletLog' => __DIR__ . '/../..' . '/addons/shopro/controller/user/WalletLog.php', + 'addons\\shopro\\controller\\wechat\\Serve' => __DIR__ . '/../..' . '/addons/shopro/controller/wechat/Serve.php', + 'addons\\shopro\\exception\\ShoproException' => __DIR__ . '/../..' . '/addons/shopro/exception/ShoproException.php', + 'addons\\shopro\\facade\\Activity' => __DIR__ . '/../..' . '/addons/shopro/facade/Activity.php', + 'addons\\shopro\\facade\\ActivityRedis' => __DIR__ . '/../..' . '/addons/shopro/facade/ActivityRedis.php', + 'addons\\shopro\\facade\\Base' => __DIR__ . '/../..' . '/addons/shopro/facade/Base.php', + 'addons\\shopro\\facade\\HttpClient' => __DIR__ . '/../..' . '/addons/shopro/facade/HttpClient.php', + 'addons\\shopro\\facade\\Redis' => __DIR__ . '/../..' . '/addons/shopro/facade/Redis.php', + 'addons\\shopro\\facade\\Wechat' => __DIR__ . '/../..' . '/addons/shopro/facade/Wechat.php', + 'addons\\shopro\\filter\\BaseFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/BaseFilter.php', + 'addons\\shopro\\filter\\CategoryFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/CategoryFilter.php', + 'addons\\shopro\\filter\\CouponFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/CouponFilter.php', + 'addons\\shopro\\filter\\FeedbackFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/FeedbackFilter.php', + 'addons\\shopro\\filter\\WithdrawFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/WithdrawFilter.php', + 'addons\\shopro\\filter\\activity\\ActivityFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/activity/ActivityFilter.php', + 'addons\\shopro\\filter\\activity\\GrouponFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/activity/GrouponFilter.php', + 'addons\\shopro\\filter\\chat\\CommonWordFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/chat/CommonWordFilter.php', + 'addons\\shopro\\filter\\chat\\CustomerServiceFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/chat/CustomerServiceFilter.php', + 'addons\\shopro\\filter\\chat\\QuestionFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/chat/QuestionFilter.php', + 'addons\\shopro\\filter\\chat\\RecordFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/chat/RecordFilter.php', + 'addons\\shopro\\filter\\chat\\UserFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/chat/UserFilter.php', + 'addons\\shopro\\filter\\commission\\OrderFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/commission/OrderFilter.php', + 'addons\\shopro\\filter\\commission\\RewardFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/commission/RewardFilter.php', + 'addons\\shopro\\filter\\data\\ExpressFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/data/ExpressFilter.php', + 'addons\\shopro\\filter\\data\\FaqFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/data/FaqFilter.php', + 'addons\\shopro\\filter\\data\\PageFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/data/PageFilter.php', + 'addons\\shopro\\filter\\data\\RichtextFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/data/RichtextFilter.php', + 'addons\\shopro\\filter\\dispatch\\DispatchFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/dispatch/DispatchFilter.php', + 'addons\\shopro\\filter\\goods\\CommentFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/goods/CommentFilter.php', + 'addons\\shopro\\filter\\goods\\GoodsFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/goods/GoodsFilter.php', + 'addons\\shopro\\filter\\goods\\ServiceFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/goods/ServiceFilter.php', + 'addons\\shopro\\filter\\goods\\StockLogFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/goods/StockLogFilter.php', + 'addons\\shopro\\filter\\goods\\StockWarningFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/goods/StockWarningFilter.php', + 'addons\\shopro\\filter\\notification\\NotificationFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/notification/NotificationFilter.php', + 'addons\\shopro\\filter\\order\\InvoiceFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/order/InvoiceFilter.php', + 'addons\\shopro\\filter\\order\\OrderFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/order/OrderFilter.php', + 'addons\\shopro\\filter\\trade\\OrderFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/trade/OrderFilter.php', + 'addons\\shopro\\filter\\traits\\CommonSearch' => __DIR__ . '/../..' . '/addons/shopro/filter/traits/CommonSearch.php', + 'addons\\shopro\\filter\\user\\CouponFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/user/CouponFilter.php', + 'addons\\shopro\\filter\\user\\UserFilter' => __DIR__ . '/../..' . '/addons/shopro/filter/user/UserFilter.php', + 'addons\\shopro\\job\\BaseJob' => __DIR__ . '/../..' . '/addons/shopro/job/BaseJob.php', + 'addons\\shopro\\job\\Commission' => __DIR__ . '/../..' . '/addons/shopro/job/Commission.php', + 'addons\\shopro\\job\\Designer' => __DIR__ . '/../..' . '/addons/shopro/job/Designer.php', + 'addons\\shopro\\job\\GrouponAutoOper' => __DIR__ . '/../..' . '/addons/shopro/job/GrouponAutoOper.php', + 'addons\\shopro\\job\\Notification' => __DIR__ . '/../..' . '/addons/shopro/job/Notification.php', + 'addons\\shopro\\job\\OrderAutoOper' => __DIR__ . '/../..' . '/addons/shopro/job/OrderAutoOper.php', + 'addons\\shopro\\job\\OrderPaid' => __DIR__ . '/../..' . '/addons/shopro/job/OrderPaid.php', + 'addons\\shopro\\job\\Test' => __DIR__ . '/../..' . '/addons/shopro/job/Test.php', + 'addons\\shopro\\job\\trade\\OrderAutoOper' => __DIR__ . '/../..' . '/addons/shopro/job/trade/OrderAutoOper.php', + 'addons\\shopro\\job\\trade\\OrderPaid' => __DIR__ . '/../..' . '/addons/shopro/job/trade/OrderPaid.php', + 'addons\\shopro\\library\\Export' => __DIR__ . '/../..' . '/addons/shopro/library/Export.php', + 'addons\\shopro\\library\\Hook' => __DIR__ . '/../..' . '/addons/shopro/library/Hook.php', + 'addons\\shopro\\library\\HttpClient' => __DIR__ . '/../..' . '/addons/shopro/library/HttpClient.php', + 'addons\\shopro\\library\\Operator' => __DIR__ . '/../..' . '/addons/shopro/library/Operator.php', + 'addons\\shopro\\library\\Pipeline' => __DIR__ . '/../..' . '/addons/shopro/library/Pipeline.php', + 'addons\\shopro\\library\\Redis' => __DIR__ . '/../..' . '/addons/shopro/library/Redis.php', + 'addons\\shopro\\library\\RedisCache' => __DIR__ . '/../..' . '/addons/shopro/library/RedisCache.php', + 'addons\\shopro\\library\\Tree' => __DIR__ . '/../..' . '/addons/shopro/library/Tree.php', + 'addons\\shopro\\library\\Websocket' => __DIR__ . '/../..' . '/addons/shopro/library/Websocket.php', + 'addons\\shopro\\library\\activity\\Activity' => __DIR__ . '/../..' . '/addons/shopro/library/activity/Activity.php', + 'addons\\shopro\\library\\activity\\ActivityRedis' => __DIR__ . '/../..' . '/addons/shopro/library/activity/ActivityRedis.php', + 'addons\\shopro\\library\\activity\\contract\\ActivityGetterInterface' => __DIR__ . '/../..' . '/addons/shopro/library/activity/contract/ActivityGetterInterface.php', + 'addons\\shopro\\library\\activity\\contract\\ActivityInterface' => __DIR__ . '/../..' . '/addons/shopro/library/activity/contract/ActivityInterface.php', + 'addons\\shopro\\library\\activity\\getter\\Base' => __DIR__ . '/../..' . '/addons/shopro/library/activity/getter/Base.php', + 'addons\\shopro\\library\\activity\\getter\\Db' => __DIR__ . '/../..' . '/addons/shopro/library/activity/getter/Db.php', + 'addons\\shopro\\library\\activity\\getter\\Redis' => __DIR__ . '/../..' . '/addons/shopro/library/activity/getter/Redis.php', + 'addons\\shopro\\library\\activity\\provider\\Base' => __DIR__ . '/../..' . '/addons/shopro/library/activity/provider/Base.php', + 'addons\\shopro\\library\\activity\\provider\\FreeShipping' => __DIR__ . '/../..' . '/addons/shopro/library/activity/provider/FreeShipping.php', + 'addons\\shopro\\library\\activity\\provider\\FullDiscount' => __DIR__ . '/../..' . '/addons/shopro/library/activity/provider/FullDiscount.php', + 'addons\\shopro\\library\\activity\\provider\\FullGift' => __DIR__ . '/../..' . '/addons/shopro/library/activity/provider/FullGift.php', + 'addons\\shopro\\library\\activity\\provider\\FullReduce' => __DIR__ . '/../..' . '/addons/shopro/library/activity/provider/FullReduce.php', + 'addons\\shopro\\library\\activity\\provider\\Groupon' => __DIR__ . '/../..' . '/addons/shopro/library/activity/provider/Groupon.php', + 'addons\\shopro\\library\\activity\\provider\\GrouponLadder' => __DIR__ . '/../..' . '/addons/shopro/library/activity/provider/GrouponLadder.php', + 'addons\\shopro\\library\\activity\\provider\\GrouponLucky' => __DIR__ . '/../..' . '/addons/shopro/library/activity/provider/GrouponLucky.php', + 'addons\\shopro\\library\\activity\\provider\\Seckill' => __DIR__ . '/../..' . '/addons/shopro/library/activity/provider/Seckill.php', + 'addons\\shopro\\library\\activity\\provider\\Signin' => __DIR__ . '/../..' . '/addons/shopro/library/activity/provider/Signin.php', + 'addons\\shopro\\library\\activity\\traits\\ActivityRedis' => __DIR__ . '/../..' . '/addons/shopro/library/activity/traits/ActivityRedis.php', + 'addons\\shopro\\library\\activity\\traits\\CheckActivity' => __DIR__ . '/../..' . '/addons/shopro/library/activity/traits/CheckActivity.php', + 'addons\\shopro\\library\\activity\\traits\\GiveGift' => __DIR__ . '/../..' . '/addons/shopro/library/activity/traits/GiveGift.php', + 'addons\\shopro\\library\\activity\\traits\\Groupon' => __DIR__ . '/../..' . '/addons/shopro/library/activity/traits/Groupon.php', + 'addons\\shopro\\library\\chat\\Chat' => __DIR__ . '/../..' . '/addons/shopro/library/chat/Chat.php', + 'addons\\shopro\\library\\chat\\ChatService' => __DIR__ . '/../..' . '/addons/shopro/library/chat/ChatService.php', + 'addons\\shopro\\library\\chat\\Getter' => __DIR__ . '/../..' . '/addons/shopro/library/chat/Getter.php', + 'addons\\shopro\\library\\chat\\Sender' => __DIR__ . '/../..' . '/addons/shopro/library/chat/Sender.php', + 'addons\\shopro\\library\\chat\\provider\\auth\\Admin' => __DIR__ . '/../..' . '/addons/shopro/library/chat/provider/auth/Admin.php', + 'addons\\shopro\\library\\chat\\provider\\auth\\User' => __DIR__ . '/../..' . '/addons/shopro/library/chat/provider/auth/User.php', + 'addons\\shopro\\library\\chat\\provider\\auth\\traits\\Customer' => __DIR__ . '/../..' . '/addons/shopro/library/chat/provider/auth/traits/Customer.php', + 'addons\\shopro\\library\\chat\\provider\\auth\\traits\\CustomerService' => __DIR__ . '/../..' . '/addons/shopro/library/chat/provider/auth/traits/CustomerService.php', + 'addons\\shopro\\library\\chat\\provider\\getter\\Db' => __DIR__ . '/../..' . '/addons/shopro/library/chat/provider/getter/Db.php', + 'addons\\shopro\\library\\chat\\provider\\getter\\Socket' => __DIR__ . '/../..' . '/addons/shopro/library/chat/provider/getter/Socket.php', + 'addons\\shopro\\library\\chat\\traits\\BindUId' => __DIR__ . '/../..' . '/addons/shopro/library/chat/traits/BindUId.php', + 'addons\\shopro\\library\\chat\\traits\\DebugEvent' => __DIR__ . '/../..' . '/addons/shopro/library/chat/traits/DebugEvent.php', + 'addons\\shopro\\library\\chat\\traits\\Helper' => __DIR__ . '/../..' . '/addons/shopro/library/chat/traits/Helper.php', + 'addons\\shopro\\library\\chat\\traits\\NspData' => __DIR__ . '/../..' . '/addons/shopro/library/chat/traits/NspData.php', + 'addons\\shopro\\library\\chat\\traits\\Session' => __DIR__ . '/../..' . '/addons/shopro/library/chat/traits/Session.php', + 'addons\\shopro\\library\\chat\\traits\\sender\\SenderFunc' => __DIR__ . '/../..' . '/addons/shopro/library/chat/traits/sender/SenderFunc.php', + 'addons\\shopro\\library\\easywechatPlus\\EasywechatPlus' => __DIR__ . '/../..' . '/addons/shopro/library/easywechatPlus/EasywechatPlus.php', + 'addons\\shopro\\library\\easywechatPlus\\WechatMiniProgramShop' => __DIR__ . '/../..' . '/addons/shopro/library/easywechatPlus/WechatMiniProgramShop.php', + 'addons\\shopro\\library\\easywechatPlus\\WechatOfficialTemplate' => __DIR__ . '/../..' . '/addons/shopro/library/easywechatPlus/WechatOfficialTemplate.php', + 'addons\\shopro\\library\\express\\Express' => __DIR__ . '/../..' . '/addons/shopro/library/express/Express.php', + 'addons\\shopro\\library\\express\\adapter\\Kdniao' => __DIR__ . '/../..' . '/addons/shopro/library/express/adapter/Kdniao.php', + 'addons\\shopro\\library\\express\\contract\\ExpressInterface' => __DIR__ . '/../..' . '/addons/shopro/library/express/contract/ExpressInterface.php', + 'addons\\shopro\\library\\express\\provider\\Base' => __DIR__ . '/../..' . '/addons/shopro/library/express/provider/Base.php', + 'addons\\shopro\\library\\express\\provider\\Kdniao' => __DIR__ . '/../..' . '/addons/shopro/library/express/provider/Kdniao.php', + 'addons\\shopro\\library\\express\\provider\\Thinkapi' => __DIR__ . '/../..' . '/addons/shopro/library/express/provider/Thinkapi.php', + 'addons\\shopro\\library\\mplive\\Client' => __DIR__ . '/../..' . '/addons/shopro/library/mplive/Client.php', + 'addons\\shopro\\library\\mplive\\ServiceProvider' => __DIR__ . '/../..' . '/addons/shopro/library/mplive/ServiceProvider.php', + 'addons\\shopro\\library\\notify\\Notify' => __DIR__ . '/../..' . '/addons/shopro/library/notify/Notify.php', + 'addons\\shopro\\library\\notify\\traits\\Notifiable' => __DIR__ . '/../..' . '/addons/shopro/library/notify/traits/Notifiable.php', + 'addons\\shopro\\library\\pay\\PayService' => __DIR__ . '/../..' . '/addons/shopro/library/pay/PayService.php', + 'addons\\shopro\\library\\pay\\provider\\Alipay' => __DIR__ . '/../..' . '/addons/shopro/library/pay/provider/Alipay.php', + 'addons\\shopro\\library\\pay\\provider\\Base' => __DIR__ . '/../..' . '/addons/shopro/library/pay/provider/Base.php', + 'addons\\shopro\\library\\pay\\provider\\Wechat' => __DIR__ . '/../..' . '/addons/shopro/library/pay/provider/Wechat.php', + 'addons\\shopro\\listener\\Activity' => __DIR__ . '/../..' . '/addons/shopro/listener/Activity.php', + 'addons\\shopro\\listener\\Commission' => __DIR__ . '/../..' . '/addons/shopro/listener/Commission.php', + 'addons\\shopro\\listener\\Goods' => __DIR__ . '/../..' . '/addons/shopro/listener/Goods.php', + 'addons\\shopro\\listener\\Order' => __DIR__ . '/../..' . '/addons/shopro/listener/Order.php', + 'addons\\shopro\\listener\\OrderAftersale' => __DIR__ . '/../..' . '/addons/shopro/listener/OrderAftersale.php', + 'addons\\shopro\\listener\\Upload' => __DIR__ . '/../..' . '/addons/shopro/listener/Upload.php', + 'addons\\shopro\\listener\\User' => __DIR__ . '/../..' . '/addons/shopro/listener/User.php', + 'addons\\shopro\\notification\\CustomeNotice' => __DIR__ . '/../..' . '/addons/shopro/notification/CustomeNotice.php', + 'addons\\shopro\\notification\\Notification' => __DIR__ . '/../..' . '/addons/shopro/notification/Notification.php', + 'addons\\shopro\\notification\\activity\\GrouponFail' => __DIR__ . '/../..' . '/addons/shopro/notification/activity/GrouponFail.php', + 'addons\\shopro\\notification\\activity\\GrouponFinish' => __DIR__ . '/../..' . '/addons/shopro/notification/activity/GrouponFinish.php', + 'addons\\shopro\\notification\\goods\\StockWarning' => __DIR__ . '/../..' . '/addons/shopro/notification/goods/StockWarning.php', + 'addons\\shopro\\notification\\order\\OrderApplyRefund' => __DIR__ . '/../..' . '/addons/shopro/notification/order/OrderApplyRefund.php', + 'addons\\shopro\\notification\\order\\OrderDispatched' => __DIR__ . '/../..' . '/addons/shopro/notification/order/OrderDispatched.php', + 'addons\\shopro\\notification\\order\\OrderNew' => __DIR__ . '/../..' . '/addons/shopro/notification/order/OrderNew.php', + 'addons\\shopro\\notification\\order\\OrderRefund' => __DIR__ . '/../..' . '/addons/shopro/notification/order/OrderRefund.php', + 'addons\\shopro\\notification\\order\\aftersale\\OrderAdminAftersaleChange' => __DIR__ . '/../..' . '/addons/shopro/notification/order/aftersale/OrderAdminAftersaleChange.php', + 'addons\\shopro\\notification\\order\\aftersale\\OrderAftersaleChange' => __DIR__ . '/../..' . '/addons/shopro/notification/order/aftersale/OrderAftersaleChange.php', + 'addons\\shopro\\notification\\order\\aftersale\\OrderAftersaleChangeBase' => __DIR__ . '/../..' . '/addons/shopro/notification/order/aftersale/OrderAftersaleChangeBase.php', + 'addons\\shopro\\notification\\traits\\Notification' => __DIR__ . '/../..' . '/addons/shopro/notification/traits/Notification.php', + 'addons\\shopro\\notification\\wallet\\CommissionChange' => __DIR__ . '/../..' . '/addons/shopro/notification/wallet/CommissionChange.php', + 'addons\\shopro\\notification\\wallet\\MoneyChange' => __DIR__ . '/../..' . '/addons/shopro/notification/wallet/MoneyChange.php', + 'addons\\shopro\\notification\\wallet\\ScoreChange' => __DIR__ . '/../..' . '/addons/shopro/notification/wallet/ScoreChange.php', + 'addons\\shopro\\service\\SearchHistory' => __DIR__ . '/../..' . '/addons/shopro/service/SearchHistory.php', + 'addons\\shopro\\service\\StockSale' => __DIR__ . '/../..' . '/addons/shopro/service/StockSale.php', + 'addons\\shopro\\service\\Wallet' => __DIR__ . '/../..' . '/addons/shopro/service/Wallet.php', + 'addons\\shopro\\service\\Withdraw' => __DIR__ . '/../..' . '/addons/shopro/service/Withdraw.php', + 'addons\\shopro\\service\\activity\\Signin' => __DIR__ . '/../..' . '/addons/shopro/service/activity/Signin.php', + 'addons\\shopro\\service\\commission\\Agent' => __DIR__ . '/../..' . '/addons/shopro/service/commission/Agent.php', + 'addons\\shopro\\service\\commission\\Config' => __DIR__ . '/../..' . '/addons/shopro/service/commission/Config.php', + 'addons\\shopro\\service\\commission\\Goods' => __DIR__ . '/../..' . '/addons/shopro/service/commission/Goods.php', + 'addons\\shopro\\service\\commission\\Order' => __DIR__ . '/../..' . '/addons/shopro/service/commission/Order.php', + 'addons\\shopro\\service\\commission\\Reward' => __DIR__ . '/../..' . '/addons/shopro/service/commission/Reward.php', + 'addons\\shopro\\service\\goods\\GoodsService' => __DIR__ . '/../..' . '/addons/shopro/service/goods/GoodsService.php', + 'addons\\shopro\\service\\order\\OrderCreate' => __DIR__ . '/../..' . '/addons/shopro/service/order/OrderCreate.php', + 'addons\\shopro\\service\\order\\OrderDispatch' => __DIR__ . '/../..' . '/addons/shopro/service/order/OrderDispatch.php', + 'addons\\shopro\\service\\order\\OrderOper' => __DIR__ . '/../..' . '/addons/shopro/service/order/OrderOper.php', + 'addons\\shopro\\service\\order\\OrderRefund' => __DIR__ . '/../..' . '/addons/shopro/service/order/OrderRefund.php', + 'addons\\shopro\\service\\order\\OrderThrough' => __DIR__ . '/../..' . '/addons/shopro/service/order/OrderThrough.php', + 'addons\\shopro\\service\\order\\shippingInfo\\Base' => __DIR__ . '/../..' . '/addons/shopro/service/order/shippingInfo/Base.php', + 'addons\\shopro\\service\\order\\shippingInfo\\OrderShippingInfo' => __DIR__ . '/../..' . '/addons/shopro/service/order/shippingInfo/OrderShippingInfo.php', + 'addons\\shopro\\service\\order\\shippingInfo\\TradeOrderShippingInfo' => __DIR__ . '/../..' . '/addons/shopro/service/order/shippingInfo/TradeOrderShippingInfo.php', + 'addons\\shopro\\service\\pay\\PayOper' => __DIR__ . '/../..' . '/addons/shopro/service/pay/PayOper.php', + 'addons\\shopro\\service\\pay\\PayRefund' => __DIR__ . '/../..' . '/addons/shopro/service/pay/PayRefund.php', + 'addons\\shopro\\service\\third\\apple\\Apple' => __DIR__ . '/../..' . '/addons/shopro/service/third/apple/Apple.php', + 'addons\\shopro\\service\\third\\wechat\\MiniProgram' => __DIR__ . '/../..' . '/addons/shopro/service/third/wechat/MiniProgram.php', + 'addons\\shopro\\service\\third\\wechat\\OfficialAccount' => __DIR__ . '/../..' . '/addons/shopro/service/third/wechat/OfficialAccount.php', + 'addons\\shopro\\service\\third\\wechat\\OpenPlatform' => __DIR__ . '/../..' . '/addons/shopro/service/third/wechat/OpenPlatform.php', + 'addons\\shopro\\service\\third\\wechat\\Wechat' => __DIR__ . '/../..' . '/addons/shopro/service/third/wechat/Wechat.php', + 'addons\\shopro\\service\\user\\User' => __DIR__ . '/../..' . '/addons/shopro/service/user/User.php', + 'addons\\shopro\\service\\user\\UserAuth' => __DIR__ . '/../..' . '/addons/shopro/service/user/UserAuth.php', + 'addons\\shopro\\traits\\CouponSend' => __DIR__ . '/../..' . '/addons/shopro/traits/CouponSend.php', + 'addons\\shopro\\traits\\StockWarning' => __DIR__ . '/../..' . '/addons/shopro/traits/StockWarning.php', + 'addons\\shopro\\validate\\Withdraw' => __DIR__ . '/../..' . '/addons/shopro/validate/Withdraw.php', + 'addons\\shopro\\validate\\activity\\Signin' => __DIR__ . '/../..' . '/addons/shopro/validate/activity/Signin.php', + 'addons\\shopro\\validate\\order\\Aftersale' => __DIR__ . '/../..' . '/addons/shopro/validate/order/Aftersale.php', + 'addons\\shopro\\validate\\order\\Order' => __DIR__ . '/../..' . '/addons/shopro/validate/order/Order.php', + 'addons\\shopro\\validate\\third\\Wechat' => __DIR__ . '/../..' . '/addons/shopro/validate/third/Wechat.php', + 'addons\\shopro\\validate\\trade\\Order' => __DIR__ . '/../..' . '/addons/shopro/validate/trade/Order.php', + 'addons\\shopro\\validate\\user\\Account' => __DIR__ . '/../..' . '/addons/shopro/validate/user/Account.php', + 'addons\\shopro\\validate\\user\\Address' => __DIR__ . '/../..' . '/addons/shopro/validate/user/Address.php', + 'addons\\shopro\\validate\\user\\Invoice' => __DIR__ . '/../..' . '/addons/shopro/validate/user/Invoice.php', + 'addons\\shopro\\validate\\user\\User' => __DIR__ . '/../..' . '/addons/shopro/validate/user/User.php', + 'addons\\summernote\\Summernote' => __DIR__ . '/../..' . '/addons/summernote/Summernote.php', + 'addons\\summernote\\controller\\Index' => __DIR__ . '/../..' . '/addons/summernote/controller/Index.php', + 'think\\Addons' => __DIR__ . '/..' . '/fastadminnet/fastadmin-addons/src/Addons.php', + 'think\\App' => __DIR__ . '/../..' . '/thinkphp/library/think/App.php', + 'think\\Build' => __DIR__ . '/../..' . '/thinkphp/library/think/Build.php', + 'think\\Cache' => __DIR__ . '/../..' . '/thinkphp/library/think/Cache.php', + 'think\\Collection' => __DIR__ . '/../..' . '/thinkphp/library/think/Collection.php', + 'think\\Config' => __DIR__ . '/../..' . '/thinkphp/library/think/Config.php', + 'think\\Console' => __DIR__ . '/../..' . '/thinkphp/library/think/Console.php', + 'think\\Controller' => __DIR__ . '/../..' . '/thinkphp/library/think/Controller.php', + 'think\\Cookie' => __DIR__ . '/../..' . '/thinkphp/library/think/Cookie.php', + 'think\\Db' => __DIR__ . '/../..' . '/thinkphp/library/think/Db.php', + 'think\\Debug' => __DIR__ . '/../..' . '/thinkphp/library/think/Debug.php', + 'think\\Env' => __DIR__ . '/../..' . '/thinkphp/library/think/Env.php', + 'think\\Error' => __DIR__ . '/../..' . '/thinkphp/library/think/Error.php', + 'think\\Exception' => __DIR__ . '/../..' . '/thinkphp/library/think/Exception.php', + 'think\\File' => __DIR__ . '/../..' . '/thinkphp/library/think/File.php', + 'think\\Hook' => __DIR__ . '/../..' . '/thinkphp/library/think/Hook.php', + 'think\\Lang' => __DIR__ . '/../..' . '/thinkphp/library/think/Lang.php', + 'think\\Loader' => __DIR__ . '/../..' . '/thinkphp/library/think/Loader.php', + 'think\\Log' => __DIR__ . '/../..' . '/thinkphp/library/think/Log.php', + 'think\\Model' => __DIR__ . '/../..' . '/thinkphp/library/think/Model.php', + 'think\\Paginator' => __DIR__ . '/../..' . '/thinkphp/library/think/Paginator.php', + 'think\\Process' => __DIR__ . '/../..' . '/thinkphp/library/think/Process.php', + 'think\\Queue' => __DIR__ . '/..' . '/topthink/think-queue/src/Queue.php', + 'think\\Request' => __DIR__ . '/../..' . '/thinkphp/library/think/Request.php', + 'think\\Response' => __DIR__ . '/../..' . '/thinkphp/library/think/Response.php', + 'think\\Route' => __DIR__ . '/../..' . '/thinkphp/library/think/Route.php', + 'think\\Session' => __DIR__ . '/../..' . '/thinkphp/library/think/Session.php', + 'think\\Template' => __DIR__ . '/../..' . '/thinkphp/library/think/Template.php', + 'think\\Url' => __DIR__ . '/../..' . '/thinkphp/library/think/Url.php', + 'think\\Validate' => __DIR__ . '/../..' . '/thinkphp/library/think/Validate.php', + 'think\\View' => __DIR__ . '/../..' . '/thinkphp/library/think/View.php', + 'think\\addons\\AddonException' => __DIR__ . '/..' . '/fastadminnet/fastadmin-addons/src/addons/AddonException.php', + 'think\\addons\\Controller' => __DIR__ . '/..' . '/fastadminnet/fastadmin-addons/src/addons/Controller.php', + 'think\\addons\\Route' => __DIR__ . '/..' . '/fastadminnet/fastadmin-addons/src/addons/Route.php', + 'think\\addons\\Service' => __DIR__ . '/..' . '/fastadminnet/fastadmin-addons/src/addons/Service.php', + 'think\\cache\\Driver' => __DIR__ . '/../..' . '/thinkphp/library/think/cache/Driver.php', + 'think\\cache\\driver\\File' => __DIR__ . '/../..' . '/thinkphp/library/think/cache/driver/File.php', + 'think\\cache\\driver\\Lite' => __DIR__ . '/../..' . '/thinkphp/library/think/cache/driver/Lite.php', + 'think\\cache\\driver\\Memcache' => __DIR__ . '/../..' . '/thinkphp/library/think/cache/driver/Memcache.php', + 'think\\cache\\driver\\Memcached' => __DIR__ . '/../..' . '/thinkphp/library/think/cache/driver/Memcached.php', + 'think\\cache\\driver\\Redis' => __DIR__ . '/../..' . '/thinkphp/library/think/cache/driver/Redis.php', + 'think\\cache\\driver\\Sqlite' => __DIR__ . '/../..' . '/thinkphp/library/think/cache/driver/Sqlite.php', + 'think\\cache\\driver\\Wincache' => __DIR__ . '/../..' . '/thinkphp/library/think/cache/driver/Wincache.php', + 'think\\cache\\driver\\Xcache' => __DIR__ . '/../..' . '/thinkphp/library/think/cache/driver/Xcache.php', + 'think\\captcha\\Captcha' => __DIR__ . '/..' . '/topthink/think-captcha/src/Captcha.php', + 'think\\captcha\\CaptchaController' => __DIR__ . '/..' . '/topthink/think-captcha/src/CaptchaController.php', + 'think\\composer\\LibraryInstaller' => __DIR__ . '/..' . '/topthink/think-installer/src/LibraryInstaller.php', + 'think\\composer\\Plugin' => __DIR__ . '/..' . '/topthink/think-installer/src/Plugin.php', + 'think\\composer\\Promise' => __DIR__ . '/..' . '/topthink/think-installer/src/Promise.php', + 'think\\composer\\ThinkExtend' => __DIR__ . '/..' . '/topthink/think-installer/src/ThinkExtend.php', + 'think\\composer\\ThinkFramework' => __DIR__ . '/..' . '/topthink/think-installer/src/ThinkFramework.php', + 'think\\composer\\ThinkTesting' => __DIR__ . '/..' . '/topthink/think-installer/src/ThinkTesting.php', + 'think\\config\\driver\\Ini' => __DIR__ . '/../..' . '/thinkphp/library/think/config/driver/Ini.php', + 'think\\config\\driver\\Json' => __DIR__ . '/../..' . '/thinkphp/library/think/config/driver/Json.php', + 'think\\config\\driver\\Xml' => __DIR__ . '/../..' . '/thinkphp/library/think/config/driver/Xml.php', + 'think\\console\\Command' => __DIR__ . '/../..' . '/thinkphp/library/think/console/Command.php', + 'think\\console\\Input' => __DIR__ . '/../..' . '/thinkphp/library/think/console/Input.php', + 'think\\console\\Output' => __DIR__ . '/../..' . '/thinkphp/library/think/console/Output.php', + 'think\\console\\command\\Build' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/Build.php', + 'think\\console\\command\\Clear' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/Clear.php', + 'think\\console\\command\\Help' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/Help.php', + 'think\\console\\command\\Lists' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/Lists.php', + 'think\\console\\command\\Make' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/Make.php', + 'think\\console\\command\\make\\Controller' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/make/Controller.php', + 'think\\console\\command\\make\\Model' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/make/Model.php', + 'think\\console\\command\\optimize\\Autoload' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/optimize/Autoload.php', + 'think\\console\\command\\optimize\\Config' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/optimize/Config.php', + 'think\\console\\command\\optimize\\Route' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/optimize/Route.php', + 'think\\console\\command\\optimize\\Schema' => __DIR__ . '/../..' . '/thinkphp/library/think/console/command/optimize/Schema.php', + 'think\\console\\input\\Argument' => __DIR__ . '/../..' . '/thinkphp/library/think/console/input/Argument.php', + 'think\\console\\input\\Definition' => __DIR__ . '/../..' . '/thinkphp/library/think/console/input/Definition.php', + 'think\\console\\input\\Option' => __DIR__ . '/../..' . '/thinkphp/library/think/console/input/Option.php', + 'think\\console\\output\\Ask' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/Ask.php', + 'think\\console\\output\\Descriptor' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/Descriptor.php', + 'think\\console\\output\\Formatter' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/Formatter.php', + 'think\\console\\output\\Question' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/Question.php', + 'think\\console\\output\\descriptor\\Console' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/descriptor/Console.php', + 'think\\console\\output\\driver\\Buffer' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/driver/Buffer.php', + 'think\\console\\output\\driver\\Console' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/driver/Console.php', + 'think\\console\\output\\driver\\Nothing' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/driver/Nothing.php', + 'think\\console\\output\\formatter\\Stack' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/formatter/Stack.php', + 'think\\console\\output\\formatter\\Style' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/formatter/Style.php', + 'think\\console\\output\\question\\Choice' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/question/Choice.php', + 'think\\console\\output\\question\\Confirmation' => __DIR__ . '/../..' . '/thinkphp/library/think/console/output/question/Confirmation.php', + 'think\\controller\\Rest' => __DIR__ . '/../..' . '/thinkphp/library/think/controller/Rest.php', + 'think\\controller\\Yar' => __DIR__ . '/../..' . '/thinkphp/library/think/controller/Yar.php', + 'think\\db\\Builder' => __DIR__ . '/../..' . '/thinkphp/library/think/db/Builder.php', + 'think\\db\\Connection' => __DIR__ . '/../..' . '/thinkphp/library/think/db/Connection.php', + 'think\\db\\Expression' => __DIR__ . '/../..' . '/thinkphp/library/think/db/Expression.php', + 'think\\db\\Query' => __DIR__ . '/../..' . '/thinkphp/library/think/db/Query.php', + 'think\\db\\builder\\Mysql' => __DIR__ . '/../..' . '/thinkphp/library/think/db/builder/Mysql.php', + 'think\\db\\builder\\Pgsql' => __DIR__ . '/../..' . '/thinkphp/library/think/db/builder/Pgsql.php', + 'think\\db\\builder\\Sqlite' => __DIR__ . '/../..' . '/thinkphp/library/think/db/builder/Sqlite.php', + 'think\\db\\builder\\Sqlsrv' => __DIR__ . '/../..' . '/thinkphp/library/think/db/builder/Sqlsrv.php', + 'think\\db\\connector\\Mysql' => __DIR__ . '/../..' . '/thinkphp/library/think/db/connector/Mysql.php', + 'think\\db\\connector\\Pgsql' => __DIR__ . '/../..' . '/thinkphp/library/think/db/connector/Pgsql.php', + 'think\\db\\connector\\Sqlite' => __DIR__ . '/../..' . '/thinkphp/library/think/db/connector/Sqlite.php', + 'think\\db\\connector\\Sqlsrv' => __DIR__ . '/../..' . '/thinkphp/library/think/db/connector/Sqlsrv.php', + 'think\\db\\exception\\BindParamException' => __DIR__ . '/../..' . '/thinkphp/library/think/db/exception/BindParamException.php', + 'think\\db\\exception\\DataNotFoundException' => __DIR__ . '/../..' . '/thinkphp/library/think/db/exception/DataNotFoundException.php', + 'think\\db\\exception\\ModelNotFoundException' => __DIR__ . '/../..' . '/thinkphp/library/think/db/exception/ModelNotFoundException.php', + 'think\\debug\\Console' => __DIR__ . '/../..' . '/thinkphp/library/think/debug/Console.php', + 'think\\debug\\Html' => __DIR__ . '/../..' . '/thinkphp/library/think/debug/Html.php', + 'think\\exception\\ClassNotFoundException' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/ClassNotFoundException.php', + 'think\\exception\\DbException' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/DbException.php', + 'think\\exception\\ErrorException' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/ErrorException.php', + 'think\\exception\\Handle' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/Handle.php', + 'think\\exception\\HttpException' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/HttpException.php', + 'think\\exception\\HttpResponseException' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/HttpResponseException.php', + 'think\\exception\\PDOException' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/PDOException.php', + 'think\\exception\\RouteNotFoundException' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/RouteNotFoundException.php', + 'think\\exception\\TemplateNotFoundException' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/TemplateNotFoundException.php', + 'think\\exception\\ThrowableError' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/ThrowableError.php', + 'think\\exception\\ValidateException' => __DIR__ . '/../..' . '/thinkphp/library/think/exception/ValidateException.php', + 'think\\helper\\Arr' => __DIR__ . '/..' . '/topthink/think-helper/src/Arr.php', + 'think\\helper\\Hash' => __DIR__ . '/..' . '/topthink/think-helper/src/Hash.php', + 'think\\helper\\Str' => __DIR__ . '/..' . '/topthink/think-helper/src/Str.php', + 'think\\helper\\Time' => __DIR__ . '/..' . '/topthink/think-helper/src/Time.php', + 'think\\helper\\hash\\Bcrypt' => __DIR__ . '/..' . '/topthink/think-helper/src/hash/Bcrypt.php', + 'think\\helper\\hash\\Md5' => __DIR__ . '/..' . '/topthink/think-helper/src/hash/Md5.php', + 'think\\log\\driver\\File' => __DIR__ . '/../..' . '/thinkphp/library/think/log/driver/File.php', + 'think\\log\\driver\\Socket' => __DIR__ . '/../..' . '/thinkphp/library/think/log/driver/Socket.php', + 'think\\log\\driver\\Test' => __DIR__ . '/../..' . '/thinkphp/library/think/log/driver/Test.php', + 'think\\model\\Collection' => __DIR__ . '/../..' . '/thinkphp/library/think/model/Collection.php', + 'think\\model\\Merge' => __DIR__ . '/../..' . '/thinkphp/library/think/model/Merge.php', + 'think\\model\\Pivot' => __DIR__ . '/../..' . '/thinkphp/library/think/model/Pivot.php', + 'think\\model\\Relation' => __DIR__ . '/../..' . '/thinkphp/library/think/model/Relation.php', + 'think\\model\\relation\\BelongsTo' => __DIR__ . '/../..' . '/thinkphp/library/think/model/relation/BelongsTo.php', + 'think\\model\\relation\\BelongsToMany' => __DIR__ . '/../..' . '/thinkphp/library/think/model/relation/BelongsToMany.php', + 'think\\model\\relation\\HasMany' => __DIR__ . '/../..' . '/thinkphp/library/think/model/relation/HasMany.php', + 'think\\model\\relation\\HasManyThrough' => __DIR__ . '/../..' . '/thinkphp/library/think/model/relation/HasManyThrough.php', + 'think\\model\\relation\\HasOne' => __DIR__ . '/../..' . '/thinkphp/library/think/model/relation/HasOne.php', + 'think\\model\\relation\\MorphMany' => __DIR__ . '/../..' . '/thinkphp/library/think/model/relation/MorphMany.php', + 'think\\model\\relation\\MorphOne' => __DIR__ . '/../..' . '/thinkphp/library/think/model/relation/MorphOne.php', + 'think\\model\\relation\\MorphTo' => __DIR__ . '/../..' . '/thinkphp/library/think/model/relation/MorphTo.php', + 'think\\model\\relation\\OneToOne' => __DIR__ . '/../..' . '/thinkphp/library/think/model/relation/OneToOne.php', + 'think\\paginator\\driver\\Bootstrap' => __DIR__ . '/../..' . '/thinkphp/library/think/paginator/driver/Bootstrap.php', + 'think\\process\\Builder' => __DIR__ . '/../..' . '/thinkphp/library/think/process/Builder.php', + 'think\\process\\Utils' => __DIR__ . '/../..' . '/thinkphp/library/think/process/Utils.php', + 'think\\process\\exception\\Failed' => __DIR__ . '/../..' . '/thinkphp/library/think/process/exception/Failed.php', + 'think\\process\\exception\\Timeout' => __DIR__ . '/../..' . '/thinkphp/library/think/process/exception/Timeout.php', + 'think\\process\\pipes\\Pipes' => __DIR__ . '/../..' . '/thinkphp/library/think/process/pipes/Pipes.php', + 'think\\process\\pipes\\Unix' => __DIR__ . '/../..' . '/thinkphp/library/think/process/pipes/Unix.php', + 'think\\process\\pipes\\Windows' => __DIR__ . '/../..' . '/thinkphp/library/think/process/pipes/Windows.php', + 'think\\queue\\CallQueuedHandler' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/CallQueuedHandler.php', + 'think\\queue\\Connector' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/Connector.php', + 'think\\queue\\Job' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/Job.php', + 'think\\queue\\Listener' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/Listener.php', + 'think\\queue\\Queueable' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/Queueable.php', + 'think\\queue\\ShouldQueue' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/ShouldQueue.php', + 'think\\queue\\Worker' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/Worker.php', + 'think\\queue\\command\\Listen' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/command/Listen.php', + 'think\\queue\\command\\Restart' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/command/Restart.php', + 'think\\queue\\command\\Subscribe' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/command/Subscribe.php', + 'think\\queue\\command\\Work' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/command/Work.php', + 'think\\queue\\connector\\Database' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/connector/Database.php', + 'think\\queue\\connector\\Redis' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/connector/Redis.php', + 'think\\queue\\connector\\Sync' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/connector/Sync.php', + 'think\\queue\\connector\\Topthink' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/connector/Topthink.php', + 'think\\queue\\job\\Database' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/job/Database.php', + 'think\\queue\\job\\Redis' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/job/Redis.php', + 'think\\queue\\job\\Sync' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/job/Sync.php', + 'think\\queue\\job\\Topthink' => __DIR__ . '/..' . '/topthink/think-queue/src/queue/job/Topthink.php', + 'think\\response\\Json' => __DIR__ . '/../..' . '/thinkphp/library/think/response/Json.php', + 'think\\response\\Jsonp' => __DIR__ . '/../..' . '/thinkphp/library/think/response/Jsonp.php', + 'think\\response\\Redirect' => __DIR__ . '/../..' . '/thinkphp/library/think/response/Redirect.php', + 'think\\response\\View' => __DIR__ . '/../..' . '/thinkphp/library/think/response/View.php', + 'think\\response\\Xml' => __DIR__ . '/../..' . '/thinkphp/library/think/response/Xml.php', + 'think\\session\\driver\\Memcache' => __DIR__ . '/../..' . '/thinkphp/library/think/session/driver/Memcache.php', + 'think\\session\\driver\\Memcached' => __DIR__ . '/../..' . '/thinkphp/library/think/session/driver/Memcached.php', + 'think\\session\\driver\\Redis' => __DIR__ . '/../..' . '/thinkphp/library/think/session/driver/Redis.php', + 'think\\template\\TagLib' => __DIR__ . '/../..' . '/thinkphp/library/think/template/TagLib.php', + 'think\\template\\driver\\File' => __DIR__ . '/../..' . '/thinkphp/library/think/template/driver/File.php', + 'think\\template\\taglib\\Cx' => __DIR__ . '/../..' . '/thinkphp/library/think/template/taglib/Cx.php', + 'think\\view\\driver\\Php' => __DIR__ . '/../..' . '/thinkphp/library/think/view/driver/Php.php', + 'think\\view\\driver\\Think' => __DIR__ . '/../..' . '/thinkphp/library/think/view/driver/Think.php', ); public static function getInitializer(ClassLoader $loader)