{"version":3,"file":"analysis.8216bf6c.mjs","sources":["../../../../pages/exam/analysis.vue"],"sourcesContent":["<template>\n  <NuxtLayout>\n    <div class=\"exam_page\">\n      <div class=\"exam_header\">\n        <div class=\"header_flex\">\n          <div class=\"exit_exam\" @click=\"close\">退出查看</div>\n          <div class=\"exam_title\">{{ map.examName}}</div>\n          <div class=\"exam_time_box\">\n          </div>\n        </div>\n      </div>\n      <div class=\"exam_paper_box\" ref=\"box\">\n        <div class=\"exam_user_paper\">\n          <div class=\"exam_user_item\">\n            <div class=\"exam_user_top\">\n              <el-avatar :size=\"40\" :src=\"userInfo.headImg\"></el-avatar>\n            </div>\n            <div class=\"exam_user_bottom\">{{userInfo.nickname}}</div>\n          </div>\n          <div class=\"exam_user_item\">\n            <div class=\"exam_user_top\">\n              考试总分\n            </div>\n            <div class=\"exam_user_bottom\">{{map.list.totalScore}}</div>\n          </div>\n          <div class=\"exam_user_item\">\n            <div class=\"exam_user_top\">\n              合格分数\n            </div>\n            <div class=\"exam_user_bottom\">{{map.list.passScore}}</div>\n          </div>\n          <div class=\"exam_user_item\">\n            <div class=\"exam_user_top\">\n              考试得分\n            </div>\n            <div class=\"exam_user_bottom\">{{map.list.score}}</div>\n          </div>\n        </div>\n        <div class=\"exam_center\">\n          <div class=\"left\" v-loading=\"ctrl.loading\">\n            <div v-for=\"(t) in map.list.titleList\" :key=\"t.id\" class=\"title_item\">\n              <p class=\"paper_name\">{{t.titleName}}</p>\n              <template v-for=\"(p, index2) in t.problemList\" :key=\"index2\">\n                <div class=\"question_box\">\n                <div :id=\"p.qIndex\" class=\"carousel_item\">\n                  <problem-item\n                    :title-id=\"t.id\"\n                    :problem=\"p\"\n                    :record-id=\"map.list.recordId\"\n                    :index=\"index2\"\n                    :is-analysis=\"true\"\n                  ></problem-item>\n                  <div class=\"collect_item\" @click=\"collect(p)\">\n                    <img\n                        v-if=\"!p.collectionType\"\n                        class=\"pointer\"\n                        src=\"@/assets/images/exam/icon_collection1.svg\"\n                        alt=\"\"\n                    />\n                    <img\n                        v-else\n                        class=\"pointer\"\n                        src=\"@/assets/images/exam/icon_collection2.svg\"\n                        alt=\"\"\n                    />\n                    <span class=\"pointer\" :class=\"{active_collect:p.collectionType}\">收藏</span>\n                  </div>\n                </div>\n                <div class=\"analysis\">\n                  <div :class=\"{'inline-b mgr30': p.questionType < 4}\">\n                    <div class=\"analysis_item\" v-if=\"p.questionType === 5\">\n                      <span class=\"left_text\">正确答案：</span>\n                      <div v-html=\"p.questionAnswer || ''\"></div>\n                    </div>\n                    <div class=\"analysis_item\" v-else>\n                      <span class=\"left_text\">正确答案：</span>\n                      <span :class=\"{'blue_text': p.questionType < 4}\">{{getNum(p.questionAnswer,p.optionList,p.questionType)}}</span>\n                    </div>\n                  </div>\n                  <div :class=\"{'inline-b': p.questionType < 4, 'mgt20': p.questionType >= 4}\">\n                    <div class=\"analysis_item\" v-if=\"p.questionType < 5\">\n                      您的答案：<span class=\"question_my\" :class=\"{'red_text': p.questionType < 4}\">{{getNumAnswer(p.userAnswer,p.optionList,p.questionType)}}</span>\n                    </div>\n                    <div class=\"analysis_item\" v-else>您的答案：<span class=\"question_my\">{{p.userAnswer || ''}}</span></div>\n                  </div>\n                  <div class=\"analysis_item mgt20\">\n                    <span class=\"left_text\">您的得分：</span>\n                    <div>{{p.score || 0}}（本题分数：{{p.questionScore}}）</div>\n                  </div>\n                  <div v-if=\"p.auditComment\" class=\"analysis_item mgt20\">\n                    <span class=\"left_text\">教师评语：</span>\n                    <div class=\"audit_comment\">{{p.auditComment}}</div>\n                  </div>\n                  <div class=\"analysis_item mgt20\" v-if=\"map.showAnswerInfo == 1 && p.questionAnalysis\">\n                    <span class=\"left_text\">答案解析：</span>\n                    <div v-html=\"p.questionAnalysis || '无'\"></div>\n                  </div>\n                </div>\n                </div>\n              </template>\n            </div>\n          </div>\n        </div>\n        <div class=\"exam_right\">\n          <div class=\"exam_right_title\">答题卡</div>\n          <div class=\"problem\">\n            <div class=\"problem_exam_box\">\n              <div class=\"problem_exam_box_item true\">答对</div>\n              <div class=\"problem_exam_box_item false\">答错</div>\n              <div class=\"problem_exam_box_item\">未答</div>\n              <div class=\"problem_exam_box_item collect\">收藏</div>\n            </div>\n            <div\n                v-for=\"(t, i) in map.list.titleList\"\n                :key=\"'key1' + i\"\n                class=\"mgb20\"\n            >\n              <div class=\"title_type\" :title=\"t.titleName\" v-if=\"map.list.titleList.length > 1\">{{ t.titleName }}</div>\n              <div class=\"card_box\">\n                <span\n                    :class=\"[\n                    'problem_num',\n                    p.collectionType?'collect_num':'',\n                    p.userAnswerStatus === 2 ? 'active_num' : '',\n                    p.userAnswerStatus === 1 ? 'wrong_num' : ''\n                  ]\"\n                    v-for=\"(p, idx) in t.problemList\"\n                    :key=\"'key2' + idx\"\n                    @click=\"jumpProblem(p.qIndex)\"\n                >{{ p.qIndex + 1 }}</span>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </NuxtLayout>\n</template>\n\n<script setup>\nimport { useUserStore } from '@/stores/user'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport { defineComponent, ref, toRefs, watch, reactive, computed } from 'vue'\nimport { userAnswerParse, wrongQuestionList, userOperateQuestion } from '@/api/paper.js'\nimport problemItem from '@/components/exam/problemItem.vue'\nimport { getStore, setStore } from '@/utils/storage'\nimport cookie from '@/utils/cookies'\nlet cookieData = cookie.getShop()\nuseHead({\n  title: '查看答案-' + cookieData.shopName\n});\nconst store = useUserStore()\nconst { getEnumList } = store\nconst userInfo = computed(() => store.userView)\nconst map = reactive({\n  examName: '',\n  letter: 'ABCDEFGHIJkLMNOPQRSTUVWXYZ'.split(''),\n  list: {\n    titleList: [],\n  },\n  showAnswer: false,\n  relationalId: '',\n  recordId: '',\n  showAnswerInfo: 1,\n  onlyShowWrong: false\n})\nconst opts = reactive({\n  questionTypeEnums: [],\n  difficultyLevelEnums: [],\n})\nconst ctrl = reactive({\n  loading: false,\n  show: false,\n})\nconst router = useRouter()\nconst route = useRoute()\n\nconst getNumAnswer = (val,list,type) => {\n  if(!val) {\n    return ''\n  }\n  if(type === 5) {\n    return true\n  } else if(type === 4){\n    const arr = val.split('|')\n    return  arr.join('；')\n  }\n  if(list) {\n    if(type === 1) {\n      let num = null\n      list.forEach((el, i) => {\n        if (el.id === val && num === null) {\n          num = i\n        }\n      })\n      return map.letter[num]\n    }else if(type === 2){\n      let num = []\n      list.forEach((el, i) => {\n        if (val.indexOf(el.id) > -1 && num.indexOf(el.id) === -1) {\n          num.push(map.letter[i])\n        }\n      })\n      return  num.join(',')\n    }else if(type === 3){\n      return val\n    }\n  }else{\n    return val\n  }\n}\nconst getNum = (val,list,type) => {\n  if(type === 5) {\n    return true\n  } else if(type === 4){\n    const arr = val.split('|')\n    return  arr.join('；')\n  }\n  if(list) {\n    if(type === 1) {\n      let num = null\n      list.forEach((el, i) => {\n        if (el.optionContent === val && num === null) {\n          num = i\n        }\n      })\n      return map.letter[num]\n    }else if(type === 2){\n      let num = []\n      list.forEach((el, i) => {\n        if (val.indexOf(el.optionContent) > -1 && num.indexOf(el.optionContent) === -1) {\n          num.push(map.letter[i])\n        }\n      })\n      return  num.join(',')\n    }else if(type === 3){\n      return val\n    }\n  }else{\n    return val\n  }\n}\nonMounted(() => {\n  map.showAnswer = route.query.showAnswer\n  map.relationalId = route.query.relationalId\n  map.recordId = route.query.recordId\n  map.showAnswerInfo = route.query.showAnswerInfo || 1 //展示答案信息(1:查看对错和答案分析、2:只看对错)\n  map.onlyShowWrong = route.query.onlyShowWrong\n  ctrl.loading = true\n  getEnumList('QuestionTypeEnum', 'obj').then((res) => {\n    opts.questionTypeEnums = res\n  })\n  getEnumList('DifficultyLevelEnum', 'obj').then((res) => {\n    opts.difficultyLevelEnums = res\n  })\n\n  userAnswerParse({\n    recordId: map.recordId,\n    relationalId: map.relationalId,\n  }).then((res) => {\n    map.list = res\n    map.examName = res.examName || ''\n    let sequenceIndex = 0\n    map.list.titleList.forEach((t, i1) => {\n      t.problemList.forEach((p, i2) => {\n        const lastIndex = p.questionTitle.lastIndexOf('</p>')\n        if(lastIndex > -1) {\n          p.questionTitle = p.questionTitle.slice(0, lastIndex) + '（' + p.questionScore + '分）' + p.questionTitle.slice(lastIndex)\n        } else {\n          p.questionTitle = p.questionTitle + '（' + p.questionScore + '分）'\n        }\n        p.qIndex = sequenceIndex++\n        if (p.questionType < 3) {\n          p.optionList.forEach(o => {\n            o.oStatus = 3 //默认状态\n            if (p.correctAnswer.indexOf(o.id) > -1) {\n              o.oStatus = 1 // 答对状态\n            } else {\n              if (p.userAnswer && p.userAnswer.indexOf(o.id) > -1) {\n                o.oStatus = 2 // 答错状态\n              }\n            }\n          })\n        }\n        if (p.questionType === 3) {\n          p.optionList = []\n          p.optionList.push(\n            {\n              id: '对',\n              optionContent: '对',\n            },\n            {\n              id: '错',\n              optionContent: '错',\n            }\n          )\n          p.optionList.forEach((o) => {\n            o.oStatus = 3\n            if(p.userAnswer) {\n              if(o.optionContent == p.questionAnswer) {\n                o.oStatus = 1\n              } else {\n                if(o.optionContent == p.userAnswer) {\n                  o.oStatus = 2\n                }\n              }\n            } else {\n              if(o.optionContent == p.questionAnswer) {\n                o.oStatus = 1\n              }\n            }\n          })\n        }\n      })\n    })\n    ctrl.loading = false\n  })\n})\nconst collect = (row) => {\n  if (!row.collectionType) {\n    userOperateQuestion({\n      errorQuestionAnswer: row.userAnswer,\n      handleType: false, //类型(默认为收藏可不传)：true:移除试题，false：收藏试题\n      operateType: 2, //1：错题、2：收藏\n      questionId: row.questionId,\n      sourceId: map.relationalId,\n      sourceType: map.list.examType === 5 ? 2 : map.list.examType === 2 ? 1 : 3 //1:课程中心、2:考试中心、3：班级中心\n    }).then(res => {\n      ElMessage.success(res)\n      row.collectionType = true\n    })\n  } else {\n    userOperateQuestion({\n      handleType: true, //类型(默认为收藏可不传)：true:移除试题，false：收藏试题\n      operateType: 2, //1：错题、2：收藏\n      questionId: row.questionId,\n      sourceId: map.relationalId,\n      sourceType: map.list.examType === 5 ? 2 : map.list.examType === 2 ? 1 : 3 //1:课程中心、2:考试中心、3：班级中心\n    }).then(res => {\n      ElMessage.success(res)\n      row.collectionType = false\n    })\n  }\n}\nconst jumpProblem = (index) => {\n  if (document.getElementById(index)) document.getElementById(index).scrollIntoView()\n}\nconst close = () => {\n  router.back()\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.analysis {\n  width: calc(100%);\n  padding: 20px 26px;\n  margin-top: 20px;\n  margin-bottom: 10px;\n  background: rgba(51, 51, 51, 0.05);\n  z-index: 11;\n  font-style: normal;\n  font-weight: 400;\n  font-size: 14px;\n  color: #666666;\n  position: relative;\n  .icon_success,.icon_danger{\n    display: none;\n    position: absolute;\n    width: 20px;\n    height: 20px;\n    left: 0;\n    top: 0;\n  }\n  .analysis_item+.analysis_item{\n    margin-top: 15px;\n  }\n  .analysis_item{\n    display: flex;\n    align-items: top;\n    .left_text {\n      min-width: 72px;\n    }\n    .audit_comment {\n      word-break: break-all;\n    }\n  }\n  &.success{\n    background: rgba(61, 127, 255, 0.05);\n  }\n  &.success .question_my,&.success .icon_success{\n    color: #3D7FFF;\n    display: block;\n  }\n  &.error{\n    background: rgba(242, 60, 60, 0.03);\n  }\n  &.error .question_my,&.error .icon_danger{\n    color: #F23C3C;\n    display: block;\n  }\n}\n.inline-b {\n  display: inline-block;\n}\n.blue_text {\n  color: #3D7FFF;\n}\n.red_text {\n  color: #F23C3C;\n}\n.exam_page {\n  position: fixed;\n  width: 100vw;\n  height: 100vh;\n  left: 0;\n  top: 0;\n  background: #f6f8fb;\n  z-index: 1001;\n}\n.close_exam {\n  position: absolute;\n  right: 30px;\n  top: 30px;\n}\n.exam_center {\n  width: 1058px;\n  margin-left: 146px;\n  .left {\n    position: relative;\n    .title_item {\n      margin-bottom: 20px;\n      background: #fff;\n    }\n    .paper_name {\n      padding: 16px 30px;\n      border-bottom: 1px solid #ebeef5;\n      font-size: 20px;\n      color: #333333;\n      &:not(:first-child) {\n        border-top: 16px solid #f6f8fb;\n      }\n    }\n    .question_box {\n      border-bottom: 1px solid #ebeef5;\n      margin: 0 44px;\n      padding: 30px 0;\n      &:last-child {\n        border-bottom: 0;\n      }\n    }\n    .carousel_item {\n      display: flex;\n\n      div:first-child {\n        width: 90%;\n      }\n      .collect_item {\n        min-width: 80px;\n        height: 24px;\n        display: flex;\n        align-items: center;\n        justify-content: flex-end;\n        color: #999999;\n      }\n    }\n    .problem_type {\n      display: inline-block;\n      background: #2256f6;\n      border-radius: 4px 4px 4px 0px;\n      color: #ffffff;\n      font-size: 12px;\n      padding: 2px 4px;\n    }\n    .handle_bottom {\n      position: absolute;\n      bottom: 0;\n      box-sizing: border-box;\n      width: 100%;\n      padding-left: 30px;\n      height: 60px;\n      border-top: 1px solid #ebeef5;\n      display: flex;\n      align-items: center;\n      background: #fff;\n      z-index: 10;\n      .border {\n        background: #becadb;\n        display: inline-block;\n        height: 10px;\n        margin: 0 10px;\n        width: 1px;\n      }\n      img {\n        width: 16px;\n        height: 16px;\n        margin-right: 3px;\n        display: inline-block;\n        vertical-align: text-top;\n      }\n      .active_collect {\n        color: #ff9d00;\n      }\n    }\n  }\n}\n.exam_header {\n  width: 100%;\n  height: 54px;\n  background: #fff;\n  border-bottom: 1px solid #ebeef5;\n  .header_flex {\n    width: 1480px;\n    height: 100%;\n    margin: auto;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .exit_exam {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 14px;\n    color: #333333;\n    cursor: pointer;\n  }\n  .exam_title {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-style: normal;\n    font-weight: 400;\n    font-size: 18px;\n    color: #333333;\n  }\n  .exam_time_box {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 14px;\n    display: flex;\n    align-items: center;\n  }\n  .el-button {\n    width: 100px;\n    height: 32px;\n    border-radius: 4px;\n    margin-left: 24px;\n  }\n  .exam_time {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 20px;\n    color: #f23c3c;\n  }\n}\n.exam_paper_box {\n  width: calc(100%);\n  max-width: 1480px;\n  padding-top: 16px;\n  max-height: 90vh;\n  overflow: auto;\n  margin: auto;\n  &::-webkit-scrollbar {\n    display: none;\n  }\n}\n.exam_right {\n  width: 260px;\n  background-color: #ffffff;\n  position: fixed;\n  top: 72px;\n  right: calc(50% - 740px);\n  .exam_right_title {\n    margin-top: 21px;\n    height: 54px;\n    width: 100%;\n    padding: 18px 27px;\n    border-bottom: 1px solid #ebeef5;\n  }\n  .problem {\n    padding: 20px 16px;\n    max-height: calc(100vh - 172px);\n    overflow: auto;\n    padding-right: 11px;\n  }\n  .problem_exam_box {\n    width: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-bottom: 18px;\n  }\n  .problem_exam_box_item {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 12px;\n    color: #333333;\n    padding-left: 23px;\n    position: relative;\n    display: flex;\n    align-items: center;\n  }\n  .problem_exam_box_item:before {\n    content: '';\n    width: 16px;\n    height: 16px;\n    background: #ffffff;\n    border: 1px solid #d9d9d9;\n    border-radius: 1.6px;\n    left: 0;\n    position: absolute;\n  }\n  .problem_exam_box_item.false:before {\n    width: 16px;\n    height: 16px;\n    background: rgba(242, 60, 60, 0.1);\n    border: 1px solid rgba(242, 60, 60, 0.4);\n    border-radius: 1.5px;\n  }\n  .problem_exam_box_item.true:before {\n    background: rgba(61, 127, 255, 0.1);\n    border-radius: 1.6px;\n    width: 16px;\n    height: 16px;\n    border: 1px solid rgba(61, 127, 255, 0.4);\n  }\n  .problem_exam_box_item.collect:after {\n    content: '';\n    width: 0;\n    height: 0;\n    border-top: 10px solid #fac923;\n    border-right: 10px solid transparent;\n    position: absolute;\n    left: 0;\n    top: 1px;\n  }\n  .title_type {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 13px;\n    color: #333333;\n    margin-top: 20px;\n    margin-bottom: 14px;\n  }\n  .card_box {\n    margin-top: 20px;\n    .problem_num {\n      display: inline-block;\n      margin-right: 12px;\n      margin-bottom: 12px;\n      width: 28px;\n      height: 28px;\n      color: #333333;\n      border: 1px solid #d9d9d9;\n      text-align: center;\n      line-height: 28px;\n      border-radius: 2px;\n      font-style: normal;\n      font-weight: 400;\n      font-size: 14px;\n      cursor: pointer;\n      &:nth-child(6n) {\n        margin-right: 0;\n      }\n    }\n    .collect_num {\n      position: relative;\n      &:after {\n        content: '';\n        width: 0;\n        height: 0;\n        border-top: 10px solid #fac923;\n        border-right: 10px solid transparent;\n        position: absolute;\n        left: -1px;\n        top: -1px;\n      }\n    }\n    .active_num {\n      background: rgba(61, 127, 255, 0.1);\n      border: 1px solid rgba(61, 127, 255, 0.4);\n      color: #3d7fff;\n    }\n    .now_num {\n      border: 1px solid rgba(34, 86, 246, 0.1);\n      background: rgba(34, 86, 246, 0.1);\n      color: #2256f6;\n    }\n    .wrong_num {\n      border: 1px solid rgba(242, 60, 60, 0.4);\n      background: rgba(242, 60, 60, 0.1);\n      color: #F23C3C;\n    }\n  }\n}\n.exam_user_paper {\n  background-color: #ffffff;\n  width: 130px;\n  position: fixed;\n  left: calc(50% - 740px);\n  top: 72px;\n  .exam_user_item {\n    width: 100%;\n    height: calc(100% / 3);\n    border-bottom: 1px solid #ebeef5;\n    padding: 16px 10px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n  }\n  .exam_user_bottom {\n    font-style: normal;\n    font-weight: 400;\n    font-size: 16px;\n    color: #333333;\n    margin-top: 6px;\n  }\n}\n</style>\n"],"names":["cookieData","cookie","getShop","useHead","title","shopName","store","useUserStore","getEnumList","userInfo","computed","userView","map","reactive","examName","letter","split","list","titleList","showAnswer","relationalId","recordId","showAnswerInfo","onlyShowWrong","opts","questionTypeEnums","difficultyLevelEnums","ctrl","loading","show","router","useRouter","route","useRoute","getNumAnswer","val","type","join","num","forEach","el","i","id","indexOf","push","getNum","optionContent","onMounted","query","then","res","userAnswerParse","sequenceIndex","t","i1","problemList","p","i2","lastIndex","questionTitle","lastIndexOf","slice","questionScore","qIndex","questionType","optionList","o","oStatus","correctAnswer","userAnswer","questionAnswer","close","back","row","collectionType","userOperateQuestion","handleType","operateType","questionId","sourceId","sourceType","examType","ElMessage","success","errorQuestionAnswer","index","document","getElementById","scrollIntoView"],"mappings":"wpEAmJA,IAAAA,EAAAC,EAAAC,UACAC,EAAA,CACAC,MAAA,QAAAJ,EAAAK,WAEA,MAAAC,EAAAC,KACAC,YAAAA,GAAAF,EACAG,EAAAC,GAAA,IAAAJ,EAAAK,WACAC,EAAAC,EAAA,CACAC,SAAA,GACAC,OAAA,6BAAAC,MAAA,IACAC,KAAA,CACAC,UAAA,IAEAC,YAAA,EACAC,aAAA,GACAC,SAAA,GACAC,eAAA,EACAC,eAAA,IAEAC,EAAAX,EAAA,CACAY,kBAAA,GACAC,qBAAA,KAEAC,GAAAd,EAAA,CACAe,SAAA,EACAC,MAAA,IAEAC,GAAAC,IACAC,GAAAC,IAEAC,GAAA,CAAAC,EAAAlB,EAAAmB,KACA,IAAAD,EACA,MAAA,GAEA,GAAA,IAAAC,EACA,OAAA,EACA,GAAA,IAAAA,EAAA,CAEA,OADAD,EAAAnB,MAAA,KACAqB,KAAA,IACA,CACA,IAAApB,EAqBA,OAAAkB,EApBA,GAAA,IAAAC,EAAA,CACA,IAAAE,EAAA,KAMA,OALArB,EAAAsB,SAAA,CAAAC,EAAAC,KACAD,EAAAE,KAAAP,GAAA,OAAAG,IACAA,EAAAG,EACA,IAEA7B,EAAAG,OAAAuB,EACA,CAAA,GAAA,IAAAF,EAAA,CACA,IAAAE,EAAA,GAMA,OALArB,EAAAsB,SAAA,CAAAC,EAAAC,KACAN,EAAAQ,QAAAH,EAAAE,KAAA,IAAA,IAAAJ,EAAAK,QAAAH,EAAAE,KACAJ,EAAAM,KAAAhC,EAAAG,OAAA0B,GACA,IAEAH,EAAAD,KAAA,IACA,CAAA,OAAA,IAAAD,EACAD,OADA,CAKA,EAEAU,GAAA,CAAAV,EAAAlB,EAAAmB,KACA,GAAA,IAAAA,EACA,OAAA,EACA,GAAA,IAAAA,EAAA,CAEA,OADAD,EAAAnB,MAAA,KACAqB,KAAA,IACA,CACA,IAAApB,EAqBA,OAAAkB,EApBA,GAAA,IAAAC,EAAA,CACA,IAAAE,EAAA,KAMA,OALArB,EAAAsB,SAAA,CAAAC,EAAAC,KACAD,EAAAM,gBAAAX,GAAA,OAAAG,IACAA,EAAAG,EACA,IAEA7B,EAAAG,OAAAuB,EACA,CAAA,GAAA,IAAAF,EAAA,CACA,IAAAE,EAAA,GAMA,OALArB,EAAAsB,SAAA,CAAAC,EAAAC,KACAN,EAAAQ,QAAAH,EAAAM,gBAAA,IAAA,IAAAR,EAAAK,QAAAH,EAAAM,gBACAR,EAAAM,KAAAhC,EAAAG,OAAA0B,GACA,IAEAH,EAAAD,KAAA,IACA,CAAA,OAAA,IAAAD,EACAD,OADA,CAKA,EAEAY,GAAA,KACAnC,EAAAO,WAAAa,GAAAgB,MAAA7B,WACAP,EAAAQ,aAAAY,GAAAgB,MAAA5B,aACAR,EAAAS,SAAAW,GAAAgB,MAAA3B,SACAT,EAAAU,eAAAU,GAAAgB,MAAA1B,gBAAA,EACAV,EAAAW,cAAAS,GAAAgB,MAAAzB,cACAI,GAAAC,SAAA,EACApB,EAAA,mBAAA,OAAAyC,MAAAC,IACA1B,EAAAC,kBAAAyB,CAAA,IAEA1C,EAAA,sBAAA,OAAAyC,MAAAC,IACA1B,EAAAE,qBAAAwB,CAAA,IAGAC,EAAA,CACA9B,SAAAT,EAAAS,SACAD,aAAAR,EAAAQ,eACA6B,MAAAC,IACAtC,EAAAK,KAAAiC,EACAtC,EAAAE,SAAAoC,EAAApC,UAAA,GACA,IAAAsC,EAAA,EACAxC,EAAAK,KAAAC,UAAAqB,SAAA,CAAAc,EAAAC,KACAD,EAAAE,YAAAhB,SAAA,CAAAiB,EAAAC,KACA,MAAAC,EAAAF,EAAAG,cAAAC,YAAA,QAEAJ,EAAAG,cADAD,GAAA,EACAF,EAAAG,cAAAE,MAAA,EAAAH,GAAA,IAAAF,EAAAM,cAAA,KAAAN,EAAAG,cAAAE,MAAAH,GAEAF,EAAAG,cAAA,IAAAH,EAAAM,cAAA,KAEAN,EAAAO,OAAAX,IACAI,EAAAQ,aAAA,GACAR,EAAAS,WAAA1B,SAAA2B,IACAA,EAAAC,QAAA,EACAX,EAAAY,cAAAzB,QAAAuB,EAAAxB,KAAA,EACAwB,EAAAC,QAAA,EAEAX,EAAAa,YAAAb,EAAAa,WAAA1B,QAAAuB,EAAAxB,KAAA,IACAwB,EAAAC,QAAA,EAEA,IAGA,IAAAX,EAAAQ,eACAR,EAAAS,WAAA,GACAT,EAAAS,WAAArB,KACA,CACAF,GAAA,IACAI,cAAA,KAEA,CACAJ,GAAA,IACAI,cAAA,MAGAU,EAAAS,WAAA1B,SAAA2B,IACAA,EAAAC,QAAA,EACAX,EAAAa,WACAH,EAAApB,eAAAU,EAAAc,eACAJ,EAAAC,QAAA,EAEAD,EAAApB,eAAAU,EAAAa,aACAH,EAAAC,QAAA,GAIAD,EAAApB,eAAAU,EAAAc,iBACAJ,EAAAC,QAAA,EAEA,IAEA,GACA,IAEAxC,GAAAC,SAAA,CAAA,GACA,IAEA,MA6BA2C,GAAA,KACAzC,GAAA0C,MAAA,25BA9BA,IAAAC,QACAC,eAaAC,EAAA,CACAC,YAAA,EACAC,YAAA,EACAC,WAAAL,EAAAK,WACAC,SAAAnE,EAAAQ,aACA4D,WAAA,IAAApE,EAAAK,KAAAgE,SAAA,EAAA,IAAArE,EAAAK,KAAAgE,SAAA,EAAA,IACAhC,MAAAC,IACAgC,EAAAC,QAAAjC,GACAuB,EAAAC,gBAAA,CAAA,IApBAC,EAAA,CACAS,oBAAAX,EAAAJ,WACAO,YAAA,EACAC,YAAA,EACAC,WAAAL,EAAAK,WACAC,SAAAnE,EAAAQ,aACA4D,WAAA,IAAApE,EAAAK,KAAAgE,SAAA,EAAA,IAAArE,EAAAK,KAAAgE,SAAA,EAAA,IACAhC,MAAAC,IACAgC,EAAAC,QAAAjC,GACAuB,EAAAC,gBAAA,CAAA,0/CAeAW,gBACAC,SAAAC,eAAAF,IAAAC,SAAAC,eAAAF,GAAAG,kBADA,IAAAH"}