diff --git a/demo/ciDemo.js b/demo/ciDemo.js index 5d46ec6..f3e4dae 100644 --- a/demo/ciDemo.js +++ b/demo/ciDemo.js @@ -1,4 +1,3 @@ - var TaskId; function getObjectUrl() { @@ -37,109 +36,14 @@ function request() { ); } -function CIExample1() { - util.selectLocalFile(function (files) { - var file = files && files[0]; - if (!file) return; - if (file.type.indexOf('image') < 0) { - logger.error('Please select a photo to upload!'); - return; - } - if (file.size > 1024 * 1024) { - cos.sliceUploadFile( - { - Bucket: config.Bucket, // Bucket 格式:test-1250000000 - Region: config.Region, - Key: file.name, - Body: file, - Headers: { - // 通过 imageMogr2 接口使用图片缩放功能:指定图片宽度为 200,宽度等比压缩 - 'Pic-Operations': - '{"is_pic_info": 1, "rules": [{"fileid": "desample_photo.jpg", "rule": "imageMogr2/thumbnail/200x/"}]}', - }, - onTaskReady: function (tid) { - TaskId = tid; - }, - onHashProgress: function (progressData) { - logger.log('onHashProgress', JSON.stringify(progressData)); - }, - onProgress: function (progressData) { - logger.log('onProgress', JSON.stringify(progressData)); - }, - }, - function (err, data) { - logger.log('CIExample1:', err || data); - }, - ); - } else { - cos.putObject( - { - Bucket: config.Bucket, // Bucket 格式:test-1250000000 - Region: config.Region, - Key: file.name, - Body: file, - Headers: { - // 通过 imageMogr2 接口使用图片缩放功能:指定图片宽度为 200,宽度等比压缩 - 'Pic-Operations': - '{"is_pic_info": 1, "rules": [{"fileid": "desample_photo.jpg", "rule": "imageMogr2/thumbnail/200x/"}]}', - }, - onTaskReady: function (tid) { - TaskId = tid; - }, - onHashProgress: function (progressData) { - logger.log('onHashProgress', JSON.stringify(progressData)); - }, - onProgress: function (progressData) { - logger.log('onProgress', JSON.stringify(progressData)); - }, - }, - function (err, data) { - logger.log('CIExample1:', err || data); - }, - ); - } - }); -} -function CIExample2() { - cos.request( - { - Bucket: config.Bucket, - Region: config.Region, - Key: 'photo.png', - Method: 'POST', - Action: 'image_process', - Headers: { - // 通过 imageMogr2 接口使用图片缩放功能:指定图片宽度为 200,宽度等比压缩 - 'Pic-Operations': - '{"is_pic_info": 1, "rules": [{"fileid": "desample_photo.jpg", "rule": "imageMogr2/thumbnail/200x/"}]}', - }, - }, - function (err, data) { - logger.log('CIExample2:', err || data); - }, - ); -} -function CIExample3() { - cos.getObject( - { - Bucket: config.Bucket, - Region: config.Region, - Key: 'photo.png', - QueryString: `imageMogr2/thumbnail/200x/`, - }, - function (err, data) { - logger.log('CIExample3:', err || data); - }, - ); -} -function CIExample4() { +function getImageUrl() { // 生成带图片处理参数的文件签名URL,过期时间设置为 30 分钟。 cos.getObjectUrl( { Bucket: config.Bucket, Region: config.Region, - Key: 'photo.png', - QueryString: `imageMogr2/thumbnail/200x/`, + Key: '02.png', + Query: { 'imageMogr2/thumbnail/200x/': '' }, Expires: 1800, Sign: true, }, @@ -281,7 +185,7 @@ function postImagesAuditing() { Region: config.Region, Method: 'POST', Url: url, - Key: '/image/auditing', + Key: 'image/auditing', ContentType: 'application/xml', Body: body, }, @@ -310,6 +214,37 @@ function getImageAuditingResult() { ); } +// 反馈处理结果 +function reportBadCase() { + const host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com'; + const key = 'report/badcase'; + const url = `https://${host}/${key}`; + const body = COS.util.json2xml({ + Request: { + ContentType: 2, + Url: 'https://example.com/desample_photo.jpg', + Label: 'Porn', + SuggestedLabel: 'Normal', + // JobId: '', + // ModerationTime: '', + }, + }); + cos.request( + { + Bucket: config.Bucket, + Region: config.Region, + Method: 'POST', + Url: url, + Key: key, + ContentType: 'application/xml', + Body: body, + }, + function (err, data) { + logger.log(err || data); + }, + ); +} + // 提交视频审核任务 function postVideoAuditing() { var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com'; @@ -595,6 +530,26 @@ function postLiveAuditing() { ); } +// 取消直播审核 +function cancelLiveAuditing() { + const host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com'; + const jobId = 'av8088af71359c11eeb17c525400941xxx'; + const key = `video/cancel_auditing/${jobId}`; + const url = `https://${host}/${key}`; + cos.request( + { + Bucket: config.Bucket, + Region: config.Region, + Method: 'POST', + Url: url, + Key: key, + }, + function (err, data) { + logger.log(err || data); + }, + ); +} + // 查询直播审核任务结果 function getLiveAuditingResult() { var jobId = 'av0ca69557bd6111ed904c5254009411xx'; // jobId可以通过提交直播审核任务返回 @@ -646,8 +601,7 @@ function getDocPreview() { Key: '1/文档.docx', Query: { 'ci-process': 'doc-preview', // 必须,数据万象处理能力,文档预览固定为 doc-preview - srcType: - 'docx', // 非必须,源数据的后缀类型,当前文档转换根据 COS 对象的后缀名来确定源数据类型。当 COS 对象没有后缀名时,可以设置该值 + srcType: 'docx', // 非必须,源数据的后缀类型,当前文档转换根据 COS 对象的后缀名来确定源数据类型。当 COS 对象没有后缀名时,可以设置该值 // page: '', // 非必须,需转换的文档页码,默认从1开始计数;表格文件中 page 表示转换的第 X 个 sheet 的第 X 张图 // dstType: '', // 非必须,转换输出目标文件类型 }, @@ -681,7 +635,7 @@ function describeDocProcessQueues() { Url: url, Query: { // queueIds: '', // 非必须,队列 ID,以“,”符号分割字符串 - // state: '', // 非必须,1=Active,2=Paused + // state: '', // 非必须,1=Active,2=Paused // pageNumber: 1, // 非必须,第几页 // pageSize: 2, // 非必须,每页个数 }, @@ -694,7 +648,7 @@ function describeDocProcessQueues() { // 更新文档预览队列 function updateDocProcessQueue() { - // 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询 + // 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询 var queueId = 'pa2e2c3d3fae042de909cafc16f1d801b'; // 替换成自己的队列id var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/docqueue/' + queueId; var url = 'https://' + host; @@ -805,7 +759,7 @@ function getDocHtmlUrl() { 'ci-process': 'doc-preview', // 必须,数据万象处理能力,文档预览固定为 doc-preview // srcType: '', // 非必须,源数据的后缀类型,当前文档转换根据 COS 对象的后缀名来确定源数据类型。当 COS 对象没有后缀名时,可以设置该值 // page: '', // 非必须,需转换的文档页码,默认从1开始计数;表格文件中 page 表示转换的第 X 个 sheet 的第 X 张图 - dstType: 'html' // 非必须,转换输出目标文件类型 + dstType: 'html', // 非必须,转换输出目标文件类型 }, }, function (err, data) { @@ -899,7 +853,7 @@ function generateQrcode() { 'ci-process': 'qrcode-generate', // 必须,对象存储处理能力,二维码生成参数为 qrcode-generate 'qrcode-content': '二维码文案', // 必须,可识别的二维码文本信息 // mode: 0, // 非必须,生成的二维码类型,可选值:0或1。0为二维码,1为条形码,默认值为0 - width: 200 //必须,指定生成的二维码或条形码的宽度,高度会进行等比压缩 + width: 200, //必须,指定生成的二维码或条形码的宽度,高度会进行等比压缩 }, }, function (err, data) { @@ -1350,7 +1304,7 @@ function getAsrQueue() { // 更新语音识别队列 function putAsrQueue() { - // 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询 + // 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询 var queueId = 'pcc77499e85c311edb9865254008618d9'; var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/asrqueue/' + queueId; var url = 'https://' + host; @@ -1418,7 +1372,7 @@ function getDocHtmlPreviewUrl() { Query: { 'ci-process': 'doc-preview', // 必须,预览固定参数,值为 doc-preview dstType: 'html', // 必须,预览类型,如需预览生成类型为 html 则填入 html - weboffice_url: 1 // 非必须,是否获取预览链接。填入值为1会返回预览链接和Token信息;填入值为2只返回Token信息;不传会直接预览 + weboffice_url: 1, // 非必须,是否获取预览链接。填入值为1会返回预览链接和Token信息;填入值为2只返回Token信息;不传会直接预览 }, }, function (err, data) { @@ -1462,10 +1416,9 @@ function describeFileProcessQueues() { Url: url, Query: { // queueIds: '', // 非必须,队列 ID,以“,”符号分割字符串 - state: - 'Active', // 非必须,Active 表示队列内的作业会被调度执行。Paused 表示队列暂停,作业不再会被调度执行,队列内的所有作业状态维持在暂停状态,已经执行中的任务不受影响 + state: 'Active', // 非必须,Active 表示队列内的作业会被调度执行。Paused 表示队列暂停,作业不再会被调度执行,队列内的所有作业状态维持在暂停状态,已经执行中的任务不受影响 pageNumber: 1, // 第几页,默认值1 - pageSize: 10 // 非必须,每页个数,默认值10 + pageSize: 10, // 非必须,每页个数,默认值10 }, }, function (err, data) { @@ -1476,7 +1429,7 @@ function describeFileProcessQueues() { // 更新文件处理队列 function updateFileProcessQueue() { - // 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询 + // 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询 var queueId = 'p6160ada105a7408e95aac015f4bf8xxx'; var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/file_queue/' + queueId; var url = 'https://' + host; @@ -1641,8 +1594,8 @@ function closeImageGuetzli() { ); } -// 上传时使用图片压缩 -function advanceCompressExample1() { +// 上传时使用图片处理 +function uploadPicOperation() { util.selectLocalFile(function (files) { var file = files && files[0]; if (!file) return; @@ -1658,9 +1611,11 @@ function advanceCompressExample1() { Key: file.name, Body: file, Headers: { - // 通过 imageMogr2 接口进行 avif 压缩,可以根据需要压缩的类型填入不同的压缩格式:webp/heif/tpg/avif/svgc - 'Pic-Operations': - '{"is_pic_info": 1, "rules": [{"fileid": "desample_photo.jpg", "rule": "imageMogr2/format/avif"}]}', + // 通过 imageMogr2 接口使用图片缩放功能:指定图片宽度为 200,宽度等比压缩 + 'Pic-Operations': JSON.stringify({ + is_pic_info: 1, + rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/thumbnail/200x/' }], + }), }, onTaskReady: function (tid) { TaskId = tid; @@ -1673,7 +1628,7 @@ function advanceCompressExample1() { }, }, function (err, data) { - logger.log('advanceCompressExample1:', err || data); + logger.log('uploadPicOperation:', err || data); }, ); } else { @@ -1699,30 +1654,45 @@ function advanceCompressExample1() { }, }, function (err, data) { - logger.log('advanceCompressExample1:', err || data); + logger.log('uploadPicOperation:', err || data); }, ); } }); } -// 对云上数据进行图片压缩 -function advanceCompressExample2() { +// 对云上数据处理 +function requestPicOperation() { + // 文字水印示例 + const text = '腾讯云万象优图'; + const color = '#3D3D3D'; + // 经过安全base64编码 使用 COS.util.encodeBase64 方法需要sdk版本至少为1.4.18 + const textBase64 = COS.util.encodeBase64(text, true); + const colorBase64 = COS.util.encodeBase64(color, true); + // 生成一个文字水印 + const waterMarkRule = `watermark/2/text/${textBase64}/fill/${colorBase64}/fontsize/20/dissolve/50/gravity/northeast/dx/20/dy/20/batch/1/degree/45`; + const picOperations = JSON.stringify({ + is_pic_info: 1, // 固定 + // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 + rules: [{ fileid: 'desample_photo.jpg', rule: waterMarkRule }], + }); + cos.request( { Bucket: config.Bucket, Region: config.Region, - Key: '1.png', - Method: 'POST', - Action: 'image_process', - Headers: { - // 通过 imageMogr2 接口进行 avif 压缩,可以根据需要压缩的类型填入不同的压缩格式:webp/heif/tpg/avif/svgc - 'Pic-Operations': - '{"is_pic_info": 1, "rules": [{"fileid": "desample_photo.jpg", "rule": "imageMogr2/format/avif"}]}', - }, + Key: '02.png', + Method: 'GET', + Action: 'exif', + RawBody: true, + // Headers: { + // // 通过 imageMogr2 接口使用图片缩放功能:指定图片宽度为 200,宽度等比压缩 + // 'Pic-Operations': picOperations, + // }, }, function (err, data) { - logger.log('advanceCompressExample2:', err || data); + const info = JSON.parse(data.Body); + logger.log('requestPicOperation:', err || data); }, ); } @@ -1754,7 +1724,7 @@ function createImageInspectJob() { Url: url, RawBody: true, Query: { - 'ci-process': 'ImageInspect' // 必须,操作类型,异常图片检测固定为:ImageInspect + 'ci-process': 'ImageInspect', // 必须,操作类型,异常图片检测固定为:ImageInspect }, }, function (err, data) { @@ -1782,8 +1752,7 @@ function describePicProcessQueues() { Url: url, Query: { // queueIds: '', // 非必须,队列 ID,以“,”符号分割字符串 - state: - 'Active', // 非必须,1. Active 表示队列内的作业会被媒体处理服务调度执行。2. Paused 表示队列暂停,作业不再会被媒体处理调度执行,队列内的所有作业状态维持在暂停状态,已经执行中的任务不受影响。 + state: 'Active', // 非必须,1. Active 表示队列内的作业会被媒体处理服务调度执行。2. Paused 表示队列暂停,作业不再会被媒体处理调度执行,队列内的所有作业状态维持在暂停状态,已经执行中的任务不受影响。 pageNumber: 1, // 非必须,第几页,默认值1 pageSize: 10, // 非必须,每页个数,默认值10 }, @@ -1796,7 +1765,7 @@ function describePicProcessQueues() { // 更新图片处理队列 function updatePicProcessQueue() { - // 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询 + // 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询 var queueId = 'p882d181160d84feca27d9376e17c4xxx'; var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/picqueue/' + queueId; var url = 'https://' + host; @@ -1957,18 +1926,15 @@ function postSnapshot() { (function () { var list = [ 'header-图片处理', - 'CIExample1', - 'CIExample2', - 'CIExample3', - 'CIExample4', + 'getImageUrl', 'addImageStyle', 'describeImageStyles', 'deleteImageStyle', 'openImageGuetzli', 'describeImageGuetzli', 'closeImageGuetzli', - 'advanceCompressExample1', - 'advanceCompressExample2', + 'uploadPicOperation', + 'requestPicOperation', 'advanceCompressExample3', 'createImageInspectJob', 'describePicProcessQueues', @@ -1987,6 +1953,7 @@ function postSnapshot() { 'getImageAuditing', 'postImagesAuditing', 'getImageAuditingResult', + 'reportBadCase', 'postVideoAuditing', 'getVideoAuditingResult', 'postAudioAuditing', @@ -1999,6 +1966,7 @@ function postSnapshot() { 'getWebpageAuditingResult', 'postLiveAuditing', 'getLiveAuditingResult', + 'cancelLiveAuditing', 'header-文档预览', 'describeDocProcessBuckets', @@ -2062,16 +2030,14 @@ function postSnapshot() { request: '通用请求接口', listFolder: '列出文件夹', deleteFolder: '删除文件夹(按前缀批量删除)', - CIExample1: '上传时使用图片处理', - CIExample2: '对云上数据进行图片处理', - CIExample3: '下载时使用图片处理', - CIExample4: '生成带图片处理参数的签名 URL', + getImageUrl: '生成带图片处理参数的签名 URL', describeMediaBuckets: '查询媒体处理开通情况', getMediaInfo: '获取媒体文件信息', getSnapshot: '获取媒体文件某个时间的截图', getImageAuditing: '图片同步审核', postImagesAuditing: '图片批量审核', getImageAuditingResult: '查询图片审核任务结果', + reportBadCase: '反馈处理结果', postVideoAuditing: '提交视频审核任务', getVideoAuditingResult: '查询视频审核任务结果', postAudioAuditing: '提交音频审核任务', @@ -2084,6 +2050,7 @@ function postSnapshot() { getWebpageAuditingResult: '查询网页审核任务结果', postLiveAuditing: '提交直播审核任务', getLiveAuditingResult: '查询直播审核任务结果', + cancelLiveAuditing: '取消直播审核任务', describeDocProcessBuckets: '查询文档预览开通状态', getDocPreview: '文档转码同步请求', describeDocProcessQueues: '查询文档转码队列', @@ -2123,9 +2090,9 @@ function postSnapshot() { openImageGuetzli: '开通 Guetzli 压缩', describeImageGuetzli: '查询 Guetzli 压缩', closeImageGuetzli: '关闭 Guetzli 压缩', - advanceCompressExample1: '上传时使用图片压缩', - advanceCompressExample2: '对云上数据进行图片压缩', - advanceCompressExample3: '下载时使用图片压缩', + uploadPicOperation: '上传时使用图片处理', + requestPicOperation: '对云上数据进行图片处理', + advanceCompressExample3: '下载时使用图片处理', createImageInspectJob: '异常图片检测', describePicProcessQueues: '查询图片处理队列', updatePicProcessQueue: '更新图片处理队列', diff --git a/demo/index.html b/demo/index.html index 3b14c6b..41dab86 100644 --- a/demo/index.html +++ b/demo/index.html @@ -1,267 +1,331 @@ - - - - + + + + cos-js-sdk-v5 - - - -
-

cos-js-sdk-v5 -
-
cos demo
ci demo
-
-

-
+ + +
+

+ cos-js-sdk-v5 +
+
cos demo
+
ci demo
+
+

+
-
-
+
+

+      
-
- - - - - + + - // config 替换成自己的存储桶和账号信息 - var config = { - Bucket: 'test-1250000000', - Region: 'ap-guangzhou', - Uin: '10001', - }; - var getAuthorization = function (options, callback) { - // 格式一、(推荐)后端通过获取临时密钥给到前端,前端计算签名 - // 服务端 JS 和 PHP 例子:https://github.com/tencentyun/cos-js-sdk-v5/blob/master/server/ - // 服务端其他语言参考 COS STS SDK :https://github.com/tencentyun/qcloud-cos-sts-sdk - var url = '/sts'; // 如果是 npm run sts.js 起的 nodejs server,使用这个 - var xhr = new XMLHttpRequest(); - xhr.open('POST', url, true); - xhr.setRequestHeader('Content-Type', 'application/json'); - xhr.onload = function (e) { - try { - var data = JSON.parse(e.target.responseText); - var credentials = data.credentials; - } catch (e) {} - if (!data || !credentials) { - return logger.error('credentials invalid:\n' + JSON.stringify(data, null, 2)); - } - callback({ - TmpSecretId: credentials.tmpSecretId, - TmpSecretKey: credentials.tmpSecretKey, - SecurityToken: credentials.sessionToken, - StartTime: data.startTime, // 时间戳,单位秒,如:1580000000,建议返回服务器时间作为签名的开始时间,避免用户浏览器本地时间偏差过大导致签名错误 - ExpiredTime: data.expiredTime, // 时间戳,单位秒,如:1580000000 - ScopeLimit: true, // 细粒度控制权限需要设为 true,会限制密钥只在相同请求时重复使用 + + showLogText(logStr); + }, + error: function (text) { + console.error(text); + showLogText(text, 'red'); + }, + }; - + /** + * 这里demo为了方便挂在了window上 实际使用请结合项目比如可使用模块导出 + * */ + window.config = config; + window.cos = cos; + window.util = util; + window.logger = logger; + window.camSafeUrlEncode = camSafeUrlEncode; + })(); + + diff --git a/dist/cos-js-sdk-v5.js b/dist/cos-js-sdk-v5.js index aa60054..0d9de5e 100644 --- a/dist/cos-js-sdk-v5.js +++ b/dist/cos-js-sdk-v5.js @@ -7109,7 +7109,7 @@ module.exports = function(module) { /*! exports provided: name, version, description, main, types, scripts, repository, keywords, author, license, bugs, homepage, dependencies, devDependencies, default */ /***/ (function(module) { -module.exports = JSON.parse("{\"name\":\"cos-js-sdk-v5\",\"version\":\"1.4.19\",\"description\":\"JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)\",\"main\":\"dist/cos-js-sdk-v5.js\",\"types\":\"index.d.ts\",\"scripts\":{\"prettier\":\"prettier --write src demo/demo.js test/test.js server/sts.js index.d.ts\",\"server\":\"node server/sts.js\",\"dev\":\"cross-env NODE_ENV=development webpack -w --mode=development\",\"build\":\"cross-env NODE_ENV=production webpack --mode=production\",\"cos-auth.min.js\":\"uglifyjs ./demo/common/cos-auth.js -o ./demo/common/cos-auth.min.js -c -m\",\"test\":\"jest --runInBand --coverage\"},\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/tencentyun/cos-js-sdk-v5.git\"},\"keywords\":[],\"author\":\"carsonxu\",\"license\":\"ISC\",\"bugs\":{\"url\":\"https://github.com/tencentyun/cos-js-sdk-v5/issues\"},\"homepage\":\"https://github.com/tencentyun/cos-js-sdk-v5#readme\",\"dependencies\":{\"@xmldom/xmldom\":\"^0.8.6\"},\"devDependencies\":{\"@babel/core\":\"7.17.9\",\"@babel/plugin-transform-runtime\":\"7.18.10\",\"@babel/preset-env\":\"7.16.11\",\"babel-loader\":\"8.2.5\",\"body-parser\":\"^1.18.3\",\"cross-env\":\"^5.2.0\",\"express\":\"^4.16.4\",\"jest\":\"^29.3.1\",\"jest-environment-jsdom\":\"^29.3.1\",\"prettier\":\"^3.0.1\",\"qcloud-cos-sts\":\"^3.0.2\",\"request\":\"^2.87.0\",\"terser-webpack-plugin\":\"4.2.3\",\"uglifyjs\":\"^2.4.11\",\"webpack\":\"4.46.0\",\"webpack-cli\":\"4.10.0\"}}"); +module.exports = JSON.parse("{\"name\":\"cos-js-sdk-v5\",\"version\":\"1.4.20\",\"description\":\"JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)\",\"main\":\"dist/cos-js-sdk-v5.js\",\"types\":\"index.d.ts\",\"scripts\":{\"prettier\":\"prettier --write src demo/demo.js test/test.js server/sts.js index.d.ts\",\"server\":\"node server/sts.js\",\"dev\":\"cross-env NODE_ENV=development webpack -w --mode=development\",\"build\":\"cross-env NODE_ENV=production webpack --mode=production\",\"cos-auth.min.js\":\"uglifyjs ./demo/common/cos-auth.js -o ./demo/common/cos-auth.min.js -c -m\",\"test\":\"jest --runInBand --coverage\"},\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/tencentyun/cos-js-sdk-v5.git\"},\"keywords\":[],\"author\":\"carsonxu\",\"license\":\"ISC\",\"bugs\":{\"url\":\"https://github.com/tencentyun/cos-js-sdk-v5/issues\"},\"homepage\":\"https://github.com/tencentyun/cos-js-sdk-v5#readme\",\"dependencies\":{\"@xmldom/xmldom\":\"^0.8.6\"},\"devDependencies\":{\"@babel/core\":\"7.17.9\",\"@babel/plugin-transform-runtime\":\"7.18.10\",\"@babel/preset-env\":\"7.16.11\",\"babel-loader\":\"8.2.5\",\"body-parser\":\"^1.18.3\",\"cross-env\":\"^5.2.0\",\"express\":\"^4.16.4\",\"jest\":\"^29.3.1\",\"jest-environment-jsdom\":\"^29.3.1\",\"prettier\":\"^3.0.1\",\"qcloud-cos-sts\":\"^3.0.2\",\"request\":\"^2.87.0\",\"terser-webpack-plugin\":\"4.2.3\",\"uglifyjs\":\"^2.4.11\",\"webpack\":\"4.46.0\",\"webpack-cli\":\"4.10.0\"}}"); /***/ }), @@ -8098,7 +8098,12 @@ function uploadFiles(params, callback) { var fileInfo = { Index: index, TaskId: '' - }; // 更新文件总大小 + }; // 如果 批量上传的 Key 是 / 开头,强制去掉第一个 / + + if (!self.options.UseRawKey && fileParams.Key && fileParams.Key.substr(0, 1) === '/') { + fileParams.Key = fileParams.Key.substr(1); + } // 更新文件总大小 + TotalSize += FileSize; // 单个文件上传链路 diff --git a/dist/cos-js-sdk-v5.min.js b/dist/cos-js-sdk-v5.min.js index 08086cc..560c110 100644 --- a/dist/cos-js-sdk-v5.min.js +++ b/dist/cos-js-sdk-v5.min.js @@ -1 +1,9810 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.COS=t():e.COS=t()}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=10)}([function(e,t){function n(t){return e.exports=n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,n(t)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){"use strict";(function(t){var r=n(0),o=n(12),i=n(15),a=n(16),s=n(21),c=n(22),u=n(6);function l(e){return encodeURIComponent(e).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A")}function d(e,t){var n=[];for(var r in e)e.hasOwnProperty(r)&&n.push(t?l(r).toLowerCase():r);return n.sort((function(e,t){return(e=e.toLowerCase())===(t=t.toLowerCase())?0:e>t?1:-1}))}var p,f=["cache-control","content-disposition","content-encoding","content-length","content-md5","expect","expires","host","if-match","if-modified-since","if-none-match","if-unmodified-since","origin","range","transfer-encoding"],h=function(e,t,n){var r=t/8,o=e.slice(n,n+r);return new Uint8Array(o).reverse(),new{8:Uint8Array,16:Uint16Array,32:Uint32Array}[t](o)[0]},m=function(e,t,n,r){var o=e.slice(t,n),i="";return new Uint8Array(o).forEach((function(e){i+=String.fromCharCode(e)})),r&&(i=decodeURIComponent(escape(i))),i},g=function(){},y=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&void 0!==e[n]&&null!==e[n]&&(t[n]=e[n]);return t},v=(p=function(e,t){e=e.split("."),t=t.split(".");for(var n=0;nparseInt(t[n])?1:-1;return 0},function(e){if(!e)return!1;var t=(e.match(/Chrome\/([.\d]+)/)||[])[1],n=(e.match(/QBCore\/([.\d]+)/)||[])[1],r=(e.match(/QQBrowser\/([.\d]+)/)||[])[1];return t&&p(t,"53.0.2785.116")<0&&n&&p(n,"3.53.991.400")<0&&r&&p(r,"9.0.2524.400")<=0||!1}("undefined"!=typeof navigator&&navigator.userAgent)),C=1048576;function k(e){return R(e,(function(e){return"object"===r(e)&&null!==e?k(e):e}))}function S(e,t){return T(t,(function(n,r){e[r]=t[r]})),e}function b(e){return e instanceof Array}function T(e,t){for(var n in e)e.hasOwnProperty(n)&&t(e[n],n)}function R(e,t){var n=b(e)?[]:{};for(var r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r],r));return n}var E=function(e,t){var n=t.Bucket,r=t.Region,o=t.Key,i=this.options.Domain,a=!i||"string"==typeof i&&i.indexOf("{Bucket}")>-1,s=!i||"string"==typeof i&&i.indexOf("{Region}")>-1;if(e.indexOf("Bucket")>-1||"deleteMultipleObject"===e||"multipartList"===e||"listObjectVersions"===e){if(a&&!n)return"Bucket";if(s&&!r)return"Region"}else if(e.indexOf("Object")>-1||e.indexOf("multipart")>-1||"sliceUploadFile"===e||"abortUploadTask"===e){if(a&&!n)return"Bucket";if(s&&!r)return"Region";if(!o)return"Key"}return!1},w=function(e,t){if(t=S({},t),"getAuth"!==e&&"getV4Auth"!==e&&"getObjectUrl"!==e){var n=t.Headers||{};if(t&&"object"===r(t)){!function(){for(var e in t)t.hasOwnProperty(e)&&e.indexOf("x-cos-")>-1&&(n[e]=t[e])}();O.each({"x-cos-mfa":"MFA","Content-MD5":"ContentMD5","Content-Length":"ContentLength","Content-Type":"ContentType",Expect:"Expect",Expires:"Expires","Cache-Control":"CacheControl","Content-Disposition":"ContentDisposition","Content-Encoding":"ContentEncoding",Range:"Range","If-Modified-Since":"IfModifiedSince","If-Unmodified-Since":"IfUnmodifiedSince","If-Match":"IfMatch","If-None-Match":"IfNoneMatch","x-cos-copy-source":"CopySource","x-cos-copy-source-Range":"CopySourceRange","x-cos-metadata-directive":"MetadataDirective","x-cos-copy-source-If-Modified-Since":"CopySourceIfModifiedSince","x-cos-copy-source-If-Unmodified-Since":"CopySourceIfUnmodifiedSince","x-cos-copy-source-If-Match":"CopySourceIfMatch","x-cos-copy-source-If-None-Match":"CopySourceIfNoneMatch","x-cos-acl":"ACL","x-cos-grant-read":"GrantRead","x-cos-grant-write":"GrantWrite","x-cos-grant-full-control":"GrantFullControl","x-cos-grant-read-acp":"GrantReadAcp","x-cos-grant-write-acp":"GrantWriteAcp","x-cos-storage-class":"StorageClass","x-cos-traffic-limit":"TrafficLimit","x-cos-mime-limit":"MimeLimit","x-cos-server-side-encryption-customer-algorithm":"SSECustomerAlgorithm","x-cos-server-side-encryption-customer-key":"SSECustomerKey","x-cos-server-side-encryption-customer-key-MD5":"SSECustomerKeyMD5","x-cos-server-side-encryption":"ServerSideEncryption","x-cos-server-side-encryption-cos-kms-key-id":"SSEKMSKeyId","x-cos-server-side-encryption-context":"SSEContext","Pic-Operations":"PicOperations"},(function(e,r){void 0!==t[e]&&(n[r]=t[e])})),t.Headers=y(n)}}return t},A=function(e){return Date.now()+(e||0)},x="object"===("undefined"==typeof navigator?"undefined":r(navigator))&&!!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),I="object"===("undefined"==typeof navigator?"undefined":r(navigator))&&/\sQQ/i.test(navigator.userAgent),O={noop:g,formatParams:w,apiWrapper:function(e,t){return function(n,r){var o,i=this;if("function"==typeof n&&(r=n,n={}),n=w(e,n),i.options.EnableTracker)if("sliceUploadFile"===n.calledBySdk)o=n.tracker&&n.tracker.generateSubTracker({apiName:e});else if(["uploadFile","uploadFiles"].includes(e))o=null;else{var a=-1;n.Body&&(a="string"==typeof n.Body?n.Body.length:n.Body.size||n.Body.byteLength||-1),o=new u({bucket:n.Bucket,region:n.Region,apiName:e,fileKey:n.Key,fileSize:a,deepTracker:i.options.DeepTracker,customId:i.options.CustomId,delay:i.options.TrackerDelay})}n.tracker=o;var s=function(e){return e&&e.headers&&(e.headers["x-cos-request-id"]&&(e.RequestId=e.headers["x-cos-request-id"]),e.headers["x-ci-request-id"]&&(e.RequestId=e.headers["x-ci-request-id"]),e.headers["x-cos-version-id"]&&(e.VersionId=e.headers["x-cos-version-id"]),e.headers["x-cos-delete-marker"]&&(e.DeleteMarker=e.headers["x-cos-delete-marker"])),e},c=function(e,t){o&&o.formatResult(e,t),r&&r(s(e),s(t))},l=function(){if("getService"!==e&&"abortUploadTask"!==e){var t=E.call(i,e,n);if(t)return"missing param "+t;if(n.Region){if(i.options.CompatibilityMode){if(!/^([a-z\d-.]+)$/.test(n.Region))return"Region format error."}else{if(n.Region.indexOf("cos.")>-1)return'param Region should not be start with "cos."';if(!/^([a-z\d-]+)$/.test(n.Region))return"Region format error."}!i.options.CompatibilityMode&&-1===n.Region.indexOf("-")&&"yfb"!==n.Region&&"default"!==n.Region&&n.Region}if(n.Bucket){if(!/^([a-z\d-]+)-(\d+)$/.test(n.Bucket))if(n.AppId)n.Bucket=n.Bucket+"-"+n.AppId;else{if(!i.options.AppId)return'Bucket should format as "test-1250000000".';n.Bucket=n.Bucket+"-"+i.options.AppId}n.AppId&&delete n.AppId}!i.options.UseRawKey&&n.Key&&"/"===n.Key.substr(0,1)&&(n.Key=n.Key.substr(1))}}(),d=["getAuth","getObjectUrl"].includes(e);if("function"==typeof Promise&&!d&&!r)return new Promise((function(e,o){if(r=function(t,n){t?o(t):e(n)},l)return c(O.error(new Error(l)));t.call(i,n,c)}));if(l)return c(O.error(new Error(l)));var p=t.call(i,n,c);return d?p:void 0}},xml2json:a,json2xml:s,md5:o,clearKey:y,fileSlice:function(e,t,n,r,o){var i;if(e.slice?i=e.slice(t,n):e.mozSlice?i=e.mozSlice(t,n):e.webkitSlice&&(i=e.webkitSlice(t,n)),r&&v){var a=new FileReader;a.onload=function(e){i=null,o(new Blob([a.result]))},a.readAsArrayBuffer(i)}else o(i)},getBodyMd5:function(e,t,n,r){n=n||g,e?"string"==typeof t?n(O.md5(t,!0)):Blob&&t instanceof Blob?O.getFileMd5(t,(function(e,t){n(t)}),r):n():n()},getFileMd5:function(e,t,n){var r=e.size,i=0,a=o.getCtx();!function o(s){if(s>=r){var c=a.digest("hex");t(null,c)}else{var u=Math.min(r,s+C);O.fileSlice(e,s,u,!1,(function(e){!function(e,t){var n,r=new FileReader;FileReader.prototype.readAsBinaryString?(n=FileReader.prototype.readAsBinaryString,r.onload=function(){t(this.result)}):FileReader.prototype.readAsArrayBuffer&&(n=function(e){var n="",r=new FileReader;r.onload=function(e){for(var o=new Uint8Array(r.result),i=o.byteLength,a=0;a-1||f.indexOf(r)>-1)&&(t[n]=e[n])}return t}(k(e.Headers||e.headers||{})),u=e.Key||"";e.UseRawKey?t=e.Pathname||e.pathname||"/"+u:0!==(t=e.Pathname||e.pathname||u).indexOf("/")&&(t="/"+t);var l=!1!==e.ForceSignHost;if(!c.Host&&!c.host&&e.Bucket&&e.Region&&l&&(c.Host=e.Bucket+".cos."+e.Region+".myqcloud.com"),!n)throw new Error("missing param SecretId");if(!r)throw new Error("missing param SecretKey");var p=Math.round(A(e.SystemClockOffset)/1e3)-1,h=p,m=e.Expires||e.expires;h+=void 0===m?900:1*m||0;var g=n,y=o||p+";"+h,v=o||p+";"+h,C=d(c,!0).join(";").toLowerCase(),S=d(s,!0).join(";").toLowerCase(),b=i.HmacSHA1(v,r).toString(),T=[a,t,O.obj2str(s,!0),O.obj2str(c,!0),""].join("\n"),R=["sha1",y,i.SHA1(T).toString(),""].join("\n");return["q-sign-algorithm=sha1","q-ak="+g,"q-sign-time="+y,"q-key-time="+v,"q-header-list="+C,"q-url-param-list="+S,"q-signature="+i.HmacSHA1(R,b).toString()].join("&")},parseSelectPayload:function(e){for(var t={},n=m(e),r={records:[]};e.byteLength;){var o,i=h(e,32,0),a=h(e,32,4),s=i-a-16,c=0;for(e=e.slice(12);c1)for(var n=1;n=0))throw new I(A,new Error(e.tagName+"@"+n));for(var o=t.length-1;r"==e&&">")||"&"==e&&"&"||'"'==e&&"""||"&#"+e.charCodeAt()+";"}function j(e,t){if(t(e))return!0;if(e=e.firstChild)do{if(j(e,t))return!0}while(e=e.nextSibling)}function F(){this.ownerDocument=this}function K(e,t,n,r){e&&e._inc++,n.namespaceURI===i.XMLNS&&delete t._nsMap[n.prefix?n.localName:""]}function q(e,t,n){if(e&&e._inc){e._inc++;var r=t.childNodes;if(n)r[r.length++]=n;else{for(var o=t.firstChild,i=0;o;)r[i++]=o,o=o.nextSibling;r.length=i,delete r[r.length]}}}function z(e,t){var n=t.previousSibling,r=t.nextSibling;return n?n.nextSibling=r:e.firstChild=r,r?r.previousSibling=n:e.lastChild=n,t.parentNode=null,t.previousSibling=null,t.nextSibling=null,q(e.ownerDocument,e),t}function G(e){return e&&e.nodeType===H.DOCUMENT_TYPE_NODE}function V(e){return e&&e.nodeType===H.ELEMENT_NODE}function X(e){return e&&e.nodeType===H.TEXT_NODE}function W(e,t){var n=e.childNodes||[];if(o(n,V)||G(t))return!1;var r=o(n,G);return!(t&&r&&n.indexOf(r)>n.indexOf(t))}function Q(e,t){var n=e.childNodes||[];if(o(n,(function(e){return V(e)&&e!==t})))return!1;var r=o(n,G);return!(t&&r&&n.indexOf(r)>n.indexOf(t))}function J(e,t,n){if(!function(e){return e&&(e.nodeType===H.DOCUMENT_NODE||e.nodeType===H.DOCUMENT_FRAGMENT_NODE||e.nodeType===H.ELEMENT_NODE)}(e))throw new I(w,"Unexpected parent node type "+e.nodeType);if(n&&n.parentNode!==e)throw new I(A,"child not in parent");if(!function(e){return e&&(V(e)||X(e)||G(e)||e.nodeType===H.DOCUMENT_FRAGMENT_NODE||e.nodeType===H.COMMENT_NODE||e.nodeType===H.PROCESSING_INSTRUCTION_NODE)}(t)||G(t)&&e.nodeType!==H.DOCUMENT_NODE)throw new I(w,"Unexpected node type "+t.nodeType+" for parent node type "+e.nodeType)}function $(e,t,n){var r=e.childNodes||[],i=t.childNodes||[];if(t.nodeType===H.DOCUMENT_FRAGMENT_NODE){var a=i.filter(V);if(a.length>1||o(i,X))throw new I(w,"More than one element or text in fragment");if(1===a.length&&!W(e,n))throw new I(w,"Element in fragment can not be inserted before doctype")}if(V(t)&&!W(e,n))throw new I(w,"Only one element can be added and only after doctype");if(G(t)){if(o(r,G))throw new I(w,"Only one doctype is allowed");var s=o(r,V);if(n&&r.indexOf(s)1||o(i,X))throw new I(w,"More than one element or text in fragment");if(1===a.length&&!Q(e,n))throw new I(w,"Element in fragment can not be inserted before doctype")}if(V(t)&&!Q(e,n))throw new I(w,"Only one element can be added and only after doctype");if(G(t)){if(o(r,(function(e){return G(e)&&e!==n})))throw new I(w,"Only one doctype is allowed");var s=o(r,V);if(n&&r.indexOf(s)=0;T--){if(""===(R=o[T]).prefix&&R.namespace===e.namespaceURI){d=R.namespace;break}}if(d!==e.namespaceURI)for(T=o.length-1;T>=0;T--){var R;if((R=o[T]).namespace===e.namespaceURI){R.prefix&&(l=R.prefix+":"+u);break}}}t.push("<",l);for(var E=0;E"),n&&/^script$/i.test(u))for(;c;)c.data?t.push(c.data):ge(c,t,n,r,o.slice()),c=c.nextSibling;else for(;c;)ge(c,t,n,r,o.slice()),c=c.nextSibling;t.push("")}else t.push("/>");return;case k:case b:for(c=e.firstChild;c;)ge(c,t,n,r,o.slice()),c=c.nextSibling;return;case f:return me(t,e.name,e.value);case h:return t.push(e.data.replace(/[<&>]/g,L));case m:return t.push("");case C:return t.push("\x3c!--",e.data,"--\x3e");case S:var I=e.publicId,O=e.systemId;if(t.push("");else if(O&&"."!=O)t.push(" SYSTEM ",O,">");else{var B=e.internalSubset;B&&t.push(" [",B,"]"),t.push(">")}return;case v:return t.push("");case g:return t.push("&",e.nodeName,";");default:t.push("??",e.nodeName)}}function ye(e,t,n){var r;switch(t.nodeType){case p:(r=t.cloneNode(!1)).ownerDocument=e;case b:break;case f:n=!0}if(r||(r=t.cloneNode(!1)),r.ownerDocument=e,r.parentNode=null,n)for(var o=t.firstChild;o;)r.appendChild(ye(e,o,n)),o=o.nextSibling;return r}function ve(e,t,n){var r=new t.constructor;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var i=t[o];"object"!=typeof i&&i!=r[o]&&(r[o]=i)}switch(t.childNodes&&(r.childNodes=new O),r.ownerDocument=e,r.nodeType){case p:var a=t.attributes,s=r.attributes=new P,c=a.length;s._ownerElement=r;for(var u=0;u0},lookupPrefix:function(e){for(var t=this;t;){var n=t._nsMap;if(n)for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)&&n[r]===e)return r;t=t.nodeType==f?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){for(var t=this;t;){var n=t._nsMap;if(n&&Object.prototype.hasOwnProperty.call(n,e))return n[e];t=t.nodeType==f?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){return null==this.lookupPrefix(e)}},u(d,H),u(d,H.prototype),F.prototype={nodeName:"#document",nodeType:k,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType==b){for(var n=e.firstChild;n;){var r=n.nextSibling;this.insertBefore(n,t),n=r}return e}return Z(this,e,t),e.ownerDocument=this,null===this.documentElement&&e.nodeType===p&&(this.documentElement=e),e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),z(this,e)},replaceChild:function(e,t){Z(this,e,t,Y),e.ownerDocument=this,t&&this.removeChild(t),V(e)&&(this.documentElement=e)},importNode:function(e,t){return ye(this,e,t)},getElementById:function(e){var t=null;return j(this.documentElement,(function(n){if(n.nodeType==p&&n.getAttribute("id")==e)return t=n,!0})),t},getElementsByClassName:function(e){var t=c(e);return new B(this,(function(n){var r=[];return t.length>0&&j(n.documentElement,(function(o){if(o!==n&&o.nodeType===p){var i=o.getAttribute("class");if(i){var a=e===i;if(!a){var s=c(i);a=t.every((u=s,function(e){return u&&-1!==u.indexOf(e)}))}a&&r.push(o)}}var u})),r}))},createElement:function(e){var t=new ee;return t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.localName=e,t.childNodes=new O,(t.attributes=new P)._ownerElement=t,t},createDocumentFragment:function(){var e=new le;return e.ownerDocument=this,e.childNodes=new O,e},createTextNode:function(e){var t=new re;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new oe;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){var t=new ie;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var n=new de;return n.ownerDocument=this,n.tagName=n.target=e,n.nodeValue=n.data=t,n},createAttribute:function(e){var t=new te;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new ue;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var n=new ee,r=t.split(":"),o=n.attributes=new P;return n.childNodes=new O,n.ownerDocument=this,n.nodeName=t,n.tagName=t,n.namespaceURI=e,2==r.length?(n.prefix=r[0],n.localName=r[1]):n.localName=t,o._ownerElement=n,n},createAttributeNS:function(e,t){var n=new te,r=t.split(":");return n.ownerDocument=this,n.nodeName=t,n.name=t,n.namespaceURI=e,n.specified=!0,2==r.length?(n.prefix=r[0],n.localName=r[1]):n.localName=t,n}},l(F,H),ee.prototype={nodeType:p,hasAttribute:function(e){return null!=this.getAttributeNode(e)},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||""},getAttributeNode:function(e){return this.attributes.getNamedItem(e)},setAttribute:function(e,t){var n=this.ownerDocument.createAttribute(e);n.value=n.nodeValue=""+t,this.setAttributeNode(n)},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t)},appendChild:function(e){return e.nodeType===b?this.insertBefore(e,null):function(e,t){return t.parentNode&&t.parentNode.removeChild(t),t.parentNode=e,t.previousSibling=e.lastChild,t.nextSibling=null,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,e.lastChild=t,q(e.ownerDocument,e,t),t}(this,e)},setAttributeNode:function(e){return this.attributes.setNamedItem(e)},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e)},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName)},removeAttributeNS:function(e,t){var n=this.getAttributeNodeNS(e,t);n&&this.removeAttributeNode(n)},hasAttributeNS:function(e,t){return null!=this.getAttributeNodeNS(e,t)},getAttributeNS:function(e,t){var n=this.getAttributeNodeNS(e,t);return n&&n.value||""},setAttributeNS:function(e,t,n){var r=this.ownerDocument.createAttributeNS(e,t);r.value=r.nodeValue=""+n,this.setAttributeNode(r)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(e){return new B(this,(function(t){var n=[];return j(t,(function(r){r===t||r.nodeType!=p||"*"!==e&&r.tagName!=e||n.push(r)})),n}))},getElementsByTagNameNS:function(e,t){return new B(this,(function(n){var r=[];return j(n,(function(o){o===n||o.nodeType!==p||"*"!==e&&o.namespaceURI!==e||"*"!==t&&o.localName!=t||r.push(o)})),r}))}},F.prototype.getElementsByTagName=ee.prototype.getElementsByTagName,F.prototype.getElementsByTagNameNS=ee.prototype.getElementsByTagNameNS,l(ee,H),te.prototype.nodeType=f,l(te,H),ne.prototype={data:"",substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw new Error(E[w])},deleteData:function(e,t){this.replaceData(e,t,"")},replaceData:function(e,t,n){n=this.data.substring(0,e)+n+this.data.substring(e+t),this.nodeValue=this.data=n,this.length=n.length}},l(ne,H),re.prototype={nodeName:"#text",nodeType:h,splitText:function(e){var t=this.data,n=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var r=this.ownerDocument.createTextNode(n);return this.parentNode&&this.parentNode.insertBefore(r,this.nextSibling),r}},l(re,ne),oe.prototype={nodeName:"#comment",nodeType:C},l(oe,ne),ie.prototype={nodeName:"#cdata-section",nodeType:m},l(ie,ne),ae.prototype.nodeType=S,l(ae,H),se.prototype.nodeType=T,l(se,H),ce.prototype.nodeType=y,l(ce,H),ue.prototype.nodeType=g,l(ue,H),le.prototype.nodeName="#document-fragment",le.prototype.nodeType=b,l(le,H),de.prototype.nodeType=v,l(de,H),pe.prototype.serializeToString=function(e,t,n){return fe.call(e,t,n)},H.prototype.toString=fe;try{if(Object.defineProperty){function ke(e){switch(e.nodeType){case p:case b:var t=[];for(e=e.firstChild;e;)7!==e.nodeType&&8!==e.nodeType&&t.push(ke(e)),e=e.nextSibling;return t.join("");default:return e.nodeValue}}Object.defineProperty(B.prototype,"length",{get:function(){return _(this),this.$$length}}),Object.defineProperty(H.prototype,"textContent",{get:function(){return ke(this)},set:function(e){switch(this.nodeType){case p:case b:for(;this.firstChild;)this.removeChild(this.firstChild);(e||String(e))&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=e,this.nodeValue=e}}}),Ce=function(e,t,n){e["$$"+t]=n}}}catch(Se){}t.DocumentType=ae,t.DOMException=I,t.DOMImplementation=M,t.Element=ee,t.Node=H,t.NodeList=O,t.XMLSerializer=pe},function(e,t,n){var r=n(23),o=n(24),i=n(0),a=n(7),s=null,c=function(e){if(!s){var t=n(25);s=new t({appkey:"0AND0VEVB24UBGDU",versionCode:a.version,channelID:"js_sdk",openid:"openid",unionid:"unid",strictMode:!1,delay:e,sessionDuration:6e4})}return s},u=function(){var e=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)};return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},l=function(){if("object"===("undefined"==typeof navigator?"undefined":i(navigator))){var e=navigator.connection||navigator.mozConnection||navigator.webkitConnection;return(null==e?void 0:e.type)||(null==e?void 0:e.effectiveType)||"unknown"}return"unknown"},d=function(){if("object"!==("undefined"==typeof navigator?"undefined":i(navigator)))return"unknown os";var e=navigator.userAgent.toLowerCase(),t=/macintosh|mac os x/i.test(navigator.userAgent);return e.indexOf("win32")>=0||e.indexOf("wow32")>=0?"win32":e.indexOf("win64")>=0||e.indexOf("wow64")>=0?"win64":t?"mac":"unknown os"},p=function(){return!("object"!==("undefined"==typeof navigator?"undefined":i(navigator))||!navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))},f=function(){return!("object"!==("undefined"==typeof navigator?"undefined":i(navigator))||!navigator.userAgent.match(/(Android|Adr|Linux)/i))},h=function(){return!("object"!==("undefined"==typeof navigator?"undefined":i(navigator))||!navigator.userAgent.match(/(iPhone|iPod|iPad|iOS)/i))},m=function(){if("object"!==("undefined"==typeof navigator?"undefined":i(navigator)))return"unknown device";var e=navigator.userAgent.toLowerCase();if(e.includes("app/tencent_wemeet"))return"tencent_wemeet";if(e.indexOf("maxthon")>=0){var t=e.match(/maxthon\/([\d.]+)/),n=t&&t[1]||"";return"傲游浏览器 ".concat(n).trim()}if(e.indexOf("qqbrowser")>=0){var r=e.match(/qqbrowser\/([\d.]+)/),o=r&&r[1]||"";return"QQ浏览器 ".concat(o).trim()}if(e.indexOf("se 2.x")>=0)return"搜狗浏览器";if(e.indexOf("wxwork")>=0)return"微信内置浏览器";if(e.indexOf("msie")>=0){var a=e.match(/msie ([\d.]+)/),s=a&&a[1]||"";return"IE ".concat(s).trim()}if(e.indexOf("firefox")>=0){var c=e.match(/firefox\/([\d.]+)/),u=c&&c[1]||"";return"Firefox ".concat(u).trim()}if(e.indexOf("chrome")>=0){var l=e.match(/chrome\/([\d.]+)/),d=l&&l[1]||"";return"Chrome ".concat(d).trim()}if(e.indexOf("opera")>=0){var p=e.match(/opera.([\d.]+)/),f=p&&p[1]||"";return"Opera ".concat(f).trim()}if(e.indexOf("safari")>=0){var h=e.match(/version\/([\d.]+)/),m=h&&h[1]||"";return"Safari ".concat(m).trim()}if(e.indexOf("edge")>=0){var g=e.match(/edge\/([\d.]+)/),y=g&&g[1]||"";return"edge ".concat(y).trim()}return e.substr(0,200)},g={isMobile:p(),isBrowser:!p(),mobileOsType:f()?"android":h?"ios":"other_mobile",pcOsType:d()},y={deviceType:g.isMobile?"mobile":g.isBrowser?"browser":"unknown",devicePlatform:g.isMobile?g.mobileOsType:g.pcOsType,deviceName:m()},v=["multipartInit","multipartUpload","multipartComplete","multipartList","multipartListPart","multipartAbort"],C=["putObject","postObject","appendObject","sliceUploadFile","uploadFile","uploadFiles"].concat(v),k=["getObject"];function S(e){return e.replace(/([A-Z])/g,"_$1").toLowerCase()}var b=function(){"use strict";function e(t){r(this,e);var n=t.parent,o=t.traceId,i=t.bucket,s=t.region,l=t.apiName,d=t.fileKey,p=t.fileSize,f=t.accelerate,h=t.customId,m=t.delay,g=t.deepTracker,v=i&&i.substr(i.lastIndexOf("-")+1)||"";this.parent=n,this.deepTracker=g,this.delay=m,this.params={cossdkVersion:a.version,region:s,networkType:"",host:"",accelerate:f?"Y":"N",requestPath:d||"",size:p||-1,httpMd5:0,httpSign:0,httpFull:0,name:l||"",result:"",tookTime:0,errorNode:"",errorCode:"",errorMessage:"",errorRequestId:"",errorStatusCode:0,errorServiceName:"",tracePlatform:"cos-js-sdk-v5",traceId:o||u(),bucket:i,appid:v,partNumber:0,retryTimes:0,reqUrl:"",customId:h||"",deviceType:y.deviceType,devicePlatform:y.devicePlatform,deviceName:y.deviceName,md5StartTime:0,md5EndTime:0,signStartTime:0,signEndTime:0,httpStartTime:0,httpEndTime:0,startTime:(new Date).getTime(),endTime:0},this.beacon=c(m)}return o(e,[{key:"formatResult",value:function(e,t){var n,r,o,i,a,s,c=(new Date).getTime()-this.params.startTime,u=l(),d=e?(null==e?void 0:e.code)||(null==e||null===(n=e.error)||void 0===n?void 0:n.code)||(null==e||null===(r=e.error)||void 0===r?void 0:r.Code):"",p=e?(null==e?void 0:e.message)||(null==e||null===(o=e.error)||void 0===o?void 0:o.message)||(null==e||null===(i=e.error)||void 0===i?void 0:i.Message):"",f=e?(null==e?void 0:e.resource)||(null==e||null===(a=e.error)||void 0===a?void 0:a.resource)||(null==e||null===(s=e.error)||void 0===s?void 0:s.Resource):"",h=e?null==e?void 0:e.statusCode:t.statusCode,m=e?(null==e?void 0:e.headers)&&(null==e?void 0:e.headers["x-cos-request-id"]):(null==t?void 0:t.headers)&&(null==t?void 0:t.headers["x-cos-request-id"]),g=e?m?"Server":"Client":"";if(Object.assign(this.params,{tookTime:c,networkType:u,httpMd5:this.params.md5EndTime-this.params.md5StartTime,httpSign:this.params.signEndTime-this.params.signStartTime,httpFull:this.params.httpEndTime-this.params.httpStartTime,result:e?"Fail":"Success",errorType:g,errorCode:d,errorStatusCode:h,errorMessage:p,errorServiceName:f,errorRequestId:m}),!e||d&&p||(this.params.fullError=e?JSON.stringify(e):""),"getObject"===this.params.name&&(this.params.size=t?t.headers&&t.headers["content-length"]:-1),this.params.reqUrl)try{var y=/^http(s)?:\/\/(.*?)\//.exec(this.params.reqUrl);this.params.host=y[2]}catch(e){this.params.host=this.params.reqUrl}this.sendEvents()}},{key:"setParams",value:function(e){Object.assign(this.params,e)}},{key:"sendEvents",value:function(){if(!v.includes(this.params.name)||this.deepTracker){var e,t=(e=this.params.name,C.includes(e)?"cos_upload":k.includes(e)?"cos_download":"base_service"),n=function(e){var t={},n="Success"===e.result?["tracePlatform","cossdkVersion","region","bucket","appid","networkType","host","accelerate","requestPath","partNumber","size","name","result","tookTime","errorRequestId","retryTimes","reqUrl","customId","deviceType","devicePlatform","deviceName"]:["tracePlatform","cossdkVersion","region","networkType","host","accelerate","requestPath","size","httpMd5","httpSign","httpFull","name","result","tookTime","errorNode","errorCode","errorMessage","errorRequestId","errorStatusCode","errorServiceName","errorType","traceId","bucket","appid","partNumber","retryTimes","reqUrl","customId","fullError","deviceType","devicePlatform","deviceName"];for(var r in e)n.includes(r)&&(t[S(r)]=e[r]);return t}(this.params);this.beacon||(this.beacon=c(this.delay||5e3)),0===this.delay?this.beacon&&this.beacon.onDirectUserAction(t,n):this.beacon&&this.beacon.onUserAction(t,n)}}},{key:"generateSubTracker",value:function(t){return Object.assign(t,{parent:this,deepTracker:this.deepTracker,traceId:this.params.traceId,bucket:this.params.bucket,region:this.params.region,fileKey:this.params.requestPath,customId:this.params.customId,delay:this.delay}),new e(t)}}]),e}();e.exports=b},function(e){e.exports=JSON.parse('{"name":"cos-js-sdk-v5","version":"1.4.19","description":"JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)","main":"dist/cos-js-sdk-v5.js","types":"index.d.ts","scripts":{"prettier":"prettier --write src demo/demo.js test/test.js server/sts.js index.d.ts","server":"node server/sts.js","dev":"cross-env NODE_ENV=development webpack -w --mode=development","build":"cross-env NODE_ENV=production webpack --mode=production","cos-auth.min.js":"uglifyjs ./demo/common/cos-auth.js -o ./demo/common/cos-auth.min.js -c -m","test":"jest --runInBand --coverage"},"repository":{"type":"git","url":"git+https://github.com/tencentyun/cos-js-sdk-v5.git"},"keywords":[],"author":"carsonxu","license":"ISC","bugs":{"url":"https://github.com/tencentyun/cos-js-sdk-v5/issues"},"homepage":"https://github.com/tencentyun/cos-js-sdk-v5#readme","dependencies":{"@xmldom/xmldom":"^0.8.6"},"devDependencies":{"@babel/core":"7.17.9","@babel/plugin-transform-runtime":"7.18.10","@babel/preset-env":"7.16.11","babel-loader":"8.2.5","body-parser":"^1.18.3","cross-env":"^5.2.0","express":"^4.16.4","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","prettier":"^3.0.1","qcloud-cos-sts":"^3.0.2","request":"^2.87.0","terser-webpack-plugin":"4.2.3","uglifyjs":"^2.4.11","webpack":"4.46.0","webpack-cli":"4.10.0"}}')},function(e,t){var n=function(e){var t={},n=function(e){return!t[e]&&(t[e]=[]),t[e]};e.on=function(e,t){n(e).push(t)},e.off=function(e,t){for(var r=n(e),o=r.length-1;o>=0;o--)t===r[o]&&r.splice(o,1)},e.emit=function(e,t){for(var r=n(e).map((function(e){return e})),o=0;o=0;n--){var o=r[n][2];(!o||o+2592e3=0;o--){var i=r[o];i[0]===e&&i[1]===t&&r.splice(o,1)}r.unshift([e,t,Math.round(Date.now()/1e3)]),r.length>n&&r.splice(n),l()}},removeUploadId:function(e){u.call(this),delete d.using[e];for(var t=r.length-1;t>=0;t--)r[t][1]===e&&r.splice(t,1);l()}};e.exports=d},function(e,t,n){var r=n(11);e.exports=r},function(e,t,n){"use strict";var r=n(1),o=n(8),i=n(26),a=n(27),s=n(29),c=n(7),u={AppId:"",SecretId:"",SecretKey:"",SecurityToken:"",ChunkRetryTimes:2,FileParallelLimit:3,ChunkParallelLimit:3,ChunkSize:1048576,SliceSize:1048576,CopyChunkParallelLimit:20,CopyChunkSize:10485760,CopySliceSize:10485760,MaxPartNumber:1e4,ProgressInterval:1e3,Domain:"",ServiceDomain:"",Protocol:"",CompatibilityMode:!1,ForcePathStyle:!1,UseRawKey:!1,Timeout:0,CorrectClockSkew:!0,SystemClockOffset:0,UploadCheckContentMd5:!1,UploadQueueSize:1e4,UploadAddMetaMd5:!1,UploadIdCacheLimit:50,UseAccelerate:!1,ForceSignHost:!0,EnableTracker:!1,DeepTracker:!1,TrackerDelay:5e3,CustomId:""},l=function(e){this.options=r.extend(r.clone(u),e||{}),this.options.FileParallelLimit=Math.max(1,this.options.FileParallelLimit),this.options.ChunkParallelLimit=Math.max(1,this.options.ChunkParallelLimit),this.options.ChunkRetryTimes=Math.max(0,this.options.ChunkRetryTimes),this.options.ChunkSize=Math.max(1048576,this.options.ChunkSize),this.options.CopyChunkParallelLimit=Math.max(1,this.options.CopyChunkParallelLimit),this.options.CopyChunkSize=Math.max(1048576,this.options.CopyChunkSize),this.options.CopySliceSize=Math.max(0,this.options.CopySliceSize),this.options.MaxPartNumber=Math.max(1024,Math.min(1e4,this.options.MaxPartNumber)),this.options.Timeout=Math.max(0,this.options.Timeout),this.options.AppId,this.options.SecretId&&this.options.SecretId.indexOf(" "),this.options.SecretKey&&this.options.SecretKey.indexOf(" "),r.isNode(),o.init(this),i.init(this)};a.init(l,i),s.init(l,i),l.util={md5:r.md5,xml2json:r.xml2json,json2xml:r.json2xml,encodeBase64:r.encodeBase64},l.getAuthorization=r.getAuth,l.version=c.version,e.exports=l},function(module,exports,__webpack_require__){(function(process,global,module){var __WEBPACK_AMD_DEFINE_RESULT__,_typeof=__webpack_require__(0);(function(){"use strict";var ERROR="input is invalid type",WINDOW="object"===("undefined"==typeof window?"undefined":_typeof(window)),root=WINDOW?window:{};root.JS_MD5_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&"object"===("undefined"==typeof self?"undefined":_typeof(self)),NODE_JS=!root.JS_MD5_NO_NODE_JS&&"object"===(void 0===process?"undefined":_typeof(process))&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&"object"===_typeof(module)&&module.exports,AMD=__webpack_require__(14),ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,HEX_CHARS="0123456789abcdef".split(""),EXTRA=[128,32768,8388608,-2147483648],SHIFT=[0,8,16,24],OUTPUT_TYPES=["hex","array","digest","buffer","arrayBuffer","base64"],BASE64_ENCODE_CHAR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer),blocks=new Uint32Array(buffer)}!root.JS_MD5_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!ARRAY_BUFFER||!root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"===_typeof(e)&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e){return function(t,n){return new Md5(!0).update(t,n)[e]()}},createMethod=function(){var e=createOutputMethod("hex");NODE_JS&&(e=nodeWrap(e)),e.getCtx=e.create=function(){return new Md5},e.update=function(t){return e.create().update(t)};for(var t=0;t>6,s[r++]=128|63&n):n<55296||n>=57344?(s[r++]=224|n>>12,s[r++]=128|n>>6&63,s[r++]=128|63&n):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++o)),s[r++]=240|n>>18,s[r++]=128|n>>12&63,s[r++]=128|n>>6&63,s[r++]=128|63&n);else for(r=this.start;o>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(a[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=64?(this.start=r-64,this.hash(),this.hashed=!0):this.start=r}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Md5.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[t>>2]|=EXTRA[3&t],t>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},Md5.prototype.hash=function(){var e,t,n,r,o,i,a=this.blocks;this.first?t=((t=((e=((e=a[0]-680876937)<<7|e>>>25)-271733879<<0)^(n=((n=(-271733879^(r=((r=(-1732584194^2004318071&e)+a[1]-117830708)<<12|r>>>20)+e<<0)&(-271733879^e))+a[2]-1126478375)<<17|n>>>15)+r<<0)&(r^e))+a[3]-1316259209)<<22|t>>>10)+n<<0:(e=this.h0,t=this.h1,n=this.h2,t=((t+=((e=((e+=((r=this.h3)^t&(n^r))+a[0]-680876936)<<7|e>>>25)+t<<0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+a[1]-389564586)<<12|r>>>20)+e<<0)&(e^t))+a[2]+606105819)<<17|n>>>15)+r<<0)&(r^e))+a[3]-1044525330)<<22|t>>>10)+n<<0),t=((t+=((e=((e+=(r^t&(n^r))+a[4]-176418897)<<7|e>>>25)+t<<0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+a[5]+1200080426)<<12|r>>>20)+e<<0)&(e^t))+a[6]-1473231341)<<17|n>>>15)+r<<0)&(r^e))+a[7]-45705983)<<22|t>>>10)+n<<0,t=((t+=((e=((e+=(r^t&(n^r))+a[8]+1770035416)<<7|e>>>25)+t<<0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+a[9]-1958414417)<<12|r>>>20)+e<<0)&(e^t))+a[10]-42063)<<17|n>>>15)+r<<0)&(r^e))+a[11]-1990404162)<<22|t>>>10)+n<<0,t=((t+=((e=((e+=(r^t&(n^r))+a[12]+1804603682)<<7|e>>>25)+t<<0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+a[13]-40341101)<<12|r>>>20)+e<<0)&(e^t))+a[14]-1502002290)<<17|n>>>15)+r<<0)&(r^e))+a[15]+1236535329)<<22|t>>>10)+n<<0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+a[1]-165796510)<<5|e>>>27)+t<<0)^t))+a[6]-1069501632)<<9|r>>>23)+e<<0)^e&((n=((n+=(e^t&(r^e))+a[11]+643717713)<<14|n>>>18)+r<<0)^r))+a[0]-373897302)<<20|t>>>12)+n<<0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+a[5]-701558691)<<5|e>>>27)+t<<0)^t))+a[10]+38016083)<<9|r>>>23)+e<<0)^e&((n=((n+=(e^t&(r^e))+a[15]-660478335)<<14|n>>>18)+r<<0)^r))+a[4]-405537848)<<20|t>>>12)+n<<0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+a[9]+568446438)<<5|e>>>27)+t<<0)^t))+a[14]-1019803690)<<9|r>>>23)+e<<0)^e&((n=((n+=(e^t&(r^e))+a[3]-187363961)<<14|n>>>18)+r<<0)^r))+a[8]+1163531501)<<20|t>>>12)+n<<0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+a[13]-1444681467)<<5|e>>>27)+t<<0)^t))+a[2]-51403784)<<9|r>>>23)+e<<0)^e&((n=((n+=(e^t&(r^e))+a[7]+1735328473)<<14|n>>>18)+r<<0)^r))+a[12]-1926607734)<<20|t>>>12)+n<<0,t=((t+=((i=(r=((r+=((o=t^n)^(e=((e+=(o^r)+a[5]-378558)<<4|e>>>28)+t<<0))+a[8]-2022574463)<<11|r>>>21)+e<<0)^e)^(n=((n+=(i^t)+a[11]+1839030562)<<16|n>>>16)+r<<0))+a[14]-35309556)<<23|t>>>9)+n<<0,t=((t+=((i=(r=((r+=((o=t^n)^(e=((e+=(o^r)+a[1]-1530992060)<<4|e>>>28)+t<<0))+a[4]+1272893353)<<11|r>>>21)+e<<0)^e)^(n=((n+=(i^t)+a[7]-155497632)<<16|n>>>16)+r<<0))+a[10]-1094730640)<<23|t>>>9)+n<<0,t=((t+=((i=(r=((r+=((o=t^n)^(e=((e+=(o^r)+a[13]+681279174)<<4|e>>>28)+t<<0))+a[0]-358537222)<<11|r>>>21)+e<<0)^e)^(n=((n+=(i^t)+a[3]-722521979)<<16|n>>>16)+r<<0))+a[6]+76029189)<<23|t>>>9)+n<<0,t=((t+=((i=(r=((r+=((o=t^n)^(e=((e+=(o^r)+a[9]-640364487)<<4|e>>>28)+t<<0))+a[12]-421815835)<<11|r>>>21)+e<<0)^e)^(n=((n+=(i^t)+a[15]+530742520)<<16|n>>>16)+r<<0))+a[2]-995338651)<<23|t>>>9)+n<<0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+a[0]-198630844)<<6|e>>>26)+t<<0)|~n))+a[7]+1126891415)<<10|r>>>22)+e<<0)^((n=((n+=(e^(r|~t))+a[14]-1416354905)<<15|n>>>17)+r<<0)|~e))+a[5]-57434055)<<21|t>>>11)+n<<0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+a[12]+1700485571)<<6|e>>>26)+t<<0)|~n))+a[3]-1894986606)<<10|r>>>22)+e<<0)^((n=((n+=(e^(r|~t))+a[10]-1051523)<<15|n>>>17)+r<<0)|~e))+a[1]-2054922799)<<21|t>>>11)+n<<0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+a[8]+1873313359)<<6|e>>>26)+t<<0)|~n))+a[15]-30611744)<<10|r>>>22)+e<<0)^((n=((n+=(e^(r|~t))+a[6]-1560198380)<<15|n>>>17)+r<<0)|~e))+a[13]+1309151649)<<21|t>>>11)+n<<0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+a[4]-145523070)<<6|e>>>26)+t<<0)|~n))+a[11]-1120210379)<<10|r>>>22)+e<<0)^((n=((n+=(e^(r|~t))+a[2]+718787259)<<15|n>>>17)+r<<0)|~e))+a[9]-343485551)<<21|t>>>11)+n<<0,this.first?(this.h0=e+1732584193<<0,this.h1=t-271733879<<0,this.h2=n-1732584194<<0,this.h3=r+271733878<<0,this.first=!1):(this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+n<<0,this.h3=this.h3+r<<0)},Md5.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3;return HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]},Md5.prototype.toString=Md5.prototype.hex,Md5.prototype.digest=function(e){if("hex"===e)return this.hex();this.finalize();var t=this.h0,n=this.h1,r=this.h2,o=this.h3;return[255&t,t>>8&255,t>>16&255,t>>24&255,255&n,n>>8&255,n>>16&255,n>>24&255,255&r,r>>8&255,r>>16&255,r>>24&255,255&o,o>>8&255,o>>16&255,o>>24&255]},Md5.prototype.array=Md5.prototype.digest,Md5.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),t=new Uint32Array(e);return t[0]=this.h0,t[1]=this.h1,t[2]=this.h2,t[3]=this.h3,e},Md5.prototype.buffer=Md5.prototype.arrayBuffer,Md5.prototype.base64=function(){for(var e,t,n,r="",o=this.array(),i=0;i<15;)e=o[i++],t=o[i++],n=o[i++],r+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[63&(e<<4|t>>>4)]+BASE64_ENCODE_CHAR[63&(t<<2|n>>>6)]+BASE64_ENCODE_CHAR[63&n];return e=o[i],r+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[e<<4&63]+"=="};var exports=createMethod();COMMON_JS?module.exports=exports:(root.md5=exports,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))})()}).call(this,__webpack_require__(3),__webpack_require__(13),__webpack_require__(4)(module))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){(function(t){e.exports=t}).call(this,{})},function(e,t,n){(function(e){var t,r,o,i,a,s,c,u=n(0),l=l||function(e,t){var n={},r=n.lib={},o=function(){},i=r.Base={extend:function(e){o.prototype=this;var t=new o;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},a=r.WordArray=i.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes;if(e=e.sigBytes,this.clamp(),r%4)for(var o=0;o>>2]|=(n[o>>>2]>>>24-o%4*8&255)<<24-(r+o)%4*8;else if(65535>>2]=n[o>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new a.init(n,t/2)}},u=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new a.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},d=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,o=n.sigBytes,i=this.blockSize,s=o/(4*i);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*i,o=e.min(4*t,o),t){for(var c=0;cu;u++){if(16>u)i[u]=0|e[t+u];else{var l=i[u-3]^i[u-8]^i[u-14]^i[u-16];i[u]=l<<1|l>>>31}l=(r<<5|r>>>27)+c+i[u],l=20>u?l+(1518500249+(o&a|~o&s)):40>u?l+(1859775393+(o^a^s)):60>u?l+((o&a|o&s|a&s)-1894007588):l+((o^a^s)-899497514),c=s,s=a,a=o<<30|o>>>2,o=r,r=l}n[0]=n[0]+r|0,n[1]=n[1]+o|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+c|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA1=o._createHelper(a),t.HmacSHA1=o._createHmacHelper(a),function(){var e=l,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,n){e=this._hasher=new e.init,"string"==typeof n&&(n=t.parse(n));var r=e.blockSize,o=4*r;n.sigBytes>o&&(n=e.finalize(n)),n.clamp();for(var i=this._oKey=n.clone(),a=this._iKey=n.clone(),s=i.words,c=a.words,u=0;u>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;s<4&&i+.75*s>>6*(3-s)&63));var c=r.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(e){var t=e.length,n=this._map,r=n.charAt(64);if(r){var o=e.indexOf(r);-1!=o&&(t=o)}for(var i=[],a=0,s=0;s>>6-s%4*2;i[a>>>2]|=(u|l)<<24-a%4*8,a++}return c.create(i,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},"object"===u(e)?e.exports=l:window.CryptoJS=l}).call(this,n(4)(e))},function(e,t,n){var r=n(17).DOMParser,o=function(){this.version="1.3.5";var e={mergeCDATA:!0,normalize:!0,stripElemPrefix:!0},t=new RegExp(/(?!xmlns)^.*:/);new RegExp(/^\s+|\s+$/g);return this.grokType=function(e){return/^\s*$/.test(e)?null:/^(?:true|false)$/i.test(e)?"true"===e.toLowerCase():isFinite(e)?parseFloat(e):e},this.parseString=function(e,t){if(e){var n=this.stringToXML(e);return n.getElementsByTagName("parsererror").length?null:this.parseXML(n,t)}return null},this.parseXML=function(n,r){for(var i in r)e[i]=r[i];var a={},s=0,c="";if(n.childNodes.length)for(var u,l,d,p=0;p=t+n||t?new java.lang.String(e,t,n)+"":e}function g(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}p.prototype.parseFromString=function(e,t){var n=this.options,r=new l,o=n.domBuilder||new f,a=n.errorHandler,s=n.locator,u=n.xmlns||{},p=/\/x?html?$/.test(t),h=p?i.HTML_ENTITIES:i.XML_ENTITIES;s&&o.setDocumentLocator(s),r.errorHandler=function(e,t,n){if(!e){if(t instanceof f)return t;e=t}var r={},o=e instanceof Function;function i(t){var i=e[t];!i&&o&&(i=2==e.length?function(n){e(t,n)}:e),r[t]=i&&function(e){i("[xmldom "+t+"]\t"+e+function(e){if(e)return"\n@"+(e.systemId||"")+"#[line:"+e.lineNumber+",col:"+e.columnNumber+"]"}(n))}||function(){}}return n=n||{},i("warning"),i("error"),i("fatalError"),r}(a,o,s),r.domBuilder=n.domBuilder||o,p&&(u[""]=c.HTML),u.xml=u.xml||c.XML;var m=n.normalizeLineEndings||d;return e&&"string"==typeof e?r.parse(m(e),u,h):r.errorHandler.error("invalid doc source"),o.doc},f.prototype={startDocument:function(){this.doc=(new s).createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(e,t,n,r){var o=this.doc,i=o.createElementNS(e,n||t),a=r.length;g(this,i),this.currentElement=i,this.locator&&h(this.locator,i);for(var s=0;s",lt:"<",quot:'"'}),t.HTML_ENTITIES=r({lt:"<",gt:">",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"}),t.entityMap=t.HTML_ENTITIES},function(e,t,n){var r=n(2).NAMESPACE,o=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,i=new RegExp("[\\-\\.0-9"+o.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),a=new RegExp("^"+o.source+i.source+"*(?::"+o.source+i.source+"*)?$"),s=0,c=1,u=2,l=3,d=4,p=5,f=6,h=7;function m(e,t){this.message=e,this.locator=t,Error.captureStackTrace&&Error.captureStackTrace(this,m)}function g(){}function y(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t}function v(e,t,n,o,i,a){function m(e,t,r){n.attributeNames.hasOwnProperty(e)&&a.fatalError("Attribute "+e+" redefined"),n.addValue(e,t.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,i),r)}for(var g,y=++t,v=s;;){var C=e.charAt(y);switch(C){case"=":if(v===c)g=e.slice(t,y),v=l;else{if(v!==u)throw new Error("attribute equal must after attrName");v=l}break;case"'":case'"':if(v===l||v===c){if(v===c&&(a.warning('attribute value must after "="'),g=e.slice(t,y)),t=y+1,!((y=e.indexOf(C,t))>0))throw new Error("attribute value no end '"+C+"' match");m(g,k=e.slice(t,y),t-1),v=p}else{if(v!=d)throw new Error('attribute value must after "="');m(g,k=e.slice(t,y),t),a.warning('attribute "'+g+'" missed start quot('+C+")!!"),t=y+1,v=p}break;case"/":switch(v){case s:n.setTagName(e.slice(t,y));case p:case f:case h:v=h,n.closed=!0;case d:case c:case u:break;default:throw new Error("attribute invalid close char('/')")}break;case"":return a.error("unexpected end of input"),v==s&&n.setTagName(e.slice(t,y)),y;case">":switch(v){case s:n.setTagName(e.slice(t,y));case p:case f:case h:break;case d:case c:"/"===(k=e.slice(t,y)).slice(-1)&&(n.closed=!0,k=k.slice(0,-1));case u:v===u&&(k=g),v==d?(a.warning('attribute "'+k+'" missed quot(")!'),m(g,k,t)):(r.isHTML(o[""])&&k.match(/^(?:disabled|checked|selected)$/i)||a.warning('attribute "'+k+'" missed value!! "'+k+'" instead!!'),m(k,k,t));break;case l:throw new Error("attribute value missed!!")}return y;case"€":C=" ";default:if(C<=" ")switch(v){case s:n.setTagName(e.slice(t,y)),v=f;break;case c:g=e.slice(t,y),v=u;break;case d:var k=e.slice(t,y);a.warning('attribute "'+k+'" missed quot(")!!'),m(g,k,t);case p:v=f}else switch(v){case u:n.tagName;r.isHTML(o[""])&&g.match(/^(?:disabled|checked|selected)$/i)||a.warning('attribute "'+g+'" missed value!! "'+g+'" instead2!!'),m(g,g,t),t=y,v=c;break;case p:a.warning('attribute space is required"'+g+'"!!');case f:v=c,t=y;break;case l:v=d,t=y;break;case h:throw new Error("elements closed character '/' and '>' must be connected to")}}y++}}function C(e,t,n){for(var o=e.tagName,i=null,a=e.length;a--;){var s=e[a],c=s.qName,u=s.value;if((f=c.indexOf(":"))>0)var l=s.prefix=c.slice(0,f),d=c.slice(f+1),p="xmlns"===l&&d;else d=c,l=null,p="xmlns"===c&&"";s.localName=d,!1!==p&&(null==i&&(i={},b(n,n={})),n[p]=i[p]=u,s.uri=r.XMLNS,t.startPrefixMapping(p,u))}for(a=e.length;a--;){(l=(s=e[a]).prefix)&&("xml"===l&&(s.uri=r.XML),"xmlns"!==l&&(s.uri=n[l||""]))}var f;(f=o.indexOf(":"))>0?(l=e.prefix=o.slice(0,f),d=e.localName=o.slice(f+1)):(l=null,d=e.localName=o);var h=e.uri=n[l||""];if(t.startElement(h,d,o,e),!e.closed)return e.currentNSMap=n,e.localNSMap=i,!0;if(t.endElement(h,d,o),i)for(l in i)Object.prototype.hasOwnProperty.call(i,l)&&t.endPrefixMapping(l)}function k(e,t,n,r,o){if(/^(?:script|textarea)$/i.test(n)){var i=e.indexOf("",t),a=e.substring(t+1,i);if(/[&<]/.test(a))return/^script$/i.test(n)?(o.characters(a,0,a.length),i):(a=a.replace(/&#?\w+;/g,r),o.characters(a,0,a.length),i)}return t+1}function S(e,t,n,r){var o=r[n];return null==o&&((o=e.lastIndexOf(""))t?(n.comment(e,t+4,o-t-4),o+3):(r.error("Unclosed comment"),-1):-1;if("CDATA["==e.substr(t+3,6)){var o=e.indexOf("]]>",t+9);return n.startCDATA(),n.characters(e,t+9,o-t-9),n.endCDATA(),o+3}var i=function(e,t){var n,r=[],o=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;o.lastIndex=t,o.exec(e);for(;n=o.exec(e);)if(r.push(n),n[1])return r}(e,t),a=i.length;if(a>1&&/!doctype/i.test(i[0][0])){var s=i[1][0],c=!1,u=!1;a>3&&(/^public$/i.test(i[2][0])?(c=i[3][0],u=a>4&&i[4][0]):/^system$/i.test(i[2][0])&&(u=i[3][0]));var l=i[a-1];return n.startDTD(s,c,u),n.endDTD(),l.index+l[0].length}return-1}function R(e,t,n){var r=e.indexOf("?>",t);if(r){var o=e.substring(t,r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(o){o[0].length;return n.processingInstruction(o[1],o[2]),r+2}return-1}return-1}function E(){this.attributeNames={}}m.prototype=new Error,m.prototype.name=m.name,g.prototype={parse:function(e,t,n){var o=this.domBuilder;o.startDocument(),b(t,t={}),function(e,t,n,o,i){function a(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}function s(e){var t=e.slice(1,-1);return Object.hasOwnProperty.call(n,t)?n[t]:"#"===t.charAt(0)?a(parseInt(t.substr(1).replace("x","0x"))):(i.error("entity not found:"+e),e)}function c(t){if(t>b){var n=e.substring(b,t).replace(/&#?\w+;/g,s);f&&u(b),o.characters(n,0,t-b),b=t}}function u(t,n){for(;t>=d&&(n=p.exec(e));)l=n.index,d=l+n[0].length,f.lineNumber++;f.columnNumber=t-l+1}var l=0,d=0,p=/.*(?:\r\n?|\n)|.*$/g,f=o.locator,h=[{currentNSMap:t}],g={},b=0;for(;;){try{var w=e.indexOf("<",b);if(w<0){if(!e.substr(b).match(/^\s*$/)){var A=o.doc,x=A.createTextNode(e.substr(b));A.appendChild(x),o.currentElement=x}return}switch(w>b&&c(w),e.charAt(w+1)){case"/":var I=e.indexOf(">",w+3),O=e.substring(w+2,I).replace(/[ \t\n\r]+$/g,""),B=h.pop();I<0?(O=e.substring(w+2).replace(/[\s<].*/,""),i.error("end tag name: "+O+" is not complete:"+B.tagName),I=w+1+O.length):O.match(/\sb?b=I:c(Math.max(w,b)+1)}}(e,t,n,o,this.errorHandler),o.endDocument()}},E.prototype={setTagName:function(e){if(!a.test(e))throw new Error("invalid tagName:"+e);this.tagName=e},addValue:function(e,t,n){if(!a.test(e))throw new Error("invalid attribute:"+e);this.attributeNames[e]=this.length,this[this.length++]={qName:e,value:t,offset:n}},length:0,getLocalName:function(e){return this[e].localName},getLocator:function(e){return this[e].locator},getQName:function(e){return this[e].qName},getURI:function(e){return this[e].uri},getValue:function(e){return this[e].value}},t.XMLReader=g,t.ParseError=m},function(e,t,n){var r=n(0),o="a-zA-Z_À-ÖØ-öø-ÿͰ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿿、-퟿豈-﷏ﷰ-�",i=new RegExp("^([^"+o+"])|^((x|X)(m|M)(l|L))|([^"+o+"-.0-9·̀-ͯ‿⁀])","g"),a=/[^\x09\x0A\x0D\x20-\xFF\x85\xA0-\uD7FF\uE000-\uFDCF\uFDE0-\uFFFD]/gm,s=function(e){var t=[];if(e instanceof Object)for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t},c=function(e,t){var n=function(e,n,r,o,a){var s=void 0!==t.indent?t.indent:"\t",c=t.prettyPrint?"\n"+new Array(o).join(s):"";t.removeIllegalNameCharacters&&(e=e.replace(i,"_"));var u=[c,"<",e,r||""];return n&&n.length>0?(u.push(">"),u.push(n),a&&u.push(c),u.push("")):u.push("/>"),u.join("")};return function e(o,i,c){var u=r(o);switch((Array.isArray?Array.isArray(o):o instanceof Array)?u="array":o instanceof Date&&(u="date"),u){case"array":var l=[];return o.map((function(t){l.push(e(t,1,c+1))})),t.prettyPrint&&l.push("\n"),l.join("");case"date":return o.toJSON?o.toJSON():o+"";case"object":var d=[];for(var p in o)if(o.hasOwnProperty(p))if(o[p]instanceof Array)for(var f=0;f0&&d.push("\n"),d.join("");case"function":return o();default:return t.escape?(""+o).replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""").replace(a,""):""+o}}(e,0,0)},u=function(e){var t=['"),t.join("")};e.exports=function(e,t){if(t||(t={xmlHeader:{standalone:!0},prettyPrint:!0,indent:" ",escape:!0}),"string"==typeof e)try{e=JSON.parse(e.toString())}catch(e){return!1}var n="",o="";return t&&("object"==r(t)?(t.xmlHeader&&(n=u(!!t.xmlHeader.standalone)),void 0!==t.docType&&(o="")):n=u()),[n,(t=t||{}).prettyPrint&&o?"\n":"",o,c(e,t)].join("").replace(/\n{2,}/g,"\n").replace(/\s+$/g,"")}},function(e,t){var n=function(e){var t=(e=e||{}).Base64,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=function(e){for(var t={},n=0,r=e.length;n>>6)+o(128|63&t):o(224|t>>>12&15)+o(128|t>>>6&63)+o(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return o(240|t>>>18&7)+o(128|t>>>12&63)+o(128|t>>>6&63)+o(128|63&t)},a=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,s=function(e){return e.replace(a,i)},c=function(e){var t=[0,2,1][e.length%3],r=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0);return[n.charAt(r>>>18),n.charAt(r>>>12&63),t>=2?"=":n.charAt(r>>>6&63),t>=1?"=":n.charAt(63&r)].join("")},u=e.btoa?function(t){return e.btoa(t)}:function(e){return e.replace(/[\s\S]{1,3}/g,c)},l=function(e){return u(s(e))},d=function(e,t){return t?l(String(e)).replace(/[+\/]/g,(function(e){return"+"==e?"-":"_"})).replace(/=/g,""):l(String(e))},p=new RegExp(["[À-ß][€-¿]","[à-ï][€-¿]{2}","[ð-÷][€-¿]{3}"].join("|"),"g"),f=function(e){switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return o(55296+(t>>>10))+o(56320+(1023&t));case 3:return o((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return o((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},h=function(e){return e.replace(p,f)},m=function(e){var t=e.length,n=t%4,i=(t>0?r[e.charAt(0)]<<18:0)|(t>1?r[e.charAt(1)]<<12:0)|(t>2?r[e.charAt(2)]<<6:0)|(t>3?r[e.charAt(3)]:0),a=[o(i>>>16),o(i>>>8&255),o(255&i)];return a.length-=[0,0,2,1][n],a.join("")},g=e.atob?function(t){return e.atob(t)}:function(e){return e.replace(/[\s\S]{1,4}/g,m)},y=function(e){return h(g(e))},v=function(e){return y(String(e).replace(/[-_]/g,(function(e){return"-"==e?"+":"/"})).replace(/[^A-Za-z0-9\+\/]/g,""))};return{VERSION:"2.1.9",atob:g,btoa:u,fromBase64:v,toBase64:d,utob:s,encode:d,encodeURI:function(e){return d(e,!0)},btou:h,decode:v,noConflict:function(){var n=e.Base64;return e.Base64=t,n}}}();e.exports=n},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){function n(e,t){for(var n=0;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]60*this.strategy.requestInterval*1e3},e.prototype.getUploadUrl=function(){return this.strategy.httpsUploadUrl+"?appkey="+this.appkey},e.prototype.isBlackEvent=function(e){return-1!=this.strategy.blacklist.indexOf(e)},e.prototype.isEventUpOnOff=function(){return this.strategy.isEventUpOnOff},e.prototype.isSampleEvent=function(e){return!!Object.prototype.hasOwnProperty.call(this.realSample,e)&&this.realSample[e]this.duration)return this.createSession();t=r.sessionId,n=r.sessionStart,this.getSessionStackDepth=0}catch(e){}return{sessionId:t,sessionStart:n}},e.prototype.createSession=function(){var e=Date.now(),t={sessionId:this.appkey+"_"+e.toString(),sessionStart:e};this.storage.setItem(v,JSON.stringify(t)),this.storage.setItem(a,e.toString());var n="is_new_user",r=this.storage.getItem(n);return this.getSessionStackDepth<=1&&this.beacon.onDirectUserAction("rqd_applaunched",{A21:r?"N":"Y"}),this.storage.setItem(n,JSON.stringify(!1)),t},e}();function k(){var e=navigator.userAgent,t=e.indexOf("compatible")>-1&&e.indexOf("MSIE")>-1,n=e.indexOf("Edge")>-1&&!t,r=e.indexOf("Trident")>-1&&e.indexOf("rv:11.0")>-1;if(t){new RegExp("MSIE (\\d+\\.\\d+);").test(e);var o=parseFloat(RegExp.$1);return 7==o?7:8==o?8:9==o?9:10==o?10:6}return n?-2:r?11:-1}var S,b,T=function(){return(T=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0||!window.indexedDB||/X5Lite/.test(navigator.userAgent)?(this.store=new x(t),this.dbEventCount=this.store.getCount()):(this.store=new A(e),this.getCount().then((function(e){n.dbEventCount=e})).catch((function(e){})))}return e.prototype.getCount=function(){return n(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.store.getCount()];case 1:return[2,e.sent()];case 2:return e.sent(),[2,Promise.reject()];case 3:return[2]}}))}))},e.prototype.insertEvent=function(e,t){return n(this,void 0,void 0,(function(){var n,o;return r(this,(function(r){switch(r.label){case 0:if(this.dbEventCount>=1e4)return[2,Promise.reject()];n=f(e.mapValue),r.label=1;case 1:return r.trys.push([1,3,,4]),this.dbEventCount++,[4,this.store.setItem(n,e)];case 2:return[2,r.sent()];case 3:return o=r.sent(),t&&t(o,e),this.dbEventCount--,[2,Promise.reject()];case 4:return[2]}}))}))},e.prototype.getEvents=function(){return n(this,void 0,void 0,(function(){var e;return r(this,(function(t){switch(t.label){case 0:e=[],t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this.store.iterate((function(t){e.push(t)}))];case 2:case 3:return t.sent(),[2,Promise.all(e)];case 4:return[2]}}))}))},e.prototype.removeEvent=function(e){return n(this,void 0,void 0,(function(){var t;return r(this,(function(n){switch(n.label){case 0:t=f(e.mapValue),n.label=1;case 1:return n.trys.push([1,3,,4]),this.dbEventCount--,[4,this.store.removeItem(t)];case 2:return[2,n.sent()];case 3:return n.sent(),this.dbEventCount++,[2,Promise.reject()];case 4:return[2]}}))}))},e}(),O=function(){return(O=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&i<8,t.isUnderIE8||(t.isUnderIE=i>0,e.needInitQimei&&function(e,t){var n;(void 0===n&&(n=Date.now()+"-"+Math.random()),new Promise((function(e,t){if(document.getElementById(n))e(void 0);else{var r=document.getElementsByTagName("head")[0],o=document.createElement("script");o.onload=function(){return function(){o.onload=null,e(void 0)}},o.onerror=function(e){o.onerror=null,r.removeChild(o),t(e)},o.src="https://tun-cos-1258344701.file.myqcloud.com/fp.js",o.id=n,r.appendChild(o)}}))).then((function(){(new Fingerprint).getQimei36(e,t)})).catch((function(e){}))}(e.appkey,(function(e){t.qimei36=e.q36})),t.network=new q(e),t.storage=new z(e.appkey),t.initCommonInfo(e),t.store=new I(e.appkey,t.storage),t.errorReport=new g(t.config,t.commonInfo,"web",t.network),t.strategy=new y(null==e.needQueryConfig||e.needQueryConfig,t.config,t.commonInfo,t.storage,t.network),t.logidStartTime=t.storage.getItem(G),t.logidStartTime||(t.logidStartTime=Date.now().toString(),t.storage.setItem(G,t.logidStartTime)),r=t.logidStartTime,o=Date.now()-Number.parseFloat(r),Math.floor(o/864e5)>=365&&t.storage.clear(),t.initSession(e),t.onDirectUserAction("rqd_js_init",{}),setTimeout((function(){return t.lifeCycle.emit("init")}),0),t.initDelayTime=e.delay?e.delay:1e3,t.cycleTask(t.initDelayTime)),t}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}(r,n),r.prototype.initSession=function(e){var t=18e5;e.sessionDuration&&e.sessionDuration>3e4&&(t=e.sessionDuration),this.beaconSession=new C(this.storage,t,this)},r.prototype.initCommonInfo=function(e){var t=Number(this.storage.getItem(a));try{var n=JSON.parse(this.storage.getItem(s));(Date.now()-t>3e4||!n)&&this.storage.setItem(s,JSON.stringify([]))}catch(e){}e.uploadUrl&&(this.uploadUrl=e.uploadUrl+"?appkey="+e.appkey);var r=[window.screen.width,window.screen.height];window.devicePixelRatio&&r.push(window.devicePixelRatio),this.commonInfo={deviceId:this.storage.createDeviceId(),language:navigator&&navigator.language||"zh_CN",query:window.location.search,userAgent:navigator.userAgent,pixel:r.join("*"),channelID:e.channelID?String(e.channelID):"",openid:e.openid?String(e.openid):"",unid:e.unionid?String(e.unionid):"",sdkVersion:V},this.config.appVersion=e.versionCode?String(e.versionCode):"",this.config.strictMode=e.strictMode},r.prototype.cycleTask=function(e){var t=this;this.intervalID=window.setInterval((function(){t.pauseSearching||t.store.getEvents().then((function(e){0==e.length&&(t.pauseSearching=!0);var n=[],r=JSON.parse(t.storage.getItem(s));r||(r=[]),e&&e.forEach((function(e){var t=f(e.mapValue);-1==r.indexOf(t)&&(n.push(e),r.push(t))})),0!=n.length&&(t.storage.setItem(s,JSON.stringify(r)),t._normalLogPipeline(t.assembleData(n)))})).catch((function(e){}))}),e)},r.prototype.onReport=function(e,t,n){var r=this;if(this.isUnderIE8)this.errorReport.reportError("601","UnderIE8");else{this.pauseSearching=!1;var o=this.generateData(e,t,n);if(n&&0==this.delayTime&&!this.underWeakNet)this._normalLogPipeline(this.assembleData(o));else{var i=o.shift();i&&this.store.insertEvent(i,(function(e){e&&r.errorReport.reportError("604","insertEvent fail!")})).catch((function(e){r._normalLogPipeline(r.assembleData(o))}))}}},r.prototype.onSendBeacon=function(e,t){if(this.isUnderIE)this.errorReport.reportError("605","UnderIE");else{this.pauseSearching=!1;var n=this.assembleData(this.generateData(e,t,!0));"function"==typeof navigator.sendBeacon&&navigator.sendBeacon(this.uploadUrl||this.strategy.getUploadUrl(),JSON.stringify(n))}},r.prototype.generateData=function(e,n,r){var o=[],i="4.5.14-web_"+(r?"direct_log_id":"normal_log_id"),a=Number(this.storage.getItem(i));return a=a||1,n=t(t({},n),{A99:r?"Y":"N",A100:a.toString(),A72:V,A88:this.logidStartTime}),a++,this.storage.setItem(i,a.toString()),o.push({eventCode:e,eventTime:Date.now().toString(),mapValue:d(n,this.config.strictMode)}),o},r.prototype.assembleData=function(e){var n=this.beaconSession.getSession();return{appVersion:this.config.appVersion?p(this.config.appVersion):"",sdkId:"js",sdkVersion:V,mainAppKey:this.config.appkey,platformId:3,common:d(t(t({},this.additionalParams),{A2:this.commonInfo.deviceId,A8:this.commonInfo.openid,A12:this.commonInfo.language,A17:this.commonInfo.pixel,A23:this.commonInfo.channelID,A50:this.commonInfo.unid,A76:n.sessionId,A101:this.commonInfo.userAgent,A102:window.location.href,A104:document.referrer,A119:this.commonInfo.query,A153:this.qimei36}),!1),events:e}},r.prototype.monitorUploadFailed=function(){this.uselessCycleTaskNum++,this.uselessCycleTaskNum>=5&&(window.clearInterval(this.intervalID),this.cycleTask(6e4),this.underWeakNet=!0)},r.prototype.doCustomCycleTask=function(){this.uselessCycleTaskNum>=5&&(window.clearInterval(this.intervalID),this.cycleTask(this.initDelayTime)),this.uselessCycleTaskNum=0,this.underWeakNet=!1},r}(m)},"object"==a(t)&&void 0!==e?e.exports=i():void 0===(o="function"==typeof(r=i)?r.call(t,n,t,e):r)||(e.exports=o)},function(e,t,n){var r=n(9),o=n(1),i={};e.exports.transferToTaskMethod=function(e,t){i[t]=e[t],e[t]=function(e,n){e.SkipTask?i[t].call(this,e,n):this._addTask(t,e,n)}},e.exports.init=function(e){var t,n,a=[],s={},c=0,u=0,l=function(e){var t={id:e.id,Bucket:e.Bucket,Region:e.Region,Key:e.Key,FilePath:e.FilePath,state:e.state,loaded:e.loaded,size:e.size,speed:e.speed,percent:e.percent,hashPercent:e.hashPercent,error:e.error};return e.FilePath&&(t.FilePath=e.FilePath),e._custom&&(t._custom=e._custom),t},d=(n=function(){t=0,e.emit("task-list-update",{list:o.map(a,l)}),e.emit("list-update",{list:o.map(a,l)})},function(){t||(t=setTimeout(n))}),p=function(){if(!(a.length<=e.options.UploadQueueSize)){for(var t=0;te.options.UploadQueueSize;){var n="waiting"===a[t].state||"checking"===a[t].state||"uploading"===a[t].state;a[t]&&n?t++:(s[a[t].id]&&delete s[a[t].id],a.splice(t,1),u--)}d()}},f=function t(){if(!(c>=e.options.FileParallelLimit)){for(;a[u]&&"waiting"!==a[u].state;)u++;if(!(u>=a.length)){var n=a[u];u++,c++,n.state="checking",n.params.onTaskStart&&n.params.onTaskStart(l(n)),!n.params.UploadData&&(n.params.UploadData={});var r=o.formatParams(n.api,n.params);i[n.api].call(e,r,(function(r,o){e._isRunningTask(n.id)&&("checking"!==n.state&&"uploading"!==n.state||(n.state=r?"error":"success",r&&(n.error=r),c--,d(),t(),n.callback&&n.callback(r,o),"success"===n.state&&(n.params&&(delete n.params.UploadData,delete n.params.Body,delete n.params),delete n.callback)),p())})),d(),setTimeout(t)}}},h=function(t,n){var o=s[t];if(o){var i=o&&"waiting"===o.state,a=o&&("checking"===o.state||"uploading"===o.state);if("canceled"===n&&"canceled"!==o.state||"paused"===n&&i||"paused"===n&&a){if("paused"===n&&o.params.Body&&"function"==typeof o.params.Body.pipe)return;o.state=n,e.emit("inner-kill-task",{TaskId:t,toState:n});try{var u=o&&o.params&&o.params.UploadData.UploadId}catch(e){}"canceled"===n&&u&&r.removeUsing(u),d(),a&&(c--,f()),"canceled"===n&&(o.params&&(delete o.params.UploadData,delete o.params.Body,delete o.params),delete o.callback)}p()}};e._addTasks=function(t){o.each(t,(function(t){e._addTask(t.api,t.params,t.callback,!0)})),d()};e._addTask=function(t,n,r,i){n=o.formatParams(t,n);var c=o.uuid();n.TaskId=c,n.onTaskReady&&n.onTaskReady(c),n.TaskReady&&(n.TaskReady(c),!1);var u={params:n,callback:r,api:t,index:a.length,id:c,Bucket:n.Bucket,Region:n.Region,Key:n.Key,FilePath:n.FilePath||"",state:"waiting",loaded:0,size:0,speed:0,percent:0,hashPercent:0,error:null,_custom:n._custom},l=n.onHashProgress;n.onHashProgress=function(t){e._isRunningTask(u.id)&&(u.hashPercent=t.percent,l&&l(t),d())};var h=n.onProgress;return n.onProgress=function(t){e._isRunningTask(u.id)&&("checking"===u.state&&(u.state="uploading"),u.loaded=t.loaded,u.speed=t.speed,u.percent=t.percent,h&&h(t),d())},o.getFileSize(t,n,(function(e,t){if(e)return r(o.error(e));s[c]=u,a.push(u),u.size=t,!i&&d(),f(),p()})),c},e._isRunningTask=function(e){var t=s[e];return!(!t||"checking"!==t.state&&"uploading"!==t.state)},e.getTaskList=function(){return o.map(a,l)},e.cancelTask=function(e){h(e,"canceled")},e.pauseTask=function(e){h(e,"paused")},e.restartTask=function(e){var t=s[e];!t||"paused"!==t.state&&"error"!==t.state||(t.state="waiting",d(),u=Math.min(u,t.index),f())},e.isUploadRunning=function(){return c||u-1&&(a["SSE-COS"]=a.SSECOS,delete a.SSECOS)}var s=i.json2xml({InventoryConfiguration:r}),c=t.Headers;c["Content-Type"]="application/xml",c["Content-MD5"]=i.b64(i.md5(s));var u="PUT"===e?"name/cos:PutBucketInventory":"name/cos:PostBucketInventory";f.call(this,{Action:u,method:e,Bucket:t.Bucket,Region:t.Region,body:s,action:"inventory",qs:{id:t.Id},headers:c},(function(e,t){return e&&204===e.statusCode?n(null,{statusCode:e.statusCode}):e?n(e):void n(null,{statusCode:t.statusCode,headers:t.headers})}))}function s(e){var t={GrantFullControl:[],GrantWrite:[],GrantRead:[],GrantReadAcp:[],GrantWriteAcp:[],ACL:""},n={FULL_CONTROL:"GrantFullControl",WRITE:"GrantWrite",READ:"GrantRead",READ_ACP:"GrantReadAcp",WRITE_ACP:"GrantWriteAcp"},r=(e&&e.AccessControlList||{}).Grant;r&&(r=i.isArray(r)?r:[r]);var o={READ:0,WRITE:0,FULL_CONTROL:0};return r&&r.length&&i.each(r,(function(r){"qcs::cam::anyone:anyone"===r.Grantee.ID||"http://cam.qcloud.com/groups/global/AllUsers"===r.Grantee.URI?o[r.Permission]=1:r.Grantee.ID!==e.Owner.ID&&t[n[r.Permission]].push('id="'+r.Grantee.ID+'"')})),o.FULL_CONTROL||o.WRITE&&o.READ?t.ACL="public-read-write":o.READ?t.ACL="public-read":t.ACL="private",i.each(n,(function(e){t[e]=c(t[e].join(","))})),t}function c(e){var t,n,r=e.split(","),o={};for(t=0;t-1?"{Region}.myqcloud.com":"cos.{Region}.myqcloud.com",e.ForcePathStyle||(s="{Bucket}."+s)),s=(s=s.replace(/\{\{AppId\}\}/gi,a).replace(/\{\{Bucket\}\}/gi,o).replace(/\{\{Region\}\}/gi,t).replace(/\{\{.*?\}\}/gi,"")).replace(/\{AppId\}/gi,a).replace(/\{BucketName\}/gi,o).replace(/\{Bucket\}/gi,n).replace(/\{Region\}/gi,t).replace(/\{.*?\}/gi,""),/^[a-zA-Z]+:\/\//.test(s)||(s=u+"//"+s),"/"===s.slice(-1)&&(s=s.slice(0,-1));var l=s;return e.ForcePathStyle&&(l+="/"+n),l+="/",c&&(l+=i.camSafeUrlEncode(c).replace(/%2F/g,"/")),e.isLocation&&(l=l.replace(/^https?:\/\//,"")),l}var l=function(e){if(!e.Bucket||!e.Region)return"";var t=void 0===e.UseAccelerate?this.options.UseAccelerate:e.UseAccelerate,n=(e.Url||u({ForcePathStyle:this.options.ForcePathStyle,protocol:this.options.Protocol,domain:this.options.Domain,bucket:e.Bucket,region:t?"accelerate":e.Region})).replace(/^https?:\/\/([^/]+)(\/.*)?$/,"$1");return new RegExp("^([a-z\\d-]+-\\d+\\.)?(cos|cosv6|ci|pic)\\.([a-z\\d-]+)\\.myqcloud\\.com$").test(n)?n:""};function d(e,t){var n=i.clone(e.Headers),r="";i.each(n,(function(e,t){(""===e||["content-type","cache-control","expires"].indexOf(t.toLowerCase())>-1)&&delete n[t],"host"===t.toLowerCase()&&(r=e)}));var o=!1!==e.ForceSignHost;!r&&e.SignHost&&o&&(n.Host=e.SignHost);var a=!1,s=function(e,n){a||(a=!0,n&&n.XCosSecurityToken&&!n.SecurityToken&&((n=i.clone(n)).SecurityToken=n.XCosSecurityToken,delete n.XCosSecurityToken),t&&t(e,n))},c=this,u=e.Bucket||"",l=e.Region||"",d=e.Key||"";c.options.ForcePathStyle&&u&&(d=u+"/"+d);var p="/"+d,f={},h=e.Scope;if(!h){var m=e.Action||"",g=e.ResourceKey||e.Key||"";h=e.Scope||[{action:m,bucket:u,region:l,prefix:g}]}var y=i.md5(JSON.stringify(h));c._StsCache=c._StsCache||[],function(){var e,t;for(e=c._StsCache.length-1;e>=0;e--){t=c._StsCache[e];var n=Math.round(i.getSkewTime(c.options.SystemClockOffset)/1e3)+30;if(t.StartTime&&n=t.ExpiredTime)c._StsCache.splice(e,1);else if(!t.ScopeLimit||t.ScopeLimit&&t.ScopeKey===y){f=t;break}}}();var v,C=function(){var t="";f.StartTime&&e.Expires?t=f.StartTime+";"+(f.StartTime+1*e.Expires):f.StartTime&&f.ExpiredTime&&(t=f.StartTime+";"+f.ExpiredTime);var r={Authorization:i.getAuth({SecretId:f.TmpSecretId,SecretKey:f.TmpSecretKey,Method:e.Method,Pathname:p,Query:e.Query,Headers:n,Expires:e.Expires,UseRawKey:c.options.UseRawKey,SystemClockOffset:c.options.SystemClockOffset,KeyTime:t,ForceSignHost:o}),SecurityToken:f.SecurityToken||f.XCosSecurityToken||"",Token:f.Token||"",ClientIP:f.ClientIP||"",ClientUA:f.ClientUA||""};s(null,r)},k=function(e){if(e.Authorization){var t=!1,n=e.Authorization;if(n)if(n.indexOf(" ")>-1)t=!1;else if(n.indexOf("q-sign-algorithm=")>-1&&n.indexOf("q-ak=")>-1&&n.indexOf("q-sign-time=")>-1&&n.indexOf("q-key-time=")>-1&&n.indexOf("q-url-param-list=")>-1)t=!0;else try{(n=atob(n)).indexOf("a=")>-1&&n.indexOf("k=")>-1&&n.indexOf("t=")>-1&&n.indexOf("r=")>-1&&n.indexOf("b=")>-1&&(t=!0)}catch(e){}if(!t)return i.error(new Error("getAuthorization callback params format error"))}else{if(!e.TmpSecretId)return i.error(new Error('getAuthorization callback params missing "TmpSecretId"'));if(!e.TmpSecretKey)return i.error(new Error('getAuthorization callback params missing "TmpSecretKey"'));if(!e.SecurityToken&&!e.XCosSecurityToken)return i.error(new Error('getAuthorization callback params missing "SecurityToken"'));if(!e.ExpiredTime)return i.error(new Error('getAuthorization callback params missing "ExpiredTime"'));if(e.ExpiredTime&&10!==e.ExpiredTime.toString().length)return i.error(new Error('getAuthorization callback params "ExpiredTime" should be 10 digits'));if(e.StartTime&&10!==e.StartTime.toString().length)return i.error(new Error('getAuthorization callback params "StartTime" should be 10 StartTime'))}return!1};if(f.ExpiredTime&&f.ExpiredTime-i.getSkewTime(c.options.SystemClockOffset)/1e3>60)C();else if(c.options.getAuthorization)c.options.getAuthorization.call(c,{Bucket:u,Region:l,Method:e.Method,Key:d,Pathname:p,Query:e.Query,Headers:n,Scope:h,SystemClockOffset:c.options.SystemClockOffset,ForceSignHost:o},(function(e){"string"==typeof e&&(e={Authorization:e});var t=k(e);if(t)return s(t);e.Authorization?s(null,e):((f=e||{}).Scope=h,f.ScopeKey=y,c._StsCache.push(f),C())}));else{if(!c.options.getSTS)return v={Authorization:i.getAuth({SecretId:e.SecretId||c.options.SecretId,SecretKey:e.SecretKey||c.options.SecretKey,Method:e.Method,Pathname:p,Query:e.Query,Headers:n,Expires:e.Expires,UseRawKey:c.options.UseRawKey,SystemClockOffset:c.options.SystemClockOffset,ForceSignHost:o}),SecurityToken:c.options.SecurityToken||c.options.XCosSecurityToken},s(null,v),v;c.options.getSTS.call(c,{Bucket:u,Region:l},(function(e){(f=e||{}).Scope=h,f.ScopeKey=y,f.TmpSecretId||(f.TmpSecretId=f.SecretId),f.TmpSecretKey||(f.TmpSecretKey=f.SecretKey);var t=k(f);if(t)return s(t);c._StsCache.push(f),C()}))}return""}function p(e){var t=!1,n=!1,r=e.headers&&(e.headers.date||e.headers.Date)||e.error&&e.error.ServerTime;try{var o=e.error.Code,a=e.error.Message;("RequestTimeTooSkewed"===o||"AccessDenied"===o&&"Request has expired"===a)&&(n=!0)}catch(e){}if(e)if(n&&r){var s=Date.parse(r);this.options.CorrectClockSkew&&Math.abs(i.getSkewTime(this.options.SystemClockOffset)-s)>=3e4&&(this.options.SystemClockOffset=s-Date.now(),t=!0)}else 5===Math.floor(e.statusCode/100)&&(t=!0);return t}function f(e,t){var n=this;!e.headers&&(e.headers={}),!e.qs&&(e.qs={}),e.VersionId&&(e.qs.versionId=e.VersionId),e.qs=i.clearKey(e.qs),e.headers&&(e.headers=i.clearKey(e.headers)),e.qs&&(e.qs=i.clearKey(e.qs));var r=i.clone(e.qs);e.action&&(r[e.action]="");var o=e.url||e.Url,a=e.SignHost||l.call(this,{Bucket:e.Bucket,Region:e.Region,Url:o}),s=e.tracker;!function o(i){var c=n.options.SystemClockOffset;s&&s.setParams({signStartTime:(new Date).getTime(),retryTimes:i-1}),d.call(n,{Bucket:e.Bucket||"",Region:e.Region||"",Method:e.method,Key:e.Key,Query:r,Headers:e.headers,SignHost:a,Action:e.Action,ResourceKey:e.ResourceKey,Scope:e.Scope,ForceSignHost:n.options.ForceSignHost},(function(r,a){r?t(r):(s&&s.setParams({signEndTime:(new Date).getTime(),httpStartTime:(new Date).getTime()}),e.AuthData=a,h.call(n,e,(function(r,a){s&&s.setParams({httpEndTime:(new Date).getTime()}),r&&i<2&&(c!==n.options.SystemClockOffset||p.call(n,r))?(e.headers&&(delete e.headers.Authorization,delete e.headers.token,delete e.headers.clientIP,delete e.headers.clientUA,e.headers["x-cos-security-token"]&&delete e.headers["x-cos-security-token"],e.headers["x-ci-security-token"]&&delete e.headers["x-ci-security-token"]),o(i+1)):t(r,a)})))}))}(1)}function h(e,t){var n=this,r=e.TaskId;if(!r||n._isRunningTask(r)){var a=e.Bucket,s=e.Region,c=e.Key,l=e.method||"GET",d=e.Url||e.url,p=e.body,f=e.rawBody;n.options.UseAccelerate&&(s="accelerate"),d=d||u({ForcePathStyle:n.options.ForcePathStyle,protocol:n.options.Protocol,domain:n.options.Domain,bucket:a,region:s,object:c}),e.action&&(d=d+"?"+(i.isIOS_QQ?"".concat(e.action,"="):e.action)),e.qsStr&&(d=d.indexOf("?")>-1?d+"&"+e.qsStr:d+"?"+e.qsStr);var h={method:l,url:d,headers:e.headers,qs:e.qs,body:p},m="x-cos-security-token";if(i.isCIHost(d)&&(m="x-ci-security-token"),h.headers.Authorization=e.AuthData.Authorization,e.AuthData.Token&&(h.headers.token=e.AuthData.Token),e.AuthData.ClientIP&&(h.headers.clientIP=e.AuthData.ClientIP),e.AuthData.ClientUA&&(h.headers.clientUA=e.AuthData.ClientUA),e.AuthData.SecurityToken&&(h.headers[m]=e.AuthData.SecurityToken),h.headers&&(h.headers=i.clearKey(h.headers)),h=i.clearKey(h),e.onProgress&&"function"==typeof e.onProgress){var g=p&&(p.size||p.length)||0;h.onProgress=function(t){if(!r||n._isRunningTask(r)){var o=t?t.loaded:0;e.onProgress({loaded:o,total:g})}}}e.onDownloadProgress&&(h.onDownloadProgress=e.onDownloadProgress),e.DataType&&(h.dataType=e.DataType),this.options.Timeout&&(h.timeout=this.options.Timeout),n.options.ForcePathStyle&&(h.pathStyle=n.options.ForcePathStyle),n.emit("before-send",h);var y=h.url.includes("accelerate."),v=h.qs?Object.keys(h.qs).map((function(e){return"".concat(e,"=").concat(h.qs[e])})).join("&"):"",C=v?h.url+"?"+v:h.url;e.tracker&&e.tracker.setParams({reqUrl:C,accelerate:y?"Y":"N"}),e.tracker&&e.tracker.parent&&e.tracker.parent.setParams({reqUrl:C,accelerate:y?"Y":"N"});var k=(n.options.Request||o)(h,(function(e){if(!e||"abort"!==e.error){var o={options:h,error:e&&e.error,statusCode:e&&e.statusCode||0,statusMessage:e&&e.statusMessage||"",headers:e&&e.headers||{},body:e&&e.body};n.emit("after-receive",o);var a,s=o.error,c=o.body,u={statusCode:o.statusCode,statusMessage:o.statusMessage,headers:o.headers},l=function(e,o){if(r&&n.off("inner-kill-task",S),!a){a=!0;var s={};u&&u.statusCode&&(s.statusCode=u.statusCode),u&&u.headers&&(s.headers=u.headers),e?(e=i.extend(e||{},s),t(e,null)):(o=i.extend(o||{},s),t(null,o)),k=null}};if(s)return l(i.error(s));var d,p=u.statusCode,m=2===Math.floor(p/100);if(f&&m)return l(null,{body:c});try{d=c&&c.indexOf("<")>-1&&c.indexOf(">")>-1&&i.xml2json(c)||{}}catch(e){d={}}var g=d&&d.Error;m?l(null,d):g?l(i.error(new Error(g.Message),{code:g.Code,error:g})):p?l(i.error(new Error(u.statusMessage),{code:""+p})):p&&l(i.error(new Error("statusCode error")))}})),S=function e(t){t.TaskId===r&&(k&&k.abort&&k.abort(),n.off("inner-kill-task",e))};r&&n.on("inner-kill-task",S)}}var m={getService:function(e,t){"function"==typeof e&&(t=e,e={});var n=this.options.Protocol||(i.isBrowser&&"object"===("undefined"==typeof location?"undefined":r(location))&&"http:"===location.protocol?"http:":"https:"),o=this.options.ServiceDomain,a=e.AppId||this.options.appId,s=e.Region;o?(o=o.replace(/\{\{AppId\}\}/gi,a||"").replace(/\{\{Region\}\}/gi,s||"").replace(/\{\{.*?\}\}/gi,""),/^[a-zA-Z]+:\/\//.test(o)||(o=n+"//"+o),"/"===o.slice(-1)&&(o=o.slice(0,-1))):o=s?n+"//cos."+s+".myqcloud.com":n+"//service.cos.myqcloud.com";var c="",u=s?"cos."+s+".myqcloud.com":"service.cos.myqcloud.com";u===o.replace(/^https?:\/\/([^/]+)(\/.*)?$/,"$1")&&(c=u),f.call(this,{Action:"name/cos:GetService",url:o,method:"GET",headers:e.Headers,SignHost:c},(function(e,n){if(e)return t(e);var r=n&&n.ListAllMyBucketsResult&&n.ListAllMyBucketsResult.Buckets&&n.ListAllMyBucketsResult.Buckets.Bucket||[];r=i.isArray(r)?r:[r];var o=n&&n.ListAllMyBucketsResult&&n.ListAllMyBucketsResult.Owner||{};t(null,{Buckets:r,Owner:o,statusCode:n.statusCode,headers:n.headers})}))},putBucket:function(e,t){var n=this,r="";if(e.BucketAZConfig){var o={BucketAZConfig:e.BucketAZConfig};r=i.json2xml({CreateBucketConfiguration:o})}f.call(this,{Action:"name/cos:PutBucket",method:"PUT",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,body:r},(function(r,o){if(r)return t(r);var i=u({protocol:n.options.Protocol,domain:n.options.Domain,bucket:e.Bucket,region:e.Region,isLocation:!0});t(null,{Location:i,statusCode:o.statusCode,headers:o.headers})}))},headBucket:function(e,t){f.call(this,{Action:"name/cos:HeadBucket",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,method:"HEAD"},t)},getBucket:function(e,t){var n={};n.prefix=e.Prefix||"",n.delimiter=e.Delimiter,n.marker=e.Marker,n["max-keys"]=e.MaxKeys,n["encoding-type"]=e.EncodingType,f.call(this,{Action:"name/cos:GetBucket",ResourceKey:n.prefix,method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,qs:n},(function(e,n){if(e)return t(e);var r=n.ListBucketResult||{},o=r.Contents||[],a=r.CommonPrefixes||[];o=i.isArray(o)?o:[o],a=i.isArray(a)?a:[a];var s=i.clone(r);i.extend(s,{Contents:o,CommonPrefixes:a,statusCode:n.statusCode,headers:n.headers}),t(null,s)}))},deleteBucket:function(e,t){f.call(this,{Action:"name/cos:DeleteBucket",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,method:"DELETE"},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},putBucketAcl:function(e,t){var n=e.Headers,r="";if(e.AccessControlPolicy){var o=i.clone(e.AccessControlPolicy||{}),a=o.Grants||o.Grant;a=i.isArray(a)?a:[a],delete o.Grant,delete o.Grants,o.AccessControlList={Grant:a},r=i.json2xml({AccessControlPolicy:o}),n["Content-Type"]="application/xml",n["Content-MD5"]=i.b64(i.md5(r))}i.each(n,(function(e,t){0===t.indexOf("x-cos-grant-")&&(n[t]=c(n[t]))})),f.call(this,{Action:"name/cos:PutBucketACL",method:"PUT",Bucket:e.Bucket,Region:e.Region,headers:n,action:"acl",body:r},(function(e,n){if(e)return t(e);t(null,{statusCode:n.statusCode,headers:n.headers})}))},getBucketAcl:function(e,t){f.call(this,{Action:"name/cos:GetBucketACL",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"acl"},(function(e,n){if(e)return t(e);var r=n.AccessControlPolicy||{},o=r.Owner||{},a=r.AccessControlList.Grant||[];a=i.isArray(a)?a:[a];var c=s(r);n.headers&&n.headers["x-cos-acl"]&&(c.ACL=n.headers["x-cos-acl"]),c=i.extend(c,{Owner:o,Grants:a,statusCode:n.statusCode,headers:n.headers}),t(null,c)}))},putBucketCors:function(e,t){var n=(e.CORSConfiguration||{}).CORSRules||e.CORSRules||[];n=i.clone(i.isArray(n)?n:[n]),i.each(n,(function(e){i.each(["AllowedOrigin","AllowedHeader","AllowedMethod","ExposeHeader"],(function(t){var n=t+"s",r=e[n]||e[t]||[];delete e[n],e[t]=i.isArray(r)?r:[r]}))}));var r={CORSRule:n};e.ResponseVary&&(r.ResponseVary=e.ResponseVary);var o=i.json2xml({CORSConfiguration:r}),a=e.Headers;a["Content-Type"]="application/xml",a["Content-MD5"]=i.b64(i.md5(o)),f.call(this,{Action:"name/cos:PutBucketCORS",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:o,action:"cors",headers:a},(function(e,n){if(e)return t(e);t(null,{statusCode:n.statusCode,headers:n.headers})}))},getBucketCors:function(e,t){f.call(this,{Action:"name/cos:GetBucketCORS",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"cors"},(function(e,n){if(e)if(404===e.statusCode&&e.error&&"NoSuchCORSConfiguration"===e.error.Code){var r={CORSRules:[],statusCode:e.statusCode};e.headers&&(r.headers=e.headers),t(null,r)}else t(e);else{var o=n.CORSConfiguration||{},a=o.CORSRules||o.CORSRule||[];a=i.clone(i.isArray(a)?a:[a]);var s=o.ResponseVary;i.each(a,(function(e){i.each(["AllowedOrigin","AllowedHeader","AllowedMethod","ExposeHeader"],(function(t){var n=t+"s",r=e[n]||e[t]||[];delete e[t],e[n]=i.isArray(r)?r:[r]}))})),t(null,{CORSRules:a,ResponseVary:s,statusCode:n.statusCode,headers:n.headers})}}))},deleteBucketCors:function(e,t){f.call(this,{Action:"name/cos:DeleteBucketCORS",method:"DELETE",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"cors"},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode||e.statusCode,headers:n.headers})}))},getBucketLocation:function(e,t){f.call(this,{Action:"name/cos:GetBucketLocation",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"location"},t)},getBucketPolicy:function(e,t){f.call(this,{Action:"name/cos:GetBucketPolicy",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"policy",rawBody:!0},(function(e,n){if(e)return e.statusCode&&403===e.statusCode?t(i.error(e,{ErrorStatus:"Access Denied"})):e.statusCode&&405===e.statusCode?t(i.error(e,{ErrorStatus:"Method Not Allowed"})):e.statusCode&&404===e.statusCode?t(i.error(e,{ErrorStatus:"Policy Not Found"})):t(e);var r={};try{r=JSON.parse(n.body)}catch(e){}t(null,{Policy:r,statusCode:n.statusCode,headers:n.headers})}))},putBucketPolicy:function(e,t){var n=e.Policy;try{"string"==typeof n&&(n=JSON.parse(n))}catch(e){}if(!n||"string"==typeof n)return t(i.error(new Error("Policy format error")));var r=JSON.stringify(n);n.version||(n.version="2.0");var o=e.Headers;o["Content-Type"]="application/json",o["Content-MD5"]=i.b64(i.md5(r)),f.call(this,{Action:"name/cos:PutBucketPolicy",method:"PUT",Bucket:e.Bucket,Region:e.Region,action:"policy",body:r,headers:o},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},deleteBucketPolicy:function(e,t){f.call(this,{Action:"name/cos:DeleteBucketPolicy",method:"DELETE",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"policy"},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode||e.statusCode,headers:n.headers})}))},putBucketTagging:function(e,t){var n=e.Tagging||{},r=n.TagSet||n.Tags||e.Tags||[];r=i.clone(i.isArray(r)?r:[r]);var o=i.json2xml({Tagging:{TagSet:{Tag:r}}}),a=e.Headers;a["Content-Type"]="application/xml",a["Content-MD5"]=i.b64(i.md5(o)),f.call(this,{Action:"name/cos:PutBucketTagging",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:o,action:"tagging",headers:a},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},getBucketTagging:function(e,t){f.call(this,{Action:"name/cos:GetBucketTagging",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"tagging"},(function(e,n){if(e)if(404!==e.statusCode||!e.error||"Not Found"!==e.error&&"NoSuchTagSet"!==e.error.Code)t(e);else{var r={Tags:[],statusCode:e.statusCode};e.headers&&(r.headers=e.headers),t(null,r)}else{var o=[];try{o=n.Tagging.TagSet.Tag||[]}catch(e){}o=i.clone(i.isArray(o)?o:[o]),t(null,{Tags:o,statusCode:n.statusCode,headers:n.headers})}}))},deleteBucketTagging:function(e,t){f.call(this,{Action:"name/cos:DeleteBucketTagging",method:"DELETE",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"tagging"},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},putBucketLifecycle:function(e,t){var n=(e.LifecycleConfiguration||{}).Rules||e.Rules||[];n=i.clone(n);var r=i.json2xml({LifecycleConfiguration:{Rule:n}}),o=e.Headers;o["Content-Type"]="application/xml",o["Content-MD5"]=i.b64(i.md5(r)),f.call(this,{Action:"name/cos:PutBucketLifecycle",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:r,action:"lifecycle",headers:o},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},getBucketLifecycle:function(e,t){f.call(this,{Action:"name/cos:GetBucketLifecycle",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"lifecycle"},(function(e,n){if(e)if(404===e.statusCode&&e.error&&"NoSuchLifecycleConfiguration"===e.error.Code){var r={Rules:[],statusCode:e.statusCode};e.headers&&(r.headers=e.headers),t(null,r)}else t(e);else{var o=[];try{o=n.LifecycleConfiguration.Rule||[]}catch(e){}o=i.clone(i.isArray(o)?o:[o]),t(null,{Rules:o,statusCode:n.statusCode,headers:n.headers})}}))},deleteBucketLifecycle:function(e,t){f.call(this,{Action:"name/cos:DeleteBucketLifecycle",method:"DELETE",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"lifecycle"},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},putBucketVersioning:function(e,t){if(e.VersioningConfiguration){var n=e.VersioningConfiguration||{},r=i.json2xml({VersioningConfiguration:n}),o=e.Headers;o["Content-Type"]="application/xml",o["Content-MD5"]=i.b64(i.md5(r)),f.call(this,{Action:"name/cos:PutBucketVersioning",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:r,action:"versioning",headers:o},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))}else t(i.error(new Error("missing param VersioningConfiguration")))},getBucketVersioning:function(e,t){f.call(this,{Action:"name/cos:GetBucketVersioning",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"versioning"},(function(e,n){e||!n.VersioningConfiguration&&(n.VersioningConfiguration={}),t(e,n)}))},putBucketReplication:function(e,t){var n=i.clone(e.ReplicationConfiguration),r=i.json2xml({ReplicationConfiguration:n});r=(r=r.replace(/<(\/?)Rules>/gi,"<$1Rule>")).replace(/<(\/?)Tags>/gi,"<$1Tag>");var o=e.Headers;o["Content-Type"]="application/xml",o["Content-MD5"]=i.b64(i.md5(r)),f.call(this,{Action:"name/cos:PutBucketReplication",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:r,action:"replication",headers:o},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},getBucketReplication:function(e,t){f.call(this,{Action:"name/cos:GetBucketReplication",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"replication"},(function(e,n){if(e)if(404!==e.statusCode||!e.error||"Not Found"!==e.error&&"ReplicationConfigurationnotFoundError"!==e.error.Code)t(e);else{var r={ReplicationConfiguration:{Rules:[]},statusCode:e.statusCode};e.headers&&(r.headers=e.headers),t(null,r)}else!n.ReplicationConfiguration&&(n.ReplicationConfiguration={}),n.ReplicationConfiguration.Rule&&(n.ReplicationConfiguration.Rules=i.makeArray(n.ReplicationConfiguration.Rule),delete n.ReplicationConfiguration.Rule),t(e,n)}))},deleteBucketReplication:function(e,t){f.call(this,{Action:"name/cos:DeleteBucketReplication",method:"DELETE",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"replication"},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},putBucketWebsite:function(e,t){if(e.WebsiteConfiguration){var n=i.clone(e.WebsiteConfiguration||{}),r=n.RoutingRules||n.RoutingRule||[];r=i.isArray(r)?r:[r],delete n.RoutingRule,delete n.RoutingRules,r.length&&(n.RoutingRules={RoutingRule:r});var o=i.json2xml({WebsiteConfiguration:n}),a=e.Headers;a["Content-Type"]="application/xml",a["Content-MD5"]=i.b64(i.md5(o)),f.call(this,{Action:"name/cos:PutBucketWebsite",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:o,action:"website",headers:a},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))}else t(i.error(new Error("missing param WebsiteConfiguration")))},getBucketWebsite:function(e,t){f.call(this,{Action:"name/cos:GetBucketWebsite",method:"GET",Bucket:e.Bucket,Region:e.Region,Key:e.Key,headers:e.Headers,action:"website"},(function(e,n){if(e)if(404===e.statusCode&&"NoSuchWebsiteConfiguration"===e.error.Code){var r={WebsiteConfiguration:{},statusCode:e.statusCode};e.headers&&(r.headers=e.headers),t(null,r)}else t(e);else{var o=n.WebsiteConfiguration||{};if(o.RoutingRules){var a=i.clone(o.RoutingRules.RoutingRule||[]);a=i.makeArray(a),o.RoutingRules=a}t(null,{WebsiteConfiguration:o,statusCode:n.statusCode,headers:n.headers})}}))},deleteBucketWebsite:function(e,t){f.call(this,{Action:"name/cos:DeleteBucketWebsite",method:"DELETE",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"website"},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},putBucketReferer:function(e,t){if(e.RefererConfiguration){var n=i.clone(e.RefererConfiguration||{}),r=n.DomainList||{},o=r.Domains||r.Domain||[];(o=i.isArray(o)?o:[o]).length&&(n.DomainList={Domain:o});var a=i.json2xml({RefererConfiguration:n}),s=e.Headers;s["Content-Type"]="application/xml",s["Content-MD5"]=i.b64(i.md5(a)),f.call(this,{Action:"name/cos:PutBucketReferer",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:a,action:"referer",headers:s},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))}else t(i.error(new Error("missing param RefererConfiguration")))},getBucketReferer:function(e,t){f.call(this,{Action:"name/cos:GetBucketReferer",method:"GET",Bucket:e.Bucket,Region:e.Region,Key:e.Key,headers:e.Headers,action:"referer"},(function(e,n){if(e)if(404===e.statusCode&&"NoSuchRefererConfiguration"===e.error.Code){var r={WebsiteConfiguration:{},statusCode:e.statusCode};e.headers&&(r.headers=e.headers),t(null,r)}else t(e);else{var o=n.RefererConfiguration||{};if(o.DomainList){var a=i.makeArray(o.DomainList.Domain||[]);o.DomainList={Domains:a}}t(null,{RefererConfiguration:o,statusCode:n.statusCode,headers:n.headers})}}))},putBucketDomain:function(e,t){var n=(e.DomainConfiguration||{}).DomainRule||e.DomainRule||[];n=i.clone(n);var r=i.json2xml({DomainConfiguration:{DomainRule:n}}),o=e.Headers;o["Content-Type"]="application/xml",o["Content-MD5"]=i.b64(i.md5(r)),f.call(this,{Action:"name/cos:PutBucketDomain",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:r,action:"domain",headers:o},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},getBucketDomain:function(e,t){f.call(this,{Action:"name/cos:GetBucketDomain",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"domain"},(function(e,n){if(e)return t(e);var r=[];try{r=n.DomainConfiguration.DomainRule||[]}catch(e){}r=i.clone(i.isArray(r)?r:[r]),t(null,{DomainRule:r,statusCode:n.statusCode,headers:n.headers})}))},deleteBucketDomain:function(e,t){f.call(this,{Action:"name/cos:DeleteBucketDomain",method:"DELETE",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"domain"},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},putBucketOrigin:function(e,t){var n=(e.OriginConfiguration||{}).OriginRule||e.OriginRule||[];n=i.clone(n);var r=i.json2xml({OriginConfiguration:{OriginRule:n}}),o=e.Headers;o["Content-Type"]="application/xml",o["Content-MD5"]=i.b64(i.md5(r)),f.call(this,{Action:"name/cos:PutBucketOrigin",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:r,action:"origin",headers:o},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},getBucketOrigin:function(e,t){f.call(this,{Action:"name/cos:GetBucketOrigin",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"origin"},(function(e,n){if(e)return t(e);var r=[];try{r=n.OriginConfiguration.OriginRule||[]}catch(e){}r=i.clone(i.isArray(r)?r:[r]),t(null,{OriginRule:r,statusCode:n.statusCode,headers:n.headers})}))},deleteBucketOrigin:function(e,t){f.call(this,{Action:"name/cos:DeleteBucketOrigin",method:"DELETE",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"origin"},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},putBucketLogging:function(e,t){var n=i.json2xml({BucketLoggingStatus:e.BucketLoggingStatus||""}),r=e.Headers;r["Content-Type"]="application/xml",r["Content-MD5"]=i.b64(i.md5(n)),f.call(this,{Action:"name/cos:PutBucketLogging",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:n,action:"logging",headers:r},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},getBucketLogging:function(e,t){f.call(this,{Action:"name/cos:GetBucketLogging",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"logging"},(function(e,n){if(e)return t(e);t(null,{BucketLoggingStatus:n.BucketLoggingStatus,statusCode:n.statusCode,headers:n.headers})}))},putBucketInventory:function(e,t){return a.call(this,"PUT",e,t)},postBucketInventory:function(e,t){return a.call(this,"POST",e,t)},getBucketInventory:function(e,t){f.call(this,{Action:"name/cos:GetBucketInventory",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"inventory",qs:{id:e.Id}},(function(e,n){if(e)return t(e);var r=n.InventoryConfiguration;if(r&&r.OptionalFields&&r.OptionalFields.Field){var o=r.OptionalFields.Field;i.isArray(o)||(o=[o]),r.OptionalFields=o}if(r.Destination&&r.Destination.COSBucketDestination&&r.Destination.COSBucketDestination.Encryption){var a=r.Destination.COSBucketDestination.Encryption;Object.keys(a).indexOf("SSE-COS")>-1&&(a.SSECOS=a["SSE-COS"],delete a["SSE-COS"])}t(null,{InventoryConfiguration:r,statusCode:n.statusCode,headers:n.headers})}))},listBucketInventory:function(e,t){f.call(this,{Action:"name/cos:ListBucketInventory",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"inventory",qs:{"continuation-token":e.ContinuationToken}},(function(e,n){if(e)return t(e);var r=n.ListInventoryConfigurationResult,o=r.InventoryConfiguration||[];o=i.isArray(o)?o:[o],delete r.InventoryConfiguration,i.each(o,(function(e){if(e&&e.OptionalFields&&e.OptionalFields.Field){var t=e.OptionalFields.Field;i.isArray(t)||(t=[t]),e.OptionalFields=t}if(e.Destination&&e.Destination.COSBucketDestination&&e.Destination.COSBucketDestination.Encryption){var n=e.Destination.COSBucketDestination.Encryption;Object.keys(n).indexOf("SSE-COS")>-1&&(n.SSECOS=n["SSE-COS"],delete n["SSE-COS"])}})),r.InventoryConfigurations=o,i.extend(r,{statusCode:n.statusCode,headers:n.headers}),t(null,r)}))},deleteBucketInventory:function(e,t){f.call(this,{Action:"name/cos:DeleteBucketInventory",method:"DELETE",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"inventory",qs:{id:e.Id}},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},putBucketAccelerate:function(e,t){if(e.AccelerateConfiguration){var n={AccelerateConfiguration:e.AccelerateConfiguration||{}},r=i.json2xml(n),o={"Content-Type":"application/xml"};o["Content-MD5"]=i.b64(i.md5(r)),f.call(this,{Action:"name/cos:PutBucketAccelerate",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:r,action:"accelerate",headers:o},(function(e,n){if(e)return t(e);t(null,{statusCode:n.statusCode,headers:n.headers})}))}else t(i.error(new Error("missing param AccelerateConfiguration")))},getBucketAccelerate:function(e,t){f.call(this,{Action:"name/cos:GetBucketAccelerate",method:"GET",Bucket:e.Bucket,Region:e.Region,action:"accelerate"},(function(e,n){e||!n.AccelerateConfiguration&&(n.AccelerateConfiguration={}),t(e,n)}))},putBucketEncryption:function(e,t){var n=e.ServerSideEncryptionConfiguration||{},r=n.Rule||n.Rules||[],o=i.json2xml({ServerSideEncryptionConfiguration:{Rule:r}}),a=e.Headers;a["Content-Type"]="application/xml",a["Content-MD5"]=i.b64(i.md5(o)),f.call(this,{Action:"name/cos:PutBucketEncryption",method:"PUT",Bucket:e.Bucket,Region:e.Region,body:o,action:"encryption",headers:a},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},getBucketEncryption:function(e,t){f.call(this,{Action:"name/cos:GetBucketEncryption",method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"encryption"},(function(e,n){if(e)if(404===e.statusCode&&"NoSuchEncryptionConfiguration"===e.code){var r={EncryptionConfiguration:{Rules:[]},statusCode:e.statusCode};e.headers&&(r.headers=e.headers),t(null,r)}else t(e);else{var o=i.makeArray(n.EncryptionConfiguration&&n.EncryptionConfiguration.Rule||[]);n.EncryptionConfiguration={Rules:o},t(e,n)}}))},deleteBucketEncryption:function(e,t){f.call(this,{Action:"name/cos:DeleteBucketReplication",method:"DELETE",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"encryption"},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},getObject:function(e,t){var n=e.Query||{},r=e.QueryString||"",o=i.throttleOnProgress.call(this,0,e.onProgress),a=e.tracker;a&&a.setParams({signStartTime:(new Date).getTime()}),n["response-content-type"]=e.ResponseContentType,n["response-content-language"]=e.ResponseContentLanguage,n["response-expires"]=e.ResponseExpires,n["response-cache-control"]=e.ResponseCacheControl,n["response-content-disposition"]=e.ResponseContentDisposition,n["response-content-encoding"]=e.ResponseContentEncoding,f.call(this,{Action:"name/cos:GetObject",method:"GET",Bucket:e.Bucket,Region:e.Region,Key:e.Key,VersionId:e.VersionId,DataType:e.DataType,headers:e.Headers,qs:n,qsStr:r,rawBody:!0,onDownloadProgress:o,tracker:a},(function(n,r){if(o(null,!0),n){var a=n.statusCode;return e.Headers["If-Modified-Since"]&&a&&304===a?t(null,{NotModified:!0}):t(n)}t(null,{Body:r.body,ETag:i.attr(r.headers,"etag",""),statusCode:r.statusCode,headers:r.headers})}))},headObject:function(e,t){f.call(this,{Action:"name/cos:HeadObject",method:"HEAD",Bucket:e.Bucket,Region:e.Region,Key:e.Key,VersionId:e.VersionId,headers:e.Headers},(function(n,r){if(n){var o=n.statusCode;return e.Headers["If-Modified-Since"]&&o&&304===o?t(null,{NotModified:!0,statusCode:o}):t(n)}r.ETag=i.attr(r.headers,"etag",""),t(null,r)}))},listObjectVersions:function(e,t){var n={};n.prefix=e.Prefix||"",n.delimiter=e.Delimiter,n["key-marker"]=e.KeyMarker,n["version-id-marker"]=e.VersionIdMarker,n["max-keys"]=e.MaxKeys,n["encoding-type"]=e.EncodingType,f.call(this,{Action:"name/cos:GetBucketObjectVersions",ResourceKey:n.prefix,method:"GET",Bucket:e.Bucket,Region:e.Region,headers:e.Headers,qs:n,action:"versions"},(function(e,n){if(e)return t(e);var r=n.ListVersionsResult||{},o=r.DeleteMarker||[];o=i.isArray(o)?o:[o];var a=r.Version||[];a=i.isArray(a)?a:[a];var s=i.clone(r);delete s.DeleteMarker,delete s.Version,i.extend(s,{DeleteMarkers:o,Versions:a,statusCode:n.statusCode,headers:n.headers}),t(null,s)}))},putObject:function(e,t){var n=this,r=e.ContentLength,o=i.throttleOnProgress.call(n,r,e.onProgress),a=e.Headers;a["Cache-Control"]||a["cache-control"]||(a["Cache-Control"]=""),a["Content-Type"]||a["content-type"]||(a["Content-Type"]=e.Body&&e.Body.type||"");var s=e.UploadAddMetaMd5||n.options.UploadAddMetaMd5||n.options.UploadCheckContentMd5,c=e.tracker;s&&c&&c.setParams({md5StartTime:(new Date).getTime()}),i.getBodyMd5(s,e.Body,(function(s){s&&(c&&c.setParams({md5EndTime:(new Date).getTime()}),n.options.UploadCheckContentMd5&&(a["Content-MD5"]=i.b64(s)),(e.UploadAddMetaMd5||n.options.UploadAddMetaMd5)&&(a["x-cos-meta-md5"]=s)),void 0!==e.ContentLength&&(a["Content-Length"]=e.ContentLength),o(null,!0),f.call(n,{Action:"name/cos:PutObject",TaskId:e.TaskId,method:"PUT",Bucket:e.Bucket,Region:e.Region,Key:e.Key,headers:e.Headers,qs:e.Query,body:e.Body,onProgress:o,tracker:c},(function(a,s){if(a)return o(null,!0),t(a);o({loaded:r,total:r},!0);var c=u({ForcePathStyle:n.options.ForcePathStyle,protocol:n.options.Protocol,domain:n.options.Domain,bucket:e.Bucket,region:n.options.UseAccelerate?"accelerate":e.Region,object:e.Key});c=c.substr(c.indexOf("://")+3),s.Location=c,s.ETag=i.attr(s.headers,"etag",""),t(null,s)}))}),e.onHashProgress)},deleteObject:function(e,t){f.call(this,{Action:"name/cos:DeleteObject",method:"DELETE",Bucket:e.Bucket,Region:e.Region,Key:e.Key,headers:e.Headers,VersionId:e.VersionId,action:e.Recursive?"recursive":""},(function(e,n){if(e){var r=e.statusCode;return r&&404===r?t(null,{BucketNotFound:!0,statusCode:r}):t(e)}t(null,{statusCode:n.statusCode,headers:n.headers})}))},getObjectAcl:function(e,t){var n={};e.VersionId&&(n.versionId=e.VersionId),f.call(this,{Action:"name/cos:GetObjectACL",method:"GET",Bucket:e.Bucket,Region:e.Region,Key:e.Key,headers:e.Headers,qs:n,action:"acl"},(function(e,n){if(e)return t(e);var r=n.AccessControlPolicy||{},o=r.Owner||{},a=r.AccessControlList&&r.AccessControlList.Grant||[];a=i.isArray(a)?a:[a];var c=s(r);delete c.GrantWrite,n.headers&&n.headers["x-cos-acl"]&&(c.ACL=n.headers["x-cos-acl"]),c=i.extend(c,{Owner:o,Grants:a,statusCode:n.statusCode,headers:n.headers}),t(null,c)}))},putObjectAcl:function(e,t){var n=e.Headers,r="";if(e.AccessControlPolicy){var o=i.clone(e.AccessControlPolicy||{}),a=o.Grants||o.Grant;a=i.isArray(a)?a:[a],delete o.Grant,delete o.Grants,o.AccessControlList={Grant:a},r=i.json2xml({AccessControlPolicy:o}),n["Content-Type"]="application/xml",n["Content-MD5"]=i.b64(i.md5(r))}i.each(n,(function(e,t){0===t.indexOf("x-cos-grant-")&&(n[t]=c(n[t]))})),f.call(this,{Action:"name/cos:PutObjectACL",method:"PUT",Bucket:e.Bucket,Region:e.Region,Key:e.Key,action:"acl",headers:n,body:r},(function(e,n){if(e)return t(e);t(null,{statusCode:n.statusCode,headers:n.headers})}))},optionsObject:function(e,t){var n=e.Headers;n.Origin=e.Origin,n["Access-Control-Request-Method"]=e.AccessControlRequestMethod,n["Access-Control-Request-Headers"]=e.AccessControlRequestHeaders,f.call(this,{Action:"name/cos:OptionsObject",method:"OPTIONS",Bucket:e.Bucket,Region:e.Region,Key:e.Key,headers:n},(function(e,n){if(e)return e.statusCode&&403===e.statusCode?t(null,{OptionsForbidden:!0,statusCode:e.statusCode}):t(e);var r=n.headers||{};t(null,{AccessControlAllowOrigin:r["access-control-allow-origin"],AccessControlAllowMethods:r["access-control-allow-methods"],AccessControlAllowHeaders:r["access-control-allow-headers"],AccessControlExposeHeaders:r["access-control-expose-headers"],AccessControlMaxAge:r["access-control-max-age"],statusCode:n.statusCode,headers:n.headers})}))},putObjectCopy:function(e,t){var n=this,r=e.Headers;r["Cache-Control"]||r["cache-control"]||(r["Cache-Control"]="");var o=e.CopySource||"",a=i.getSourceParams.call(this,o);if(a){var s=a.Bucket,c=a.Region,l=decodeURIComponent(a.Key);f.call(this,{Scope:[{action:"name/cos:GetObject",bucket:s,region:c,prefix:l},{action:"name/cos:PutObject",bucket:e.Bucket,region:e.Region,prefix:e.Key}],method:"PUT",Bucket:e.Bucket,Region:e.Region,Key:e.Key,VersionId:e.VersionId,headers:e.Headers},(function(r,o){if(r)return t(r);var a=i.clone(o.CopyObjectResult||{}),s=u({ForcePathStyle:n.options.ForcePathStyle,protocol:n.options.Protocol,domain:n.options.Domain,bucket:e.Bucket,region:e.Region,object:e.Key,isLocation:!0});i.extend(a,{Location:s,statusCode:o.statusCode,headers:o.headers}),t(null,a)}))}else t(i.error(new Error("CopySource format error")))},deleteMultipleObject:function(e,t){var n=e.Objects||[],r=e.Quiet;n=i.isArray(n)?n:[n];var o=i.json2xml({Delete:{Object:n,Quiet:r||!1}}),a=e.Headers;a["Content-Type"]="application/xml",a["Content-MD5"]=i.b64(i.md5(o));var s=i.map(n,(function(t){return{action:"name/cos:DeleteObject",bucket:e.Bucket,region:e.Region,prefix:t.Key}}));f.call(this,{Scope:s,method:"POST",Bucket:e.Bucket,Region:e.Region,body:o,action:"delete",headers:a},(function(e,n){if(e)return t(e);var r=n.DeleteResult||{},o=r.Deleted||[],a=r.Error||[];o=i.isArray(o)?o:[o],a=i.isArray(a)?a:[a];var s=i.clone(r);i.extend(s,{Error:a,Deleted:o,statusCode:n.statusCode,headers:n.headers}),t(null,s)}))},restoreObject:function(e,t){var n=e.Headers;if(e.RestoreRequest){var r=e.RestoreRequest||{},o=i.json2xml({RestoreRequest:r});n["Content-Type"]="application/xml",n["Content-MD5"]=i.b64(i.md5(o)),f.call(this,{Action:"name/cos:RestoreObject",method:"POST",Bucket:e.Bucket,Region:e.Region,Key:e.Key,VersionId:e.VersionId,body:o,action:"restore",headers:n},t)}else t(i.error(new Error("missing param RestoreRequest")))},putObjectTagging:function(e,t){var n=e.Tagging||{},r=n.TagSet||n.Tags||e.Tags||[];r=i.clone(i.isArray(r)?r:[r]);var o=i.json2xml({Tagging:{TagSet:{Tag:r}}}),a=e.Headers;a["Content-Type"]="application/xml",a["Content-MD5"]=i.b64(i.md5(o)),f.call(this,{Action:"name/cos:PutObjectTagging",method:"PUT",Bucket:e.Bucket,Key:e.Key,Region:e.Region,body:o,action:"tagging",headers:a,VersionId:e.VersionId},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},getObjectTagging:function(e,t){f.call(this,{Action:"name/cos:GetObjectTagging",method:"GET",Key:e.Key,Bucket:e.Bucket,Region:e.Region,headers:e.Headers,action:"tagging",VersionId:e.VersionId},(function(e,n){if(e)if(404!==e.statusCode||!e.error||"Not Found"!==e.error&&"NoSuchTagSet"!==e.error.Code)t(e);else{var r={Tags:[],statusCode:e.statusCode};e.headers&&(r.headers=e.headers),t(null,r)}else{var o=[];try{o=n.Tagging.TagSet.Tag||[]}catch(e){}o=i.clone(i.isArray(o)?o:[o]),t(null,{Tags:o,statusCode:n.statusCode,headers:n.headers})}}))},deleteObjectTagging:function(e,t){f.call(this,{Action:"name/cos:DeleteObjectTagging",method:"DELETE",Bucket:e.Bucket,Region:e.Region,Key:e.Key,headers:e.Headers,action:"tagging",VersionId:e.VersionId},(function(e,n){return e&&204===e.statusCode?t(null,{statusCode:e.statusCode}):e?t(e):void t(null,{statusCode:n.statusCode,headers:n.headers})}))},selectObjectContent:function(e,t){if(!e.SelectType)return t(i.error(new Error("missing param SelectType")));var n=e.SelectRequest||{},r=i.json2xml({SelectRequest:n}),o=e.Headers;o["Content-Type"]="application/xml",o["Content-MD5"]=i.b64(i.md5(r)),f.call(this,{Action:"name/cos:GetObject",method:"POST",Bucket:e.Bucket,Region:e.Region,Key:e.Key,headers:e.Headers,action:"select",qs:{"select-type":e.SelectType},VersionId:e.VersionId,body:r,DataType:"arraybuffer",rawBody:!0},(function(e,n){if(e&&204===e.statusCode)return t(null,{statusCode:e.statusCode});if(e)return t(e);var r=i.parseSelectPayload(n.body);t(null,{statusCode:n.statusCode,headers:n.headers,Body:r.body,Payload:r.payload})}))},appendObject:function(e,t){var n=e.Headers;n["Cache-Control"]||n["cache-control"]||(n["Cache-Control"]=""),n["Content-Type"]||n["content-type"]||(n["Content-Type"]=e.Body&&e.Body.type||""),f.call(this,{Action:"name/cos:AppendObject",method:"POST",Bucket:e.Bucket,Region:e.Region,action:"append",Key:e.Key,body:e.Body,qs:{position:e.Position},headers:e.Headers},(function(e,n){if(e)return t(e);t(null,n)}))},uploadPartCopy:function(e,t){var n=e.CopySource||"",r=i.getSourceParams.call(this,n);if(r){var o=r.Bucket,a=r.Region,s=decodeURIComponent(r.Key);f.call(this,{Scope:[{action:"name/cos:GetObject",bucket:o,region:a,prefix:s},{action:"name/cos:PutObject",bucket:e.Bucket,region:e.Region,prefix:e.Key}],method:"PUT",Bucket:e.Bucket,Region:e.Region,Key:e.Key,VersionId:e.VersionId,qs:{partNumber:e.PartNumber,uploadId:e.UploadId},headers:e.Headers},(function(e,n){if(e)return t(e);var r=i.clone(n.CopyPartResult||{});i.extend(r,{statusCode:n.statusCode,headers:n.headers}),t(null,r)}))}else t(i.error(new Error("CopySource format error")))},multipartInit:function(e,t){var n=this,r=e.Headers,o=e.tracker;r["Cache-Control"]||r["cache-control"]||(r["Cache-Control"]=""),r["Content-Type"]||r["content-type"]||(r["Content-Type"]=e.Body&&e.Body.type||"");var a=e.Body&&(e.UploadAddMetaMd5||n.options.UploadAddMetaMd5);a&&o&&o.setParams({md5StartTime:(new Date).getTime()}),i.getBodyMd5(a,e.Body,(function(r){r&&(e.Headers["x-cos-meta-md5"]=r),a&&o&&o.setParams({md5EndTime:(new Date).getTime()}),f.call(n,{Action:"name/cos:InitiateMultipartUpload",method:"POST",Bucket:e.Bucket,Region:e.Region,Key:e.Key,action:"uploads",headers:e.Headers,qs:e.Query,tracker:o},(function(e,n){return e?(o&&o.parent&&o.parent.setParams({errorNode:"multipartInit"}),t(e)):(n=i.clone(n||{}))&&n.InitiateMultipartUploadResult?t(null,i.extend(n.InitiateMultipartUploadResult,{statusCode:n.statusCode,headers:n.headers})):void t(null,n)}))}),e.onHashProgress)},multipartUpload:function(e,t){var n=this;i.getFileSize("multipartUpload",e,(function(){var r=e.tracker,o=n.options.UploadCheckContentMd5;o&&r&&r.setParams({md5StartTime:(new Date).getTime()}),i.getBodyMd5(o,e.Body,(function(a){a&&(e.Headers["Content-MD5"]=i.b64(a)),o&&r&&r.setParams({md5EndTime:(new Date).getTime()}),r&&r.setParams({partNumber:e.PartNumber}),f.call(n,{Action:"name/cos:UploadPart",TaskId:e.TaskId,method:"PUT",Bucket:e.Bucket,Region:e.Region,Key:e.Key,qs:{partNumber:e.PartNumber,uploadId:e.UploadId},headers:e.Headers,onProgress:e.onProgress,body:e.Body||null,tracker:r},(function(e,n){if(e)return r&&r.parent&&r.parent.setParams({errorNode:"multipartUpload"}),t(e);t(null,{ETag:i.attr(n.headers,"etag",""),statusCode:n.statusCode,headers:n.headers})}))}))}))},multipartComplete:function(e,t){for(var n=this,r=e.UploadId,o=e.Parts,a=e.tracker,s=0,c=o.length;s-1?function(e){var t=e.match(/q-url-param-list.*?(?=&)/g)[0],n="q-url-param-list="+encodeURIComponent(t.replace(/q-url-param-list=/,"")).toLowerCase(),r=new RegExp(t,"g");return e.replace(r,n)}(n.Authorization):"sign="+encodeURIComponent(n.Authorization)),n.SecurityToken&&(r+="&x-cos-security-token="+n.SecurityToken),n.ClientIP&&(r+="&clientIP="+n.ClientIP),n.ClientUA&&(r+="&clientUA="+n.ClientUA),n.Token&&(r+="&token="+n.Token),a&&(r+="&"+a),setTimeout((function(){t(null,{Url:r})}))}}));return p?(s+="?"+p.Authorization+(p.SecurityToken?"&x-cos-security-token="+p.SecurityToken:""),a&&(s+="&"+a)):a&&(s+="?"+a),s},getAuth:function(e){return i.getAuth({SecretId:e.SecretId||this.options.SecretId||"",SecretKey:e.SecretKey||this.options.SecretKey||"",Bucket:e.Bucket,Region:e.Region,Method:e.Method,Key:e.Key,Query:e.Query,Headers:e.Headers,Expires:e.Expires,UseRawKey:this.options.UseRawKey,SystemClockOffset:this.options.SystemClockOffset})}};e.exports.init=function(e,t){t.transferToTaskMethod(m,"putObject"),i.each(m,(function(t,n){e.prototype[n]=i.apiWrapper(n,t),function(e,t,n){i.each(["Cors","Acl"],(function(r){if(e.slice(-r.length)===r){var o=e.slice(0,-r.length)+r.toUpperCase(),a=i.apiWrapper(e,t);n[o]=function(){a.apply(this,arguments)}}}))}(n,t,e.prototype)}))}},function(e,t,n){var r=n(0),o=function(e){switch(r(e)){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},i=function(e,t,n){var r={};return t.getAllResponseHeaders().trim().split("\n").forEach((function(e){if(e){var t=e.indexOf(":"),n=e.substr(0,t).trim().toLowerCase(),o=e.substr(t+1).trim();r[n]=o}})),{error:e,statusCode:t.status,statusMessage:t.statusText,headers:r,body:n}},a=function(e,t){return t||"text"!==t?e.response:e.responseText};e.exports=function(e,t){var n,s,c,u,l=(e.method||"GET").toUpperCase(),d=e.url;if(e.qs){var p=(n=e.qs,s=s||"&",c=c||"=",null===n&&(n=void 0),"object"===r(n)?Object.keys(n).map((function(e){var t=encodeURIComponent(o(e))+c;return Array.isArray(n[e])?n[e].map((function(e){return t+encodeURIComponent(o(e))})).join(s):t+encodeURIComponent(o(n[e]))})).filter(Boolean).join(s):u?encodeURIComponent(o(u))+c+encodeURIComponent(o(n)):"");p&&(d+=(-1===d.indexOf("?")?"?":"&")+p)}var f=new XMLHttpRequest;if(f.open(l,d,!0),f.responseType=e.dataType||"text",e.xhrFields)for(var h in e.xhrFields)f[h]=e.xhrFields[h];var m=e.headers;if(m)for(var g in m)m.hasOwnProperty(g)&&"content-length"!==g.toLowerCase()&&"user-agent"!==g.toLowerCase()&&"origin"!==g.toLowerCase()&&"host"!==g.toLowerCase()&&f.setRequestHeader(g,m[g]);return e.onProgress&&f.upload&&(f.upload.onprogress=e.onProgress),e.onDownloadProgress&&(f.onprogress=e.onDownloadProgress),e.timeout&&(f.timeout=e.timeout),f.ontimeout=function(e){var n=new Error("timeout");t(i(n,f))},f.onload=function(){t(i(null,f,a(f,e.dataType)))},f.onerror=function(n){var r=a(f,e.dataType);if(r)t(i(null,f,r));else{var o=f.statusText;o||0!==f.status||(o=new Error("CORS blocked or network error")),t(i(o,f,r))}},f.send(e.body||""),f}},function(e,t,n){var r=n(0),o=n(9),i=n(30),a=n(8).EventProxy,s=n(1),c=n(6);function u(e,t){var n=e.TaskId,r=e.Bucket,c=e.Region,u=e.Key,p=e.StorageClass,f=this,h={},m=e.FileSize,g=e.SliceSize,y=Math.ceil(m/g),v=0,C=s.throttleOnProgress.call(f,m,e.onHashProgress),k=function(t,n){var r=t.length;if(0===r)return n(null,!0);if(r>y)return n(null,!1);if(r>1&&Math.max(t[0].Size,t[1].Size)!==g)return n(null,!1);!function o(i){if(i=a.length)S.emit("has_and_check_upload_id",t);else{var p=a[l];if(!s.isInArray(t,p))return o.removeUploadId.call(f,p),void i(l+1);o.using[p]?i(l+1):d.call(f,{Bucket:r,Region:c,Key:u,UploadId:p,tracker:e.tracker},(function(e,t){f._isRunningTask(n)&&(e?(o.removeUploadId.call(f,p),i(l+1)):S.emit("upload_id_available",{UploadId:p,PartList:t.PartList}))}))}}(0)}else S.emit("has_and_check_upload_id",t)})),S.on("get_remote_upload_id_list",(function(){l.call(f,{Bucket:r,Region:c,Key:u,tracker:e.tracker},(function(t,i){if(f._isRunningTask(n)){if(t)return S.emit("error",t);var a=s.filter(i.UploadList,(function(e){return e.Key===u&&(!p||e.StorageClass.toUpperCase()===p.toUpperCase())})).reverse().map((function(e){return e.UploadId||e.UploadID}));if(a.length)S.emit("seek_local_avail_upload_id",a);else{var c,l=o.getFileId(e.Body,e.ChunkSize,r,u);l&&(c=o.getUploadIdList.call(f,l))&&s.each(c,(function(e){o.removeUploadId.call(f,e)})),S.emit("no_available_upload_id")}}}))})),S.emit("get_remote_upload_id_list")}function l(e,t){var n=this,r=[],o={Bucket:e.Bucket,Region:e.Region,Prefix:e.Key,calledBySdk:e.calledBySdk||"sliceUploadFile",tracker:e.tracker};!function e(){n.multipartList(o,(function(n,i){if(n)return t(n);r.push.apply(r,i.Upload||[]),"true"===i.IsTruncated?(o.KeyMarker=i.NextKeyMarker,o.UploadIdMarker=i.NextUploadIdMarker,e()):t(null,{UploadList:r})}))}()}function d(e,t){var n=this,r=[],o={Bucket:e.Bucket,Region:e.Region,Key:e.Key,UploadId:e.UploadId,calledBySdk:"sliceUploadFile",tracker:e.tracker};!function e(){n.multipartListPart(o,(function(n,i){if(n)return t(n);r.push.apply(r,i.Part||[]),"true"===i.IsTruncated?(o.PartNumberMarker=i.NextPartNumberMarker,e()):t(null,{PartList:r})}))}()}function p(e,t){var n=this,r=e.TaskId,o=e.Bucket,a=e.Region,c=e.Key,u=e.UploadData,l=e.FileSize,d=e.SliceSize,p=Math.min(e.AsyncLimit||n.options.ChunkParallelLimit||1,256),h=e.Body,m=Math.ceil(l/d),g=0,y=e.ServerSideEncryption,v=e.Headers,C=s.filter(u.PartList,(function(e){return e.Uploaded&&(g+=e.PartNumber>=m&&l%d||d),!e.Uploaded})),k=e.onProgress;i.eachLimit(C,p,(function(t,i){if(n._isRunningTask(r)){var s=t.PartNumber,p=Math.min(l,t.PartNumber*d)-(t.PartNumber-1)*d,m=0;f.call(n,{TaskId:r,Bucket:o,Region:a,Key:c,SliceSize:d,FileSize:l,PartNumber:s,ServerSideEncryption:y,Body:h,UploadData:u,Headers:v,onProgress:function(e){g+=e.loaded-m,m=e.loaded,k({loaded:g,total:l})},tracker:e.tracker},(function(e,o){n._isRunningTask(r)&&(e||o.ETag||(e='get ETag error, please add "ETag" to CORS ExposeHeader setting.( 获取ETag失败,请在CORS ExposeHeader设置中添加ETag,请参考文档:https://cloud.tencent.com/document/product/436/13318 )'),e?g-=m:(g+=p-m,t.ETag=o.ETag),k({loaded:g,total:l}),i(e||null,o))}))}}),(function(e){if(n._isRunningTask(r))return e?t(e):void t(null,{UploadId:u.UploadId,SliceList:u.PartList})}))}function f(e,t){var n=this,r=e.TaskId,o=e.Bucket,a=e.Region,c=e.Key,u=e.FileSize,l=e.Body,d=1*e.PartNumber,p=e.SliceSize,f=e.ServerSideEncryption,h=e.UploadData,m=e.Headers||{},g=n.options.ChunkRetryTimes+1,y=p*(d-1),v=p,C=y+p;C>u&&(v=(C=u)-y);var k=["x-cos-traffic-limit","x-cos-mime-limit"],S={};s.each(m,(function(e,t){k.indexOf(t)>-1&&(S[t]=e)}));var b=h.PartList[d-1];i.retry(g,(function(t){n._isRunningTask(r)&&s.fileSlice(l,y,C,!0,(function(i){n.multipartUpload({TaskId:r,Bucket:o,Region:a,Key:c,ContentLength:v,PartNumber:d,UploadId:h.UploadId,ServerSideEncryption:f,Body:i,Headers:S,onProgress:e.onProgress,calledBySdk:"sliceUploadFile",tracker:e.tracker},(function(e,o){if(n._isRunningTask(r))return e?t(e):(b.Uploaded=!0,t(null,o))}))}))}),(function(e,o){if(n._isRunningTask(r))return t(e,o)}))}function h(e,t){var n=e.Bucket,r=e.Region,o=e.Key,a=e.UploadId,s=e.SliceList,c=this,u=this.options.ChunkRetryTimes+1,l=e.Headers,d=s.map((function(e){return{PartNumber:e.PartNumber,ETag:e.ETag}}));i.retry(u,(function(t){c.multipartComplete({Bucket:n,Region:r,Key:o,UploadId:a,Parts:d,Headers:l,calledBySdk:"sliceUploadFile",tracker:e.tracker},t)}),(function(e,n){t(e,n)}))}function m(e,t){var n=e.Bucket,r=e.Region,o=e.Key,a=e.AbortArray,s=e.AsyncLimit||1,c=this,u=0,l=new Array(a.length);i.eachLimit(a,s,(function(t,i){var a=u;if(o&&o!==t.Key)return l[a]={error:{KeyNotMatch:!0}},void i(null);var s=t.UploadId||t.UploadID;c.multipartAbort({Bucket:n,Region:r,Key:t.Key,Headers:e.Headers,UploadId:s},(function(e){var o={Bucket:n,Region:r,Key:t.Key,UploadId:s};l[a]={error:e,task:o},i(null)})),u++}),(function(e){if(e)return t(e);for(var n=[],r=[],o=0,i=l.length;oo?"sliceUploadFile":"putObject",h=e.onFileFinish;i.push({api:f,params:e,callback:function(n,r){e.tracker&&e.tracker.formatResult(n,r),h&&h(n,r,l),t&&t(n,r)}}),n._addTasks(i)},uploadFiles:function(e,t){var n=this,o=void 0===e.SliceSize?n.options.SliceSize:e.SliceSize,i=0,a=0,u=s.throttleOnProgress.call(n,a,e.onProgress),l=e.files.length,d=e.onFileFinish,p=Array(l),f=function(e,n,r){u(null,!0),d&&d(e,n,r),p[r.Index]={options:r,error:e,data:n},--l<=0&&t&&t(null,{files:p})},h=[];s.each(e.files,(function(e,t){!function(){var l=e.Body,d=l.size||l.length||0,p={Index:t,TaskId:""};if(i+=d,n.options.EnableTracker){var m=n.options.UseAccelerate||"string"==typeof n.options.Domain&&n.options.Domain.includes("accelerate.");e.tracker=new c({bucket:e.Bucket,region:e.Region,apiName:"uploadFiles",fileKey:e.Key,fileSize:d,accelerate:m,deepTracker:n.options.DeepTracker,customId:n.options.CustomId,delay:n.options.TrackerDelay})}s.each(e,(function(e,t){"object"!==r(e)&&"function"!=typeof e&&(p[t]=e)}));var g=e.onTaskReady;e.onTaskReady=function(e){p.TaskId=e,g&&g(e)};var y=0,v=e.onProgress;e.onProgress=function(e){a=a-y+e.loaded,y=e.loaded,v&&v(e),u({loaded:a,total:i})};var C=d>o?"sliceUploadFile":"putObject",k=e.onFileFinish;h.push({api:C,params:e,callback:function(t,n){e.tracker&&e.tracker.formatResult(t,n),k&&k(t,n),f&&f(t,n,p)}})}()})),n._addTasks(h)},sliceCopyFile:function(e,t){var n=new a,r=this,c=e.Bucket,u=e.Region,l=e.Key,p=e.CopySource,f=s.getSourceParams.call(this,p);if(f){var h=f.Bucket,m=f.Region,y=decodeURIComponent(f.Key),v=void 0===e.CopySliceSize?r.options.CopySliceSize:e.CopySliceSize;v=Math.max(0,v);var C,k,S=e.CopyChunkSize||this.options.CopyChunkSize,b=this.options.CopyChunkParallelLimit,T=this.options.ChunkRetryTimes+1,R=0,E=0,w={},A={},x={};n.on("copy_slice_complete",(function(n){var a={};s.each(e.Headers,(function(e,t){0===t.toLowerCase().indexOf("x-cos-meta-")&&(a[t]=e)}));var d=s.map(n.PartList,(function(e){return{PartNumber:e.PartNumber,ETag:e.ETag}}));i.retry(T,(function(e){r.multipartComplete({Bucket:c,Region:u,Key:l,UploadId:n.UploadId,Parts:d,calledBySdk:"sliceCopyFile"},e)}),(function(e,r){if(o.removeUsing(n.UploadId),e)return k(null,!0),t(e);o.removeUploadId(n.UploadId),k({loaded:C,total:C},!0),t(null,r)}))})),n.on("get_copy_data_finish",(function(e){var a=o.getCopyFileId(p,w,S,c,l);a&&o.saveUploadId(a,e.UploadId,r.options.UploadIdCacheLimit),o.setUsing(e.UploadId);var d=s.filter(e.PartList,(function(e){return e.Uploaded&&(E+=e.PartNumber>=R&&C%S||S),!e.Uploaded}));i.eachLimit(d,b,(function(t,n){var o=t.PartNumber,a=t.CopySourceRange,s=t.end-t.start;i.retry(T,(function(t){g.call(r,{Bucket:c,Region:u,Key:l,CopySource:p,UploadId:e.UploadId,PartNumber:o,CopySourceRange:a},t)}),(function(e,r){if(e)return n(e);k({loaded:E+=s,total:C}),t.ETag=r.ETag,n(e||null,r)}))}),(function(r){if(r)return o.removeUsing(e.UploadId),k(null,!0),t(r);n.emit("copy_slice_complete",e)}))})),n.on("get_chunk_size_finish",(function(){var i=function(){r.multipartInit({Bucket:c,Region:u,Key:l,Headers:x},(function(r,o){if(r)return t(r);e.UploadId=o.UploadId,n.emit("get_copy_data_finish",{UploadId:e.UploadId,PartList:e.PartList})}))},a=o.getCopyFileId(p,w,S,c,l),f=o.getUploadIdList(a);if(!a||!f)return i();!function t(a){if(a>=f.length)return i();var p=f[a];if(o.using[p])return t(a+1);d.call(r,{Bucket:c,Region:u,Key:l,UploadId:p},(function(r,i){if(r)o.removeUploadId(p),t(a+1);else{if(o.using[p])return t(a+1);var c={},u=0;s.each(i.PartList,(function(e){var t=parseInt(e.Size),n=u+t-1;c[e.PartNumber+"|"+u+"|"+n]=e.ETag,u+=t})),s.each(e.PartList,(function(e){var t=c[e.PartNumber+"|"+e.start+"|"+e.end];t&&(e.ETag=t,e.Uploaded=!0)})),n.emit("get_copy_data_finish",{UploadId:p,PartList:e.PartList})}}))}(0)})),n.on("get_file_size_finish",(function(){if(function(){for(var t=[1,2,4,8,16,32,64,128,256,512,1024,2048,4096,5120],n=1048576,o=0;o11&&(A[t]=e)})),n.emit("get_file_size_finish")}else t(s.error(new Error('get Content-Length error, please add "Content-Length" to CORS ExposeHeader setting.( 获取Content-Length失败,请在CORS ExposeHeader设置中添加Content-Length,请参考文档:https://cloud.tencent.com/document/product/436/13318 )')))}))}else t(s.error(new Error("CopySource format error")))}};e.exports.init=function(e,t){t.transferToTaskMethod(y,"sliceUploadFile"),s.each(y,(function(t,n){e.prototype[n]=s.apiWrapper(n,t)}))}},function(e,t){var n={eachLimit:function(e,t,n,r){if(r=r||function(){},!e.length||t<=0)return r();var o=0,i=0,a=0;!function s(){if(o>=e.length)return r();for(;a=e.length?r():s())}))}()},retry:function(e,t,n){e<1?n():function r(o){t((function(t,i){t&&o t ? 1 : -1; + }); + } + var p, + f = [ + 'cache-control', + 'content-disposition', + 'content-encoding', + 'content-length', + 'content-md5', + 'expect', + 'expires', + 'host', + 'if-match', + 'if-modified-since', + 'if-none-match', + 'if-unmodified-since', + 'origin', + 'range', + 'transfer-encoding', + ], + h = function (e, t, n) { + var r = t / 8, + o = e.slice(n, n + r); + return new Uint8Array(o).reverse(), new { 8: Uint8Array, 16: Uint16Array, 32: Uint32Array }[t](o)[0]; + }, + m = function (e, t, n, r) { + var o = e.slice(t, n), + i = ''; + return ( + new Uint8Array(o).forEach(function (e) { + i += String.fromCharCode(e); + }), + r && (i = decodeURIComponent(escape(i))), + i + ); + }, + g = function () {}, + y = function (e) { + var t = {}; + for (var n in e) e.hasOwnProperty(n) && void 0 !== e[n] && null !== e[n] && (t[n] = e[n]); + return t; + }, + v = + ((p = function (e, t) { + (e = e.split('.')), (t = t.split('.')); + for (var n = 0; n < t.length; n++) if (e[n] !== t[n]) return parseInt(e[n]) > parseInt(t[n]) ? 1 : -1; + return 0; + }), + (function (e) { + if (!e) return !1; + var t = (e.match(/Chrome\/([.\d]+)/) || [])[1], + n = (e.match(/QBCore\/([.\d]+)/) || [])[1], + r = (e.match(/QQBrowser\/([.\d]+)/) || [])[1]; + return ( + (t && p(t, '53.0.2785.116') < 0 && n && p(n, '3.53.991.400') < 0 && r && p(r, '9.0.2524.400') <= 0) || + !1 + ); + })('undefined' != typeof navigator && navigator.userAgent)), + C = 1048576; + function k(e) { + return R(e, function (e) { + return 'object' === r(e) && null !== e ? k(e) : e; + }); + } + function S(e, t) { + return ( + T(t, function (n, r) { + e[r] = t[r]; + }), + e + ); + } + function b(e) { + return e instanceof Array; + } + function T(e, t) { + for (var n in e) e.hasOwnProperty(n) && t(e[n], n); + } + function R(e, t) { + var n = b(e) ? [] : {}; + for (var r in e) e.hasOwnProperty(r) && (n[r] = t(e[r], r)); + return n; + } + var E = function (e, t) { + var n = t.Bucket, + r = t.Region, + o = t.Key, + i = this.options.Domain, + a = !i || ('string' == typeof i && i.indexOf('{Bucket}') > -1), + s = !i || ('string' == typeof i && i.indexOf('{Region}') > -1); + if ( + e.indexOf('Bucket') > -1 || + 'deleteMultipleObject' === e || + 'multipartList' === e || + 'listObjectVersions' === e + ) { + if (a && !n) return 'Bucket'; + if (s && !r) return 'Region'; + } else if ( + e.indexOf('Object') > -1 || + e.indexOf('multipart') > -1 || + 'sliceUploadFile' === e || + 'abortUploadTask' === e + ) { + if (a && !n) return 'Bucket'; + if (s && !r) return 'Region'; + if (!o) return 'Key'; + } + return !1; + }, + w = function (e, t) { + if (((t = S({}, t)), 'getAuth' !== e && 'getV4Auth' !== e && 'getObjectUrl' !== e)) { + var n = t.Headers || {}; + if (t && 'object' === r(t)) { + !(function () { + for (var e in t) t.hasOwnProperty(e) && e.indexOf('x-cos-') > -1 && (n[e] = t[e]); + })(); + O.each( + { + 'x-cos-mfa': 'MFA', + 'Content-MD5': 'ContentMD5', + 'Content-Length': 'ContentLength', + 'Content-Type': 'ContentType', + Expect: 'Expect', + Expires: 'Expires', + 'Cache-Control': 'CacheControl', + 'Content-Disposition': 'ContentDisposition', + 'Content-Encoding': 'ContentEncoding', + Range: 'Range', + 'If-Modified-Since': 'IfModifiedSince', + 'If-Unmodified-Since': 'IfUnmodifiedSince', + 'If-Match': 'IfMatch', + 'If-None-Match': 'IfNoneMatch', + 'x-cos-copy-source': 'CopySource', + 'x-cos-copy-source-Range': 'CopySourceRange', + 'x-cos-metadata-directive': 'MetadataDirective', + 'x-cos-copy-source-If-Modified-Since': 'CopySourceIfModifiedSince', + 'x-cos-copy-source-If-Unmodified-Since': 'CopySourceIfUnmodifiedSince', + 'x-cos-copy-source-If-Match': 'CopySourceIfMatch', + 'x-cos-copy-source-If-None-Match': 'CopySourceIfNoneMatch', + 'x-cos-acl': 'ACL', + 'x-cos-grant-read': 'GrantRead', + 'x-cos-grant-write': 'GrantWrite', + 'x-cos-grant-full-control': 'GrantFullControl', + 'x-cos-grant-read-acp': 'GrantReadAcp', + 'x-cos-grant-write-acp': 'GrantWriteAcp', + 'x-cos-storage-class': 'StorageClass', + 'x-cos-traffic-limit': 'TrafficLimit', + 'x-cos-mime-limit': 'MimeLimit', + 'x-cos-server-side-encryption-customer-algorithm': 'SSECustomerAlgorithm', + 'x-cos-server-side-encryption-customer-key': 'SSECustomerKey', + 'x-cos-server-side-encryption-customer-key-MD5': 'SSECustomerKeyMD5', + 'x-cos-server-side-encryption': 'ServerSideEncryption', + 'x-cos-server-side-encryption-cos-kms-key-id': 'SSEKMSKeyId', + 'x-cos-server-side-encryption-context': 'SSEContext', + 'Pic-Operations': 'PicOperations', + }, + function (e, r) { + void 0 !== t[e] && (n[r] = t[e]); + }, + ), + (t.Headers = y(n)); + } + } + return t; + }, + A = function (e) { + return Date.now() + (e || 0); + }, + x = + 'object' === ('undefined' == typeof navigator ? 'undefined' : r(navigator)) && + !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), + I = + 'object' === ('undefined' == typeof navigator ? 'undefined' : r(navigator)) && + /\sQQ/i.test(navigator.userAgent), + O = { + noop: g, + formatParams: w, + apiWrapper: function (e, t) { + return function (n, r) { + var o, + i = this; + if (('function' == typeof n && ((r = n), (n = {})), (n = w(e, n)), i.options.EnableTracker)) + if ('sliceUploadFile' === n.calledBySdk) + o = n.tracker && n.tracker.generateSubTracker({ apiName: e }); + else if (['uploadFile', 'uploadFiles'].includes(e)) o = null; + else { + var a = -1; + n.Body && (a = 'string' == typeof n.Body ? n.Body.length : n.Body.size || n.Body.byteLength || -1), + (o = new u({ + bucket: n.Bucket, + region: n.Region, + apiName: e, + fileKey: n.Key, + fileSize: a, + deepTracker: i.options.DeepTracker, + customId: i.options.CustomId, + delay: i.options.TrackerDelay, + })); + } + n.tracker = o; + var s = function (e) { + return ( + e && + e.headers && + (e.headers['x-cos-request-id'] && (e.RequestId = e.headers['x-cos-request-id']), + e.headers['x-ci-request-id'] && (e.RequestId = e.headers['x-ci-request-id']), + e.headers['x-cos-version-id'] && (e.VersionId = e.headers['x-cos-version-id']), + e.headers['x-cos-delete-marker'] && (e.DeleteMarker = e.headers['x-cos-delete-marker'])), + e + ); + }, + c = function (e, t) { + o && o.formatResult(e, t), r && r(s(e), s(t)); + }, + l = (function () { + if ('getService' !== e && 'abortUploadTask' !== e) { + var t = E.call(i, e, n); + if (t) return 'missing param ' + t; + if (n.Region) { + if (i.options.CompatibilityMode) { + if (!/^([a-z\d-.]+)$/.test(n.Region)) return 'Region format error.'; + } else { + if (n.Region.indexOf('cos.') > -1) return 'param Region should not be start with "cos."'; + if (!/^([a-z\d-]+)$/.test(n.Region)) return 'Region format error.'; + } + !i.options.CompatibilityMode && + -1 === n.Region.indexOf('-') && + 'yfb' !== n.Region && + 'default' !== n.Region && + n.Region; + } + if (n.Bucket) { + if (!/^([a-z\d-]+)-(\d+)$/.test(n.Bucket)) + if (n.AppId) n.Bucket = n.Bucket + '-' + n.AppId; + else { + if (!i.options.AppId) return 'Bucket should format as "test-1250000000".'; + n.Bucket = n.Bucket + '-' + i.options.AppId; + } + n.AppId && delete n.AppId; + } + !i.options.UseRawKey && n.Key && '/' === n.Key.substr(0, 1) && (n.Key = n.Key.substr(1)); + } + })(), + d = ['getAuth', 'getObjectUrl'].includes(e); + if ('function' == typeof Promise && !d && !r) + return new Promise(function (e, o) { + if ( + ((r = function (t, n) { + t ? o(t) : e(n); + }), + l) + ) + return c(O.error(new Error(l))); + t.call(i, n, c); + }); + if (l) return c(O.error(new Error(l))); + var p = t.call(i, n, c); + return d ? p : void 0; + }; + }, + xml2json: a, + json2xml: s, + md5: o, + clearKey: y, + fileSlice: function (e, t, n, r, o) { + var i; + if ( + (e.slice + ? (i = e.slice(t, n)) + : e.mozSlice + ? (i = e.mozSlice(t, n)) + : e.webkitSlice && (i = e.webkitSlice(t, n)), + r && v) + ) { + var a = new FileReader(); + (a.onload = function (e) { + (i = null), o(new Blob([a.result])); + }), + a.readAsArrayBuffer(i); + } else o(i); + }, + getBodyMd5: function (e, t, n, r) { + (n = n || g), + e + ? 'string' == typeof t + ? n(O.md5(t, !0)) + : Blob && t instanceof Blob + ? O.getFileMd5( + t, + function (e, t) { + n(t); + }, + r, + ) + : n() + : n(); + }, + getFileMd5: function (e, t, n) { + var r = e.size, + i = 0, + a = o.getCtx(); + !(function o(s) { + if (s >= r) { + var c = a.digest('hex'); + t(null, c); + } else { + var u = Math.min(r, s + C); + O.fileSlice(e, s, u, !1, function (e) { + !(function (e, t) { + var n, + r = new FileReader(); + FileReader.prototype.readAsBinaryString + ? ((n = FileReader.prototype.readAsBinaryString), + (r.onload = function () { + t(this.result); + })) + : FileReader.prototype.readAsArrayBuffer && + (n = function (e) { + var n = '', + r = new FileReader(); + (r.onload = function (e) { + for (var o = new Uint8Array(r.result), i = o.byteLength, a = 0; a < i; a++) + n += String.fromCharCode(o[a]); + t(n); + }), + r.readAsArrayBuffer(e); + }), + n.call(r, e); + })(e, function (t) { + (e = null), + (a = a.update(t, !0)), + (i += t.length), + (t = null), + n && n({ loaded: i, total: r, percent: Math.round((i / r) * 1e4) / 1e4 }), + o(s + C); + }); + }); + } + })(0); + }, + b64: function (e) { + var t, + n, + r, + o = ''; + for (t = 0, n = e.length / 2; t < n; t++) + (r = parseInt(e[2 * t] + e[2 * t + 1], 16)), (o += String.fromCharCode(r)); + return btoa(o); + }, + extend: S, + isArray: b, + isInArray: function (e, t) { + for (var n = !1, r = 0; r < e.length; r++) + if (t === e[r]) { + n = !0; + break; + } + return n; + }, + makeArray: function (e) { + return b(e) ? e : [e]; + }, + each: T, + map: R, + filter: function (e, t) { + var n = b(e), + r = n ? [] : {}; + for (var o in e) e.hasOwnProperty(o) && t(e[o], o) && (n ? r.push(e[o]) : (r[o] = e[o])); + return r; + }, + clone: k, + attr: function (e, t, n) { + return e && t in e ? e[t] : n; + }, + uuid: function () { + var e = function () { + return ((65536 * (1 + Math.random())) | 0).toString(16).substring(1); + }; + return e() + e() + '-' + e() + '-' + e() + '-' + e() + '-' + e() + e() + e(); + }, + camSafeUrlEncode: l, + throttleOnProgress: function (e, t) { + var n, + r, + o = this, + i = 0, + a = 0, + s = Date.now(); + function c() { + if (((r = 0), t && 'function' == typeof t)) { + n = Date.now(); + var o, + c = Math.max(0, Math.round(((a - i) / ((n - s) / 1e3)) * 100) / 100) || 0; + (o = 0 === a && 0 === e ? 1 : Math.floor((a / e) * 100) / 100 || 0), (s = n), (i = a); + try { + t({ loaded: a, total: e, speed: c, percent: o }); + } catch (e) {} + } + } + return function (t, n) { + if ((t && ((a = t.loaded), (e = t.total)), n)) clearTimeout(r), c(); + else { + if (r) return; + r = setTimeout(c, o.options.ProgressInterval); + } + }; + }, + getFileSize: function (e, t, n) { + var r; + 'string' == typeof t.Body + ? (t.Body = new Blob([t.Body], { type: 'text/plain' })) + : t.Body instanceof ArrayBuffer && (t.Body = new Blob([t.Body])), + t.Body && + (t.Body instanceof Blob || + '[object File]' === t.Body.toString() || + '[object Blob]' === t.Body.toString()) + ? ((r = t.Body.size), (t.ContentLength = r), n(null, r)) + : n(O.error(new Error('params body format error, Only allow File|Blob|String.'))); + }, + getSkewTime: A, + error: function (e, t) { + var n = e; + return ( + (e.message = e.message || null), + 'string' == typeof t + ? ((e.error = t), (e.message = t)) + : 'object' === r(t) && + null !== t && + (S(e, t), + (t.code || t.name) && (e.code = t.code || t.name), + t.message && (e.message = t.message), + t.stack && (e.stack = t.stack)), + 'function' == typeof Object.defineProperty && + (Object.defineProperty(e, 'name', { writable: !0, enumerable: !1 }), + Object.defineProperty(e, 'message', { enumerable: !0 })), + (e.name = (t && t.name) || e.name || e.code || 'Error'), + e.code || (e.code = e.name), + e.error || (e.error = k(n)), + e + ); + }, + obj2str: function (e, t) { + var n, + r, + o, + i = [], + a = d(e); + for (n = 0; n < a.length; n++) + (o = void 0 === e[(r = a[n])] || null === e[r] ? '' : '' + e[r]), + (r = t ? l(r).toLowerCase() : l(r)), + (o = l(o) || ''), + i.push(r + '=' + o); + return i.join('&'); + }, + getAuth: function (e) { + var t, + n = (e = e || {}).SecretId, + r = e.SecretKey, + o = e.KeyTime, + a = (e.method || e.Method || 'get').toLowerCase(), + s = k(e.Query || e.params || {}), + c = (function (e) { + var t = {}; + for (var n in e) { + var r = n.toLowerCase(); + (r.indexOf('x-cos-') > -1 || f.indexOf(r) > -1) && (t[n] = e[n]); + } + return t; + })(k(e.Headers || e.headers || {})), + u = e.Key || ''; + e.UseRawKey + ? (t = e.Pathname || e.pathname || '/' + u) + : 0 !== (t = e.Pathname || e.pathname || u).indexOf('/') && (t = '/' + t); + var l = !1 !== e.ForceSignHost; + if ( + (!c.Host && + !c.host && + e.Bucket && + e.Region && + l && + (c.Host = e.Bucket + '.cos.' + e.Region + '.myqcloud.com'), + !n) + ) + throw new Error('missing param SecretId'); + if (!r) throw new Error('missing param SecretKey'); + var p = Math.round(A(e.SystemClockOffset) / 1e3) - 1, + h = p, + m = e.Expires || e.expires; + h += void 0 === m ? 900 : 1 * m || 0; + var g = n, + y = o || p + ';' + h, + v = o || p + ';' + h, + C = d(c, !0).join(';').toLowerCase(), + S = d(s, !0).join(';').toLowerCase(), + b = i.HmacSHA1(v, r).toString(), + T = [a, t, O.obj2str(s, !0), O.obj2str(c, !0), ''].join('\n'), + R = ['sha1', y, i.SHA1(T).toString(), ''].join('\n'); + return [ + 'q-sign-algorithm=sha1', + 'q-ak=' + g, + 'q-sign-time=' + y, + 'q-key-time=' + v, + 'q-header-list=' + C, + 'q-url-param-list=' + S, + 'q-signature=' + i.HmacSHA1(R, b).toString(), + ].join('&'); + }, + parseSelectPayload: function (e) { + for (var t = {}, n = m(e), r = { records: [] }; e.byteLength; ) { + var o, + i = h(e, 32, 0), + a = h(e, 32, 4), + s = i - a - 16, + c = 0; + for (e = e.slice(12); c < a; ) { + var u = h(e, 8, c), + l = m(e, c + 1, c + 1 + u), + d = h(e, 16, c + u + 2), + p = m(e, c + u + 4, c + u + 4 + d); + (t[l] = p), (c += u + 4 + d); + } + if ('Records' === t[':event-type']) (o = m(e, c, c + s, !0)), r.records.push(o); + else if ('Stats' === t[':event-type']) (o = m(e, c, c + s, !0)), (r.stats = O.xml2json(o).Stats); + else if ('error' === t[':event-type']) { + var f = t[':error-code'], + g = t[':error-message'], + y = new Error(g); + (y.message = g), (y.name = y.code = f), (r.error = y); + } else ['Progress', 'Continuation', 'End'].includes(t[':event-type']); + e = e.slice(c + s + 4); + } + return { payload: r.records.join(''), body: n }; + }, + getSourceParams: function (e) { + var t = this.options.CopySourceParser; + if (t) return t(e); + var n = e.match( + /^([^.]+-\d+)\.cos(v6|-cdc|-cdz|-internal)?\.([^.]+)\.((myqcloud\.com)|(tencentcos\.cn))\/(.+)$/, + ); + return n ? { Bucket: n[1], Region: n[3], Key: n[7] } : null; + }, + isBrowser: !0, + isNode: function () { + return ( + 'object' !== ('undefined' == typeof window ? 'undefined' : r(window)) && + 'object' === (void 0 === t ? 'undefined' : r(t)) && + !( + 'object' === ('undefined' == typeof globalThis ? 'undefined' : r(globalThis)) && + ('DedicatedWorkerGlobalScope' === globalThis.constructor.name || globalThis.FileReaderSync) + ) + ); + }, + isCIHost: function (e) { + return /^https?:\/\/([^/]+\.)?ci\.[^/]+/.test(e); + }, + isIOS_QQ: x && I, + encodeBase64: function (e, t) { + var n = c.encode(e); + return t && (n = n.replaceAll('+', '-').replaceAll('/', '_').replaceAll('=', '')), n; + }, + }; + e.exports = O; + }).call(this, n(3)); + }, + function (e, t, n) { + 'use strict'; + function r(e, t) { + return void 0 === t && (t = Object), t && 'function' == typeof t.freeze ? t.freeze(e) : e; + } + var o = r({ + HTML: 'text/html', + isHTML: function (e) { + return e === o.HTML; + }, + XML_APPLICATION: 'application/xml', + XML_TEXT: 'text/xml', + XML_XHTML_APPLICATION: 'application/xhtml+xml', + XML_SVG_IMAGE: 'image/svg+xml', + }), + i = r({ + HTML: 'http://www.w3.org/1999/xhtml', + isHTML: function (e) { + return e === i.HTML; + }, + SVG: 'http://www.w3.org/2000/svg', + XML: 'http://www.w3.org/XML/1998/namespace', + XMLNS: 'http://www.w3.org/2000/xmlns/', + }); + (t.assign = function (e, t) { + if (null === e || 'object' != typeof e) throw new TypeError('target is not an object'); + for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]); + return e; + }), + (t.find = function (e, t, n) { + if ((void 0 === n && (n = Array.prototype), e && 'function' == typeof n.find)) return n.find.call(e, t); + for (var r = 0; r < e.length; r++) + if (Object.prototype.hasOwnProperty.call(e, r)) { + var o = e[r]; + if (t.call(void 0, o, r, e)) return o; + } + }), + (t.freeze = r), + (t.MIME_TYPE = o), + (t.NAMESPACE = i); + }, + function (e, t) { + var n, + r, + o = (e.exports = {}); + function i() { + throw new Error('setTimeout has not been defined'); + } + function a() { + throw new Error('clearTimeout has not been defined'); + } + function s(e) { + if (n === setTimeout) return setTimeout(e, 0); + if ((n === i || !n) && setTimeout) return (n = setTimeout), setTimeout(e, 0); + try { + return n(e, 0); + } catch (t) { + try { + return n.call(null, e, 0); + } catch (t) { + return n.call(this, e, 0); + } + } + } + !(function () { + try { + n = 'function' == typeof setTimeout ? setTimeout : i; + } catch (e) { + n = i; + } + try { + r = 'function' == typeof clearTimeout ? clearTimeout : a; + } catch (e) { + r = a; + } + })(); + var c, + u = [], + l = !1, + d = -1; + function p() { + l && c && ((l = !1), c.length ? (u = c.concat(u)) : (d = -1), u.length && f()); + } + function f() { + if (!l) { + var e = s(p); + l = !0; + for (var t = u.length; t; ) { + for (c = u, u = []; ++d < t; ) c && c[d].run(); + (d = -1), (t = u.length); + } + (c = null), + (l = !1), + (function (e) { + if (r === clearTimeout) return clearTimeout(e); + if ((r === a || !r) && clearTimeout) return (r = clearTimeout), clearTimeout(e); + try { + return r(e); + } catch (t) { + try { + return r.call(null, e); + } catch (t) { + return r.call(this, e); + } + } + })(e); + } + } + function h(e, t) { + (this.fun = e), (this.array = t); + } + function m() {} + (o.nextTick = function (e) { + var t = new Array(arguments.length - 1); + if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; + u.push(new h(e, t)), 1 !== u.length || l || s(f); + }), + (h.prototype.run = function () { + this.fun.apply(null, this.array); + }), + (o.title = 'browser'), + (o.browser = !0), + (o.env = {}), + (o.argv = []), + (o.version = ''), + (o.versions = {}), + (o.on = m), + (o.addListener = m), + (o.once = m), + (o.off = m), + (o.removeListener = m), + (o.removeAllListeners = m), + (o.emit = m), + (o.prependListener = m), + (o.prependOnceListener = m), + (o.listeners = function (e) { + return []; + }), + (o.binding = function (e) { + throw new Error('process.binding is not supported'); + }), + (o.cwd = function () { + return '/'; + }), + (o.chdir = function (e) { + throw new Error('process.chdir is not supported'); + }), + (o.umask = function () { + return 0; + }); + }, + function (e, t) { + e.exports = function (e) { + return ( + e.webpackPolyfill || + ((e.deprecate = function () {}), + (e.paths = []), + e.children || (e.children = []), + Object.defineProperty(e, 'loaded', { + enumerable: !0, + get: function () { + return e.l; + }, + }), + Object.defineProperty(e, 'id', { + enumerable: !0, + get: function () { + return e.i; + }, + }), + (e.webpackPolyfill = 1)), + e + ); + }; + }, + function (e, t, n) { + var r = n(2), + o = r.find, + i = r.NAMESPACE; + function a(e) { + return '' !== e; + } + function s(e, t) { + return e.hasOwnProperty(t) || (e[t] = !0), e; + } + function c(e) { + if (!e) return []; + var t = (function (e) { + return e ? e.split(/[\t\n\f\r ]+/).filter(a) : []; + })(e); + return Object.keys(t.reduce(s, {})); + } + function u(e, t) { + for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]); + } + function l(e, t) { + var n = e.prototype; + if (!(n instanceof t)) { + function r() {} + (r.prototype = t.prototype), u(n, (r = new r())), (e.prototype = n = r); + } + n.constructor != e && (n.constructor = e); + } + var d = {}, + p = (d.ELEMENT_NODE = 1), + f = (d.ATTRIBUTE_NODE = 2), + h = (d.TEXT_NODE = 3), + m = (d.CDATA_SECTION_NODE = 4), + g = (d.ENTITY_REFERENCE_NODE = 5), + y = (d.ENTITY_NODE = 6), + v = (d.PROCESSING_INSTRUCTION_NODE = 7), + C = (d.COMMENT_NODE = 8), + k = (d.DOCUMENT_NODE = 9), + S = (d.DOCUMENT_TYPE_NODE = 10), + b = (d.DOCUMENT_FRAGMENT_NODE = 11), + T = (d.NOTATION_NODE = 12), + R = {}, + E = {}, + w = + ((R.INDEX_SIZE_ERR = ((E[1] = 'Index size error'), 1)), + (R.DOMSTRING_SIZE_ERR = ((E[2] = 'DOMString size error'), 2)), + (R.HIERARCHY_REQUEST_ERR = ((E[3] = 'Hierarchy request error'), 3))), + A = + ((R.WRONG_DOCUMENT_ERR = ((E[4] = 'Wrong document'), 4)), + (R.INVALID_CHARACTER_ERR = ((E[5] = 'Invalid character'), 5)), + (R.NO_DATA_ALLOWED_ERR = ((E[6] = 'No data allowed'), 6)), + (R.NO_MODIFICATION_ALLOWED_ERR = ((E[7] = 'No modification allowed'), 7)), + (R.NOT_FOUND_ERR = ((E[8] = 'Not found'), 8))), + x = + ((R.NOT_SUPPORTED_ERR = ((E[9] = 'Not supported'), 9)), + (R.INUSE_ATTRIBUTE_ERR = ((E[10] = 'Attribute in use'), 10))); + (R.INVALID_STATE_ERR = ((E[11] = 'Invalid state'), 11)), + (R.SYNTAX_ERR = ((E[12] = 'Syntax error'), 12)), + (R.INVALID_MODIFICATION_ERR = ((E[13] = 'Invalid modification'), 13)), + (R.NAMESPACE_ERR = ((E[14] = 'Invalid namespace'), 14)), + (R.INVALID_ACCESS_ERR = ((E[15] = 'Invalid access'), 15)); + function I(e, t) { + if (t instanceof Error) var n = t; + else + (n = this), + Error.call(this, E[e]), + (this.message = E[e]), + Error.captureStackTrace && Error.captureStackTrace(this, I); + return (n.code = e), t && (this.message = this.message + ': ' + t), n; + } + function O() {} + function B(e, t) { + (this._node = e), (this._refresh = t), _(this); + } + function _(e) { + var t = e._node._inc || e._node.ownerDocument._inc; + if (e._inc != t) { + var n = e._refresh(e._node); + Ce(e, 'length', n.length), u(n, e), (e._inc = t); + } + } + function P() {} + function D(e, t) { + for (var n = e.length; n--; ) if (e[n] === t) return n; + } + function N(e, t, n, r) { + if ((r ? (t[D(t, r)] = n) : (t[t.length++] = n), e)) { + n.ownerElement = e; + var o = e.ownerDocument; + o && + (r && K(o, e, r), + (function (e, t, n) { + e && e._inc++; + var r = n.namespaceURI; + r === i.XMLNS && (t._nsMap[n.prefix ? n.localName : ''] = n.value); + })(o, e, n)); + } + } + function U(e, t, n) { + var r = D(t, n); + if (!(r >= 0)) throw new I(A, new Error(e.tagName + '@' + n)); + for (var o = t.length - 1; r < o; ) t[r] = t[++r]; + if (((t.length = o), e)) { + var i = e.ownerDocument; + i && (K(i, e, n), (n.ownerElement = null)); + } + } + function M() {} + function H() {} + function L(e) { + return ( + ('<' == e ? '<' : '>' == e && '>') || + ('&' == e && '&') || + ('"' == e && '"') || + '&#' + e.charCodeAt() + ';' + ); + } + function j(e, t) { + if (t(e)) return !0; + if ((e = e.firstChild)) + do { + if (j(e, t)) return !0; + } while ((e = e.nextSibling)); + } + function F() { + this.ownerDocument = this; + } + function K(e, t, n, r) { + e && e._inc++, n.namespaceURI === i.XMLNS && delete t._nsMap[n.prefix ? n.localName : '']; + } + function q(e, t, n) { + if (e && e._inc) { + e._inc++; + var r = t.childNodes; + if (n) r[r.length++] = n; + else { + for (var o = t.firstChild, i = 0; o; ) (r[i++] = o), (o = o.nextSibling); + (r.length = i), delete r[r.length]; + } + } + } + function z(e, t) { + var n = t.previousSibling, + r = t.nextSibling; + return ( + n ? (n.nextSibling = r) : (e.firstChild = r), + r ? (r.previousSibling = n) : (e.lastChild = n), + (t.parentNode = null), + (t.previousSibling = null), + (t.nextSibling = null), + q(e.ownerDocument, e), + t + ); + } + function G(e) { + return e && e.nodeType === H.DOCUMENT_TYPE_NODE; + } + function V(e) { + return e && e.nodeType === H.ELEMENT_NODE; + } + function X(e) { + return e && e.nodeType === H.TEXT_NODE; + } + function W(e, t) { + var n = e.childNodes || []; + if (o(n, V) || G(t)) return !1; + var r = o(n, G); + return !(t && r && n.indexOf(r) > n.indexOf(t)); + } + function Q(e, t) { + var n = e.childNodes || []; + if ( + o(n, function (e) { + return V(e) && e !== t; + }) + ) + return !1; + var r = o(n, G); + return !(t && r && n.indexOf(r) > n.indexOf(t)); + } + function J(e, t, n) { + if ( + !(function (e) { + return ( + e && + (e.nodeType === H.DOCUMENT_NODE || + e.nodeType === H.DOCUMENT_FRAGMENT_NODE || + e.nodeType === H.ELEMENT_NODE) + ); + })(e) + ) + throw new I(w, 'Unexpected parent node type ' + e.nodeType); + if (n && n.parentNode !== e) throw new I(A, 'child not in parent'); + if ( + !(function (e) { + return ( + e && + (V(e) || + X(e) || + G(e) || + e.nodeType === H.DOCUMENT_FRAGMENT_NODE || + e.nodeType === H.COMMENT_NODE || + e.nodeType === H.PROCESSING_INSTRUCTION_NODE) + ); + })(t) || + (G(t) && e.nodeType !== H.DOCUMENT_NODE) + ) + throw new I(w, 'Unexpected node type ' + t.nodeType + ' for parent node type ' + e.nodeType); + } + function $(e, t, n) { + var r = e.childNodes || [], + i = t.childNodes || []; + if (t.nodeType === H.DOCUMENT_FRAGMENT_NODE) { + var a = i.filter(V); + if (a.length > 1 || o(i, X)) throw new I(w, 'More than one element or text in fragment'); + if (1 === a.length && !W(e, n)) throw new I(w, 'Element in fragment can not be inserted before doctype'); + } + if (V(t) && !W(e, n)) throw new I(w, 'Only one element can be added and only after doctype'); + if (G(t)) { + if (o(r, G)) throw new I(w, 'Only one doctype is allowed'); + var s = o(r, V); + if (n && r.indexOf(s) < r.indexOf(n)) throw new I(w, 'Doctype can only be inserted before an element'); + if (!n && s) throw new I(w, 'Doctype can not be appended since element is present'); + } + } + function Y(e, t, n) { + var r = e.childNodes || [], + i = t.childNodes || []; + if (t.nodeType === H.DOCUMENT_FRAGMENT_NODE) { + var a = i.filter(V); + if (a.length > 1 || o(i, X)) throw new I(w, 'More than one element or text in fragment'); + if (1 === a.length && !Q(e, n)) throw new I(w, 'Element in fragment can not be inserted before doctype'); + } + if (V(t) && !Q(e, n)) throw new I(w, 'Only one element can be added and only after doctype'); + if (G(t)) { + if ( + o(r, function (e) { + return G(e) && e !== n; + }) + ) + throw new I(w, 'Only one doctype is allowed'); + var s = o(r, V); + if (n && r.indexOf(s) < r.indexOf(n)) throw new I(w, 'Doctype can only be inserted before an element'); + } + } + function Z(e, t, n, r) { + J(e, t, n), e.nodeType === H.DOCUMENT_NODE && (r || $)(e, t, n); + var o = t.parentNode; + if ((o && o.removeChild(t), t.nodeType === b)) { + var i = t.firstChild; + if (null == i) return t; + var a = t.lastChild; + } else i = a = t; + var s = n ? n.previousSibling : e.lastChild; + (i.previousSibling = s), + (a.nextSibling = n), + s ? (s.nextSibling = i) : (e.firstChild = i), + null == n ? (e.lastChild = a) : (n.previousSibling = a); + do { + i.parentNode = e; + } while (i !== a && (i = i.nextSibling)); + return q(e.ownerDocument || e, e), t.nodeType == b && (t.firstChild = t.lastChild = null), t; + } + function ee() { + this._nsMap = {}; + } + function te() {} + function ne() {} + function re() {} + function oe() {} + function ie() {} + function ae() {} + function se() {} + function ce() {} + function ue() {} + function le() {} + function de() {} + function pe() {} + function fe(e, t) { + var n = [], + r = (9 == this.nodeType && this.documentElement) || this, + o = r.prefix, + i = r.namespaceURI; + if (i && null == o && null == (o = r.lookupPrefix(i))) var a = [{ namespace: i, prefix: null }]; + return ge(this, n, e, t, a), n.join(''); + } + function he(e, t, n) { + var r = e.prefix || '', + o = e.namespaceURI; + if (!o) return !1; + if (('xml' === r && o === i.XML) || o === i.XMLNS) return !1; + for (var a = n.length; a--; ) { + var s = n[a]; + if (s.prefix === r) return s.namespace !== o; + } + return !0; + } + function me(e, t, n) { + e.push(' ', t, '="', n.replace(/[<>&"\t\n\r]/g, L), '"'); + } + function ge(e, t, n, r, o) { + if ((o || (o = []), r)) { + if (!(e = r(e))) return; + if ('string' == typeof e) return void t.push(e); + } + switch (e.nodeType) { + case p: + var a = e.attributes, + s = a.length, + c = e.firstChild, + u = e.tagName, + l = u; + if (!(n = i.isHTML(e.namespaceURI) || n) && !e.prefix && e.namespaceURI) { + for (var d, y = 0; y < a.length; y++) + if ('xmlns' === a.item(y).name) { + d = a.item(y).value; + break; + } + if (!d) + for (var T = o.length - 1; T >= 0; T--) { + if ('' === (R = o[T]).prefix && R.namespace === e.namespaceURI) { + d = R.namespace; + break; + } + } + if (d !== e.namespaceURI) + for (T = o.length - 1; T >= 0; T--) { + var R; + if ((R = o[T]).namespace === e.namespaceURI) { + R.prefix && (l = R.prefix + ':' + u); + break; + } + } + } + t.push('<', l); + for (var E = 0; E < s; E++) { + 'xmlns' == (w = a.item(E)).prefix + ? o.push({ prefix: w.localName, namespace: w.value }) + : 'xmlns' == w.nodeName && o.push({ prefix: '', namespace: w.value }); + } + for (E = 0; E < s; E++) { + var w, A, x; + if (he((w = a.item(E)), 0, o)) + me(t, (A = w.prefix || '') ? 'xmlns:' + A : 'xmlns', (x = w.namespaceURI)), + o.push({ prefix: A, namespace: x }); + ge(w, t, n, r, o); + } + if (u === l && he(e, 0, o)) + me(t, (A = e.prefix || '') ? 'xmlns:' + A : 'xmlns', (x = e.namespaceURI)), + o.push({ prefix: A, namespace: x }); + if (c || (n && !/^(?:meta|link|img|br|hr|input)$/i.test(u))) { + if ((t.push('>'), n && /^script$/i.test(u))) + for (; c; ) c.data ? t.push(c.data) : ge(c, t, n, r, o.slice()), (c = c.nextSibling); + else for (; c; ) ge(c, t, n, r, o.slice()), (c = c.nextSibling); + t.push(''); + } else t.push('/>'); + return; + case k: + case b: + for (c = e.firstChild; c; ) ge(c, t, n, r, o.slice()), (c = c.nextSibling); + return; + case f: + return me(t, e.name, e.value); + case h: + return t.push(e.data.replace(/[<&>]/g, L)); + case m: + return t.push(''); + case C: + return t.push('\x3c!--', e.data, '--\x3e'); + case S: + var I = e.publicId, + O = e.systemId; + if ((t.push(''); + else if (O && '.' != O) t.push(' SYSTEM ', O, '>'); + else { + var B = e.internalSubset; + B && t.push(' [', B, ']'), t.push('>'); + } + return; + case v: + return t.push(''); + case g: + return t.push('&', e.nodeName, ';'); + default: + t.push('??', e.nodeName); + } + } + function ye(e, t, n) { + var r; + switch (t.nodeType) { + case p: + (r = t.cloneNode(!1)).ownerDocument = e; + case b: + break; + case f: + n = !0; + } + if ((r || (r = t.cloneNode(!1)), (r.ownerDocument = e), (r.parentNode = null), n)) + for (var o = t.firstChild; o; ) r.appendChild(ye(e, o, n)), (o = o.nextSibling); + return r; + } + function ve(e, t, n) { + var r = new t.constructor(); + for (var o in t) + if (Object.prototype.hasOwnProperty.call(t, o)) { + var i = t[o]; + 'object' != typeof i && i != r[o] && (r[o] = i); + } + switch ((t.childNodes && (r.childNodes = new O()), (r.ownerDocument = e), r.nodeType)) { + case p: + var a = t.attributes, + s = (r.attributes = new P()), + c = a.length; + s._ownerElement = r; + for (var u = 0; u < c; u++) r.setAttributeNode(ve(e, a.item(u), !0)); + break; + case f: + n = !0; + } + if (n) for (var l = t.firstChild; l; ) r.appendChild(ve(e, l, n)), (l = l.nextSibling); + return r; + } + function Ce(e, t, n) { + e[t] = n; + } + (I.prototype = Error.prototype), + u(R, I), + (O.prototype = { + length: 0, + item: function (e) { + return this[e] || null; + }, + toString: function (e, t) { + for (var n = [], r = 0; r < this.length; r++) ge(this[r], n, e, t); + return n.join(''); + }, + filter: function (e) { + return Array.prototype.filter.call(this, e); + }, + indexOf: function (e) { + return Array.prototype.indexOf.call(this, e); + }, + }), + (B.prototype.item = function (e) { + return _(this), this[e]; + }), + l(B, O), + (P.prototype = { + length: 0, + item: O.prototype.item, + getNamedItem: function (e) { + for (var t = this.length; t--; ) { + var n = this[t]; + if (n.nodeName == e) return n; + } + }, + setNamedItem: function (e) { + var t = e.ownerElement; + if (t && t != this._ownerElement) throw new I(x); + var n = this.getNamedItem(e.nodeName); + return N(this._ownerElement, this, e, n), n; + }, + setNamedItemNS: function (e) { + var t, + n = e.ownerElement; + if (n && n != this._ownerElement) throw new I(x); + return (t = this.getNamedItemNS(e.namespaceURI, e.localName)), N(this._ownerElement, this, e, t), t; + }, + removeNamedItem: function (e) { + var t = this.getNamedItem(e); + return U(this._ownerElement, this, t), t; + }, + removeNamedItemNS: function (e, t) { + var n = this.getNamedItemNS(e, t); + return U(this._ownerElement, this, n), n; + }, + getNamedItemNS: function (e, t) { + for (var n = this.length; n--; ) { + var r = this[n]; + if (r.localName == t && r.namespaceURI == e) return r; + } + return null; + }, + }), + (M.prototype = { + hasFeature: function (e, t) { + return !0; + }, + createDocument: function (e, t, n) { + var r = new F(); + if ( + ((r.implementation = this), (r.childNodes = new O()), (r.doctype = n || null), n && r.appendChild(n), t) + ) { + var o = r.createElementNS(e, t); + r.appendChild(o); + } + return r; + }, + createDocumentType: function (e, t, n) { + var r = new ae(); + return (r.name = e), (r.nodeName = e), (r.publicId = t || ''), (r.systemId = n || ''), r; + }, + }), + (H.prototype = { + firstChild: null, + lastChild: null, + previousSibling: null, + nextSibling: null, + attributes: null, + parentNode: null, + childNodes: null, + ownerDocument: null, + nodeValue: null, + namespaceURI: null, + prefix: null, + localName: null, + insertBefore: function (e, t) { + return Z(this, e, t); + }, + replaceChild: function (e, t) { + Z(this, e, t, Y), t && this.removeChild(t); + }, + removeChild: function (e) { + return z(this, e); + }, + appendChild: function (e) { + return this.insertBefore(e, null); + }, + hasChildNodes: function () { + return null != this.firstChild; + }, + cloneNode: function (e) { + return ve(this.ownerDocument || this, this, e); + }, + normalize: function () { + for (var e = this.firstChild; e; ) { + var t = e.nextSibling; + t && t.nodeType == h && e.nodeType == h + ? (this.removeChild(t), e.appendData(t.data)) + : (e.normalize(), (e = t)); + } + }, + isSupported: function (e, t) { + return this.ownerDocument.implementation.hasFeature(e, t); + }, + hasAttributes: function () { + return this.attributes.length > 0; + }, + lookupPrefix: function (e) { + for (var t = this; t; ) { + var n = t._nsMap; + if (n) for (var r in n) if (Object.prototype.hasOwnProperty.call(n, r) && n[r] === e) return r; + t = t.nodeType == f ? t.ownerDocument : t.parentNode; + } + return null; + }, + lookupNamespaceURI: function (e) { + for (var t = this; t; ) { + var n = t._nsMap; + if (n && Object.prototype.hasOwnProperty.call(n, e)) return n[e]; + t = t.nodeType == f ? t.ownerDocument : t.parentNode; + } + return null; + }, + isDefaultNamespace: function (e) { + return null == this.lookupPrefix(e); + }, + }), + u(d, H), + u(d, H.prototype), + (F.prototype = { + nodeName: '#document', + nodeType: k, + doctype: null, + documentElement: null, + _inc: 1, + insertBefore: function (e, t) { + if (e.nodeType == b) { + for (var n = e.firstChild; n; ) { + var r = n.nextSibling; + this.insertBefore(n, t), (n = r); + } + return e; + } + return ( + Z(this, e, t), + (e.ownerDocument = this), + null === this.documentElement && e.nodeType === p && (this.documentElement = e), + e + ); + }, + removeChild: function (e) { + return this.documentElement == e && (this.documentElement = null), z(this, e); + }, + replaceChild: function (e, t) { + Z(this, e, t, Y), (e.ownerDocument = this), t && this.removeChild(t), V(e) && (this.documentElement = e); + }, + importNode: function (e, t) { + return ye(this, e, t); + }, + getElementById: function (e) { + var t = null; + return ( + j(this.documentElement, function (n) { + if (n.nodeType == p && n.getAttribute('id') == e) return (t = n), !0; + }), + t + ); + }, + getElementsByClassName: function (e) { + var t = c(e); + return new B(this, function (n) { + var r = []; + return ( + t.length > 0 && + j(n.documentElement, function (o) { + if (o !== n && o.nodeType === p) { + var i = o.getAttribute('class'); + if (i) { + var a = e === i; + if (!a) { + var s = c(i); + a = t.every( + ((u = s), + function (e) { + return u && -1 !== u.indexOf(e); + }), + ); + } + a && r.push(o); + } + } + var u; + }), + r + ); + }); + }, + createElement: function (e) { + var t = new ee(); + return ( + (t.ownerDocument = this), + (t.nodeName = e), + (t.tagName = e), + (t.localName = e), + (t.childNodes = new O()), + ((t.attributes = new P())._ownerElement = t), + t + ); + }, + createDocumentFragment: function () { + var e = new le(); + return (e.ownerDocument = this), (e.childNodes = new O()), e; + }, + createTextNode: function (e) { + var t = new re(); + return (t.ownerDocument = this), t.appendData(e), t; + }, + createComment: function (e) { + var t = new oe(); + return (t.ownerDocument = this), t.appendData(e), t; + }, + createCDATASection: function (e) { + var t = new ie(); + return (t.ownerDocument = this), t.appendData(e), t; + }, + createProcessingInstruction: function (e, t) { + var n = new de(); + return (n.ownerDocument = this), (n.tagName = n.target = e), (n.nodeValue = n.data = t), n; + }, + createAttribute: function (e) { + var t = new te(); + return (t.ownerDocument = this), (t.name = e), (t.nodeName = e), (t.localName = e), (t.specified = !0), t; + }, + createEntityReference: function (e) { + var t = new ue(); + return (t.ownerDocument = this), (t.nodeName = e), t; + }, + createElementNS: function (e, t) { + var n = new ee(), + r = t.split(':'), + o = (n.attributes = new P()); + return ( + (n.childNodes = new O()), + (n.ownerDocument = this), + (n.nodeName = t), + (n.tagName = t), + (n.namespaceURI = e), + 2 == r.length ? ((n.prefix = r[0]), (n.localName = r[1])) : (n.localName = t), + (o._ownerElement = n), + n + ); + }, + createAttributeNS: function (e, t) { + var n = new te(), + r = t.split(':'); + return ( + (n.ownerDocument = this), + (n.nodeName = t), + (n.name = t), + (n.namespaceURI = e), + (n.specified = !0), + 2 == r.length ? ((n.prefix = r[0]), (n.localName = r[1])) : (n.localName = t), + n + ); + }, + }), + l(F, H), + (ee.prototype = { + nodeType: p, + hasAttribute: function (e) { + return null != this.getAttributeNode(e); + }, + getAttribute: function (e) { + var t = this.getAttributeNode(e); + return (t && t.value) || ''; + }, + getAttributeNode: function (e) { + return this.attributes.getNamedItem(e); + }, + setAttribute: function (e, t) { + var n = this.ownerDocument.createAttribute(e); + (n.value = n.nodeValue = '' + t), this.setAttributeNode(n); + }, + removeAttribute: function (e) { + var t = this.getAttributeNode(e); + t && this.removeAttributeNode(t); + }, + appendChild: function (e) { + return e.nodeType === b + ? this.insertBefore(e, null) + : (function (e, t) { + return ( + t.parentNode && t.parentNode.removeChild(t), + (t.parentNode = e), + (t.previousSibling = e.lastChild), + (t.nextSibling = null), + t.previousSibling ? (t.previousSibling.nextSibling = t) : (e.firstChild = t), + (e.lastChild = t), + q(e.ownerDocument, e, t), + t + ); + })(this, e); + }, + setAttributeNode: function (e) { + return this.attributes.setNamedItem(e); + }, + setAttributeNodeNS: function (e) { + return this.attributes.setNamedItemNS(e); + }, + removeAttributeNode: function (e) { + return this.attributes.removeNamedItem(e.nodeName); + }, + removeAttributeNS: function (e, t) { + var n = this.getAttributeNodeNS(e, t); + n && this.removeAttributeNode(n); + }, + hasAttributeNS: function (e, t) { + return null != this.getAttributeNodeNS(e, t); + }, + getAttributeNS: function (e, t) { + var n = this.getAttributeNodeNS(e, t); + return (n && n.value) || ''; + }, + setAttributeNS: function (e, t, n) { + var r = this.ownerDocument.createAttributeNS(e, t); + (r.value = r.nodeValue = '' + n), this.setAttributeNode(r); + }, + getAttributeNodeNS: function (e, t) { + return this.attributes.getNamedItemNS(e, t); + }, + getElementsByTagName: function (e) { + return new B(this, function (t) { + var n = []; + return ( + j(t, function (r) { + r === t || r.nodeType != p || ('*' !== e && r.tagName != e) || n.push(r); + }), + n + ); + }); + }, + getElementsByTagNameNS: function (e, t) { + return new B(this, function (n) { + var r = []; + return ( + j(n, function (o) { + o === n || + o.nodeType !== p || + ('*' !== e && o.namespaceURI !== e) || + ('*' !== t && o.localName != t) || + r.push(o); + }), + r + ); + }); + }, + }), + (F.prototype.getElementsByTagName = ee.prototype.getElementsByTagName), + (F.prototype.getElementsByTagNameNS = ee.prototype.getElementsByTagNameNS), + l(ee, H), + (te.prototype.nodeType = f), + l(te, H), + (ne.prototype = { + data: '', + substringData: function (e, t) { + return this.data.substring(e, e + t); + }, + appendData: function (e) { + (e = this.data + e), (this.nodeValue = this.data = e), (this.length = e.length); + }, + insertData: function (e, t) { + this.replaceData(e, 0, t); + }, + appendChild: function (e) { + throw new Error(E[w]); + }, + deleteData: function (e, t) { + this.replaceData(e, t, ''); + }, + replaceData: function (e, t, n) { + (n = this.data.substring(0, e) + n + this.data.substring(e + t)), + (this.nodeValue = this.data = n), + (this.length = n.length); + }, + }), + l(ne, H), + (re.prototype = { + nodeName: '#text', + nodeType: h, + splitText: function (e) { + var t = this.data, + n = t.substring(e); + (t = t.substring(0, e)), (this.data = this.nodeValue = t), (this.length = t.length); + var r = this.ownerDocument.createTextNode(n); + return this.parentNode && this.parentNode.insertBefore(r, this.nextSibling), r; + }, + }), + l(re, ne), + (oe.prototype = { nodeName: '#comment', nodeType: C }), + l(oe, ne), + (ie.prototype = { nodeName: '#cdata-section', nodeType: m }), + l(ie, ne), + (ae.prototype.nodeType = S), + l(ae, H), + (se.prototype.nodeType = T), + l(se, H), + (ce.prototype.nodeType = y), + l(ce, H), + (ue.prototype.nodeType = g), + l(ue, H), + (le.prototype.nodeName = '#document-fragment'), + (le.prototype.nodeType = b), + l(le, H), + (de.prototype.nodeType = v), + l(de, H), + (pe.prototype.serializeToString = function (e, t, n) { + return fe.call(e, t, n); + }), + (H.prototype.toString = fe); + try { + if (Object.defineProperty) { + function ke(e) { + switch (e.nodeType) { + case p: + case b: + var t = []; + for (e = e.firstChild; e; ) 7 !== e.nodeType && 8 !== e.nodeType && t.push(ke(e)), (e = e.nextSibling); + return t.join(''); + default: + return e.nodeValue; + } + } + Object.defineProperty(B.prototype, 'length', { + get: function () { + return _(this), this.$$length; + }, + }), + Object.defineProperty(H.prototype, 'textContent', { + get: function () { + return ke(this); + }, + set: function (e) { + switch (this.nodeType) { + case p: + case b: + for (; this.firstChild; ) this.removeChild(this.firstChild); + (e || String(e)) && this.appendChild(this.ownerDocument.createTextNode(e)); + break; + default: + (this.data = e), (this.value = e), (this.nodeValue = e); + } + }, + }), + (Ce = function (e, t, n) { + e['$$' + t] = n; + }); + } + } catch (Se) {} + (t.DocumentType = ae), + (t.DOMException = I), + (t.DOMImplementation = M), + (t.Element = ee), + (t.Node = H), + (t.NodeList = O), + (t.XMLSerializer = pe); + }, + function (e, t, n) { + var r = n(23), + o = n(24), + i = n(0), + a = n(7), + s = null, + c = function (e) { + if (!s) { + var t = n(25); + s = new t({ + appkey: '0AND0VEVB24UBGDU', + versionCode: a.version, + channelID: 'js_sdk', + openid: 'openid', + unionid: 'unid', + strictMode: !1, + delay: e, + sessionDuration: 6e4, + }); + } + return s; + }, + u = function () { + var e = function () { + return ((65536 * (1 + Math.random())) | 0).toString(16).substring(1); + }; + return e() + e() + '-' + e() + '-' + e() + '-' + e() + '-' + e() + e() + e(); + }, + l = function () { + if ('object' === ('undefined' == typeof navigator ? 'undefined' : i(navigator))) { + var e = navigator.connection || navigator.mozConnection || navigator.webkitConnection; + return (null == e ? void 0 : e.type) || (null == e ? void 0 : e.effectiveType) || 'unknown'; + } + return 'unknown'; + }, + d = function () { + if ('object' !== ('undefined' == typeof navigator ? 'undefined' : i(navigator))) return 'unknown os'; + var e = navigator.userAgent.toLowerCase(), + t = /macintosh|mac os x/i.test(navigator.userAgent); + return e.indexOf('win32') >= 0 || e.indexOf('wow32') >= 0 + ? 'win32' + : e.indexOf('win64') >= 0 || e.indexOf('wow64') >= 0 + ? 'win64' + : t + ? 'mac' + : 'unknown os'; + }, + p = function () { + return !( + 'object' !== ('undefined' == typeof navigator ? 'undefined' : i(navigator)) || + !navigator.userAgent.match( + /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i, + ) + ); + }, + f = function () { + return !( + 'object' !== ('undefined' == typeof navigator ? 'undefined' : i(navigator)) || + !navigator.userAgent.match(/(Android|Adr|Linux)/i) + ); + }, + h = function () { + return !( + 'object' !== ('undefined' == typeof navigator ? 'undefined' : i(navigator)) || + !navigator.userAgent.match(/(iPhone|iPod|iPad|iOS)/i) + ); + }, + m = function () { + if ('object' !== ('undefined' == typeof navigator ? 'undefined' : i(navigator))) return 'unknown device'; + var e = navigator.userAgent.toLowerCase(); + if (e.includes('app/tencent_wemeet')) return 'tencent_wemeet'; + if (e.indexOf('maxthon') >= 0) { + var t = e.match(/maxthon\/([\d.]+)/), + n = (t && t[1]) || ''; + return '傲游浏览器 '.concat(n).trim(); + } + if (e.indexOf('qqbrowser') >= 0) { + var r = e.match(/qqbrowser\/([\d.]+)/), + o = (r && r[1]) || ''; + return 'QQ浏览器 '.concat(o).trim(); + } + if (e.indexOf('se 2.x') >= 0) return '搜狗浏览器'; + if (e.indexOf('wxwork') >= 0) return '微信内置浏览器'; + if (e.indexOf('msie') >= 0) { + var a = e.match(/msie ([\d.]+)/), + s = (a && a[1]) || ''; + return 'IE '.concat(s).trim(); + } + if (e.indexOf('firefox') >= 0) { + var c = e.match(/firefox\/([\d.]+)/), + u = (c && c[1]) || ''; + return 'Firefox '.concat(u).trim(); + } + if (e.indexOf('chrome') >= 0) { + var l = e.match(/chrome\/([\d.]+)/), + d = (l && l[1]) || ''; + return 'Chrome '.concat(d).trim(); + } + if (e.indexOf('opera') >= 0) { + var p = e.match(/opera.([\d.]+)/), + f = (p && p[1]) || ''; + return 'Opera '.concat(f).trim(); + } + if (e.indexOf('safari') >= 0) { + var h = e.match(/version\/([\d.]+)/), + m = (h && h[1]) || ''; + return 'Safari '.concat(m).trim(); + } + if (e.indexOf('edge') >= 0) { + var g = e.match(/edge\/([\d.]+)/), + y = (g && g[1]) || ''; + return 'edge '.concat(y).trim(); + } + return e.substr(0, 200); + }, + g = { + isMobile: p(), + isBrowser: !p(), + mobileOsType: f() ? 'android' : h ? 'ios' : 'other_mobile', + pcOsType: d(), + }, + y = { + deviceType: g.isMobile ? 'mobile' : g.isBrowser ? 'browser' : 'unknown', + devicePlatform: g.isMobile ? g.mobileOsType : g.pcOsType, + deviceName: m(), + }, + v = [ + 'multipartInit', + 'multipartUpload', + 'multipartComplete', + 'multipartList', + 'multipartListPart', + 'multipartAbort', + ], + C = ['putObject', 'postObject', 'appendObject', 'sliceUploadFile', 'uploadFile', 'uploadFiles'].concat(v), + k = ['getObject']; + function S(e) { + return e.replace(/([A-Z])/g, '_$1').toLowerCase(); + } + var b = (function () { + 'use strict'; + function e(t) { + r(this, e); + var n = t.parent, + o = t.traceId, + i = t.bucket, + s = t.region, + l = t.apiName, + d = t.fileKey, + p = t.fileSize, + f = t.accelerate, + h = t.customId, + m = t.delay, + g = t.deepTracker, + v = (i && i.substr(i.lastIndexOf('-') + 1)) || ''; + (this.parent = n), + (this.deepTracker = g), + (this.delay = m), + (this.params = { + cossdkVersion: a.version, + region: s, + networkType: '', + host: '', + accelerate: f ? 'Y' : 'N', + requestPath: d || '', + size: p || -1, + httpMd5: 0, + httpSign: 0, + httpFull: 0, + name: l || '', + result: '', + tookTime: 0, + errorNode: '', + errorCode: '', + errorMessage: '', + errorRequestId: '', + errorStatusCode: 0, + errorServiceName: '', + tracePlatform: 'cos-js-sdk-v5', + traceId: o || u(), + bucket: i, + appid: v, + partNumber: 0, + retryTimes: 0, + reqUrl: '', + customId: h || '', + deviceType: y.deviceType, + devicePlatform: y.devicePlatform, + deviceName: y.deviceName, + md5StartTime: 0, + md5EndTime: 0, + signStartTime: 0, + signEndTime: 0, + httpStartTime: 0, + httpEndTime: 0, + startTime: new Date().getTime(), + endTime: 0, + }), + (this.beacon = c(m)); + } + return ( + o(e, [ + { + key: 'formatResult', + value: function (e, t) { + var n, + r, + o, + i, + a, + s, + c = new Date().getTime() - this.params.startTime, + u = l(), + d = e + ? (null == e ? void 0 : e.code) || + (null == e || null === (n = e.error) || void 0 === n ? void 0 : n.code) || + (null == e || null === (r = e.error) || void 0 === r ? void 0 : r.Code) + : '', + p = e + ? (null == e ? void 0 : e.message) || + (null == e || null === (o = e.error) || void 0 === o ? void 0 : o.message) || + (null == e || null === (i = e.error) || void 0 === i ? void 0 : i.Message) + : '', + f = e + ? (null == e ? void 0 : e.resource) || + (null == e || null === (a = e.error) || void 0 === a ? void 0 : a.resource) || + (null == e || null === (s = e.error) || void 0 === s ? void 0 : s.Resource) + : '', + h = e ? (null == e ? void 0 : e.statusCode) : t.statusCode, + m = e + ? (null == e ? void 0 : e.headers) && (null == e ? void 0 : e.headers['x-cos-request-id']) + : (null == t ? void 0 : t.headers) && (null == t ? void 0 : t.headers['x-cos-request-id']), + g = e ? (m ? 'Server' : 'Client') : ''; + if ( + (Object.assign(this.params, { + tookTime: c, + networkType: u, + httpMd5: this.params.md5EndTime - this.params.md5StartTime, + httpSign: this.params.signEndTime - this.params.signStartTime, + httpFull: this.params.httpEndTime - this.params.httpStartTime, + result: e ? 'Fail' : 'Success', + errorType: g, + errorCode: d, + errorStatusCode: h, + errorMessage: p, + errorServiceName: f, + errorRequestId: m, + }), + !e || (d && p) || (this.params.fullError = e ? JSON.stringify(e) : ''), + 'getObject' === this.params.name && + (this.params.size = t ? t.headers && t.headers['content-length'] : -1), + this.params.reqUrl) + ) + try { + var y = /^http(s)?:\/\/(.*?)\//.exec(this.params.reqUrl); + this.params.host = y[2]; + } catch (e) { + this.params.host = this.params.reqUrl; + } + this.sendEvents(); + }, + }, + { + key: 'setParams', + value: function (e) { + Object.assign(this.params, e); + }, + }, + { + key: 'sendEvents', + value: function () { + if (!v.includes(this.params.name) || this.deepTracker) { + var e, + t = + ((e = this.params.name), + C.includes(e) ? 'cos_upload' : k.includes(e) ? 'cos_download' : 'base_service'), + n = (function (e) { + var t = {}, + n = + 'Success' === e.result + ? [ + 'tracePlatform', + 'cossdkVersion', + 'region', + 'bucket', + 'appid', + 'networkType', + 'host', + 'accelerate', + 'requestPath', + 'partNumber', + 'size', + 'name', + 'result', + 'tookTime', + 'errorRequestId', + 'retryTimes', + 'reqUrl', + 'customId', + 'deviceType', + 'devicePlatform', + 'deviceName', + ] + : [ + 'tracePlatform', + 'cossdkVersion', + 'region', + 'networkType', + 'host', + 'accelerate', + 'requestPath', + 'size', + 'httpMd5', + 'httpSign', + 'httpFull', + 'name', + 'result', + 'tookTime', + 'errorNode', + 'errorCode', + 'errorMessage', + 'errorRequestId', + 'errorStatusCode', + 'errorServiceName', + 'errorType', + 'traceId', + 'bucket', + 'appid', + 'partNumber', + 'retryTimes', + 'reqUrl', + 'customId', + 'fullError', + 'deviceType', + 'devicePlatform', + 'deviceName', + ]; + for (var r in e) n.includes(r) && (t[S(r)] = e[r]); + return t; + })(this.params); + this.beacon || (this.beacon = c(this.delay || 5e3)), + 0 === this.delay + ? this.beacon && this.beacon.onDirectUserAction(t, n) + : this.beacon && this.beacon.onUserAction(t, n); + } + }, + }, + { + key: 'generateSubTracker', + value: function (t) { + return ( + Object.assign(t, { + parent: this, + deepTracker: this.deepTracker, + traceId: this.params.traceId, + bucket: this.params.bucket, + region: this.params.region, + fileKey: this.params.requestPath, + customId: this.params.customId, + delay: this.delay, + }), + new e(t) + ); + }, + }, + ]), + e + ); + })(); + e.exports = b; + }, + function (e) { + e.exports = JSON.parse( + '{"name":"cos-js-sdk-v5","version":"1.4.20","description":"JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)","main":"dist/cos-js-sdk-v5.js","types":"index.d.ts","scripts":{"prettier":"prettier --write src demo/demo.js test/test.js server/sts.js index.d.ts","server":"node server/sts.js","dev":"cross-env NODE_ENV=development webpack -w --mode=development","build":"cross-env NODE_ENV=production webpack --mode=production","cos-auth.min.js":"uglifyjs ./demo/common/cos-auth.js -o ./demo/common/cos-auth.min.js -c -m","test":"jest --runInBand --coverage"},"repository":{"type":"git","url":"git+https://github.com/tencentyun/cos-js-sdk-v5.git"},"keywords":[],"author":"carsonxu","license":"ISC","bugs":{"url":"https://github.com/tencentyun/cos-js-sdk-v5/issues"},"homepage":"https://github.com/tencentyun/cos-js-sdk-v5#readme","dependencies":{"@xmldom/xmldom":"^0.8.6"},"devDependencies":{"@babel/core":"7.17.9","@babel/plugin-transform-runtime":"7.18.10","@babel/preset-env":"7.16.11","babel-loader":"8.2.5","body-parser":"^1.18.3","cross-env":"^5.2.0","express":"^4.16.4","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","prettier":"^3.0.1","qcloud-cos-sts":"^3.0.2","request":"^2.87.0","terser-webpack-plugin":"4.2.3","uglifyjs":"^2.4.11","webpack":"4.46.0","webpack-cli":"4.10.0"}}', + ); + }, + function (e, t) { + var n = function (e) { + var t = {}, + n = function (e) { + return !t[e] && (t[e] = []), t[e]; + }; + (e.on = function (e, t) { + n(e).push(t); + }), + (e.off = function (e, t) { + for (var r = n(e), o = r.length - 1; o >= 0; o--) t === r[o] && r.splice(o, 1); + }), + (e.emit = function (e, t) { + for ( + var r = n(e).map(function (e) { + return e; + }), + o = 0; + o < r.length; + o++ + ) + r[o](t); + }); + }; + (e.exports.init = n), + (e.exports.EventProxy = function () { + n(this); + }); + }, + function (e, t, n) { + var r, + o, + i = n(1), + a = 'cos_sdk_upload_cache', + s = function () { + try { + var e = JSON.parse(localStorage.getItem(a)); + } catch (e) {} + e || (e = []), (r = e); + }, + c = function () { + try { + r.length ? localStorage.setItem(a, JSON.stringify(r)) : localStorage.removeItem(a); + } catch (e) {} + }, + u = function () { + if (!r) { + s.call(this); + for (var e = !1, t = Math.round(Date.now() / 1e3), n = r.length - 1; n >= 0; n--) { + var o = r[n][2]; + (!o || o + 2592e3 < t) && (r.splice(n, 1), (e = !0)); + } + e && c(); + } + }, + l = function () { + o || + (o = setTimeout(function () { + c(), (o = null); + }, 400)); + }, + d = { + using: {}, + setUsing: function (e) { + d.using[e] = !0; + }, + removeUsing: function (e) { + delete d.using[e]; + }, + getFileId: function (e, t, n, r) { + return e.name && e.size && e.lastModifiedDate && t + ? i.md5([e.name, e.size, e.lastModifiedDate, t, n, r].join('::')) + : null; + }, + getCopyFileId: function (e, t, n, r, o) { + var a = t['content-length'], + s = t.etag || '', + c = t['last-modified']; + return e && n ? i.md5([e, a, s, c, n, r, o].join('::')) : null; + }, + getUploadIdList: function (e) { + if (!e) return null; + u.call(this); + for (var t = [], n = 0; n < r.length; n++) r[n][0] === e && t.push(r[n][1]); + return t.length ? t : null; + }, + saveUploadId: function (e, t, n) { + if ((u.call(this), e)) { + for (var o = r.length - 1; o >= 0; o--) { + var i = r[o]; + i[0] === e && i[1] === t && r.splice(o, 1); + } + r.unshift([e, t, Math.round(Date.now() / 1e3)]), r.length > n && r.splice(n), l(); + } + }, + removeUploadId: function (e) { + u.call(this), delete d.using[e]; + for (var t = r.length - 1; t >= 0; t--) r[t][1] === e && r.splice(t, 1); + l(); + }, + }; + e.exports = d; + }, + function (e, t, n) { + var r = n(11); + e.exports = r; + }, + function (e, t, n) { + 'use strict'; + var r = n(1), + o = n(8), + i = n(26), + a = n(27), + s = n(29), + c = n(7), + u = { + AppId: '', + SecretId: '', + SecretKey: '', + SecurityToken: '', + ChunkRetryTimes: 2, + FileParallelLimit: 3, + ChunkParallelLimit: 3, + ChunkSize: 1048576, + SliceSize: 1048576, + CopyChunkParallelLimit: 20, + CopyChunkSize: 10485760, + CopySliceSize: 10485760, + MaxPartNumber: 1e4, + ProgressInterval: 1e3, + Domain: '', + ServiceDomain: '', + Protocol: '', + CompatibilityMode: !1, + ForcePathStyle: !1, + UseRawKey: !1, + Timeout: 0, + CorrectClockSkew: !0, + SystemClockOffset: 0, + UploadCheckContentMd5: !1, + UploadQueueSize: 1e4, + UploadAddMetaMd5: !1, + UploadIdCacheLimit: 50, + UseAccelerate: !1, + ForceSignHost: !0, + EnableTracker: !1, + DeepTracker: !1, + TrackerDelay: 5e3, + CustomId: '', + }, + l = function (e) { + (this.options = r.extend(r.clone(u), e || {})), + (this.options.FileParallelLimit = Math.max(1, this.options.FileParallelLimit)), + (this.options.ChunkParallelLimit = Math.max(1, this.options.ChunkParallelLimit)), + (this.options.ChunkRetryTimes = Math.max(0, this.options.ChunkRetryTimes)), + (this.options.ChunkSize = Math.max(1048576, this.options.ChunkSize)), + (this.options.CopyChunkParallelLimit = Math.max(1, this.options.CopyChunkParallelLimit)), + (this.options.CopyChunkSize = Math.max(1048576, this.options.CopyChunkSize)), + (this.options.CopySliceSize = Math.max(0, this.options.CopySliceSize)), + (this.options.MaxPartNumber = Math.max(1024, Math.min(1e4, this.options.MaxPartNumber))), + (this.options.Timeout = Math.max(0, this.options.Timeout)), + this.options.AppId, + this.options.SecretId && this.options.SecretId.indexOf(' '), + this.options.SecretKey && this.options.SecretKey.indexOf(' '), + r.isNode(), + o.init(this), + i.init(this); + }; + a.init(l, i), + s.init(l, i), + (l.util = { md5: r.md5, xml2json: r.xml2json, json2xml: r.json2xml, encodeBase64: r.encodeBase64 }), + (l.getAuthorization = r.getAuth), + (l.version = c.version), + (e.exports = l); + }, + function (module, exports, __webpack_require__) { + (function (process, global, module) { + var __WEBPACK_AMD_DEFINE_RESULT__, + _typeof = __webpack_require__(0); + (function () { + 'use strict'; + var ERROR = 'input is invalid type', + WINDOW = 'object' === ('undefined' == typeof window ? 'undefined' : _typeof(window)), + root = WINDOW ? window : {}; + root.JS_MD5_NO_WINDOW && (WINDOW = !1); + var WEB_WORKER = !WINDOW && 'object' === ('undefined' == typeof self ? 'undefined' : _typeof(self)), + NODE_JS = + !root.JS_MD5_NO_NODE_JS && + 'object' === (void 0 === process ? 'undefined' : _typeof(process)) && + process.versions && + process.versions.node; + NODE_JS ? (root = global) : WEB_WORKER && (root = self); + var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && 'object' === _typeof(module) && module.exports, + AMD = __webpack_require__(14), + ARRAY_BUFFER = !root.JS_MD5_NO_ARRAY_BUFFER && 'undefined' != typeof ArrayBuffer, + HEX_CHARS = '0123456789abcdef'.split(''), + EXTRA = [128, 32768, 8388608, -2147483648], + SHIFT = [0, 8, 16, 24], + OUTPUT_TYPES = ['hex', 'array', 'digest', 'buffer', 'arrayBuffer', 'base64'], + BASE64_ENCODE_CHAR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''), + blocks = [], + buffer8; + if (ARRAY_BUFFER) { + var buffer = new ArrayBuffer(68); + (buffer8 = new Uint8Array(buffer)), (blocks = new Uint32Array(buffer)); + } + (!root.JS_MD5_NO_NODE_JS && Array.isArray) || + (Array.isArray = function (e) { + return '[object Array]' === Object.prototype.toString.call(e); + }), + !ARRAY_BUFFER || + (!root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW && ArrayBuffer.isView) || + (ArrayBuffer.isView = function (e) { + return 'object' === _typeof(e) && e.buffer && e.buffer.constructor === ArrayBuffer; + }); + var createOutputMethod = function (e) { + return function (t, n) { + return new Md5(!0).update(t, n)[e](); + }; + }, + createMethod = function () { + var e = createOutputMethod('hex'); + NODE_JS && (e = nodeWrap(e)), + (e.getCtx = e.create = + function () { + return new Md5(); + }), + (e.update = function (t) { + return e.create().update(t); + }); + for (var t = 0; t < OUTPUT_TYPES.length; ++t) { + var n = OUTPUT_TYPES[t]; + e[n] = createOutputMethod(n); + } + return e; + }, + nodeWrap = function nodeWrap(method) { + var crypto = eval("require('crypto')"), + Buffer = eval("require('buffer').Buffer"), + nodeMethod = function (e) { + if ('string' == typeof e) return crypto.createHash('md5').update(e, 'utf8').digest('hex'); + if (null == e) throw ERROR; + return ( + e.constructor === ArrayBuffer && (e = new Uint8Array(e)), + Array.isArray(e) || ArrayBuffer.isView(e) || e.constructor === Buffer + ? crypto.createHash('md5').update(new Buffer(e)).digest('hex') + : method(e) + ); + }; + return nodeMethod; + }; + function Md5(e) { + if (e) + (blocks[0] = + blocks[16] = + blocks[1] = + blocks[2] = + blocks[3] = + blocks[4] = + blocks[5] = + blocks[6] = + blocks[7] = + blocks[8] = + blocks[9] = + blocks[10] = + blocks[11] = + blocks[12] = + blocks[13] = + blocks[14] = + blocks[15] = + 0), + (this.blocks = blocks), + (this.buffer8 = buffer8); + else if (ARRAY_BUFFER) { + var t = new ArrayBuffer(68); + (this.buffer8 = new Uint8Array(t)), (this.blocks = new Uint32Array(t)); + } else this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + (this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0), + (this.finalized = this.hashed = !1), + (this.first = !0); + } + (Md5.prototype.update = function (e, t) { + if (!this.finalized) { + for (var n, r, o = 0, i = e.length, a = this.blocks, s = this.buffer8; o < i; ) { + if ( + (this.hashed && + ((this.hashed = !1), + (a[0] = a[16]), + (a[16] = + a[1] = + a[2] = + a[3] = + a[4] = + a[5] = + a[6] = + a[7] = + a[8] = + a[9] = + a[10] = + a[11] = + a[12] = + a[13] = + a[14] = + a[15] = + 0)), + ARRAY_BUFFER) + ) + for (r = this.start; o < i && r < 64; ++o) + (n = e.charCodeAt(o)), + t || n < 128 + ? (s[r++] = n) + : n < 2048 + ? ((s[r++] = 192 | (n >> 6)), (s[r++] = 128 | (63 & n))) + : n < 55296 || n >= 57344 + ? ((s[r++] = 224 | (n >> 12)), (s[r++] = 128 | ((n >> 6) & 63)), (s[r++] = 128 | (63 & n))) + : ((n = 65536 + (((1023 & n) << 10) | (1023 & e.charCodeAt(++o)))), + (s[r++] = 240 | (n >> 18)), + (s[r++] = 128 | ((n >> 12) & 63)), + (s[r++] = 128 | ((n >> 6) & 63)), + (s[r++] = 128 | (63 & n))); + else + for (r = this.start; o < i && r < 64; ++o) + (n = e.charCodeAt(o)), + t || n < 128 + ? (a[r >> 2] |= n << SHIFT[3 & r++]) + : n < 2048 + ? ((a[r >> 2] |= (192 | (n >> 6)) << SHIFT[3 & r++]), + (a[r >> 2] |= (128 | (63 & n)) << SHIFT[3 & r++])) + : n < 55296 || n >= 57344 + ? ((a[r >> 2] |= (224 | (n >> 12)) << SHIFT[3 & r++]), + (a[r >> 2] |= (128 | ((n >> 6) & 63)) << SHIFT[3 & r++]), + (a[r >> 2] |= (128 | (63 & n)) << SHIFT[3 & r++])) + : ((n = 65536 + (((1023 & n) << 10) | (1023 & e.charCodeAt(++o)))), + (a[r >> 2] |= (240 | (n >> 18)) << SHIFT[3 & r++]), + (a[r >> 2] |= (128 | ((n >> 12) & 63)) << SHIFT[3 & r++]), + (a[r >> 2] |= (128 | ((n >> 6) & 63)) << SHIFT[3 & r++]), + (a[r >> 2] |= (128 | (63 & n)) << SHIFT[3 & r++])); + (this.lastByteIndex = r), + (this.bytes += r - this.start), + r >= 64 ? ((this.start = r - 64), this.hash(), (this.hashed = !0)) : (this.start = r); + } + return ( + this.bytes > 4294967295 && + ((this.hBytes += (this.bytes / 4294967296) << 0), (this.bytes = this.bytes % 4294967296)), + this + ); + } + }), + (Md5.prototype.finalize = function () { + if (!this.finalized) { + this.finalized = !0; + var e = this.blocks, + t = this.lastByteIndex; + (e[t >> 2] |= EXTRA[3 & t]), + t >= 56 && + (this.hashed || this.hash(), + (e[0] = e[16]), + (e[16] = + e[1] = + e[2] = + e[3] = + e[4] = + e[5] = + e[6] = + e[7] = + e[8] = + e[9] = + e[10] = + e[11] = + e[12] = + e[13] = + e[14] = + e[15] = + 0)), + (e[14] = this.bytes << 3), + (e[15] = (this.hBytes << 3) | (this.bytes >>> 29)), + this.hash(); + } + }), + (Md5.prototype.hash = function () { + var e, + t, + n, + r, + o, + i, + a = this.blocks; + this.first + ? (t = + ((((t = + ((e = ((((e = a[0] - 680876937) << 7) | (e >>> 25)) - 271733879) << 0) ^ + ((n = + ((((n = + (-271733879 ^ + ((r = + ((((r = (-1732584194 ^ (2004318071 & e)) + a[1] - 117830708) << 12) | (r >>> 20)) + + e) << + 0) & + (-271733879 ^ e))) + + a[2] - + 1126478375) << + 17) | + (n >>> 15)) + + r) << + 0) & + (r ^ e))) + + a[3] - + 1316259209) << + 22) | + (t >>> 10)) + + n) << + 0) + : ((e = this.h0), + (t = this.h1), + (n = this.h2), + (t = + ((((t += + ((e = + ((((e += ((r = this.h3) ^ (t & (n ^ r))) + a[0] - 680876936) << 7) | (e >>> 25)) + t) << 0) ^ + ((n = + ((((n += + (t ^ + ((r = ((((r += (n ^ (e & (t ^ n))) + a[1] - 389564586) << 12) | (r >>> 20)) + e) << 0) & + (e ^ t))) + + a[2] + + 606105819) << + 17) | + (n >>> 15)) + + r) << + 0) & + (r ^ e))) + + a[3] - + 1044525330) << + 22) | + (t >>> 10)) + + n) << + 0)), + (t = + ((((t += + ((e = ((((e += (r ^ (t & (n ^ r))) + a[4] - 176418897) << 7) | (e >>> 25)) + t) << 0) ^ + ((n = + ((((n += + (t ^ + ((r = ((((r += (n ^ (e & (t ^ n))) + a[5] + 1200080426) << 12) | (r >>> 20)) + e) << 0) & + (e ^ t))) + + a[6] - + 1473231341) << + 17) | + (n >>> 15)) + + r) << + 0) & + (r ^ e))) + + a[7] - + 45705983) << + 22) | + (t >>> 10)) + + n) << + 0), + (t = + ((((t += + ((e = ((((e += (r ^ (t & (n ^ r))) + a[8] + 1770035416) << 7) | (e >>> 25)) + t) << 0) ^ + ((n = + ((((n += + (t ^ + ((r = ((((r += (n ^ (e & (t ^ n))) + a[9] - 1958414417) << 12) | (r >>> 20)) + e) << 0) & + (e ^ t))) + + a[10] - + 42063) << + 17) | + (n >>> 15)) + + r) << + 0) & + (r ^ e))) + + a[11] - + 1990404162) << + 22) | + (t >>> 10)) + + n) << + 0), + (t = + ((((t += + ((e = ((((e += (r ^ (t & (n ^ r))) + a[12] + 1804603682) << 7) | (e >>> 25)) + t) << 0) ^ + ((n = + ((((n += + (t ^ + ((r = ((((r += (n ^ (e & (t ^ n))) + a[13] - 40341101) << 12) | (r >>> 20)) + e) << 0) & + (e ^ t))) + + a[14] - + 1502002290) << + 17) | + (n >>> 15)) + + r) << + 0) & + (r ^ e))) + + a[15] + + 1236535329) << + 22) | + (t >>> 10)) + + n) << + 0), + (t = + ((((t += + ((r = + ((((r += + (t ^ + (n & + ((e = ((((e += (n ^ (r & (t ^ n))) + a[1] - 165796510) << 5) | (e >>> 27)) + t) << 0) ^ + t))) + + a[6] - + 1069501632) << + 9) | + (r >>> 23)) + + e) << + 0) ^ + (e & + ((n = ((((n += (e ^ (t & (r ^ e))) + a[11] + 643717713) << 14) | (n >>> 18)) + r) << 0) ^ r))) + + a[0] - + 373897302) << + 20) | + (t >>> 12)) + + n) << + 0), + (t = + ((((t += + ((r = + ((((r += + (t ^ + (n & + ((e = ((((e += (n ^ (r & (t ^ n))) + a[5] - 701558691) << 5) | (e >>> 27)) + t) << 0) ^ + t))) + + a[10] + + 38016083) << + 9) | + (r >>> 23)) + + e) << + 0) ^ + (e & + ((n = ((((n += (e ^ (t & (r ^ e))) + a[15] - 660478335) << 14) | (n >>> 18)) + r) << 0) ^ r))) + + a[4] - + 405537848) << + 20) | + (t >>> 12)) + + n) << + 0), + (t = + ((((t += + ((r = + ((((r += + (t ^ + (n & + ((e = ((((e += (n ^ (r & (t ^ n))) + a[9] + 568446438) << 5) | (e >>> 27)) + t) << 0) ^ + t))) + + a[14] - + 1019803690) << + 9) | + (r >>> 23)) + + e) << + 0) ^ + (e & + ((n = ((((n += (e ^ (t & (r ^ e))) + a[3] - 187363961) << 14) | (n >>> 18)) + r) << 0) ^ r))) + + a[8] + + 1163531501) << + 20) | + (t >>> 12)) + + n) << + 0), + (t = + ((((t += + ((r = + ((((r += + (t ^ + (n & + ((e = ((((e += (n ^ (r & (t ^ n))) + a[13] - 1444681467) << 5) | (e >>> 27)) + t) << 0) ^ + t))) + + a[2] - + 51403784) << + 9) | + (r >>> 23)) + + e) << + 0) ^ + (e & + ((n = ((((n += (e ^ (t & (r ^ e))) + a[7] + 1735328473) << 14) | (n >>> 18)) + r) << 0) ^ r))) + + a[12] - + 1926607734) << + 20) | + (t >>> 12)) + + n) << + 0), + (t = + ((((t += + ((i = + (r = + ((((r += + ((o = t ^ n) ^ (e = ((((e += (o ^ r) + a[5] - 378558) << 4) | (e >>> 28)) + t) << 0)) + + a[8] - + 2022574463) << + 11) | + (r >>> 21)) + + e) << + 0) ^ e) ^ + (n = ((((n += (i ^ t) + a[11] + 1839030562) << 16) | (n >>> 16)) + r) << 0)) + + a[14] - + 35309556) << + 23) | + (t >>> 9)) + + n) << + 0), + (t = + ((((t += + ((i = + (r = + ((((r += + ((o = t ^ n) ^ (e = ((((e += (o ^ r) + a[1] - 1530992060) << 4) | (e >>> 28)) + t) << 0)) + + a[4] + + 1272893353) << + 11) | + (r >>> 21)) + + e) << + 0) ^ e) ^ + (n = ((((n += (i ^ t) + a[7] - 155497632) << 16) | (n >>> 16)) + r) << 0)) + + a[10] - + 1094730640) << + 23) | + (t >>> 9)) + + n) << + 0), + (t = + ((((t += + ((i = + (r = + ((((r += + ((o = t ^ n) ^ (e = ((((e += (o ^ r) + a[13] + 681279174) << 4) | (e >>> 28)) + t) << 0)) + + a[0] - + 358537222) << + 11) | + (r >>> 21)) + + e) << + 0) ^ e) ^ + (n = ((((n += (i ^ t) + a[3] - 722521979) << 16) | (n >>> 16)) + r) << 0)) + + a[6] + + 76029189) << + 23) | + (t >>> 9)) + + n) << + 0), + (t = + ((((t += + ((i = + (r = + ((((r += + ((o = t ^ n) ^ (e = ((((e += (o ^ r) + a[9] - 640364487) << 4) | (e >>> 28)) + t) << 0)) + + a[12] - + 421815835) << + 11) | + (r >>> 21)) + + e) << + 0) ^ e) ^ + (n = ((((n += (i ^ t) + a[15] + 530742520) << 16) | (n >>> 16)) + r) << 0)) + + a[2] - + 995338651) << + 23) | + (t >>> 9)) + + n) << + 0), + (t = + ((((t += + ((r = + ((((r += + (t ^ ((e = ((((e += (n ^ (t | ~r)) + a[0] - 198630844) << 6) | (e >>> 26)) + t) << 0) | ~n)) + + a[7] + + 1126891415) << + 10) | + (r >>> 22)) + + e) << + 0) ^ + ((n = ((((n += (e ^ (r | ~t)) + a[14] - 1416354905) << 15) | (n >>> 17)) + r) << 0) | ~e)) + + a[5] - + 57434055) << + 21) | + (t >>> 11)) + + n) << + 0), + (t = + ((((t += + ((r = + ((((r += + (t ^ ((e = ((((e += (n ^ (t | ~r)) + a[12] + 1700485571) << 6) | (e >>> 26)) + t) << 0) | ~n)) + + a[3] - + 1894986606) << + 10) | + (r >>> 22)) + + e) << + 0) ^ + ((n = ((((n += (e ^ (r | ~t)) + a[10] - 1051523) << 15) | (n >>> 17)) + r) << 0) | ~e)) + + a[1] - + 2054922799) << + 21) | + (t >>> 11)) + + n) << + 0), + (t = + ((((t += + ((r = + ((((r += + (t ^ ((e = ((((e += (n ^ (t | ~r)) + a[8] + 1873313359) << 6) | (e >>> 26)) + t) << 0) | ~n)) + + a[15] - + 30611744) << + 10) | + (r >>> 22)) + + e) << + 0) ^ + ((n = ((((n += (e ^ (r | ~t)) + a[6] - 1560198380) << 15) | (n >>> 17)) + r) << 0) | ~e)) + + a[13] + + 1309151649) << + 21) | + (t >>> 11)) + + n) << + 0), + (t = + ((((t += + ((r = + ((((r += + (t ^ ((e = ((((e += (n ^ (t | ~r)) + a[4] - 145523070) << 6) | (e >>> 26)) + t) << 0) | ~n)) + + a[11] - + 1120210379) << + 10) | + (r >>> 22)) + + e) << + 0) ^ + ((n = ((((n += (e ^ (r | ~t)) + a[2] + 718787259) << 15) | (n >>> 17)) + r) << 0) | ~e)) + + a[9] - + 343485551) << + 21) | + (t >>> 11)) + + n) << + 0), + this.first + ? ((this.h0 = (e + 1732584193) << 0), + (this.h1 = (t - 271733879) << 0), + (this.h2 = (n - 1732584194) << 0), + (this.h3 = (r + 271733878) << 0), + (this.first = !1)) + : ((this.h0 = (this.h0 + e) << 0), + (this.h1 = (this.h1 + t) << 0), + (this.h2 = (this.h2 + n) << 0), + (this.h3 = (this.h3 + r) << 0)); + }), + (Md5.prototype.hex = function () { + this.finalize(); + var e = this.h0, + t = this.h1, + n = this.h2, + r = this.h3; + return ( + HEX_CHARS[(e >> 4) & 15] + + HEX_CHARS[15 & e] + + HEX_CHARS[(e >> 12) & 15] + + HEX_CHARS[(e >> 8) & 15] + + HEX_CHARS[(e >> 20) & 15] + + HEX_CHARS[(e >> 16) & 15] + + HEX_CHARS[(e >> 28) & 15] + + HEX_CHARS[(e >> 24) & 15] + + HEX_CHARS[(t >> 4) & 15] + + HEX_CHARS[15 & t] + + HEX_CHARS[(t >> 12) & 15] + + HEX_CHARS[(t >> 8) & 15] + + HEX_CHARS[(t >> 20) & 15] + + HEX_CHARS[(t >> 16) & 15] + + HEX_CHARS[(t >> 28) & 15] + + HEX_CHARS[(t >> 24) & 15] + + HEX_CHARS[(n >> 4) & 15] + + HEX_CHARS[15 & n] + + HEX_CHARS[(n >> 12) & 15] + + HEX_CHARS[(n >> 8) & 15] + + HEX_CHARS[(n >> 20) & 15] + + HEX_CHARS[(n >> 16) & 15] + + HEX_CHARS[(n >> 28) & 15] + + HEX_CHARS[(n >> 24) & 15] + + HEX_CHARS[(r >> 4) & 15] + + HEX_CHARS[15 & r] + + HEX_CHARS[(r >> 12) & 15] + + HEX_CHARS[(r >> 8) & 15] + + HEX_CHARS[(r >> 20) & 15] + + HEX_CHARS[(r >> 16) & 15] + + HEX_CHARS[(r >> 28) & 15] + + HEX_CHARS[(r >> 24) & 15] + ); + }), + (Md5.prototype.toString = Md5.prototype.hex), + (Md5.prototype.digest = function (e) { + if ('hex' === e) return this.hex(); + this.finalize(); + var t = this.h0, + n = this.h1, + r = this.h2, + o = this.h3; + return [ + 255 & t, + (t >> 8) & 255, + (t >> 16) & 255, + (t >> 24) & 255, + 255 & n, + (n >> 8) & 255, + (n >> 16) & 255, + (n >> 24) & 255, + 255 & r, + (r >> 8) & 255, + (r >> 16) & 255, + (r >> 24) & 255, + 255 & o, + (o >> 8) & 255, + (o >> 16) & 255, + (o >> 24) & 255, + ]; + }), + (Md5.prototype.array = Md5.prototype.digest), + (Md5.prototype.arrayBuffer = function () { + this.finalize(); + var e = new ArrayBuffer(16), + t = new Uint32Array(e); + return (t[0] = this.h0), (t[1] = this.h1), (t[2] = this.h2), (t[3] = this.h3), e; + }), + (Md5.prototype.buffer = Md5.prototype.arrayBuffer), + (Md5.prototype.base64 = function () { + for (var e, t, n, r = '', o = this.array(), i = 0; i < 15; ) + (e = o[i++]), + (t = o[i++]), + (n = o[i++]), + (r += + BASE64_ENCODE_CHAR[e >>> 2] + + BASE64_ENCODE_CHAR[63 & ((e << 4) | (t >>> 4))] + + BASE64_ENCODE_CHAR[63 & ((t << 2) | (n >>> 6))] + + BASE64_ENCODE_CHAR[63 & n]); + return (e = o[i]), (r += BASE64_ENCODE_CHAR[e >>> 2] + BASE64_ENCODE_CHAR[(e << 4) & 63] + '=='); + }); + var exports = createMethod(); + COMMON_JS + ? (module.exports = exports) + : ((root.md5 = exports), + AMD && + ((__WEBPACK_AMD_DEFINE_RESULT__ = function () { + return exports; + }.call(exports, __webpack_require__, exports, module)), + void 0 === __WEBPACK_AMD_DEFINE_RESULT__ || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))); + })(); + }).call(this, __webpack_require__(3), __webpack_require__(13), __webpack_require__(4)(module)); + }, + function (e, t) { + var n; + n = (function () { + return this; + })(); + try { + n = n || new Function('return this')(); + } catch (e) { + 'object' == typeof window && (n = window); + } + e.exports = n; + }, + function (e, t) { + (function (t) { + e.exports = t; + }).call(this, {}); + }, + function (e, t, n) { + (function (e) { + var t, + r, + o, + i, + a, + s, + c, + u = n(0), + l = + l || + (function (e, t) { + var n = {}, + r = (n.lib = {}), + o = function () {}, + i = (r.Base = { + extend: function (e) { + o.prototype = this; + var t = new o(); + return ( + e && t.mixIn(e), + t.hasOwnProperty('init') || + (t.init = function () { + t.$super.init.apply(this, arguments); + }), + (t.init.prototype = t), + (t.$super = this), + t + ); + }, + create: function () { + var e = this.extend(); + return e.init.apply(e, arguments), e; + }, + init: function () {}, + mixIn: function (e) { + for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]); + e.hasOwnProperty('toString') && (this.toString = e.toString); + }, + clone: function () { + return this.init.prototype.extend(this); + }, + }), + a = (r.WordArray = i.extend({ + init: function (e, t) { + (e = this.words = e || []), (this.sigBytes = null != t ? t : 4 * e.length); + }, + toString: function (e) { + return (e || c).stringify(this); + }, + concat: function (e) { + var t = this.words, + n = e.words, + r = this.sigBytes; + if (((e = e.sigBytes), this.clamp(), r % 4)) + for (var o = 0; o < e; o++) + t[(r + o) >>> 2] |= ((n[o >>> 2] >>> (24 - (o % 4) * 8)) & 255) << (24 - ((r + o) % 4) * 8); + else if (65535 < n.length) for (o = 0; o < e; o += 4) t[(r + o) >>> 2] = n[o >>> 2]; + else t.push.apply(t, n); + return (this.sigBytes += e), this; + }, + clamp: function () { + var t = this.words, + n = this.sigBytes; + (t[n >>> 2] &= 4294967295 << (32 - (n % 4) * 8)), (t.length = e.ceil(n / 4)); + }, + clone: function () { + var e = i.clone.call(this); + return (e.words = this.words.slice(0)), e; + }, + random: function (t) { + for (var n = [], r = 0; r < t; r += 4) n.push((4294967296 * e.random()) | 0); + return new a.init(n, t); + }, + })), + s = (n.enc = {}), + c = (s.Hex = { + stringify: function (e) { + var t = e.words; + e = e.sigBytes; + for (var n = [], r = 0; r < e; r++) { + var o = (t[r >>> 2] >>> (24 - (r % 4) * 8)) & 255; + n.push((o >>> 4).toString(16)), n.push((15 & o).toString(16)); + } + return n.join(''); + }, + parse: function (e) { + for (var t = e.length, n = [], r = 0; r < t; r += 2) + n[r >>> 3] |= parseInt(e.substr(r, 2), 16) << (24 - (r % 8) * 4); + return new a.init(n, t / 2); + }, + }), + u = (s.Latin1 = { + stringify: function (e) { + var t = e.words; + e = e.sigBytes; + for (var n = [], r = 0; r < e; r++) + n.push(String.fromCharCode((t[r >>> 2] >>> (24 - (r % 4) * 8)) & 255)); + return n.join(''); + }, + parse: function (e) { + for (var t = e.length, n = [], r = 0; r < t; r++) + n[r >>> 2] |= (255 & e.charCodeAt(r)) << (24 - (r % 4) * 8); + return new a.init(n, t); + }, + }), + l = (s.Utf8 = { + stringify: function (e) { + try { + return decodeURIComponent(escape(u.stringify(e))); + } catch (e) { + throw Error('Malformed UTF-8 data'); + } + }, + parse: function (e) { + return u.parse(unescape(encodeURIComponent(e))); + }, + }), + d = (r.BufferedBlockAlgorithm = i.extend({ + reset: function () { + (this._data = new a.init()), (this._nDataBytes = 0); + }, + _append: function (e) { + 'string' == typeof e && (e = l.parse(e)), this._data.concat(e), (this._nDataBytes += e.sigBytes); + }, + _process: function (t) { + var n = this._data, + r = n.words, + o = n.sigBytes, + i = this.blockSize, + s = o / (4 * i); + if ( + ((t = (s = t ? e.ceil(s) : e.max((0 | s) - this._minBufferSize, 0)) * i), + (o = e.min(4 * t, o)), + t) + ) { + for (var c = 0; c < t; c += i) this._doProcessBlock(r, c); + (c = r.splice(0, t)), (n.sigBytes -= o); + } + return new a.init(c, o); + }, + clone: function () { + var e = i.clone.call(this); + return (e._data = this._data.clone()), e; + }, + _minBufferSize: 0, + })); + r.Hasher = d.extend({ + cfg: i.extend(), + init: function (e) { + (this.cfg = this.cfg.extend(e)), this.reset(); + }, + reset: function () { + d.reset.call(this), this._doReset(); + }, + update: function (e) { + return this._append(e), this._process(), this; + }, + finalize: function (e) { + return e && this._append(e), this._doFinalize(); + }, + blockSize: 16, + _createHelper: function (e) { + return function (t, n) { + return new e.init(n).finalize(t); + }; + }, + _createHmacHelper: function (e) { + return function (t, n) { + return new p.HMAC.init(e, n).finalize(t); + }; + }, + }); + var p = (n.algo = {}); + return n; + })(Math); + (r = (a = (t = l).lib).WordArray), + (o = a.Hasher), + (i = []), + (a = t.algo.SHA1 = + o.extend({ + _doReset: function () { + this._hash = new r.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]); + }, + _doProcessBlock: function (e, t) { + for (var n = this._hash.words, r = n[0], o = n[1], a = n[2], s = n[3], c = n[4], u = 0; 80 > u; u++) { + if (16 > u) i[u] = 0 | e[t + u]; + else { + var l = i[u - 3] ^ i[u - 8] ^ i[u - 14] ^ i[u - 16]; + i[u] = (l << 1) | (l >>> 31); + } + (l = ((r << 5) | (r >>> 27)) + c + i[u]), + (l = + 20 > u + ? l + (1518500249 + ((o & a) | (~o & s))) + : 40 > u + ? l + (1859775393 + (o ^ a ^ s)) + : 60 > u + ? l + (((o & a) | (o & s) | (a & s)) - 1894007588) + : l + ((o ^ a ^ s) - 899497514)), + (c = s), + (s = a), + (a = (o << 30) | (o >>> 2)), + (o = r), + (r = l); + } + (n[0] = (n[0] + r) | 0), + (n[1] = (n[1] + o) | 0), + (n[2] = (n[2] + a) | 0), + (n[3] = (n[3] + s) | 0), + (n[4] = (n[4] + c) | 0); + }, + _doFinalize: function () { + var e = this._data, + t = e.words, + n = 8 * this._nDataBytes, + r = 8 * e.sigBytes; + return ( + (t[r >>> 5] |= 128 << (24 - (r % 32))), + (t[14 + (((r + 64) >>> 9) << 4)] = Math.floor(n / 4294967296)), + (t[15 + (((r + 64) >>> 9) << 4)] = n), + (e.sigBytes = 4 * t.length), + this._process(), + this._hash + ); + }, + clone: function () { + var e = o.clone.call(this); + return (e._hash = this._hash.clone()), e; + }, + })), + (t.SHA1 = o._createHelper(a)), + (t.HmacSHA1 = o._createHmacHelper(a)), + (function () { + var e = l, + t = e.enc.Utf8; + e.algo.HMAC = e.lib.Base.extend({ + init: function (e, n) { + (e = this._hasher = new e.init()), 'string' == typeof n && (n = t.parse(n)); + var r = e.blockSize, + o = 4 * r; + n.sigBytes > o && (n = e.finalize(n)), n.clamp(); + for ( + var i = (this._oKey = n.clone()), a = (this._iKey = n.clone()), s = i.words, c = a.words, u = 0; + u < r; + u++ + ) + (s[u] ^= 1549556828), (c[u] ^= 909522486); + (i.sigBytes = a.sigBytes = o), this.reset(); + }, + reset: function () { + var e = this._hasher; + e.reset(), e.update(this._iKey); + }, + update: function (e) { + return this._hasher.update(e), this; + }, + finalize: function (e) { + var t = this._hasher; + return (e = t.finalize(e)), t.reset(), t.finalize(this._oKey.clone().concat(e)); + }, + }); + })(), + (c = (s = l).lib.WordArray), + (s.enc.Base64 = { + stringify: function (e) { + var t = e.words, + n = e.sigBytes, + r = this._map; + e.clamp(); + for (var o = [], i = 0; i < n; i += 3) + for ( + var a = + (((t[i >>> 2] >>> (24 - (i % 4) * 8)) & 255) << 16) | + (((t[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 255) << 8) | + ((t[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 255), + s = 0; + s < 4 && i + 0.75 * s < n; + s++ + ) + o.push(r.charAt((a >>> (6 * (3 - s))) & 63)); + var c = r.charAt(64); + if (c) for (; o.length % 4; ) o.push(c); + return o.join(''); + }, + parse: function (e) { + var t = e.length, + n = this._map, + r = n.charAt(64); + if (r) { + var o = e.indexOf(r); + -1 != o && (t = o); + } + for (var i = [], a = 0, s = 0; s < t; s++) + if (s % 4) { + var u = n.indexOf(e.charAt(s - 1)) << ((s % 4) * 2), + l = n.indexOf(e.charAt(s)) >>> (6 - (s % 4) * 2); + (i[a >>> 2] |= (u | l) << (24 - (a % 4) * 8)), a++; + } + return c.create(i, a); + }, + _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', + }), + 'object' === u(e) ? (e.exports = l) : (window.CryptoJS = l); + }).call(this, n(4)(e)); + }, + function (e, t, n) { + var r = n(17).DOMParser, + o = function () { + this.version = '1.3.5'; + var e = { mergeCDATA: !0, normalize: !0, stripElemPrefix: !0 }, + t = new RegExp(/(?!xmlns)^.*:/); + new RegExp(/^\s+|\s+$/g); + return ( + (this.grokType = function (e) { + return /^\s*$/.test(e) + ? null + : /^(?:true|false)$/i.test(e) + ? 'true' === e.toLowerCase() + : isFinite(e) + ? parseFloat(e) + : e; + }), + (this.parseString = function (e, t) { + if (e) { + var n = this.stringToXML(e); + return n.getElementsByTagName('parsererror').length ? null : this.parseXML(n, t); + } + return null; + }), + (this.parseXML = function (n, r) { + for (var i in r) e[i] = r[i]; + var a = {}, + s = 0, + c = ''; + if (n.childNodes.length) + for (var u, l, d, p = 0; p < n.childNodes.length; p++) + 4 === (u = n.childNodes.item(p)).nodeType + ? e.mergeCDATA && (c += u.nodeValue) + : 3 === u.nodeType + ? (c += u.nodeValue) + : 1 === u.nodeType && + (0 === s && (a = {}), + (l = e.stripElemPrefix ? u.nodeName.replace(t, '') : u.nodeName), + (d = o.parseXML(u)), + a.hasOwnProperty(l) + ? (a[l].constructor !== Array && (a[l] = [a[l]]), a[l].push(d)) + : ((a[l] = d), s++)); + return Object.keys(a).length || (a = c || ''), a; + }), + (this.xmlToString = function (e) { + try { + return e.xml ? e.xml : new XMLSerializer().serializeToString(e); + } catch (e) { + return null; + } + }), + (this.stringToXML = function (e) { + try { + var t = null; + return window.DOMParser + ? (t = new r().parseFromString(e, 'text/xml')) + : (((t = new ActiveXObject('Microsoft.XMLDOM')).async = !1), t.loadXML(e), t); + } catch (e) { + return null; + } + }), + this + ); + }.call({}); + e.exports = function (e) { + return o.parseString(e); + }; + }, + function (e, t, n) { + var r = n(5); + (t.DOMImplementation = r.DOMImplementation), (t.XMLSerializer = r.XMLSerializer), (t.DOMParser = n(18).DOMParser); + }, + function (e, t, n) { + var r = n(2), + o = n(5), + i = n(19), + a = n(20), + s = o.DOMImplementation, + c = r.NAMESPACE, + u = a.ParseError, + l = a.XMLReader; + function d(e) { + return e.replace(/\r[\n\u0085]/g, '\n').replace(/[\r\u0085\u2028]/g, '\n'); + } + function p(e) { + this.options = e || { locator: {} }; + } + function f() { + this.cdata = !1; + } + function h(e, t) { + (t.lineNumber = e.lineNumber), (t.columnNumber = e.columnNumber); + } + function m(e, t, n) { + return 'string' == typeof e ? e.substr(t, n) : e.length >= t + n || t ? new java.lang.String(e, t, n) + '' : e; + } + function g(e, t) { + e.currentElement ? e.currentElement.appendChild(t) : e.doc.appendChild(t); + } + (p.prototype.parseFromString = function (e, t) { + var n = this.options, + r = new l(), + o = n.domBuilder || new f(), + a = n.errorHandler, + s = n.locator, + u = n.xmlns || {}, + p = /\/x?html?$/.test(t), + h = p ? i.HTML_ENTITIES : i.XML_ENTITIES; + s && o.setDocumentLocator(s), + (r.errorHandler = (function (e, t, n) { + if (!e) { + if (t instanceof f) return t; + e = t; + } + var r = {}, + o = e instanceof Function; + function i(t) { + var i = e[t]; + !i && + o && + (i = + 2 == e.length + ? function (n) { + e(t, n); + } + : e), + (r[t] = + (i && + function (e) { + i( + '[xmldom ' + + t + + ']\t' + + e + + (function (e) { + if (e) + return ( + '\n@' + (e.systemId || '') + '#[line:' + e.lineNumber + ',col:' + e.columnNumber + ']' + ); + })(n), + ); + }) || + function () {}); + } + return (n = n || {}), i('warning'), i('error'), i('fatalError'), r; + })(a, o, s)), + (r.domBuilder = n.domBuilder || o), + p && (u[''] = c.HTML), + (u.xml = u.xml || c.XML); + var m = n.normalizeLineEndings || d; + return e && 'string' == typeof e ? r.parse(m(e), u, h) : r.errorHandler.error('invalid doc source'), o.doc; + }), + (f.prototype = { + startDocument: function () { + (this.doc = new s().createDocument(null, null, null)), + this.locator && (this.doc.documentURI = this.locator.systemId); + }, + startElement: function (e, t, n, r) { + var o = this.doc, + i = o.createElementNS(e, n || t), + a = r.length; + g(this, i), (this.currentElement = i), this.locator && h(this.locator, i); + for (var s = 0; s < a; s++) { + e = r.getURI(s); + var c = r.getValue(s), + u = ((n = r.getQName(s)), o.createAttributeNS(e, n)); + this.locator && h(r.getLocator(s), u), (u.value = u.nodeValue = c), i.setAttributeNode(u); + } + }, + endElement: function (e, t, n) { + var r = this.currentElement; + r.tagName; + this.currentElement = r.parentNode; + }, + startPrefixMapping: function (e, t) {}, + endPrefixMapping: function (e) {}, + processingInstruction: function (e, t) { + var n = this.doc.createProcessingInstruction(e, t); + this.locator && h(this.locator, n), g(this, n); + }, + ignorableWhitespace: function (e, t, n) {}, + characters: function (e, t, n) { + if ((e = m.apply(this, arguments))) { + if (this.cdata) var r = this.doc.createCDATASection(e); + else r = this.doc.createTextNode(e); + this.currentElement ? this.currentElement.appendChild(r) : /^\s*$/.test(e) && this.doc.appendChild(r), + this.locator && h(this.locator, r); + } + }, + skippedEntity: function (e) {}, + endDocument: function () { + this.doc.normalize(); + }, + setDocumentLocator: function (e) { + (this.locator = e) && (e.lineNumber = 0); + }, + comment: function (e, t, n) { + e = m.apply(this, arguments); + var r = this.doc.createComment(e); + this.locator && h(this.locator, r), g(this, r); + }, + startCDATA: function () { + this.cdata = !0; + }, + endCDATA: function () { + this.cdata = !1; + }, + startDTD: function (e, t, n) { + var r = this.doc.implementation; + if (r && r.createDocumentType) { + var o = r.createDocumentType(e, t, n); + this.locator && h(this.locator, o), g(this, o), (this.doc.doctype = o); + } + }, + warning: function (e) {}, + error: function (e) {}, + fatalError: function (e) { + throw new u(e, this.locator); + }, + }), + 'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'.replace( + /\w+/g, + function (e) { + f.prototype[e] = function () { + return null; + }; + }, + ), + (t.__DOMHandler = f), + (t.normalizeLineEndings = d), + (t.DOMParser = p); + }, + function (e, t, n) { + var r = n(2).freeze; + (t.XML_ENTITIES = r({ amp: '&', apos: "'", gt: '>', lt: '<', quot: '"' })), + (t.HTML_ENTITIES = r({ + lt: '<', + gt: '>', + amp: '&', + quot: '"', + apos: "'", + Agrave: 'À', + Aacute: 'Á', + Acirc: 'Â', + Atilde: 'Ã', + Auml: 'Ä', + Aring: 'Å', + AElig: 'Æ', + Ccedil: 'Ç', + Egrave: 'È', + Eacute: 'É', + Ecirc: 'Ê', + Euml: 'Ë', + Igrave: 'Ì', + Iacute: 'Í', + Icirc: 'Î', + Iuml: 'Ï', + ETH: 'Ð', + Ntilde: 'Ñ', + Ograve: 'Ò', + Oacute: 'Ó', + Ocirc: 'Ô', + Otilde: 'Õ', + Ouml: 'Ö', + Oslash: 'Ø', + Ugrave: 'Ù', + Uacute: 'Ú', + Ucirc: 'Û', + Uuml: 'Ü', + Yacute: 'Ý', + THORN: 'Þ', + szlig: 'ß', + agrave: 'à', + aacute: 'á', + acirc: 'â', + atilde: 'ã', + auml: 'ä', + aring: 'å', + aelig: 'æ', + ccedil: 'ç', + egrave: 'è', + eacute: 'é', + ecirc: 'ê', + euml: 'ë', + igrave: 'ì', + iacute: 'í', + icirc: 'î', + iuml: 'ï', + eth: 'ð', + ntilde: 'ñ', + ograve: 'ò', + oacute: 'ó', + ocirc: 'ô', + otilde: 'õ', + ouml: 'ö', + oslash: 'ø', + ugrave: 'ù', + uacute: 'ú', + ucirc: 'û', + uuml: 'ü', + yacute: 'ý', + thorn: 'þ', + yuml: 'ÿ', + nbsp: ' ', + iexcl: '¡', + cent: '¢', + pound: '£', + curren: '¤', + yen: '¥', + brvbar: '¦', + sect: '§', + uml: '¨', + copy: '©', + ordf: 'ª', + laquo: '«', + not: '¬', + shy: '­­', + reg: '®', + macr: '¯', + deg: '°', + plusmn: '±', + sup2: '²', + sup3: '³', + acute: '´', + micro: 'µ', + para: '¶', + middot: '·', + cedil: '¸', + sup1: '¹', + ordm: 'º', + raquo: '»', + frac14: '¼', + frac12: '½', + frac34: '¾', + iquest: '¿', + times: '×', + divide: '÷', + forall: '∀', + part: '∂', + exist: '∃', + empty: '∅', + nabla: '∇', + isin: '∈', + notin: '∉', + ni: '∋', + prod: '∏', + sum: '∑', + minus: '−', + lowast: '∗', + radic: '√', + prop: '∝', + infin: '∞', + ang: '∠', + and: '∧', + or: '∨', + cap: '∩', + cup: '∪', + int: '∫', + there4: '∴', + sim: '∼', + cong: '≅', + asymp: '≈', + ne: '≠', + equiv: '≡', + le: '≤', + ge: '≥', + sub: '⊂', + sup: '⊃', + nsub: '⊄', + sube: '⊆', + supe: '⊇', + oplus: '⊕', + otimes: '⊗', + perp: '⊥', + sdot: '⋅', + Alpha: 'Α', + Beta: 'Β', + Gamma: 'Γ', + Delta: 'Δ', + Epsilon: 'Ε', + Zeta: 'Ζ', + Eta: 'Η', + Theta: 'Θ', + Iota: 'Ι', + Kappa: 'Κ', + Lambda: 'Λ', + Mu: 'Μ', + Nu: 'Ν', + Xi: 'Ξ', + Omicron: 'Ο', + Pi: 'Π', + Rho: 'Ρ', + Sigma: 'Σ', + Tau: 'Τ', + Upsilon: 'Υ', + Phi: 'Φ', + Chi: 'Χ', + Psi: 'Ψ', + Omega: 'Ω', + alpha: 'α', + beta: 'β', + gamma: 'γ', + delta: 'δ', + epsilon: 'ε', + zeta: 'ζ', + eta: 'η', + theta: 'θ', + iota: 'ι', + kappa: 'κ', + lambda: 'λ', + mu: 'μ', + nu: 'ν', + xi: 'ξ', + omicron: 'ο', + pi: 'π', + rho: 'ρ', + sigmaf: 'ς', + sigma: 'σ', + tau: 'τ', + upsilon: 'υ', + phi: 'φ', + chi: 'χ', + psi: 'ψ', + omega: 'ω', + thetasym: 'ϑ', + upsih: 'ϒ', + piv: 'ϖ', + OElig: 'Œ', + oelig: 'œ', + Scaron: 'Š', + scaron: 'š', + Yuml: 'Ÿ', + fnof: 'ƒ', + circ: 'ˆ', + tilde: '˜', + ensp: ' ', + emsp: ' ', + thinsp: ' ', + zwnj: '‌', + zwj: '‍', + lrm: '‎', + rlm: '‏', + ndash: '–', + mdash: '—', + lsquo: '‘', + rsquo: '’', + sbquo: '‚', + ldquo: '“', + rdquo: '”', + bdquo: '„', + dagger: '†', + Dagger: '‡', + bull: '•', + hellip: '…', + permil: '‰', + prime: '′', + Prime: '″', + lsaquo: '‹', + rsaquo: '›', + oline: '‾', + euro: '€', + trade: '™', + larr: '←', + uarr: '↑', + rarr: '→', + darr: '↓', + harr: '↔', + crarr: '↵', + lceil: '⌈', + rceil: '⌉', + lfloor: '⌊', + rfloor: '⌋', + loz: '◊', + spades: '♠', + clubs: '♣', + hearts: '♥', + diams: '♦', + })), + (t.entityMap = t.HTML_ENTITIES); + }, + function (e, t, n) { + var r = n(2).NAMESPACE, + o = + /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/, + i = new RegExp('[\\-\\.0-9' + o.source.slice(1, -1) + '\\u00B7\\u0300-\\u036F\\u203F-\\u2040]'), + a = new RegExp('^' + o.source + i.source + '*(?::' + o.source + i.source + '*)?$'), + s = 0, + c = 1, + u = 2, + l = 3, + d = 4, + p = 5, + f = 6, + h = 7; + function m(e, t) { + (this.message = e), (this.locator = t), Error.captureStackTrace && Error.captureStackTrace(this, m); + } + function g() {} + function y(e, t) { + return (t.lineNumber = e.lineNumber), (t.columnNumber = e.columnNumber), t; + } + function v(e, t, n, o, i, a) { + function m(e, t, r) { + n.attributeNames.hasOwnProperty(e) && a.fatalError('Attribute ' + e + ' redefined'), + n.addValue(e, t.replace(/[\t\n\r]/g, ' ').replace(/&#?\w+;/g, i), r); + } + for (var g, y = ++t, v = s; ; ) { + var C = e.charAt(y); + switch (C) { + case '=': + if (v === c) (g = e.slice(t, y)), (v = l); + else { + if (v !== u) throw new Error('attribute equal must after attrName'); + v = l; + } + break; + case "'": + case '"': + if (v === l || v === c) { + if ( + (v === c && (a.warning('attribute value must after "="'), (g = e.slice(t, y))), + (t = y + 1), + !((y = e.indexOf(C, t)) > 0)) + ) + throw new Error("attribute value no end '" + C + "' match"); + m(g, (k = e.slice(t, y)), t - 1), (v = p); + } else { + if (v != d) throw new Error('attribute value must after "="'); + m(g, (k = e.slice(t, y)), t), + a.warning('attribute "' + g + '" missed start quot(' + C + ')!!'), + (t = y + 1), + (v = p); + } + break; + case '/': + switch (v) { + case s: + n.setTagName(e.slice(t, y)); + case p: + case f: + case h: + (v = h), (n.closed = !0); + case d: + case c: + case u: + break; + default: + throw new Error("attribute invalid close char('/')"); + } + break; + case '': + return a.error('unexpected end of input'), v == s && n.setTagName(e.slice(t, y)), y; + case '>': + switch (v) { + case s: + n.setTagName(e.slice(t, y)); + case p: + case f: + case h: + break; + case d: + case c: + '/' === (k = e.slice(t, y)).slice(-1) && ((n.closed = !0), (k = k.slice(0, -1))); + case u: + v === u && (k = g), + v == d + ? (a.warning('attribute "' + k + '" missed quot(")!'), m(g, k, t)) + : ((r.isHTML(o['']) && k.match(/^(?:disabled|checked|selected)$/i)) || + a.warning('attribute "' + k + '" missed value!! "' + k + '" instead!!'), + m(k, k, t)); + break; + case l: + throw new Error('attribute value missed!!'); + } + return y; + case '€': + C = ' '; + default: + if (C <= ' ') + switch (v) { + case s: + n.setTagName(e.slice(t, y)), (v = f); + break; + case c: + (g = e.slice(t, y)), (v = u); + break; + case d: + var k = e.slice(t, y); + a.warning('attribute "' + k + '" missed quot(")!!'), m(g, k, t); + case p: + v = f; + } + else + switch (v) { + case u: + n.tagName; + (r.isHTML(o['']) && g.match(/^(?:disabled|checked|selected)$/i)) || + a.warning('attribute "' + g + '" missed value!! "' + g + '" instead2!!'), + m(g, g, t), + (t = y), + (v = c); + break; + case p: + a.warning('attribute space is required"' + g + '"!!'); + case f: + (v = c), (t = y); + break; + case l: + (v = d), (t = y); + break; + case h: + throw new Error("elements closed character '/' and '>' must be connected to"); + } + } + y++; + } + } + function C(e, t, n) { + for (var o = e.tagName, i = null, a = e.length; a--; ) { + var s = e[a], + c = s.qName, + u = s.value; + if ((f = c.indexOf(':')) > 0) + var l = (s.prefix = c.slice(0, f)), + d = c.slice(f + 1), + p = 'xmlns' === l && d; + else (d = c), (l = null), (p = 'xmlns' === c && ''); + (s.localName = d), + !1 !== p && + (null == i && ((i = {}), b(n, (n = {}))), + (n[p] = i[p] = u), + (s.uri = r.XMLNS), + t.startPrefixMapping(p, u)); + } + for (a = e.length; a--; ) { + (l = (s = e[a]).prefix) && ('xml' === l && (s.uri = r.XML), 'xmlns' !== l && (s.uri = n[l || ''])); + } + var f; + (f = o.indexOf(':')) > 0 + ? ((l = e.prefix = o.slice(0, f)), (d = e.localName = o.slice(f + 1))) + : ((l = null), (d = e.localName = o)); + var h = (e.uri = n[l || '']); + if ((t.startElement(h, d, o, e), !e.closed)) return (e.currentNSMap = n), (e.localNSMap = i), !0; + if ((t.endElement(h, d, o), i)) + for (l in i) Object.prototype.hasOwnProperty.call(i, l) && t.endPrefixMapping(l); + } + function k(e, t, n, r, o) { + if (/^(?:script|textarea)$/i.test(n)) { + var i = e.indexOf('', t), + a = e.substring(t + 1, i); + if (/[&<]/.test(a)) + return /^script$/i.test(n) + ? (o.characters(a, 0, a.length), i) + : ((a = a.replace(/&#?\w+;/g, r)), o.characters(a, 0, a.length), i); + } + return t + 1; + } + function S(e, t, n, r) { + var o = r[n]; + return ( + null == o && ((o = e.lastIndexOf('')) < t && (o = e.lastIndexOf(' t + ? (n.comment(e, t + 4, o - t - 4), o + 3) + : (r.error('Unclosed comment'), -1) + : -1; + if ('CDATA[' == e.substr(t + 3, 6)) { + var o = e.indexOf(']]>', t + 9); + return n.startCDATA(), n.characters(e, t + 9, o - t - 9), n.endCDATA(), o + 3; + } + var i = (function (e, t) { + var n, + r = [], + o = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g; + (o.lastIndex = t), o.exec(e); + for (; (n = o.exec(e)); ) if ((r.push(n), n[1])) return r; + })(e, t), + a = i.length; + if (a > 1 && /!doctype/i.test(i[0][0])) { + var s = i[1][0], + c = !1, + u = !1; + a > 3 && + (/^public$/i.test(i[2][0]) + ? ((c = i[3][0]), (u = a > 4 && i[4][0])) + : /^system$/i.test(i[2][0]) && (u = i[3][0])); + var l = i[a - 1]; + return n.startDTD(s, c, u), n.endDTD(), l.index + l[0].length; + } + return -1; + } + function R(e, t, n) { + var r = e.indexOf('?>', t); + if (r) { + var o = e.substring(t, r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/); + if (o) { + o[0].length; + return n.processingInstruction(o[1], o[2]), r + 2; + } + return -1; + } + return -1; + } + function E() { + this.attributeNames = {}; + } + (m.prototype = new Error()), + (m.prototype.name = m.name), + (g.prototype = { + parse: function (e, t, n) { + var o = this.domBuilder; + o.startDocument(), + b(t, (t = {})), + (function (e, t, n, o, i) { + function a(e) { + if (e > 65535) { + var t = 55296 + ((e -= 65536) >> 10), + n = 56320 + (1023 & e); + return String.fromCharCode(t, n); + } + return String.fromCharCode(e); + } + function s(e) { + var t = e.slice(1, -1); + return Object.hasOwnProperty.call(n, t) + ? n[t] + : '#' === t.charAt(0) + ? a(parseInt(t.substr(1).replace('x', '0x'))) + : (i.error('entity not found:' + e), e); + } + function c(t) { + if (t > b) { + var n = e.substring(b, t).replace(/&#?\w+;/g, s); + f && u(b), o.characters(n, 0, t - b), (b = t); + } + } + function u(t, n) { + for (; t >= d && (n = p.exec(e)); ) (l = n.index), (d = l + n[0].length), f.lineNumber++; + f.columnNumber = t - l + 1; + } + var l = 0, + d = 0, + p = /.*(?:\r\n?|\n)|.*$/g, + f = o.locator, + h = [{ currentNSMap: t }], + g = {}, + b = 0; + for (;;) { + try { + var w = e.indexOf('<', b); + if (w < 0) { + if (!e.substr(b).match(/^\s*$/)) { + var A = o.doc, + x = A.createTextNode(e.substr(b)); + A.appendChild(x), (o.currentElement = x); + } + return; + } + switch ((w > b && c(w), e.charAt(w + 1))) { + case '/': + var I = e.indexOf('>', w + 3), + O = e.substring(w + 2, I).replace(/[ \t\n\r]+$/g, ''), + B = h.pop(); + I < 0 + ? ((O = e.substring(w + 2).replace(/[\s<].*/, '')), + i.error('end tag name: ' + O + ' is not complete:' + B.tagName), + (I = w + 1 + O.length)) + : O.match(/\s b ? (b = I) : c(Math.max(w, b) + 1); + } + })(e, t, n, o, this.errorHandler), + o.endDocument(); + }, + }), + (E.prototype = { + setTagName: function (e) { + if (!a.test(e)) throw new Error('invalid tagName:' + e); + this.tagName = e; + }, + addValue: function (e, t, n) { + if (!a.test(e)) throw new Error('invalid attribute:' + e); + (this.attributeNames[e] = this.length), (this[this.length++] = { qName: e, value: t, offset: n }); + }, + length: 0, + getLocalName: function (e) { + return this[e].localName; + }, + getLocator: function (e) { + return this[e].locator; + }, + getQName: function (e) { + return this[e].qName; + }, + getURI: function (e) { + return this[e].uri; + }, + getValue: function (e) { + return this[e].value; + }, + }), + (t.XMLReader = g), + (t.ParseError = m); + }, + function (e, t, n) { + var r = n(0), + o = 'a-zA-Z_À-ÖØ-öø-ÿͰ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿿、-퟿豈-﷏ﷰ-�', + i = new RegExp('^([^' + o + '])|^((x|X)(m|M)(l|L))|([^' + o + '-.0-9·̀-ͯ‿⁀])', 'g'), + a = /[^\x09\x0A\x0D\x20-\xFF\x85\xA0-\uD7FF\uE000-\uFDCF\uFDE0-\uFFFD]/gm, + s = function (e) { + var t = []; + if (e instanceof Object) for (var n in e) e.hasOwnProperty(n) && t.push(n); + return t; + }, + c = function (e, t) { + var n = function (e, n, r, o, a) { + var s = void 0 !== t.indent ? t.indent : '\t', + c = t.prettyPrint ? '\n' + new Array(o).join(s) : ''; + t.removeIllegalNameCharacters && (e = e.replace(i, '_')); + var u = [c, '<', e, r || '']; + return ( + n && n.length > 0 + ? (u.push('>'), u.push(n), a && u.push(c), u.push('')) + : u.push('/>'), + u.join('') + ); + }; + return (function e(o, i, c) { + var u = r(o); + switch ( + ((Array.isArray ? Array.isArray(o) : o instanceof Array) + ? (u = 'array') + : o instanceof Date && (u = 'date'), + u) + ) { + case 'array': + var l = []; + return ( + o.map(function (t) { + l.push(e(t, 1, c + 1)); + }), + t.prettyPrint && l.push('\n'), + l.join('') + ); + case 'date': + return o.toJSON ? o.toJSON() : o + ''; + case 'object': + var d = []; + for (var p in o) + if (o.hasOwnProperty(p)) + if (o[p] instanceof Array) + for (var f = 0; f < o[p].length; f++) + o[p].hasOwnProperty(f) && d.push(n(p, e(o[p][f], 0, c + 1), null, c + 1, s(o[p][f]).length)); + else d.push(n(p, e(o[p], 0, c + 1), null, c + 1)); + return t.prettyPrint && d.length > 0 && d.push('\n'), d.join(''); + case 'function': + return o(); + default: + return t.escape + ? ('' + o) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/'/g, ''') + .replace(/"/g, '"') + .replace(a, '') + : '' + o; + } + })(e, 0, 0); + }, + u = function (e) { + var t = [''), t.join(''); + }; + e.exports = function (e, t) { + if ( + (t || (t = { xmlHeader: { standalone: !0 }, prettyPrint: !0, indent: ' ', escape: !0 }), + 'string' == typeof e) + ) + try { + e = JSON.parse(e.toString()); + } catch (e) { + return !1; + } + var n = '', + o = ''; + return ( + t && + ('object' == r(t) + ? (t.xmlHeader && (n = u(!!t.xmlHeader.standalone)), + void 0 !== t.docType && (o = '')) + : (n = u())), + [n, (t = t || {}).prettyPrint && o ? '\n' : '', o, c(e, t)] + .join('') + .replace(/\n{2,}/g, '\n') + .replace(/\s+$/g, '') + ); + }; + }, + function (e, t) { + var n = (function (e) { + var t = (e = e || {}).Base64, + n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', + r = (function (e) { + for (var t = {}, n = 0, r = e.length; n < r; n++) t[e.charAt(n)] = n; + return t; + })(n), + o = String.fromCharCode, + i = function (e) { + if (e.length < 2) + return (t = e.charCodeAt(0)) < 128 + ? e + : t < 2048 + ? o(192 | (t >>> 6)) + o(128 | (63 & t)) + : o(224 | ((t >>> 12) & 15)) + o(128 | ((t >>> 6) & 63)) + o(128 | (63 & t)); + var t = 65536 + 1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320); + return ( + o(240 | ((t >>> 18) & 7)) + o(128 | ((t >>> 12) & 63)) + o(128 | ((t >>> 6) & 63)) + o(128 | (63 & t)) + ); + }, + a = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, + s = function (e) { + return e.replace(a, i); + }, + c = function (e) { + var t = [0, 2, 1][e.length % 3], + r = + (e.charCodeAt(0) << 16) | + ((e.length > 1 ? e.charCodeAt(1) : 0) << 8) | + (e.length > 2 ? e.charCodeAt(2) : 0); + return [ + n.charAt(r >>> 18), + n.charAt((r >>> 12) & 63), + t >= 2 ? '=' : n.charAt((r >>> 6) & 63), + t >= 1 ? '=' : n.charAt(63 & r), + ].join(''); + }, + u = e.btoa + ? function (t) { + return e.btoa(t); + } + : function (e) { + return e.replace(/[\s\S]{1,3}/g, c); + }, + l = function (e) { + return u(s(e)); + }, + d = function (e, t) { + return t + ? l(String(e)) + .replace(/[+\/]/g, function (e) { + return '+' == e ? '-' : '_'; + }) + .replace(/=/g, '') + : l(String(e)); + }, + p = new RegExp(['[À-ß][€-¿]', '[à-ï][€-¿]{2}', '[ð-÷][€-¿]{3}'].join('|'), 'g'), + f = function (e) { + switch (e.length) { + case 4: + var t = + (((7 & e.charCodeAt(0)) << 18) | + ((63 & e.charCodeAt(1)) << 12) | + ((63 & e.charCodeAt(2)) << 6) | + (63 & e.charCodeAt(3))) - + 65536; + return o(55296 + (t >>> 10)) + o(56320 + (1023 & t)); + case 3: + return o(((15 & e.charCodeAt(0)) << 12) | ((63 & e.charCodeAt(1)) << 6) | (63 & e.charCodeAt(2))); + default: + return o(((31 & e.charCodeAt(0)) << 6) | (63 & e.charCodeAt(1))); + } + }, + h = function (e) { + return e.replace(p, f); + }, + m = function (e) { + var t = e.length, + n = t % 4, + i = + (t > 0 ? r[e.charAt(0)] << 18 : 0) | + (t > 1 ? r[e.charAt(1)] << 12 : 0) | + (t > 2 ? r[e.charAt(2)] << 6 : 0) | + (t > 3 ? r[e.charAt(3)] : 0), + a = [o(i >>> 16), o((i >>> 8) & 255), o(255 & i)]; + return (a.length -= [0, 0, 2, 1][n]), a.join(''); + }, + g = e.atob + ? function (t) { + return e.atob(t); + } + : function (e) { + return e.replace(/[\s\S]{1,4}/g, m); + }, + y = function (e) { + return h(g(e)); + }, + v = function (e) { + return y( + String(e) + .replace(/[-_]/g, function (e) { + return '-' == e ? '+' : '/'; + }) + .replace(/[^A-Za-z0-9\+\/]/g, ''), + ); + }; + return { + VERSION: '2.1.9', + atob: g, + btoa: u, + fromBase64: v, + toBase64: d, + utob: s, + encode: d, + encodeURI: function (e) { + return d(e, !0); + }, + btou: h, + decode: v, + noConflict: function () { + var n = e.Base64; + return (e.Base64 = t), n; + }, + }; + })(); + e.exports = n; + }, + function (e, t) { + (e.exports = function (e, t) { + if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function'); + }), + (e.exports.__esModule = !0), + (e.exports.default = e.exports); + }, + function (e, t) { + function n(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + 'value' in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + (e.exports = function (e, t, r) { + return t && n(e.prototype, t), r && n(e, r), Object.defineProperty(e, 'prototype', { writable: !1 }), e; + }), + (e.exports.__esModule = !0), + (e.exports.default = e.exports); + }, + function (e, t, n) { + var r, + o, + i, + a = n(0); + (i = function () { + 'use strict'; + var e = function (t, n) { + return ( + (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]); + }), + e(t, n) + ); + }, + t = function () { + return ( + (t = + Object.assign || + function (e) { + for (var t, n = 1, r = arguments.length; n < r; n++) + for (var o in (t = arguments[n])) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]); + return e; + }), + t.apply(this, arguments) + ); + }; + function n(e, t, n, r) { + return new (n || (n = Promise))(function (o, i) { + function a(e) { + try { + c(r.next(e)); + } catch (e) { + i(e); + } + } + function s(e) { + try { + c(r.throw(e)); + } catch (e) { + i(e); + } + } + function c(e) { + var t; + e.done + ? o(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(a, s); + } + c((r = r.apply(e, t || [])).next()); + }); + } + function r(e, t) { + var n, + r, + o, + i, + a = { + label: 0, + sent: function () { + if (1 & o[0]) throw o[1]; + return o[1]; + }, + trys: [], + ops: [], + }; + return ( + (i = { next: s(0), throw: s(1), return: s(2) }), + 'function' == typeof Symbol && + (i[Symbol.iterator] = function () { + return this; + }), + i + ); + function s(i) { + return function (s) { + return (function (i) { + if (n) throw new TypeError('Generator is already executing.'); + for (; a; ) + try { + if ( + ((n = 1), + r && + (o = 2 & i[0] ? r.return : i[0] ? r.throw || ((o = r.return) && o.call(r), 0) : r.next) && + !(o = o.call(r, i[1])).done) + ) + return o; + switch (((r = 0), o && (i = [2 & i[0], o.value]), i[0])) { + case 0: + case 1: + o = i; + break; + case 4: + return a.label++, { value: i[1], done: !1 }; + case 5: + a.label++, (r = i[1]), (i = [0]); + continue; + case 7: + (i = a.ops.pop()), a.trys.pop(); + continue; + default: + if (!((o = (o = a.trys).length > 0 && o[o.length - 1]) || (6 !== i[0] && 2 !== i[0]))) { + a = 0; + continue; + } + if (3 === i[0] && (!o || (i[1] > o[0] && i[1] < o[3]))) { + a.label = i[1]; + break; + } + if (6 === i[0] && a.label < o[1]) { + (a.label = o[1]), (o = i); + break; + } + if (o && a.label < o[2]) { + (a.label = o[2]), a.ops.push(i); + break; + } + o[2] && a.ops.pop(), a.trys.pop(); + continue; + } + i = t.call(e, a); + } catch (e) { + (i = [6, e]), (r = 0); + } finally { + n = o = 0; + } + if (5 & i[0]) throw i[1]; + return { value: i[0] ? i[1] : void 0, done: !0 }; + })([i, s]); + }; + } + } + var o = '__BEACON_', + i = '__BEACON_deviceId', + a = 'last_report_time', + s = 'sending_event_ids', + c = 'beacon_config', + u = 'beacon_config_request_time', + l = (function () { + function e() { + var e = this; + (this.emit = function (t, n) { + if (e) { + var r, + o = e.__EventsList[t]; + if (null == o ? void 0 : o.length) { + o = o.slice(); + for (var i = 0; i < o.length; i++) { + r = o[i]; + try { + var a = r.callback.apply(e, [n]); + if ((1 === r.type && e.remove(t, r.callback), !1 === a)) break; + } catch (e) { + throw e; + } + } + } + return e; + } + }), + (this.__EventsList = {}); + } + return ( + (e.prototype.indexOf = function (e, t) { + for (var n = 0; n < e.length; n++) if (e[n].callback === t) return n; + return -1; + }), + (e.prototype.on = function (e, t, n) { + if ((void 0 === n && (n = 0), this)) { + var r = this.__EventsList[e]; + if ((r || (r = this.__EventsList[e] = []), -1 === this.indexOf(r, t))) { + var o = { name: e, type: n || 0, callback: t }; + return r.push(o), this; + } + return this; + } + }), + (e.prototype.one = function (e, t) { + this.on(e, t, 1); + }), + (e.prototype.remove = function (e, t) { + if (this) { + var n = this.__EventsList[e]; + if (!n) return null; + if (!t) { + try { + delete this.__EventsList[e]; + } catch (e) {} + return null; + } + if (n.length) { + var r = this.indexOf(n, t); + n.splice(r, 1); + } + return this; + } + }), + e + ); + })(); + function d(e, t) { + for (var n = {}, r = 0, o = Object.keys(e); r < o.length; r++) { + var i = o[r], + a = e[i]; + if ('string' == typeof a) n[p(i)] = p(a); + else { + if (t) throw new Error('value mast be string !!!!'); + n[p(String(i))] = p(String(a)); + } + } + return n; + } + function p(e) { + if ('string' != typeof e) return e; + try { + return e + .replace(new RegExp('\\|', 'g'), '%7C') + .replace(new RegExp('\\&', 'g'), '%26') + .replace(new RegExp('\\=', 'g'), '%3D') + .replace(new RegExp('\\+', 'g'), '%2B'); + } catch (e) { + return ''; + } + } + function f(e) { + return String(e.A99) + String(e.A100); + } + var h = function () {}, + m = (function () { + function e(e) { + var n = this; + (this.lifeCycle = new l()), + (this.uploadJobQueue = []), + (this.additionalParams = {}), + (this.delayTime = 0), + (this._normalLogPipeline = (function (e) { + if (!e || !e.reduce || !e.length) + throw new TypeError('createPipeline 方法需要传入至少有一个 pipe 的数组'); + return 1 === e.length + ? function (t, n) { + e[0](t, n || h); + } + : e.reduce(function (e, t) { + return function (n, r) { + return ( + void 0 === r && (r = h), + e(n, function (e) { + return null == t ? void 0 : t(e, r); + }) + ); + }; + }); + })([ + function (e) { + n.send( + { + url: n.strategy.getUploadUrl(), + data: e, + method: 'post', + contentType: 'application/json;charset=UTF-8', + }, + function () { + var t = n.config.onReportSuccess; + 'function' == typeof t && t(JSON.stringify(e.events)); + }, + function () { + var t = n.config.onReportFail; + 'function' == typeof t && t(JSON.stringify(e.events)); + }, + ); + }, + ])), + (function (e, t) { + if (!e) throw t instanceof Error ? t : new Error(t); + })(Boolean(e.appkey), 'appkey must be initial'), + (this.config = t({}, e)); + } + return ( + (e.prototype.onUserAction = function (e, t) { + this.preReport(e, t, !1); + }), + (e.prototype.onDirectUserAction = function (e, t) { + this.preReport(e, t, !0); + }), + (e.prototype.preReport = function (e, t, n) { + e + ? this.strategy.isEventUpOnOff() && + (this.strategy.isBlackEvent(e) || this.strategy.isSampleEvent(e) || this.onReport(e, t, n)) + : this.errorReport.reportError('602', ' no eventCode'); + }), + (e.prototype.addAdditionalParams = function (e) { + for (var t = 0, n = Object.keys(e); t < n.length; t++) { + var r = n[t]; + this.additionalParams[r] = e[r]; + } + }), + (e.prototype.setChannelId = function (e) { + this.commonInfo.channelID = String(e); + }), + (e.prototype.setOpenId = function (e) { + this.commonInfo.openid = String(e); + }), + (e.prototype.setUnionid = function (e) { + this.commonInfo.unid = String(e); + }), + (e.prototype.getDeviceId = function () { + return this.commonInfo.deviceId; + }), + (e.prototype.getCommonInfo = function () { + return this.commonInfo; + }), + (e.prototype.removeSendingId = function (e) { + try { + var t = JSON.parse(this.storage.getItem(s)), + n = t.indexOf(e); + -1 != n && (t.splice(n, 1), this.storage.setItem(s, JSON.stringify(t))); + } catch (e) {} + }), + e + ); + })(), + g = (function () { + function e(e, t, n, r) { + (this.requestParams = {}), + (this.network = r), + (this.requestParams.attaid = '00400014144'), + (this.requestParams.token = '6478159937'), + (this.requestParams.product_id = e.appkey), + (this.requestParams.platform = n), + (this.requestParams.uin = t.deviceId), + (this.requestParams.model = ''), + (this.requestParams.os = n), + (this.requestParams.app_version = e.appVersion), + (this.requestParams.sdk_version = t.sdkVersion), + (this.requestParams.error_stack = ''), + (this.uploadUrl = e.isOversea ? 'https://htrace.wetvinfo.com/kv' : 'https://h.trace.qq.com/kv'); + } + return ( + (e.prototype.reportError = function (e, t) { + (this.requestParams._dc = Math.random()), + (this.requestParams.error_msg = t), + (this.requestParams.error_code = e), + this.network.get(this.uploadUrl, { params: this.requestParams }).catch(function (e) {}); + }), + e + ); + })(), + y = (function () { + function e(e, t, n, r, o) { + (this.strategy = { + isEventUpOnOff: !0, + httpsUploadUrl: 'https://otheve.beacon.qq.com/analytics/v2_upload', + requestInterval: 30, + blacklist: [], + samplelist: [], + }), + (this.realSample = {}), + (this.appkey = ''), + (this.needQueryConfig = !0), + (this.appkey = t.appkey), + (this.storage = r), + (this.needQueryConfig = e); + try { + var i = JSON.parse(this.storage.getItem(c)); + i && this.processData(i); + } catch (e) {} + t.isOversea && (this.strategy.httpsUploadUrl = 'https://svibeacon.onezapp.com/analytics/v2_upload'), + !t.isOversea && this.needRequestConfig() && this.requestConfig(t.appVersion, n, o); + } + return ( + (e.prototype.requestConfig = function (e, t, n) { + var r = this; + this.storage.setItem(u, Date.now().toString()), + n + .post('https://oth.str.beacon.qq.com/trpc.beacon.configserver.BeaconConfigService/QueryConfig', { + platformId: 'undefined' == typeof wx ? '3' : '4', + mainAppKey: this.appkey, + appVersion: e, + sdkVersion: t.sdkVersion, + osVersion: t.userAgent, + model: '', + packageName: '', + params: { A3: t.deviceId }, + }) + .then(function (e) { + if (0 == e.data.ret) + try { + var t = JSON.parse(e.data.beaconConfig); + t && (r.processData(t), r.storage.setItem(c, e.data.beaconConfig)); + } catch (e) {} + else r.processData(null), r.storage.setItem(c, ''); + }) + .catch(function (e) {}); + }), + (e.prototype.processData = function (e) { + var t, n, r, o, i; + (this.strategy.isEventUpOnOff = + null !== (t = null == e ? void 0 : e.isEventUpOnOff) && void 0 !== t + ? t + : this.strategy.isEventUpOnOff), + (this.strategy.httpsUploadUrl = + null !== (n = null == e ? void 0 : e.httpsUploadUrl) && void 0 !== n + ? n + : this.strategy.httpsUploadUrl), + (this.strategy.requestInterval = + null !== (r = null == e ? void 0 : e.requestInterval) && void 0 !== r + ? r + : this.strategy.requestInterval), + (this.strategy.blacklist = + null !== (o = null == e ? void 0 : e.blacklist) && void 0 !== o ? o : this.strategy.blacklist), + (this.strategy.samplelist = + null !== (i = null == e ? void 0 : e.samplelist) && void 0 !== i ? i : this.strategy.samplelist); + for (var a = 0, s = this.strategy.samplelist; a < s.length; a++) { + var c = s[a].split(','); + 2 == c.length && (this.realSample[c[0]] = c[1]); + } + }), + (e.prototype.needRequestConfig = function () { + if (!this.needQueryConfig) return !1; + var e = Number(this.storage.getItem(u)); + return Date.now() - e > 60 * this.strategy.requestInterval * 1e3; + }), + (e.prototype.getUploadUrl = function () { + return this.strategy.httpsUploadUrl + '?appkey=' + this.appkey; + }), + (e.prototype.isBlackEvent = function (e) { + return -1 != this.strategy.blacklist.indexOf(e); + }), + (e.prototype.isEventUpOnOff = function () { + return this.strategy.isEventUpOnOff; + }), + (e.prototype.isSampleEvent = function (e) { + return ( + !!Object.prototype.hasOwnProperty.call(this.realSample, e) && + this.realSample[e] < Math.floor(Math.random() * Math.floor(1e4)) + ); + }), + e + ); + })(), + v = 'session_storage_key', + C = (function () { + function e(e, t, n) { + (this.getSessionStackDepth = 0), + (this.beacon = n), + (this.storage = e), + (this.duration = t), + (this.appkey = n.config.appkey); + } + return ( + (e.prototype.getSession = function () { + this.getSessionStackDepth += 1; + var e = this.storage.getItem(v); + if (!e) return this.createSession(); + var t = '', + n = 0; + try { + var r = JSON.parse(e) || { sessionId: void 0, sessionStart: void 0 }; + if (!r.sessionId || !r.sessionStart) return this.createSession(); + var o = Number(this.storage.getItem(a)); + if (Date.now() - o > this.duration) return this.createSession(); + (t = r.sessionId), (n = r.sessionStart), (this.getSessionStackDepth = 0); + } catch (e) {} + return { sessionId: t, sessionStart: n }; + }), + (e.prototype.createSession = function () { + var e = Date.now(), + t = { sessionId: this.appkey + '_' + e.toString(), sessionStart: e }; + this.storage.setItem(v, JSON.stringify(t)), this.storage.setItem(a, e.toString()); + var n = 'is_new_user', + r = this.storage.getItem(n); + return ( + this.getSessionStackDepth <= 1 && + this.beacon.onDirectUserAction('rqd_applaunched', { A21: r ? 'N' : 'Y' }), + this.storage.setItem(n, JSON.stringify(!1)), + t + ); + }), + e + ); + })(); + function k() { + var e = navigator.userAgent, + t = e.indexOf('compatible') > -1 && e.indexOf('MSIE') > -1, + n = e.indexOf('Edge') > -1 && !t, + r = e.indexOf('Trident') > -1 && e.indexOf('rv:11.0') > -1; + if (t) { + new RegExp('MSIE (\\d+\\.\\d+);').test(e); + var o = parseFloat(RegExp.$1); + return 7 == o ? 7 : 8 == o ? 8 : 9 == o ? 9 : 10 == o ? 10 : 6; + } + return n ? -2 : r ? 11 : -1; + } + var S, + b, + T = function () { + return (T = + Object.assign || + function (e) { + for (var t, n = 1, r = arguments.length; n < r; n++) + for (var o in (t = arguments[n])) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]); + return e; + }).apply(this, arguments); + }, + R = (function () { + function e(e, t) { + void 0 === t && (t = {}), (this.reportOptions = {}), (this.config = e), (this.reportOptions = t); + } + return ( + (e.canUseDB = function () { + return !!(null === window || void 0 === window ? void 0 : window.indexedDB); + }), + (e.prototype.openDB = function () { + var t = this; + return new Promise(function (n, r) { + if (!e.canUseDB()) return r({ message: '当前不支持 indexeddb' }); + var o = t.config, + i = o.name, + a = o.version, + s = o.stores, + c = indexedDB.open(i, a); + (c.onsuccess = function () { + (t.db = c.result), + n(), + T({ result: 1, func: 'open', params: JSON.stringify(t.config) }, t.reportOptions); + }), + (c.onerror = function (e) { + var n, o; + r(e), + T( + { + result: 0, + func: 'open', + params: JSON.stringify(t.config), + error_msg: + null === (o = null === (n = e.target) || void 0 === n ? void 0 : n.error) || void 0 === o + ? void 0 + : o.message, + }, + t.reportOptions, + ); + }), + (c.onupgradeneeded = function () { + t.db = c.result; + try { + null == s || + s.forEach(function (e) { + t.createStore(e); + }); + } catch (e) { + T( + { result: 0, func: 'open', params: JSON.stringify(t.config), error_msg: e.message }, + t.reportOptions, + ), + r(e); + } + }); + }); + }), + (e.prototype.useStore = function (e) { + return (this.storeName = e), this; + }), + (e.prototype.deleteDB = function () { + var e = this; + return ( + this.closeDB(), + new Promise(function (t, n) { + var r = indexedDB.deleteDatabase(e.config.name); + (r.onsuccess = function () { + return t(); + }), + (r.onerror = n); + }) + ); + }), + (e.prototype.closeDB = function () { + var e; + null === (e = this.db) || void 0 === e || e.close(), (this.db = null); + }), + (e.prototype.getStoreCount = function () { + var e = this; + return new Promise(function (t, n) { + var r = e.getStore('readonly').count(); + (r.onsuccess = function () { + return t(r.result); + }), + (r.onerror = n); + }); + }), + (e.prototype.clearStore = function () { + var e = this; + return new Promise(function (t, n) { + var r = e.getStore('readwrite').clear(); + (r.onsuccess = function () { + return t(); + }), + (r.onerror = n); + }); + }), + (e.prototype.add = function (e, t) { + var n = this; + return new Promise(function (r, o) { + var i = n.getStore('readwrite').add(e, t); + (i.onsuccess = function () { + r(i.result); + }), + (i.onerror = o); + }); + }), + (e.prototype.put = function (e, t) { + var n = this; + return new Promise(function (r, o) { + var i = n.getStore('readwrite').put(e, t); + (i.onsuccess = function () { + r(i.result); + }), + (i.onerror = o); + }); + }), + (e.prototype.getStoreAllData = function () { + var e = this; + return new Promise(function (t, n) { + var r = e.getStore('readonly').openCursor(), + o = []; + (r.onsuccess = function () { + var e; + if (null === (e = r.result) || void 0 === e ? void 0 : e.value) { + var n = r.result.value; + o.push(n), r.result.continue(); + } else t(o); + }), + (r.onerror = n); + }); + }), + (e.prototype.getDataRangeByIndex = function (e, t, n, r, o) { + var i = this; + return new Promise(function (a, s) { + var c = i.getStore().index(e), + u = IDBKeyRange.bound(t, n, r, o), + l = [], + d = c.openCursor(u); + (d.onsuccess = function () { + var e; + (null === (e = null == d ? void 0 : d.result) || void 0 === e ? void 0 : e.value) + ? (l.push(null == d ? void 0 : d.result.value), null == d || d.result.continue()) + : a(l); + }), + (d.onerror = s); + }); + }), + (e.prototype.removeDataByIndex = function (e, t, n, r, o) { + var i = this; + return new Promise(function (a, s) { + var c = i.getStore('readwrite').index(e), + u = IDBKeyRange.bound(t, n, r, o), + l = c.openCursor(u), + d = 0; + (l.onsuccess = function (e) { + var t = e.target.result; + t ? ((d += 1), t.delete(), t.continue()) : a(d); + }), + (l.onerror = s); + }); + }), + (e.prototype.createStore = function (e) { + var t = e.name, + n = e.indexes, + r = void 0 === n ? [] : n, + o = e.options; + if (this.db) { + this.db.objectStoreNames.contains(t) && this.db.deleteObjectStore(t); + var i = this.db.createObjectStore(t, o); + r.forEach(function (e) { + i.createIndex(e.indexName, e.keyPath, e.options); + }); + } + }), + (e.prototype.getStore = function (e) { + var t; + return ( + void 0 === e && (e = 'readonly'), + null === (t = this.db) || void 0 === t + ? void 0 + : t.transaction(this.storeName, e).objectStore(this.storeName) + ); + }), + e + ); + })(), + E = 'event_table_v3', + w = 'eventId', + A = (function () { + function e(e) { + (this.isReady = !1), + (this.taskQueue = Promise.resolve()), + (this.db = new R({ + name: 'Beacon_' + e + '_V3', + version: 1, + stores: [ + { + name: E, + options: { keyPath: w }, + indexes: [{ indexName: w, keyPath: w, options: { unique: !0 } }], + }, + ], + })), + this.open(); + } + return ( + (e.prototype.getCount = function () { + var e = this; + return this.readyExec(function () { + return e.db.getStoreCount(); + }); + }), + (e.prototype.setItem = function (e, t) { + var n = this; + return this.readyExec(function () { + return n.db.add({ eventId: e, value: t }); + }); + }), + (e.prototype.getItem = function (e) { + return n(this, void 0, void 0, function () { + var t = this; + return r(this, function (n) { + return [ + 2, + this.readyExec(function () { + return t.db.getDataRangeByIndex(w, e, e); + }), + ]; + }); + }); + }), + (e.prototype.removeItem = function (e) { + var t = this; + return this.readyExec(function () { + return t.db.removeDataByIndex(w, e, e); + }); + }), + (e.prototype.updateItem = function (e, t) { + var n = this; + return this.readyExec(function () { + return n.db.put({ eventId: e, value: t }); + }); + }), + (e.prototype.iterate = function (e) { + var t = this; + return this.readyExec(function () { + return t.db.getStoreAllData().then(function (t) { + t.forEach(function (t) { + e(t.value); + }); + }); + }); + }), + (e.prototype.open = function () { + return n(this, void 0, void 0, function () { + var e = this; + return r(this, function (t) { + switch (t.label) { + case 0: + return ( + (this.taskQueue = this.taskQueue.then(function () { + return e.db.openDB(); + })), + [4, this.taskQueue] + ); + case 1: + return t.sent(), (this.isReady = !0), this.db.useStore(E), [2]; + } + }); + }); + }), + (e.prototype.readyExec = function (e) { + return this.isReady + ? e() + : ((this.taskQueue = this.taskQueue.then(function () { + return e(); + })), + this.taskQueue); + }), + e + ); + })(), + x = (function () { + function e(e) { + (this.keyObject = {}), (this.storage = e); + } + return ( + (e.prototype.getCount = function () { + return this.storage.getStoreCount(); + }), + (e.prototype.removeItem = function (e) { + this.storage.removeItem(e), delete this.keyObject[e]; + }), + (e.prototype.setItem = function (e, t) { + var n = JSON.stringify(t); + this.storage.setItem(e, n), (this.keyObject[e] = t); + }), + (e.prototype.iterate = function (e) { + for (var t = Object.keys(this.keyObject), n = 0; n < t.length; n++) { + var r = this.storage.getItem(t[n]); + e(JSON.parse(r)); + } + }), + e + ); + })(), + I = (function () { + function e(e, t) { + var n = this; + (this.dbEventCount = 0), + k() > 0 || !window.indexedDB || /X5Lite/.test(navigator.userAgent) + ? ((this.store = new x(t)), (this.dbEventCount = this.store.getCount())) + : ((this.store = new A(e)), + this.getCount() + .then(function (e) { + n.dbEventCount = e; + }) + .catch(function (e) {})); + } + return ( + (e.prototype.getCount = function () { + return n(this, void 0, void 0, function () { + return r(this, function (e) { + switch (e.label) { + case 0: + return e.trys.push([0, 2, , 3]), [4, this.store.getCount()]; + case 1: + return [2, e.sent()]; + case 2: + return e.sent(), [2, Promise.reject()]; + case 3: + return [2]; + } + }); + }); + }), + (e.prototype.insertEvent = function (e, t) { + return n(this, void 0, void 0, function () { + var n, o; + return r(this, function (r) { + switch (r.label) { + case 0: + if (this.dbEventCount >= 1e4) return [2, Promise.reject()]; + (n = f(e.mapValue)), (r.label = 1); + case 1: + return r.trys.push([1, 3, , 4]), this.dbEventCount++, [4, this.store.setItem(n, e)]; + case 2: + return [2, r.sent()]; + case 3: + return (o = r.sent()), t && t(o, e), this.dbEventCount--, [2, Promise.reject()]; + case 4: + return [2]; + } + }); + }); + }), + (e.prototype.getEvents = function () { + return n(this, void 0, void 0, function () { + var e; + return r(this, function (t) { + switch (t.label) { + case 0: + (e = []), (t.label = 1); + case 1: + return ( + t.trys.push([1, 3, , 4]), + [ + 4, + this.store.iterate(function (t) { + e.push(t); + }), + ] + ); + case 2: + case 3: + return t.sent(), [2, Promise.all(e)]; + case 4: + return [2]; + } + }); + }); + }), + (e.prototype.removeEvent = function (e) { + return n(this, void 0, void 0, function () { + var t; + return r(this, function (n) { + switch (n.label) { + case 0: + (t = f(e.mapValue)), (n.label = 1); + case 1: + return n.trys.push([1, 3, , 4]), this.dbEventCount--, [4, this.store.removeItem(t)]; + case 2: + return [2, n.sent()]; + case 3: + return n.sent(), this.dbEventCount++, [2, Promise.reject()]; + case 4: + return [2]; + } + }); + }); + }), + e + ); + })(), + O = function () { + return (O = + Object.assign || + function (e) { + for (var t, n = 1, r = arguments.length; n < r; n++) + for (var o in (t = arguments[n])) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]); + return e; + }).apply(this, arguments); + }; + function B(e) { + try { + return decodeURIComponent(e.replace(/\+/g, ' ')); + } catch (e) { + return null; + } + } + function _(e, t) { + var n = [null, void 0, '', NaN].includes(e); + if (t.isSkipEmpty && n) return null; + var r = !t.isSkipEmpty && n ? '' : e; + try { + return t.encode ? encodeURIComponent(r) : r; + } catch (e) { + return null; + } + } + function P(e, t) { + return new Promise(function (n, r) { + if (t && document.querySelectorAll('script[data-tag=' + t + ']').length) return n(); + var o = document.createElement('script'), + i = O({ type: 'text/javascript', charset: 'utf-8' }, e); + Object.keys(i).forEach(function (e) { + return (function (e, t, n) { + if (e) return void 0 === n ? e.getAttribute(t) : e.setAttribute(t, n); + })(o, e, i[e]); + }), + t && (o.dataset.tag = t), + (o.onload = function () { + return n(); + }), + (o.onreadystatechange = function () { + var e = o.readyState; + ['complete', 'loaded'].includes(e) && ((o.onreadystatechange = null), n()); + }), + (o.onerror = r), + document.body.appendChild(o); + }); + } + ((b = S || (S = {}))[(b.equal = 0)] = 'equal'), (b[(b.low = -1)] = 'low'), (b[(b.high = 1)] = 'high'); + var D = function () { + return (D = + Object.assign || + function (e) { + for (var t, n = 1, r = arguments.length; n < r; n++) + for (var o in (t = arguments[n])) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]); + return e; + }).apply(this, arguments); + }; + function N(e, t, n, r) { + return new (n || (n = Promise))(function (o, i) { + function a(e) { + try { + c(r.next(e)); + } catch (e) { + i(e); + } + } + function s(e) { + try { + c(r.throw(e)); + } catch (e) { + i(e); + } + } + function c(e) { + var t; + e.done + ? o(e.value) + : ((t = e.value), + t instanceof n + ? t + : new n(function (e) { + e(t); + })).then(a, s); + } + c((r = r.apply(e, t || [])).next()); + }); + } + function U(e, t) { + var n, + r, + o, + i, + a = { + label: 0, + sent: function () { + if (1 & o[0]) throw o[1]; + return o[1]; + }, + trys: [], + ops: [], + }; + return ( + (i = { next: s(0), throw: s(1), return: s(2) }), + 'function' == typeof Symbol && + (i[Symbol.iterator] = function () { + return this; + }), + i + ); + function s(i) { + return function (s) { + return (function (i) { + if (n) throw new TypeError('Generator is already executing.'); + for (; a; ) + try { + if ( + ((n = 1), + r && + (o = 2 & i[0] ? r.return : i[0] ? r.throw || ((o = r.return) && o.call(r), 0) : r.next) && + !(o = o.call(r, i[1])).done) + ) + return o; + switch (((r = 0), o && (i = [2 & i[0], o.value]), i[0])) { + case 0: + case 1: + o = i; + break; + case 4: + return a.label++, { value: i[1], done: !1 }; + case 5: + a.label++, (r = i[1]), (i = [0]); + continue; + case 7: + (i = a.ops.pop()), a.trys.pop(); + continue; + default: + if (!((o = (o = a.trys).length > 0 && o[o.length - 1]) || (6 !== i[0] && 2 !== i[0]))) { + a = 0; + continue; + } + if (3 === i[0] && (!o || (i[1] > o[0] && i[1] < o[3]))) { + a.label = i[1]; + break; + } + if (6 === i[0] && a.label < o[1]) { + (a.label = o[1]), (o = i); + break; + } + if (o && a.label < o[2]) { + (a.label = o[2]), a.ops.push(i); + break; + } + o[2] && a.ops.pop(), a.trys.pop(); + continue; + } + i = t.call(e, a); + } catch (e) { + (i = [6, e]), (r = 0); + } finally { + n = o = 0; + } + if (5 & i[0]) throw i[1]; + return { value: i[0] ? i[1] : void 0, done: !0 }; + })([i, s]); + }; + } + } + var M = (function () { + function e() { + this.interceptors = []; + } + return ( + (e.prototype.use = function (e, t) { + return this.interceptors.push({ resolved: e, rejected: t }), this.interceptors.length - 1; + }), + (e.prototype.traverse = function (e, t) { + void 0 === t && (t = !1); + var n = Promise.resolve(e); + return ( + (t ? Array.prototype.reduceRight : Array.prototype.reduce).call( + this.interceptors, + function (e, t) { + if (t) { + var r = t.resolved, + o = t.rejected; + n = n.then(r, o); + } + return e; + }, + '', + ), + n + ); + }), + (e.prototype.eject = function (e) { + this.interceptors[e] && (this.interceptors[e] = null); + }), + e + ); + })(), + H = { + defaults: { timeout: 0, method: 'GET', mode: 'cors', redirect: 'follow', credentials: 'same-origin' }, + headers: { + common: { Accept: 'application/json, text/plain, */*' }, + POST: { 'Content-Type': 'application/x-www-form-urlencoded' }, + PUT: { 'Content-Type': 'application/x-www-form-urlencoded' }, + PATCH: { 'Content-Type': 'application/x-www-form-urlencoded' }, + }, + baseURL: '', + polyfillUrl: 'https://vm.gtimg.cn/comps/script/fetch.min.js', + interceptors: { request: new M(), response: new M() }, + }, + L = /^([a-z][a-z\d+\-.]*:)?\/\//i, + j = Object.prototype.toString; + function F(e) { + return N(this, void 0, void 0, function () { + var t; + return U(this, function (n) { + switch (n.label) { + case 0: + if (window.fetch) return [2]; + n.label = 1; + case 1: + return n.trys.push([1, 3, , 4]), [4, P({ src: e })]; + case 2: + return n.sent(), [3, 4]; + case 3: + throw ((t = n.sent()), new Error('加载 polyfill ' + e + ' 失败: ' + t.message)); + case 4: + return [2]; + } + }); + }); + } + function K(e) { + return N(this, void 0, void 0, function () { + var t, n, r, o, i, a, s, c, u, l, d, p, f, h, m, g, y; + return U(this, function (v) { + switch (v.label) { + case 0: + return (t = H.baseURL), (n = H.defaults), (r = H.interceptors), [4, F(H.polyfillUrl)]; + case 1: + return ( + v.sent(), + (o = D(D({}, n), e)).headers || + (o.headers = (function (e) { + void 0 === e && (e = 'GET'); + var t = H.headers[e] || {}; + return D(D({}, H.headers.common), t); + })(o.method)), + (function (e) { + ['Accept', 'Content-Type'].forEach(function (t) { + return ( + (n = t), + void ( + (r = e.headers) && + Object.keys(r).forEach(function (e) { + e !== n && e.toUpperCase() === n.toUpperCase() && ((r[n] = r[e]), delete r[e]); + }) + ) + ); + var n, r; + }), + (function (e) { + if ('[object Object]' !== j.call(e)) return !1; + var t = Object.getPrototypeOf(e); + return null === t || t === Object.prototype; + })(e.body) && + ((e.body = JSON.stringify(e.body)), + e.headers && (e.headers['Content-Type'] = 'application/json;charset=utf-8')); + })(o), + [4, r.request.traverse(o, !0)] + ); + case 2: + if ((i = v.sent()) instanceof Error) throw i; + return ( + (i.url = (function (e, t) { + return !e || L.test(t) ? t : e.replace(/\/+$/, '') + '/' + t.replace(/^\/+/, ''); + })(t, i.url)), + (a = i.url), + (s = i.timeout), + (c = i.params), + (u = i.method), + (l = ['GET', 'DELETE', 'OPTIONS', 'HEAD'].includes(void 0 === u ? 'GET' : u) && !!c), + (d = l + ? (function (e, t) { + void 0 === t && (t = { encode: !0, isSkipEmpty: !1 }); + var n = e.url, + r = e.query, + o = void 0 === r ? {} : r, + i = e.hash, + a = n.split('#'), + s = a[0], + c = a[1], + u = void 0 === c ? '' : c, + l = s.split('?')[0], + d = [], + p = _(i || u, t), + f = O( + O( + {}, + (function (e) { + var t = e.split('#'), + n = t[0], + r = t[1], + o = void 0 === r ? '' : r, + i = n.split('?'), + a = i[0], + s = i[1], + c = void 0 === s ? '' : s, + u = B(o), + l = Object.create(null); + return ( + c.split('&').forEach(function (e) { + var t = e.split('='), + n = t[0], + r = t[1], + o = void 0 === r ? '' : r, + i = B(n), + a = B(o); + null === i || null === a || ('' === i && '' === a) || l[i] || (l[i] = a); + }), + { url: a, query: l, hash: u } + ); + })(n).query, + ), + o, + ); + return ( + Object.keys(f).forEach(function (e) { + var n = _(e, t), + r = _(f[e], t); + null !== n && null !== r && d.push(n + '=' + r); + }), + l + (d.length ? '?' + d.join('&') : '') + (p ? '#' + p : '') + ); + })({ url: a, query: c }) + : a), + (p = []), + s && + !i.signal && + ((m = new Promise(function (e) { + f = setTimeout(function () { + e(new Error('timeout')); + }, s); + })), + p.push(m), + (h = new AbortController()), + (i.signal = h.signal)), + p.push( + fetch(d, i).catch(function (e) { + return e; + }), + ), + [4, Promise.race(p)] + ); + case 3: + return (g = v.sent()), f && clearTimeout(f), [4, r.response.traverse(g)]; + case 4: + if ((y = v.sent()) instanceof Error) throw (null == h || h.abort(), y); + return [2, y]; + } + }); + }); + } + var q = (function () { + function e(e) { + H.interceptors.request.use(function (n) { + var r = n.url, + o = n.method, + i = n.body, + a = i; + if (e.onReportBeforeSend) { + var s = e.onReportBeforeSend({ url: r, method: o, data: i ? JSON.parse(i) : null }); + a = (null == s ? void 0 : s.data) ? JSON.stringify(s.data) : null; + } + return 'GET' != o && a ? t(t({}, n), { body: a }) : n; + }); + } + return ( + (e.prototype.get = function (e, o) { + return n(this, void 0, void 0, function () { + var n, i; + return r(this, function (r) { + switch (r.label) { + case 0: + return [4, K(t({ url: e }, o))]; + case 1: + return [4, (n = r.sent()).json()]; + case 2: + return ( + (i = r.sent()), + [ + 2, + Promise.resolve({ + data: i, + status: n.status, + statusText: n.statusText, + headers: n.headers, + }), + ] + ); + } + }); + }); + }), + (e.prototype.post = function (e, o, i) { + return n(this, void 0, void 0, function () { + var n, a; + return r(this, function (r) { + switch (r.label) { + case 0: + return [4, K(t({ url: e, body: o, method: 'POST' }, i))]; + case 1: + return [4, (n = r.sent()).json()]; + case 2: + return ( + (a = r.sent()), + [ + 2, + Promise.resolve({ + data: a, + status: n.status, + statusText: n.statusText, + headers: n.headers, + }), + ] + ); + } + }); + }); + }), + e + ); + })(), + z = (function () { + function e(e) { + this.appkey = e; + } + return ( + (e.prototype.getItem = function (e) { + try { + return window.localStorage.getItem(this.getStoreKey(e)); + } catch (e) { + return ''; + } + }), + (e.prototype.removeItem = function (e) { + try { + window.localStorage.removeItem(this.getStoreKey(e)); + } catch (e) {} + }), + (e.prototype.setItem = function (e, t) { + try { + window.localStorage.setItem(this.getStoreKey(e), t); + } catch (e) {} + }), + (e.prototype.setSessionItem = function (e, t) { + try { + window.sessionStorage.setItem(this.getStoreKey(e), t); + } catch (e) {} + }), + (e.prototype.getSessionItem = function (e) { + try { + return window.sessionStorage.getItem(this.getStoreKey(e)); + } catch (e) { + return ''; + } + }), + (e.prototype.getStoreKey = function (e) { + return o + this.appkey + '_' + e; + }), + (e.prototype.createDeviceId = function () { + try { + var e = window.localStorage.getItem(i); + return ( + e || + ((e = (function (e) { + for (var t = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz0123456789', n = '', r = 0; r < 32; r++) + n += t.charAt(Math.floor(51 * Math.random())); + return n; + })()), + window.localStorage.setItem(i, e)), + e + ); + } catch (e) { + return ''; + } + }), + (e.prototype.clear = function () { + try { + for (var e = window.localStorage.length, t = 0; t < e; t++) { + var n = window.localStorage.key(t); + (null == n ? void 0 : n.substr(0, 9)) == o && window.localStorage.removeItem(n); + } + } catch (e) {} + }), + (e.prototype.getStoreCount = function () { + var e = 0; + try { + e = window.localStorage.length; + } catch (e) {} + return e; + }), + e + ); + })(), + G = 'logid_start', + V = '4.5.14-web'; + return (function (n) { + function r(e) { + var t = n.call(this, e) || this; + (t.qimei36 = ''), + (t.uselessCycleTaskNum = 0), + (t.underWeakNet = !1), + (t.pauseSearching = !1), + (t.send = function (e, n, r) { + t.storage.setItem(a, Date.now().toString()), + t.network + .post(t.uploadUrl || t.strategy.getUploadUrl(), e.data) + .then(function (r) { + var o; + 100 == (null === (o = null == r ? void 0 : r.data) || void 0 === o ? void 0 : o.result) + ? (t.delayTime = 1e3 * r.data.delayTime) + : (t.delayTime = 0), + n && n(e.data), + e.data.events.forEach(function (e) { + t.store.removeEvent(e).then(function () { + t.removeSendingId(f(e.mapValue)); + }); + }), + t.doCustomCycleTask(); + }) + .catch(function (n) { + var o = e.data.events; + t.errorReport.reportError(n.code ? n.code.toString() : '600', n.message), r && r(e.data); + var i = JSON.parse(t.storage.getItem(s)); + o.forEach(function (e) { + i && + -1 != i.indexOf(f(e)) && + t.store.insertEvent(e, function (e, n) { + e && t.errorReport.reportError('604', 'insertEvent fail!'); + }), + t.removeSendingId(f(e)); + }), + t.monitorUploadFailed(); + }); + }); + var r, + o, + i = k(); + return ( + (t.isUnderIE8 = i > 0 && i < 8), + t.isUnderIE8 || + ((t.isUnderIE = i > 0), + e.needInitQimei && + (function (e, t) { + var n; + (void 0 === n && (n = Date.now() + '-' + Math.random()), + new Promise(function (e, t) { + if (document.getElementById(n)) e(void 0); + else { + var r = document.getElementsByTagName('head')[0], + o = document.createElement('script'); + (o.onload = function () { + return function () { + (o.onload = null), e(void 0); + }; + }), + (o.onerror = function (e) { + (o.onerror = null), r.removeChild(o), t(e); + }), + (o.src = 'https://tun-cos-1258344701.file.myqcloud.com/fp.js'), + (o.id = n), + r.appendChild(o); + } + })) + .then(function () { + new Fingerprint().getQimei36(e, t); + }) + .catch(function (e) {}); + })(e.appkey, function (e) { + t.qimei36 = e.q36; + }), + (t.network = new q(e)), + (t.storage = new z(e.appkey)), + t.initCommonInfo(e), + (t.store = new I(e.appkey, t.storage)), + (t.errorReport = new g(t.config, t.commonInfo, 'web', t.network)), + (t.strategy = new y( + null == e.needQueryConfig || e.needQueryConfig, + t.config, + t.commonInfo, + t.storage, + t.network, + )), + (t.logidStartTime = t.storage.getItem(G)), + t.logidStartTime || + ((t.logidStartTime = Date.now().toString()), t.storage.setItem(G, t.logidStartTime)), + (r = t.logidStartTime), + (o = Date.now() - Number.parseFloat(r)), + Math.floor(o / 864e5) >= 365 && t.storage.clear(), + t.initSession(e), + t.onDirectUserAction('rqd_js_init', {}), + setTimeout(function () { + return t.lifeCycle.emit('init'); + }, 0), + (t.initDelayTime = e.delay ? e.delay : 1e3), + t.cycleTask(t.initDelayTime)), + t + ); + } + return ( + (function (t, n) { + if ('function' != typeof n && null !== n) + throw new TypeError('Class extends value ' + String(n) + ' is not a constructor or null'); + function r() { + this.constructor = t; + } + e(t, n), (t.prototype = null === n ? Object.create(n) : ((r.prototype = n.prototype), new r())); + })(r, n), + (r.prototype.initSession = function (e) { + var t = 18e5; + e.sessionDuration && e.sessionDuration > 3e4 && (t = e.sessionDuration), + (this.beaconSession = new C(this.storage, t, this)); + }), + (r.prototype.initCommonInfo = function (e) { + var t = Number(this.storage.getItem(a)); + try { + var n = JSON.parse(this.storage.getItem(s)); + (Date.now() - t > 3e4 || !n) && this.storage.setItem(s, JSON.stringify([])); + } catch (e) {} + e.uploadUrl && (this.uploadUrl = e.uploadUrl + '?appkey=' + e.appkey); + var r = [window.screen.width, window.screen.height]; + window.devicePixelRatio && r.push(window.devicePixelRatio), + (this.commonInfo = { + deviceId: this.storage.createDeviceId(), + language: (navigator && navigator.language) || 'zh_CN', + query: window.location.search, + userAgent: navigator.userAgent, + pixel: r.join('*'), + channelID: e.channelID ? String(e.channelID) : '', + openid: e.openid ? String(e.openid) : '', + unid: e.unionid ? String(e.unionid) : '', + sdkVersion: V, + }), + (this.config.appVersion = e.versionCode ? String(e.versionCode) : ''), + (this.config.strictMode = e.strictMode); + }), + (r.prototype.cycleTask = function (e) { + var t = this; + this.intervalID = window.setInterval(function () { + t.pauseSearching || + t.store + .getEvents() + .then(function (e) { + 0 == e.length && (t.pauseSearching = !0); + var n = [], + r = JSON.parse(t.storage.getItem(s)); + r || (r = []), + e && + e.forEach(function (e) { + var t = f(e.mapValue); + -1 == r.indexOf(t) && (n.push(e), r.push(t)); + }), + 0 != n.length && + (t.storage.setItem(s, JSON.stringify(r)), t._normalLogPipeline(t.assembleData(n))); + }) + .catch(function (e) {}); + }, e); + }), + (r.prototype.onReport = function (e, t, n) { + var r = this; + if (this.isUnderIE8) this.errorReport.reportError('601', 'UnderIE8'); + else { + this.pauseSearching = !1; + var o = this.generateData(e, t, n); + if (n && 0 == this.delayTime && !this.underWeakNet) this._normalLogPipeline(this.assembleData(o)); + else { + var i = o.shift(); + i && + this.store + .insertEvent(i, function (e) { + e && r.errorReport.reportError('604', 'insertEvent fail!'); + }) + .catch(function (e) { + r._normalLogPipeline(r.assembleData(o)); + }); + } + } + }), + (r.prototype.onSendBeacon = function (e, t) { + if (this.isUnderIE) this.errorReport.reportError('605', 'UnderIE'); + else { + this.pauseSearching = !1; + var n = this.assembleData(this.generateData(e, t, !0)); + 'function' == typeof navigator.sendBeacon && + navigator.sendBeacon(this.uploadUrl || this.strategy.getUploadUrl(), JSON.stringify(n)); + } + }), + (r.prototype.generateData = function (e, n, r) { + var o = [], + i = '4.5.14-web_' + (r ? 'direct_log_id' : 'normal_log_id'), + a = Number(this.storage.getItem(i)); + return ( + (a = a || 1), + (n = t(t({}, n), { A99: r ? 'Y' : 'N', A100: a.toString(), A72: V, A88: this.logidStartTime })), + a++, + this.storage.setItem(i, a.toString()), + o.push({ eventCode: e, eventTime: Date.now().toString(), mapValue: d(n, this.config.strictMode) }), + o + ); + }), + (r.prototype.assembleData = function (e) { + var n = this.beaconSession.getSession(); + return { + appVersion: this.config.appVersion ? p(this.config.appVersion) : '', + sdkId: 'js', + sdkVersion: V, + mainAppKey: this.config.appkey, + platformId: 3, + common: d( + t(t({}, this.additionalParams), { + A2: this.commonInfo.deviceId, + A8: this.commonInfo.openid, + A12: this.commonInfo.language, + A17: this.commonInfo.pixel, + A23: this.commonInfo.channelID, + A50: this.commonInfo.unid, + A76: n.sessionId, + A101: this.commonInfo.userAgent, + A102: window.location.href, + A104: document.referrer, + A119: this.commonInfo.query, + A153: this.qimei36, + }), + !1, + ), + events: e, + }; + }), + (r.prototype.monitorUploadFailed = function () { + this.uselessCycleTaskNum++, + this.uselessCycleTaskNum >= 5 && + (window.clearInterval(this.intervalID), this.cycleTask(6e4), (this.underWeakNet = !0)); + }), + (r.prototype.doCustomCycleTask = function () { + this.uselessCycleTaskNum >= 5 && + (window.clearInterval(this.intervalID), this.cycleTask(this.initDelayTime)), + (this.uselessCycleTaskNum = 0), + (this.underWeakNet = !1); + }), + r + ); + })(m); + }), + 'object' == a(t) && void 0 !== e + ? (e.exports = i()) + : void 0 === (o = 'function' == typeof (r = i) ? r.call(t, n, t, e) : r) || (e.exports = o); + }, + function (e, t, n) { + var r = n(9), + o = n(1), + i = {}; + (e.exports.transferToTaskMethod = function (e, t) { + (i[t] = e[t]), + (e[t] = function (e, n) { + e.SkipTask ? i[t].call(this, e, n) : this._addTask(t, e, n); + }); + }), + (e.exports.init = function (e) { + var t, + n, + a = [], + s = {}, + c = 0, + u = 0, + l = function (e) { + var t = { + id: e.id, + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + FilePath: e.FilePath, + state: e.state, + loaded: e.loaded, + size: e.size, + speed: e.speed, + percent: e.percent, + hashPercent: e.hashPercent, + error: e.error, + }; + return e.FilePath && (t.FilePath = e.FilePath), e._custom && (t._custom = e._custom), t; + }, + d = + ((n = function () { + (t = 0), + e.emit('task-list-update', { list: o.map(a, l) }), + e.emit('list-update', { list: o.map(a, l) }); + }), + function () { + t || (t = setTimeout(n)); + }), + p = function () { + if (!(a.length <= e.options.UploadQueueSize)) { + for (var t = 0; t < u && t < a.length && a.length > e.options.UploadQueueSize; ) { + var n = 'waiting' === a[t].state || 'checking' === a[t].state || 'uploading' === a[t].state; + a[t] && n ? t++ : (s[a[t].id] && delete s[a[t].id], a.splice(t, 1), u--); + } + d(); + } + }, + f = function t() { + if (!(c >= e.options.FileParallelLimit)) { + for (; a[u] && 'waiting' !== a[u].state; ) u++; + if (!(u >= a.length)) { + var n = a[u]; + u++, + c++, + (n.state = 'checking'), + n.params.onTaskStart && n.params.onTaskStart(l(n)), + !n.params.UploadData && (n.params.UploadData = {}); + var r = o.formatParams(n.api, n.params); + i[n.api].call(e, r, function (r, o) { + e._isRunningTask(n.id) && + (('checking' !== n.state && 'uploading' !== n.state) || + ((n.state = r ? 'error' : 'success'), + r && (n.error = r), + c--, + d(), + t(), + n.callback && n.callback(r, o), + 'success' === n.state && + (n.params && (delete n.params.UploadData, delete n.params.Body, delete n.params), + delete n.callback)), + p()); + }), + d(), + setTimeout(t); + } + } + }, + h = function (t, n) { + var o = s[t]; + if (o) { + var i = o && 'waiting' === o.state, + a = o && ('checking' === o.state || 'uploading' === o.state); + if (('canceled' === n && 'canceled' !== o.state) || ('paused' === n && i) || ('paused' === n && a)) { + if ('paused' === n && o.params.Body && 'function' == typeof o.params.Body.pipe) return; + (o.state = n), e.emit('inner-kill-task', { TaskId: t, toState: n }); + try { + var u = o && o.params && o.params.UploadData.UploadId; + } catch (e) {} + 'canceled' === n && u && r.removeUsing(u), + d(), + a && (c--, f()), + 'canceled' === n && + (o.params && (delete o.params.UploadData, delete o.params.Body, delete o.params), + delete o.callback); + } + p(); + } + }; + e._addTasks = function (t) { + o.each(t, function (t) { + e._addTask(t.api, t.params, t.callback, !0); + }), + d(); + }; + (e._addTask = function (t, n, r, i) { + n = o.formatParams(t, n); + var c = o.uuid(); + (n.TaskId = c), n.onTaskReady && n.onTaskReady(c), n.TaskReady && (n.TaskReady(c), !1); + var u = { + params: n, + callback: r, + api: t, + index: a.length, + id: c, + Bucket: n.Bucket, + Region: n.Region, + Key: n.Key, + FilePath: n.FilePath || '', + state: 'waiting', + loaded: 0, + size: 0, + speed: 0, + percent: 0, + hashPercent: 0, + error: null, + _custom: n._custom, + }, + l = n.onHashProgress; + n.onHashProgress = function (t) { + e._isRunningTask(u.id) && ((u.hashPercent = t.percent), l && l(t), d()); + }; + var h = n.onProgress; + return ( + (n.onProgress = function (t) { + e._isRunningTask(u.id) && + ('checking' === u.state && (u.state = 'uploading'), + (u.loaded = t.loaded), + (u.speed = t.speed), + (u.percent = t.percent), + h && h(t), + d()); + }), + o.getFileSize(t, n, function (e, t) { + if (e) return r(o.error(e)); + (s[c] = u), a.push(u), (u.size = t), !i && d(), f(), p(); + }), + c + ); + }), + (e._isRunningTask = function (e) { + var t = s[e]; + return !(!t || ('checking' !== t.state && 'uploading' !== t.state)); + }), + (e.getTaskList = function () { + return o.map(a, l); + }), + (e.cancelTask = function (e) { + h(e, 'canceled'); + }), + (e.pauseTask = function (e) { + h(e, 'paused'); + }), + (e.restartTask = function (e) { + var t = s[e]; + !t || + ('paused' !== t.state && 'error' !== t.state) || + ((t.state = 'waiting'), d(), (u = Math.min(u, t.index)), f()); + }), + (e.isUploadRunning = function () { + return c || u < a.length; + }); + }); + }, + function (e, t, n) { + var r = n(0), + o = n(28), + i = n(1); + function a(e, t, n) { + var r = i.clone(t.InventoryConfiguration); + if (r.OptionalFields) { + var o = r.OptionalFields || []; + r.OptionalFields = { Field: o }; + } + if (r.Destination && r.Destination.COSBucketDestination && r.Destination.COSBucketDestination.Encryption) { + var a = r.Destination.COSBucketDestination.Encryption; + Object.keys(a).indexOf('SSECOS') > -1 && ((a['SSE-COS'] = a.SSECOS), delete a.SSECOS); + } + var s = i.json2xml({ InventoryConfiguration: r }), + c = t.Headers; + (c['Content-Type'] = 'application/xml'), (c['Content-MD5'] = i.b64(i.md5(s))); + var u = 'PUT' === e ? 'name/cos:PutBucketInventory' : 'name/cos:PostBucketInventory'; + f.call( + this, + { + Action: u, + method: e, + Bucket: t.Bucket, + Region: t.Region, + body: s, + action: 'inventory', + qs: { id: t.Id }, + headers: c, + }, + function (e, t) { + return e && 204 === e.statusCode + ? n(null, { statusCode: e.statusCode }) + : e + ? n(e) + : void n(null, { statusCode: t.statusCode, headers: t.headers }); + }, + ); + } + function s(e) { + var t = { GrantFullControl: [], GrantWrite: [], GrantRead: [], GrantReadAcp: [], GrantWriteAcp: [], ACL: '' }, + n = { + FULL_CONTROL: 'GrantFullControl', + WRITE: 'GrantWrite', + READ: 'GrantRead', + READ_ACP: 'GrantReadAcp', + WRITE_ACP: 'GrantWriteAcp', + }, + r = ((e && e.AccessControlList) || {}).Grant; + r && (r = i.isArray(r) ? r : [r]); + var o = { READ: 0, WRITE: 0, FULL_CONTROL: 0 }; + return ( + r && + r.length && + i.each(r, function (r) { + 'qcs::cam::anyone:anyone' === r.Grantee.ID || + 'http://cam.qcloud.com/groups/global/AllUsers' === r.Grantee.URI + ? (o[r.Permission] = 1) + : r.Grantee.ID !== e.Owner.ID && t[n[r.Permission]].push('id="' + r.Grantee.ID + '"'); + }), + o.FULL_CONTROL || (o.WRITE && o.READ) + ? (t.ACL = 'public-read-write') + : o.READ + ? (t.ACL = 'public-read') + : (t.ACL = 'private'), + i.each(n, function (e) { + t[e] = c(t[e].join(',')); + }), + t + ); + } + function c(e) { + var t, + n, + r = e.split(','), + o = {}; + for (t = 0; t < r.length; ) o[(n = r[t].trim())] ? r.splice(t, 1) : ((o[n] = !0), (r[t] = n), t++); + return r.join(','); + } + function u(e) { + var t = e.region || '', + n = e.bucket || '', + o = n.substr(0, n.lastIndexOf('-')), + a = n.substr(n.lastIndexOf('-') + 1), + s = e.domain, + c = e.object; + 'function' == typeof s && (s = s({ Bucket: n, Region: t })), + ['http', 'https'].includes(e.protocol) && (e.protocol = e.protocol + ':'); + var u = + e.protocol || + (i.isBrowser && + 'object' === ('undefined' == typeof location ? 'undefined' : r(location)) && + 'http:' === location.protocol + ? 'http:' + : 'https:'); + s || + ((s = + ['cn-south', 'cn-south-2', 'cn-north', 'cn-east', 'cn-southwest', 'sg'].indexOf(t) > -1 + ? '{Region}.myqcloud.com' + : 'cos.{Region}.myqcloud.com'), + e.ForcePathStyle || (s = '{Bucket}.' + s)), + (s = (s = s + .replace(/\{\{AppId\}\}/gi, a) + .replace(/\{\{Bucket\}\}/gi, o) + .replace(/\{\{Region\}\}/gi, t) + .replace(/\{\{.*?\}\}/gi, '')) + .replace(/\{AppId\}/gi, a) + .replace(/\{BucketName\}/gi, o) + .replace(/\{Bucket\}/gi, n) + .replace(/\{Region\}/gi, t) + .replace(/\{.*?\}/gi, '')), + /^[a-zA-Z]+:\/\//.test(s) || (s = u + '//' + s), + '/' === s.slice(-1) && (s = s.slice(0, -1)); + var l = s; + return ( + e.ForcePathStyle && (l += '/' + n), + (l += '/'), + c && (l += i.camSafeUrlEncode(c).replace(/%2F/g, '/')), + e.isLocation && (l = l.replace(/^https?:\/\//, '')), + l + ); + } + var l = function (e) { + if (!e.Bucket || !e.Region) return ''; + var t = void 0 === e.UseAccelerate ? this.options.UseAccelerate : e.UseAccelerate, + n = ( + e.Url || + u({ + ForcePathStyle: this.options.ForcePathStyle, + protocol: this.options.Protocol, + domain: this.options.Domain, + bucket: e.Bucket, + region: t ? 'accelerate' : e.Region, + }) + ).replace(/^https?:\/\/([^/]+)(\/.*)?$/, '$1'); + return new RegExp('^([a-z\\d-]+-\\d+\\.)?(cos|cosv6|ci|pic)\\.([a-z\\d-]+)\\.myqcloud\\.com$').test(n) ? n : ''; + }; + function d(e, t) { + var n = i.clone(e.Headers), + r = ''; + i.each(n, function (e, t) { + ('' === e || ['content-type', 'cache-control', 'expires'].indexOf(t.toLowerCase()) > -1) && delete n[t], + 'host' === t.toLowerCase() && (r = e); + }); + var o = !1 !== e.ForceSignHost; + !r && e.SignHost && o && (n.Host = e.SignHost); + var a = !1, + s = function (e, n) { + a || + ((a = !0), + n && + n.XCosSecurityToken && + !n.SecurityToken && + (((n = i.clone(n)).SecurityToken = n.XCosSecurityToken), delete n.XCosSecurityToken), + t && t(e, n)); + }, + c = this, + u = e.Bucket || '', + l = e.Region || '', + d = e.Key || ''; + c.options.ForcePathStyle && u && (d = u + '/' + d); + var p = '/' + d, + f = {}, + h = e.Scope; + if (!h) { + var m = e.Action || '', + g = e.ResourceKey || e.Key || ''; + h = e.Scope || [{ action: m, bucket: u, region: l, prefix: g }]; + } + var y = i.md5(JSON.stringify(h)); + (c._StsCache = c._StsCache || []), + (function () { + var e, t; + for (e = c._StsCache.length - 1; e >= 0; e--) { + t = c._StsCache[e]; + var n = Math.round(i.getSkewTime(c.options.SystemClockOffset) / 1e3) + 30; + if ((t.StartTime && n < t.StartTime) || n >= t.ExpiredTime) c._StsCache.splice(e, 1); + else if (!t.ScopeLimit || (t.ScopeLimit && t.ScopeKey === y)) { + f = t; + break; + } + } + })(); + var v, + C = function () { + var t = ''; + f.StartTime && e.Expires + ? (t = f.StartTime + ';' + (f.StartTime + 1 * e.Expires)) + : f.StartTime && f.ExpiredTime && (t = f.StartTime + ';' + f.ExpiredTime); + var r = { + Authorization: i.getAuth({ + SecretId: f.TmpSecretId, + SecretKey: f.TmpSecretKey, + Method: e.Method, + Pathname: p, + Query: e.Query, + Headers: n, + Expires: e.Expires, + UseRawKey: c.options.UseRawKey, + SystemClockOffset: c.options.SystemClockOffset, + KeyTime: t, + ForceSignHost: o, + }), + SecurityToken: f.SecurityToken || f.XCosSecurityToken || '', + Token: f.Token || '', + ClientIP: f.ClientIP || '', + ClientUA: f.ClientUA || '', + }; + s(null, r); + }, + k = function (e) { + if (e.Authorization) { + var t = !1, + n = e.Authorization; + if (n) + if (n.indexOf(' ') > -1) t = !1; + else if ( + n.indexOf('q-sign-algorithm=') > -1 && + n.indexOf('q-ak=') > -1 && + n.indexOf('q-sign-time=') > -1 && + n.indexOf('q-key-time=') > -1 && + n.indexOf('q-url-param-list=') > -1 + ) + t = !0; + else + try { + (n = atob(n)).indexOf('a=') > -1 && + n.indexOf('k=') > -1 && + n.indexOf('t=') > -1 && + n.indexOf('r=') > -1 && + n.indexOf('b=') > -1 && + (t = !0); + } catch (e) {} + if (!t) return i.error(new Error('getAuthorization callback params format error')); + } else { + if (!e.TmpSecretId) return i.error(new Error('getAuthorization callback params missing "TmpSecretId"')); + if (!e.TmpSecretKey) return i.error(new Error('getAuthorization callback params missing "TmpSecretKey"')); + if (!e.SecurityToken && !e.XCosSecurityToken) + return i.error(new Error('getAuthorization callback params missing "SecurityToken"')); + if (!e.ExpiredTime) return i.error(new Error('getAuthorization callback params missing "ExpiredTime"')); + if (e.ExpiredTime && 10 !== e.ExpiredTime.toString().length) + return i.error(new Error('getAuthorization callback params "ExpiredTime" should be 10 digits')); + if (e.StartTime && 10 !== e.StartTime.toString().length) + return i.error(new Error('getAuthorization callback params "StartTime" should be 10 StartTime')); + } + return !1; + }; + if (f.ExpiredTime && f.ExpiredTime - i.getSkewTime(c.options.SystemClockOffset) / 1e3 > 60) C(); + else if (c.options.getAuthorization) + c.options.getAuthorization.call( + c, + { + Bucket: u, + Region: l, + Method: e.Method, + Key: d, + Pathname: p, + Query: e.Query, + Headers: n, + Scope: h, + SystemClockOffset: c.options.SystemClockOffset, + ForceSignHost: o, + }, + function (e) { + 'string' == typeof e && (e = { Authorization: e }); + var t = k(e); + if (t) return s(t); + e.Authorization ? s(null, e) : (((f = e || {}).Scope = h), (f.ScopeKey = y), c._StsCache.push(f), C()); + }, + ); + else { + if (!c.options.getSTS) + return ( + (v = { + Authorization: i.getAuth({ + SecretId: e.SecretId || c.options.SecretId, + SecretKey: e.SecretKey || c.options.SecretKey, + Method: e.Method, + Pathname: p, + Query: e.Query, + Headers: n, + Expires: e.Expires, + UseRawKey: c.options.UseRawKey, + SystemClockOffset: c.options.SystemClockOffset, + ForceSignHost: o, + }), + SecurityToken: c.options.SecurityToken || c.options.XCosSecurityToken, + }), + s(null, v), + v + ); + c.options.getSTS.call(c, { Bucket: u, Region: l }, function (e) { + ((f = e || {}).Scope = h), + (f.ScopeKey = y), + f.TmpSecretId || (f.TmpSecretId = f.SecretId), + f.TmpSecretKey || (f.TmpSecretKey = f.SecretKey); + var t = k(f); + if (t) return s(t); + c._StsCache.push(f), C(); + }); + } + return ''; + } + function p(e) { + var t = !1, + n = !1, + r = (e.headers && (e.headers.date || e.headers.Date)) || (e.error && e.error.ServerTime); + try { + var o = e.error.Code, + a = e.error.Message; + ('RequestTimeTooSkewed' === o || ('AccessDenied' === o && 'Request has expired' === a)) && (n = !0); + } catch (e) {} + if (e) + if (n && r) { + var s = Date.parse(r); + this.options.CorrectClockSkew && + Math.abs(i.getSkewTime(this.options.SystemClockOffset) - s) >= 3e4 && + ((this.options.SystemClockOffset = s - Date.now()), (t = !0)); + } else 5 === Math.floor(e.statusCode / 100) && (t = !0); + return t; + } + function f(e, t) { + var n = this; + !e.headers && (e.headers = {}), + !e.qs && (e.qs = {}), + e.VersionId && (e.qs.versionId = e.VersionId), + (e.qs = i.clearKey(e.qs)), + e.headers && (e.headers = i.clearKey(e.headers)), + e.qs && (e.qs = i.clearKey(e.qs)); + var r = i.clone(e.qs); + e.action && (r[e.action] = ''); + var o = e.url || e.Url, + a = e.SignHost || l.call(this, { Bucket: e.Bucket, Region: e.Region, Url: o }), + s = e.tracker; + !(function o(i) { + var c = n.options.SystemClockOffset; + s && s.setParams({ signStartTime: new Date().getTime(), retryTimes: i - 1 }), + d.call( + n, + { + Bucket: e.Bucket || '', + Region: e.Region || '', + Method: e.method, + Key: e.Key, + Query: r, + Headers: e.headers, + SignHost: a, + Action: e.Action, + ResourceKey: e.ResourceKey, + Scope: e.Scope, + ForceSignHost: n.options.ForceSignHost, + }, + function (r, a) { + r + ? t(r) + : (s && s.setParams({ signEndTime: new Date().getTime(), httpStartTime: new Date().getTime() }), + (e.AuthData = a), + h.call(n, e, function (r, a) { + s && s.setParams({ httpEndTime: new Date().getTime() }), + r && i < 2 && (c !== n.options.SystemClockOffset || p.call(n, r)) + ? (e.headers && + (delete e.headers.Authorization, + delete e.headers.token, + delete e.headers.clientIP, + delete e.headers.clientUA, + e.headers['x-cos-security-token'] && delete e.headers['x-cos-security-token'], + e.headers['x-ci-security-token'] && delete e.headers['x-ci-security-token']), + o(i + 1)) + : t(r, a); + })); + }, + ); + })(1); + } + function h(e, t) { + var n = this, + r = e.TaskId; + if (!r || n._isRunningTask(r)) { + var a = e.Bucket, + s = e.Region, + c = e.Key, + l = e.method || 'GET', + d = e.Url || e.url, + p = e.body, + f = e.rawBody; + n.options.UseAccelerate && (s = 'accelerate'), + (d = + d || + u({ + ForcePathStyle: n.options.ForcePathStyle, + protocol: n.options.Protocol, + domain: n.options.Domain, + bucket: a, + region: s, + object: c, + })), + e.action && (d = d + '?' + (i.isIOS_QQ ? ''.concat(e.action, '=') : e.action)), + e.qsStr && (d = d.indexOf('?') > -1 ? d + '&' + e.qsStr : d + '?' + e.qsStr); + var h = { method: l, url: d, headers: e.headers, qs: e.qs, body: p }, + m = 'x-cos-security-token'; + if ( + (i.isCIHost(d) && (m = 'x-ci-security-token'), + (h.headers.Authorization = e.AuthData.Authorization), + e.AuthData.Token && (h.headers.token = e.AuthData.Token), + e.AuthData.ClientIP && (h.headers.clientIP = e.AuthData.ClientIP), + e.AuthData.ClientUA && (h.headers.clientUA = e.AuthData.ClientUA), + e.AuthData.SecurityToken && (h.headers[m] = e.AuthData.SecurityToken), + h.headers && (h.headers = i.clearKey(h.headers)), + (h = i.clearKey(h)), + e.onProgress && 'function' == typeof e.onProgress) + ) { + var g = (p && (p.size || p.length)) || 0; + h.onProgress = function (t) { + if (!r || n._isRunningTask(r)) { + var o = t ? t.loaded : 0; + e.onProgress({ loaded: o, total: g }); + } + }; + } + e.onDownloadProgress && (h.onDownloadProgress = e.onDownloadProgress), + e.DataType && (h.dataType = e.DataType), + this.options.Timeout && (h.timeout = this.options.Timeout), + n.options.ForcePathStyle && (h.pathStyle = n.options.ForcePathStyle), + n.emit('before-send', h); + var y = h.url.includes('accelerate.'), + v = h.qs + ? Object.keys(h.qs) + .map(function (e) { + return ''.concat(e, '=').concat(h.qs[e]); + }) + .join('&') + : '', + C = v ? h.url + '?' + v : h.url; + e.tracker && e.tracker.setParams({ reqUrl: C, accelerate: y ? 'Y' : 'N' }), + e.tracker && e.tracker.parent && e.tracker.parent.setParams({ reqUrl: C, accelerate: y ? 'Y' : 'N' }); + var k = (n.options.Request || o)(h, function (e) { + if (!e || 'abort' !== e.error) { + var o = { + options: h, + error: e && e.error, + statusCode: (e && e.statusCode) || 0, + statusMessage: (e && e.statusMessage) || '', + headers: (e && e.headers) || {}, + body: e && e.body, + }; + n.emit('after-receive', o); + var a, + s = o.error, + c = o.body, + u = { statusCode: o.statusCode, statusMessage: o.statusMessage, headers: o.headers }, + l = function (e, o) { + if ((r && n.off('inner-kill-task', S), !a)) { + a = !0; + var s = {}; + u && u.statusCode && (s.statusCode = u.statusCode), + u && u.headers && (s.headers = u.headers), + e ? ((e = i.extend(e || {}, s)), t(e, null)) : ((o = i.extend(o || {}, s)), t(null, o)), + (k = null); + } + }; + if (s) return l(i.error(s)); + var d, + p = u.statusCode, + m = 2 === Math.floor(p / 100); + if (f && m) return l(null, { body: c }); + try { + d = (c && c.indexOf('<') > -1 && c.indexOf('>') > -1 && i.xml2json(c)) || {}; + } catch (e) { + d = {}; + } + var g = d && d.Error; + m + ? l(null, d) + : g + ? l(i.error(new Error(g.Message), { code: g.Code, error: g })) + : p + ? l(i.error(new Error(u.statusMessage), { code: '' + p })) + : p && l(i.error(new Error('statusCode error'))); + } + }), + S = function e(t) { + t.TaskId === r && (k && k.abort && k.abort(), n.off('inner-kill-task', e)); + }; + r && n.on('inner-kill-task', S); + } + } + var m = { + getService: function (e, t) { + 'function' == typeof e && ((t = e), (e = {})); + var n = + this.options.Protocol || + (i.isBrowser && + 'object' === ('undefined' == typeof location ? 'undefined' : r(location)) && + 'http:' === location.protocol + ? 'http:' + : 'https:'), + o = this.options.ServiceDomain, + a = e.AppId || this.options.appId, + s = e.Region; + o + ? ((o = o + .replace(/\{\{AppId\}\}/gi, a || '') + .replace(/\{\{Region\}\}/gi, s || '') + .replace(/\{\{.*?\}\}/gi, '')), + /^[a-zA-Z]+:\/\//.test(o) || (o = n + '//' + o), + '/' === o.slice(-1) && (o = o.slice(0, -1))) + : (o = s ? n + '//cos.' + s + '.myqcloud.com' : n + '//service.cos.myqcloud.com'); + var c = '', + u = s ? 'cos.' + s + '.myqcloud.com' : 'service.cos.myqcloud.com'; + u === o.replace(/^https?:\/\/([^/]+)(\/.*)?$/, '$1') && (c = u), + f.call( + this, + { Action: 'name/cos:GetService', url: o, method: 'GET', headers: e.Headers, SignHost: c }, + function (e, n) { + if (e) return t(e); + var r = + (n && + n.ListAllMyBucketsResult && + n.ListAllMyBucketsResult.Buckets && + n.ListAllMyBucketsResult.Buckets.Bucket) || + []; + r = i.isArray(r) ? r : [r]; + var o = (n && n.ListAllMyBucketsResult && n.ListAllMyBucketsResult.Owner) || {}; + t(null, { Buckets: r, Owner: o, statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucket: function (e, t) { + var n = this, + r = ''; + if (e.BucketAZConfig) { + var o = { BucketAZConfig: e.BucketAZConfig }; + r = i.json2xml({ CreateBucketConfiguration: o }); + } + f.call( + this, + { + Action: 'name/cos:PutBucket', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + body: r, + }, + function (r, o) { + if (r) return t(r); + var i = u({ + protocol: n.options.Protocol, + domain: n.options.Domain, + bucket: e.Bucket, + region: e.Region, + isLocation: !0, + }); + t(null, { Location: i, statusCode: o.statusCode, headers: o.headers }); + }, + ); + }, + headBucket: function (e, t) { + f.call( + this, + { Action: 'name/cos:HeadBucket', Bucket: e.Bucket, Region: e.Region, headers: e.Headers, method: 'HEAD' }, + t, + ); + }, + getBucket: function (e, t) { + var n = {}; + (n.prefix = e.Prefix || ''), + (n.delimiter = e.Delimiter), + (n.marker = e.Marker), + (n['max-keys'] = e.MaxKeys), + (n['encoding-type'] = e.EncodingType), + f.call( + this, + { + Action: 'name/cos:GetBucket', + ResourceKey: n.prefix, + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + qs: n, + }, + function (e, n) { + if (e) return t(e); + var r = n.ListBucketResult || {}, + o = r.Contents || [], + a = r.CommonPrefixes || []; + (o = i.isArray(o) ? o : [o]), (a = i.isArray(a) ? a : [a]); + var s = i.clone(r); + i.extend(s, { Contents: o, CommonPrefixes: a, statusCode: n.statusCode, headers: n.headers }), + t(null, s); + }, + ); + }, + deleteBucket: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucket', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + method: 'DELETE', + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucketAcl: function (e, t) { + var n = e.Headers, + r = ''; + if (e.AccessControlPolicy) { + var o = i.clone(e.AccessControlPolicy || {}), + a = o.Grants || o.Grant; + (a = i.isArray(a) ? a : [a]), + delete o.Grant, + delete o.Grants, + (o.AccessControlList = { Grant: a }), + (r = i.json2xml({ AccessControlPolicy: o })), + (n['Content-Type'] = 'application/xml'), + (n['Content-MD5'] = i.b64(i.md5(r))); + } + i.each(n, function (e, t) { + 0 === t.indexOf('x-cos-grant-') && (n[t] = c(n[t])); + }), + f.call( + this, + { + Action: 'name/cos:PutBucketACL', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + headers: n, + action: 'acl', + body: r, + }, + function (e, n) { + if (e) return t(e); + t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getBucketAcl: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketACL', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'acl', + }, + function (e, n) { + if (e) return t(e); + var r = n.AccessControlPolicy || {}, + o = r.Owner || {}, + a = r.AccessControlList.Grant || []; + a = i.isArray(a) ? a : [a]; + var c = s(r); + n.headers && n.headers['x-cos-acl'] && (c.ACL = n.headers['x-cos-acl']), + (c = i.extend(c, { Owner: o, Grants: a, statusCode: n.statusCode, headers: n.headers })), + t(null, c); + }, + ); + }, + putBucketCors: function (e, t) { + var n = (e.CORSConfiguration || {}).CORSRules || e.CORSRules || []; + (n = i.clone(i.isArray(n) ? n : [n])), + i.each(n, function (e) { + i.each(['AllowedOrigin', 'AllowedHeader', 'AllowedMethod', 'ExposeHeader'], function (t) { + var n = t + 's', + r = e[n] || e[t] || []; + delete e[n], (e[t] = i.isArray(r) ? r : [r]); + }); + }); + var r = { CORSRule: n }; + e.ResponseVary && (r.ResponseVary = e.ResponseVary); + var o = i.json2xml({ CORSConfiguration: r }), + a = e.Headers; + (a['Content-Type'] = 'application/xml'), + (a['Content-MD5'] = i.b64(i.md5(o))), + f.call( + this, + { + Action: 'name/cos:PutBucketCORS', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: o, + action: 'cors', + headers: a, + }, + function (e, n) { + if (e) return t(e); + t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getBucketCors: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketCORS', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'cors', + }, + function (e, n) { + if (e) + if (404 === e.statusCode && e.error && 'NoSuchCORSConfiguration' === e.error.Code) { + var r = { CORSRules: [], statusCode: e.statusCode }; + e.headers && (r.headers = e.headers), t(null, r); + } else t(e); + else { + var o = n.CORSConfiguration || {}, + a = o.CORSRules || o.CORSRule || []; + a = i.clone(i.isArray(a) ? a : [a]); + var s = o.ResponseVary; + i.each(a, function (e) { + i.each(['AllowedOrigin', 'AllowedHeader', 'AllowedMethod', 'ExposeHeader'], function (t) { + var n = t + 's', + r = e[n] || e[t] || []; + delete e[t], (e[n] = i.isArray(r) ? r : [r]); + }); + }), + t(null, { CORSRules: a, ResponseVary: s, statusCode: n.statusCode, headers: n.headers }); + } + }, + ); + }, + deleteBucketCors: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucketCORS', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'cors', + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode || e.statusCode, headers: n.headers }); + }, + ); + }, + getBucketLocation: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketLocation', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'location', + }, + t, + ); + }, + getBucketPolicy: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketPolicy', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'policy', + rawBody: !0, + }, + function (e, n) { + if (e) + return e.statusCode && 403 === e.statusCode + ? t(i.error(e, { ErrorStatus: 'Access Denied' })) + : e.statusCode && 405 === e.statusCode + ? t(i.error(e, { ErrorStatus: 'Method Not Allowed' })) + : e.statusCode && 404 === e.statusCode + ? t(i.error(e, { ErrorStatus: 'Policy Not Found' })) + : t(e); + var r = {}; + try { + r = JSON.parse(n.body); + } catch (e) {} + t(null, { Policy: r, statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucketPolicy: function (e, t) { + var n = e.Policy; + try { + 'string' == typeof n && (n = JSON.parse(n)); + } catch (e) {} + if (!n || 'string' == typeof n) return t(i.error(new Error('Policy format error'))); + var r = JSON.stringify(n); + n.version || (n.version = '2.0'); + var o = e.Headers; + (o['Content-Type'] = 'application/json'), + (o['Content-MD5'] = i.b64(i.md5(r))), + f.call( + this, + { + Action: 'name/cos:PutBucketPolicy', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + action: 'policy', + body: r, + headers: o, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + deleteBucketPolicy: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucketPolicy', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'policy', + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode || e.statusCode, headers: n.headers }); + }, + ); + }, + putBucketTagging: function (e, t) { + var n = e.Tagging || {}, + r = n.TagSet || n.Tags || e.Tags || []; + r = i.clone(i.isArray(r) ? r : [r]); + var o = i.json2xml({ Tagging: { TagSet: { Tag: r } } }), + a = e.Headers; + (a['Content-Type'] = 'application/xml'), + (a['Content-MD5'] = i.b64(i.md5(o))), + f.call( + this, + { + Action: 'name/cos:PutBucketTagging', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: o, + action: 'tagging', + headers: a, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getBucketTagging: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketTagging', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'tagging', + }, + function (e, n) { + if (e) + if (404 !== e.statusCode || !e.error || ('Not Found' !== e.error && 'NoSuchTagSet' !== e.error.Code)) + t(e); + else { + var r = { Tags: [], statusCode: e.statusCode }; + e.headers && (r.headers = e.headers), t(null, r); + } + else { + var o = []; + try { + o = n.Tagging.TagSet.Tag || []; + } catch (e) {} + (o = i.clone(i.isArray(o) ? o : [o])), + t(null, { Tags: o, statusCode: n.statusCode, headers: n.headers }); + } + }, + ); + }, + deleteBucketTagging: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucketTagging', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'tagging', + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucketLifecycle: function (e, t) { + var n = (e.LifecycleConfiguration || {}).Rules || e.Rules || []; + n = i.clone(n); + var r = i.json2xml({ LifecycleConfiguration: { Rule: n } }), + o = e.Headers; + (o['Content-Type'] = 'application/xml'), + (o['Content-MD5'] = i.b64(i.md5(r))), + f.call( + this, + { + Action: 'name/cos:PutBucketLifecycle', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: r, + action: 'lifecycle', + headers: o, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getBucketLifecycle: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketLifecycle', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'lifecycle', + }, + function (e, n) { + if (e) + if (404 === e.statusCode && e.error && 'NoSuchLifecycleConfiguration' === e.error.Code) { + var r = { Rules: [], statusCode: e.statusCode }; + e.headers && (r.headers = e.headers), t(null, r); + } else t(e); + else { + var o = []; + try { + o = n.LifecycleConfiguration.Rule || []; + } catch (e) {} + (o = i.clone(i.isArray(o) ? o : [o])), + t(null, { Rules: o, statusCode: n.statusCode, headers: n.headers }); + } + }, + ); + }, + deleteBucketLifecycle: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucketLifecycle', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'lifecycle', + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucketVersioning: function (e, t) { + if (e.VersioningConfiguration) { + var n = e.VersioningConfiguration || {}, + r = i.json2xml({ VersioningConfiguration: n }), + o = e.Headers; + (o['Content-Type'] = 'application/xml'), + (o['Content-MD5'] = i.b64(i.md5(r))), + f.call( + this, + { + Action: 'name/cos:PutBucketVersioning', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: r, + action: 'versioning', + headers: o, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + } else t(i.error(new Error('missing param VersioningConfiguration'))); + }, + getBucketVersioning: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketVersioning', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'versioning', + }, + function (e, n) { + e || (!n.VersioningConfiguration && (n.VersioningConfiguration = {})), t(e, n); + }, + ); + }, + putBucketReplication: function (e, t) { + var n = i.clone(e.ReplicationConfiguration), + r = i.json2xml({ ReplicationConfiguration: n }); + r = (r = r.replace(/<(\/?)Rules>/gi, '<$1Rule>')).replace(/<(\/?)Tags>/gi, '<$1Tag>'); + var o = e.Headers; + (o['Content-Type'] = 'application/xml'), + (o['Content-MD5'] = i.b64(i.md5(r))), + f.call( + this, + { + Action: 'name/cos:PutBucketReplication', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: r, + action: 'replication', + headers: o, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getBucketReplication: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketReplication', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'replication', + }, + function (e, n) { + if (e) + if ( + 404 !== e.statusCode || + !e.error || + ('Not Found' !== e.error && 'ReplicationConfigurationnotFoundError' !== e.error.Code) + ) + t(e); + else { + var r = { ReplicationConfiguration: { Rules: [] }, statusCode: e.statusCode }; + e.headers && (r.headers = e.headers), t(null, r); + } + else + !n.ReplicationConfiguration && (n.ReplicationConfiguration = {}), + n.ReplicationConfiguration.Rule && + ((n.ReplicationConfiguration.Rules = i.makeArray(n.ReplicationConfiguration.Rule)), + delete n.ReplicationConfiguration.Rule), + t(e, n); + }, + ); + }, + deleteBucketReplication: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucketReplication', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'replication', + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucketWebsite: function (e, t) { + if (e.WebsiteConfiguration) { + var n = i.clone(e.WebsiteConfiguration || {}), + r = n.RoutingRules || n.RoutingRule || []; + (r = i.isArray(r) ? r : [r]), + delete n.RoutingRule, + delete n.RoutingRules, + r.length && (n.RoutingRules = { RoutingRule: r }); + var o = i.json2xml({ WebsiteConfiguration: n }), + a = e.Headers; + (a['Content-Type'] = 'application/xml'), + (a['Content-MD5'] = i.b64(i.md5(o))), + f.call( + this, + { + Action: 'name/cos:PutBucketWebsite', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: o, + action: 'website', + headers: a, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + } else t(i.error(new Error('missing param WebsiteConfiguration'))); + }, + getBucketWebsite: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketWebsite', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + headers: e.Headers, + action: 'website', + }, + function (e, n) { + if (e) + if (404 === e.statusCode && 'NoSuchWebsiteConfiguration' === e.error.Code) { + var r = { WebsiteConfiguration: {}, statusCode: e.statusCode }; + e.headers && (r.headers = e.headers), t(null, r); + } else t(e); + else { + var o = n.WebsiteConfiguration || {}; + if (o.RoutingRules) { + var a = i.clone(o.RoutingRules.RoutingRule || []); + (a = i.makeArray(a)), (o.RoutingRules = a); + } + t(null, { WebsiteConfiguration: o, statusCode: n.statusCode, headers: n.headers }); + } + }, + ); + }, + deleteBucketWebsite: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucketWebsite', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'website', + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucketReferer: function (e, t) { + if (e.RefererConfiguration) { + var n = i.clone(e.RefererConfiguration || {}), + r = n.DomainList || {}, + o = r.Domains || r.Domain || []; + (o = i.isArray(o) ? o : [o]).length && (n.DomainList = { Domain: o }); + var a = i.json2xml({ RefererConfiguration: n }), + s = e.Headers; + (s['Content-Type'] = 'application/xml'), + (s['Content-MD5'] = i.b64(i.md5(a))), + f.call( + this, + { + Action: 'name/cos:PutBucketReferer', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: a, + action: 'referer', + headers: s, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + } else t(i.error(new Error('missing param RefererConfiguration'))); + }, + getBucketReferer: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketReferer', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + headers: e.Headers, + action: 'referer', + }, + function (e, n) { + if (e) + if (404 === e.statusCode && 'NoSuchRefererConfiguration' === e.error.Code) { + var r = { WebsiteConfiguration: {}, statusCode: e.statusCode }; + e.headers && (r.headers = e.headers), t(null, r); + } else t(e); + else { + var o = n.RefererConfiguration || {}; + if (o.DomainList) { + var a = i.makeArray(o.DomainList.Domain || []); + o.DomainList = { Domains: a }; + } + t(null, { RefererConfiguration: o, statusCode: n.statusCode, headers: n.headers }); + } + }, + ); + }, + putBucketDomain: function (e, t) { + var n = (e.DomainConfiguration || {}).DomainRule || e.DomainRule || []; + n = i.clone(n); + var r = i.json2xml({ DomainConfiguration: { DomainRule: n } }), + o = e.Headers; + (o['Content-Type'] = 'application/xml'), + (o['Content-MD5'] = i.b64(i.md5(r))), + f.call( + this, + { + Action: 'name/cos:PutBucketDomain', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: r, + action: 'domain', + headers: o, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getBucketDomain: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketDomain', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'domain', + }, + function (e, n) { + if (e) return t(e); + var r = []; + try { + r = n.DomainConfiguration.DomainRule || []; + } catch (e) {} + (r = i.clone(i.isArray(r) ? r : [r])), + t(null, { DomainRule: r, statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + deleteBucketDomain: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucketDomain', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'domain', + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucketOrigin: function (e, t) { + var n = (e.OriginConfiguration || {}).OriginRule || e.OriginRule || []; + n = i.clone(n); + var r = i.json2xml({ OriginConfiguration: { OriginRule: n } }), + o = e.Headers; + (o['Content-Type'] = 'application/xml'), + (o['Content-MD5'] = i.b64(i.md5(r))), + f.call( + this, + { + Action: 'name/cos:PutBucketOrigin', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: r, + action: 'origin', + headers: o, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getBucketOrigin: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketOrigin', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'origin', + }, + function (e, n) { + if (e) return t(e); + var r = []; + try { + r = n.OriginConfiguration.OriginRule || []; + } catch (e) {} + (r = i.clone(i.isArray(r) ? r : [r])), + t(null, { OriginRule: r, statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + deleteBucketOrigin: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucketOrigin', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'origin', + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucketLogging: function (e, t) { + var n = i.json2xml({ BucketLoggingStatus: e.BucketLoggingStatus || '' }), + r = e.Headers; + (r['Content-Type'] = 'application/xml'), + (r['Content-MD5'] = i.b64(i.md5(n))), + f.call( + this, + { + Action: 'name/cos:PutBucketLogging', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: n, + action: 'logging', + headers: r, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getBucketLogging: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketLogging', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'logging', + }, + function (e, n) { + if (e) return t(e); + t(null, { BucketLoggingStatus: n.BucketLoggingStatus, statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucketInventory: function (e, t) { + return a.call(this, 'PUT', e, t); + }, + postBucketInventory: function (e, t) { + return a.call(this, 'POST', e, t); + }, + getBucketInventory: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketInventory', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'inventory', + qs: { id: e.Id }, + }, + function (e, n) { + if (e) return t(e); + var r = n.InventoryConfiguration; + if (r && r.OptionalFields && r.OptionalFields.Field) { + var o = r.OptionalFields.Field; + i.isArray(o) || (o = [o]), (r.OptionalFields = o); + } + if ( + r.Destination && + r.Destination.COSBucketDestination && + r.Destination.COSBucketDestination.Encryption + ) { + var a = r.Destination.COSBucketDestination.Encryption; + Object.keys(a).indexOf('SSE-COS') > -1 && ((a.SSECOS = a['SSE-COS']), delete a['SSE-COS']); + } + t(null, { InventoryConfiguration: r, statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + listBucketInventory: function (e, t) { + f.call( + this, + { + Action: 'name/cos:ListBucketInventory', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'inventory', + qs: { 'continuation-token': e.ContinuationToken }, + }, + function (e, n) { + if (e) return t(e); + var r = n.ListInventoryConfigurationResult, + o = r.InventoryConfiguration || []; + (o = i.isArray(o) ? o : [o]), + delete r.InventoryConfiguration, + i.each(o, function (e) { + if (e && e.OptionalFields && e.OptionalFields.Field) { + var t = e.OptionalFields.Field; + i.isArray(t) || (t = [t]), (e.OptionalFields = t); + } + if ( + e.Destination && + e.Destination.COSBucketDestination && + e.Destination.COSBucketDestination.Encryption + ) { + var n = e.Destination.COSBucketDestination.Encryption; + Object.keys(n).indexOf('SSE-COS') > -1 && ((n.SSECOS = n['SSE-COS']), delete n['SSE-COS']); + } + }), + (r.InventoryConfigurations = o), + i.extend(r, { statusCode: n.statusCode, headers: n.headers }), + t(null, r); + }, + ); + }, + deleteBucketInventory: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucketInventory', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'inventory', + qs: { id: e.Id }, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + putBucketAccelerate: function (e, t) { + if (e.AccelerateConfiguration) { + var n = { AccelerateConfiguration: e.AccelerateConfiguration || {} }, + r = i.json2xml(n), + o = { 'Content-Type': 'application/xml' }; + (o['Content-MD5'] = i.b64(i.md5(r))), + f.call( + this, + { + Action: 'name/cos:PutBucketAccelerate', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: r, + action: 'accelerate', + headers: o, + }, + function (e, n) { + if (e) return t(e); + t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + } else t(i.error(new Error('missing param AccelerateConfiguration'))); + }, + getBucketAccelerate: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketAccelerate', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + action: 'accelerate', + }, + function (e, n) { + e || (!n.AccelerateConfiguration && (n.AccelerateConfiguration = {})), t(e, n); + }, + ); + }, + putBucketEncryption: function (e, t) { + var n = e.ServerSideEncryptionConfiguration || {}, + r = n.Rule || n.Rules || [], + o = i.json2xml({ ServerSideEncryptionConfiguration: { Rule: r } }), + a = e.Headers; + (a['Content-Type'] = 'application/xml'), + (a['Content-MD5'] = i.b64(i.md5(o))), + f.call( + this, + { + Action: 'name/cos:PutBucketEncryption', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + body: o, + action: 'encryption', + headers: a, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getBucketEncryption: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetBucketEncryption', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'encryption', + }, + function (e, n) { + if (e) + if (404 === e.statusCode && 'NoSuchEncryptionConfiguration' === e.code) { + var r = { EncryptionConfiguration: { Rules: [] }, statusCode: e.statusCode }; + e.headers && (r.headers = e.headers), t(null, r); + } else t(e); + else { + var o = i.makeArray((n.EncryptionConfiguration && n.EncryptionConfiguration.Rule) || []); + (n.EncryptionConfiguration = { Rules: o }), t(e, n); + } + }, + ); + }, + deleteBucketEncryption: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteBucketReplication', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'encryption', + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getObject: function (e, t) { + var n = e.Query || {}, + r = e.QueryString || '', + o = i.throttleOnProgress.call(this, 0, e.onProgress), + a = e.tracker; + a && a.setParams({ signStartTime: new Date().getTime() }), + (n['response-content-type'] = e.ResponseContentType), + (n['response-content-language'] = e.ResponseContentLanguage), + (n['response-expires'] = e.ResponseExpires), + (n['response-cache-control'] = e.ResponseCacheControl), + (n['response-content-disposition'] = e.ResponseContentDisposition), + (n['response-content-encoding'] = e.ResponseContentEncoding), + f.call( + this, + { + Action: 'name/cos:GetObject', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + VersionId: e.VersionId, + DataType: e.DataType, + headers: e.Headers, + qs: n, + qsStr: r, + rawBody: !0, + onDownloadProgress: o, + tracker: a, + }, + function (n, r) { + if ((o(null, !0), n)) { + var a = n.statusCode; + return e.Headers['If-Modified-Since'] && a && 304 === a ? t(null, { NotModified: !0 }) : t(n); + } + t(null, { + Body: r.body, + ETag: i.attr(r.headers, 'etag', ''), + statusCode: r.statusCode, + headers: r.headers, + }); + }, + ); + }, + headObject: function (e, t) { + f.call( + this, + { + Action: 'name/cos:HeadObject', + method: 'HEAD', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + VersionId: e.VersionId, + headers: e.Headers, + }, + function (n, r) { + if (n) { + var o = n.statusCode; + return e.Headers['If-Modified-Since'] && o && 304 === o + ? t(null, { NotModified: !0, statusCode: o }) + : t(n); + } + (r.ETag = i.attr(r.headers, 'etag', '')), t(null, r); + }, + ); + }, + listObjectVersions: function (e, t) { + var n = {}; + (n.prefix = e.Prefix || ''), + (n.delimiter = e.Delimiter), + (n['key-marker'] = e.KeyMarker), + (n['version-id-marker'] = e.VersionIdMarker), + (n['max-keys'] = e.MaxKeys), + (n['encoding-type'] = e.EncodingType), + f.call( + this, + { + Action: 'name/cos:GetBucketObjectVersions', + ResourceKey: n.prefix, + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + qs: n, + action: 'versions', + }, + function (e, n) { + if (e) return t(e); + var r = n.ListVersionsResult || {}, + o = r.DeleteMarker || []; + o = i.isArray(o) ? o : [o]; + var a = r.Version || []; + a = i.isArray(a) ? a : [a]; + var s = i.clone(r); + delete s.DeleteMarker, + delete s.Version, + i.extend(s, { DeleteMarkers: o, Versions: a, statusCode: n.statusCode, headers: n.headers }), + t(null, s); + }, + ); + }, + putObject: function (e, t) { + var n = this, + r = e.ContentLength, + o = i.throttleOnProgress.call(n, r, e.onProgress), + a = e.Headers; + a['Cache-Control'] || a['cache-control'] || (a['Cache-Control'] = ''), + a['Content-Type'] || a['content-type'] || (a['Content-Type'] = (e.Body && e.Body.type) || ''); + var s = e.UploadAddMetaMd5 || n.options.UploadAddMetaMd5 || n.options.UploadCheckContentMd5, + c = e.tracker; + s && c && c.setParams({ md5StartTime: new Date().getTime() }), + i.getBodyMd5( + s, + e.Body, + function (s) { + s && + (c && c.setParams({ md5EndTime: new Date().getTime() }), + n.options.UploadCheckContentMd5 && (a['Content-MD5'] = i.b64(s)), + (e.UploadAddMetaMd5 || n.options.UploadAddMetaMd5) && (a['x-cos-meta-md5'] = s)), + void 0 !== e.ContentLength && (a['Content-Length'] = e.ContentLength), + o(null, !0), + f.call( + n, + { + Action: 'name/cos:PutObject', + TaskId: e.TaskId, + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + headers: e.Headers, + qs: e.Query, + body: e.Body, + onProgress: o, + tracker: c, + }, + function (a, s) { + if (a) return o(null, !0), t(a); + o({ loaded: r, total: r }, !0); + var c = u({ + ForcePathStyle: n.options.ForcePathStyle, + protocol: n.options.Protocol, + domain: n.options.Domain, + bucket: e.Bucket, + region: n.options.UseAccelerate ? 'accelerate' : e.Region, + object: e.Key, + }); + (c = c.substr(c.indexOf('://') + 3)), + (s.Location = c), + (s.ETag = i.attr(s.headers, 'etag', '')), + t(null, s); + }, + ); + }, + e.onHashProgress, + ); + }, + deleteObject: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteObject', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + headers: e.Headers, + VersionId: e.VersionId, + action: e.Recursive ? 'recursive' : '', + }, + function (e, n) { + if (e) { + var r = e.statusCode; + return r && 404 === r ? t(null, { BucketNotFound: !0, statusCode: r }) : t(e); + } + t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getObjectAcl: function (e, t) { + var n = {}; + e.VersionId && (n.versionId = e.VersionId), + f.call( + this, + { + Action: 'name/cos:GetObjectACL', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + headers: e.Headers, + qs: n, + action: 'acl', + }, + function (e, n) { + if (e) return t(e); + var r = n.AccessControlPolicy || {}, + o = r.Owner || {}, + a = (r.AccessControlList && r.AccessControlList.Grant) || []; + a = i.isArray(a) ? a : [a]; + var c = s(r); + delete c.GrantWrite, + n.headers && n.headers['x-cos-acl'] && (c.ACL = n.headers['x-cos-acl']), + (c = i.extend(c, { Owner: o, Grants: a, statusCode: n.statusCode, headers: n.headers })), + t(null, c); + }, + ); + }, + putObjectAcl: function (e, t) { + var n = e.Headers, + r = ''; + if (e.AccessControlPolicy) { + var o = i.clone(e.AccessControlPolicy || {}), + a = o.Grants || o.Grant; + (a = i.isArray(a) ? a : [a]), + delete o.Grant, + delete o.Grants, + (o.AccessControlList = { Grant: a }), + (r = i.json2xml({ AccessControlPolicy: o })), + (n['Content-Type'] = 'application/xml'), + (n['Content-MD5'] = i.b64(i.md5(r))); + } + i.each(n, function (e, t) { + 0 === t.indexOf('x-cos-grant-') && (n[t] = c(n[t])); + }), + f.call( + this, + { + Action: 'name/cos:PutObjectACL', + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + action: 'acl', + headers: n, + body: r, + }, + function (e, n) { + if (e) return t(e); + t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + optionsObject: function (e, t) { + var n = e.Headers; + (n.Origin = e.Origin), + (n['Access-Control-Request-Method'] = e.AccessControlRequestMethod), + (n['Access-Control-Request-Headers'] = e.AccessControlRequestHeaders), + f.call( + this, + { + Action: 'name/cos:OptionsObject', + method: 'OPTIONS', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + headers: n, + }, + function (e, n) { + if (e) + return e.statusCode && 403 === e.statusCode + ? t(null, { OptionsForbidden: !0, statusCode: e.statusCode }) + : t(e); + var r = n.headers || {}; + t(null, { + AccessControlAllowOrigin: r['access-control-allow-origin'], + AccessControlAllowMethods: r['access-control-allow-methods'], + AccessControlAllowHeaders: r['access-control-allow-headers'], + AccessControlExposeHeaders: r['access-control-expose-headers'], + AccessControlMaxAge: r['access-control-max-age'], + statusCode: n.statusCode, + headers: n.headers, + }); + }, + ); + }, + putObjectCopy: function (e, t) { + var n = this, + r = e.Headers; + r['Cache-Control'] || r['cache-control'] || (r['Cache-Control'] = ''); + var o = e.CopySource || '', + a = i.getSourceParams.call(this, o); + if (a) { + var s = a.Bucket, + c = a.Region, + l = decodeURIComponent(a.Key); + f.call( + this, + { + Scope: [ + { action: 'name/cos:GetObject', bucket: s, region: c, prefix: l }, + { action: 'name/cos:PutObject', bucket: e.Bucket, region: e.Region, prefix: e.Key }, + ], + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + VersionId: e.VersionId, + headers: e.Headers, + }, + function (r, o) { + if (r) return t(r); + var a = i.clone(o.CopyObjectResult || {}), + s = u({ + ForcePathStyle: n.options.ForcePathStyle, + protocol: n.options.Protocol, + domain: n.options.Domain, + bucket: e.Bucket, + region: e.Region, + object: e.Key, + isLocation: !0, + }); + i.extend(a, { Location: s, statusCode: o.statusCode, headers: o.headers }), t(null, a); + }, + ); + } else t(i.error(new Error('CopySource format error'))); + }, + deleteMultipleObject: function (e, t) { + var n = e.Objects || [], + r = e.Quiet; + n = i.isArray(n) ? n : [n]; + var o = i.json2xml({ Delete: { Object: n, Quiet: r || !1 } }), + a = e.Headers; + (a['Content-Type'] = 'application/xml'), (a['Content-MD5'] = i.b64(i.md5(o))); + var s = i.map(n, function (t) { + return { action: 'name/cos:DeleteObject', bucket: e.Bucket, region: e.Region, prefix: t.Key }; + }); + f.call( + this, + { Scope: s, method: 'POST', Bucket: e.Bucket, Region: e.Region, body: o, action: 'delete', headers: a }, + function (e, n) { + if (e) return t(e); + var r = n.DeleteResult || {}, + o = r.Deleted || [], + a = r.Error || []; + (o = i.isArray(o) ? o : [o]), (a = i.isArray(a) ? a : [a]); + var s = i.clone(r); + i.extend(s, { Error: a, Deleted: o, statusCode: n.statusCode, headers: n.headers }), t(null, s); + }, + ); + }, + restoreObject: function (e, t) { + var n = e.Headers; + if (e.RestoreRequest) { + var r = e.RestoreRequest || {}, + o = i.json2xml({ RestoreRequest: r }); + (n['Content-Type'] = 'application/xml'), + (n['Content-MD5'] = i.b64(i.md5(o))), + f.call( + this, + { + Action: 'name/cos:RestoreObject', + method: 'POST', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + VersionId: e.VersionId, + body: o, + action: 'restore', + headers: n, + }, + t, + ); + } else t(i.error(new Error('missing param RestoreRequest'))); + }, + putObjectTagging: function (e, t) { + var n = e.Tagging || {}, + r = n.TagSet || n.Tags || e.Tags || []; + r = i.clone(i.isArray(r) ? r : [r]); + var o = i.json2xml({ Tagging: { TagSet: { Tag: r } } }), + a = e.Headers; + (a['Content-Type'] = 'application/xml'), + (a['Content-MD5'] = i.b64(i.md5(o))), + f.call( + this, + { + Action: 'name/cos:PutObjectTagging', + method: 'PUT', + Bucket: e.Bucket, + Key: e.Key, + Region: e.Region, + body: o, + action: 'tagging', + headers: a, + VersionId: e.VersionId, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + getObjectTagging: function (e, t) { + f.call( + this, + { + Action: 'name/cos:GetObjectTagging', + method: 'GET', + Key: e.Key, + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + action: 'tagging', + VersionId: e.VersionId, + }, + function (e, n) { + if (e) + if (404 !== e.statusCode || !e.error || ('Not Found' !== e.error && 'NoSuchTagSet' !== e.error.Code)) + t(e); + else { + var r = { Tags: [], statusCode: e.statusCode }; + e.headers && (r.headers = e.headers), t(null, r); + } + else { + var o = []; + try { + o = n.Tagging.TagSet.Tag || []; + } catch (e) {} + (o = i.clone(i.isArray(o) ? o : [o])), + t(null, { Tags: o, statusCode: n.statusCode, headers: n.headers }); + } + }, + ); + }, + deleteObjectTagging: function (e, t) { + f.call( + this, + { + Action: 'name/cos:DeleteObjectTagging', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + headers: e.Headers, + action: 'tagging', + VersionId: e.VersionId, + }, + function (e, n) { + return e && 204 === e.statusCode + ? t(null, { statusCode: e.statusCode }) + : e + ? t(e) + : void t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + selectObjectContent: function (e, t) { + if (!e.SelectType) return t(i.error(new Error('missing param SelectType'))); + var n = e.SelectRequest || {}, + r = i.json2xml({ SelectRequest: n }), + o = e.Headers; + (o['Content-Type'] = 'application/xml'), + (o['Content-MD5'] = i.b64(i.md5(r))), + f.call( + this, + { + Action: 'name/cos:GetObject', + method: 'POST', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + headers: e.Headers, + action: 'select', + qs: { 'select-type': e.SelectType }, + VersionId: e.VersionId, + body: r, + DataType: 'arraybuffer', + rawBody: !0, + }, + function (e, n) { + if (e && 204 === e.statusCode) return t(null, { statusCode: e.statusCode }); + if (e) return t(e); + var r = i.parseSelectPayload(n.body); + t(null, { statusCode: n.statusCode, headers: n.headers, Body: r.body, Payload: r.payload }); + }, + ); + }, + appendObject: function (e, t) { + var n = e.Headers; + n['Cache-Control'] || n['cache-control'] || (n['Cache-Control'] = ''), + n['Content-Type'] || n['content-type'] || (n['Content-Type'] = (e.Body && e.Body.type) || ''), + f.call( + this, + { + Action: 'name/cos:AppendObject', + method: 'POST', + Bucket: e.Bucket, + Region: e.Region, + action: 'append', + Key: e.Key, + body: e.Body, + qs: { position: e.Position }, + headers: e.Headers, + }, + function (e, n) { + if (e) return t(e); + t(null, n); + }, + ); + }, + uploadPartCopy: function (e, t) { + var n = e.CopySource || '', + r = i.getSourceParams.call(this, n); + if (r) { + var o = r.Bucket, + a = r.Region, + s = decodeURIComponent(r.Key); + f.call( + this, + { + Scope: [ + { action: 'name/cos:GetObject', bucket: o, region: a, prefix: s }, + { action: 'name/cos:PutObject', bucket: e.Bucket, region: e.Region, prefix: e.Key }, + ], + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + VersionId: e.VersionId, + qs: { partNumber: e.PartNumber, uploadId: e.UploadId }, + headers: e.Headers, + }, + function (e, n) { + if (e) return t(e); + var r = i.clone(n.CopyPartResult || {}); + i.extend(r, { statusCode: n.statusCode, headers: n.headers }), t(null, r); + }, + ); + } else t(i.error(new Error('CopySource format error'))); + }, + multipartInit: function (e, t) { + var n = this, + r = e.Headers, + o = e.tracker; + r['Cache-Control'] || r['cache-control'] || (r['Cache-Control'] = ''), + r['Content-Type'] || r['content-type'] || (r['Content-Type'] = (e.Body && e.Body.type) || ''); + var a = e.Body && (e.UploadAddMetaMd5 || n.options.UploadAddMetaMd5); + a && o && o.setParams({ md5StartTime: new Date().getTime() }), + i.getBodyMd5( + a, + e.Body, + function (r) { + r && (e.Headers['x-cos-meta-md5'] = r), + a && o && o.setParams({ md5EndTime: new Date().getTime() }), + f.call( + n, + { + Action: 'name/cos:InitiateMultipartUpload', + method: 'POST', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + action: 'uploads', + headers: e.Headers, + qs: e.Query, + tracker: o, + }, + function (e, n) { + return e + ? (o && o.parent && o.parent.setParams({ errorNode: 'multipartInit' }), t(e)) + : (n = i.clone(n || {})) && n.InitiateMultipartUploadResult + ? t( + null, + i.extend(n.InitiateMultipartUploadResult, { statusCode: n.statusCode, headers: n.headers }), + ) + : void t(null, n); + }, + ); + }, + e.onHashProgress, + ); + }, + multipartUpload: function (e, t) { + var n = this; + i.getFileSize('multipartUpload', e, function () { + var r = e.tracker, + o = n.options.UploadCheckContentMd5; + o && r && r.setParams({ md5StartTime: new Date().getTime() }), + i.getBodyMd5(o, e.Body, function (a) { + a && (e.Headers['Content-MD5'] = i.b64(a)), + o && r && r.setParams({ md5EndTime: new Date().getTime() }), + r && r.setParams({ partNumber: e.PartNumber }), + f.call( + n, + { + Action: 'name/cos:UploadPart', + TaskId: e.TaskId, + method: 'PUT', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + qs: { partNumber: e.PartNumber, uploadId: e.UploadId }, + headers: e.Headers, + onProgress: e.onProgress, + body: e.Body || null, + tracker: r, + }, + function (e, n) { + if (e) return r && r.parent && r.parent.setParams({ errorNode: 'multipartUpload' }), t(e); + t(null, { ETag: i.attr(n.headers, 'etag', ''), statusCode: n.statusCode, headers: n.headers }); + }, + ); + }); + }); + }, + multipartComplete: function (e, t) { + for (var n = this, r = e.UploadId, o = e.Parts, a = e.tracker, s = 0, c = o.length; s < c; s++) + (o[s].ETag && 0 === o[s].ETag.indexOf('"')) || (o[s].ETag = '"' + o[s].ETag + '"'); + var l = i.json2xml({ CompleteMultipartUpload: { Part: o } }); + l = l.replace(/\n\s*/g, ''); + var d = e.Headers; + (d['Content-Type'] = 'application/xml'), + (d['Content-MD5'] = i.b64(i.md5(l))), + f.call( + this, + { + Action: 'name/cos:CompleteMultipartUpload', + method: 'POST', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + qs: { uploadId: r }, + body: l, + headers: d, + tracker: a, + }, + function (r, o) { + if (r) return a && a.parent && a.parent.setParams({ errorNode: 'multipartComplete' }), t(r); + var s = u({ + ForcePathStyle: n.options.ForcePathStyle, + protocol: n.options.Protocol, + domain: n.options.Domain, + bucket: e.Bucket, + region: e.Region, + object: e.Key, + isLocation: !0, + }), + c = o.CompleteMultipartUploadResult || {}; + c.ProcessResults && + c && + c.ProcessResults && + ((c.UploadResult = { + OriginalInfo: { Key: c.Key, Location: s, ETag: c.ETag, ImageInfo: c.ImageInfo }, + ProcessResults: c.ProcessResults, + }), + delete c.ImageInfo, + delete c.ProcessResults); + var l = i.extend(c, { Location: s, statusCode: o.statusCode, headers: o.headers }); + t(null, l); + }, + ); + }, + multipartList: function (e, t) { + var n = {}; + (n.delimiter = e.Delimiter), + (n['encoding-type'] = e.EncodingType), + (n.prefix = e.Prefix || ''), + (n['max-uploads'] = e.MaxUploads), + (n['key-marker'] = e.KeyMarker), + (n['upload-id-marker'] = e.UploadIdMarker), + (n = i.clearKey(n)); + var r = e.tracker; + r && r.setParams({ signStartTime: new Date().getTime() }), + f.call( + this, + { + Action: 'name/cos:ListMultipartUploads', + ResourceKey: n.prefix, + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + headers: e.Headers, + qs: n, + action: 'uploads', + tracker: r, + }, + function (e, n) { + if (e) return r && r.parent && r.parent.setParams({ errorNode: 'multipartList' }), t(e); + if (n && n.ListMultipartUploadsResult) { + var o = n.ListMultipartUploadsResult.Upload || []; + (o = i.isArray(o) ? o : [o]), (n.ListMultipartUploadsResult.Upload = o); + } + var a = i.clone(n.ListMultipartUploadsResult || {}); + i.extend(a, { statusCode: n.statusCode, headers: n.headers }), t(null, a); + }, + ); + }, + multipartListPart: function (e, t) { + var n = {}, + r = e.tracker; + (n.uploadId = e.UploadId), + (n['encoding-type'] = e.EncodingType), + (n['max-parts'] = e.MaxParts), + (n['part-number-marker'] = e.PartNumberMarker), + f.call( + this, + { + Action: 'name/cos:ListParts', + method: 'GET', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + headers: e.Headers, + qs: n, + }, + function (e, n) { + if (e) return r && r.parent && r.parent.setParams({ errorNode: 'multipartListPart' }), t(e); + var o = n.ListPartsResult || {}, + a = o.Part || []; + (a = i.isArray(a) ? a : [a]), (o.Part = a); + var s = i.clone(o); + i.extend(s, { statusCode: n.statusCode, headers: n.headers }), t(null, s); + }, + ); + }, + multipartAbort: function (e, t) { + var n = {}; + (n.uploadId = e.UploadId), + f.call( + this, + { + Action: 'name/cos:AbortMultipartUpload', + method: 'DELETE', + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + headers: e.Headers, + qs: n, + }, + function (e, n) { + if (e) return t(e); + t(null, { statusCode: n.statusCode, headers: n.headers }); + }, + ); + }, + request: function (e, t) { + f.call( + this, + { + method: e.Method, + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + action: e.Action, + headers: e.Headers, + qs: e.Query, + body: e.Body, + Url: e.Url, + rawBody: e.RawBody, + DataType: e.DataType, + }, + function (e, n) { + if (e) return t(e); + n && n.body && ((n.Body = n.body), delete n.body), t(e, n); + }, + ); + }, + getObjectUrl: function (e, t) { + var n = this, + r = void 0 === e.UseAccelerate ? n.options.UseAccelerate : e.UseAccelerate, + o = u({ + ForcePathStyle: n.options.ForcePathStyle, + protocol: e.Protocol || n.options.Protocol, + domain: e.Domain || n.options.Domain, + bucket: e.Bucket, + region: r ? 'accelerate' : e.Region, + object: e.Key, + }), + a = ''; + e.Query && (a += i.obj2str(e.Query)), e.QueryString && (a += (a ? '&' : '') + e.QueryString); + var s = o; + if (void 0 !== e.Sign && !e.Sign) return a && (s += '?' + a), t(null, { Url: s }), s; + var c = l.call(this, { Bucket: e.Bucket, Region: e.Region, UseAccelerate: e.UseAccelerate, Url: o }), + p = d.call( + this, + { + Action: 'PUT' === (e.Method || '').toUpperCase() ? 'name/cos:PutObject' : 'name/cos:GetObject', + Bucket: e.Bucket || '', + Region: e.Region || '', + Method: e.Method || 'get', + Key: e.Key, + Expires: e.Expires, + Headers: e.Headers, + Query: e.Query, + SignHost: c, + ForceSignHost: !1 !== e.ForceSignHost && n.options.ForceSignHost, + }, + function (e, n) { + if (t) + if (e) t(e); + else { + var r = o; + (r += + '?' + + (n.Authorization.indexOf('q-signature') > -1 + ? (function (e) { + var t = e.match(/q-url-param-list.*?(?=&)/g)[0], + n = + 'q-url-param-list=' + + encodeURIComponent(t.replace(/q-url-param-list=/, '')).toLowerCase(), + r = new RegExp(t, 'g'); + return e.replace(r, n); + })(n.Authorization) + : 'sign=' + encodeURIComponent(n.Authorization))), + n.SecurityToken && (r += '&x-cos-security-token=' + n.SecurityToken), + n.ClientIP && (r += '&clientIP=' + n.ClientIP), + n.ClientUA && (r += '&clientUA=' + n.ClientUA), + n.Token && (r += '&token=' + n.Token), + a && (r += '&' + a), + setTimeout(function () { + t(null, { Url: r }); + }); + } + }, + ); + return ( + p + ? ((s += '?' + p.Authorization + (p.SecurityToken ? '&x-cos-security-token=' + p.SecurityToken : '')), + a && (s += '&' + a)) + : a && (s += '?' + a), + s + ); + }, + getAuth: function (e) { + return i.getAuth({ + SecretId: e.SecretId || this.options.SecretId || '', + SecretKey: e.SecretKey || this.options.SecretKey || '', + Bucket: e.Bucket, + Region: e.Region, + Method: e.Method, + Key: e.Key, + Query: e.Query, + Headers: e.Headers, + Expires: e.Expires, + UseRawKey: this.options.UseRawKey, + SystemClockOffset: this.options.SystemClockOffset, + }); + }, + }; + e.exports.init = function (e, t) { + t.transferToTaskMethod(m, 'putObject'), + i.each(m, function (t, n) { + (e.prototype[n] = i.apiWrapper(n, t)), + (function (e, t, n) { + i.each(['Cors', 'Acl'], function (r) { + if (e.slice(-r.length) === r) { + var o = e.slice(0, -r.length) + r.toUpperCase(), + a = i.apiWrapper(e, t); + n[o] = function () { + a.apply(this, arguments); + }; + } + }); + })(n, t, e.prototype); + }); + }; + }, + function (e, t, n) { + var r = n(0), + o = function (e) { + switch (r(e)) { + case 'string': + return e; + case 'boolean': + return e ? 'true' : 'false'; + case 'number': + return isFinite(e) ? e : ''; + default: + return ''; + } + }, + i = function (e, t, n) { + var r = {}; + return ( + t + .getAllResponseHeaders() + .trim() + .split('\n') + .forEach(function (e) { + if (e) { + var t = e.indexOf(':'), + n = e.substr(0, t).trim().toLowerCase(), + o = e.substr(t + 1).trim(); + r[n] = o; + } + }), + { error: e, statusCode: t.status, statusMessage: t.statusText, headers: r, body: n } + ); + }, + a = function (e, t) { + return t || 'text' !== t ? e.response : e.responseText; + }; + e.exports = function (e, t) { + var n, + s, + c, + u, + l = (e.method || 'GET').toUpperCase(), + d = e.url; + if (e.qs) { + var p = + ((n = e.qs), + (s = s || '&'), + (c = c || '='), + null === n && (n = void 0), + 'object' === r(n) + ? Object.keys(n) + .map(function (e) { + var t = encodeURIComponent(o(e)) + c; + return Array.isArray(n[e]) + ? n[e] + .map(function (e) { + return t + encodeURIComponent(o(e)); + }) + .join(s) + : t + encodeURIComponent(o(n[e])); + }) + .filter(Boolean) + .join(s) + : u + ? encodeURIComponent(o(u)) + c + encodeURIComponent(o(n)) + : ''); + p && (d += (-1 === d.indexOf('?') ? '?' : '&') + p); + } + var f = new XMLHttpRequest(); + if ((f.open(l, d, !0), (f.responseType = e.dataType || 'text'), e.xhrFields)) + for (var h in e.xhrFields) f[h] = e.xhrFields[h]; + var m = e.headers; + if (m) + for (var g in m) + m.hasOwnProperty(g) && + 'content-length' !== g.toLowerCase() && + 'user-agent' !== g.toLowerCase() && + 'origin' !== g.toLowerCase() && + 'host' !== g.toLowerCase() && + f.setRequestHeader(g, m[g]); + return ( + e.onProgress && f.upload && (f.upload.onprogress = e.onProgress), + e.onDownloadProgress && (f.onprogress = e.onDownloadProgress), + e.timeout && (f.timeout = e.timeout), + (f.ontimeout = function (e) { + var n = new Error('timeout'); + t(i(n, f)); + }), + (f.onload = function () { + t(i(null, f, a(f, e.dataType))); + }), + (f.onerror = function (n) { + var r = a(f, e.dataType); + if (r) t(i(null, f, r)); + else { + var o = f.statusText; + o || 0 !== f.status || (o = new Error('CORS blocked or network error')), t(i(o, f, r)); + } + }), + f.send(e.body || ''), + f + ); + }; + }, + function (e, t, n) { + var r = n(0), + o = n(9), + i = n(30), + a = n(8).EventProxy, + s = n(1), + c = n(6); + function u(e, t) { + var n = e.TaskId, + r = e.Bucket, + c = e.Region, + u = e.Key, + p = e.StorageClass, + f = this, + h = {}, + m = e.FileSize, + g = e.SliceSize, + y = Math.ceil(m / g), + v = 0, + C = s.throttleOnProgress.call(f, m, e.onHashProgress), + k = function (t, n) { + var r = t.length; + if (0 === r) return n(null, !0); + if (r > y) return n(null, !1); + if (r > 1 && Math.max(t[0].Size, t[1].Size) !== g) return n(null, !1); + !(function o(i) { + if (i < r) { + var a = t[i]; + !(function (t, n) { + var r = g * (t - 1), + o = Math.min(r + g, m), + i = o - r; + h[t] + ? n(null, { PartNumber: t, ETag: h[t], Size: i }) + : s.fileSlice(e.Body, r, o, !1, function (e) { + s.getFileMd5(e, function (e, r) { + if (e) return n(s.error(e)); + var o = '"' + r + '"'; + (h[t] = o), + 1, + C({ loaded: (v += i), total: m }), + n(null, { PartNumber: t, ETag: o, Size: i }); + }); + }); + })(a.PartNumber, function (e, t) { + t && t.ETag === a.ETag && t.Size === a.Size ? o(i + 1) : n(null, !1); + }); + } else n(null, !0); + })(0); + }, + S = new a(); + S.on('error', function (e) { + if (f._isRunningTask(n)) return t(e); + }), + S.on('upload_id_available', function (e) { + var n = {}, + r = []; + s.each(e.PartList, function (e) { + n[e.PartNumber] = e; + }); + for (var o = 1; o <= y; o++) { + var i = n[o]; + i ? ((i.PartNumber = o), (i.Uploaded = !0)) : (i = { PartNumber: o, ETag: null, Uploaded: !1 }), + r.push(i); + } + (e.PartList = r), t(null, e); + }), + S.on('no_available_upload_id', function () { + if (f._isRunningTask(n)) { + var o = s.extend( + { + Bucket: r, + Region: c, + Key: u, + Query: s.clone(e.Query), + StorageClass: p, + Body: e.Body, + calledBySdk: 'sliceUploadFile', + tracker: e.tracker, + }, + e, + ), + i = s.clone(e.Headers); + delete i['x-cos-mime-limit'], + (o.Headers = i), + f.multipartInit(o, function (e, r) { + if (f._isRunningTask(n)) { + if (e) return S.emit('error', e); + var o = r.UploadId; + if (!o) return t(s.error(new Error('no such upload id'))); + S.emit('upload_id_available', { UploadId: o, PartList: [] }); + } + }); + } + }), + S.on('has_and_check_upload_id', function (t) { + (t = t.reverse()), + i.eachLimit( + t, + 1, + function (t, i) { + f._isRunningTask(n) && + (o.using[t] + ? i() + : d.call(f, { Bucket: r, Region: c, Key: u, UploadId: t, tracker: e.tracker }, function (e, r) { + if (f._isRunningTask(n)) { + if (e) return o.removeUsing(t), S.emit('error', e); + var a = r.PartList; + a.forEach(function (e) { + (e.PartNumber *= 1), (e.Size *= 1), (e.ETag = e.ETag || ''); + }), + k(a, function (e, r) { + if (f._isRunningTask(n)) + return e ? S.emit('error', e) : void (r ? i({ UploadId: t, PartList: a }) : i()); + }); + } + })); + }, + function (e) { + f._isRunningTask(n) && + (C(null, !0), + e && e.UploadId ? S.emit('upload_id_available', e) : S.emit('no_available_upload_id')); + }, + ); + }), + S.on('seek_local_avail_upload_id', function (t) { + var i = o.getFileId(e.Body, e.ChunkSize, r, u), + a = o.getUploadIdList.call(f, i); + if (i && a) { + !(function i(l) { + if (l >= a.length) S.emit('has_and_check_upload_id', t); + else { + var p = a[l]; + if (!s.isInArray(t, p)) return o.removeUploadId.call(f, p), void i(l + 1); + o.using[p] + ? i(l + 1) + : d.call(f, { Bucket: r, Region: c, Key: u, UploadId: p, tracker: e.tracker }, function (e, t) { + f._isRunningTask(n) && + (e + ? (o.removeUploadId.call(f, p), i(l + 1)) + : S.emit('upload_id_available', { UploadId: p, PartList: t.PartList })); + }); + } + })(0); + } else S.emit('has_and_check_upload_id', t); + }), + S.on('get_remote_upload_id_list', function () { + l.call(f, { Bucket: r, Region: c, Key: u, tracker: e.tracker }, function (t, i) { + if (f._isRunningTask(n)) { + if (t) return S.emit('error', t); + var a = s + .filter(i.UploadList, function (e) { + return e.Key === u && (!p || e.StorageClass.toUpperCase() === p.toUpperCase()); + }) + .reverse() + .map(function (e) { + return e.UploadId || e.UploadID; + }); + if (a.length) S.emit('seek_local_avail_upload_id', a); + else { + var c, + l = o.getFileId(e.Body, e.ChunkSize, r, u); + l && + (c = o.getUploadIdList.call(f, l)) && + s.each(c, function (e) { + o.removeUploadId.call(f, e); + }), + S.emit('no_available_upload_id'); + } + } + }); + }), + S.emit('get_remote_upload_id_list'); + } + function l(e, t) { + var n = this, + r = [], + o = { + Bucket: e.Bucket, + Region: e.Region, + Prefix: e.Key, + calledBySdk: e.calledBySdk || 'sliceUploadFile', + tracker: e.tracker, + }; + !(function e() { + n.multipartList(o, function (n, i) { + if (n) return t(n); + r.push.apply(r, i.Upload || []), + 'true' === i.IsTruncated + ? ((o.KeyMarker = i.NextKeyMarker), (o.UploadIdMarker = i.NextUploadIdMarker), e()) + : t(null, { UploadList: r }); + }); + })(); + } + function d(e, t) { + var n = this, + r = [], + o = { + Bucket: e.Bucket, + Region: e.Region, + Key: e.Key, + UploadId: e.UploadId, + calledBySdk: 'sliceUploadFile', + tracker: e.tracker, + }; + !(function e() { + n.multipartListPart(o, function (n, i) { + if (n) return t(n); + r.push.apply(r, i.Part || []), + 'true' === i.IsTruncated + ? ((o.PartNumberMarker = i.NextPartNumberMarker), e()) + : t(null, { PartList: r }); + }); + })(); + } + function p(e, t) { + var n = this, + r = e.TaskId, + o = e.Bucket, + a = e.Region, + c = e.Key, + u = e.UploadData, + l = e.FileSize, + d = e.SliceSize, + p = Math.min(e.AsyncLimit || n.options.ChunkParallelLimit || 1, 256), + h = e.Body, + m = Math.ceil(l / d), + g = 0, + y = e.ServerSideEncryption, + v = e.Headers, + C = s.filter(u.PartList, function (e) { + return e.Uploaded && (g += (e.PartNumber >= m && l % d) || d), !e.Uploaded; + }), + k = e.onProgress; + i.eachLimit( + C, + p, + function (t, i) { + if (n._isRunningTask(r)) { + var s = t.PartNumber, + p = Math.min(l, t.PartNumber * d) - (t.PartNumber - 1) * d, + m = 0; + f.call( + n, + { + TaskId: r, + Bucket: o, + Region: a, + Key: c, + SliceSize: d, + FileSize: l, + PartNumber: s, + ServerSideEncryption: y, + Body: h, + UploadData: u, + Headers: v, + onProgress: function (e) { + (g += e.loaded - m), (m = e.loaded), k({ loaded: g, total: l }); + }, + tracker: e.tracker, + }, + function (e, o) { + n._isRunningTask(r) && + (e || + o.ETag || + (e = + 'get ETag error, please add "ETag" to CORS ExposeHeader setting.( 获取ETag失败,请在CORS ExposeHeader设置中添加ETag,请参考文档:https://cloud.tencent.com/document/product/436/13318 )'), + e ? (g -= m) : ((g += p - m), (t.ETag = o.ETag)), + k({ loaded: g, total: l }), + i(e || null, o)); + }, + ); + } + }, + function (e) { + if (n._isRunningTask(r)) return e ? t(e) : void t(null, { UploadId: u.UploadId, SliceList: u.PartList }); + }, + ); + } + function f(e, t) { + var n = this, + r = e.TaskId, + o = e.Bucket, + a = e.Region, + c = e.Key, + u = e.FileSize, + l = e.Body, + d = 1 * e.PartNumber, + p = e.SliceSize, + f = e.ServerSideEncryption, + h = e.UploadData, + m = e.Headers || {}, + g = n.options.ChunkRetryTimes + 1, + y = p * (d - 1), + v = p, + C = y + p; + C > u && (v = (C = u) - y); + var k = ['x-cos-traffic-limit', 'x-cos-mime-limit'], + S = {}; + s.each(m, function (e, t) { + k.indexOf(t) > -1 && (S[t] = e); + }); + var b = h.PartList[d - 1]; + i.retry( + g, + function (t) { + n._isRunningTask(r) && + s.fileSlice(l, y, C, !0, function (i) { + n.multipartUpload( + { + TaskId: r, + Bucket: o, + Region: a, + Key: c, + ContentLength: v, + PartNumber: d, + UploadId: h.UploadId, + ServerSideEncryption: f, + Body: i, + Headers: S, + onProgress: e.onProgress, + calledBySdk: 'sliceUploadFile', + tracker: e.tracker, + }, + function (e, o) { + if (n._isRunningTask(r)) return e ? t(e) : ((b.Uploaded = !0), t(null, o)); + }, + ); + }); + }, + function (e, o) { + if (n._isRunningTask(r)) return t(e, o); + }, + ); + } + function h(e, t) { + var n = e.Bucket, + r = e.Region, + o = e.Key, + a = e.UploadId, + s = e.SliceList, + c = this, + u = this.options.ChunkRetryTimes + 1, + l = e.Headers, + d = s.map(function (e) { + return { PartNumber: e.PartNumber, ETag: e.ETag }; + }); + i.retry( + u, + function (t) { + c.multipartComplete( + { + Bucket: n, + Region: r, + Key: o, + UploadId: a, + Parts: d, + Headers: l, + calledBySdk: 'sliceUploadFile', + tracker: e.tracker, + }, + t, + ); + }, + function (e, n) { + t(e, n); + }, + ); + } + function m(e, t) { + var n = e.Bucket, + r = e.Region, + o = e.Key, + a = e.AbortArray, + s = e.AsyncLimit || 1, + c = this, + u = 0, + l = new Array(a.length); + i.eachLimit( + a, + s, + function (t, i) { + var a = u; + if (o && o !== t.Key) return (l[a] = { error: { KeyNotMatch: !0 } }), void i(null); + var s = t.UploadId || t.UploadID; + c.multipartAbort({ Bucket: n, Region: r, Key: t.Key, Headers: e.Headers, UploadId: s }, function (e) { + var o = { Bucket: n, Region: r, Key: t.Key, UploadId: s }; + (l[a] = { error: e, task: o }), i(null); + }), + u++; + }, + function (e) { + if (e) return t(e); + for (var n = [], r = [], o = 0, i = l.length; o < i; o++) { + var a = l[o]; + a.task && (a.error ? r.push(a.task) : n.push(a.task)); + } + return t(null, { successList: n, errorList: r }); + }, + ); + } + function g(e, t) { + var n = e.TaskId, + r = e.Bucket, + o = e.Region, + a = e.Key, + s = e.CopySource, + c = e.UploadId, + u = 1 * e.PartNumber, + l = e.CopySourceRange, + d = this.options.ChunkRetryTimes + 1, + p = this; + i.retry( + d, + function (e) { + p.uploadPartCopy( + { + TaskId: n, + Bucket: r, + Region: o, + Key: a, + CopySource: s, + UploadId: c, + PartNumber: u, + CopySourceRange: l, + }, + function (t, n) { + e(t || null, n); + }, + ); + }, + function (e, n) { + return t(e, n); + }, + ); + } + var y = { + sliceUploadFile: function (e, t) { + var n, + r, + i = this, + c = new a(), + l = e.TaskId, + d = e.Bucket, + f = e.Region, + m = e.Key, + g = e.Body, + y = e.ChunkSize || e.SliceSize || i.options.ChunkSize, + v = e.AsyncLimit, + C = e.StorageClass, + k = e.ServerSideEncryption, + S = e.onHashProgress, + b = e.tracker; + b && b.setParams({ chunkSize: y }), + c.on('error', function (n) { + if (i._isRunningTask(l)) return (n.UploadId = e.UploadData.UploadId || ''), t(n); + }), + c.on('upload_complete', function (n) { + var r = s.extend({ UploadId: e.UploadData.UploadId || '' }, n); + t(null, r); + }), + c.on('upload_slice_complete', function (t) { + var a = {}; + s.each(e.Headers, function (e, t) { + var n = t.toLowerCase(); + (0 !== n.indexOf('x-cos-meta-') && 'pic-operations' !== n) || (a[t] = e); + }), + h.call( + i, + { + Bucket: d, + Region: f, + Key: m, + UploadId: t.UploadId, + SliceList: t.SliceList, + Headers: a, + tracker: b, + }, + function (e, a) { + if (i._isRunningTask(l)) { + if ((o.removeUsing(t.UploadId), e)) return r(null, !0), c.emit('error', e); + o.removeUploadId.call(i, t.UploadId), + r({ loaded: n, total: n }, !0), + c.emit('upload_complete', a); + } + }, + ); + }), + c.on('get_upload_data_finish', function (t) { + var a = o.getFileId(g, e.ChunkSize, d, m); + a && o.saveUploadId.call(i, a, t.UploadId, i.options.UploadIdCacheLimit), + o.setUsing(t.UploadId), + r(null, !0), + p.call( + i, + { + TaskId: l, + Bucket: d, + Region: f, + Key: m, + Body: g, + FileSize: n, + SliceSize: y, + AsyncLimit: v, + ServerSideEncryption: k, + UploadData: t, + Headers: e.Headers, + onProgress: r, + tracker: b, + }, + function (e, t) { + if (i._isRunningTask(l)) + return e ? (r(null, !0), c.emit('error', e)) : void c.emit('upload_slice_complete', t); + }, + ); + }), + c.on('get_file_size_finish', function () { + if (((r = s.throttleOnProgress.call(i, n, e.onProgress)), e.UploadData.UploadId)) + c.emit('get_upload_data_finish', e.UploadData); + else { + var t = s.extend( + { + TaskId: l, + Bucket: d, + Region: f, + Key: m, + Headers: e.Headers, + StorageClass: C, + Body: g, + FileSize: n, + SliceSize: y, + onHashProgress: S, + tracker: b, + }, + e, + ); + u.call(i, t, function (t, n) { + if (i._isRunningTask(l)) { + if (t) return c.emit('error', t); + (e.UploadData.UploadId = n.UploadId), + (e.UploadData.PartList = n.PartList), + c.emit('get_upload_data_finish', e.UploadData); + } + }); + } + }), + (n = e.ContentLength), + delete e.ContentLength, + !e.Headers && (e.Headers = {}), + s.each(e.Headers, function (t, n) { + 'content-length' === n.toLowerCase() && delete e.Headers[n]; + }), + (function () { + for ( + var t = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 5120], r = 1048576, o = 0; + o < t.length && !(n / (r = 1024 * t[o] * 1024) <= i.options.MaxPartNumber); + o++ + ); + e.ChunkSize = e.SliceSize = y = Math.max(y, r); + })(), + 0 === n + ? ((e.Body = ''), (e.ContentLength = 0), (e.SkipTask = !0), i.putObject(e, t)) + : c.emit('get_file_size_finish'); + }, + abortUploadTask: function (e, t) { + var n = e.Bucket, + r = e.Region, + o = e.Key, + i = e.UploadId, + c = e.Level || 'task', + u = e.AsyncLimit, + d = this, + p = new a(); + if ( + (p.on('error', function (e) { + return t(e); + }), + p.on('get_abort_array', function (i) { + m.call(d, { Bucket: n, Region: r, Key: o, Headers: e.Headers, AsyncLimit: u, AbortArray: i }, t); + }), + 'bucket' === c) + ) + l.call(d, { Bucket: n, Region: r, calledBySdk: 'abortUploadTask' }, function (e, n) { + if (e) return t(e); + p.emit('get_abort_array', n.UploadList || []); + }); + else if ('file' === c) { + if (!o) return t(s.error(new Error('abort_upload_task_no_key'))); + l.call(d, { Bucket: n, Region: r, Key: o, calledBySdk: 'abortUploadTask' }, function (e, n) { + if (e) return t(e); + p.emit('get_abort_array', n.UploadList || []); + }); + } else { + if ('task' !== c) return t(s.error(new Error('abort_unknown_level'))); + if (!i) return t(s.error(new Error('abort_upload_task_no_id'))); + if (!o) return t(s.error(new Error('abort_upload_task_no_key'))); + p.emit('get_abort_array', [{ Key: o, UploadId: i }]); + } + }, + uploadFile: function (e, t) { + var n = this, + o = void 0 === e.SliceSize ? n.options.SliceSize : e.SliceSize, + i = [], + a = e.Body, + u = a.size || a.length || 0, + l = { TaskId: '' }; + if (n.options.EnableTracker) { + var d = + n.options.UseAccelerate || + ('string' == typeof n.options.Domain && n.options.Domain.includes('accelerate.')); + e.tracker = new c({ + bucket: e.Bucket, + region: e.Region, + apiName: 'uploadFile', + fileKey: e.Key, + fileSize: u, + accelerate: d, + deepTracker: n.options.DeepTracker, + customId: n.options.CustomId, + delay: n.options.TrackerDelay, + }); + } + s.each(e, function (e, t) { + 'object' !== r(e) && 'function' != typeof e && (l[t] = e); + }); + var p = e.onTaskReady; + e.onTaskReady = function (e) { + (l.TaskId = e), p && p(e); + }; + var f = u > o ? 'sliceUploadFile' : 'putObject', + h = e.onFileFinish; + i.push({ + api: f, + params: e, + callback: function (n, r) { + e.tracker && e.tracker.formatResult(n, r), h && h(n, r, l), t && t(n, r); + }, + }), + n._addTasks(i); + }, + uploadFiles: function (e, t) { + var n = this, + o = void 0 === e.SliceSize ? n.options.SliceSize : e.SliceSize, + i = 0, + a = 0, + u = s.throttleOnProgress.call(n, a, e.onProgress), + l = e.files.length, + d = e.onFileFinish, + p = Array(l), + f = function (e, n, r) { + u(null, !0), + d && d(e, n, r), + (p[r.Index] = { options: r, error: e, data: n }), + --l <= 0 && t && t(null, { files: p }); + }, + h = []; + s.each(e.files, function (e, t) { + !(function () { + var l = e.Body, + d = l.size || l.length || 0, + p = { Index: t, TaskId: '' }; + if ( + (!n.options.UseRawKey && e.Key && '/' === e.Key.substr(0, 1) && (e.Key = e.Key.substr(1)), + (i += d), + n.options.EnableTracker) + ) { + var m = + n.options.UseAccelerate || + ('string' == typeof n.options.Domain && n.options.Domain.includes('accelerate.')); + e.tracker = new c({ + bucket: e.Bucket, + region: e.Region, + apiName: 'uploadFiles', + fileKey: e.Key, + fileSize: d, + accelerate: m, + deepTracker: n.options.DeepTracker, + customId: n.options.CustomId, + delay: n.options.TrackerDelay, + }); + } + s.each(e, function (e, t) { + 'object' !== r(e) && 'function' != typeof e && (p[t] = e); + }); + var g = e.onTaskReady; + e.onTaskReady = function (e) { + (p.TaskId = e), g && g(e); + }; + var y = 0, + v = e.onProgress; + e.onProgress = function (e) { + (a = a - y + e.loaded), (y = e.loaded), v && v(e), u({ loaded: a, total: i }); + }; + var C = d > o ? 'sliceUploadFile' : 'putObject', + k = e.onFileFinish; + h.push({ + api: C, + params: e, + callback: function (t, n) { + e.tracker && e.tracker.formatResult(t, n), k && k(t, n), f && f(t, n, p); + }, + }); + })(); + }), + n._addTasks(h); + }, + sliceCopyFile: function (e, t) { + var n = new a(), + r = this, + c = e.Bucket, + u = e.Region, + l = e.Key, + p = e.CopySource, + f = s.getSourceParams.call(this, p); + if (f) { + var h = f.Bucket, + m = f.Region, + y = decodeURIComponent(f.Key), + v = void 0 === e.CopySliceSize ? r.options.CopySliceSize : e.CopySliceSize; + v = Math.max(0, v); + var C, + k, + S = e.CopyChunkSize || this.options.CopyChunkSize, + b = this.options.CopyChunkParallelLimit, + T = this.options.ChunkRetryTimes + 1, + R = 0, + E = 0, + w = {}, + A = {}, + x = {}; + n.on('copy_slice_complete', function (n) { + var a = {}; + s.each(e.Headers, function (e, t) { + 0 === t.toLowerCase().indexOf('x-cos-meta-') && (a[t] = e); + }); + var d = s.map(n.PartList, function (e) { + return { PartNumber: e.PartNumber, ETag: e.ETag }; + }); + i.retry( + T, + function (e) { + r.multipartComplete( + { Bucket: c, Region: u, Key: l, UploadId: n.UploadId, Parts: d, calledBySdk: 'sliceCopyFile' }, + e, + ); + }, + function (e, r) { + if ((o.removeUsing(n.UploadId), e)) return k(null, !0), t(e); + o.removeUploadId(n.UploadId), k({ loaded: C, total: C }, !0), t(null, r); + }, + ); + }), + n.on('get_copy_data_finish', function (e) { + var a = o.getCopyFileId(p, w, S, c, l); + a && o.saveUploadId(a, e.UploadId, r.options.UploadIdCacheLimit), o.setUsing(e.UploadId); + var d = s.filter(e.PartList, function (e) { + return e.Uploaded && (E += (e.PartNumber >= R && C % S) || S), !e.Uploaded; + }); + i.eachLimit( + d, + b, + function (t, n) { + var o = t.PartNumber, + a = t.CopySourceRange, + s = t.end - t.start; + i.retry( + T, + function (t) { + g.call( + r, + { + Bucket: c, + Region: u, + Key: l, + CopySource: p, + UploadId: e.UploadId, + PartNumber: o, + CopySourceRange: a, + }, + t, + ); + }, + function (e, r) { + if (e) return n(e); + k({ loaded: (E += s), total: C }), (t.ETag = r.ETag), n(e || null, r); + }, + ); + }, + function (r) { + if (r) return o.removeUsing(e.UploadId), k(null, !0), t(r); + n.emit('copy_slice_complete', e); + }, + ); + }), + n.on('get_chunk_size_finish', function () { + var i = function () { + r.multipartInit({ Bucket: c, Region: u, Key: l, Headers: x }, function (r, o) { + if (r) return t(r); + (e.UploadId = o.UploadId), + n.emit('get_copy_data_finish', { UploadId: e.UploadId, PartList: e.PartList }); + }); + }, + a = o.getCopyFileId(p, w, S, c, l), + f = o.getUploadIdList(a); + if (!a || !f) return i(); + !(function t(a) { + if (a >= f.length) return i(); + var p = f[a]; + if (o.using[p]) return t(a + 1); + d.call(r, { Bucket: c, Region: u, Key: l, UploadId: p }, function (r, i) { + if (r) o.removeUploadId(p), t(a + 1); + else { + if (o.using[p]) return t(a + 1); + var c = {}, + u = 0; + s.each(i.PartList, function (e) { + var t = parseInt(e.Size), + n = u + t - 1; + (c[e.PartNumber + '|' + u + '|' + n] = e.ETag), (u += t); + }), + s.each(e.PartList, function (e) { + var t = c[e.PartNumber + '|' + e.start + '|' + e.end]; + t && ((e.ETag = t), (e.Uploaded = !0)); + }), + n.emit('get_copy_data_finish', { UploadId: p, PartList: e.PartList }); + } + }); + })(0); + }), + n.on('get_file_size_finish', function () { + if ( + ((function () { + for ( + var t = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 5120], n = 1048576, o = 0; + o < t.length && !(C / (n = 1024 * t[o] * 1024) <= r.options.MaxPartNumber); + o++ + ); + (e.ChunkSize = S = Math.max(S, n)), (R = Math.ceil(C / S)); + for (var i = [], a = 1; a <= R; a++) { + var s = (a - 1) * S, + c = a * S < C ? a * S - 1 : C - 1, + u = { PartNumber: a, start: s, end: c, CopySourceRange: 'bytes=' + s + '-' + c }; + i.push(u); + } + e.PartList = i; + })(), + ((x = 'Replaced' === e.Headers['x-cos-metadata-directive'] ? e.Headers : A)['x-cos-storage-class'] = + e.Headers['x-cos-storage-class'] || A['x-cos-storage-class']), + (x = s.clearKey(x)), + 'ARCHIVE' === A['x-cos-storage-class'] || 'DEEP_ARCHIVE' === A['x-cos-storage-class']) + ) { + var o = A['x-cos-restore']; + if (!o || 'ongoing-request="true"' === o) + return void t(s.error(new Error('Unrestored archive object is not allowed to be copied'))); + } + delete x['x-cos-copy-source'], + delete x['x-cos-metadata-directive'], + delete x['x-cos-copy-source-If-Modified-Since'], + delete x['x-cos-copy-source-If-Unmodified-Since'], + delete x['x-cos-copy-source-If-Match'], + delete x['x-cos-copy-source-If-None-Match'], + n.emit('get_chunk_size_finish'); + }), + r.headObject({ Bucket: h, Region: m, Key: y }, function (o, i) { + if (o) o.statusCode && 404 === o.statusCode ? t(s.error(o, { ErrorStatus: y + ' Not Exist' })) : t(o); + else if (void 0 !== (C = e.FileSize = i.headers['content-length']) && C) + if (((k = s.throttleOnProgress.call(r, C, e.onProgress)), C <= v)) + e.Headers['x-cos-metadata-directive'] || (e.Headers['x-cos-metadata-directive'] = 'Copy'), + r.putObjectCopy(e, function (e, n) { + if (e) return k(null, !0), t(e); + k({ loaded: C, total: C }, !0), t(e, n); + }); + else { + var a = i.headers; + (w = a), + (A = { + 'Cache-Control': a['cache-control'], + 'Content-Disposition': a['content-disposition'], + 'Content-Encoding': a['content-encoding'], + 'Content-Type': a['content-type'], + Expires: a.expires, + 'x-cos-storage-class': a['x-cos-storage-class'], + }), + s.each(a, function (e, t) { + var n = 'x-cos-meta-'; + 0 === t.indexOf(n) && t.length > 11 && (A[t] = e); + }), + n.emit('get_file_size_finish'); + } + else + t( + s.error( + new Error( + 'get Content-Length error, please add "Content-Length" to CORS ExposeHeader setting.( 获取Content-Length失败,请在CORS ExposeHeader设置中添加Content-Length,请参考文档:https://cloud.tencent.com/document/product/436/13318 )', + ), + ), + ); + }); + } else t(s.error(new Error('CopySource format error'))); + }, + }; + e.exports.init = function (e, t) { + t.transferToTaskMethod(y, 'sliceUploadFile'), + s.each(y, function (t, n) { + e.prototype[n] = s.apiWrapper(n, t); + }); + }; + }, + function (e, t) { + var n = { + eachLimit: function (e, t, n, r) { + if (((r = r || function () {}), !e.length || t <= 0)) return r(); + var o = 0, + i = 0, + a = 0; + !(function s() { + if (o >= e.length) return r(); + for (; a < t && i < e.length; ) + (a += 1), + n(e[(i += 1) - 1], function (t) { + t ? (r(t), (r = function () {})) : ((a -= 1), (o += 1) >= e.length ? r() : s()); + }); + })(); + }, + retry: function (e, t, n) { + e < 1 + ? n() + : (function r(o) { + t(function (t, i) { + t && o < e ? r(o + 1) : n(t, i); + }); + })(1); + }, + }; + e.exports = n; + }, + ]); +}); diff --git a/package.json b/package.json index fb90ddf..0fc55b3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cos-js-sdk-v5", - "version": "1.4.19", + "version": "1.4.20", "description": "JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)", "main": "dist/cos-js-sdk-v5.js", "types": "index.d.ts", diff --git a/src/advance.js b/src/advance.js index 6456079..f365504 100644 --- a/src/advance.js +++ b/src/advance.js @@ -1003,6 +1003,11 @@ function uploadFiles(params, callback) { var FileSize = Body.size || Body.length || 0; var fileInfo = { Index: index, TaskId: '' }; + // 如果 批量上传的 Key 是 / 开头,强制去掉第一个 / + if (!self.options.UseRawKey && fileParams.Key && fileParams.Key.substr(0, 1) === '/') { + fileParams.Key = fileParams.Key.substr(1); + } + // 更新文件总大小 TotalSize += FileSize;