diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb index bcfed25dd..a916f5351 100644 --- a/app/controllers/files_controller.rb +++ b/app/controllers/files_controller.rb @@ -210,6 +210,7 @@ class FilesController < ApplicationController is_unified_setting = params[:is_unified_setting] publish_time = params[:publish_time] + publish_time = format_time(Time.parse(publish_time)) unless publish_time.blank? is_public = params[:is_public] course_group_publish_times = params[:course_group_publish_times] || [] @@ -221,8 +222,10 @@ class FilesController < ApplicationController @new_attachment_history = @old_attachment.become_history @new_attachment_history.save! + old_course_second_category_id = @old_attachment.course_second_category_id @old_attachment.copy_attributes_from_new_attachment(@new_attachment) @old_attachment.is_public = is_public == true ? 1 : 0 if is_public + @old_attachment.course_second_category_id = old_course_second_category_id @old_attachment.save! @new_attachment.delete end @@ -260,12 +263,7 @@ class FilesController < ApplicationController return normal_status(-2, "该课程下没有id为 #{params[:id]}的资源") if @file.nil? return normal_status(403, "您没有权限进行该操作") if @user != @file.author && !@user.teacher_of_course?(@course) && !@file.public? - @is_pdf = false - file_content_type = @file.content_type - file_ext_type = File.extname(@file.filename).strip.downcase[1..-1] - if (file_content_type.present? && file_content_type.downcase.include?("pdf")) || (file_ext_type.present? && file_ext_type.include?("pdf")) - @is_pdf = true - end + @attachment_histories = @file.attachment_histories end diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb index 828198def..c7a598a43 100644 --- a/app/controllers/games_controller.rb +++ b/app/controllers/games_controller.rb @@ -498,44 +498,41 @@ class GamesController < ApplicationController rescue Exception => e # 思路: 异常首先应该考虑去恢复 # retry为1表示已经轮训完成后还没有解决问题,这个时候需要检测异常 - if params[:retry].to_i == 1 - begin - # 如果模板没有问题,则通过中间层检测实训仓库是否异常 - # 监测版本库HEAD是否存在,不存在则取最新的HEAD - gitUrl = repo_url @myshixun.repo_path - gitUrl = Base64.urlsafe_encode64(gitUrl) - shixun_tomcat = edu_setting('cloud_bridge') - rep_params = {:tpiID => "#{@myshixun.id}", :tpiGitURL => "#{gitUrl}"} - # 监测版本库HEAD是否存在,不存在则取最新的HEAD - uri = "#{shixun_tomcat}/bridge/game/check" - res = uri_post uri, rep_params - uid_logger("repo_content to bridge: res is #{res}") - # res值:0 表示正常;-1表示有错误;-2表示代码版本库没了 - # - if status == 0 && res - # 版本库报错,修复不了 - if res['code'] == -1 || res['code'] == -2 - begin - # GitService.delete_repository(repo_path: @myshixun.repo_path) if res['code'] == -1 - project_fork(@myshixun, @shixun.repo_path, current_user.login) - rescue Exception => e - uid_logger_error("#{e.message}") - tip_exception("#{e.message}") - end + begin + # 如果模板没有问题,则通过中间层检测实训仓库是否异常 + # 监测版本库HEAD是否存在,不存在则取最新的HEAD + gitUrl = repo_url @myshixun.repo_path + gitUrl = Base64.urlsafe_encode64(gitUrl) + shixun_tomcat = edu_setting('cloud_bridge') + rep_params = {:tpiID => "#{@myshixun.id}", :tpiGitURL => "#{gitUrl}"} + # 监测版本库HEAD是否存在,不存在则取最新的HEAD + uri = "#{shixun_tomcat}/bridge/game/check" + res = uri_post uri, rep_params + uid_logger("repo_content to bridge: res is #{res}") + # res值:0 表示正常;-1表示有错误;-2表示代码版本库没了 + # + if status == 0 && res + # 版本库报错,修复不了 + if res['code'] == -1 || res['code'] == -2 + begin + # GitService.delete_repository(repo_path: @myshixun.repo_path) if res['code'] == -1 + project_fork(@myshixun, @shixun.repo_path, current_user.login) + rescue Exception => e + uid_logger_error("#{e.message}") + tip_exception("#{e.message}") end end - rescue Exception => e - uid_logger_error(e.message) + end + rescue Exception => e + uid_logger_error(e.message) - if @myshixun.shixun.try(:status) < 2 - tip_exception("代码获取异常,请检查实训模板的评测设置是否正确") - else - # 报错继续retry - tip_exception(-3, "#{e.message}") - end + if @myshixun.shixun.try(:status) < 2 + tip_exception("代码获取异常,请检查实训模板的评测设置是否正确") + else + # 报错继续retry + tip_exception(-3, "#{e.message}") end end - # 有异常,版本库获取不到代码,前端轮训15S后,调用retry == 1 tip_exception(0, e.message) end end diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index fb999b879..c9b56bb98 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -562,6 +562,17 @@ class ShixunsController < ApplicationController commit_id = commit["id"] end + # 如果该实训是金课中的实训,则将当前用户加入到当期开课的课堂 + # if StageShixun.exists?(shixun_id: @shixun.id, subject_id: Subject.where(excellent: 1)) + # subject = Subject.where(excellent: 1, id: StageShixun.where(shixun_id: @shixun.id).pluck(:subject_id)).take + # course = subject.courses.where("start_date is not null and start_date <= '#{Date.today}' and end_date is not null and end_date >= '#{Date.today}'").take + # if course.present? && !CourseMember.exists?(course_id: course.id, user_id: current_user.id) + # # 为了不影响后续操作,用create而不是create! + # CourseMember.create(course_id: course.id, user_id: current_user.id, role: 4) + # CourseAddStudentCreateWorksJob.perform_later(course.id, [current_user.id]) + # end + # end + ActiveRecord::Base.transaction do begin cloud_bridge = edu_setting('cloud_bridge') diff --git a/app/controllers/subjects_controller.rb b/app/controllers/subjects_controller.rb index ce2154fea..55f8722a2 100644 --- a/app/controllers/subjects_controller.rb +++ b/app/controllers/subjects_controller.rb @@ -83,21 +83,37 @@ class SubjectsController < ApplicationController @is_creator = current_user.creator_of_subject?(@subject) @is_manager = @user.manager_of_subject?(@subject) # 合作团队 - @members = @subject.subject_members.includes(:user) @shixuns = @subject.shixuns.published.pluck(:id) - challenge_ids = Challenge.where(shixun_id: @shixuns).pluck(:id) + @courses = @subject.courses if @subject.excellent + + @members = @subject.subject_members.includes(:user) + shixuns = @subject.shixuns.published.pluck(:id) + challenge_ids = Challenge.where(shixun_id: shixuns).pluck(:id) # 实训路径中的所有实训标签 @tags = ChallengeTag.where(challenge_id: challenge_ids).pluck(:name).uniq # 用户获取的实训标签 # @user_tags = @subject.shixuns.map(&:user_tags_name).flatten.uniq @user_tags = user_shixun_tags challenge_ids, @user.id @my_subject_progress = @subject.my_subject_progress - @challenge_count = challenge_ids.size # 访问数变更 @subject.increment!(:visits) end + def right_banner + @user = current_user + # 合作团队 + @members = @subject.subject_members.includes(:user) + shixuns = @subject.shixuns.published.pluck(:id) + challenge_ids = Challenge.where(shixun_id: shixuns).pluck(:id) + # 实训路径中的所有实训标签 + @tags = ChallengeTag.where(challenge_id: challenge_ids).pluck(:name).uniq + # 用户获取的实训标签 + # @user_tags = @subject.shixuns.map(&:user_tags_name).flatten.uniq + @user_tags = user_shixun_tags challenge_ids, @user.id + @my_subject_progress = @subject.my_subject_progress + end + def new normal_status("") end diff --git a/app/controllers/users/base_controller.rb b/app/controllers/users/base_controller.rb index 706b77802..eb6b98048 100644 --- a/app/controllers/users/base_controller.rb +++ b/app/controllers/users/base_controller.rb @@ -26,6 +26,12 @@ class Users::BaseController < ApplicationController render_forbidden end + def require_auth_teacher! + return if current_user.admin_or_business? || observed_user.certification_teacher? + + render_forbidden + end + def page_value params[:page].to_i <= 0 ? 1 : params[:page].to_i end diff --git a/app/controllers/users/video_auths_controller.rb b/app/controllers/users/video_auths_controller.rb index d7950f873..0eec4dffb 100644 --- a/app/controllers/users/video_auths_controller.rb +++ b/app/controllers/users/video_auths_controller.rb @@ -1,5 +1,5 @@ class Users::VideoAuthsController < Users::BaseController - before_action :private_user_resources! + before_action :private_user_resources!, :require_auth_teacher! def create result = Videos::CreateAuthService.call(observed_user, create_params) diff --git a/app/controllers/users/videos_controller.rb b/app/controllers/users/videos_controller.rb index e4dffec23..1df726c0c 100644 --- a/app/controllers/users/videos_controller.rb +++ b/app/controllers/users/videos_controller.rb @@ -1,5 +1,5 @@ class Users::VideosController < Users::BaseController - before_action :private_user_resources! + before_action :private_user_resources!, :require_auth_teacher! helper_method :current_video diff --git a/app/decorators/tiding_decorator.rb b/app/decorators/tiding_decorator.rb index ab9de4b76..81093dc12 100644 --- a/app/decorators/tiding_decorator.rb +++ b/app/decorators/tiding_decorator.rb @@ -380,4 +380,8 @@ module TidingDecorator I18n.t(locale_format(tiding_type)) % [container.try(:title) || extra] end end + + def public_course_start_content + I18n.t(locale_format) % [belong_container&.name, belong_container&.start_date&.strftime("%Y-%m-%d")] + end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 099d45406..e6f2e1720 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -258,7 +258,7 @@ module ApplicationHelper end def download_url attachment - attachment_path(attachment) + attachment_path(attachment).gsub("/api","") end # 耗时:天、小时、分、秒 diff --git a/app/helpers/export_helper.rb b/app/helpers/export_helper.rb index f352b1e38..f17ede53c 100644 --- a/app/helpers/export_helper.rb +++ b/app/helpers/export_helper.rb @@ -163,7 +163,7 @@ module ExportHelper end w_15 = w.work_score.nil? ? "--" : w.work_score.round(1) w_16 = w.update_time ? format_time(w.update_time) : "--" "更新时间" - w_17 = (game_spend_time w.cost_time) + w_17 = w.cost_time ? (game_spend_time w.cost_time) : "--" teacher_comments = w.student_works_scores if teacher_comments.present? w_18 = "" diff --git a/app/helpers/subjects_helper.rb b/app/helpers/subjects_helper.rb index 606f72587..8aff41d25 100644 --- a/app/helpers/subjects_helper.rb +++ b/app/helpers/subjects_helper.rb @@ -16,4 +16,19 @@ module SubjectsHelper ChallengeTag.joins("join games on challenge_tags.challenge_id = games.challenge_id"). where(challenge_id: challenge_ids, games: {status: 2, user_id: user_id}).pluck("challenge_tags.name").uniq end + + # 金课的课堂状态 0:未开课,1:进行中,2:已结束 + def subject_course_status course + if course.is_end + {status: 2, time: ""} + elsif course.start_date && course.start_date > Date.today + {status: 0, time: ""} + elsif course.start_date && course.start_date <= Date.today && course.end_date >= Date.today + sum_week = ((course.end_date - course.start_date).to_i / 7.0).ceil + curr_week = ((Date.today - course.start_date).to_i / 7.0).ceil + {status: 1, time: "进行至第#{curr_week}周,共#{sum_week}周"} + else + {status: -1, time: ""} + end + end end diff --git a/app/libs/aliyun_vod/service/video_upload.rb b/app/libs/aliyun_vod/service/video_upload.rb index 97ecd970b..a5ade72f9 100644 --- a/app/libs/aliyun_vod/service/video_upload.rb +++ b/app/libs/aliyun_vod/service/video_upload.rb @@ -16,6 +16,15 @@ module AliyunVod::Service::VideoUpload result = request(:post, params) + if result['Code'].present? + message = + case result['Code'] + when 'InvalidFileName.Extension' then '不支持的文件格式' + when 'IllegalCharacters' then '文件名称包含非法字符' + end + raise AliyunVod::Error, message if message.present? + end + raise AliyunVod::Error, '获取上传凭证失败' if result['UploadAddress'].blank? result diff --git a/app/models/attachment.rb b/app/models/attachment.rb index bdd749108..3a512278a 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -115,4 +115,15 @@ class Attachment < ApplicationRecord end end + #判断是否为pdf文件 + def is_pdf? + is_pdf = false + file_content_type = content_type + file_ext_type = File.extname(filename).strip.downcase[1..-1] + if (file_content_type.present? && file_content_type.downcase.include?("pdf")) || (file_ext_type.present? && file_ext_type.include?("pdf")) + is_pdf = true + end + is_pdf + end + end diff --git a/app/models/attachment_history.rb b/app/models/attachment_history.rb index 220f92535..c19146b95 100644 --- a/app/models/attachment_history.rb +++ b/app/models/attachment_history.rb @@ -20,4 +20,14 @@ class AttachmentHistory < ApplicationRecord is_public == 1 end + def is_history_pdf? + is_pdf = false + file_content_type = content_type + file_ext_type = File.extname(filename).strip.downcase[1..-1] + if (file_content_type.present? && file_content_type.downcase.include?("pdf")) || (file_ext_type.present? && file_ext_type.include?("pdf")) + is_pdf = true + end + is_pdf + end + end diff --git a/app/models/searchable/course.rb b/app/models/searchable/course.rb index 0b2b78436..5060d9ddd 100644 --- a/app/models/searchable/course.rb +++ b/app/models/searchable/course.rb @@ -25,7 +25,8 @@ module Searchable::Course author_school_name: teacher&.school_name, visits_count: visits, members_count: members_count, - is_public: is_public == 1 + is_public: is_public == 1, + first_category_url: ApplicationController.helpers.module_url(none_hidden_course_modules.first, self) } end diff --git a/app/services/duplicate_course_service.rb b/app/services/duplicate_course_service.rb index 9d61984db..27ae2f784 100644 --- a/app/services/duplicate_course_service.rb +++ b/app/services/duplicate_course_service.rb @@ -11,7 +11,7 @@ class DuplicateCourseService < ApplicationService @course = copy_course! copy_course_modules! - + Rails.logger.info("###########second_category_list#{@second_category_list}") join_course! copy_homework_commons! @@ -36,9 +36,17 @@ class DuplicateCourseService < ApplicationService end def copy_course_modules! + @second_category_list = {} origin_course.course_modules.each do |course_module| attrs = course_module.as_json(only: %i[module_type position hidden module_name]) - CourseModule.create!(attrs.merge(course_id: course.id)) + new_course_module = CourseModule.create!(attrs.merge(course_id: course.id)) + # 复制子目录 + course_module.course_second_categories.each do |second_category| + category_attr = second_category.as_json(only: %i[category_type name position]) + new_second_category = + CourseSecondCategory.create!(category_attr.merge(course_id: course.id, course_module_id: new_course_module.id)) + @second_category_list[second_category.id] = new_second_category.id + end end end @@ -50,7 +58,10 @@ class DuplicateCourseService < ApplicationService origin_course.homework_commons.where(homework_type: %i[normal group practice]).find_each do |origin_homework| homework_attrs = origin_homework.as_json(only: %i[name description homework_type homework_bank_id reference_answer]) - homework = HomeworkCommon.create!(homework_attrs.merge(user_id: user.id, course_id: course.id)) + course_second_category_id = @second_category_list[origin_homework.course_second_category_id] + + homework = HomeworkCommon.create!(homework_attrs.merge(user_id: user.id, course_id: course.id, + course_second_category_id:course_second_category_id)) origin_homework.attachments.find_each do |origin_attachment| attachment = origin_attachment.copy @@ -71,6 +82,7 @@ class DuplicateCourseService < ApplicationService HomeworksService.new.create_shixun_homework_cha_setting(homework, origin_homework.shixuns.first) end + origin_homework.increment!(:quotes) origin_homework.homework_bank.increment!(:quotes) if origin_homework.homework_bank end @@ -138,9 +150,9 @@ class DuplicateCourseService < ApplicationService attachment.copy_from = origin_attachment.copy_from || origin_attachment.id attachment.is_publish = 0 attachment.attachtype ||= 4 + attachment.course_second_category_id = @second_category_list[origin_attachment.course_second_category_id] attachment.save! - origin_course.update_quotes(attachment) end end diff --git a/app/services/users/update_account_service.rb b/app/services/users/update_account_service.rb index c8ba6da61..3f0aa8cc8 100644 --- a/app/services/users/update_account_service.rb +++ b/app/services/users/update_account_service.rb @@ -51,8 +51,10 @@ class Users::UpdateAccountService < ApplicationService if first_full_reward RewardGradeService.call(user, container_id: user.id, container_type: 'Account', score: 500) - - sms_notify_admin(user.lastname) if user.user_extension.teacher? + if user.user_extension.teacher? + join_course(user.id,1309, 2) + sms_notify_admin(user.lastname) + end end user @@ -73,4 +75,11 @@ class Users::UpdateAccountService < ApplicationService rescue => ex Util.logger_error(ex) end + + def join_course(user_id, course_id, identity) + course = Course.find_by(id: course_id) + return unless course + attr = {course_id: course_id, role: identity, user_id: user_id} + CourseMember.create!(attr) + end end \ No newline at end of file diff --git a/app/services/videos/create_auth_service.rb b/app/services/videos/create_auth_service.rb index 8d83ca4e2..3c7ecf2f6 100644 --- a/app/services/videos/create_auth_service.rb +++ b/app/services/videos/create_auth_service.rb @@ -35,7 +35,7 @@ class Videos::CreateAuthService < ApplicationService def upload_video_result AliyunVod::Service.create_upload_video(title, filename, params) - rescue AliyunVod::Error => _ - raise Error, '获取视频上传凭证失败' + rescue AliyunVod::Error => ex + raise Error, ex.message || '获取视频上传凭证失败' end end \ No newline at end of file diff --git a/app/views/attachment_histories/_attachment_history.json.jbuilder b/app/views/attachment_histories/_attachment_history.json.jbuilder index 37b8b95c1..afb359e08 100644 --- a/app/views/attachment_histories/_attachment_history.json.jbuilder +++ b/app/views/attachment_histories/_attachment_history.json.jbuilder @@ -6,4 +6,5 @@ json.publish_time attachment.publish_time json.quotes attachment.quotes_count json.downloads_count attachment.downloads_count json.created_on attachment.created_on -json.url attachment_path(attachment, type: 'history') +json.url attachment_path(attachment, type: 'history').gsub("/api","") +json.is_pdf attachment.is_history_pdf? diff --git a/app/views/attachments/_attachment_small.json.jbuilder b/app/views/attachments/_attachment_small.json.jbuilder index d9a976bde..97cbee120 100644 --- a/app/views/attachments/_attachment_small.json.jbuilder +++ b/app/views/attachments/_attachment_small.json.jbuilder @@ -2,4 +2,5 @@ json.id attachment.id json.title attachment.title json.filesize number_to_human_size(attachment.filesize) json.url download_url(attachment) -json.created_on attachment.created_on \ No newline at end of file +json.created_on attachment.created_on +json.is_pdf attachment.is_pdf? \ No newline at end of file diff --git a/app/views/files/histories.json.jbuilder b/app/views/files/histories.json.jbuilder index 9dfec4fd4..7039752e7 100644 --- a/app/views/files/histories.json.jbuilder +++ b/app/views/files/histories.json.jbuilder @@ -1,3 +1,3 @@ -json.is_pdf @is_pdf + json.partial! 'attachments/attachment_small', attachment: @file json.partial! "attachment_histories/list", attachment_histories: @attachment_histories diff --git a/app/views/subjects/right_banner.json.jbuilder b/app/views/subjects/right_banner.json.jbuilder new file mode 100644 index 000000000..9ca42c5bc --- /dev/null +++ b/app/views/subjects/right_banner.json.jbuilder @@ -0,0 +1,21 @@ + +json.members @members do |member| + json.partial! 'subject_member', locals: { user: member.user } + json.role member.role +end + +# 技能标签 +json.tags @tags do |tag| + unless tag.blank? + json.tag_name tag + json.status @user_tags.include?(tag) + end +end + +# 我的进展 +json.progress do + json.my_score @subject.my_subject_score + json.all_score @subject.all_score + json.learned @subject.my_subject_progress + json.time @subject.my_consume_time +end \ No newline at end of file diff --git a/app/views/subjects/show.json.jbuilder b/app/views/subjects/show.json.jbuilder index dd4244a15..93fa105a6 100644 --- a/app/views/subjects/show.json.jbuilder +++ b/app/views/subjects/show.json.jbuilder @@ -1,4 +1,4 @@ -json.(@subject, :id, :name, :description, :learning_notes, :stages_count, :stage_shixuns_count, :shixuns_count) +json.(@subject, :id, :name, :description, :learning_notes, :stages_count, :stage_shixuns_count, :shixuns_count, :excellent) json.challenge_choose_count @subject.subject_challenge_choose_count json.challenges_count @subject.subject_challenge_count @@ -12,6 +12,19 @@ json.allow_send @user.logged? json.allow_visit @subject.status > 1 || @is_manager json.allow_add_member @is_manager +if @subject.excellent + json.courses @courses do |course| + json.course_id course.id + json.first_category_url module_url(course.none_hidden_course_modules.first, course) + json.start_date course.start_date + json.end_date course.end_date + json.student_count course.students.count + json.course_identity @user.course_identity(course) + json.course_status subject_course_status course + end +end + + json.members @members do |member| json.partial! 'subject_member', locals: { user: member.user } json.role member.role diff --git a/config/locales/tidings/zh-CN.yml b/config/locales/tidings/zh-CN.yml index a4d213161..347b0139a 100644 --- a/config/locales/tidings/zh-CN.yml +++ b/config/locales/tidings/zh-CN.yml @@ -225,3 +225,4 @@ System: 1_end: "你提交的发布视频申请:%s,审核已通过" 2_end: "你提交的发布视频申请:%s,审核未通过
原因:%{reason}" + PublicCourseStart_end: "你报名参与的开放课程:%s,将于%s正式开课" diff --git a/config/routes.rb b/config/routes.rb index 988ebbfa2..2ecd6502e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -273,6 +273,7 @@ Rails.application.routes.draw do delete :delete_member post :up_member_position post :down_member_position + get :right_banner end collection do diff --git a/db/migrate/20190815085136_modify_path_for_challenges.rb b/db/migrate/20190815085136_modify_path_for_challenges.rb new file mode 100644 index 000000000..a17fdbd04 --- /dev/null +++ b/db/migrate/20190815085136_modify_path_for_challenges.rb @@ -0,0 +1,5 @@ +class ModifyPathForChallenges < ActiveRecord::Migration[5.2] + def change + change_column :challenges, :path, :text + end +end diff --git a/dump.rdb b/dump.rdb index d3784bb93..f7b65ded0 100644 Binary files a/dump.rdb and b/dump.rdb differ diff --git a/lib/tasks/excellent_course_exercise.rake b/lib/tasks/excellent_course_exercise.rake new file mode 100644 index 000000000..a607c24a0 --- /dev/null +++ b/lib/tasks/excellent_course_exercise.rake @@ -0,0 +1,186 @@ +#coding=utf-8 +# 执行示例 bundle exec rake excellent_course_exercise:student_answer args=2933,1042,823 +# args 第一个是course_id, 第二个是参与人数, 第三个是通过人数 +desc "同步精品课的学生试卷数据" +namespace :excellent_course_exercise do + if ENV['args'] + course_id = ENV['args'].split(",")[0] # 对应课堂的id + participant_count = ENV['args'].split(",")[1].to_i # 表示参与人数 + pass_count = ENV['args'].split(",")[2].to_i # 表示通过人数 + end + + task :student_answer => :environment do + + course = Course.find_by(id: course_id) + + course.exercises.each_with_index do |exercise, index| + # 第一个试卷的参与人数和通过人数都是传的数据,后续的随机 + if index == 0 + members = course.students.order("id asc").limit(participant_count) + update_exercise_user(exercise, members, pass_count) + else + new_participant_count = rand((participant_count - 423)..participant_count) + new_pass_count = rand((new_participant_count - 113)..new_participant_count) + + members = course.students.order("id asc").limit(new_participant_count) + update_exercise_user(exercise, members, new_pass_count) + end + end + end + + def update_exercise_user exercise, members, pass_count + exercise_question_ids = exercise.exercise_questions.where(question_type: 0).pluck(:id) + + # index < pass_count 之前的学生都是通关的,之后的未通过 + members.each_with_index do |member, index| + exercise_user = exercise.exercise_users.where(user_id: member.user_id).take + if exercise_question_ids.length == 20 + rand_num = index < pass_count - 1 ? 20 : rand(1..16) + elsif exercise_question_ids.length == 17 + rand_num = index < pass_count - 1 ? rand(13..17) : rand(1..11) + else + rand_num = exercise_question_ids.length + end + + if exercise_user && exercise_user.commit_status == 0 + exercise_question_ids = exercise_question_ids.sample(rand_num) + questions = exercise.exercise_questions.where(id: exercise_question_ids) + create_exercise_answer questions, member.user_id + + total_score = calculate_student_score(exercise, member.user) + commit_option = { + :status => 1, + :commit_status => 1, + :start_at => exercise.publish_time, + :end_at => exercise.end_time, + :objective_score => total_score, + :score => total_score, + :subjective_score => 0 + } + exercise_user.update_columns(commit_option) + end + end + end + + def create_exercise_answer questions, user_id + questions.each do |question| + choice_position = question.exercise_standard_answers.take&.exercise_choice_id + choice = question.exercise_choices.where(choice_position: choice_position).take + + answer_option = { + :user_id => user_id, + :exercise_question_id => question.id, + :exercise_choice_id => choice&.id, + :answer_text => "" + } + ex_a = ExerciseAnswer.new(answer_option) + ex_a.save! + end + end + + #计算试卷的总分和试卷的答题状态 + def calculate_student_score(exercise,user) + score1 = 0.0 #选择题/判断题 + score2 = 0.0 #填空题 + score5 = 0.0 #实训题 + total_score = 0.0 + ques_stand = [] #问题是否正确 + exercise_questions = exercise.exercise_questions.includes(:exercise_answers,:exercise_shixun_answers,:exercise_standard_answers,:exercise_shixun_challenges) + exercise_questions&.each do |q| + begin + if q.question_type != 5 + answers_content = q.exercise_answers.where(user_id: user.id) #学生的答案 + else + answers_content = q.exercise_shixun_answers.where(user_id: user.id) #学生的答案 + end + if q.question_type <= 2 #为选择题或判断题时 + if answers_content.present? #学生有回答时 + answer_choice_array = [] + answers_content.each do |a| + answer_choice_array.push(a.exercise_choice.choice_position) #学生答案的位置 + end + user_answer_content = answer_choice_array.sort + standard_answer = q.exercise_standard_answers.pluck(:exercise_choice_id).sort #该问题的标准答案,可能有多个 + if user_answer_content == standard_answer #答案一致,多选或单选才给分,答案不对不给分 + if standard_answer.size > 0 + q_score_1 = q.question_score + # q_score_1 = (q.question_score.to_f / standard_answer.count) #当多选答案正确时,每个answer的分数均摊。 + else + q_score_1 = 0.0 + end + answers_content.update_all(:score => q_score_1) + score1 = score1 + q.question_score + else + answers_content.update_all(:score => -1.0) + score1 += 0.0 + end + else + score1 += 0.0 + end + elsif q.question_type == 5 #实训题时,主观题这里不评分 + q.exercise_shixun_challenges&.each do |exercise_cha| + game = Game.user_games(user.id,exercise_cha.challenge_id)&.first #当前用户的关卡 + if game.present? + exercise_cha_score = 0.0 + answer_status = 0 + # if game.status == 2 && game.final_score >= 0 + if game.final_score > 0 + exercise_cha_score = game.real_score(exercise_cha.question_score) + # exercise_cha_score = exercise_cha.question_score #每一关卡的得分 + answer_status = 1 + end + ex_shixun_answer_content = answers_content&.where(exercise_shixun_challenge_id: exercise_cha.id) + code = nil + if exercise_cha.challenge&.path.present? + cha_path = challenge_path(exercise_cha.challenge&.path) + game_challenge = game.game_codes.search_challenge_path(cha_path)&.first + if game_challenge.present? + game_code = game_challenge + code = game_code.try(:new_code) + else + code = git_fle_content(game.myshixun.repo_path,cha_path) + end + end + if ex_shixun_answer_content.blank? #把关卡的答案存入试卷的实训里 + ### Todo 实训题的_shixun_details里的代码是不是直接从这里取出就可以了?涉及到code的多个版本库的修改 + sx_option = { + :exercise_question_id => q.id, + :exercise_shixun_challenge_id => exercise_cha.id, + :user_id => user.id, + :score => exercise_cha_score.round(1), + :answer_text => code, + :status => answer_status + } + ExerciseShixunAnswer.create(sx_option) + else + ex_shixun_answer_content.first.update_attributes(score:exercise_cha_score.round(1),answer_text:code) + end + score5 += exercise_cha_score + else + score5 += 0.0 + end + end + end + user_scores = answers_content.blank? ? 0.0 : answers_content.score_reviewed.pluck(:score).sum + if user_scores > 0.0 + stand_answer = 1 + else + stand_answer = 0 + end + ques_option = { + "q_id":q.id, #该问题的id + "q_type":q.question_type, + "q_position":q.question_number, #该问题的位置 + "stand_status":stand_answer, #该问题是否正确,1为正确,0为错误 + "user_score":user_scores.round(1) #每个问题的总得分 + } + ques_stand.push(ques_option) + rescue Exception => e + Rails.logger.info("calcuclate_score_have_error____________________________#{e}") + next + end + end + total_score = score1 + score2 + score5 + total_score + end +end \ No newline at end of file diff --git a/lib/tasks/public_course.rake b/lib/tasks/public_course.rake new file mode 100644 index 000000000..13ef7b2e7 --- /dev/null +++ b/lib/tasks/public_course.rake @@ -0,0 +1,142 @@ +#coding=utf-8 +# 执行示例 bundle exec rake public_course:student args=149,2903 +# args 第一个参数是subject_id,第二个参数是课程course_id +# 第一期时间:2018-12-16 至2019-03-31 +# 第二期时间:2019-04-07 至2019-07-28 +# +# 这次学习很有收获,感谢老师提供这么好的资源和细心的服务🎉🎉🎉 +# + +desc "同步精品课数据" +namespace :public_course do + if ENV['args'] + subject_id = ENV['args'].split(",")[0] # 对应课程的id + course_id = ENV['args'].split(",")[1] # 对应课堂的id + status = ENV['args'].split(",")[2] # 表示相应的期数 + type = ENV['args'].split(",")[3] # 表示课程模块 + end + + + if status.to_i == 1 + start_time = '2018-12-16' + end_time = '2019-04-01' + elsif status.to_i == 2 + start_time = '2019-04-07' + end_time = '2019-07-28' + else + # 这种情况是取所有的 + start_time = '2015-01-01' + end_time = '2022-07-28' + end + + task :student => :environment do + puts "subject_id is #{subject_id}" + puts "course_id is #{course_id}" + + user_ids = Myshixun.find_by_sql("select distinct(user_id) from myshixuns where shixun_id in (select shixun_id from stage_shixuns + where stage_id in (select id from stages where subject_id=#{subject_id}))").map(&:user_id) + puts user_ids + if user_ids.present? + user_ids.each do |user_id| + puts user_id + begin + CourseMember.create!(course_id: course_id, user_id: user_id, role: 4) + rescue Exception => e + Rails.logger() + end + end + end + end + + # + task :message => :environment do + discusses = Discuss.find_by_sql("select content, user_id, created_on, updated_on from discusses where dis_id in (select shixun_id from stage_shixuns where + stage_id in (select id from stages where subject_id=#{subject_id})) and created_at > #{start_time} and + created_at<#{end_time}") + discusses.find_each do |discuss| + puts discuss.user_id + puts discuss.content + # 回复帖子 + # 讨论区发布帖子 + # Message.create!(board: @message.board, root_id: @message.root_id || @message.id, + # author: current_user, parent: @message, + # message_detail_attributes: { + # content: params[:content] + # }) + end + end + + + # 更新某个课程的某类时间 + # 执行示例 bundle exec rake public_course:student args=2903,1 + task :time => :environment do + # course_id = ENV['args'].split(",")[0] # 对应课堂的id + # type = ENV['args'].split(",")[1] + + course = Course.find(course_id) + + case type.to_i + when 1 + # 讨论区 + + when 2 + # 作业 + course.homework_commons.each do |homework| + created_at = random_time(start_time, end_time) + publish_time = random_larger_time created_at, start_time, end_time + end_time = random_larger_time publish_time, start_time, end_time + updated_at = end_time + + homework.update_columns(publish_time: publish_time, end_time: end_time, created_at: created_at, updated_at: updated_at) + homework.homework_detail_manual.update_columns(comment_status: 6, created_at: created_at, updated_at: updated_at) + end + when 3 + # 试卷 + course.exercises.each do |exercise| + created_at = random_time start_time, end_time + publish_time = random_larger_time created_at, start_time, end_time + end_time = random_larger_time publish_time, start_time, end_time + updated_at = end_time + + exercise.update_columns(publish_time: publish_time, end_time: end_time, created_at: created_at, updated_at: updated_at, exercise_status: 3) + end + when 4 + # 资源 + course.attachments.each do |atta| + created_on = random_time start_time, end_time + + atta.update_columns(is_publish: 1, created_on: created_on, publish_time: created_on) + end + end + + end + + def min_swith(time) + puts time + return time < 9 ? "0#{time}" : time + end + + def random_time(start_time, end_time) + hour = (6..23).to_a.sample(1).first + min = rand(60) + sec = rand(60) + + start_time = Date.parse(start_time) + end_time = Date.parse(end_time) + date = (start_time..end_time).to_a.sample(1).first + + time = "#{date} #{min_swith(hour)}:#{min_swith(min)}:#{min_swith(sec)}" + + puts time + time + end + + def random_larger_time(time, start_time, end_time) + large_time = random_time(start_time, end_time) + while large_time <= time + large_time = random_time(start_time, end_time) + end + large_time + end +end + diff --git a/lib/tasks/public_course_notice.rake b/lib/tasks/public_course_notice.rake new file mode 100644 index 000000000..461dae797 --- /dev/null +++ b/lib/tasks/public_course_notice.rake @@ -0,0 +1,19 @@ +desc "开放课程开课前通知报名用户" +namespace :public_course_notice do + task :tiding => :environment do + Course.where(excellent: 1).where("start_date is not null and start_date = '#{Date.today}'").each do |course| + attrs = %i[user_id trigger_user_id status container_id container_type belong_container_id + belong_container_type tiding_type created_at updated_at] + + same_attrs = { + trigger_user_id: 0, container_id: course.id, container_type: 'PublicCourseStart', + belong_container_id: course.id, belong_container_type: 'Course', tiding_type: 'System', status: 0 + } + Tiding.bulk_insert(*attrs) do |worker| + course.students.each do |student| + worker.add same_attrs.merge(user_id: student.user_id) + end + end + end + end +end \ No newline at end of file diff --git a/lib/tasks/public_message.rake b/lib/tasks/public_message.rake new file mode 100644 index 000000000..ca54fbd7b --- /dev/null +++ b/lib/tasks/public_message.rake @@ -0,0 +1,37 @@ +# bundle exec rake sync:public_message args=149,2903 +namespace :sync do + task :public_message => :environment do + subject_id = ENV['args'].split(",")[0] # 对应课程的id + board_id = ENV['args'].split(",")[1] + message_id = ENV['args'].split(",")[2] + status = ENV['args'].split(",")[3] # 表示相应的期数 + + if status.to_i == 1 + start_time = '2018-12-16' + end_time = '2019-04-01' + elsif status.to_i == 2 + start_time = '2019-04-07' + end_time = '2019-07-28' + else + # 这种情况是取所有的 + start_time = '2015-01-01' + end_time = '2022-07-28' + end + + shixun_ids = Shixun.find_by_sql("select shixun_id from stage_shixuns where stage_id in (select id from stages where + subject_id=#{subject_id}) ").map(&:shixun_id) + + + discusses = Discuss.where(dis_id: shixun_ids).where("created_at >? and created_at :environment do - - - subject_id = ENV['args'].split(",").first - course_id = ENV['args'].split(",").last - puts "subject_id is #{subject_id}" - puts "course_id is #{course_id}" - - user_ids = Myshixun.find_by_sql("select distinct(user_id) from myshixuns where shixun_id in (select shixun_id from stage_shixuns - where stage_id in (select id from stages where subject_id=#{subject_id}))").map(&:user_id) - puts user_ids - if user_ids.present? - user_ids.each do |user_id| - puts user_id - CourseMember.create!(course_id: course_id, user_id: user_id, role: 4) - end - end - end -end \ No newline at end of file diff --git a/public/react/config/webpack.config.dev.js b/public/react/config/webpack.config.dev.js index 6e78fd410..510bcaa4f 100644 --- a/public/react/config/webpack.config.dev.js +++ b/public/react/config/webpack.config.dev.js @@ -29,7 +29,7 @@ const env = getClientEnvironment(publicUrl); module.exports = { // You may want 'eval' instead if you prefer to see the compiled output in DevTools. // See the discussion in https://github.com/facebookincubator/create-react-app/issues/343.s - devtool: "cheap-module-eval-source-map", + // devtool: "cheap-module-eval-source-map", // 开启调试 // These are the "entry points" to our application. // This means they will be the "root" imports that are included in JS bundle. diff --git a/public/react/public/css/iconfont.css b/public/react/public/css/iconfont.css index a393f2b39..1c89554e4 100644 --- a/public/react/public/css/iconfont.css +++ b/public/react/public/css/iconfont.css @@ -1,10 +1,13 @@ @font-face {font-family: "iconfont"; - src: url('iconfont.eot?t=1563868936201'); /* IE9 */ - src: url('iconfont.eot?t=1563868936201#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), - url('iconfont.woff?t=1563868936201') format('woff'), - url('iconfont.ttf?t=1563868936201') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ - url('iconfont.svg?t=1563868936201#iconfont') format('svg'); /* iOS 4.1- */ + + src: url('iconfont.eot?t=1565861873834'); /* IE9 */ + src: url('iconfont.eot?t=1565861873834#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), + url('iconfont.woff?t=1565861873834') format('woff'), + url('iconfont.ttf?t=1565861873834') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('iconfont.svg?t=1565861873834#iconfont') format('svg'); /* iOS 4.1- */ + + } .iconfont { @@ -227,6 +230,10 @@ content: "\e602"; } +.icon-yonghujiaose_wushuju:before { + content: "\e69e"; +} + .icon-moban:before { content: "\e692"; } @@ -763,7 +770,19 @@ content: "\e604"; } +.icon-bianji1:before { + content: "\e6a1"; +} + .icon-paixu1:before { content: "\e6aa"; } +.icon-renzhengshangjia:before { + content: "\e6ab"; +} + +.icon-shenfenzhenghaomaguizheng:before { + content: "\e6ad"; +} + diff --git a/public/react/public/js/aliyun-upload/aliyun-upload-sdk-1.5.0.min.js b/public/react/public/js/aliyun-upload/aliyun-upload-sdk-1.5.0.min.js new file mode 100644 index 000000000..35d561727 --- /dev/null +++ b/public/react/public/js/aliyun-upload/aliyun-upload-sdk-1.5.0.min.js @@ -0,0 +1,7 @@ +!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=12)}([function(e,t,n){!function(n,r){e.exports=t=r()}(0,function(){var e=e||function(e,t){var n=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),r={},o=r.lib={},i=o.Base=function(){return{extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.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=o.WordArray=i.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=void 0!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,o=e.sigBytes;if(this.clamp(),r%4)for(var i=0;i>>2]>>>24-i%4*8&255;t[r+i>>>2]|=a<<24-(r+i)%4*8}else for(var i=0;i>>2]=n[i>>>2];return this.sigBytes+=o,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=[],o=0;o>16)&r,t=18e3*(65535&t)+(t>>16)&r;var o=(n<<16)+t&r;return o/=4294967296,(o+=.5)*(e.random()>.5?1:-1)}}(4294967296*(n||e.random()));n=987654071*i(),r.push(4294967296*i()|0)}return new a.init(r,t)}}),s=r.enc={},u=s.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],o=0;o>>2]>>>24-o%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.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)}},c=s.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],o=0;o>>2]>>>24-o%4*8&255;r.push(String.fromCharCode(i))}return r.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(c.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=o.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=4*i,u=o/s;u=t?e.ceil(u):e.max((0|u)-this._minBufferSize,0);var c=u*i,l=e.min(4*c,o);if(c){for(var f=0;f4&&e}},{key:"extend",value:function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&t[n]&&(e[n]=t[n])}},{key:"isArray",value:function(e){return"[object Array]"===Object.prototype.toString.call(arg)}},{key:"getFileType",value:function(e){return e=e.toLowerCase(),/.mp4|.flv|.m3u8|.avi|.rm|.rmvb|.mpeg|.mpg|.mov|.wmv|.3gp|.asf|.dat|.dv|.f4v|.gif|.m2t|.m4v|.mj2|.mjpeg|.mpe|.mts|.ogg|.qt|.swf|.ts|.vob|.wmv|.webm/.test(e)?"video":/.mp3|.wav|.ape|.cda|.au|.midi|.mac|.aac|.ac3|.acm|.amr|.caf|.flac|.m4a|.ra|.wma/.test(e)?"audio":/.bmp|.jpg|.jpeg|.png/.test(e)?"img":"other"}},{key:"isImage",value:function(e){return e=e.toLowerCase(),!!/.jpg|.jpeg|.png/.test(e)}},{key:"ISODateString",value:function(e){function t(e){return e<10?"0"+e:e}return e.getUTCFullYear()+"-"+t(e.getUTCMonth()+1)+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"Z"}},{key:"isIntNum",value:function(e){return!!/^\d+$/.test(e)}}]),e}();t.default=i},function(e,t,n){!function(r,o){e.exports=t=o(n(0))}(0,function(e){return function(t){function n(e,t,n,r,o,i,a){var s=e+(t&n|~t&r)+o+a;return(s<>>32-i)+t}function r(e,t,n,r,o,i,a){var s=e+(t&r|n&~r)+o+a;return(s<>>32-i)+t}function o(e,t,n,r,o,i,a){var s=e+(t^n^r)+o+a;return(s<>>32-i)+t}function i(e,t,n,r,o,i,a){var s=e+(n^(t|~r))+o+a;return(s<>>32-i)+t}var a=e,s=a.lib,u=s.WordArray,c=s.Hasher,l=a.algo,f=[];!function(){for(var e=0;e<64;e++)f[e]=4294967296*t.abs(t.sin(e+1))|0}();var h=l.MD5=c.extend({_doReset:function(){this._hash=new u.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var a=0;a<16;a++){var s=t+a,u=e[s];e[s]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}var c=this._hash.words,l=e[t+0],h=e[t+1],d=e[t+2],p=e[t+3],g=e[t+4],v=e[t+5],y=e[t+6],_=e[t+7],m=e[t+8],T=e[t+9],S=e[t+10],w=e[t+11],A=e[t+12],b=e[t+13],I=e[t+14],E=e[t+15],U=c[0],k=c[1],P=c[2],O=c[3];U=n(U,k,P,O,l,7,f[0]),O=n(O,U,k,P,h,12,f[1]),P=n(P,O,U,k,d,17,f[2]),k=n(k,P,O,U,p,22,f[3]),U=n(U,k,P,O,g,7,f[4]),O=n(O,U,k,P,v,12,f[5]),P=n(P,O,U,k,y,17,f[6]),k=n(k,P,O,U,_,22,f[7]),U=n(U,k,P,O,m,7,f[8]),O=n(O,U,k,P,T,12,f[9]),P=n(P,O,U,k,S,17,f[10]),k=n(k,P,O,U,w,22,f[11]),U=n(U,k,P,O,A,7,f[12]),O=n(O,U,k,P,b,12,f[13]),P=n(P,O,U,k,I,17,f[14]),k=n(k,P,O,U,E,22,f[15]),U=r(U,k,P,O,h,5,f[16]),O=r(O,U,k,P,y,9,f[17]),P=r(P,O,U,k,w,14,f[18]),k=r(k,P,O,U,l,20,f[19]),U=r(U,k,P,O,v,5,f[20]),O=r(O,U,k,P,S,9,f[21]),P=r(P,O,U,k,E,14,f[22]),k=r(k,P,O,U,g,20,f[23]),U=r(U,k,P,O,T,5,f[24]),O=r(O,U,k,P,I,9,f[25]),P=r(P,O,U,k,p,14,f[26]),k=r(k,P,O,U,m,20,f[27]),U=r(U,k,P,O,b,5,f[28]),O=r(O,U,k,P,d,9,f[29]),P=r(P,O,U,k,_,14,f[30]),k=r(k,P,O,U,A,20,f[31]),U=o(U,k,P,O,v,4,f[32]),O=o(O,U,k,P,m,11,f[33]),P=o(P,O,U,k,w,16,f[34]),k=o(k,P,O,U,I,23,f[35]),U=o(U,k,P,O,h,4,f[36]),O=o(O,U,k,P,g,11,f[37]),P=o(P,O,U,k,_,16,f[38]),k=o(k,P,O,U,S,23,f[39]),U=o(U,k,P,O,b,4,f[40]),O=o(O,U,k,P,l,11,f[41]),P=o(P,O,U,k,p,16,f[42]),k=o(k,P,O,U,y,23,f[43]),U=o(U,k,P,O,T,4,f[44]),O=o(O,U,k,P,A,11,f[45]),P=o(P,O,U,k,E,16,f[46]),k=o(k,P,O,U,d,23,f[47]),U=i(U,k,P,O,l,6,f[48]),O=i(O,U,k,P,_,10,f[49]),P=i(P,O,U,k,I,15,f[50]),k=i(k,P,O,U,v,21,f[51]),U=i(U,k,P,O,A,6,f[52]),O=i(O,U,k,P,p,10,f[53]),P=i(P,O,U,k,S,15,f[54]),k=i(k,P,O,U,h,21,f[55]),U=i(U,k,P,O,m,6,f[56]),O=i(O,U,k,P,E,10,f[57]),P=i(P,O,U,k,y,15,f[58]),k=i(k,P,O,U,b,21,f[59]),U=i(U,k,P,O,g,6,f[60]),O=i(O,U,k,P,w,10,f[61]),P=i(P,O,U,k,d,15,f[62]),k=i(k,P,O,U,T,21,f[63]),c[0]=c[0]+U|0,c[1]=c[1]+k|0,c[2]=c[2]+P|0,c[3]=c[3]+O|0},_doFinalize:function(){var e=this._data,n=e.words,r=8*this._nDataBytes,o=8*e.sigBytes;n[o>>>5]|=128<<24-o%32;var i=t.floor(r/4294967296),a=r;n[15+(o+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),n[14+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),e.sigBytes=4*(n.length+1),this._process();for(var s=this._hash,u=s.words,c=0;c<4;c++){var l=u[c];u[c]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return s},clone:function(){var e=c.clone.call(this);return e._hash=this._hash.clone(),e}});a.MD5=c._createHelper(h),a.HmacMD5=c._createHmacHelper(h)}(Math),e.MD5})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.UPLOADSTATE={INIT:"init",UPLOADING:"uploading",COMPLETE:"complete",INTERRUPT:"interrupt"},t.UPLOADSTEP={INIT:"init",PART:"part",COMPLETE:"complete"},t.UPLOADDEFAULT={PARALLEL:5,PARTSIZE:1048576}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n-1)return"Baiduspider";if(t.indexOf("PlayStation")>-1)return"PS4";var r="Win32"==navigator.platform||"Windows"==navigator.platform||t.indexOf("Windows")>-1,o="Mac68K"==navigator.platform||"MacPPC"==navigator.platform||"Macintosh"==navigator.platform||"MacIntel"==navigator.platform;return o&&(n="macOS"),"X11"==navigator.platform&&!r&&!o&&(n="Unix"),String(navigator.platform).indexOf("Linux")>-1&&(n="Linux"),r?"windows":n},a=function(){var e=navigator.userAgent,t="";return(e.indexOf("Windows NT 5.0")>-1||e.indexOf("Windows 2000")>-1)&&(t="2000"),(e.indexOf("Windows NT 5.1")>-1||e.indexOf("Windows XP")>-1)&&(t="XP"),(e.indexOf("Windows NT 5.2")>-1||e.indexOf("Windows 2003")>-1)&&(t="2003"),(e.indexOf("Windows NT 6.0")>-1||e.indexOf("Windows Vista")>-1)&&(t="Vista"),(e.indexOf("Windows NT 6.1")>-1||e.indexOf("Windows 7")>-1)&&(t="7"),(e.indexOf("Windows NT 6.2")>-1||e.indexOf("Windows 8")>-1)&&(t="8"),(e.indexOf("Windows NT 6.3")>-1||e.indexOf("Windows 8.1")>-1)&&(t="8.1"),(e.indexOf("Windows NT 10")>-1||e.indexOf("Windows 10")>-1)&&(t="10"),t},s=function(e){var t=navigator.userAgent.toLowerCase();return e.chrome?"Chrome":e.firefox?"Firefox":e.safari?"Safari":e.webview?"webview":e.ie?/edge/.test(t)?"Edge":"IE":/baiduspider/.test(t)?"Baiduspider":/ucweb/.test(t)||/UCBrowser/.test(t)?"UC":/opera/.test(t)?"Opera":/ucweb/.test(t)?"UC":/360se/.test(t)?"360浏览器":/bidubrowser/.test(t)?"百度浏览器":/metasr/.test(t)?"搜狗浏览器":/lbbrowser/.test(t)?"猎豹浏览器":/micromessenger/.test(t)?"微信内置浏览器":/qqbrowser/.test(t)?"QQ浏览器":/playstation/.test(t)?"PS4浏览器":void 0},u=function(){var e={},t={},n=navigator.userAgent,r=navigator.platform,o=n.match(/Web[kK]it[\/]{0,1}([\d.]+)/),u=n.match(/(Android);?[\s\/]+([\d.]+)?/),c=!!n.match(/\(Macintosh\; Intel /),l=n.match(/(iPad).*OS\s([\d_]+)/),f=n.match(/(iPod)(.*OS\s([\d_]+))?/),h=!l&&n.match(/(iPhone\sOS)\s([\d_]+)/),d=n.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),p=/Win\d{2}|Windows/.test(r),g=n.match(/Windows Phone ([\d.]+)/),v=d&&n.match(/TouchPad/),y=n.match(/Kindle\/([\d.]+)/),_=n.match(/Silk\/([\d._]+)/),m=n.match(/(BlackBerry).*Version\/([\d.]+)/),T=n.match(/(BB10).*Version\/([\d.]+)/),S=n.match(/(RIM\sTablet\sOS)\s([\d.]+)/),w=n.match(/PlayBook/),A=n.match(/Chrome\/([\d.]+)/)||n.match(/CriOS\/([\d.]+)/),b=n.match(/Firefox\/([\d.]+)/),I=n.match(/\((?:Mobile|Tablet); rv:([\d.]+)\).*Firefox\/[\d.]+/),E=n.match(/MSIE\s([\d.]+)/)||n.match(/Trident\/[\d](?=[^\?]+).*rv:([0-9.].)/),U=!A&&n.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/),k=U||n.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/);if((t.webkit=!!o)&&(t.version=o[1]),u&&(e.android=!0,e.version=u[2]),h&&!f&&(e.ios=e.iphone=!0,e.version=h[2].replace(/_/g,".")),l&&(e.ios=e.ipad=!0,e.version=l[2].replace(/_/g,".")),f&&(e.ios=e.ipod=!0,e.version=f[3]?f[3].replace(/_/g,"."):null),g&&(e.wp=!0,e.version=g[1]),d&&(e.webos=!0,e.version=d[2]),v&&(e.touchpad=!0),m&&(e.blackberry=!0,e.version=m[2]),T&&(e.bb10=!0,e.version=T[2]),S&&(e.rimtabletos=!0,e.version=S[2]),w&&(t.playbook=!0),y&&(e.kindle=!0,e.version=y[1]),_&&(t.silk=!0,t.version=_[1]),!_&&e.android&&n.match(/Kindle Fire/)&&(t.silk=!0),A&&(t.chrome=!0,t.version=A[1]),b&&(t.firefox=!0,t.version=b[1]),I&&(e.firefoxos=!0,e.version=I[1]),E&&(t.ie=!0,t.version=E[1]),k&&(c||e.ios||p||u)&&(t.safari=!0,e.ios||(t.version=k[1])),U&&(t.webview=!0),c){var P=n.match(/[\d]*_[\d]*_[\d]*/);P&&P.length>0&&P[0]&&(e.version=P[0].replace(/_/g,"."))}return e.tablet=!!(l||w||u&&!n.match(/Mobile/)||b&&n.match(/Tablet/)||E&&!n.match(/Phone/)&&n.match(/Touch/)),e.phone=!(e.tablet||e.ipod||!(u||h||d||m||T||A&&n.match(/Android/)||A&&n.match(/CriOS\/([\d.]+)/)||b&&n.match(/Mobile/)||E&&n.match(/Touch/))),e.pc=!e.tablet&&!e.phone,c?e.name="macOS":p?(e.name="windows",e.version=a()):e.name=i(e),t.name=s(t),{os:e,browser:t}}(),c=function(){function e(){r(this,e)}return o(e,null,[{key:"getHost",value:function(e){var t="";if(void 0===e||null==e||""==e)return"";var n=e.indexOf("//"),r=e;n>-1&&(r=e.substring(n+2));var t=r,o=r.split("/");return o&&o.length>0&&(t=o[0]),o=t.split(":"),o&&o.length>0&&(t=o[0]),t}},{key:"os",get:function(){return u.os}},{key:"browser",get:function(){var e=u.browser;return e.name||(e.name=s()),e}}]),e}();t.default=c},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n0){c._invalidUserId=!0;var t=e.Message+",正确账号ID(userId)请参考:https://help.aliyun.com/knowledge_detail/37196.html";console.log(t)}}catch(e){console.log(e)}})})}o&&(u.videoInfo=o?JSON.parse(o).Vod:{},u.userData=f.default.encode(o)),u.ri=m.default.create(),this._uploadList.push(u),this._reportLog("20001",u,{ql:this._uploadList.length});try{this.options.addFileSuccess&&this.options.addFileSuccess(u)}catch(e){console.log(e)}return!0}},{key:"deleteFile",value:function(e){return!!this.cancelFile(e)&&(this._uploadList.splice(e,1),!0)}},{key:"cleanList",value:function(){this.stopUpload(),this._uploadList.length=0,this._curIndex=-1}},{key:"cancelFile",value:function(e){this.options;if(e<0||e>=this._uploadList.length)return!1;var t=this._uploadList[e];if(e==this._curIndex&&t.state==a.UPLOADSTATE.UPLOADING){t.state=a.UPLOADSTATE.CANCELED;var n=this._getCheckoutpoint(t);n&&n.checkpoint&&(n=n.checkpoint),n&&this._ossUpload.abort(t),this._removeCheckoutpoint(t),this.nextUpload()}else t.state!=a.UPLOADSTATE.SUCCESS&&(t.state=a.UPLOADSTATE.CANCELED);return this._reportLog("20008",t),!0}},{key:"resumeFile",value:function(e){this.options;if(e<0||e>=this._uploadList.length)return!1;var t=this._uploadList[e];return t.state==a.UPLOADSTATE.CANCELED&&(t.state=a.UPLOADSTATE.INIT,!0)}},{key:"listFiles",value:function(){return this._uploadList}},{key:"getCheckpoint",value:function(e){return this._getCheckoutpoint({file:e})}},{key:"startUpload",value:function(e){this._retryCount=0;this.options;if(this._state==a.VODSTATE.START||this._state==a.VODSTATE.EXPIRE)return void console.log("already started or expired");if(this._initState(),this._curIndex=this._findUploadIndex(),-1==this._curIndex)return void(this._state=a.VODSTATE.END);var t=this._uploadList[this._curIndex];this._ossUpload=null,this._upload(t),this._state=a.VODSTATE.START}},{key:"nextUpload",value:function(){var e=this.options;if(this._state==a.VODSTATE.START)if(this._curIndex=this._findUploadIndex(),-1!=this._curIndex){var t=this._uploadList[this._curIndex];this._ossUpload=null,this._upload(t)}else{this._state=a.VODSTATE.END;try{e.onUploadEnd&&e.onUploadEnd(t)}catch(e){console.log(e)}}}},{key:"clear",value:function(e){for(var t=this.options,n=0,r=0;rthis._curIndex&&(o=this._uploadList[this._curIndex]),o&&(this.init(e,t,n,r),this._state=a.VODSTATE.START,this._ossUpload=null,this._uploadCore(o,o.retry),o.retry=!1),!0}},{key:"resumeUploadWithSTSToken",value:function(e,t,n){if(-1==this._curIndex)return!1;if(this._state!=a.VODSTATE.EXPIRE)return!1;if(this._uploadList.length>this._curIndex){var r=this._uploadList[this._curIndex];r.object?this._refreshSTSTokenUpload(r,e,t,n):this.setSTSToken(r,e,t,n)}}},{key:"setSTSTokenDirectlyUpload",value:function(e,t,n,r,o){if(!(t&&n&&r&&o))return console.log("accessKeyId、ccessKeySecret、securityToken and expiration should not be empty."),!1;this._ut="oss";var i=e;this.init(t,n,r,o),i.endpoint=i._endpoint,i.bucket=i._bucket,i.object=i._object,this._ossUpload=null,this._uploadCore(i,e.retry),e.retry=!1}},{key:"setSTSToken",value:function(e,t,n,r){if(!t||!n||!r)return console.log("accessKeyId、ccessKeySecret、securityToken should not be empty."),!1;this._ut="vod",this._uploadWay="sts";var o=e.videoInfo,i={accessKeyId:t,securityToken:r,accessKeySecret:n,fileName:e.file.name,title:o.Title,requestId:e.ri,region:this.options.region};o.ImageType&&(i.imageType=o.ImageType),o.ImageExt&&(i.imageExt=o.ImageExt),o.FileSize&&(i.fileSize=o.FileSize),o.Description&&(i.description=o.Description),o.CateId&&(i.cateId=o.CateId),o.Tags&&(i.tags=o.Tags),o.TemplateGroupId&&(i.templateGroupId=o.TemplateGroupId),o.StorageLocation&&(i.storageLocation=o.StorageLocation),o.CoverURL&&(i.coverUrl=o.CoverURL),o.TransCodeMode&&(i.transCodeMode=o.TransCodeMode),o.UserData&&(i.userData=o.UserData);var s=this,u="getUploadAuth";e.videoId?(i.videoId=e.videoId,u="refreshUploadAuth"):e.isImage&&(u="getImageUploadAuth"),S.default[u](i,function(t){e.videoId=t.VideoId?t.VideoId:e.videoId,s.setUploadAuthAndAddress(e,t.UploadAuth,t.UploadAddress),s._state=a.VODSTATE.START},function(t){s._error(e,{name:t.Code,code:t.Code,message:t.Message,requestId:t.RequestId})})}},{key:"setUploadAuthAndAddress",value:function(e,t,n,r){if(!e||!t||!n)return!1;var o=JSON.parse(f.default.decode(t));if(!(o.AccessKeyId&&o.AccessKeySecret&&o.SecurityToken&&o.Expiration))return console.error("uploadauth is invalid"),!1;var i={},a=e;if(n){if(i=JSON.parse(f.default.decode(n)),!i.Endpoint||!i.Bucket||!i.FileName)return console.error("uploadAddress is invalid"),!1}else i.Endpoint=a.endpoint,i.Bucket=a.bucket,i.FileName=a.object;this._ut="vod",this._uploadWay="vod",this.options.region=o.Region||this.options.region,this.init(o.AccessKeyId,o.AccessKeySecret,o.SecurityToken,o.Expiration),a.endpoint=a._endpoint?a._endpoint:i.Endpoint,a.bucket=a._bucket?a._bucket:i.Bucket,a.object=a._object?a._object:i.FileName,a.region=this.options.region,r&&(a.videoId=r),this._ossUpload=null,this._uploadCore(a,e.retry),e.retry=!1}},{key:"_refreshSTSTokenUpload",value:function(e,t,n,r){if(!t||!n||!r)return console.log("accessKeyId、ccessKeySecret、securityToken should not be empty."),!1;var o={accessKeyId:t,securityToken:r,accessKeySecret:n,videoId:e.object,requestId:e.ri,region:this.options.region},i=this,s="refreshUploadAuth";e.isImage&&(s="getImageUploadAuth"),S.default[s](o,function(t){i.setUploadAuthAndAddress(e,t.UploadAuth,UploadAddress),i._state=a.VODSTATE.START},function(t){i._error(e,{name:t.Code,code:t.Code,message:t.Message,requestId:t.RequestId})})}},{key:"_upload",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.options;if(e.retry=t,n.onUploadstarted&&!t)try{var r=this._getCheckoutpoint(e);r&&r.state!=a.UPLOADSTATE.UPLOADING&&(e.checkpoint=r,e.videoId=r.videoId),n.onUploadstarted(e)}catch(e){console.log(e)}}},{key:"_uploadCore",value:function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this._ossCreditor.accessKeyId||!this._ossCreditor.accessKeySecret||!this._ossCreditor.securityToken)throw new Error("AccessKeyId、AccessKeySecret、securityToken should not be null");if(e.state=a.UPLOADSTATE.UPLOADING,!this._ossUpload){e.endpoint=e.endpoint||"http://oss-cn-hangzhou.aliyuncs.com";var t=this;this._ossUpload=new c.default({bucket:e.bucket,endpoint:e.endpoint,AccessKeyId:this._ossCreditor.accessKeyId,AccessKeySecret:this._ossCreditor.accessKeySecret,SecurityToken:this._ossCreditor.securityToken,timeout:this.options.timeout,cname:this.options.cname},{onerror:function(e,n){t._error.call(t,e,n)},oncomplete:function(e,n){t._complete.call(t,e,n)},onprogress:function(e,n,r){t._progress.call(t,e,n,r)}})}var n=y.default.getFileType(e.file.name),r=this._getCheckoutpoint(e),o="",i="";r&&r.checkpoint&&(i=r.state,o=r.videoId,r=r.checkpoint),r&&o==e.videoId&&i!=a.UPLOADSTATE.UPLOADING&&(r.file=e.file,e.checkpoint=r,r.uploadId);var s=this._adjustPartSize(e);this._reportLog("20002",e,{ft:n,fs:e.file.size,bu:e.bucket,ok:e.object,vid:e.videoId||"",fn:e.file.name,fw:null,fh:null,ps:s});var u={headers:{"x-oss-notification":e.userData?e.userData:""},partSize:s,parallel:this.options.parallel};this._ossUpload.upload(e,u)}},{key:"_findUploadIndex",value:function(){for(var e=-1,t=0;t0||"SignatureDoesNotMatchError"==t.name||"SecurityTokenExpired"==t.code||"InvalidSecurityToken.Expired"==t.code||"InvalidAccessKeyId"==t.code&&this._ossCreditor.securityToken){if(this.options.onUploadTokenExpired){this._state=a.VODSTATE.EXPIRE,e.state=a.UPLOADSTATE.FAIlURE;try{this.options.onUploadTokenExpired(e,t)}catch(e){console.log(e)}}return}if(("RequestTimeoutError"==t.name||"ConnectionTimeout"==t.name||"ConnectionTimeoutError"==t.name)&&this._retryTotal>this._retryCount){var n=this;return setTimeout(function(){n._uploadCore(e,!0)},1e3*n._retryDuration),void this._retryCount++}"NoSuchUploadError"==t.name&&this._removeCheckoutpoint(e),this._handleError(e,t)}}},{key:"_handleError",value:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=a.UPLOADSTATE.FAIlURE;if(e.state!=a.UPLOADSTATE.CANCELED&&(e.state=a.UPLOADSTATE.FAIlURE,this._state=a.VODSTATE.FAILURE,this.options.onUploadFailed&&t&&t.code&&t.message))try{this.options.onUploadFailed(e,t.code,t.message)}catch(e){console.log(e)}if(n&&this._changeState(e,r),this._reportLog("20006",e,{code:t.name,message:t.message,requestId:t.requestId,fs:e.file.size,bu:e.bucket,ok:e.object,fn:e.file.name}),this._reportLog("20004",e,{requestId:t.requestId,fs:e.file.size,bu:e.bucket,ok:e.object,fn:e.file.name}),e.ri=m.default.create(),-1!=this._findUploadIndex()){var o=this;this._state=a.VODSTATE.START,setTimeout(function(){o.nextUpload()},100)}}},{key:"_complete",value:function(e,t){if(e.state=a.UPLOADSTATE.SUCCESS,this.options.onUploadSucceed)try{this.options.onUploadSucceed(e)}catch(e){console.log(e)}var n=0;t&&t.res&&t.res.headers&&(n=t.res.headers["x-oss-request-id"]),this._removeCheckoutpoint(e);var r=this;setTimeout(function(){r.nextUpload()},100),this._retryCount=0,this._reportLog("20003",e,{requestId:n})}},{key:"_progress",value:function(e,t,n){if(this.options.onUploadProgress)try{e.loaded=t.loaded,this.options.onUploadProgress(e,t.total,t.loaded)}catch(e){console.log(e)}var r=t.checkpoint,o=0;r&&(e.checkpoint=r,this._saveCheckoutpoint(e,r,a.UPLOADSTATE.UPLOADING),o=r.uploadId),this._retryCount=0;var i=this._getPortNumber(r),s=0;if(n&&n.headers&&(s=n.headers["x-oss-request-id"]),0!=t.loaded&&this._reportLog("20007",e,{pn:i,requestId:s}),1!=t.loaded&&this._reportLog("20005",e,{UploadId:o,pn:i+1,pr:e.retry?1:0,fs:e.file.size,bu:e.bucket,ok:e.object,fn:e.file.name}),!this._invalidUserId&&!e.isImage&&"vod"==this._ut&&this.options.enableUploadProgress){var u={file:e.file,checkpoint:t,userId:this.options.userId,videoId:e.videoId,region:this.options.region,fileHash:e.fileHash};try{var c=this;A.default.upload(u,function(){},function(e){if((e=JSON.parse(e))&&"InvalidParameter"==e.Code&&e.Message.indexOf("UserId")>0){c._invalidUserId=!0;var t=e.Message+",正确账号ID(userId)请参考:https://help.aliyun.com/knowledge_detail/37196.html";console.log(t)}})}catch(e){console.log(e)}}}},{key:"_getPortNumber",value:function(e){if(e){var t=e.doneParts;if(t&&t.length>0)return t[t.length-1].number}return 0}},{key:"_removeCheckoutpoint",value:function(e){var t=this._getCheckoutpointKey(e);d.default.remove(t)}},{key:"_getCheckoutpoint",value:function(e){var t=this._getCheckoutpointKey(e),n=d.default.get(t);if(n)try{return JSON.parse(n)}catch(e){}return""}},{key:"_saveCheckoutpoint",value:function(e,t,n){if(t){var r=this._getCheckoutpointKey(e),o=e.file,i={fileName:o.name,lastModified:o.lastModified,size:o.size,object:e.object,videoId:e.videoId,bucket:e.bucket,endpoint:e.endpoint,checkpoint:t,loaded:e.loaded,state:n};d.default.set(r,JSON.stringify(i))}}},{key:"_changeState",value:function(e,t){var n=this._getCheckoutpoint(e);n&&((this._onbeforeunload=!0)&&(t=a.UPLOADSTATE.STOPED),this._saveCheckoutpoint(e,n.checkpoint,t))}},{key:"_getCheckoutpointKey",value:function(e){return"upload_"+e.file.lastModified+"_"+e.file.name+"_"+e.file.size}},{key:"_getCheckoutpointFromCloud",value:function(e,t,n){var r={userId:this.options.userId,uploadInfoList:[{FileName:e.file.name,FileSize:e.file.size,FileCreateTime:e.file.lastModified,FileHash:e.fileHash}],region:this.options.region};A.default.get(r,function(e){t(e)},n)}},{key:"_reportLog",value:function(e,t,n){n||(n={}),n.ri=t.ri,this._ut&&(n.ut=this._ut),this._log.log(e,n)}},{key:"_initEvent",value:function(){var e=this;window&&(window.onbeforeunload=function(t){if(e._onbeforeunload=!0,-1!=e._curIndex&&e._uploadList.length>e._curIndex){var n=e._uploadList[e._curIndex];e._changeState(n,a.UPLOADSTATE.STOPED)}})}},{key:"_initState",value:function(){for(var e=0;e1e4?e.file.size/9999:this.options.partSize}}]),e}());t.default=E},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.UPLOADSTATE={INIT:"Ready",UPLOADING:"Uploading",SUCCESS:"Success",FAIlURE:"Failure",CANCELED:"Canceled",STOPED:"Stoped"},t.VODSTATE={INIT:"Init",START:"Start",STOP:"Stop",FAILURE:"Failure",EXPIRE:"Expire",END:"End"}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n=r())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r().toString(16)+" bytes");return 0|e}function g(e){return+e!=e&&(e=0),i.alloc(+e)}function v(e,t){if(i.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return q(e).length;default:if(r)return H(e).length;t=(""+t).toLowerCase(),r=!0}}function y(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return L(this,t,n);case"utf8":case"utf-8":return k(this,t,n);case"ascii":return O(this,t,n);case"latin1":case"binary":return C(this,t,n);case"base64":return U(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function _(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function m(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=i.from(t,r)),i.isBuffer(t))return 0===t.length?-1:T(e,t,n,r,o);if("number"==typeof t)return t&=255,i.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):T(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function T(e,t,n,r,o){function i(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}var c;if(o){var l=-1;for(c=n;cs&&(n=s-u),c=n;c>=0;c--){for(var f=!0,h=0;ho&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var a=0;a239?4:i>223?3:i>191?2:1;if(o+s<=n){var u,c,l,f;switch(s){case 1:i<128&&(a=i);break;case 2:u=e[o+1],128==(192&u)&&(f=(31&i)<<6|63&u)>127&&(a=f);break;case 3:u=e[o+1],c=e[o+2],128==(192&u)&&128==(192&c)&&(f=(15&i)<<12|(63&u)<<6|63&c)>2047&&(f<55296||f>57343)&&(a=f);break;case 4:u=e[o+1],c=e[o+2],l=e[o+3],128==(192&u)&&128==(192&c)&&128==(192&l)&&(f=(15&i)<<18|(63&u)<<12|(63&c)<<6|63&l)>65535&&f<1114112&&(a=f)}}null===a?(a=65533,s=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),o+=s}return P(r)}function P(e){var t=e.length;if(t<=$)return String.fromCharCode.apply(String,e);for(var n="",r=0;rr)&&(n=r);for(var o="",i=t;in)throw new RangeError("Trying to access beyond buffer length")}function x(e,t,n,r,o,a){if(!i.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function M(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function B(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function N(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function F(e,t,n,r,o){return o||N(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(e,t,n,r,23,4),n+4}function j(e,t,n,r,o){return o||N(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(e,t,n,r,52,8),n+8}function K(e){if(e=z(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function z(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function V(e){return e<16?"0"+e.toString(16):e.toString(16)}function H(e,t){t=t||1/0;for(var n,r=e.length,o=null,i=[],a=0;a55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function Y(e){for(var t=[],n=0;n>8,o=n%256,i.push(o),i.push(r);return i}function q(e){return X.toByteArray(K(e))}function J(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function G(e){return e!==e}/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +var X=n(21),Z=n(22),Q=n(23);t.Buffer=i,t.SlowBuffer=g,t.INSPECT_MAX_BYTES=50,i.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),i.poolSize=8192,i._augment=function(e){return e.__proto__=i.prototype,e},i.from=function(e,t,n){return a(null,e,t,n)},i.TYPED_ARRAY_SUPPORT&&(i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&i[Symbol.species]===i&&Object.defineProperty(i,Symbol.species,{value:null,configurable:!0})),i.alloc=function(e,t,n){return u(null,e,t,n)},i.allocUnsafe=function(e){return c(null,e)},i.allocUnsafeSlow=function(e){return c(null,e)},i.isBuffer=function(e){return!(null==e||!e._isBuffer)},i.compare=function(e,t){if(!i.isBuffer(e)||!i.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,a=Math.min(n,r);o0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},i.prototype.compare=function(e,t,n,r,o){if(!i.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,o>>>=0,this===e)return 0;for(var a=o-r,s=n-t,u=Math.min(a,s),c=this.slice(r,o),l=e.slice(t,n),f=0;fo)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return S(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return A(this,e,t,n);case"latin1":case"binary":return b(this,e,t,n);case"base64":return I(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var $=4096;i.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(o*=256);)r+=this[e+--t]*o;return r},i.prototype.readUInt8=function(e,t){return t||R(e,1,this.length),this[e]},i.prototype.readUInt16LE=function(e,t){return t||R(e,2,this.length),this[e]|this[e+1]<<8},i.prototype.readUInt16BE=function(e,t){return t||R(e,2,this.length),this[e]<<8|this[e+1]},i.prototype.readUInt32LE=function(e,t){return t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},i.prototype.readUInt32BE=function(e,t){return t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},i.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],o=1,i=0;++i=o&&(r-=Math.pow(2,8*t)),r},i.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*t)),i},i.prototype.readInt8=function(e,t){return t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},i.prototype.readInt16LE=function(e,t){t||R(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},i.prototype.readInt16BE=function(e,t){t||R(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},i.prototype.readInt32LE=function(e,t){return t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},i.prototype.readInt32BE=function(e,t){return t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},i.prototype.readFloatLE=function(e,t){return t||R(e,4,this.length),Z.read(this,e,!0,23,4)},i.prototype.readFloatBE=function(e,t){return t||R(e,4,this.length),Z.read(this,e,!1,23,4)},i.prototype.readDoubleLE=function(e,t){return t||R(e,8,this.length),Z.read(this,e,!0,52,8)},i.prototype.readDoubleBE=function(e,t){return t||R(e,8,this.length),Z.read(this,e,!1,52,8)},i.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){x(this,e,t,n,Math.pow(2,8*n)-1,0)}var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+n},i.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||x(this,e,t,1,255,0),i.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},i.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||x(this,e,t,2,65535,0),i.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},i.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||x(this,e,t,2,65535,0),i.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},i.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||x(this,e,t,4,4294967295,0),i.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):B(this,e,t,!0),t+4},i.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||x(this,e,t,4,4294967295,0),i.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},i.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);x(this,e,t,n,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i>0)-s&255;return t+n},i.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);x(this,e,t,n,o-1,-o)}var i=n-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},i.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||x(this,e,t,1,127,-128),i.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},i.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||x(this,e,t,2,32767,-32768),i.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},i.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||x(this,e,t,2,32767,-32768),i.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},i.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||x(this,e,t,4,2147483647,-2147483648),i.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):B(this,e,t,!0),t+4},i.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||x(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),i.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},i.prototype.writeFloatLE=function(e,t,n){return F(this,e,t,!0,n)},i.prototype.writeFloatBE=function(e,t,n){return F(this,e,t,!1,n)},i.prototype.writeDoubleLE=function(e,t,n){return j(this,e,t,!0,n)},i.prototype.writeDoubleBE=function(e,t,n){return j(this,e,t,!1,n)},i.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(a<1e3||!i.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var a;if("number"==typeof e)for(a=t;a0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function o(e){return 3*e.length/4-r(e)}function i(e){var t,n,o,i,a,s=e.length;i=r(e),a=new f(3*s/4-i),n=i>0?s-4:s;var u=0;for(t=0;t>16&255,a[u++]=o>>8&255,a[u++]=255&o;return 2===i?(o=l[e.charCodeAt(t)]<<2|l[e.charCodeAt(t+1)]>>4,a[u++]=255&o):1===i&&(o=l[e.charCodeAt(t)]<<10|l[e.charCodeAt(t+1)]<<4|l[e.charCodeAt(t+2)]>>2,a[u++]=o>>8&255,a[u++]=255&o),a}function a(e){return c[e>>18&63]+c[e>>12&63]+c[e>>6&63]+c[63&e]}function s(e,t,n){for(var r,o=[],i=t;iu?u:a+16383));return 1===r?(t=e[n-1],o+=c[t>>2],o+=c[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=c[t>>10],o+=c[t>>4&63],o+=c[t<<2&63],o+="="),i.push(o),i.join("")}t.byteLength=o,t.toByteArray=i,t.fromByteArray=u;for(var c=[],l=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=0,p=h.length;d>1,l=-7,f=n?o-1:0,h=n?-1:1,d=e[t+f];for(f+=h,i=d&(1<<-l)-1,d>>=-l,l+=s;l>0;i=256*i+e[t+f],f+=h,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=256*a+e[t+f],f+=h,l-=8);if(0===i)i=1-c;else{if(i===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),i-=c}return(d?-1:1)*a*Math.pow(2,i-r)},t.write=function(e,t,n,r,o,i){var a,s,u,c=8*i-o-1,l=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:i-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),t+=a+f>=1?h/u:h*Math.pow(2,1-f),t*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(t*u-1)*Math.pow(2,o),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,o),a=0));o>=8;e[n+d]=255&s,d+=p,s/=256,o-=8);for(a=a<0;e[n+d]=255&a,d+=p,a/=256,c-=8);e[n+d-p]|=128*g}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n>>31}var f=(r<<5|r>>>27)+u+a[c];f+=c<20?1518500249+(o&i|~o&s):c<40?1859775393+(o^i^s):c<60?(o&i|o&s|i&s)-1894007588:(o^i^s)-899497514,u=s,s=i,i=o<<30|o>>>2,o=r,r=f}n[0]=n[0]+r|0,n[1]=n[1]+o|0,n[2]=n[2]+i|0,n[3]=n[3]+s|0,n[4]=n[4]+u|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(s),t.HmacSHA1=o._createHmacHelper(s)}(),e.SHA1})},function(e,t,n){!function(r,o){e.exports=t=o(n(0))}(0,function(e){!function(){var t=e,n=t.lib,r=n.Base,o=t.enc,i=o.Utf8,a=t.algo;a.HMAC=r.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=i.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),a=this._iKey=t.clone(),s=o.words,u=a.words,c=0;c>>6-a%4*2;r[i>>>2]|=(s|u)<<24-i%4*8,i++}return o.create(r,i)}var n=e,r=n.lib,o=r.WordArray,i=n.enc;i.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var o=[],i=0;i>>2]>>>24-i%4*8&255,s=t[i+1>>>2]>>>24-(i+1)%4*8&255,u=t[i+2>>>2]>>>24-(i+2)%4*8&255,c=a<<16|s<<8|u,l=0;l<4&&i+.75*l>>6*(3-l)&63));var f=r.charAt(64);if(f)for(;o.length%4;)o.push(f);return o.join("")},parse:function(e){var n=e.length,r=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var i=0;i0&&(t=e.UploadProgress.UploadProgressList[0],r=t.ClientId),f.default.setClientId(r),n&&n(t)},function(e){e&&(r(e),console.log(e))})}}]),e}();t.default=S},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n0?e["Content-Type"]=t.mime:e["Content-Type"]=y.getType(t.mime||v.extname(t.object||""))||"application/octet-stream"),t.content&&(e["Content-Md5"]=m.createHash("md5").update(new n(t.content,"utf8")).digest("base64"),e["Content-Length"]||(e["Content-Length"]=t.content.length));var r=this._getResource(t);e.authorization=this.authorization(t.method,r,t.subres,e);var i=this._getReqUrl(t);h("request %s %s, with headers %j, !!stream: %s",t.method,i,e,!!t.stream);var a=t.timeout||this.options.timeout;return{url:i,params:{agent:this.agent,method:t.method,content:t.content,stream:t.stream,headers:e,timeout:a,writeStream:t.writeStream,customResponse:t.customResponse,ctx:t.ctx||this.ctx}}},L.request=p.default.mark(function t(e){var r,n,i,o;return p.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return r=this.createRequest(e),n=void 0,i=void 0,t.prev=3,t.next=6,this.urllib.request(r.url,r.params);case 6:n=t.sent,h("response %s %s, got %s, headers: %j",e.method,r.url,n.status,n.headers),t.next=13;break;case 10:t.prev=10,t.t0=t.catch(3),i=t.t0;case 13:if(o=void 0,!n||!e.successStatuses||-1!==e.successStatuses.indexOf(n.status)){t.next=26;break}return t.next=17,this.requestError(n);case 17:if(o=t.sent,"RequestTimeTooSkewed"!==o.code){t.next=23;break}return this.options.amendTimeSkewed=+new Date(o.serverTime)-new Date,t.next=22,this.request(e);case 22:return t.abrupt("return",t.sent);case 23:o.params=e,t.next=30;break;case 26:if(!i){t.next=30;break}return t.next=29,this.requestError(i);case 29:o=t.sent;case 30:if(!o){t.next=32;break}throw o;case 32:if(!e.xmlResponse){t.next=36;break}return t.next=35,this.parseXML(n.data);case 35:n.data=t.sent;case 36:return t.abrupt("return",n);case 37:case"end":return t.stop()}},t,this,[[3,10]])}),L._getResource=function(t){var e="/";return t.bucket&&(e+=t.bucket+"/"),t.object&&(e+=t.object),e},L._isIP=function(t){return P._isIP(t)},L._escape=function(t){return k.encodeURIComponent(t).replace(/%2F/g,"/")},L._getReqUrl=function(t){var e={};b(this.options.endpoint).to(e);var r=this._isIP(e.hostname),n=this.options.cname;!t.bucket||n||r||(e.host=t.bucket+"."+e.host);var i="/";t.bucket&&r&&(i+=t.bucket+"/"),t.object&&(i+=this._escape(t.object).replace(/\+/g,"%2B")),e.pathname=i;var o={};if(t.query&&x(o,t.query),t.subres){var a={};S.string(t.subres)?a[t.subres]="":S.array(t.subres)?t.subres.forEach(function(t){a[t]=""}):a=t.subres,x(o,a)}return e.query=o,E.format(e)},L._getUserAgent=function(){var t=r&&r.browser?"js":"nodejs",e="aliyun-sdk-"+t+"/"+O.version,n=T.description;return!n&&r&&(n="Node.js "+r.version.slice(1)+" on "+r.platform+" "+r.arch),this._checkUserAgent(e+" "+n)},L._checkUserAgent=function(t){return t.replace(/\u03b1/,"alpha").replace(/\u03b2/,"beta")},L.checkBrowserAndVersion=function(t,e){return N.name===t&&N.version.split(".")[0]===e},L.parseXML=function(t){return function(e){n.isBuffer(t)&&(t=t.toString()),g.parseString(t,{explicitRoot:!1,explicitArray:!1},e)}},L.requestError=p.default.mark(function t(e){var r,n,i,o;return p.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r=null,e.data&&e.data.length){t.next=5;break}-1===e.status||-2===e.status?(r=new Error(e.message),r.name=e.name,r.status=e.status,r.code=e.name):(404===e.status?(r=new Error("Object not exists"),r.name="NoSuchKeyError",r.status=404,r.code="NoSuchKey"):412===e.status?(r=new Error("Pre condition failed"),r.name="PreconditionFailedError",r.status=412,r.code="PreconditionFailed"):(r=new Error("Unknow error, status: "+e.status),r.name="UnknowError",r.status=e.status),r.requestId=e.headers["x-oss-request-id"],r.host=""),t.next=30;break;case 5:return n=String(e.data),h("request response error data: %s",n),i=void 0,t.prev=8,t.next=11,this.parseXML(n)||{};case 11:i=t.sent,t.next=21;break;case 14:return t.prev=14,t.t0=t.catch(8),h(n),t.t0.message+="\nraw xml: "+n,t.t0.status=e.status,t.t0.requestId=e.headers["x-oss-request-id"],t.abrupt("return",t.t0);case 21:o=i.Message||"unknow request error, status: "+e.status,i.Condition&&(o+=" (condition: "+i.Condition+")"),r=new Error(o),r.name=i.Code?i.Code+"Error":"UnknowError",r.status=e.status,r.code=i.Code,r.requestId=i.RequestId,r.hostId=i.HostId,r.serverTime=i.ServerTime;case 30:return h("generate error %j",r),t.abrupt("return",r);case 32:case"end":return t.stop()}},t,this,[[8,14]])})}).call(this,t("_process"),t("buffer").Buffer)},{"../common/multipart":8,"../common/signUtils":9,"../common/thunkpool.js":10,"../common/utils":11,"./../../shims/crypto/crypto.js":237,"./managed_upload":3,"./object":4,"./version":5,"./wrapper":6,_process:173,agentkeepalive:12,"babel-runtime/core-js/object/keys":23,"babel-runtime/regenerator":33,bowser:35,buffer:38,"copy-to":43,dateformat:154,debug:155,"humanize-ms":160,"is-type-of":165,"merge-descriptors":168,mime:242,path:170,platform:171,url:203,urllib:244,utility:243,xml2js:213}],3:[function(t,e,r){(function(e){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(this instanceof i))return new i(t,e);v.call(this,e),this.file=t,this.reader=new FileReader,this.start=0,this.finish=!1,this.fileBuffer=null}var o=t("babel-runtime/core-js/array/from"),a=n(o),s=t("babel-runtime/regenerator"),c=n(s),u=t("is-type-of"),l=t("util"),p=t("path"),f=t("mime"),d=t("copy-to"),h=r;h.multipartUpload=c.default.mark(function t(e,r,n){var i,o,a,s,l,d,h,m,v;return c.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.resetCancelFlag(),n=n||{},!n.checkpoint||!n.checkpoint.uploadId){t.next=6;break}return t.next=5,this._resumeMultipart(n.checkpoint,n);case 5:return t.abrupt("return",t.sent);case 6:return i=102400,n.mime||(u.file(r)?n.mime=f.getType(p.extname(r.name)):u.blob(r)?n.mime=r.type:n.mime=f.getType(p.extname(r))),n.headers=n.headers||{},this._convertMetaToHeaders(n.meta,n.headers),t.next=12,this._getFileSize(r);case 12:if(!((o=t.sent)0&&d(u).to(p),f=this._divideParts(i,o),h=f.length,m=!1,v=c.default.mark(function t(i,o){var a,d,v;return c.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(i.isCancel()){t.next=21;break}return t.prev=1,a=f[o-1],d={stream:i._createStream(n,a.start,a.end),size:a.end-a.start},t.next=6,i._uploadPart(l,s,o,d);case 6:if(v=t.sent,i.isCancel()||m){t.next=13;break}if(e.doneParts.push({number:o,etag:v.res.headers.etag}),p.push({number:o,etag:v.res.headers.etag}),!r||!r.progress){t.next=13;break}return t.next=13,r.progress(u.length/h,e,v.res);case 13:t.next=21;break;case 15:if(t.prev=15,t.t0=t.catch(1),i.isCancel()){t.next=21;break}throw i.cancel(),t.t0.partNum=o,t.t0;case 21:case"end":return t.stop()}},t,this,[[1,15]])}),b=(0,a.default)(new Array(h),function(t,e){return e+1}),y=p.map(function(t){return t.number}),g=b.filter(function(t){return y.indexOf(t)<0}),_=5,w=r.parallel||_,!this.checkBrowserAndVersion("Internet Explorer","10")&&1!==w){t.next=26;break}x=0;case 16:if(!(x0)){t.next=37;break}throw this.resetCancelFlag(),k=T[0],k.message="Failed to upload some parts with error: "+k.toString()+" part_num: "+k.partNum,k;case 37:if(!this.isCancel()){t.next=40;break}throw E=null,this._makeCancelEvent();case 40:return t.next=42,this.completeMultipartUpload(l,s,p,r);case 42:return t.abrupt("return",t.sent);case 43:case"end":return t.stop()}},t,this)}),u.file=function(t){return"undefined"!=typeof File&&t instanceof File},u.blob=function(t){return"undefined"!=typeof Blob&&t instanceof Blob},h._getFileSize=c.default.mark(function t(e){var r;return c.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!u.buffer(e)){t.next=4;break}return t.abrupt("return",e.length);case 4:if(!u.blob(e)&&!u.file(e)){t.next=6;break}return t.abrupt("return",e.size);case 6:if(!u.string(e)){t.next=11;break}return t.next=9,this._statFile(e);case 9:return r=t.sent,t.abrupt("return",r.size);case 11:throw new Error("_getFileSize requires Buffer/File/String.");case 12:case"end":return t.stop()}},t,this)});var m=t("stream"),v=m.Readable;l.inherits(i,v),i.prototype.readFileAndPush=function(t){if(this.fileBuffer)for(var e=!0;e&&this.fileBuffer&&this.startthis.fileBuffer.length?this.fileBuffer.length:n,this.start=n,e=this.push(this.fileBuffer.slice(r,n))}},i.prototype._read=function(t){if(this.file&&this.start>=this.file.size||this.fileBuffer&&this.start>=this.fileBuffer.length||this.finish||0===this.start&&!this.file)return this.finish||(this.fileBuffer=null,this.finish=!0),void this.push(null);t=t||16384;var r=this;this.reader.onload=function(n){r.fileBuffer=new e(new Uint8Array(n.target.result)),r.file=null,r.readFileAndPush(t)},0===this.start?this.reader.readAsArrayBuffer(this.file):this.readFileAndPush(t)},h._createStream=function(t,e,r){if(u.blob(t)||u.file(t))return new i(t.slice(e,r));throw new Error("_createStream requires File/String.")},h._getPartSize=function(t,e){return e?Math.max(Math.ceil(t/1e4),e):1048576},h._divideParts=function(t,e){for(var r=Math.ceil(t/e),n=[],i=0;i\n\n',r.quiet?n+=" true\n":n+=" false\n",i=0;i"+u.escape(this._objectName(e[i]))+"\n";return n+="",c("delete multi objects: %s",n),r.subres="delete",o=this._objectRequestParams("POST","",r),o.mime="xml",o.content=n,o.xmlResponse=!0,o.successStatuses=[200],t.next=14,this.request(o);case 14:return a=t.sent,l=a.data,p=l&&l.Deleted||null,p&&(Array.isArray(p)||(p=[p]),p=p.map(function(t){return t.Key})),t.abrupt("return",{res:a.res,deleted:p});case 19:case"end":return t.stop()}},t,this)}),y.copy=s.default.mark(function t(e,r,n){var i,a,c;return s.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=n||{},n.headers=n.headers||{},(0,o.default)(n.headers).forEach(function(t){n.headers["x-oss-copy-source-"+t.toLowerCase()]=n.headers[t]}),n.meta&&(n.headers["x-oss-metadata-directive"]="REPLACE"),this._convertMetaToHeaders(n.meta,n.headers),r="/"!==r[0]?"/"+this.options.bucket+"/"+encodeURIComponent(r):"/"+encodeURIComponent(r.slice(1)),n.headers["x-oss-copy-source"]=r,i=this._objectRequestParams("PUT",e,n),i.xmlResponse=!0,i.successStatuses=[200,304],t.next=12,this.request(i);case 12:return a=t.sent,c=a.data,c&&(c={etag:c.ETag,lastModified:c.LastModified}),t.abrupt("return",{data:c,res:a.res});case 16:case"end":return t.stop()}},t,this)}),y.putMeta=s.default.mark(function t(e,r,n){return s.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.copy(e,e,{meta:r||{},timeout:n&&n.timeout,ctx:n&&n.ctx});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t,this)}),y.list=s.default.mark(function t(e,r){var n,i,o,a,c;return s.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=this._objectRequestParams("GET","",r),n.query=e,n.xmlResponse=!0,n.successStatuses=[200],t.next=6,this.request(n);case 6:return i=t.sent,o=i.data.Contents,a=this,o&&(Array.isArray(o)||(o=[o]),o=o.map(function(t){return{name:t.Key,url:a._objectUrl(t.Key),lastModified:t.LastModified,etag:t.ETag,type:t.Type,size:Number(t.Size),storageClass:t.StorageClass,owner:{id:t.Owner.ID,displayName:t.Owner.DisplayName}}})),c=i.data.CommonPrefixes||null,c&&(Array.isArray(c)||(c=[c]),c=c.map(function(t){return t.Prefix})),t.abrupt("return",{res:i.res,objects:o,prefixes:c,nextMarker:i.data.NextMarker||null,isTruncated:"true"===i.data.IsTruncated});case 13:case"end":return t.stop()}},t,this)}),y.putACL=s.default.mark(function t(e,r,n){var i,o;return s.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=n||{},n.subres="acl",n.headers=n.headers||{},n.headers["x-oss-object-acl"]=r,e=this._objectName(e),i=this._objectRequestParams("PUT",e,n),i.successStatuses=[200],t.next=9,this.request(i);case 9:return o=t.sent,t.abrupt("return",{res:o.res});case 11:case"end":return t.stop()}},t,this)}),y.getACL=s.default.mark(function t(e,r){var n,i;return s.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return r=r||{},r.subres="acl",e=this._objectName(e),n=this._objectRequestParams("GET",e,r),n.successStatuses=[200],n.xmlResponse=!0,t.next=8,this.request(n);case 8:return i=t.sent,t.abrupt("return",{acl:i.data.AccessControlList.Grant,owner:{id:i.data.Owner.ID,displayName:i.data.Owner.DisplayName},res:i.res});case 10:case"end":return t.stop()}},t,this)}),y.restore=s.default.mark(function t(e,r){var n,i;return s.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return r=r||{},r.subres="restore",n=this._objectRequestParams("POST",e,r),n.successStatuses=[202],t.next=6,this.request(n);case 6:return i=t.sent,t.abrupt("return",{res:i.res});case 8:case"end":return t.stop()}},t,this)}),y.signatureUrl=function(t,e){e=e||{},t=this._objectName(t),e.method=e.method||"GET";var r=u.timestamp()+(e.expires||1800),n={bucket:this.options.bucket,object:t},i=this._getResource(n);this.options.stsToken&&(e["security-token"]=this.options.stsToken);var o=b._signatureForURL(this.options.accessKeySecret,e,i,r),a=f.parse(this._getReqUrl(n));return a.query={OSSAccessKeyId:this.options.accessKeyId,Expires:r,Signature:o.Signature},d(o.subResource).to(a.query),a.format()},y.getObjectUrl=function(t,e){return e?"/"!==e[e.length-1]&&(e+="/"):e=this.options.endpoint.format(),e+this._escape(this._objectName(t))},y._objectUrl=function(t){return this._getReqUrl({bucket:this.options.bucket,object:t})},y.generateObjectUrl=function(t,e){if(e)"/"!==e[e.length-1]&&(e+="/");else{e=this.options.endpoint.format();var r=f.parse(e),n=this.options.bucket;r.hostname=n+"."+r.hostname,r.host=n+"."+r.host,e=r.format()}return e+this._escape(this._objectName(t))},y._objectRequestParams=function(t,e,r){if(!this.options.bucket)throw new Error("Please create a bucket first");r=r||{},e=this._objectName(e);var n={object:e,bucket:this.options.bucket,method:t,subres:r&&r.subres,timeout:r&&r.timeout,ctx:r&&r.ctx};return r.headers&&(n.headers={},d(r.headers).to(n.headers)),n},y._objectName=function(t){return t.replace(/^\/+/,"")},y._statFile=function(t){return function(e){l.stat(t,e)}},y._convertMetaToHeaders=function(t,e){t&&(0,o.default)(t).forEach(function(r){e["x-oss-meta-"+r]=t[r]})},y._deleteFileSafe=function(t){return function(e){l.exists(t,function(r){r?l.unlink(t,function(r){r&&c("unlink %j error: %s",t,r),e()}):e()})}}},{"../common/callback":7,"../common/signUtils":9,"babel-runtime/core-js/object/keys":23,"babel-runtime/regenerator":33,"copy-to":43,debug:155,fs:36,"is-type-of":165,mime:242,path:170,url:203,utility:243}],5:[function(t,e,r){"use strict";r.version="5.3.1"},{}],6:[function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t){return t&&"function"==typeof t.next&&"function"==typeof t.throw}function o(t){if(!t)return!1;var e=t.constructor;return!!e&&("GeneratorFunction"===e.name||"GeneratorFunction"===e.displayName||(i(e.prototype)||i(t.prototype)))}function a(t,e){var r=new t(e),n=(0,p.default)(r),i=(0,p.default)((0,u.default)(r));n.concat(i).forEach(function(t){o(r[t])?this[t]=f.wrap(r[t]).bind(r):this[t]=r[t]},this)}function s(t){if(!(this instanceof s))return new s(t);a.call(this,d,t)}var c=t("babel-runtime/core-js/object/get-prototype-of"),u=n(c),l=t("babel-runtime/core-js/object/keys"),p=n(l),f=t("co"),d=t("./client");e.exports=s,s.STS=function t(e){if(!(this instanceof t))return new t(e);a.call(this,d.STS,e)}},{"./client":2,"babel-runtime/core-js/object/get-prototype-of":22,"babel-runtime/core-js/object/keys":23,co:41}],7:[function(t,e,r){(function(e){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}var i=t("babel-runtime/core-js/object/keys"),o=n(i),a=t("babel-runtime/core-js/json/stringify"),s=n(a);r.encodeCallback=function(t,r){if(t.headers=t.headers||{},!Object.prototype.hasOwnProperty.call(t.headers,"x-oss-callback")&&r.callback){var n={callbackUrl:encodeURI(r.callback.url),callbackBody:r.callback.body};r.callback.host&&(n.callbackHost=r.callback.host),r.callback.contentType&&(n.callbackBodyType=r.callback.contentType);var i=new e((0,s.default)(n)).toString("base64");if(t.headers["x-oss-callback"]=i,r.callback.customValue){var a={};(0,o.default)(r.callback.customValue).forEach(function(t){a["x:"+t]=r.callback.customValue[t]}),t.headers["x-oss-callback-var"]=new e((0,s.default)(a)).toString("base64")}}}}).call(this,t("buffer").Buffer)},{"babel-runtime/core-js/json/stringify":17,"babel-runtime/core-js/object/keys":23,buffer:38}],8:[function(t,e,r){"use strict";var n=t("babel-runtime/regenerator"),i=function(t){return t&&t.__esModule?t:{default:t}}(n),o=t("copy-to"),a=t("./callback"),s=r;s.listUploads=i.default.mark(function t(e,r){var n,a,s,c;return i.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return r=r||{},n={},o(r).to(n),n.subres="uploads",a=this._objectRequestParams("GET","",n),a.query=e,a.xmlResponse=!0,a.successStatuses=[200],t.next=10,this.request(a);case 10:return s=t.sent,c=s.data.Upload||[],Array.isArray(c)||(c=[c]),c=c.map(function(t){return{name:t.Key,uploadId:t.UploadId,initiated:t.Initiated}}),t.abrupt("return",{res:s.res,uploads:c,bucket:s.data.Bucket,nextKeyMarker:s.data.NextKeyMarker,nextUploadIdMarker:s.data.NextUploadIdMarker,isTruncated:"true"===s.data.IsTruncated});case 15:case"end":return t.stop()}},t,this)}),s.listParts=i.default.mark(function t(e,r,n,a){var s,c,u;return i.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=a||{},s={},o(a).to(s),s.subres={uploadId:r},c=this._objectRequestParams("GET",e,s),c.query=n,c.xmlResponse=!0,c.successStatuses=[200],t.next=10,this.request(c);case 10:return u=t.sent,t.abrupt("return",{res:u.res,uploadId:u.data.UploadId,bucket:u.data.Bucket,name:u.data.Key,partNumberMarker:u.data.PartNumberMarker,nextPartNumberMarker:u.data.NextPartNumberMarker,maxParts:u.data.MaxParts,isTruncated:u.data.IsTruncated,parts:u.data.Part||[]});case 12:case"end":return t.stop()}},t,this)}),s.abortMultipartUpload=i.default.mark(function t(e,r,n){var a,s,c;return i.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.cancel(),n=n||{},a={},o(n).to(a),a.subres={uploadId:r},s=this._objectRequestParams("DELETE",e,a),s.successStatuses=[204],t.next=9,this.request(s);case 9:return c=t.sent,t.abrupt("return",{res:c.res});case 11:case"end":return t.stop()}},t,this)}),s.initMultipartUpload=i.default.mark(function t(e,r){var n,a,s;return i.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return r=r||{},n={},o(r).to(n),n.headers=n.headers||{},this._convertMetaToHeaders(r.meta,n.headers),n.subres="uploads",a=this._objectRequestParams("POST",e,n),a.mime=r.mime,a.xmlResponse=!0,a.successStatuses=[200],t.next=12,this.request(a);case 12:return s=t.sent,t.abrupt("return",{res:s.res,bucket:s.data.Bucket,name:s.data.Key,uploadId:s.data.UploadId});case 14:case"end":return t.stop()}},t,this)}),s.uploadPart=i.default.mark(function t(e,r,n,o,a,s,c){var u;return i.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return u={stream:this._createStream(o,a,s),size:s-a},t.next=3,this._uploadPart(e,r,n,u,c);case 3:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}},t,this)}),s.completeMultipartUpload=i.default.mark(function t(e,r,n,s){var c,u,l,p,f,d,h,m;return i.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:for(c=n.concat().sort(function(t,e){return t.number-e.number}).filter(function(t,e,r){return!e||t.number!==r[e-1].number}),u='\n\n',l=0;l\n",u+=""+p.number+"\n",u+=""+p.etag+"\n",u+="\n";return u+="",s=s||{},f={},o(s).to(f),f.subres={uploadId:r},d=this._objectRequestParams("POST",e,f),a.encodeCallback(d,f),d.mime="xml",d.content=u,d.headers&&d.headers["x-oss-callback"]||(d.xmlResponse=!0),d.successStatuses=[200],t.next=16,this.request(d);case 16:return h=t.sent,m={res:h.res,bucket:d.bucket,name:e,etag:h.res.headers.etag},d.headers&&d.headers["x-oss-callback"]&&(m.data=JSON.parse(h.data.toString())),t.abrupt("return",m);case 20:case"end":return t.stop()}},t,this)}),s._uploadPart=i.default.mark(function t(e,r,n,a,s){var c,u,l;return i.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return s=s||{},c={},o(s).to(c),c.headers={"Content-Length":a.size},c.subres={partNumber:n,uploadId:r},u=this._objectRequestParams("PUT",e,c),u.mime=c.mime,u.stream=a.stream,u.successStatuses=[200],t.next=11,this.request(u);case 11:return l=t.sent,a.stream=null,u.stream=null,t.abrupt("return",{name:e,etag:l.res.headers.etag,res:l.res});case 15:case"end":return t.stop()}},t,this)})},{"./callback":7,"babel-runtime/regenerator":33,"copy-to":43}],9:[function(t,e,r){(function(e){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}var i=t("babel-runtime/core-js/json/stringify"),o=n(i),a=t("babel-runtime/core-js/object/keys"),s=n(a),c=t("./../../shims/crypto/crypto.js"),u=t("is-type-of");r.buildCanonicalizedResource=function(t,e){var r=""+t,n="?";if(u.string(e)&&""!==e.trim())r+=n+e;else if(u.array(e))e.sort(),r+=n+e.join("&");else if(e){var i=function(t,e){return t[0]>e[0]?1:t[0]0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function i(t){var e=n(t),r=e[0],i=e[1];return 3*(r+i)/4-i}function o(t,e,r){return 3*(e+r)/4-r}function a(t){for(var e,r=n(t),i=r[0],a=r[1],s=new f(o(t,i,a)),c=0,u=a>0?i-4:i,l=0;l>16&255,s[c++]=e>>8&255,s[c++]=255&e;return 2===a&&(e=p[t.charCodeAt(l)]<<2|p[t.charCodeAt(l+1)]>>4,s[c++]=255&e),1===a&&(e=p[t.charCodeAt(l)]<<10|p[t.charCodeAt(l+1)]<<4|p[t.charCodeAt(l+2)]>>2,s[c++]=e>>8&255,s[c++]=255&e),s}function s(t){return l[t>>18&63]+l[t>>12&63]+l[t>>6&63]+l[63&t]}function c(t,e,r){for(var n,i=[],o=e;oa?a:o+16383));return 1===n?(e=t[r-1],i.push(l[e>>2]+l[e<<4&63]+"==")):2===n&&(e=(t[r-2]<<8)+t[r-1],i.push(l[e>>10]+l[e>>4&63]+l[e<<2&63]+"=")),i.join("")}r.byteLength=i,r.toByteArray=a,r.fromByteArray=u;for(var l=[],p=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=0,m=d.length;h1&&r[1]||""}function r(e){var r=t.match(e);return r&&r.length>1&&r[2]||""}var n,i=e(/(ipod|iphone|ipad)/i).toLowerCase(),o=/like android/i.test(t),s=!o&&/android/i.test(t),c=/nexus\s*[0-6]\s*/i.test(t),u=!c&&/nexus\s*[0-9]+/i.test(t),l=/CrOS/.test(t),p=/silk/i.test(t),f=/sailfish/i.test(t),d=/tizen/i.test(t),h=/(web|hpw)os/i.test(t),m=/windows phone/i.test(t),v=(/SamsungBrowser/i.test(t),!m&&/windows/i.test(t)),b=!i&&!p&&/macintosh/i.test(t),y=!s&&!f&&!d&&!h&&/linux/i.test(t),g=r(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),_=e(/version\/(\d+(\.\d+)?)/i),w=/tablet/i.test(t)&&!/tablet pc/i.test(t),x=!w&&/[^-]mobi/i.test(t),E=/xbox/i.test(t);/opera/i.test(t)?n={name:"Opera",opera:a,version:_||e(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?n={name:"Opera",opera:a,version:e(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||_}:/SamsungBrowser/i.test(t)?n={name:"Samsung Internet for Android",samsungBrowser:a,version:_||e(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(t)?n={name:"Opera Coast",coast:a,version:_||e(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(t)?n={name:"Yandex Browser",yandexbrowser:a,version:_||e(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?n={name:"UC Browser",ucbrowser:a,version:e(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?n={name:"Maxthon",maxthon:a,version:e(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?n={name:"Epiphany",epiphany:a,version:e(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?n={name:"Puffin",puffin:a,version:e(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?n={name:"Sleipnir",sleipnir:a,version:e(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?n={name:"K-Meleon",kMeleon:a,version:e(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:m?(n={name:"Windows Phone",osname:"Windows Phone",windowsphone:a},g?(n.msedge=a,n.version=g):(n.msie=a,n.version=e(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?n={name:"Internet Explorer",msie:a,version:e(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:l?n={name:"Chrome",osname:"Chrome OS",chromeos:a,chromeBook:a,chrome:a,version:e(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?n={name:"Microsoft Edge",msedge:a,version:g}:/vivaldi/i.test(t)?n={name:"Vivaldi",vivaldi:a,version:e(/vivaldi\/(\d+(\.\d+)?)/i)||_}:f?n={name:"Sailfish",osname:"Sailfish OS",sailfish:a,version:e(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?n={name:"SeaMonkey",seamonkey:a,version:e(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(n={name:"Firefox",firefox:a,version:e(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(n.firefoxos=a,n.osname="Firefox OS")):p?n={name:"Amazon Silk",silk:a,version:e(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?n={name:"PhantomJS",phantom:a,version:e(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?n={name:"SlimerJS",slimer:a,version:e(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?n={name:"BlackBerry",osname:"BlackBerry OS",blackberry:a,version:_||e(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:h?(n={name:"WebOS",osname:"WebOS",webos:a,version:_||e(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(n.touchpad=a)):/bada/i.test(t)?n={name:"Bada",osname:"Bada",bada:a,version:e(/dolfin\/(\d+(\.\d+)?)/i)}:d?n={name:"Tizen",osname:"Tizen",tizen:a,version:e(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||_}:/qupzilla/i.test(t)?n={name:"QupZilla",qupzilla:a,version:e(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||_}:/chromium/i.test(t)?n={name:"Chromium",chromium:a,version:e(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||_}:/chrome|crios|crmo/i.test(t)?n={name:"Chrome",chrome:a,version:e(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:s?n={name:"Android",version:_}:/safari|applewebkit/i.test(t)?(n={name:"Safari",safari:a},_&&(n.version=_)):i?(n={name:"iphone"==i?"iPhone":"ipad"==i?"iPad":"iPod"},_&&(n.version=_)):n=/googlebot/i.test(t)?{name:"Googlebot",googlebot:a,version:e(/googlebot\/(\d+(\.\d+))/i)||_}:{name:e(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!n.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(n.name=n.name||"Blink",n.blink=a):(n.name=n.name||"Webkit",n.webkit=a),!n.version&&_&&(n.version=_)):!n.opera&&/gecko\//i.test(t)&&(n.name=n.name||"Gecko",n.gecko=a,n.version=n.version||e(/gecko\/(\d+(\.\d+)?)/i)),n.windowsphone||!s&&!n.silk?!n.windowsphone&&i?(n[i]=a,n.ios=a,n.osname="iOS"):b?(n.mac=a,n.osname="macOS"):E?(n.xbox=a,n.osname="Xbox"):v?(n.windows=a,n.osname="Windows"):y&&(n.linux=a,n.osname="Linux"):(n.android=a,n.osname="Android");var S="";n.windows?S=function(t){switch(t){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}(e(/Windows ((NT|XP)( \d\d?.\d)?)/i)):n.windowsphone?S=e(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):n.mac?(S=e(/Mac OS X (\d+([_\.\s]\d+)*)/i),S=S.replace(/[_\s]/g,".")):i?(S=e(/os (\d+([_\s]\d+)*) like mac os x/i),S=S.replace(/[_\s]/g,".")):s?S=e(/android[ \/-](\d+(\.\d+)*)/i):n.webos?S=e(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):n.blackberry?S=e(/rim\stablet\sos\s(\d+(\.\d+)*)/i):n.bada?S=e(/bada\/(\d+(\.\d+)*)/i):n.tizen&&(S=e(/tizen[\/\s](\d+(\.\d+)*)/i)),S&&(n.osversion=S);var T=!n.windows&&S.split(".")[0];return w||u||"ipad"==i||s&&(3==T||T>=4&&!x)||n.silk?n.tablet=a:(x||"iphone"==i||"ipod"==i||s||c||n.blackberry||n.webos||n.bada)&&(n.mobile=a),n.msedge||n.msie&&n.version>=10||n.yandexbrowser&&n.version>=15||n.vivaldi&&n.version>=1||n.chrome&&n.version>=20||n.samsungBrowser&&n.version>=4||n.firefox&&n.version>=20||n.safari&&n.version>=6||n.opera&&n.version>=10||n.ios&&n.osversion&&n.osversion.split(".")[0]>=6||n.blackberry&&n.version>=10.1||n.chromium&&n.version>=20?n.a=a:n.msie&&n.version<10||n.chrome&&n.version<20||n.firefox&&n.version<20||n.safari&&n.version<6||n.opera&&n.version<10||n.ios&&n.osversion&&n.osversion.split(".")[0]<6||n.chromium&&n.version<20?n.c=a:n.x=a,n}function e(t){return t.split(".").length}function r(t,e){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(t,e);for(r=0;r=0;){if(i[0][n]>i[1][n])return 1;if(i[0][n]!==i[1][n])return-1;if(0===n)return 0}}function i(e,r,i){var o=s;"string"==typeof r&&(i=r,r=void 0),void 0===r&&(r=!1),i&&(o=t(i));var a=""+o.version;for(var c in e)if(e.hasOwnProperty(c)&&o[c]){if("string"!=typeof e[c])throw new Error("Browser version in the minVersion map should be a string: "+c+": "+String(e));return n([a,e[c]])<0}return r}function o(t,e,r){return!i(t,e,r)}var a=!0,s=t("undefined"!=typeof navigator?navigator.userAgent||"":"");return s.test=function(t){for(var e=0;e=this.charLength-this.charReceived?this.charLength-this.charReceived:t.length;if(t.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&n<=56319)){if(this.charReceived=this.charLength=0,0===t.length)return e;break}this.charLength+=this.surrogateSize,e=""}this.detectIncompleteChar(t);var i=t.length;this.charLength&&(t.copy(this.charBuffer,0,t.length-this.charReceived,i),i-=this.charReceived),e+=t.toString(this.encoding,0,i);var i=e.length-1,n=e.charCodeAt(i);if(n>=55296&&n<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),t.copy(this.charBuffer,0,0,o),e.substring(0,i)}return e},u.prototype.detectIncompleteChar=function(t){for(var e=t.length>=3?3:t.length;e>0;e--){var r=t[t.length-e];if(1==e&&r>>5==6){this.charLength=2;break}if(e<=2&&r>>4==14){this.charLength=3;break}if(e<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=e},u.prototype.end=function(t){var e="";if(t&&t.length&&(e=this.write(t)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;e+=n.slice(0,r).toString(i)}return e}},{buffer:38}],38:[function(t,e,r){(function(e){"use strict";function n(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(t,e){if(n()=n())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n().toString(16)+" bytes");return 0|t}function m(t){return+t!=t&&(t=0),o.alloc(+t)}function v(t,e){if(o.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return z(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Y(t).length;default:if(n)return z(t).length;e=(""+e).toLowerCase(),n=!0}}function b(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,e>>>=0,r<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return P(this,e,r);case"utf8":case"utf-8":return O(this,e,r);case"ascii":return N(this,e,r);case"latin1":case"binary":return C(this,e,r);case"base64":return j(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function y(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=o.from(e,n)),o.isBuffer(e))return 0===e.length?-1:_(t,e,r,n,i);if("number"==typeof e)return e&=255,o.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):_(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function _(t,e,r,n,i){function o(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}var a=1,s=t.length,c=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,c/=2,r/=2}var u;if(i){var l=-1;for(u=r;us&&(r=s-c),u=r;u>=0;u--){for(var p=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a239?4:o>223?3:o>191?2:1;if(i+s<=r){var c,u,l,p;switch(s){case 1:o<128&&(a=o);break;case 2:c=t[i+1],128==(192&c)&&(p=(31&o)<<6|63&c)>127&&(a=p);break;case 3:c=t[i+1],u=t[i+2],128==(192&c)&&128==(192&u)&&(p=(15&o)<<12|(63&c)<<6|63&u)>2047&&(p<55296||p>57343)&&(a=p);break;case 4:c=t[i+1],u=t[i+2],l=t[i+3],128==(192&c)&&128==(192&u)&&128==(192&l)&&(p=(15&o)<<18|(63&c)<<12|(63&u)<<6|63&l)>65535&&p<1114112&&(a=p)}}null===a?(a=65533,s=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=s}return A(n)}function A(t){var e=t.length;if(e<=Z)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function M(t,e,r,n,i,a){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function D(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function R(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function U(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function B(t,e,r,n,i){return i||U(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),Q.write(t,e,r,n,23,4),r+4}function F(t,e,r,n,i){return i||U(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),Q.write(t,e,r,n,52,8),r+8}function q(t){if(t=X(t).replace(tt,""),t.length<2)return"";for(;t.length%4!=0;)t+="=";return t}function X(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function G(t){return t<16?"0"+t.toString(16):t.toString(16)}function z(t,e){e=e||1/0;for(var r,n=t.length,i=null,o=[],a=0;a55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function H(t){for(var e=[],r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function Y(t){return $.toByteArray(q(t))}function V(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function K(t){return t!==t}var $=t("base64-js"),Q=t("ieee754"),J=t("isarray");r.Buffer=o,r.SlowBuffer=m,r.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),r.kMaxLength=n(),o.poolSize=8192,o._augment=function(t){return t.__proto__=o.prototype,t},o.from=function(t,e,r){return a(null,t,e,r)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(t,e,r){return c(null,t,e,r)},o.allocUnsafe=function(t){return u(null,t)},o.allocUnsafeSlow=function(t){return u(null,t)},o.isBuffer=function(t){return!(null==t||!t._isBuffer)},o.compare=function(t,e){if(!o.isBuffer(t)||!o.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),""},o.prototype.compare=function(t,e,r,n,i){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var a=i-n,s=r-e,c=Math.min(a,s),u=this.slice(n,i),l=t.slice(e,r),p=0;pi)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return w(this,t,e,r);case"utf8":case"utf-8":return x(this,t,e,r);case"ascii":return E(this,t,e,r);case"latin1":case"binary":return S(this,t,e,r);case"base64":return T(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Z=4096;o.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e0&&(i*=256);)n+=this[t+--e]*i;return n},o.prototype.readUInt8=function(t,e){return e||L(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,e){return e||L(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,e){return e||L(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,e){return e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,e){return e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||L(t,e,this.length);for(var n=this[t],i=1,o=0;++o=i&&(n-=Math.pow(2,8*e)),n},o.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||L(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},o.prototype.readInt8=function(t,e){return e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){e||L(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt16BE=function(t,e){e||L(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt32LE=function(t,e){return e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,e){return e||L(t,4,this.length),Q.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return e||L(t,4,this.length),Q.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return e||L(t,8,this.length),Q.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return e||L(t,8,this.length),Q.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e|=0,r|=0,!n){M(this,t,e,r,Math.pow(2,8*r)-1,0)}var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},o.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||M(this,t,e,1,255,0),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},o.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||M(this,t,e,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):D(this,t,e,!0),e+2},o.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||M(this,t,e,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):D(this,t,e,!1),e+2},o.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||M(this,t,e,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):R(this,t,e,!0),e+4},o.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||M(this,t,e,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):R(this,t,e,!1),e+4},o.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},o.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},o.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||M(this,t,e,1,127,-128),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||M(this,t,e,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):D(this,t,e,!0),e+2},o.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||M(this,t,e,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):D(this,t,e,!1),e+2},o.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||M(this,t,e,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):R(this,t,e,!0),e+4},o.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||M(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),o.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):R(this,t,e,!1),e+4},o.prototype.writeFloatLE=function(t,e,r){return B(this,t,e,!0,r)},o.prototype.writeFloatBE=function(t,e,r){return B(this,t,e,!1,r)},o.prototype.writeDoubleLE=function(t,e,r){return F(this,t,e,!0,r)},o.prototype.writeDoubleBE=function(t,e,r){return F(this,t,e,!1,r)},o.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(a<1e3||!o.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0);var a;if("number"==typeof t)for(a=e;a>>1;r(t[o])2&&(e=f.call(arguments,1)),r(e)})})}function a(t){return Promise.all(t.map(i,this))}function s(t){for(var e=new t.constructor,r=Object.keys(t),n=[],o=0;ol;)if((s=c[l++])!=s)return!0}else for(;u>l;l++)if((t||l in c)&&c[l]===r)return t||l||0;return!t&&-1}}},{"./_to-absolute-index":121,"./_to-iobject":123,"./_to-length":124}],63:[function(t,e,r){var n=t("./_cof"),i=t("./_wks")("toStringTag"),o="Arguments"==n(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(t){}};e.exports=function(t){var e,r,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=a(e=Object(t),i))?r:o?n(e):"Object"==(s=n(e))&&"function"==typeof e.callee?"Arguments":s}},{"./_cof":64,"./_wks":131}],64:[function(t,e,r){var n={}.toString;e.exports=function(t){return n.call(t).slice(8,-1)}},{}],65:[function(t,e,r){var n=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},{}],66:[function(t,e,r){"use strict";var n=t("./_object-dp"),i=t("./_property-desc");e.exports=function(t,e,r){e in t?n.f(t,e,i(0,r)):t[e]=r}},{"./_object-dp":98,"./_property-desc":111}],67:[function(t,e,r){var n=t("./_a-function");e.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}}},{"./_a-function":58}],68:[function(t,e,r){e.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},{}],69:[function(t,e,r){e.exports=!t("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":74}],70:[function(t,e,r){var n=t("./_is-object"),i=t("./_global").document,o=n(i)&&n(i.createElement);e.exports=function(t){return o?i.createElement(t):{}}},{"./_global":76,"./_is-object":85}],71:[function(t,e,r){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],72:[function(t,e,r){var n=t("./_object-keys"),i=t("./_object-gops"),o=t("./_object-pie");e.exports=function(t){var e=n(t),r=i.f;if(r)for(var a,s=r(t),c=o.f,u=0;s.length>u;)c.call(t,a=s[u++])&&e.push(a);return e}},{"./_object-gops":103,"./_object-keys":106,"./_object-pie":107}],73:[function(t,e,r){var n=t("./_global"),i=t("./_core"),o=t("./_ctx"),a=t("./_hide"),s=t("./_has"),c=function(t,e,r){var u,l,p,f=t&c.F,d=t&c.G,h=t&c.S,m=t&c.P,v=t&c.B,b=t&c.W,y=d?i:i[e]||(i[e]={}),g=y.prototype,_=d?n:h?n[e]:(n[e]||{}).prototype;d&&(r=e);for(u in r)(l=!f&&_&&void 0!==_[u])&&s(y,u)||(p=l?_[u]:r[u],y[u]=d&&"function"!=typeof _[u]?r[u]:v&&l?o(p,n):b&&_[u]==p?function(t){var e=function(e,r,n){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,r)}return new t(e,r,n)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(p):m&&"function"==typeof p?o(Function.call,p):p,m&&((y.virtual||(y.virtual={}))[u]=p,t&c.R&&g&&!g[u]&&a(g,u,p)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},{"./_core":65,"./_ctx":67,"./_global":76,"./_has":77,"./_hide":78}],74:[function(t,e,r){e.exports=function(t){try{return!!t()}catch(t){return!0}}},{}],75:[function(t,e,r){var n=t("./_ctx"),i=t("./_iter-call"),o=t("./_is-array-iter"),a=t("./_an-object"),s=t("./_to-length"),c=t("./core.get-iterator-method"),u={},l={},r=e.exports=function(t,e,r,p,f){var d,h,m,v,b=f?function(){return t}:c(t),y=n(r,p,e?2:1),g=0;if("function"!=typeof b)throw TypeError(t+" is not iterable!");if(o(b)){for(d=s(t.length);d>g;g++)if((v=e?y(a(h=t[g])[0],h[1]):y(t[g]))===u||v===l)return v}else for(m=b.call(t);!(h=m.next()).done;)if((v=i(m,y,h.value,e))===u||v===l)return v};r.BREAK=u,r.RETURN=l},{"./_an-object":61,"./_ctx":67,"./_is-array-iter":83,"./_iter-call":86,"./_to-length":124,"./core.get-iterator-method":132}],76:[function(t,e,r){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},{}],77:[function(t,e,r){var n={}.hasOwnProperty;e.exports=function(t,e){return n.call(t,e)}},{}],78:[function(t,e,r){var n=t("./_object-dp"),i=t("./_property-desc");e.exports=t("./_descriptors")?function(t,e,r){return n.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},{"./_descriptors":69,"./_object-dp":98,"./_property-desc":111}],79:[function(t,e,r){var n=t("./_global").document;e.exports=n&&n.documentElement},{"./_global":76}],80:[function(t,e,r){e.exports=!t("./_descriptors")&&!t("./_fails")(function(){return 7!=Object.defineProperty(t("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},{"./_descriptors":69,"./_dom-create":70,"./_fails":74}],81:[function(t,e,r){e.exports=function(t,e,r){var n=void 0===r;switch(e.length){case 0:return n?t():t.call(r);case 1:return n?t(e[0]):t.call(r,e[0]);case 2:return n?t(e[0],e[1]):t.call(r,e[0],e[1]);case 3:return n?t(e[0],e[1],e[2]):t.call(r,e[0],e[1],e[2]);case 4:return n?t(e[0],e[1],e[2],e[3]):t.call(r,e[0],e[1],e[2],e[3])}return t.apply(r,e)}},{}],82:[function(t,e,r){var n=t("./_cof");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==n(t)?t.split(""):Object(t)}},{"./_cof":64}],83:[function(t,e,r){var n=t("./_iterators"),i=t("./_wks")("iterator"),o=Array.prototype;e.exports=function(t){return void 0!==t&&(n.Array===t||o[i]===t)}},{"./_iterators":91,"./_wks":131}],84:[function(t,e,r){var n=t("./_cof");e.exports=Array.isArray||function(t){return"Array"==n(t)}},{"./_cof":64}],85:[function(t,e,r){e.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},{}],86:[function(t,e,r){var n=t("./_an-object");e.exports=function(t,e,r,i){try{return i?e(n(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&n(o.call(t)),e}}},{"./_an-object":61}],87:[function(t,e,r){"use strict";var n=t("./_object-create"),i=t("./_property-desc"),o=t("./_set-to-string-tag"),a={};t("./_hide")(a,t("./_wks")("iterator"),function(){return this}),e.exports=function(t,e,r){t.prototype=n(a,{next:i(1,r)}),o(t,e+" Iterator")}},{"./_hide":78,"./_object-create":97,"./_property-desc":111,"./_set-to-string-tag":115,"./_wks":131}],88:[function(t,e,r){"use strict";var n=t("./_library"),i=t("./_export"),o=t("./_redefine"),a=t("./_hide"),s=t("./_iterators"),c=t("./_iter-create"),u=t("./_set-to-string-tag"),l=t("./_object-gpo"),p=t("./_wks")("iterator"),f=!([].keys&&"next"in[].keys()),d=function(){return this};e.exports=function(t,e,r,h,m,v,b){c(r,e,h);var y,g,_,w=function(t){if(!f&&t in T)return T[t];switch(t){case"keys":case"values":return function(){return new r(this,t)}}return function(){return new r(this,t)}},x=e+" Iterator",E="values"==m,S=!1,T=t.prototype,k=T[p]||T["@@iterator"]||m&&T[m],j=k||w(m),O=m?E?w("entries"):j:void 0,A="Array"==e?T.entries||k:k;if(A&&(_=l(A.call(new t)))!==Object.prototype&&_.next&&(u(_,x,!0),n||"function"==typeof _[p]||a(_,p,d)),E&&k&&"values"!==k.name&&(S=!0,j=function(){return k.call(this)}),n&&!b||!f&&!S&&T[p]||a(T,p,j),s[e]=j,s[x]=d,m)if(y={values:E?j:w("values"),keys:v?j:w("keys"),entries:O},b)for(g in y)g in T||o(T,g,y[g]);else i(i.P+i.F*(f||S),e,y);return y}},{"./_export":73,"./_hide":78,"./_iter-create":87,"./_iterators":91,"./_library":92,"./_object-gpo":104,"./_redefine":113,"./_set-to-string-tag":115,"./_wks":131}],89:[function(t,e,r){var n=t("./_wks")("iterator"),i=!1;try{var o=[7][n]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}e.exports=function(t,e){if(!e&&!i)return!1;var r=!1;try{var o=[7],a=o[n]();a.next=function(){return{done:r=!0}},o[n]=function(){return a},t(o)}catch(t){}return r}},{"./_wks":131}],90:[function(t,e,r){e.exports=function(t,e){return{value:e,done:!!t}}},{}],91:[function(t,e,r){e.exports={}},{}],92:[function(t,e,r){e.exports=!0},{}],93:[function(t,e,r){var n=t("./_uid")("meta"),i=t("./_is-object"),o=t("./_has"),a=t("./_object-dp").f,s=0,c=Object.isExtensible||function(){return!0},u=!t("./_fails")(function(){return c(Object.preventExtensions({}))}),l=function(t){a(t,n,{value:{i:"O"+ ++s,w:{}}})},p=function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,n)){if(!c(t))return"F";if(!e)return"E";l(t)}return t[n].i},f=function(t,e){if(!o(t,n)){if(!c(t))return!0;if(!e)return!1;l(t)}return t[n].w},d=function(t){return u&&h.NEED&&c(t)&&!o(t,n)&&l(t),t},h=e.exports={KEY:n,NEED:!1,fastKey:p,getWeak:f,onFreeze:d}},{"./_fails":74,"./_has":77,"./_is-object":85,"./_object-dp":98,"./_uid":127}],94:[function(t,e,r){var n=t("./_global"),i=t("./_task").set,o=n.MutationObserver||n.WebKitMutationObserver,a=n.process,s=n.Promise,c="process"==t("./_cof")(a);e.exports=function(){var t,e,r,u=function(){var n,i;for(c&&(n=a.domain)&&n.exit();t;){i=t.fn,t=t.next;try{i()}catch(n){throw t?r():e=void 0,n}}e=void 0,n&&n.enter()};if(c)r=function(){a.nextTick(u)};else if(!o||n.navigator&&n.navigator.standalone)if(s&&s.resolve){var l=s.resolve(void 0);r=function(){l.then(u)}}else r=function(){i.call(n,u)};else{var p=!0,f=document.createTextNode("");new o(u).observe(f,{characterData:!0}),r=function(){f.data=p=!p}}return function(n){var i={fn:n,next:void 0};e&&(e.next=i),t||(t=i,r()),e=i}}},{"./_cof":64,"./_global":76,"./_task":120}],95:[function(t,e,r){"use strict";function n(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=n}),this.resolve=i(e),this.reject=i(r)}var i=t("./_a-function");e.exports.f=function(t){return new n(t)}},{"./_a-function":58}],96:[function(t,e,r){"use strict";var n=t("./_object-keys"),i=t("./_object-gops"),o=t("./_object-pie"),a=t("./_to-object"),s=t("./_iobject"),c=Object.assign;e.exports=!c||t("./_fails")(function(){var t={},e={},r=Symbol(),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach(function(t){e[t]=t}),7!=c({},t)[r]||Object.keys(c({},e)).join("")!=n})?function(t,e){for(var r=a(t),c=arguments.length,u=1,l=i.f,p=o.f;c>u;)for(var f,d=s(arguments[u++]),h=l?n(d).concat(l(d)):n(d),m=h.length,v=0;m>v;)p.call(d,f=h[v++])&&(r[f]=d[f]);return r}:c},{"./_fails":74,"./_iobject":82,"./_object-gops":103,"./_object-keys":106,"./_object-pie":107,"./_to-object":125}],97:[function(t,e,r){var n=t("./_an-object"),i=t("./_object-dps"),o=t("./_enum-bug-keys"),a=t("./_shared-key")("IE_PROTO"),s=function(){},c=function(){var e,r=t("./_dom-create")("iframe"),n=o.length;for(r.style.display="none",t("./_html").appendChild(r),r.src="javascript:",e=r.contentWindow.document,e.open(),e.write("