{"version":3,"sources":["components/classify/index.js","components/video/camp/campTest.js","components/video/camp/campResolve.js","components/video/camp/common/common.js","components/classify/image/tips.png"],"names":["Classify","connect","props","toCourseDetail","id","history","push","state","camp","employment","basics","advanced","special","isLoading","http","get","API","home","then","res","data","code","setState","common","length","info","msg","className","title","arrow","cart","this","ClassCourseBox","toDetail","list","name","type","map","item","index","onClick","course_id","key","src","course_img","alt","Component","ClassCourseA","is_aist","ClassCourseB","to","c_id","c_name","require","WithTab","CampTest","close","showCard","body","document","getElementsByTagName","style","position","location","from","indexOf","checkOption","checkItem","numberList","answerList","Number","questionId","ques_id","answerId","opt_id","currentQuestionOption","preQuestion","questionIndex","currentExam","examList","nextQuestion","jumpItem","commit","video_id","keshi_id","qid","cost_time","time","uid","user","answer_record","post","getUseTime","date","hours","minutes","seconds","parseInt","padStart","clearInterval","useTimeInterval","qtitle","useTime","getParam","qidP","_this","forEach","obj","setInterval","showCardEve","includes","CampResolve","formatTime","ary","split","str","rightRate","rightNumber","compare","toFixed","options","fontSize","color","answer_id","user_answer","format","content","replace","Header","CampTitle","TestItem","dangerouslySetInnerHTML","__html","ques","String","fromCharCode","des","children","ChangeQuestion","Resolve","UserIndex","rightIndex","Test","analysis","module","exports"],"mappings":"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","file":"mrstaticjs/Classify.bbf99f6b.chunk.js","sourcesContent":["/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React, { Component } from \"react\"\nimport { WithTab } from \"src/HOCs\"\nimport \"./index.scss\"\nimport { http } from \"src/utils\"\nimport { Link } from \"react-router-dom\"\nimport { Toast } from \"antd-mobile\"\nimport { HeaderBar } from \"src/common\"\nimport Loading from \"src/common/Loading\"\nimport { connect } from \"react-redux\"\n\n@connect()\nclass Classify extends Component {\n constructor(props) {\n super(props)\n this.state = {\n camp: [],\n employment: [],\n basics: [],\n advanced: [],\n special: [],\n isLoading: true,\n }\n }\n\n componentDidMount() {\n let data = 1\n http.get(`${API.home}/m/course/classify/${data}`).then((res) => {\n if (res.data.code === 200) {\n this.setState({\n isLoading: false,\n })\n\n if (res.data.data.common.length > 0) {\n this.setState({\n basics: res.data.data.common[0],\n advanced: res.data.data.common[1] || [],\n })\n }\n if (res.data.data.special.length > 0) {\n this.setState({\n camp: res.data.data.special[0],\n employment: res.data.data.special[1] || [],\n special: res.data.data.special[2] || [],\n })\n }\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n\n toCourseDetail = (id) => {\n const { history } = this.props\n history.push(`/detail?id=${id}`)\n return false\n }\n\n render() {\n return (\n <div className=\"class-box\">\n <HeaderBar title=\"分类\" arrow={false} cart={false}></HeaderBar>\n <Loading isLoading={this.state.isLoading}>\n <ClassCourseBox\n toDetail={this.toCourseDetail}\n data={this.state.camp.list}\n title={this.state.camp.name}\n type={1}\n />\n <ClassCourseBox\n toDetail={this.toCourseDetail}\n data={this.state.employment.list}\n title={this.state.employment.name}\n type={1}\n />\n <ClassCourseBox\n toDetail={this.toCourseDetail}\n data={this.state.basics.list}\n title={this.state.basics.name}\n type={2}\n />\n <ClassCourseBox\n toDetail={this.toCourseDetail}\n data={this.state.advanced.list}\n title={this.state.advanced.name}\n type={2}\n />\n <div className=\"vip\">\n {this.state.special.list &&\n this.state.special.list.length > 0 &&\n this.state.special.list.map((item, index) => {\n return (\n <a\n onClick={() => this.toCourseDetail(item.course_id)}\n key={index}\n >\n <img src={item.course_img} alt=\"\" />\n </a>\n )\n })}\n </div>\n </Loading>\n </div>\n )\n }\n}\n\n// 课程图片形式展示 点击图片直接跳转课程详情页面\nfunction ClassCourseA({ data, toDetail }) {\n return (\n <div className=\"items-box\">\n {data &&\n data.length > 0 &&\n data.map((item, index) => {\n return (\n <a\n onClick={() => toDetail(item.course_id)}\n key={index}\n className=\"item-banner\"\n >\n <img src={item.course_img} alt=\"\" />\n {item.is_aist && <span className=\"return_cash\"></span>}\n </a>\n )\n })}\n </div>\n )\n}\n\n// 课程标签的形式展示 点击标签跳转分类详情页面\nfunction ClassCourseB(props) {\n return (\n <div className=\"items-box\">\n {props.data &&\n props.data.length > 0 &&\n props.data.map((item, index) => {\n return (\n <Link\n to={`/courselist?id=${item.c_id}&name=${item.c_name}`}\n key={index}\n className=\"item-label\"\n >\n {item.c_name}\n </Link>\n )\n })}\n </div>\n )\n}\n\nfunction ClassCourseBox(props) {\n return (\n <div className=\"class-course\">\n <p className=\"course-items-title\">\n {props.title && <img src={require(\"./image/tips.png\")} alt=\"\" />}\n {props.title}\n </p>\n {props.type === 1 && (\n <ClassCourseA data={props.data} toDetail={props.toDetail} />\n )}\n {props.type === 2 && <ClassCourseB data={props.data} />}\n </div>\n )\n}\n\nexport default WithTab(Classify)\n","import React, { Component } from \"react\"\nimport { getParam, http } from \"src/utils\"\nimport \"./camp.scss\"\nimport { connect } from \"react-redux\"\nimport { Header, CampTitle, TestItem, ChangeQuestion } from \"./common/common\"\nimport { Toast } from \"antd-mobile\"\n\nclass CampTest extends Component {\n constructor(props) {\n super(props)\n this.state = {\n examList: [], // 问题列表\n currentExam: {}, // 当前要展示的问题\n currentQuestionOption: {}, // 切换题目时 用来存储当前问题的选项\n questionIndex: 1, // 第几个问题\n numberList: [], // 答题的题号\n qtitle: \"\",\n useTime: \"00:00\",\n showCard: false,\n }\n }\n componentDidMount() {\n this.keshi_id = getParam(\"keshi_id\")\n this.qidP = getParam(\"qid\")\n let _this = this\n // 获取问题列表\n http\n .get(`${API.home}/m/aist/get_questions/${this.keshi_id}/${this.qidP}`)\n .then((res) => {\n if (res.data.code === 4040) {\n Toast.info(res.data.msg, 2, () => {\n this.props.history.push(\"/passport\")\n })\n return\n } else if (res.data.code !== 200) {\n Toast.info(res.data.msg, 2, () => {\n this.props.history.push(\"/\")\n })\n return\n }\n let data = res.data.data\n this.qid = data.id\n this.course_id = data.course_id\n this.setState({\n examList: data.list,\n qtitle: data.qtitle,\n currentExam: data.list[0],\n })\n _this.answerList = []\n data.list.forEach((item) => {\n let obj = {}\n obj.questionId = item.id\n obj.answerId = 0\n _this.answerList.push(obj)\n })\n _this.time = 0\n _this.useTimeInterval = setInterval(function () {\n _this.time += 1\n // _this.useTime = _this.getUseTime(_this.time);\n _this.setState({\n useTime: _this.getUseTime(_this.time),\n })\n }, 1000)\n })\n }\n // 关闭按钮\n close = () => {\n let isShow = this.state.showCard\n if (isShow) {\n this.setState({\n showCard: false,\n })\n this.body = document.getElementsByTagName(\"body\")[0]\n this.body.style.position = \"static\"\n } else {\n const {\n history,\n location: { state = {} },\n } = this.props\n let to = \"\"\n if (state.from && state.from.indexOf(\"video\") !== -1) {\n to = \"detail\"\n }\n if (state.from && state.from.indexOf(\"detail\") !== -1) {\n to = \"classify\"\n }\n // console.log(this.props);\n history.push(`${state.from}`, {\n to,\n })\n }\n }\n // 选择答案\n checkOption = (checkItem) => {\n let list = this.state.numberList\n this.answerList.map(function (item) {\n if (Number(item.questionId) === Number(checkItem.ques_id)) {\n item.answerId = checkItem.opt_id\n }\n return item\n })\n list.push(checkItem.ques_id)\n this.setState({\n currentQuestionOption: checkItem.opt_id,\n numberList: list,\n })\n }\n // 上一题\n preQuestion = () => {\n let index = this.state.questionIndex\n if (index === 1) {\n return\n }\n this.setState({\n questionIndex: index - 1,\n currentExam: this.state.examList[index - 2],\n currentQuestionOption: this.answerList[index - 2].answerId,\n })\n }\n // 下一题\n nextQuestion = () => {\n let index = this.state.questionIndex\n if (index === this.state.examList.length) {\n this.setState({\n showCard: true,\n })\n return\n }\n this.setState({\n questionIndex: index + 1,\n currentExam: this.state.examList[index],\n currentQuestionOption: this.answerList[index].answerId,\n })\n }\n // 通过答题卡的卡号跳转到对应的题目\n jumpItem = (item, index) => {\n this.setState({\n showCard: false,\n questionIndex: index + 1,\n currentExam: this.state.examList[index],\n currentQuestionOption: this.answerList[index].answerId,\n })\n }\n // 提交\n commit = () => {\n let data = {}\n data.video_id = this.keshi_id\n data.qid = this.qid\n data.cost_time = this.time\n data.uid = this.props.user.data.uid\n data.answer_record = this.answerList\n http.post(`${API.home}/m/aist/submit`, data).then((res) => {\n if (res.data.code === 200) {\n this.body = document.getElementsByTagName(\"body\")[0]\n this.body.style.position = \"static\"\n this.props.history.push(\n `/campResolve?keshi_id=${this.keshi_id}&qid=${this.qid}`,\n { from: this.props.location.state.from }\n )\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n // 显示答题卡\n showCard = () => {\n this.setState({\n showCard: true,\n })\n this.body = document.getElementsByTagName(\"body\")[0]\n this.body.style.position = \"fixed\"\n }\n // 答题用时的格式化\n getUseTime = (date) => {\n let hours = 0,\n minutes = 0,\n seconds = 0\n hours = `${parseInt(date / (60 * 60))}`.padStart(2, 0)\n minutes = `${parseInt((date - hours * 3600) / 60)}`.padStart(2, 0)\n seconds = `${parseInt(date - hours * 3600 - minutes * 60)}`.padStart(2, 0)\n if (date === 3600 * 24) {\n clearInterval(this.useTimeInterval)\n this.useTimeInterval = null\n } else {\n if (date < 3600) {\n return `${minutes}:${seconds}`\n } else {\n return `${hours}:${minutes}:${seconds}`\n }\n }\n }\n\n render() {\n let {\n qtitle,\n currentExam,\n currentQuestionOption,\n questionIndex,\n examList,\n useTime,\n showCard,\n numberList,\n } = this.state\n return (\n <div className=\"camp-test-container\">\n <div className={\"fixed_container\"}>\n {/*关闭按钮 时间 答题卡*/}\n <Header\n time={useTime}\n showCardEve={this.showCard}\n close={this.close}\n showCard={showCard}\n />\n\n {/*课后练习题 当前题目 题目总数*/}\n <CampTitle\n qtitle={qtitle}\n questionIndex={questionIndex}\n examList={examList}\n />\n </div>\n\n {/*题目*/}\n <TestItem\n questionIndex={questionIndex}\n checkOption={this.checkOption}\n currentExam={currentExam}\n currentQuestionOption={currentQuestionOption}\n />\n {/*切换题目*/}\n <ChangeQuestion\n preQuestion={this.preQuestion}\n nextQuestion={this.nextQuestion}\n questionIndex={questionIndex}\n />\n {/* 答题卡 */}\n {showCard && (\n <div className=\"test-card-container\">\n <p>{`课后练习:${qtitle}`}</p>\n <ul className={\"test-item\"}>\n {examList.map((item, index) => {\n return (\n <li\n key={item.id}\n onClick={() => {\n this.jumpItem(item, index)\n }}\n className={`layout-flex-center ${\n numberList.includes(item.id) ? \"answered\" : \"\"\n }`}\n >\n {index + 1}\n </li>\n )\n })}\n </ul>\n <div className={\"bottom_commit\"}>\n <div\n onClick={this.commit}\n className={\"commit_answer layout-flex-center\"}\n >\n 提交并查看结果\n </div>\n </div>\n </div>\n )}\n </div>\n )\n }\n}\n\nexport default connect((state) => ({ user: state.user }), null)(CampTest)\n","import React, { Component } from \"react\"\nimport { getParam, http } from \"src/utils\"\nimport \"./camp.scss\"\nimport {\n CampTitle,\n Header,\n TestItem,\n ChangeQuestion,\n Resolve,\n} from \"./common/common\"\nimport { Toast } from \"antd-mobile\"\n\nclass CampResolve extends Component {\n constructor(props) {\n super(props)\n this.state = {\n examList: [], // 问题列表\n currentExam: {}, // 当前要展示的问题\n currentQuestionOption: {}, // 切换题目时 用来存储当前问题的选项\n questionIndex: 1, // 第几个问题\n numberList: [], // 答题的题号\n qtitle: \"\",\n useTime: \"00:00\",\n showCard: false,\n rightRate: 0,\n }\n }\n showCard = () => {\n this.setState({\n showCard: true,\n })\n this.body = document.getElementsByTagName(\"body\")[0]\n this.body.style.position = \"fixed\"\n }\n close = () => {\n let isShow = this.state.showCard\n if (isShow) {\n this.setState({\n showCard: false,\n })\n this.body = document.getElementsByTagName(\"body\")[0]\n this.body.style.position = \"static\"\n } else {\n const {\n history,\n location: { state = {} },\n } = this.props\n let to = \"\"\n if (state.from && state.from.indexOf(\"video\") !== -1) {\n to = \"detail\"\n }\n if (state.from && state.from.indexOf(\"detail\") !== -1) {\n to = \"classify\"\n }\n // console.log(this.props);\n history.push(`${state.from}`, {\n to,\n })\n }\n }\n componentDidMount() {\n this.keshi_id = getParam(\"keshi_id\")\n this.qidP = getParam(\"qid\")\n let _this = this\n // 获取问题列表\n http\n .get(`${API.home}/m/aist/analysis/${this.keshi_id}/${this.qidP}`)\n .then((res) => {\n // console.log(res);\n if (res.data.code === 4040) {\n Toast.info(res.data.msg, 2, () => {\n this.props.history.push(\"/passport\")\n })\n return\n } else if (res.data.code !== 200) {\n Toast.info(res.data.msg, 2, () => {\n this.props.history.push(\"/\")\n })\n return\n }\n let data = res.data.data\n this.course_id = data.course_id\n _this.answerList = []\n this.rightNumber = 0\n data.list.forEach((item) => {\n if (item.compare === 1) {\n this.rightNumber++\n }\n let obj = {}\n obj.questionId = item.id\n obj.answerId = 0\n _this.answerList.push(obj)\n })\n this.setState({\n examList: data.list,\n qtitle: data.qtitle,\n currentExam: data.list[0],\n useTime: data.cost_time,\n rightRate: ((this.rightNumber / data.list.length) * 100).toFixed(0),\n })\n })\n }\n checkOption = () => {}\n preQuestion = () => {\n let index = this.state.questionIndex\n if (index === 1) {\n return\n }\n this.setState({\n questionIndex: index - 1,\n currentExam: this.state.examList[index - 2],\n currentQuestionOption: this.answerList[index - 2].answerId,\n })\n }\n nextQuestion = () => {\n let index = this.state.questionIndex\n if (index === this.state.examList.length) {\n this.setState({\n showCard: true,\n })\n return\n }\n this.setState({\n questionIndex: index + 1,\n currentExam: this.state.examList[index],\n currentQuestionOption: this.answerList[index].answerId,\n })\n }\n // 通过答题卡的卡号跳转到对应的题目\n jumpItem = (item, index) => {\n this.setState({\n showCard: false,\n questionIndex: index + 1,\n currentExam: this.state.examList[index],\n currentQuestionOption: this.answerList[index].answerId,\n })\n }\n formatTime = (time) => {\n let ary = time.split(\":\")\n let str = `${Number(ary[1])}分${ary[2]}秒`\n if (Number(ary[0]) !== 0) {\n str = `${Number(ary[0])}时${str}`\n }\n return str\n }\n render() {\n let {\n qtitle,\n currentExam,\n currentQuestionOption,\n questionIndex,\n examList,\n useTime,\n showCard,\n rightRate,\n } = this.state\n return (\n <div className=\"camp-test-container\">\n <div className={\"fixed_container\"}>\n <Header\n time={useTime}\n showCardEve={this.showCard}\n close={this.close}\n showCard={showCard}\n />\n <CampTitle\n qtitle={qtitle}\n questionIndex={questionIndex}\n examList={examList}\n />\n </div>\n <TestItem\n questionIndex={questionIndex}\n checkOption={this.checkOption}\n currentExam={currentExam}\n currentQuestionOption={currentQuestionOption}\n >\n {currentExam && currentExam.options && (\n <Resolve currentExam={currentExam} />\n )}\n </TestItem>\n <ChangeQuestion\n preQuestion={this.preQuestion}\n nextQuestion={this.nextQuestion}\n questionIndex={questionIndex}\n />\n {showCard && (\n <div className=\"test-resolve-card-container\">\n <div className={\"camp-test-header layout-flex-between\"}>\n <div>\n <i\n onClick={this.close}\n className={\"iconfont iconiconfront-77 icon-close\"}\n />\n </div>\n <div className=\"layout-flex-center camp-test-time\">\n <span style={{ fontSize: \"17px\", color: \"#333333\" }}>\n {\"练习报告\"}\n </span>\n </div>\n <div className={`icon icon-order no_height`} />\n </div>\n\n <div className={\"report-body\"}>\n <div className={\"right_rate\"}>\n <span className={\"rate\"}>正确率</span>\n <div className={\"percentage\"}>\n <span>{rightRate}</span>\n <span>%</span>\n </div>\n </div>\n\n <p className={\"use_total_time\"}>{`累计用时${this.formatTime(\n useTime\n )}`}</p>\n\n <ul className={\"right_wrong_li\"}>\n {examList.map((item, index) => {\n return (\n <li\n onClick={() => {\n this.jumpItem(item, index)\n }}\n className={`layout-flex-center ${\n item.answer_id === item.user_answer ? \"right\" : \"wrong\"\n } ${item.user_answer === 0 ? \"noSelect\" : \"\"}`}\n key={item.answer_id}\n >\n {index + 1}\n </li>\n )\n })}\n </ul>\n </div>\n\n <div className={\"camp-report-bottom\"}>\n <div className={\"bottom_commit layout-flex-center\"}>\n <div\n onClick={this.close}\n className={\"commit_answer layout-flex-center\"}\n >\n 题目解析\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n )\n }\n}\n\nexport default CampResolve\n","import React from \"react\"\nfunction format(content) {\n if (content) {\n if (content.includes(\"<img\")) {\n content = content.replace(/<img/g, \"<img style='width: 100%'\")\n }\n content = content.replace(/</g, \"<\")\n content = content.replace(/>/g, \">\")\n content = content.replace(/&gt;/g, \"\")\n content = content.replace(/"/g, '\"')\n content = content.replace(/&nbsp;/g, \"\")\n }\n return content\n}\n\nfunction Header(props) {\n return (\n <div className=\"camp-test-header layout-flex-between\">\n <div>\n <i\n onClick={props.close}\n className={\"iconfont iconiconfront-77 icon-close\"}\n />\n </div>\n <div className=\"layout-flex-center camp-test-time\">\n <i className=\"icon icon-clock\" />\n <span>{props.time}</span>\n </div>\n <div\n onClick={props.showCardEve}\n className={`icon icon-order ${props.showCard ? \"no_height\" : \"\"}`}\n />\n </div>\n )\n}\n\nfunction CampTitle(props) {\n return (\n <div className=\"layout-flex-between camp-test-title\">\n <div className=\"qtitle\">{`课后练习:${props.qtitle}`}</div>\n <div className=\"qnumber\">{`${props.questionIndex}/${props.examList.length}`}</div>\n </div>\n )\n}\n\nfunction TestItem(props) {\n let { questionIndex, currentExam, currentQuestionOption } = props\n return (\n <div className=\"test-item-container\">\n <div\n className=\"ques item-title\"\n dangerouslySetInnerHTML={{\n __html: `${questionIndex}.${format(currentExam.ques)}`,\n }}\n />\n <ul>\n {currentExam.options &&\n currentExam.options.map((item, index) => {\n return (\n <li\n key={index}\n onClick={() => props.checkOption(item)}\n className={`\n ${\n currentQuestionOption === item.opt_id\n ? \"option_checked\"\n : \"\"\n }\n ${\n (currentExam.user_answer === 0 ||\n currentExam.user_answer) &&\n currentExam.user_answer ===\n item.opt_id\n ? \"user_check\"\n : \"\"\n }\n ${\n (currentExam.user_answer === 0 ||\n currentExam.user_answer) &&\n currentExam.answer_id === item.opt_id\n ? \"right_check\"\n : \"\"\n }\n `}\n >\n <span className=\"letter\">\n {String.fromCharCode(Number(index) + 65)}\n </span>\n <span\n className=\"des\"\n dangerouslySetInnerHTML={{ __html: format(item.des) }}\n />\n </li>\n )\n })}\n </ul>\n {props.children}\n </div>\n )\n}\n\nfunction ChangeQuestion(props) {\n return (\n <div className={\"layout-flex-around change_question_container\"}>\n <div\n onClick={props.preQuestion}\n className={`change_button pre_question ${\n props.questionIndex === 1 ? \"first_question\" : \"\"\n }`}\n >\n 上一题\n </div>\n <div\n onClick={props.nextQuestion}\n className={`change_button next_question`}\n >\n 下一题\n </div>\n </div>\n )\n}\n\nfunction Resolve(props) {\n let { currentExam } = props\n let Test = currentExam.compare === 0 ? \"错误\" : \"正确\"\n let UserIndex, rightIndex\n currentExam.options.forEach((item, index) => {\n if (currentExam.answer_id === item.opt_id) {\n rightIndex = index\n }\n if (\n currentExam.user_answer !== 0 &&\n currentExam.user_answer === item.opt_id\n ) {\n UserIndex = (\n <span>{`您的答案是${String.fromCharCode(Number(index) + 65)},`}</span>\n )\n }\n })\n if (currentExam.user_answer === 0) {\n UserIndex = <span>{`您的答案是空,`}</span>\n }\n return (\n <div className={\"test-resolve\"}>\n <div className={\"isRight\"}>\n <span>{`正确答案是${String.fromCharCode(\n Number(rightIndex) + 65\n )},`}</span>\n {UserIndex}\n <span>{`回答${Test}。`}</span>\n </div>\n <p>解析</p>\n <div\n className={\"resolve-content\"}\n dangerouslySetInnerHTML={{ __html: `${format(currentExam.analysis)}` }}\n />\n </div>\n )\n}\n\nexport { Header, CampTitle, TestItem, ChangeQuestion, Resolve }\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAYCAMAAADNlS1EAAAA+VBMVEUAAADeP03XQVEDmP38MjMGl/rSQ1Uhi+QJlfj9MjIsh9sGl/o6gtD/MTEYj+zoOkTxNzw6gtAIlvn8MjNQeL+wUXGAZZgnieCAZJg3g9LJSF0rh9x5aJ6HYpPfPktDfsm8TGhec7ShV3wNk/PxNjxdc7ShV3y7TGdDfskgi+XePkt4Z52GYpM2g9PIR10Ok/PxNjyUXYdrbajoOkQXkOwXkOzoO0M3g9LJR13UQ1TePksXkO0Nk/Qhi+QshtzePkzxNjz5MzbnO0RqbamUXIivUXI2g9NDfslQeL9dc7R4aJ6GYpKiV328TGfJR13UQlPoOkNQeb7pOkQ6pR5tAAAAO3RSTlMABo85Of3w7JGRjO7u7u3t7ZGDg09PMBUV+vrz7+/q397X18/Pv7+1tKSjmZh9fHd2cnFmZTQ0KCgbEL1XwbEAAADqSURBVBjTXZHlssIwFAZpqVDc4bq7+wXa4nUB3v9h+HKAYZL9k52dZJI5yfBk61m2SEapZEi7pqoqq8YYNLbxyjTNN6zVEahu2vcA/EAqE1Ch1tEty3pgJg+BTDFv2/ZRhy6SNU2mi/4OHMd5yfDcu657JrSm5y29phAvfN+/EdrnFLT51j0OguBJ2PgchuFJl2/tGfgQNt5GUXQp8a01By2+SedxHN8Jh1+TJDn8J60VizWSnpam6W4mIM/sEXM67VPULaBDfieLxeoLAsoDUIa8Y/TX2+fkTFCHKPgkhRWqhUKORGlQ27MGJhAis32Nv3oAAAAASUVORK5CYII=\""],"sourceRoot":""}