清华大学建筑设计研究院
清华大学建筑设计研究院有限公司(THAD)成立于1958年,为国家甲级建筑设计院。依托清华大学深厚的学术底蕴与科研实力,秉承"产学研"一体化的发展模式,在建筑设计、城市规划、遗产保护、景观设计、绿色建筑等领域具有卓越造诣和广泛影响力。现有中国工程院院士3人、中国科学院院士1人、全国工程勘察设计大师4人,拥有370余个建筑作品,是中国最具学术底蕴和设计实力的建筑设计机构之一。
机构简介
机构简介
清华大学建筑设计研究院有限公司(Architectural Design and Research Institute of Tsinghua University,简称THAD)成立于1958年,前身为清华大学建筑系设计院,是国家最早批准成立的甲级建筑设计院之一。作为中国高校建筑设计院的领军者,THAD依托清华大学建筑学院、土木水利学院等优势学科的学术资源,构建了"产学研"深度融合的发展模式,形成了从学术研究到工程实践、从理论创新到技术转化的完整闭环。
THAD现有员工逾千人,其中国家一级注册建筑师、注册规划师、注册结构工程师等各类专业技术人员占绝大多数。机构汇聚了中国工程院院士庄惟敏、吴良镛(中国科学院院士、中国工程院两院院士)、张建民,以及全国工程勘察设计大师张杰、张利等一批享誉中外的建筑大师与学术领军人物,形成了以院士和大师为核心、以中青年骨干为支撑的梯次分明的人才队伍。
发展历程
THAD的发展历程是中国当代建筑教育与实践紧密结合的生动缩影。1958年,在梁思成先生的倡导下,清华大学成立建筑设计研究院,初衷是为建筑系师生提供教学实践平台。此后六十余年间,THAD完成了从教学辅助机构到国家级设计研究机构的跨越,先后参与了国庆十周年北京十大建筑、2008年北京奥运会、2010年上海世博会、2022年北京冬奥会、雄安新区等国家重大工程的规划设计,在文化建筑、教育建筑、体育建筑、医疗建筑、遗产保护等领域积累了丰富的设计经验和学术成果。
设计理念
THAD的设计理念根植于清华大学"自强不息、厚德载物"的校训精神,强调"以人为本、绿色创新、文脉传承"三大核心价值。在建筑创作中,THAD始终坚持学术研究与设计实践的双向互动——将前沿的建筑理论、结构技术、环境科学成果转化为可落地的设计方案,同时将工程实践中的问题反馈为学术研究的新课题。这种"从理论中来、到实践中去"的方法论,使THAD的作品既具有深厚的学术底蕴,又富有强烈的时代感和在地性。
在绿色建筑领域,THAD是国内最早开展建筑节能与绿色设计研究的机构之一,主持编制了多项国家标准和行业规范。在遗产保护领域,THAD开创性地提出了"文绿融合、新旧共生"的城市保护与更新理论,在福州三坊七巷、景德镇陶阳里等项目中实现了历史文脉与当代生活的有机融合。在体育建筑领域,THAD完成了冬奥会国家跳台滑雪中心"雪如意"、首钢滑雪大跳台"雪飞天"等标志性建筑,以创新的结构形态和可持续设计理念赢得了国际赞誉。
代表作品
团队介绍
THAD的设计团队以"院士领衔、大师担纲、青年骨干协同"为组织架构,形成了多个特色鲜明的研究型设计团队:
- 庄惟敏院士团队:聚焦文化建筑与国家重大工程,擅长建筑策划理论与后评估方法,代表作品包括中国国家版本馆、中国美术馆改造、国家会展中心、国家冬季两项中心等
- 吴良镛院士团队:开创人居环境科学,以"有机更新"理论指导城市保护与更新,代表作品包括北京菊儿胡同改造、曲阜孔子研究院等
- 张杰大师团队:深耕城市保护与更新30余年,提出"文绿融合、新旧共生"理论,在历史街区保护与工业遗产活化领域具有国际影响力
- 张利大师团队:以"城市人因工程学"为方法论,在体育建筑与公共空间领域成果卓著,主持设计了冬奥会两大标志性场馆
- 刘玉龙总建筑师团队:专注教育建筑与医疗建筑设计,主持完成清华大学图书馆北馆、清华长庚医院等数十项大型项目
- 吴耀东总建筑师团队:以跨文化建筑理论研究为基础,在机场建筑、文化建筑等领域有突出建树
- 季元振顾问总建筑师团队:在预应力装配式建筑体系领域取得国际首创性成果,获国家科技进步二等奖
此外,THAD还汇聚了宋晔皓、吕舟、崔光海、姜娓娓、唐鸿骏等一批在绿色建筑、文化遗产保护、宗教建筑、教育建筑等细分领域深耕的中青年副总建筑师,以及刘彦生、吴清等结构工程领域的资深专家,形成了覆盖建筑创作全专业链的完备技术体系。
获奖荣誉
- 国际奖项:联合国教科文组织亚太文化遗产保护奖、联合国世界人居奖、英国皇家建筑师学会国际杰出建筑奖、德国国家设计奖建筑金奖、美国建筑师协会国际设计奖、亚洲建协建筑设计金牌奖、世界未来城市计划奖(IUPA)一等奖等
- 国家级奖项:国家科技进步一等奖、国家科技进步二等奖、国家技术发明一等奖、国家最高科学技术奖、全国优秀工程勘察设计奖金奖及银奖、中国建筑学会建筑创作大奖、梁思成建筑奖、华夏建设科学技术一等奖等
- 省部级奖项:教育部优秀工程设计奖、住建部优秀设计奖、北京市优秀工程设计奖等数百项
代表作品
长治市妇幼保健院
项目概述 方案致力于打造面向中国式现代化的友好关爱型育疗生活样板,构建高标准生育友好型医院支撑下的全国示范性儿童友好街区与妇幼乐园。设计突破传统医疗空间的冷漠属性,提出"环境浸育中的少年宫与成长摇篮"理念,将"专全结合、动静结合、疗育结合"作为核心功能导向,为妇女、儿童及孕产妇提供全方位、高品质的医疗保健服务。 规划鸟瞰图 设计策略 在整体设计策略上,方案深度响应《儿童友好医院建设指南》与《生育友好医院建设指南》的规范要求,致力于建立一个集医疗、保健、预防、康复于一体的区域性妇幼健康服务平台。设计弱化了传统医院的压抑感,注重空间心理学与母婴情感的共鸣。通过引入自然采光与生态景观,建筑内外相互交融,营造出极具生命力与庇护感的疗愈环境。 人视图 人视图 空间组织 空间组织方面,项目依托一条高效便捷的"医疗街"作为主干,将门急诊、保健与住院三大核心功能模块有机串联,确保就医流线的清晰与高效。同时,院区内巧妙植入了"童趣城堡"与"疗愈花园"等特色空间,并结合托育中心、月子中心及综合活动中心,打造出寓教于乐的宜学氛围与无边界的互动场域。方案在满足当前专业化医疗需求的基础上,不仅关注医疗技术的硬性支撑,更强调对生命起点全周期的柔性关怀,为未来多场景医疗组合预留了充分的弹性生长空间。 儿童场地 室外庭院 中庭效果 室内效果 夜景鸟瞰 项目图纸 一层平面图 立面图 立面图 剖面图 剖面图 设计团队 设计单位清华大学建筑设计研究院有限公司 建设单位长治市妇幼保健院 项目负责人尚文昊、章宇贲 项目主创周宇 项目经理王一丁 建筑设计刘霄、赵宏伟、屈泊静 结构设计刘湘、徐微、罗云兵 给排水专业袁野、王春香、崔艳辉 暖通专业李晓冬、徐纪轩、李冰 强电专业刘路、韩苓苓、郭红艳 项目信息 项目名称:长治市妇幼保健院 项目地点:山西省长治市 建筑类型:医疗建筑 用地面积:85,109.2㎡ 建筑面积:114,300㎡ 设计时间:2025-2026 设计单位:清华大学建筑设计研究院有限公司
合肥经开科技城学校(清华附属学校)
项目概况 科技项目概况项目介绍合肥经开科技城学校(清华附属学校)是由清华大学建筑设计研究院设计的作品。 项目类型:教育建筑 合肥经开科技城学校(清华附属学校) 合肥经开科技城学校(清华附属学校) 合肥经开科技城学校(清华附属学校) 合肥经开科技城学校(清华附属学校)
中国铁建·万花楼文旅综合城
万花楼城市更新项目是玉林市政府推动的重大项目,旨在通过老旧街区和城中村的联动更新,打造结合文化和产业的商文旅新模式。 项目以万花楼为中心,采取轻介入、微更新,新老共生的策略,旨在保留并弘扬“岭南脉、民国风、烟火气、关厢情”的地方特色,构建城市,并增强地方文脉的凝聚力。更新规划聚焦于万花楼,连通清湾江与古州城,重塑千年古州的“万花文脉”,形成独特的历史文化空间格局。通过“定一轴南北,汇六方朝阁”的设计思路,万花楼复兴了城市精神地标和文化地标的地位,成为玉林首个商文旅微旅游目的地。 中国铁建·万花楼文旅综合城 中国铁建·万花楼文旅综合城 中国铁建·万花楼文旅综合城 中国铁建·万花楼文旅综合城 项目名称丨中国铁建•万花楼文旅综合城项目地点丨广西壮族自治区玉林市建筑类型丨城市更新用地面积丨37,009.40 ㎡建筑面积丨84,020.66㎡设计时间丨2021设计单位丨清华大学建筑设计研究院有限公司建设单位丨玉林产城投资建设有限公司 广西玉津投资开发有限公司施工单位丨中铁十八局集团第二工程有限公司获奖情况丨亚太城市可持续发展目标优秀项目库项目负责人丨王野 姚兰规划设计丨唐燕 杨东建筑设计丨吴国庆 安晓越 刘志杰 欧丽超 王智渊 张小鹏 严鹏 潘弘彬 张抗结构设计丨龚政 宋泽钊 张玉军给排水专业丨刘程 赵惠天 汤思暖通专业丨周溯 梅亚伯 安嘉铭电力专业丨李娟 金翔 王学伟景观设计丨刘晓妹 刘梦洋产业策划丨董国庆艺术策划丨李萌 建筑摄影丨夏至
中企海外办公生活综合基地
在肯尼亚内罗毕凯伦郡的Ngong森林旁,一座融合生态智慧与人文温度的现代化总部园区,在一片原生地貌上悄然生长。 这里气候优势显著,虽距赤道仅150公里,却因1600m+的海拔使其跻身"全球十大春城",年平均气温保持在12-27℃,无极端气温。全年日照≥2800h,太阳辐射强度高;降水集中于4月、10月两季,形成"高辐射、适温、双雨季"的独特气候。场地形态独特:场地呈"中间高、四周低"的缓坡台地形态,最大高差7m。植被覆盖度达60%,200多棵非洲原生乔木散落其间,构成场地生态核心。历史记忆留存:场地中部留存历史遗留建筑(Main house),虽建筑形制简单,但承载了场地的历史记忆,成为空间叙事的重要节点。周边条件约束:区域周边生活配套设施匮乏,加之当地治安欠缺,城市呈现"封闭社区"特征,导致员工外出限制较多,生活半径压缩。同时,肯尼亚市政水电供给不稳定,对园区自给自足能力提出明确要求。△清晨鸟瞰©THAD△区位分析©THAD△周围环境©THAD项目距首都内罗毕市区14公里,地上3层、地下1层,可满足约200人办公住宿的使用需求。 △南侧鸟瞰©THAD△北侧鸟瞰©THAD总体规划力求处理好城市空间、周边环境、交通流线、企业形象、园区特性、建筑空间之间的关系。在设计中紧密结合外在气候条件和内在功能需求,创造自然与建筑、科学与人文相融合的现代总部园区。在地共生·记忆传承,雕琢地域特色景观带我们尊重每一寸土地的原生肌理,以“因地制宜、保留记忆”为核心、“应留尽留”为原则,保留了25棵大树、177棵小树,仅移除了部分影响结构与长势较弱的小树。以规划主轴线为脉络,打造中央开放式景观带,与保留建筑形成对话关系,构建“中心花园-庭院-街巷”三级景观体系,并由中央向四周有序渗透,形成“历史建筑+原生生态”的空间叙事。△从办公楼看向中心景观©THAD自然融渗·全景园林,邂逅生态办公新体验基于等高线分析,办公楼采用“阶梯式”布局,建筑基底随地形自然跌落,既减少土方量,又形成“建筑嵌入场地”的视觉效果;宿舍区采用院落组团式,沿缓坡分散布置,通过连廊串联,避免地形对交通流线的割裂。通过底层架空设计手法,使建筑顺应地形“漂浮”于基地之上,将整个场地打造为连续贯通的全景式园林,将整个园区化作一片连续贯通、绿意盎然的自然景观。△空间结构©THAD△建筑与地形的关系©THAD△错落有致的屋顶轮廓线©THAD高效协同·功能聚合,构建复合总部新范式采用分区明确的布局策略,办公区设于场地西侧和北侧,紧邻城市主要交通,便于出入与管理;餐饮娱乐区集中在场地北侧次入口附近,兼顾办公与居住人员使用需求,同时优化后勤物流效率;保留建筑升级改造为集住宿、餐饮、会议于一体的商务接待中心;居住区以5个组团形态,沿东侧环绕保留建筑有序排布,形成相对私密静谧、邻里相融的居住氛围,配备完善的生活配套,让员工在异乡也能感受家的温暖。△新老建筑对话©THAD△功能分区©THAD向心聚合·空间共生,打造人文交流新场域园区以“核心引领、有序渗透”为空间脉络,构建出鲜明流畅的外部空间结构。西侧办公区与东侧宿舍区相互围合,形成极具向心力的中央景观中心,与保留建筑形成视觉与功能的对话共鸣,成为园区的“精神内核”。核心公共开放空间以中央景观为原点,向四周有序延伸、层次递进,建构出形态丰富,错落有致的空间层次。△保留建筑位于景观核心©THAD动静分离·通达有序,构建安全便捷慢行网 在基地南侧和西侧设置车行主入口,借鉴传统园林“曲径通幽”的手法,入口道路沿现状围墙蜿蜒,透过乔木枝叶间隙,建筑轮廓隐约可见,避免传统总部“对称轴线+大门”的压迫感,形成“渐进式”的空间体验。沿用地外围西侧规划车行路,同时园区道路采用“曲线避让”设计,绕开大树根系范围(距树干≥5m),同时降低车速(设计时速≤15km/h),保障人行安全;中央景观环路划定为人行区域,实现彻底的人车分流,在园区内构建通达便捷的步行体系。△办公楼主入口©THAD△人车分流的内部交通©THAD肌理共生·风貌协调,塑造城市地标新形象作为中国企业在东南非区域的形象窗口,园区规划坚持“融入城市、彰显特色”的原则,办公建筑采用整合式布置提升使用效率,同时在体量上化整为零,减小建筑尺度以呼应城市肌理;居住区采用组团合院布局,避免大体量建筑对现有城市肌理造成压迫。建筑风貌既彰显中国企业的企业气质,又融入肯尼亚地域建筑元素,实现了中外文化的碰撞与交融。△办公楼立面©THAD△Main house与宿舍对话©THAD地域适配:绿色技术呼应当地气候特征建筑形式充分回应基地地形特征与当地气候条件,以大量本土砖为主材,搭配少量玻璃及遮阳构件,在保障室内充足采光的同时,有效降低建筑能耗,显著提升夏季室内热舒适度,兼顾经济性与实用性。办公区采用坡屋顶造型,既延续非洲本土建筑的排水、遮阳智慧,又暗合中国传统建筑的坡顶韵味,实现文化传承与地域适配的统一。每一办公空间都毗邻半室外空中花园,增强通风效果,为办公人员提供舒适的休憩空间。这一设计呼应中国企业在非洲项目中践行的绿色发展理念,以技术创新实现环境友好与舒适体验的双重目标。△建筑细部©THAD开放交往:营造清晰高效、共享合作的氛围办公区合理布置各个使用机构的位置,平面简单高效,流线丰富清晰,各功能区之间设置公共交往空间,相对独立又方便联系,主入口布置企业展示厅,次入口处布置会议中心和餐饮娱乐,方便办公人员使用;以多元空间设计强化交往属性,办公区将入口门厅与企业展示厅有机结合,打造丰富的室内外交往场景,鼓励人与人、人与自然的深度互动,形成“共享、交流、合作”的办公氛围。生活区则通过灵活内街、室外连廊及悬挑阳台等多元元素,让开放交往理念渗透到每一个角落。△办公区功能分区©THAD△共享空间©THAD△办公楼门厅©THAD生活场景重构:复刻邻里化“家”的温暖生活区采用组团式布局,首层设计灵活内街,沿内街及内院设置小厨房与餐厅;住宿空间规模具备高度弹性,可灵活适配不同人数的使用需求。“街巷-庭院”的布局形式,还原了邻里空间的温情内核。街巷宽度控制在4-6米,两侧宿舍采用“敞廊”,外侧增设1.2米宽阳台,既满足非洲地域遮阳避雨的实用需求,也成为了户外延展空间。每3个宿舍单元设1处共享客厅,复刻国内邻里间“推门即见、随时串门”的熟络社交场景,以细节设计传递“家”的温暖。 △混合街区©THAD △宿舍区街道空间©THAD△宿舍区庭院©THAD△宿舍局部©THAD△宿舍观景平台©THAD保留建筑:修旧如旧的文化锚点遵循 “修旧如旧” 原则,保留建筑原有肌理与空间格局,室内营造故居式氛围,强调自然采光与景观渗透。屋顶平台改造为观景空间,可眺望整个园区景观,打造集接待、会议、餐饮、住宿于一体的跨文化交流核心场所。△改造前Main House©THAD△Main House立面©THAD△Main House细节©THAD△Main House屋顶平台©THAD中企海外办公生活综合基地,以“顺天之时·因地之利”的核心理念为引领,将生态智慧、高效赋能、人文温度与地域特色深度融合,既承载着中国企业深耕东南非、服务区域发展的战略使命,也为企业员工打造了宜居宜业的美好家园,更为肯尼亚城市发展注入全新活力。 △园区北侧鸟瞰©THAD项目名称丨中企海外办公生活综合基地项目地点丨肯尼亚内罗毕凯伦郡建筑类型丨公共建筑用地面积丨42,411㎡建筑面积丨20,884.3㎡设计时间丨2019竣工时间丨2024 设计单位丨清华大学建筑设计研究院有限公司总负责人丨任飞项目负责人丨杜爽 王钰项目经理丨董容鑫方案设计丨任飞 孙光享 贾精明 郑广举 屈小羽 沈锋 陈宏鹏 周爽宇 冯志康建筑设计丨杜爽 程瑜 王乔岳 许笑梅结构设计丨王岚 陈经伟 付洁 陈宏给排水专业丨吴蔚 孙伟晓 邵强暖通专业丨张菁华 常晨晨 刘建华强电专业丨张华 袁继通 黄景峰 李玉明弱电专业丨张华 袁继通 黄景峰 王澈景观设计丨周易 林祥霖室内设计丨陈巍 田亚萌 刘岩 任怡楠 杨洪 微信扫一扫 关注该公众号 知道了 window.img_popup = 1; .weui-dialog_link{-webkit-transform:translateY(-75%);transform:translateY(-75%)} 微信扫一扫 使用小程序 取消 允许 取消 允许 取消 允许 × 分析 微信扫一扫可打开此内容, 使用完整服务 window.logs.pagetime.page_begin = Date.now(); try { var adIframeUrl = localStorage.getItem('__WXLS_ad_iframe_url'); if (window === top) { if (adIframeUrl) { if (navigator.userAgent.indexOf('iPhone') > -1) { var img = new Image(); img.src = adIframeUrl; } else { var link = document.createElement('link'); link.rel = 'prefetch'; link.href = adIframeUrl; document.getElementsByTagName('head')[0].appendChild(link); } } } } catch (err) { } : , , , , , , , , , , , , 。 视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看 分享 留言 收藏 听过 (function () { var totalCount = 0, finishCount = 0; function _addScript(uri, cb) { totalCount++; var node = document.createElement('SCRIPT'); node.type = 'text/javascript'; node.src = uri; node.setAttribute('nonce', '136787141'); if (cb) { node.onload = cb; } document.getElementsByTagName('head')[0].appendChild(node); } if ((document.cookie && document.cookie.indexOf('vconsole_open=1') > -1) || location.href.indexOf('vconsole=1') > -1) { _addScript('https://mp.weixin.qq.com/mmbizappmsg/zh_CN/htmledition/js/scripts/vconsole-3.14.6.js', function () { window.vConsole = new window.VConsole(); }); } if (document.cookie && document.cookie.indexOf('__xweb_remote_debug_device_token__') > -1) { _addScript('https://unpkg.com/mprdev@0.4.2-beta.6/dist/sdk/index.js', function () { _addScript('https://mp.weixin.qq.com/mmbizappmsg/zh_CN/htmledition/js/scripts/xwebrd-0.0.2.js'); }); } })(); var item_show_type = "0"; var __INLINE_SCRIPT__ = (function () { 'use strict'; var FILTER_ATTRS = ['mp-original-line-height', 'mp-original-font-size']; var __contentFilter = function __contentFilter(container) { if (!container) return; var nodes = container.querySelectorAll("[".concat(FILTER_ATTRS.join('], ['), "]")); for (var i = 0; i < nodes.length; i++) { for (var j = 0; j < FILTER_ATTRS.length; j++) { nodes[i].removeAttribute(FILTER_ATTRS[j]); } } }; if (!window.__second_open__) { __contentFilter(document.getElementById('js_content')); } return __contentFilter; })();var __INLINE_SCRIPT__ = (function (exports) { 'use strict'; function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } var Device = {}; function detect(ua) { var MQQBrowser = ua.match(/MQQBrowser\/(\d+\.\d+)/i); var MQQClient = ua.match(/QQ\/(\d+\.(\d+)\.(\d+)\.(\d+))/i) || ua.match(/V1_AND_SQ_([\d\.]+)/); var WeChat = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/) || ua.match(/MicroMessenger\/((\d+)\.(\d+))/); var MacOS = ua.match(/Mac\sOS\sX\s(\d+[\.|_]\d+)/); var WinOS = ua.match(/Windows(\s+\w+)?\s+?(\d+\.\d+)/); var Linux = ua.match(/Linux\s/); var MiuiBrowser = ua.match(/MiuiBrowser\/(\d+\.\d+)/i); var M1 = ua.match(/MI-ONE/); var MIPAD = ua.match(/MI PAD/); var UC = ua.match(/UCBrowser\/(\d+\.\d+(\.\d+\.\d+)?)/) || ua.match(/\sUC\s/); var IEMobile = ua.match(/IEMobile(\/|\s+)(\d+\.\d+)/) || ua.match(/WPDesktop/); var ipod = ua.match(/(ipod).*\s([\d_]+)/i); var ipad = ua.match(/(ipad).*\s([\d_]+)/i); var iphone = ua.match(/(iphone)\sos\s([\d_]+)/i); var Chrome = ua.match(/Chrome\/(\d+\.\d+)/); var AndriodBrowser = ua.match(/Mozilla.*Linux.*Android.*AppleWebKit.*Mobile Safari/); var android = ua.match(/(android)\s([\d\.]+)/i); var harmony = ua.match(/(OpenHarmony)\s([\d\.]+)/i); Device.browser = Device.browser || {}, Device.os = Device.os || {}; Device.os.type = -1; Device.os.unifiedPC = ua.match(/UnifiedPC/); Device.os.unifiedMac = /UnifiedPCMac/i.test(ua); Device.os.unifiedWindows = /UnifiedPCWindows/i.test(ua); if (window.ActiveXObject) { var vie = 6; (window.XMLHttpRequest || ua.indexOf('MSIE 7.0') > -1) && (vie = 7); (window.XDomainRequest || ua.indexOf('Trident/4.0') > -1) && (vie = 8); ua.indexOf('Trident/5.0') > -1 && (vie = 9); ua.indexOf('Trident/6.0') > -1 && (vie = 10); Device.browser.ie = true, Device.browser.version = vie; } else if (ua.indexOf('Trident/7.0') > -1) { Device.browser.ie = true, Device.browser.version = 11; } if (android) { Device.os.android = true; Device.os.version = android[2]; Device.os.type = 2; } if (harmony) { Device.os.harmony = true; Device.os.version = harmony[2]; Device.os.type = 42; } if (ipod) { Device.os.ios = Device.os.ipod = true; Device.os.version = ipod[2].replace(/_/g, '.'); } if (ipad) { Device.os.ios = Device.os.ipad = true; Device.os.version = ipad[2].replace(/_/g, '.'); Device.os.type = 13; } if (iphone) { Device.os.iphone = Device.os.ios = true; Device.os.version = iphone[2].replace(/_/g, '.'); Device.os.type = 1; } if (WinOS) Device.os.windows = true, Device.os.version = WinOS[2], Device.os.type = 15; if (MacOS) Device.os.Mac = true, Device.os.version = MacOS[1], Device.os.type = 14; if (Linux) Device.os.Linux = true, Device.os.type = 33; if (ua.indexOf('lepad_hls') > 0) Device.os.LePad = true; if (MIPAD) Device.os.MIPAD = true; if (MQQBrowser) Device.browser.MQQ = true, Device.browser.version = MQQBrowser[1]; if (MQQClient) Device.browser.MQQClient = true, Device.browser.version = MQQClient[1]; if (WeChat) Device.browser.WeChat = true, Device.browser.mmversion = Device.browser.version = WeChat[1]; if (MiuiBrowser) Device.browser.MIUI = true, Device.browser.version = MiuiBrowser[1]; if (UC) Device.browser.UC = true, Device.browser.version = UC[1] || NaN; if (IEMobile) Device.browser.IEMobile = true, Device.browser.version = IEMobile[2]; if (AndriodBrowser) { Device.browser.AndriodBrowser = true; } if (M1) { Device.browser.M1 = true; } if (Chrome) { Device.browser.Chrome = true, Device.browser.version = Chrome[1]; } if (Device.os.windows) { if (typeof navigator.platform !== "undefined" && navigator.platform.toLowerCase() == "win64") { Device.os.win64 = true; } else { Device.os.win64 = false; } } if (Device.os.Mac || Device.os.windows || Device.os.Linux || Device.os.unifiedPC || /OpenHarmony/i.test(ua) && /pc/i.test(ua)) { Device.os.pc = true; } var osType = { iPad7: 'iPad; CPU OS 7', LePad: 'lepad_hls', XiaoMi: 'MI-ONE', SonyDTV: "SonyDTV", SamSung: 'SAMSUNG', HTC: 'HTC', VIVO: 'vivo' }; for (var os in osType) { Device.os[os] = ua.indexOf(osType[os]) !== -1; } Device.os.phone = Device.os.phone || /windows phone/i.test(ua); Device.os.getNumVersion = function () { return parseFloat(Device.os.version); }; Device.os.hasTouch = 'ontouchstart' in window; if (Device.os.hasTouch && Device.os.ios && Device.os.getNumVersion() < 6) { Device.os.hasTouch = false; } if (Device.browser.WeChat && Device.browser.version < 5.0) { Device.os.hasTouch = false; } Device.browser.getNumVersion = function () { return parseFloat(Device.browser.version); }; Device.browser.isFFCanOcx = function () { return !!Device.browser.firefox && Device.browser.getNumVersion() >= 3.0; }; Device.browser.isCanOcx = function () { return !!Device.os.windows && (!!Device.browser.ie || Device.browser.isFFCanOcx() || !!Device.browser.webkit); }; Device.browser.isNotIESupport = function () { return !!Device.os.windows && (!!Device.browser.webkit || Device.browser.isFFCanOcx()); }; Device.userAgent = {}; Device.userAgent.browserVersion = Device.browser.version; Device.userAgent.osVersion = Device.os.version; if (Device.os.unifiedPC) { if (Device.os.unifiedWindows) Device.os.type = 37;else if (Device.os.unifiedMac) Device.os.type = 38;else Device.os.type = 39; } delete Device.userAgent.version; } detect(window.navigator.userAgent); function canSupportH5Video() { var ua = window.navigator.userAgent, m = null; if (!!Device.os.android) { if (Device.browser.MQQ && Device.browser.getNumVersion() >= 4.2) { return true; } if (ua.indexOf('MI2') != -1) { return true; } if (Device.os.version >= '4' && (m = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/))) { if (parseFloat(m[1]) >= 4.2) { return true; } } if (Device.os.version >= '4.1') { return true; } } return false; } function canSupportVideoMp4() { var video = document.createElement('video'); if (typeof video.canPlayType === 'function') { if (video.canPlayType('video/mp4; codecs="mp4v.20.8"') === 'probably') { return true; } if (video.canPlayType('video/mp4; codecs="avc1.42E01E"') === 'probably' || video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"') === 'probably') { return true; } } return false; } function canSupportAutoPlay() { if (Device.os.ios && Device.os.getNumVersion() < 10) { return false; } return true; } function isLockdownMode() { if (!Device.os.ios || Device.os.getNumVersion() < 16) { return false; } if (typeof WebAssembly === 'undefined' && typeof OfflineAudioContext === 'undefined' && typeof WebGLRenderingContext === 'undefined') { return true; } return false; } Device.canSupportVideo = canSupportVideoMp4 || canSupportH5Video; Device.canSupportVideoMp4 = canSupportVideoMp4; Device.canSupportH5Video = canSupportH5Video; Device.canSupportAutoPlay = canSupportAutoPlay; Device.isLockdownMode = isLockdownMode; Device.cpVersion = function (version) { var cp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var canEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var nowVersionStr = Device.os.version; if (!nowVersionStr) return false; var versionArr = version.split('.'); var nowVersionArr = nowVersionStr.split('.'); for (var i = 0; i < Math.max(nowVersionArr.length, versionArr.length); i++) { var vi = +versionArr[i]; var nvi = +nowVersionArr[i]; if (vi === nvi) continue; if (cp > 0) return vi > nvi; if (cp < 0) return vi < nvi; } return canEqual || cp === 0; }; function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } var ua$1 = navigator.userAgent; var is_ios = /(iPhone|iPad|iPod|iOS)/i.test(ua$1); var is_wp = /Windows\sPhone/i.test(ua$1); var is_android$1 = /(Android)/i.test(ua$1); var is_wechat = /MicroMessenger\/([\d\.]+)/i.test(ua$1); var is_mac = /mac\sos/i.test(ua$1) && !is_ios; var is_windows = /windows\snt/i.test(ua$1) && !is_wp; var is_mpapp = /MPAPP\/([\d\.]+)/i.test(ua$1); var is_ipad = /iPad/i.test(ua$1); var is_windows_wechat = /WindowsWechat/i.test(ua$1); var is_mac_wechat = /MacWechat/i.test(ua$1) || /wechat.*mac os/i.test(ua$1); var is_prefetch = is_wechat && window.WeixinPrefecherJSBridge; var is_donut_app = /SAAASDK/i.test(ua$1); var is_harmony = /OpenHarmony|ArkWeb/i.test(ua$1); var is_linux = /Linux\s/i.test(ua$1); var xweb_match = ua$1.match(/XWEB\/([\d.]+)/i); var xweb_version = xweb_match && xweb_match[1] ? parseInt(xweb_match[1], 10) : 0; var is_unified_pc_wechat = /UnifiedPC\w+Wechat/i.test(ua$1); var is_in_miniProgram = is_android$1 && /miniprogram/.test(ua$1.toLowerCase()) || window.__wxjs_environment == 'miniprogram'; var is_wx_work = /wxwork/i.test(ua$1); function getUrlParams() { var vars = location.search.substring(1).split('&'); var params = {}; var _iterator = _createForOfIteratorHelper(vars), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var ele = _step.value; var pair = ele.split('='); var key = decodeURIComponent(pair[0]); if (typeof params[key] === 'undefined') { params[key] = decodeURIComponent(pair[1]); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return params; } function get() { var reg = /MicroMessenger\/([\d\.]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMac() { var reg = /MacWechat\/([\d\.]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMacOS() { var reg = /Mac OS X ([\d_]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1].replace(/_/g, '.'); } return false; } function getWindows() { var reg = /WindowsWechat\(0x(.+?)\)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getWxWork() { var reg = /wxwork\/([\d\.]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMpApp() { var appVersion = [2, 4, 5]; var match = navigator.userAgent.match(/MPAPP\/(\d+(\.\d+)*)/); if (match) { appVersion = match[1].split('.').map(function (v) { return Number(v); }); } return appVersion.join('.'); } function getUnifiedPcVer() { var versionInfo = navigator.userAgent.match(/UnifiedPC\w+Wechat\(0xf\w{2}(\w+?)\w{2}\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(0, 1)); var subVersion = getVersionNumber(version.slice(1, 2)); var subVersion2 = getVersionNumber(version.slice(2, 3)); return [mainVersion, subVersion, subVersion2].join('.'); } } function getVersionNumber(hexStr) { return Number(Number("0x".concat(hexStr)).toString(10)); } function getWindowsVersionFormat() { var versionInfo = navigator.userAgent.match(/WindowsWechat\(0x(\w+?)\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(1, 2)); var subVersion = getVersionNumber(version.slice(2, 4)); var subVersion2 = getVersionNumber(version.slice(4, 6)); return [mainVersion, subVersion, subVersion2].join('.'); } return false; } function getInner() { var reg = /MicroMessenger\/[\d\.]+\(0x(.+?)\)/i; var ret = ua$1.match(reg); if (ret && ret[1] && ret[1] != null) { return ret[1]; } if (!ret && /MicroMessenger\/[\d\.]+/i.test(ua$1)) { var urlParams = getUrlParams(); if (urlParams.version) { return urlParams.version; } } return false; } var opfunc = { 'cp-1': function cp1(a, b) { return a < b; }, cp0: function cp0(a, b) { return a === b; }, cp1: function cp1(a, b) { return a > b; } }; function cpVersion(ver, op, canEq, type) { var mmver = false; switch (type) { case 'mac': mmver = getMac(); break; case 'windows': mmver = getWindowsVersionFormat(); break; case 'wxwork': mmver = getWxWork(); break; case 'mpapp': mmver = getMpApp(); break; case 'unifiedpc': mmver = getUnifiedPcVer(); break; default: mmver = get(); break; } if (!mmver) { return; } var mmversion = mmver.split('.'); var version = ver.split('.'); if (!/\d+/g.test(mmversion[mmversion.length - 1])) { mmversion.pop(); } for (var i = 0, len = Math.max(mmversion.length, version.length); i < len; ++i) { var mmv = mmversion[i] || ''; var v = version[i] || ''; var mmvn = parseInt(mmv, 10) || 0; var vn = parseInt(v, 10) || 0; var eq = opfunc.cp0(mmvn, vn); if (eq) { continue; } var cp = opfunc["cp".concat(op)]; return cp(mmvn, vn); } return canEq || op === 0; } function eqVersion(version) { return cpVersion(version, 0); } function gtVersion(version, canEq) { return cpVersion(version, 1, canEq); } function ltVersion(version, canEq) { return cpVersion(version, -1, canEq); } function getPlatform() { if (is_ios) { return 'ios'; } if (is_android$1) { return 'android'; } if (is_mac) { return 'mac_os'; } if (is_windows) { return 'windows'; } return 'unknown'; } var is_google_play = false; var inner_ver_for_google_play_check = getInner(); if (is_android$1 && inner_ver_for_google_play_check) { var v = "0x".concat(inner_ver_for_google_play_check.substr(-2)); if (parseInt(v) >= 64 && parseInt(v) = hexNum; } return false; } var mmversion = { get: get, getMac: getMac, getMacOS: getMacOS, getWindows: getWindows, getInner: getInner, getWxWork: getWxWork, getMpApp: getMpApp, cpVersion: cpVersion, eqVersion: eqVersion, gtVersion: gtVersion, ltVersion: ltVersion, getPlatform: getPlatform, getVersionNumber: getVersionNumber, isWp: is_wp, isIOS: is_ios, isAndroid: is_android$1, isHarmony: is_harmony, isHarmonyWechat: is_harmony && is_wechat && cpVersion('1.0.0', 1, true), isInMiniProgram: is_in_miniProgram, isWechat: is_wechat, isMac: is_mac, isWindows: is_windows, isLinux: is_linux, isMacWechat: is_mac_wechat, isWindowsWechat: is_windows_wechat, isWxWork: is_wx_work, isOnlyWechat: is_wechat && !is_wx_work, isMpapp: is_mpapp, isIPad: is_ipad, isGooglePlay: is_google_play, isPrefetch: is_prefetch, isDonutAPP: is_donut_app, compareHexVersion: compareHexVersion, isPcWechat: is_windows_wechat || is_mac_wechat, xwebVersion: xweb_version, isUnifiedPcWechat: is_unified_pc_wechat }; var getOriginExpVal = function getOriginExpVal(key) { var _a, _b, _c; return ((_c = (_b = (_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.user_info) === null || _b === void 0 ? void 0 : _b.frontend_exp) === null || _c === void 0 ? void 0 : _c.list) && window.cgiDataNew.user_info.frontend_exp.list.reduce(function (res, item) { if (item.key === key) res = (item === null || item === void 0 ? void 0 : item.value) || ''; return res; }, ''); }; function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _regeneratorRuntime$2() { _regeneratorRuntime$2 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc 1) { return false; } top.window.WeixinJSBridge.on(eventName, function () { try { for (var _len = arguments.length, rets = new Array(_len), _key = 0; _key < _len; _key++) { rets[_key] = arguments[_key]; } var ret = rets[0]; var errMsg = ret && ret.err_msg ? ", err_msg-> ".concat(ret.err_msg) : ''; console.info('[system]', "[jsapi] event->".concat(eventName).concat(errMsg)); if (window.JSAPIEventCallbackMap[eventName] && window.JSAPIEventCallbackMap[eventName].length) { var result; for (var i = 0; i < window.JSAPIEventCallbackMap[eventName].length; i++) { result = window.JSAPIEventCallbackMap[eventName][i].apply(window, rets); } return result; } } catch (e) { __moon_report$1([{ offset: MOON_JSAPI_KEY_OFFSET, log: "on;eventName:".concat(eventName), e: e }]); throw e; } }); }); } function remove$1(eventName, callback) { ready$1(function () { if (!window.JSAPIEventCallbackMap[eventName]) { return false; } var result = false; for (var i = window.JSAPIEventCallbackMap[eventName].length - 1; i >= 0; i--) { if (window.JSAPIEventCallbackMap[eventName][i] === callback) { window.JSAPIEventCallbackMap[eventName].splice(i, 1); result = true; } } return result; }); } var JSAPI = { ready: ready$1, invoke: invoke$1, call: call, on: on$2, remove: remove$1 }; function _regeneratorRuntime$1() { _regeneratorRuntime$1 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc = 0) { callbacks.splice(index, 1); } } function pollUntilReady(attr) { var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000; return new Promise(function (resolve) { var start = Date.now(); function check() { var val = elementComputedStyle[attr]; if (val && val !== 0 || Date.now() - start > timeout) { resolve(); return; } setTimeout(check, 300); } setTimeout(check, 300); }); } var readyPromise = null; function ready() { if (!readyPromise) { readyPromise = _asyncToGenerator( _regeneratorRuntime$1().mark(function _callee() { return _regeneratorRuntime$1().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: if (!androidReadyPromise) { _context.next = 4; break; } _context.next = 3; return androidReadyPromise; case 3: return _context.abrupt("return"); case 4: if (!inited) { init(); } if (!support) { _context.next = 8; break; } _context.next = 8; return pollUntilReady('bottom'); case 8: case "end": return _context.stop(); } }, _callee); }))(); } return readyPromise; } function getAttrAsync(_x) { return _getAttrAsync.apply(this, arguments); } function _getAttrAsync() { _getAttrAsync = _asyncToGenerator( _regeneratorRuntime$1().mark(function _callee2(attr) { return _regeneratorRuntime$1().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return ready(); case 2: return _context2.abrupt("return", elementComputedStyle[attr]); case 3: case "end": return _context2.stop(); } }, _callee2); })); return _getAttrAsync.apply(this, arguments); } var SafeArea = { get support() { return (typeof support === 'string' ? support : getSupport()).length !== 0 || jsApiSupport; }, get top() { return getAttr('top'); }, get left() { return getAttr('left'); }, get right() { return getAttr('right'); }, get bottom() { return getAttr('bottom'); }, onChange: onChange, offChange: offChange, ready: ready, getAsync: getAttrAsync }; function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var prefix = '__WXLS__'; var localStorage$1 = window.localStorage || { getItem: function getItem() {}, setItem: function setItem() {}, removeItem: function removeItem() {}, key: function key() {}, clear: function clear() { var _a, _b; (_b = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a); }, length: 0 }; var evictionPolicies = { noeviction: function noeviction(data) { return data; }, 'allkeys-random': function allkeysRandom(data, size) { var keys = Object.keys(data); var memCnt = 0; while (memCnt < size) { var len = keys.length; var randomKeyIdx = Math.floor(Math.random() * len); var randomKey = keys[randomKeyIdx]; memCnt += JSON.stringify(data[randomKey]).length; delete data[randomKey]; keys = Object.keys(data); } return data; }, 'volatile-ttl': function volatileTtl(data, size) { var keys = Object.keys(data); keys = keys.sort(function (key1, key2) { var d1 = data[key1]; var d2 = data[key2]; if (d1.exp < d2.exp) return -1; if (d1.exp > d2.exp) return 1; return 0; }); var memCnt = 0; for (var i = 0; i < keys.length; i++) { if (memCnt >= size) break; var key = keys[i]; memCnt += JSON.stringify(data[key]).length; delete data[key]; } return data; }, 'clear-all': function clearAll() { localStorage$1.clear(); return {}; } }; function formatLogMsg(str) { return "[WXLS] ".concat(str); } var LS = function () { function LS(func, evictionPolicy, logger) { _classCallCheck(this, LS); this.logger = function () {}; if (!func) throw 'require function name.'; this.evictionPolicy = 'noeviction'; this.key = func; if (typeof logger === 'function') { this.logger = function (str, type) { return logger(formatLogMsg(str), type); }; } if (evictionPolicy && Object.keys(evictionPolicies).indexOf(evictionPolicy) !== -1) { this.evictionPolicy = evictionPolicy; } this.init(); } _createClass(LS, [{ key: "init", value: function init() { var _a, _b; this.check(); if (Math.random() * 1000 < 1) { (_a = this.logger) === null || _a === void 0 ? void 0 : _a.call(this, "LSlen: ".concat(((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length) || localStorage$1.length), 'report'); } } }, { key: "getData", value: function getData() { var data = LS.getItem(this.key) || '{}'; try { data = JSON.parse(data); } catch (e) { this.logger("getData error: ".concat(e), 'error'); localStorage$1.removeItem(prefix + this.key); data = {}; } return data; } }, { key: "check", value: function check(isReturn) { var data = this.getData(); var temp = {}; var now = +new Date(); var key; var val; for (key in data) { val = data[key]; if (+val.exp > now) { temp[key] = val; } } this.logger("check info: isReturn:".concat(isReturn, " data:").concat(JSON.stringify(temp)), 'info'); if (isReturn) return temp; LS.setItem(this.key, JSON.stringify(temp), this.logger); } }, { key: "set", value: function set(key, val, exp) { var _a, _b; var data = this.check(true); data[key] = { val: val, exp: exp || +new Date() }; try { if (localStorage$1.getItem(prefix + this.key)) localStorage$1.removeItem(prefix + this.key); localStorage$1.setItem(prefix + this.key, JSON.stringify(data)); this.logger("first set success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data)), 'success'); } catch (e) { this.logger("first set error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data), " k:").concat(key, " v:").concat(val, " exp:").concat(exp), 'error'); localStorage$1.clear(); LS.setItem(this.key, JSON.stringify(_defineProperty({}, key, { val: val, exp: exp || +new Date() })), this.logger); } } }, { key: "get", value: function get(key) { var data = this.getData(); data = data[key]; return data ? data.val || null : null; } }, { key: "remove", value: function remove(key) { var data = this.getData(); if (data[key]) delete data[key]; LS.setItem(this.key, JSON.stringify(data), this.logger); } }], [{ key: "getItem", value: function getItem(key) { key = prefix + key; return localStorage$1.getItem(key); } }, { key: "setItem", value: function setItem(key, val, logger) { var _a, _b; key = prefix + key; var n = 3; while (n--) { try { if (localStorage$1.getItem(key)) localStorage$1.removeItem(key); localStorage$1.setItem(key, val); typeof logger === 'function' && logger("setItem success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(key, " val:").concat(val), 'success'); break; } catch (e) { typeof logger === 'function' && logger("setItem error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(key, " val:").concat(val), 'error'); LS.clear(); } } } }, { key: "clear", value: function clear() { var i; var k; for (i = localStorage$1.length - 1; i >= 0; i--) { k = localStorage$1.key(i); if (k.indexOf(prefix) == 0) { localStorage$1.removeItem(k); } } } }, { key: "getSupportEvicationPolicy", value: function getSupportEvicationPolicy() { return Object.keys(evictionPolicies); } }]); return LS; }(); var LOCAL_STORAGE_EXPIRE_TIME = 24 * 60 * 60 * 1000; var onceListeners = {}; var permanentListeners = {}; function clean(event, all) { delete onceListeners[event]; if (all) { delete permanentListeners[event]; } } function on$1(event, callback, permanent) { if (typeof callback === 'function') { if (permanent) { if (!permanentListeners[event]) { permanentListeners[event] = []; } permanentListeners[event].push(callback); } else { if (!onceListeners[event]) { onceListeners[event] = []; } onceListeners[event].push(callback); } } } function emit(event) { for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { params[_key - 1] = arguments[_key]; } if (permanentListeners[event]) { permanentListeners[event].forEach(function (callback) { if (typeof callback === 'function') { callback.apply(void 0, params); } }); } if (onceListeners[event]) { onceListeners[event].forEach(function (callback) { if (typeof callback === 'function') { callback.apply(void 0, params); } }); clean(event); } } function remove(event, callback, permanent) { if (typeof callback === 'function') { if (permanent && permanentListeners[event]) { var idx = permanentListeners[event].indexOf(callback); if (idx !== -1) { permanentListeners[event].splice(idx, 1); } } else if (onceListeners[event]) { var _idx = onceListeners[event].indexOf(callback); if (_idx !== -1) { onceListeners[event].splice(_idx, 1); } } } } var EventBus = { on: on$1, emit: emit, remove: remove, clean: clean }; function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function getInflightMap() { if (!window.__dedupe_promise_inflight__) { window.__dedupe_promise_inflight__ = new Map(); } return window.__dedupe_promise_inflight__; } function dedupePromise(key, factory) { var inflightMap = getInflightMap(); var existing = inflightMap.get(key); console.log("dedupePromise key=".concat(key, " existing=").concat(existing)); if (existing) { return existing; } var promise = Promise.resolve().then(factory)["finally"](function () { inflightMap["delete"](key); }); inflightMap.set(key, promise); return promise; } var innerVersion = (mmversion.getInner() || '').toUpperCase(); var getBizLS = new LS('get_biz_result'); function getBizMap() { if (!window.__get_biz_map__) { window.__get_biz_map__ = {}; } return window.__get_biz_map__; } var isGetBizSupported = mmversion.isOnlyWechat && mmversion.isIOS && innerVersion >= '18003C2A' || mmversion.isOnlyWechat && mmversion.isAndroid && innerVersion >= '28003D3C' || mmversion.isUnifiedPcWechat && mmversion.cpVersion('4.1.10', 1, true, 'unifiedpc'); function invokeGetBiz(needCheckBiz, bizType) { return dedupePromise("getBiz:".concat(needCheckBiz, ":").concat(bizType), function () { return new Promise(function (resolve, reject) { if (!isGetBizSupported) { reject('Not support'); } else { JSAPI.invoke('handleMPPageAction', { action: 'getBiz', needCheckBiz: needCheckBiz, bizType: bizType }, function (res) { console.log("getBiz needCheckBiz=".concat(needCheckBiz, " bizType=").concat(bizType, " res: ").concat(JSON.stringify(res))); if (res && res.err_msg && res.err_msg.indexOf('ok') > -1) { var bizMap = getBizMap(); bizMap[bizType] = res.biz; resolve(res.biz); getBizLS.set("".concat(bizType, "_get_biz_result"), res.biz, +new Date() + 3 * 24 * 60 * 60 * 1000); } else { reject('Failed to get biz'); } }); } }); }); } function getBiz(needCheckBiz, bizType) { var _a; if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } var bizMap = getBizMap(); if (!needCheckBiz && bizMap[bizType] !== undefined) { return Promise.resolve(bizMap[bizType]); } return invokeGetBiz(needCheckBiz, bizType); } mmversion.isOnlyWechat && mmversion.isIOS || mmversion.isOnlyWechat && mmversion.isAndroid || mmversion.isUnifiedPcWechat && mmversion.cpVersion('4.1.10', 1, true, 'unifiedpc'); var getIsAuthor = function getIsAuthor(cb, bizuin, needCheckBiz, bizType) { var _a; if (bizuin === void 0) { bizuin = window.biz; } if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } getBiz(needCheckBiz, bizType).then(function (biz) { cb(biz && biz === bizuin); })["catch"](function () { cb(false); }); }; function parseUrl(url) { var len = url.length; var ques_pos = url.indexOf('?'); var hash_pos = url.indexOf('#'); hash_pos = hash_pos == -1 ? len : hash_pos; ques_pos = ques_pos == -1 ? hash_pos : ques_pos; var host = url.substring(0, ques_pos); var query_str = url.substring(ques_pos + 1, hash_pos); var hash = url.substring(hash_pos + 1); return { host: host, query_str: query_str, hash: hash }; } function join(url, args, noEncode) { var ret = parseUrl(url); var query_str = ret.query_str; var args_arr = []; if (_typeof(args) === 'object') { for (var key in args) { if (args.hasOwnProperty(key)) { args_arr.push("".concat(key, "=").concat(noEncode ? args[key] : encodeURIComponent(args[key]))); } } } else { args_arr.push(noEncode ? args : encodeURIComponent(args)); } if (args_arr.length > 0) { query_str += (query_str !== "" ? "&" : "") + args_arr.join("&"); } return ret.host + (query_str !== "" ? "?".concat(query_str) : "") + (ret.hash !== "" ? "#".concat(ret.hash) : ""); } function addParam(url, param, value, forceReplace) { url = url || location.href; var firstAndPos = url.indexOf("&"); var len = url.length; var reverseUrl = url.replace(/^[\w\d]+:[/\\]+/g, "").split("").reverse(); if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (searchElement, fromIndex) { var k; if (this == null) { throw new TypeError('"this" is null or not defined'); } var O = Object(this); var len = O.length >>> 0; if (len === 0) { return -1; } var n = fromIndex || 0; if (Math.abs(n) === Infinity) { n = 0; } if (n >= len) { return -1; } k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); while (k < len) { if (k in O && O[k] === searchElement) { return k; } k++; } return -1; }; } var lastSlashPos = len - 1 - reverseUrl.indexOf("/"); if (firstAndPos !== -1 && url.indexOf("?") == -1 && firstAndPos > lastSlashPos) { url = url.replace("&", "?"); } var reg = new RegExp("([\\?&]".concat(param, "=)[^&#]*")); if (!url.match(reg)) { var urlInfo = parseUrl(url); var hash = urlInfo.hash ? '#' + urlInfo.hash : ''; url = url.replace(hash, ''); var _pos = url.indexOf("?"); if (_pos == -1) { return "".concat(url, "?").concat(param, "=").concat(value).concat(hash); } if (_pos == url.length - 1) { return "".concat(url + param, "=").concat(value).concat(hash); } return "".concat(url, "&").concat(param, "=").concat(value).concat(hash); } if (forceReplace === true) { return url.replace(reg, "$1".concat(value)); } return url; } function addWxfrom(src, wxfrom) { var offset = window.service_type === 1 ? 10000 : 0; return addParam(src, 'wxfrom', offset + Number(wxfrom), true); } function removeParam(url, param) { var _URL = new URL(url), protocol = _URL.protocol, host = _URL.host, pathname = _URL.pathname, search = _URL.search, hash = _URL.hash; var queryParams = new URLSearchParams(search); queryParams["delete"](param); var newSearch = queryParams.toString(); var newUrl = new URL("".concat(protocol, "//").concat(host).concat(pathname).concat(newSearch ? "?".concat(decodeURIComponent(newSearch)) : "").concat(hash)); return newUrl.toString(); } function getQuery(name, url) { var u = url || window.location.search; var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)")); var r = u.substring(u.indexOf('?') + 1).match(reg); return r !== null ? r[2] : ''; } function encodeBase64(value) { try { return window.btoa(value); } catch (e) { return ''; } } function decodeBase64(value) { try { return window.atob(value); } catch (e) { return ''; } } function joinUrl$1(url) { var obj = {}; if (typeof window.uin !== 'undefined') { obj.uin = window.uin; } if (typeof window.key !== 'undefined') { obj.key = window.key; } if (typeof window.pass_ticket !== 'undefined') { obj.pass_ticket = window.pass_ticket; } if (typeof window.wxtoken !== 'undefined') { obj.wxtoken = window.wxtoken; } if (typeof window.devicetype !== 'undefined') { obj.devicetype = window.devicetype; } if (typeof window.clientversion !== 'undefined') { obj.clientversion = window.clientversion || mmversion.getInner(); } obj.version = obj.clientversion; if (window.biz) { obj.__biz = window.biz; } if (getQuery('enterid')) { obj.enterid = getQuery('enterid'); } if (typeof window.appmsg_token !== 'undefined') { obj.appmsg_token = window.appmsg_token; } else if (url.indexOf('advertisement_report') > -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = navigator.userAgent.indexOf('TBS/') !== -1 ? '1' : '0'; obj.f = 'json'; return join(url, obj); } function joinUserArticleRole(url, notJoin, cb) { var bizuin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.biz; var needCheckBiz = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; if (notJoin) { cb(url); } else { getIsAuthor(function (isAuthor) { cb(addParam(url, 'user_article_role', isAuthor ? 1 : 0, true)); }, bizuin, needCheckBiz); } } function getA8keyQuery(name, url) { return new Promise(function (resolve) { if (window.__secPageAuthPromise) { window.__secPageAuthPromise.then(function () { resolve(getQuery(name, url)); }); } else { resolve(getQuery(name, url)); } }); } function addHash(url, hash) { var isReplace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (isReplace) { return "".concat(url.split('#')[0]).concat(hash); } return "".concat(url).concat(url.indexOf('#') === -1 ? '#' : '').concat(hash); } function decodeUrl(url) { var _url = url; while (_url.indexOf('&') !== -1) { _url = _url.htmlDecode(); } return _url; } var Url = { parseUrl: parseUrl, join: join, addParam: addParam, addWxfrom: addWxfrom, addHash: addHash, getQuery: getQuery, getA8keyQuery: getA8keyQuery, encodeBase64: encodeBase64, decodeBase64: decodeBase64, joinUrl: joinUrl$1, joinUserArticleRole: joinUserArticleRole, removeParam: removeParam, decodeUrl: decodeUrl }; var isIPadOS13 = Device.os.ipad && Device.os.getNumVersion() >= 13 && Device.os.getNumVersion() < 14; var ARTICLE_FONT_SCALE_CHANGE_EVENT = 'article-font-scale-change'; var FONT_LEVEL_TO_SCALE_MAP = [0.94, 1, 1.2, 1.3, 1.44, 1.5, 1.62, 1.7]; function isSupportTextSizeAdjust() { var _a, _b; if (mmversion.isIOS) { return true; } return mmversion.isAndroid && !!((_b = (_a = window.xweb_wechat_extend) === null || _a === void 0 ? void 0 : _a.AvailableFeatures) === null || _b === void 0 ? void 0 : _b.includes('XWEB_SUPPORT_TEXT_SIZE_ADJUST')); } function getNativeFontScaleVar() { if (window.__nativeFontScale__) { return window.__nativeFontScale__; } setNativeFontScaleVar(getScaleByDom()); return window.__nativeFontScale__; } function setNativeFontScaleVar(val) { window.__nativeFontScale__ = val || 1; } function getNativeFontLevelVar() { var _a; if (window.__nativeFontLevel__) { return window.__nativeFontLevel__; } var fontLevel = +Url.getQuery('fontLevel'); if (!fontLevel) { try { var envStr = (_a = window.__wxWebEnv) === null || _a === void 0 ? void 0 : _a.getEnv(); if (envStr) { var envData = JSON.parse(envStr); if (envData.fontLevel) fontLevel = +envData.fontLevel; } } catch (e) {} } setNativeFontLevelVar(fontLevel); return window.__nativeFontLevel__; } function setNativeFontLevelVar(val) { window.__nativeFontLevel__ = val || 2; } function getScaleByDPR() { var _a; if (window.__dprScale__ !== null && window.__dprScale__ !== undefined) return window.__dprScale__; try { var scale = (_a = window.__wxWebEnv) === null || _a === void 0 ? void 0 : _a.getLayoutScale(); if (typeof scale === 'number' && scale > 0 && isFinite(scale)) { window.__dprScale__ = 1 / scale; return window.__dprScale__; } } catch (e) { } window.__dprScale__ = 1; return window.__dprScale__; } function getNativeFontScale() { return getNativeFontScaleVar() * getScaleByDPR(); } function getScaleByDom() { if (typeof document === 'undefined' || !document.body) { return 1; } var fontDom = document.createElement('div'); fontDom.style.fontSize = '16px'; document.body.appendChild(fontDom); var originFontSize = parseFloat(fontDom.style.fontSize); var realFontSize = parseFloat(window.getComputedStyle(fontDom, null).getPropertyValue('font-size')); document.body.removeChild(fontDom); var percent = realFontSize / originFontSize; if (!percent || percent 1 && arguments[1] !== undefined ? arguments[1] : true; var root = arguments.length > 2 ? arguments[2] : undefined; if (!localFontScale) return; var clientFontScale = getClientFontScaleValue(useFontLevel); var finalFontScale = localFontScale * clientFontScale / 100; setArticleContentFontSize(finalFontScale, root); } var initJsBridge = false; if (!window.JSAPIEventCallbackMap) { window.JSAPIEventCallbackMap = {}; } function connectWebViewJavascriptBridge(callback) { if (window.WebViewMPapp || window.WebViewJavascriptBridge) { return callback(window.WebViewMPapp || window.WebViewJavascriptBridge); } if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); } window.WVJBCallbacks = [callback]; if (!mmversion.isMpapp) { return false; } if (!initJsBridge) { initJsBridge = true; var WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'https://__bridge_loaded__'; document.body.appendChild(WVJBIframe); setTimeout(function () { initJsBridge = false; document.body.removeChild(WVJBIframe); }, 0); } return false; } function invoke(jsapiName, opt, callback) { connectWebViewJavascriptBridge(function (bridge) { try { if (typeof opt === 'function') { callback = opt; } if (_typeof(opt) !== 'object' && typeof opt !== 'string') { opt = {}; } bridge.callHandler(jsapiName, opt, function (res) { try { var ret = _typeof(res) === 'object' ? res : JSON.parse(res); var errMsg = ret.err_msg || ret.errMsg; console.info("[mpapp jsapi] invoke->".concat(jsapiName, " ").concat(opt.action || '', " ").concat(errMsg)); typeof callback === 'function' && callback(ret); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', "callback ".concat(jsapiName, " error:"), { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error("[mpapp jsapi] ".concat(jsapiName, " ").concat(opt.action || ''), e, res); } }); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', 'callback error:', { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error('[mpapp jsapi]', e); } }); } function _log(level, msg) { if (level === 'log') { level = 'info'; msg = "[WechatFe]".concat(msg); } else { var prefix = "__wap__".concat(window.__second_open__ ? ' (sec)' : ''); msg = "".concat(prefix, " ").concat(msg, " location:[").concat(location.href, "]"); } msg += new Error().stack; if (mmversion.isMpapp) { invoke('WNNativeCallbackLog', msg); } else if (mmversion.isWechat) { if (mmversion.isAndroid) { console.warn('[system]', "[MicroMsg.JsApiLog][".concat(level, "] jslog : ").concat(msg)); } else if (mmversion.isIOS) { JSAPI.invoke('writeLog', { level: level, msg: msg }); } else { JSAPI.invoke('log', { level: level, msg: msg }); } } } var Log = { info: function info() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _log('info', args.join(' ')); }, warn: function warn() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } _log('warn', args.join(' ')); }, error: function error() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } _log('error', args.join(' ')); }, debug: function debug() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } _log('debug', args.join(' ')); }, log: function log() { for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5]; } _log('info', args.join(' ')); } }; var reportLogs = []; var reportExtraLogs = []; var sendUrl = '/mp/jsmonitor?#wechat_redirect'; var monitor = {}; monitor._reportOptions = { idkey: {} }; function ObjWithoutProperty(source, exclude) { if (source === null) return {}; var target = {}; var sourceKeys = Object.keys(source); for (var i = 0; i < sourceKeys.length; i++) { var key = sourceKeys[i]; if (exclude.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function formatDataToString(data) { var reportData = []; for (var key in data) { if (Object.prototype.hasOwnProperty.call(data, key)) { reportData.push(key + '=' + encodeURIComponent(data[key])); } } return reportData.join('&'); } monitor.getReportData = function (opt) { opt = opt || {}; var idkey = monitor._reportOptions.idkey || {}; var key = null; var reportData = {}; var nextKey; try { for (key in idkey) { if (Object.prototype.hasOwnProperty.call(idkey, key) && idkey[key]) { reportLogs.push(key + '_' + idkey[key]); } } } catch (e) { return false; } if (reportLogs.length === 0) { return false; } if (reportExtraLogs.length) { reportData.lc = reportExtraLogs.length; reportExtraLogs.forEach(function (extraLog, index) { reportData["log".concat(index)] = extraLog; }); } try { var reportOptions = monitor._reportOptions; if (reportOptions !== null && reportOptions !== undefined) { for (nextKey in reportOptions) { if (Object.prototype.hasOwnProperty.call(reportOptions, nextKey)) { reportData[nextKey] = reportOptions[nextKey]; } } } } catch (e) { reportData = {}; } reportData.idkey = reportLogs.join(';'); reportData.t = Math.random(); if (opt.remove !== false) { reportLogs = []; reportExtraLogs = []; monitor._reportOptions = { idkey: {} }; } return reportData; }; monitor.setLogs = function (opt) { var id = opt.id; var key = opt.key; var value = opt.value; var extraLog = opt.log; var others = ObjWithoutProperty(opt, ['id', 'key', 'value', 'log']); var idkey = monitor._reportOptions.idkey || {}; var param = id + '_' + key; if (idkey[param]) { idkey[param] += value; } else { idkey[param] = value; } monitor._reportOptions.idkey = idkey; if (extraLog) { reportExtraLogs.push(extraLog); } try { if (others !== null && others !== undefined) { for (var otherKey in others) { if (Object.prototype.hasOwnProperty.call(others, otherKey)) { monitor._reportOptions[otherKey] = others[otherKey]; } } } } catch (e) { console.log(e); } return monitor; }; monitor.setAvg = function (id, key, value) { var idkey = monitor._reportOptions.idkey || {}; var param1 = id + '_' + key; var param2 = id + '_' + (key - 1); if (idkey[param1]) { idkey[param1] += value; } else { idkey[param1] = value; } if (idkey[param2]) { idkey[param2] += 1; } else { idkey[param2] = 1; } monitor._reportOptions.idkey = idkey; return monitor; }; monitor.setSum = function (id, key) { var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; var idkey = monitor._reportOptions.idkey; var param = id + '_' + key; if (idkey[param]) { idkey[param] += value; } else { idkey[param] = value; } monitor._reportOptions.idkey = idkey; return monitor; }; monitor.send = function (async, ajax, origin) { if (async !== false) { async = true; } var data = monitor.getReportData(); origin = origin || ''; if (!data) { return; } if (!!ajax && ajax instanceof Function) { ajax({ url: origin + sendUrl, type: 'POST', mayAbort: true, data: data, async: async, timeout: 2000, dontReport: true }); } else { new Image().src = origin + '/mp/jsmonitor?' + formatDataToString(data) + '#wechat_redirect'; } }; if (typeof window !== 'undefined' && window.__monitor) { monitor = window.__monitor; } else { typeof window !== 'undefined' && (window.__monitor = monitor); } var monitor$1 = monitor; var logList = []; var log = function log(msg) { logList.push(msg); }; var printLog = function printLog() { for (var i = 0, len = logList.length; i < len; ++i) { console.log("[RespType]".concat(logList[i])); } }; var isArray = function isArray(val) { return Object.prototype.toString.call(val) === '[object Array]'; }; var getValueType = function getValueType(value) { if (isArray(value)) { return 'array'; } return _typeof(value); }; var parseRtDesc = function parseRtDesc(rtDesc, k) { var type = 'mix'; var isRequired = false; var key = k; if (k) { var requireKeyWord = '_R'; var pos = k.indexOf(requireKeyWord); var len = k.length - requireKeyWord.length; isRequired = pos !== -1 && pos === len; key = isRequired ? k.substring(0, len) : k; } if (typeof rtDesc === 'string') { type = rtDesc; } else if (isArray(rtDesc)) { type = 'array'; } else if (_typeof(rtDesc) === 'object') { type = 'object'; } return { key: key, type: type, isRequired: isRequired }; }; var checkForArrayRtDesc = function checkForArrayRtDesc(arr, rtDescs) { if (!isArray(arr)) { return false; } for (var i = 0, len = arr.length; i < len; ++i) { var value = arr[i]; var rtDesc = void 0; var j = 0; var flag = rtDescs.length === 0; while (rtDesc = rtDescs[j++]) { if (checkForRtDesc(value, rtDesc)) { flag = true; break; } } if (!flag) { return false; } } return true; }; var checkForStringRtDesc = function checkForStringRtDesc(value, rtDesc) { var valueType = getValueType(value); var desc = parseRtDesc(rtDesc); var ret = desc.type === valueType; if (!ret) { log("miss match type : ".concat(valueType, " !== ").concat(desc.type)); } return ret; }; var checkForObjectRtDesc = function checkForObjectRtDesc(json, rtDesc) { if (_typeof(json) !== 'object' || isArray(json)) { log('must be object'); return false; } var rootJson = json; var nowCheckValue = json; for (var k in rtDesc) { if (rtDesc.hasOwnProperty(k)) { var nowCheckDesc = rtDesc[k]; var desc = parseRtDesc(nowCheckDesc, k); var key = desc.key; nowCheckValue = rootJson[key]; var valueType = getValueType(nowCheckValue); if (desc.isRequired && nowCheckValue === undefined) { log("is required @key=".concat(key)); return false; } if (nowCheckValue !== undefined) { if (valueType !== desc.type && desc.type !== 'mix') { log("miss match type : ".concat(valueType, " !== ").concat(desc.type, " @key=").concat(key)); return false; } if ((valueType === 'array' || valueType === 'object') && desc.type !== 'mix') { if (!checkForRtDesc(nowCheckValue, nowCheckDesc)) { return false; } } } } } return true; }; var checkForRtDesc = function checkForRtDesc(json, rtDesc) { if (isArray(rtDesc)) { return checkForArrayRtDesc(json, rtDesc); } if (_typeof(rtDesc) === 'object') { return checkForObjectRtDesc(json, rtDesc); } if (typeof rtDesc === 'string') { return checkForStringRtDesc(json, rtDesc); } return false; }; var _check = function check(json, rtDescs) { if (typeof json === 'string') { try { json = eval("(".concat(json, ")")); } catch (e) { log('parse json error'); return false; } } if (_typeof(json) !== 'object') { log('must be object'); return false; } if (!isArray(rtDescs)) { rtDescs = [rtDescs]; } var rtDesc; var i = 0; while (rtDesc = rtDescs[i++]) { if (checkForRtDesc(json, rtDesc)) { return true; } } return false; }; var RespTypes = { check: function check(json, rtDesc) { logList = []; try { var ret = _check(json, rtDesc); if (!ret) { printLog(); } return ret; } catch (e) { logList.push("[rtException]".concat(e.toString())); printLog(); return false; } }, getMsg: function getMsg() { return logList.join(';'); } }; var _a; var doc; var isAcrossOrigin = false; try { doc = (_a = window.top) === null || _a === void 0 ? void 0 : _a.window.document; } catch (e) { isAcrossOrigin = true; } var StatusTextMap = { 200: 'OK', 302: 'Found', 400: 'Bad Request', 500: 'Internal Server Error' }; function getIsAcrossOrigin() { return isAcrossOrigin; } function networkStartLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "< [request ".concat(item.requestType, "]"), item.url, item.method, item); var rdevRequestId; var requestTime = performance.now() / 1000; if ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) { try { var willBeSentOptions = { url: item.url, method: item.method, requestHeaders: Object.assign({}, item.requestHeader || {}, { RDEV_REQUEST_TYPE: item.requestType }), requestBody: item.postData, requestTime: requestTime }; rdevRequestId = window.RemoteDevSdk.instance.Network.customRequestWillBeSent(willBeSentOptions); } catch (err) {} } if ((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) { try { var vconsoleNetworkItem = (_e = (_d = window.vConsole.network).add) === null || _e === void 0 ? void 0 : _e.call(_d, Object.assign({}, item, { startTime: Date.now(), endTime: Date.now(), status: 0, readyState: 2, response: '' })); vconsoleNetworkItem.rdevRequestId = rdevRequestId; vconsoleNetworkItem.requestTime = requestTime; return vconsoleNetworkItem; } catch (err) {} } if (rdevRequestId) { return Object.assign(Object.assign({}, item), { id: '__only_rdev_log__', rdevRequestId: rdevRequestId, requestTime: requestTime }); } return Object.assign({}, item, { id: '__system_log__' }); } function networkEndLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "> [response ".concat(item.requestType, "]"), item.url, item.response, item); if (item.rdevRequestId && ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) && item.id !== '__system_log__') { try { var finishedOptions = { requestId: item.rdevRequestId, url: item.url, status: +(item.status || '500'), statusText: StatusTextMap[+(item.status || '500')] || 'Error', responseHeaders: { RDEV_RESPONSE_TYPE: item.requestType }, responseBody: item.response, requestTime: item.requestTime || 0, duration: item.costTime || (item.endTime && item.startTime ? item.endTime - item.startTime : performance.now() / 1000 - (item.requestTime || 0)) }; window.RemoteDevSdk.instance.Network.customRequestFinished(finishedOptions); } catch (err) {} } if (((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) && item.id !== '__system_log__') { try { item.statusText = "".concat(item.status); item.responseSize = item.response.length; item.responseSizeText = "".concat(item.response.length); return (_e = (_d = window.vConsole.network).update) === null || _e === void 0 ? void 0 : _e.call(_d, item.id, Object.assign({}, item, { readyState: 4 })); } catch (err) {} } } function reqType(obj, path) { return obj.url.indexOf(path) > -1 && obj.url.indexOf('action=') === -1 && (!obj.data || !obj.data.action); } function findAjaxScopeByConfig(url, config) { var pathname = new URL(url, location.href).pathname || ''; var scope = config[pathname.slice(1)]; if (scope) { return scope; } } function getAjaxScope(ajaxUrl) { if (Url.getQuery('no_transfer', location.href) !== '1' && mmversion.isWechat && !mmversion.isInMiniProgram && !mmversion.isWxWork && !mmversion.isMpapp && !isAcrossOrigin && window.__ajaxTransferConfig && _typeof(window.__ajaxTransferConfig) === 'object' && ( mmversion.isIOS && mmversion.compareHexVersion('1800282F') || mmversion.isAndroid && mmversion.compareHexVersion('28002234') || mmversion.isWindowsWechat && mmversion.cpVersion('3.9.5', 1, true, 'windows') || mmversion.isMacWechat && mmversion.cpVersion('3.8.4', 1, true, 'mac') || mmversion.isHarmonyWechat && mmversion.compareHexVersion('0xf3100b00') && !mmversion.compareHexVersion('0xf3100c00') || mmversion.compareHexVersion('0xf3800b00'))) { try { return findAjaxScopeByConfig(ajaxUrl, window.__ajaxTransferConfig); } catch (err) { } } } function getActionByData(data) { var _a, _b; if (_typeof(data) === 'object' && !(data instanceof Blob)) { if (data.hasOwnProperty('data') && typeof data.data === 'string') { try { var workedData = JSON.parse(data.data); return workedData.action || ''; } catch (e) {} } return data.action || ''; } if (typeof data === 'string') { return ((_b = (_a = data.split(/[?&]/).find(function (x) { return x.indexOf('action=') >= 0; })) === null || _a === void 0 ? void 0 : _a.split('=')) === null || _b === void 0 ? void 0 : _b[1]) || ''; } return ''; } var METHOD_ENUM = { GET: 0, POST: 1 }; var __moon_report = window.__moon_report || function () {}; var MOON_AJAX_SUCCESS_OFFSET = 3; var MOON_AJAX_NETWORK_OFFSET = 4; var MOON_AJAX_ERROR_OFFSET = 5; var MOON_AJAX_TIMEOUT_OFFSET = 6; var MOON_AJAX_COMPLETE_OFFSET = 7; var LENGTH_LIMIT = 4096; function reportRtError(type, id, key, content) { var log = ''; var prefix = type === 'rt' ? 'rtCheckError' : 'Ajax Length Limit'; if (content === null || content === void 0 ? void 0 : content.length) { var loglen = 1000; var len = content.length; var lc = Math.ceil(len / loglen); log = ["&lc=".concat(lc)]; for (var i = 0; i < lc; ++i) { log.push("&log".concat(i, "=") + "[".concat(prefix, "][").concat(i, "]").concat(encodeURIComponent(content.substring(i * loglen, i * loglen + loglen)))); } log = log.join(''); } var data = "idkey=".concat(id, "_").concat(key, "_1").concat(log, "&r=").concat(Math.random()); var xmlobj = new XMLHttpRequest(); xmlobj.open('POST', "".concat(location.protocol, "//").concat(location.host, "/mp/jsmonitor?"), true); xmlobj.setRequestHeader('cache-control', 'no-cache'); xmlobj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xmlobj.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xmlobj.send(data); if (type === 'ajaxLen') { monitor$1.setLogs({ id: id, key: key, value: 1, log: log }); } } function reportRt(id, key, content) { reportRtError('rt', id, key, content); } function reportAjaxLength(id, key, content) { reportRtError('ajaxLen', id, key, content); } function setXhrHeader(xhr, type, opt) { if (opt.contentType) { xhr.setRequestHeader('Content-Type', opt.contentType); } else if (type === 'POST') { xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); } if (!opt.noXRequestedWidthHeader) { xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); } } function Ajax(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } var ajaxScope = getAjaxScope(obj.url); var type = (obj.type || 'GET').toUpperCase(); var timer; var _url; if (obj.notJoinUrl) { _url = obj.url; } else { _url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(_url, !!obj.notJoinUrl, function (url) { var urlObj = new URL(url, location.origin); if (obj.f === 'html') { url = url.replace('&f=json', ''); } var data = null; if (obj.data instanceof Blob) { data = obj.data; } else if (_typeof(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var beginTs; var beforeReq = function beforeReq() { if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); Log.log('start get appmsgext, url: ', obj.url); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); Log.log('start get appmsgad, url: ', obj.url); } beginTs = Date.now(); }; var beforeResp = function beforeResp(xhr) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgext response, status: ".concat(xhr.status)); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgad response, status: ".concat(xhr.status)); } if (Math.random() < 0.001 && window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { try { var key = ajaxScope ? 'transfer' : 'xhr'; var interval = 250; var time = Date.now() - beginTs; var range = Math.floor(time / interval) * interval; var pathname = new URL(obj.url, location.href).pathname || ''; window.WX_BJ_REPORT.BadJs.report("".concat(key, "_perf:").concat(pathname), JSON.stringify({ status: xhr.status, time: "[".concat(range, "-").concat(range + interval, ")") }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } catch (err) {} } }; var handleRespSucc = function handleRespSucc(xhr, requestType) { var _a, _b, _c, _d; try { var responseText = xhr.responseText; var resp = responseText; if (obj.dataType === 'json') { try { if (JSON && JSON.parse) { resp = JSON.parse(resp); } else { resp = eval("(".concat(resp, ")")); monitor$1.setSum(523105, 127, 1).send(); } var rtId = obj.rtId; var rtKey = obj.rtKey || 0; var rtDesc = obj.rtDesc; if (rtId && rtDesc && RespTypes && !RespTypes.check(resp, rtDesc)) { reportRt(+rtId, +rtKey, "".concat(RespTypes.getMsg(), "[detail]").concat(responseText, ";").concat(obj.url)); } if (resp && resp.base_resp && ((_a = resp.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = url; if (url.indexOf('?') !== -1) { reportUrl = url.substring(0, url.indexOf('?')); if (Url.getQuery('action', url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resp.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resp.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { obj.error && obj.error(xhr, { type: 1, error: e, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 1, HttpCode: xhr.status || 0, Ret: 0 }); } return; } } if (_typeof(resp) === 'object' && ((_b = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _b === void 0 ? void 0 : _b.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 4, HttpCode: xhr.status || 0, Ret: ((_c = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 0, HttpCode: xhr.status || 0, Ret: ((_d = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _d === void 0 ? void 0 : _d.ret) || 0 }); } } obj.success && obj.success(resp); } catch (e) { __moon_report({ offset: MOON_AJAX_SUCCESS_OFFSET, e: e }); throw e; } }; var handleRespErr = function handleRespErr(xhr, error, requestType) { try { obj.error && obj.error(xhr, { type: 2, error: error, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type, RequestType: requestType, RetType: 2, HttpCode: xhr.status, Ret: 0 }); } } catch (e) { __moon_report({ offset: MOON_AJAX_ERROR_OFFSET, e: e }); throw e; } }; var handleRespComplete = function handleRespComplete() { clearTimeout(timer); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; }; var handleReqTimeout = function handleReqTimeout(xhr) { if (typeof obj.timeout !== 'undefined') { timer = setTimeout(function () { xhr.abort(); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; __moon_report({ offset: MOON_AJAX_TIMEOUT_OFFSET, log: "ajax_timeout_error: ".concat(url), e: '' }); }, obj.timeout); } }; var retryXhrFn = function retryXhrFn(res, isTimeout, reqLogItem) { var retryXhr = new XMLHttpRequest(); try { retryXhr._noVConsole = true; } catch (err) {} retryXhr.open(type, url); retryXhr.onreadystatechange = function () { if (isTimeout) return; if (retryXhr.readyState === 3) { obj.received && obj.received(retryXhr); } if (retryXhr.readyState === 4) { beforeResp(retryXhr); var retryStatus = retryXhr.status; if (retryStatus >= 200 && retryStatus < 400) { handleRespSucc(retryXhr, 1); } else { handleRespErr(retryXhr, res, 1); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure', JSON.stringify({ retryXhrStatus: retryStatus, transferRes: res }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryXhr.responseText; handleRespComplete(); networkEndLog(reqLogItem); } }; setXhrHeader(retryXhr, type, obj); retryXhr.send(data); }; if (ajaxScope && !obj.pureHttp) { var header = { 'User-Agent': navigator.userAgent, 'Cookie': (window.__test_env__ ? 'uniproxy_route=1; ' : '') + document.cookie, 'Referer': location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if (type === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } if (!obj.noXRequestedWidthHeader) { header['X-Requested-With'] = 'XMLHttpRequest'; } var reqUrl = new URL(url, location.href).href; var method = METHOD_ENUM[type] || 0; var params = Device.os.pc ? { url: reqUrl, req_json: data || '', scope: ajaxScope, webcgi_method: method, webcgi_header: Object.keys(header).map(function (headerItemKey) { return Device.os.Mac ? _defineProperty({}, headerItemKey, header[headerItemKey]) : { key: headerItemKey, value: header[headerItemKey] }; }), cgi_type: 1 } : { reqUrl: reqUrl, reqBody: data, scope: ajaxScope, method: method, header: header }; var reqLogItem = networkStartLog({ method: type, url: url, postData: obj.data || {}, requestHeader: header, requestType: 'transfer', startTime: Date.now(), responseType: url.indexOf('f=json') > 0 ? 'json' : undefined }); var isTimeout = false; handleReqTimeout({ abort: function abort() { isTimeout = true; reqLogItem.endTime = Date.now(); reqLogItem.response = 'timeout'; networkEndLog(reqLogItem); } }); Device.os.pc && monitor$1.setSum(115849, 69, 1); JSAPI.invoke(Device.os.pc ? 'H5ExtTransfer' : 'webTransfer', params, function (res) { var _a, _b, _c, _d, _e, _f; if (isTimeout) return; var status = 400; var result = ''; if (Device.os.pc) { try { var retFlag = res.base_resp.ret === 0 && res.jsapi_resp.ret === 0 && res.err_msg.indexOf(':ok') > -1; var respJsonFlag = res.jsapi_resp.resp_json; status = retFlag && respJsonFlag ? 200 : 400; result = res.jsapi_resp.resp_json; } catch (err) { console.error(err); } } else { status = res && res.errCode * 1 === 0 && typeof res.result === 'string' && res.result ? 200 : 400; result = res.result; } try { Log.log("ajax transfer, status: ".concat(status, ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (status >= 200 && status < 400) { obj.received && obj.received(null); beforeResp({ status: status }); handleRespSucc({ status: status, responseText: result }, 10); reqLogItem.status = status; reqLogItem.endTime = Date.now(); reqLogItem.response = result; handleRespComplete(); networkEndLog(reqLogItem); } else if (window.__second_open__) { JSAPI.invoke('request', { url: reqUrl, method: type, data: data, header: header }, function (retryRes) { try { Log.log("ajax retry request, retryStatus: ".concat((retryRes === null || retryRes === void 0 ? void 0 : retryRes.statusCode) || '', ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (isTimeout) return; var retryStatus = retryRes.statusCode; obj.received && obj.received(null); beforeResp({ status: retryStatus }); if (retryRes.err_msg.indexOf(':ok') > -1 && retryStatus >= 200 && retryStatus < 400) { handleRespSucc({ status: retryStatus, responseText: retryRes.data }, 20); } else { retryXhrFn(res, isTimeout, reqLogItem); handleRespErr({ status: retryStatus }, res, 20); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure_sec_open', JSON.stringify({ retryReqJsapiRes: retryRes, transferRes: res, url: reqUrl }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryRes.data; handleRespComplete(); networkEndLog(reqLogItem); }); } else { retryXhrFn(res, isTimeout, reqLogItem); } if (Device.os.pc) { if (!res.err_msg.includes(':ok')) { (_b = (_a = window.WX_BJ_REPORT) === null || _a === void 0 ? void 0 : _a.BadJs) === null || _b === void 0 ? void 0 : _b.report("pc transfer res no ok: ".concat(res.err_msg), params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } try { if (res.jsapi_resp.resp_json && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 0 && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 190001 || res.base_resp.ret !== 0 || res.jsapi_resp.ret !== 0) { (_d = (_c = window.WX_BJ_REPORT) === null || _c === void 0 ? void 0 : _c.BadJs) === null || _d === void 0 ? void 0 : _d.report("pc transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } else { try { if (res.errCode !== 0) { (_f = (_e = window.WX_BJ_REPORT) === null || _e === void 0 ? void 0 : _e.BadJs) === null || _f === void 0 ? void 0 : _f.report("mobile transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } }); beforeReq(); return; } var xhr = new XMLHttpRequest(); var mayAbort = !!obj.mayAbort; var async = typeof obj.async === 'undefined' ? true : obj.async; var _onreadystatechange = xhr.onreadystatechange; xhr.open(type, url, async); xhr.onreadystatechange = function () { if (typeof _onreadystatechange === 'function') { _onreadystatechange.apply(xhr); } if (xhr.readyState === 3) { obj.received && obj.received(xhr); } if (xhr.readyState === 4) { beforeResp(xhr); xhr.onreadystatechange = null; var status = xhr.status; if (status >= 200 && status < 400) { handleRespSucc(xhr, 1); } else { handleRespErr(xhr, 'status error', 1); if (!!status || !mayAbort) { var __ajaxtest = window.__ajaxtest || '0'; __moon_report({ offset: MOON_AJAX_NETWORK_OFFSET, log: "ajax_network_error[".concat(status, "][").concat(__ajaxtest, "]: ").concat(url, ";host:").concat(location.host), e: '' }); } } handleRespComplete(); } }; setXhrHeader(xhr, type, obj); handleReqTimeout(xhr); try { xhr.send(data); try { if (url && url.length > LENGTH_LIMIT) { reportAjaxLength(27613, 17, "ajax get limit[length: ".concat(url.length, "]").concat(url.substring(0, 1024))); } if (data && !(data instanceof Blob) && data.length > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.length, "]").concat(data.substring(0, 1024))); } if (data && data instanceof Blob && data.size > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.size, "]blob")); } } catch (e) { } } catch (e) { obj.error && obj.error(xhr, { type: 3, error: e, status: 0 }); } beforeReq(); }); } mmversion.isWindowsWechat && mmversion.compareHexVersion('0xf2550000') || mmversion.isMacWechat && mmversion.compareHexVersion('0xf2650000'); var getBrandServiceType = function getBrandServiceType() { var serviceType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.service_type; var _a, _b; var brandServiceType = 0; if (serviceType !== undefined) brandServiceType = serviceType + 1; if (((_b = (_a = window.cgiData) === null || _a === void 0 ? void 0 : _a.trans_appmsg_info) === null || _b === void 0 ? void 0 : _b.trans_type) * 1 === 1) brandServiceType = 3; return brandServiceType; }; function setCurrentMpInfo(ifShow) { var supportNewTopBar = mmversion.isIOS && mmversion.gtVersion('7.0.10', true) || mmversion.isAndroid && mmversion.gtVersion('7.0.12', true); var supportLiveStatus = mmversion.isIOS && mmversion.gtVersion('8.0.46', true) || mmversion.isAndroid && mmversion.gtVersion('8.0.46', true); JSAPI.invoke('currentMpInfo', { userName: window.user_name, brandName: !!supportNewTopBar && window.nickname === '' ? '未命名账号' : window.title, title: window.msg_title || '', brandIcon: window.hd_head_img.replace(/\/0$/, '/132'), itemShowType: window.item_show_type, isPaySubscribe: window.isPaySubscribe, topBarStyle: supportNewTopBar ? 1 : 0, topBarShowed: ifShow, disableShowFinderLiveTopBar: !ifShow && supportLiveStatus ? 1 : 0, brandServiceType: getBrandServiceType() }, function () {}); } function AjaxWx(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; obj.url += obj.url.indexOf('?') === -1 ? '?fasttmplajax=1' : '&fasttmplajax=1'; if (getAjaxScope(obj.url)) { Ajax(obj); return; } if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } if (!/^(http:\/\/|https:\/\/|\/\/)/.test(obj.url)) { obj.url = "https://mp.weixin.qq.com/".concat(obj.url.replace(/^\//, '')); } else if (/^\/\//.test(obj.url)) { obj.url = "https:".concat(obj.url); } if (obj.f !== 'html' && (obj.url.indexOf('?f=json') === -1 || obj.url.indexOf('&f=json') === -1)) { obj.url += '&f=json'; } if (!obj.notJoinUrl && obj.f !== 'html') { obj.url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(obj.url, !!obj.notJoinUrl, function (url) { obj.url = url; var urlObj = new URL(url, location.origin); var data = null; if (_typeof(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var header = { Cookie: document.cookie, referer: location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if ((obj.type || 'GET').toUpperCase() === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } var reqLogItem = networkStartLog({ method: obj.type || 'GET', url: obj.url, postData: obj.data || {}, requestHeader: header, requestType: 'jsapi', startTime: Date.now() }); var retryTime = 1; var jsapiRequest = function jsapiRequest(obj, data) { return JSAPI.invoke('request', { url: obj.url, method: obj.type, data: data, header: header }, function (res) { var _a, _b, _c, _d, _e, _f; if (res.err_msg.indexOf(':ok') > -1 && (!res.statusCode || res.statusCode >= 200 && res.statusCode < 400)) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(res.statusCode, "|").concat(Date.now()); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(res.statusCode, "|").concat(Date.now()); } if (retryTime === 1) { obj.received && obj.received(null); } var resData = {}; if (res.data) { try { if (obj.dataType === 'json') { resData = JSON.parse(res.data); } else { resData = res.data; } if (resData && resData.base_resp && ((_a = resData.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = obj.url; if (obj.url.indexOf('?') !== -1) { reportUrl = obj.url.substring(0, obj.url.indexOf('?')); if (Url.getQuery('action', obj.url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', obj.url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resData.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resData.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_b = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _b === void 0 ? void 0 : _b.ret) || 0 }); } console.error(e); obj.error && obj.error(null, { type: 1, error: e, status: res.statusCode }); obj.complete && obj.complete(); reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); return; } } var tmpResData = {}; try { tmpResData = JSON.parse(res.data); } catch (e) {} if (tmpResData && tmpResData.base_resp && tmpResData.base_resp.ret === -3 && retryTime < 2 && (mmversion.isIOS || mmversion.isAndroid && mmversion.getInner() > '27000600')) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_c = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } var _retryTime = retryTime++; JSAPI.invoke('updatePageAuth', {}, function (res) { console.log('[skeleton] updatePageAuth', res); monitor$1.setSum(112287, 3, 1); if (res && res.err_msg && res.err_msg.indexOf(':ok') > -1) { window.top.pass_ticket = encodeURIComponent(Url.getQuery('pass_ticket', res.fullUrl).html(false).replace(/\s/g, '+')); if (obj.pass_ticket) { obj.pass_ticket = window.top.pass_ticket; } console.warn('[skeleton] updatePageAuth resetTopbar'); var supportNewTopBar = mmversion.isIOS && mmversion.gtVersion('7.0.10', true); var showBottomBar = !!window.is_login; if (window.top.item_show_type === '0' && supportNewTopBar) { var top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop || 0; setCurrentMpInfo(top > 40 && !showBottomBar); } try { obj.url = Url.addParam(obj.url, 'retry', _retryTime, true); } catch (err) { console.error(err); } jsapiRequest(obj, data); monitor$1.setSum(112287, 4, 1); } else { obj.success && obj.success(resData); obj.complete && obj.complete(); if (mmversion.isIOS) { monitor$1.setSum(112287, 35, 1); } else { monitor$1.setSum(112287, 36, 1); } reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } }); } else { if (((_d = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _d === void 0 ? void 0 : _d.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 4, HttpCode: res.statusCode || 0, Ret: ((_e = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _e === void 0 ? void 0 : _e.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 0, HttpCode: res.statusCode || 0, Ret: ((_f = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _f === void 0 ? void 0 : _f.ret) || 0 }); } } obj.success && obj.success(resData); obj.complete && obj.complete(); reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } } else if (res.err_msg.indexOf('no permission') > -1 || !mmversion.isOnlyWechat) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: 0 }); } Ajax(obj); if (res.err_msg.indexOf('no permission') > -1) { console.warn('[JSAPI Request] No permission'); monitor$1.setSum(112287, 31, 1); } reqLogItem.status = 302; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 2, HttpCode: res.statusCode || 0, Ret: 0 }); } obj.error && obj.error(null, { type: 3, error: res, status: 0 }); obj.complete && obj.complete(); monitor$1.setSum(112287, 32, 1); var sample = 0.001; if (Math.random() < sample) { var msg = "request: ".concat(JSON.stringify(obj.type), " ").concat(JSON.stringify(obj.url), " ;;;; cookie: ").concat(JSON.stringify(document.cookie), " ;;;; data: ").concat(JSON.stringify(data), " ;;;; resp: ").concat(JSON.stringify(res)); if (window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { window.WX_BJ_REPORT.BadJs.report('ajax_wx_request_error', msg, { mid: 'mmbizwap:Monitor' }); } } reqLogItem.status = 400; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } }); }; if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); } jsapiRequest(obj, data); }); } function _regeneratorRuntime() { _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = isx5 ? '1' : '0'; obj.f = 'json'; return Url.join(url, obj); } function isObj(obj) { return obj && _typeof(obj) === 'object'; } function assign(target, source) { if (isObj(target) && isObj(source)) { for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } } function assembleReportData(initiative) { var leaveReportLog = []; leaveReportLog.push({ content: "[LeaveReport] specificData keys: ".concat(Object.keys(specificData)), timestamp: Date.now() }); Log.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); console.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); var allReportData = {}; for (var reportField in specificData) { if (!allReportData[reportField]) { allReportData[reportField] = {}; } for (var i = 0; i < specificData[reportField].length; i++) { var param = specificData[reportField][i]; if (typeof param === 'function') { try { assign(allReportData[reportField], param(initiative)); } catch (err) { leaveReportLog.push({ content: "[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); console.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); } } else if (isObj(param)) { assign(allReportData[reportField], param); } } } leaveReportLog.push({ content: "[LeaveReport] reportData.length: ".concat(reportData.length), timestamp: Date.now() }); Log.log("[LeaveReport] reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] reportData.length: ".concat(reportData.length)); leaveReportLog.push({ content: "[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length), timestamp: Date.now() }); Log.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); console.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); for (var _i = 0; _i < getDataFunc.length; _i++) { try { var data = getDataFunc[_i](initiative); if (isObj(data)) { reportData.push(data); } } catch (err) { leaveReportLog.push({ content: "[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); console.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); } } for (var _i2 = 0; _i2 < reportData.length; _i2++) { if (reportData[_i2].reportUrl) { reportData[_i2].reportUrl = joinUrl(reportData[_i2].reportUrl); } } allReportData.data = { 'requestList': reportData }; leaveReportLog.push({ content: "[LeaveReport] final reportData.length: ".concat(reportData.length, ", data=").concat(JSON.stringify(reportData)), timestamp: Date.now() }); Log.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); allReportData.info = leaveReportLog; return allReportData; } function addReport(param) { if (typeof param === 'function') { getDataFunc.push(param); } else if (isObj(param)) { reportData.push(param); } } function addSpecificReport(reportField, param) { if (!specificData[reportField]) { specificData[reportField] = []; } specificData[reportField].push(param); } function reportNow(callback) { var allReportData = assembleReportData(true); JSAPI.invoke('handleMPPageAction', { action: 'reportByLeaveForMPGateway', reportData: allReportData }, function (res) { if (res && res.err_msg && res.err_msg.indexOf(':ok') !== -1) { getDataFunc = []; reportData = []; specificData = {}; typeof callback === 'function' && callback(res); } else { getDataFunc = []; reportData = []; var len = allReportData.data.requestList.length; allReportData.data.requestList.forEach(function (req) { if (req.reportUrl) { AjaxRouter({ type: req.method || 'GET', url: req.reportUrl, data: req.reportData, async: false, success: function success(resp) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:ok', fallback: true, resp: resp }); } }, error: function error(xhr, err) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:fail', fallback: true, err: err }); } } }); } }); } }); } var leaveReport = { reportNow: reportNow, addReport: addReport, addSpecificReport: addSpecificReport }; var _leaveReport = (function () { var doc = {}; var isCrossOrigin = false; try { doc = top.window.document; } catch (e) { isCrossOrigin = true; } if (!isCrossOrigin && top.window.__leaveReport) { return top.window.__leaveReport; } if (window.__leaveReport) { return window.__leaveReport; } JSAPI.on('reportOnLeaveForMP', function () { return assembleReportData(false); }); return window.__leaveReport = leaveReport; })(); var getReportJson = function getReportJson(logId, rawData) { var data = JSON.parse(JSON.stringify(rawData)); data.log_id = Number(logId); data.TimeStamp = Math.round(Date.now() / 1000); console.log('[comm_report] reportjson: ', data); return JSON.stringify(data); }; var getSuccessHandler = function getSuccessHandler(logId, data, opt) { return function (res) { if (res && res.err_code !== 0) { console.warn("[comm_report] report ".concat(logId, " fail: "), res.err_msg, data); } if (typeof opt.success === 'function') { opt.success(res); } }; }; var getErrorHandler = function getErrorHandler(logId, data, opt) { return function (xhr, info) { console.error("[comm_report] report ".concat(logId, " error: "), info, data); if (typeof opt.error === 'function') { opt.error(xhr, info); } }; }; var batchReportDataArr = []; var blackLogId = [25587, 18832, 28208, 25574, 29139, 10945]; var BATCH_SIZE = 4; var BATCH_TIME = 1000; var getRepeatedReportJson = function getRepeatedReportJson() { if (!batchReportDataArr || !batchReportDataArr.length) return false; var reportData = { count: 0 }; reportData.count = batchReportDataArr.length; batchReportDataArr.forEach(function (data, index) { reportData["reportjson".concat(index)] = data; }); batchReportDataArr = []; console.log('[reportData]: ', reportData); return reportData; }; var timeOutId; function batchReport() { if (!batchReportDataArr || !batchReportDataArr.length) return; var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return; AjaxRouter({ type: 'POST', dataType: 'json', url: '/mp/wapcommreport?action=batch_report', data: repeatedReportJson, dontReport: true, success: function success(res) { if (res && res.err_code) { console.warn("[comm_report] batch report fail: ", res.err_msg, batchReportDataArr); } }, error: function error(xhr, info) { console.error("[comm_report] batch report error: ", info, batchReportDataArr); } }); } function batchReportThrottle(logId, rawData) { var reportJsonData = getReportJson(logId, rawData); if (!reportJsonData) return; batchReportDataArr.push(reportJsonData); if (batchReportDataArr.length >= BATCH_SIZE) { batchReport(); } else { if (!timeOutId) { timeOutId = setTimeout(function () { batchReport(); clearTimeout(timeOutId); timeOutId = null; }, BATCH_TIME); } } } _leaveReport.addReport(function () { var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return false; var reportData = []; for (var _i = 0, _Object$entries = Object.entries(repeatedReportJson); _i < _Object$entries.length; _i++) { var _Object_i = _slicedToArray(_Object$entries[_i], 2), key = _Object_i[0], value = _Object_i[1]; reportData.push("".concat(key, "=").concat(encodeURIComponent(value))); } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport?action=batch_report', reportData: reportData.join('&'), method: 'POST' }; }); var WapReport = { report: function report(logId, rawData, rawOpt) { var opt = rawOpt || {}; if (!opt.realTime && !blackLogId.includes(logId)) { batchReportThrottle(logId, rawData); } else { AjaxRouter({ type: 'POST', dataType: 'json', url: '/mp/wapcommreport', data: { reportjson: getReportJson(logId, rawData) }, async: opt.async, success: getSuccessHandler(logId, rawData, opt), error: getErrorHandler(logId, rawData, opt) }); } }, leaveReport: function leaveReport(logId, rawData) { _leaveReport.addReport(function () { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport', reportData: "reportjson=".concat(encodeURIComponent(getReportJson(logId, data))), method: 'POST' }; }); }, reportByBeacon: function reportByBeacon(logId, rawData) { try { if (!Device.os.android && !Device.os.ios && !Device.os.harmony) { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } var url = '/mp/wapcommreport'; var reportJsonData = encodeURIComponent(getReportJson(logId, data)); console.log("reportByBeacon", JSON.stringify(reportJsonData)); navigator.sendBeacon(Url.joinUrl(url), "reportjson=".concat(reportJsonData)); } else { _leaveReport.addReport(function () { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport', reportData: "reportjson=".concat(encodeURIComponent(getReportJson(logId, data))), method: 'POST' }; }); } } catch (error) { console.log(error); } } }; var ua = navigator.userAgent; var is_android = /(Android)/i.test(ua); var g = { x: 0, y: 0, isPc: /(WindowsNT)|(Windows NT)|(Macintosh)|Linux|UnifiedPCOHOSWechat/i.test(navigator.userAgent) && !is_android, isWp: /Windows\sPhone/i.test(ua), tsTime: -1 }; var prefixes = ['webkit', 'moz', 'ms', 'o']; if (isUseTap()) { on(document, "touchstart", function (e) { if (e.touches.length === 1) { var st = e.touches[0]; g.x = st.clientX; g.y = st.clientY; g.tsTime = +new Date(); } else { g.tsTime = -1; } }); } var scrolling; function isScrolling() { if (scrolling && new Date().getTime() - scrolling < 200) return true; return false; } window.addEventListener('scroll', function () { scrolling = new Date().getTime(); }, true); function isUseTap() { if (g.isPc || g.isWp) { return false; } return true; } function tap(el, cb, flag, className) { if (!isUseTap()) { on(el, "click", className, cb, flag); } else { cb.tap_handler = function (e) { if (g.tsTime == -1 || +new Date() - g.tsTime > 200 || isScrolling()) { return; } var st = e.changedTouches[0]; if (Math.abs(g.y - st.clientY) 5)) { clearTimeout(timeOutEvent); timeOutEvent = undefined; typeof cancelCb === 'function' && cancelCb.call(self, e); } }); on(el, 'mouseup', className, function () { mousedown = false; clearTimeout(timeOutEvent); }); on(el, 'click', className, function () { if (triggerLongClick) return false; }); } else { on(el, 'touchstart', className, function (e) { e.touches.length === 1 && (timeOutEvent = setTimeout(function () { timeOutEvent = undefined; cb.call(self, e); }, 500)); }); on(el, 'touchmove', className, function (e) { if (!timeOutEvent) return; var st = e.changedTouches[0]; if (Math.abs(g.y - st.clientY) > 5 || Math.abs(g.x - st.clientX) > 5) { clearTimeout(timeOutEvent); timeOutEvent = undefined; typeof cancelCb === 'function' && cancelCb.call(self, e); } }); on(el, 'touchend', className, function (e) { if (timeOutEvent) { clearTimeout(timeOutEvent); timeOutEvent = undefined; } else { e.preventDefault(); } }, true); } } function doubletap(el, cb) { var _this = this; var __lastTouchVideoTs = 0; var realCb = function realCb(e) { if (Date.now() - __lastTouchVideoTs < 300) { cb.call(_this, e); } __lastTouchVideoTs = Date.now(); }; tap(el, realCb); return function () { return off(el, 'touchend', realCb); }; } function matches(ele, className) { if (!ele || !className || ele.nodeType != ele.ELEMENT_NODE) return false; var matchesSelector = ele.webkitMatchesSelector || ele.msMatchesSelector || ele.matchesSelector; if (matchesSelector) return matchesSelector.call(ele, className); className = className.substr(1); return ele.className.indexOf(className) > -1; } function closest(target, className, context) { while (target && !matches(target, className)) { target = target !== context && target.nodeType !== target.DOCUMENT_NODE && target.parentNode; } return target; } function on(el, type, className, cb, flag, extra) { var callback; var handler; var delegator; if (!el) return; if (typeof className === 'function') { extra = flag; flag = cb; cb = className; className = ''; } if (typeof className !== 'string') { className = ''; } if (el == window && type == "load" && /complete|loaded/.test(document.readyState)) { return cb({ type: "load" }); } if (type == 'tap') return tap(el, cb, flag, className); if (type === 'longtap') return longtap(el, cb, flag, className, extra); if (type == "unload" && "onpagehide" in window) { type = "pagehide"; } callback = function callback(e) { var ret = cb(e); if (ret === false) { e.stopPropagation && e.stopPropagation(); e.preventDefault && e.preventDefault(); } return ret; }; if (className && className.charAt(0) == '.') delegator = function delegator(e) { var target = e.target || e.srcElement; var match = closest(target, className, el); if (match) { e.delegatedTarget = match; return callback(e); } }; handler = delegator || callback; cb["".concat(type, "_handler")] = handler; if (el.addEventListener) { el.addEventListener(type, handler, !!flag); return; } if (el.attachEvent) { el.attachEvent("on".concat(type), handler, !!flag); return; } } function off(el, type, cb, flag) { if (!el) return; var handlerType = type; var handler; if (handlerType == 'tap') { if (isUseTap()) { handlerType = 'touchend'; handler = cb.tap_handler && cb.tap_handler.touchend_handler ? cb.tap_handler.touchend_handler : cb; } else { handlerType = 'click'; } } if (!handler) { handler = cb["".concat(handlerType, "_handler")] || cb; } if (el.removeEventListener) { el.removeEventListener(handlerType, handler, !!flag); return; } if (el.detachEvent) { el.detachEvent("on".concat(handlerType), handler, !!flag); return; } if (handlerType == 'tap' && isUseTap()) { if (cb.tap_handler) { cb.tap_handler.touchend_handler = null; } cb.tap_handler = null; } else { cb["".concat(handlerType, "_handler")] = null; } } function getHiddenProp() { if ('hidden' in document) { return 'hidden'; } for (var i = 0; i < prefixes.length; i++) { if ("".concat(prefixes[i], "Hidden") in document) { return "".concat(prefixes[i], "Hidden"); } } return null; } function getVisibilityState() { if ('visibilityState' in document) { return 'visibilityState'; } for (var i = 0; i < prefixes.length; i++) { if ("".concat(prefixes[i], "VisibilityState") in document) { return "".concat(prefixes[i], "VisibilityState"); } } return null; } function bindVisibilityChangeEvt(cb) { var visProp = getHiddenProp(); if (visProp) { var evtname = "".concat(visProp.replace(/[H|h]idden/, ''), "visibilitychange"); var handler = function handler() { var isShow = document[getVisibilityState()] !== 'hidden'; typeof cb === 'function' && cb(isShow); }; document.addEventListener(evtname, handler, false); return function () { document.removeEventListener(evtname, handler, false); }; } return function () {}; } var DomEvent = { on: on, off: off, tap: tap, longtap: longtap, bindVisibilityChangeEvt: bindVisibilityChangeEvt, doubletap: doubletap }; var html = function html(_str, encode) { if (!_str) return ''; var replace = ['`', '`', ''', '\'', '"', '"', ' ', ' ', '>', '>', '<', '', '<', ' ".concat(ret.err_msg) : ''; if (['handleMPPageAction', 'handleVideoAction', 'handleHaokanAction'].indexOf(methodName) !== -1) { var action = (args === null || args === void 0 ? void 0 : args.action) || ''; console.info('[system]', "[jsapi] invoke->".concat(methodName, ", action->").concat(action).concat(errMsg)); } else { console.info('[system]', "[jsapi] invoke->".concat(methodName).concat(errMsg)); } if (methodName === 'handleMPPageAction' && (args === null || args === void 0 ? void 0 : args.action) && ((ret === null || ret === void 0 ? void 0 : ret.err_desc) === 'action isn\'t supported' || (ret === null || ret === void 0 ? void 0 : ret.err_msg) === 'handleMPPageAction:fail action is not supported')) { notFoundedMPPageAction.push(args === null || args === void 0 ? void 0 : args.action); } if (callback) { callback.apply(window, rets); } } catch (e) { __moon_report([{ offset: MOON_JSAPI_KEY_OFFSET, log: "invoke;methodName:".concat(methodName), e: e }]); throw e; } }); } }); case 4: case "end": return _context.stop(); } }, _callee); })); return _invoke.apply(this, arguments); } function call(_x4) { return _call.apply(this, arguments); } function _call() { _call = _asyncToGenerator( _regeneratorRuntime().mark(function _callee2(methodName) { return _regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (!(window.__secPageAuthPromise && !window.__is_page_auth_ok__)) { _context2.next = 3; break; } _context2.next = 3; return window.__secPageAuthPromise; case 3: ready(function () { if (isAcrossOrigin) return false; if (_typeof(top.window.WeixinJSBridge) !== 'object') { return false; } try { top.window.WeixinJSBridge.call(methodName); } catch (e) { __moon_report([{ offset: MOON_JSAPI_KEY_OFFSET, log: "call;methodName:".concat(methodName), e: e }]); throw e; } }); case 4: case "end": return _context2.stop(); } }, _callee2); })); return _call.apply(this, arguments); } function on(eventName, callback) { ready(function () { if (isAcrossOrigin) return false; if (_typeof(top.window.WeixinJSBridge) !== 'object' || !top.window.WeixinJSBridge.on) { return false; } if (!window.JSAPIEventCallbackMap[eventName]) { window.JSAPIEventCallbackMap[eventName] = []; } window.JSAPIEventCallbackMap[eventName].push(callback); if (window.JSAPIEventCallbackMap[eventName].length > 1) { return false; } top.window.WeixinJSBridge.on(eventName, function () { try { for (var _len = arguments.length, rets = new Array(_len), _key = 0; _key < _len; _key++) { rets[_key] = arguments[_key]; } var ret = rets[0]; var errMsg = ret && ret.err_msg ? ", err_msg-> ".concat(ret.err_msg) : ''; console.info('[system]', "[jsapi] event->".concat(eventName).concat(errMsg)); if (window.JSAPIEventCallbackMap[eventName] && window.JSAPIEventCallbackMap[eventName].length) { var result; for (var i = 0; i < window.JSAPIEventCallbackMap[eventName].length; i++) { result = window.JSAPIEventCallbackMap[eventName][i].apply(window, rets); } return result; } } catch (e) { __moon_report([{ offset: MOON_JSAPI_KEY_OFFSET, log: "on;eventName:".concat(eventName), e: e }]); throw e; } }); }); } function remove(eventName, callback) { ready(function () { if (!window.JSAPIEventCallbackMap[eventName]) { return false; } var result = false; for (var i = window.JSAPIEventCallbackMap[eventName].length - 1; i >= 0; i--) { if (window.JSAPIEventCallbackMap[eventName][i] === callback) { window.JSAPIEventCallbackMap[eventName].splice(i, 1); result = true; } } return result; }); } var JSAPI = { ready: ready, invoke: invoke, call: call, on: on, remove: remove }; var innerVersion = (mmversion.getInner() || '').toUpperCase(); var getBizLS = new LS('get_biz_result'); function getBizMap() { if (!window.__get_biz_map__) { window.__get_biz_map__ = {}; } return window.__get_biz_map__; } var isGetBizSupported = mmversion.isOnlyWechat && mmversion.isIOS && innerVersion >= '18003C2A' || mmversion.isOnlyWechat && mmversion.isAndroid && innerVersion >= '28003D3C' || mmversion.isUnifiedPcWechat && mmversion.cpVersion('4.1.10', 1, true, 'unifiedpc'); function invokeGetBiz(needCheckBiz, bizType) { return dedupePromise("getBiz:".concat(needCheckBiz, ":").concat(bizType), function () { return new Promise(function (resolve, reject) { if (!isGetBizSupported) { reject('Not support'); } else { JSAPI.invoke('handleMPPageAction', { action: 'getBiz', needCheckBiz: needCheckBiz, bizType: bizType }, function (res) { console.log("getBiz needCheckBiz=".concat(needCheckBiz, " bizType=").concat(bizType, " res: ").concat(JSON.stringify(res))); if (res && res.err_msg && res.err_msg.indexOf('ok') > -1) { var bizMap = getBizMap(); bizMap[bizType] = res.biz; resolve(res.biz); getBizLS.set("".concat(bizType, "_get_biz_result"), res.biz, +new Date() + 3 * 24 * 60 * 60 * 1000); } else { reject('Failed to get biz'); } }); } }); }); } function getBiz(needCheckBiz, bizType) { var _a; if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } var bizMap = getBizMap(); if (!needCheckBiz && bizMap[bizType] !== undefined) { return Promise.resolve(bizMap[bizType]); } return invokeGetBiz(needCheckBiz, bizType); } mmversion.isOnlyWechat && mmversion.isIOS || mmversion.isOnlyWechat && mmversion.isAndroid || mmversion.isUnifiedPcWechat && mmversion.cpVersion('4.1.10', 1, true, 'unifiedpc'); function LsGetBiz(bizType) { var _a, _b, _c; if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } var bizMap = getBizMap(); return (_c = (_b = bizMap[bizType]) !== null && _b !== void 0 ? _b : getBizLS.get("".concat(bizType, "_get_biz_result"))) !== null && _c !== void 0 ? _c : ''; } var getIsAuthorLs = function getIsAuthorLs(bizuin, bizType) { var _a; if (bizuin === void 0) { bizuin = window.biz; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } return bizuin && bizuin === LsGetBiz(bizType); }; var getIsAuthor = function getIsAuthor(cb, bizuin, needCheckBiz, bizType) { var _a; if (bizuin === void 0) { bizuin = window.biz; } if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } getBiz(needCheckBiz, bizType).then(function (biz) { cb(biz && biz === bizuin); })["catch"](function () { cb(false); }); }; function parseUrl(url) { var len = url.length; var ques_pos = url.indexOf('?'); var hash_pos = url.indexOf('#'); hash_pos = hash_pos == -1 ? len : hash_pos; ques_pos = ques_pos == -1 ? hash_pos : ques_pos; var host = url.substring(0, ques_pos); var query_str = url.substring(ques_pos + 1, hash_pos); var hash = url.substring(hash_pos + 1); return { host: host, query_str: query_str, hash: hash }; } function join(url, args, noEncode) { var ret = parseUrl(url); var query_str = ret.query_str; var args_arr = []; if (_typeof(args) === 'object') { for (var key in args) { if (args.hasOwnProperty(key)) { args_arr.push("".concat(key, "=").concat(noEncode ? args[key] : encodeURIComponent(args[key]))); } } } else { args_arr.push(noEncode ? args : encodeURIComponent(args)); } if (args_arr.length > 0) { query_str += (query_str !== "" ? "&" : "") + args_arr.join("&"); } return ret.host + (query_str !== "" ? "?".concat(query_str) : "") + (ret.hash !== "" ? "#".concat(ret.hash) : ""); } function addParam(url, param, value, forceReplace) { url = url || location.href; var firstAndPos = url.indexOf("&"); var len = url.length; var reverseUrl = url.replace(/^[\w\d]+:[/\\]+/g, "").split("").reverse(); if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (searchElement, fromIndex) { var k; if (this == null) { throw new TypeError('"this" is null or not defined'); } var O = Object(this); var len = O.length >>> 0; if (len === 0) { return -1; } var n = fromIndex || 0; if (Math.abs(n) === Infinity) { n = 0; } if (n >= len) { return -1; } k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); while (k < len) { if (k in O && O[k] === searchElement) { return k; } k++; } return -1; }; } var lastSlashPos = len - 1 - reverseUrl.indexOf("/"); if (firstAndPos !== -1 && url.indexOf("?") == -1 && firstAndPos > lastSlashPos) { url = url.replace("&", "?"); } var reg = new RegExp("([\\?&]".concat(param, "=)[^&#]*")); if (!url.match(reg)) { var urlInfo = parseUrl(url); var hash = urlInfo.hash ? '#' + urlInfo.hash : ''; url = url.replace(hash, ''); var _pos = url.indexOf("?"); if (_pos == -1) { return "".concat(url, "?").concat(param, "=").concat(value).concat(hash); } if (_pos == url.length - 1) { return "".concat(url + param, "=").concat(value).concat(hash); } return "".concat(url, "&").concat(param, "=").concat(value).concat(hash); } if (forceReplace === true) { return url.replace(reg, "$1".concat(value)); } return url; } function addWxfrom(src, wxfrom) { var offset = window.service_type === 1 ? 10000 : 0; return addParam(src, 'wxfrom', offset + Number(wxfrom), true); } function removeParam(url, param) { var _URL = new URL(url), protocol = _URL.protocol, host = _URL.host, pathname = _URL.pathname, search = _URL.search, hash = _URL.hash; var queryParams = new URLSearchParams(search); queryParams["delete"](param); var newSearch = queryParams.toString(); var newUrl = new URL("".concat(protocol, "//").concat(host).concat(pathname).concat(newSearch ? "?".concat(decodeURIComponent(newSearch)) : "").concat(hash)); return newUrl.toString(); } function getQuery(name, url) { var u = url || window.location.search; var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)")); var r = u.substring(u.indexOf('?') + 1).match(reg); return r !== null ? r[2] : ''; } function encodeBase64(value) { try { return window.btoa(value); } catch (e) { return ''; } } function decodeBase64(value) { try { return window.atob(value); } catch (e) { return ''; } } function joinUrl(url) { var obj = {}; if (typeof window.uin !== 'undefined') { obj.uin = window.uin; } if (typeof window.key !== 'undefined') { obj.key = window.key; } if (typeof window.pass_ticket !== 'undefined') { obj.pass_ticket = window.pass_ticket; } if (typeof window.wxtoken !== 'undefined') { obj.wxtoken = window.wxtoken; } if (typeof window.devicetype !== 'undefined') { obj.devicetype = window.devicetype; } if (typeof window.clientversion !== 'undefined') { obj.clientversion = window.clientversion || mmversion.getInner(); } obj.version = obj.clientversion; if (window.biz) { obj.__biz = window.biz; } if (getQuery('enterid')) { obj.enterid = getQuery('enterid'); } if (typeof window.appmsg_token !== 'undefined') { obj.appmsg_token = window.appmsg_token; } else if (url.indexOf('advertisement_report') > -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = navigator.userAgent.indexOf('TBS/') !== -1 ? '1' : '0'; obj.f = 'json'; return join(url, obj); } function joinUserArticleRole(url, notJoin, cb) { var bizuin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.biz; var needCheckBiz = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; if (notJoin) { cb(url); } else { getIsAuthor(function (isAuthor) { cb(addParam(url, 'user_article_role', isAuthor ? 1 : 0, true)); }, bizuin, needCheckBiz); } } function getA8keyQuery(name, url) { return new Promise(function (resolve) { if (window.__secPageAuthPromise) { window.__secPageAuthPromise.then(function () { resolve(getQuery(name, url)); }); } else { resolve(getQuery(name, url)); } }); } function addHash(url, hash) { var isReplace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (isReplace) { return "".concat(url.split('#')[0]).concat(hash); } return "".concat(url).concat(url.indexOf('#') === -1 ? '#' : '').concat(hash); } function decodeUrl(url) { var _url = url; while (_url.indexOf('&') !== -1) { _url = _url.htmlDecode(); } return _url; } var Url = { parseUrl: parseUrl, join: join, addParam: addParam, addWxfrom: addWxfrom, addHash: addHash, getQuery: getQuery, getA8keyQuery: getA8keyQuery, encodeBase64: encodeBase64, decodeBase64: decodeBase64, joinUrl: joinUrl, joinUserArticleRole: joinUserArticleRole, removeParam: removeParam, decodeUrl: decodeUrl }; var Device = {}; function detect(ua) { var MQQBrowser = ua.match(/MQQBrowser\/(\d+\.\d+)/i); var MQQClient = ua.match(/QQ\/(\d+\.(\d+)\.(\d+)\.(\d+))/i) || ua.match(/V1_AND_SQ_([\d\.]+)/); var WeChat = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/) || ua.match(/MicroMessenger\/((\d+)\.(\d+))/); var MacOS = ua.match(/Mac\sOS\sX\s(\d+[\.|_]\d+)/); var WinOS = ua.match(/Windows(\s+\w+)?\s+?(\d+\.\d+)/); var Linux = ua.match(/Linux\s/); var MiuiBrowser = ua.match(/MiuiBrowser\/(\d+\.\d+)/i); var M1 = ua.match(/MI-ONE/); var MIPAD = ua.match(/MI PAD/); var UC = ua.match(/UCBrowser\/(\d+\.\d+(\.\d+\.\d+)?)/) || ua.match(/\sUC\s/); var IEMobile = ua.match(/IEMobile(\/|\s+)(\d+\.\d+)/) || ua.match(/WPDesktop/); var ipod = ua.match(/(ipod).*\s([\d_]+)/i); var ipad = ua.match(/(ipad).*\s([\d_]+)/i); var iphone = ua.match(/(iphone)\sos\s([\d_]+)/i); var Chrome = ua.match(/Chrome\/(\d+\.\d+)/); var AndriodBrowser = ua.match(/Mozilla.*Linux.*Android.*AppleWebKit.*Mobile Safari/); var android = ua.match(/(android)\s([\d\.]+)/i); var harmony = ua.match(/(OpenHarmony)\s([\d\.]+)/i); Device.browser = Device.browser || {}, Device.os = Device.os || {}; Device.os.type = -1; Device.os.unifiedPC = ua.match(/UnifiedPC/); Device.os.unifiedMac = /UnifiedPCMac/i.test(ua); Device.os.unifiedWindows = /UnifiedPCWindows/i.test(ua); if (window.ActiveXObject) { var vie = 6; (window.XMLHttpRequest || ua.indexOf('MSIE 7.0') > -1) && (vie = 7); (window.XDomainRequest || ua.indexOf('Trident/4.0') > -1) && (vie = 8); ua.indexOf('Trident/5.0') > -1 && (vie = 9); ua.indexOf('Trident/6.0') > -1 && (vie = 10); Device.browser.ie = true, Device.browser.version = vie; } else if (ua.indexOf('Trident/7.0') > -1) { Device.browser.ie = true, Device.browser.version = 11; } if (android) { Device.os.android = true; Device.os.version = android[2]; Device.os.type = 2; } if (harmony) { Device.os.harmony = true; Device.os.version = harmony[2]; Device.os.type = 42; } if (ipod) { Device.os.ios = Device.os.ipod = true; Device.os.version = ipod[2].replace(/_/g, '.'); } if (ipad) { Device.os.ios = Device.os.ipad = true; Device.os.version = ipad[2].replace(/_/g, '.'); Device.os.type = 13; } if (iphone) { Device.os.iphone = Device.os.ios = true; Device.os.version = iphone[2].replace(/_/g, '.'); Device.os.type = 1; } if (WinOS) Device.os.windows = true, Device.os.version = WinOS[2], Device.os.type = 15; if (MacOS) Device.os.Mac = true, Device.os.version = MacOS[1], Device.os.type = 14; if (Linux) Device.os.Linux = true, Device.os.type = 33; if (ua.indexOf('lepad_hls') > 0) Device.os.LePad = true; if (MIPAD) Device.os.MIPAD = true; if (MQQBrowser) Device.browser.MQQ = true, Device.browser.version = MQQBrowser[1]; if (MQQClient) Device.browser.MQQClient = true, Device.browser.version = MQQClient[1]; if (WeChat) Device.browser.WeChat = true, Device.browser.mmversion = Device.browser.version = WeChat[1]; if (MiuiBrowser) Device.browser.MIUI = true, Device.browser.version = MiuiBrowser[1]; if (UC) Device.browser.UC = true, Device.browser.version = UC[1] || NaN; if (IEMobile) Device.browser.IEMobile = true, Device.browser.version = IEMobile[2]; if (AndriodBrowser) { Device.browser.AndriodBrowser = true; } if (M1) { Device.browser.M1 = true; } if (Chrome) { Device.browser.Chrome = true, Device.browser.version = Chrome[1]; } if (Device.os.windows) { if (typeof navigator.platform !== "undefined" && navigator.platform.toLowerCase() == "win64") { Device.os.win64 = true; } else { Device.os.win64 = false; } } if (Device.os.Mac || Device.os.windows || Device.os.Linux || Device.os.unifiedPC || /OpenHarmony/i.test(ua) && /pc/i.test(ua)) { Device.os.pc = true; } var osType = { iPad7: 'iPad; CPU OS 7', LePad: 'lepad_hls', XiaoMi: 'MI-ONE', SonyDTV: "SonyDTV", SamSung: 'SAMSUNG', HTC: 'HTC', VIVO: 'vivo' }; for (var os in osType) { Device.os[os] = ua.indexOf(osType[os]) !== -1; } Device.os.phone = Device.os.phone || /windows phone/i.test(ua); Device.os.getNumVersion = function () { return parseFloat(Device.os.version); }; Device.os.hasTouch = 'ontouchstart' in window; if (Device.os.hasTouch && Device.os.ios && Device.os.getNumVersion() < 6) { Device.os.hasTouch = false; } if (Device.browser.WeChat && Device.browser.version < 5.0) { Device.os.hasTouch = false; } Device.browser.getNumVersion = function () { return parseFloat(Device.browser.version); }; Device.browser.isFFCanOcx = function () { return !!Device.browser.firefox && Device.browser.getNumVersion() >= 3.0; }; Device.browser.isCanOcx = function () { return !!Device.os.windows && (!!Device.browser.ie || Device.browser.isFFCanOcx() || !!Device.browser.webkit); }; Device.browser.isNotIESupport = function () { return !!Device.os.windows && (!!Device.browser.webkit || Device.browser.isFFCanOcx()); }; Device.userAgent = {}; Device.userAgent.browserVersion = Device.browser.version; Device.userAgent.osVersion = Device.os.version; if (Device.os.unifiedPC) { if (Device.os.unifiedWindows) Device.os.type = 37;else if (Device.os.unifiedMac) Device.os.type = 38;else Device.os.type = 39; } delete Device.userAgent.version; } detect(window.navigator.userAgent); function canSupportH5Video() { var ua = window.navigator.userAgent, m = null; if (!!Device.os.android) { if (Device.browser.MQQ && Device.browser.getNumVersion() >= 4.2) { return true; } if (ua.indexOf('MI2') != -1) { return true; } if (Device.os.version >= '4' && (m = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/))) { if (parseFloat(m[1]) >= 4.2) { return true; } } if (Device.os.version >= '4.1') { return true; } } return false; } function canSupportVideoMp4() { var video = document.createElement('video'); if (typeof video.canPlayType === 'function') { if (video.canPlayType('video/mp4; codecs="mp4v.20.8"') === 'probably') { return true; } if (video.canPlayType('video/mp4; codecs="avc1.42E01E"') === 'probably' || video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"') === 'probably') { return true; } } return false; } function canSupportAutoPlay() { if (Device.os.ios && Device.os.getNumVersion() < 10) { return false; } return true; } function isLockdownMode() { if (!Device.os.ios || Device.os.getNumVersion() < 16) { return false; } if (typeof WebAssembly === 'undefined' && typeof OfflineAudioContext === 'undefined' && typeof WebGLRenderingContext === 'undefined') { return true; } return false; } Device.canSupportVideo = canSupportVideoMp4 || canSupportH5Video; Device.canSupportVideoMp4 = canSupportVideoMp4; Device.canSupportH5Video = canSupportH5Video; Device.canSupportAutoPlay = canSupportAutoPlay; Device.isLockdownMode = isLockdownMode; Device.cpVersion = function (version) { var cp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var canEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var nowVersionStr = Device.os.version; if (!nowVersionStr) return false; var versionArr = version.split('.'); var nowVersionArr = nowVersionStr.split('.'); for (var i = 0; i < Math.max(nowVersionArr.length, versionArr.length); i++) { var vi = +versionArr[i]; var nvi = +nowVersionArr[i]; if (vi === nvi) continue; if (cp > 0) return vi > nvi; if (cp < 0) return vi < nvi; } return canEqual || cp === 0; }; var isIPadOS13 = Device.os.ipad && Device.os.getNumVersion() >= 13 && Device.os.getNumVersion() < 14; function isSupportTextSizeAdjust() { var _a, _b; if (mmversion.isIOS) { return true; } return mmversion.isAndroid && !!((_b = (_a = window.xweb_wechat_extend) === null || _a === void 0 ? void 0 : _a.AvailableFeatures) === null || _b === void 0 ? void 0 : _b.includes('XWEB_SUPPORT_TEXT_SIZE_ADJUST')); } function getNativeFontScaleVar() { if (window.__nativeFontScale__) { return window.__nativeFontScale__; } setNativeFontScaleVar(getScaleByDom()); return window.__nativeFontScale__; } function setNativeFontScaleVar(val) { window.__nativeFontScale__ = val || 1; } function getScaleByDPR() { var _a; if (window.__dprScale__ !== null && window.__dprScale__ !== undefined) return window.__dprScale__; try { var scale = (_a = window.__wxWebEnv) === null || _a === void 0 ? void 0 : _a.getLayoutScale(); if (typeof scale === 'number' && scale > 0 && isFinite(scale)) { window.__dprScale__ = 1 / scale; return window.__dprScale__; } } catch (e) { } window.__dprScale__ = 1; return window.__dprScale__; } function getNativeFontScale() { return getNativeFontScaleVar() * getScaleByDPR(); } function getScaleByDom() { if (typeof document === 'undefined' || !document.body) { return 1; } var fontDom = document.createElement('div'); fontDom.style.fontSize = '16px'; document.body.appendChild(fontDom); var originFontSize = parseFloat(fontDom.style.fontSize); var realFontSize = parseFloat(window.getComputedStyle(fontDom, null).getPropertyValue('font-size')); document.body.removeChild(fontDom); var percent = realFontSize / originFontSize; if (!percent || percent 1; count++; range.setEndAfter(leaves[mid]); setNewFrag(el, getFragmentHTML(range.cloneContents())); return needTextOverflow() ? findLastNode(start, mid) : findLastNode(mid, end); }; var findLastCharIndex = function findLastCharIndex(start, end) { if (end - start > 1; count++; range.setEnd(lastNode, mid); setNewFrag(el, getFragmentHTML(range.cloneContents())); return needTextOverflow() ? findLastCharIndex(start, mid) : findLastCharIndex(mid, end); }; var dom = document.createElement('div'); dom.innerHTML = text; var leaves = getLeaf(dom); var range = document.createRange(); range.setStartBefore(leaves[0]); var lastNodeIndex = findLastNode(0, leaves.length - 1); var lastNode = leaves[lastNodeIndex]; findLastCharIndex(0, lastNode.textContent.length); ((_b = binding.value) === null || _b === void 0 ? void 0 : _b.processExtraElement) && binding.value.processExtraElement(el.extraElement, el); } catch (error) { console.error(error); } } } function computeLineNum(el) { var computyStyle = getComputedStyle(el); return Math.round(el.offsetHeight / parseFloat(computyStyle.lineHeight)); } function removeAllChild(el) { var childNodes = Array.from(el.childNodes); childNodes.forEach(function (child) { el.removeChild(child); }); } function setNewFrag(el, frag) { removeAllChild(el); el.appendChild(frag); } var __setBarData = function __setBarData(appmsgBarData, cgiData, allData) { if (Url.getQuery('uninteractive') * 1 === 1) return; var barWarp = document.querySelector('#js_article_bottom_bar'); var barMask = document.querySelector('#js_temp_bar_mask'); var isImageType = (cgiData === null || cgiData === void 0 ? void 0 : cgiData.item_show_type) * 1 === 8; try { if (isImageType) { var imgPagePosLS = new LS('page_pos_image', 'clear-all'); var imgPagePosKey = [cgiData.biz, cgiData.sn, cgiData.mid, cgiData.idx].join('_'); var _ref = imgPagePosLS.get(imgPagePosKey) || {}, barPostion = _ref.barPostion, barIsRelativeStyle = _ref.barIsRelativeStyle; if (document.body.classList.contains('pages_skin_pc') || barPostion === 2 && barIsRelativeStyle) { window._has_not_render_bar_placeholder_ = true; return; } } } catch (err) { console.error(err); } var bottombar = document.getElementById('js_wx_follow_nickname_large_font'); var fontScale = +Url.getQuery('fontScale'); if (!fontScale) { try { var envData = JSON.parse(window.__wxWebEnv && window.__wxWebEnv.getEnv()); if (envData.fontScale) fontScale = +envData.fontScale; } catch (e) {} } if (!appmsgBarData) { return; } function formatReadNum(value) { var unit = '万'; if (window.LANG === 'en') { unit = 'k'; } var result = ''; if (parseInt(value, 10) > 100000) { result = 10 + unit + '+'; } else if (parseInt(value, 10) > 10000 && parseInt(value, 10) = offsetWidth; } catch (e) { console.error('=======compute comment width error ', e); } var interactionStatus = cgiData.isFinderMsg ? {} : getInteractionStatus({ biz: cgiData.biz, mid: cgiData.mid, sn: cgiData.sn, idx: cgiData.idx }); var isAuthorWx = getIsAuthorLs(cgiData.biz, allData.biz_type); if (interactionStatus.is_my_old_like && !isAuthorWx) { oldLikeEl && oldLikeEl.classList.add('praised'); } if (interactionStatus.is_my_like && !isAuthorWx) { likeEl && (appmsgBarData.show_friend_seen === 2 ? likeEl.classList.add('love_btn_loved') : likeEl.classList.add('like_btn_liked')); } var old_like_count = interactionStatus.old_like_count * 1 ? Math.max(interactionStatus.old_like_count * 1, appmsgBarData.old_like_count) : appmsgBarData.old_like_count || 0; var share_count = interactionStatus.share_count * 1 ? Math.max(interactionStatus.share_count * 1, appmsgBarData.share_count) : appmsgBarData.share_count || 0; var like_count = interactionStatus.like_count * 1 ? Math.max(interactionStatus.like_count * 1, appmsgBarData.like_count) : appmsgBarData.like_count || 0; var comment_count = interactionStatus.comment_count * 1 ? Math.max(interactionStatus.comment_count * 1, appmsgBarData.comment_count) : appmsgBarData.comment_count || 0; var comment_enabled = (typeof interactionStatus.comment_enabled === 'number' ? interactionStatus.comment_enabled : appmsgBarData.comment_enabled || 0) * 1; var collect_count = appmsgBarData.collect_count || 0; var read_num = appmsgBarData.read_num || 0; if (barOldlikeBtn) { var defaultWd = isAuthorWx ? '0' : '赞'; barOldlikeBtn.innerText = old_like_count ? formatReadNum(old_like_count) : defaultWd; } if (barShareBtn) { var _defaultWd = isAuthorWx ? '0' : '分享'; barShareBtn.innerText = share_count ? formatReadNum(share_count) : _defaultWd; } if (barLikeBtn) { var _defaultWd2 = isAuthorWx ? '0' : allData && allData.red_flower_like_info && allData.red_flower_like_info.is_red_flower_like * 1 === 1 ? '助力' : '推荐'; barLikeBtn.innerText = like_count ? formatReadNum(like_count) : _defaultWd2; } if (barCommentBtn) { var _defaultWd3 = isAuthorWx ? '0' : isChanegeCommentBtnContext ? '留言' : '写留言'; barCommentBtn.innerText = comment_count ? formatReadNum(comment_count) : _defaultWd3; } if (barCollectBtn) { var _defaultWd4 = isAuthorWx ? '0' : '收藏'; barCollectBtn.innerText = collect_count ? formatReadNum(collect_count) : _defaultWd4; } if (mmversion.isInMiniProgram) { if (barShareBtn) { barShareBtn.style.display = 'none'; } if (barLikeBtn) { barLikeBtn.style.display = 'none'; } } var tempbarPraiseBtn = document.getElementById('js_temp_sns_sc_praise_btn'); var tempbarShareBtn = document.getElementById('js_temp_sns_sc_share_btn'); var tempbarCollectBtn = document.getElementById('js_temp_sns_sc_collect_btn'); var tempbarLikeBtn = document.getElementById('js_temp_sns_sc_like_btn'); var tempbarCommentBtn = document.getElementById('js_temp_sns_sc_comment_btn'); var tempbarCommentBtnCon = document.getElementById('js_temp_sns_sc_comment_btn_con'); var tempbarFriendSubscribe = document.getElementById('js_bar_friend_subscribe'); var tempbarSubscribeBtn = document.getElementById('js_temp_bar_subscribe_btn'); var tempbarFriendsList = document.getElementById('js_stream_friends_all'); var tempLoadingInnerHtml = ''; var handleTempClick = function handleTempClick(_ref2) { var type = _ref2.type, val = _ref2.val, sucCb = _ref2.sucCb, failCb = _ref2.failCb; if (typeof window.__click_temp_btm_bar_cb__ === 'function') { window.__click_temp_btm_bar_cb__({ type: type, val: val, sucCb: sucCb, failCb: failCb }); } else { if (!window.__wait_click_temp_btm_bar_cb__) window.__wait_click_temp_btm_bar_cb__ = []; window.__wait_click_temp_btm_bar_cb__.push(function () { window.__click_temp_btm_bar_cb__({ type: type, val: val, sucCb: sucCb, failCb: failCb }); }); } }; if (isAuthorWx) { tempbarPraiseBtn && tempbarPraiseBtn.classList.add('author_praise_btn'); tempbarLikeBtn && tempbarLikeBtn.classList.add('author_love_btn'); tempbarFriendSubscribe && (tempbarFriendSubscribe.style.display = 'none'); tempbarSubscribeBtn && (tempbarSubscribeBtn.style.display = 'none'); tempbarFriendsList && (tempbarFriendsList.style.display = 'none'); } if (interactionStatus && interactionStatus.is_subscribed) { tempbarFriendSubscribe && (tempbarFriendSubscribe.style.display = 'none'); tempbarSubscribeBtn && (tempbarSubscribeBtn.style.display = 'none'); } tempbarPraiseBtn && barOldlikeBtn && oldLikeEl && tempbarPraiseBtn.addEventListener('click', function () { if (isAuthorWx) { if (tempbarPraiseBtn.getAttribute('has_click') * 1 === 1) return; tempbarPraiseBtn.setAttribute('has_click', 1); var tempInnerHTML = tempbarPraiseBtn.innerHTML; tempbarPraiseBtn.innerHTML = tempLoadingInnerHtml; handleTempClick({ type: 'author_praise', sucCb: function sucCb() { tempbarPraiseBtn.removeAttribute('has_click'); tempbarPraiseBtn.innerHTML = tempInnerHTML; } }); return; } var newPraiseStatus = !oldLikeEl.classList.contains('praised'); var readNum = 0; if (newPraiseStatus) { oldLikeEl.classList.add('praised'); readNum = formatReadNum(interactionStatus.is_my_old_like ? old_like_count : old_like_count + 1); } else { oldLikeEl.classList.remove('praised'); readNum = formatReadNum(interactionStatus.is_my_old_like ? Math.max(0, old_like_count - 1) : old_like_count); } barOldlikeBtn.innerText = readNum ? readNum : '赞'; handleTempClick({ type: 'praise', val: newPraiseStatus }); }); tempbarLikeBtn && barLikeBtn && likeEl && tempbarLikeBtn.addEventListener('click', function () { if (isAuthorWx) { if (tempbarLikeBtn.getAttribute('has_click') * 1 === 1) return; tempbarLikeBtn.setAttribute('has_click', 1); var tempInnerHTML = tempbarLikeBtn.innerHTML; tempbarLikeBtn.innerHTML = tempLoadingInnerHtml; handleTempClick({ type: 'author_recommend', sucCb: function sucCb() { tempbarLikeBtn.removeAttribute('has_click'); tempbarLikeBtn.innerHTML = tempInnerHTML; } }); return; } var newRecommendStatus = appmsgBarData.show_friend_seen === 2 ? !likeEl.classList.contains('love_btn_loved') : !likeEl.classList.contains('like_btn_liked'); var recommendNum = 0; if (newRecommendStatus) { appmsgBarData.show_friend_seen === 2 ? likeEl.classList.add('love_btn_loved') : likeEl.classList.add('like_btn_liked'); recommendNum = formatReadNum(interactionStatus.is_my_like ? like_count : like_count + 1); } else { appmsgBarData.show_friend_seen === 2 ? likeEl.classList.remove('love_btn_loved') : likeEl.classList.remove('like_btn_liked'); recommendNum = formatReadNum(interactionStatus.is_my_like ? Math.max(0, like_count - 1) : like_count); } if (recommendNum) { barLikeBtn.innerText = recommendNum; } else { barLikeBtn.innerText = appmsgBarData.show_friend_seen === 2 ? '推荐' : '在看'; } handleTempClick({ type: 'recommend', val: newRecommendStatus }); }); tempbarShareBtn && barShareBtn && tempbarShareBtn.addEventListener('click', function () { if (tempbarShareBtn.getAttribute('has_click') * 1 === 1) return; tempbarShareBtn.setAttribute('has_click', 1); var tempInnerHTML = tempbarShareBtn.innerHTML; tempbarShareBtn.innerHTML = tempLoadingInnerHtml; handleTempClick({ type: 'share', sucCb: function sucCb() { tempbarShareBtn.removeAttribute('has_click'); tempbarShareBtn.innerHTML = tempInnerHTML; } }); }); tempbarCommentBtn && barCommentBtn && tempbarCommentBtn.addEventListener('click', function () { if (barCommentBtn.getAttribute('has_click') * 1 === 1) return; barCommentBtn.setAttribute('has_click', 1); var tempInnerHTML = barCommentBtn.innerHTML; barCommentBtn.innerHTML = tempLoadingInnerHtml; handleTempClick({ type: 'comment', sucCb: function sucCb() { barCommentBtn.removeAttribute('has_click'); barCommentBtn.innerHTML = tempInnerHTML; } }); }); tempbarCollectBtn && barCollectBtn && tempbarCollectBtn.addEventListener('click', function () { handleTempClick({ type: 'collect' }); }); barSubscribeBtn && barSubscribeBtn.addEventListener('click', function () { handleTempClick({ type: 'subscribe' }); }); if (comment_enabled || isAuthorWx && comment_count > 0) { tempbarCommentBtnCon && (tempbarCommentBtnCon.style.display = ''); if (isAuthorWx && comment_enabled * 1 === 0) { tempbarCommentBtn.classList.add('sns_sc_lock_comment_btn'); } } } catch (error) { console.error(error); } try { try { var interactionBar = document.querySelectorAll('.interaction_bar_placeholder'); var buttons = document.querySelectorAll('.wx_follow_button_placeholder'); var fixedElements = _toConsumableArray(buttons); var maxSize = 1.24; var maxSizeElements = _toConsumableArray(interactionBar); for (var i = 0; i < fixedElements.length; i++) { fixedFontSizePercent(fixedElements[i]); } for (var _i = 0; _i < maxSizeElements.length; _i++) { limitFontSizePercent(maxSizeElements[_i], maxSize); } } catch (err) { console.error('limitFontSizePercent error', err); } if (fontScale >= 116) { var bigBar = document.querySelector('.js_big_font_size_bottom_bar'); var normalBar = document.querySelector('.js_normal_font_size_bottom_bar'); var normalBarFt = document.querySelector('.js_normal_font_size_bottom_bar_ft'); if (normalBar) normalBar.style.display = 'none'; if (normalBarFt) normalBarFt.style.display = 'none'; if (bigBar) bigBar.style.display = 'block'; var bigTopBar = document.querySelector('.js_big_font_size_top_bar'); var normalTopBar = document.querySelector('.js_normal_font_size_top_bar'); var normalTopBarFt = document.querySelector('.js_normal_font_size_top_bar_ft'); if (normalTopBar) normalTopBar.style.display = 'none'; if (normalTopBarFt) normalTopBarFt.style.display = 'none'; if (bigTopBar) bigTopBar.style.display = 'block'; var js_bar_profile = document.getElementById('js_bar_profile'); js_bar_profile && js_bar_profile.classList.add('large_font_like_profile_bar'); var topbar = document.getElementById('js_wx_follow_nickname_large_font_top'); var topNickNameSpans = document.querySelectorAll('.js_big_font_size_top_bar .nickNameSpan'); var bottomFollowFt = document.querySelectorAll('.js_big_font_size_bottom_bar .wx_follow_ft'); var topFollowFt = document.querySelectorAll('.js_big_font_size_top_bar .wx_follow_ft'); [].concat(_toConsumableArray(topNickNameSpans), _toConsumableArray(bottomFollowFt), _toConsumableArray(topFollowFt)).forEach(function (element) { fixedFontSizePercent(element); }); if (bottombar) { textOverflow(bottombar, { value: { lineClamp: 2, tailNum: 3 } }); } if (topbar) { textOverflow(topbar, { value: { lineClamp: 1, tailNum: 2 } }); } } else { var _bigBar = document.querySelector('.js_big_font_size_bottom_bar'); var _normalBar = document.querySelector('.js_normal_font_size_bottom_bar'); var _normalBarFt = document.querySelector('.js_normal_font_size_bottom_bar_ft'); if (_bigBar) _bigBar.style.display = 'none'; if (_normalBar) _normalBar.style.display = 'block'; if (_normalBarFt) _normalBarFt.style.display = 'block'; var _bigTopBar = document.querySelector('.js_big_font_size_top_bar'); var _normalTopBar = document.querySelector('.js_normal_font_size_top_bar'); var _normalTopBarFt = document.querySelector('.js_normal_font_size_top_bar_ft'); if (_bigTopBar) _bigTopBar.style.display = 'none'; if (_normalTopBar) _normalTopBar.style.display = 'block'; if (_normalTopBarFt) _normalTopBarFt.style.display = 'block'; var normalNickname = document.getElementById('js_wx_follow_nickname_small_font'); if (normalNickname) { var applyTextOverflow = function applyTextOverflow() { textOverflow(normalNickname, { value: { lineClamp: 1, tailNum: 2 } }); }; if (Device.os.pc) { setTimeout(applyTextOverflow, 0); } else { applyTextOverflow(); } } } } catch (error) { console.error('set like_profile style error', error); } barWarp && barWarp.classList.remove('hide'); barMask && barMask.classList.remove('hide'); }; if (!window.__second_open__) { var tmpAppmsgBarData = { show_like: '' * 1, like_count: '' * 1, show_share: '' * 1, share_count: '' * 1, show_old_like: '' * 1, old_like_count: '' * 1, comment_enabled: '' * 1, comment_count: '' * 1, show_collect: '' * 1, collect_count: '' * 1, show_friend_seen: '' * 1, is_subscribed: '' * 1, verify_status: '' * 1, original_content_num: '$user_info.appmsg_bar_data.original_content_num.DATA$' * 1, friend_subscribe_count: '' * 1, read_num: '' * 1 }; var cgiData = { idx: '' , biz: '' , mid: '' , sn: '' , subcount_version: '', isFinderMsg: '' * 1, export_id: '', source: '' * 1, item_show_type: '0' * 1, ori_create_time: '1764063782' * 1 }; __setBarData(tmpAppmsgBarData, cgiData, cgiDataNew); window.__setBarData = __setBarData; } return __setBarData; })();var __INLINE_SCRIPT__ = (function () { 'use strict'; function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var prefix = '__WXLS__'; var localStorage = window.localStorage || { getItem: function getItem() {}, setItem: function setItem() {}, removeItem: function removeItem() {}, key: function key() {}, clear: function clear() { var _a, _b; (_b = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a); }, length: 0 }; var evictionPolicies = { noeviction: function noeviction(data) { return data; }, 'allkeys-random': function allkeysRandom(data, size) { var keys = Object.keys(data); var memCnt = 0; while (memCnt < size) { var len = keys.length; var randomKeyIdx = Math.floor(Math.random() * len); var randomKey = keys[randomKeyIdx]; memCnt += JSON.stringify(data[randomKey]).length; delete data[randomKey]; keys = Object.keys(data); } return data; }, 'volatile-ttl': function volatileTtl(data, size) { var keys = Object.keys(data); keys = keys.sort(function (key1, key2) { var d1 = data[key1]; var d2 = data[key2]; if (d1.exp < d2.exp) return -1; if (d1.exp > d2.exp) return 1; return 0; }); var memCnt = 0; for (var i = 0; i < keys.length; i++) { if (memCnt >= size) break; var key = keys[i]; memCnt += JSON.stringify(data[key]).length; delete data[key]; } return data; }, 'clear-all': function clearAll() { localStorage.clear(); return {}; } }; function formatLogMsg(str) { return "[WXLS] ".concat(str); } var LS = function () { function LS(func, evictionPolicy, logger) { _classCallCheck(this, LS); this.logger = function () {}; if (!func) throw 'require function name.'; this.evictionPolicy = 'noeviction'; this.key = func; if (typeof logger === 'function') { this.logger = function (str, type) { return logger(formatLogMsg(str), type); }; } if (evictionPolicy && Object.keys(evictionPolicies).indexOf(evictionPolicy) !== -1) { this.evictionPolicy = evictionPolicy; } this.init(); } _createClass(LS, [{ key: "init", value: function init() { var _a, _b; this.check(); if (Math.random() * 1000 < 1) { (_a = this.logger) === null || _a === void 0 ? void 0 : _a.call(this, "LSlen: ".concat(((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length) || localStorage.length), 'report'); } } }, { key: "getData", value: function getData() { var data = LS.getItem(this.key) || '{}'; try { data = JSON.parse(data); } catch (e) { this.logger("getData error: ".concat(e), 'error'); localStorage.removeItem(prefix + this.key); data = {}; } return data; } }, { key: "check", value: function check(isReturn) { var data = this.getData(); var temp = {}; var now = +new Date(); var key; var val; for (key in data) { val = data[key]; if (+val.exp > now) { temp[key] = val; } } this.logger("check info: isReturn:".concat(isReturn, " data:").concat(JSON.stringify(temp)), 'info'); if (isReturn) return temp; LS.setItem(this.key, JSON.stringify(temp), this.logger); } }, { key: "set", value: function set(key, val, exp) { var _a, _b; var data = this.check(true); data[key] = { val: val, exp: exp || +new Date() }; try { if (localStorage.getItem(prefix + this.key)) localStorage.removeItem(prefix + this.key); localStorage.setItem(prefix + this.key, JSON.stringify(data)); this.logger("first set success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data)), 'success'); } catch (e) { this.logger("first set error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data), " k:").concat(key, " v:").concat(val, " exp:").concat(exp), 'error'); localStorage.clear(); LS.setItem(this.key, JSON.stringify(_defineProperty({}, key, { val: val, exp: exp || +new Date() })), this.logger); } } }, { key: "get", value: function get(key) { var data = this.getData(); data = data[key]; return data ? data.val || null : null; } }, { key: "remove", value: function remove(key) { var data = this.getData(); if (data[key]) delete data[key]; LS.setItem(this.key, JSON.stringify(data), this.logger); } }], [{ key: "getItem", value: function getItem(key) { key = prefix + key; return localStorage.getItem(key); } }, { key: "setItem", value: function setItem(key, val, logger) { var _a, _b; key = prefix + key; var n = 3; while (n--) { try { if (localStorage.getItem(key)) localStorage.removeItem(key); localStorage.setItem(key, val); typeof logger === 'function' && logger("setItem success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(key, " val:").concat(val), 'success'); break; } catch (e) { typeof logger === 'function' && logger("setItem error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(key, " val:").concat(val), 'error'); LS.clear(); } } } }, { key: "clear", value: function clear() { var i; var k; for (i = localStorage.length - 1; i >= 0; i--) { k = localStorage.key(i); if (k.indexOf(prefix) == 0) { localStorage.removeItem(k); } } } }, { key: "getSupportEvicationPolicy", value: function getSupportEvicationPolicy() { return Object.keys(evictionPolicies); } }]); return LS; }(); var rewardLS = new LS('reward'); var rewardLSData = null; function getRewardLS() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; rewardLSData === null && (rewardLSData = rewardLS.get([opt.biz || window.biz, opt.mid || window.mid, opt.idx || window.idx].join('_'))); return rewardLSData; } var __setReward = function __setReward(cgiData, opt) { var data = getRewardLS(opt); if (data) { data.canReward !== undefined && (cgiData.can_reward = data.canReward); data.isNeedReward !== undefined && (cgiData.is_need_reward = data.isNeedReward); data.closeReward !== undefined && (cgiData.user_info.close_reward = data.closeReward); data.authorId !== undefined && (cgiData.author_id = data.authorId); data.rewardAuthorHead !== undefined && (cgiData.reward_author_head = data.rewardAuthorHead); data.author !== undefined && (cgiData.author = data.author); data.rewardWording !== undefined && (cgiData.reward_wording = data.rewardWording); } }; if (!window.__second_open__) { var data = getRewardLS(); if (data) { if (window.cgiData) { data.canReward !== undefined && (window.cgiData.can_reward = data.canReward); data.isNeedReward !== undefined && (window.cgiData.is_need_reward = data.isNeedReward); data.authorId !== undefined && (window.cgiData.author_id = data.authorId); data.rewardAuthorHead !== undefined && (window.cgiData.reward_author_head = data.rewardAuthorHead); data.author !== undefined && (window.cgiData.author = data.author); data.rewardWording !== undefined && (window.cgiData.reward_wording = data.rewardWording); } else { data.canReward !== undefined && (window.can_reward = data.canReward); data.isNeedReward !== undefined && (window.is_need_reward = data.isNeedReward); data.authorId !== undefined && (window.author_id = data.authorId); data.rewardAuthorHead !== undefined && (window.reward_author_head = data.rewardAuthorHead); data.author !== undefined && (window.author = data.author); data.rewardWording !== undefined && (window.reward_wording = data.rewardWording); } data.canReward !== undefined && (window.cgiDataNew.can_reward = data.canReward); data.closeReward !== undefined && (window.cgiDataNew.user_info.close_reward = data.closeReward); } } return __setReward; })();(function () { 'use strict'; function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } var containers = [document.getElementById('page-content')]; var bgPlaceholder = 'url("data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==")'; var isCareMode = window.a_value_which_never_exists || '' * 1 || 0; var isCartoonCopyright = window.a_value_which_never_exists || '0' * 1 || 0; if (!window.__second_open__ && !isCareMode && !isCartoonCopyright) { containers.forEach(function (dom) { var containsBackground = dom.querySelectorAll('[style*="background-image"]'); _toConsumableArray(containsBackground).forEach(function (node) { if (node && node.style && typeof node.getAttribute === 'function' && !node.getAttribute('data-lazy-bgimg') && !window.__lazyload_detected) { var bgImg = node.style.backgroundImage; var bgImgUrl = bgImg && bgImg.match(/url\(['"]?(.*?)['"]?\)/); if (bgImgUrl && bgImgUrl[1]) { node.style.backgroundImage = bgImg.replace(/url\(['"]?.*?['"]?\)/, bgPlaceholder); node.setAttribute('data-lazy-bgimg', bgImgUrl[1]); node.classList.add('wx_imgbc_placeholder'); } } }); }); } })();(function () { 'use strict'; if (typeof window.__emojiFormat === 'undefined' && window.weEmoji) { var emoji_url = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_blank7fdf15.gif'; var emoji_wx_icon = ''; var dataMap = window.weEmoji.EmojiDataMap; try { var replaceRegex = new RegExp(Object.keys(dataMap).map(function (str) { return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); }).sort(function (a, b) { return b.length - a.length; }).join('|'), 'g'); window.__emojiFormat = function (text) { if (!replaceRegex.test(text)) { return text; } return text.replace(replaceRegex, function (match) { if (dataMap[match] && window.weEmoji.EmojiData[dataMap[match].index]) { var data = window.weEmoji.EmojiData[dataMap[match].index]; return emoji_wx_icon.replace('#name#', match).replace('#style#', data.style + ' we-emoji'); } return match; }); }; } catch (e) { window.__emojiFormat = function (text) { return text; }; } } else if (typeof window.__emojiFormat === 'undefined') { window.__emojiFormat = function (text) { return text; }; } })();var __INLINE_SCRIPT__ = (function () { 'use strict'; function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest(); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var Device = {}; function detect(ua) { var MQQBrowser = ua.match(/MQQBrowser\/(\d+\.\d+)/i); var MQQClient = ua.match(/QQ\/(\d+\.(\d+)\.(\d+)\.(\d+))/i) || ua.match(/V1_AND_SQ_([\d\.]+)/); var WeChat = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/) || ua.match(/MicroMessenger\/((\d+)\.(\d+))/); var MacOS = ua.match(/Mac\sOS\sX\s(\d+[\.|_]\d+)/); var WinOS = ua.match(/Windows(\s+\w+)?\s+?(\d+\.\d+)/); var Linux = ua.match(/Linux\s/); var MiuiBrowser = ua.match(/MiuiBrowser\/(\d+\.\d+)/i); var M1 = ua.match(/MI-ONE/); var MIPAD = ua.match(/MI PAD/); var UC = ua.match(/UCBrowser\/(\d+\.\d+(\.\d+\.\d+)?)/) || ua.match(/\sUC\s/); var IEMobile = ua.match(/IEMobile(\/|\s+)(\d+\.\d+)/) || ua.match(/WPDesktop/); var ipod = ua.match(/(ipod).*\s([\d_]+)/i); var ipad = ua.match(/(ipad).*\s([\d_]+)/i); var iphone = ua.match(/(iphone)\sos\s([\d_]+)/i); var Chrome = ua.match(/Chrome\/(\d+\.\d+)/); var AndriodBrowser = ua.match(/Mozilla.*Linux.*Android.*AppleWebKit.*Mobile Safari/); var android = ua.match(/(android)\s([\d\.]+)/i); var harmony = ua.match(/(OpenHarmony)\s([\d\.]+)/i); Device.browser = Device.browser || {}, Device.os = Device.os || {}; Device.os.type = -1; Device.os.unifiedPC = ua.match(/UnifiedPC/); Device.os.unifiedMac = /UnifiedPCMac/i.test(ua); Device.os.unifiedWindows = /UnifiedPCWindows/i.test(ua); if (window.ActiveXObject) { var vie = 6; (window.XMLHttpRequest || ua.indexOf('MSIE 7.0') > -1) && (vie = 7); (window.XDomainRequest || ua.indexOf('Trident/4.0') > -1) && (vie = 8); ua.indexOf('Trident/5.0') > -1 && (vie = 9); ua.indexOf('Trident/6.0') > -1 && (vie = 10); Device.browser.ie = true, Device.browser.version = vie; } else if (ua.indexOf('Trident/7.0') > -1) { Device.browser.ie = true, Device.browser.version = 11; } if (android) { Device.os.android = true; Device.os.version = android[2]; Device.os.type = 2; } if (harmony) { Device.os.harmony = true; Device.os.version = harmony[2]; Device.os.type = 42; } if (ipod) { Device.os.ios = Device.os.ipod = true; Device.os.version = ipod[2].replace(/_/g, '.'); } if (ipad) { Device.os.ios = Device.os.ipad = true; Device.os.version = ipad[2].replace(/_/g, '.'); Device.os.type = 13; } if (iphone) { Device.os.iphone = Device.os.ios = true; Device.os.version = iphone[2].replace(/_/g, '.'); Device.os.type = 1; } if (WinOS) Device.os.windows = true, Device.os.version = WinOS[2], Device.os.type = 15; if (MacOS) Device.os.Mac = true, Device.os.version = MacOS[1], Device.os.type = 14; if (Linux) Device.os.Linux = true, Device.os.type = 33; if (ua.indexOf('lepad_hls') > 0) Device.os.LePad = true; if (MIPAD) Device.os.MIPAD = true; if (MQQBrowser) Device.browser.MQQ = true, Device.browser.version = MQQBrowser[1]; if (MQQClient) Device.browser.MQQClient = true, Device.browser.version = MQQClient[1]; if (WeChat) Device.browser.WeChat = true, Device.browser.mmversion = Device.browser.version = WeChat[1]; if (MiuiBrowser) Device.browser.MIUI = true, Device.browser.version = MiuiBrowser[1]; if (UC) Device.browser.UC = true, Device.browser.version = UC[1] || NaN; if (IEMobile) Device.browser.IEMobile = true, Device.browser.version = IEMobile[2]; if (AndriodBrowser) { Device.browser.AndriodBrowser = true; } if (M1) { Device.browser.M1 = true; } if (Chrome) { Device.browser.Chrome = true, Device.browser.version = Chrome[1]; } if (Device.os.windows) { if (typeof navigator.platform !== "undefined" && navigator.platform.toLowerCase() == "win64") { Device.os.win64 = true; } else { Device.os.win64 = false; } } if (Device.os.Mac || Device.os.windows || Device.os.Linux || Device.os.unifiedPC || /OpenHarmony/i.test(ua) && /pc/i.test(ua)) { Device.os.pc = true; } var osType = { iPad7: 'iPad; CPU OS 7', LePad: 'lepad_hls', XiaoMi: 'MI-ONE', SonyDTV: "SonyDTV", SamSung: 'SAMSUNG', HTC: 'HTC', VIVO: 'vivo' }; for (var os in osType) { Device.os[os] = ua.indexOf(osType[os]) !== -1; } Device.os.phone = Device.os.phone || /windows phone/i.test(ua); Device.os.getNumVersion = function () { return parseFloat(Device.os.version); }; Device.os.hasTouch = 'ontouchstart' in window; if (Device.os.hasTouch && Device.os.ios && Device.os.getNumVersion() < 6) { Device.os.hasTouch = false; } if (Device.browser.WeChat && Device.browser.version < 5.0) { Device.os.hasTouch = false; } Device.browser.getNumVersion = function () { return parseFloat(Device.browser.version); }; Device.browser.isFFCanOcx = function () { return !!Device.browser.firefox && Device.browser.getNumVersion() >= 3.0; }; Device.browser.isCanOcx = function () { return !!Device.os.windows && (!!Device.browser.ie || Device.browser.isFFCanOcx() || !!Device.browser.webkit); }; Device.browser.isNotIESupport = function () { return !!Device.os.windows && (!!Device.browser.webkit || Device.browser.isFFCanOcx()); }; Device.userAgent = {}; Device.userAgent.browserVersion = Device.browser.version; Device.userAgent.osVersion = Device.os.version; if (Device.os.unifiedPC) { if (Device.os.unifiedWindows) Device.os.type = 37;else if (Device.os.unifiedMac) Device.os.type = 38;else Device.os.type = 39; } delete Device.userAgent.version; } detect(window.navigator.userAgent); function canSupportH5Video() { var ua = window.navigator.userAgent, m = null; if (!!Device.os.android) { if (Device.browser.MQQ && Device.browser.getNumVersion() >= 4.2) { return true; } if (ua.indexOf('MI2') != -1) { return true; } if (Device.os.version >= '4' && (m = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/))) { if (parseFloat(m[1]) >= 4.2) { return true; } } if (Device.os.version >= '4.1') { return true; } } return false; } function canSupportVideoMp4() { var video = document.createElement('video'); if (typeof video.canPlayType === 'function') { if (video.canPlayType('video/mp4; codecs="mp4v.20.8"') === 'probably') { return true; } if (video.canPlayType('video/mp4; codecs="avc1.42E01E"') === 'probably' || video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"') === 'probably') { return true; } } return false; } function canSupportAutoPlay() { if (Device.os.ios && Device.os.getNumVersion() < 10) { return false; } return true; } function isLockdownMode() { if (!Device.os.ios || Device.os.getNumVersion() < 16) { return false; } if (typeof WebAssembly === 'undefined' && typeof OfflineAudioContext === 'undefined' && typeof WebGLRenderingContext === 'undefined') { return true; } return false; } Device.canSupportVideo = canSupportVideoMp4 || canSupportH5Video; Device.canSupportVideoMp4 = canSupportVideoMp4; Device.canSupportH5Video = canSupportH5Video; Device.canSupportAutoPlay = canSupportAutoPlay; Device.isLockdownMode = isLockdownMode; Device.cpVersion = function (version) { var cp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var canEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var nowVersionStr = Device.os.version; if (!nowVersionStr) return false; var versionArr = version.split('.'); var nowVersionArr = nowVersionStr.split('.'); for (var i = 0; i < Math.max(nowVersionArr.length, versionArr.length); i++) { var vi = +versionArr[i]; var nvi = +nowVersionArr[i]; if (vi === nvi) continue; if (cp > 0) return vi > nvi; if (cp < 0) return vi < nvi; } return canEqual || cp === 0; }; function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _regeneratorRuntime$1() { _regeneratorRuntime$1 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc 1) { return false; } top.window.WeixinJSBridge.on(eventName, function () { try { for (var _len = arguments.length, rets = new Array(_len), _key = 0; _key < _len; _key++) { rets[_key] = arguments[_key]; } var ret = rets[0]; var errMsg = ret && ret.err_msg ? ", err_msg-> ".concat(ret.err_msg) : ''; console.info('[system]', "[jsapi] event->".concat(eventName).concat(errMsg)); if (window.JSAPIEventCallbackMap[eventName] && window.JSAPIEventCallbackMap[eventName].length) { var result; for (var i = 0; i < window.JSAPIEventCallbackMap[eventName].length; i++) { result = window.JSAPIEventCallbackMap[eventName][i].apply(window, rets); } return result; } } catch (e) { __moon_report$1([{ offset: MOON_JSAPI_KEY_OFFSET, log: "on;eventName:".concat(eventName), e: e }]); throw e; } }); }); } function remove(eventName, callback) { ready(function () { if (!window.JSAPIEventCallbackMap[eventName]) { return false; } var result = false; for (var i = window.JSAPIEventCallbackMap[eventName].length - 1; i >= 0; i--) { if (window.JSAPIEventCallbackMap[eventName][i] === callback) { window.JSAPIEventCallbackMap[eventName].splice(i, 1); result = true; } } return result; }); } var JSAPI = { ready: ready, invoke: invoke$1, call: call, on: on$1, remove: remove }; function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } var ua$1 = navigator.userAgent; var is_ios = /(iPhone|iPad|iPod|iOS)/i.test(ua$1); var is_wp = /Windows\sPhone/i.test(ua$1); var is_android$1 = /(Android)/i.test(ua$1); var is_wechat = /MicroMessenger\/([\d\.]+)/i.test(ua$1); var is_mac = /mac\sos/i.test(ua$1) && !is_ios; var is_windows = /windows\snt/i.test(ua$1) && !is_wp; var is_mpapp = /MPAPP\/([\d\.]+)/i.test(ua$1); var is_ipad = /iPad/i.test(ua$1); var is_windows_wechat = /WindowsWechat/i.test(ua$1); var is_mac_wechat = /MacWechat/i.test(ua$1) || /wechat.*mac os/i.test(ua$1); var is_prefetch = is_wechat && window.WeixinPrefecherJSBridge; var is_donut_app = /SAAASDK/i.test(ua$1); var is_harmony = /OpenHarmony|ArkWeb/i.test(ua$1); var is_linux = /Linux\s/i.test(ua$1); var xweb_match = ua$1.match(/XWEB\/([\d.]+)/i); var xweb_version = xweb_match && xweb_match[1] ? parseInt(xweb_match[1], 10) : 0; var is_unified_pc_wechat = /UnifiedPC\w+Wechat/i.test(ua$1); var is_in_miniProgram = is_android$1 && /miniprogram/.test(ua$1.toLowerCase()) || window.__wxjs_environment == 'miniprogram'; var is_wx_work = /wxwork/i.test(ua$1); function getUrlParams() { var vars = location.search.substring(1).split('&'); var params = {}; var _iterator = _createForOfIteratorHelper(vars), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var ele = _step.value; var pair = ele.split('='); var key = decodeURIComponent(pair[0]); if (typeof params[key] === 'undefined') { params[key] = decodeURIComponent(pair[1]); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return params; } function get() { var reg = /MicroMessenger\/([\d\.]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMac() { var reg = /MacWechat\/([\d\.]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMacOS() { var reg = /Mac OS X ([\d_]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1].replace(/_/g, '.'); } return false; } function getWindows() { var reg = /WindowsWechat\(0x(.+?)\)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getWxWork() { var reg = /wxwork\/([\d\.]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMpApp() { var appVersion = [2, 4, 5]; var match = navigator.userAgent.match(/MPAPP\/(\d+(\.\d+)*)/); if (match) { appVersion = match[1].split('.').map(function (v) { return Number(v); }); } return appVersion.join('.'); } function getUnifiedPcVer() { var versionInfo = navigator.userAgent.match(/UnifiedPC\w+Wechat\(0xf\w{2}(\w+?)\w{2}\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(0, 1)); var subVersion = getVersionNumber(version.slice(1, 2)); var subVersion2 = getVersionNumber(version.slice(2, 3)); return [mainVersion, subVersion, subVersion2].join('.'); } } function getVersionNumber(hexStr) { return Number(Number("0x".concat(hexStr)).toString(10)); } function getWindowsVersionFormat() { var versionInfo = navigator.userAgent.match(/WindowsWechat\(0x(\w+?)\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(1, 2)); var subVersion = getVersionNumber(version.slice(2, 4)); var subVersion2 = getVersionNumber(version.slice(4, 6)); return [mainVersion, subVersion, subVersion2].join('.'); } return false; } function getInner() { var reg = /MicroMessenger\/[\d\.]+\(0x(.+?)\)/i; var ret = ua$1.match(reg); if (ret && ret[1] && ret[1] != null) { return ret[1]; } if (!ret && /MicroMessenger\/[\d\.]+/i.test(ua$1)) { var urlParams = getUrlParams(); if (urlParams.version) { return urlParams.version; } } return false; } var opfunc = { 'cp-1': function cp1(a, b) { return a < b; }, cp0: function cp0(a, b) { return a === b; }, cp1: function cp1(a, b) { return a > b; } }; function cpVersion(ver, op, canEq, type) { var mmver = false; switch (type) { case 'mac': mmver = getMac(); break; case 'windows': mmver = getWindowsVersionFormat(); break; case 'wxwork': mmver = getWxWork(); break; case 'mpapp': mmver = getMpApp(); break; case 'unifiedpc': mmver = getUnifiedPcVer(); break; default: mmver = get(); break; } if (!mmver) { return; } var mmversion = mmver.split('.'); var version = ver.split('.'); if (!/\d+/g.test(mmversion[mmversion.length - 1])) { mmversion.pop(); } for (var i = 0, len = Math.max(mmversion.length, version.length); i < len; ++i) { var mmv = mmversion[i] || ''; var v = version[i] || ''; var mmvn = parseInt(mmv, 10) || 0; var vn = parseInt(v, 10) || 0; var eq = opfunc.cp0(mmvn, vn); if (eq) { continue; } var cp = opfunc["cp".concat(op)]; return cp(mmvn, vn); } return canEq || op === 0; } function eqVersion(version) { return cpVersion(version, 0); } function gtVersion(version, canEq) { return cpVersion(version, 1, canEq); } function ltVersion(version, canEq) { return cpVersion(version, -1, canEq); } function getPlatform() { if (is_ios) { return 'ios'; } if (is_android$1) { return 'android'; } if (is_mac) { return 'mac_os'; } if (is_windows) { return 'windows'; } return 'unknown'; } var is_google_play = false; var inner_ver_for_google_play_check = getInner(); if (is_android$1 && inner_ver_for_google_play_check) { var v = "0x".concat(inner_ver_for_google_play_check.substr(-2)); if (parseInt(v) >= 64 && parseInt(v) = hexNum; } return false; } var mmversion = { get: get, getMac: getMac, getMacOS: getMacOS, getWindows: getWindows, getInner: getInner, getWxWork: getWxWork, getMpApp: getMpApp, cpVersion: cpVersion, eqVersion: eqVersion, gtVersion: gtVersion, ltVersion: ltVersion, getPlatform: getPlatform, getVersionNumber: getVersionNumber, isWp: is_wp, isIOS: is_ios, isAndroid: is_android$1, isHarmony: is_harmony, isHarmonyWechat: is_harmony && is_wechat && cpVersion('1.0.0', 1, true), isInMiniProgram: is_in_miniProgram, isWechat: is_wechat, isMac: is_mac, isWindows: is_windows, isLinux: is_linux, isMacWechat: is_mac_wechat, isWindowsWechat: is_windows_wechat, isWxWork: is_wx_work, isOnlyWechat: is_wechat && !is_wx_work, isMpapp: is_mpapp, isIPad: is_ipad, isGooglePlay: is_google_play, isPrefetch: is_prefetch, isDonutAPP: is_donut_app, compareHexVersion: compareHexVersion, isPcWechat: is_windows_wechat || is_mac_wechat, xwebVersion: xweb_version, isUnifiedPcWechat: is_unified_pc_wechat }; var initJsBridge = false; if (!window.JSAPIEventCallbackMap) { window.JSAPIEventCallbackMap = {}; } function connectWebViewJavascriptBridge(callback) { if (window.WebViewMPapp || window.WebViewJavascriptBridge) { return callback(window.WebViewMPapp || window.WebViewJavascriptBridge); } if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); } window.WVJBCallbacks = [callback]; if (!mmversion.isMpapp) { return false; } if (!initJsBridge) { initJsBridge = true; var WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'https://__bridge_loaded__'; document.body.appendChild(WVJBIframe); setTimeout(function () { initJsBridge = false; document.body.removeChild(WVJBIframe); }, 0); } return false; } function invoke(jsapiName, opt, callback) { connectWebViewJavascriptBridge(function (bridge) { try { if (typeof opt === 'function') { callback = opt; } if (_typeof(opt) !== 'object' && typeof opt !== 'string') { opt = {}; } bridge.callHandler(jsapiName, opt, function (res) { try { var ret = _typeof(res) === 'object' ? res : JSON.parse(res); var errMsg = ret.err_msg || ret.errMsg; console.info("[mpapp jsapi] invoke->".concat(jsapiName, " ").concat(opt.action || '', " ").concat(errMsg)); typeof callback === 'function' && callback(ret); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', "callback ".concat(jsapiName, " error:"), { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error("[mpapp jsapi] ".concat(jsapiName, " ").concat(opt.action || ''), e, res); } }); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', 'callback error:', { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error('[mpapp jsapi]', e); } }); } function _log(level, msg) { if (level === 'log') { level = 'info'; msg = "[WechatFe]".concat(msg); } else { var prefix = "__wap__".concat(window.__second_open__ ? ' (sec)' : ''); msg = "".concat(prefix, " ").concat(msg, " location:[").concat(location.href, "]"); } msg += new Error().stack; if (mmversion.isMpapp) { invoke('WNNativeCallbackLog', msg); } else if (mmversion.isWechat) { if (mmversion.isAndroid) { console.warn('[system]', "[MicroMsg.JsApiLog][".concat(level, "] jslog : ").concat(msg)); } else if (mmversion.isIOS) { JSAPI.invoke('writeLog', { level: level, msg: msg }); } else { JSAPI.invoke('log', { level: level, msg: msg }); } } } var Log = { info: function info() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _log('info', args.join(' ')); }, warn: function warn() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } _log('warn', args.join(' ')); }, error: function error() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } _log('error', args.join(' ')); }, debug: function debug() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } _log('debug', args.join(' ')); }, log: function log() { for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5]; } _log('info', args.join(' ')); } }; var reportLogs = []; var reportExtraLogs = []; var sendUrl = '/mp/jsmonitor?#wechat_redirect'; var monitor = {}; monitor._reportOptions = { idkey: {} }; function ObjWithoutProperty(source, exclude) { if (source === null) return {}; var target = {}; var sourceKeys = Object.keys(source); for (var i = 0; i < sourceKeys.length; i++) { var key = sourceKeys[i]; if (exclude.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function formatDataToString(data) { var reportData = []; for (var key in data) { if (Object.prototype.hasOwnProperty.call(data, key)) { reportData.push(key + '=' + encodeURIComponent(data[key])); } } return reportData.join('&'); } monitor.getReportData = function (opt) { opt = opt || {}; var idkey = monitor._reportOptions.idkey || {}; var key = null; var reportData = {}; var nextKey; try { for (key in idkey) { if (Object.prototype.hasOwnProperty.call(idkey, key) && idkey[key]) { reportLogs.push(key + '_' + idkey[key]); } } } catch (e) { return false; } if (reportLogs.length === 0) { return false; } if (reportExtraLogs.length) { reportData.lc = reportExtraLogs.length; reportExtraLogs.forEach(function (extraLog, index) { reportData["log".concat(index)] = extraLog; }); } try { var reportOptions = monitor._reportOptions; if (reportOptions !== null && reportOptions !== undefined) { for (nextKey in reportOptions) { if (Object.prototype.hasOwnProperty.call(reportOptions, nextKey)) { reportData[nextKey] = reportOptions[nextKey]; } } } } catch (e) { reportData = {}; } reportData.idkey = reportLogs.join(';'); reportData.t = Math.random(); if (opt.remove !== false) { reportLogs = []; reportExtraLogs = []; monitor._reportOptions = { idkey: {} }; } return reportData; }; monitor.setLogs = function (opt) { var id = opt.id; var key = opt.key; var value = opt.value; var extraLog = opt.log; var others = ObjWithoutProperty(opt, ['id', 'key', 'value', 'log']); var idkey = monitor._reportOptions.idkey || {}; var param = id + '_' + key; if (idkey[param]) { idkey[param] += value; } else { idkey[param] = value; } monitor._reportOptions.idkey = idkey; if (extraLog) { reportExtraLogs.push(extraLog); } try { if (others !== null && others !== undefined) { for (var otherKey in others) { if (Object.prototype.hasOwnProperty.call(others, otherKey)) { monitor._reportOptions[otherKey] = others[otherKey]; } } } } catch (e) { console.log(e); } return monitor; }; monitor.setAvg = function (id, key, value) { var idkey = monitor._reportOptions.idkey || {}; var param1 = id + '_' + key; var param2 = id + '_' + (key - 1); if (idkey[param1]) { idkey[param1] += value; } else { idkey[param1] = value; } if (idkey[param2]) { idkey[param2] += 1; } else { idkey[param2] = 1; } monitor._reportOptions.idkey = idkey; return monitor; }; monitor.setSum = function (id, key) { var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; var idkey = monitor._reportOptions.idkey; var param = id + '_' + key; if (idkey[param]) { idkey[param] += value; } else { idkey[param] = value; } monitor._reportOptions.idkey = idkey; return monitor; }; monitor.send = function (async, ajax, origin) { if (async !== false) { async = true; } var data = monitor.getReportData(); origin = origin || ''; if (!data) { return; } if (!!ajax && ajax instanceof Function) { ajax({ url: origin + sendUrl, type: 'POST', mayAbort: true, data: data, async: async, timeout: 2000, dontReport: true }); } else { new Image().src = origin + '/mp/jsmonitor?' + formatDataToString(data) + '#wechat_redirect'; } }; if (typeof window !== 'undefined' && window.__monitor) { monitor = window.__monitor; } else { typeof window !== 'undefined' && (window.__monitor = monitor); } var monitor$1 = monitor; var logList = []; var log = function log(msg) { logList.push(msg); }; var printLog = function printLog() { for (var i = 0, len = logList.length; i < len; ++i) { console.log("[RespType]".concat(logList[i])); } }; var isArray = function isArray(val) { return Object.prototype.toString.call(val) === '[object Array]'; }; var getValueType = function getValueType(value) { if (isArray(value)) { return 'array'; } return _typeof(value); }; var parseRtDesc = function parseRtDesc(rtDesc, k) { var type = 'mix'; var isRequired = false; var key = k; if (k) { var requireKeyWord = '_R'; var pos = k.indexOf(requireKeyWord); var len = k.length - requireKeyWord.length; isRequired = pos !== -1 && pos === len; key = isRequired ? k.substring(0, len) : k; } if (typeof rtDesc === 'string') { type = rtDesc; } else if (isArray(rtDesc)) { type = 'array'; } else if (_typeof(rtDesc) === 'object') { type = 'object'; } return { key: key, type: type, isRequired: isRequired }; }; var checkForArrayRtDesc = function checkForArrayRtDesc(arr, rtDescs) { if (!isArray(arr)) { return false; } for (var i = 0, len = arr.length; i < len; ++i) { var value = arr[i]; var rtDesc = void 0; var j = 0; var flag = rtDescs.length === 0; while (rtDesc = rtDescs[j++]) { if (checkForRtDesc(value, rtDesc)) { flag = true; break; } } if (!flag) { return false; } } return true; }; var checkForStringRtDesc = function checkForStringRtDesc(value, rtDesc) { var valueType = getValueType(value); var desc = parseRtDesc(rtDesc); var ret = desc.type === valueType; if (!ret) { log("miss match type : ".concat(valueType, " !== ").concat(desc.type)); } return ret; }; var checkForObjectRtDesc = function checkForObjectRtDesc(json, rtDesc) { if (_typeof(json) !== 'object' || isArray(json)) { log('must be object'); return false; } var rootJson = json; var nowCheckValue = json; for (var k in rtDesc) { if (rtDesc.hasOwnProperty(k)) { var nowCheckDesc = rtDesc[k]; var desc = parseRtDesc(nowCheckDesc, k); var key = desc.key; nowCheckValue = rootJson[key]; var valueType = getValueType(nowCheckValue); if (desc.isRequired && nowCheckValue === undefined) { log("is required @key=".concat(key)); return false; } if (nowCheckValue !== undefined) { if (valueType !== desc.type && desc.type !== 'mix') { log("miss match type : ".concat(valueType, " !== ").concat(desc.type, " @key=").concat(key)); return false; } if ((valueType === 'array' || valueType === 'object') && desc.type !== 'mix') { if (!checkForRtDesc(nowCheckValue, nowCheckDesc)) { return false; } } } } } return true; }; var checkForRtDesc = function checkForRtDesc(json, rtDesc) { if (isArray(rtDesc)) { return checkForArrayRtDesc(json, rtDesc); } if (_typeof(rtDesc) === 'object') { return checkForObjectRtDesc(json, rtDesc); } if (typeof rtDesc === 'string') { return checkForStringRtDesc(json, rtDesc); } return false; }; var _check = function check(json, rtDescs) { if (typeof json === 'string') { try { json = eval("(".concat(json, ")")); } catch (e) { log('parse json error'); return false; } } if (_typeof(json) !== 'object') { log('must be object'); return false; } if (!isArray(rtDescs)) { rtDescs = [rtDescs]; } var rtDesc; var i = 0; while (rtDesc = rtDescs[i++]) { if (checkForRtDesc(json, rtDesc)) { return true; } } return false; }; var RespTypes = { check: function check(json, rtDesc) { logList = []; try { var ret = _check(json, rtDesc); if (!ret) { printLog(); } return ret; } catch (e) { logList.push("[rtException]".concat(e.toString())); printLog(); return false; } }, getMsg: function getMsg() { return logList.join(';'); } }; function getInflightMap() { if (!window.__dedupe_promise_inflight__) { window.__dedupe_promise_inflight__ = new Map(); } return window.__dedupe_promise_inflight__; } function dedupePromise(key, factory) { var inflightMap = getInflightMap(); var existing = inflightMap.get(key); console.log("dedupePromise key=".concat(key, " existing=").concat(existing)); if (existing) { return existing; } var promise = Promise.resolve().then(factory)["finally"](function () { inflightMap["delete"](key); }); inflightMap.set(key, promise); return promise; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var prefix = '__WXLS__'; var localStorage = window.localStorage || { getItem: function getItem() {}, setItem: function setItem() {}, removeItem: function removeItem() {}, key: function key() {}, clear: function clear() { var _a, _b; (_b = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a); }, length: 0 }; var evictionPolicies = { noeviction: function noeviction(data) { return data; }, 'allkeys-random': function allkeysRandom(data, size) { var keys = Object.keys(data); var memCnt = 0; while (memCnt < size) { var len = keys.length; var randomKeyIdx = Math.floor(Math.random() * len); var randomKey = keys[randomKeyIdx]; memCnt += JSON.stringify(data[randomKey]).length; delete data[randomKey]; keys = Object.keys(data); } return data; }, 'volatile-ttl': function volatileTtl(data, size) { var keys = Object.keys(data); keys = keys.sort(function (key1, key2) { var d1 = data[key1]; var d2 = data[key2]; if (d1.exp < d2.exp) return -1; if (d1.exp > d2.exp) return 1; return 0; }); var memCnt = 0; for (var i = 0; i < keys.length; i++) { if (memCnt >= size) break; var key = keys[i]; memCnt += JSON.stringify(data[key]).length; delete data[key]; } return data; }, 'clear-all': function clearAll() { localStorage.clear(); return {}; } }; function formatLogMsg(str) { return "[WXLS] ".concat(str); } var LS = function () { function LS(func, evictionPolicy, logger) { _classCallCheck(this, LS); this.logger = function () {}; if (!func) throw 'require function name.'; this.evictionPolicy = 'noeviction'; this.key = func; if (typeof logger === 'function') { this.logger = function (str, type) { return logger(formatLogMsg(str), type); }; } if (evictionPolicy && Object.keys(evictionPolicies).indexOf(evictionPolicy) !== -1) { this.evictionPolicy = evictionPolicy; } this.init(); } _createClass(LS, [{ key: "init", value: function init() { var _a, _b; this.check(); if (Math.random() * 1000 < 1) { (_a = this.logger) === null || _a === void 0 ? void 0 : _a.call(this, "LSlen: ".concat(((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length) || localStorage.length), 'report'); } } }, { key: "getData", value: function getData() { var data = LS.getItem(this.key) || '{}'; try { data = JSON.parse(data); } catch (e) { this.logger("getData error: ".concat(e), 'error'); localStorage.removeItem(prefix + this.key); data = {}; } return data; } }, { key: "check", value: function check(isReturn) { var data = this.getData(); var temp = {}; var now = +new Date(); var key; var val; for (key in data) { val = data[key]; if (+val.exp > now) { temp[key] = val; } } this.logger("check info: isReturn:".concat(isReturn, " data:").concat(JSON.stringify(temp)), 'info'); if (isReturn) return temp; LS.setItem(this.key, JSON.stringify(temp), this.logger); } }, { key: "set", value: function set(key, val, exp) { var _a, _b; var data = this.check(true); data[key] = { val: val, exp: exp || +new Date() }; try { if (localStorage.getItem(prefix + this.key)) localStorage.removeItem(prefix + this.key); localStorage.setItem(prefix + this.key, JSON.stringify(data)); this.logger("first set success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data)), 'success'); } catch (e) { this.logger("first set error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data), " k:").concat(key, " v:").concat(val, " exp:").concat(exp), 'error'); localStorage.clear(); LS.setItem(this.key, JSON.stringify(_defineProperty({}, key, { val: val, exp: exp || +new Date() })), this.logger); } } }, { key: "get", value: function get(key) { var data = this.getData(); data = data[key]; return data ? data.val || null : null; } }, { key: "remove", value: function remove(key) { var data = this.getData(); if (data[key]) delete data[key]; LS.setItem(this.key, JSON.stringify(data), this.logger); } }], [{ key: "getItem", value: function getItem(key) { key = prefix + key; return localStorage.getItem(key); } }, { key: "setItem", value: function setItem(key, val, logger) { var _a, _b; key = prefix + key; var n = 3; while (n--) { try { if (localStorage.getItem(key)) localStorage.removeItem(key); localStorage.setItem(key, val); typeof logger === 'function' && logger("setItem success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(key, " val:").concat(val), 'success'); break; } catch (e) { typeof logger === 'function' && logger("setItem error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(key, " val:").concat(val), 'error'); LS.clear(); } } } }, { key: "clear", value: function clear() { var i; var k; for (i = localStorage.length - 1; i >= 0; i--) { k = localStorage.key(i); if (k.indexOf(prefix) == 0) { localStorage.removeItem(k); } } } }, { key: "getSupportEvicationPolicy", value: function getSupportEvicationPolicy() { return Object.keys(evictionPolicies); } }]); return LS; }(); var innerVersion = (mmversion.getInner() || '').toUpperCase(); var getBizLS = new LS('get_biz_result'); function getBizMap() { if (!window.__get_biz_map__) { window.__get_biz_map__ = {}; } return window.__get_biz_map__; } var isGetBizSupported = mmversion.isOnlyWechat && mmversion.isIOS && innerVersion >= '18003C2A' || mmversion.isOnlyWechat && mmversion.isAndroid && innerVersion >= '28003D3C' || mmversion.isUnifiedPcWechat && mmversion.cpVersion('4.1.10', 1, true, 'unifiedpc'); function invokeGetBiz(needCheckBiz, bizType) { return dedupePromise("getBiz:".concat(needCheckBiz, ":").concat(bizType), function () { return new Promise(function (resolve, reject) { if (!isGetBizSupported) { reject('Not support'); } else { JSAPI.invoke('handleMPPageAction', { action: 'getBiz', needCheckBiz: needCheckBiz, bizType: bizType }, function (res) { console.log("getBiz needCheckBiz=".concat(needCheckBiz, " bizType=").concat(bizType, " res: ").concat(JSON.stringify(res))); if (res && res.err_msg && res.err_msg.indexOf('ok') > -1) { var bizMap = getBizMap(); bizMap[bizType] = res.biz; resolve(res.biz); getBizLS.set("".concat(bizType, "_get_biz_result"), res.biz, +new Date() + 3 * 24 * 60 * 60 * 1000); } else { reject('Failed to get biz'); } }); } }); }); } function getBiz(needCheckBiz, bizType) { var _a; if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } var bizMap = getBizMap(); if (!needCheckBiz && bizMap[bizType] !== undefined) { return Promise.resolve(bizMap[bizType]); } return invokeGetBiz(needCheckBiz, bizType); } mmversion.isOnlyWechat && mmversion.isIOS || mmversion.isOnlyWechat && mmversion.isAndroid || mmversion.isUnifiedPcWechat && mmversion.cpVersion('4.1.10', 1, true, 'unifiedpc'); var getIsAuthor = function getIsAuthor(cb, bizuin, needCheckBiz, bizType) { var _a; if (bizuin === void 0) { bizuin = window.biz; } if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } getBiz(needCheckBiz, bizType).then(function (biz) { cb(biz && biz === bizuin); })["catch"](function () { cb(false); }); }; function parseUrl(url) { var len = url.length; var ques_pos = url.indexOf('?'); var hash_pos = url.indexOf('#'); hash_pos = hash_pos == -1 ? len : hash_pos; ques_pos = ques_pos == -1 ? hash_pos : ques_pos; var host = url.substring(0, ques_pos); var query_str = url.substring(ques_pos + 1, hash_pos); var hash = url.substring(hash_pos + 1); return { host: host, query_str: query_str, hash: hash }; } function join(url, args, noEncode) { var ret = parseUrl(url); var query_str = ret.query_str; var args_arr = []; if (_typeof(args) === 'object') { for (var key in args) { if (args.hasOwnProperty(key)) { args_arr.push("".concat(key, "=").concat(noEncode ? args[key] : encodeURIComponent(args[key]))); } } } else { args_arr.push(noEncode ? args : encodeURIComponent(args)); } if (args_arr.length > 0) { query_str += (query_str !== "" ? "&" : "") + args_arr.join("&"); } return ret.host + (query_str !== "" ? "?".concat(query_str) : "") + (ret.hash !== "" ? "#".concat(ret.hash) : ""); } function addParam(url, param, value, forceReplace) { url = url || location.href; var firstAndPos = url.indexOf("&"); var len = url.length; var reverseUrl = url.replace(/^[\w\d]+:[/\\]+/g, "").split("").reverse(); if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (searchElement, fromIndex) { var k; if (this == null) { throw new TypeError('"this" is null or not defined'); } var O = Object(this); var len = O.length >>> 0; if (len === 0) { return -1; } var n = fromIndex || 0; if (Math.abs(n) === Infinity) { n = 0; } if (n >= len) { return -1; } k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); while (k < len) { if (k in O && O[k] === searchElement) { return k; } k++; } return -1; }; } var lastSlashPos = len - 1 - reverseUrl.indexOf("/"); if (firstAndPos !== -1 && url.indexOf("?") == -1 && firstAndPos > lastSlashPos) { url = url.replace("&", "?"); } var reg = new RegExp("([\\?&]".concat(param, "=)[^&#]*")); if (!url.match(reg)) { var urlInfo = parseUrl(url); var hash = urlInfo.hash ? '#' + urlInfo.hash : ''; url = url.replace(hash, ''); var _pos = url.indexOf("?"); if (_pos == -1) { return "".concat(url, "?").concat(param, "=").concat(value).concat(hash); } if (_pos == url.length - 1) { return "".concat(url + param, "=").concat(value).concat(hash); } return "".concat(url, "&").concat(param, "=").concat(value).concat(hash); } if (forceReplace === true) { return url.replace(reg, "$1".concat(value)); } return url; } function addWxfrom(src, wxfrom) { var offset = window.service_type === 1 ? 10000 : 0; return addParam(src, 'wxfrom', offset + Number(wxfrom), true); } function removeParam(url, param) { var _URL = new URL(url), protocol = _URL.protocol, host = _URL.host, pathname = _URL.pathname, search = _URL.search, hash = _URL.hash; var queryParams = new URLSearchParams(search); queryParams["delete"](param); var newSearch = queryParams.toString(); var newUrl = new URL("".concat(protocol, "//").concat(host).concat(pathname).concat(newSearch ? "?".concat(decodeURIComponent(newSearch)) : "").concat(hash)); return newUrl.toString(); } function getQuery(name, url) { var u = url || window.location.search; var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)")); var r = u.substring(u.indexOf('?') + 1).match(reg); return r !== null ? r[2] : ''; } function encodeBase64(value) { try { return window.btoa(value); } catch (e) { return ''; } } function decodeBase64(value) { try { return window.atob(value); } catch (e) { return ''; } } function joinUrl$1(url) { var obj = {}; if (typeof window.uin !== 'undefined') { obj.uin = window.uin; } if (typeof window.key !== 'undefined') { obj.key = window.key; } if (typeof window.pass_ticket !== 'undefined') { obj.pass_ticket = window.pass_ticket; } if (typeof window.wxtoken !== 'undefined') { obj.wxtoken = window.wxtoken; } if (typeof window.devicetype !== 'undefined') { obj.devicetype = window.devicetype; } if (typeof window.clientversion !== 'undefined') { obj.clientversion = window.clientversion || mmversion.getInner(); } obj.version = obj.clientversion; if (window.biz) { obj.__biz = window.biz; } if (getQuery('enterid')) { obj.enterid = getQuery('enterid'); } if (typeof window.appmsg_token !== 'undefined') { obj.appmsg_token = window.appmsg_token; } else if (url.indexOf('advertisement_report') > -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = navigator.userAgent.indexOf('TBS/') !== -1 ? '1' : '0'; obj.f = 'json'; return join(url, obj); } function joinUserArticleRole(url, notJoin, cb) { var bizuin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.biz; var needCheckBiz = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; if (notJoin) { cb(url); } else { getIsAuthor(function (isAuthor) { cb(addParam(url, 'user_article_role', isAuthor ? 1 : 0, true)); }, bizuin, needCheckBiz); } } function getA8keyQuery(name, url) { return new Promise(function (resolve) { if (window.__secPageAuthPromise) { window.__secPageAuthPromise.then(function () { resolve(getQuery(name, url)); }); } else { resolve(getQuery(name, url)); } }); } function addHash(url, hash) { var isReplace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (isReplace) { return "".concat(url.split('#')[0]).concat(hash); } return "".concat(url).concat(url.indexOf('#') === -1 ? '#' : '').concat(hash); } function decodeUrl(url) { var _url = url; while (_url.indexOf('&') !== -1) { _url = _url.htmlDecode(); } return _url; } var Url = { parseUrl: parseUrl, join: join, addParam: addParam, addWxfrom: addWxfrom, addHash: addHash, getQuery: getQuery, getA8keyQuery: getA8keyQuery, encodeBase64: encodeBase64, decodeBase64: decodeBase64, joinUrl: joinUrl$1, joinUserArticleRole: joinUserArticleRole, removeParam: removeParam, decodeUrl: decodeUrl }; var _a; var doc; var isAcrossOrigin = false; try { doc = (_a = window.top) === null || _a === void 0 ? void 0 : _a.window.document; } catch (e) { isAcrossOrigin = true; } var StatusTextMap = { 200: 'OK', 302: 'Found', 400: 'Bad Request', 500: 'Internal Server Error' }; function getIsAcrossOrigin() { return isAcrossOrigin; } function networkStartLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "< [request ".concat(item.requestType, "]"), item.url, item.method, item); var rdevRequestId; var requestTime = performance.now() / 1000; if ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) { try { var willBeSentOptions = { url: item.url, method: item.method, requestHeaders: Object.assign({}, item.requestHeader || {}, { RDEV_REQUEST_TYPE: item.requestType }), requestBody: item.postData, requestTime: requestTime }; rdevRequestId = window.RemoteDevSdk.instance.Network.customRequestWillBeSent(willBeSentOptions); } catch (err) {} } if ((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) { try { var vconsoleNetworkItem = (_e = (_d = window.vConsole.network).add) === null || _e === void 0 ? void 0 : _e.call(_d, Object.assign({}, item, { startTime: Date.now(), endTime: Date.now(), status: 0, readyState: 2, response: '' })); vconsoleNetworkItem.rdevRequestId = rdevRequestId; vconsoleNetworkItem.requestTime = requestTime; return vconsoleNetworkItem; } catch (err) {} } if (rdevRequestId) { return Object.assign(Object.assign({}, item), { id: '__only_rdev_log__', rdevRequestId: rdevRequestId, requestTime: requestTime }); } return Object.assign({}, item, { id: '__system_log__' }); } function networkEndLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "> [response ".concat(item.requestType, "]"), item.url, item.response, item); if (item.rdevRequestId && ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) && item.id !== '__system_log__') { try { var finishedOptions = { requestId: item.rdevRequestId, url: item.url, status: +(item.status || '500'), statusText: StatusTextMap[+(item.status || '500')] || 'Error', responseHeaders: { RDEV_RESPONSE_TYPE: item.requestType }, responseBody: item.response, requestTime: item.requestTime || 0, duration: item.costTime || (item.endTime && item.startTime ? item.endTime - item.startTime : performance.now() / 1000 - (item.requestTime || 0)) }; window.RemoteDevSdk.instance.Network.customRequestFinished(finishedOptions); } catch (err) {} } if (((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) && item.id !== '__system_log__') { try { item.statusText = "".concat(item.status); item.responseSize = item.response.length; item.responseSizeText = "".concat(item.response.length); return (_e = (_d = window.vConsole.network).update) === null || _e === void 0 ? void 0 : _e.call(_d, item.id, Object.assign({}, item, { readyState: 4 })); } catch (err) {} } } function reqType(obj, path) { return obj.url.indexOf(path) > -1 && obj.url.indexOf('action=') === -1 && (!obj.data || !obj.data.action); } function findAjaxScopeByConfig(url, config) { var pathname = new URL(url, location.href).pathname || ''; var scope = config[pathname.slice(1)]; if (scope) { return scope; } } function getAjaxScope(ajaxUrl) { if (Url.getQuery('no_transfer', location.href) !== '1' && mmversion.isWechat && !mmversion.isInMiniProgram && !mmversion.isWxWork && !mmversion.isMpapp && !isAcrossOrigin && window.__ajaxTransferConfig && _typeof(window.__ajaxTransferConfig) === 'object' && ( mmversion.isIOS && mmversion.compareHexVersion('1800282F') || mmversion.isAndroid && mmversion.compareHexVersion('28002234') || mmversion.isWindowsWechat && mmversion.cpVersion('3.9.5', 1, true, 'windows') || mmversion.isMacWechat && mmversion.cpVersion('3.8.4', 1, true, 'mac') || mmversion.isHarmonyWechat && mmversion.compareHexVersion('0xf3100b00') && !mmversion.compareHexVersion('0xf3100c00') || mmversion.compareHexVersion('0xf3800b00'))) { try { return findAjaxScopeByConfig(ajaxUrl, window.__ajaxTransferConfig); } catch (err) { } } } function getActionByData(data) { var _a, _b; if (_typeof(data) === 'object' && !(data instanceof Blob)) { if (data.hasOwnProperty('data') && typeof data.data === 'string') { try { var workedData = JSON.parse(data.data); return workedData.action || ''; } catch (e) {} } return data.action || ''; } if (typeof data === 'string') { return ((_b = (_a = data.split(/[?&]/).find(function (x) { return x.indexOf('action=') >= 0; })) === null || _a === void 0 ? void 0 : _a.split('=')) === null || _b === void 0 ? void 0 : _b[1]) || ''; } return ''; } var METHOD_ENUM = { GET: 0, POST: 1 }; var __moon_report = window.__moon_report || function () {}; var MOON_AJAX_SUCCESS_OFFSET = 3; var MOON_AJAX_NETWORK_OFFSET = 4; var MOON_AJAX_ERROR_OFFSET = 5; var MOON_AJAX_TIMEOUT_OFFSET = 6; var MOON_AJAX_COMPLETE_OFFSET = 7; var LENGTH_LIMIT = 4096; function reportRtError(type, id, key, content) { var log = ''; var prefix = type === 'rt' ? 'rtCheckError' : 'Ajax Length Limit'; if (content === null || content === void 0 ? void 0 : content.length) { var loglen = 1000; var len = content.length; var lc = Math.ceil(len / loglen); log = ["&lc=".concat(lc)]; for (var i = 0; i < lc; ++i) { log.push("&log".concat(i, "=") + "[".concat(prefix, "][").concat(i, "]").concat(encodeURIComponent(content.substring(i * loglen, i * loglen + loglen)))); } log = log.join(''); } var data = "idkey=".concat(id, "_").concat(key, "_1").concat(log, "&r=").concat(Math.random()); var xmlobj = new XMLHttpRequest(); xmlobj.open('POST', "".concat(location.protocol, "//").concat(location.host, "/mp/jsmonitor?"), true); xmlobj.setRequestHeader('cache-control', 'no-cache'); xmlobj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xmlobj.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xmlobj.send(data); if (type === 'ajaxLen') { monitor$1.setLogs({ id: id, key: key, value: 1, log: log }); } } function reportRt(id, key, content) { reportRtError('rt', id, key, content); } function reportAjaxLength(id, key, content) { reportRtError('ajaxLen', id, key, content); } function setXhrHeader(xhr, type, opt) { if (opt.contentType) { xhr.setRequestHeader('Content-Type', opt.contentType); } else if (type === 'POST') { xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); } if (!opt.noXRequestedWidthHeader) { xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); } } function Ajax(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } var ajaxScope = getAjaxScope(obj.url); var type = (obj.type || 'GET').toUpperCase(); var timer; var _url; if (obj.notJoinUrl) { _url = obj.url; } else { _url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(_url, !!obj.notJoinUrl, function (url) { var urlObj = new URL(url, location.origin); if (obj.f === 'html') { url = url.replace('&f=json', ''); } var data = null; if (obj.data instanceof Blob) { data = obj.data; } else if (_typeof(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var beginTs; var beforeReq = function beforeReq() { if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); Log.log('start get appmsgext, url: ', obj.url); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); Log.log('start get appmsgad, url: ', obj.url); } beginTs = Date.now(); }; var beforeResp = function beforeResp(xhr) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgext response, status: ".concat(xhr.status)); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgad response, status: ".concat(xhr.status)); } if (Math.random() < 0.001 && window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { try { var key = ajaxScope ? 'transfer' : 'xhr'; var interval = 250; var time = Date.now() - beginTs; var range = Math.floor(time / interval) * interval; var pathname = new URL(obj.url, location.href).pathname || ''; window.WX_BJ_REPORT.BadJs.report("".concat(key, "_perf:").concat(pathname), JSON.stringify({ status: xhr.status, time: "[".concat(range, "-").concat(range + interval, ")") }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } catch (err) {} } }; var handleRespSucc = function handleRespSucc(xhr, requestType) { var _a, _b, _c, _d; try { var responseText = xhr.responseText; var resp = responseText; if (obj.dataType === 'json') { try { if (JSON && JSON.parse) { resp = JSON.parse(resp); } else { resp = eval("(".concat(resp, ")")); monitor$1.setSum(523105, 127, 1).send(); } var rtId = obj.rtId; var rtKey = obj.rtKey || 0; var rtDesc = obj.rtDesc; if (rtId && rtDesc && RespTypes && !RespTypes.check(resp, rtDesc)) { reportRt(+rtId, +rtKey, "".concat(RespTypes.getMsg(), "[detail]").concat(responseText, ";").concat(obj.url)); } if (resp && resp.base_resp && ((_a = resp.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = url; if (url.indexOf('?') !== -1) { reportUrl = url.substring(0, url.indexOf('?')); if (Url.getQuery('action', url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resp.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resp.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { obj.error && obj.error(xhr, { type: 1, error: e, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 1, HttpCode: xhr.status || 0, Ret: 0 }); } return; } } if (_typeof(resp) === 'object' && ((_b = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _b === void 0 ? void 0 : _b.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 4, HttpCode: xhr.status || 0, Ret: ((_c = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 0, HttpCode: xhr.status || 0, Ret: ((_d = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _d === void 0 ? void 0 : _d.ret) || 0 }); } } obj.success && obj.success(resp); } catch (e) { __moon_report({ offset: MOON_AJAX_SUCCESS_OFFSET, e: e }); throw e; } }; var handleRespErr = function handleRespErr(xhr, error, requestType) { try { obj.error && obj.error(xhr, { type: 2, error: error, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type, RequestType: requestType, RetType: 2, HttpCode: xhr.status, Ret: 0 }); } } catch (e) { __moon_report({ offset: MOON_AJAX_ERROR_OFFSET, e: e }); throw e; } }; var handleRespComplete = function handleRespComplete() { clearTimeout(timer); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; }; var handleReqTimeout = function handleReqTimeout(xhr) { if (typeof obj.timeout !== 'undefined') { timer = setTimeout(function () { xhr.abort(); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; __moon_report({ offset: MOON_AJAX_TIMEOUT_OFFSET, log: "ajax_timeout_error: ".concat(url), e: '' }); }, obj.timeout); } }; var retryXhrFn = function retryXhrFn(res, isTimeout, reqLogItem) { var retryXhr = new XMLHttpRequest(); try { retryXhr._noVConsole = true; } catch (err) {} retryXhr.open(type, url); retryXhr.onreadystatechange = function () { if (isTimeout) return; if (retryXhr.readyState === 3) { obj.received && obj.received(retryXhr); } if (retryXhr.readyState === 4) { beforeResp(retryXhr); var retryStatus = retryXhr.status; if (retryStatus >= 200 && retryStatus < 400) { handleRespSucc(retryXhr, 1); } else { handleRespErr(retryXhr, res, 1); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure', JSON.stringify({ retryXhrStatus: retryStatus, transferRes: res }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryXhr.responseText; handleRespComplete(); networkEndLog(reqLogItem); } }; setXhrHeader(retryXhr, type, obj); retryXhr.send(data); }; if (ajaxScope && !obj.pureHttp) { var header = { 'User-Agent': navigator.userAgent, 'Cookie': (window.__test_env__ ? 'uniproxy_route=1; ' : '') + document.cookie, 'Referer': location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if (type === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } if (!obj.noXRequestedWidthHeader) { header['X-Requested-With'] = 'XMLHttpRequest'; } var reqUrl = new URL(url, location.href).href; var method = METHOD_ENUM[type] || 0; var params = Device.os.pc ? { url: reqUrl, req_json: data || '', scope: ajaxScope, webcgi_method: method, webcgi_header: Object.keys(header).map(function (headerItemKey) { return Device.os.Mac ? _defineProperty({}, headerItemKey, header[headerItemKey]) : { key: headerItemKey, value: header[headerItemKey] }; }), cgi_type: 1 } : { reqUrl: reqUrl, reqBody: data, scope: ajaxScope, method: method, header: header }; var reqLogItem = networkStartLog({ method: type, url: url, postData: obj.data || {}, requestHeader: header, requestType: 'transfer', startTime: Date.now(), responseType: url.indexOf('f=json') > 0 ? 'json' : undefined }); var isTimeout = false; handleReqTimeout({ abort: function abort() { isTimeout = true; reqLogItem.endTime = Date.now(); reqLogItem.response = 'timeout'; networkEndLog(reqLogItem); } }); Device.os.pc && monitor$1.setSum(115849, 69, 1); JSAPI.invoke(Device.os.pc ? 'H5ExtTransfer' : 'webTransfer', params, function (res) { var _a, _b, _c, _d, _e, _f; if (isTimeout) return; var status = 400; var result = ''; if (Device.os.pc) { try { var retFlag = res.base_resp.ret === 0 && res.jsapi_resp.ret === 0 && res.err_msg.indexOf(':ok') > -1; var respJsonFlag = res.jsapi_resp.resp_json; status = retFlag && respJsonFlag ? 200 : 400; result = res.jsapi_resp.resp_json; } catch (err) { console.error(err); } } else { status = res && res.errCode * 1 === 0 && typeof res.result === 'string' && res.result ? 200 : 400; result = res.result; } try { Log.log("ajax transfer, status: ".concat(status, ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (status >= 200 && status < 400) { obj.received && obj.received(null); beforeResp({ status: status }); handleRespSucc({ status: status, responseText: result }, 10); reqLogItem.status = status; reqLogItem.endTime = Date.now(); reqLogItem.response = result; handleRespComplete(); networkEndLog(reqLogItem); } else if (window.__second_open__) { JSAPI.invoke('request', { url: reqUrl, method: type, data: data, header: header }, function (retryRes) { try { Log.log("ajax retry request, retryStatus: ".concat((retryRes === null || retryRes === void 0 ? void 0 : retryRes.statusCode) || '', ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (isTimeout) return; var retryStatus = retryRes.statusCode; obj.received && obj.received(null); beforeResp({ status: retryStatus }); if (retryRes.err_msg.indexOf(':ok') > -1 && retryStatus >= 200 && retryStatus < 400) { handleRespSucc({ status: retryStatus, responseText: retryRes.data }, 20); } else { retryXhrFn(res, isTimeout, reqLogItem); handleRespErr({ status: retryStatus }, res, 20); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure_sec_open', JSON.stringify({ retryReqJsapiRes: retryRes, transferRes: res, url: reqUrl }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryRes.data; handleRespComplete(); networkEndLog(reqLogItem); }); } else { retryXhrFn(res, isTimeout, reqLogItem); } if (Device.os.pc) { if (!res.err_msg.includes(':ok')) { (_b = (_a = window.WX_BJ_REPORT) === null || _a === void 0 ? void 0 : _a.BadJs) === null || _b === void 0 ? void 0 : _b.report("pc transfer res no ok: ".concat(res.err_msg), params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } try { if (res.jsapi_resp.resp_json && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 0 && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 190001 || res.base_resp.ret !== 0 || res.jsapi_resp.ret !== 0) { (_d = (_c = window.WX_BJ_REPORT) === null || _c === void 0 ? void 0 : _c.BadJs) === null || _d === void 0 ? void 0 : _d.report("pc transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } else { try { if (res.errCode !== 0) { (_f = (_e = window.WX_BJ_REPORT) === null || _e === void 0 ? void 0 : _e.BadJs) === null || _f === void 0 ? void 0 : _f.report("mobile transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } }); beforeReq(); return; } var xhr = new XMLHttpRequest(); var mayAbort = !!obj.mayAbort; var async = typeof obj.async === 'undefined' ? true : obj.async; var _onreadystatechange = xhr.onreadystatechange; xhr.open(type, url, async); xhr.onreadystatechange = function () { if (typeof _onreadystatechange === 'function') { _onreadystatechange.apply(xhr); } if (xhr.readyState === 3) { obj.received && obj.received(xhr); } if (xhr.readyState === 4) { beforeResp(xhr); xhr.onreadystatechange = null; var status = xhr.status; if (status >= 200 && status < 400) { handleRespSucc(xhr, 1); } else { handleRespErr(xhr, 'status error', 1); if (!!status || !mayAbort) { var __ajaxtest = window.__ajaxtest || '0'; __moon_report({ offset: MOON_AJAX_NETWORK_OFFSET, log: "ajax_network_error[".concat(status, "][").concat(__ajaxtest, "]: ").concat(url, ";host:").concat(location.host), e: '' }); } } handleRespComplete(); } }; setXhrHeader(xhr, type, obj); handleReqTimeout(xhr); try { xhr.send(data); try { if (url && url.length > LENGTH_LIMIT) { reportAjaxLength(27613, 17, "ajax get limit[length: ".concat(url.length, "]").concat(url.substring(0, 1024))); } if (data && !(data instanceof Blob) && data.length > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.length, "]").concat(data.substring(0, 1024))); } if (data && data instanceof Blob && data.size > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.size, "]blob")); } } catch (e) { } } catch (e) { obj.error && obj.error(xhr, { type: 3, error: e, status: 0 }); } beforeReq(); }); } mmversion.isWindowsWechat && mmversion.compareHexVersion('0xf2550000') || mmversion.isMacWechat && mmversion.compareHexVersion('0xf2650000'); var getBrandServiceType = function getBrandServiceType() { var serviceType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.service_type; var _a, _b; var brandServiceType = 0; if (serviceType !== undefined) brandServiceType = serviceType + 1; if (((_b = (_a = window.cgiData) === null || _a === void 0 ? void 0 : _a.trans_appmsg_info) === null || _b === void 0 ? void 0 : _b.trans_type) * 1 === 1) brandServiceType = 3; return brandServiceType; }; function setCurrentMpInfo(ifShow) { var supportNewTopBar = mmversion.isIOS && mmversion.gtVersion('7.0.10', true) || mmversion.isAndroid && mmversion.gtVersion('7.0.12', true); var supportLiveStatus = mmversion.isIOS && mmversion.gtVersion('8.0.46', true) || mmversion.isAndroid && mmversion.gtVersion('8.0.46', true); JSAPI.invoke('currentMpInfo', { userName: window.user_name, brandName: !!supportNewTopBar && window.nickname === '' ? '未命名账号' : window.title, title: window.msg_title || '', brandIcon: window.hd_head_img.replace(/\/0$/, '/132'), itemShowType: window.item_show_type, isPaySubscribe: window.isPaySubscribe, topBarStyle: supportNewTopBar ? 1 : 0, topBarShowed: ifShow, disableShowFinderLiveTopBar: !ifShow && supportLiveStatus ? 1 : 0, brandServiceType: getBrandServiceType() }, function () {}); } function AjaxWx(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; obj.url += obj.url.indexOf('?') === -1 ? '?fasttmplajax=1' : '&fasttmplajax=1'; if (getAjaxScope(obj.url)) { Ajax(obj); return; } if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } if (!/^(http:\/\/|https:\/\/|\/\/)/.test(obj.url)) { obj.url = "https://mp.weixin.qq.com/".concat(obj.url.replace(/^\//, '')); } else if (/^\/\//.test(obj.url)) { obj.url = "https:".concat(obj.url); } if (obj.f !== 'html' && (obj.url.indexOf('?f=json') === -1 || obj.url.indexOf('&f=json') === -1)) { obj.url += '&f=json'; } if (!obj.notJoinUrl && obj.f !== 'html') { obj.url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(obj.url, !!obj.notJoinUrl, function (url) { obj.url = url; var urlObj = new URL(url, location.origin); var data = null; if (_typeof(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var header = { Cookie: document.cookie, referer: location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if ((obj.type || 'GET').toUpperCase() === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } var reqLogItem = networkStartLog({ method: obj.type || 'GET', url: obj.url, postData: obj.data || {}, requestHeader: header, requestType: 'jsapi', startTime: Date.now() }); var retryTime = 1; var jsapiRequest = function jsapiRequest(obj, data) { return JSAPI.invoke('request', { url: obj.url, method: obj.type, data: data, header: header }, function (res) { var _a, _b, _c, _d, _e, _f; if (res.err_msg.indexOf(':ok') > -1 && (!res.statusCode || res.statusCode >= 200 && res.statusCode < 400)) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(res.statusCode, "|").concat(Date.now()); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(res.statusCode, "|").concat(Date.now()); } if (retryTime === 1) { obj.received && obj.received(null); } var resData = {}; if (res.data) { try { if (obj.dataType === 'json') { resData = JSON.parse(res.data); } else { resData = res.data; } if (resData && resData.base_resp && ((_a = resData.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = obj.url; if (obj.url.indexOf('?') !== -1) { reportUrl = obj.url.substring(0, obj.url.indexOf('?')); if (Url.getQuery('action', obj.url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', obj.url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resData.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resData.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_b = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _b === void 0 ? void 0 : _b.ret) || 0 }); } console.error(e); obj.error && obj.error(null, { type: 1, error: e, status: res.statusCode }); obj.complete && obj.complete(); reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); return; } } var tmpResData = {}; try { tmpResData = JSON.parse(res.data); } catch (e) {} if (tmpResData && tmpResData.base_resp && tmpResData.base_resp.ret === -3 && retryTime < 2 && (mmversion.isIOS || mmversion.isAndroid && mmversion.getInner() > '27000600')) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_c = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } var _retryTime = retryTime++; JSAPI.invoke('updatePageAuth', {}, function (res) { console.log('[skeleton] updatePageAuth', res); monitor$1.setSum(112287, 3, 1); if (res && res.err_msg && res.err_msg.indexOf(':ok') > -1) { window.top.pass_ticket = encodeURIComponent(Url.getQuery('pass_ticket', res.fullUrl).html(false).replace(/\s/g, '+')); if (obj.pass_ticket) { obj.pass_ticket = window.top.pass_ticket; } console.warn('[skeleton] updatePageAuth resetTopbar'); var supportNewTopBar = mmversion.isIOS && mmversion.gtVersion('7.0.10', true); var showBottomBar = !!window.is_login; if (window.top.item_show_type === '0' && supportNewTopBar) { var top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop || 0; setCurrentMpInfo(top > 40 && !showBottomBar); } try { obj.url = Url.addParam(obj.url, 'retry', _retryTime, true); } catch (err) { console.error(err); } jsapiRequest(obj, data); monitor$1.setSum(112287, 4, 1); } else { obj.success && obj.success(resData); obj.complete && obj.complete(); if (mmversion.isIOS) { monitor$1.setSum(112287, 35, 1); } else { monitor$1.setSum(112287, 36, 1); } reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } }); } else { if (((_d = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _d === void 0 ? void 0 : _d.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 4, HttpCode: res.statusCode || 0, Ret: ((_e = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _e === void 0 ? void 0 : _e.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 0, HttpCode: res.statusCode || 0, Ret: ((_f = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _f === void 0 ? void 0 : _f.ret) || 0 }); } } obj.success && obj.success(resData); obj.complete && obj.complete(); reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } } else if (res.err_msg.indexOf('no permission') > -1 || !mmversion.isOnlyWechat) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: 0 }); } Ajax(obj); if (res.err_msg.indexOf('no permission') > -1) { console.warn('[JSAPI Request] No permission'); monitor$1.setSum(112287, 31, 1); } reqLogItem.status = 302; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 2, HttpCode: res.statusCode || 0, Ret: 0 }); } obj.error && obj.error(null, { type: 3, error: res, status: 0 }); obj.complete && obj.complete(); monitor$1.setSum(112287, 32, 1); var sample = 0.001; if (Math.random() < sample) { var msg = "request: ".concat(JSON.stringify(obj.type), " ").concat(JSON.stringify(obj.url), " ;;;; cookie: ").concat(JSON.stringify(document.cookie), " ;;;; data: ").concat(JSON.stringify(data), " ;;;; resp: ").concat(JSON.stringify(res)); if (window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { window.WX_BJ_REPORT.BadJs.report('ajax_wx_request_error', msg, { mid: 'mmbizwap:Monitor' }); } } reqLogItem.status = 400; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } }); }; if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); } jsapiRequest(obj, data); }); } function _regeneratorRuntime() { _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = isx5 ? '1' : '0'; obj.f = 'json'; return Url.join(url, obj); } function isObj(obj) { return obj && _typeof(obj) === 'object'; } function assign(target, source) { if (isObj(target) && isObj(source)) { for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } } function assembleReportData(initiative) { var leaveReportLog = []; leaveReportLog.push({ content: "[LeaveReport] specificData keys: ".concat(Object.keys(specificData)), timestamp: Date.now() }); Log.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); console.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); var allReportData = {}; for (var reportField in specificData) { if (!allReportData[reportField]) { allReportData[reportField] = {}; } for (var i = 0; i < specificData[reportField].length; i++) { var param = specificData[reportField][i]; if (typeof param === 'function') { try { assign(allReportData[reportField], param(initiative)); } catch (err) { leaveReportLog.push({ content: "[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); console.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); } } else if (isObj(param)) { assign(allReportData[reportField], param); } } } leaveReportLog.push({ content: "[LeaveReport] reportData.length: ".concat(reportData.length), timestamp: Date.now() }); Log.log("[LeaveReport] reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] reportData.length: ".concat(reportData.length)); leaveReportLog.push({ content: "[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length), timestamp: Date.now() }); Log.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); console.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); for (var _i = 0; _i < getDataFunc.length; _i++) { try { var data = getDataFunc[_i](initiative); if (isObj(data)) { reportData.push(data); } } catch (err) { leaveReportLog.push({ content: "[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); console.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); } } for (var _i2 = 0; _i2 < reportData.length; _i2++) { if (reportData[_i2].reportUrl) { reportData[_i2].reportUrl = joinUrl(reportData[_i2].reportUrl); } } allReportData.data = { 'requestList': reportData }; leaveReportLog.push({ content: "[LeaveReport] final reportData.length: ".concat(reportData.length, ", data=").concat(JSON.stringify(reportData)), timestamp: Date.now() }); Log.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); allReportData.info = leaveReportLog; return allReportData; } function addReport(param) { if (typeof param === 'function') { getDataFunc.push(param); } else if (isObj(param)) { reportData.push(param); } } function addSpecificReport(reportField, param) { if (!specificData[reportField]) { specificData[reportField] = []; } specificData[reportField].push(param); } function reportNow(callback) { var allReportData = assembleReportData(true); JSAPI.invoke('handleMPPageAction', { action: 'reportByLeaveForMPGateway', reportData: allReportData }, function (res) { if (res && res.err_msg && res.err_msg.indexOf(':ok') !== -1) { getDataFunc = []; reportData = []; specificData = {}; typeof callback === 'function' && callback(res); } else { getDataFunc = []; reportData = []; var len = allReportData.data.requestList.length; allReportData.data.requestList.forEach(function (req) { if (req.reportUrl) { AjaxRouter({ type: req.method || 'GET', url: req.reportUrl, data: req.reportData, async: false, success: function success(resp) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:ok', fallback: true, resp: resp }); } }, error: function error(xhr, err) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:fail', fallback: true, err: err }); } } }); } }); } }); } var leaveReport = { reportNow: reportNow, addReport: addReport, addSpecificReport: addSpecificReport }; var _leaveReport = (function () { var doc = {}; var isCrossOrigin = false; try { doc = top.window.document; } catch (e) { isCrossOrigin = true; } if (!isCrossOrigin && top.window.__leaveReport) { return top.window.__leaveReport; } if (window.__leaveReport) { return window.__leaveReport; } JSAPI.on('reportOnLeaveForMP', function () { return assembleReportData(false); }); return window.__leaveReport = leaveReport; })(); var getReportJson = function getReportJson(logId, rawData) { var data = JSON.parse(JSON.stringify(rawData)); data.log_id = Number(logId); data.TimeStamp = Math.round(Date.now() / 1000); console.log('[comm_report] reportjson: ', data); return JSON.stringify(data); }; var getSuccessHandler = function getSuccessHandler(logId, data, opt) { return function (res) { if (res && res.err_code !== 0) { console.warn("[comm_report] report ".concat(logId, " fail: "), res.err_msg, data); } if (typeof opt.success === 'function') { opt.success(res); } }; }; var getErrorHandler = function getErrorHandler(logId, data, opt) { return function (xhr, info) { console.error("[comm_report] report ".concat(logId, " error: "), info, data); if (typeof opt.error === 'function') { opt.error(xhr, info); } }; }; var batchReportDataArr = []; var blackLogId = [25587, 18832, 28208, 25574, 29139, 10945]; var BATCH_SIZE = 4; var BATCH_TIME = 1000; var getRepeatedReportJson = function getRepeatedReportJson() { if (!batchReportDataArr || !batchReportDataArr.length) return false; var reportData = { count: 0 }; reportData.count = batchReportDataArr.length; batchReportDataArr.forEach(function (data, index) { reportData["reportjson".concat(index)] = data; }); batchReportDataArr = []; console.log('[reportData]: ', reportData); return reportData; }; var timeOutId; function batchReport() { if (!batchReportDataArr || !batchReportDataArr.length) return; var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return; AjaxRouter({ type: 'POST', dataType: 'json', url: '/mp/wapcommreport?action=batch_report', data: repeatedReportJson, dontReport: true, success: function success(res) { if (res && res.err_code) { console.warn("[comm_report] batch report fail: ", res.err_msg, batchReportDataArr); } }, error: function error(xhr, info) { console.error("[comm_report] batch report error: ", info, batchReportDataArr); } }); } function batchReportThrottle(logId, rawData) { var reportJsonData = getReportJson(logId, rawData); if (!reportJsonData) return; batchReportDataArr.push(reportJsonData); if (batchReportDataArr.length >= BATCH_SIZE) { batchReport(); } else { if (!timeOutId) { timeOutId = setTimeout(function () { batchReport(); clearTimeout(timeOutId); timeOutId = null; }, BATCH_TIME); } } } _leaveReport.addReport(function () { var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return false; var reportData = []; for (var _i = 0, _Object$entries = Object.entries(repeatedReportJson); _i < _Object$entries.length; _i++) { var _Object_i = _slicedToArray(_Object$entries[_i], 2), key = _Object_i[0], value = _Object_i[1]; reportData.push("".concat(key, "=").concat(encodeURIComponent(value))); } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport?action=batch_report', reportData: reportData.join('&'), method: 'POST' }; }); var WapReport = { report: function report(logId, rawData, rawOpt) { var opt = rawOpt || {}; if (!opt.realTime && !blackLogId.includes(logId)) { batchReportThrottle(logId, rawData); } else { AjaxRouter({ type: 'POST', dataType: 'json', url: '/mp/wapcommreport', data: { reportjson: getReportJson(logId, rawData) }, async: opt.async, success: getSuccessHandler(logId, rawData, opt), error: getErrorHandler(logId, rawData, opt) }); } }, leaveReport: function leaveReport(logId, rawData) { _leaveReport.addReport(function () { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport', reportData: "reportjson=".concat(encodeURIComponent(getReportJson(logId, data))), method: 'POST' }; }); }, reportByBeacon: function reportByBeacon(logId, rawData) { try { if (!Device.os.android && !Device.os.ios && !Device.os.harmony) { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } var url = '/mp/wapcommreport'; var reportJsonData = encodeURIComponent(getReportJson(logId, data)); console.log("reportByBeacon", JSON.stringify(reportJsonData)); navigator.sendBeacon(Url.joinUrl(url), "reportjson=".concat(reportJsonData)); } else { _leaveReport.addReport(function () { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport', reportData: "reportjson=".concat(encodeURIComponent(getReportJson(logId, data))), method: 'POST' }; }); } } catch (error) { console.log(error); } } }; var ua = navigator.userAgent; var is_android = /(Android)/i.test(ua); var g = { x: 0, y: 0, isPc: /(WindowsNT)|(Windows NT)|(Macintosh)|Linux|UnifiedPCOHOSWechat/i.test(navigator.userAgent) && !is_android, isWp: /Windows\sPhone/i.test(ua), tsTime: -1 }; var prefixes = ['webkit', 'moz', 'ms', 'o']; if (isUseTap()) { on(document, "touchstart", function (e) { if (e.touches.length === 1) { var st = e.touches[0]; g.x = st.clientX; g.y = st.clientY; g.tsTime = +new Date(); } else { g.tsTime = -1; } }); } var scrolling; function isScrolling() { if (scrolling && new Date().getTime() - scrolling < 200) return true; return false; } window.addEventListener('scroll', function () { scrolling = new Date().getTime(); }, true); function isUseTap() { if (g.isPc || g.isWp) { return false; } return true; } function tap(el, cb, flag, className) { if (!isUseTap()) { on(el, "click", className, cb, flag); } else { cb.tap_handler = function (e) { if (g.tsTime == -1 || +new Date() - g.tsTime > 200 || isScrolling()) { return; } var st = e.changedTouches[0]; if (Math.abs(g.y - st.clientY) 5)) { clearTimeout(timeOutEvent); timeOutEvent = undefined; typeof cancelCb === 'function' && cancelCb.call(self, e); } }); on(el, 'mouseup', className, function () { mousedown = false; clearTimeout(timeOutEvent); }); on(el, 'click', className, function () { if (triggerLongClick) return false; }); } else { on(el, 'touchstart', className, function (e) { e.touches.length === 1 && (timeOutEvent = setTimeout(function () { timeOutEvent = undefined; cb.call(self, e); }, 500)); }); on(el, 'touchmove', className, function (e) { if (!timeOutEvent) return; var st = e.changedTouches[0]; if (Math.abs(g.y - st.clientY) > 5 || Math.abs(g.x - st.clientX) > 5) { clearTimeout(timeOutEvent); timeOutEvent = undefined; typeof cancelCb === 'function' && cancelCb.call(self, e); } }); on(el, 'touchend', className, function (e) { if (timeOutEvent) { clearTimeout(timeOutEvent); timeOutEvent = undefined; } else { e.preventDefault(); } }, true); } } function doubletap(el, cb) { var _this = this; var __lastTouchVideoTs = 0; var realCb = function realCb(e) { if (Date.now() - __lastTouchVideoTs < 300) { cb.call(_this, e); } __lastTouchVideoTs = Date.now(); }; tap(el, realCb); return function () { return off(el, 'touchend', realCb); }; } function matches(ele, className) { if (!ele || !className || ele.nodeType != ele.ELEMENT_NODE) return false; var matchesSelector = ele.webkitMatchesSelector || ele.msMatchesSelector || ele.matchesSelector; if (matchesSelector) return matchesSelector.call(ele, className); className = className.substr(1); return ele.className.indexOf(className) > -1; } function closest(target, className, context) { while (target && !matches(target, className)) { target = target !== context && target.nodeType !== target.DOCUMENT_NODE && target.parentNode; } return target; } function on(el, type, className, cb, flag, extra) { var callback; var handler; var delegator; if (!el) return; if (typeof className === 'function') { extra = flag; flag = cb; cb = className; className = ''; } if (typeof className !== 'string') { className = ''; } if (el == window && type == "load" && /complete|loaded/.test(document.readyState)) { return cb({ type: "load" }); } if (type == 'tap') return tap(el, cb, flag, className); if (type === 'longtap') return longtap(el, cb, flag, className, extra); if (type == "unload" && "onpagehide" in window) { type = "pagehide"; } callback = function callback(e) { var ret = cb(e); if (ret === false) { e.stopPropagation && e.stopPropagation(); e.preventDefault && e.preventDefault(); } return ret; }; if (className && className.charAt(0) == '.') delegator = function delegator(e) { var target = e.target || e.srcElement; var match = closest(target, className, el); if (match) { e.delegatedTarget = match; return callback(e); } }; handler = delegator || callback; cb["".concat(type, "_handler")] = handler; if (el.addEventListener) { el.addEventListener(type, handler, !!flag); return; } if (el.attachEvent) { el.attachEvent("on".concat(type), handler, !!flag); return; } } function off(el, type, cb, flag) { if (!el) return; var handlerType = type; var handler; if (handlerType == 'tap') { if (isUseTap()) { handlerType = 'touchend'; handler = cb.tap_handler && cb.tap_handler.touchend_handler ? cb.tap_handler.touchend_handler : cb; } else { handlerType = 'click'; } } if (!handler) { handler = cb["".concat(handlerType, "_handler")] || cb; } if (el.removeEventListener) { el.removeEventListener(handlerType, handler, !!flag); return; } if (el.detachEvent) { el.detachEvent("on".concat(handlerType), handler, !!flag); return; } if (handlerType == 'tap' && isUseTap()) { if (cb.tap_handler) { cb.tap_handler.touchend_handler = null; } cb.tap_handler = null; } else { cb["".concat(handlerType, "_handler")] = null; } } function getHiddenProp() { if ('hidden' in document) { return 'hidden'; } for (var i = 0; i < prefixes.length; i++) { if ("".concat(prefixes[i], "Hidden") in document) { return "".concat(prefixes[i], "Hidden"); } } return null; } function getVisibilityState() { if ('visibilityState' in document) { return 'visibilityState'; } for (var i = 0; i < prefixes.length; i++) { if ("".concat(prefixes[i], "VisibilityState") in document) { return "".concat(prefixes[i], "VisibilityState"); } } return null; } function bindVisibilityChangeEvt(cb) { var visProp = getHiddenProp(); if (visProp) { var evtname = "".concat(visProp.replace(/[H|h]idden/, ''), "visibilitychange"); var handler = function handler() { var isShow = document[getVisibilityState()] !== 'hidden'; typeof cb === 'function' && cb(isShow); }; document.addEventListener(evtname, handler, false); return function () { document.removeEventListener(evtname, handler, false); }; } return function () {}; } var DomEvent = { on: on, off: off, tap: tap, longtap: longtap, bindVisibilityChangeEvt: bindVisibilityChangeEvt, doubletap: doubletap }; var html = function html(_str, encode) { if (!_str) return ''; var replace = ['`', '`', ''', '\'', '"', '"', ' ', ' ', '>', '>', '<', '', '<', ' ".concat(ret.err_msg) : ''; if (['handleMPPageAction', 'handleVideoAction', 'handleHaokanAction'].indexOf(methodName) !== -1) { var action = (args === null || args === void 0 ? void 0 : args.action) || ''; console.info('[system]', "[jsapi] invoke->".concat(methodName, ", action->").concat(action).concat(errMsg)); } else { console.info('[system]', "[jsapi] invoke->".concat(methodName).concat(errMsg)); } if (methodName === 'handleMPPageAction' && (args === null || args === void 0 ? void 0 : args.action) && ((ret === null || ret === void 0 ? void 0 : ret.err_desc) === 'action isn\'t supported' || (ret === null || ret === void 0 ? void 0 : ret.err_msg) === 'handleMPPageAction:fail action is not supported')) { notFoundedMPPageAction.push(args === null || args === void 0 ? void 0 : args.action); } if (callback) { callback.apply(window, rets); } } catch (e) { __moon_report$1([{ offset: MOON_JSAPI_KEY_OFFSET, log: "invoke;methodName:".concat(methodName), e: e }]); throw e; } }); } }); case 4: case "end": return _context.stop(); } }, _callee); })); return _invoke.apply(this, arguments); } function call(_x4) { return _call.apply(this, arguments); } function _call() { _call = _asyncToGenerator$1( _regeneratorRuntime$6().mark(function _callee2(methodName) { return _regeneratorRuntime$6().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (!(window.__secPageAuthPromise && !window.__is_page_auth_ok__)) { _context2.next = 3; break; } _context2.next = 3; return window.__secPageAuthPromise; case 3: ready(function () { if (isAcrossOrigin$1) return false; if (_typeof$3(top.window.WeixinJSBridge) !== 'object') { return false; } try { top.window.WeixinJSBridge.call(methodName); } catch (e) { __moon_report$1([{ offset: MOON_JSAPI_KEY_OFFSET, log: "call;methodName:".concat(methodName), e: e }]); throw e; } }); case 4: case "end": return _context2.stop(); } }, _callee2); })); return _call.apply(this, arguments); } function on$2(eventName, callback) { ready(function () { if (isAcrossOrigin$1) return false; if (_typeof$3(top.window.WeixinJSBridge) !== 'object' || !top.window.WeixinJSBridge.on) { return false; } if (!window.JSAPIEventCallbackMap[eventName]) { window.JSAPIEventCallbackMap[eventName] = []; } window.JSAPIEventCallbackMap[eventName].push(callback); if (window.JSAPIEventCallbackMap[eventName].length > 1) { return false; } top.window.WeixinJSBridge.on(eventName, function () { try { for (var _len = arguments.length, rets = new Array(_len), _key = 0; _key < _len; _key++) { rets[_key] = arguments[_key]; } var ret = rets[0]; var errMsg = ret && ret.err_msg ? ", err_msg-> ".concat(ret.err_msg) : ''; console.info('[system]', "[jsapi] event->".concat(eventName).concat(errMsg)); if (window.JSAPIEventCallbackMap[eventName] && window.JSAPIEventCallbackMap[eventName].length) { var result; for (var i = 0; i < window.JSAPIEventCallbackMap[eventName].length; i++) { result = window.JSAPIEventCallbackMap[eventName][i].apply(window, rets); } return result; } } catch (e) { __moon_report$1([{ offset: MOON_JSAPI_KEY_OFFSET, log: "on;eventName:".concat(eventName), e: e }]); throw e; } }); }); } function remove$1(eventName, callback) { ready(function () { if (!window.JSAPIEventCallbackMap[eventName]) { return false; } var result = false; for (var i = window.JSAPIEventCallbackMap[eventName].length - 1; i >= 0; i--) { if (window.JSAPIEventCallbackMap[eventName][i] === callback) { window.JSAPIEventCallbackMap[eventName].splice(i, 1); result = true; } } return result; }); } var R$4 = { ready: ready, invoke: invoke$1, call: call, on: on$2, remove: remove$1 }; function initBodyStyle() { window.scrollTo({ top: 0, behavior: 'smooth' }); setTimeout(function () { document.body.scrollTop = document.documentElement.scrollTop = 0; document.body.style.overflow = 'hidden'; }, 100); } var setRowImmersiveMode = function setRowImmersiveMode(itemShowType) { var envStr = window.__wxWebEnv && typeof window.__wxWebEnv.getEnv === 'function' && window.__wxWebEnv.getEnv(); if (!envStr) return; var envObj = {}; try { envObj = JSON.parse(envStr); } catch (err) { console.info(err); } var immersiveListMode = envObj.immersiveListMode || 0; window.__immersiveListMode = Number(immersiveListMode) === 1 ? 1 : 0; window.__rowImmersiveStream = Number(immersiveListMode) === 2 ? 1 : 0; console.log("iiiiiiimmersiveListMode", immersiveListMode, window.__immersiveListMode, window.__rowImmersiveStream); window.__test_row_immersive_list = 0; if (window.__test_row_immersive_list) { window.__rowImmersiveStream = 1; } if (window.__rowImmersiveStream) { initBodyStyle(); var rowImmersiveStreamWrap = document.getElementById('js_row_immersive_stream_wrap'); if (rowImmersiveStreamWrap) { rowImmersiveStreamWrap.style.display = 'block'; } var bottomBar = document.getElementById('js_article_bottom_bar'); if (bottomBar) { bottomBar.classList.add('row_immersive_bottom_bar'); } var immersiveStreamMask = document.getElementById('js_row_immersive_stream_mask'); var enterBigWebview = function enterBigWebview() { immersiveStreamMask.style.display = 'none'; document.body.style.overflow = 'auto'; if (bottomBar) { bottomBar.classList.add('row_immersive_bigview_bottom_bar'); } }; var exitBigWebview = function exitBigWebview() { initBodyStyle(); immersiveStreamMask.style.display = 'block'; if (bottomBar) { bottomBar.classList.remove('row_immersive_bigview_bottom_bar'); } }; immersiveStreamMask.addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); R$4.invoke('handleImmersiveStream', { action: 'enterFullArticle', params: { enterTime: Date.now() } }, function (res) { console.log("[immersive] handleImmersiveStream:", res); if (res && res.err_msg && res.err_msg.includes('ok')) { enterBigWebview(); } if (window.__test_row_immersive_list) { setTimeout(function () { console.log("xxxxx ok"); enterBigWebview(); }, 2000); } }); }); R$4.on('immersiveStreamExposeArticle', function (res) { console.log("[immersive] immersiveStreamExposeArticle", res); }); R$4.on('immersiveStreamExitFullArticle', function (res) { console.log("[immersive] immersiveStreamExitFullArticle", res); exitBigWebview(); }); R$4.on('immersiveStreamEnterFullArticle', function (res) { console.log("[immersive] immersiveStreamEnterFullArticle", res); enterBigWebview(); }); R$4.on('immersiveStreamSlideOutArticle', function (res) { console.log("[immersive] immersiveStreamSlideOutArticle", res); exitBigWebview(); }); } }; function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen); } function _arrayLikeToArray$2(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } var ua$1 = navigator.userAgent; var is_ios = /(iPhone|iPad|iPod|iOS)/i.test(ua$1); var is_wp = /Windows\sPhone/i.test(ua$1); var is_android$1 = /(Android)/i.test(ua$1); var is_wechat = /MicroMessenger\/([\d\.]+)/i.test(ua$1); var is_mac = /mac\sos/i.test(ua$1) && !is_ios; var is_windows = /windows\snt/i.test(ua$1) && !is_wp; var is_mpapp = /MPAPP\/([\d\.]+)/i.test(ua$1); var is_ipad = /iPad/i.test(ua$1); var is_windows_wechat = /WindowsWechat/i.test(ua$1); var is_mac_wechat = /MacWechat/i.test(ua$1) || /wechat.*mac os/i.test(ua$1); var is_prefetch = is_wechat && window.WeixinPrefecherJSBridge; var is_donut_app = /SAAASDK/i.test(ua$1); var is_harmony = /OpenHarmony|ArkWeb/i.test(ua$1); var is_linux = /Linux\s/i.test(ua$1); var xweb_match = ua$1.match(/XWEB\/([\d.]+)/i); var xweb_version = xweb_match && xweb_match[1] ? parseInt(xweb_match[1], 10) : 0; var is_unified_pc_wechat = /UnifiedPC\w+Wechat/i.test(ua$1); var is_in_miniProgram = is_android$1 && /miniprogram/.test(ua$1.toLowerCase()) || window.__wxjs_environment == 'miniprogram'; var is_wx_work = /wxwork/i.test(ua$1); function getUrlParams() { var vars = location.search.substring(1).split('&'); var params = {}; var _iterator = _createForOfIteratorHelper(vars), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var ele = _step.value; var pair = ele.split('='); var key = decodeURIComponent(pair[0]); if (typeof params[key] === 'undefined') { params[key] = decodeURIComponent(pair[1]); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return params; } function get() { var reg = /MicroMessenger\/([\d\.]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMac() { var reg = /MacWechat\/([\d\.]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMacOS() { var reg = /Mac OS X ([\d_]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1].replace(/_/g, '.'); } return false; } function getWindows() { var reg = /WindowsWechat\(0x(.+?)\)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getWxWork() { var reg = /wxwork\/([\d\.]+)/i; var ret = ua$1.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMpApp() { var appVersion = [2, 4, 5]; var match = navigator.userAgent.match(/MPAPP\/(\d+(\.\d+)*)/); if (match) { appVersion = match[1].split('.').map(function (v) { return Number(v); }); } return appVersion.join('.'); } function getUnifiedPcVer() { var versionInfo = navigator.userAgent.match(/UnifiedPC\w+Wechat\(0xf\w{2}(\w+?)\w{2}\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(0, 1)); var subVersion = getVersionNumber(version.slice(1, 2)); var subVersion2 = getVersionNumber(version.slice(2, 3)); return [mainVersion, subVersion, subVersion2].join('.'); } } function getVersionNumber(hexStr) { return Number(Number("0x".concat(hexStr)).toString(10)); } function getWindowsVersionFormat() { var versionInfo = navigator.userAgent.match(/WindowsWechat\(0x(\w+?)\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(1, 2)); var subVersion = getVersionNumber(version.slice(2, 4)); var subVersion2 = getVersionNumber(version.slice(4, 6)); return [mainVersion, subVersion, subVersion2].join('.'); } return false; } function getInner() { var reg = /MicroMessenger\/[\d\.]+\(0x(.+?)\)/i; var ret = ua$1.match(reg); if (ret && ret[1] && ret[1] != null) { return ret[1]; } if (!ret && /MicroMessenger\/[\d\.]+/i.test(ua$1)) { var urlParams = getUrlParams(); if (urlParams.version) { return urlParams.version; } } return false; } var opfunc = { 'cp-1': function cp1(a, b) { return a < b; }, cp0: function cp0(a, b) { return a === b; }, cp1: function cp1(a, b) { return a > b; } }; function cpVersion(ver, op, canEq, type) { var mmver = false; switch (type) { case 'mac': mmver = getMac(); break; case 'windows': mmver = getWindowsVersionFormat(); break; case 'wxwork': mmver = getWxWork(); break; case 'mpapp': mmver = getMpApp(); break; case 'unifiedpc': mmver = getUnifiedPcVer(); break; default: mmver = get(); break; } if (!mmver) { return; } var mmversion = mmver.split('.'); var version = ver.split('.'); if (!/\d+/g.test(mmversion[mmversion.length - 1])) { mmversion.pop(); } for (var i = 0, len = Math.max(mmversion.length, version.length); i < len; ++i) { var mmv = mmversion[i] || ''; var v = version[i] || ''; var mmvn = parseInt(mmv, 10) || 0; var vn = parseInt(v, 10) || 0; var eq = opfunc.cp0(mmvn, vn); if (eq) { continue; } var cp = opfunc["cp".concat(op)]; return cp(mmvn, vn); } return canEq || op === 0; } function eqVersion(version) { return cpVersion(version, 0); } function gtVersion(version, canEq) { return cpVersion(version, 1, canEq); } function ltVersion(version, canEq) { return cpVersion(version, -1, canEq); } function getPlatform() { if (is_ios) { return 'ios'; } if (is_android$1) { return 'android'; } if (is_mac) { return 'mac_os'; } if (is_windows) { return 'windows'; } return 'unknown'; } var is_google_play = false; var inner_ver_for_google_play_check = getInner(); if (is_android$1 && inner_ver_for_google_play_check) { var v$4 = "0x".concat(inner_ver_for_google_play_check.substr(-2)); if (parseInt(v$4) >= 64 && parseInt(v$4) = hexNum; } return false; } var MMVersion = { get: get, getMac: getMac, getMacOS: getMacOS, getWindows: getWindows, getInner: getInner, getWxWork: getWxWork, getMpApp: getMpApp, cpVersion: cpVersion, eqVersion: eqVersion, gtVersion: gtVersion, ltVersion: ltVersion, getPlatform: getPlatform, getVersionNumber: getVersionNumber, isWp: is_wp, isIOS: is_ios, isAndroid: is_android$1, isHarmony: is_harmony, isHarmonyWechat: is_harmony && is_wechat && cpVersion('1.0.0', 1, true), isInMiniProgram: is_in_miniProgram, isWechat: is_wechat, isMac: is_mac, isWindows: is_windows, isLinux: is_linux, isMacWechat: is_mac_wechat, isWindowsWechat: is_windows_wechat, isWxWork: is_wx_work, isOnlyWechat: is_wechat && !is_wx_work, isMpapp: is_mpapp, isIPad: is_ipad, isGooglePlay: is_google_play, isPrefetch: is_prefetch, isDonutAPP: is_donut_app, compareHexVersion: compareHexVersion, isPcWechat: is_windows_wechat || is_mac_wechat, xwebVersion: xweb_version, isUnifiedPcWechat: is_unified_pc_wechat }; var getIpWoridng = function getIpWoridng(ipConfig) { var ipWording = ''; if (parseInt(ipConfig.countryId, 10) === 156) { ipWording = ipConfig.provinceName; } else if (ipConfig.countryId) { ipWording = ipConfig.countryName; } return ipWording; }; var __setIpWording = function __setIpWording(ipConfig, userInfo, itemShowType) { var ipWrp = document.getElementById('js_ip_wording_wrp'); var ipWording = document.getElementById('js_ip_wording'); if (ipConfig) { window.ip_wording = { countryName: ipConfig.country_name, countryId: ipConfig.country_id, provinceName: ipConfig.province_name }; } if (userInfo && userInfo.isoversea) { window.is_over_sea = parseInt(userInfo.isoversea, 10); } if (window.ip_wording && ipWrp && ipWording && window.is_over_sea !== 1) { var ipWordingDisplay = getIpWoridng(window.ip_wording); if (ipWordingDisplay !== '') { ipWording.innerHTML = ipWordingDisplay; ipWrp.setAttribute('aria-label', ipWordingDisplay); if (MMVersion.isIOS && ipWrp.tagName === 'EM' && !ipWrp.getAttribute('role')) { ipWrp.setAttribute('role', 'option'); } ipWrp.style.display = 'inline-block'; } } if (+itemShowType === 0) ipWrp && ipWrp.style.display == 'none' && ipWrp.parentNode.removeChild(ipWrp); }; var __setTitleModify = function __setTitleModify(isTitleModified) { var wrp = document.getElementById('js_title_modify_wrp'); var titleModifyNode = document.getElementById('js_title_modify'); if (!wrp) return; if (isTitleModified || window.is_title_modified) { titleModifyNode.innerHTML = '标题已修改'; wrp.style.display = 'inline-block'; } else { wrp.parentNode.removeChild(wrp); } }; function setProfileName() { var ua = window.navigator.userAgent; if (/wxwork/i.test(ua)) { var profileName = document.getElementById('js_name'); var authorName = document.getElementById('js_author_name'); var accountNames = document.getElementsByClassName('account_nickname_inner'); if (profileName) { profileName.classList.add('tips_global_primary'); } if (authorName) { authorName.classList.add('tips_global_primary'); } if (accountNames && accountNames.length) { accountNames[0].classList.add('tips_global_primary'); } } } var __setTitle = function __setTitle(showTitle, itemShowType) { var dom = document.getElementById('activity-name'); if (+itemShowType === 5) dom = document.getElementById('js_video_page_title');else if (+itemShowType === 7) dom = document.getElementById('js_audio_title');else if (+itemShowType === 10) dom = document.getElementById('js_text_title'); if (!dom) return; var title = showTitle; if (showTitle.indexOf('——') > -1) { var replaceHtml = '——'; showTitle = showTitle.replace(/——/g, replaceHtml); } if (typeof window.__emojiFormat === 'function') { var emojiTitle = window.__emojiFormat(showTitle); showTitle = emojiTitle; } if (dom) { if (dom.innerHTML) dom.innerHTML = dom.innerHTML.replace(title, showTitle);else dom.innerHTML = showTitle; } }; var isInExp = function isInExp(key) { var _a, _b, _c; return ((_c = (_b = (_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.user_info) === null || _b === void 0 ? void 0 : _b.frontend_exp) === null || _c === void 0 ? void 0 : _c.list) && window.cgiDataNew.user_info.frontend_exp.list.reduce(function (res, item) { if (item.key === key) res = item.value === '1'; return res; }, false); }; var getOriginExpVal = function getOriginExpVal(key) { var _a, _b, _c; return ((_c = (_b = (_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.user_info) === null || _b === void 0 ? void 0 : _b.frontend_exp) === null || _c === void 0 ? void 0 : _c.list) && window.cgiDataNew.user_info.frontend_exp.list.reduce(function (res, item) { if (item.key === key) res = (item === null || item === void 0 ? void 0 : item.value) || ''; return res; }, ''); }; var parseCardWording = function parseCardWording(val) { if (!val) return null; var idx = val.indexOf('|'); if (idx === -1) return { title: val, subtitle: '' }; return { title: val.slice(0, idx), subtitle: val.slice(idx + 1) }; }; var __isNewNovelCardStyle = function __isNewNovelCardStyle() { return true; }; var __setNovelCard = function __setNovelCard(novelCardInfo, userInfo, uin) { var dom = document.getElementById('js_novel_card'); if (!dom) return; try { var cardData; if (typeof novelCardInfo === 'string') { cardData = JSON.parse(novelCardInfo); } else { cardData = novelCardInfo; } if (!cardData || cardData.is_wxa_novel === 0 || cardData.is_wxa_novel === 'false' || !userInfo.show_novel_link) { dom.style.display = 'none'; return; } var _titleDom, _coverDom; if (__isNewNovelCardStyle(uin)) { var titleDom = dom.querySelector('#js_novel_title'); var subtitleDom = dom.querySelector('#js_novel_subtitle'); var expCopy = parseCardWording(getOriginExpVal('novel_card_wording')); if (expCopy && expCopy.title) { var _window$cgiDataNew; if (titleDom) titleDom.textContent = expCopy.title; if (subtitleDom) subtitleDom.textContent = expCopy.subtitle || (((_window$cgiDataNew = window.cgiDataNew) === null || _window$cgiDataNew === void 0 ? void 0 : _window$cgiDataNew.title) || '').htmlDecode(); } else if (subtitleDom) { var _window$cgiDataNew2; subtitleDom.textContent = (((_window$cgiDataNew2 = window.cgiDataNew) === null || _window$cgiDataNew2 === void 0 ? void 0 : _window$cgiDataNew2.title) || '').htmlDecode(); } var coverDom = dom.querySelector('#js_novel_cover img'); if (coverDom) { coverDom.src = cardData.novel_cover; } } dom.style.display = 'flex'; } catch (error) { console.error('设置小说卡片失败:', error); dom.style.display = 'none'; } }; var _Speed = {}; var _userDefine; var _imgurl = 'https://badjs.weixinbridge.com/frontend/reportspeed?'; function saveSpeeds$1(obj) { if (!obj.pid || !obj.speeds) { return -1; } if (!Array.isArray(obj.speeds)) { obj.speeds = [obj.speeds]; } if (obj.user_define) { _userDefine = obj.user_define; } var pid_uin_rid = _conbinUPRid(obj); for (var i = 0; i < obj.speeds.length; i++) { var os = obj.speeds[i]; os.time = Math.floor(+os.time); if (os.sid > 20 && os.time >= 0) _setSidTime(pid_uin_rid, os.sid, os.time); } } function send$1() { _doFunc(function () { setTimeout(function () { for (var item in _Speed) { _get({ pid_uin_rid: item, speeds: _Speed[item], user_define: _userDefine }, _imgurl); } _Speed = {}; }, 100); }); } function setFirstViewTime(obj) { _doFunc(function () { if (!obj.pid || !obj.time) return -1; var pid_uin_rid = _conbinUPRid(obj); _setSidTime(pid_uin_rid, 9, obj.time); }); } function setBasicTime$1(obj) { _doFunc(function () { var pid_uin_rid = _conbinUPRid(obj); if (!_Speed[pid_uin_rid]) _Speed[pid_uin_rid] = []; var performance = window.performance || window.msPerformance || window.webkitPerformance || {}; if (!!performance && !!performance.timing) { var timing = performance.timing || {}; _setSidTime(pid_uin_rid, 1, timing.domainLookupEnd - timing.domainLookupStart); _setSidTime(pid_uin_rid, 2, location.protocol == "https:" && timing.secureConnectionStart != 0 ? timing.connectEnd - timing.secureConnectionStart : 0); _setSidTime(pid_uin_rid, 3, timing.connectEnd - timing.connectStart); _setSidTime(pid_uin_rid, 4, timing.responseStart - timing.requestStart); _setSidTime(pid_uin_rid, 5, timing.responseEnd - timing.responseStart); _setSidTime(pid_uin_rid, 6, timing.domContentLoadedEventStart - timing.domLoading); _setSidTime(pid_uin_rid, 7, timing.domComplete == 0 ? 0 : timing.domComplete - timing.domLoading); _setSidTime(pid_uin_rid, 8, timing.loadEventEnd == 0 ? 0 : timing.loadEventEnd - timing.loadEventStart); (function (_Speed) { setTimeout(function () { if (timing.loadEventEnd) { _setSidTime(pid_uin_rid, 7, timing.domComplete == 0 ? 0 : timing.domComplete - timing.domLoading); _setSidTime(pid_uin_rid, 8, timing.loadEventEnd == 0 ? 0 : timing.loadEventEnd - timing.loadEventStart); } }, 0); })(); if (!_Speed[pid_uin_rid][9]) _setSidTime(pid_uin_rid, 9, timing.domContentLoadedEventStart - timing.navigationStart); _setSidTime(pid_uin_rid, 10, timing.redirectEnd - timing.redirectStart); _setSidTime(pid_uin_rid, 11, timing.domainLookupStart - timing.fetchStart); _setSidTime(pid_uin_rid, 12, timing.domLoading - timing.responseStart); } }); } function _setSidTime(pid_uin_rid, sid, time) { _Speed[pid_uin_rid] = _Speed[pid_uin_rid] || []; _Speed[pid_uin_rid][sid] = _Speed[pid_uin_rid][sid] || []; if (time < 0) return; if (sid < 21) _Speed[pid_uin_rid][sid][0] = time;else _Speed[pid_uin_rid][sid].push(time); } function _conbinUPRid(obj) { if (!obj || !obj.pid) { console && console.error('Must provide a pid'); return ''; } return "".concat(obj.pid, "_").concat(obj.uin || 0, "_").concat(obj.rid || 0); } function _get(obj, url) { var apur = obj.pid_uin_rid.split('_'); var spur = ''; if (apur.length == 3) { spur = "pid=".concat(apur[0], "&uin=").concat(apur[1], "&rid=").concat(apur[2]); } else { console && console.error('pid,uin,rid, invalid args'); return; } if (obj.user_define) { spur += "&user_define=".concat(obj.user_define); } var url1 = "".concat(url + spur, "&speeds="); var url2 = ''; var urlarr = []; for (var i = 1; i < obj.speeds.length; i++) { if (obj.speeds[i]) { for (var j = 0; j < obj.speeds[i].length; j++) { var s = "".concat(i, "_").concat(obj.speeds[i][j]); if (url1.length + url2.length + s.length < 1024) { url2 = "".concat(url2 + s, ";"); } else { if (url2.length) urlarr.push(url1 + url2.substring(0, url2.length - 1)); url2 = "".concat(s, ";"); } } if (i == obj.speeds.length - 1) { urlarr.push(url1 + url2.substring(0, url2.length - 1)); } } } for (var _i = 0; _i < urlarr.length; _i++) { new Image().src = urlarr[_i]; } } var cblist = []; function _doFunc(fnc) { if (document.readyState == "complete") { fnc(); } else { cblist.push(fnc); } } window.addEventListener('load', onLoad, false); function onLoad() { for (var i = 0; i < cblist.length; i++) { cblist[i](); } cblist = []; } var wxgsdk = { saveSpeeds: saveSpeeds$1, send: send$1, setFirstViewTime: setFirstViewTime, setBasicTime: setBasicTime$1 }; var reportLogs = []; var reportExtraLogs = []; var sendUrl = '/mp/jsmonitor?#wechat_redirect'; var monitor = {}; monitor._reportOptions = { idkey: {} }; function ObjWithoutProperty(source, exclude) { if (source === null) return {}; var target = {}; var sourceKeys = Object.keys(source); for (var i = 0; i < sourceKeys.length; i++) { var key = sourceKeys[i]; if (exclude.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function formatDataToString(data) { var reportData = []; for (var key in data) { if (Object.prototype.hasOwnProperty.call(data, key)) { reportData.push(key + '=' + encodeURIComponent(data[key])); } } return reportData.join('&'); } monitor.getReportData = function (opt) { opt = opt || {}; var idkey = monitor._reportOptions.idkey || {}; var key = null; var reportData = {}; var nextKey; try { for (key in idkey) { if (Object.prototype.hasOwnProperty.call(idkey, key) && idkey[key]) { reportLogs.push(key + '_' + idkey[key]); } } } catch (e) { return false; } if (reportLogs.length === 0) { return false; } if (reportExtraLogs.length) { reportData.lc = reportExtraLogs.length; reportExtraLogs.forEach(function (extraLog, index) { reportData["log".concat(index)] = extraLog; }); } try { var reportOptions = monitor._reportOptions; if (reportOptions !== null && reportOptions !== undefined) { for (nextKey in reportOptions) { if (Object.prototype.hasOwnProperty.call(reportOptions, nextKey)) { reportData[nextKey] = reportOptions[nextKey]; } } } } catch (e) { reportData = {}; } reportData.idkey = reportLogs.join(';'); reportData.t = Math.random(); if (opt.remove !== false) { reportLogs = []; reportExtraLogs = []; monitor._reportOptions = { idkey: {} }; } return reportData; }; monitor.setLogs = function (opt) { var id = opt.id; var key = opt.key; var value = opt.value; var extraLog = opt.log; var others = ObjWithoutProperty(opt, ['id', 'key', 'value', 'log']); var idkey = monitor._reportOptions.idkey || {}; var param = id + '_' + key; if (idkey[param]) { idkey[param] += value; } else { idkey[param] = value; } monitor._reportOptions.idkey = idkey; if (extraLog) { reportExtraLogs.push(extraLog); } try { if (others !== null && others !== undefined) { for (var otherKey in others) { if (Object.prototype.hasOwnProperty.call(others, otherKey)) { monitor._reportOptions[otherKey] = others[otherKey]; } } } } catch (e) { console.log(e); } return monitor; }; monitor.setAvg = function (id, key, value) { var idkey = monitor._reportOptions.idkey || {}; var param1 = id + '_' + key; var param2 = id + '_' + (key - 1); if (idkey[param1]) { idkey[param1] += value; } else { idkey[param1] = value; } if (idkey[param2]) { idkey[param2] += 1; } else { idkey[param2] = 1; } monitor._reportOptions.idkey = idkey; return monitor; }; monitor.setSum = function (id, key) { var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; var idkey = monitor._reportOptions.idkey; var param = id + '_' + key; if (idkey[param]) { idkey[param] += value; } else { idkey[param] = value; } monitor._reportOptions.idkey = idkey; return monitor; }; monitor.send = function (async, ajax, origin) { if (async !== false) { async = true; } var data = monitor.getReportData(); origin = origin || ''; if (!data) { return; } if (!!ajax && ajax instanceof Function) { ajax({ url: origin + sendUrl, type: 'POST', mayAbort: true, data: data, async: async, timeout: 2000, dontReport: true }); } else { new Image().src = origin + '/mp/jsmonitor?' + formatDataToString(data) + '#wechat_redirect'; } }; if (typeof window !== 'undefined' && window.__monitor) { monitor = window.__monitor; } else { typeof window !== 'undefined' && (window.__monitor = monitor); } var monitor$1 = monitor; function _toPrimitive(input, hint) { if (_typeof$3(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof$3(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof$3(key) === "symbol" ? key : String(key); } function _defineProperty$1(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var Device = {}; function detect(ua) { var MQQBrowser = ua.match(/MQQBrowser\/(\d+\.\d+)/i); var MQQClient = ua.match(/QQ\/(\d+\.(\d+)\.(\d+)\.(\d+))/i) || ua.match(/V1_AND_SQ_([\d\.]+)/); var WeChat = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/) || ua.match(/MicroMessenger\/((\d+)\.(\d+))/); var MacOS = ua.match(/Mac\sOS\sX\s(\d+[\.|_]\d+)/); var WinOS = ua.match(/Windows(\s+\w+)?\s+?(\d+\.\d+)/); var Linux = ua.match(/Linux\s/); var MiuiBrowser = ua.match(/MiuiBrowser\/(\d+\.\d+)/i); var M1 = ua.match(/MI-ONE/); var MIPAD = ua.match(/MI PAD/); var UC = ua.match(/UCBrowser\/(\d+\.\d+(\.\d+\.\d+)?)/) || ua.match(/\sUC\s/); var IEMobile = ua.match(/IEMobile(\/|\s+)(\d+\.\d+)/) || ua.match(/WPDesktop/); var ipod = ua.match(/(ipod).*\s([\d_]+)/i); var ipad = ua.match(/(ipad).*\s([\d_]+)/i); var iphone = ua.match(/(iphone)\sos\s([\d_]+)/i); var Chrome = ua.match(/Chrome\/(\d+\.\d+)/); var AndriodBrowser = ua.match(/Mozilla.*Linux.*Android.*AppleWebKit.*Mobile Safari/); var android = ua.match(/(android)\s([\d\.]+)/i); var harmony = ua.match(/(OpenHarmony)\s([\d\.]+)/i); Device.browser = Device.browser || {}, Device.os = Device.os || {}; Device.os.type = -1; Device.os.unifiedPC = ua.match(/UnifiedPC/); Device.os.unifiedMac = /UnifiedPCMac/i.test(ua); Device.os.unifiedWindows = /UnifiedPCWindows/i.test(ua); if (window.ActiveXObject) { var vie = 6; (window.XMLHttpRequest || ua.indexOf('MSIE 7.0') > -1) && (vie = 7); (window.XDomainRequest || ua.indexOf('Trident/4.0') > -1) && (vie = 8); ua.indexOf('Trident/5.0') > -1 && (vie = 9); ua.indexOf('Trident/6.0') > -1 && (vie = 10); Device.browser.ie = true, Device.browser.version = vie; } else if (ua.indexOf('Trident/7.0') > -1) { Device.browser.ie = true, Device.browser.version = 11; } if (android) { Device.os.android = true; Device.os.version = android[2]; Device.os.type = 2; } if (harmony) { Device.os.harmony = true; Device.os.version = harmony[2]; Device.os.type = 42; } if (ipod) { Device.os.ios = Device.os.ipod = true; Device.os.version = ipod[2].replace(/_/g, '.'); } if (ipad) { Device.os.ios = Device.os.ipad = true; Device.os.version = ipad[2].replace(/_/g, '.'); Device.os.type = 13; } if (iphone) { Device.os.iphone = Device.os.ios = true; Device.os.version = iphone[2].replace(/_/g, '.'); Device.os.type = 1; } if (WinOS) Device.os.windows = true, Device.os.version = WinOS[2], Device.os.type = 15; if (MacOS) Device.os.Mac = true, Device.os.version = MacOS[1], Device.os.type = 14; if (Linux) Device.os.Linux = true, Device.os.type = 33; if (ua.indexOf('lepad_hls') > 0) Device.os.LePad = true; if (MIPAD) Device.os.MIPAD = true; if (MQQBrowser) Device.browser.MQQ = true, Device.browser.version = MQQBrowser[1]; if (MQQClient) Device.browser.MQQClient = true, Device.browser.version = MQQClient[1]; if (WeChat) Device.browser.WeChat = true, Device.browser.mmversion = Device.browser.version = WeChat[1]; if (MiuiBrowser) Device.browser.MIUI = true, Device.browser.version = MiuiBrowser[1]; if (UC) Device.browser.UC = true, Device.browser.version = UC[1] || NaN; if (IEMobile) Device.browser.IEMobile = true, Device.browser.version = IEMobile[2]; if (AndriodBrowser) { Device.browser.AndriodBrowser = true; } if (M1) { Device.browser.M1 = true; } if (Chrome) { Device.browser.Chrome = true, Device.browser.version = Chrome[1]; } if (Device.os.windows) { if (typeof navigator.platform !== "undefined" && navigator.platform.toLowerCase() == "win64") { Device.os.win64 = true; } else { Device.os.win64 = false; } } if (Device.os.Mac || Device.os.windows || Device.os.Linux || Device.os.unifiedPC || /OpenHarmony/i.test(ua) && /pc/i.test(ua)) { Device.os.pc = true; } var osType = { iPad7: 'iPad; CPU OS 7', LePad: 'lepad_hls', XiaoMi: 'MI-ONE', SonyDTV: "SonyDTV", SamSung: 'SAMSUNG', HTC: 'HTC', VIVO: 'vivo' }; for (var os in osType) { Device.os[os] = ua.indexOf(osType[os]) !== -1; } Device.os.phone = Device.os.phone || /windows phone/i.test(ua); Device.os.getNumVersion = function () { return parseFloat(Device.os.version); }; Device.os.hasTouch = 'ontouchstart' in window; if (Device.os.hasTouch && Device.os.ios && Device.os.getNumVersion() < 6) { Device.os.hasTouch = false; } if (Device.browser.WeChat && Device.browser.version < 5.0) { Device.os.hasTouch = false; } Device.browser.getNumVersion = function () { return parseFloat(Device.browser.version); }; Device.browser.isFFCanOcx = function () { return !!Device.browser.firefox && Device.browser.getNumVersion() >= 3.0; }; Device.browser.isCanOcx = function () { return !!Device.os.windows && (!!Device.browser.ie || Device.browser.isFFCanOcx() || !!Device.browser.webkit); }; Device.browser.isNotIESupport = function () { return !!Device.os.windows && (!!Device.browser.webkit || Device.browser.isFFCanOcx()); }; Device.userAgent = {}; Device.userAgent.browserVersion = Device.browser.version; Device.userAgent.osVersion = Device.os.version; if (Device.os.unifiedPC) { if (Device.os.unifiedWindows) Device.os.type = 37;else if (Device.os.unifiedMac) Device.os.type = 38;else Device.os.type = 39; } delete Device.userAgent.version; } detect(window.navigator.userAgent); function canSupportH5Video() { var ua = window.navigator.userAgent, m = null; if (!!Device.os.android) { if (Device.browser.MQQ && Device.browser.getNumVersion() >= 4.2) { return true; } if (ua.indexOf('MI2') != -1) { return true; } if (Device.os.version >= '4' && (m = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/))) { if (parseFloat(m[1]) >= 4.2) { return true; } } if (Device.os.version >= '4.1') { return true; } } return false; } function canSupportVideoMp4() { var video = document.createElement('video'); if (typeof video.canPlayType === 'function') { if (video.canPlayType('video/mp4; codecs="mp4v.20.8"') === 'probably') { return true; } if (video.canPlayType('video/mp4; codecs="avc1.42E01E"') === 'probably' || video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"') === 'probably') { return true; } } return false; } function canSupportAutoPlay() { if (Device.os.ios && Device.os.getNumVersion() < 10) { return false; } return true; } function isLockdownMode() { if (!Device.os.ios || Device.os.getNumVersion() < 16) { return false; } if (typeof WebAssembly === 'undefined' && typeof OfflineAudioContext === 'undefined' && typeof WebGLRenderingContext === 'undefined') { return true; } return false; } Device.canSupportVideo = canSupportVideoMp4 || canSupportH5Video; Device.canSupportVideoMp4 = canSupportVideoMp4; Device.canSupportH5Video = canSupportH5Video; Device.canSupportAutoPlay = canSupportAutoPlay; Device.isLockdownMode = isLockdownMode; Device.cpVersion = function (version) { var cp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var canEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var nowVersionStr = Device.os.version; if (!nowVersionStr) return false; var versionArr = version.split('.'); var nowVersionArr = nowVersionStr.split('.'); for (var i = 0; i < Math.max(nowVersionArr.length, versionArr.length); i++) { var vi = +versionArr[i]; var nvi = +nowVersionArr[i]; if (vi === nvi) continue; if (cp > 0) return vi > nvi; if (cp < 0) return vi < nvi; } return canEqual || cp === 0; }; var initJsBridge = false; if (!window.JSAPIEventCallbackMap) { window.JSAPIEventCallbackMap = {}; } function connectWebViewJavascriptBridge(callback) { if (window.WebViewMPapp || window.WebViewJavascriptBridge) { return callback(window.WebViewMPapp || window.WebViewJavascriptBridge); } if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); } window.WVJBCallbacks = [callback]; if (!MMVersion.isMpapp) { return false; } if (!initJsBridge) { initJsBridge = true; var WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'https://__bridge_loaded__'; document.body.appendChild(WVJBIframe); setTimeout(function () { initJsBridge = false; document.body.removeChild(WVJBIframe); }, 0); } return false; } function invoke(jsapiName, opt, callback) { connectWebViewJavascriptBridge(function (bridge) { try { if (typeof opt === 'function') { callback = opt; } if (_typeof$3(opt) !== 'object' && typeof opt !== 'string') { opt = {}; } bridge.callHandler(jsapiName, opt, function (res) { try { var ret = _typeof$3(res) === 'object' ? res : JSON.parse(res); var errMsg = ret.err_msg || ret.errMsg; console.info("[mpapp jsapi] invoke->".concat(jsapiName, " ").concat(opt.action || '', " ").concat(errMsg)); typeof callback === 'function' && callback(ret); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', "callback ".concat(jsapiName, " error:"), { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error("[mpapp jsapi] ".concat(jsapiName, " ").concat(opt.action || ''), e, res); } }); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', 'callback error:', { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error('[mpapp jsapi]', e); } }); } function _log(level, msg) { if (level === 'log') { level = 'info'; msg = "[WechatFe]".concat(msg); } else { var prefix = "__wap__".concat(window.__second_open__ ? ' (sec)' : ''); msg = "".concat(prefix, " ").concat(msg, " location:[").concat(location.href, "]"); } msg += new Error().stack; if (MMVersion.isMpapp) { invoke('WNNativeCallbackLog', msg); } else if (MMVersion.isWechat) { if (MMVersion.isAndroid) { console.warn('[system]', "[MicroMsg.JsApiLog][".concat(level, "] jslog : ").concat(msg)); } else if (MMVersion.isIOS) { R$4.invoke('writeLog', { level: level, msg: msg }); } else { R$4.invoke('log', { level: level, msg: msg }); } } } var Log = { info: function info() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _log('info', args.join(' ')); }, warn: function warn() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } _log('warn', args.join(' ')); }, error: function error() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } _log('error', args.join(' ')); }, debug: function debug() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } _log('debug', args.join(' ')); }, log: function log() { for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5]; } _log('info', args.join(' ')); } }; var logList = []; var log = function log(msg) { logList.push(msg); }; var printLog = function printLog() { for (var i = 0, len = logList.length; i < len; ++i) { console.log("[RespType]".concat(logList[i])); } }; var isArray = function isArray(val) { return Object.prototype.toString.call(val) === '[object Array]'; }; var getValueType = function getValueType(value) { if (isArray(value)) { return 'array'; } return _typeof$3(value); }; var parseRtDesc = function parseRtDesc(rtDesc, k) { var type = 'mix'; var isRequired = false; var key = k; if (k) { var requireKeyWord = '_R'; var pos = k.indexOf(requireKeyWord); var len = k.length - requireKeyWord.length; isRequired = pos !== -1 && pos === len; key = isRequired ? k.substring(0, len) : k; } if (typeof rtDesc === 'string') { type = rtDesc; } else if (isArray(rtDesc)) { type = 'array'; } else if (_typeof$3(rtDesc) === 'object') { type = 'object'; } return { key: key, type: type, isRequired: isRequired }; }; var checkForArrayRtDesc = function checkForArrayRtDesc(arr, rtDescs) { if (!isArray(arr)) { return false; } for (var i = 0, len = arr.length; i < len; ++i) { var value = arr[i]; var rtDesc = void 0; var j = 0; var flag = rtDescs.length === 0; while (rtDesc = rtDescs[j++]) { if (checkForRtDesc(value, rtDesc)) { flag = true; break; } } if (!flag) { return false; } } return true; }; var checkForStringRtDesc = function checkForStringRtDesc(value, rtDesc) { var valueType = getValueType(value); var desc = parseRtDesc(rtDesc); var ret = desc.type === valueType; if (!ret) { log("miss match type : ".concat(valueType, " !== ").concat(desc.type)); } return ret; }; var checkForObjectRtDesc = function checkForObjectRtDesc(json, rtDesc) { if (_typeof$3(json) !== 'object' || isArray(json)) { log('must be object'); return false; } var rootJson = json; var nowCheckValue = json; for (var k in rtDesc) { if (rtDesc.hasOwnProperty(k)) { var nowCheckDesc = rtDesc[k]; var desc = parseRtDesc(nowCheckDesc, k); var key = desc.key; nowCheckValue = rootJson[key]; var valueType = getValueType(nowCheckValue); if (desc.isRequired && nowCheckValue === undefined) { log("is required @key=".concat(key)); return false; } if (nowCheckValue !== undefined) { if (valueType !== desc.type && desc.type !== 'mix') { log("miss match type : ".concat(valueType, " !== ").concat(desc.type, " @key=").concat(key)); return false; } if ((valueType === 'array' || valueType === 'object') && desc.type !== 'mix') { if (!checkForRtDesc(nowCheckValue, nowCheckDesc)) { return false; } } } } } return true; }; var checkForRtDesc = function checkForRtDesc(json, rtDesc) { if (isArray(rtDesc)) { return checkForArrayRtDesc(json, rtDesc); } if (_typeof$3(rtDesc) === 'object') { return checkForObjectRtDesc(json, rtDesc); } if (typeof rtDesc === 'string') { return checkForStringRtDesc(json, rtDesc); } return false; }; var _check = function check(json, rtDescs) { if (typeof json === 'string') { try { json = eval("(".concat(json, ")")); } catch (e) { log('parse json error'); return false; } } if (_typeof$3(json) !== 'object') { log('must be object'); return false; } if (!isArray(rtDescs)) { rtDescs = [rtDescs]; } var rtDesc; var i = 0; while (rtDesc = rtDescs[i++]) { if (checkForRtDesc(json, rtDesc)) { return true; } } return false; }; var RespTypes = { check: function check(json, rtDesc) { logList = []; try { var ret = _check(json, rtDesc); if (!ret) { printLog(); } return ret; } catch (e) { logList.push("[rtException]".concat(e.toString())); printLog(); return false; } }, getMsg: function getMsg() { return logList.join(';'); } }; function _arrayWithHoles$1(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArrayLimit$1(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } function _nonIterableRest$1() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _slicedToArray$1(arr, i) { return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1(); } function getInflightMap() { if (!window.__dedupe_promise_inflight__) { window.__dedupe_promise_inflight__ = new Map(); } return window.__dedupe_promise_inflight__; } function dedupePromise(key, factory) { var inflightMap = getInflightMap(); var existing = inflightMap.get(key); console.log("dedupePromise key=".concat(key, " existing=").concat(existing)); if (existing) { return existing; } var promise = Promise.resolve().then(factory)["finally"](function () { inflightMap["delete"](key); }); inflightMap.set(key, promise); return promise; } function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties$1(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var prefix = '__WXLS__'; var localStorage$1 = window.localStorage || { getItem: function getItem() {}, setItem: function setItem() {}, removeItem: function removeItem() {}, key: function key() {}, clear: function clear() { var _a, _b; (_b = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a); }, length: 0 }; var evictionPolicies = { noeviction: function noeviction(data) { return data; }, 'allkeys-random': function allkeysRandom(data, size) { var keys = Object.keys(data); var memCnt = 0; while (memCnt < size) { var len = keys.length; var randomKeyIdx = Math.floor(Math.random() * len); var randomKey = keys[randomKeyIdx]; memCnt += JSON.stringify(data[randomKey]).length; delete data[randomKey]; keys = Object.keys(data); } return data; }, 'volatile-ttl': function volatileTtl(data, size) { var keys = Object.keys(data); keys = keys.sort(function (key1, key2) { var d1 = data[key1]; var d2 = data[key2]; if (d1.exp < d2.exp) return -1; if (d1.exp > d2.exp) return 1; return 0; }); var memCnt = 0; for (var i = 0; i < keys.length; i++) { if (memCnt >= size) break; var key = keys[i]; memCnt += JSON.stringify(data[key]).length; delete data[key]; } return data; }, 'clear-all': function clearAll() { localStorage$1.clear(); return {}; } }; function formatLogMsg(str) { return "[WXLS] ".concat(str); } var LS = function () { function LS(func, evictionPolicy, logger) { _classCallCheck$1(this, LS); this.logger = function () {}; if (!func) throw 'require function name.'; this.evictionPolicy = 'noeviction'; this.key = func; if (typeof logger === 'function') { this.logger = function (str, type) { return logger(formatLogMsg(str), type); }; } if (evictionPolicy && Object.keys(evictionPolicies).indexOf(evictionPolicy) !== -1) { this.evictionPolicy = evictionPolicy; } this.init(); } _createClass$1(LS, [{ key: "init", value: function init() { var _a, _b; this.check(); if (Math.random() * 1000 < 1) { (_a = this.logger) === null || _a === void 0 ? void 0 : _a.call(this, "LSlen: ".concat(((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length) || localStorage$1.length), 'report'); } } }, { key: "getData", value: function getData() { var data = LS.getItem(this.key) || '{}'; try { data = JSON.parse(data); } catch (e) { this.logger("getData error: ".concat(e), 'error'); localStorage$1.removeItem(prefix + this.key); data = {}; } return data; } }, { key: "check", value: function check(isReturn) { var data = this.getData(); var temp = {}; var now = +new Date(); var key; var val; for (key in data) { val = data[key]; if (+val.exp > now) { temp[key] = val; } } this.logger("check info: isReturn:".concat(isReturn, " data:").concat(JSON.stringify(temp)), 'info'); if (isReturn) return temp; LS.setItem(this.key, JSON.stringify(temp), this.logger); } }, { key: "set", value: function set(key, val, exp) { var _a, _b; var data = this.check(true); data[key] = { val: val, exp: exp || +new Date() }; try { if (localStorage$1.getItem(prefix + this.key)) localStorage$1.removeItem(prefix + this.key); localStorage$1.setItem(prefix + this.key, JSON.stringify(data)); this.logger("first set success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data)), 'success'); } catch (e) { this.logger("first set error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data), " k:").concat(key, " v:").concat(val, " exp:").concat(exp), 'error'); localStorage$1.clear(); LS.setItem(this.key, JSON.stringify(_defineProperty$1({}, key, { val: val, exp: exp || +new Date() })), this.logger); } } }, { key: "get", value: function get(key) { var data = this.getData(); data = data[key]; return data ? data.val || null : null; } }, { key: "remove", value: function remove(key) { var data = this.getData(); if (data[key]) delete data[key]; LS.setItem(this.key, JSON.stringify(data), this.logger); } }], [{ key: "getItem", value: function getItem(key) { key = prefix + key; return localStorage$1.getItem(key); } }, { key: "setItem", value: function setItem(key, val, logger) { var _a, _b; key = prefix + key; var n = 3; while (n--) { try { if (localStorage$1.getItem(key)) localStorage$1.removeItem(key); localStorage$1.setItem(key, val); typeof logger === 'function' && logger("setItem success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(key, " val:").concat(val), 'success'); break; } catch (e) { typeof logger === 'function' && logger("setItem error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(key, " val:").concat(val), 'error'); LS.clear(); } } } }, { key: "clear", value: function clear() { var i; var k; for (i = localStorage$1.length - 1; i >= 0; i--) { k = localStorage$1.key(i); if (k.indexOf(prefix) == 0) { localStorage$1.removeItem(k); } } } }, { key: "getSupportEvicationPolicy", value: function getSupportEvicationPolicy() { return Object.keys(evictionPolicies); } }]); return LS; }(); var innerVersion = (MMVersion.getInner() || '').toUpperCase(); var getBizLS = new LS('get_biz_result'); function getBizMap() { if (!window.__get_biz_map__) { window.__get_biz_map__ = {}; } return window.__get_biz_map__; } var isGetBizSupported = MMVersion.isOnlyWechat && MMVersion.isIOS && innerVersion >= '18003C2A' || MMVersion.isOnlyWechat && MMVersion.isAndroid && innerVersion >= '28003D3C' || MMVersion.isUnifiedPcWechat && MMVersion.cpVersion('4.1.10', 1, true, 'unifiedpc'); function invokeGetBiz(needCheckBiz, bizType) { return dedupePromise("getBiz:".concat(needCheckBiz, ":").concat(bizType), function () { return new Promise(function (resolve, reject) { if (!isGetBizSupported) { reject('Not support'); } else { R$4.invoke('handleMPPageAction', { action: 'getBiz', needCheckBiz: needCheckBiz, bizType: bizType }, function (res) { console.log("getBiz needCheckBiz=".concat(needCheckBiz, " bizType=").concat(bizType, " res: ").concat(JSON.stringify(res))); if (res && res.err_msg && res.err_msg.indexOf('ok') > -1) { var bizMap = getBizMap(); bizMap[bizType] = res.biz; resolve(res.biz); getBizLS.set("".concat(bizType, "_get_biz_result"), res.biz, +new Date() + 3 * 24 * 60 * 60 * 1000); } else { reject('Failed to get biz'); } }); } }); }); } function getBiz(needCheckBiz, bizType) { var _a; if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } var bizMap = getBizMap(); if (!needCheckBiz && bizMap[bizType] !== undefined) { return Promise.resolve(bizMap[bizType]); } return invokeGetBiz(needCheckBiz, bizType); } MMVersion.isOnlyWechat && MMVersion.isIOS || MMVersion.isOnlyWechat && MMVersion.isAndroid || MMVersion.isUnifiedPcWechat && MMVersion.cpVersion('4.1.10', 1, true, 'unifiedpc'); var getIsAuthor = function getIsAuthor(cb, bizuin, needCheckBiz, bizType) { var _a; if (bizuin === void 0) { bizuin = window.biz; } if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } getBiz(needCheckBiz, bizType).then(function (biz) { cb(biz && biz === bizuin); })["catch"](function () { cb(false); }); }; function parseUrl$1(url) { var len = url.length; var ques_pos = url.indexOf('?'); var hash_pos = url.indexOf('#'); hash_pos = hash_pos == -1 ? len : hash_pos; ques_pos = ques_pos == -1 ? hash_pos : ques_pos; var host = url.substring(0, ques_pos); var query_str = url.substring(ques_pos + 1, hash_pos); var hash = url.substring(hash_pos + 1); return { host: host, query_str: query_str, hash: hash }; } function join(url, args, noEncode) { var ret = parseUrl$1(url); var query_str = ret.query_str; var args_arr = []; if (_typeof$3(args) === 'object') { for (var key in args) { if (args.hasOwnProperty(key)) { args_arr.push("".concat(key, "=").concat(noEncode ? args[key] : encodeURIComponent(args[key]))); } } } else { args_arr.push(noEncode ? args : encodeURIComponent(args)); } if (args_arr.length > 0) { query_str += (query_str !== "" ? "&" : "") + args_arr.join("&"); } return ret.host + (query_str !== "" ? "?".concat(query_str) : "") + (ret.hash !== "" ? "#".concat(ret.hash) : ""); } function addParam(url, param, value, forceReplace) { url = url || location.href; var firstAndPos = url.indexOf("&"); var len = url.length; var reverseUrl = url.replace(/^[\w\d]+:[/\\]+/g, "").split("").reverse(); if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (searchElement, fromIndex) { var k; if (this == null) { throw new TypeError('"this" is null or not defined'); } var O = Object(this); var len = O.length >>> 0; if (len === 0) { return -1; } var n = fromIndex || 0; if (Math.abs(n) === Infinity) { n = 0; } if (n >= len) { return -1; } k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); while (k < len) { if (k in O && O[k] === searchElement) { return k; } k++; } return -1; }; } var lastSlashPos = len - 1 - reverseUrl.indexOf("/"); if (firstAndPos !== -1 && url.indexOf("?") == -1 && firstAndPos > lastSlashPos) { url = url.replace("&", "?"); } var reg = new RegExp("([\\?&]".concat(param, "=)[^&#]*")); if (!url.match(reg)) { var urlInfo = parseUrl$1(url); var hash = urlInfo.hash ? '#' + urlInfo.hash : ''; url = url.replace(hash, ''); var _pos = url.indexOf("?"); if (_pos == -1) { return "".concat(url, "?").concat(param, "=").concat(value).concat(hash); } if (_pos == url.length - 1) { return "".concat(url + param, "=").concat(value).concat(hash); } return "".concat(url, "&").concat(param, "=").concat(value).concat(hash); } if (forceReplace === true) { return url.replace(reg, "$1".concat(value)); } return url; } function addWxfrom(src, wxfrom) { var offset = window.service_type === 1 ? 10000 : 0; return addParam(src, 'wxfrom', offset + Number(wxfrom), true); } function removeParam(url, param) { var _URL = new URL(url), protocol = _URL.protocol, host = _URL.host, pathname = _URL.pathname, search = _URL.search, hash = _URL.hash; var queryParams = new URLSearchParams(search); queryParams["delete"](param); var newSearch = queryParams.toString(); var newUrl = new URL("".concat(protocol, "//").concat(host).concat(pathname).concat(newSearch ? "?".concat(decodeURIComponent(newSearch)) : "").concat(hash)); return newUrl.toString(); } function getQuery$1(name, url) { var u = url || window.location.search; var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)")); var r = u.substring(u.indexOf('?') + 1).match(reg); return r !== null ? r[2] : ''; } function encodeBase64(value) { try { return window.btoa(value); } catch (e) { return ''; } } function decodeBase64(value) { try { return window.atob(value); } catch (e) { return ''; } } function joinUrl$1(url) { var obj = {}; if (typeof window.uin !== 'undefined') { obj.uin = window.uin; } if (typeof window.key !== 'undefined') { obj.key = window.key; } if (typeof window.pass_ticket !== 'undefined') { obj.pass_ticket = window.pass_ticket; } if (typeof window.wxtoken !== 'undefined') { obj.wxtoken = window.wxtoken; } if (typeof window.devicetype !== 'undefined') { obj.devicetype = window.devicetype; } if (typeof window.clientversion !== 'undefined') { obj.clientversion = window.clientversion || MMVersion.getInner(); } obj.version = obj.clientversion; if (window.biz) { obj.__biz = window.biz; } if (getQuery$1('enterid')) { obj.enterid = getQuery$1('enterid'); } if (typeof window.appmsg_token !== 'undefined') { obj.appmsg_token = window.appmsg_token; } else if (url.indexOf('advertisement_report') > -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = navigator.userAgent.indexOf('TBS/') !== -1 ? '1' : '0'; obj.f = 'json'; return join(url, obj); } function joinUserArticleRole(url, notJoin, cb) { var bizuin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.biz; var needCheckBiz = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; if (notJoin) { cb(url); } else { getIsAuthor(function (isAuthor) { cb(addParam(url, 'user_article_role', isAuthor ? 1 : 0, true)); }, bizuin, needCheckBiz); } } function getA8keyQuery(name, url) { return new Promise(function (resolve) { if (window.__secPageAuthPromise) { window.__secPageAuthPromise.then(function () { resolve(getQuery$1(name, url)); }); } else { resolve(getQuery$1(name, url)); } }); } function addHash(url, hash) { var isReplace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (isReplace) { return "".concat(url.split('#')[0]).concat(hash); } return "".concat(url).concat(url.indexOf('#') === -1 ? '#' : '').concat(hash); } function decodeUrl(url) { var _url = url; while (_url.indexOf('&') !== -1) { _url = _url.htmlDecode(); } return _url; } var Url = { parseUrl: parseUrl$1, join: join, addParam: addParam, addWxfrom: addWxfrom, addHash: addHash, getQuery: getQuery$1, getA8keyQuery: getA8keyQuery, encodeBase64: encodeBase64, decodeBase64: decodeBase64, joinUrl: joinUrl$1, joinUserArticleRole: joinUserArticleRole, removeParam: removeParam, decodeUrl: decodeUrl }; var _a; var doc; var isAcrossOrigin = false; try { doc = (_a = window.top) === null || _a === void 0 ? void 0 : _a.window.document; } catch (e) { isAcrossOrigin = true; } var StatusTextMap = { 200: 'OK', 302: 'Found', 400: 'Bad Request', 500: 'Internal Server Error' }; function getIsAcrossOrigin() { return isAcrossOrigin; } function networkStartLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "< [request ".concat(item.requestType, "]"), item.url, item.method, item); var rdevRequestId; var requestTime = performance.now() / 1000; if ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) { try { var willBeSentOptions = { url: item.url, method: item.method, requestHeaders: Object.assign({}, item.requestHeader || {}, { RDEV_REQUEST_TYPE: item.requestType }), requestBody: item.postData, requestTime: requestTime }; rdevRequestId = window.RemoteDevSdk.instance.Network.customRequestWillBeSent(willBeSentOptions); } catch (err) {} } if ((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) { try { var vconsoleNetworkItem = (_e = (_d = window.vConsole.network).add) === null || _e === void 0 ? void 0 : _e.call(_d, Object.assign({}, item, { startTime: Date.now(), endTime: Date.now(), status: 0, readyState: 2, response: '' })); vconsoleNetworkItem.rdevRequestId = rdevRequestId; vconsoleNetworkItem.requestTime = requestTime; return vconsoleNetworkItem; } catch (err) {} } if (rdevRequestId) { return Object.assign(Object.assign({}, item), { id: '__only_rdev_log__', rdevRequestId: rdevRequestId, requestTime: requestTime }); } return Object.assign({}, item, { id: '__system_log__' }); } function networkEndLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "> [response ".concat(item.requestType, "]"), item.url, item.response, item); if (item.rdevRequestId && ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) && item.id !== '__system_log__') { try { var finishedOptions = { requestId: item.rdevRequestId, url: item.url, status: +(item.status || '500'), statusText: StatusTextMap[+(item.status || '500')] || 'Error', responseHeaders: { RDEV_RESPONSE_TYPE: item.requestType }, responseBody: item.response, requestTime: item.requestTime || 0, duration: item.costTime || (item.endTime && item.startTime ? item.endTime - item.startTime : performance.now() / 1000 - (item.requestTime || 0)) }; window.RemoteDevSdk.instance.Network.customRequestFinished(finishedOptions); } catch (err) {} } if (((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) && item.id !== '__system_log__') { try { item.statusText = "".concat(item.status); item.responseSize = item.response.length; item.responseSizeText = "".concat(item.response.length); return (_e = (_d = window.vConsole.network).update) === null || _e === void 0 ? void 0 : _e.call(_d, item.id, Object.assign({}, item, { readyState: 4 })); } catch (err) {} } } function reqType(obj, path) { return obj.url.indexOf(path) > -1 && obj.url.indexOf('action=') === -1 && (!obj.data || !obj.data.action); } function findAjaxScopeByConfig(url, config) { var pathname = new URL(url, location.href).pathname || ''; var scope = config[pathname.slice(1)]; if (scope) { return scope; } } function getAjaxScope(ajaxUrl) { if (Url.getQuery('no_transfer', location.href) !== '1' && MMVersion.isWechat && !MMVersion.isInMiniProgram && !MMVersion.isWxWork && !MMVersion.isMpapp && !isAcrossOrigin && window.__ajaxTransferConfig && _typeof$3(window.__ajaxTransferConfig) === 'object' && ( MMVersion.isIOS && MMVersion.compareHexVersion('1800282F') || MMVersion.isAndroid && MMVersion.compareHexVersion('28002234') || MMVersion.isWindowsWechat && MMVersion.cpVersion('3.9.5', 1, true, 'windows') || MMVersion.isMacWechat && MMVersion.cpVersion('3.8.4', 1, true, 'mac') || MMVersion.isHarmonyWechat && MMVersion.compareHexVersion('0xf3100b00') && !MMVersion.compareHexVersion('0xf3100c00') || MMVersion.compareHexVersion('0xf3800b00'))) { try { return findAjaxScopeByConfig(ajaxUrl, window.__ajaxTransferConfig); } catch (err) { } } } function getActionByData(data) { var _a, _b; if (_typeof$3(data) === 'object' && !(data instanceof Blob)) { if (data.hasOwnProperty('data') && typeof data.data === 'string') { try { var workedData = JSON.parse(data.data); return workedData.action || ''; } catch (e) {} } return data.action || ''; } if (typeof data === 'string') { return ((_b = (_a = data.split(/[?&]/).find(function (x) { return x.indexOf('action=') >= 0; })) === null || _a === void 0 ? void 0 : _a.split('=')) === null || _b === void 0 ? void 0 : _b[1]) || ''; } return ''; } var METHOD_ENUM = { GET: 0, POST: 1 }; var __moon_report = window.__moon_report || function () {}; var MOON_AJAX_SUCCESS_OFFSET = 3; var MOON_AJAX_NETWORK_OFFSET = 4; var MOON_AJAX_ERROR_OFFSET = 5; var MOON_AJAX_TIMEOUT_OFFSET = 6; var MOON_AJAX_COMPLETE_OFFSET = 7; var LENGTH_LIMIT = 4096; function reportRtError(type, id, key, content) { var log = ''; var prefix = type === 'rt' ? 'rtCheckError' : 'Ajax Length Limit'; if (content === null || content === void 0 ? void 0 : content.length) { var loglen = 1000; var len = content.length; var lc = Math.ceil(len / loglen); log = ["&lc=".concat(lc)]; for (var i = 0; i < lc; ++i) { log.push("&log".concat(i, "=") + "[".concat(prefix, "][").concat(i, "]").concat(encodeURIComponent(content.substring(i * loglen, i * loglen + loglen)))); } log = log.join(''); } var data = "idkey=".concat(id, "_").concat(key, "_1").concat(log, "&r=").concat(Math.random()); var xmlobj = new XMLHttpRequest(); xmlobj.open('POST', "".concat(location.protocol, "//").concat(location.host, "/mp/jsmonitor?"), true); xmlobj.setRequestHeader('cache-control', 'no-cache'); xmlobj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xmlobj.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xmlobj.send(data); if (type === 'ajaxLen') { monitor$1.setLogs({ id: id, key: key, value: 1, log: log }); } } function reportRt(id, key, content) { reportRtError('rt', id, key, content); } function reportAjaxLength(id, key, content) { reportRtError('ajaxLen', id, key, content); } function setXhrHeader(xhr, type, opt) { if (opt.contentType) { xhr.setRequestHeader('Content-Type', opt.contentType); } else if (type === 'POST') { xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); } if (!opt.noXRequestedWidthHeader) { xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); } } function Ajax(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } var ajaxScope = getAjaxScope(obj.url); var type = (obj.type || 'GET').toUpperCase(); var timer; var _url; if (obj.notJoinUrl) { _url = obj.url; } else { _url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(_url, !!obj.notJoinUrl, function (url) { var urlObj = new URL(url, location.origin); if (obj.f === 'html') { url = url.replace('&f=json', ''); } var data = null; if (obj.data instanceof Blob) { data = obj.data; } else if (_typeof$3(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var beginTs; var beforeReq = function beforeReq() { if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); Log.log('start get appmsgext, url: ', obj.url); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); Log.log('start get appmsgad, url: ', obj.url); } beginTs = Date.now(); }; var beforeResp = function beforeResp(xhr) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgext response, status: ".concat(xhr.status)); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgad response, status: ".concat(xhr.status)); } if (Math.random() < 0.001 && window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { try { var key = ajaxScope ? 'transfer' : 'xhr'; var interval = 250; var time = Date.now() - beginTs; var range = Math.floor(time / interval) * interval; var pathname = new URL(obj.url, location.href).pathname || ''; window.WX_BJ_REPORT.BadJs.report("".concat(key, "_perf:").concat(pathname), JSON.stringify({ status: xhr.status, time: "[".concat(range, "-").concat(range + interval, ")") }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } catch (err) {} } }; var handleRespSucc = function handleRespSucc(xhr, requestType) { var _a, _b, _c, _d; try { var responseText = xhr.responseText; var resp = responseText; if (obj.dataType === 'json') { try { if (JSON && JSON.parse) { resp = JSON.parse(resp); } else { resp = eval("(".concat(resp, ")")); monitor$1.setSum(523105, 127, 1).send(); } var rtId = obj.rtId; var rtKey = obj.rtKey || 0; var rtDesc = obj.rtDesc; if (rtId && rtDesc && RespTypes && !RespTypes.check(resp, rtDesc)) { reportRt(+rtId, +rtKey, "".concat(RespTypes.getMsg(), "[detail]").concat(responseText, ";").concat(obj.url)); } if (resp && resp.base_resp && ((_a = resp.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = url; if (url.indexOf('?') !== -1) { reportUrl = url.substring(0, url.indexOf('?')); if (Url.getQuery('action', url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resp.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resp.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { obj.error && obj.error(xhr, { type: 1, error: e, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 1, HttpCode: xhr.status || 0, Ret: 0 }); } return; } } if (_typeof$3(resp) === 'object' && ((_b = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _b === void 0 ? void 0 : _b.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 4, HttpCode: xhr.status || 0, Ret: ((_c = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 0, HttpCode: xhr.status || 0, Ret: ((_d = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _d === void 0 ? void 0 : _d.ret) || 0 }); } } obj.success && obj.success(resp); } catch (e) { __moon_report({ offset: MOON_AJAX_SUCCESS_OFFSET, e: e }); throw e; } }; var handleRespErr = function handleRespErr(xhr, error, requestType) { try { obj.error && obj.error(xhr, { type: 2, error: error, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type, RequestType: requestType, RetType: 2, HttpCode: xhr.status, Ret: 0 }); } } catch (e) { __moon_report({ offset: MOON_AJAX_ERROR_OFFSET, e: e }); throw e; } }; var handleRespComplete = function handleRespComplete() { clearTimeout(timer); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; }; var handleReqTimeout = function handleReqTimeout(xhr) { if (typeof obj.timeout !== 'undefined') { timer = setTimeout(function () { xhr.abort(); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; __moon_report({ offset: MOON_AJAX_TIMEOUT_OFFSET, log: "ajax_timeout_error: ".concat(url), e: '' }); }, obj.timeout); } }; var retryXhrFn = function retryXhrFn(res, isTimeout, reqLogItem) { var retryXhr = new XMLHttpRequest(); try { retryXhr._noVConsole = true; } catch (err) {} retryXhr.open(type, url); retryXhr.onreadystatechange = function () { if (isTimeout) return; if (retryXhr.readyState === 3) { obj.received && obj.received(retryXhr); } if (retryXhr.readyState === 4) { beforeResp(retryXhr); var retryStatus = retryXhr.status; if (retryStatus >= 200 && retryStatus < 400) { handleRespSucc(retryXhr, 1); } else { handleRespErr(retryXhr, res, 1); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure', JSON.stringify({ retryXhrStatus: retryStatus, transferRes: res }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryXhr.responseText; handleRespComplete(); networkEndLog(reqLogItem); } }; setXhrHeader(retryXhr, type, obj); retryXhr.send(data); }; if (ajaxScope && !obj.pureHttp) { var header = { 'User-Agent': navigator.userAgent, 'Cookie': (window.__test_env__ ? 'uniproxy_route=1; ' : '') + document.cookie, 'Referer': location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if (type === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } if (!obj.noXRequestedWidthHeader) { header['X-Requested-With'] = 'XMLHttpRequest'; } var reqUrl = new URL(url, location.href).href; var method = METHOD_ENUM[type] || 0; var params = Device.os.pc ? { url: reqUrl, req_json: data || '', scope: ajaxScope, webcgi_method: method, webcgi_header: Object.keys(header).map(function (headerItemKey) { return Device.os.Mac ? _defineProperty$1({}, headerItemKey, header[headerItemKey]) : { key: headerItemKey, value: header[headerItemKey] }; }), cgi_type: 1 } : { reqUrl: reqUrl, reqBody: data, scope: ajaxScope, method: method, header: header }; var reqLogItem = networkStartLog({ method: type, url: url, postData: obj.data || {}, requestHeader: header, requestType: 'transfer', startTime: Date.now(), responseType: url.indexOf('f=json') > 0 ? 'json' : undefined }); var isTimeout = false; handleReqTimeout({ abort: function abort() { isTimeout = true; reqLogItem.endTime = Date.now(); reqLogItem.response = 'timeout'; networkEndLog(reqLogItem); } }); Device.os.pc && monitor$1.setSum(115849, 69, 1); R$4.invoke(Device.os.pc ? 'H5ExtTransfer' : 'webTransfer', params, function (res) { var _a, _b, _c, _d, _e, _f; if (isTimeout) return; var status = 400; var result = ''; if (Device.os.pc) { try { var retFlag = res.base_resp.ret === 0 && res.jsapi_resp.ret === 0 && res.err_msg.indexOf(':ok') > -1; var respJsonFlag = res.jsapi_resp.resp_json; status = retFlag && respJsonFlag ? 200 : 400; result = res.jsapi_resp.resp_json; } catch (err) { console.error(err); } } else { status = res && res.errCode * 1 === 0 && typeof res.result === 'string' && res.result ? 200 : 400; result = res.result; } try { Log.log("ajax transfer, status: ".concat(status, ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (status >= 200 && status < 400) { obj.received && obj.received(null); beforeResp({ status: status }); handleRespSucc({ status: status, responseText: result }, 10); reqLogItem.status = status; reqLogItem.endTime = Date.now(); reqLogItem.response = result; handleRespComplete(); networkEndLog(reqLogItem); } else if (window.__second_open__) { R$4.invoke('request', { url: reqUrl, method: type, data: data, header: header }, function (retryRes) { try { Log.log("ajax retry request, retryStatus: ".concat((retryRes === null || retryRes === void 0 ? void 0 : retryRes.statusCode) || '', ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (isTimeout) return; var retryStatus = retryRes.statusCode; obj.received && obj.received(null); beforeResp({ status: retryStatus }); if (retryRes.err_msg.indexOf(':ok') > -1 && retryStatus >= 200 && retryStatus < 400) { handleRespSucc({ status: retryStatus, responseText: retryRes.data }, 20); } else { retryXhrFn(res, isTimeout, reqLogItem); handleRespErr({ status: retryStatus }, res, 20); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure_sec_open', JSON.stringify({ retryReqJsapiRes: retryRes, transferRes: res, url: reqUrl }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryRes.data; handleRespComplete(); networkEndLog(reqLogItem); }); } else { retryXhrFn(res, isTimeout, reqLogItem); } if (Device.os.pc) { if (!res.err_msg.includes(':ok')) { (_b = (_a = window.WX_BJ_REPORT) === null || _a === void 0 ? void 0 : _a.BadJs) === null || _b === void 0 ? void 0 : _b.report("pc transfer res no ok: ".concat(res.err_msg), params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } try { if (res.jsapi_resp.resp_json && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 0 && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 190001 || res.base_resp.ret !== 0 || res.jsapi_resp.ret !== 0) { (_d = (_c = window.WX_BJ_REPORT) === null || _c === void 0 ? void 0 : _c.BadJs) === null || _d === void 0 ? void 0 : _d.report("pc transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } else { try { if (res.errCode !== 0) { (_f = (_e = window.WX_BJ_REPORT) === null || _e === void 0 ? void 0 : _e.BadJs) === null || _f === void 0 ? void 0 : _f.report("mobile transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } }); beforeReq(); return; } var xhr = new XMLHttpRequest(); var mayAbort = !!obj.mayAbort; var async = typeof obj.async === 'undefined' ? true : obj.async; var _onreadystatechange = xhr.onreadystatechange; xhr.open(type, url, async); xhr.onreadystatechange = function () { if (typeof _onreadystatechange === 'function') { _onreadystatechange.apply(xhr); } if (xhr.readyState === 3) { obj.received && obj.received(xhr); } if (xhr.readyState === 4) { beforeResp(xhr); xhr.onreadystatechange = null; var status = xhr.status; if (status >= 200 && status < 400) { handleRespSucc(xhr, 1); } else { handleRespErr(xhr, 'status error', 1); if (!!status || !mayAbort) { var __ajaxtest = window.__ajaxtest || '0'; __moon_report({ offset: MOON_AJAX_NETWORK_OFFSET, log: "ajax_network_error[".concat(status, "][").concat(__ajaxtest, "]: ").concat(url, ";host:").concat(location.host), e: '' }); } } handleRespComplete(); } }; setXhrHeader(xhr, type, obj); handleReqTimeout(xhr); try { xhr.send(data); try { if (url && url.length > LENGTH_LIMIT) { reportAjaxLength(27613, 17, "ajax get limit[length: ".concat(url.length, "]").concat(url.substring(0, 1024))); } if (data && !(data instanceof Blob) && data.length > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.length, "]").concat(data.substring(0, 1024))); } if (data && data instanceof Blob && data.size > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.size, "]blob")); } } catch (e) { } } catch (e) { obj.error && obj.error(xhr, { type: 3, error: e, status: 0 }); } beforeReq(); }); } var photoAccountsEnv = null; var getEnv = function getEnv() { var forceUpdate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; if (window.__wxWebEnv && (!photoAccountsEnv || forceUpdate)) { try { photoAccountsEnv = window.__wxWebEnv && typeof window.__wxWebEnv.getEnv === 'function' && window.__wxWebEnv.getEnv(); photoAccountsEnv = photoAccountsEnv ? JSON.parse(photoAccountsEnv) : undefined; } catch (error) { photoAccountsEnv = undefined; console.error('photo accounts env error', error); } } return photoAccountsEnv; }; var isPcDebugVersion = MMVersion.isWindowsWechat && MMVersion.compareHexVersion('0xf2550000') || MMVersion.isMacWechat && MMVersion.compareHexVersion('0xf2650000'); var photoAccountsEnableforC = function photoAccountsEnableforC() { var _a, _b, _c, _d; return ((_b = (_a = getEnv()) === null || _a === void 0 ? void 0 : _a.photoAccount) === null || _b === void 0 ? void 0 : _b.supportViewPhotoAcct) === 1 || MMVersion.isPcWechat && ((_d = (_c = window.cgiDataNew) === null || _c === void 0 ? void 0 : _c.user_info) === null || _d === void 0 ? void 0 : _d.support_view_photo_acct) || isPcDebugVersion || MMVersion.isWxWork; }; var photoAccountsEnableProfileExt = function photoAccountsEnableProfileExt() { var _a, _b, _c, _d; return ((_b = (_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.user_info) === null || _b === void 0 ? void 0 : _b.support_view_photo_profileext) || ((_d = (_c = window.cgiData) === null || _c === void 0 ? void 0 : _c.user_info) === null || _d === void 0 ? void 0 : _d.support_view_photo_profileext) || MMVersion.isWxWork; }; var notSupportPhotoAccountsToast = function notSupportPhotoAccountsToast() { R$4.invoke('openUrlWithExtraWebview', { url: 'https://mp.weixin.qq.com/mp/readtemplate?t=wxversion/index&for=photoAccount#wechat_redirect', openType: 1 }); }; var supportPhotoAccounts = function supportPhotoAccounts() { var needTips = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; if (photoAccountsEnableforC()) { return true; } else { needTips && notSupportPhotoAccountsToast(); return false; } }; var getBizAttrName = function getBizAttrName(serviceType, platform, phAccountDefault) { var _a; if (serviceType === void 0) { serviceType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.new_service_type) || 0; } if (platform === void 0) { platform = 'wechat'; } if (serviceType === 8) { if (platform === 'wechat') { return '贴图号' ; } else { return '贴图号'; } } if (serviceType === 2) return '服务号'; return '公众号'; }; var getBrandServiceType = function getBrandServiceType() { var serviceType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.service_type; var _a, _b; var brandServiceType = 0; if (serviceType !== undefined) brandServiceType = serviceType + 1; if (((_b = (_a = window.cgiData) === null || _a === void 0 ? void 0 : _a.trans_appmsg_info) === null || _b === void 0 ? void 0 : _b.trans_type) * 1 === 1) brandServiceType = 3; return brandServiceType; }; function setCurrentMpInfo(ifShow) { var supportNewTopBar = MMVersion.isIOS && MMVersion.gtVersion('7.0.10', true) || MMVersion.isAndroid && MMVersion.gtVersion('7.0.12', true); var supportLiveStatus = MMVersion.isIOS && MMVersion.gtVersion('8.0.46', true) || MMVersion.isAndroid && MMVersion.gtVersion('8.0.46', true); R$4.invoke('currentMpInfo', { userName: window.user_name, brandName: !!supportNewTopBar && window.nickname === '' ? '未命名账号' : window.title, title: window.msg_title || '', brandIcon: window.hd_head_img.replace(/\/0$/, '/132'), itemShowType: window.item_show_type, isPaySubscribe: window.isPaySubscribe, topBarStyle: supportNewTopBar ? 1 : 0, topBarShowed: ifShow, disableShowFinderLiveTopBar: !ifShow && supportLiveStatus ? 1 : 0, brandServiceType: getBrandServiceType() }, function () {}); } function AjaxWx(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; obj.url += obj.url.indexOf('?') === -1 ? '?fasttmplajax=1' : '&fasttmplajax=1'; if (getAjaxScope(obj.url)) { Ajax(obj); return; } if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } if (!/^(http:\/\/|https:\/\/|\/\/)/.test(obj.url)) { obj.url = "https://mp.weixin.qq.com/".concat(obj.url.replace(/^\//, '')); } else if (/^\/\//.test(obj.url)) { obj.url = "https:".concat(obj.url); } if (obj.f !== 'html' && (obj.url.indexOf('?f=json') === -1 || obj.url.indexOf('&f=json') === -1)) { obj.url += '&f=json'; } if (!obj.notJoinUrl && obj.f !== 'html') { obj.url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(obj.url, !!obj.notJoinUrl, function (url) { obj.url = url; var urlObj = new URL(url, location.origin); var data = null; if (_typeof$3(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var header = { Cookie: document.cookie, referer: location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if ((obj.type || 'GET').toUpperCase() === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } var reqLogItem = networkStartLog({ method: obj.type || 'GET', url: obj.url, postData: obj.data || {}, requestHeader: header, requestType: 'jsapi', startTime: Date.now() }); var retryTime = 1; var jsapiRequest = function jsapiRequest(obj, data) { return R$4.invoke('request', { url: obj.url, method: obj.type, data: data, header: header }, function (res) { var _a, _b, _c, _d, _e, _f; if (res.err_msg.indexOf(':ok') > -1 && (!res.statusCode || res.statusCode >= 200 && res.statusCode < 400)) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(res.statusCode, "|").concat(Date.now()); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(res.statusCode, "|").concat(Date.now()); } if (retryTime === 1) { obj.received && obj.received(null); } var resData = {}; if (res.data) { try { if (obj.dataType === 'json') { resData = JSON.parse(res.data); } else { resData = res.data; } if (resData && resData.base_resp && ((_a = resData.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = obj.url; if (obj.url.indexOf('?') !== -1) { reportUrl = obj.url.substring(0, obj.url.indexOf('?')); if (Url.getQuery('action', obj.url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', obj.url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resData.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resData.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_b = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _b === void 0 ? void 0 : _b.ret) || 0 }); } console.error(e); obj.error && obj.error(null, { type: 1, error: e, status: res.statusCode }); obj.complete && obj.complete(); reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); return; } } var tmpResData = {}; try { tmpResData = JSON.parse(res.data); } catch (e) {} if (tmpResData && tmpResData.base_resp && tmpResData.base_resp.ret === -3 && retryTime < 2 && (MMVersion.isIOS || MMVersion.isAndroid && MMVersion.getInner() > '27000600')) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_c = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } var _retryTime = retryTime++; R$4.invoke('updatePageAuth', {}, function (res) { console.log('[skeleton] updatePageAuth', res); monitor$1.setSum(112287, 3, 1); if (res && res.err_msg && res.err_msg.indexOf(':ok') > -1) { window.top.pass_ticket = encodeURIComponent(Url.getQuery('pass_ticket', res.fullUrl).html(false).replace(/\s/g, '+')); if (obj.pass_ticket) { obj.pass_ticket = window.top.pass_ticket; } console.warn('[skeleton] updatePageAuth resetTopbar'); var supportNewTopBar = MMVersion.isIOS && MMVersion.gtVersion('7.0.10', true); var showBottomBar = !!window.is_login; if (window.top.item_show_type === '0' && supportNewTopBar) { var top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop || 0; setCurrentMpInfo(top > 40 && !showBottomBar); } try { obj.url = Url.addParam(obj.url, 'retry', _retryTime, true); } catch (err) { console.error(err); } jsapiRequest(obj, data); monitor$1.setSum(112287, 4, 1); } else { obj.success && obj.success(resData); obj.complete && obj.complete(); if (MMVersion.isIOS) { monitor$1.setSum(112287, 35, 1); } else { monitor$1.setSum(112287, 36, 1); } reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } }); } else { if (((_d = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _d === void 0 ? void 0 : _d.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 4, HttpCode: res.statusCode || 0, Ret: ((_e = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _e === void 0 ? void 0 : _e.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 0, HttpCode: res.statusCode || 0, Ret: ((_f = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _f === void 0 ? void 0 : _f.ret) || 0 }); } } obj.success && obj.success(resData); obj.complete && obj.complete(); reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } } else if (res.err_msg.indexOf('no permission') > -1 || !MMVersion.isOnlyWechat) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: 0 }); } Ajax(obj); if (res.err_msg.indexOf('no permission') > -1) { console.warn('[JSAPI Request] No permission'); monitor$1.setSum(112287, 31, 1); } reqLogItem.status = 302; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 2, HttpCode: res.statusCode || 0, Ret: 0 }); } obj.error && obj.error(null, { type: 3, error: res, status: 0 }); obj.complete && obj.complete(); monitor$1.setSum(112287, 32, 1); var sample = 0.001; if (Math.random() < sample) { var msg = "request: ".concat(JSON.stringify(obj.type), " ").concat(JSON.stringify(obj.url), " ;;;; cookie: ").concat(JSON.stringify(document.cookie), " ;;;; data: ").concat(JSON.stringify(data), " ;;;; resp: ").concat(JSON.stringify(res)); if (window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { window.WX_BJ_REPORT.BadJs.report('ajax_wx_request_error', msg, { mid: 'mmbizwap:Monitor' }); } } reqLogItem.status = 400; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } }); }; if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); } jsapiRequest(obj, data); }); } function _regeneratorRuntime$5() { _regeneratorRuntime$5 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof$3(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof$3(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = isx5 ? '1' : '0'; obj.f = 'json'; return Url.join(url, obj); } function isObj(obj) { return obj && _typeof$3(obj) === 'object'; } function assign(target, source) { if (isObj(target) && isObj(source)) { for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } } function assembleReportData(initiative) { var leaveReportLog = []; leaveReportLog.push({ content: "[LeaveReport] specificData keys: ".concat(Object.keys(specificData)), timestamp: Date.now() }); Log.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); console.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); var allReportData = {}; for (var reportField in specificData) { if (!allReportData[reportField]) { allReportData[reportField] = {}; } for (var i = 0; i < specificData[reportField].length; i++) { var param = specificData[reportField][i]; if (typeof param === 'function') { try { assign(allReportData[reportField], param(initiative)); } catch (err) { leaveReportLog.push({ content: "[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); console.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); } } else if (isObj(param)) { assign(allReportData[reportField], param); } } } leaveReportLog.push({ content: "[LeaveReport] reportData.length: ".concat(reportData.length), timestamp: Date.now() }); Log.log("[LeaveReport] reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] reportData.length: ".concat(reportData.length)); leaveReportLog.push({ content: "[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length), timestamp: Date.now() }); Log.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); console.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); for (var _i = 0; _i < getDataFunc.length; _i++) { try { var data = getDataFunc[_i](initiative); if (isObj(data)) { reportData.push(data); } } catch (err) { leaveReportLog.push({ content: "[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); console.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); } } for (var _i2 = 0; _i2 < reportData.length; _i2++) { if (reportData[_i2].reportUrl) { reportData[_i2].reportUrl = joinUrl(reportData[_i2].reportUrl); } } allReportData.data = { 'requestList': reportData }; leaveReportLog.push({ content: "[LeaveReport] final reportData.length: ".concat(reportData.length, ", data=").concat(JSON.stringify(reportData)), timestamp: Date.now() }); Log.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); allReportData.info = leaveReportLog; return allReportData; } function addReport(param) { if (typeof param === 'function') { getDataFunc.push(param); } else if (isObj(param)) { reportData.push(param); } } function addSpecificReport(reportField, param) { if (!specificData[reportField]) { specificData[reportField] = []; } specificData[reportField].push(param); } function reportNow(callback) { var allReportData = assembleReportData(true); R$4.invoke('handleMPPageAction', { action: 'reportByLeaveForMPGateway', reportData: allReportData }, function (res) { if (res && res.err_msg && res.err_msg.indexOf(':ok') !== -1) { getDataFunc = []; reportData = []; specificData = {}; typeof callback === 'function' && callback(res); } else { getDataFunc = []; reportData = []; var len = allReportData.data.requestList.length; allReportData.data.requestList.forEach(function (req) { if (req.reportUrl) { AjaxRouter({ type: req.method || 'GET', url: req.reportUrl, data: req.reportData, async: false, success: function success(resp) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:ok', fallback: true, resp: resp }); } }, error: function error(xhr, err) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:fail', fallback: true, err: err }); } } }); } }); } }); } var leaveReport = { reportNow: reportNow, addReport: addReport, addSpecificReport: addSpecificReport }; var _leaveReport = (function () { var doc = {}; var isCrossOrigin = false; try { doc = top.window.document; } catch (e) { isCrossOrigin = true; } if (!isCrossOrigin && top.window.__leaveReport) { return top.window.__leaveReport; } if (window.__leaveReport) { return window.__leaveReport; } R$4.on('reportOnLeaveForMP', function () { return assembleReportData(false); }); return window.__leaveReport = leaveReport; })(); var getReportJson = function getReportJson(logId, rawData) { var data = JSON.parse(JSON.stringify(rawData)); data.log_id = Number(logId); data.TimeStamp = Math.round(Date.now() / 1000); console.log('[comm_report] reportjson: ', data); return JSON.stringify(data); }; var getSuccessHandler = function getSuccessHandler(logId, data, opt) { return function (res) { if (res && res.err_code !== 0) { console.warn("[comm_report] report ".concat(logId, " fail: "), res.err_msg, data); } if (typeof opt.success === 'function') { opt.success(res); } }; }; var getErrorHandler = function getErrorHandler(logId, data, opt) { return function (xhr, info) { console.error("[comm_report] report ".concat(logId, " error: "), info, data); if (typeof opt.error === 'function') { opt.error(xhr, info); } }; }; var batchReportDataArr = []; var blackLogId = [25587, 18832, 28208, 25574, 29139, 10945]; var BATCH_SIZE = 4; var BATCH_TIME = 1000; var getRepeatedReportJson = function getRepeatedReportJson() { if (!batchReportDataArr || !batchReportDataArr.length) return false; var reportData = { count: 0 }; reportData.count = batchReportDataArr.length; batchReportDataArr.forEach(function (data, index) { reportData["reportjson".concat(index)] = data; }); batchReportDataArr = []; console.log('[reportData]: ', reportData); return reportData; }; var timeOutId; function batchReport() { if (!batchReportDataArr || !batchReportDataArr.length) return; var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return; AjaxRouter({ type: 'POST', dataType: 'json', url: '/mp/wapcommreport?action=batch_report', data: repeatedReportJson, dontReport: true, success: function success(res) { if (res && res.err_code) { console.warn("[comm_report] batch report fail: ", res.err_msg, batchReportDataArr); } }, error: function error(xhr, info) { console.error("[comm_report] batch report error: ", info, batchReportDataArr); } }); } function batchReportThrottle(logId, rawData) { var reportJsonData = getReportJson(logId, rawData); if (!reportJsonData) return; batchReportDataArr.push(reportJsonData); if (batchReportDataArr.length >= BATCH_SIZE) { batchReport(); } else { if (!timeOutId) { timeOutId = setTimeout(function () { batchReport(); clearTimeout(timeOutId); timeOutId = null; }, BATCH_TIME); } } } _leaveReport.addReport(function () { var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return false; var reportData = []; for (var _i = 0, _Object$entries = Object.entries(repeatedReportJson); _i < _Object$entries.length; _i++) { var _Object$entries$_i = _slicedToArray$1(_Object$entries[_i], 2), key = _Object$entries$_i[0], value = _Object$entries$_i[1]; reportData.push("".concat(key, "=").concat(encodeURIComponent(value))); } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport?action=batch_report', reportData: reportData.join('&'), method: 'POST' }; }); var w$5 = { report: function report(logId, rawData, rawOpt) { var opt = rawOpt || {}; if (!opt.realTime && !blackLogId.includes(logId)) { batchReportThrottle(logId, rawData); } else { AjaxRouter({ type: 'POST', dataType: 'json', url: '/mp/wapcommreport', data: { reportjson: getReportJson(logId, rawData) }, async: opt.async, success: getSuccessHandler(logId, rawData, opt), error: getErrorHandler(logId, rawData, opt) }); } }, leaveReport: function leaveReport(logId, rawData) { _leaveReport.addReport(function () { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport', reportData: "reportjson=".concat(encodeURIComponent(getReportJson(logId, data))), method: 'POST' }; }); }, reportByBeacon: function reportByBeacon(logId, rawData) { try { if (!Device.os.android && !Device.os.ios && !Device.os.harmony) { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } var url = '/mp/wapcommreport'; var reportJsonData = encodeURIComponent(getReportJson(logId, data)); console.log("reportByBeacon", JSON.stringify(reportJsonData)); navigator.sendBeacon(Url.joinUrl(url), "reportjson=".concat(reportJsonData)); } else { _leaveReport.addReport(function () { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport', reportData: "reportjson=".concat(encodeURIComponent(getReportJson(logId, data))), method: 'POST' }; }); } } catch (error) { console.log(error); } } }; function getCommonReportData() { return { Referer: location.href, UserAgent: navigator.userAgent, Protocol: location.protocol || '', Origin: location.host || '' }; } var report36408 = function report36408(data) { w$5.report(36408, Object.assign(Object.assign({}, data), getCommonReportData())); }; var ajax = function ajax(obj) { obj.report36408 = report36408; AjaxRouter(obj); }; var timer = null; var jsmonitorReport = { setSum: function setSum(id, key, value) { throw new Error('Function not implemented.'); }, setAvg: function setAvg(id, key, value) { throw new Error('Function not implemented.'); }, setLogs: function setLogs(opt) { throw new Error('Function not implemented.'); }, send: function send(async) { throw new Error('Function not implemented.'); } }; window.__monitor_unload_has_done__ = false; jsmonitorReport.setSum = function (id, key, value) { monitor$1.setSum(id, key, value); return jsmonitorReport; }; jsmonitorReport.setAvg = function (id, key, value) { monitor$1.setAvg(id, key, value); return jsmonitorReport; }; jsmonitorReport.setLogs = function (opt) { monitor$1.setLogs(opt); return jsmonitorReport; }; jsmonitorReport.send = function (async) { if (async !== false) { async = true; } monitor$1.send(async, ajax); return jsmonitorReport; }; function reportInterval(fn, delay) { timer = window.setTimeout(function () { fn(); reportInterval(fn, delay); }, delay); } reportInterval(function () { jsmonitorReport.send(); }, 1 * 1000); window.addEventListener('unload', function () { if (window.__monitor_report_has_done__) return; window.__ajaxtest = '2'; if (timer) { window.clearTimeout(timer); timer = null; } jsmonitorReport.send(false); window.__monitor_unload_has_done__ = true; }, false); if (window.__jsmonitorReport) { jsmonitorReport = window.__jsmonitorReport; } else { window.__jsmonitorReport = jsmonitorReport; } var jsmonitorReport$1 = jsmonitorReport; function saveSpeeds(opt) { var sample = 0.001; if (typeof opt.sample === 'number') { sample = opt.sample; } var rand = Math.random(); if (rand < sample) { wxgsdk.saveSpeeds(opt); } } function setBasicTime(opt) { var sample = opt.sample || 0.001; var rand = Math.random(); if (rand < sample) { wxgsdk.setBasicTime(opt); } } function send() { wxgsdk.send(); } function jsmonitor(opt) { opt = opt || []; if (!Array.isArray(opt)) { var item = opt; opt = []; opt.push(item); } for (var i = 0; i < opt.length; i++) { var _item = opt[i]; var id = _item.id; var key = _item.key; var value = _item.value || 1; if (id !== undefined && key !== undefined) { jsmonitorReport$1.setSum(id, key, value); } } } var wxgspeedsdk = { saveSpeeds: saveSpeeds, setBasicTime: setBasicTime, send: send, jsmonitor: jsmonitor }; function _arrayWithoutHoles$1(arr) { if (Array.isArray(arr)) return _arrayLikeToArray$1(arr); } function _iterableToArray$1(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _nonIterableSpread$1() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _toConsumableArray$1(arr) { return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1(); } var uuid = function uuid() { return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1); }; var WRAP_TAG = 'span'; var IMG_TAG = 'IMG'; var NODE_TYPE = { text: 1, img: 2 }; var blockEleTagName = ['P', 'DIV', 'SECTION', 'LI', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'TABLE', 'PRE', 'BLOCKQUOTE']; var exceptEleClassName = ['js_product_container', 'js_blockquote_wrap']; var ignoreTagName = ['IFRAME', 'VIDEO', 'MPVOICE', 'MPGONGYI', 'QQMUSIC', 'MPSHOP', 'MP-WEAPP', 'MP-MINIPROGRAM', 'MPPRODUCT', 'MPCPS']; var ignoreEleId = ['js_mpvideo']; var ignoreEleClassName = ['js_product_container']; var TEMP_NODES = {}; var childNodesHasEle = function childNodesHasEle(element) { var tagNameList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : blockEleTagName; if (!element || element.nodeType !== 1) { return false; } for (var i = 0; i < element.children.length; i++) { if (tagNameList.indexOf(element.children[i].tagName) !== -1) { return true; } } return false; }; function eleHasAttr(ele) { var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'className'; var AttrList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : exceptEleClassName; for (var i = 0; i < AttrList.length; i++) { if (ele[attr] && typeof ele[attr] === 'string' && ele[attr].indexOf(AttrList[i]) > -1) { return true; } } return false; } var removeChildMedia = function removeChildMedia(element) { var parentNode = element.parentNode; element.parentNode.removeChild(element); if (parentNode.children && parentNode.children.length) { return false; } return true; }; var getParaList = function getParaList(element, _ref) { var _ref$getNestedStructu = _ref.getNestedStructure, getNestedStructure = _ref$getNestedStructu === void 0 ? true : _ref$getNestedStructu, _ref$removeIgoreEle = _ref.removeIgoreEle, removeIgoreEle = _ref$removeIgoreEle === void 0 ? false : _ref$removeIgoreEle; var paraList = function getParaListWithIndex(ele, getNested) { var childNodes = ele.children; if (!childNodes) return []; if (!childNodes.length) { return childNodes; } var child; var paragraphList = []; for (var i = 0; i < childNodes.length; i++) { child = childNodes[i]; if (eleHasAttr(child, 'id', ignoreEleId) || eleHasAttr(child, 'className', ignoreEleClassName)) { if (removeIgoreEle) { child.parentNode.removeChild(child); i -= 1; } continue; } if (childNodesHasEle(child, ignoreTagName)) { if (removeIgoreEle) { removeChildMedia(child); i -= 1; } continue; } if (childNodesHasEle(child, blockEleTagName) && !eleHasAttr(child)) { paragraphList = paragraphList.concat(getParaListWithIndex(child, getNested)); if (getNested) { if (!child.getAttribute('data-index')) { paragraphList.push(child); } } } else { if (!child.getAttribute('data-index')) { paragraphList.push(child); } } } return paragraphList; }(element, getNestedStructure); return [].slice.call(paraList); }; getParaList.paragraphStartIdx = 1000000; var getSplitTextNode = function getSplitTextNode($textNode, startOffset, endOffset, paraIndex) { try { $textNode.splitText(startOffset); } catch (err) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'getSplitTextNode textnode', startOffset: startOffset, endOffset: endOffset } }); } } var selectedNode = $textNode.nextSibling; try { selectedNode.splitText(endOffset - startOffset); } catch (e) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'getSplitTextNode nextSibling', startOffset: startOffset, endOffset: endOffset } }); } } return [{ $node: selectedNode, type: NODE_TYPE.text, idx: paraIndex }]; }; var getBlockNode = function getBlockNode($node) { if (blockEleTagName.indexOf($node.tagName) !== -1 && typeof $node.dataset.index !== 'undefined') { return $node; } return getBlockNode($node.parentNode); }; var getPureBlockNode = function getPureBlockNode($node) { if (!$node) return $node; if (blockEleTagName.indexOf($node.tagName) !== -1) { return $node; } return getPureBlockNode($node.parentNode); }; var getNodesByDFS = function getNodesByDFS(range) { var start = range.start, end = range.end, $container = range.$container; var $startNode = start.$node, startOffset = start.offset; var $endNode = end.$node, endOffset = end.offset; var queue = []; var result = []; var withinSelectRange = false; var achiveSelectRangeEnd = false; var paraIndex = 0; queue.push($container); while (queue.length > 0) { var item = queue.pop(); var nodeType = item.nodeType, tagName = item.tagName; if (item.dataset && item.dataset.index) { paraIndex = +item.dataset.index; } if (withinSelectRange && !achiveSelectRangeEnd) { if (nodeType === 3) { result.push({ $node: item, type: NODE_TYPE.text, idx: paraIndex }); } if (tagName === IMG_TAG) { result.push({ $node: item, type: NODE_TYPE.img, idx: paraIndex }); } } if (item === $startNode) { if (nodeType === 3) { try { item.splitText(startOffset); } catch (e) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'getNodes startNode', startOffset: startOffset, endOffset: endOffset } }); } var $startTextNode = item.nextSibling; result.push({ $node: $startTextNode, type: NODE_TYPE.text, idx: paraIndex }); } else if (tagName === IMG_TAG) { result.push({ $node: item, type: NODE_TYPE.img, idx: paraIndex }); } else { result.push({ $node: item, type: NODE_TYPE.text, idx: paraIndex }); } withinSelectRange = true; } if (item === $endNode || achiveSelectRangeEnd) { if (!achiveSelectRangeEnd) { achiveSelectRangeEnd = true; } if (item === $endNode) result.pop(); if (nodeType === 3) { try { item.splitText(endOffset); } catch (e) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'getSplitTextNode endNode', startOffset: startOffset, endOffset: endOffset } }); } } result.push({ $node: item, type: NODE_TYPE.text, idx: paraIndex }); break; } else if (tagName === IMG_TAG) { result.push({ $node: item, type: NODE_TYPE.img, idx: paraIndex }); break; } else { var _children = item.childNodes; for (var i = _children.length - 1; i >= 0; i--) { queue.push(_children[i]); } } } var children = item.childNodes; for (var _i = children.length - 1; _i >= 0; _i--) { queue.push(children[_i]); } } return result; }; var getSelectedNodes = function getSelectedNodes(range) { var start = range.start, end = range.end; var $startNode = start.$node, startOffset = start.offset; var $endNode = end.$node, endOffset = end.offset; if ($startNode === $endNode && $startNode instanceof Text) { return getSplitTextNode($startNode, startOffset, endOffset, start.paraIndex); } return getNodesByDFS(range); }; var checkTextNode = function checkTextNode($node) { return $node && ($node.nodeValue || $node.innerText); }; var connectSiblingText = function connectSiblingText(prev, next, target) { var $delete = target === prev ? next : prev; if (!checkTextNode(prev) || !checkTextNode(next)) { return $delete; } var text = (prev.nodeValue || prev.innerText) + (next.nodeValue || next.innerText); target.nodeValue = text; target.parentNode.removeChild($delete); return target; }; var getTextNodeByOffset = function getTextNodeByOffset($parentNode, offset) { var queue = []; var curOffset = 0; var startOffset = 0; var $curNode; queue.push($parentNode); while (queue.length > 0) { $curNode = queue.pop(); if ($curNode.nodeType === 3) { startOffset = offset - curOffset; curOffset += $curNode.textContent.length; if (curOffset >= offset) { break; } } var children = $curNode.childNodes; for (var i = children.length - 1; i >= 0; i--) { queue.push(children[i]); } } return { $parentNode: $parentNode, $node: $curNode, offset: startOffset }; }; function getBlockOffset(_ref2) { var $blockNode = _ref2.$blockNode, $node = _ref2.$node; if ($blockNode === null) { return null; } var queue = []; var offset = 0; queue.push($blockNode); while (queue.length > 0) { var item = queue.pop(); if (item.nodeType === 3 && item.nodeValue !== $node.nodeValue) { offset += item.textContent.length; } else if (item.nodeType === 1) { offset += 1; if (item === $node) break; } else if (item.nodeValue === $node.nodeValue) { offset += item.textContent.length; break; } var children = item.childNodes; for (var i = children.length - 1; i >= 0; i--) { queue.push(children[i]); } } return offset; } var getDomMeta = function getDomMeta(selection) { selection.$node; var $parentNode = selection.$parentNode; var parentIndex = Number($parentNode.dataset.index); var offset = getBlockOffset($parentNode); return { parentIndex: parentIndex, fromParentoffset: offset }; }; function nodeToSelection($node) { var $blockNode = getBlockNode($node); var paraIndex = +$blockNode.dataset.index; var offset = 0; var item = { $blockNode: $blockNode, $node: $node, paraIndex: paraIndex, offset: offset }; var id = uuid(); return { start: item, end: item, id: id }; } var getSelection = function getSelection() { var selection = window.getSelection(); if (selection.anchorNode === null) { return null; } var selectionRange = selection.getRangeAt(0); if (!selectionRange || !selection.toString()) { return null; } var startContainer = selectionRange.startContainer, endContainer = selectionRange.endContainer, commonAncestorContainer = selectionRange.commonAncestorContainer, startOffset = selectionRange.startOffset, endOffset = selectionRange.endOffset; var $startBlockNode = getBlockNode(startContainer); var $endBlockNode = getBlockNode(endContainer); var startIndex = $startBlockNode && $startBlockNode.dataset.index; var endIndex = $endBlockNode && $endBlockNode.dataset.index; var start = { $blockNode: $startBlockNode, $node: startContainer, offset: startOffset, paraIndex: Number(startIndex) }; var end = { $blockNode: $endBlockNode, $node: endContainer, offset: endOffset, paraIndex: Number(endIndex) }; var $container = typeof commonAncestorContainer === 'string' ? commonAncestorContainer.parentNode : commonAncestorContainer; var id = uuid(); return { start: start, end: end, $container: $container, id: id }; }; var transferTextToElement = function transferTextToElement($node, id) { if (!$node) return null; if ($node.nodeType === 3) { var $wrap = document.createElement(WRAP_TAG); $wrap.setAttribute('data-splitid', id); $wrap.appendChild($node.cloneNode(false)); if ($node.parentNode) { $node.parentNode.replaceChild($wrap, $node); } return $wrap; } return $node; }; var serialize = function serialize(selectionRange) { var start = selectionRange.start, end = selectionRange.end, id = selectionRange.id; var startParaOffset = getBlockOffset(start); var endParaOffset = start.$node === end.$node ? end.offset - start.offset + startParaOffset : getBlockOffset(end); var meta = { id: id, start: { para_offset: startParaOffset, para_index: start.paraIndex }, end: { para_offset: endParaOffset, para_index: end.paraIndex } }; return meta; }; var mapMetaToLocal = function mapMetaToLocal(paraList) { return function (meta) { var paraOffset = meta.para_offset, paraIndex = meta.para_index; var $blockNode = paraList[paraIndex]; var queue = []; var curOffset = 0; var offset = 0; var $curNode; queue.push($blockNode); while (queue.length > 0) { $curNode = queue.pop(); if ($curNode.nodeType === 3) { offset = paraOffset - curOffset; curOffset += $curNode.textContent.length; if (curOffset >= paraOffset) { break; } } if ($curNode.nodeType === 1) { offset = paraOffset - curOffset; curOffset += 1; if (curOffset >= paraOffset) { break; } } var children = $curNode.childNodes; for (var i = children.length - 1; i >= 0; i--) { queue.push(children[i]); } } return { $blockNode: $blockNode, $node: $curNode, offset: offset, paraIndex: paraIndex }; }; }; var deSerialize = function deSerialize(meta, paraList, $container) { var desparaList = mapMetaToLocal(paraList); return { start: desparaList(meta.start), end: desparaList(meta.end), id: meta.id, $container: $container }; }; function getTextNode($node) { if ($node.tagName === IMG_TAG || $node.nodeType === 3) { return $node; } return $node.childNodes[0]; } var resetRange = function resetRange(selectionRange) { window.getSelection().removeAllRanges(); var selection = window.getSelection(); var range = document.createRange(); var $startnode = getTextNode(TEMP_NODES.start); var $endnode = getTextNode(TEMP_NODES.end); range.setStart($startnode, selectionRange.start.offset); range.setEnd($endnode, selectionRange.end.offset); selection.addRange(range); }; var getNodeIndex = function getNodeIndex($block, $node) { var queue = []; var index = 0; queue.push($block); while (queue.length > 0) { var $item = queue.pop(); if ($item === $node) break; index++; var children = $item.children; for (var i = 0; i < children.length; i++) { queue.push(children[i]); } } return index; }; var getNodeByIndex = function getNodeByIndex($block, index) { var queue = []; var cursor = 0; var $result = null; queue.push($block); while (queue.length > 0) { var $item = queue.pop(); if (cursor === index) { $result = $item; break; } cursor++; var children = $item.children; for (var i = 0; i < children.length; i++) { queue.push(children[i]); } } return $result; }; var hasClass = function hasClass(cls, className) { if (cls && typeof cls === 'string' && cls.indexOf(className) !== -1) { return true; } return false; }; var inWhiteList = function inWhiteList(classAttr) { var classWhiteList = 'rich_pages,blockquote_info,blockquote_biz,blockquote_other,blockquote_article,js_jump_icon,h5_image_link,js_banner_container,js_list_container,js_cover,js_tx_video_container,js_product_err_container,js_product_loop_content,js_product_container,img_loading,list-paddingleft-1,list-paddingleft-2,list-paddingleft-3,selectTdClass,noBorderTable,ue-table-interlace-color-single,ue-table-interlace-color-double,__bg_gif,weapp_image_link,js_img_loading,wx_video_context,db,wx_video_thumb_primary,wx_video_play_btn,wx_video_mask,qqmusic_area,tc,tips_global,unsupport_tips,qqmusic_wrp,appmsg_card_context,appmsg_card_active,wx_tap_card,js_wx_tap_highlight,wx_tap_link,qqmusic_bd,play_area,icon_qqmusic_switch,pic_qqmusic_default,qqmusic_thumb,access_area,qqmusic_songname,qqmusic_singername,qqmusic_source,js_audio_frame,share_audio_context,flex_context,pages_reset,share_audio_switch,icon_share_audio_switch,share_audio_info,flex_bd,share_audio_title,share_audio_tips,share_audio_progress_wrp,share_audio_progress,share_audio_progress_inner,share_audio_progress_buffer,share_audio_progress_loading,share_audio_progress_loading_inner,share_audio_progress_handle,share_audio_desc,share_audio_length_current,share_audio_length_total,video_iframe,vote_iframe,js_editor_vote_card,res_iframe,card_iframe,js_editor_card,weapp_display_element,js_weapp_display_element,weapp_card,app_context,weapp_card_bd,weapp_card_profile,radius_avatar,weapp_card_avatar,weapp_card_nickname,weapp_card_info,weapp_card_title,weapp_card_thumb_wrp,weapp_card_ft,weapp_card_logo,js_pay_btn,pay,pay__mask,wx_video_loading,js_redpacketcover,js_uneditable,js_uneditablemouseover,js_editor_qqmusic,js_img_placeholder,js_editor_audio,ct_geography_loc_tip,js_poi_entry,js_mention_entry,product_text_link,js_plain-music_entry'.split(','); var qaClassPrefix = 'qa__'; var classWhiteListReg = [new RegExp('^weui'), new RegExp('^appmsg'), new RegExp('^audio'), new RegExp('^music'), new RegExp('^cps_inner'), new RegExp('^bizsvr_'), new RegExp('^code-snippet'), new RegExp('^' + qaClassPrefix), new RegExp('^wx-edui-'), new RegExp('^wx_'), new RegExp('^wx-'), new RegExp('^custom_select_card_') ]; if (!classAttr) return null; var classList = classAttr.split(/\s+/); var newClassList = []; for (var i = 0, len = classList.length; i < len; ++i) { var className = classList[i]; if (className && classWhiteList.indexOf(className) !== -1) { newClassList.push(className); } else { for (var j = 0, jl = classWhiteListReg.length; j < jl; j++) { if (classWhiteListReg[j].test(className)) { newClassList.push(className); break; } } } } var str = newClassList.join('.'); return str && '.' + str; }; var getNodeSelector = function getNodeSelector(node) { var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; var root = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.body; if (!node || node === root) return selector; var id = node.getAttribute('id'); var className = node.getAttribute('class'); var tagName = node.tagName.toLowerCase(); var currentSelector = null; if (id && !hasClass(className, 'articlepart-selector-area_choice-button_wrap')) return selector ? "#".concat(id, ">").concat(selector) : "#".concat(id); var whiteClassName = inWhiteList(className); if (whiteClassName) { currentSelector = whiteClassName; } else if (hasClass(className, 'js_choice-img')) { currentSelector = '.js_choice-img'; } else if (hasClass(className, 'articlepart-selector-area_choice')) { currentSelector = node.dataset.splitid ? '' : tagName; } else { currentSelector = tagName; } return getNodeSelector(node.parentNode, [currentSelector, selector].filter(function (item) { return !!item; }).join('>'), root); }; var getNodeSelectorWrap = function getNodeSelectorWrap(node, root) { var selector = getNodeSelector(node, '', root); var collect = []; try { collect = root.querySelectorAll(selector); } catch (error) { console.log('get node selector wrap err', error); } var len = collect.length; var index = null; for (var i = 0; i < len; i++) { if (node === collect[i]) { index = i; break; } } if (index === null) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'selector:node not find', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { selector: selector } }); } } var newSelector = (selector || '').replace('>.js_choice-img>', '>') + "|".concat(len, " ").concat(index || 0); return newSelector; }; var serializeToC = function serializeToC(nodes) { return ( nodes.map(function (item) { var $node = item.$node, type = item.type, idx = item.idx; var index = 0; var data = null; var meta = ''; var blockItem = getBlockNode($node); if (type === NODE_TYPE.text) { var nodeIndex = getNodeIndex(blockItem, $node.parentNode); if ($node && $node.data) { index = nodeIndex; data = $node.data; meta = $node.previousSibling && $node.previousSibling.data; } } else if (type === NODE_TYPE.img) { var imgs = blockItem.getElementsByTagName('img'); data = $node.src; index = Array.prototype.slice.call(imgs).slice(0).indexOf($node); } return { data: data, index: index, idx: idx, type: type, meta: meta }; }).filter(function (item) { return item.index > -1 && !!item.data; }) ); } ; var serializeToC2 = function serializeToC2(nodes, $container) { var root = $container || document.getElementById('js_content'); return nodes.map(function (item) { var $node = item.$node, type = item.type, idx = item.idx; var selector = null; var data = null; var meta = ''; if (type === NODE_TYPE.text) { if ($node && $node.data) { selector = getNodeSelectorWrap($node.parentNode, root); data = $node.data; meta = $node.previousSibling && $node.previousSibling.data; } } else if (type === NODE_TYPE.img) { selector = getNodeSelectorWrap($node, root); data = $node.src; } return { data: data, idx: idx, type: type, meta: meta, selector: selector }; }).filter(function (item) { return !!item.selector && !!item.data; }); }; function setProperty(el, name, value, priority) { if (!!el.style.setProperty) { priority = priority || null; el.style.setProperty(name, value, priority); } else if (typeof el.style.cssText !== 'undefined') { priority = priority ? '!' + priority : ''; el.style.cssText += ';' + name + ':' + value + priority + ';'; } } function hasImgNode($el) { if (!$el) return false; var nodeType = $el.nodeType, tagName = $el.tagName; if (nodeType === 3) { return false; } if (tagName === IMG_TAG) { return true; } return false; } function getContent(tree) { return tree.reduce(function (acc, cur, idx) { if (idx === 0) { if (cur.type === NODE_TYPE.text) { acc.text.push(cur.data); } else if (cur.type === NODE_TYPE.img) { acc.pic.push(cur.data); } return acc; } if (cur.type === NODE_TYPE.text) { if (tree[idx - 1].type === NODE_TYPE.text) { var text = acc.text.pop(); text += cur.data; acc.text.push(text); } else { acc.text.push(cur.data); } return acc; } if (cur.type === NODE_TYPE.img) { acc.pic.push(cur.data); } return acc; }, { audio: [], pic: [], video: [], text: [] }); } function saveNode($node, key) { TEMP_NODES[key] = $node; } function serializeNode($node, $wrap) { var range = nodeToSelection($node); var anchorTree = serializeToC2([{ $node: $node, type: NODE_TYPE.img, idx: range.start.paraIndex }], $wrap); var anchorMeta = serialize(range); var anchorBrief = getContent(anchorTree); return { meta: { anchorTree: anchorTree, anchorMeta: anchorMeta, anchorBrief: anchorBrief }, range: range }; } function findChildIndex(parent, offset) { var childNodes = parent.childNodes; var realOffset = offset; var $node = null; var i = 0; for (i = 0; i < childNodes.length; i++) { $node = childNodes[i]; if ($node.nodeType === 3) { var len = $node.length; if (len > realOffset) { break; } else { realOffset -= len; } } } return { $node: $node, cursor: realOffset }; } var qs$1 = function qs(selector, el) { return (el || document).querySelector(selector); }; var qsAll$1 = function qsAll(selector, el) { return (el || document).querySelectorAll(selector); }; var dom = { getDomMeta: getDomMeta, getContent: getContent, getParaList: getParaList, getBlockNode: getBlockNode, getSelectedNodes: getSelectedNodes, connectSiblingText: connectSiblingText, getTextNodeByOffset: getTextNodeByOffset, getBlockOffset: getBlockOffset, getSelection: getSelection, transferTextToElement: transferTextToElement, serialize: serialize, deSerialize: deSerialize, resetRange: resetRange, serializeToC: serializeToC, setProperty: setProperty, hasImgNode: hasImgNode, nodeToSelection: nodeToSelection, saveNode: saveNode, serializeNode: serializeNode, getNodeByIndex: getNodeByIndex, findChildIndex: findChildIndex, serializeToC2: serializeToC2, blockEleTagName: blockEleTagName, getPureBlockNode: getPureBlockNode, qs: qs$1, qsAll: qsAll$1, hasClass: hasClass }; function ownKeys$b(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var paraList = []; var totalHit = 0; var STATUS = { auditing: 1, ban: 2 }; function keyby(arr, key) { return arr.reduce(function (acc, item) { if (typeof item[key] === 'undefined') return acc; if (!acc[item[key]]) acc[item[key]] = []; acc[item[key]].push(item); return acc; }, {}); } function getBannerWord(anchor) { return '以下内容存在争议 了解更多'; } function addBanner(node, text) { var paraNode = _typeof$3(node) === 'object' ? node : paraList[node]; if (paraNode.dataset.hasBanner) return; var divNode = document.createElement('div'); divNode.dataset.hasBanner = 1; divNode.style = 'background-color: var(--weui-BG-1);font-size: 14px;color: var(--weui-FG-2);text-align: left;margin-top: 20px;margin-bottom: 4px;padding: 4px 8px 6px 8px;border-radius:4px;'; var iconNode = document.createElement('span'); iconNode.style = 'color: var(--weui-FG-0);padding: 2px;display: inline-block;vertical-align: middle; width: 20px;height: 20px;margin-right: 4px; background-size: cover;background-position: center center;-webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'20\' height=\'20\' viewBox=\'0 0 20 20\'%3E %3Cpath fill-opacity=\'.3\' fill-rule=\'evenodd\' d=\'M10 1.667a8.333 8.333 0 1 1 0 16.666 8.333 8.333 0 0 1 0-16.666zm-.004 11.115a.732.732 0 0 0-.746.735c0 .416.33.735.746.735a.73.73 0 0 0 .752-.735.73.73 0 0 0-.752-.735zm.638-7.669h-1.27l.091 6.33h1.088l.091-6.33z\'/%3E%3C/svg%3E") no-repeat 50% 50%;mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'20\' height=\'20\' viewBox=\'0 0 20 20\'%3E %3Cpath fill-opacity=\'.3\' fill-rule=\'evenodd\' d=\'M10 1.667a8.333 8.333 0 1 1 0 16.666 8.333 8.333 0 0 1 0-16.666zm-.004 11.115a.732.732 0 0 0-.746.735c0 .416.33.735.746.735a.73.73 0 0 0 .752-.735.73.73 0 0 0-.752-.735zm.638-7.669h-1.27l.091 6.33h1.088l.091-6.33z\'/%3E%3C/svg%3E") no-repeat 50% 50%;background-color: currentColor;'; var textNode = document.createElement('span'); textNode.style = 'display: inline-block;line-height: 14px;vertical-align: middle;'; textNode.innerHTML = text; divNode.appendChild(iconNode); divNode.appendChild(textNode); paraNode.parentNode.insertBefore(divNode, paraNode, null); paraNode.dataset.hasBanner = 1; } function maskText(data, domNode, cursor) { var len = data.length; var maskMat = _toConsumableArray$1(Array(len)).map(function () { return '〇'; }).join(''); var childNodes = domNode.childNodes; var newCursor = cursor; for (var i = 0; i < childNodes.length; i++) { var node = childNodes[i]; if (node.nodeType === 3) { if (newCursor > node.data.length) { newCursor -= node.data.length; } else { node.data = node.data.slice(0, newCursor).concat(maskMat).concat(node.data.slice(newCursor + len)); } } else if (node.nodeText === 1) { newCursor -= node.innerText && node.innerText.length || 0; } } } function disputeText(data, domNode, cursor) { var len = data.length; var _dom$findChildIndex = dom.findChildIndex(domNode, cursor), textNode = _dom$findChildIndex.$node, realOffset = _dom$findChildIndex.realOffset; try { textNode.splitText(realOffset); } catch (e) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'disputeText textNode', data: data, cursor: cursor } }); } } var repalcedNode = textNode.nextSibling; try { repalcedNode.splitText(len); } catch (e) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'disputeText nextSibling', data: data, cursor: cursor } }); } } var spanNode = document.createElement('span'); spanNode.style = 'background-color: rgba(0,0,0,0.10);'; spanNode.appendChild(repalcedNode.cloneNode(true)); repalcedNode.parentNode.replaceChild(spanNode, repalcedNode); } function disputeImage(data, domNode) { var spanNode = document.createElement('span'); spanNode.style = 'position:relative;display: inline-block;'; var iconNode = document.createElement('span'); iconNode.style = "\n position: absolute;\n top: 4px;\n left: 4px;\n display: inline-block;\n vertical-align: middle;\n width: 24px;\n height: 24px;\n background-size: cover;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath fill='%23FFF' fill-rule='evenodd' d='M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm-.004 13.339a.878.878 0 0 0-.896.882c0 .499.396.882.896.882.512 0 .902-.383.902-.882 0-.5-.39-.882-.902-.882zm.765-9.203h-1.524l.11 7.596h1.305l.11-7.596z'/%3E%3C/svg%3E\");\n "; var parent = domNode.parentNode; spanNode.appendChild(domNode.cloneNode(false)); parent.replaceChild(spanNode, domNode); spanNode.appendChild(iconNode); } function maskImage(data, domNode) { domNode.style.filter = 'blur(10px)'; domNode.style['-webkit-filter'] = 'blur(10px)'; } function hitMaskText(anchor, domNode) { var data = anchor.data, meta = anchor.meta, index = anchor.index, idx = anchor.idx; var wholeText = domNode.data; var prefixText = (meta || '') + data; if (wholeText.indexOf(prefixText) === -1) { return { hit: false }; } var itemNode = dom.getNodeByIndex(paraList[idx], index); if (itemNode) { totalHit++; } else { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'text node cannot find', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { anchor: anchor, wholeText: wholeText } }); } } var cursor = itemNode && itemNode.innerText.indexOf(prefixText) + (meta || '').length; return { hit: !!itemNode, $hitDom: itemNode, cursor: cursor }; } function hitMaskImage(anchor, domNode) { var index = anchor.index, idx = anchor.idx, data = anchor.data; var para = paraList[idx]; var allImgNode = para.querySelectorAll('img'); var hitItenNode = allImgNode[index]; var src = hitItenNode && (hitItenNode.getAttribute('data-src') || hitItenNode.getAttribute('src')); if (src === data) { totalHit++; return { hit: true, $hitDom: domNode, cursor: 0 }; } return { hit: false }; } function createMask(anchor, domNode) { return function (hitFn, maskFn, next) { var _hitFn = hitFn(anchor, domNode), hit = _hitFn.hit, $hitDom = _hitFn.$hitDom, cursor = _hitFn.cursor; if (hit) { maskFn(anchor.data, $hitDom, cursor); next(); } }; } function maskAnchors(anchors, paraNode) { var queue = []; var cloneAnchors = _toConsumableArray$1(anchors); queue.push(paraNode); var anchor = null; var next = function next() { anchor = cloneAnchors.shift(); }; next(); while (queue.length > 0 && cloneAnchors.length >= 0 && anchor) { var itemNode = queue.pop(); if (!itemNode) continue; if (!anchor) continue; var nodeType = itemNode.nodeType, tagName = itemNode.tagName; var createMaskFn = createMask(anchor, itemNode); if (nodeType === 3) { if (anchor.type === NODE_TYPE.text) { createMaskFn(hitMaskText, anchor.status === STATUS.ban ? maskText : disputeText, next); } continue; } if (nodeType === 1 && tagName === IMG_TAG) { if (anchor.type === NODE_TYPE.img) { createMaskFn(hitMaskImage, anchor.status === STATUS.ban ? maskImage : disputeImage, next); } continue; } var children = itemNode.childNodes; for (var i = children.length - 1; i >= 0; i--) { queue.push(children[i]); } } } function parseSelector(selectorStr) { if (!selectorStr) return {}; var _selectorStr$split = selectorStr.split('|'), _selectorStr$split2 = _slicedToArray$1(_selectorStr$split, 2), selector = _selectorStr$split2[0], other = _selectorStr$split2[1]; var _other$split = other.split(' '), _other$split2 = _slicedToArray$1(_other$split, 2), total = _other$split2[0], index = _other$split2[1]; return { selector: selector.replace(/>/g, '>'), total: total * 1, index: index * 1 }; } function hitNode(node, anchor) { if (!node) return null; var type = anchor.type, data = anchor.data, meta = anchor.meta; if (type === NODE_TYPE.text) { var nodeText = node.innerText || node.innerHTML || ''; var prefixText = ((meta || '') + data).replace(/&/g, '&'); if (nodeText.indexOf(prefixText) !== -1) { var cursor = nodeText.indexOf(prefixText) + (meta || '').length; return { cursor: cursor, node: node }; } } if (type === NODE_TYPE.img) { var src = node && (node.getAttribute('data-src') || node.getAttribute('src')); if (src === data.replace(/&/g, '&')) { return { cursor: 0, node: node }; } } return null; } function maskNode(anchor, domNode, cursor) { var type = anchor.type, data = anchor.data, status = anchor.status; if (status !== STATUS.ban) return; if (type === NODE_TYPE.text) maskText(data, domNode, cursor); if (type === NODE_TYPE.img) maskImage(data, domNode); } function initOld(wrapNode, anchors) { paraList = dom.getParaList(wrapNode, { getNestedStructure: true, removeIgoreEle: false }); var formatAnchor = keyby(anchors, 'idx'); if (!paraList) return; (paraList || []).forEach(function (para, index) { var paraAnchors = formatAnchor[index]; if (paraAnchors && paraAnchors.length > 0) { addBanner(index, getBannerWord(paraAnchors[0])); maskAnchors(paraAnchors, para); } }); if (anchors && anchors.length !== totalHit) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'totalHit', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { totalHit: totalHit, anchors: anchors } }); } } } function addChildBanner(node, anchor) { var blockNode = dom.getPureBlockNode(node); if (!blockNode) return; addBanner(blockNode, getBannerWord()); } function maskAnchors2(wrapNode, anchors) { var missNodes = []; var countList = []; var maskNodeList = []; var cacheSelector = {}; anchors.forEach(function (anchor, i) { var _parseSelector = parseSelector(anchor.selector), selector = _parseSelector.selector, index = _parseSelector.index, total = _parseSelector.total; var nodes = cacheSelector[selector] || []; if (nodes.length === 0) { try { nodes = wrapNode.querySelectorAll(selector); cacheSelector[selector] = nodes; } catch (e) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { anchor: anchor } }); } } } var cursorLeft = index; var cursorRight = index; var queue = []; var node = null; var cursor = 0; var count = 0; queue.push(nodes[index]); while (queue.length) { var current = queue.pop(); var hitData = hitNode(current, anchor); count++; if (hitData && hitData.node) { node = hitData.node; cursor = hitData.cursor; break; } if (cursorLeft - 1 >= 0 && nodes[cursorLeft - 1]) { queue.push(nodes[cursorLeft - 1]); cursorLeft -= 1; } if (cursorRight + 1 < nodes.length && nodes[cursorRight + 1]) { queue.push(nodes[cursorRight + 1]); cursorRight += 1; } } if (node) { maskNodeList.push({ anchor: anchor, node: node, cursor: cursor }); addChildBanner(node); } else if (selector && selector.lastIndexOf('>') !== -1) { missNodes.push(_objectSpread$b(_objectSpread$b({}, anchor), {}, { selector: selector && selector.slice(0, selector.lastIndexOf('>')) + "|".concat(total, " ").concat(index) })); } countList[i] = count; }); maskNodeList.forEach(function (item) { maskNode(item.anchor, item.node, item.cursor); }); if (missNodes.length) { maskAnchors2(wrapNode, missNodes); if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'missNodes', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { missNodes: missNodes } }); } } if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Info', 'querycount', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { countList: countList } }); } } function init2(wrapNode, anchors) { maskAnchors2(wrapNode, anchors); } function init(wrapNode, anchors) { var oldAnchors = []; var newAnchors = []; anchors.forEach(function (anchor) { if (anchor.selector) { newAnchors.push(anchor); } else { oldAnchors.push(anchor); } }); init2(wrapNode, newAnchors); if (oldAnchors.length > 0) { initOld(wrapNode, oldAnchors); } } var complainPainter = { init: init }; function setMaskNode(data, $wrap) { try { if (data.anchor_tree_msg) { var start = Date.now(); var anchors = data.anchor_tree_msg ? JSON.parse(data.anchor_tree_msg).anchor_tree : []; var protocol = window.location.protocol; complainPainter.init($wrap, anchors); wxgspeedsdk.saveSpeeds({ sample: 1, uin: window.uin, pid: protocol == 'https:' ? 462 : 417, speeds: { sid: 38, time: Date.now() - start } }); wxgspeedsdk.send(); } } catch (error) { if (typeof WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs) { window.WX_BJ_REPORT.BadJs.onError(error, { anchor_tree_msg: window.anchor_tree_msg }); } } } var AI_SUMMARY_ENTER_SCENE = { TOP: 31, BOTTOM: 32, FLOATING: 42, TEXT_EXCERPT: 8 }; var AI_SUMMARY_VIEW_ID = { TOP: 'biz_article_top_ai_synthesis', BOTTOM: 'biz_article_bottom_ai_synthesis', FLOATING: 'biz_article_ai_recap_ask_xiaowei', TEXT_EXCERPT: 'biz_article_underline_ask_xiaowei' }; function getAiSummaryUvHtml(uv) { return 'AI总结'; } var ANDROID_AI_SUMMARY_VERSION_RANGES = [[0x28004c3d, 0x28004c3f], [0x28004c50, 0x28004c5f], [0x28004d00, 0x2fffffff - 1] ]; function isAndroidVersionInRange() { if (!MMVersion.isAndroid) return false; var inner = MMVersion.getInner(); if (!inner) return false; var v = parseInt(inner, 16); return ANDROID_AI_SUMMARY_VERSION_RANGES.some(function (_ref) { var _ref2 = _slicedToArray$1(_ref, 2), lo = _ref2[0], hi = _ref2[1]; return v >= lo && v 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { params[_key - 1] = arguments[_key]; } if (permanentListeners[event]) { permanentListeners[event].forEach(function (callback) { if (typeof callback === 'function') { callback.apply(void 0, params); } }); } if (onceListeners[event]) { onceListeners[event].forEach(function (callback) { if (typeof callback === 'function') { callback.apply(void 0, params); } }); clean(event); } } function remove(event, callback, permanent) { if (typeof callback === 'function') { if (permanent && permanentListeners[event]) { var idx = permanentListeners[event].indexOf(callback); if (idx !== -1) { permanentListeners[event].splice(idx, 1); } } else if (onceListeners[event]) { var _idx = onceListeners[event].indexOf(callback); if (_idx !== -1) { onceListeners[event].splice(_idx, 1); } } } } var eventBus = { on: on$1, emit: emit, remove: remove, clean: clean }; window.__page_cls_ctrl__canRenderSilently = '__page_cls_ctrl__canRenderSilently' in window ? window.__page_cls_ctrl__canRenderSilently : true; window.__page_cls_ctrl__forceRenderSilentlyList = '__page_cls_ctrl__forceRenderSilentlyList' in window ? window.__page_cls_ctrl__forceRenderSilentlyList : []; window.__page_cls_ctrl__compRenderInfo = '__page_cls_ctrl__compRenderInfo' in window ? window.__page_cls_ctrl__compRenderInfo : {}; var compRenderInfoInner = {}; var hasReportIdKey = false; function getCompId(renderInfo) { if (renderInfo.subCompType) { return "".concat(renderInfo.compType, "-").concat(renderInfo.compIdx, "-").concat(renderInfo.subCompType); } return "".concat(renderInfo.compType, "-").concat(renderInfo.compIdx); } function setForceRenderSilentlyList(list) { if (Array.isArray(list)) { var _window$__page_cls_ct; (_window$__page_cls_ct = window.__page_cls_ctrl__forceRenderSilentlyList).push.apply(_window$__page_cls_ct, _toConsumableArray$1(list)); } else if (Object.prototype.toString.call(list).includes('Number')) { window.__page_cls_ctrl__forceRenderSilentlyList.forceRenderSilentScrollTop = list; } } function setRenderSilentlyReadyStatus(status) { window.__page_cls_ctrl__canRenderSilently = status; } function emitRenderNewHeightEvt() { eventBus.emit('cls-render-new-height'); } function setCompRenderInfo(renderInfo, diffHeight) { window.__page_cls_ctrl__compRenderInfo[getCompId(renderInfo)] = { dh: diffHeight, compEle: renderInfo.compEle }; } function renderCompSilentlyPreHandler(renderInfo) { var wrapper = renderInfo.wrapper || renderInfo.compEle.parentNode || { scrollHeight: 0 }; compRenderInfoInner[getCompId(renderInfo)] = { beforeHeight: wrapper.scrollHeight, boundingRectTop: renderInfo.compEle.getBoundingClientRect().top, beforeScrollTop: document.body.scrollTop || document.documentElement.scrollTop, wrapper: wrapper }; } function renderCompSilently(renderInfo) { var compId = getCompId(renderInfo); if (!compRenderInfoInner[compId] || compRenderInfoInner[compId].beforeHeight === compRenderInfoInner[compId].wrapper.scrollHeight || !('compIdx' in renderInfo) || renderInfo.compIdx < 0) { return; } var diffHeight = compRenderInfoInner[compId].wrapper.scrollHeight - compRenderInfoInner[compId].beforeHeight; var autoScrollHeight = (document.body.scrollTop || document.documentElement.scrollTop) - compRenderInfoInner[compId].beforeScrollTop; emitRenderNewHeightEvt(); if ((compRenderInfoInner[compId].boundingRectTop < 0 || window.__page_cls_ctrl__forceRenderSilentlyList.includes(compId) || window.scrollY + compRenderInfoInner[compId].boundingRectTop < window.__page_cls_ctrl__forceRenderSilentlyList.forceRenderSilentScrollTop ) && window.__page_cls_ctrl__canRenderSilently && Math.ceil(autoScrollHeight) !== diffHeight && Math.floor(autoScrollHeight) !== diffHeight) { document.body.scrollTop = document.body.scrollTop + diffHeight; document.documentElement.scrollTop = document.documentElement.scrollTop + diffHeight; window.__addIdKeyReport && window.__addIdKeyReport(330742, 2); !hasReportIdKey && window.__addIdKeyReport && window.__addIdKeyReport(330742, 3); hasReportIdKey = true; } window.__page_cls_ctrl__compRenderInfo[compId] = { dh: diffHeight, compEle: renderInfo.compEle }; var newScrollTop = document.body.scrollTop || document.documentElement.scrollTop; for (var i in compRenderInfoInner) { if (!window.__page_cls_ctrl__compRenderInfo[i]) { compRenderInfoInner[i].beforeScrollTop = newScrollTop; } } } var pageClsCtrl = { compRenderInfo: window.__page_cls_ctrl__compRenderInfo, setForceRenderSilentlyList: setForceRenderSilentlyList, setRenderSilentlyReadyStatus: setRenderSilentlyReadyStatus, renderCompSilentlyPreHandler: renderCompSilentlyPreHandler, renderCompSilently: renderCompSilently, emitRenderNewHeightEvt: emitRenderNewHeightEvt, setCompRenderInfo: setCompRenderInfo }; function removePlaceholder(element, preloadingid) { var preLoadNode = element.parentNode.querySelector("[data-preloadingid=\"".concat(preloadingid, "\"]")); if (preLoadNode) { preLoadNode.parentNode.removeChild(preLoadNode); pageClsCtrl.emitRenderNewHeightEvt(); } } function _regeneratorRuntime$4() { _regeneratorRuntime$4 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof$2(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof$2(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } var arrayLikeToArray$2 = _arrayLikeToArray; var arrayLikeToArray$1 = arrayLikeToArray$2; function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray$1(o, minLen); } var unsupportedIterableToArray$2 = _unsupportedIterableToArray; function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var nonIterableRest$1 = _nonIterableRest; var arrayWithHoles = arrayWithHoles$1; var iterableToArrayLimit = iterableToArrayLimit$1; var unsupportedIterableToArray$1 = unsupportedIterableToArray$2; var nonIterableRest = nonIterableRest$1; function _slicedToArray(arr, i) { return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray$1(arr, i) || nonIterableRest(); } var slicedToArray = _slicedToArray; function _regeneratorRuntime$3() { _regeneratorRuntime$3 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof$2(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof$2(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc 1 && (t -= 1), t < 1 / 6 ? n + (e - n) * 6 * t : t < 1 / 2 ? e : t < 2 / 3 ? n + (e - n) * (2 / 3 - t) * 6 : n; }; function h$3(n, e, t) { n /= 255, e /= 255, t /= 255; var o = Math.max(n, e, t), s = Math.min(n, e, t); var r, i; var c = (o + s) / 2; if (o === s) r = i = 0;else { var a = o - s; switch (i = c > 0.5 ? a / (2 - o - s) : a / (o + s), o) { case n: r = (e - t) / a + (e < t ? 6 : 0); break; case e: r = (t - n) / a + 2; break; case t: r = (n - e) / a + 4; break; } r /= 6; } return [r * 360, i, c]; } function g$6() { var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var _n = slicedToArray(n, 3), e = _n[0], t = _n[1], o = _n[2], s = t / 100, r = o / 100; var i, c, a; if (s === 0) i = c = a = r;else { var u = r < 0.5 ? r * (1 + s) : r + s - r * s, w = 2 * r - u, m = e / 360; i = f$2(w, u, m + 1 / 3), c = f$2(w, u, m), a = f$2(w, u, m - 1 / 3); } return i = Math.round(i * 255), c = Math.round(c * 255), a = Math.round(a * 255), [i, c, a]; } function y$2() { var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var _n2 = slicedToArray(n, 3), e = _n2[0], t = _n2[1], o = _n2[2]; if (e < 0 || e > 255 || t < 0 || t > 255 || o < 0 || o > 255) throw new Error("RGB values must be in the range 0-255"); var s = function s(r) { var i = r.toString(16).toUpperCase(); return i.length === 1 ? "0" + i : i; }; return "#".concat(s(e)).concat(s(t)).concat(s(o)); } var d$5; function _$4() { var e, t; return { exportkey: Url.getQuery("exportkey"), __biz: window.biz, article_info: { mp_biz: (window == null ? void 0 : window.atob(window.biz || "")) || "", item_idx: Number(window.itemidx || window.idx), appmsgid: Number(window.mid), item_show_type: Number(window.item_show_type), mp_article_scene: Number(window.source), mp_sub_scene: Number(window.subscene), mp_get_a8key_scene: Number(window.ascene), carrier_type: ((t = (e = window.cgiData) == null ? void 0 : e.product_activity) == null ? void 0 : t.activity_type) || 0, search_click_id: Url.getQuery("search_click_id") } }; } var x$2 = 150; var p$2 = 0; function N$1() { return _N.apply(this, arguments); } function _N() { _N = asyncToGenerator( _regeneratorRuntime$3().mark(function _callee() { return _regeneratorRuntime$3().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: return _context.abrupt("return", d$5 || (window.__secPageAuthPromise ? new Promise(function (n) { window.__secPageAuthPromise.then(function () { d$5 = _$4(), n(d$5); }); }) : (_typeof$2(window.itemidx || window.idx) > "u" || _typeof$2(window.mid) > "u" || _typeof$2(window.item_show_type) > "u") && p$2 < x$2 ? (p$2++, new Promise(function (e) { setTimeout(function () { e(N$1()); }, 16); })) : (d$5 = _$4(), d$5))); case 1: case "end": return _context.stop(); } }, _callee); })); return _N.apply(this, arguments); } function k$2(n) { return (Number(n) / 100).toFixed(2).replace(/([0-9]+(\.[0-9]+[1-9])?)(\.?0+$)/, "$1"); } function I$5(n) { return _typeof$2(n.code) < "u" && n.code !== 0; } function P$4(n, e) { var t = { base_req: { action: n }, ext_info: JSON.stringify(e) }; return { data: JSON.stringify(t) }; } function O$5(n) { if (!n) return; var e = n.data; e.params && (e.params = JSON.parse(e.params), e.params = JSON.stringify(_objectSpread$a(_objectSpread$a({}, e.params), {}, { scene: Number(window.source), subscene: Number(window.subscene), ClientVersion: parseInt(window.clientversion || "", 16), SessionId: window.sessionid || "" }))), ajax({ type: "POST", url: "/mp/c_psmaterial_info?action=get_windowproduct", timeout: 5e3, dataType: "json", data: P$4("ReportMMData23782", _objectSpread$a({}, e)), success: function success() {}, error: function error() { console.log("[error]"); } }); } function C$6() { var _ref2; var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var a; var _ref = (_ref2 = (a = n.filter(function (_ref3) { var u = _ref3.red, w = _ref3.green, m = _ref3.blue; return !(u === 255 && w === 255 && m === 255); })) == null ? void 0 : a[0]) !== null && _ref2 !== void 0 ? _ref2 : { red: 76, green: 76, blue: 76 }, e = _ref.red, t = _ref.green, o = _ref.blue, _h = h$3(e, t, o), _h2 = slicedToArray(_h, 3), s = _h2[0], r = _h2[1], i = _h2[2]; i = Math.min(i, 0.2); var c = g$6([s, r * 100, i * 100]); return e = c[0], t = c[1], o = c[2], [y$2([e, t, o]), { red: e, green: t, blue: o }]; } function M$2() { return (typeof window === "undefined" ? "undefined" : _typeof$2(window)) < "u"; } function R$3() { var n = M$2() && window.navigator.userAgent.toLowerCase(); return n && /iphone|ipad|ipod|ios/.test(n); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var classCallCheck = _classCallCheck; function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var createClass = _createClass; function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } var assertThisInitialized$1 = _assertThisInitialized; var _typeof = _typeof_1; var assertThisInitialized = assertThisInitialized$1; function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return assertThisInitialized(self); } var possibleConstructorReturn = _possibleConstructorReturn; function _getPrototypeOf(o) { getPrototypeOf = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } var getPrototypeOf = _getPrototypeOf; var _getPrototypeOf$1 = getPrototypeOf; function _setPrototypeOf(o, p) { setPrototypeOf$1 = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var setPrototypeOf$1 = _setPrototypeOf; var setPrototypeOf = setPrototypeOf$1; function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) setPrototypeOf(subClass, superClass); } var inherits = _inherits; function _callSuper(t, o, e) { return o = _getPrototypeOf$1(o), possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf$1(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var v$3 = { web: "common-web", app: "common-app", wechat: "common-webchat" }; function T$6(t, e) { var o = e || window.location.search, n = new RegExp("(^|&)" + t + "=([^&]*)(&|$)"), s = o.substr(o.indexOf("?") + 1).match(n); return s !== null ? s[2] : ""; } var f$1 = T$6("color_scheme", location.href), _$3 = Number(T$6("uninteractive", location.href)), k$1 = { props: { platform: { type: String, "default": "web" }, extraInfo: { type: Object, "default": function _default() { return {}; } } }, mounted: function mounted() { var t = this.$refs.js_custom_element; t && (this.platform !== "wechat" && !f$1 && t.setAttribute("data-weui-theme", "light"), f$1 && f$1 === "light" && t.setAttribute("data-weui-theme", "light"), _$3 === 1 && t.classList.add("wx_uninteractive")); }, data: function data() { return { platformClassname: v$3[this.platform] }; } }; function L$2(t) { var e = {}; return t.attributes && Array.from(t.attributes).forEach(function (o) { e[o.nodeName] = o.nodeValue; }), e; } function j$2() { var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var e = arguments.length > 1 ? arguments[1] : undefined; var o = []; return t.childNodes.forEach(function (n) { var s = L$2(n); if ("data-shadow-slot" in s) { if (!s.slot) return; var l = { attrs: s, domProps: { innerHTML: n.innerHTML === "" ? n.innerText : n.innerHTML }, slot: s.slot }; s.slot = void 0; var m = e(n.tagName, l); o.push(m); } else if (s.slot) { var _l = e("slot", { attrs: { name: s.slot }, slot: s.slot }); o.push(_l); } }), o; } function H$3(_ref) { var t = _ref.iframeWindow, e = _ref.Component, o = _ref.platform, n = _ref.customName, s = _ref.styleText, _ref$extraInfo = _ref.extraInfo, l = _ref$extraInfo === void 0 ? {} : _ref$extraInfo, m = _ref.watchAttr, b = _ref.beforeRender, g = _ref.afterRender, E = _ref.selector, y = _ref.afterMounted, w = _ref.reflowProps, C = _ref.getProps, _ref$eventName = _ref.eventName, A = _ref$eventName === void 0 ? [] : _ref$eventName; var d = window; t && (d = t), l.window = d; var $ = window.test_autospace; d.customElements.define(n, function (_d$HTMLElement) { inherits(_class, _d$HTMLElement); function _class() { var _this; classCallCheck(this, _class); _this = _callSuper(this, _class); var a = _this.attachShadow({ mode: "open" }); _this.shadow = a; return _this; } createClass(_class, [{ key: "connectedCallback", value: function connectedCallback() { var _this2 = this; if (!e.install) { if (e.props && w && w.length) { var i = { watch: {} }; w.forEach(function (u) { i.watch[u] = function () { var p = this.$el.getRootNode().host, x = { compEle: p, compType: n, compIdx: Array.from(document.querySelectorAll(E || n)).indexOf(p) }; b && b(Object.assign({ subCompType: u }, x)), this.$nextTick(function () { g && g(Object.assign({ subCompType: u }, x)); }); }; }), e.mixins.push(i); } typeof e.template == "function" && e.template(e); } var a = A.reduce(function (i, u) { return i[u] = function (p) { _this2.dispatchCustomEvent(u, p); }, i; }, {}), c = new Vue({ render: function render(i) { return i(e, { props: C.call(_this2, o, l), on: a }, j$2(_this2, i)); } }); this.wrapper = c; var r = document.createElement("style"); r.textContent = " \n :host {\n all: initial;\n -webkit-text-size-adjust: inherit;\n ".concat($ ? "text-autospace: normal" : "", "\n }\n \n "), this.shadowRoot.appendChild(r); var h = document.createElement("style"); h.appendChild(document.createTextNode(s)), this.shadowRoot.appendChild(h), this.wrapper.$mount(), this.shadowRoot.appendChild(this.wrapper.$el), this.debounceUpdate = this.debounce(function () { console.log("forceUpdate"), _this2.wrapper && _this2.wrapper.$forceUpdate(); }, 500), this.classList.add("mp_common_widget"), y && y.call(this); } }, { key: "debounce", value: function debounce(a, c) { var r; return function () { for (var _len = arguments.length, h = new Array(_len), _key = 0; _key < _len; _key++) { h[_key] = arguments[_key]; } var i = this; clearTimeout(r), r = setTimeout(function () { return a.apply(i, h); }, c); }; } }, { key: "dispatchCustomEvent", value: function dispatchCustomEvent(a, c) { var r = new CustomEvent(a, { detail: c, bubbles: !0, composed: !0 }); this.dispatchEvent(r); } }, { key: "getKeyByDataValue", value: function getKeyByDataValue(a) { for (var c in ATTR) if (ATTR[c] === a) return c; return null; } }, { key: "disconnectedCallback", value: function disconnectedCallback() { this.shadowRoot.innerHTML = "", this.wrapper && this.wrapper.$destroy(); } }, { key: "attributeChangedCallback", value: function attributeChangedCallback(a, c, r) { this.wrapper && this.wrapper.$forceUpdate(); } }], [{ key: "observedAttributes", get: function get() { return m; } }]); return _class; }(d.HTMLElement)); } function p$1(o) { var e = {}, s = /[?&]([^=&#]+)=([^&#]*)/g, t = o.match(s); if (t) { for (var r in t) if (Object.prototype.hasOwnProperty.call(t, r)) { var c = t[r].split("="), n = c[0].substr(1), i = c[1]; e[n] ? e[n] = [].concat(e[n], i) : e[n] = i; } } return e; } function h$2(o) { var e = o.length; var s = o.indexOf("?"), t = o.indexOf("#"); t = t === -1 ? e : t, s = s === -1 ? t : s; var r = o.substring(0, s), c = o.substring(s + 1, t), n = o.substring(t + 1); return { host: r, queryStr: c, hash: n }; } function u$3(o, e) { var s = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1; var t = h$2(o); var r = t.queryStr; var c = []; if (_typeof$2(e) == "object") for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && c.push(n + "=" + (s ? e[n] : encodeURIComponent(e[n])));else c.push(s ? e : encodeURIComponent(e)); return c.length > 0 && (r += (r !== "" ? "&" : "") + c.join("&")), "".concat(t.host).concat(r !== "" ? "?" + r : "").concat(t.hash !== "" ? "#" + t.hash : ""); } function v$2(r, a, d, h, i, t, f, u) { var e = typeof r == "function" ? r.options : r; a && (e.render = a, e.staticRenderFns = d, e._compiled = !0), h && (e.functional = !0), t && (e._scopeId = "data-v-" + t); var o; if (f ? (o = function o(n) { n = n || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !n && (typeof __VUE_SSR_CONTEXT__ === "undefined" ? "undefined" : _typeof$2(__VUE_SSR_CONTEXT__)) < "u" && (n = __VUE_SSR_CONTEXT__), i && i.call(this, n), n && n._registeredComponents && n._registeredComponents.add(f); }, e._ssrRegister = o) : i && (o = u ? function () { i.call(this, (e.functional ? this.parent : this).$root.$options.shadowRoot); } : i), o) if (e.functional) { e._injectStyles = o; var l = e.render; e.render = function (p, _) { return o.call(_), l(p, _); }; } else { var s = e.beforeCreate; e.beforeCreate = s ? [].concat(s, o) : [o]; } return { exports: r, options: e }; } typeof Number.isFinite == "function" && Number.isFinite.bind(Number); function o$6(n) { var _this = this; var t = {}; return Object.keys(n).forEach(function (e) { t[e] = _this.getAttribute(n[e]); }), t; } function _regeneratorRuntime$2() { _regeneratorRuntime$2 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof$2(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof$2(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc 0 ? 8 : 0); if (i + E 1 && arguments[1] !== undefined ? arguments[1] : 1; var e = Number(A); return Number.isNaN(e) ? (console.warn("[formatUnit] The count is an invalid value!"), "0") : e === 0 ? "0" : e < 1e4 ? "".concat(e) : e < 1e8 ? t === 0 ? Math.floor(Number(e) / 1e4) + "万" : Math.floor(Number(e) / 1e3) / 10 + "万" : t === 0 ? Math.floor(Number(e) / 1e8) + "亿" : Math.floor(Number(e) / 1e7) / 10 + "亿"; }, Ke = defineProperty(defineProperty(defineProperty(defineProperty(defineProperty(defineProperty(defineProperty(defineProperty(defineProperty({}, d$4.SEVEN_DAY_GUARANTEE, { desc: "7天无理由", "class": "safeguard" }), d$4.SELLER_INSURANCE, { "class": "safeguard", desc: "运费险" }), d$4.PAY_AFTER_USE, { "class": "safeguard", desc: "先用后付" }), d$4.FAST_REFUND, { "class": "safeguard", desc: "极速退款" }), d$4.DAMAGE_GUARANTEE, { "class": "safeguard", desc: "坏损包退" }), d$4.FAKE_ONE_PAY_FOUR, { "class": "safeguard", desc: "假一赔三" }), d$4.TIMEOUT_REFUND, { "class": "safeguard", desc: function desc(_ref) { var A = _ref.tagNum1; return _typeof$2(A) < "u" ? "".concat(A, "\u5929\u8D85\u65F6\u9000") : ""; }, valid: function valid(_ref2) { var A = _ref2.tagNum1; return typeof A == "number"; } }), d$4.BUY_WITH_CONFIDENCE, { "class": "confidence", desc: "放心买" }), d$4.DOOR_TO_DOOR_PICKUP, { "class": "safeguard", desc: "上门取件" }), Xe = function Xe(A) { var t = (A.marketingCoupons || []).map(function (B) { return { desc: B.couponName, "class": "marketing-coupons" }; }), e = (A.productIconTags || []).map(function (B) { var a = Ke[B.tagType]; if (!a || typeof a.valid == "function" && !a.valid(B)) return null; var E = ""; return typeof a.desc == "function" ? E = a.desc(B) : E = a.desc, { desc: E, "class": a["class"] }; }).filter(function (B) { return B; }), i = (A.associatedCoupons || []).map(function (B) { return { desc: B.couponName, "class": "coupons" }; }); return { marketingCoupons: t, safeguardList: e, couponsList: i }; }, qe = { 1: { show: !0 }, 2: { show: !1, msg: "商品因违规已下架" }, 3: { show: !0, msg: "商品已下架" }, 4: { show: !0, msg: "商品已删除" }, 5: { show: !0 } }, $e = function $e(A) { var e; var t = qe[A.status]; return t.msg ? t.msg : ((e = A.timingOnsaleInfo) == null ? void 0 : e.status) === 1 ? " " : A.stock ? "" : "商品卖完了"; }, At = function At(A) { var e; var t = { str: "\xA5".concat(A.sellingPrice / 100), more: A.isPriceBeginShow, wording: A.sellingPriceWording }; return ((e = A.timingOnsaleInfo) == null ? void 0 : e.status) === 1 && (A.timingOnsaleInfo.isHidePrice && (t = { str: "\xA5".concat(A.timingOnsaleInfo.maskPrice), more: 0, wording: "" }), t.wording = "待开售"), t; }, et = function et(A) { var e, i; var t = 0; return (e = A.productShopIcon) != null && e.iconTopSimplifyUrl ? t = 1 : (i = A.productShopIcon) != null && i.iconR_30transpUrl && (t = 2), t; }, T$5 = function T(A) { var e, i, B, a; var t = M$1(A); return _objectSpread$9(_objectSpread$9({}, t), {}, { tags: Xe(t), btnText: $e(t), history: Ze$1(t.sales), price: At(t), bizIcon: { goodShopIcon: { normal: ((e = t.productShopIcon) == null ? void 0 : e.iconTopSimplifyUrl) || "", dark: ((i = t.productShopIcon) == null ? void 0 : i.iconTopSimplifyUrlDark) || "" }, rtagIcon: { normal: ((B = t.productShopIcon) == null ? void 0 : B.iconR_30transpUrl) || "", dark: ((a = t.productShopIcon) == null ? void 0 : a.iconR_30transpDarkUrl) || "" } }, shopLabelTag: et(t) }); }; var tt = "https://mp.weixin.qq.com/shop/ssr/wap/business", it = "https://mp.weixin.qq.com/shop/ssr/wap/productCard", Bt = "https://mp.weixin.qq.com/mmec/productcard", at = "https://mp.weixin.qq.com/shop/ssr/wap/recommend", rt = "https://mp.weixin.qq.com", l$5 = { BIZ_ARTICLE_CSIDE_READ: 1, BIZ_ARTICLE_BSIDE_PREVIEW: 2, BIZ_PRIVATE_MESSAGE_BSIDE: 3, BIZ_PRIVATE_MESSAGE_CSIDE: 4, BIZ_AUTO_REPLY_BSIDE: 5, BIZ_AUTO_REPLY_CSIDE: 6, BIZ_CUSTOM_MENU_BSIDE: 7, BIZ_CUSTOM_MENU_CSIDE: 8 }, ot = 8; function Et(A) { try { var _JSON$parse = JSON.parse(A), t = _JSON$parse.action, e = _JSON$parse.value; return { action: t, value: e }; } catch (t) { console.error(t); } return {}; } function g$5(A, t, e, i) { try { if (!A) return console.warn("postMessageToIframe: win is null"); A.postMessage(JSON.stringify({ action: t, value: e }), i || "*"); } catch (B) { console.log("postMessage error", B); } } var st = { name: "mp-common-product", components: { Product: Je }, mixins: [k$1], props: { extraInfo: { type: Object, "default": function _default() { return {}; } }, productInfo: { type: Object, "default": function _default() { return {}; } }, immutable: { type: Number, "default": 0 }, token: { type: String, "default": "" }, windowproduct: { type: String, "default": "" }, is_hover: { type: Number, "default": 0 }, is_selected: { type: Number, "default": 0 }, customstyle: { type: String, "default": "{}" }, ecsource: { type: String, "default": "" }, exportkey: { type: String, "default": "" }, wap_export_token: { type: String, "default": "" }, loaded: { type: Number, "default": 0 }, cardtype: { type: Number, "default": 0 }, productImage: { type: String, "default": "" }, originPrice: { type: Number, "default": 0 }, discountedPrice: { type: Number, "default": 0 }, title: { type: String, "default": "" }, req_scene: { type: Number, "default": 0 }, urlParams: { type: Object, "default": function _default() { return {}; } }, extInfo: { type: Object, "default": function _default() { return {}; } }, scrollBlur: { type: Number, "default": 0 }, wrpStyle: { type: String, "default": "" }, outerclick: { type: Number, "default": 0 } }, data: function data() { var t = "", e = "https://mp.weixin.qq.com/mmec/biz_getproductqrcode?productkey=".concat(this.windowproduct, "&reqScene=").concat(this.req_scene, "&article_info="); return { showIframe: !1, iframeUrl: t, transferStyle: "", timeout: null, observer: null, active: !1, hasExpose: !1, iframeLoading: !0, iframeLoadTimeout: null, productCard: null, failMsg: "", qrCodeUrl: e, isDarkMode: !1 }; }, computed: { isEditor: function isEditor() { return this.platform === "web" || this.platform === "app"; }, jumpInfo: function jumpInfo() { var _this$productCard = this.productCard, A = _this$productCard.giftJumpInfoBase64Str, t = _this$productCard.cardJumpInfoBase64Str, e = _this$productCard.buyButtonJumpInfoBase64Str; return { giftJumpInfoBase64Str: A, cardJumpInfoBase64Str: t, buyButtonJumpInfoBase64Str: e }; }, iframeStyle: function iframeStyle() { var A = {}; return this.platform === "web" ? [l$5.BIZ_CUSTOM_MENU_BSIDE, l$5.BIZ_AUTO_REPLY_BSIDE, l$5.BIZ_PRIVATE_MESSAGE_BSIDE].includes(this.req_scene) ? A.width = "195px" : A.width = "350px" : A.width = "100%", A = Object.assign(A, JSON.parse(this.transferStyle || "{}")), A; }, isIframe: function isIframe() { return this.cardtype !== 0 && this.cardtype !== 1 && this.cardtype !== 3; }, clientType: function clientType() { return this.isEditor ? "B" : "C"; }, darkMode: function darkMode() { return this.isDarkMode; }, isPC: function isPC() { return Device.os.pc; } }, watch: { loaded: { handler: function handler() { this.loaded && (this.showIframe = !0, this.iframeUrl = this.getCUrl()); }, immediate: !0 }, cardtype: function cardtype(A) { this.isEditor && (this.iframeUrl = this.getBUrl()), (A === 0 || A === 1 || A === 3) && (this.iframeLoading = !1); }, windowproduct: function windowproduct() { this.isEditor && (this.iframeUrl = this.getBUrl()); }, urlParams: function urlParams() { this.isEditor && (this.iframeUrl = this.getBUrl()); }, iframeUrl: function iframeUrl() { var _this5 = this; this.isIframe && (this.iframeLoading = !0, this.iframeLoadTimeout && clearTimeout(this.iframeLoadTimeout), this.iframeLoadTimeout = setTimeout(function () { window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report("load timeout", _this5.iframeUrl, { mid: "mmbizwap:product", view: "wap_business", _info: { url: location.href, productCount: document.getElementsByTagName("mp-common-product").length } }); }, 5e3)); } }, created: function created() { this.isEditor && (this.showIframe = !0, this.iframeUrl = this.getBUrl()), this.isIframe || (this.iframeLoading = !1); }, mounted: function mounted() { var _this6 = this; this.extraInfo.window && this.extraInfo.window.addEventListener("message", this.handleMessage), this.extraInfo.window && this.extraInfo.window.addEventListener("click", this.handleDocumentClick), this.scrollBlur && this.extraInfo.window && this.extraInfo.window.addEventListener("scroll", this.handleScroll), this.extraInfo.window && (this._darkModeMedia = this.extraInfo.window.matchMedia("(prefers-color-scheme: dark)"), this.isDarkMode = this._darkModeMedia.matches, this._darkModeMedia.addEventListener ? this._darkModeMedia.addEventListener("change", this.darkModeListener) : this._darkModeMedia.addListener(this.darkModeListener)), this.isIframe || (window.__secPageAuthPromise ? window.__secPageAuthPromise.then(function () { _this6.initProductInfo(); }) : this.initProductInfo()); }, beforeDestroy: function beforeDestroy() { this.extraInfo.window && this.extraInfo.window.removeEventListener("message", this.handleMessage), this.extraInfo.window && this.extraInfo.window.removeEventListener("click", this.handleDocumentClick), this.scrollBlur && this.extraInfo.window && this.extraInfo.window.removeEventListener("scroll", this.handleScroll), this._darkModeMedia && (this._darkModeMedia.removeEventListener ? this._darkModeMedia.removeEventListener("change", this.darkModeListener) : this._darkModeMedia.removeListener(this.darkModeListener)), this.observer && this.observer.disconnect(); }, methods: { darkModeListener: function darkModeListener(A) { this.isDarkMode = A.matches; }, handleScroll: function handleScroll() { this.deActive(); }, handleDocumentClick: function handleDocumentClick(A) { this.$refs.js_custom_element.contains(A.target) || (this.deActive(), this.$emit("document-click", A)); }, deActive: function deActive() { var A = this.$refs.iframeRef; A && A.contentWindow && this.active && (g$5(A.contentWindow, "webEvent", { type: "unclick" }), this.active = !1); }, exposureReport: function exposureReport() { var _this7 = this; this.observer = new IntersectionObserver(function (A) { A.forEach(function (t) { var e = _this7.isIframe ? _this7.$refs.iframeRef : _this7.$refs.productCardRef && _this7.$refs.productCardRef.$el; if (t.isIntersecting && t.intersectionRatio >= 0.5) { _this7.$emit("expose", !_this7.hasExpose), _this7.hasExpose = !0; try { e && (_this7.timeout = setTimeout(function () { _this7.isIframe ? e.contentWindow && g$5(e.contentWindow, "webEvent", { type: "valid_expose" }) : _this7.report("element_valid_expose"); }, 500)); } catch (i) { console.error(i); } } else _this7.timeout && clearTimeout(_this7.timeout); }); }, { threshold: 0.5 }), this.observer.observe(this.$refs.js_custom_element); }, handleMessage: function handleMessage(A) { if (A.origin !== rt) return; var t = this.$refs.iframeRef; if (t && A.source === t.contentWindow) { var _Et = Et(A.data), e = _Et.action, i = _Et.value; switch (e) { case "changeFrameStyle": this.changeFrameStyle(A, i); break; case "onFrameReady": this.onFrameReady(A, t); break; case "webEvent": i.type === "click" ? this.clickProduct(A) : i.type === "toast" ? window.weui.toast(i.msg, { extClass: "weui-toast_text common_product_toast" }) : i.type === "dialog" && window.weui.dialog(i); break; } this.$emit("iframe-message", A); } }, onFrameReady: function onFrameReady(A, t) { this.iframeLoadTimeout && clearTimeout(this.iframeLoadTimeout), this.iframeLoading = !1, this.setProductData(A.source, t), this.extraInfo.window && g$5(this.extraInfo.window, "setPageData", { darkMode: this.darkMode }), this.isEditor || this.exposureReport(); }, onCardReady: function onCardReady() { if (this.iframeLoadTimeout && clearTimeout(this.iframeLoadTimeout), this.iframeLoading = !1, this.windowproduct) { var A = this.$el.getRootNode().host; removePlaceholder(A, this.windowproduct); var t = A && A.parentNode; if (t) { var e = t.querySelector(".wx_img_placeholder"); e && t.removeChild(e); } } this.emitCardReadyEvent(), this.isEditor || this.exposureReport(); }, clickProduct: function clickProduct(A) { this.extraInfo.window && this.extraInfo.window.clickedProductWin && A.source !== this.extraInfo.window.clickedProductWin && g$5(this.extraInfo.window.clickedProductWin, "webEvent", { type: "unclick" }), this.extraInfo.window && (this.extraInfo.window.clickedProductWin = A.source), this.active = !0; }, setProductData: function setProductData(A) { g$5(A, "setData", { infos: { scene: "edit" } }), this.immutable && g$5(A, "setPageData", { scene: "immutable" }); }, changeFrameStyle: function changeFrameStyle(A, t) { if (!(!t || _typeof$2(t) != "object" || this.cardtype === 2)) try { this.transferStyle = JSON.stringify(t); } catch (e) { console.error(e); } }, getBRecommendIframeUrl: function getBRecommendIframeUrl() { var A = _objectSpread$9({ reqScene: this.req_scene }, this.urlParams), t = window && window.wx && window.wx.data && window.wx.data.t || p$1(window.location.href).token || this.token; return t && (A.token = t), this.cardtype && (A.cardtype = 1), u$3(at, A); }, getBUrl: function getBUrl() { if (this.cardtype === ot) return this.getBRecommendIframeUrl(); var A = _objectSpread$9({ productkey: this.windowproduct, reqScene: this.req_scene }, this.urlParams), t = window && window.wx && window.wx.data && window.wx.data.t || p$1(window.location.href).token || this.token; return t && (A.token = t), this.cardtype && (A.cardtype = this.cardtype), this.isIframe ? u$3(tt, A) : u$3(it, A); }, getCUrl: function getCUrl() { var A = _objectSpread$9({ productkey: this.windowproduct, reqScene: this.req_scene }, this.urlParams); return this.exportkey && (A.exportkey = this.exportkey), this.wap_export_token && (A.wap_export_token = this.wap_export_token), this.ecsource && (A.ecsource = this.ecsource), this.cardtype && (A.cardtype = this.cardtype), u$3(Bt, A); }, openShop: function openShop() { var A = this.$refs.iframeRef; this.outerclick ? this.$emit("element-click", this.$refs.js_custom_element) : !this.isEditor && A && g$5(A.contentWindow, "webEvent", { type: "openShop", clickType: 0 }); }, getBCardData: function getBCardData() { var _this8 = this; this.failMsg = "", ajax({ url: this.getBUrl(), type: "GET", dataType: "json", contentType: "application/json; charset=UTF-8", success: function success(A) { var t, e, i, B; ((t = A == null ? void 0 : A.resp) == null ? void 0 : t.code) === 0 && (e = A == null ? void 0 : A.resp) != null && e.data ? _this8.productCard = T$5((i = A == null ? void 0 : A.resp) == null ? void 0 : i.data) : _this8.failMsg = ((B = A == null ? void 0 : A.resp) == null ? void 0 : B.msg) || "商品信息获取失败"; }, error: function error(A) { console.error("获取商品数据失败:"), _this8.failMsg = "商品信息获取失败"; } }); }, getCCardData: function getCCardData() { var _this9 = this; var e, i; var A = { article_info: btoa(JSON.stringify({ mp_biz: atob(window.biz || ""), item_idx: Number(window.itemidx || window.idx || 0), appmsgid: Number(window.mid || 0), item_show_type: Number(window.item_show_type || 0), mp_article_scene: Number(window.source || 0), mp_sub_scene: Number(window.subscene || 0), mp_get_a8key_scene: Number(window.ascene || 0), carrier_type: ((i = (e = window.cgiData) == null ? void 0 : e.product_activity) == null ? void 0 : i.activity_type) || 0, search_click_id: Url.getQuery("search_click_id") || "" })), exportkey: Url.getQuery("exportkey") || "", wap_export_token: this.wap_export_token || "", ecsource: this.ecsource || "" }, t = Object.keys(A).map(function (B) { return "".concat(B, "=").concat(A[B]); }).join("&"); this.qrCodeUrl = this.qrCodeUrl.concat(A.article_info), ajax({ url: "/mmec/biz_batchgetproductcard?".concat(t), type: "POST", data: JSON.stringify({ productkey_list: [this.windowproduct], cardtype: this.cardtype }), dataType: "json", contentType: "application/json; charset=UTF-8", success: function success(B) { B.product_card_list && B.product_card_list.length > 0 ? (_this9.productCard = T$5(B.product_card_list[0].product_card_info), _this9.$forceUpdate()) : console.log("未获取到商品数据"); }, error: function error(B) { console.error("获取商品数据失败:", B); } }); }, initProductInfo: function initProductInfo() { this.windowproduct && (this.isEditor ? this.getBCardData() : this.getCCardData()); }, openJumpInfo: function openJumpInfo(A) { var _this10 = this; return asyncToGenerator( _regeneratorRuntime$2().mark(function _callee() { var t, e; return _regeneratorRuntime$2().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: if (!(_this10.platform === "wechat")) { _context.next = 11; break; } _context.next = 3; return t$3(); case 3: if (!_context.sent) { _context.next = 8; break; } _context.next = 6; return i$2(A); case 6: _context.next = 9; break; case 8: (t = window == null ? void 0 : window.weui) == null || t.toast("当前版本不支持打开页面", { extClass: "weui-toast_text" }); case 9: _context.next = 12; break; case 11: (e = window == null ? void 0 : window.weui) == null || e.toast("请在手机微信中打开", { extClass: "weui-toast_text" }); case 12: case "end": return _context.stop(); } }, _callee); }))(); }, handleOpenProduct: function handleOpenProduct() { this.openJumpInfo(this.jumpInfo.cardJumpInfoBase64Str); }, handleBuy: function handleBuy() { this.openJumpInfo(this.jumpInfo.buyButtonJumpInfoBase64Str); }, handleGift: function handleGift() { this.openJumpInfo(this.jumpInfo.giftJumpInfoBase64Str); }, emitCardReadyEvent: function emitCardReadyEvent() { var A = { data: JSON.stringify({ action: "onFrameReady", value: { productTitle: this.productCard.title, productName: this.productCard.title, qrcodeUrl: this.qrCodeUrl } }) }, t = new CustomEvent("iframe-message", { detail: A, bubbles: !0 }); this.$el.dispatchEvent(t), this.$emit("iframe-message", A); }, emitCardClickEvent: function emitCardClickEvent() { var A = { data: JSON.stringify({ action: "webEvent", value: { type: "click" } }) }, t = new CustomEvent("iframe-message", { detail: A, bubbles: !0 }); this.$el.dispatchEvent(t), this.$emit("iframe-message", A); }, handleProductClick: function handleProductClick(A) { var t, e; if (this.emitCardClickEvent(), this.clientType !== "B") { if (this.report("element_click"), Device.os.pc) { this.$set(this.productCard, "qrCodeUrl", this.qrCodeUrl); return; } else if (!MMVersion.isWechat) { (t = window == null ? void 0 : window.weui) == null || t.toast("请在手机微信中打开", { extClass: "weui-toast_text" }); return; } A === "product" ? this.handleOpenProduct() : A === "buy" ? this.handleBuy() : A === "gift" ? this.handleGift() : A === "giftFail" && ((e = window == null ? void 0 : window.weui) == null || e.alert(this.productCard.canntGivePresentMsg || "该商品不支持赠送", { extClass: "weui-toast_text" })); } }, report: function report(A) { var _this11 = this; return asyncToGenerator( _regeneratorRuntime$2().mark(function _callee2() { var t, i; return _regeneratorRuntime$2().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return N$1(); case 2: t = _context2.sent; i = { logid: "23782", data: { event: A, params: JSON.stringify({ page_name: "mp_article_page", element_name: "commodity_card", productid: _this11.productCard.productId, mp_article_bizuin: t.article_info.mp_biz, mp_article_appmsgid: t.article_info.appmsgid, mp_article_item_idx: t.article_info.item_idx, mp_article_item_show_type: t.article_info.item_show_type, scene: t.article_info.mp_article_scene, cardtype: _this11.cardtype, appid: _this11.productCard.appid, shopLabelTag: _this11.productCard.shopLabelTag || 0 }) } }; O$5(i); case 5: case "end": return _context2.stop(); } }, _callee2); }))(); } } }; var ct = function ct() { var t = this, e = t._self._c; return t.cardtype === 2 ? e("span", { ref: "js_custom_element", staticClass: "product_card_text_wrp", style: t.wrpStyle, on: { click: t.openShop } }, [e("a", { staticClass: "product_text_link", style: t.isEditor ? "color: #576B95" : "", attrs: { part: "link", role: "button", tabindex: "0" } }, [t._v(t._s(t.title))]), t.showIframe ? e("iframe", { ref: "iframeRef", staticClass: "iframe_style", style: [t.iframeStyle, { display: "none" }], attrs: { src: t.iframeUrl, scrolling: "no", frameborder: "0" } }) : t._e()]) : t.cardtype === 4 ? e("div", { ref: "js_custom_element", staticClass: "activity_card_wrp", on: { click: t.openShop } }, [e("div", { staticClass: "activity_card_wrp__container" }, [e("img", { staticClass: "product_image", attrs: { src: t.productImage, alt: "" } }), e("transition", { attrs: { name: "fade" } }, [t.discountedPrice ? e("span", { staticClass: "discounted_price" }, [t._v("¥" + t._s(t.discountedPrice))]) : t._e()]), e("span", { key: t.discountedPrice, staticClass: "origin_price", "class": { has_discount: t.discountedPrice } }, [t._v("¥" + t._s(t.originPrice))])], 1), t.showIframe ? e("iframe", { ref: "iframeRef", staticClass: "iframe_style", style: [t.iframeStyle, { display: "none" }], attrs: { src: t.iframeUrl, scrolling: "no", frameborder: "0" } }) : t._e()]) : t.cardtype === 5 ? e("div", { ref: "js_custom_element", staticClass: "s1s_card_wrp", on: { click: t.openShop } }, [e("img", { staticClass: "product-image", attrs: { src: t.productInfo.product_info.img_url, alt: "商品图片" } }), e("div", { staticClass: "product-info" }, [e("div", { staticClass: "product-title" }, [t._v(t._s(t.productInfo.product_info.title))]), e("div", { staticClass: "product-centercontainer" }, [e("span", { staticClass: "discount-price" }, [t._v("¥" + t._s(t.productInfo.product_info.selling_price / 100))]), t.productInfo.product_info.market_price && t.productInfo.product_info.market_price !== t.productInfo.product_info.selling_price ? [e("span", { staticClass: "discount-price__extra" }, [t._v("起 " + t._s(t.productInfo.product_info.selling_price_wording))]), e("span", { "class": "product-price ".concat(t.productInfo.product_info.friend_send_cnt ? "need-border" : "") }, [t._v("¥" + t._s(t.productInfo.product_info.market_price / 100))])] : t._e(), t.productInfo.product_info.friend_send_cnt ? e("div", { staticClass: "product-gifts" }, [t._v("朋友送过"), e("span", { staticClass: "product-gifts__num" }, [t._v(t._s(t.productInfo.product_info.friend_send_cnt))]), t._v("次 ")]) : t._e()], 2), e("div", { staticClass: "product-brand" }, [e("i", { staticClass: "product-logo" }), t._v(t._s(t.productInfo.shop_info.shop_window_profile_name) + " "), t.productInfo.shop_info.brand_icon_url ? e("img", { staticClass: "shop-verify-icon", attrs: { src: t.productInfo.shop_info.brand_icon_url } }) : t._e()])]), t.showIframe ? e("iframe", { ref: "iframeRef", staticClass: "iframe_style", style: [t.iframeStyle, { display: "none" }], attrs: { src: t.iframeUrl, scrolling: "no", frameborder: "0" } }) : t._e()]) : t.cardtype === 6 ? e("div", { directives: [{ name: "show", rawName: "v-show", value: !t.iframeLoading, expression: "!iframeLoading" }], ref: "js_custom_element", staticClass: "product_spot_card_wrp", on: { click: t.openShop } }, [t._t("spot-product"), t.showIframe ? e("iframe", { ref: "iframeRef", staticClass: "iframe_style", style: [t.iframeStyle, { display: "none" }], attrs: { src: t.iframeUrl, scrolling: "no", frameborder: "0" } }) : t._e()], 2) : t.cardtype === 12 ? e("div", { directives: [{ name: "show", rawName: "v-show", value: !t.iframeLoading, expression: "!iframeLoading" }], ref: "js_custom_element", staticClass: "product_image_wrp" }, [t.showIframe ? e("iframe", { ref: "iframeRef", staticClass: "iframe_style", style: [t.iframeStyle, { display: "none" }], attrs: { src: t.iframeUrl, scrolling: "no", frameborder: "0" } }) : t._e()]) : t.cardtype === 8 ? e("div", { directives: [{ name: "show", rawName: "v-show", value: !t.iframeLoading, expression: "!iframeLoading" }], ref: "js_custom_element", staticClass: "product_recommend_card_wrp" }, [t.showIframe ? e("iframe", { ref: "iframeRef", staticClass: "iframe_style", style: JSON.parse(t.customstyle || "{}"), attrs: { src: t.iframeUrl, scrolling: "no", frameborder: "0" } }) : t._e()]) : e("div", { ref: "js_custom_element", "class": ["iframe_wrp", "wx_card_root", t.is_hover === 1 ? "wx_hover_card" : "", t.is_selected === 1 ? "wx_selected_card" : ""], style: t.wrpStyle }, [t.productCard ? e("Product", { ref: "productCardRef", attrs: { product: t.productCard, "card-type": t.cardtype, "client-type": t.clientType, "is-p-c": t.isPC, "dark-mode": t.darkMode }, on: { open: function open(i) { return t.handleProductClick(i); }, ready: t.onCardReady } }) : t.failMsg && t.isEditor ? e("div", { staticClass: "product_load_fail", attrs: { role: "alert", "aria-live": "polite" }, on: { click: t.emitCardClickEvent } }, [e("div", { staticClass: "product_load_fail__text" }, [t._v(t._s(t.failMsg))])]) : e("div")], 1); }, dt = [], wt = v$2(st, ct, dt, !1, null, "8b0ffbfa", null, null); var gt = wt.exports, nt = ".qr-fade-enter-active[data-v-397fa2b6],.qr-fade-leave-active[data-v-397fa2b6]{transition:opacity .2s cubic-bezier(.4,0,.2,1)}.qr-fade-enter-from[data-v-397fa2b6],.qr-fade-leave-to[data-v-397fa2b6]{opacity:0}.qr-fade-enter-to[data-v-397fa2b6],.qr-fade-leave-from[data-v-397fa2b6]{opacity:1}.qr-popover[data-v-397fa2b6]{background:#ffffff;-webkit-backdrop-filter:none;backdrop-filter:none;filter:none;box-shadow:0 4px 30px #0003;padding:10px 12px 10px 10px;pointer-events:auto;display:flex;align-items:center;border-radius:12px;transform-origin:center bottom}.qr-popover[data-v-397fa2b6]:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #ffffff}.qr-content[data-v-397fa2b6]{display:flex;align-items:center;gap:12px;background:white;border-radius:6px}.qr-code-container[data-v-397fa2b6]{flex-shrink:0}.qr-image-wrapper[data-v-397fa2b6]{position:relative;width:76px;height:76px;border-radius:4px;overflow:hidden}.qr-code-image[data-v-397fa2b6]{width:76px;height:76px;border-radius:4px;display:block;transition:opacity .2s ease}.qr-code-image.image-hidden[data-v-397fa2b6]{opacity:0}.loading[data-v-397fa2b6]{width:100%;height:100%;display:block;background:transparent url(\"data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient x1='94.087%25' y1='0%25' x2='94.087%25' y2='90.559%25' id='a'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'/%3E%3Cstop stop-color='%23606060' stop-opacity='.3' offset='100%25'/%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.674%25' y2='90.629%25' id='b'%3E%3Cstop stop-color='%23606060' offset='0%25'/%3E%3Cstop stop-color='%23606060' stop-opacity='.3' offset='100%25'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd' opacity='.9'%3E%3Cpath d='M40 0c22.091 0 40 17.909 40 40S62.091 80 40 80v-7c18.225 0 33-14.775 33-33S58.225 7 40 7V0z' fill='url(%23a)'/%3E%3Cpath d='M40 0v7C21.775 7 7 21.775 7 40s14.775 33 33 33v7C17.909 80 0 62.091 0 40S17.909 0 40 0z' fill='url(%23b)'/%3E%3Ccircle fill='%23606060' cx='40.5' cy='3.5' r='3.5'/%3E%3C/g%3E%3C/svg%3E\") no-repeat center center;background-size:contain;animation:qr-loading-spin-data-v-397fa2b6 1s linear infinite;background-size:28px 28px}@keyframes qr-loading-spin-data-v-397fa2b6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qr-text[data-v-397fa2b6]{font-size:12px;line-height:17px;font-weight:400;display:flex;flex-direction:column;color:#000000e6;justify-content:center;text-align:left}.qr-text-line[data-v-397fa2b6]{white-space:nowrap}@media (max-width: 480px){.qr-popover[data-v-397fa2b6]{padding:8px}.qr-content[data-v-397fa2b6]{gap:8px;padding:6px}.qr-image-wrapper[data-v-397fa2b6],.qr-code-image[data-v-397fa2b6]{width:60px;height:60px}.qr-text[data-v-397fa2b6]{font-size:11px;line-height:15px}}.product-title__outer[data-v-03373be5]{margin-left:16px;margin-right:16px;margin-top:12px}.product-title__outer.little[data-v-03373be5],.product-title__outer.bar[data-v-03373be5]{margin:0}.product-title[data-v-03373be5]{color:#000000e6;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.product-title span[data-v-03373be5]{font-size:15px}.two-line[data-v-03373be5]{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;display:-webkit-box}.one-line[data-v-03373be5]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-title img[data-v-03373be5]{display:inline-block;height:1.1em;vertical-align:middle;margin-right:4px;margin-bottom:.2em}.product-title__outer.dark-mode .product-title[data-v-03373be5]{color:#fffc}.product-shop__outer[data-v-4ba63ad0]{margin:16px 16px 8px}.product-shop__outer.bar[data-v-4ba63ad0]{margin:8px 12px}.product-shop[data-v-4ba63ad0]{overflow:hidden;position:relative;font-size:12px}.product-shop__inner[data-v-4ba63ad0]{align-items:center;display:flex;flex-direction:row;justify-content:space-between;overflow:hidden}.product-shop .left[data-v-4ba63ad0]{align-items:center;display:flex;flex-basis:0;flex-direction:row;flex-grow:1;height:1.4em;overflow:hidden}.product-shop .icon[data-v-4ba63ad0]{width:1.1em;height:1.1em;-o-object-fit:contain;object-fit:contain;border-radius:50%;flex-shrink:0;opacity:.5}.product-shop .right-icon[data-v-4ba63ad0]{-o-object-fit:contain;object-fit:contain;margin-left:.16em;flex-shrink:0}.product-shop .icon-r[data-v-4ba63ad0]{border-radius:50%;height:1.1em;width:1.1em}.product-shop .good-shop[data-v-4ba63ad0]{height:1.33em}.product-shop .text[data-v-4ba63ad0]{color:#0000004d;font-size:12px;line-height:1.4;margin-left:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-shop__outer.dark-mode .product-shop .text[data-v-4ba63ad0]{color:#ffffff4d}.product-shop__outer.dark-mode .product-shop .icon.img-color-invert[data-v-4ba63ad0]{filter:invert(1) brightness(2) opacity(.7)}.btn__area[data-v-bca54e8e]{display:flex;flex-direction:row;gap:8px}.btn[data-v-bca54e8e]{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;background-color:#0000000d;border:0 solid transparent;border-radius:6px;color:#000000e6;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:32px;justify-content:center;margin:0;outline:none;overflow:hidden;padding:0 12px;position:relative}.btn.type-primary[data-v-bca54e8e]{background:#ff6146;color:#fff}.btn.type-secondary[data-v-bca54e8e]{background:rgba(223,195,148,.3);color:#47332f}.btn.type-disabled[data-v-bca54e8e]{background:rgba(0,0,0,.03);color:#00000026!important;cursor:not-allowed}.btn__area.dark-mode .btn[data-v-bca54e8e]{color:#fff}.btn__area.dark-mode .btn.btn.type-secondary[data-v-bca54e8e]{background:#faf0e7;color:#443a31}.btn__area.dark-mode .btn.btn.type-default[data-v-bca54e8e]{background:hsla(0,0%,100%,.05);color:#fffc}.btn__area.dark-mode .btn.btn.type-disabled[data-v-bca54e8e]{background:hsla(0,0%,100%,.3);color:#ffffff26!important}.product_status_text[data-v-bca54e8e]{color:#0000004d;font-family:PingFang SC;font-size:12px;font-weight:400;line-height:1.75}.btn__area.dark-mode .product_status_text[data-v-bca54e8e]{color:#ffffff4d}.product-img-container[data-v-c38019de]{width:100%;position:relative;overflow:hidden;display:inline-block}.product-img.little[data-v-c38019de]{border-radius:4px}.product-img.bar[data-v-c38019de]{border-radius:2px}.product-img[data-v-c38019de]{display:block}.product-img-error[data-v-c38019de]{align-items:center;background-color:#00000005;color:#0000004d;font-size:14px;justify-content:center;position:absolute;top:0;left:0;right:0;bottom:0}.dark-mode .product-img-error[data-v-c38019de]{background:#202020;color:#ffffff4d}.qrcode__outer[data-v-56d24fb6]{margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;position:relative;overflow:hidden;max-height:0;opacity:0;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1);transform:translateY(-10px);transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.qrcode__outer[data-v-56d24fb6]:before{border-top:1px solid rgba(0,0,0,.1);content:\"\";left:16px;position:absolute;right:16px;top:8px;transform:scaleY(.5)}.qrcode__outer.open[data-v-56d24fb6]{max-height:300px;opacity:1;padding-bottom:44px;padding-top:8px;transform:translateY(0)}.qrcode__hd[data-v-56d24fb6]{align-items:center;display:flex;flex-direction:row;justify-content:flex-end;margin-top:6px;opacity:0;transform:translateY(-5px);transition:opacity .3s cubic-bezier(.4,0,.2,1) .05s,transform .3s cubic-bezier(.4,0,.2,1) .05s}.qrcode__outer.open .qrcode__hd[data-v-56d24fb6]{opacity:1;transform:translateY(0)}.close-area[data-v-56d24fb6]{align-items:center;color:#00000080;cursor:pointer;display:flex;flex-direction:row;font-family:PingFang SC;font-size:14px;font-weight:400;margin-right:12px;padding:4px 4px 4px 0;position:relative;transition:color .2s ease,transform .2s ease;border-radius:4px}.close-area[data-v-56d24fb6]:hover{color:#000000b3;transform:translateY(-1px)}.close-area[data-v-56d24fb6]:active{transform:translateY(0)}.arrow-icon[data-v-56d24fb6]{height:10px;margin-right:2px;opacity:.55;transform:rotate(180deg);width:20px;transition:opacity .2s ease,transform .3s cubic-bezier(.4,0,.2,1)}.close-area:hover .arrow-icon[data-v-56d24fb6]{opacity:.8;transform:rotate(180deg) translateY(-1px)}.qrcode__bd[data-v-56d24fb6]{align-items:center;display:flex;height:120px;justify-content:center;margin:10px auto 16px;position:relative;width:120px;opacity:0;transform:scale(.8);transition:opacity .3s cubic-bezier(.4,0,.2,1) .1s,transform .3s cubic-bezier(.4,0,.2,1) .1s}.qrcode__outer.open .qrcode__bd[data-v-56d24fb6]{opacity:1;transform:scale(1)}.error-icon[data-v-56d24fb6]{height:32px;opacity:.55;width:32px}.qrcode-img[data-v-56d24fb6]{height:120px;width:120px;-o-object-fit:contain;object-fit:contain}.loading[data-v-56d24fb6]{width:20px;height:20px;display:block;background:transparent url(\"data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient x1='94.087%25' y1='0%25' x2='94.087%25' y2='90.559%25' id='a'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'/%3E%3Cstop stop-color='%23606060' stop-opacity='.3' offset='100%25'/%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.674%25' y2='90.629%25' id='b'%3E%3Cstop stop-color='%23606060' offset='0%25'/%3E%3Cstop stop-color='%23606060' stop-opacity='.3' offset='100%25'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd' opacity='.9'%3E%3Cpath d='M40 0c22.091 0 40 17.909 40 40S62.091 80 40 80v-7c18.225 0 33-14.775 33-33S58.225 7 40 7V0z' fill='url(%23a)'/%3E%3Cpath d='M40 0v7C21.775 7 7 21.775 7 40s14.775 33 33 33v7C17.909 80 0 62.091 0 40S17.909 0 40 0z' fill='url(%23b)'/%3E%3Ccircle fill='%23606060' cx='40.5' cy='3.5' r='3.5'/%3E%3C/g%3E%3C/svg%3E\") no-repeat center center;background-size:contain;animation:spin-data-v-56d24fb6 1s linear infinite}@keyframes spin-data-v-56d24fb6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qrcode__ft[data-v-56d24fb6]{align-items:center;color:#00000080;display:flex;flex-direction:column;font-family:PingFang SC;font-size:14px;font-weight:400;line-height:1.4;opacity:0;transform:translateY(10px);transition:opacity .3s cubic-bezier(.4,0,.2,1) .2s,transform .3s cubic-bezier(.4,0,.2,1) .2s}.qrcode__outer.open .qrcode__ft[data-v-56d24fb6]{opacity:1;transform:translateY(0)}.img-color-invert[data-v-56d24fb6]{filter:invert(1);border:0 solid transparent}.qrcode__outer:before .dark-mode[data-v-56d24fb6]{border-top:1px solid hsla(0,0%,100%,.1)}.qrcode__outer.dark-mode .close-area[data-v-56d24fb6],.qrcode__outer.dark-mode .qrcode__ft[data-v-56d24fb6]{color:#ffffff80}.product-price[data-v-6c2d7ff0]{align-items:baseline;display:flex;flex-direction:row;flex-shrink:0}.price-box[data-v-6c2d7ff0]{flex-shrink:0}.money[data-v-6c2d7ff0]{color:#ff6146;font-family:WeChatSansStd-Medium;font-size:17px;font-weight:500;line-height:1.2}.more[data-v-6c2d7ff0]{display:flex;align-items:baseline;gap:2px}.add[data-v-6c2d7ff0],.tag[data-v-6c2d7ff0]{color:#ff6146;font-family:PingFang SC;font-size:12px;font-weight:500;margin-left:2px}.product-tag__outer[data-v-bc7985a8]{margin-left:16px;margin-right:16px;margin-top:4px;display:flex;flex:1;min-width:0}.product-tag__outer.little[data-v-bc7985a8]{margin:0;border:0 solid transparent}.product-tag__outer.bar[data-v-bc7985a8]{margin:0 8px .5px}.product-tag[data-v-bc7985a8]{display:flex;flex-direction:row;font-size:12px;overflow:hidden;width:100%}.primary[data-v-bc7985a8]{color:#0006}.dark-mode .primary[data-v-bc7985a8]{color:#fff6}.marketing[data-v-bc7985a8]{color:#ff6146}.tag-body[data-v-bc7985a8]{display:flex;font-size:12px;font-weight:400;margin-left:8px;overflow:hidden;white-space:nowrap;align-items:center;flex-shrink:0}.tag-body[data-v-bc7985a8]:first-child{margin-left:0}.tag-split[data-v-bc7985a8]:after{background-color:#0006;content:\"\";height:100%;left:0;position:absolute;top:0;transform:scaleX(.5);width:1px}.product-card[data-v-ac14c2ec]{background:rgba(0,0,0,.02);border-radius:8px;overflow:hidden;max-width:100%;font-family:PingFang SC}.mini-product-card[data-v-ac14c2ec]{border:0 solid transparent;cursor:pointer}.product-card__outer[data-v-ac14c2ec]{align-items:flex-start;display:flex;flex-direction:row;padding:12px 12px 0}.product-right[data-v-ac14c2ec]{display:flex;flex-basis:0;flex-direction:column;flex-grow:1;flex-shrink:0;justify-content:center;margin-left:8px;margin-right:12px;overflow:hidden}.product-right-top[data-v-ac14c2ec]{border:0 solid transparent}.product-right-bottom[data-v-ac14c2ec]{margin-top:2px;display:flex;flex-direction:row;align-items:end}.product-button__outer[data-v-ac14c2ec]{flex-shrink:0;margin:auto 0}.product-card.dark-mode[data-v-ac14c2ec],.product-card.dark-mode .mini-product-card[data-v-ac14c2ec]{background:#202020}.history[data-v-e7a31b78]{display:flex;border:0 solid transparent;flex-shrink:0;align-items:flex-end}.history.large[data-v-e7a31b78]{margin-left:4px}.history-inner[data-v-e7a31b78]{color:#0000004d;font-size:12px;line-height:1.3;white-space:nowrap}.history.dark-mode .history-inner[data-v-e7a31b78]{color:#ffffff4d}.product-large[data-v-2055a024]{background:rgba(0,0,0,.02);border-radius:8px;overflow:hidden;max-width:400px;font-family:PingFang SC}.normal-product-large[data-v-2055a024]{width:100%;margin:0 auto;cursor:pointer}.product-info__outer[data-v-2055a024]{margin-left:16px;margin-right:16px;margin-top:6px}.product-info[data-v-2055a024]{align-items:flex-end;display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap}.product-info .left[data-v-2055a024]{display:flex;flex-grow:1;flex-shrink:0}.product-info .right[data-v-2055a024]{flex-grow:0;flex-shrink:0}@media screen and (max-width: 600px){.product-large[data-v-2055a024]{max-width:100%;margin:0 auto}.normal-product-large[data-v-2055a024]{max-width:100%;width:100%}}.product-large.dark-mode[data-v-2055a024],.product-large.dark-mode .normal-product-large[data-v-2055a024]{background:#202020}.product-little[data-v-73b494e8]{background-color:#00000005;border-radius:8px;overflow:hidden;width:100%;font-family:PingFang SC}.small-product-little[data-v-73b494e8]{border:0 solid transparent}.product-little__outer[data-v-73b494e8]{align-items:flex-start;display:flex;flex-direction:row;padding:16px 16px 0}.product-right[data-v-73b494e8]{display:flex;flex-basis:0;flex-direction:column;flex-grow:1;flex-shrink:0;justify-content:space-between;margin-left:10px;overflow:hidden;min-height:88px}.product-right-top[data-v-73b494e8],.product-right-bottom[data-v-73b494e8],.product-info__outer[data-v-73b494e8]{border:0 solid transparent}.product-info[data-v-73b494e8]{align-items:flex-end;display:flex;flex-wrap:wrap;flex-direction:row;justify-content:space-between}.product-info .info-left[data-v-73b494e8]{display:flex;flex-grow:1;flex-shrink:0}.product-info .info-right[data-v-73b494e8]{flex-grow:0;flex-shrink:0}.product-little.dark-mode[data-v-73b494e8],.product-little.dark-mode .small-product-little[data-v-73b494e8]{background:#202020}.product_image_link{position:relative;display:inline-block;large-align:bottom;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.product_image_link:before{background:rgba(95,95,95,.5);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:100%}.wxw-img{large-align:bottom}.product_image_link:after{-webkit-mask:url(\"data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.798 13.728c-.32 0-.636-.032-.942-.096-1.792-.378-3.042-1.754-3.042-3.348 0-.426.088-.84.262-1.232l.008-.02 2.008-4.498a3.696 3.696 0 0 1 3.372-2.186h9.8A3.697 3.697 0 0 1 20.662 4.6l1.984 4.432c.178.402.268.82.268 1.248 0 1.596-1.252 2.974-3.044 3.348a4.63 4.63 0 0 1-2.176-.074c-.816-.23-1.514-.68-2.002-1.268-.798.846-2.018 1.368-3.326 1.368-1.308 0-2.52-.52-3.322-1.364-.488.59-1.188 1.042-2.014 1.274-.394.11-.808.168-1.23.168l-.002-.004zM3.46 9.632l-.01.022c-.09.2-.136.412-.136.63 0 .878.762 1.65 1.85 1.88.47.098.994.082 1.458-.048.766-.214 1.368-.728 1.576-1.34a1.43 1.43 0 0 0 .046-.158.748.748 0 1 1 1.448-.056l.026.07.012.03c.392.892 1.448 1.49 2.634 1.49s2.25-.602 2.636-1.498c.02-.046.034-.082.046-.12a.744.744 0 0 1 .754-.502.75.75 0 0 1 .688.588c.012.056.026.108.042.152.214.62.802 1.118 1.572 1.334.466.132.99.148 1.46.048 1.092-.228 1.852-1.002 1.852-1.88 0-.216-.046-.43-.138-.636l-1.988-4.44-.008-.018-.018-.036a2.19 2.19 0 0 0-1.998-1.296h-9.8c-.864 0-1.648.51-2 1.298-.008.016-.014.032-.022.046L3.46 9.634v-.002zM12.364 21.642c-4.142 0-7.566-2.634-7.794-5.996a.75.75 0 1 1 1.498-.102c.174 2.578 2.94 4.598 6.298 4.598s6.122-2.02 6.296-4.598a.75.75 0 1 1 1.498.102c-.228 3.362-3.652 5.996-7.794 5.996h-.002z' fill='%23576B95'/%3E%3C/svg%3E\") no-repeat 50% 50%;mask:url(\"data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.798 13.728c-.32 0-.636-.032-.942-.096-1.792-.378-3.042-1.754-3.042-3.348 0-.426.088-.84.262-1.232l.008-.02 2.008-4.498a3.696 3.696 0 0 1 3.372-2.186h9.8A3.697 3.697 0 0 1 20.662 4.6l1.984 4.432c.178.402.268.82.268 1.248 0 1.596-1.252 2.974-3.044 3.348a4.63 4.63 0 0 1-2.176-.074c-.816-.23-1.514-.68-2.002-1.268-.798.846-2.018 1.368-3.326 1.368-1.308 0-2.52-.52-3.322-1.364-.488.59-1.188 1.042-2.014 1.274-.394.11-.808.168-1.23.168l-.002-.004zM3.46 9.632l-.01.022c-.09.2-.136.412-.136.63 0 .878.762 1.65 1.85 1.88.47.098.994.082 1.458-.048.766-.214 1.368-.728 1.576-1.34a1.43 1.43 0 0 0 .046-.158.748.748 0 1 1 1.448-.056l.026.07.012.03c.392.892 1.448 1.49 2.634 1.49s2.25-.602 2.636-1.498c.02-.046.034-.082.046-.12a.744.744 0 0 1 .754-.502.75.75 0 0 1 .688.588c.012.056.026.108.042.152.214.62.802 1.118 1.572 1.334.466.132.99.148 1.46.048 1.092-.228 1.852-1.002 1.852-1.88 0-.216-.046-.43-.138-.636l-1.988-4.44-.008-.018-.018-.036a2.19 2.19 0 0 0-1.998-1.296h-9.8c-.864 0-1.648.51-2 1.298-.008.016-.014.032-.022.046L3.46 9.634v-.002zM12.364 21.642c-4.142 0-7.566-2.634-7.794-5.996a.75.75 0 1 1 1.498-.102c.174 2.578 2.94 4.598 6.298 4.598s6.122-2.02 6.296-4.598a.75.75 0 1 1 1.498.102c-.228 3.362-3.652 5.996-7.794 5.996h-.002z' fill='%23576B95'/%3E%3C/svg%3E\") no-repeat 50% 50%;-webkit-mask-size:15px;mask-size:15px;background:#ffffff}.product_image_link:before,.product_image_link:after{content:\"\";position:absolute;top:8px;right:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;z-index:1}.product-container[data-v-257bf205]{width:100%}.client-type-B[data-v-257bf205]{max-width:350px}body,.wx-root{--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #07C160;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0: rgba(0, 0, 0, .9);--weui-FG-0_5: rgba(0, 0, 0, .9);--weui-FG-1: rgba(0, 0, 0, .55);--weui-FG-2: rgba(0, 0, 0, .3);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-GLYPH-0: rgba(0, 0, 0, .9);--weui-GLYPH-1: rgba(0, 0, 0, .55);--weui-GLYPH-2: rgba(0, 0, 0, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #91D300;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #1485EE;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #95EC69;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #FA9D3B;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6467F0;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #FA5151;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .05);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #FFC300;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-FG-HALF: rgba(0, 0, 0, .9);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #FA9D3B;--weui-YELLOW: #FFC300;--weui-GREEN: #91D300;--weui-LIGHTGREEN: #95EC69;--weui-TEXTGREEN: #06AE56;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1485EE;--weui-PURPLE: #6467F0;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #FA9D3B;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #10AEFF;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05);--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-FG: #000;--weui-FG-5: rgba(0, 0, 0, .05);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG: #fff;--weui-BG: #000;--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6)}}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG: #fff;--weui-BG: #000;--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6)}.wx-root[data-weui-mode=care],body[data-weui-mode=care]{--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #007DBB;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #018942;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0: #000000;--weui-FG-0_5: #000000;--weui-FG-1: rgba(0, 0, 0, .6);--weui-FG-2: rgba(0, 0, 0, .42);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-GLYPH-0: #000000;--weui-GLYPH-1: rgba(0, 0, 0, .6);--weui-GLYPH-2: rgba(0, 0, 0, .42);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #4F8400;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #0075E2;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #2E8800;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #E17719;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #D14730;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6265F1;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #DC3636;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .1);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #BB8E00;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-FG-HALF: #000000;--weui-RED: #DC3636;--weui-ORANGERED: #D14730;--weui-ORANGE: #E17719;--weui-YELLOW: #BB8E00;--weui-GREEN: #4F8400;--weui-LIGHTGREEN: #2E8800;--weui-TEXTGREEN: #06AE56;--weui-BRAND: #018942;--weui-BLUE: #007DBB;--weui-INDIGO: #0075E2;--weui-PURPLE: #6265F1;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #E17719;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #007DBB;--weui-REDORANGE: #D14730;--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-FG: #000;--weui-FG-5: rgba(0, 0, 0, .05);--weui-TAG-BACKGROUND-ORANGE: rgba(225, 119, 25, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(0, 125, 187, .1);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05)}@media (prefers-color-scheme: dark){.wx-root[data-weui-mode=care]:not([data-weui-theme=light]),body[data-weui-mode=care]:not([data-weui-theme=light]){--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-FG: #fff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-BG: #000;--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5)}}.wx-root[data-weui-mode=care][data-weui-theme=dark],body[data-weui-mode=care][data-weui-theme=dark]{--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-FG: #fff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-BG: #000;--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5)}.wx_hover_card:before{content:\" \";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:8px;box-sizing:border-box;border:1px solid rgba(7,193,96,.3);pointer-events:none;z-index:9}.wx_selected_card:before{content:\" \";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:8px;border:1.5px solid #07C160;box-sizing:border-box;background:rgba(7,193,96,.1);pointer-events:none;z-index:9}.product_card_text_wrp{display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-family:PingFang SC}.iframe_wrp{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;position:relative}.iframe_style{height:0px}.product_wx_img_placeholder{width:100%;background:var(--weui-BG-3) url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E9.\u5143\u7D20/\u52A0\u8F7D/Black%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='\u9875\u9762-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg id='LoadingDefault'%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' id='\u8DEF\u5F84' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' id='\u8DEF\u5F84' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3CanimateTransform attributeName='transform' begin='0s' dur='1s' type='rotate' values='0 40 40;360 40 40' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E%0A\") no-repeat 50% 50%!important;background-size:16px!important;border-radius:8px}:root{--weui-FG-6: rgba(0, 0, 0, .05)}.product_text_link{text-decoration:none;padding:2px 4px;color:var(--weui-LINK);cursor:default;-webkit-user-drag:none;border-radius:4px}.product_text_link:before{content:\"\";display:inline-block;mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.798 13.728c-.32 0-.636-.032-.942-.096-1.792-.378-3.042-1.754-3.042-3.348 0-.426.088-.84.262-1.232l.008-.02 2.008-4.498a3.696 3.696 0 0 1 3.372-2.186h9.8A3.697 3.697 0 0 1 20.662 4.6l1.984 4.432c.178.402.268.82.268 1.248 0 1.596-1.252 2.974-3.044 3.348a4.63 4.63 0 0 1-2.176-.074c-.816-.23-1.514-.68-2.002-1.268-.798.846-2.018 1.368-3.326 1.368-1.308 0-2.52-.52-3.322-1.364-.488.59-1.188 1.042-2.014 1.274-.394.11-.808.168-1.23.168l-.002-.004zM3.46 9.632l-.01.022c-.09.2-.136.412-.136.63 0 .878.762 1.65 1.85 1.88.47.098.994.082 1.458-.048.766-.214 1.368-.728 1.576-1.34a1.43 1.43 0 0 0 .046-.158.748.748 0 1 1 1.448-.056l.026.07.012.03c.392.892 1.448 1.49 2.634 1.49s2.25-.602 2.636-1.498c.02-.046.034-.082.046-.12a.744.744 0 0 1 .754-.502.75.75 0 0 1 .688.588c.012.056.026.108.042.152.214.62.802 1.118 1.572 1.334.466.132.99.148 1.46.048 1.092-.228 1.852-1.002 1.852-1.88 0-.216-.046-.43-.138-.636l-1.988-4.44-.008-.018-.018-.036a2.19 2.19 0 0 0-1.998-1.296h-9.8c-.864 0-1.648.51-2 1.298-.008.016-.014.032-.022.046L3.46 9.634v-.002zM12.364 21.642c-4.142 0-7.566-2.634-7.794-5.996a.75.75 0 1 1 1.498-.102c.174 2.578 2.94 4.598 6.298 4.598s6.122-2.02 6.296-4.598a.75.75 0 1 1 1.498.102c-.228 3.362-3.652 5.996-7.794 5.996h-.002z' fill='%23576B95'/%3E%3C/svg%3E\");-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.798 13.728c-.32 0-.636-.032-.942-.096-1.792-.378-3.042-1.754-3.042-3.348 0-.426.088-.84.262-1.232l.008-.02 2.008-4.498a3.696 3.696 0 0 1 3.372-2.186h9.8A3.697 3.697 0 0 1 20.662 4.6l1.984 4.432c.178.402.268.82.268 1.248 0 1.596-1.252 2.974-3.044 3.348a4.63 4.63 0 0 1-2.176-.074c-.816-.23-1.514-.68-2.002-1.268-.798.846-2.018 1.368-3.326 1.368-1.308 0-2.52-.52-3.322-1.364-.488.59-1.188 1.042-2.014 1.274-.394.11-.808.168-1.23.168l-.002-.004zM3.46 9.632l-.01.022c-.09.2-.136.412-.136.63 0 .878.762 1.65 1.85 1.88.47.098.994.082 1.458-.048.766-.214 1.368-.728 1.576-1.34a1.43 1.43 0 0 0 .046-.158.748.748 0 1 1 1.448-.056l.026.07.012.03c.392.892 1.448 1.49 2.634 1.49s2.25-.602 2.636-1.498c.02-.046.034-.082.046-.12a.744.744 0 0 1 .754-.502.75.75 0 0 1 .688.588c.012.056.026.108.042.152.214.62.802 1.118 1.572 1.334.466.132.99.148 1.46.048 1.092-.228 1.852-1.002 1.852-1.88 0-.216-.046-.43-.138-.636l-1.988-4.44-.008-.018-.018-.036a2.19 2.19 0 0 0-1.998-1.296h-9.8c-.864 0-1.648.51-2 1.298-.008.016-.014.032-.022.046L3.46 9.634v-.002zM12.364 21.642c-4.142 0-7.566-2.634-7.794-5.996a.75.75 0 1 1 1.498-.102c.174 2.578 2.94 4.598 6.298 4.598s6.122-2.02 6.296-4.598a.75.75 0 1 1 1.498.102c-.228 3.362-3.652 5.996-7.794 5.996h-.002z' fill='%23576B95'/%3E%3C/svg%3E\");background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;vertical-align:middle;height:1.1em;width:1.1em;margin-right:2px;margin-top:-.16em}.product-logo{height:1.1em;width:1.1em;display:inline-block;mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.798 13.728c-.32 0-.636-.032-.942-.096-1.792-.378-3.042-1.754-3.042-3.348 0-.426.088-.84.262-1.232l.008-.02 2.008-4.498a3.696 3.696 0 0 1 3.372-2.186h9.8A3.697 3.697 0 0 1 20.662 4.6l1.984 4.432c.178.402.268.82.268 1.248 0 1.596-1.252 2.974-3.044 3.348a4.63 4.63 0 0 1-2.176-.074c-.816-.23-1.514-.68-2.002-1.268-.798.846-2.018 1.368-3.326 1.368-1.308 0-2.52-.52-3.322-1.364-.488.59-1.188 1.042-2.014 1.274-.394.11-.808.168-1.23.168l-.002-.004zM3.46 9.632l-.01.022c-.09.2-.136.412-.136.63 0 .878.762 1.65 1.85 1.88.47.098.994.082 1.458-.048.766-.214 1.368-.728 1.576-1.34a1.43 1.43 0 0 0 .046-.158.748.748 0 1 1 1.448-.056l.026.07.012.03c.392.892 1.448 1.49 2.634 1.49s2.25-.602 2.636-1.498c.02-.046.034-.082.046-.12a.744.744 0 0 1 .754-.502.75.75 0 0 1 .688.588c.012.056.026.108.042.152.214.62.802 1.118 1.572 1.334.466.132.99.148 1.46.048 1.092-.228 1.852-1.002 1.852-1.88 0-.216-.046-.43-.138-.636l-1.988-4.44-.008-.018-.018-.036a2.19 2.19 0 0 0-1.998-1.296h-9.8c-.864 0-1.648.51-2 1.298-.008.016-.014.032-.022.046L3.46 9.634v-.002zM12.364 21.642c-4.142 0-7.566-2.634-7.794-5.996a.75.75 0 1 1 1.498-.102c.174 2.578 2.94 4.598 6.298 4.598s6.122-2.02 6.296-4.598a.75.75 0 1 1 1.498.102c-.228 3.362-3.652 5.996-7.794 5.996h-.002z' fill='%23576B95'/%3E%3C/svg%3E\");-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.798 13.728c-.32 0-.636-.032-.942-.096-1.792-.378-3.042-1.754-3.042-3.348 0-.426.088-.84.262-1.232l.008-.02 2.008-4.498a3.696 3.696 0 0 1 3.372-2.186h9.8A3.697 3.697 0 0 1 20.662 4.6l1.984 4.432c.178.402.268.82.268 1.248 0 1.596-1.252 2.974-3.044 3.348a4.63 4.63 0 0 1-2.176-.074c-.816-.23-1.514-.68-2.002-1.268-.798.846-2.018 1.368-3.326 1.368-1.308 0-2.52-.52-3.322-1.364-.488.59-1.188 1.042-2.014 1.274-.394.11-.808.168-1.23.168l-.002-.004zM3.46 9.632l-.01.022c-.09.2-.136.412-.136.63 0 .878.762 1.65 1.85 1.88.47.098.994.082 1.458-.048.766-.214 1.368-.728 1.576-1.34a1.43 1.43 0 0 0 .046-.158.748.748 0 1 1 1.448-.056l.026.07.012.03c.392.892 1.448 1.49 2.634 1.49s2.25-.602 2.636-1.498c.02-.046.034-.082.046-.12a.744.744 0 0 1 .754-.502.75.75 0 0 1 .688.588c.012.056.026.108.042.152.214.62.802 1.118 1.572 1.334.466.132.99.148 1.46.048 1.092-.228 1.852-1.002 1.852-1.88 0-.216-.046-.43-.138-.636l-1.988-4.44-.008-.018-.018-.036a2.19 2.19 0 0 0-1.998-1.296h-9.8c-.864 0-1.648.51-2 1.298-.008.016-.014.032-.022.046L3.46 9.634v-.002zM12.364 21.642c-4.142 0-7.566-2.634-7.794-5.996a.75.75 0 1 1 1.498-.102c.174 2.578 2.94 4.598 6.298 4.598s6.122-2.02 6.296-4.598a.75.75 0 1 1 1.498.102c-.228 3.362-3.652 5.996-7.794 5.996h-.002z' fill='%23576B95'/%3E%3C/svg%3E\");background-color:currentColor;-webkit-mask-size:contain;mask-size:contain}.shop-verify-icon{height:1em;width:1em;display:inline-block;background-size:contain;background-position:center;background-repeat:no-repeat}.weui-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#4c4c4c;border-radius:8px;color:#fff;font-size:14px;line-height:1.4;padding:0 20px}.discounted_price.fade-enter,.discounted_price.fade-leave-to{opacity:0;height:0}.discounted_price.fade-enter-to,.discounted_price.fade-leave{opacity:1;height:15px}.discounted_price.fade-enter-active,.discounted_price.fade-leave-active{transition:opacity .15s,height .15s}.activity_card_wrp{-webkit-user-select:none;-moz-user-select:none;user-select:none;width:-moz-fit-content;width:fit-content}.activity_card_wrp .activity_card_wrp__container{display:flex;flex-direction:column;align-items:center;background-color:#0000001a;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);border-radius:8px;padding:10px}.activity_card_wrp .activity_card_wrp__container .product_image{width:52px;height:52px;border-radius:2px;margin-bottom:8px}.activity_card_wrp .discounted_price{overflow:hidden;font-weight:500;color:#e0b684;line-height:1;font-family:WeChatSansStd-Medium;line-height:normal;font-size:15px}@font-face{font-family:WeChatSansStd-Medium;src:url(data:application/octet-stream;base64,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AwYAAwABBAkABAAsA1oAAwABBAkABQAYA4YAAwABBAkABgAsA54AAwABBAkABwBMA8oAAwABBAkACAAWBBYAAwABBAkACQBGBCwAAwABBAkACwAwBHIAAwABBAkAEAAeBKIAAwABBAkAEQAMBMAAAwABBAkAEwAiBMwAAwABCAQAAABmBO4AAwABCAQAAQAsBVQAAwABCAQAAgAOBYAAAwABCAQABAAsBY4AAwABCAQABwBMBboAAwABCAQACAAWBgYAAwABCAQACQBGBhwAAwABCAQAEAAeBmIAAwABCAQAEQAMBoBDb3B5cmlnaHQgKGMpIDIwMTcgYnkgVGVuY2VudC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5XZUNoYXQgU2FucyBTdGRNZWRpdW1IYW55aSBXZUNoYXQgU2FucyBTdGQtTWVkaXVtOyBWZXJzaW9uIDEuMDBXZUNoYXQgU2FucyBTdGQtTWVkaXVtVmVyc2lvbiAxLjAwV2VDaGF0LVNhbnMtU3RkLU1lZGl1bVdlQ2hhdCBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIFRlbmNlbnQuSGFueWkgRm9udHNaSEFORyBYdWFuLCBXQU5HIFRpYW5iaSwgTElVIFhpYW95dWh0dHA6Ly93d3cuaGFueWkuY29tLmNuL1dlQ2hhdCBTYW5zIFN0ZE1lZGl1bVdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW3boiSjX7QKMTIzNDU2Nzg5MENvcHlyaWdodCAoYykgMjAxNyBieSBUZW5jZW50LiBBbGwgcmlnaHRzIHJlc2VydmVkLldlQ2hhdCBTYW5zIFN0ZE1lZGl1bUhhbnlpIFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW07IFZlcnNpb24gMS4wMFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW1WZXJzaW9uIDEuMDBXZUNoYXQtU2Fucy1TdGQtTWVkaXVtV2VDaGF0IFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgVGVuY2VudC5IYW55aSBGb250c1pIQU5HIFh1YW4sIFdBTkcgVGlhbmJpLCBMSVUgWGlhb3l1V2VDaGF0IFNhbnMgU3RkLU1lZGl1bQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIASABhAG4AeQBpACAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQA7ACAAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBWAGUAcgBzAGkAbwBuACAAMQAuADAAMABXAGUAQwBoAGEAdAAtAFMAYQBuAHMALQBTAHQAZAAtAE0AZQBkAGkAdQBtAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAFQAZQBuAGMAZQBuAHQALgBIAGEAbgB5AGkAIABGAG8AbgB0AHMAWgBIAEEATgBHACAAWAB1AGEAbgAsACAAVwBBAE4ARwAgAFQAaQBhAG4AYgBpACwAIABMAEkAVQAgAFgAaQBhAG8AeQB1AGgAdAB0AHAAOgAvAC8AdwB3AHcALgBoAGEAbgB5AGkALgBjAG8AbQAuAGMAbgAvAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAFMAdABkAE0AZQBkAGkAdQBtIKwAogAkAKMgqQClAAoAMQAyADMANAA1ADYANwA4ADkAMABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABUAGUAbgBjAGUAbgB0AC4ASABhAG4AeQBpACAARgBvAG4AdABzAFoASABBAE4ARwAgAFgAdQBhAG4ALAAgAFcAQQBOAEcAIABUAGkAYQBuAGIAaQAsACAATABJAFUAIABYAGkAYQBvAHkAdQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZABNAGUAZABpAHUAbQAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQATABQAFQAWABcAGAAZABoAGwAcAA8AEQAQAQIBAwCEAQQAvQAHAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgCFARMBFAEVAJYBFgEXARgBGQEaAA4A7wd1bmkwRTNGB3VuaTIwQjUNY29sb25tb25ldGFyeQd1bmlGRTY5BGRvbmcERXVybwd1bmkyMEIyB3VuaTIwQjQHdW5pMjBBRAd1bmkyMEJFB3VuaTIwQkEHdW5pMjBCQwd1bmkyMEE2B3VuaTIwQjEHdW5pMjBCRAd1bmkyMEI5B3VuaTIwQUEHdW5pMjBCOAd1bmkyMEFFB3VuaTIwQTkHdW5pRkZFMAd1bmlGRjA0B3VuaUZGRTEHdW5pRkZFNgd1bmlGRkU1) format(\"truetype\")}.activity_card_wrp .origin_price{font-weight:500;color:#fff;line-height:1;transition:font-size .15s,font-weight .15s,color .15s,-webkit-text-decoration .15s;transition:font-size .15s,font-weight .15s,color .15s,text-decoration .15s;transition:font-size .15s,font-weight .15s,color .15s,text-decoration .15s,-webkit-text-decoration .15s;font-family:WeChatSansStd-Medium;line-height:normal;font-size:15px}@font-face{font-family:WeChatSansStd-Medium;src:url(data:application/octet-stream;base64,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AwYAAwABBAkABAAsA1oAAwABBAkABQAYA4YAAwABBAkABgAsA54AAwABBAkABwBMA8oAAwABBAkACAAWBBYAAwABBAkACQBGBCwAAwABBAkACwAwBHIAAwABBAkAEAAeBKIAAwABBAkAEQAMBMAAAwABBAkAEwAiBMwAAwABCAQAAABmBO4AAwABCAQAAQAsBVQAAwABCAQAAgAOBYAAAwABCAQABAAsBY4AAwABCAQABwBMBboAAwABCAQACAAWBgYAAwABCAQACQBGBhwAAwABCAQAEAAeBmIAAwABCAQAEQAMBoBDb3B5cmlnaHQgKGMpIDIwMTcgYnkgVGVuY2VudC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5XZUNoYXQgU2FucyBTdGRNZWRpdW1IYW55aSBXZUNoYXQgU2FucyBTdGQtTWVkaXVtOyBWZXJzaW9uIDEuMDBXZUNoYXQgU2FucyBTdGQtTWVkaXVtVmVyc2lvbiAxLjAwV2VDaGF0LVNhbnMtU3RkLU1lZGl1bVdlQ2hhdCBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIFRlbmNlbnQuSGFueWkgRm9udHNaSEFORyBYdWFuLCBXQU5HIFRpYW5iaSwgTElVIFhpYW95dWh0dHA6Ly93d3cuaGFueWkuY29tLmNuL1dlQ2hhdCBTYW5zIFN0ZE1lZGl1bVdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW3boiSjX7QKMTIzNDU2Nzg5MENvcHlyaWdodCAoYykgMjAxNyBieSBUZW5jZW50LiBBbGwgcmlnaHRzIHJlc2VydmVkLldlQ2hhdCBTYW5zIFN0ZE1lZGl1bUhhbnlpIFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW07IFZlcnNpb24gMS4wMFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW1WZXJzaW9uIDEuMDBXZUNoYXQtU2Fucy1TdGQtTWVkaXVtV2VDaGF0IFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgVGVuY2VudC5IYW55aSBGb250c1pIQU5HIFh1YW4sIFdBTkcgVGlhbmJpLCBMSVUgWGlhb3l1V2VDaGF0IFNhbnMgU3RkLU1lZGl1bQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIASABhAG4AeQBpACAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQA7ACAAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBWAGUAcgBzAGkAbwBuACAAMQAuADAAMABXAGUAQwBoAGEAdAAtAFMAYQBuAHMALQBTAHQAZAAtAE0AZQBkAGkAdQBtAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAFQAZQBuAGMAZQBuAHQALgBIAGEAbgB5AGkAIABGAG8AbgB0AHMAWgBIAEEATgBHACAAWAB1AGEAbgAsACAAVwBBAE4ARwAgAFQAaQBhAG4AYgBpACwAIABMAEkAVQAgAFgAaQBhAG8AeQB1AGgAdAB0AHAAOgAvAC8AdwB3AHcALgBoAGEAbgB5AGkALgBjAG8AbQAuAGMAbgAvAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAFMAdABkAE0AZQBkAGkAdQBtIKwAogAkAKMgqQClAAoAMQAyADMANAA1ADYANwA4ADkAMABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABUAGUAbgBjAGUAbgB0AC4ASABhAG4AeQBpACAARgBvAG4AdABzAFoASABBAE4ARwAgAFgAdQBhAG4ALAAgAFcAQQBOAEcAIABUAGkAYQBuAGIAaQAsACAATABJAFUAIABYAGkAYQBvAHkAdQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZABNAGUAZABpAHUAbQAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQATABQAFQAWABcAGAAZABoAGwAcAA8AEQAQAQIBAwCEAQQAvQAHAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgCFARMBFAEVAJYBFgEXARgBGQEaAA4A7wd1bmkwRTNGB3VuaTIwQjUNY29sb25tb25ldGFyeQd1bmlGRTY5BGRvbmcERXVybwd1bmkyMEIyB3VuaTIwQjQHdW5pMjBBRAd1bmkyMEJFB3VuaTIwQkEHdW5pMjBCQwd1bmkyMEE2B3VuaTIwQjEHdW5pMjBCRAd1bmkyMEI5B3VuaTIwQUEHdW5pMjBCOAd1bmkyMEFFB3VuaTIwQTkHdW5pRkZFMAd1bmlGRjA0B3VuaUZGRTEHdW5pRkZFNgd1bmlGRkU1) format(\"truetype\")}.activity_card_wrp .origin_price.has_discount{font-weight:400;text-decoration:line-through;-webkit-text-decoration-color:#fff;text-decoration-color:#fff;color:#fff;opacity:.5;font-family:WeChatSansStd-Medium;line-height:normal;font-size:12px}@font-face{font-family:WeChatSansStd-Medium;src:url(data:application/octet-stream;base64,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AwYAAwABBAkABAAsA1oAAwABBAkABQAYA4YAAwABBAkABgAsA54AAwABBAkABwBMA8oAAwABBAkACAAWBBYAAwABBAkACQBGBCwAAwABBAkACwAwBHIAAwABBAkAEAAeBKIAAwABBAkAEQAMBMAAAwABBAkAEwAiBMwAAwABCAQAAABmBO4AAwABCAQAAQAsBVQAAwABCAQAAgAOBYAAAwABCAQABAAsBY4AAwABCAQABwBMBboAAwABCAQACAAWBgYAAwABCAQACQBGBhwAAwABCAQAEAAeBmIAAwABCAQAEQAMBoBDb3B5cmlnaHQgKGMpIDIwMTcgYnkgVGVuY2VudC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5XZUNoYXQgU2FucyBTdGRNZWRpdW1IYW55aSBXZUNoYXQgU2FucyBTdGQtTWVkaXVtOyBWZXJzaW9uIDEuMDBXZUNoYXQgU2FucyBTdGQtTWVkaXVtVmVyc2lvbiAxLjAwV2VDaGF0LVNhbnMtU3RkLU1lZGl1bVdlQ2hhdCBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIFRlbmNlbnQuSGFueWkgRm9udHNaSEFORyBYdWFuLCBXQU5HIFRpYW5iaSwgTElVIFhpYW95dWh0dHA6Ly93d3cuaGFueWkuY29tLmNuL1dlQ2hhdCBTYW5zIFN0ZE1lZGl1bVdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW3boiSjX7QKMTIzNDU2Nzg5MENvcHlyaWdodCAoYykgMjAxNyBieSBUZW5jZW50LiBBbGwgcmlnaHRzIHJlc2VydmVkLldlQ2hhdCBTYW5zIFN0ZE1lZGl1bUhhbnlpIFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW07IFZlcnNpb24gMS4wMFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW1WZXJzaW9uIDEuMDBXZUNoYXQtU2Fucy1TdGQtTWVkaXVtV2VDaGF0IFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgVGVuY2VudC5IYW55aSBGb250c1pIQU5HIFh1YW4sIFdBTkcgVGlhbmJpLCBMSVUgWGlhb3l1V2VDaGF0IFNhbnMgU3RkLU1lZGl1bQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIASABhAG4AeQBpACAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQA7ACAAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBWAGUAcgBzAGkAbwBuACAAMQAuADAAMABXAGUAQwBoAGEAdAAtAFMAYQBuAHMALQBTAHQAZAAtAE0AZQBkAGkAdQBtAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAFQAZQBuAGMAZQBuAHQALgBIAGEAbgB5AGkAIABGAG8AbgB0AHMAWgBIAEEATgBHACAAWAB1AGEAbgAsACAAVwBBAE4ARwAgAFQAaQBhAG4AYgBpACwAIABMAEkAVQAgAFgAaQBhAG8AeQB1AGgAdAB0AHAAOgAvAC8AdwB3AHcALgBoAGEAbgB5AGkALgBjAG8AbQAuAGMAbgAvAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAFMAdABkAE0AZQBkAGkAdQBtIKwAogAkAKMgqQClAAoAMQAyADMANAA1ADYANwA4ADkAMABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABUAGUAbgBjAGUAbgB0AC4ASABhAG4AeQBpACAARgBvAG4AdABzAFoASABBAE4ARwAgAFgAdQBhAG4ALAAgAFcAQQBOAEcAIABUAGkAYQBuAGIAaQAsACAATABJAFUAIABYAGkAYQBvAHkAdQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZABNAGUAZABpAHUAbQAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQATABQAFQAWABcAGAAZABoAGwAcAA8AEQAQAQIBAwCEAQQAvQAHAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgCFARMBFAEVAJYBFgEXARgBGQEaAA4A7wd1bmkwRTNGB3VuaTIwQjUNY29sb25tb25ldGFyeQd1bmlGRTY5BGRvbmcERXVybwd1bmkyMEIyB3VuaTIwQjQHdW5pMjBBRAd1bmkyMEJFB3VuaTIwQkEHdW5pMjBCQwd1bmkyMEE2B3VuaTIwQjEHdW5pMjBCRAd1bmkyMEI5B3VuaTIwQUEHdW5pMjBCOAd1bmkyMEFFB3VuaTIwQTkHdW5pRkZFMAd1bmlGRjA0B3VuaUZGRTEHdW5pRkZFNgd1bmlGRkU1) format(\"truetype\")}.s1s_card_wrp{font-family:system-ui,PingFang SC;display:flex;align-items:center}.s1s_card_wrp .product-image{width:4em;height:4em;border-radius:2px;margin-right:12px}.s1s_card_wrp .product-info{flex:1;width:200px;line-height:1;display:flex;height:4em;flex-direction:column;box-sizing:border-box;padding:4px 0 0;justify-content:space-between}.s1s_card_wrp .product-title{color:var(--weui-FG-0);font-size:15px;width:100%;font-weight:400;padding-bottom:5px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s1s_card_wrp .product-price{color:#b3b3b3;font-weight:400;text-decoration:line-through;font-family:WeChatSansStd-Medium;line-height:normal;font-size:13px;line-height:1;padding-left:4px;padding-right:6px;position:relative}@font-face{font-family:WeChatSansStd-Medium;src:url(data:application/octet-stream;base64,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AwYAAwABBAkABAAsA1oAAwABBAkABQAYA4YAAwABBAkABgAsA54AAwABBAkABwBMA8oAAwABBAkACAAWBBYAAwABBAkACQBGBCwAAwABBAkACwAwBHIAAwABBAkAEAAeBKIAAwABBAkAEQAMBMAAAwABBAkAEwAiBMwAAwABCAQAAABmBO4AAwABCAQAAQAsBVQAAwABCAQAAgAOBYAAAwABCAQABAAsBY4AAwABCAQABwBMBboAAwABCAQACAAWBgYAAwABCAQACQBGBhwAAwABCAQAEAAeBmIAAwABCAQAEQAMBoBDb3B5cmlnaHQgKGMpIDIwMTcgYnkgVGVuY2VudC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5XZUNoYXQgU2FucyBTdGRNZWRpdW1IYW55aSBXZUNoYXQgU2FucyBTdGQtTWVkaXVtOyBWZXJzaW9uIDEuMDBXZUNoYXQgU2FucyBTdGQtTWVkaXVtVmVyc2lvbiAxLjAwV2VDaGF0LVNhbnMtU3RkLU1lZGl1bVdlQ2hhdCBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIFRlbmNlbnQuSGFueWkgRm9udHNaSEFORyBYdWFuLCBXQU5HIFRpYW5iaSwgTElVIFhpYW95dWh0dHA6Ly93d3cuaGFueWkuY29tLmNuL1dlQ2hhdCBTYW5zIFN0ZE1lZGl1bVdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW3boiSjX7QKMTIzNDU2Nzg5MENvcHlyaWdodCAoYykgMjAxNyBieSBUZW5jZW50LiBBbGwgcmlnaHRzIHJlc2VydmVkLldlQ2hhdCBTYW5zIFN0ZE1lZGl1bUhhbnlpIFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW07IFZlcnNpb24gMS4wMFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW1WZXJzaW9uIDEuMDBXZUNoYXQtU2Fucy1TdGQtTWVkaXVtV2VDaGF0IFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgVGVuY2VudC5IYW55aSBGb250c1pIQU5HIFh1YW4sIFdBTkcgVGlhbmJpLCBMSVUgWGlhb3l1V2VDaGF0IFNhbnMgU3RkLU1lZGl1bQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIASABhAG4AeQBpACAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQA7ACAAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBWAGUAcgBzAGkAbwBuACAAMQAuADAAMABXAGUAQwBoAGEAdAAtAFMAYQBuAHMALQBTAHQAZAAtAE0AZQBkAGkAdQBtAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAFQAZQBuAGMAZQBuAHQALgBIAGEAbgB5AGkAIABGAG8AbgB0AHMAWgBIAEEATgBHACAAWAB1AGEAbgAsACAAVwBBAE4ARwAgAFQAaQBhAG4AYgBpACwAIABMAEkAVQAgAFgAaQBhAG8AeQB1AGgAdAB0AHAAOgAvAC8AdwB3AHcALgBoAGEAbgB5AGkALgBjAG8AbQAuAGMAbgAvAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAFMAdABkAE0AZQBkAGkAdQBtIKwAogAkAKMgqQClAAoAMQAyADMANAA1ADYANwA4ADkAMABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABUAGUAbgBjAGUAbgB0AC4ASABhAG4AeQBpACAARgBvAG4AdABzAFoASABBAE4ARwAgAFgAdQBhAG4ALAAgAFcAQQBOAEcAIABUAGkAYQBuAGIAaQAsACAATABJAFUAIABYAGkAYQBvAHkAdQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZABNAGUAZABpAHUAbQAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQATABQAFQAWABcAGAAZABoAGwAcAA8AEQAQAQIBAwCEAQQAvQAHAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgCFARMBFAEVAJYBFgEXARgBGQEaAA4A7wd1bmkwRTNGB3VuaTIwQjUNY29sb25tb25ldGFyeQd1bmlGRTY5BGRvbmcERXVybwd1bmkyMEIyB3VuaTIwQjQHdW5pMjBBRAd1bmkyMEJFB3VuaTIwQkEHdW5pMjBCQwd1bmkyMEE2B3VuaTIwQjEHdW5pMjBCRAd1bmkyMEI5B3VuaTIwQUEHdW5pMjBCOAd1bmkyMEFFB3VuaTIwQTkHdW5pRkZFMAd1bmlGRjA0B3VuaUZGRTEHdW5pRkZFNgd1bmlGRkU1) format(\"truetype\")}.s1s_card_wrp .product-price.need-border:after{content:\"\";display:block;width:.5px;height:11px;position:absolute;right:0;top:1px;background-color:var(--weui-FG-2)}.s1s_card_wrp .discount-price{color:var(--weui-ORANGERED-100);font-weight:400;font-family:WeChatSansStd-Medium;line-height:normal;font-size:15px;line-height:1;position:relative;top:1px}@font-face{font-family:WeChatSansStd-Medium;src:url(data:application/octet-stream;base64,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AwYAAwABBAkABAAsA1oAAwABBAkABQAYA4YAAwABBAkABgAsA54AAwABBAkABwBMA8oAAwABBAkACAAWBBYAAwABBAkACQBGBCwAAwABBAkACwAwBHIAAwABBAkAEAAeBKIAAwABBAkAEQAMBMAAAwABBAkAEwAiBMwAAwABCAQAAABmBO4AAwABCAQAAQAsBVQAAwABCAQAAgAOBYAAAwABCAQABAAsBY4AAwABCAQABwBMBboAAwABCAQACAAWBgYAAwABCAQACQBGBhwAAwABCAQAEAAeBmIAAwABCAQAEQAMBoBDb3B5cmlnaHQgKGMpIDIwMTcgYnkgVGVuY2VudC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5XZUNoYXQgU2FucyBTdGRNZWRpdW1IYW55aSBXZUNoYXQgU2FucyBTdGQtTWVkaXVtOyBWZXJzaW9uIDEuMDBXZUNoYXQgU2FucyBTdGQtTWVkaXVtVmVyc2lvbiAxLjAwV2VDaGF0LVNhbnMtU3RkLU1lZGl1bVdlQ2hhdCBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIFRlbmNlbnQuSGFueWkgRm9udHNaSEFORyBYdWFuLCBXQU5HIFRpYW5iaSwgTElVIFhpYW95dWh0dHA6Ly93d3cuaGFueWkuY29tLmNuL1dlQ2hhdCBTYW5zIFN0ZE1lZGl1bVdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW3boiSjX7QKMTIzNDU2Nzg5MENvcHlyaWdodCAoYykgMjAxNyBieSBUZW5jZW50LiBBbGwgcmlnaHRzIHJlc2VydmVkLldlQ2hhdCBTYW5zIFN0ZE1lZGl1bUhhbnlpIFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW07IFZlcnNpb24gMS4wMFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW1WZXJzaW9uIDEuMDBXZUNoYXQtU2Fucy1TdGQtTWVkaXVtV2VDaGF0IFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgVGVuY2VudC5IYW55aSBGb250c1pIQU5HIFh1YW4sIFdBTkcgVGlhbmJpLCBMSVUgWGlhb3l1V2VDaGF0IFNhbnMgU3RkLU1lZGl1bQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIASABhAG4AeQBpACAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQA7ACAAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBWAGUAcgBzAGkAbwBuACAAMQAuADAAMABXAGUAQwBoAGEAdAAtAFMAYQBuAHMALQBTAHQAZAAtAE0AZQBkAGkAdQBtAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAFQAZQBuAGMAZQBuAHQALgBIAGEAbgB5AGkAIABGAG8AbgB0AHMAWgBIAEEATgBHACAAWAB1AGEAbgAsACAAVwBBAE4ARwAgAFQAaQBhAG4AYgBpACwAIABMAEkAVQAgAFgAaQBhAG8AeQB1AGgAdAB0AHAAOgAvAC8AdwB3AHcALgBoAGEAbgB5AGkALgBjAG8AbQAuAGMAbgAvAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAFMAdABkAE0AZQBkAGkAdQBtIKwAogAkAKMgqQClAAoAMQAyADMANAA1ADYANwA4ADkAMABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABUAGUAbgBjAGUAbgB0AC4ASABhAG4AeQBpACAARgBvAG4AdABzAFoASABBAE4ARwAgAFgAdQBhAG4ALAAgAFcAQQBOAEcAIABUAGkAYQBuAGIAaQAsACAATABJAFUAIABYAGkAYQBvAHkAdQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZABNAGUAZABpAHUAbQAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQATABQAFQAWABcAGAAZABoAGwAcAA8AEQAQAQIBAwCEAQQAvQAHAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgCFARMBFAEVAJYBFgEXARgBGQEaAA4A7wd1bmkwRTNGB3VuaTIwQjUNY29sb25tb25ldGFyeQd1bmlGRTY5BGRvbmcERXVybwd1bmkyMEIyB3VuaTIwQjQHdW5pMjBBRAd1bmkyMEJFB3VuaTIwQkEHdW5pMjBCQwd1bmkyMEE2B3VuaTIwQjEHdW5pMjBCRAd1bmkyMEI5B3VuaTIwQUEHdW5pMjBCOAd1bmkyMEFFB3VuaTIwQTkHdW5pRkZFMAd1bmlGRjA0B3VuaUZGRTEHdW5pRkZFNgd1bmlGRkU1) format(\"truetype\")}.s1s_card_wrp .discount-price__extra{font-size:12px;color:var(--weui-ORANGERED-100);font-weight:400;margin-left:1px;position:relative;top:-1px}.s1s_card_wrp .product-brand{color:var(--weui-FG-1);font-size:12px;display:flex;align-items:center}.s1s_card_wrp .product-brand .product-logo{margin-right:2px}.s1s_card_wrp .product-brand .shop-verify-icon{font-size:14px;margin-left:2px;position:relative;top:-.03em}.s1s_card_wrp .product-centercontainer{display:flex;align-items:flex-end;margin-bottom:5px}.s1s_card_wrp .product-gifts{color:var(--weui-FG-2);font-size:12px;margin-left:6px;position:relative;top:-.06em}.s1s_card_wrp .product-gifts .product-gifts__num{margin:0 1px}.product_image_wrp{width:100%;height:100%}.product_load_fail{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:88px;padding:16px 64px;border-radius:8px;background-color:var(--weui-BG-3, rgba(0, 0, 0, .03));color:var(--weui-FG-2, rgba(0, 0, 0, .3));font-size:14px;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;user-select:none}.product_load_fail__text{text-align:center}@media (prefers-color-scheme: dark){:root{--weui-FG-6: rgba(255, 255, 255, .05)}.s1s_card_wrp .product-price{color:#5e5e5e}.s1s_card_wrp .shop-verify-icon{filter:invert(1)}}\n", J$2 = { windowproduct: "data-windowproduct", customstyle: "data-customstyle", ecsource: "data-ecsource", exportkey: "data-exportkey", wap_export_token: "data-wap_export_token", loaded: "data-loaded", cardtype: "data-cardtype", is_hover: "data-is-hover", is_selected: "data-is-selected", token: "data-token", title: "data-title", immutable: "data-immutable", req_scene: "data-req-scene", urlParams: "data-url-params", extInfo: "data-ext-info", scrollBlur: "data-scroll-blur", wrpStyle: "data-wrp-style", type: "data-type", productImage: "data-product-image", originPrice: "data-origin-price", discountedPrice: "data-discounted-price", outerclick: "data-outerclick", productInfo: "data-product-info" }; function ut(A) { var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var e = {}; return e = o$6.call(this, J$2), e.loaded = Number(e.loaded || 0), e.cardtype = Number(e.cardtype || 0), e.is_hover = Number(e.is_hover || 0), e.is_selected = Number(e.is_selected || 0), e.immutable = Number(e.immutable || 0), e.req_scene = Number(e.req_scene || 0), e.urlParams = JSON.parse(e.urlParams || "{}"), e.extInfo = JSON.parse(e.extInfo || "{}"), e.productInfo = JSON.parse(e.productInfo || "{}"), e.scrollBlur = Number(e.scrollBlur || 0), e.originPrice = Number(e.originPrice || 0), e.discountedPrice = Number(e.discountedPrice || 0), e.outerclick = Number(e.outerclick || 0), _objectSpread$9({ platform: A, extraInfo: t }, e); } function ft(A) { H$3(Object.assign(A, { Component: A.isDev ? A.devComponent : gt, styleText: A.isDev ? A.devStyleText : nt, customName: A.customName || "mp-common-product", watchAttr: Object.values(J$2), getProps: ut, eventName: ["iframe-message", "document-click", "expose", "element-click"] })); } function ownKeys$8(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var w$4 = { name: "mp-common-redpacket", mixins: [k$1], props: { errType: { type: String, "default": "" }, is_hover: { type: Number, "default": 0 }, is_selected: { type: Number, "default": 0 }, name: { type: String, "default": "" }, isSynthetic: { type: Number, "default": 0 }, imgSrc: { type: String, "default": "" }, openImgSrc: { type: String, "default": "" }, status: { type: Number, "default": 3 }, bizuin: { type: String, "default": "" }, coveruri: { type: String, "default": "" }, orderid: { type: String, "default": "" }, isPurchaseOrder: { type: Number, "default": 0 }, smallCard: { type: Number, "default": 0 } }, data: function data() { return { platformClassname: { web: "common-redpacket-web", app: "common-redpacket-app", wechat: "common-redpacket-webchat" }[this.platform], openImgWidth: "62.33%", openImgHeight: "108%" }; }, methods: { handleClick: function handleClick() { this.$emit("click"); }, calOpenImgWidth: function calOpenImgWidth() { var _this = this; if (!this.openImgSrc) return; var E = new Image(); E.onload = function () { _this.openImgWidth = "".concat((E.width / E.height * 108).toFixed(2), "%"); }, E.src = decodeURIComponent(this.openImgSrc); } }, computed: { disabled: function disabled() { return this.errType * 1 > 0; } }, watch: { openImgSrc: function openImgSrc() { this.calOpenImgWidth(); } }, mounted: function mounted() { this.calOpenImgWidth(); } }, a$3 = w$4; var r$6 = function r() { var A = this, g = A._self._c; return A._self._setupProxy, g("section", { ref: "js_custom_element", staticClass: "wx-root red_package_cover_wrp", "class": [{ disabled: A.disabled, small: A.smallCard }, A.platformClassname], attrs: { role: "option" } }, [g("section", { staticClass: "red_package_cover__inner wx_tap_card wx_card_root", "class": [A.is_hover === 1 ? "wx_hover_card" : "", A.is_selected === 1 ? "wx_selected_card" : ""] }, [g("section", { staticClass: "red_package_cover__inner__main" }, [g("section", { staticClass: "red_package_cover__body" }, [A.openImgSrc ? g("span", { staticClass: "red_package_cover_img red_package_open_cover_img", style: { "background-image": "url(".concat(A.openImgSrc, ")"), width: A.smallCard ? "" : A.openImgWidth, height: A.smallCard ? "" : A.openImgHeight }, attrs: { "data-notusecover": "1" } }) : g("span", { staticClass: "red_package_cover_img", "class": { synthetic_cover_img: A.isSynthetic === 1 }, style: "background-image: url(" + A.imgSrc + ")", attrs: { "data-notusecover": "1" } }), A.smallCard ? g("span", { staticClass: "title-wrp" }, [g("span", { staticClass: "title" }, [A._v(A._s(A.name) + '的红包封面')]), A.isPurchaseOrder === 1 ? g("span", { staticClass: "red_package_cover__purchase" }, [A._v('付费')]) : A._e()]) : A._e()]), g("section", { staticClass: "red_package_cover__foot" }, [A.smallCard ? [A.status === 0 ? g("span", { staticClass: "weui-btn weui-btn_mini red_package_cover__access-link button" }, [A._v('领取')]) : A.status === 1 ? g("span", { staticClass: "red_package_cover__access-link correct disabled" }, [A._v('已领取')]) : A.status === 2 ? g("span", { staticClass: "red_package_cover__access-link disabled" }, [A._v('已领完')]) : A.status === 3 ? g("span", { staticClass: "red_package_cover__access-link disabled" }, [A._v('不可领取')]) : A._e()] : A.platform !== "wechat" ? [A.disabled ? g("span", { staticClass: "red_package_cover__access-link disabled" }, [A._v('红包封面不可用')]) : g("span", { staticClass: "red_package_cover__access-link" }, [A._v('领取' + A._s(A.name) + '的红包封面')])] : [A.status === 0 ? g("span", { staticClass: "red_package_cover__access-link" }, [A._v('领取' + A._s(A.name) + '的红包封面')]) : A.status === 1 ? g("span", { staticClass: "red_package_cover__access-link disabled" }, [A._v('已领取红包封面')]) : A.status === 2 ? g("span", { staticClass: "red_package_cover__access-link disabled" }, [A._v('红包封面已领取完')]) : A.status === 3 ? g("span", { staticClass: "red_package_cover__access-link disabled" }, [A._v('红包封面不可领取')]) : A._e()], A.isPurchaseOrder === 1 && !A.smallCard ? g("section", { staticClass: "red_package_cover__purchase" }, [A._v('付费')]) : A._e()], 2)]), A._m(0), A.platform !== "wechat" && A.disabled ? g("section", { staticClass: "red_package_cover_disable_wording" }, [A._v('红包封面不可用')]) : A._e()])]); }, t$2 = [function () { var E = this, A = E._self._c; return E._self._setupProxy, A("section", { staticClass: "red_package_cover__extend" }, [A("span", { staticClass: "red_package_cover__extend_icon" }), A("span", { staticClass: "red_package_cover__extend_info" }, [E._v('微信红包封面')])]); }], u$2 = v$2(a$3, r$6, t$2, !1, null, "e0207b94", null, null); var n$5 = u$2.exports, d$3 = ".wx-root,body{--weui-BG-COLOR-ACTIVE: #ececec}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-COLOR-ACTIVE: #373737}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-COLOR-ACTIVE: #373737}}body,.wx-root,page{--weui-BTN-HEIGHT: 48;--weui-BTN-HEIGHT-MEDIUM: 40;--weui-BTN-HEIGHT-SMALL: 32}.wx-root,body{--weui-BTN-ACTIVE-MASK: rgba(0, 0, 0, .1)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}}.wx-root,body{--weui-BTN-DEFAULT-ACTIVE-BG: #e6e6e6}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}}.wx-root,body{--weui-DIALOG-LINE-COLOR: rgba(0, 0, 0, .1)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}}.weui-btn{position:relative;display:block;width:184px;margin-left:auto;margin-right:auto;padding:12px 24px;box-sizing:border-box;font-weight:500;font-size:17px;text-align:center;text-decoration:none;color:#fff;line-height:1.41176471;border-radius:8px;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;user-select:none}.weui-btn:active:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--weui-BTN-ACTIVE-MASK);border-radius:8px}.weui-btn:active.weui-btn_loading:before,.weui-btn:active.weui-btn_disabled:before,.weui-btn:active[disabled]:before{display:none}.weui-btn_block{width:auto}.weui-btn_inline{display:inline-block}.weui-btn_default{color:var(--weui-FG-0);background-color:var(--weui-FG-5)}.weui-btn_default:not(.weui-btn_disabled):visited{color:var(--weui-FG-0)}.weui-btn_primary{background-color:var(--weui-BRAND)}.weui-btn_primary:not(.weui-btn_disabled):visited{color:#fff}.weui-btn_warn{color:var(--weui-RED);background-color:var(--weui-FG-5)}.weui-btn_warn:not(.weui-btn_disabled):visited{color:var(--weui-RED)}.weui-btn_overlay{color:var(--weui-BRAND);background-color:#fff}.weui-btn_overlay:not(.weui-btn_disabled):visited{color:var(--weui-BRAND)}.weui-btn_disabled,.weui-btn[disabled]{color:var(--weui-FG-4);background-color:var(--weui-BG-1)}.weui-btn_loading .weui-loading{margin:-.2em 8px 0 0}.weui-btn_loading .weui-mask-loading{margin:-.2em 8px 0 0;color:currentColor}.weui-btn_loading .weui-primary-loading{margin:-.2em 8px 0 0;vertical-align:middle;color:currentColor}.weui-btn_loading .weui-primary-loading:before{content:\"\"}.weui-btn_loading.weui-btn_primary{color:var(--weui-WHITE)}.weui-btn_cell{position:relative;display:block;margin-left:auto;margin-right:auto;box-sizing:border-box;font-size:17px;text-align:center;text-decoration:none;color:#fff;line-height:1.41176471;padding:16px;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;background-color:var(--weui-BG-5)}.weui-btn_cell+.weui-btn_cell{margin-top:16px}.weui-btn_cell:active{background-color:var(--weui-BG-COLOR-ACTIVE)}.weui-btn_cell__icon{display:inline-block;vertical-align:middle;width:24px;height:24px;margin:-.2em .34em 0 0}.weui-btn_cell-default{color:var(--weui-FG-0)}.weui-btn_cell-primary{color:var(--weui-LINK)}.weui-btn_cell-warn{color:var(--weui-RED)}.weui-bottom-fixed-opr-page{height:100%;display:flex;flex-direction:column}.weui-bottom-fixed-opr-page__content{min-height:0;flex:1;padding-bottom:80px;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch}.weui-bottom-fixed-opr-page__tool{padding:16px 32px 24px;padding:16px calc(32px + constant(safe-area-inset-right)) calc(24px + constant(safe-area-inset-bottom)) calc(32px + constant(safe-area-inset-left));padding:16px calc(32px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(32px + env(safe-area-inset-left));background:#ffffff;position:relative;z-index:50}.weui-bottom-fixed-opr-page__tool:before{content:\"\";height:80px;background:linear-gradient(to top,#ffffff,rgba(255,255,255,0));position:absolute;bottom:calc(100% - 1px);left:0;right:0;transform:translateZ(0);pointer-events:none}.wx-root[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool,body[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool{background:#191919}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool,body:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool{background:#191919}}.wx-root[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool:before,body[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool:before{background:linear-gradient(to top,#191919,rgba(25,25,25,0))}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool:before,body:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool:before{background:linear-gradient(to top,#191919,rgba(25,25,25,0))}}.weui-bottom-fixed-opr-page__tips{margin-bottom:24px;padding:0 32px;text-align:center}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr{display:flex;align-items:center;justify-content:center}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn{width:184px;padding-left:16px;padding-right:16px}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2),.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn{margin:0 8px;width:136px}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2):first-child,.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn:first-child{margin-left:0}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2):last-child,.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn:last-child{margin-right:0}.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr{flex-direction:column}.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2),.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn{width:184px;margin:16px 0 0}.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2):first-child,.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn:first-child{margin-top:0}.weui-bottom-fixed-opr-page.weui-form{padding-top:0}.weui-bottom-fixed-opr-page.weui-form .weui-form__bd{padding-top:56px;padding-top:calc(56px + constant(safe-area-inset-top));padding-top:calc(56px + env(safe-area-inset-top))}.weui-bottom-fixed-opr-page.weui-form .weui-form__ft{padding-bottom:0}.weui-bottom-fixed-opr-page.weui-form .weui-form__control-area{margin-bottom:0}.weui-bottom-fixed-opr-page.weui-half-screen-dialog{padding:0}.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__hd,.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__bd,.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__ft{padding-left:24px;padding-left:calc(24px + constant(safe-area-inset-left));padding-left:calc(24px + env(safe-area-inset-left));padding-right:24px;padding-right:calc(24px + constant(safe-area-inset-right));padding-right:calc(24px + env(safe-area-inset-right))}.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__bd{padding-bottom:80px}.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__ft{padding-bottom:64px;padding-bottom:calc(64px + constant(safe-area-inset-bottom));padding-bottom:calc(64px + env(safe-area-inset-bottom))}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog{padding:0}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-half-screen-dialog__hd{padding:0 24px;padding:0 calc(24px + constant(safe-area-inset-right)) 0 calc(24px + constant(safe-area-inset-left));padding:0 calc(24px + env(safe-area-inset-right)) 0 calc(24px + env(safe-area-inset-left))}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-half-screen-dialog__bd{padding-bottom:0;display:flex;flex-direction:column}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-half-screen-dialog__ft{padding:0}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-bottom-fixed-opr-page{flex:1;min-height:0}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-bottom-fixed-opr-page__content{padding:0 24px;padding:0 calc(24px + constant(safe-area-inset-right)) 0 calc(24px + constant(safe-area-inset-left));padding:0 calc(24px + env(safe-area-inset-right)) 0 calc(24px + env(safe-area-inset-left))}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-bottom-fixed-opr{padding:16px 0 64px;padding:16px 0 calc(64px + constant(safe-area-inset-bottom));padding:16px 0 calc(64px + env(safe-area-inset-bottom))}button.weui-btn,input.weui-btn{border-width:0;outline:0;-webkit-appearance:none}button.weui-btn:focus,input.weui-btn:focus{outline:0}button.weui-btn_inline,input.weui-btn_inline,button.weui-btn_mini,input.weui-btn_mini{width:auto}.weui-btn_medium{font-size:14px;padding:10px 24px;line-height:calc((var(--weui-BTN-HEIGHT-MEDIUM) - 20) / 14)}.weui-btn_mini{display:inline-block;width:auto;line-height:calc((32 - 12) / 14);padding:6px 12px;font-size:14px;border-radius:6px}.weui-btn_xmini{display:inline-block;width:auto;padding:4px 12px;line-height:calc((28 - 8) / 14);font-size:14px;font-weight:500;border-radius:4px}.weui-btn+.weui-btn{margin-top:16px}.weui-btn.weui-btn_mini+.weui-btn.weui-btn_mini{margin-top:auto}.weui-btn.weui-btn_xmini+.weui-btn.weui-btn_xmini{margin-top:auto}.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline{margin-left:16px}.weui-btn-area{margin:48px 16px 8px}.weui-btn-area_inline{display:flex}.weui-btn-area_inline .weui-btn{margin-top:auto;margin-right:16px;width:100%;flex:1}.weui-btn-area_inline .weui-btn:last-child{margin-right:0}.weui-btn_reset{background:transparent;border:0;padding:0;outline:0;font-size:inherit}.weui-btn_icon{background:transparent;border:0;padding:0;outline:0;font-size:0}.weui-btn_icon:active [class*=weui-icon-]{color:var(--weui-FG-1)}body,.wx-root{--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #fa9d3b;--weui-YELLOW: #ffc300;--weui-GREEN: #91d300;--weui-LIGHTGREEN: #95ec69;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1485ee;--weui-PURPLE: #6467f0;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-BG: #fff;--weui-TAG-TEXT-ORANGE: #fa9d3b;--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-TEXT-BLUE: #10aeff;--weui-REDORANGE: #ff6146;--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #07C160;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0: rgba(0, 0, 0, .9);--weui-FG-0_5: rgba(0, 0, 0, .9);--weui-FG-1: rgba(0, 0, 0, .55);--weui-FG-2: rgba(0, 0, 0, .3);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-GLYPH-0: rgba(0, 0, 0, .9);--weui-GLYPH-1: rgba(0, 0, 0, .55);--weui-GLYPH-2: rgba(0, 0, 0, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #91D300;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #1485EE;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #95EC69;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #FA9D3B;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6467F0;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #FA5151;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .05);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #FFC300;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-FG-HALF: rgba(0, 0, 0, .9);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #FA9D3B;--weui-YELLOW: #FFC300;--weui-GREEN: #91D300;--weui-LIGHTGREEN: #95EC69;--weui-TEXTGREEN: #06AE56;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1485EE;--weui-PURPLE: #6467F0;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #FA9D3B;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #10AEFF;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05);--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-FG: #000;--weui-FG-5: rgba(0, 0, 0, .05);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-5: #2c2c2c;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-REDORANGE: #ff6146;--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG: #fff;--weui-BG: #000;--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6)}}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-5: #2c2c2c;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-REDORANGE: #ff6146;--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG: #fff;--weui-BG: #000;--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6)}.wx-root[data-weui-mode=care],body[data-weui-mode=care]{--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-RED: #dc3636;--weui-ORANGERED: #d14730;--weui-ORANGE: #e17719;--weui-YELLOW: #bb8e00;--weui-GREEN: #4f8400;--weui-LIGHTGREEN: #2e8800;--weui-BLUE: #007dbb;--weui-INDIGO: #0075e2;--weui-PURPLE: #6265f1;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-BG: #fff;--weui-TAG-TEXT-ORANGE: #e17719;--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-TEXT-BLUE: #007dbb;--weui-REDORANGE: #d14730;--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #007DBB;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #018942;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0: #000000;--weui-FG-0_5: #000000;--weui-FG-1: rgba(0, 0, 0, .6);--weui-FG-2: rgba(0, 0, 0, .42);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-GLYPH-0: #000000;--weui-GLYPH-1: rgba(0, 0, 0, .6);--weui-GLYPH-2: rgba(0, 0, 0, .42);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #4F8400;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #0075E2;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #2E8800;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #E17719;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #D14730;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6265F1;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #DC3636;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .1);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #BB8E00;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-FG-HALF: #000000;--weui-RED: #DC3636;--weui-ORANGERED: #D14730;--weui-ORANGE: #E17719;--weui-YELLOW: #BB8E00;--weui-GREEN: #4F8400;--weui-LIGHTGREEN: #2E8800;--weui-TEXTGREEN: #06AE56;--weui-BRAND: #018942;--weui-BLUE: #007DBB;--weui-INDIGO: #0075E2;--weui-PURPLE: #6265F1;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #E17719;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #007DBB;--weui-REDORANGE: #D14730;--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-FG: #000;--weui-FG-5: rgba(0, 0, 0, .05);--weui-TAG-BACKGROUND-ORANGE: rgba(225, 119, 25, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(0, 125, 187, .1);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05)}@media (prefers-color-scheme: dark){.wx-root[data-weui-mode=care]:not([data-weui-theme=light]),body[data-weui-mode=care]:not([data-weui-theme=light]){--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-5: #2c2c2c;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-REDORANGE: #ff6146;--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-FG: #fff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-BG: #000;--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5)}}.wx-root[data-weui-mode=care][data-weui-theme=dark],body[data-weui-mode=care][data-weui-theme=dark]{--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-5: #2c2c2c;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-REDORANGE: #ff6146;--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-FG: #fff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-BG: #000;--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5)}.wx-root{position:relative;pointer-events:auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Arial,sans-serif}.wx_card_root{position:relative}.wxw_hide{display:none!important}.wx_uninteractive{pointer-events:none}:host(.wx_tap_highlight_active) .wx_tap_link{opacity:.5}:host(.wx_tap_highlight_active) .wx_tap_card{background-color:#f3f3f3}:host(.wx_tap_highlight_active) .wx_tap_cell{background-color:#0000000d}@media (prefers-color-scheme: dark){:host(.wx_tap_highlight_active) .wx_tap_card{background-color:#252525}:host(.wx_tap_highlight_active) .wx_tap_cell{background-color:#ffffff1a}}.wx_css_active :active{opacity:.5}.wx_hover_card:before{content:\" \";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:8px;box-sizing:border-box;border:1px solid rgba(7,193,96,.3);pointer-events:none;z-index:9}.wx_selected_card:before{content:\" \";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:8px;border:1.5px solid #07C160;box-sizing:border-box;background:rgba(7,193,96,.1);pointer-events:none;z-index:9}.wx-root,body{--weui-BG-6: rgba(0, 0, 0, .05)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-6: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-6: rgba(255, 255, 255, .1)}}.point_event_no{pointer-events:none}.red_package_cover_wrp{-webkit-user-select:none;-moz-user-select:none;user-select:none;display:block;font-size:0;text-align:center}.red_package_cover_wrp.disabled .red_package_cover__inner{position:relative;cursor:default}.red_package_cover_wrp.disabled .red_package_cover__inner:after{border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0;content:\" \";display:block;height:100%;background-color:var(--weui-FG-1)}.red_package_cover_wrp.disabled .red_package_cover_disable_wording{display:block;text-align:center}.red_package_cover_wrp.common-redpacket-web .red_package_cover__inner{max-width:273px}.red_package_cover_wrp .red_package_cover__inner{position:relative;cursor:pointer;display:inline-block;font-size:17px;background:var(--weui-BG-3);border-radius:8px;max-width:300px;width:77%}.red_package_cover_wrp .red_package_cover__inner.red_package_cover__inner__loading{position:relative}.red_package_cover_wrp .red_package_cover__inner.red_package_cover__inner__loading:before{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px;content:\" \";display:block;width:16px;height:16px}.red_package_cover_wrp .red_package_cover__inner.red_package_cover__inner__loading .red_package_cover__inner__main,.red_package_cover_wrp .red_package_cover__inner.red_package_cover__inner__loading .red_package_cover__extend{opacity:0}.red_package_cover_wrp .red_package_cover__inner__main{width:300px;width:100%;padding:13.6% 0 8%}.red_package_cover_wrp .red_package_cover_img{position:relative;display:block;width:196px;height:324px;border-radius:5px;background-size:cover;background-repeat:no-repeat;background-position:center;margin:0 auto;width:65.33%;height:initial;padding-bottom:108%}.red_package_cover_wrp .red_package_cover_img.red_package_cover_img_loading{background-color:#00000008;position:relative}.wx-root[data-weui-theme=dark] .red_package_cover_wrp .red_package_cover_img.red_package_cover_img_loading,body[data-weui-theme=dark] .red_package_cover_wrp .red_package_cover_img.red_package_cover_img_loading{background-color:#ffffff08}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]) .red_package_cover_wrp .red_package_cover_img.red_package_cover_img_loading,body:not([data-weui-theme=light]) .red_package_cover_wrp .red_package_cover_img.red_package_cover_img_loading{background-color:#ffffff08}}.red_package_cover_wrp .red_package_cover_img.red_package_cover_img_loading:before{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px;content:\" \";display:block;width:16px;height:16px}.red_package_cover_wrp .red_package_cover_img.red_package_cover_img_loading:after{display:none}.red_package_cover_wrp .red_package_cover_img:after{content:\" \";display:block;position:absolute;bottom:0;left:0;right:0;height:100%;background:url(data:image/png;base64,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) no-repeat center bottom;background-size:100% auto}.red_package_cover_wrp .red_package_cover_img.synthetic_cover_img{width:62.33%}.red_package_cover_wrp .red_package_cover_img.synthetic_cover_img:after{content:\" \";display:block;position:absolute;bottom:9.3%;left:8px;right:8px;height:100%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAANWCAYAAAAfipHnAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAHgKADAAQAAAABAAADVgAAAAApgfZEAABAAElEQVR4AezdCZwUxdn48a6e2ZsbUcATz0QSjQHvk7CAxhDPAcQ3BqNBEe+Y603yvvv+ExNjIiYqIBrvm41XjEHEiPcJr68aTNQoHgh4AeLO7MFO1/+pZWvtne2B3WVmt2f6N5/PWt3V3XV8B6e765nqcRxeCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEB4BFZ6m0BIEEEAAAQQQQAABBBBAAIEoCmi9OF73yvuD6upTW+lSZ6uY1oO142zlanewUs4gRzkDHUeVOY4u1VqVSp4sO6WONqnkKVWmTOrINq3LZL1UbnbLtNaSmuNkL0c3KqWapNxG2adJ9mmUY2RdNcl6o5TfJPVI6jRpLfso3dSSJ8fJwWslb42nvE+l3E/SSn0qe3/Sp6Lykz57bb9GqTHNpg5eCCCAAAIIIIAAAggggAACCIRBgABwGN4F2oAAAggggAACCCCAAAIIFJnAsmU1pUMahuygvZKdtNI7SXB1m5irBksgdbDciG7ltAZ5JSg7WLreX4K1BXl/Ku2XmLLzmbS/JTjsSHBYMj6RIPWnaU9/KsHjD5VW7yh3wzsfl3/83siRNRJY5oUAAggggAACCCCAAAIIIIBA/gQK8gY7fxyUjAACCCCAAAIIIIAAAggg0AkBtXhxTexL5dts58SdnSSwO0Jm2u4os2ollWCvdkZIwHdbCfa6nSgrMrtIUNgTmw/EZrnMPH5HZh5Lqt+VQPFyp9l5518NH64YM6YmLSAmqMwLAQQQQAABBBBAAAEEEEAAgW4JEADuFhsHIYAAAggggAACCCCAAAJFL6BqamrUjG8NGyE9/aoEKr8Sd90REtSVGb3OCAlebi9RynjRK/RgB+UGvVmC6O/LnOLlEix+p9nzlktg/R/ShFfn/nXVcnk/TGCY4HAPvidUhQACCCCAAAIIIIAAAggUogAB4EJ812gzAggggAACCCCAAAIIIJA7gZb7wnefnDOgpMr9alyrvSTjqxLk/apU8VUJN/bJXVWU1G0B5dTJsa9KcPhViQC/2qz0KxuS3qs7HnrWutYyCQx3G5cDEUAAAQQQQAABBBBAAIHiEiAAXFzvJ71BAAEEEEAAAQQQQAABBLIJtNz/LVkyL76d9vZwlLuX66qvyEzeveSAvSR6uH22A8kPr4C8qe9L616RmcOveJ7+h6O9V1Yo9/XRo89obm01geHwvn20DAEEEEAAAQQQQAABBBDIiwAB4LywUigCCCCAAAIIIIAAAggg0KsCbfd6q5+/difl6kPcmHOQRAIPkA17aq1Le7V1VJ5XAaVUk7zXr8l7/ZyXdp7Rnnpq6P7ff8dXKUFhHwaLCCCAAAIIIIAAAggggECxCbQNChRbx+gPAggggAACCCCAAAIIIBARgbb7OjO7d1tPfU3F9MGucg6S3489WIK9wyPiQDc3ISBB4ZXyO85Pe1oCwmn19Aeu/j/fLGFzJEHhTfixCQEEEEAAAQQQQAABBBAoJIG2gYJCajRtRQABBBBAAAEEEEAAAQQiLNB2H7f8pcv7VzVXHdgyu1frgyWCt7+4VEbYhq53XiAl/5Cel8Dw02aWcDKefHbEPhd85jucgLAPg0UEEEAAAQQQQAABBBBAoJAE2gYOCqnRtBUBBBBAAAEEEEAAAQQQiIhAu3u21U/PHaLKnXGuih0iM3sPVsoZqbXjRsSCbuZRQP4tefJvaVlLQFinn9INzqKhB8/4OKNKgsIZIKwigAACCCCAAAIIIIAAAmEUaDeYEMYG0iYEEEAAAQQQQAABBBBAIGICbfdp8+fPdw/fad3+btyZIAZHyVN6RxHwjdi/hl7qrgkIO45aKtUv8JqdhY+/M+D5SZMmSV7bi2BwGwULCCCAAAIIIIAAAggggEC4BNoGFsLVLFqDAAIIIIAAAggggAACCERGoN192UcvzN7GceMTlKuOFIHxMtN3UGQk6GhoBWRm8Bpp3MPa0w85XvPCrfeb+WFGYwkIZ4CwigACCCCAAAIIIIAAAgj0lkC7gYbeagT1IoAAAggggAACCCCAAAIREmh3H7Z4cU1sZL+tD3Tdkgna845ylNpHgr7t9omQDV0tAAEJBmtH65eU6y7wvA0Ll63/6NkxY2rSGU0nIJwBwioCCCCAAAIIIIAAAggg0FMCDCr0lDT1IIAAAggggAACCCCAQJQF2t17md/ydUrVRDemJihHjZOA74Ao49D3whaQgPA6iQgv8tJ6odOkH+C3gwv7/aT1CCCAAAIIIIAAAgggUPgC7QYhCr879AABBBBAAAEEEEAAAQQQCI1Au/utlUvmDXaVd1xMxSY52hkjAbNYaFpKQxDIkYB8oSHtKGdxWqfne9q9d/joMz7NKJqZwRkgrCKAAAIIIIAAAggggAACuRZoNyCR68IpDwEEEEAAAQQQQAABBBCImEC7e6x3n5wzoKLSPVYe6zxJHppbLZGveMQ86G6EBeR/hmZ5mPkj8rjo+fUp774dDz1rXQYHweAMEFYRQAABBBBAAAEEEEAAgVwItBucyEWBlIEAAggggAACCCCAAAIIREyg3X3VW0vm9euj9TGu6yZkJuR4ebxzacQ86C4CHQTkMdFNMvP9Yc/zauuUun+X0Wesz9iJYHAGCKsIIIAAAggggAACCCCAQHcF2g1UdLcQjkMAAQQQQAABBBBAAAEEIibQ7l7q46eu65Mub54YU05CZjweJYGusoh50F0EOi+gnEaZEb8grZ3aWEP8gSGHnFaXcTDB4AwQVhFAAAEEEEAAAQQQQACBrgi0G7ToyoHsiwACCCCAAAIIIIAAAghETKDd/dOSJfPi2ys9USl3qjzi9ptiURExD7qLQC4E6uUR6X/T2rv9fa0eGD36jOaMQgkGZ4CwigACCCCAAAIIIIAAAghsTqDdAMbmdmY7AggggAACCCCAAAIIIBAxgQ73TB8tnb2Lo+KnySzfaWIxNGIedBeBfAqslsem3+jo5uu2HjXzrYCKCAYHoJCFAAIIIIAAAggggAACCGQKdBjMyNyBdQQQQAABBBBAAAEEEEAgYgId7pOWL76hrKJP43Ex1z1dAlRj5Hd9O+wTMSO6i0DeBOT3grV8wWJx2vP+VF9Xdu+IMac2BlRGMDgAhSwEEEAAAQQQQAABBBBAwAgwaMG/AwQQQAABBBBAAAEEEEBgo0CH+6NVL1yzZ7zEOU17+hTZZTBQCCDQ4wKfKlfd3LzBuW7YftNfC6idQHAAClkIIIAAAggggAACCCAQbYEOAxzR5qD3CCCAAAIIIIAAAgggEDGBDvdEq1/+XaXb3HeSo1x5zLM+OGIedBeB8Aoo9bSjveu8+Ofzh+79w1RAQwkGB6CQhQACCCCAAAIIIIAAAtET6DDYET0CeowAAggggAACCCCAAAIRFOhwL7Ryybx9SlzndHn07FSJIvWPoAldRqAgBOR/3s/keWa3b/CcPw0ffcZLAY0mEByAQhYCCCCAAAIIIIAAAghER6DDoEd0uk5PEUAAAQQQQAABBBBAIGICHe5/5s+f7x4+Yt2xKqZ/IIHfAyPmQXcRKHwB5Tyr0+qyx5cPuG/SpEleQIcIBgegkIUAAggggAACCCCAAALFLdBhAKS4u0vvEEAAAQQQQAABBBBAIIICHe57Nj7mud+pYnG+/O0SQRO6jECxCbwlHfqDF19/A4+HLra3lv4ggAACCCCAAAIIIIBAVwU6DIR0tQD2RwABBBBAAAEEEEAAAQRCKtDhfuejF2Zv48ZLZsqUwLO01oNC2m6ahQAC3RRQSq2R//HneM0bZm+938wPA4phRnAAClkIIIAAAggggAACCCBQXAIdBkSKq3v0BgEEEEAAAQQQQAABBCImEHiPs+qFa/aMxfSF8ruhJ8ujnssiZkJ3EYiegHIa5f/129JpNWvYftNfywJAMDgLDNkIIIAAAggggAACCCBQ2AKBgyOF3SVajwACCCCAAAIIIIAAAhEUCLy3Wb107hhXqx8o1z1KZvwG7hNBK7qMQGQEZEaw1p63wFP6sqGjZizO0nECwVlgyEYAAQQQQAABBBBAAIHCFGAApDDfN1qNAAIIIIAAAggggAACGwU63NMsWTIvvp3jJGLK+YFEdb4OFAIIIGAE5MPif9PauWyF49SOHn1Gc4AKgeAAFLIQQAABBBBAAAEEEECg8AQ6DJYUXhdoMQIIIIAAAggggAACCERQoMO9TEvgV3nTYir2M5ntu2METegyAgh0QkBmBb+b1umLV2j3RgLBnQBjFwQQQAABBBBAAAEEECg4gQ6DJgXXAxqMAAIIIIAAAggggAACURLocA+zeHFNbGTfYSfL9L7/Eoido4RBXxFAYIsE3pbfCf5/yz5fdduYMTXpgJKYERyAQhYCCCCAAAIIIIAAAgiEX6DD4En4m0wLEUAAAQQQQAABBBBAIIICHe5d5s+f7x42Ys2kmKv+W6I0e0TQhC4jgEAOBOTD5fW0p//nieWD5k+aNMkLKJJAcAAKWQgggAACCCCAAAIIIBBegQ6DKOFtKi1DAAEEEEAAAQQQQACBCAp0uGepqalRM44efpxydY14fCWCJnQZAQTyI/AP7amauQ+uvFc+Z4KCvkF5+WkJpSKAAAIIIIAAAggggAACWyDQYTBlC8riUAQQQAABBBBAAAEEEEAgVwKB9yqrl179rZij/keiMPvkqiLKQQABBPwC8uHzUtrR/z101Jl/9ef7lgkE+zBYRAABBBBAAAEEEEAAgfAJBA6qhK+ZtAgBBBBAAAEEEEAAAQQiIhB4j/Lh0rnjXcc1gd/9I+JANxFAoJcF5MPoec/x/nubUTMeztIUAsFZYMhGAAEEEEAAAQQQQACB3hUIHFzp3SZROwIIIIAAAggggAACCERQIPDeZNWSeUfElPP/xOOQCJrQZQQQCIfAU2nt/New0Wc8lqU5BIKzwJCNAAIIIIAAAggggAACvSMQOMjSO02hVgQQQAABBBBAAAEEEIigQOA9ydtPzdm9T4X7e8dR34qgCV1GAIFQCui/1tV7F+18yFlvZGkegeAsMGQjgAACCCCAAAIIIIBAzwoEDrb0bBOoDQEEEEAAAQQQQAABBCIoEHgv8sqTvxmwTcXAn7tKnSORlJIIutBlBBAIsYBSqsnzvKs+rF/7q70O/em6LE0lEJwFhmwEEEAAAQQQQAABBBDoGYHAQZeeqZpaEEAAAQQQQAABBBBAIIICgfcg8+fPdw/fZe1pElz5laP1kAi60GUEECgkAaU+1lr//PG3Bl43adIkL0vTCQRngSEbAQQQQAABBBBAAAEE8isQOPiS3yopHQEEEEAAAQQQQAABBCIqEHj/seK52UeUlsYvd7Szd0Rd6DYCCBSqgHJebmpqvmC7A2Y+lqULBIGzwJCNAAIIIIAAAggggAAC+RMIHIDJX3WUjAACCCCAAAIIIIAAAhEUCLzveO/pK3YuKy+7VDYeH0ETuowAAkUkIFHeexobGn+0w8Hnvp2lWwSCs8CQjQACCCCAAAIIIIAAArkXCByIyX01lIgAAggggAACCCCAAAIRFAi833jzb1f07b916U8cV10os37LIuhClxFAoBgFlNPoeHrWZx81XbLbN8/9PEsXCQRngSEbAQQQQAABBBBAAAEEcifg5q4oSkIAAQQQQAABBBBAAAEEWgRM4LdD8DeRSLgfLZ373QHblP3LUeqnBH/514IAAkUlYL7QIp9t5jPOfNaZz7yA/gV+PgbsRxYCCCCAAAIIIIAAAggg0G2BDoMy3S6JAxFAAAEEEEAAAQQQQACBgMCvQfngmblfKy2PXa213g8kBBBAIAoCSqkXmhrSZ2570Iz/y9JfZgNngSEbAQQQQAABBBBAAAEEtkyAAPCW+XE0AggggAACCCCAAAIIbBQIvLdY8kBNxXbDhv0ippyLJNIRBwsBBBCIkoB8MDantfP7FatW/XL0xJr6LH0nEJwFhmwEEEAAAQQQQAABBBDonkDgIE33iuIoBBBAAAEEEEAAAQQQiKBAtnsKteK52YeXlcbnae3sFkEXuowAAgi0CSjlvNnY1HzGdgfMfFwyswV8s+W3lcMCAggggAACCCCAAAIIINAZgWyDNZ05ln0QQAABBBBAAAEEEEAg2gKB9xPLHpo1cMhWVb9VrjpNHvkcuE+02eg9AghEUUAeCa21p6/7+JPkj0ceeeHaLAYEgbPAkI0AAggggAACCCCAAAKdF2AwpvNW7IkAAggggAACCCCAAAIbBbLdR6gPX7zmONfVV0oEYxhYCCCAAAIdBeQDdJXnqXO22Xf6vbI1W8A3W37HAslBAAEEEEAAAQQQQAABBDIEsg3cZOzGKgIIIIAAAggggAACCCDQIhB0D6Fef2bWsAGlVVfJY06PxQkBBBBAYPMC8nj8+9Y1Jc/e46ALV8neQQHfoLzNF8weCCCAAAIIIIAAAgggEHkBN/ICACCAAAIIIIAAAggggEBnBEzgt0PwN5FIuB8unXf6oLKqZQR/O8PIPggggMBGAfOZaT47zWeo+SwNcAn83A3YjywEEEAAAQQQQAABBBBAoJ1AhwGcdltZQQABBBBAAAEEEEAAAQQCAr+CopY/c+XufcrLrpbf+T0cJAQQQACB7gvI7wM/XtfQeOaIg855Q0oJmvkblNf9CjkSAQQQQAABBBBAAAEEilog6BumRd1hOocAAggggAACCCCAAAKdFgicfdYy63fJvAuqyspeIvjbaUt2RAABBLIKmM9S85n6oXy2Mhs4KxMbEEAAAQQQQAABBBBAoJMCzADuJBS7IYAAAggggAACCCAQMYGge4WNv/VbVnWjbKyOmAfdRQABBHpEQKb6PrKuMTmN3wbuEW4qQQABBBBAAAEEEECgKAWCBnWKsqN0CgEEEEAAAQQQQAABBDolkO0eQX24dO4xynGvlVIGd6okdkIAAQQQ6K7Ap9rxvr/NqBn3SwHZHv+cLb+7dXIcAggggAACCCCAAAIIFIlAtsGdIuke3UAAAQQQQAABBBBAAIEuCATdH6hli2sqt+o7dJb8RuX3u1AWuyKAAAIIbKGAPBr62k8+X33hyDE1KSkqKOAblLeFtXI4AggggAACCCCAAAIIFLpA0ABPofeJ9iOAAAIIIIAAAggggEDXBLLdF6j3np49qqKi5FYJQuzetSLZGwEEEEAgFwLy5Zs36us3/McOB89cKuVlC/hmy89FEygDAQQQQAABBBBAAAEECkzALbD20lwEEEAAAQQQQAABBBDIrUBQ8FfV1NTEPloy70cV5fGnCf7mFpzSEEAAga4ImM9g81lsPpPNZ7McG/i53ZUy2RcBBBBAAAEEEEAAAQSKWyDopqG4e0zvEEAAAQQQQAABBBBAwAhkuxdQbz991fZ9yktukn0OhwoBBBBAIFQCj9c1bPjuzgef/b60Ktus32z5oeoIjUEAAQQQQAABBBBAAIH8CWQb9MlfjZSMAAIIIIAAAggggAACvS2Q7T5ArVo698S4cq/W2hnY242kfgQQQACBjgJKOWubtXfmsFEz/ixbswV7s+V3LJAcBBBAAAEEEEAAAQQQKDqBbAM/RddROoQAAggggAACCCCAAAItAkH3AOrNv13Rp9/WZVdIYOG7OCGAAAIIhF9Avqhz0/qPGs/d7Zvn1klrgwK+QXnh7xgtRAABBBBAAAEEEEAAgS0WCBr82eJCKQABBBBAAAEEEEAAAQRCJ5Dt2l8tf+bK3fuUl94twYQ9Q9dqGoQAAgggkFVAvrTzWl1D0wkjDjrnDdkpW8A3W37WctmAAAIIIIAAAggggAAChS2QbRCosHtF6xFAAAEEEEAAAQQQQMAvEHTd35L34dK5x7iOe6NEB/r5D2AZAQQQQKAwBOTDfL3neNO2GTXj/tYWBwV8g/IKo4O0EgEEEEAAAQQQQAABBLos4Hb5CA5AAAEEEEAAAQQQQACBQhIIDP7W1NS4Hy25+leuit1N8LeQ3k7aigACCLQXMJ/h5rPcfKabz3bZGvi53/4o1hBAAAEEEEAAAQQQQKCYBYJuCoq5v/QNAQQQQAABBBBAAIGoCGS71ldvPnHF4H5VZbfLDtVRwaCfCCCAQBQEJBj8yPpk49TdDjv3U+lvtlm/2fKjQEQfEUAAAQQQQAABBBCIhEC2QaFIdJ5OIoAAAggggAACCCBQpAJB1/ktee89PXtURUVJrdZ6xyLtO91CAAEEIi2glHq3vn5DYoeDZy5thQgK+AblRdqNziOAAAIIIIAAAgggUEwCPAK6mN5N+oIAAggggAACCCCAwCYe/bn6+atPLS8veYLgL/9MEEAAgeIVMJ/x5rPefOa39jLrl4KKV4GeIYAAAggggAACCCAQbYGgm4Boi9B7BBBAAAEEEEAAAQQKVyDo+l4tvqGmdM+9hv1RNk4v3K7RcgQQQACBrgrINN9rXntl1XljTq1pkmODZv0G5XW1GvZHAAEEEEAAAQQQQACBkAkEDRCFrIk0BwEEEEAAAQQQQAABBDYjEHRd35L31lN/3K5PeVmtPBJ0v82UwWYEEEAAgSIUkBnBL9Q1NCZ2OeS8Fa3dCwr6BuUVoQZdQgABBBBAAAEEEEAgGgJBA0XR6Dm9RAABBBBAAAEEEECgOASCrulb8lYtmXd4zHXulDlfWxdHV+kFAggggEC3BJTzUdpzpgwbfcbjrccHBXyD8rpVHQchgAACCCCAAAIIIIBA7wrwG8C960/tCCCAAAIIIIAAAghsiUDW4O/K5+d8L66chwn+bgkvxyKAAAJFIiBfBDLnBHNuaO1R1vNHkfSYbiCAAAIIIIAAAgggEGkBAsCRfvvpPAIIIIAAAggggEABCwQO3icSCfXR0nm/jMdj18pUrngB94+mI4AAAgjkUMCcE8y5wZwjzLlCig48j+SwSopCAAEEEEAAAQQQQACBXhIIutjvpaZQLQIIIIAAAggggAACCHRCIOgaviXvmfmzynbZufI6+b3fkzpRDrsggAACCERUQH4X+I633k6ddtCkCxtbCYIe/xyUF1Exuo0AAggggAACCCCAQGEJBA0eFVYPaC0CCCCAAAIIIIAAAtERCLp+b8l7ffHvBw3s1+cemdB1aHQ46CkCCCCAQPcF9JNr19cdv8eYi9a0lhEU8A3K636VHIkAAggggAACCCCAAAI9IhA0gNQjFVMJAggggAACCCCAAAIIdEkg6Nq9Je+tx/+4S78+5Q/IKP0eXSqRnRFAAAEEIi0gJ5HX19c1TNzl8PPeaoUICvgG5UXajc4jgAACCCCAAAIIIBB2gaBBpLC3mfYhgAACCCCAAAIIIBA1gaDr9pa8D16YfUBJvOQ+R+shUUOhvwgggAACORBQ6uMNzRuO3Xa/mc+1lhYU8A3Ky0HlFIEAAggggAACCCCAAAL5EHDzUShlIoAAAggggAACCCCAQM4EsgZ/Vz0/54SSWMnfCf7mzJqCEEAAgegJyBeISmLxR8w5pbXzWc870cOhxwgggAACCCCAAAIIFKYAAeDCfN9oNQIIIIAAAggggEA0BDIH4c16S96qF+deFC+J3+U4ujwaFPQSAQQQQCCPAhXmnGLOLa11tJ1vfHVmnpN8m1hEAAEEEEAAAQQQQACBMAlw8R6md4O2IIAAAggggAACCCCwUSDoOr0lb9686bFjR339CqXUmWAhgAACCCCQawGt9dX3Lf3fc88445p0a9lBj38Oyst1UygPAQQQQAABBBBAAAEEuikQNLDUzaI4DAEEEEAAAQQQQAABBHIgEHSN3pK3eH5N5cidh97lKPXNHNRDEQgggAACCAQLaP23ZW+vnjxmUk2qdYeggG9QXnB55CKAAAIIIIAAAggggECPCgQNLvVoA6gMAQQQQAABBBBAAAEE2gSCrs83Bn/vrek3codh98ueh7XtzQICCCCAAAL5E3hi2XurjhlzXM361iqCAr5BeflrESUjgAACCCCAAAIIIIBApwSCBpg6dSA7IYAAAggggAACCCCAQE4Fgq7NW/KWPPD7QdsP6/OgPPZ5v5zWSGEIIIAAAghsQkAeB/3C+6vqjh498aI1rbsFBXyD8jZRKpsQQAABBBBAAAEEEEAg3wJBg0z5rpPyEUAAAQQQQAABBBBAoL1A0HV5S95rD12+zeAhlQ/Jyl7tD2ENAQQQQACB/AtIdPeVTz9OHbnnkRd82FpbUMA3KC//jaMGBBBAAAEEEEAAAQQQCBQIGmgK3JFMBBBAAAEEEEAAAQQQyItA0DV5S96yRX/cbsjAsoflN3/3yEvNFIoAAggggEBnBLR+/eO1jeNHjjtvRevuQQHfoLzOlM4+CCCAAAIIIIAAAgggkGOBoMGmHFdBcQgggAACCCCAAAIIIJBFIOh6vCXv34tn7dy3X9UiWdkpy7FkI4AAAggg0GMCEt195/P1yXG7jrnw7dZKgwK+QXk91kYqQgABBBBAAAEEEEAAgY0CQQNO2CCAAAIIIIAAAggggED+BTKvxdvW33ziii8N6FP2sNbOtvlvBjUggAACCCDQOQGlnA/W1TWO3+2wc//lOyIz6Ju57tuVRQQQQAABBBBAAAEEEOgJgbZBpp6ojDoQQAABBBBAAAEEEECgRSDzOrxt/YNn5u5dUu4+5Ghna6wQQAABBBAInYByPtrQ4B257UEzXva1LTPom7nu25VFBBBAAAEEEEAAAQQQyLeAm+8KKB8BBBBAAAEEEEAAAQTaCbQFe1tz29ZXPDdnv9Jy9+8Ef9t5sYIAAgggECYB+YKSOVeZc5avWW3nsta8zHXfriwigAACCCCAAAIIIIBAvgUIAOdbmPIRQAABBBBAAAEEEPhCIHNAvG19xXOzDy8riZvHPg/8YneWEEAAAQQQCJ+AOVeZc5Y5d/la13ZOa83LXPftyiICCCCAAAIIIIAAAgjkU4CL8XzqUjYCCCCAAAIIIIAAAl8IZF5723W18oXZ4+Kx+D2ya8UXu7OEAAIIIIBA6AXqm9PNxw/fb+Yiaal97LNNbeMz120+KQIIIIAAAggggAACCORJwA465al4ikUAAQQQQAABBBBAAAERyLzututKZk8dVloSf1D2IfjLPxUEEEAAgUIUqG/a0Hz0dgfMfEIab4O9NrX9yVy3+aQIIIAAAggggAACCCCQBwE78JSHoikSAQQQQAABBBBAAIHICwRdb9s8Cf7O2bflsc+O7ht5KQAQQAABBApWQDnq88YNzeO3O+CsF6UTNthrU3+/gvL821lGAAEEEEAAAQQQQACBHAjYwaccFEURCCCAAAIIIIAAAggg4BMIuta2eeqDZ+buVVru/p3f/PWJsYgAAgggULACSjlrmxq8sdseNOMV6YQN9NrU36+gPP92lhFAAAEEEEAAAQQQQGALBdwtPJ7DEUAAAQQQQAABBBBAoHMCbcHfN5+4Yo+Scvchgr+dg2MvBBBAAIHwC5hzmjm3mXOctLbtnBf+ltNCBBBAAAEEEEAAAQSKT4AAcPG9p/QIAQQQQAABBBBAoPcF7MC3bYldV/9ePGvEgD5lD8vcqK3tRlIEEEAAAQSKQkDObeYcZ8510p+2c19G32x+RjarCCCAAAIIIIAAAgggkCsBAsC5kqQcBBBAAAEEEEAAAQQ2CmQObNt1tWzRH7ft269qkcyS2hYsBBBAAAEEilHAnOPMuc6c86R/befAjL7a/IxsVhFAAAEEEEAAAQQQQCAXAgSAc6FIGQgggAACCCCAAAIIbBTIHNC26+q1hy7fesjAsoclYyewEEAAAQQQKGYBc64z5zxz7pN+tp0LM/ps8zOyWUUAAQQQQAABBBBAAIEtFSAAvKWCHI8AAggggAACCCCAwEaBzIFsu66WPPD7gYOHVD7kKGV+F5EXAggggAACxS8g5zxz7jPnQOls2zkxo+M2PyObVQQQQAABBBBAAAEEENgSAQLAW6LHsQgggAACCCCAAAIIbBTIHMC262rxvTV9tx/W50HJ2AssBBBAAAEEoiRgzn3mHGjOhdLvtnNjhoHNz8hmFQEEEEAAAQQQQAABBLorQAC4u3IchwACCCCAAAIIIIDARoHMgWu7rhbPr6kYucOw+5VS+4GFAAIIIIBAFAXMOdCcC805Ufrfdo7MsLD5GdmsIoAAAggggAACCCCAQHcEYt05iGMQQAABBBBAAAEEEECgRSBzwNquq5qaROzo/ff6szz2uRorBBBAAAEEIi6w49YD+3ytanjF/Mcee023WthzpqXJXLf5pAgggAACCCCAAAIIINBFAS6uuwjG7ggggAACCCCAAAIItApkXkv719XqF+fOdl33DLQQQAABBBBAYKOA53nzhu47Y6as2SCw2eBfDlo3ebwQQAABBBBAAAEEEECgCwI8AroLWOyKAAIIIIAAAggggECrgD/Ya7L862rVi3N/QPCXfysIIIAAAgi0FzDnRnOOlNx25832e7XblrGJVQQQQAABBBBAAAEEEOiMgP+CuzP7sw8CCCCAAAIIIIAAAlEXCLqGtnlqxbNXnVBWVnqn1trmRd2L/iOAAAIIINAmIL8JrBsbm6Zsd+DZd0umnf1r07b9fNv8eSwjgAACCCCAAAIIIIBAJwRcXVPDLOBOQLELAggggAACCCCAAAIiEBTUtXnq3WevPKC0tORGgr/8W0EAAQQQQCBYwJwjzbnSnDNlj7ZzaMDedlvAJrIQQAABBBBAAAEEEEBgUwJu8h9PLUtNGncSgeBNMbENAQQQQAABBBBAAIG2QWo/hR2cVm89/sedK8rK7pWNFf4dWEYAAQQQQACBDgIV5pxpzp2ype1c2mGvL7YFbCILAQQQQAABBBBAAAEEsgnI7F/9Jc/zbjeB4PpE9VQCwdmoyEcAAQQQQAABBBBAoJ1A24D10/fUDO5bVf5XR+sh7fZgBQEEEEAAAQSCBeScac6d5hwqO7SdU4N3JhcBBBBAAAEEEEAAAQS6IuB7/LP+Ulrr25LLnnyNQHBXCNkXAQQQQAABBBBAIAICdmDadtWuq5t/d1H5bjsO/bMMXe9uN5IigAACCCCAQCcE5NxpzqHzaqaXyd5t59aMI21+RjarCCCAAAIIIIAAAgggkE3AFwBu3UU7e7QFgk8ce7JOJGLZDiYfAQQQQAABBBBAAIEICGQOPNt1NWrUKHfCmF2vlTHrQyPgQBcRQAABBBDIg4A69Nhvff1P5pwqhbedYzMqsvkZ2awigAACCCCAAAIIIIBAkICqO3GsDtrQlqfUGzGlflmuB9yhamvTbfksIIAAAggggAACCCBQ/AKZA852vSVdveTqX7pK/bT4GeghAggggAAC+RXwtP7N0NFn/qK1FjtWZVNbeea6zSdFAAEEEEAAAQQQQAABn8DmA8B2ZwLBVoIUAQQQQAABBBBAIBoCNthre2vXW9KVz885NR6PyexfXggggAACCCCQC4Hm5vT3h+9/1g2tZdlgr01tFZnrNp8UAQQQQAABBBBAAAEEWgU6HwBuI1NvOjIjuMoZcDszgttQWEAAAQQQQAABBBAoLgEb7PX3yuS15L/77BVjKkvLFsgIdNy/A8sIIIAAAggg0H0BOck2pxo3HLnjQWc/1lqKCfYGBXyD8rpfMUcigAACCCCAAAIIIFBEAlpr1Y0AsBUgEGwlSBFAAAEEEEAAAQSKSiBb8Nd0Ur204Dfbb7vNoOdlOHrrouo1nUEAAQQQQCAMAsr56IMP1+y/z1E/fV+aYwO9NvW3MCjPv51lBBBAAAEEEEAAAQQiJWACv/VTxh2n087P3e73XO/maO/mlLP2X3UnVp+iE4lY98viSAQQQAABBBBAAAEEQiGwyeDvvJrpZcOHDLyL4G8o3isagQACCCBQjALyBStzrjXnXOmePS/b1N/joDz/dpYRQAABBBBAAAEEEIiEgK6pcVOJsZOTk8a94qX13drR+2zBDOD2Zkqpf2ulf1WlB93Ko6Hb27CGAAIIIIAAAgggUDACmYPJdt2kavWSq+e4Sn2/YHpDQxFAAAEEEChQAU/ra4eOPvMsab6Z6Wtn+9rU9ipz3eaTIoAAAggggAACCCBQ9AJmcm6DWndS2tM/k0vmL/k7nLMAsC20LRC856G3qZqaZptPigACCCCAAAIIIIBAyAVssNc20663BH9XPjtnWrw0dq3dSIoAAggggAAC+RVobkp/f/iBZ90otRAEzi81pSOAAAIIIIAAAggUkIDM+I0n//HUd5Ry/lMe+7xrUNNzHgC2lUilb2nH/VXVyINvJRBsVUgRQAABBBBAAAEEQipgg722eXa9JX37iStG9akqf1zGn8vtDqQIIIAAAgggkG8B1VCXbDh858POXdpak53xa1PbgMx1m0+KAAIIIIAAAggggEDRCMiM31L5ad5pMj71U62dnTbVsbwFgG2lLYFgrS6u+sohtxAItiqkCCCAAAIIIIAAAiESsMFe2yS73pI+d//FW43YbqsXZGUHuwMpAggggAACCPSMgER231u+4pP9DjjmZ5+01miDvTa1Dclct/mkCCCAAAIIIIAAAggUtICeNq08lfrgNEfrH8uM3+070xm3MzttyT4Sgd5FItHXp/7x1OvJSdXf09Onl2xJeRyLAAIIIIAAAggggEBPCSTkt1Qk+Hsrwd+eEqceBBBAAAEE2guYc7A5F5tzcvstrCGAAAIIIIAAAgggUNwCevrEytSk6gtSdSve1p53VWeDv0Yl7zOAM+nlN4Lfc5S6tLJy2+vUjTc2ZG5nHQEEEEAAAQQQQACBHhRomeXrq8+um1StevHqX8Vc9WPfdhYRQAABBBBAoBcE0p7+7bB9z/y5VG1m+trZvja1Lcpct/mkCCCAAAIIIIAAAggUjIA86rlP0lk7Q656L5JL36270/AeDwDbRsqjoVdrpS6r0gOvVrW1dTafFAEEEEAAAQQQQACBHhKwwV5bnV1vCf6+/9yVx5SXltXKtyttvt2PFAEEEEAAAQR6WEAmFOiGpsbE9gecc79UTRC4h/2pDgEEEEAAAQQQQCD/Avrko/qlmjacI09XvkAueQdvSY29FgBua7RSa5Sj/lhZUnqluv3BtW35LCCAAAIIIIAAAgggkD+BzKCuXW8J/i57dNYeW/evekZGl/vlrwmUjAACCCCAAAJdEZCT9PqPPkseNPIbF74uxxEE7goe+yKAAAIIIIAAAgiEVkBPPXpgqrnxPO3p86SRA3LR0N4PAH/Ri89dR82pqHBnqVse/uiLbJYQQAABBBBAAAEEEMipgA322kLteku6+IaaviP3GvaMbPyy3YEUAQQQQAABBEIj8M9lr6w6aMypNZ+3tsg+9tmmtqGZ6zafFAEEEEAAAQQQQACBUAjoU8YOTqWcC+WJyWc7Wud0EkKYAsAt2PJo6Hqt3WvdsvjvKm9bsCIU7wCNQAABBBBAAAEEECgmARvwtX2y6yaV3/2de33Mdb9jN5IigAACCCCAQLgE0p53y7B9Z3xPWsUs4HC9NbQGAQQQQAABBBBAoBMC+jvjt65v8C6Si9mz5KfHqjpxSJd3CV0A2PZAftulyVH65pgqvaT8rgVv2XxSBBBAAAEEEEAAAQS2QMAGe20Rdr0l+Pve87MT5fH47XYjKQIIIIAAAgiEU6ChuXnqDvvPrJXWEQQO51tEqxBAAAEEEEAAAQQyBJJTxg2Xxzz/UGl9hvzOb0XG5pyuhjYAbHspgeC0XMnfVRKP/brsjoXLbD4pAggggAACCCCAAAJdFLDBXnuYXW8J/r688HfbDx/Sb6lcgA+0O5AigAACCCCAQDgF5Alya1d+vH7U3hN++L60kCBwON8mWoUAAggggAACCCAgAvWJ8SM8x/uhXLV+Tzu6rCdQ3J6oZEvqkKnPMXnu9dTmDc2vJhNj70kmxo/akvI4FgEEEEAAAQQQQCCSAjbYaztv11vSRCLhDh3U90aCv5aHFAEEEEAAgXALmHO2OXebc3hrS9ud232tt/m+LBYRQAABBBBAAAEEEMi/QOPk8V+pm1R9qwR/35R454yeCv6anoV+BnAQv8wKXujGYhdX3LnwyaDt5CGAAAIIIIAAAgggkCGQOfhr1m2eWvn87B/H4/FfZRzDKgIIIIAAAgiEXKC5ufnnw/ef+VtpppkFbF7+2cAbc77YZtdJEUAAAQQQQAABBBDIm0AqMfZAuSj9qVyZfktSO/6Ut/qCCi7IAHBbR5TzhOO6F/e5a9HDbXksIIAAAggggAACCCDQXiDzQtuum1S98egfRg3sX/GkXJCXtD+MNQQQQAABBBAIu4CczDes/az+0N2/cf5Saas/+GuW/a/Mdf82lhFAAAEEEEAAAQQQ2GIBme07Qa5IJfCrD9/iwrawgMIOALd2XjlqiQkEV9618H6ZHcwF/Rb+o+BwBBBAAAEEEECgiARssNd2ya63BH/nz5tedcToUS/Kxt3sDqQIIIAAAgggUHACbz62ZOm+k864JiktN+NCdmzIprZDmes2nxQBBBBAAAEEEEAAgW4J6Joat/4fT5+glfcT+ZmSr3erkDwcVBQB4DYXpf7hKvXrCj1gvqqtTbfls4AAAggggAACCCAQVQEb8DX9t8s2dVe/ePVc11WnRRWHfiOAAAIIIFAsAp6nrxu675kzpD9ea59ssNemJtu/3LobCQIIIIAAAggggAACXRfQiURpyvnsO9rxfiQzfnfvegn5PaK4AsCtVjIL+N+O415S6fS/RQLBTfklpHQEEEAAAQQQQACBkArYQK9tnl03qXr/uSuPKSsp/bPdSIoAAggggAAChS3QuKHpxO0POOd+6YUJ9Npgr01t5zLXbT4pAggggAACCCCAAAKbFdDfGV9V3+hN11r/QGb8brvZA3pph6IMAFtLpZwPZHRvVkXfqmvV9X/53OaTIoAAAggggAACCBS9gA322o7a9Zbg75IHLhm+/bCBL8n14iC7AykCCCCAAAIIFLaADMCteXPVqn0OmVizUnpCELiw305ajwACCCCAAAIIhEpAJyYMSun0OXKReY5cag4OVeMCGuMG5BVNlom8e9q5LLk++V7yxLEX65O+vU3RdI6OIIAAAggggAACCGQTsMFeu92utwR/R44c6W43dMD1BH8tDykCCCCAAALFIWDO7bsOHXq9OddLj1rO+609s9cCtqOZ6zafFAEEEEAAAQQQQACBdgLJKeOG1yXGXZZymt/Vjq4phOCv6UBRzwBu9w6ZziqnQS7/b4rp+O/LaxfKY6J5IYAAAggggAACCBShgH9Q1y63pR88P+eCknjs0iLsN11CAAEEEEAAARHY0Jz+0bb7n3W5LNrHPWemxsnmmWVeCCCAAAIIIIAAAgi0E2iYOm63dLP5fV91ijzuubTdxgJYiVQA2L4f8hvBnlzm3+3E1aVVdy5aYvNJEUAAAQQQQAABBApewAZ6bUfsuknVskd+v/uQgf2Wyphvud2BFAEEEEAAAQSKTUA1fLx2/aiR1Re9IT0zgV4b7LWp7XDmus0nRQABBBBAAAEEEIiogMz2/Zqj9U9lUumJEvgt2CcpF2zDt+TfnXnDZJp2Qjd7L9Ylxv69bvK48VtSHscigAACCCCAAAIIhELABnttY+x6S/DXPA5yyMC+cwn+Wh5SBBBAAAEEilVAl5tzPo+CLtb3l34hgAACCCCAAAK5F6ifNP6wZKJ6gaO9l2TsaFIhB3+NTiRnAAf9s5BZwf8nf5dW6AHzVW1tOmgf8hBAAAEEEEAAAQRCLWADvqaRdrkl+GvW33t69vfLy+OzQ90DGocAAggggAACORNoaGieucPBM6+VAu0sYDvj16amLv9yzuqmIAQQQAABBBBAAIHwC0iQV6WmVB/tpJ2fykXhQeFvcedbSAA4w0qmdL/jKPf3lQPKb1DXPJDK2MwqAggggAACCCCAQDgFbMDXts6utwSAlzxwyfAdhw98RS7m+9sdSBFAAAEEEECguAXkIuCzd1eu3Wv0xJ+slJ6aQK8N9trUAmSu23xSBBBAAAEEEEAAgSIU0NOnlyTXvTVVft/3Innc81eKsIvMAM76pirnE+W4V1ZWeLPVzX//NOt+bEAAAQQQQAABBBDobQEb7LXtsOstwV/JVKtfvLrWddUxdgdSBBBAAAEEEIiGgOfp+4fue2ZCemsDwDbYa1MLkblu80kRQAABBBBAAAEEikRAJ6r7Jx1nunL0eVo72xZJtwK7wQzgQJYvMuWx0EmZAX5drLRkVsXtf3v3iy0sIYAAAggggAACCIREwAZ8TXPsclvw992nrjquoqLkrpC0lWYggAACCCCAQA8L1NdvmLzjIWffK9VuKghMALiH3xeqQwABBBBAAAEEekogNWX89p6XPs/xnOlSZ9+eqrc36yEA3El9GUFsljuBO0vkd4LLah95tZOHsRsCCCCAAAIIIIBAfgVswNfWYgO/Zl3dM/eiQYfsu+vLjlJD7Q6kCCCAAAIIIBAxAa1XP/Xiv/c+fsbv10jPbaDXBoP9GHabP49lBBBAAAEEEEAAgQIVqJs8YW8n3XyRDBZNkQu9eIF2o1vNJgDcDTb5h7LAVe5vK2oXPd6NwzkEAQQQQAABBBBAIDcCJtjrf9l1k7b8rXphzrxYLHaqfyeWEUAAAQQQQCB6Aulm7/ph+884U3puA7822GtTi5K5bvNJEUAAAQQQQAABBApEoCExflyzk/6hXPmNK5Am57yZBIC3gFQ56nkVcy6t+PIh96maGm8LiuJQBBBAAAEEEEAAga4L2ICvOdIutwR+zfpbT15xeL+q8oe1/J5H14vmCAQQQAABBBAoJgH5iS+99rPk+N3HXPC49GtTQWACwMX0xtMXBBBAAAEEEIiMgK6piTe89vQUT3sXye/77h2ZjmfpKAHgLDBdylbqDaXV7yqHxW9RVy5o7NKx7IwAAggggAACCCDQHYHMoK4N/Jqy1BU1J1dOmXjYUlnetTuFcwwCCCCAAAIIFKXAv+984IlR59bclpLe2UCvDQb7O2y3+fNYRgABBBBAAAEEEAihgP7et/vWr6+frpU+TyYBbB/CJvZKkwgA55RdfaRcfVVlrHKuuuOBT3JaNIUhgAACCCCAAAIIWIGg4K/ZZoPA6oPn51xcEo/90B5AigACCCCAAAIIGIENzenfbbv/WT+TRRv4tcFem1qozHWbT4oAAggggAACCCAQAoFU4lvbOqr+XE+rMxyt+4egSaFqAgHgPLwdSjkNMv54czzuXl52x8P/ykMVFIkAAggggAACCERZwB8Atsttwd9/PTxr78GDq56VUdt4lJHoOwIIIIAAAgh0FJALhuZPP00e+KXxF74sW02Q1/6Znf1BX/+y2cYLAQQQQAABBBBAIAQCjZPHf6U5rS9ylDdVHvVcEoImhbIJbihbVeCNkn9w5TLNfHrzhvRryUT1X+sT479R4F2i+QgggAACCCCAQFgEbMA3sD277rqrO2hw1RwZsSX4GyhEJgIIIIAAAtEWMNcI5lrBXDNsRmKT1xybOZbNCCCAAAIIIIAAAjkWMLE2ibkt2JBOv6od77sEfzcNzAzgTfvkbKvMCn5ZazWrSg28U9XWNuWsYApCAAEEEEAAAQSiI5A5EGvXTdry9/4zV55SVlb6p+iQ0FMEEEAAAQQQ6I5AY2PT6dsfdM7NcqyZ6Wv/TFFm2f/KXPdvYxkBBBBAAAEEEEAgjwK6piZe/9rTCa29iyTg+/U8VlV0RRMA7uG3VDlqlXb0lVUqPk/VLlzTw9VTHQIIIIAAAgggUMgCNuBr+mCX24K/82dd0PeIw/ZY5ig1tJA7SdsRQAABBBBAoAcEtF792BOvj5x04eWfS202AGyDvTY1DfEv90DDqAIBBBBAAAEEEEBAJxJ96vXa0yWedr5cjO2ISNcFCAB33SwnR0ggOOW4zo2xuPpD+e2L3sxJoRSCAAIIIIAAAggUr4AN+Noe2nUbAHY/eH7uL0vi7o/sDqQIIIAAAggggMCmBNLN6d8O2/+s/5J9PPkzgV4b7LWpPTxz3eaTIoAAAggggAACCORQIDll3HC5Mjtbe94MKXZADouOXFEEgHv5LVdKeXJ78YDrurMq5j/8RC83h+oRQAABBBBAAIGwCtiAr2mfXbbBX/Xi/b/cecftt35ZrqvKwtoB2oUAAggggAACIRNQTuO773+0977H/OJtaZkNANtgr01No/3LIesEzUEAAQQQQAABBApfQAK/o7Wnz1daT+K3fXPzfsZzUwyldFdAa+3KscekvfQx8uPVSyUgfFnFngfXqpqa5u6WyXEIIIAAAggggECRCdiAr79bNq8lCLzt8CGXEPz187CMAAIIIIAAApsVkC+OtVxDOM7k1n1NoNdcW2QGfIPyNls8OyCAAAIIIIAAAghkF5DHPMfq1dpjJeB7vm72DjF7Zl6EZT+aLZsTYAbw5oR6YbvcVazQSl1R5TjXqNpHPuuFJlAlAggggAACCCAQFgEz4Op/2XWTtvy9sfjywwf0q1zk34llBBBAAAEEEECgswLr1qfG7T7mgsdlfzPmaP/M4ZljkJnrZh9eCCCAAAIIIIAAAl0Q0Inq/vWOPk0Cv+fKxdWOXTiUXbsgYGaf8gqZgPyD387R+tKUo1fUJcb+oT4xfkTImkhzEEAAAQQQQACB3hAwAV/zagn8mvSII46I9etbeVlLLv9BAAEEEEAAAQS6IWCuJcw1hRzado3RWoy99uhGqRyCAAIIIIAAAggg4BdoSEzYNTmp+goT+/K0cxnBX79O7peZAZx705yXKI+FTkuh96mYO6vyzoefyXkFFIgAAggggAACCIRTIHPQ1a7bwVn3vWevOq28tGROOJtPqxBAAAEEEECgUAQamjactcOBZ18n7fXkT8Yj22b/mmX/K3Pdv41lBBBAAAEEEEAAgQyB+kkTxng6fb5kf6v1Z1Ez9mA1HwIEgPOhmscyJRj8nNJqVoUacI+qrTWBYV4IIIAAAggggECxCtiAr+mfXbbBX3Xz3DMHTthvn39IxpBiBaBfCCCAAAIIINAzAhLV/XjhCy995ZQZV6+VGm0A2AZ7bWoa41/umcZRCwIIIIAAAgggUGAC+pyjypKrNkyVSycT+N2rwJpfFM0lAFygb6NSzjsy2HllRVXf69WN960r0G7QbAQQQAABBBBAIJuADfja7W2BX8loWV7x3OxLS0vi59kdSBFAAAEEEEAAgS0RaNrQ/MftDpj5IynDHwC2y/6iCQL7NVhGAAEEEEAAAQRaBfRJ394mlU7N0J4zQy6ptgam9wQIAPeefU5qlhnBSbktuSWuSq4sq13wWk4KpRAEEEAAAQQQQKD3BfwBYLvcFgR+4S+X7D5iu0H/K48OKu39ptICBBBAAAEEECgGARljaVq+Ys3X9/v2T96Q/tjArw322tR01b9cDF2nDwgggAACCCCAwBYJ1CXGfU1p53xH6ZMYq9kiypwdTAA4Z5QhKEipR5Ryr6jc86AHVU2N+c0aXggggAACCCCAQCEK2ICvabtdbgv+mrzVS66+x1Xq6ELsHG1GAAEEEEAAgfAKeFo/OHT0mcdLC/0BYBvwtanpgH85vB2iZQgggAACCCCAQJ4EdE2Nm/rnUxN1WgK/jj4iT9VQbDcFCAB3Ey7MhylHva1c56oK7Vyvah/5LMxtpW0IIIAAAggggECGgA342my7bgPA7huP/eHwAX0rHrY7kCKAAAIIIIAAArkUWPd5/fjdjzj/cSnTfLneBoJNFZlB38x1sw8vBBBAAAEEEECgqAX0977dt74uearWzrnyt0tRd7aAO0cAuIDfvM01veXx0Mq5Ka6cq8rueuSfm9uf7QgggAACCCCAQAgEbMDXNMUu2+CvSd3VL8591HXdg0LQVpqAAAIIIIAAAkUo4HneM0P3nfEN6Zo/enZqmgAAQABJREFUAGyDvTY1PfcvF6EEXUIAAQQQQAABBL4QqE+MH5HW3jkyWnOao3W/L7awFEYBAsBhfFfy0SblLJJZwVdUfvnQv/F46HwAUyYCCCCAAAII5EDABnxtUTbwa9Zd+VNvPjZrQv++VX+xO5AigAACCCCAAAL5EFi3vm7i7mN+YJ44YoK89me2zHJm0DdzPR/NoUwEEEAAAQQQQKDXBOqnTDjUa07L7/s6x8jv+8Z6rSFU3CUBAsBd4ir8nZVy3lJaXVWhnBt4PHThv5/0AAEEEEAAgSIT8AeA7bINAptUZv9e/ZTrqtFF1m+6gwACCCCAAAIhE/A8vWTovmceIs1iFnDI3huagwACCCCAAAL5F9DTJ1am1jRMdZR3tjzmee/810gNuRYgAJxr0QIpTwLBdfKd1ZviJbGryu54+F8F0myaiQACCCCAAALFK2ADvraH/sBvy/Ibj/5h4oD+FX+2O5AigAACCCCAAAL5FFj3Wf2Ju3/j/AekDjvz15/6q2YWsF+DZQQQQAABBBAoWIGGyUft0qybZjhafU8e8zywYDtCw1sepQdDBAXkGxt95O5kZvOG9GvJE6sXJhPVR8vU/cyB1wjK0GUEEEAAAQQQCIFA5jWJ2mmnndz+/cp/EYK20QQEEEAAAQQQiIiAufYw1yDS3Q7XJhEhoJsIIIAAAgggEAEBExuqS4w9UuJEf017G96Q55/8gOBv4b/xzAAu/PcwZz1QSv1bOfJ46NL4Deq2BetzVjAFIYAAAggggAACmxYIGlQ1eW1/y5/44/FVVeV3bLoYtiKAAAIIIIAAArkVSCYbThpx2Hn3SKn+2b922V8Zs4D9GiwjgAACCCCAQOgF9LRjB9TX1U2TqYEzJQi8a+gbTAO7JGC+xcgLgRYB8z+4p70/pJqaPpBvelzZkDhyD2gQQAABBBBAAIEeFugQDD7wwANjFZXl/9XD7aA6BBBAAAEEEEDAqags+4W5FhGKDtco8CCAAAIIIIAAAoUo0Jio/mpy0tirU3V1H3iOvpzgbyG+i5tvMzOAN28U2T3kzkY7Si2Uvysr73p4gcwQ5tuskf3XQMcRQAABBBDIm4B/MNUum9T+uW8/ecXkPpVlN+WtBRSMAAIIIIAAAghsQqAu1fjdnQ899y7ZxZM/O/vXjpHY1JTgXzbrvBBAAAEEEEAAgVAI6JqaeP2yZ471HO9sebzz4aFoFI3IqwAzgPPKW9iFy12Lkm9+HKk978FkYtzrqcS488wjAQq7V7QeAQQQQAABBApIQE2cOCrWp6LsZwXUZpqKAAIIIIAAAkUmYK5FzDWJdMt+Wa3Iekh3EEAAAQQQQKBYBfRJ395GZvv+IrXsyXc8na4l+Fus73THfjEDuKMJOZsQkN8ITjmuvt1R8blVdy38303syiYEEEAAAQQQQGBzAv5BVLtsUvvnvv3EH07pU1VxzeYKYjsCCCCAAAIIIJBPgbpk/fSdDzv/ZqmDWcD5hKZsBBBAAAEEEMiJQCox9kDPUWfLAMuJMtGvNCeFUkhBCRAALqi3K1yNlWDw8zJLeE5Vn+3mqxtvbAhX62gNAggggAACCBSAgA36mqbaZZOap9SoROKI0qt+fNIrSjkjzA68EEAAAQQQQACB3hLQ2ll+9m/v2Ku29rEmaYN51LMNBJsmmXX78i/bPFIEEEAAAQQQQCDvAnratPJk3YqT5Nc8z5Zrl6/nvUIqCLUAAeBQvz0F0jil1rjaud5VsXnltQv/XSCtppkIIIAAAggg0LsCNuBrWmGXTWr/3HeevvK0yvLS2b3bTGpHAAEEEEAAAQQ2CqQammbudPA518maDf6aYK8N+NrU7OxfNuu8EEAAAQQQQACBvAnUTzlyJ+1tmOF56jS5DBmct4oouKAE+A3ggnq7QtpYrQd5jr4orZvfSCaqH0pOrj5GJxLmt3F4IYAAAggggAACnRVoFwSW2b8llWUlP+nsweyHAAIIIIAAAgjkW6CivPTH5hpF6rFfWDNV2muYfFdP+QgggAACCCCAQJuAPNZZNSTGj5OYzP1euvktz3N+RPC3jYcFEWAGMP8M8iKglHpfvu96jValf+pT+7fVeamEQhFAAAEEEECgUAX8A6V22Q6kmtT99xOXn9SvqvKGQu0g7UYAAQQQQACB4hRYn0yduuthF9whvWMWcHG+xfQKAQQQQACBUAvoaccOqE99foqnnbMkBrNHqBtL43pVgABwr/IXf+Xym30b5Iso98aUmlNRu+jx4u8xPUQAAQQQQACBTgjYoK/Z1QZ+zXLLb/+a9MMXr35WueprJpMXAggggAACCCAQFgHt6f/bZt8zD5T22ACwSc3LPPbZ/+hn/3LLDvwHAQQQQAABBBDorkBy8th9nbQ6U46foh1d2d1yOC46AgSAo/Ne935PlfqnjOrOqXCcW1TtI5/1foNoAQIIIIAAAgj0gkBm8Nc0wQaBTeoue+TSMUMG9l/QC22jSgQQQAABBBBAYLMCH6/97KiR1T9aLDvaILA/+OsP/PqXN1suOyCAAAIIIIAAAn4B+anNPiln7VT5itmZEvTdx7+NZQQ2J8BvAG9OiO25E9D6y57WV6Yc5wN5Lv28usQ4ZvXkTpeSEEAAAQQQKFQBGxBuCwIP6tf3/ELtDO1GAAEEEEAAgeIXaL1Wabt2ae2xvaYpfgB6iAACCCCAAAJ5FTCxk+SJ1XOTes1K+a3feQR/88pdtIUzA7ho39rC6Jj8VvCz2lFzq4bG56srFzQWRqtpJQIIIIAAAgh0U8A/MGqX/YOn7rN3Xzxy1xFDlsgNjt3ezao4DAEEEEAAAQQQyI+AjGXofy//ePSBJ/xsmdTALOD8MFMqAggggAACkRKQ2b4VSWfdZOXoM2RM5IBIdZ7O5kWAGcB5YaXQzgrIB9mBjvZuTq7a8EEqUX1pw9TqnTt7LPshgAACCCCAQNEItAWBd9xu4HkEf4vmfaUjCCCAAAIIFKWAuVaRa5ZzpXNt1zBF2VE6hQACCCCAAAJ5F2icXP3lusTYP5jZvhIruUGuMwj+5l09GhUwAzga73PB9FLunGRCsFroKHdO5Z4HPahqasw3aXkhgAACCCCAQOEL+Gf02mX/oKn74J9+MHTfr+/+ulwNlBV+d+kBAggggAACCBS1gHIaX/zfN/Y4+vTLVks/mQVc1G82nUMAAQQQQCC3Avqco8rqP2w+3tPemTIGclhuS6c0BDYKxIFAIEwC2nx7VusjHZ0+MrXsqfeSiXHXqdL49ZW3LVgRpnbSFgQQQAABBBDImUBbEHivkTufRfA3Z64UhAACCCCAAAL5FJAvrLVcuzjOf0s19sttMqzBCwEEEEAAAQQQCBZoSEzY1XPS05Orm06V8Y+tgvciF4HcCDADODeOlJJHAfltnbR8GC6QmcHXVjoDHlS1tek8VkfRCCCAAAIIIJB7ATsoakq2y22BX8lzf/3T4/qcfuKRb8ryQLMTLwQQQAABBBBAoAAE1v7pzw/t9p+/ubdO2sos4AJ4w2giAggggAACPS2ga2ri9a89dYyn9RlKO9Utk+B6uhHUF0kBAsCRfNsLt9MSDF4prb/BjcX/VHHnQ+8Ubk9oOQIIIIAAApESsEFf02m7bFK3dd1d/tSVM6oqSmeZHXghgAACCCCAAAKFIpCsb7pwxCHnzJX22gCwTU0X/DOC/cuF0j3aiQACCCCAAALdFKhPVO/gKef7coVwmnb0sG4Ww2EIdFuAAHC36TiwNwVkxNh8UWaRUu61FQN3ul9dc82G3mwPdSOAAAIIIIDAJgVs0NfsZJb9f+5ee+0Vf/i6s151XTVik6WwEQEEEEAAAQQQCJmA5+nl40+b89VXXnmlWZpmg78m2Gv/bIsJAFsJUgQQQAABBIpUQCcSsZS75ijHU2dKF4/SWpsvvvNCoFcECAD3CjuV5lZAfeS6+kY37v6p/PZF5tGRvBBAAAEEEEAgPAKZwV/TMhsANjdC7huPzjp+QP+q28LTZFqCAAIIIIAAAgh0XmDdZ8mTd//GhffIESYA7A8Cm0L8gV//stnGCwEEEEAAAQSKQCA5Zdxwx/NOc7T6vgR9ty+CLtGFIhAgAFwEbyJd8Auox2LKubZ8aMnd6soFjf4tLCOAAAIIIIBArwhkBoBt8NekLQHg1UuuXuwqtX+vtI5KEUAAAQQQQACBLRSQ3/R7fujoM8dIMZkBYGYBb6EthyOAAAIIIBBWAfPbvqllT39Tvut1mrTxaAn8xsLaVtoVTQECwNF834u/10qtkblFN5fokmvLahe8VvwdpocIIIAAAgiEUiAz+GsaaQPALcHf5x/49T4jhg9+JpStp1EIIIAAAggggEAnBZav/PSg/Sf+50uye2YQ2JTgn/nrX+5k6eyGAAIIIIAAAmERaJg6bjdvg/6e1s53+W3fsLwrtCNIIB6USR4CBS+g9SC5vTp/g9N0fvLEsc/Ik/avqRpQWauueSBV8H2jAwgggAACCBSugA3+2tTZbusB3yvc7tByBBBAAAEEEEBgo0DrNc05stZ2ndNqQ8CXfyQIIIAAAggUuID8tm9Fg1p3Qlrr05ubvMMLvDs0PyICZuYFLwSKWkDutA6S79/emFxbvzI5qXp2XWLc14q6w3QOAQQQQACBcAiYwU/78i+bvJb1X//0uKqSWGyy3YkUAQQQQAABBBAoVAFzTWOubVrbH3jtk2VboXaZdiOAAAIIIFD0AsnJE75uYgpJZ+2qtOfd4mhN8Lfo3/Xi6SCPgC6e95KedEFAKfWiDD1fW6kH3qFqa+u6cCi7IoAAAggggEDnBPwDn2Y5889d/uQfT6mqLJ/XueLYCwEEEEAAAQQQCLdAMtVwxohDz7tZWmkeA21m/mb+2Q6YfF4IIIAAAgggEEIBPe3YAalU8mQJ9p4uv+vLZLIQvkc0qXMCPAK6c07sVWQC8sG9r9yG7ZtSa2YlJ429U4akr6m66+8vFlk36Q4CCCCAAAK9JZAZ/PW3oy0QXF5exuOf/TIsI4AAAggggEBBC7Re29winbDXQv5Ar8mz6/7lgu4zjUcAAQQQQKAYBCReoBpOGnd42nNOTyU/P0F+37e8GPpFH6ItwAzgaL//9N4noJTzsqNcmRXsyqzghWt8m1hEAAEEEEAAga4J2EFPc5RZtuvm50fMsvvs3RfvuctOWy2VZV4IIIAAAggggEDRCLz1ziejDjzhZ69Jh+wsYJOal50NvHHti2CwXSdFAAEEEEAAgR4WSE4ZN1zO2NMc7X1Pgr679HD1VIdAXgWYAZxXXgovJAH5gN9bPuivSjn6srpE9X0yPH1DlR74iDwiOl1I/aCtCCCAAAIIhFTABoFbAsLbDevP7N+QvlE0CwEEEEAAAQS6L9B6jfNDKcFc85igr027XyhHIoAAAggggEDOBHRNTTz1z6eOdjx9mpPW35TZv7GcFU5BCIRIwMzC4IUAAj4B7egyeb7/ZDkBPJRy1rybnDTu1w2Tx+7u24VFBBBAAAEEEMguYAO9Zo/MZbOuZkw9ury0tOSk7EWwBQEEEEAAAQQQKEwBc41jrnWk9S3XPa2p7UzmtZHNJ0UAAQQQQACBPAs0TB23W+rE6ktSy558X6f1fTIhbCLB3zyjU3yvCvAI6F7lp/JCElBKPS1PrLyhsm/5fHX9Xz4vpLbTVgQQQAABBHpQIHNg0z/4ab586L6x+PLJA/pV3tCDbaIqBBBAAAEEEECgxwTWrU+duvuYC+6SCs3jn+2joO0joE1qX/5lm0eKAAIIIIAAAjkS0IlERdJZd6Kcjk+X53IclqNiKQaBghDgEdAF8TbRyDAIyLeBDnac9MGp9akrkpOq/+y6zg3ldyx6XALD3LCF4Q2iDQgggAACYRDIDP7629QWCO5bVX6qfwPLCCCAAAIIIIBAMQm0XuvMlz7Z6x//uIHJs+v+5WIioC8IIIAAAgj0qkAyMX6UBH1PSzprp8rTPvv3amOoHIFeEmAGcC/BU21xCEjwd7ncz93olpTcVHH7394tjl7RCwQQQAABBLotYAYx7cssZ/65j9/6i9323HP7l+WLVf597TGkCCCAAAIIIIBAwQuYL4q/9tr7ex/+H798UzoTNAPYBoBNX/3LBd93OoAAAggggEBvCdQlvjnUdRqneo6aJkHfr/ZWO6gXgbAIMAM4LO8E7ShIARm8HiH3av/jNTXW1J1Y/WjM0TeUq0H3qNra+oLsEI1GAAEEEEAgNwKZwd22QPCOI4ZMI/ibG2RKQQABBBBAAIFwCphrHXPNI637ufzZ6yJ/oNfk+ddllRcCCCCAAAIIdFVAn3NUWf3q9ETteBL0bZwg37qSmBen2K46sn9xCpjfYeOFAAJbKCCnFLl502PTjnOrPFZidTJRPS81ufqALSyWwxFAAAEEECgkATu4mdlmm6+OOmr/koqyspMzd2AdAQQQQAABBBAoNgFzzWOufaRfbddCWfpot2fZTDYCCCCAAAIIZAqkpozfX8bg5yRXb1jl6XStfPnqaBmjZ8JjJhTrkRbgEdCRfvvpfP4F1L8cV92oSt2bq25duCr/9VEDAggggAACvSbgH7w0y/4/86VD959///2xgwf0vb3XWkjFCCCAAAIIIIBADwp8uu7zqV8ee9F9UqV5DHTQo6Bta5iqZCVIEUAAAQQQyCKQSnxrW89p+I5M8P2uTMb6UpbdyEYAgVYBvhHBPwUE8iogJyJPX+I06ovlG0kLlePeUOH0/4s8Iropr9VSOAIIIIAAAj0rkBn89dfeFgju17dyin8DywgggAACCCCAQDELtF773C99tNdD/kCvybPr/uViJqFvCCCAAAIIdElAJxIVDc7a4zwJ+mqnoVp+25en2nZJkJ2jLMD/LFF+9+l7jwnIIyhi8vdN8ziKpF67Mjmp+orklOp9eqwBVIQAAggggEDPCthBTps6v7voO31KYrFxPdsMakMAAQQQQAABBHpPwFz7mGug1hbY6yKb9l7DqBkBBBBAAIGQC9Qnqg9JThp7rfm5xbTWt2lHj5fxdeJZIX/faF64BHgEdLjeD1oTMQGlnJeVUjdVxCpvV3f85cOIdZ/uIoAAAggUj4AZyDQvf2qWzc1ZS/qvRy87aVD/PteZnXghgAACCCCAAAJREVjzWd1pX/rGD+6Q/tpHQNvUzv7NTKNCQz8RQAABBBBoJ1A/5cidvHT6FDllnqK1s0u7jawggECXBXgEdJfJOACB3AnIiWxv+ebSrJRO/U4eEb1IRslvKR9YcZ+65oFU7mqhJAQQQAABBPIqYIO+mZXYfJOqflUVx2fuwDoCCCCAAAIIIFDsAq3XQHdKP801kQn22jSz69nyM/djHQEEEEAAgaIRkEc890mqNSc4nprmNW84XE6U5nzICwEEciDADOAcIFIEArkUkFnBdY527465+tayPQ95VNXUmG8H80IAAQQQQCCsAv6bM7Ps/zMzgN1La6b1n/btA9+RIc+ysHaCdiGAAAIIIIAAAnkRUE7jjX95dqcf1dz4mZRv7u/NnwkE+/9kteVl8nghgAACCCBQ1AIyIUo1TJowxlPed+VseIKsVxV1h+kcAr0kQAC4l+CpFoHOCMjjoVfKKPptMZkZXFb7yKudOYZ9EEAAAQQQ6GEBGwD2p2a5Jfhr0jcevfw/BvSvnNfD7aI6BBBAAAEEEEAgFAJr19VN32PsD26TxtgAsD8IbNpoA782DUW7aQQCCCCAAAK5FGhITNg1rdIm6CuPeNY75LJsykIAgY4CPAK6owk5CIRGQE6Ew+Xu74dyZ/jDuhPHvuK46hblqtur7ly0MjSNpCEIIIAAAlEWsEFfa2DW7V9bXp+qMh7/bDVIEUAAAQQQQCByAn37VJwgnb7d13H/NZQ/6Gvy/eu+Q1hEAAEEEECg8AT01KMHpjY0JqTlpzTr5oM5yxXee0iLC1eAGcCF+97R8ogKyKxgTzv6745Wt1apgfeo2tq6iFLQbQQQQACB3hfwD17awK9NW2YAz/rZKYO+c8Ihb8uXmkp7v7m0AAEEEEAAAQQQ6HkBuY9vuuXup3a+8OKb10jtdhawCfT6/2zDCABbCVIEEEAAgYIU0NOmldcnV35LO+mT5Tvi32Q8oCDfRhpdBAIEgIvgTaQL0RVQjkpp17lXBG6p0gMfkWBwOroa9BwBBBBAoBcEbADYn5rAr1lvCQC/+ffLv9t/QOWcXmgbVSKAAAIIIIAAAqER+Gxd6qzdxl5wkzTIHwA2yzbgm5mGpu00BAEEEEAAgc0J6Joat+FfT4/xPH2ylt/1dbTut7lj2I4AAvkV4BHQ+fWldATyKiAzgSvl1lG+SeWcnFJrVtedWH2Hiksw+M5HXsprxRSOAAIIIIDAxiCv38EEff2B4Jb1yj7l5pGHvBBAAAEEEEAAgUgLtF4T3SwI9prJBHzttZMN/hojk+dfN3m8EEAAAQQQCKVAckr1PlqCvqllT51kfs4wlI2kUQhEVIAZwBF94+l20Qssc5S61Y25t1Xe+fD7Rd9bOogAAggg0BsCdsDS1G0HMk3aNgN43iXThxw/btRbMoLJlw574x2iTgQQQAABBBAIjYBcJDXfs2jpLmf85JqPpVF25q9NTcDXH/T1L4emDzQEAQQQQAABI1CfGD/Cc7ypcrI6WWb6fhkVBBAIpwCDceF8X2gVAlsqMFJOvr/Rzelf1yXGPia/F3xLVVnJ3eq2Beu3tGCORwABBBBAQAQyg78WxeabVI054MvHyA0h15tWhxQBBBBAAAEEIitgronMtZEAXCd/5lrJBHltKotZl802XggggAACCPSqgD5l7OBUvZokjTg5rdMH92pjqBwBBDolwIBcp5jYCYHCFJC7SSW3lGPkvnJMqqlpdl2i+i9yd3lL5chDFqqamubC7BWtRgABBBAIoYAZvDR/5mWXVZ/K8uM3ZvFfBBBAAAEEEEAAgdZro+tFwl4v2SCwwTHLvBBAAAEEEAiNgJ4+sbJ+TeO3teOdnKrXE+QRzyWhaRwNQQCBzQrwCOjNErEDAkUooJxPlKNqXeXeWX7XwieVUtxoFuHbTJcQQACBPAr4g72mGjuIaR//HLv5d2dvc9Q39npTfq8+lsd2UDQCCCCAAAIIIFAwAnIfnl7w6Cu7nfLDqz6URqflz9yL+x8Dbfpi789tavJ4IYAAAggg0CMCOpGIJd11Y5XW5vHOx2vt9OmRiqkEAQRyLkAAOOekFIhAYQko5XygHfcuFXPuqLpz0ZLCaj2tRQABBBDoBQEb/DVV22WT2uCvSd3XH501bWD/qtlmJ14IIIAAAggggAACGwXWfpacucc3LrxR1kzg1wZ/bWp28gd+/ctmGy8EEEAAAQTyIpCcPHZf7clv+jrOFDkTbZOXSigUAQR6VIBHQPcoN5UhED4B+RbXtnLPeaFudi5MJsa+5Sh1RzwWu7PsjoXLwtdaWoQAAgggEEIBO/vXNM0uq8rKsnEhbCtNQgABBBBAAAEEelWg9RrpJmmEvW4yQV6zbF4EfDc68F8EEEAAgR4QaEhM2DXteFPlyV0n67TevQeqpAoEEOhBAQLAPYhNVQiEXUCCwbvIoz1+vsFr/rn8XvCr8mjoO2NxfWf57Y+8Hfa20z4EEEAAgR4XsAOVtmI7iKlGjdo5XlYSH2M3kCKAAAIIIIAAAghsFDDXSOZaaenStzdIjr1+8gd+TZ5/HToEEEAAAQRyJqBP+vY29RtSk+REc3Kzbt4/ZwVTEAIIhE6AR0CH7i2hQQiET0B+p+h5uQO9U8fVfHlM9MrwtZAWIYAAAgj0kIAZkLQvu2zSdo9/XvLALw/ZYfjWC+2OpAgggAACCCCAAAJfCLy38qMJoyf+4inJ4THQX7CwhAACCCCQJwF9ytjBqQZ1vDziebL8HOARWutYnqqiWAQQCJEAM4BD9GbQFATCKiCPAdlfvhW2v0o7l9WdWP2EXCjcUVmh71Y3//3TsLaZdiGAAAII9IiACf76A8EtweCtBvQf3yO1UwkCCCCAAAIIIFCAAlsNHGB+KuOZ/8/evQBZdtaHgT/n9vS89AYMAmwjxEtIAgHiLfOcERKSLYiZ5mVjK66KEm/KSSVbldpUKrvyPiqbbNVuar3ZSkhVinU2GGdIloBAEgibgAwyEkaGQRICCQmBkHjM6DF9u6e77z37fefc7/bpnts93dP3dt/H78i3zznfeX3f77SHf3//+50TPnGkb4yf0jwsGv0bEUwECBAgsDWB4vr3njs7O/vePCs+0GwWB0P/bpkLCk+ANBEgMCECEsATcqM1k0A/BMK3w+IIr/Atseztzbns/5qdOfiFRnhn8N4z9/2X/N99+ul+XMM5CBAgQGAkBFLSN1U2rqdPtnfP9MG0wZwAAQIECBAgQGClwN7du2IC+A/DJ8VPcV7vkl+9vvIE1ggQIECAQA+B4veuO2v+qdnr2nn2gebs8avCq/521//HpcchiggQGGMBj4Ae45uraQS2SyCMCJ4P17opvjN43/5f/mz+sY/FdRMBAgQIjJ9A7IyMU31ef/zz1Mf+xQ3nX3vwtd8LXxpK+1RH+EmAAAECBAgQIFAKhL+di8/edtdLrv9HH30sFLTCJz4KOvbRp3lY7CaE9d1HDRMBAgQI9BQobviN/XNPzP16fLxzlhfXhIE7e3vuqJAAgYkTMAJ44m65BhPov0AnsDgUOvsPzR5/5OnmzMFPFY3Gn+x/+Zu/kN9441L/r+iMBAgQILADAqsTunE9laXl/I2Xv/RKyd8duDsuSYAAAQIECIyMQIyVYswUKvz/hk+Ko2KiN8VW9aRvLKuvh1UTAQIECEyyQHH99XubzUevLrLWB5rH5n4j/O/KGaWH/7WY5F8LbSdwkoAE8EkkCggQ2KLAWe2i+EjWan1k9sjtv5h9/4FPNorGn+y95IqvhGRw/DaziQABAgTGSyB1WpYdlmeesd/jn8fr/moNAQIECBAgMACBTsxUTwBL9A7A2SkJECAwLgLFzMzuZnbsyvA/Fh+Ynf3Re8Ljnc+ObQvv9h2XJmoHAQJ9FpAA7jOo0xEgUBconhkeP/K3W1n7bzeP3P6T8M7g/9TI8k9KBteNLBMgQGDkBMpEb6fW9eXswgsvnNo9PfXOkWuRChMgQIAAAQIEtlkgxkwxdnrwwQfrX5SuJ4Hry9tcO5cjQIAAgWEQKG68cdfsvX/xzrxVfGA2O/Y3QtL3POneYbgz6kBgNAS8A3g07pNaEhgvgTx7PM/y/9zIpw7vLc7+cn74cHznkYkAAQIEhlegnuiNy/VPfAdw+fnaf/qf3vSiC579heFthpoRIECAAAECBIZH4IGHfnrlm973T78WahSTwOkT+/brn1Rhff5JwpwAAQJjLBCSvo35e772tna29IHw2r33hf9FeNYYN1fTCBAYoIARwAPEdWoCBNYQKLLnhMeT/H6rWPr92fzYz8Jjov/zVBgZvOfiX/uSdwavYaaYAAECwymQEsNlQvj8Z5/j8c/DeZ/UigABAgQIEBhCgU7sdEeoWj2mkugdwnulSgQIEBikQHw3/Pz7r7wifBPoA83vfOVQSPyeP8jrOTcBApMhYATwZNxnrSQwGgJ59vM8zz5VhGTwGRf/2hclg0fjtqklAQITIVDvlIwNjutx1G+ax+Wpn9z5r7801chfE5ZNBAgQIECAAAECpxBotYu/eu7r/s7bw27xqVj1EcBxOSWCV8/DJhMBAgQIjLpATPrOvf/gG9tFPpNnxUz4x/6XR71N6k+AwHAJSAAP1/1QGwIEkkCeHw3J4P+S5Y3D+8+54Lb8ox9dTJvMCRAgQGDbBeoJ4LicPt3HP//fN/7ec2aue8P3wjeVY5mJAAECBAgQIEDgFALhb9724U//5Uv+mxv/3eNh15QATsnfmPhNn3imlAiOyyYCBAgQGEGBYmZman7q2FvarfBo5yz7zZAEft4INkOVCRAYEQGPgB6RG6WaBCZOoCieEZIIfzN8Efpvzh594InZQ1f+l2yq/cn97Wd8PrwzeGHiPDSYAAECOyeQkr/r1SB/65sveqfk73pEthEgQIAAAQIEVgrE2CnGUKH0Eyu39FyLMZkkcE8ahQQIEBhegeKGG6Znn3jwnXk7e99sduy92VLxS8NbWzUjQGCcBCSAx+luaguB8RU4t8javxseivW74Z3BTx0/dODT+VT+yf37fvnW/GMfmx/fZmsZAQIEhkpgdSI4rnc/Z56x781DVVuVIUCAAAECBAiMgEAnhvrTUNVuXBWW64neWF5fH4FWqSIBAgQmW6C4/vq9zdkfvyvLi/eFgS3XBY3Qtxkm/5pP9i+G1hPYZgEJ4G0GdzkCBLYoUBRnhzP8dtEqfnv2+CNPHz908KZGnh/el517SxgZPLfFszucAAECBDYmEDsi01R2Vu6Z3vWGVGBOgAABAgQIECCwMYFODJWSv+kgSd8kYU6AAIERESg+8q4z5uaKa9oh6ducfeTa8JSHMyV8R+TmqSaBMRXwDuAxvbGaRWDSBPI8nw1forupkTU+ue+8PZ/LP/qZ5qQZaC8BAgQGIHBSojdcI3VQpvf/Tt34j37z3L/7wase9gjoAdwBpyRAgAABAgTGWiC+B/hffeLWF9z4L/7zE6GhrfBJ7wKO48Tqn+Rg/FiSMCdAgMAOCxTXv/fc+ebsr7eLdnyn79Xhb+K9O1wllydAgEBXQAK4S2GBAIFxEcizvBkesfK5kKH45L6zzvhc/u8+/fS4tE07CBAgsM0CayWAU/K3nP/Vp//ZVb/8/Gd8cpvr5nIECBAgQIAAgbEQ+NGPjx56zXX/+NbQmJT8TXMJ4LG4wxpBgMA4CRQf+o1nNRfn3xv+yf7N8PXogyHpOz1O7dMWAgTGR8AjoMfnXmoJAQIdgSIr9ofvSR8Kfykfaj7VPDE7c/CLISD71P6p/Z/O/+TTj4MiQIAAgU0LrE4E10+Qn3vu/jfWCywTIECAAAECBAhsXKATS31+1REx/kqjfevLq3azSoAAAQKDFpj97auem80v/Y0iz97XXJp7W+h7nCqvmf6VHnQFnJ8AAQKnISABfBpoDiFAYHQEQkC2J/zJfE38NIvmvw7J4K+FYO1Tu4qpT+09fOv3R6clakqAAIEdF4gdjykRnJbL+d49097/u+O3RwUIECBAgACBURXoxFIr4qvQlphWSLGXFMOo3lz1JkBgZAXmPnzNC4qlhd8MI3zfF5K/bw7/EOfxX+bQ1ziybVJxAgQmS0ACeLLut9YSmGiBoijio0qvCHHaFUvZ0v92fObgkfC+pU9lReNTZxz+/DcmGkfjCRAgcLJA6nA8ectySf761180PTXVeO1ykSUCBAgQIECAAIHNCMRYKsZUX//6ffHRz6eaYowm+3AqJdsJECBwGgLzHzjw0qV2/pt5SPq2Fk74O/c0DB1CgMDwCHgH8PDcCzUhQGAHBfI8fyQ+JroRksF7L3nzl/Mbb1zaweq4NAECBIZBoJ4AjsvpU3//79SX/vS/f+3FL37+nw1DhdWBAAECBAgQIDCqAvd8/8fvfPsH/se7Qv1b4ZPeARznMdmbPmGxnCSAk4Q5AQIEtiAQBovkcx+66vVFu3hPUbTfE/61vXgLp3MoAQIEhkrACOChuh0qQ4DATgmEgO9XQpD3B62s9Qez37n96Oz7D96UF/mn9p2399b8o59p7lS9XJcAAQJDILA6EZyqVJY/9znnef9vEjEnQIAAAQIECJymQCemigng1bFXSvbG8rR8mldxGAECBAgU11+/t9n88TuzonhP8/0HrwuPeD6fCgECBMZRQAJ4HO+qNhEgsDWBonhGCP5+J7zT43eax5pzs4cOfr7I80+dsa/9mfyPv/iLrZ3c0QQIEBhJgdjhmDojVyzv2zMtATySt1SlCRAgQIAAgWES6MRU/6pTpxRvxYRvisEkf4fphqkLAQIjJVD8zoFnzs41rgkv8X1Pc/ZHV4eBIGeMVANUlgABAqchIAF8GmgOIUBgcgRCInhf+JJ1eARMCBDn8tbxQwe/0gjJ4Hx6+lP7Pv65hydHQksJECBwkkDZMbln1643nLRFAQECBAgQIECAwKYEOjFVSvxu6lg7EyBAgMDJAvMfPnhheyG7LjxLP/TpZW/JivaUb9Kc7KSEAIHxFfAO4PG9t1pGgMCABfIs/2YWksG7suL/23P4tm8P+HJOT4AAge0USCNN4jVTR2Scr3j/7yf+zz+48J1XXHr3dlbMtQgQIECAAAEC4yrwZ39x5FUf/Ht/9GBon/cAj+tN1i4CBAYmEN/n2/zgwddm7fw9IdEbB3NcOrCLOTEBAgRGQMAI4BG4SapIgMBwCoRHRL86BJOvXsyyPwyPiX4wPiZ6aqrxqb0Xvekv8htvDF8wNBEgQGDkBVYnglODyvJXvOwFRv8mEXMCBAgQIECAwBYFOrFVTACvjsHSoLVYnpa3eDWHEyBAYPQFipmZ3bPZ0XfmRR7e53tlfJ/v8/wzOfr3VQsIEOiPgARwfxydhQCBCRcIyeALQzL4H7aW2v9w9ju3/2z20JWfyxvFZ/ZNT38h/w83PzXhPJpPgMBoC8SOxtQJuWL5jDP3eP/vaN9btSdAgAABAgSGSKATW32iU6UUd8WEb4rFJH+H6H6pCgECOyNQfPja8+YX5q9pZ/l7ZoujV4danBX65eR9d+Z2uCoBAkMsIAE8xDdH1QgQGFGBovilEHj+btHOfre5sLB4fObgf21k+U2Nxq6b9v7pzQ+MaKtUmwABAqnjMUqUHZJ7dk+/FgsBAgQIECBAgEB/BDqxVUr8ppPGdYnfpGFOgMBECsx98OoLivbide0ivM93Yf6t4R/FkNfwT+NE/jJoNAECGxaQAN4wlR0JECCweYHw6JnpEJAebMdPa+FfHj908L5Gnn0mvD/4s3svuSI+Knpp82d1BAECBAYqUE/0rr5Q6pDML7/8pdO7phovC+9ZWr2PdQIECBAgQIAAgdMQiLFVjLG+8Y374yuFUty1VrAlMXwaxg4hQGB0BGZn3nV5eCX6daHG72ktLV6War7WP4ppuzkBAgQIVAL58UMH/Jvpt4EAAQI7IZDnx8KXFW+ZyrOb9k7vuTn/+GeP7UQ1XJMAAQKrBFICuD5vhH3iepxPxfnN/88/vvTySy/4alg2ESBAgAABAgQI9EngG0ceevO7f/efHQmni0ngVmce++7ieurDWz0Pm0wECBAYbYHwPt8zm/mTB8M/fddmRX5N+LJxeJ+viQABAgROV8AI4NOVcxwBAgS2KlAU54VTfKhVZB9qLp5oHZ858Bchv3LTdCO7ac+f3nbvVk/veAIECPRBICZ964ng7vLznnPeJX04v1MQIECAAAECBAjUBDox1nc6RSkWiwnfFIel5G/tKIsECBAYTYH5D1/5kvZiFt7n2762mR17W9Eudlct8U/daN5RtSZAYJgEJICH6W6oCwECEysQvtUYR9S9NXyh+62LrexfzB46+GCRF5/Zlec37SnO+3J++PDCxOJoOAECwyZQdkSeuX+3BPCw3Rn1IUCAAAECBEZeoBNjpcTvyLdHAwgQIFAXCKN8d89PPfGW1lJxbfhay7VLC+2Xpu1F9yEHqcScAAECBLYiIAG8FT3HEiBAYEACIei9MMS9f3+pKP7+Unb06dmZg58vwujgM/bmn8v//ed/OqDLOi0BAgTWEkidkGme7ZmevnStnZUTIECAAAECBAicnkAtxkpxV5obDnd6pI4iQGCHBWZ/+6rnZieKa+KjnWeLowezpeysskr+VdvhO+PyBAiMu4AE8LjfYe0jQGAcBM4KI4TfF0YHv685n7dDMvjroVE3FY2pm87801v/ehwaqA0ECAyNQOxgXD31LJuennr56h2tEyBAgAABAgQIbE2gE2P1jL/CmVenS+J+q8u2VgFHEyBAYIsCxY03Nubu++rrinKUb/vabH7p1eEfql7/rm3xSg4nQIAAgfUE8uOHDggU1xOyjQABAkMskOf5I+HP/c9mjfwz+4tz/zw8KnpuiKuragQIDL9A+qM8zRuhynE5ztNn6r/7O+99xj/8W+/+wfA3Rw0JECBAgAABAqMn8L//25tf+L/+608dDTVvhU+79ol9eHE9Tqk/L82rUj8JECCwAwLF9e89d655/F3hH6RriyJ7d1YUv7QD1XBJAgQIEKgJSADXMCwSIEBglAXyPAvJ3/y/5ll+S6PRvnnvn37x/lFuj7oTILAjAinxG+f1Tzf5G8obX/6Pf/iWi150/k07UkMXJUCAAAECBAiMucB9Dzz26299///wldDMmOytJ4Fjsrf+iRISwFHBRIDAtgucmHn3xYvZ4rXhwtfmRXFF+MfI00a3/S64IAECBNYW8I/y2ja2ECBAYKQEwjcs94W//a8O7w++ut3K/uXszIGHQv7m5vC5ZX927p+F0cHHR6pBKkuAwLAI1JPCsU75s5911sXDUjn1IECAAAECBAiMm0An1rq90656LCbZO243W3sIjJBAcf31e5tzj74ja7WuDV8XvnaxWLggVd8/TknCnAABAsMjIAE8PPdCTQgQINBXgZAQviAkhH8/fpr50cXjMwduz4rGLeGdUrfs+ZNbvtXXizkZAQLjLlDveMz3TO+6dNwbrH0ECBAgQIAAgZ0S6MRaMf6qx2DyKzt1Q1yXwAQLzH/44IWtheLqLM+vac4+8s5q8EEA8S/SBP9WaDoBAqMiIAE8KndKPQkQILAFgRCgT4fD3xGeIPaOxcX2P5+dOfhoCNZviY+L3rd79235xz97bAundygBAuMhUO9gTC1KZXG9u7xn97QRwEnInAABAgQIECDQZ4FVsVY3BguXicsp7ZKW07zPtXA6AgQmUaCYmTmzmT/5jqzduir8i3P10kLxotIhdCyZCBAgQGC0BCSAR+t+qS0BAgT6IlAUxfPCiX4vPC7695qLJ1qzhw78ZdbIbgnB/S37X/6Wb+Q33hjfNWUiQGCyBVJnY5x3l88+++zG1K7GyyebRusJECBAgAABAoMTiLFWjLmeeuqp9HdZisdiBiYuy8QMjt+ZCUyUQOgfypsfvPrVRWspJHzzq5rZ0TcX7XIQgX9pJuo3QWMJEBhHgfz4oQOCxnG8s9pEgACB0xXIs5+HoP/WqTA6eO+e/PP5v//8T0/3VI4jQGCkBLpJ3lDr1MkY543OZyrMp/79//F3X3TVW1/5jbBsIkCAAAECBAgQGJDArV/+1uUf+Qf/6oFw+lbnE5PB8RP78eqfsCohHBFMBAhsTKD40HXPmV2ae1eWF1eFfz3elRXFL23sSHsRIECAwCgJGAE8SndLXQkQILAdAkX2rBD8/1YrK36rOZcV4XHRfxUue0vIAN2y95JfuyOMDl7ajmq4BgECQyFQTwqXFbr4Jc/z+OehuDUqQYAAAQIECIyzQCfmigngONVjMgM5KhM/CRDYoEB4rPPu+fypK4rwWOciz65qLs5eFg7NfXVkg4B2I0CAwIgKSACP6I1TbQIECGyHQOhZCH8QFJeHa10evnb+T2a/c/uTISF8WxgQeHO+e+rW/f/h5h9tRz1cgwCBHRWodzjmZ+7fLwG8o7fDxQkQIECAAIFJEDhz/774yo2bwqcei0n+TsLN10YCfRCY//CVL2kvFleFV/eGxzofe0fRLs4oT+tfkT7oOgUBAgRGQ0ACeDTuk1oSIEBgOASK4pzwt8L7wlPI3lecaGXHZw4eCY8MujX0SXzhjHP3fSX/6Geaw1FRtSBA4DQFUgdjPLy+3D3d3j3Tv9pdsUCAAAECBAgQIDAQgb17dr9gjRPHGC2lcOrLa+yumACBSRAofuvdZ88tLB0o8nZ8rPNVSwvtC7rtTv9idAssECBAgMAkCEgAT8Jd1kYCBAgMSqAoLg1/WFwa+h/+2+axuYXjhw5+Nc+z2/Kpxm37WufclR8+HN9XZSJAYPgFVid703qcr/jsmsrX6owc/laqIQECBAgQIEBgRAQ6MdeKOCxUPa7HVE6ap9asXk/l5gQIjKlAceONjea9X7k8a+VXhX8RrmqeWHhj+MdhV/frIWPabs0iQIAAgY0LSABv3MqeBAgQILCOQFEUu8Pmt4fHC729WGr9z7P5sfC46AN/nuWN26aKqdv2Hr7lu+scbhMBAsMjEDsQV0/dssbUlBHAq3WsEyBAgAABAgT6LLAq5urGYrXLSPrWMCwSmASB5gff9SvtVnEgC6N8Z4/cfmVo8zPL74QY4TsJt18bCRAgsGkBCeBNkzmAAAECBDYkUD0u+r1Z0X7vUtbOZg8d+FHWyL/QKLLbWtnuPzvz8Oce29B57ESAwLAI5C9+8fm7djXy5+lfGJZboh4ECBAgQIDAuArEmCvGXt///mPtcW2jdhEgsL5A8TsHnjk3n8cv2h8If4MdaC+1XloeUf5B5q+y9fVsJUCAAIH8+KH4vx8mAgQIECCwzQJ5/u3waKLb8kZ+2/7i3C+Hx0Uf3+YauBwBAssCaVRJnKdPIyynz1Rc/uj/8rde+N6rX/vN5cMsESBAgAABAgQIDErgU7fc9eob/sm//UE4f0wCx9frxHn6xP689AmLHvwaEUwERlmg+Mi7zpg90f618MX50GEfRvpm+avC09bi32QmAgQIECCwaQEjgDdN5gACBAgQ6ItAUbwinOcVRbv4B8386GL4QtIdeXhcdD6V37bvojd/Pb/xxqW+XMdJCBDol0D+spc8/1f7dTLnIUCAAAECBAgQWF+gE3s9tP5ethIgMKoCxQ03TM898YPXVyN82wea8+03ZuH1WvFbHtVk3FaSMCdAgACBzQtIAG/ezBEECBAg0GeB8MfOdDjlW4qi/ZZiKfvD2SNfeTq8P/hLeZ6F9wfvvm3P4Zvv6fMlnY4AgZMF0ijguGX1crl+3tn7JIBPdlNCgAABAgQIEBiIQC32Sk9oSdeJ6ykzVF9O280JEBhCgTCaN5/94NWvbLSXwgjf/EDz2ANvDf0hZ6aqhlG/adGcAAECBAhsWUACeMuETkCAAAECAxA4K/wR9Bvx084WstmZg4+GXo0vtrP8C/lU9sUzPvGFRwdwTackMKkCsdOwPqX1OE/LcXu+d8/uF9R3tEyAAAECBAgQIDA4gU7stSIeC1eL6zFLlOapAqvXU7k5AQI7KDD/gXe/qNVePBD6Nw7Mvv/gO8P/9z6rGuEr2buDt8WlCRAgMBECEsATcZs1kgABAqMtEL4l+7zwp9FHQj/HR8II4ez4zIF78jz/Yl7kf75vX/vL+R9/8Rej3UK1JzA0AvUOxlSpVJZPT08ZAZxUzAkQIECAAAECAxboxF7dWKzH5SR9e6AoIrCTAsdnrjl/Klt4ZzskfEMfxoGl1sLyl2jlfHfy1rg2AQIEJk5AAnjibrkGEyBAYAwEiuzikBS+ODwe6Q+azawI7w/+dpY1vtTIsy9JCI/B/dWEYRQoOx5379olATyMd0edCBAgQIAAgbEUqMVeKQk8lu3UKAKjLFDMHDynmeVviyN8s6x9ICtOXNIa5QapOwECBAiMjYAE8NjcSg0hQIDAZAqEL9DGzpBXhj+0Xhm+Yfv3JIQn8/dAq/suEP//qv6JF8inpnIJ4L5TOyEBAgQIECBAoLdAJ/ZKyd96bBaXjSXszaaUwEAFipmZM09kT76plRfvyNrFO5tZ9tqiaE8N9KJOToAAAQIETkNAAvg00BxCgAABAsMrsF5COG/kf75/b+srHhk9vPdPzYZWIH/d6y6YnppqnB++2W4iQIAAAQIECBDYBoEYe8UY7M47HzKgcBu8XYJAL4Hit959dnOpdUXear+tyLO3NYujrw1/Eu3qfgXD30e92JQRIECAwBAISAAPwU1QBQIECBAYnEA9IVy0qxHCszMHvhXKv5TnU1/aX+Rfzg/fenRwNXBmAiMnkEaZxIp3l//gQ1f9ckj+NkauNSpMgAABAgQIEBhRgRh7xRjsd+78N9/vNKEbm4V1o4BH9L6q9nALFB++9rzm0uKvFVnrbXk7f1tzYfHV4RVUU2WeV7J3uG+e2hEgQIDACgEJ4BUcVggQIEBg3AXKhHCRXRbaeVlRtP5+eFxTISE87ndd+zYgUO9MTLunsjjPL3j+c16QNpgTIECAAAECBAhsj0AnBnsgXK0em62+eNwmNbVaxTqBDQgUH/qNZ80tzb+lnbXflod3+TYXT7wyJHzLL74W8f+t/H/WBhTtQoAAAQLDKCABPIx3RZ0IECBAYNsEwt9yefiDTkJ428RdaMgEUkdirFaZ6O3Ur15eFp1zzhm/0tlmRoAAAQIECBAgsE0Ca8RgKeGbYraUokrl21Q7lyEwegLFh657ztzi3FuLkPAt8pjwbV5S9guEppQJ39FrkhoTIECAAIGeAhLAPVkUEiBAgMCkCqybEI7vEG5PfcUjoyf1t2Mi2x07EcvP7l27nj2RAhpNgAABAgQIENhBgU4M1o3JdrAqLk1gJAWaM7/+/Cw/USV8wyOdZxdnL+o2JDxnPX17oltmgQABAgQIjImABPCY3EjNIECAAIHBCKxICLeK8MjopeL4zMEjoQfm9vBMqNvDVW/fd/i2Hw7m6s5KYHgEpqennjE8tVETAgQIECBAgMBkCIjBJuM+a2X/BOZmDv5qKzzKOQ8jfMN3Wd/WLuZevJzlle7tn7QzESBAgMCwC0gAD/sdUj8CBAgQGCqBKiFcvCLMX9HKst+PlZudOfhI+OLw7eFZ0rfvmp6+fffL3ngkv/HG9lBVXGUIbFygPsIkLscp37VLArii8JMAAQIECBAgsH0CnRisG5OFK9djNdms7bsVrjSkAvMzV714qWi9Jb6/N8vbb2sVxQXLD3P2/yJDettUiwABAgS2QUACeBuQXYIAAQIExlugKIr4btQPhT8tP7S4uJgtfuf2J0NS+C9C+e1Tu3bdvnfvc+/MP/ax+fFW0LoxFig7HKfy3AjgMb7JmkaAAAECBAgMp0AtBktJ4OGsqFoR2AaB4oYbpueeeug1Wat1RVHkVxR5ccVSsfSceOnyYc7yvdtwF1yCAAECBEZFQAJ4VO6UehIgQIDA6AgUxTnh785rQoWvaS0tZc3ZHy3MHjpwV97Ibi+yqdv37219Nf/jL/5idBqkpgSyrDHVkAD2i0CAAAECBAgQ2GYBMdg2g7vcUAkUH772vObSwpuydjske7Nfax574HXh6Vv7qkqGv7olfIfqfqkMAQIECAyXgATwcN0PtSFAgACBMRQII4F3h2a9uWhnb86y1j9qNrPwHuED94ZHVIWEcH77VPjsO/z5H4xh0zVpNATqo0lWL8f18tPI8/NGozlqSYAAAQIECBAYH4FODNaNyULLVsdrKQUWy9Py+ABoyUQJzH/g3S9aai1ekedZGOFbXNFcmL84/FJXv/NhwS/4RP06aCwBAgQIbFFAAniLgA4nQIAAAQKbFSj/gC2y8IdscXH4E/aG8C7h+B7hR+N7hBtZdns7z79yRnbut/PDh+MmE4HtEkidiXGelrvXbjQ8ArqLYYEAAQIECBAgsE0Ca8RgKV6L+bC4LC+2TffDZfonUD7O+djDr87y+Djn7Irwa3zFUmvh/HiFsF5OfrErBz8JECBAgMDpCEgAn46aYwgQIECAQJ8FwrebnxdO+f52+MS/dmezo0+HpPBXQ1fO7Y1d2e17z9739fyjn2n2+bJORyAJnJTwDRu6ZS9/+QumG43GWeH3NO1vToAAAQIECBAgsA0CMQaLsdi99z6cvhzajdFql5cErmFYHE6B4vr3nttszr65epxzfkV4nPPrw58X+3x9YTjvl1oRIECAwOgLSACP/j3UAgIECBAYT4GYbLsqNO2q1lKWNY81F0NC+O6QkrujUWR35NPZHXs/ftuD49l0rdomgV6dh6svHffJP3zVG88Nv48b2X/18dYJECBAgAABAgS2IBBjsBiL/dN7H4qacKUAAEAASURBVH48nGYj8Vjcx7f2tmDu0P4IzH/44IVLi3l4nHN4f287vL/3+NO1xzmH52H15zLOQoAAAQIECKwhIAG8BoxiAgQIECAwTALhm9HToR/ndeGv5NeFr/7/QbaQZccPHfxpeDfSHaFT6I6pxq479hZn3xkeG318mOqtLuMh8KIXnv/M8WiJVhAgQIAAAQIERk+gE4vFBLCJwFAKFDMzu+eyp1614nHOC0V4nHNI9HYyvRK+Q3nrVIoAAQIExlhAAniMb66mESBAgMC4CxTPDn9MXxdaeV2rvZQ182Pt44cOHMnzPCSFszumpxtf2/3xW78b1v2tPe6/Cv1rXxpVkublmc97xv5n9O8SzkSAAAECBAgQILAZgR6xWIrVjPbdDKR9+yYQR/e2l/I3tIv2G/Isf0OzOPbqkOrdY1hv34idiAABAgQIbFlAAnjLhE5AgAABAgSGQyCMBG6EmrwyzF8Z5jcsLrayxZmDT4RHR/9lfHR0HCl8xvTev8w//tljw1FjtRhSgXqHYlzOzz1znwTwkN4s1SJAgAABAgTGX6ATi5VxWWhtPVbzRc/xv/073sL47t4Ts83XtUKyN1TmDUVevHFpoXhWetK4hznv+C1SAQIECBAg0FNAArgni0ICBAgQIDA2AvHdrVeFb2LH9wlnzYX54vjMgfvzonFHWP1aMdW444z22UfCo6PDk6VNBHoL7Nm9SwK4N41SAgQIECBAgMDABcRiAyd2gY5AceONu5r33f6KrJ2/IQsJ3yKO7j3+9EXhmwbpiwcp78uMAAECBAgQGHIBCeAhv0GqR4AAAQIE+ilQ/uFeZC8rsvbLwnl/N2u146OjZ8P7hO9sxFHCjeyO/Y39d+R/8mnvGOsn/Iifa+/uaQngEb+Hqk+AAAECBAiMrsDe3bvPG93aq/kwCzQ/+K5fyVpZlezNszc2v/OVy8PrhPYtZ3mN7x3m+6duBAgQIEBgPQEJ4PV0bCNAgAABAhMgEEYInxGa+fZ2kb09/PGfzbZms9mZAw8VRf61RqO4I2tM/eW+X5q6O/+jm09MAMckN3H5W/31b/iH5enpaZ2Ok/yboe0ECBAgQIDAjgpMT5dPY1kzVguV8yjoHb1Do3HxYmbmzPmpY69thdG9edF+Y1aEd/gutZ7brb3foi6FBQIECBAgMA4CEsDjcBe1gQABAgQI9FkgfOv7gtCPdEG7nX0oa7ey5mOtxdlDB4+EB3/dGT53ZY3srv1nX3gk/+hHF/t8aafbXoF6R+LqK8dt5fapRn7O6o3WCRAgQIAAAQIEtkegFot147M1rhy3S+OtgTNJxeFRzo2Fe7968VI7jO7NW28MX+59QzM7dkmxFJ75FH5Fql8SvyqT9DuhrQQIECAweQISwJN3z7WYAAECBAhsWiAkhKdDR8GrQ09B/NyQtcP7hI8+eCKMFP7rsH5nkTfumm7kd+1un3Ov9wlvmncYDigTvaEivTsV83zPMFRSHQgQIECAAAECEynQOxZLcVvM4kn8TuQvRtXo8ESn/MT7r35RO1u6PPwqXN7OiteGRzm/LvwNd2a5R5nnTUnfCYbSdAIECBAgMGECEsATdsM1lwABAgQI9EsgdCHsCcnf14fzvT4r2tlieHz0UnasOTtz8Jth211TITGc59N37fmPN9+f57mvl/cLfvvPk0/l+e7tv6wrEiBAgAABAgQIRIFOLJa+sAdlggXKZO8Hr7mwXSxeHv4We21I9l4++/4rw3LReWJP9WeXP74m+JdE0wkQIECAQEdAAtivAgECBAgQINA3gZD43R86Iq4IJ7wi5IPDoOHFbOn9Vz51/NDBvwrPGouPjr6zsSu7a+/Hb3uwbxd1oq0K9OpMXFEW7qsE8FaVHU+AAAECBAgQOE2BHrHYilitc9pYJu93msbDetj8hw9e2F7KXhtu7eXtdn55+LJtGOWbnbuyvm77Sg9rBAgQIECAQBSQAPZ7QIAAAQIECAxWoCjODhd4e3hq9Nvjo6PbC1l2fObg0dCJ8Y08PDo6jA2+MwxruGv/Jz7/yGAr4uybFIidiGXn4lSjER4BbiJAgAABAgQIENgJgVos1o3PdqIerjlYgTLZu5CHBG9I9mZV0ndpoagleyV6B3sHnJ0AAQIECIyXgATweN1PrSFAgAABAqMhUBTPCBW9sijaV5bdGEshKXzo4E/zPIwSDo+PzvKpu4pi151nHv7cY6PRoPGuZZFn3gE83rdY6wgQIECAAIEhFhCLDfHNOc2qzc2864Xhcc7VyN48i6N6Lw/J3vPC30KneUaHESBAgAABAgRWCkgAr/SwRoAAAQIECOyYQPHsosiuCZe/JiviA6RbWXjE2aNh4e7w+WaeNe5uZPnde/7jLQ94p3AQ2dpUjuxd4xSrt+XB3QjgNbAUEyBAgAABAgQGLdCJxU6K0da5btxXJnEdoO3cVCZ7Q4I3PAupM7I3u7xVtEKytzO5U0nCnAABAgQIEOijgARwHzGdigABAgQIEOivQPhW/PPCGePnmiIkhMOj0LKlmYNPh8Twt8LiN7OQFA7zu/efP3Uk/6ObT4Rl0+kLrO5U7J4pb+TeAdzVsECAAAECBAgQ2F6BU8Rikr3bezvWvFoxMzO1kB1/WStfuiwke1/VLrJXhzeqxGRvfPqRiQABAgQIECCwrQISwNvK7WIECBAgQIBAHwTOConhK8J5wieOFM6y5k9aS+G9wvc2ytHCxd15vuube4vsr/PDt4Z3DZs2IZCSwKvnEsCbQLQrAQIECBAgQKDPAikWWx2jSf72GXqjpytmDp4zPzX1yqLVuqzIildlRX5ZMzt6aXii0d6VY68N792oqf0IECBAgACB/gpIAPfX09kIECBAgACBHRAI3Sq7sqJ4RRgh/Ipw+Y9kxVI2GxbCSOEfhtndWV6NFm40Gnfv+8QtD4Uy06kFUgdjFh65nTodT32UPQgQIECAAAECBPoqsCoW68Zofb2Ik60pMPfBqy9ot9uvytrty7I8JHuz/LLZonhhtrRUOyb8RSLXW/OwSIAAAQIECOy0gATwTt8B1ydAgAABAgQGJhBGCv9qOPmvhs6Y6+Jo4Va7lR0/dOCJ0Glzd9aI7xYuQnJ4191nnPOCe/KPfnRxYBUZ7RPnIbkuATza91DtCRAgQIAAgVEWqGIxid8B38Pi+uv3NmcfvSTLQ6I3y14V/pYI8/yy1tLiOd1Ll0lemd6uhwUCBAgQIEBgaAUkgIf21qgYAQIECBAgMCCBc0Pi9+3hhcJvr86/lDWPPbgwe+jgd2JSOGQ7784b4RHSrda38sO3PTmgOozUacPIaQngkbpjKkuAAAECBAiMk4BYrP93s/jQdc+Zbc9dlrVjkjcLj3AuLmvO/uiikPSdWjmSV7K3//rOSIAAAQIECGyHgATwdii7BgECBAgQIDDUAqGjJyY4Xx2Swq8uu3jaKx4hfSTPiyN51vh2q8iOnHHG8+/LP/ax+aFuUL8rl2fT/T6l8xEgQIAAAQIECGxQQCy2QaiTdytmZqYWGsde2iry8Ajn4rIiD8nerLhsdnH2/NV7h78JVhdZJ0CAAAECBAiMrIAE8MjeOhUnQIAAAQIEBi0QOoHKR0iHvqBrspAdjlMYGdA6fujg92JSOCvyI/lU9u1GVhzZ037GA/nhw61B12lA51/rkYJlefhhBPCA4J2WAAECBAgQIHAqgVostl7MNtHZyxC35/Pvv+qCdp5dWhTt8Bjn7NK8KC5tFscuKlrFnu4Leida6VS/abYTIECAAAEC4yQgATxOd1NbCBAgQIAAgYELhM6lqXCR8Hi47KLQkXSoCCnfmBpu5UfnZ2cO3JPl+ZGw7UjeaBzJd019e/9/uPlHA69Ufy/Qo2MxlwDur7GzESBAgAABAgQ2IdAzFusRs23ilCO8a3Pm15/fzucvbbTzS4tGcUl4ZPOlzfdfeXGI08/oPr45JHqrXK+M7wjfalUnQIAAAQIEtiAgAbwFPIcSIECAAAECBJJASPruDcuvCe8Pe00sK1qt8nN85uCToXcujBbOvp018iONkBzeu699JP/jL/4iHTuE89ih2O1UbOT5dNHtTRvC2qoSAQIECBAgQGCMBWIsVmveijitVj52i8VH3vXs+RP5JUW7dWl4dPOloYGXhCTvJe1i7twYmrarH2PXbg0iQIAAAQIECPRDQAK4H4rOQYAAAQIECBBYS6Aozgn9U1eEzVeE945l8RnRs83wOXTwJ0V8jHR4t3BIGodHSRdH9p+z/zv5Rz8Ttm7L1E3wnuJqG93vFKexmQABAgQIECBAYAsCG43J4n4jNey1uP69587PHr+0XeTh0c3FpeGLh5eE7yJeOjvX+qWu10i1qFtrCwQIECBAgACBHROQAN4xehcmQIAAAQIEJlkgdGw9N3TNPTeMXbgyOsRHSTePNovwGOkHQ4fXd/Iiu7ed5/c1pvJ797Xa9+WHb3typ7zaRXshz/N9O3V91yVAgAABAgQITLJAjMXGof3FzMyZc9lTF7eLVkj05uU7ekPC95LZ408/v2pfyPJ2E73dhXFoujYQIECAAAECBLZdQAJ428ldkAABAgQIECDQWyB0c+Wh0+tFoefrRWH5ujAyOGsvhdHCYfeQGH4slN2bZ/l9MTncyBv3tXdP3dvHdwzH0SJrjSxZDNskgHvfNqUECBAgQIAAgUELxFis15Tit6HKllaPbs4uamftlxVFflEIcC8K8e3FzeLoC8p4N7YkxLllpYeq5r2IlREgQIAAAQIERlNAAng075taEyBAgAABAhMmEPrIzg9NPj90lb0j9pOFkRNZdqIVE8PHQ972u+F9aPeGUbr35Y3s3qn29H27szO/nx8+3JfRIkWWn1grMzxht0FzCRAgQIAAAQLbLhBjsW2/6CkuWNxww/SJYz+8sNVYuqhM8hbtkOTNQ8K3eHl4dPO5y4d3Er3LBZYIECBAgAABAgS2QUACeBuQXYIAAQIECBAgMCiBkBg+MwyhuDyc//LQ4VY+SrqdLWRL2dGl4zMHH4yjhUPy9r5Vj5N+qlafU+d2i/ZiFjLLJgIECBAgQIAAgR0QiLHYqacY0/V9PG3x4WvPm1ucvyi8n/eiEA2+LFzgoiIvLmoefSA+sWZXFr6TGC9bXbjvlz91q+1BgAABAgQIECDQU0ACuCeLQgIECBAgQIDAaAuUHXJF8dIwj5/31B8nffx9B37Szor7ijy/d2mpdf+JdvbdB5qz97/ltjt/0qvV7Xax2JD/7UWjjAABAgQIECAwcIF2Eb7dN8CpuPHGxol7//KFrWLpZXkYyRtH9IaUbjmid3Zh/tnVpcOrSVIdQnAZ/s9EgAABAgQIECAwxAISwEN8c1SNAAECBAgQIDAIgdCh99xw3ufmRfGOqUae7QvJ3YvPOjP72W++/fhSu7h/oVV8f7a19NCxhcWHHpqbfzgMJwlvIjYRIECAAAECBAjshEB4yksaAXzqJ7esU8Hi9647q9mce1mjHd7PW5Tv5Q0jevOLmkduf0mID/fEQ6vEbkrvpvk6J7WJAAECBAgQIEBgKAUkgIfytqgUAQIECBAgQGAHBMLjpBtZ/prpRvaas/Jd2b6pqez8vaEv8OfhidHnn7cDFXJJAgQIECBAgACBILDhEcCPXPWmc886c8+Fu/PdLw5jdl8c3sv74iwvwnLx4tmnZp8TNcunNndZw5busgUCBAgQIECAAIFxEZAAHpc7qR0ECBAgQIAAgU0KbLizb2llN+EmL2N3AgQIECBAgACBLQgU7WJFAviPXvmyZ77puedecN6uPS88Y7rxwl2NxoWhg+9FeZ6/OM+KZ8Zhwu1umjdEfBsO+rZQSYcSIECAAAECBAgMlYAE8FDdDpUhQIAAAQIECOysQM8xIK3uG992tnKuToAAAQIECBCYQIH8ydnnfOvqN/+b/bsaF+xpNC6YyvOzw1s8sjDPwtNbwkeGdwJ/LTSZAAECBAgQILCugATwujw2EiBAgAABAgQIFBLAfgkIECBAgAABAjsmkD8997wzdjWua4SEr4kAAQIECBAgQIDARgQaG9nJPgQIECBAgAABAhMs4BHQE3zzNZ0AAQIECBDYcQGx2I7fAhUgQIAAAQIECIyagATwqN0x9SVAgAABAgQIbLOAEcDbDO5yBAgQIECAAIGagFishmGRAAECBAgQIEBgQwISwBtishMBAgQIECBAYIIFWq0JbrymEyBAgAABAgR2WEAstsM3wOUJECBAgAABAqMnIAE8evdMjQkQIECAAAEC2ypQtIptvZ6LESBAgAABAgQILAuIxZYtLBEgQIAAAQIECGxMQAJ4Y072IkCAAAECBAhMhECe5Se3c2np5DIlBAgQIECAAAEC2yPQIxbrGbNtT21chQABAgQIECBAYAQEJIBH4CapIgECBAgQIEBgEAI9Ur09L1PML/YsV0iAAAECBAgQIDB4gWJuYUMX2Whst6GT2YkAAQIECBAgQGCkBSSAR/r2qTwBAgQIECBAYPACxez84C/iCgQIECBAgAABAj0FiuaJnuUKCRAgQIAAAQIECKwlIAG8loxyAgQIECBAgMCEC6RRJO05nY4T/qug+QQIECBAgMAOCqRYLMVmO1gVlyZAgAABAgQIEBgRAQngEblRqkmAAAECBAgQ2CmBomkE8E7Zuy4BAgQIECBAQCzmd4AAAQIECBAgQGCzAhLAmxWzPwECBAgQIEBgjATy/NRjSTb63rkxYtEUAgQIECBAgMDQCGwkFttITDc0DVIRAgQIECBAgACBgQtIAA+c2AUIECBAgAABAqMtUMx6BPRo30G1J0CAAAECBEZZQCw2yndP3QkQIECAAAECOyMgAbwz7q5KgAABAgQIEBgqgTgQeK2xwIV3AA/VvVIZAgQIECBAYLIE1orFYuy2gYe5TBaW1hIgQIAAAQIECJQCEsB+EQgQIECAAAECBNYViJ2OayWH1z3QRgIECBAgQIAAgS0JxBhsrQTwlk7sYAIECBAgQIAAgbEWkAAe69urcQQIECBAgACB3gKbSegWrXbWPrHY+0RKCRAgQIAAAQIEBiYQY7AYi2102kyMt9Fz2o8AAQIECBAgQGD0BCSAR++eqTEBAgQIECBAYKACseNwdedhMTs/0Gs6OQECBAgQIECAwMkCq2OwXnHayUcpIUCAAAECBAgQmHQBCeBJ/w3QfgIECBAgQIBATWB14jdtajdPpEVzAgQIECBAgACBbRJYKwZbK2bbpmq5DAECBAgQIECAwJALSAAP+Q1SPQIECBAgQIDAoAXW6kDMO+OA47yQAB70bXB+AgQIECBAgMBJAjEGq8dkJ+0QCtaK5Xrtq4wAAQIECBAgQGAyBCSAJ+M+ayUBAgQIECBAYEsCa40+2dJJHUyAAAECBAgQILCugBhsXR4bCRAgQIAAAQIE1hCQAF4DRjEBAgQIECBAgMCyQDHnEdDLGpYIECBAgAABAtsjIAbbHmdXIUCAAAECBAiMm4AE8LjdUe0hQIAAAQIECPRRID1y0COg+4jqVAQIECBAgACBDQqkGCzFZBs8zG4ECBAgQIAAAQITLiABPOG/AJpPgAABAgQIEOglkOcr3ybXfnqu127KCBAgQIAAAQIEBiiwOgZbHaMN8NJOTYAAAQIECBAgMMICEsAjfPNUnQABAgQIECDQT4E0siTlfrvzcJH2E8f7eSnnIkCAAAECBAgQ2IBAjMHS1/K6sVmnIMVuGziNXQgQIECAAAECBCZMQAJ4wm645hIgQIAAAQIEegms7lhcvY8E8GoR6wQIECBAgACBwQusFYN1k8GDr4IrECBAgAABAgQIjKCABPAI3jRVJkCAAAECBAhsRWAzjw5MnYvFk7Nh9Emxlcs6lgABAgQIECBAYBMCMfaKMVicUky2kcM3E+tt5Hz2IUCAAAECBAgQGD0BCeDRu2dqTIAAAQIECBDYdoFiqZ21nvQe4G2Hd0ECBAgQIEBgYgVi7BVjMBMBAgQIECBAgACBzQpIAG9WzP4ECBAgQIAAgQkQiI+EXv1Y6PYTT09AyzWRAAECBAgQIDAcAin2SqN/6/HZcNRQLQgQIECAAAECBIZVQAJ4WO+MehEgQIAAAQIEtkEgJXnrl8q7qd96aZa1jh1fWWCNAAECBAgQIEBgYAJrxV69YrVeMd3AKubEBAgQIECAAAECQy8gATz0t0gFCRAgQIAAAQI7J5A6E+PIk/ZRCeCduxOuTIAAAQIECEyaQIy96qN/J6392kuAAAECBAgQIHD6AhLAp2/nSAIECBAgQIDAWAjknZ7FOEsJ314Naz0pAdzLRRkBAgQIECBAYBAC68VeMWbrJofTwiAq4ZwECBAgQIAAAQIjKSABPJK3TaUJECBAgAABAlsXWC/ZW3YqrrpE2yOgV4lYJUCAAAECBAgMTmB17NUrPqtffb3Yrr6fZQIECBAgQIAAgfEXkAAe/3ushQQIECBAgACBUwrUOwxXLldr8V1z7WOzpzyPHQgQIECAAAECBPojEGOv9L7fNI9nXhmr9edazkKAAAECBAgQIDBeAhLA43U/tYYAAQIECBAgMDCB1lMhAdwuBnZ+JyZAgAABAgQIEOgIhJirjL2AECBAgAABAgQIEDgNAQng00BzCAECBAgQIEBgkgTSiJM8dkQ+2ZykpmsrAQIECBAgQGBHBGLMFWOvOKVYbEcq4qIECBAgQIAAAQIjKSABPJK3TaUJECBAgAABAoMRSB2MeXi2YB5+xHmc0qMG28eergr8JECAAAECBAgQGJhAirlSDHZybJa2DKwKTkyAAAECBAgQIDDCAhLAI3zzVJ0AAQIECBAg0E+B1I2Ykr6rzx23t584vrrYOgECBAgQIECAQJ8FYsyVYrPVp06x2lrbV+9vnQABAgQIECBAYPIEJIAn755rMQECBAgQIEBgUwKpkzEetHTUCOBN4dmZAAECBAgQIHAaAvWYqx6LncapHEKAAAECBAgQIDCBAhLAE3jTNZkAAQIECBAgEB/vvN4UHwUd90h7pd3bjz+x3mG2ESBAgAABAgQI9EEgxVwpBktxWXpdx1qXOFWMt9ZxygkQIECAAAECBMZLQAJ4vO6n1hAgQIAAAQIENi2QkrxrHZi2xw7IpcePrbWbcgIECBAgQIAAgT4JxJirnvxd77QpVltvH9sIECBAgAABAgQmS0ACeLLut9YSIECAAAECBHoKpNEisaNxvU7E9hOzWbGw1PMcCgkQIECAAAECBLYuEGOtGHOtNcVYrZscTgtr7aycAAECBAgQIEBgIgUkgCfytms0AQIECBAgQKASqCd7Vy+XnYtht/SowXJeFEYB++UhQIAAAQIECAxQoHziSoi56jHYcly2fOHVsdvyFksECBAgQIAAAQKTLiABPOm/AdpPgAABAgQIENiEQOxobD3mMdCbILMrAQIECBAgQGBTAjHWqid3N3WwnQkQIECAAAECBAgEAQlgvwYECBAgQIAAAQI9BcrHQXceK5hGoMQdlx5/ouf+CgkQIECAAAECBLYuUI+1UgwWX9fhac9bt3UGAgQIECBAgMCkCEgAT8qd1k4CBAgQIECAwAYEqscLruxgTJ2NaSTK0uNHN3AmuxAgQIAAAQIECJyOQIq1UuyVYrF4rrgck8Jp2+mc3zEECBAgQIAAAQLjLyABPP73WAsJECBAgAABAlsWSB2PsbOx9ROPgN4yqBMQIECAAAECBNYQiLFWSvCmGGyNXRUTIECAAAECBAgQ6CkgAdyTRSEBAgQIECBAgEAaXRI7IMtPpyeymF/I2k/OAiJAgAABAgQIEOizQIyxYqwVp2q0bycOi+vdtHC52Q8CBAgQIECAAAECawpIAK9JYwMBAgQIECBAYLwF4rvk0lQleKv1WnHa3J2nbUuPGQXcRbFAgAABAgQIEOiTQIqxUszV67RpW/le4NoO9diuVmyRAAECBAgQIEBgAgUkgCfwpmsyAQIECBAgQKAusJwGXi4tE8JhNc2Xt8TRKHm2+LgEcN3EMgECBAgQIECgHwKLjz1Rxlr1c6V4LM3r2+JyLDcRIECAAAECBAgQqAtIANc1LBMgQIAAAQIEJlxgrQ7E9MjBNG89/sSES2k+AQIECBAgQKD/Aq2fVl+ySzFXmq++0lox2+r9rBMgQIAAAQIECEymgATwZN53rSZAgAABAgQIbFggPU4wdUDGDselx45u+Hg7EiBAgAABAgQIbEwgxlgpuduNvdIznzd2CnsRIECAAAECBAgQyCSA/RIQIECAAAECBAisEIidjrHDMfY1pv7G7rzclmXtnz8VfrRXHGeFAAECBAgQIEBgCwIhtooxVhWLVefpxmCduKyM0bZwCYcSIECAAAECBAhMhoAE8GTcZ60kQIAAAQIECJy2QOyEjFM9IZy12tnST5+sNvhJgAABAgQIECCwZYEytgoxVpzqcVeKxbZ8AScgQIAAAQIECBCYGAEJ4Im51RpKgAABAgQIEFhfoFfnYvfRg+HQtD2NRFn84c/WP6GtBAgQIECAAAECGxZIsVWKtWLs1Y2/ukvLp0vblkssESBAgAABAgQIEKgEJID9JhAgQIAAAQIEJlggvd83EaT1ctRJKgzz1R2Mcb/Fh39a28MiAQIECBAgQIDAVgRibJVisXSeegwWl7vJ4bTQ2XH1cel4cwIECBAgQIAAgckUkACezPuu1QQIECBAgACBFQKrOxfTxrKjsbOyPBq42nvpkcfTbuYECBAgQIAAAQJbFFj8YfXlutUxVz0ei5dYK27b4uUdToAAAQIECBAgMEYCEsBjdDM1hQABAgQIECAwKIE0qmS5QzLLlo4ez9pPzw3qks5LgAABAgQIEJgYgRhTtY493U3udmOuVSN9JwZEQwkQIECAAAECBLYkIAG8JT4HEyBAgAABAgTGU6AaaRK6HsNC6ndMy2kUSpwvPGwU8Hj+BmgVAQIECBAgsJ0CMaaqx1gp7op1SMsxKRz3MREgQIAAAQIECBA4lYAE8KmEbCdAgAABAgQIEOh2SEaKbkI4LKdHFSIiQIAAAQIECBA4fYEYU6Xkbj3WSmWnf2ZHEiBAgAABAgQITKKABPAk3nVtJkCAAAECBAisIVCOPEm9jp196mNNUidk2mXxoZ+tcSbFBAgQIECAAAECGxVIMVWKsVLMFY+vx2Lletipvn2j17AfAQIECBAgQIDA5AhIAE/OvdZSAgQIECBAgEBPgfR+39UbYwdk7Fxc+am6G2O3Yzyu9fjRrFhcWn2odQIECBAgQIAAgQ0KxFgqxlQxtkqp3bS0Ig6rwrCTzrpWLHfSjgoIECBAgAABAgQmRkACeGJutYYSIECAAAECBNYXqPcp1pdXH7XcMZllRaudLT7y89W7WCdAgAABAgQIENigQIylYkyV4q8Ua/U6PO0Tt9WXe+2rjAABAgQIECBAYHIFJIAn995rOQECBAgQIEDglAKpA7IcDRxHpXR6GlOHY5x7D/ApGe1AgAABAgQIEFhTYMX7fzt7nRx7pehrzdPYQIAAAQIECBAgQKArIAHcpbBAgAABAgQIECBQF0jdjCnpm7ZVHZLLj4ZefPinaZM5AQIECBAgQIDAJgViLBXjrvITfvSKveIpU2y2ydPbnQABAgQIECBAYAIFJIAn8KZrMgECBAgQIEBgPYFenYtxJHDZKRkOTNtT5+TiIz8LZcV6p7SNAAECBAgQIECgh0CMoWIsFacUW9VjrvQ0lvqhKRarl1kmQIAAAQIECBAgUBeQAK5rWCZAgAABAgQIECgF8k4PZJylTsblzsiqpEwKhx2K+YVs8fEnyBEgQIAAAQIECGxSIMZQMZaKsVdK9qalFTFYZyXFaJu8jN0JECBAgAABAgQmTEACeMJuuOYSIECAAAECBHoJpM7E1NEY91lrudpWbU37LHgMdC9WZQQIECBAgACBdQVSDJViqpQETgel8rjeaznFcGl/cwIECBAgQIAAAQJRQALY7wEBAgQIECBAgMC6AqkjshwNHEendHof4yx9Fh9+fN1z2EiAAAECBAgQIHCyQIyhUjzVCbHKWKscEdwpSLHYyUcrIUCAAAECBAgQINBbQAK4t4tSAgQIECBAgACBIFDviIwg3Q7KsFBPBC9879GwzXuA/dIQIECAAAECBDYqEGOnKoaqjqi+bLccb8XSery10fPajwABAgQIECBAgIAEsN8BAgQIECBAgACBkwRS4re+oT76JG2vOirzrD17Ilv48dH67pYJECBAgAABAgTWEYixU4yhVo72XT6gHnul0hSDpXVzAgQIECBAgAABAr0EJIB7qSgjQIAAAQIECEywQOpYTO+UK5O8wSOWL3+qvVLHZNznxP0/mmA1TSdAgAABAgQIbE4gxk7LI3yXY6vleKsTe1WbykRxvEJndXMXszcBAgQIECBAgMBECUgAT9Tt1lgCBAgQIECAwNoCKeFb36NXB2PaLyZ/6x2UJ+7/cf1QywQIECBAgAABAusIxNipHkstf7Hu5Ajs5JKQCE7Z43WuYRMBAgQIECBAgMBkCkgAT+Z912oCBAgQIECAwIYFqo7J0CUZFlI/44rlcKa4z+IjP8+KuYUNn9eOBAgQIECAAIFJFYgxU4ydqjirUlgRX3XirvSFu0l10m4CBAgQIECAAIHTE5AAPj03RxEgQIAAAQIEJlIgdUKmzsoVHZVFkZ34/qMT6aLRBAgQIECAAIHNCMSYKQ+xU5xSPNWNr2JZmRouN/tBgAABAgQIECBAYNMCEsCbJnMAAQIECBAgQGAyBMpOyNgjGaayY7LT7OXOyc622EUZdoj7eA9wB8mMAAECBAgQILCOwPx3q/f/ljFUJ9lb/6JdPLSMuapwq4q11jmfTQQIECBAgAABAgTqAhLAdQ3LBAgQIECAAAECpUCnr3Hd5bgxjU5J+5/4XvUuu/JAPwgQIECAAAECBE4SiHHTwvd/XJanGCrFVGnnVB7X11pO+5oTIECAAAECBAgQWC0gAbxaxDoBAgQIECBAYIIF4iiUtaZyVErYXI4G7oz4LZfDAfGo+Gk/PZctPvqLtU6hnAABAgQIECAw8QIxVooxU4qfynn4cXKMFbf0ntaL2XofoZQAAQIECBAgQGCSBCSAJ+luaysBAgQIECBA4DQF6t2P9ccTruiwDOeO2+bvr0a0nOalHEaAAAECBAgQGGuBGCt146mU+A0tLuOqcr4ceS0vjTWJxhEgQIAAAQIECPRZQAK4z6BOR4AAAQIECBAYJ4GyIzIORwlTGu1bLsf18tPZFrsxww5xnxMSwJHIRIAAAQIECBDoKRBjpTKuirFTGVFVX6KrYqvqkHK5CrOqGKvnmRQSIECAAAECBAgQ6C0gAdzbRSkBAgQIECBAYOIFOn2OpcNay3HjcsdlRbb4yE+zYn6xWvGTAAECBAgQIECgKxBjpBgrxSnFVymWSjul8vo+q5fTvuYECBAgQIAAAQIEeglIAPdSUUaAAAECBAgQmGCBtd4pFzsjy3EqYaE7aiUtl9uyrAwu20U2/32PgZ7gXyFNJ0CAAAECBNYQKGOkECvFmKmKrVJcFech0urGVqvTwssnXCtWW97DEgECBAgQIECAwKQLSABP+m+A9hMgQIAAAQIETkOgTASH41Z3XMZTxW0eA30aqA4hQIAAAQIExl6gfPxzGUHVEr+h1d2YqrNt7CE0kAABAgQIECBAYKACEsAD5XVyAgQIECBAgMDoC5QdknE4SpjKUSmdJq3uqCyTwp2RKwv3PZJlRWdHMwIECBAgQIAAgTI2ijFSNco3fZ2u+vJciqsiUxV7VWDlqGB2BAgQIECAAAECBDYpIAG8STC7EyBAgAABAgQmSaBK+1Yt7rWcHkGYujBT52Vrdj478eBPJolKWwkQIECAAAEC6wrE2CjGSClequZVhLUcUy2fotpSrdeXl/ewRIAAAQIECBAgQKC3gARwbxelBAgQIECAAAECPQRSR2U1cqXaYcVyKKr2ybK5b/2gxxkUESBAgAABAgQmUyDGRilOSgndFXFUKCzXw15p+2RKaTUBAgQIECBAgMBWBSSAtyroeAIECBAgQIDAGAqkUSjrNW31qN/UgVk9qjC8B/ieH2ZZ23Og1zO0jQABAgQIEJgQgRATxdiojJ9C0NSNm0Lzl5PCp077biRGmxBRzSRAgAABAgQIEFhHQAJ4HRybCBAgQIAAAQIEKoGyYzL2VIap7LCM8xWfzrayW7Pap92cz+YfeDQeYiJAgAABAgQITLRAjIlibLQcR62KnYJON7aqNoV9jQSe6F8ajSdAgAABAgQIbEFAAngLeA4lQIAAAQIECEyCQKcPsmxqfTkWlJ2YsXMybChHtMSy2mf+Ww+FNRMBAgQIECBAYLIFYkxUj5Gq5TQSuJrXheL2NNWXU5k5AQIECBAgQIAAgfUEJIDX07GNAAECBAgQIEDgJIF6h2XcWK2HeVjofsryPJu/5+HwGOj2SedQQIAAAQIECBCYGIEQC8WYqPtluZNipkqi/oW6ibHRUAIECBAgQIAAgYEISAAPhNVJCRAgQIAAAQKjL7D6HXNlojf2TIap6qCMyd/4X5xXn3JbLAs7xH2K+YVs/n6PgY4uJgIECBAgQGAyBWIsFGOiMn6KMVIZOS3HT1UcVZXGfeLU6/HPq2Ozak8/CRAgQIAAAQIECJwsIAF8sokSAgQIECBAgACBdQQ6/ZLlHiuXqw7NqhNzOSE8/+0frHM2mwgQIECAAAEC4y2QYqF6jLQcNVVtXxlTjbeH1hEgQIAAAQIECAxeQAJ48MauQIAAAQIECBAYeYF6p2RsTNWBGbouw0J3NEt3OW2v5nP3PpJlLY+BHvlfAg0gQIAAAQIENi8QYqAYC1WxUydGqsdMcURwWu+ODV6+TDzORIAAAQIECBAgQGCzAhLAmxWzPwECBAgQIEBgggQ28qjBagTLctI38nSTwqEjs3oM9I8mSE1TCRAgQIAAAQKVwNx3f1Q9/jkmdzvJ3rhlRUK4XFtfbCMx2fpnsJUAAQIECBAgQGCSBCSAJ+luaysBAgQIECBAYIsCZWdlzO6GqUzyxvmKT5UO7iaFw8a4X/NbHgMdzUwECBAgQIDAZAnMhVdhlDFTjIlC0+uRUrWeyquYKeqUieLJYtJaAgQIECBAgACBPgtIAPcZ1OkIECBAgAABAuMqEDsp05SWYydmnKqOzbAWVstPLAufGGzG+Yn7wuiXxVZYMhEgQIAAAQIEJkMgxj4xBqrHRHG5Gy+Fhbgcp25MVa12ymorFgkQIECAAAECBAhsQkACeBNYdiVAgAABAgQIEFgW6PRXdhK+Vbdl2akZdlnRsRm6NIsTi9n8/R4DvaxniQABAgQIEBh3gRj7xBgoRknp8c9ljBQa3o2Zym2VRIqtxt1F+wgQIECAAAECBAYvIAE8eGNXIECAAAECBAiMtMDqd86VHZad4Sond2LWR7B0ksLhgLhf8+7vj7SDyhMgQIAAAQIENiMQY58yVoqxUDiwioyqebWeysM8FsR9wkJnsSrolHVXLBAgQIAAAQIECBDYgIAE8AaQ7EKAAAECBAgQIFAJ1Dsk68txa9XBGUe4hEc/dzov4z7pc+K+H2et43PVifwkQIAAAQIECIyxQIx5YuyT4qA0L2OksJJGBNcJ4j5pqi+nMnMCBAgQIECAAAECGxWQAN6olP0IECBAgAABAgROEqg6M6ukbxyvUq13kr5hZTkZHFZa7Wz2G9876RwKCBAgQIAAAQLjJlDGPCH2idHRctJ3+YtxvWKocTPQHgIECBAgQIAAgZ0TkADeOXtXJkCAAAECBAiMjEC/HgM9d9f9ZZJ4ZBquogQIECBAgACBTQrE5G4Z83S+DJeSvfE0J31hLpbFHcp59WW6aq36uToGq2+zTIAAAQIECBAgQGAtAQngtWSUEyBAgAABAgQInFKg01/Z3S92YKZHGvbq4Fz6xfFs/oGfdPe3QIAAAQIECBAYN4EY68SYp0r81kf9huioFivV2706pqpvs0yAAAECBAgQIEBgswISwJsVsz8BAgQIECBAYMIFVndQVp2bVYdmpKnW43uAqxEt9cdAx23H77x/wgU1nwABAgQIEBhngRjrpPio/vjnMjYKDY/b4lQmg8NaWq9Kl7endXMCBAgQIECAAAECmxWQAN6smP0JECBAgAABAgRKgbJjM/ZchqnqwAxJ304nZrmt053ZHQkcCuN+8/c8nLWbJ8rj/CBAgAABAgQIjJNAjHFirFPGRjH2CY1LKd5uTBTKujFT3CFM5RNUqkU/CRAgQIAAAQIECGxZQAJ4y4ROQIAAAQIECBCYDIG13kHX6bfsIlQdnqGLM2woR72ELXGfGHiW+y61s9lvPtDd3wIBAgQIECBAYFwEyhgnxDr12KdcDoFRPUaqt7eMj+oFneW1Yq8euyoiQIAAAQIECBAgsEJAAngFhxUCBAgQIECAAIGNCKzuqIzr5aiWsFAf3VKWx7LyU22JZbNf9xjojTjbhwABAgQIEBgtgRjjlPFPjIi6Sd/qS3BV+ckxU72FcR8TAQIECBAgQIAAga0KSABvVdDxBAgQIECAAIEJFig7MmN2N0xlkjfOV3xS0jfOO/uEhaWfHctO/PBnocREgAABAgQIEBgPgRMP/7SMcaovvqWYaFUsFJrajZXiQlyPieJq0U8CBAgQIECAAAECfRGQAO4Lo5MQIECAAAECBCZDYK1HEaZOy9R9WXV8hrWwofwEnrhPegx03K9553cnA00rCRAgQIAAgYkQaN4VR/9W0dByzNOJhcqYqIqNIka1VxUf9cJZK+bqta8yAgQIECBAgAABAqsFJIBXi1gnQIAAAQIECBDYkEBK+qad03qV8K26NWNZ+Qk/UlI4vRd47ts/yIr5hXS4OQECBAgQIEBgZAViTBNjmxj3lLFOCHyq2KcTC4XyKi6qJ4FXNjduNxEgQIAAAQIECBDoh4AEcD8UnYMAAQIECBAgMMECZWdm7OEMU9nRGecrPjEZnIfRv/Fnta0RFoqFVjb71w+GEhMBAgQIECBAYLQFYkwTY5sY43TjnTL2qeKgVNadx4Uwefxz5eAnAQIECBAgQIBAfwUkgPvr6WwECBAgQIAAgbEXqD+SsNN3WbY5LZfdnGGlGvUS1rrLyx2iVVdols3eef/Ye2kgAQIECBAgMP4CMaaJsVCKccrlegwUAqJuTFTuWcVFSSbun6Z6rJXKzAkQIECAAAECBAhsRkACeDNa9iVAgAABAgQIEFhXYEXnZdkFupz0jQeufiTi4qO/yE488tN1z2kjAQIECBAgQGCYBWIsE2OaboI3LMSYJ07x5/JnOVJaXip384MAAQIECBAgQIBAXwUkgPvK6WQECBAgQIAAgckQWD0ypezYTB2dYaVcDxRxHjtAy8RvWCvXO+XVPnn29H/9zmSgaSUBAgQIECAwlgIxlqmP/I2dbSnOWY6DUlmYx41xn7DQWawKOmXdFQsECBAgQIAAAQIETlNAAvg04RxGgAABAgQIECBQCdQ7LqvOztjBGf4LK+Un7BbLy3fidcrqCeG5e36YLR19GicBAgQIECBAYOQEYgwTY5kqBup86a0b71QxULmtU1ZPFKfGxu0mAgQIECBAgAABAv0UkADup6ZzESBAgAABAgQIlALLid9qZEvZ8Vl2jXaSw2Gv5QRxO3v6L+4hR4AAAQIECBAYOYEYw+RZuxbXVLFObEg92dtdlu0duXuswgQIECBAgACBURSQAB7Fu6bOBAgQIECAAIEhEFjrMdD1fs0y8Rt+lI84DPNq5G/sEA3L4VPN86x51/1Ze25hCFqlCgQIECBAgACBjQnE2CXGMI0y1bsc25TxTfimW/Vlt868dsq43eOfayAWCRAgQIAAAQIE+i4gAdx3UickQIAAAQIECEyeQOzIrE9lx2bsDA0L3REvYYeqwzN2elYdn2VCOCwXi0vZ8TvurZ/CMgECBAgQIEBgqAVi7BJjmBjXVDFNSvp2Yp5Q+zL2WRUT1RsVt5sIECBAgAABAgQI9FtAArjfos5HgAABAgQIEJhggbKTM/aChqlK/qaOzzSv0sFppEzVKRq35dnxr4UEcKs9wXqaToAAAQIECIyMQIhZYuyy+otuVYxTlS7HOZ04qAqRQowUt5sIECBAgAABAgQIDE5AAnhwts5MgAABAgQIEBh7gdWPgU4NTp2aZfdnWCmTweFHo7scR8rUk8Ih9/v0XDb7ze+nU5gTIECAAAECBIZWIMYsMXaJMU9KAp8U58REb4p9OinfuH+vaa2Yqte+yggQIECAAAECBAicSkAC+FRCthMgQIAAAQIECGxIYHWHZlqP89gxGgPPuBxHxsSpLKt3jIbip75yT2druYsfBAgQIECAAIGhE4iRTBmzhIWU4C0fAd2JYtKTTqrYJ0Y81ZTmqUGr11O5OQECBAgQIECAAIGtCkgAb1XQ8QQIECBAgAABAisEYmdmerRh7BSNU1XWKQ8rVSdpVR4D0thRGj9LPz2WNe97pDzGDwIECBAgQIDAMArEWCXGLCl+SV9yi/FO9S7g5ZinEwpVieKwPcVIw9gudSJAgAABAgQIEBgfAQng8bmXWkKAAAECBAgQ2BGB+iMLUydnqkhcj+NeytEx5VKV9C3Lw49q1Exne2f9qduPpMPNCRAgQIAAAQJDJxBjlTTy96RYJtS2in9OjoHqDYn7pKkeS6UycwIECBAgQIAAAQJbEZAA3oqeYwkQIECAAAECBHoKlB2fsUc0TGXHaJyv+JRp4c7Imfq2PDvxwGPZ4qO/iIeaCBAgQIAAAQJDJRBjlBirVJFMFcOkp5lUZfFnPbYJy1VIFObVtqFqkMoQIECAAAECBAiMpYAE8FjeVo0iQIAAAQIECGyvwFojVzr9nVUnaViJHaDx0YiNcl6tp7LUkRq3PfkVo4C39w66GgECBAgQILARgRijxFgl/F8Z3yw/8jnGOOkTopq4T7lf3LPav1xY9WOtGGrVblYJECBAgAABAgQIbEpAAnhTXHYmQIAAAQIECBA4lUDVzbm8V1yvOkCrjtJyPZat+C91mFblc99+KGs9Mbt8EksECBAgQIAAgR0WiLFJjFFiDJOSvVVcU49qYiyT4pwwDytxvT6tXq9vs0yAAAECBAgQIECgHwISwP1QdA4CBAgQIECAAIGTBMrOz9DrWe/krMpiZ2goDyvxc3IHajhVq5098effPOmcCggQIECAAAECOyVQxiYhRinjmfAzzrtxTCeu6cY4tUqW+6+KiWqbLRIgQIAAAQIECBDou4AEcN9JnZAAAQIECBAgMJkC9UcYxo7O+lR2fMaO0tg5mjpMww6Nsuu0Kqs/QjHu1/zGA9nS0afrp7FMgAABAgQIENgRgRiTxNikjGViPBM+ZezSiWViTBM72UJx+KyMeeoVjtvTVI+dUpk5AQIECBAgQIAAgX4ISAD3Q9E5CBAgQIAAAQIEegqUnaCxhzRMZYdpnKdPKFjuPK3KY3BadaCGvcIImye/eHcoMREgQIAAAQIEdlagjElCbJLilOVkbycRHEKXcvRvqOZyrFPVOZXvbAtcnQABAgQIECBAYJIEJIAn6W5rKwECBAgQIEBgwAL1kSyx8zNN3Y7QzoiYasTMyg7SagRwZ8RM2YkaRgHfHUYB//zJdBpzAgQIECBAgMC2C8RYJMYk5ZfZOjFKjHm6Ty8JNUqxznJZHAdclacKx/U01WOmVGZOgAABAgQIECBAoF8CEsD9knQeAgQIECBAgACBNQVSJ2fZcRr2Sh2icV4lg6tO0moEcNoetraL7NgXvAt4TVgbCBAgQIAAgYELlLFIiElitFLGLuGKyyOAO4ngUFaPb2LME6cUA1VrfhIgQIAAAQIECBDYHgEJ4O1xdhUCBAgQIECAwMQKdPo/y07RiFB2nobC2DFaJX/jvFovE8ThRyxPZc1vP5QtPn5sYv00nAABAgQIENg5gRiDxFikils6sUtYieupLCxWMU2KZzpRTyyPU5pXa34SIECAAAECBAgQGLyABPDgjV2BAAECBAgQIDBRAvWRLqs7PON62WEa5vEdeuV6LOv8t7KsU14U2RNGAU/U75DGEiBAgACBYRGIMUgeYpEqVqmSuTF+qWKWFMFU5d04JuwQ96lP9fV6rFTfxzIBAgQIECBAgACBfglIAPdL0nkIECBAgAABAgTWFIidnrGzM3V+lt2lYaUaPVON9k0jfuN8xWOhw3rznoezxUePrnl+GwgQIECAAAEC/RaIsUeMQcoYJZw8xi/1p5RUMUsnxklxTSfaCasrYp9+1835CBAgQIAAAQIECKwnIAG8no5tBAgQIECAAAECpyVQH9kSO0DrU1ovO0ZjR2rYmJbTOJq43u1UDVvzIgvvAv6r+mksEyBAgAABAgQGKhBjjxiDVInfKjbpGbOEWlQxTFWduE99qq/XY6T6PpYJECBAgAABAgQI9FNAArifms5FgAABAgQIECCwpkDZYdoZBRxH/sapKgvzWB5W4iclflePAp6774fZiUd+Vh3oJwECBAgQIEBggAIx5oixR6/Rv2VZJ27pxjCdupTxTFguywdYP6cmQIAAAQIECBAgsJ6ABPB6OrYRIECAAAECBAictkB9hEtM9NanuF6OlImdp+G/GJRWn2r8TPVzORmcSp80CrjOaJkAAQIECBAYkECMOVL8kb6c1o1fythlOX4p9+vENHGf+lRfr8dG9X0sEyBAgAABAgQIEOi3gARwv0WdjwABAgQIECBAYE2BsuM0jvYNe3RHyKTlWB42xM/JHa0xUZxlc9/7cTb/0ONrnt8GAgQIECBAgMBWBWKsEWOOMl4JJ6sSwbX4pBOv1Ef/lvvG8rh/jGm2WgnHEyBAgAABAgQIENiCgATwFvAcSoAAAQIECBAgsL5AfaTL6o7QsoM0dqmGhW7Hajhdo9NlGsviY6BTMjg9EvoJo4DXR7eVAAECBAgQ2JJAjDXWikPiiWOsEjvUesUy9QvXY596TFTfxzIBAgQIECBAgACBQQhIAA9C1TkJECBAgAABAgTWFCg7S2PWN0xV8rfqQK3ep1clhOuJ327natw/fE48+JPwTr5H4uEmAgQIECBAgEBfBWKMEWONKv6IsUf8b3n0b/mFtFAQE7pl7BK2lfvGH3E5lHcWqwI/CRAgQIAAAQIECOyAgATwDqC7JAECBAgQIECAQKezNECUHauxI7X8L46qOfUo4KM3fT3LWm2MBAgQIECAAIH+CYTYIsYYMSapfxktPYUkXmi90b8Sv/27Fc5EgAABAgQIECCwNQEJ4K35OZoAAQIECBAgQOAUAvVHHqaO0ThP5acaBVzuG/fvJIjj+tIvnsye+uo9p7iyzQQIECBAgACBjQvE2CLGGL1ij+qVFCEaCRs3Mvo3niNNKeZJ6+YECBAgQIAAAQIEBi0gATxoYecnQIAAAQIECBBYU2BFB2vsUO0keeujgKsROD3eBfxnd2et5ok1z20DAQIECBAgQGCjAjGmeCLEFr1G/8ZYJE5G/25U034ECBAgQIAAAQI7LSABvNN3wPUJECBAgAABAhMgUB/5kkbElMnfTofqqUYBL79jL3bLxkRxlhXzC9mxW++aAD1NJECAAAECBAYtEGOKGFukOKP7pbRQYPTvoPWdnwABAgQIECBAoN8CEsD9FnU+AgQIECBAgACBTQms6GgNK90O13CWONImTr1G48Sy41//Xrbw2NFyHz8IECBAgAABAqcjEGOJGFOsFW/Ecxr9ezqyjiFAgAABAgQIENgpAQngnZJ3XQIECBAgQIDAhAn0GgUcCVL5ZkcBV6OC29kvPn3HhElqLgECBAgQINBPgRhL5Fm7HOlbfTEtpoLTyN84D+vxS2rhx/JTSeJ6VYsUy8S1TlG5oV5e7eknAQIECBCjOdoIAABAAElEQVQgQIAAge0RkADeHmdXIUCAAAECBAgQ6CGQOknjvPp0OljDWlyPwepao4DjHvG/Ew8+ls0eebjH2RURIECAAAECBNYXiDFEjCVSXFE97rmT9A2lcdrI6N9qz/WvZSsBAgQIECBAgACB7RKQAN4uadchQIAAAQIECBDojvaNFPWO0jRCphxd09lWjrAJBbEsjrxZ3SEbj6/2ybJjn/t6VrRa8bQmAgQIECBAgMCGBGLsEGOIKtZY/jLaSXFHCDqM/t0QqZ0IECBAgAABAgSGREACeEhuhGoQIECAAAECBCZVICWC47z6VEnfaiROHHVTjbxJI3PiPikZHMviqJylo09nT335yKQSajcBAgQIECBwGgIxdogxRIwlypgiBBnll8vCuVLcYfTvacA6hAABAgQIECBAYMcFJIB3/BaoAAECBAgQIEBgsgTSaN/Y6pjMTVMqj6NwYnn8VCN8QxdsLAuflPitRuZ03sPX2fbkl76VtZ9uptOZEyBAgAABAgTWFIgxQ4wdVsYYMbZYfupI2mb075qM/z97d+JkS1red/69Sy+39w2aBrFpAWQhyQILBWOMZUmj8ezyWBF2OCbmf5pwzExYkscKhS1LHoOELSFACAQCIVYJuhHdIGh6vbfv1nffq2qe3/O8T+abefKcqrq37q2qc77Z1Mk33y0zP6e474n3qTcPBQgggAACCCCAAAJ7VIAA8B59Y7gsBBBAAAEEEEBglQQU7NWmffzUoK8dxQpgC/5aWv8NV+KofuStX71eTn3i694PLwgggAACCCCAwCIBfWbQZ4f8fJGfQdonj+RnDuX5pxCrFJ9G4vOK+lc7NgQQQAABBBBAAAEE9poAAeC99o5wPQgggAACCCCAwAoI5Gpf3WpOnPrEq5baKM92fpzpidU441XAOr7wjb8rV1864X3wggACCCCAAAIITAnos4I+M+izgz5zxBNGtPI3jvs8fSapedaRfzbRi9LKj2S3z/yazQ4BBBBAAAEEEEAAgV0TIAC8a/ScGAEEEEAAAQQQQGBKwCdXrUDTqpqA1T5W3tQ8P4485cfqnJiEPVg2ysmP/mUp6xtTXZOHAAIIIIAAAqsuYJ8R9FlBnxn0mSM/R8Rniv6JI/45xMuHn0nyc8qqM3L/CCCAAAIIIIAAAntbgADw3n5/uDoEEEAAAQQQQGBpBRatAvbJVXvxSVnbx0ocrcyxvOa4W5Xj+TFVe/3oqXLm808vrRs3hgACCCCAAAI3L6DPCPqs4H9glqt7/bNFvwI4P2/kimA/VgvVs1Oz+vfm/WmJAAIIIIAAAgggcGcECADfGWfOggACCCCAAAIIILBNAU2watNegWCfcFVak7X1eLhaJydlSzn7Z39dbpw6p+ZsCCCAAAIIIICAC+izgT4jdIFcy40VwNrXzxH2GSM+aww/g6iD/GyiNBsCCCCAAAIIIIAAAntZgADwXn53uDYEEEAAAQQQQGDJBbayCtiDvTbjqsnanJBtVwErb7BSx6ZnN66vlRMf+QITtUv++8PtIYAAAgggsFUBBW/12UCfEfTZYvz5wT9j+GeNGvjVH5zVzx/dZxHrg9W/WxWnHgIIIIAAAggggMBuChAA3k19zo0AAggggAACCCAwENDkbLvp2CdfbZ+rgGPCdnbi1idnVa9O1l75wbFy7ivPtd2RRgABBBBAAIEVFdBnAn020OcK/6xgDvMCwR4MtvL87JGfRVq68WeWtow0AggggAACCCCAAAK7LUAAeLffAc6PAAIIIIAAAgisuEC7CjgpIvCradnYcuVNPyEbk7IqbQO/MaFrwWHPLeXUn3ytrJ+/VHthhwACCCCAAAKrKKDPAvpMoM8V8Rmhf3qIf+aonzhUlo+CzhXB+Wlk/NmkdZz6LNOWk0YAAQQQQAABBBBA4E4LEAC+0+KcDwEEEEAAAQQQQGChQAZ9s1JMuCrQGz+xwtemYy0jVgNrn+mY0M2yjctXy4k//Kvsij0CCCCAAAIIrKCAPgvoM0EGdcefG/LYV/rai3/WMKf2M0jLpnw2BBBAAAEEEEAAAQT2sgAB4L387nBtCCCAAAIIIIDAighMrZyJSddYd+Npm4b1idm6OkcfZLtVPKO8XAGsCdxL3/5hufjtF1ZEkttEAAEEEEAAgVZAnwH0WSCDurHKN1b6zvssoU8f+ZkjPoNYMNgylB5vU59hxnU4RgABBBBAAAEEEEDgTgsQAL7T4pwPAQQQQAABBBBAYFOBdoI1J1ZjIrZfjdOu/lVZHNcJ23rsE7h2tpMf+1LZuHJt0/NSAQEEEEAAAQSWR0Bjvz4D6HOFPhPkCuDx54ZYARyfJcafN6SRn0U8rRc2BBBAAAEEEEAAAQT2uAAB4D3+BnF5CCCAAAIIIIDAqgi0k6t5zxkIjonbnLzNlb8RDPbJXJ/WrcfWuF0BrInc9XOXysmPfzW7ZY8AAggggAACKyCgsV+fASLgm58TYvXv8LNFrO5Vnq8QtkT+EZnytOU+juJ16rNLW04aAQQQQAABBBBAAIHdEiAAvFvynBcBBBBAAAEEEEBgoUBOtGqvCdbY1wlZO4jJ3Mj3xzpaXq4CzpU8Ks1g8Pmvfrdcef7YwnNSiAACCCCAAALLIaAxX2O/Pj/EZwGtANZnhf7zwiAwrM8aVuY/1ir2/WcQqagvNgQQQAABBBBAAAEE9oMAAeD98C5xjQgggAACCCCAwIoIbLaSRhOvOSGbgd0+6Ds7sdsGhg9sbJQTH/1i2bixviKa3CYCCCCAAAKrKaCxXmO+xv587HMb+B0HguNpIhko7j9rLNLb7DPLoraUIYAAAggggAACCCBwuwUIAN9uYfpHAAEEEEAAAQQQ2JZAO6GaK20i8BurfT1dV+b0E7Y5aRsrfvUhN376FcCa7L1x4mw5/QkeBb2tN4TKCCCAAAII7DMBjfUa8/0Pweza/bHO9tmh/XyQTwlRnj5bZKBY+fFZQ4HgSOv2lZdb+1kl89gjgAACCCCAAAIIILCXBPQ5lw0BBBBAAAEEEEAAgT0r0E645kXmKuCYsI0J2lzNozJN4uZEbuTHdK7qn/3i35bL33s1u2KPAAIIIIAAAkskoDFeY73GfI3+8ZlAnxWmPh/0nyGiftQbc6iMDQEEEEAAAQQQQACB/SRAAHg/vVtcKwIIIIAAAgggsCICUytrfGLWZm+7CVqf1M1VPZrk7Sd2Mxh8yOtr8ldlUa7HQb72nz5X1i9dXRFNbhMBBBBAAIHVENDYrjE+H/2c478+PegzQR53fyhmLLEqOMpUr/ucUT9zjOWmPqOM63CMAAIIIIAAAggggMBuCxAA3u13gPMjgAACCCCAAAIIbCqgyVhtPimbQWA78Ila7e3HV/xaHT3mMerGJK4me5XTf2dwKRvnL5cTH/kLr8cLAggggAACCCyHgMZ2jfFTY78+C8Qng/YzgeXoc4J/Vqhp1aufNaSidmwIIIAAAggggAACCOw3AQLA++0d43oRQAABBBBAAIEVEdhshY1P5PqEbUzkxqqemLydXOVjdSNIHNO/F7/9Yjn/5edWRJPbRAABBBBAYLkFNKZrbPfPB/bqY34d+2PFrz4HFF8JnH845p8dalg4gsCLjTb7bLK4NaUIIIAAAggggAACCNw5AQLAd86aMyGAAAIIIIAAAgjcgoAmdLX5xG5dmeNpTdxaQmHdeIxjpOO4z2tXAOck78k/+qty4+S56JhXBBBAAAEEENiXAhrLNabHZ4QI9CqtsT8/G8TnAH066PP8qH6G8LbWhtW/+/JXgItGAAEEEEAAAQQQGAkQAB6BcIgAAggggAACCCCwdwTGK200OZtblmUw1x/3aBXaVT4qi2Ob7PV0Boo15WuPgr6+Vo797mdLWVvPbtkjgAACCCCAwH4SsDFcY7nGdI3tGejNcT8/B8RnAn0uiM8Geaw2SmvLzxae9pz+pS3rc0khgAACCCCAAAIIILA3BQgA7833hatCAAEEEEAAAQQQqAJTE651ntYnen3i1lLa96t8FfDNn36ytw8O1zJrc+3VU+X0p76BNwIIIIAAAgjsQwGN4RrLfaXvYOyf9zlg+JnBVwHbfbefLcYMU59FxnU4RgABBBBAAAEEEEBgLwkQAN5L7wbXggACCCCAAAIIILCpQDtBqwlZDwDbi0/g2l5BXuX5RHDkemA4jtsgcaz4Ud3XP/d0ufKDY5uemwoIIIAAAgggsHcENHZrDNdYbsO/r+6NzwAW/LW8qc8CXq7PCpbIzw7Ky88UujsdsyGAAAIIIIAAAgggsJ8F9FmYDQEEEEAAAQQQQACBPS2w2cqbmLiNCVul8/GO+fjHmBQergTSpG+uGD5QNsprv/+5sn7l2p524OIQQAABBBBAIAQ0Zmvs1hjuY7+9+thuB/3nAMvpjpWvzwL954UIAi8W3ewzyOLWlCKAAAIIIIAAAgggsDsCBIB3x52zIoAAAggggAACCNyCgCZ6tWmfK3Y8bTk+6etTwDnROwz8Dh8NXcusn7WzF8uJj3xB3bIhgAACCCCAwB4X0JitsdtX+Xpgt34GGKSHnwX0WUF//BVBYIWLh58ldMvKY0MAAQQQQAABBBBAYL8LEADe7+8g148AAggggAACCKyIwHgFTk7Q+uStTfbGXhO3udon8nxiOHJj0te8+jxNDCuIHBO+F771fDn/9e+tiCi3iQACCCCAwP4U0FitMTvH/lzV68Fdu6V+nLdgr9XSser610T4mB+fFaJ9fF6QhI7bbfzZoy0jjQACCCCAAAIIIIDAXhbQZ2A2BBBAAAEEEEAAAQT2hcBmE7ExkRsTuEr7amBfCdQHeocrgFW3Tg5bA5Wd+tiXyvXjZ/aFBxeJAAIIIIDAqglojNZYHeO5jd0+kseq3n7cjwBvHMf4nkHi9rPCIrvNPnMsaksZAggggAACCCCAAAK7LUAAeLffAc6PAAIIIIAAAgggcNMCmsTVFpO5sYLH0wrqWiImhXPiV3mzE8Q5WazWart+7UY5+jufLhtXr3vfvCCAAAIIIIDA3hDQ2KwxWmN1P97n2D5vnI/x3VcCW6Mc7729fS7QXlvu44hXBBBAAAEEEEAAAQT2twAB4P39/nH1CCCAAAIIIIDAygmMV+S0E7YqiwndOsFrBwr6Kk8ffLtVQpYTx5mnevqJutdPnC3H/9PnmAxeud8ubhgBBBBAYK8KaCzX2Kwx2sd1G7NzVa8Hd618aqzPulbd2tl/vre0EnXrU5HRlmUd9ggggAACCCCAAAII7CcBAsD76d3iWhFAAAEEEEAAAQRcYGpitp28Vbqb4LV0BndjH2WxGjhXDWnSOIK/WffCMy+U05/9FuIIIIAAAgggsAcEXv/sN4vG5nyah8b6XNWbY7f/IZcV5Hjf1m0/G+TtKG+8TX3GGNfhGAEEEEAAAQQQQACBvS5AAHivv0NcHwIIIIAAAggggMCmAjmBG5O7Ecj1tAV1fRK4C+7qOH9ygrg9tnStqwng05/8ern8vVc3PT8VEEAAAQQQQOD2CWgsPvXJb/iqXY3vEfjV+K2xvB3H2+P6h131s4CO4rNBrP5VWlvu44hXBBBAAAEEEEAAAQSWQ4AA8HK8j9wFAggggAACCCCwcgLjFTrtBK7KfJLXXnzC1/Y+QWxKU4+HPNRMHluyq3ugbJTX/uNny40zF1fOlxtGAAEEEEBgLwhoDNZYrDHZx3CN8T5Wx3jtY7hdaPwBV/whV4z1Ua66+VnAkjz6eS+8qVwDAggggAACCCCAwG0XIAB824k5AQIIIIAAAggggMDtEhgHgXUeTe7mFhO9kZfpfBykJow1KdxPHMfkcT5OMiaMS1m7eKUc+51Pl40b69ktewQQQAABBBC4AwIaezUGayzux/FmvLZr0MTWYEy3ihrrcxzPdtrn1qa7PDVgQwABBBBAAAEEEEBgSQQIAC/JG8ltIIAAAggggAACCPTB35js1XqfDP7Wx0T6GqB+YjgnjMePj1TLDASr7OorJ8vJP/gixAgggAACCCBwBwU09moMzj/e6lb52gDfPv5Zsdt2TNf4n+O4xvTu84BVVFpb7uOIVwQQQAABBBBAAAEElkuAAPByvZ/cDQIIIIAAAgggsHIC41XAOaHrk711oleTxD4BbHufRDYlfRAeB36HxzFlnP2c+9p3y7kvP7dyvtwwAggggAACuyGgMVdjb/e1DjaSd4FgG9/7dDOe24Xm+K6gsEby+Axg6QXB3/Fnid24X86JAAIIIIAAAggggMBOChAA3klN+kIAAQQQQAABBBDYFYGtTNzGRLAmiTUJXCeL7Wq71USaJPbjyIuVRX09nePkx75Urr50YlfukZMigAACCCCwKgIaazXmauzNgG43Lo/Gaw/yZp7VjzFewd8Y7zcz28pniM36oBwBBBBAAAEEEEAAgb0mQAB4r70jXA8CCCCAAAIIIIDALQto0ldbTP5qajjSWi2kdPdYSE0sW8YgKGx5h5RnNSM4HBPIarextlaO/fs/8+8itEM2BBBAAAEEENhhAX3fr8ZajbkaexXQ1T7HZR+jffzug70xjtcx3Wp7favj7b2PSOtSlceGAAIIIIAAAggggMCyCxAAXvZ3mPtDAAEEEEAAAQRWRGC8gicneH3yt50EtqlfD/pqbzb9Y58jX98hOPNYyWxjZTfOXCzH/sNnSlnfWBFZbhMBBBBAAIE7JGBjq8ZYjbXdWOxjcB27bVBXfozVozHcLrH7Ay9r4+O/5enzQfuZoL2T8WeHtow0AggggAACCCCAAAL7WYAA8H5+97h2BBBAAAEEEEAAgYHAooncnAC2eWCfFtbeJ5etBw8EW2432ZxlVilWCGvyuE4mW96V7x8txz/6hcG5OUAAAQQQQACBWxPQ2KoxthuzB2PzxDitcjtl/kFXO8Yr6LvZ54Jbu1paI4AAAggggAACCCCwdwUIAO/d94YrQwABBBBAAAEEELhFAU3+ast9pmOCWAFgTQ7XQLD2HuTVZHIzoay016n11J81Ov/V75Yzn/2mumRDAAEEEEAAgVsU0JiqsVVjbAZ0u/F3NC7rT7Jyta/+eCvG8hjvlbb/dVumc98VkEAAAQQQQAABBBBAYIkFCAAv8ZvLrSGAAAIIIIAAAqsoMF7tkxO+2qvM90r7fxH0zVW+OdEcE8kK/A6/D1jl7cTyqU9+vVz4m++vIjP3jAACCCCAwI4JaCzVmKotxmv90VUdoy1n3vf+dk/uqGN6ju3RR4z52ad3Xl/GnxXaMtIIIIAAAggggAACCCyDAAHgZXgXuQcEEEAAAQQQQACBgcB4YlcTwdraCWEP5mrC2DI1RdyvNorAr8rH3wcc9VQeq4HLxkY58f/Z4yqfPxYn4BUBBBBAAAEEtiWgMVRjqcbUYUA3x9sYcxd97283lvuYrj/WIvi7rTeByggggAACCCCAAAJLJ0AAeOneUm4IAQQQQAABBBBAQALjIHCrkmWaMG4fIelBYKs4DvzGhHRORNveQ8ZxjvUbN8rR3/l0uX7ibHsK0ggggAACCCCwiYDGTo2hGkszaBvjcjPm2mAdf3jVBIKt3/zDrRzLtdeWY3wcDV8XlQ1rcoQAAggggAACCCCAwP4WIAC8v98/rh4BBBBAAAEEEEBgiwJ1XthCt7Fp7z/2or2vCLaEB3t17EHeCPbqQ7OCwrn6yCeb7UX5mkxev3S1HP13nyprl65YDhsCCCCAAAIIbCagMVNjp8ZQjaWDgK6Nx924ax2Nx2SN1fa/GLutXGn7n//ovEpry30c8YoAAggggAACCCCAwOoIEABenfeaO0UAAQQQQAABBFZOYLzSJyeCfZJYk8cmoh+fSNbejvLxzrnaSJPKHvj18lqnrac+rNL1U+fKsd/+07JxY91y2BBAAAEEEEBgnoDGSo2ZGjvb4K+PvRpj/UdjbozBGotzXI6ncsR43I7hSqsv7bXlPo6iLNPsEUAAAQQQQAABBBBYdgECwMv+DnN/CCCAAAIIIIDAigvMCwKLJSeKfdJYk82WiFVGmmjWcaz6jYnnOO4moGt9lXl7S1x54Xg5/nufnZl0XvG3gNtHAAEEEECgE9CYqbFSY2Y3Dmv81U+OxX4c467G2XgCRz229llP4V4rjh9VrFufiozxZ4Gsxx4BBBBAAAEEEEAAgWUVIAC8rO8s94UAAggggAACCCCwUCAnh9vJZ59ItgIP/lprfVjOQHAGfrtHUlo91e8noeN0F57+YTn58a8sPDeFCCCAAAIIrKqAxkiNldo0Fmfg18dUy2jH2Rh76x9gqa7Xt5p1DI699VODv+qPDQEEEEAAAQQQQAABBOKzMw4IIIAAAggggAACCCy1QE4M503mBHHula90TiTPTjh7aLiuQBoHhSMIrPYKFms787mny9m/+o6neUEAAQQQQACBENDYqDFSm8ZMHzv1x1SWHoy9VqBAsP7zP7Sq9bOe2mnI1T63TOe+y1dFNgQQQAABBBBAAAEEVkyAFcAr9oZzuwgggAACCCCAwKoKLAoCd6uADScnpDVd3E9Gz05ED1coxeS12uR5Tn7sS+XSsy+tKjf3jQACCCCAwEBAY6LGRm057kZAN4K/3bhq5Qr66j/ltWOxj7Mq9+BwBICzL+9XL82WY3KTRRIBBBBAAAEEEEAAgZUQIAC8Em8zN4kAAggggAACCCAggfFEcK4JysBtTiz7iiM7yMc754ojTUJrIZFPSFt//ihKm6COyemYkFaen2d9oxz7D58pV54/plOzIYAAAgggsLICGgs1JhYbGzVG+vjZBXfreGs6ytcYq7F2MLY2Y3KEhgn+ruwvEzeOAAIIIIAAAgggsCUBfbZmQwABBBBAAAEEEEAAARPQpLTNMfvEs08w54Sz5eUqpX5iWoFfrU7KiesMBMfEtvrauHajvPrbnypXXjyBLwIIIIAAAispoDFQY6HGxJngr/6Iylf69uOsgr+x8jfGWQ8WWx3l59hsSe9rJUG5aQQQQAABBBBAAAEEtiBAAHgLSFRBAAEEEEAAAQQQWB4BTT63Wx7lXmUxsRyBXVX34K/lDyakLb8/Vp2on6uEow8LAl+5Xo7+v58sV4+ebk9LGgEEEEAAgaUX0NinMVBjYftHVu2YGSt9x497rscmpDHYx+IuCNyzaazVlvs4IjicDuwRQAABBBBAAAEEVleAAPDqvvfcOQIIIIAAAgggsLICi4LA3QS16WjCWZPKOTntaTseB351HHk1CGytPBBchdcvXy1Hf+sT5fqJMzWHHQIIIIAAAsstoDFPY5/GQG3deKoxso6Tg/HTKsSTNVSe9fvxNMdk9ZNjdfarfW7jMT7z2SOAAAIIIIAAAgggsEoCBIBX6d3mXhFAAAEEEEAAAQQ6gfEEsSaUtbUTy0r7yqOan4FgfYjW5LX+6wK/NjPtK4Wtke+tLOtb9bJ24XJ55TctCPz6BR2yIYAAAgggsLQCGus05mns09aNjz429uNj5mss1X8eGG7q+5hcjzNN8FeibAgggAACCCCAAAIILBYgALzYh1IEEEAAAQQQQACBJRbYahDYJ6UV2G2CugrujiesIxjcTGz7dHZMfItx7ezF8upvfLysnbu0xKrcGgIIIIDAKgtojPOxzsY8bQryKngbY2g/RvqYWfNVI8bQqO9/QFXHXJUR/JUkGwIIIIAAAggggAACWxcgALx1K2oigAACCCCAAAIIrJhArjLSRLSmn9sJ6Vy15Hk2ud1PZOcjonMSu05cWx1tN06fLy//xp+UtYtXVkyT20UAAQQQWHYBjW0a4zTWaevHUY2hMY7OjpcZFM5xM4PF/djrAeA6ji67IfeHAAIIIIAAAggggMBOCBAA3glF+kAAAQQQQAABBBDYtwKLVgHrpnLyWvPOvgrJ9u0jKnPFksqV7ie2RxPatS/1qe9FfNUejbl++ZoO2RBAAAEEENj3AhrTNLbl991r/PSvTNBeY2czfuZ4qbFT+TGW1voabS0vx1xL+lgsIKW15T6O+vI8Zo8AAggggAACCCCAwKoLEABe9d8A7h8BBBBAAAEEEECgm1hOipxYzr3ylfaJak1J24GvZLK8WNEUgd8u3xKHVMfqxqR2Xz8DylePniqv/NtPlo2rN9Q9GwIIIIAAAvtWQGOZxjSNbTFeDoO/8cdRdWy0MVJjp8bMLvCrPLv7zNf4qXL1lVumc9/lqyIbAggggAACCCCAAAIIDAQIAA84OEAAAQQQQAABBBBYVYFFK4EzaKspZs0zx/cY9kHdnLSOYHA/oZ1B4HH97O/qS8fLK//uU2Xj+tqqsnPfCCCAAAL7XEBjmMYyjWkxTvbB3H7Vbx/8HfxhVAZ+zSDH0Db4m/1pry33caQxeZyTJewRQAABBBBAAAEEEFhtAQLAq/3+c/cIIIAAAggggAACCwRyWln7DNpGOiah45GWsZJJH6z7lUzDdDcBbo19grvp78rzR8vR3/lTgsAL3geKEEAAAQT2poCCvxrDNJblWNn/UVT7B1Mx/rXBX0/bbUXgV2NpjK2K6XpfVpZjr+5eeWwIIIAAAggggAACCCCwNQECwFtzohYCCCCAAAIIIIDACghMrSTKCWefjLZZ6ZyU1oR1n+4Du7HaNyayNZmtCe5uwttaZNC47e/Sd1/hcdAr8PvFLSKAAALLJJCPfdYY1o5p7UremXHQKsYfQtl4aBhZ19vX40xvFvydGrOXyZd7QQABBBBAAAEEEEDgVgQIAN+KHm0RQAABBBBAAAEElk5gswnlnJCOCeoa0G0Cu/nYZ4WHu8DvKAistv1Kpwgka/XUy7/5J2X98rWlM+WGEEAAAQSWS0BjlcasduVvO7blVx/EOBhjpdL6T2U+Vtqx/1GU8qxxlNbVv1a2aNtsrF7UljIEEEAAAQQQQAABBFZBgADwKrzL3CMCCCCAAAIIIIDAtgTGE8s5Dd3tfRI7g7jDCexczZQT3dr3E91R1yfEuwnv/hGX/p3A/+bjZe3ilW1dL5URQAABBBC4UwIao16xsar9zl+NjxnM9THOMmI8jDGwHRO93kTwN4LAMSbqXroxd3Rj4zF6VMwhAggggAACCCCAAAIImAABYH4NEEAAAQQQQAABBBCYEBhPMI8nolWuPNv5qqWc+NY+J79zwjtXO0V+DRhr8nsqCHz0VHn5//njsnbu0sRVkYUAAggggMDuCWhs0hh11caqGANjLOzHwH6M05g39VSMHCP7MdD68LGU4O/uvbOcGQEEEEAAAQQQQGDZBAgAL9s7yv0ggAACCCCAAAII7JjAZkFgnUgfqDMIrL0mtDUp3q4E9rTlaiI8g8DdqmDLb1c9qe31E2fKy//3H5Xrr1+wIzYEEEAAAQR2X0Bjko9NNkZprMo/hGqDvzm2tcFfjYFd0NfSPkba63Ds7O9P5dpyH0d9cDiP2SOAAAIIIIAAAggggMB8AQLA820oQQABBBBAAAEEEEDAJ7hbhpyQ1j4DxJGuwV878IluK88gsE+O20y3r3ay/C0FgV8/3020t+cnjQACCCCAwJ0W6P8w6fyWgr+abIoVvrkiuI6Jlq8xUMFf/4Mp22sM1ZYBZU97Tv+S422fQwoBBBBAAAEEEEAAAQQWCRAAXqRDGQIIIIAAAggggAACJjCeeO4mq2uZjv3HXnJCO1b9xoR3u/Ipg8NbCQKvnbtoj9q071k8epr3AQEEEEAAgV0R0BiksUhjUox1+aSLGPNihW8z3tlV5hinP4Dq0pavuuPgb9unblDH7TYeg9sy0ggggAACCCCAAAIIIDAtQAB42oVcBBBAAAEEEEAAAQQWCuQEdTtxHemcEI+Jbl8FZbPdMQGuYHKdDLfeu0lxy4uA8ezjoNcuXi6v/JuPlysvHl94PRQigAACCCCw0wIaezQGaSxqx7v2sc/5lAsf0+wCtPcgb453dpBjYbZTufdn9Ret/N3p+6E/BBBAAAEEEEAAAQRWRYAA8Kq809wnAggggAACCCCAwC0JTK1A0uS1Np/E1oR3l54OAscqqZgYbyfKIxA8Pwi8fvlqeeW3PlEuP3/Mz8cLAggggAACt1tAY47GHo1B7TiXQVz/wyUr0BjWjmkK7sa4pj9qurXg79TYe7vvm/4RQAABBBBAAAEEEFgGAQLAy/Aucg8IIIAAAggggAACd0RgaiJak+La2snxSEderozSB++cENe+myC3/L5sfhB44+r18uq//WS59OxLOh0bAggggAACt01AY43GHI097fg2FfzVGJbjWDe2WSKDwhkobsfGtk/dhI7H29SYO67DMQIIIIAAAggggAACCEwL6DM6GwIIIIAAAggggAACCGxRYNGEdDuhrbQmvWOfgd3pIHBOkkeAOOvOPg564/qN8upv/2k5+1ff2eLVUg0BBBBAAIHtCWiM0VijMacd1+YFfzV26cf+N/hDJw8MW6baxVgYY2Lb57wrWzTWzmtDPgIIIIAAAggggAACCPQCh/skKQQQQAABBBBAAAEEENiKgCamNzY2uqqazM4jpX0WvJYrCLxuaU2A+xS48jVLXrc1a3ko1z51ZerN6vhuw9rrUMcbft7jH/3Lcv30+fKG/+ED3XmzP/YIIIAAAgjcjIBGphMf/0p5/c+f9iFHxxrvtL+dwV/1324Ef1sN0ggggAACCCCAAAII3JwAAeCbc6MVAggggAACCCCAwIoLLAoCi8YnsBXQtW07QeCcCLcQs3qZDAIrWxP010+dL2/6l79YDtx1yM/DCwIIIIAAAjcjsHF9rRz9vT8vF57+4cLg7yEbfzSmtU+u0N8nxRMs+nzVmbfyt70+azrYCP4OODhAAAEEEEAAAQQQQOCmBXgE9E3T0RABBBBAAAEEEEBg1QXGE9U5kd3t68opHWsyPPaRzu9LzIn0bgLd6vYT6Vm3n0jXOdWP6mui/uXf+OOydunKqr8V3D8CCCCAwE0KaAzRWHKngr8aw7TlPo40ro1zsoQ9AggggAACCCCAAAIIbFeAAPB2xaiPAAIIIIAAAggggEAjMJ6wzunrbp8BW2tzO4LAV144UV761/+lXD9xtrkqkggggAACCGwuoLHj5X/9X4vGEsVfNXblHxq1j33eqZW/3dg4urTxWDoq5hABBBBAAAEEEEAAAQS2KUAAeJtgVEcAAQQQQAABBBBAYCwwnrgeT3DnZLrybzYIHI/b7B+v2fVpnepR0C/9XzaB//yx8aVxjAACCCCAwKSAxgyNHddOnRsEf7snVFg4WGMPwd9JPjIRQAABBBBAAAEEENjTAgSA9/Tbw8UhgAACCCCAAAII7BeB2x0E1kqseDR0PhZ6uEpr/fLV8spvfrKc/5vv7xcyrhMBBBBAYJcENFZozNDYkd/Vq3FMk0T6Q6XxmBN/hBTjkFYKx3jU/1FStmn/0EnpHBuV1pb7OOrL85g9AggggAACCCCAAAII7IzA4Z3phl4QQAABBBBAAAEEEEBAE90bGxsdhCa6ddTtNWteyzVZvm5pTbJ7DeWrvG7rdW89WirzLb1h6QM1z9qs13OqxsbajXLsP36u3Dh9oTz6Sz9be2CHAAIIIIBAL/D6Z75ZTn7y6zaybHSjyzj4e9BKND5prOpWAXveML8NGGscUn3t/cfS2uK133um8mt5HrNHAAEEEEAAAQQQQACBnRMgALxzlvSEAAIIIIAAAggggIBPaN9qEDgmyzPIa6g14NvlLwgCK+R88hNf80d6PvnPP6TZeN4VBBBAAAEEiv3VUXntI18o5776Xf97oxwd5gV/+1W+NpQ0wd/MJ/jLLxUCCCCAAAIIIIAAAntXgADw3n1vuDIEEEAAAQQQQACBfSqwcyuBZ4PAIvFJey/K8g1bGBwrir3MXjTBf/30+fLU//5L5dD99+5TSS4bAQQQQGAnBNYuXilH//1nyuXvHx0Ef3PFrva+4tdGmAjw5upfgr874U8fCCCAAAIIIIAAAgjcaQG+A/hOi3M+BBBAAAEEEEAAgZUU6FZa1btXkFh5+ukn4COdq6risZualO8fwZkT87631vmIzuxH3Xu/9qKJ/hf+zz8oV148rmw2BBBAAIEVFNAYoLFgO8HfGH+G3/Ub44+NO2aYAeMce3zcsfx8rLOOteU+jnhFAAEEEEAAAQQQQACBOyVw4MKv/7KWDbAhgAACCCCAAAIIIIDADgu0j4LOrvPDd7e37/FVWj/6TuDYR1rfA6w8e2pnWfOyDd/nsfbr1sL3qlfT6kPnjr0dHDpY3vhrHywP/8J77IANAQQQQGBVBM5++dly/A+/ZIPIerfyN/8AKVf8ZjA3v/e3/UMj/alSHns9g8v6NxP8zQDxqvhznwgggAACCCCAAAII7JYAj4DeLXnOiwACCCCAAAIIILD0AjnR3QaCNWGuwGy3t9W9Fq11C02qe7J+568fqLy2WLNqh+xQOdqsthUpo/bouwgI+0y/OrPiDZv4P/6RL9pK4BPljf/sH5YDh3kQUAjyigACCCynwMYN+3f/D77oXwegO9RQorFjUfBX44vGoQz4Lgr+Kljc9Vn79fPoxTadq91yPGzzSCOAAAIIIIAAAggggMDtEyAAfPts6RkBBBBAAAEEEEAAARfQxPdWg8CaNT9Yg7r+kGgL4sbEeQR5tSo4A8KetCCw18uwcg0CK/a7rtl5bx8t9L3AV4+eKm/+P36lHH7kgWjOKwIIIIDAUgncOHOhvPo7ny5XXz7VBWl1gxpL9Oc/GhpitW98jYAHfC2/Df76Kl8bXbRKWOW2i31tqz6U5z86qOl275nKr+V5zB4BBBBAAAEEEEAAAQRuvwCPgL79xpwBAQQQQAABBBBAAAEXaIPAylCsNjelu8c2ezoe7+yBXKuZj3nWKuB41HObp8c/W75Vnn0sdPSr88Q5bJL//nvKU//qn5T7fuItymZDAAEEEFgSgUvfe6Uc/d3PlvWLVyeDvx7YtXhtPu45Ar0R3O3KLGCr8lwRnI+KVhx3auVvhH8DsE0rh+DvkvxicRsIIIAAAggggAAC+06AZ7/tu7eMC0YAAQQQQAABBBDYrwLjifB2olxplfve0/1EeztRrwn5eDxnrMzShL2OB3nWi0/YW74+8KuOtjiHBYotMPDyb32ynP7sNz3PC3lBAAEEENi3Avr3Xf+m69/2cfA3g7xdgLcZI2bGj25MibGD4O++/ZXgwhFAAAEEEEAAAQRWXIBHQK/4LwC3jwACCCCAAAIIIHBnBRTkbVcCa9I+VwJ7mFbBWi371WZJPQ56Q9/xO/iuXzu2el7fWntKbZq8tr5WBmviX/s4h/Vt6ZN/8tVy9aXj5U3/4hfLgXvu8lPyggACCCCwvwQ2rl4vR3//z8v5Z17w8UDDSIwPEcRVehz87f5oyMqUVps2b1xf40z2q/7yD5ZSKs/XHasyGwIIIIAAAggggAACCOyaAAHgXaPnxAgggAACCCCAAAKrKrDdILCCuQfnBIFlGN8LrAn//D7gmPz3SXor116PjY4atvNgsfYHyoVnXiwvHP+Yfy/w3W98xDLZEEAAAQT2i8C142f8+36vHz+rEG0fpFVQ124iV/COA7oR7LVyq9WVWZt8akTfTiNH06/1SfB3v/x2cJ0IIIAAAggggAACqyzAdwCv8rvPvSOAAAIIIIAAAgjsqkC7EjgvRGFabdpnuQK8itlu2H/6jl+V+ff91v2aFUb+Rsm0yvvvC8761oM1jv7US/SlvIO2AvgNv/bB8tD7f8LzeUEAAQQQ2NsC577+vXLiD79U1m0FcK7O1RUrQKtArvIGAV4L5Lbf6+srfz0APLv6N4PHGfzN7w9rg7+qM95UzoYAAggggAACCCCAAAK7L8AK4N1/D7gCBBBAAAEEEEAAgRUV0ER5BnmTQFPnCs36FHot18S7ngC9XlcCR+jWMhS5rZPtqq+Aryb3lY4tVgRrZbByle+rha3deu3b69qLAgjHfv9z5eKzL5Un/7cPlYNH7q59sEMAAQQQ2EsC65evldc++oVy/ps/8H/ZNQz4v+V2kRn8zVW9+pe/C/paufJz9W+UaQVw5Lerf9WfylXW9t2lJ0AI/k6gkIUAAggggAACCCCAwC4JEADeJXhOiwACCCCAAAIIIICABLYSBHYpC9pqIl4h3fhOX2/dBIEjyBuPg+4DvjlZr5YKIBc9SlrT+dbfhgUCht8LbI+E/ubz5coL9r3A//IflyM/+pSfmhcEEEAAgb0hcPkHR8ux3/tcuXHmov1Lbv/pn/V6aQruKp3B31j92wR92zKr25aPg7/Zl/rLwG6eJ/f1tL7LOm0eaQQQQAABBBBAAAEEENg9AR4BvXv2nBkBBBBAAAEEEEAAgU5gvBJYBQrVauv2CtrWY0v69/rmXo+AzsdCx2Og43HPnrY28UjoeFS0vg+4bed91r79fJah4PBjv/jT5Ylffb8tK86Hf6qUDQEEEEDgjgusrZeTn/p6Of3nT9vf8difAtUobAZotc/v7VVZBndjtW88Etof+awyq+D53qauAK7BZLVTe/XnP/VESmvLfRzFK8HfVoM0AggggAACCCCAAAJ7Q4AVwHvjfeAqEEAAAQQQQAABBFZcYLOVwArS+iS7IrfabBb+oK3oXbcVvdq3K3s1e69J+jUL9B6ylB4BHTkxea+yeBS0+qnBYE3yN30rffqz3yyXvvdKeepf/VK564mHrDIbAggggMCdFrh+8lw5+rufKVdePun/lmeAVtehcUF/oqO8CPr2AV0FhPNxzxnYbQPC7UrhbJ99a5zIwK7S2nIfR/Gaddo80ggggAACCCCAAAIIILD7AqwA3v33gCtAAAEEEEAAAQQQQKATuJmVwFoX7CuA614h4lwFrHyVx/F4lXCU5ephtdNKYW16VVJtD959uLzhf/lgefgD7/YyXhBAAAEE7ozA2a88V078ly+V9Ws3ZoK/+ZjmDOTqD326oK9dXub7yt9aprw4VnkGjRXctf/sWEFe/9FBTbd7z6wvBH9bDdIIIIAAAggggAACCOwtAVYA7633g6tBAAEEEEAAAQQQWHEBTaiPg8CahldANqbjlbDUYLWuJv0VrY0JfA/iWh3V18+aFR2yRB5rr00rg9vvBVawN3Jtp/69jdW6tlZe+89/US49+2J58tc/XA7ed4+asyGAAAII3CaB9UtX7d/dz5fzz7xg/xTr3/j4l9v/Ha//viuAG2V9IDcDvMPv9K2PfLb6HhS2a9ZefWUf6l7H/lPL8taUN94I/o5FOEYAAQQQQAABBBBAYG8JEADeW+8HV4MAAggggAACCCCAQPfYzTYQrAl4hWe1+WS8ZustSOv59qJAroLAUSfKPFBcg7r+yGdL+5S/B3dj8l/t80crgec/EvqAByIuv/jR8qZ/8eFy30+8RZfChgACCCCwwwJ69P6x3/98uXHuov+bncFZnUaB10WPfM4Ar6/ytX/c41jjQ6br3o7j3/4oU1qb+s+0H3tu/0Lgt7cghQACCCCAAAIIIIDAXhbgEdB7+d3h2hBAAAEEEEAAAQRWXqANAidGBoK7vQV0ldaPVv962l7WLZWPd1YAWGV6FLT9b1CmFcJtXbXPfnw1ce1b7bTpK4cf/UfvLU/8058vBw4rFMGGAAIIIHCrAhs31svJT3y1vP4Xz8TXuluHbfC3X7Wbq3drYNdCtnrKgwd7tVfY2PaLvu/Xir2+9v6jBjXd7j2zvhD8bTVII4AAAggggAACCCCwtwVYAby33x+uDgEEEEAAAQQQQGDFBTThPg4Ca5pesdhur4n7Gp1VAMADvLYa+KAitXo0tGoqs07wKxistvqJLVYG65HQCisoGKzSCCVrb5u199N4upTXP/90ufgdPRL6H5Uj73yTctkQQAABBG5S4PLzx/xR+9dOnPV/h/Xvbf4bnaty83HNvprXSsereiPgq3azZdlG/WaAWP37Tx0buvNN3APB3wkUshBAAAEEEEAAAQQQ2MMCrADew28Ol4YAAggggAACCCCAQAqMg8DK98Bsu7cgrfL8x150pBXAOtZK3lwF7KuCvWx2hXBflm1yxbD1oyDyqH9FhR/+wHvKG/7Hny8H773by3lBAAEEENiawPqVa+XEH3+1nP3Ks/pH1oO34+DvVh753K3+tcYK8I6DwwruKk/B4eyf4O/W3iNqIYAAAggggAACCCCwHwVYAbwf3zWuGQEEEEAAAQQQQGDlBDZbCewgmtWvQVqb47e0ggARFPZ1XiqzOrnSNxCHq399vW+zcljd+PcHW9sNa6tAsvKyf0WXz375O74a+I2/9t+UB9779uiWVwQQQACBhQIXnnmhHP/Dv+y+69fDs/YPrP8bay3bRz5n8DZX8k498ln1fRWwtdWYocBxBobV51TwN89lxd15lc6Nlb8pwR4BBBBAAAEEEEAAgf0lwArg/fV+cbUIIIAAAggggAACKy6Qq3BbhliXGzlKZx1P23F+n6/iv+13/bYrgnO1sL4jeGq1cNt25hyWkWHmB977zvLkP/tgOfTgfe0lkkYAAQQQqAJr5y+V1/7gS+XCM897ThuYVYaCrgrMZrDXDidX9W71kc/RV/SZAd88h1+AzpmJZk/wt8EgiQACCCCAAAIIIIDAPhNgBfA+e8O4XAQQQAABBBBAAIHVFsgJ+QzySiMn7hWY9bSiBdoUtbVNK8CU3ND3AdfVvR5wsDLV1I+v8vWHRfdBgizryq25uvaAsiVmVgNbPwpoXPr+q/ZI6A+URz7wbu/RstkQQACBlRfQv6VnvvKcPfL5K2X98lX7t1c58e9qpOLfa6XHq3+nHuvsAWL7t3hcpn+nM8//rbdj9ek/Kqzpdu+Z9SXHmTaPNAIIIIAAAggggAACCOwvAVYA76/3i6tFAAEEEEAAAQQQQKATaIPAmRkhX63IjU11lPYfe9GR0v5dv1aWq4CVl6t/FSyet1I489VLfr9wXof68ECzn6GUIz/25vKmX/9Quevxh6yEDQEEEFhdgeunzpVj//kL5bL9gYy2NjDrxxaYVWh2/KjnPsgbQeHBqmBro1XA0W5rj3yOc+s1AsKR6l8J/vYWpBBAAAEEEEAAAQQQ2M8CBID387vHtSOAAAIIIIAAAgisvEAGX1sIBWJzi6Bs5HjaCvKR0BHAjUDu+LHPGeDN/AwOZ9A38q2Wdaogcl5HnC/Orj4O3nWoPPbfvq889uGfichGXhh7BBBAYBUE7B/N05//Vjn9p98o69fXPPCr29ZC3FiLq3QEb5UXK3czqBtB3/xe3/77fK2+6tZ243z1myuI23Nk2s+vl9FG8HcEwiECCCCAAAIIIIAAAvtYgADwPn7zuHQEEEAAAQQQQAABBCSQwddWI0K+kZNp1fMArbeJVb652jcDuR7YtUqx0jcCvB78tTbDslhNrICw8vt+lVKZrivq6PieNz9envznHyr3vvUNOmRDAAEEll7gyksnymsf+UK5+uopv9d5q34zYLto9a+v9LWKEfQdBoAzcNzu1af/KLOmPTFKd3m1Xh6zRwABBBBAAAEEEEAAgf0tQAB4f79/XD0CCCCAAAIIIIAAAp3AokBwhGUVlG2DtRGgVVkGcnM1bz4aWsFfBXLz0c+x8rcPBkdbPUo668U5dFEqU1ttflYLMDz0/h8vb/jvf74cevC+KOAVAQQQWDKBtfOXyok/+Wo59/W/838EYz3v9lb9HjSTXNmrVcGKz/pKYEuoLFcNZ50I+Ea9SEcd0UYIuN8rLzdW/aYEewQQQAABBBBAAAEElkuAAPByvZ/cDQIIIIAAAggggMCKC2wnCCyqDOBmsHYc6FUA14PAVrMNEt/KauCD99xdHvulny2Pfvi95cChQyv+jnH7CCCwLAIba2vl9c8/U05/5ptl/eo1v61bWfXbB3frd/1aJHcqMKwAr+q2gd4M7LZ5Y+esM87nGAEEEEAAAQQQQAABBPa/AAHg/f8ecgcIIIAAAggggAACCAwEFgWBVTGCvXqtae3tUKt0PcirlB3nKuDM80c9e/50MFg9xgrhvn1ei8q05XmUvuuxB8sT/9MvlAff+w4dsiGAAAL7VuD8Mz8sJ//oy+X66fN+Dxn41UEXhO1W7yqQq8c4R9B26vt8c9WvB4G9bl0RrP6sw2ivvu0/O9Y52vNkuj2/0rkR/E0J9ggggAACCCCAAAIILKcAAeDlfF+5KwQQQAABBBBAAIEVF8jA65ihC8TWAtVTnv/Yi46UztW+kdYjntvHPk8HgHP1sHpQ+36vwK966s8T6TjXfT/6VHnj//rBcs9Tj3kdXhBAAIH9InD16Oly/GNfKpd+cLQGYSP0mkFZ3YeCrcptv+NXOR74zb3VaVf3duVNfvQR7ZRWnTyPH+vA831npdMbwd9pF3IRQAABBBBAAAEEEFgmAQLAy/Ruci8IIIAAAggggAACCIwEMvDaZkcoNoKxys86yvcfe+m/09eCtH7cB4Aj0Jv508Fg9eMrhpt99K3X/jwRArbjAwfLIx94V3nin/6Dcuj+e70OLwgggMBeFVi7eKWc/MTXypmvfLcc2NCfyAwDsn5sAdkI1MbqXaVvddWvYry5Ojj7znP5Xi+2qWy8Efgdi3CMAAIIIIAAAggggMDyChAAXt73ljtDAAEEEEAAAQQQQMAFMsDbckQYNnIyrXoepLVsBX11FCt5h8Hcra4GjsBx9pF79R1n9HNF0s+lqzl45O7y+C//XHn0Qz9lB1oPx4YAAgjsIYH19fL6F75dTv3ZX5f1y/33/OoKczVupCP42676zcBtPr45Hu8cQeFBPesoVwOPg8abrfr1c+tltBH8HYFwiAACCCCAAAIIIIDAkgsQAF7yN5jbQwABBBBAAAEEEEBAAhl0HWvU+KsHfrOeB2a9TQSBM1DbP+J566uB1Xb8OOm+f6V0Dl2fJ7tA8F1PPFze+D//Qrn/J98WBbwigAACuyxw8TsvluP/1b7n9+RZv5II8U4HfoeB2/6xzeOgbxcU9qBv1BusEh485tnOaB2rb//RQU23e89sXgj+NhgkEUAAAQQQQAABBBBYEQECwCvyRnObCCCAAAIIIIAAAghIYCoQXGOvDhTB2MjxtLeJQPDNrgbOlcTjx0qrfz0mOjc/n710j4W2gvt+7M3lif/ufeXIO96U1dgjgAACd1Tg8g+PlZOf/Ea59P1Xu0crtytx82IycKu4bBfYtRbzVvfOy1dYN/vKOm3gV+dTUDfCv3H2Nh05USfT7BFAAAEEEEAAAQQQQGC1BAgAr9b7zd0igAACCCCAAAIIIDAZBBZLhmK7vQVnPSirshqY9WN72e5qYLXv2+TjoHOv/tVzcw122AaCH3j3j5THf/X95d63vsHr8YIAAgjcboErL50opz719XLhuZe7YGsGfnXuDLpmMDaDte2+DwT3j3ru8iyIq7TqtwHfLFf/eb5I90Hd7txzEFj1OweGbAQQQAABBBBAAAEEVkTg8IrcJ7eJAAIIIIAAAggggAACVUCBgQy4tigKKCgMm4EFf9aoBWY9316U8kDwAUVnLSxheVrBG8EPleo/BXqjD6UV2PBHQHtrlSvom20VzIg+NnRNVt9PoL0aW73YNspFC8AoCPPA33t7eeJX31fuefPjtYwdAgggsLMCV189VU5+6hvlwt++4P8U6V+i+Nct/s3Kf5ky8KvjPoAbNTOom9/l2waFVWNcPuwjzqd/H5WvH215vjjq8/M496rHhgACCCCAAAIIIIAAAqstQAB4td9/7h4BBBBAAAEEEEBgRQUyQDAOBCts4IFY23sIIQMJdYWuZ1pg9qAFgSNYfMBX9qq26udP9JE1+vws12pgtWj3EVzuA8E6tffTBoItIHPBvofzofe+w1cE3/3kIyv6DnLbCCCw0wLXXjvjK37PPfPDckB/3GIniH/ZbG8HOtaWgVgvt5dcsdvuxwFeHWs7ZB3pvyxXtqeVawc69hpdOs6ntirLBZsGRAAAQABJREFUrU13eeqADQEEEEAAAQQQQAABBBAwAR4Bza8BAggggAACCCCAAAIrLjAOAidHBHH7gHDWU77/2IvCwPO+G1gB3Xjss9Xq0rHiV6uE27y+n6yrcp0lNqV0qHq5bRw4WB76+z9anviVnyt3veHhzGaPAAIIbEvg+omz5eSn/7qc+5sfWOBX/zrF1gZiuzwLsmpVbwRrI5DbBXRrELdd9dsFhb1dBHmzXOHafuWwArxRrvwM5eYf63THeSGjfdYbZXOIAAIIIIAAAggggAACKypAAHhF33huGwEEEEAAAQQQQACBsUAbcM2yPtyq4Gtsqqe0/9iLjjKtgG8Eduujna2eHhMdQeLY61j1PT/33k/fRjUysJzXpTba1H/0ENdwwJbPPfS+Hy+P/8r7yl2PPRiVeEUAAQQ2Ebh++nw59elvlHPf+LuyYf/g9EHWCMSqeZdnAVyltVrXA7We7vMUyB0HdrOur/Dt2vcB5AwOq1/v0/uOc2ZAV2W5tekuz/plQwABBBBAAAEEEEAAAQTGAgSAxyIcI4AAAggggAACCCCwwgIZbB0TdMHXWpD1lO8/NSir9HSw1/I9qBsB4qhnQV6vn8He3PeB4AwWxzn0GufzvR0OAsGHD5aH3/+u8vgv//1y+JEHvC4vCCCAwFjgxpkL5dSf/U05+7Xvlo219T7IqzBsjadmWLV93HO/WrcP/CqVAd42AKx+Iiicq4TrseVnG51DadWNdFzpOPirsqkt602VkYcAAggggAACCCCAAAKrLUAAeLXff+4eAQQQQAABBBBAAIFJgQzwtoURfo2cTKue0v5jLzrKdK4G1vHsal+rZwURFI72XqfmZVm79351LmVq72lP1rNG3oFDB8uDP/PO8tiHf7rc85YnogKvCCCw8gJXXzlZTn/+6XL+W8/PBH6Fk4HYSCs0WwOzlsjVuu0+A7+q5+kumLsgKNzVmQ3+ZkC3Dfi2aV2XtqwXR7wigAACCCCAAAIIIIAAArMCBIBnTchBAAEEEEAAAQQQQAABE8hA6xgjwq+RG0HYJiDr7RSIHQaC83HOuaI3g72qNV4xPPX9wDcTCNYV3vfjT5XHP/wz5f73vNXOxIYAAqsmoADqxWdfKqc+/61y6e+O+u1nUDVCvFsL/KpuG+TN1b7Ky7LcT60UzsCxzq16GWzursUyMq2LbNN+0fWF4G+rQRoBBBBAAAEEEEAAAQTmCRyeV0A+AggggAACCCCAAAIIrLZABhrGgWAFJjKY6kEKRTK01ZW5OtS3aepw44C/eLBDQV/1mXu1UrA3eovgh/L0o8CwB0lqSvWyvgeXvVs7h+XrRHFOpVVLm5d4wEdBn3uefLQ89o9/ujz4cz9WDhw6FFV4RQCBpRXYWFsr5//6++X0554uV1973e8z/3XIUKv+3ejy7EBp//H8fHRz7vORzlbH6rYBYHU+9bhn9dUHg9W3/ed9q0WeS7Ui7YlRustTQzYEEEAAAQQQQAABBBBAYIsCrADeIhTVEEAAAQQQQAABBBBYZYFxEDgtIswaR5lWXaX9x148YKtjS089FjrzfXWw1x8+Mlr99CuGo79cNay2KvcfHXRpT/q5M0/7ww8eKY/+w/eWRz74k+XgkbujEq8IILA0AuuXr5UzX/pOef2Lz5Qb5y/7fWXodLuBX7UbPua5D/yqTDHZDPx62uvXQLLKmoBvG/yNtnrdPPDrdQj+uhUvCCCAAAIIIIAAAgggsHUBAsBbt6ImAggggAACCCCAAAIrLzAVCI6wa9BkOut5YNaKIlBbA8OWmYHgeNyzPQba6vRBXqs3qtOWjR8n7QFmq9+fS6kMCntyJhB88O7D5eGff3d59EM/Ve56/KGoxCsCCOxbgeunzpXXv/Dtcvarz5X1azf8PiLEqiBrDbbarsuzoKrS/uP5cTxesZsBYK34jSCv1av1h2URHB7WiXNH/eG5dYE6d25tustTQzYEEEAAAQQQQAABBBBA4CYECADfBBpNEEAAAQQQQAABBBBYZYEM7o4NIuwauZnO1cDK9QCtvShgm0HcNu0rgK1eG+zNQHDWb8vaPO9bPXv/eS7lRtr39dyemfkHDpaH3vv28og9HvrI296YRewRQGCfCFx+8Xg5Y495PvfMC/Z/9vVRUDWCtbqVDKXq8c1K+4+96EjpeYHfKGtX88Yjofv62b7tq6a9f509z6feIu2JUTrztM9H8Ld5pBFAAAEEEEAAAQQQQACBrQoQAN6qFPUQQAABBBBAAAEEEEBgIHAzgWAP1NZAbJ+OoK+O+yBwGyjOgHHsp+v0bRetCNYNKEjsew9J9wHie9/yRHn4F95THtb3BN9zV1TiFQEE9pzAxtXr5ax9v+/ZLz9brrxy0q8vQqsReFVGLp7t8rcR+FUbf7SzJRTe1Urf2X0bNI4gsM6ptjrq03ZcL0ZlubXpzNM+67Z5pBFAAAEEEEAAAQQQQACB7QoQAN6uGPURQAABBBBAAAEEEECgE9huEFgNPfCrvSU8WFvT+VjocSC4z78zgWA9Hvqhn/3R8tAH3lOOvJ1VwXrP2BDYCwKXXzhezn3l2XLumz9Y+JhnXWsGWLez4ldtpgK/it/q+3wjENwHfjO/D/YOA79+HQR/xcCGAAIIIIAAAggggAACd1iAAPAdBud0CCCAAAIIIIAAAggso8B2A8F1EW4Eg+cEgtvvB+4fBR0t4/HPi1cE94+Xnn40tN4H9TZvRbDK73ny0fLwB95dHnr/T5RD992jLDYEELiDAmuXrpZzX/9eOfuV58rV117vztwFeGuoN4OwWWEq8JsreSPQGyt126BulmuvzYPBdTVvfAfw5t/zq3Zqnit58zozX/vxlnXH+RwjgAACCCCAAAIIIIAAAjcrQAD4ZuVohwACCCCAAAIIIIAAAjMCOxUIzgBvBH4VpLVgr51tKhDcPxJaIV89ClqB3Vwt3Ka3FwjWzUW42QJBhw+X+9/7jvLIL7y73P9jT3X5qsOGAAI7K6Cg6cXvHy1nvvxcufjMD8v6jRt+gmEwNY52IvCrnnLlr060KPCrxztn0Lh91LPaqZ8M5g6vVaWzW9adLSEHAQQQQAABBBBAAAEEELg1AQLAt+ZHawQQQAABBBBAAAEEEBgJbDcIrOa+Elf7GnGdDuCqfH4gONv0AWH1OwwEq3+dIuv4efOk9TpsN7gOP9ZL3e5+4uHy0M+/qzz8D95VDj94JLPZI4DALQrcOH+5nP3ad8u5r363XDt5tustg6kKuGqrT1WuR1FNwVQPwNqhAriethcP0npepDN4mwFflS9a8at+ok30mWmdNYPPqqMtA7p57HleMvuSdWdLyEEAAQQQQAABBBBAAAEEbl2AAPCtG9IDAggggAACCCCAAAIITAjcaiBYwdsI0EbQdhDM3UIgOAO9uSI4jiMonIFgP4cV+HnsHtpr9jy9KN9rZDr2Bw4dLPf/5NvKQ+/78fLAu99aDtx1KAp4RQCBLQtsXF8rF557qZz7xt+Vi995sWysaa2/grX9FqHXPuCaJW3QN4KxUTPTGezNIG8GhjOIq722qRW/Ksp6SvfBXuvNMjxPjW3LYK7ycmvTmad91m3zSCOAAAIIIIAAAggggAACOy1AAHinRekPAQQQQAABBBBAAAEEBgJtULUtqLFVz8p01vXgq5VEoHZnAsHqs1v5awfrCuvaPs7VpmcDwbpI1fV9DQbXQ887dM/d5f6/99by4M/8aLn/PT9SDhwiGBxavCIwK7CxtlYuPvtyOf+tH5SLf/tSWbt6rauUgdM26KvCzPe0RWB17D/2oqNMH1Ta8/qVwAR+pcaGAAIIIIAAAggggAACqyRAAHiV3m3uFQEEEEAAAQQQQACBXRTI4O74EtpAaqazro79x14UBu7TcRyrexWcHT4aOgPHufp3cb22r2EgWNfaXksc6zXaRErpfjt4793lgZ96e3lIweB3v8WiUAf7QlIIrKrA+nq5+Nwr5ZwFfS98+4WyfmU26CuaCOXaXhFdP677muGBXuV7kDe/j3c2AKz/1+UK4VzJm3u1zUDxVD0/h/cf1xPnUnr2WmpWV5bHuWfFb0qwRwABBBBAAAEEEEAAgTspQAD4TmpzLgQQQAABBBBAAAEEVlwgg6lTDG0QNdOq36WtUQZ2lRfpCMQuDvBGUDdX/OoBs23AWGfo2lu67bdPR5u87u6aaqK/Sl1Pvx06co8Fg99RHvxZCwb/xJvjmbJ9MSkEllvA/o918XuvlvPfVND3h2Xt8tXufjOYqox5QV8vs+irB2RVz4OyfbBXKZUNA7uqZ4HhWj8DvV7XKufxdgK/fh3en87WB4LHaS9sXgj+NhgkEUAAAQQQQAABBBBA4I4KEAC+o9ycDAEEEEAAAQQQQAABBCQwLxDcBk+9XuW6lUBwH+Dtg7v5KOh+r8BthHEV9M1gsa7H8y0R6big9vo9Xy91i16ifuZpf+i+e8sDP/2O8pAFg+/7MQsGRyyprUIagf0vYP9fuPT9V8s5BX2ftqDvpSuDe8pf+wjdRlGusM2KGThVXf+xlwz2qm4GcaM8VwErEJwB4dhHv1lued7W+urqDfvN/qJdvTZdgzK099f+ZXycJVk/j9kjgAACCCCAAAIIIIAAAndagADwnRbnfAgggAACCCCAAAIIINAJtIHULtMSTTzVs/N4q4HgCOJaP5ZQ21jhmyt9Lc8yla/SXP2bweDFAeC2bfTvF+h9RUrttcWZMx37fD10/xH7zuC3lQfe/SPl/ne9peix0WwI7FcBPc754ndfKReee9m+0/fFsnbx8uBW2kBphGYVVI0qg7IamFVeBGGHgdzMbwPAfdBXAdph/VwZHHv12a8MHtatbe0EeT1xrjjKvLyp8XGXnzeVGewRQAABBBBAAAEEEEAAgV0SIAC8S/CcFgEEEEAAAQQQQAABBHqBrQSCa1zVG2VgVwceyLUXBVz7dD22jHzks5dZ/Qz0aq8tg8MR+LV2log2fZ9tneinDwSrD8/LyG899vw4Rb0y5UTdSMXrAYtO3fu2J8sD77FgsAWE733LE95fW4c0AntJQAHQK6+ctO/0fblcePblcuXF18qG/k/SbG2QNMKyCsBGhUGZZeax9qozDM7mCt6ab+X5+OZ8zLPqK8irrQ8IR7/R580FftVf7VbJQdoz6gsrflsN0ggggAACCCCAAAIIILAXBAgA74V3gWtAAAEEEEAAAQQQQAABF7idgWCFpzL4GwFbBYczkBv7/nhYt2tnDb1t164Gibv8eCPb+1B9bRkfjjB1zYvd4PXwA7Y6WCuD3/NWWx38I+XgEVYHD4A42BWB9cta5WsrfJ99yQO/Ny4MV/nqoobB0jiaF/TN+hGgrcFd9WEZwwBwH9RV3Qzwql6/EthaDI7jWtq64z792M+lK4n6bSBX58qtTWee9m39Np80AggggAACCCCAAAIIILDbAgSAd/sd4PwIIIAAAggggAACCCAwI9AGUNvCDKYqb5C26Goea69ga+bkcRvcjbzhSt+pVb6Rp/6GdbNP3+9QMHh8T3F8sNz3tjdYMDgCwkd+5HE727xwlFqwIbAzAgfsN+3yy6ci4GurfC+9eMJ+87Q2vt/Gv4kKqmrbiaBvBmhzta96zkc6K52B4i7PMtu6WacPEuvKFOi1/6xQ5dqiXh71+VnmlUYvBH5HIBwigAACCCCAAAIIIIDAnhMgALzn3hIuCAEEEEAAAQQQQAABBFJgK4Fg1VUgVlvWj8Csjmu+grReHnW7Fb21jcq6ALCno6HajwPHXVsrU69dkFhHnmcd2KayPI7edD2Ziuvwen2Wt/HG3j5T/d6/O/hdby5H3vlUOfKON5Z73/SotemDV31NUghsT0AB3yvHXi+Xf3i8XH7+qK32fXXmu3zVY/vblgFfz68Fg/IaCVae/9hLtmmPlW4DuXEcNbNeBnJ1rm5lr/UW7axfO5fXbcstI/L0qjp57IfexvPjsHuN2t1hlyDw21GQQAABBBBAAAEEEEAAgT0uQAB4j79BXB4CCCCAAAIIIIAAAggMA6etRxM79ew8zkCrjvs8pfWf+ov8NkjbBXZreR/4bQO5kZ73vcJT/eY5dIHD68kri3wv77PqlSq3L4+jeNW5DtnjoY/Y9wcfeaf9vMN+bLXwgbsOt9VIIzApsHH9Rrlsq3ov//A1C/jaj32P75o95rnGbAdt2oBoBnBVIesOymum8jI/Aq81QGuZSnm5p9uArvqc93291sbqZyDY29s5umCw9zXs18+jirZlfU831+iF9aVWbbM8TeB3hoQMBBBAAAEEEEAAAQQQ2OMCBID3+BvE5SGAAAIIIIAAAggggEAvkIHdPidSTdzUM/I46+u4z1Na/9neXqIsAruRVn6Uz1sVrHrDgPH2HhGti8xzeVoX0mx51GbHFUWlLG+a+L0cOHSw3Pvmxy0g/CZfIXzf258shx66r61GekUF1s5dKpdesECvr/A9Vq68eqpsrK13QdyWpQ2ERkg1Smvc1IOpg/pNQDXbKssDsFZxNl3LrM74sc1tQFfn6I6tt6nVvov6VntdT39NkcpjlWsbH0eu5df7ymP2CCCAAAIIIIAAAggggMB+ESAAvF/eKa4TAQQQQAABBBBAAAEEOoEM7HYZTaINjmY663fHVj+Cv5Gj1zhWYDaCweNVvlk/g8I6Zab7tupna8Fgtc9zDa8rj1RDdfpN59HWBoPj2LMHL1n37scetGCwBYS1Svhtbyz3vOkRi6op7Ma2tALr6+XqsTO2qlePc1bQ91i5dvq83+5UTHMcAM2gb1t3po4VZp72qps57XGfjnLVGwd9s60CvNrUz/iR0NHPvNXBfbvoK4/rXpm21e5n0p7RvBD4bTBIIoAAAggggAACCCCAwL4UIAC8L982LhoBBBBAAAEEEEAAAQQkkIHdKY1B4LSpoDZZ1u0t4cFY7zOCrm1wVvWyndLd6t9s5/vaR5eeqDfRv2X59bTnyzzfZyRXB7bp/Nra7P6OalnsZl7VRquE73njI+XuNz1W7nnq0XLvU9o/Vg4/fP9MfTL2vsCNsxfL1aOnyxX7uXr09XLtmO2Pn5m7uld31AZC47jPqbHS2TqjIKpaRLA1w77D4yjTuew/q6z6/Wreqbrz6kX/4/Nln9l/3Ide41xtEFdtc2vTmZf7tk3msUcAAQQQQAABBBBAAAEE9qMAAeD9+K5xzQgggAACCCCAAAIIIDAQ2GogWI36AGqk9NrnKd3kWzLKLbdLLwrstvXa9KI2zTm7c0TbwfXqOtuorwpt0/VpGxdZD1FQX4dHfVG2O3TkHg8Ee0D4TY9a+vFy91OPlIN339VXJrVrAuvXrpdrR89YkPeUre59vQZ8T9v39l71a1JAdGobZ0c4ta+Z7cb1VEMB0czv9pbwoKuXRz/tser5sdfbetB3622ac9aLinPW/HpDtSgy/Zq65EyCwO8MCRkIIIAAAggggAACCCCwzwUIAO/zN5DLRwABBBBAAAEEEEAAgV5gKkCapeMAaB5nm+7YGmRQVEFU5evY9zru0sqv5V2dONYKYW193dl28Yhp9Rtt5tX3/HreSMe1RP04j9K5tTn1MryoP0vW7PvpcyLVtbNgmh4hrZXCdz9pQeHHHyqH7fgu/WjFcD6zd9wBxzcnYM8Uv24req/b45pv2M/VU+fKtddej5W9eoRzfWMyaDs+yTjoqXIFVnNr2/W5WRoBXx2pLMvVJvvw/Hqc6b6+1bLMeY93buv3K4GjjZfpnNZBn47zZrvI16vqqSy2bq9M2/I4SmePM9/r1jZtHmkEEEAAAQQQQAABBBBAYBkECAAvw7vIPSCAAAIIIIAAAggggMCMQAZ2ZwosYxAkbSpkG5VnnQjixpHn24vva1A20orNRYi1r2PfBex1laPyrbfr+1CbYXvvqzl3HOs1riFS/Wu0juMaP+wKs+8uwxJt/TZf6bb9AQv+Hn74AQ8G3/1Y7O96tAaHdfzwfdbXOBw37nG1jg+YyPWzlyzAe8GDvNdfP+/7a/X4xtkLZUO/NHVbFJ+cks1A7VT7yfqjoKnqKCv7yWP1p7w89r2OvW4EWRcFb7P9vO/1jf76c7fnybZpkXU9PzP9+pQTm+rM21jtO0+GfAQQQAABBBBAAAEEEFgmgcPLdDPcCwIIIIAAAggggAACCCCQAhnoyaBu5mufASKF2jLt5RlQskin8r3cEhnI9CDugQybKpwXdZSjOuNjBbw2NpRvwWCvG2cc19vsWNfW1tFV53GU2RmUYdff5qusjdp2t+cF6sXqq8Fgm8nw0tp9X9Ma3jhjK1Xt5/IPBqfxOgcOHyx3PWKBYA8KP1AOPXCkHL7/3nJIP/fdM9zfe7dfd9/5/knp92TtyrWydvFKWbt0dbC/obwLlyPgq2DvGQvw3tBvQr/le5I5M8dZMNpHOLbPbNvpmsZb/v9B+SrPOmqXfXl+LVDe8DjqRf3ahx14HfVnidk2B3yRuOd7+Vbb1b7UufqOXb/XyZr8WtyV53G7b++/zSeNAAIIIIAAAggggAACCCyjAAHgZXxXuScEEEAAAQQQQAABBBDoBDLws1kgWA0y0OTRrHqsdsrPAKgHemuMdKMGgxXkVSVlbyUYrOoKvHo3TbrNH6Tr+bu+1bA5nw7i3JZvm9fzzi1dg2X10M6b4eyoW4vjWiwrQnpxfVEjX7OHPI595mY/XenaerlujzDWT26656ntwKGDRd9B7MHh+/vgsALGB++zgPGRu8uBw4fKgUP2Y4Fl1R8eW/5d9mMR9wOHD/d1vP4hP+XGjbWysaafdQ/Cbty44attN67XfAvMernXq3VU347XLl8r65euFA/oZpD3Yg322nfwqs+pbcbEKk3lqa29nZNbvh9ZOG4/t12tmOXd3hLZp/KyP+UN60Q9lXs9rxt1sl22GfTR1bfSLq3zTLfVffX11HN/7GnPifY12V3nvOPM1z7//9/mkUYAAQQQQAABBBBAAAEEll2AAPCyv8PcHwIIIIAAAggggAACCLhAGwgaB4Mj7BRQilG2xx6dUlETvVTAKurFCloFgr2KV7M8L8+8PjjbBXBVb+YneuzzVXu6rS4wAsi1TjStfQ77ietSXr0Fu/g4imuI/GFQWHm6R21ZN8J3tY8o8ldV01Us2rI0+5ypu75uK2cv+8+4rGEfF93R47nXblexqEwXWSnnXm/athXGfS7qI3+3s063r4nsX4fZr/Lael6mvK5NXPe8wG1fL9q07SOtc8U5/Ljrt+bZcc3yK+n7C4WurBbkcRqNjzNf+/Ro80gjgAACCCCAAAIIIIAAAqskQAB4ld5t7hUBBBBAAAEEEEAAAQRcIANE40CwCtvAkgKX3XETiMpVtF5uFTJ86kHZLhhsgVarsJ1gsM7fPipaJ49Ab+1H/Vmd+OkDxH29yFM/Wa9LK8OvVTkqV4btPX82KBxleWde1V8yUBetIz9CerWvvmqTams32RPJcc0830TVXc3qfi+2cBXpM646dW+L+s3fW/WT9bp9TeS52vw2L8+pcuUPjy3PMqJM6VpHdbPD2k6PN9eWffRthu27Oqrr/Smnbxdpz/Lz+nFzsua0XXnUnn1tfWZLyUEAAQQQQAABBBBAAAEEVkeAAPDqvNfcKQIIIIAAAggggAACCIwE2oDRomCwx0jbtjVApeDUdoLBimCpLwVfx6t7FRJTWfu9wVE36me58rTNPiJaJdHHsJ3azwZ4vU408fN6nzXlQWFl2H2qirbcx5EyZnIGQcK2NEKC0XKiWdelEm46e7ZBnd0+aO9n3rU0McxBlTagOSioB+3vpLKyfu49rx7kdWSZzjmdF52rLOo0/VqG2vvPqH3ew7Dd1vpQf9ryfJ6u54+0XofXETl93rzjzNd+7NWWkUYAAQQQQAABBBBAAAEEVlWAAPCqvvPcNwIIIIAAAggggAACCAwEMpC0KBCsBgpsZnDLO6hRMuVtLRiseh5p877aYLD6U/9tXgRSFYi1/6yZAqhK6yqirlpZXlemctvmHnup1ZkN7kZJba8+1Y9tcT7bZ4byMjro5arVb+nQ5/SppplnNl12lSIk2R1GvamKwyq35Wh8vfNOYtxb3vJ3LRu0bQfpepAeWZbXNJXf1bH3t68Xv7N5XtXxH3tp++jrR9uop1er53WzXbbK4+gnavZ1vd3oOiJPr6qXLaKfyI3XvqTN7dNt2z6XFAIIIIAAAggggAACCCCAgAQIAPN7gAACCCCAAAIIIIAAAgg0Am1g6XYFgxV984Cun7cP5HaBVqugeKfHPFXXIq8ZsO3yVe5l0ZdCaBkjjTrRRqfINtH/uO9sr32E3dp+sv3UPvKidhscVrQw+1AdbeNjz7NGcUavsvCliRUurDd1nqkGWz3vVNt5ee3vTtYZn2fmuGb0IdU+GJr3nGXZts+Ps6i8zevrRcv+WH1Hnlr2baJ9V6/2p2P/qRX74+a8g36if5X2fWfdus8C1Yms7nV83BXUxJTvuA7HCCCAAAIIIIAAAggggAACBID5HUAAAQQQQAABBBBAAAEE5gq0AaedDQZHoCyDphuj7w1WZEyBTAVsvY4FzeI48tS6P9bl69j+UzsrUNrDa92x6lj++Fh5tW725/X0YluUaW8N/dh33iKO63massiPen2dOM777UrrfXXHTUI9b2Ubvy9xpVtpOazTvtfDkuHRvP6n8ptYpwn2NfqUvUvNQdbJrCzrjmsfbX5XZpld2i5ZdTJH+dlGd6P8KG/qeH0dxyYPb9cd13aD41q3tspzdH10dTOn778WdefL4/F+q+/LuB3HCCCAAAIIIIAAAggggMAqC7ACeJXffe4dAQQQQAABBBBAAAEEtizQBqLGQUd1kiGuDFzmsZ+gRsaUp7a+V5taqQuwWuM+GKyWfaBXRwrIdnX9OPKirK1bA8K1TpTXYK2dM4LEytX54tjTOlbC86K+Xj1vsM+cOKeaZM5W0+N6OtaWQec4iteZwHFbmIhNXnstTXaXrOzd8WaJiVMY0Wwv45y2XVu/rZd1Bnm177Ysy/P3UMd9ntJx5PlZ4HVqvu28LOt1x3H38wK+KvV2eqnp2NsZR3mD8ixs2qg8t9o0Dwf7vMdBJgcIIIAAAggggAACCCCAAAJbFiAAvGUqKiKAAAIIIIAAAggggAACIdAGqMbB4HFgS8HIQV4NjCkv23pa9SzRBXhrFHO7AWGdTP12/fixrnsbQWGFc+1iMvCqS/HLqX1HX+qz5jf7yKsX7/nWqG59bt+uL8vSvr7K/BqGWdnE99lqkHkTBwtO4b018cxB7xl4zcy2n7bNIL/5jcg6Wd7ta4GO+7w4S57Ty7LQ68WBmnpZbZnHau35c/qe6jd6VLtI1ab1qL827zsL63mUl1v2k8fjffv/qXEZxwgggAACCCCAAAIIIIAAAtsTIAC8PS9qI4AAAggggAACCCCAAAIDgTZwlQHdtkIb+FKwsj3ullDWfLVXuderFbtAbo10bhoQro1rde8rV9WqL8+3viO42weFdWLlRd168i4v7sjLLMgXbeM6o8TStUkY1PPUe+nqZKLu87risG/TVsv7aPMyvags62xnX29hskkT2+zKx/UzSJoV2jZZt9vXwjxWm0xnu+xP+ZnX9W21M8/La+thXtTW72jXd+1A9TK37b+vF6m2v/7cfb+Zp322zbzxcebnvv3/TuaxRwABBBBAAAEEEEAAAQQQuHUBAsC3bkgPCCCAAAIIIIAAAggggIALtAGtbQeD1UONtilwlu09XYsU8MygXReE7b4/2AqtNIOi2meAtQsie57qLSpTH9FL9NHWryE923Xnj2J/HQeIldleT0YI894yZJh12vreoV6ac3V5o0Re7yh7y4dpOq9BBkHb8irhWW1aGe3vQZblPsq9Wfdeel5k5a9APdLtR8sI2A7bDfNqWfM7lOfM61dfs3mzfebJu7qZYfupe2uKu/7bvDbdtm/zSSOAAAIIIIAAAggggAACCOycAAHgnbOkJwQQQAABBBBAAAEEEECgE2gDXX3AsyseBMoyAJoBN6+VUTs7UL76yHLVV7Hva24XkB0HhKNSE4iNs2VvcVQDterTO4pAspd5nq6oDwzraPjdwdlLvcKujWrWviNp12F1673lNdei7hpnjmu3Xf64YSeTNW5t3753bU+jy5g5a/OWWVlfu091t95229VV+0HdepT9qizL8xq749pjXzdKuvKa6I5Hfat5X1Y7U152WLOyTl+jb9fmtelxH20ZaQQQQAABBBBAAAEEEEAAgZ0XIAC886b0iAACCCCAAAIIIIAAAggMBNoA2GbBYDVUOHUm0NYE4lQ2FRCOttGyi5HaYa6QjTCtBXKbEyjZlXt+BH/VlzZvoz5qIz8e5KtWPWfUbtqoLLY8R9b13GgW15MVbZ/naLIsr8ltLFSnu9e2wTbSo+4GLdtAbhbUy87DjGd3x22ibZ/nyfaLy6KX/N3JNsrNdN9f25OV1wpdva7FbFnbn6ezsQ5syz7iKF6n8tpypfO6x/kcI4AAAggggAACCCCAAAII3H4BAsC335gzIIAAAggggAACCCCAAAKdwDgwtpMBYZ1EwTmFSjOO5+kaxusCpVYpA6oRVo2QXoZY+32kIvY7XUdd5z3kqmJdh7eMJjVAm+2z91pHlb0PJYZbXmPk1s6GVTYtmqp+s3nDMGs9dXNZTdJuqT/K90It+tw+3f5OZHnuvU09yD6zbKrfrNO2m3feqJO96ai/pjiK12GNtqRPt/fQ55JCAAEEEEAAAQQQQAABBBDYDQECwLuhzjkRQAABBBBAAAEEEEAAgSowDpxlMLUFGgfgFEId53UR31qW/WQ9b1MPon0cdEFha7dRHx+tc0eYttZRhm2Rl+k4mgoOz6sbLYcrjLu6eaGW0V9TnzkMBkdP49f2+sZlU8d971OlkdcGVLNWG3hV3rifmeOmQVs2SNeD9nxZ3jQfnGtQNyuPrqfJ9ssf/76Ny6fuxxuOXsb9jIo5RAABBBBAAAEEEEAAAQQQ2EUBAsC7iM+pEUAAAQQQQAABBBBAAIGxQBtYyyDuTJ1RhgKf40Ce+mkDoirP/rKut8sDlTe99EFYy58JDOsComF7jmG6P2r7Vcu+REezx+o6rzVq6HX2fH3ZzqcalkHn7fuTBeO6M8dNxiBomx3Yvg3yKrtpYun+qK3X50ZHM8dt5VGf0WK6XVvWpqfuvS0njQACCCCAAAIIIIAAAgggsDcECADvjfeBq0AAAQQQQAABBBBAAAEEZgSmAm6zgdFhsFCdZIB1KiCYZaqn8ra/rK86bexwJoDbdNIGh9VnXxS9xQphlcTWl+fxOEfXZGXtBdS22s3Wbgp3MJkWU11OXVobpFWbcftxm5nypsXmdWevavy7Mu6/bbGoLOuN+8t89ggggAACCCCAAAIIIIAAAntfgADw3n+PuEIEEEAAAQQQQAABBBBAoBMYB+baAG5WmgrwZeB0XKb+sqxt3/abbbJeG6BcFBz2/qzx1OObs682VNqtOs4T5gXVfd9mVDDncHzecZB2TrMue85l9OUTFSayLLQ7m9saqsPZGnPyxg3ntM2LnOo3y9r9+PeqLSONAAIIIIAAAggggAACCCCwvwQIAO+v94urRQABBBBAAAEEEEAAAQQGAlOBuzZ4m5WnAoEZUJ0qmxcYVn9t/9m26ysz6omVPxUA7YK9tZ7vattx4Lat0qbznG3eMD26mGHhzNFWa0/dT3Y2EZ/1onl9T+VPvafqZKpunncr5Vl3Xv9Zzh4BBBBAAAEEEEAAAQQQQGB/CxAA3t/vH1ePAAIIIIAAAggggAACCMwITAX42qBtNpgXUMzA6rzyqcczt3Xbc7X5Om/X97igXtS8gHFec7ufDCK3FbaZnhe8nepmzuV3VReVT70/XUNLLGqrepuVD/razk21DUkjgAACCCCAAAIIIIAAAgjsWwECwPv2rePCEUAAAQQQQAABBBBAAIGtC8wLOrbB2uxtUYAxArRZc85+QdCx7Xs7587AcXvGBadpq91Sur3ezTqaZzxut5U+t1Kn7Xer527bkEYAAQQQQAABBBBAAAEEEFhOAQLAy/m+clcIIIAAAggggAACCCCAwJYE5gUOp4Kz6nBRYDKDtIvqtBelc2ebNn8qvajPedc61c9U3jyDqbrz8hZd3462uRNR73kXTD4CCCCAAAIIIIAAAggggMC+ECAAvC/eJi4SAQQQQAABBBBAAAEEELizAouCovMCrlsNgrZB3622WXT3U9fanqNtuxPna/ubSt/qOabuZ+o85CGAAAIIIIAAAggggAACCCAwJUAAeEqFPAQQQAABBBBAAAEEEEAAgbkCWwlQzgsSq9NbDZDOC+62F3wr57iVtu01TKW3YjfVjjwEEEAAAQQQQAABBBBAAAEEtipAAHirUtRDAAEEEEAAAQQQQAABBBDYssDNBDoXBY3bE9/OAG17ns3SN3OPm/VJOQIIIIAAAggggAACCCCAAAK3KkAA+FYFaY8AAggggAACCCCAAAIIILAjAgRUd4SRThBAAAEEEEAAAQQQQAABBFZc4OCK3z+3jwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCyNAAHgpXkruREEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEFh1AQLAq/4bwP0jgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggMDSCBAAXpq3khtBAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIFVFyAAvOq/Adw/AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggsjQAB4KV5K7kRBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBYdQECwKv+G8D9I4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIDA0ggQAF6at5IbQQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBVRcgALzqvwHcPwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIILI0AAeCleSu5EQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQWHUBAsCr/hvA/SOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAwNIIEABemreSG0EAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgVUXIAC86r8B3D8CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCyNAAHgpXkruREEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEFh1AQLAq/4bwP0jgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggMDSCBAAXpq3khtBAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIFVFyAAvOq/Adw/AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggsjQAB4KV5K7kRBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBYdQECwKv+G8D9I4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIDA0ggQAF6at5IbQQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBVRcgALzqvwHcPwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIILI0AAeCleSu5EQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQWHUBAsCr/hvA/SOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAwNIIEABemreSG0EAAQQQQAABBBBAAAEE/v/27t9FrvMKA/D97khCO2vFkXCZIjiFAiZJEdQkIYWjiNiFUwQhgwmGOJX/gATyBxh3cZVSjjHG2iwprEBkZEUBg13YlRJcLLhw4VIi2CuthezdL/dbsWK0Wml/arV7zrPNzM7cmbnvc073cmcIECBAgAABAgQIECBAgAABAtkFFMDZN0B+AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTCCCiAw4xSEAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEsgsogLNvgPwECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIQRUACHGaUgBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhkF1AAZ98A+QkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQCCOgAA4zSkEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEMguoADOvgHyEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAQRkABHGaUghAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkF1AAZx9A+QnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCCMgAI4zCgFIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgu4ACOPsGyE+AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBgBBXCYUQpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEB2AQVw9g2QnwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMAIK4DCjFIQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewCCuDsGyA/AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJhBBTAYUYpCAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC2QUUwNk3QH4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMIIKIDDjFIQAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSyCyiAs2+A/AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIhBFQAIcZpSAECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECGQXUABn3wD5CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAII6AADjNKQQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQyC6gAM6+AfITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIBBGQAEcZpSCECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQXUABnH0D5CdAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIIyAAjjMKAUhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCC7gAI4+wbIT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAGAEFcJhRCkKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQHYBBXD2DZCfAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEwAgrgMKMUhAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB7AIK4OwbID8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmEEFMBhRikIAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLZBRTA2TdAfgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEwggogMOMUhACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBLILKICzb4D8BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiEEVAAhxmlIAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIZBdQAGffAPkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEAgjoAAOM0pBCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDILqAAzr4B8hMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgEEZAARxmlIIQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJBdQAGcfQPkJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgjIACOMwoBSFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAILuAAjj7BshPgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAYAQVwmFEKQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAdgEFcPYNkJ8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTACCuAwoxSEAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHsAgrg7BsgPwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYQQUwGFGKQgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAtkFFMDZN0B+AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTCCCiAw4xSEAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEsgsogLNvgPwECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIQRUACHGaUgBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhkF1AAZ98A+QkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQCCOgAA4zSkEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEMguoADOvgHyEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAQRkABHGaUghAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkF1AAZx9A+QnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCCMgAI4zCgFIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgu4ACOPsGyE+AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBgBBXCYUQpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEB2AQVw9g2QnwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMAIK4DCjFIQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewCCuDsGyA/AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJhBBTAYUYpCAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC2QUUwNk3QH4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMIIKIDDjFIQAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSyCyiAs2+A/AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIhBFQAIcZpSAECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECGQXUABn3wD5CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAII6AADjNKQQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQyC6gAM6+AfITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIBBGQAEcZpSCECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQXUABnH0D5CdAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIIyAAjjMKAUhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCC7gAI4+wbIT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAGAEFcJhRCkKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQHYBBXD2DZCfAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEwAgrgMKMUhAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB7AIK4OwbID8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmEEFMBhRikIAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLZBRTA2TdAfgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEwggogMOMUhACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBLILKICzb4D8BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiEEVAAhxmlIAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIZBdQAGffAPkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEAgjoAAOM0pBCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDILqAAzr4B8hMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgEEZAARxmlIIQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJBdQAGcfQPkJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgjIACOMwoBSFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAILuAAjj7BshPgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAYAQVwmFEKQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAdgEFcPYNkJ8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTACCuAwoxSEAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHsAgrg7BsgPwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYQQUwGFGKQgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAtkFFMDZN0B+AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTCCCiAw4xSEAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEsgsogLNvgPwECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIQRUACHGaUgBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhkF1AAZ98A+QkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQCCOgAA4zSkEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEMguoADOvgHyEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAQRkABHGaUghAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkF1AAZx9A+QnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCCMgAI4zCgFIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgu4ACOPsGyE+AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBgBBXCYUQpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEB2AQVw9g2QnwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMAIK4DCjFIQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewCCuDsGyA/AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJhBBTAYUYpCAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC2QUUwNk3QH4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMIIKIDDjFIQAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSyCyiAs2+A/AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIhBFQAIcZpSAECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECGQXUABn3wD5CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAII6AADjNKQQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQyCLmaNcAAA67SURBVC6gAM6+AfITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIBBGQAEcZpSCECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQXUABnH0D5CdAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIIyAAjjMKAUhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCC7gAI4+wbIT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAGAEFcJhRCkKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQHYBBXD2DZCfAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEwAgrgMKMUhAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB7AIK4OwbID8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmEEFMBhRikIAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLZBRTA2TdAfgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEwggogMOMUhACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBLILKICzb4D8BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiEEVAAhxmlIAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIZBdQAGffAPkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEAgjoAAOM0pBCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDILqAAzr4B8hMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgEEZAARxmlIIQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJBdQAGcfQPkJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgjIACOMwoBSFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAILuAAjj7BshPgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAYAQVwmFEKQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAdgEFcPYNkJ8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTACCuAwoxSEAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHsAgrg7BsgPwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYQT6UsqtMGkEIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQFKB1v32tXbzSfOLTYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTACrfsdrgCuCuAwIxWEAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGsAq377WtXFMBZN0BuAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTCCLTuty/VFcBhJioIAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpBVr3264A/jytgOAECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAIItC63750ZS5IHjEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQVqB1v33fLSmA066A4AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIRBFo3W+/dKBXAEeZqBwECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQVaN1vPx5PzZWuq2kVBCdAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMA+F2idb+t++3L2/HxXypV9nsfpEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIK/A0Pm27rdvArV2/84rITkBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2t8BK57tcAJdRvby/4zh7AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI5BVY6XyXC+DxgUPvl1IW83JIToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgf0p0Lre1vm2s799BfBbF76sXf1gf8Zx1gQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEMgr0LreMnS+TWC5AG53Su3fbLf+CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGD/CEx2vXcK4HGps6V0N/dPDGdKgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB3AKt421d74rCnQK4zF76otZyfuUJtwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwtwVax9u63pWzvFMAtwdKX95YecItAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOxtgdUdb5k83TrUwzdOn/zv8NhTk4+7T4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ7TuCT6dlLPyil1JUzu/sK4OGJUSmvrDzplgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2pkDrdifL33aWdxXA7YHD3dGZ4aBP231/BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILD3BFqn27rd1Wd2TwFcZmcXh1741dUH+p8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE9opA/+rtbvfu87mnAG5Pj7vH/1pKd+XuQ/1HgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAo9aoHW5rdNd6zzWLIBbU1xGo5dL1935seC1XuwxAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIENg9gdbhLne5y9/sfO/nrlkAt8PG5y5+2HXl9Xtf4hECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeDQC5fXbXe7an37fArgdPj449cehBL629ks9SoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQK7J1Cu3e5w7/+JDyyAy9v/uFpG3Uv3f7lnCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGA3BFp32zrcB33WAwvg9sLpmUvvdH157UFv4jkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeJgC5c/L3e06H7FuAdxeP/3tJ/9QSvfROu/laQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYYYHW1U4fe3L4+d71/8r6h9w+4qvnf/XdxcWvP+5q98RGX+M4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIENiGQOmujkYHT0yde/ezjbzLhq4Abm/U3rD03bNDu3x9I2/sGAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYukDrZltHu9Hyt33ShgvgdvD0zL8+rn3/m+GDvm7/+yNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBnRdonWzrZltHu5l331QB3N74sZn3LpbSvzh8d3TdzAc5lgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWF2hdbOtkWze7/tF3H7HpAri9fPy3994uff+CK4HvxvQfAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEtiPQOtjWxbZOdivvM5THW/+7fuaXp8rS0t9r7R7b+rt4JQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgM5e/19rXPW7nyd0VvWwVwe5MbZ35xoi51/xy+EPqJlTd1S4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKbECjd1dJ3z272N39Xf8KWvgJ68k3aCYxGB08MbfRHk4+7T4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLrC7SutXWu2y1/2ydtuwBubzJ17t3Pxke/97OuL6+1//0RIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwAYEho61da2tc93A0esesu2vgF79CTfOnPz18JXQZ7taj61+zv8ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0ATKtTLqXpqeufTOTnrsyBXAkyfUTnD6wNTx0pWzQ7tcJ59znwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABApkFWofautTpg1Pf3+nyt7nu+BXAk8NaeP7UT+ri4l9q7X40+bj7BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQyCYw/NbvlTIavTw+d/HDh5V9x68AnjzRduLj7tiPSxn9vpTy6eRz7hMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCCDQOtKW2fautOHWf42y4d6BfDksOrp06Ob3f/OLNb6p+Hxpyafc58AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIBBT4ZlfLK4e7oTJmdXdyNfLtWAK+EqbWWhTOnnqlL9cVS6nPD10MfXnnOLQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPazwPA1zzeHSvR86csb45mLF4arf+tu5tn1AngyXD198vGFWk7XsvTb4YeOfzqUw6PJ590nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAXhcYSt7F2tUPSu3fHJc6W2YvffGozvmRFsCToesLz3xr4ZtbP6+L5emhBH+6q90Phyp8z5zf5Lm6T4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXoGhxKxDk/mf4Urfy2VUL48PHHq/vHXhy70gsmcL1vq7544sLHx1vP9m6fhS1x8fGvPjpavfqaUcGW6PDJhHhsunh9t6aC9AOgcCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPa/wHA1763hZ2znh4tW54eWd77U5dvPh280nuu7pbmlA/3ceDw1V86en9+Laf8P5hVEd79xD5kAAAAASUVORK5CYII=) no-repeat center bottom;background-size:100% auto}.red_package_cover_wrp .red_package_cover_img.red_package_open_cover_img:after{display:none}.red_package_cover_wrp .red_package_cover__foot{text-align:center;padding:8% 16px 0}.red_package_cover_wrp .red_package_cover__access-link{font-size:17px;line-height:1.4;font-weight:500;color:var(--weui-RED)}.red_package_cover_wrp .red_package_cover__access-link.disabled{color:var(--weui-FG-2)}.red_package_cover_wrp .red_package_cover__access-link.disabled:after{display:none}.red_package_cover_wrp .red_package_cover__access-link:after{content:\"\";display:inline-block;font-size:10px;width:1.2em;height:2.4em;margin-left:4px;margin-top:-.3em;vertical-align:middle;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMTIgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDYxLjIgKDg5NjUzKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT7liIfniYc8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNNy41ODc1MDg3MywxMi40Mjk4OTE2IEw2LjUyNjg0ODU2LDEzLjQ5MDU1MTggTDAuNzQ3OTUxNTI2LDcuNzExNjU0NzMgQzAuMzU3ODI2MjI3LDcuMzIxNTI5NDMgMC4zNTQzNjU3ODYsNi42OTI0NzE3OSAwLjc0Nzk1MTUyNiw2LjI5ODg4NjA1IEw2LjUyNjg0ODU2LDAuNTE5OTg5MDE0IEw3LjU4NzUwODczLDEuNTgwNjQ5MTkgTDIuMTYyODg3NTMsNy4wMDUyNzAzOSBMNy41ODc1MDg3MywxMi40Mjk4OTE2IFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIzLkljb25zL091dGxpbmVkL2Fycm93Ij4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgNS4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICAgICAgPC9tYXNrPgogICAgICAgICAgICAgICAgPHVzZSBpZD0i5Zu+5qCH6aKc6ImyIiBmaWxsPSIjRkE1MTUxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0LjAyMDc4NCwgNy4wMDUyNzApIHJvdGF0ZSgtMTgwLjAwMDAwMCkgdHJhbnNsYXRlKC00LjAyMDc4NCwgLTcuMDA1MjcwKSAiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=) no-repeat center;background-size:cover}.red_package_cover_wrp .red_package_cover__purchase{font-size:14px;font-weight:400;color:var(--weui-FG-2);margin-top:4px}.red_package_cover_wrp .red_package_cover__extend{display:flex;align-items:center;position:relative;line-height:1.4;padding:8px 16px;font-size:14px;color:var(--weui-FG-1);text-align:left}.red_package_cover_wrp .red_package_cover__extend:before{content:\" \";position:absolute;top:0;left:16px;right:16px;height:1px;background-color:var(--weui-FG-3);transform:scaleY(.5);transform-origin:0 0;-webkit-transform:scaleY(.5);-webkit-transform-origin:0 0}.red_package_cover_wrp .red_package_cover__extend_icon{display:inline-block;vertical-align:middle;font-size:10px;width:1.6em;height:1.6em;margin-right:4px;background:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.5 8.75149H12.0311C12.1352 8.54415 12.1938 8.30977 12.1938 8.06133C12.1938 7.21422 11.5121 6.52993 10.6741 6.52993C10.259 6.52993 9.86934 6.69916 9.58508 6.99323C8.72588 7.85576 8.3398 8.24353 8.00001 8.58458L6.3806 6.95894C6.09366 6.68304 5.72113 6.52993 5.32607 6.52993C4.48806 6.52993 3.80619 7.21422 3.80619 8.06133C3.80619 8.30977 3.86495 8.54415 3.96891 8.75149H2.50001V2.96628C2.50001 2.57865 2.76965 2.12287 3.11454 1.95118C3.11454 1.95118 3.14324 1.9352 3.23554 1.89586C4.52227 1.34706 6.18193 1 8.00001 1C9.81582 1 11.4782 1.33491 12.7595 1.89368C12.8369 1.92741 12.8815 1.94927 12.8815 1.94927C13.2231 2.12341 13.5 2.57879 13.5 2.96628V8.75149ZM13.5 9.59145V14.3C13.5 14.6875 13.1943 15 12.812 15H3.18804C2.808 15 2.5 14.6873 2.5 14.3V9.59145H5.2614C5.28287 9.59241 5.30446 9.59282 5.32606 9.59282H6.99551C6.41345 10.1719 5.51816 10.9309 4.31259 11.8659L4.81241 12.534C6.06655 11.5614 6.99726 10.7707 7.60789 10.1579L8 9.76423C8.11617 9.88088 8.2467 10.0119 8.4007 10.1663C9.00932 10.7774 9.93721 11.5654 11.1877 12.5342L11.6873 11.8657C10.4797 10.93 9.5844 10.1711 9.00449 9.59282H10.6741C10.6958 9.59282 10.7173 9.59241 10.7387 9.59145H13.5ZM10.7182 8.75143H9.00887L10.1688 7.58691C10.3036 7.44745 10.4821 7.36987 10.6742 7.36987C11.0592 7.36987 11.3688 7.68088 11.3688 8.06127C11.3688 8.42732 11.0825 8.72876 10.7182 8.75143ZM5.28211 8.75143C4.91777 8.72876 4.63136 8.42718 4.63136 8.06127C4.63136 7.68088 4.94111 7.36987 5.32611 7.36987C5.50895 7.36987 5.67945 7.43994 5.80796 7.56341C6.35675 8.11426 6.71506 8.47417 6.99127 8.75143H5.28211Z' fill='%23FA5151'/%3E%3C/svg%3E%0A\") no-repeat 50% 50%;background-size:cover}.red_package_cover_wrp .red_package_cover_disable_wording{display:block;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;width:100%;color:#fff}.red_package_cover_wrp.small{width:100%}.red_package_cover_wrp.small .red_package_cover__inner{width:100%;max-width:382px}.red_package_cover_wrp.small .red_package_cover__inner__main{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;padding:16px 16px 16px 24px;box-sizing:border-box}.red_package_cover_wrp.small .red_package_cover__body{flex-shrink:1;display:flex;flex-direction:row;align-items:center;min-width:0}.red_package_cover_wrp.small .red_package_cover__body span.title-wrp{flex-shrink:1;display:block;margin-left:16px;min-width:0;text-align:left;line-height:1.4}.red_package_cover_wrp.small .red_package_cover__body span.title{display:block;word-break:break-all;font-size:15px;font-weight:500;text-align:left;color:var(--weui-FG-0)}.red_package_cover_wrp.small .red_package_cover__body span.red_package_cover__purchase{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--weui-FG-1)}.red_package_cover_wrp.small .red_package_cover_img{flex-shrink:0;height:44px;width:26.4px;margin:0;padding-bottom:unset;border-radius:1px}.red_package_cover_wrp.small .red_package_cover__foot{flex-shrink:0;padding:0;margin-left:16px}.red_package_cover_wrp.small .red_package_cover__access-link{font-size:14px;font-weight:500}.red_package_cover_wrp.small .red_package_cover__access-link.button{color:#fff;background-color:var(--weui-ORANGERED-100);border-radius:6px}.red_package_cover_wrp.small .red_package_cover__access-link.correct:before{position:relative;display:inline-block;content:\"\";margin-right:2px;font-size:16px;width:1em;height:1em;vertical-align:sub;background-color:currentColor;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.77124 12.29L2 8.51879L2.94281 7.57598L6.24264 10.8758L13.7851 3.33334L14.7279 4.27614L6.71405 12.29C6.4537 12.5504 6.03159 12.5504 5.77124 12.29Z' fill='black' /%3E%3C/svg%3E%0A\");mask-image:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.77124 12.29L2 8.51879L2.94281 7.57598L6.24264 10.8758L13.7851 3.33334L14.7279 4.27614L6.71405 12.29C6.4537 12.5504 6.03159 12.5504 5.77124 12.29Z' fill='black' /%3E%3C/svg%3E%0A\");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.red_package_cover_wrp.small .red_package_cover__access-link:after{display:none}.red_package_cover_wrp.small .red_package_cover__extend{display:none}\n", C$4 = { errType: "data-errortype", name: "data-name", isSynthetic: "data-synthetic", imgSrc: "data-receiveimg", openImgSrc: "data-openimg", orderid: "data-orderid", coveruri: "data-coveruri", bizuin: "data-bizuin", status: "data-status", is_hover: "data-is-hover", is_selected: "data-is-selected", isPurchaseOrder: "data-is-purchase-order", smallCard: "data-small-card" }; function o$4(E) { var A = {}; return A = o$6.call(this, C$4), Object.keys(C$4).forEach(function (B) { A[B] = decodeURIComponent(A[B] || ""), ["smallCard", "isSynthetic", "status", "is_hover", "is_selected", "isPurchaseOrder"].indexOf(B) > -1 && (A[B] = A[B] * 1); }), _objectSpread$8({ platform: E }, A); } function b$4() { var E = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; H$3(Object.assign(E, { Component: E.isDev ? E.devComponent : n$5, styleText: E.isDev ? E.devStyleText : d$3, customName: E.customName || "mp-common-redpacket", watchAttr: ["data-errortype", "data-status", "data-receiveimg", "data-synthetic", "data-openimg", "data-is-hover", "data-is-selected"], getProps: o$4 })); } function ownKeys$7(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var t$1 = { mixins: [k$1], props: { content: { type: String, "default": "" } }, computed: { formattedContent: function formattedContent() { return decodeURIComponent(this.content || ""); } } }; var T$4 = function T() { var i = this, u = i._self._c; return u("section", { staticClass: "wx_blockquote" }, [u("span", { staticClass: "tips" }, [i._v('私密备注:')]), u("span", { domProps: { innerHTML: i._s(i.formattedContent) } })]); }, o$3 = [], A$1 = v$2(t$1, T$4, o$3, !1, null, null, null, null); var b$3 = A$1.exports, f = "body,.wx-root{--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-FG-0: rgba(0, 0, 0, .9);--weui-FG-HALF: rgba(0, 0, 0, .9);--weui-FG-1: rgba(0, 0, 0, .55);--weui-FG-2: rgba(0, 0, 0, .3);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-FG-5: rgba(0, 0, 0, .05);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #fa9d3b;--weui-YELLOW: #ffc300;--weui-GREEN: #91d300;--weui-LIGHTGREEN: #95ec69;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1485ee;--weui-PURPLE: #6467f0;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-FG: #000;--weui-BG: #fff;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: #fa9d3b;--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: #10aeff;--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05);--weui-REDORANGE: #ff6146}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}.wx-root[data-weui-mode=care],body[data-weui-mode=care]{--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-FG-0: #000000;--weui-FG-HALF: #000000;--weui-FG-1: rgba(0, 0, 0, .6);--weui-FG-2: rgba(0, 0, 0, .42);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-FG-5: rgba(0, 0, 0, .05);--weui-RED: #dc3636;--weui-ORANGERED: #d14730;--weui-ORANGE: #e17719;--weui-YELLOW: #bb8e00;--weui-GREEN: #4f8400;--weui-LIGHTGREEN: #2e8800;--weui-BRAND: #018942;--weui-BLUE: #007dbb;--weui-INDIGO: #0075e2;--weui-PURPLE: #6265f1;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-FG: #000;--weui-BG: #fff;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: #e17719;--weui-TAG-BACKGROUND-ORANGE: rgba(225, 119, 25, .1);--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: #007dbb;--weui-TAG-BACKGROUND-BLUE: rgba(0, 125, 187, .1);--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05);--weui-REDORANGE: #d14730}@media (prefers-color-scheme: dark){.wx-root[data-weui-mode=care]:not([data-weui-theme=light]),body[data-weui-mode=care]:not([data-weui-theme=light]){--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}}.wx-root[data-weui-mode=care][data-weui-theme=dark],body[data-weui-mode=care][data-weui-theme=dark]{--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}.wx-root,body{--weui-BG-COLOR-ACTIVE: #ececec}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-COLOR-ACTIVE: #373737}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-COLOR-ACTIVE: #373737}}body,.wx-root,page{--weui-BTN-HEIGHT: 48;--weui-BTN-HEIGHT-MEDIUM: 40;--weui-BTN-HEIGHT-SMALL: 32}.wx-root,body{--weui-BTN-ACTIVE-MASK: rgba(0, 0, 0, .1)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}}.wx-root,body{--weui-BTN-DEFAULT-ACTIVE-BG: #e6e6e6}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}}.wx-root,body{--weui-DIALOG-LINE-COLOR: rgba(0, 0, 0, .1)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}}.wx_blockquote{margin:12px 0;padding:16px;background-color:#00000005;font-size:14px;line-height:1.4;color:var(--weui-FG-1);border-radius:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wx_blockquote span:not(.tips){white-space:pre-line}@media (prefers-color-scheme: dark){.wx_blockquote{background-color:#ffffff05}}.wx_blockquote .tips{position:relative;display:inline-block;margin-right:8px;color:var(--weui-FG-2)}\n", w$3 = { content: "data-content", quoteId: "data-quote-id" }; function R$2(e) { var i = {}; return i = o$6.call(this, w$3), _objectSpread$7({ platform: e }, i); } function c$3(e) { H$3(Object.assign(e, { Component: e.isDev ? e.devComponent : b$3, styleText: e.isDev ? e.devStyleText : f, customName: e.customName || "mp-common-blockquote", watchAttr: Object.values(w$3), getProps: R$2 })); } var ua = navigator.userAgent; var is_android = /(Android)/i.test(ua); var g$4 = { x: 0, y: 0, isPc: /(WindowsNT)|(Windows NT)|(Macintosh)|Linux|UnifiedPCOHOSWechat/i.test(navigator.userAgent) && !is_android, isWp: /Windows\sPhone/i.test(ua), tsTime: -1 }; var prefixes = ['webkit', 'moz', 'ms', 'o']; if (isUseTap()) { on(document, "touchstart", function (e) { if (e.touches.length === 1) { var st = e.touches[0]; g$4.x = st.clientX; g$4.y = st.clientY; g$4.tsTime = +new Date(); } else { g$4.tsTime = -1; } }); } var scrolling; function isScrolling() { if (scrolling && new Date().getTime() - scrolling < 200) return true; return false; } window.addEventListener('scroll', function () { scrolling = new Date().getTime(); }, true); function isUseTap() { if (g$4.isPc || g$4.isWp) { return false; } return true; } function tap(el, cb, flag, className) { if (!isUseTap()) { on(el, "click", className, cb, flag); } else { cb.tap_handler = function (e) { if (g$4.tsTime == -1 || +new Date() - g$4.tsTime > 200 || isScrolling()) { return; } var st = e.changedTouches[0]; if (Math.abs(g$4.y - st.clientY) 5)) { clearTimeout(timeOutEvent); timeOutEvent = undefined; typeof cancelCb === 'function' && cancelCb.call(self, e); } }); on(el, 'mouseup', className, function () { mousedown = false; clearTimeout(timeOutEvent); }); on(el, 'click', className, function () { if (triggerLongClick) return false; }); } else { on(el, 'touchstart', className, function (e) { e.touches.length === 1 && (timeOutEvent = setTimeout(function () { timeOutEvent = undefined; cb.call(self, e); }, 500)); }); on(el, 'touchmove', className, function (e) { if (!timeOutEvent) return; var st = e.changedTouches[0]; if (Math.abs(g$4.y - st.clientY) > 5 || Math.abs(g$4.x - st.clientX) > 5) { clearTimeout(timeOutEvent); timeOutEvent = undefined; typeof cancelCb === 'function' && cancelCb.call(self, e); } }); on(el, 'touchend', className, function (e) { if (timeOutEvent) { clearTimeout(timeOutEvent); timeOutEvent = undefined; } else { e.preventDefault(); } }, true); } } function doubletap(el, cb) { var _this = this; var __lastTouchVideoTs = 0; var realCb = function realCb(e) { if (Date.now() - __lastTouchVideoTs < 300) { cb.call(_this, e); } __lastTouchVideoTs = Date.now(); }; tap(el, realCb); return function () { return off(el, 'touchend', realCb); }; } function matches(ele, className) { if (!ele || !className || ele.nodeType != ele.ELEMENT_NODE) return false; var matchesSelector = ele.webkitMatchesSelector || ele.msMatchesSelector || ele.matchesSelector; if (matchesSelector) return matchesSelector.call(ele, className); className = className.substr(1); return ele.className.indexOf(className) > -1; } function closest(target, className, context) { while (target && !matches(target, className)) { target = target !== context && target.nodeType !== target.DOCUMENT_NODE && target.parentNode; } return target; } function on(el, type, className, cb, flag, extra) { var callback; var handler; var delegator; if (!el) return; if (typeof className === 'function') { extra = flag; flag = cb; cb = className; className = ''; } if (typeof className !== 'string') { className = ''; } if (el == window && type == "load" && /complete|loaded/.test(document.readyState)) { return cb({ type: "load" }); } if (type == 'tap') return tap(el, cb, flag, className); if (type === 'longtap') return longtap(el, cb, flag, className, extra); if (type == "unload" && "onpagehide" in window) { type = "pagehide"; } callback = function callback(e) { var ret = cb(e); if (ret === false) { e.stopPropagation && e.stopPropagation(); e.preventDefault && e.preventDefault(); } return ret; }; if (className && className.charAt(0) == '.') delegator = function delegator(e) { var target = e.target || e.srcElement; var match = closest(target, className, el); if (match) { e.delegatedTarget = match; return callback(e); } }; handler = delegator || callback; cb["".concat(type, "_handler")] = handler; if (el.addEventListener) { el.addEventListener(type, handler, !!flag); return; } if (el.attachEvent) { el.attachEvent("on".concat(type), handler, !!flag); return; } } function off(el, type, cb, flag) { if (!el) return; var handlerType = type; var handler; if (handlerType == 'tap') { if (isUseTap()) { handlerType = 'touchend'; handler = cb.tap_handler && cb.tap_handler.touchend_handler ? cb.tap_handler.touchend_handler : cb; } else { handlerType = 'click'; } } if (!handler) { handler = cb["".concat(handlerType, "_handler")] || cb; } if (el.removeEventListener) { el.removeEventListener(handlerType, handler, !!flag); return; } if (el.detachEvent) { el.detachEvent("on".concat(handlerType), handler, !!flag); return; } if (handlerType == 'tap' && isUseTap()) { if (cb.tap_handler) { cb.tap_handler.touchend_handler = null; } cb.tap_handler = null; } else { cb["".concat(handlerType, "_handler")] = null; } } function getHiddenProp() { if ('hidden' in document) { return 'hidden'; } for (var i = 0; i < prefixes.length; i++) { if ("".concat(prefixes[i], "Hidden") in document) { return "".concat(prefixes[i], "Hidden"); } } return null; } function getVisibilityState() { if ('visibilityState' in document) { return 'visibilityState'; } for (var i = 0; i < prefixes.length; i++) { if ("".concat(prefixes[i], "VisibilityState") in document) { return "".concat(prefixes[i], "VisibilityState"); } } return null; } function bindVisibilityChangeEvt(cb) { var visProp = getHiddenProp(); if (visProp) { var evtname = "".concat(visProp.replace(/[H|h]idden/, ''), "visibilitychange"); var handler = function handler() { var isShow = document[getVisibilityState()] !== 'hidden'; typeof cb === 'function' && cb(isShow); }; document.addEventListener(evtname, handler, false); return function () { document.removeEventListener(evtname, handler, false); }; } return function () {}; } var DomEvent = { on: on, off: off, tap: tap, longtap: longtap, bindVisibilityChangeEvt: bindVisibilityChangeEvt, doubletap: doubletap }; function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var C$3 = "https://mp.weixin.qq.com/shop/ssr/wap/gift", o$2 = "https://mp.weixin.qq.com/mmec/bizacctusergetactivityinfo", T$3 = "https://mp.weixin.qq.com"; function s$3(e) { try { var _JSON$parse = JSON.parse(e), i = _JSON$parse.action, E = _JSON$parse.value; return { action: i, value: E }; } catch (i) { console.error(i); } return {}; } function w$2(e, i, E) { var G = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "*"; try { if (!e) return console.warn("postMessageToIframe: win is null"); e.postMessage(JSON.stringify({ action: i, value: E }), G || "*"); } catch (u) { console.log("postMessage error", u); } } var I$3 = { name: "mp-common-bluepacket", mixins: [k$1], props: { extraInfo: { type: Object, "default": function _default() { return {}; } }, scrollBlur: { type: Number, "default": 0 }, loaded: { type: Number, "default": 0 }, urlParams: { type: Object, "default": function _default() { return {}; } }, customstyle: { type: String, "default": "{}" }, wapExportToken: { type: String, "default": "" } }, data: function data() { return { iframeLoading: !0, showIframe: !1, iframeUrl: "", transferStyle: "", active: !1 }; }, computed: { readyToSendToken: function readyToSendToken() { return !this.iframeLoading && this.wapExportToken; }, isEditor: function isEditor() { return this.platform === "web" || this.platform === "app"; }, iframeStyle: function iframeStyle() { var e = {}; return this.platform === "web" ? e.width = "350px" : e.width = "100%", e = Object.assign(e, JSON.parse(this.transferStyle || "{}")), e; } }, watch: { readyToSendToken: function readyToSendToken(e) { e && w$2(this.$refs.iframeRef.contentWindow, "updateToken", { value: this.wapExportToken }); }, loaded: { handler: function handler() { this.loaded && (this.showIframe = !0, this.iframeUrl = this.getCIframeUrl()); }, immediate: !0 } }, created: function created() { this.isEditor && (this.showIframe = !0, this.iframeUrl = this.getBIframeUrl()); }, mounted: function mounted() { var _this = this; this.extraInfo.window && this.extraInfo.window.addEventListener("message", this.handleMessage), this.extraInfo.window && this.extraInfo.window.addEventListener("click", this.handleDocumentClick), this.scrollBlur && this.extraInfo.window && this.extraInfo.window.addEventListener("scroll", this.handleScroll), this.__unbindVisibilityChange = DomEvent.bindVisibilityChangeEvt(this.handleVisibilityChangeEvt), R$4.on("onWindowFocusChanged", this.__onNativeFocusChange = function (e) { var i = Device.os.ios ? !(e.hasFocus * 1) : !!e.hasFocus, E = _this.$refs.iframeRef; i && E != null && E.contentWindow && w$2(E.contentWindow, "pageVisible", { type: "windowFocusChanged" }); }); }, beforeDestroy: function beforeDestroy() { this.extraInfo.window && this.extraInfo.window.removeEventListener("message", this.handleMessage), this.extraInfo.window && this.extraInfo.window.removeEventListener("click", this.handleDocumentClick), R$4.remove("onWindowFocusChanged", this.__onNativeFocusChange), typeof this.__unbindVisibilityChange == "function" && this.__unbindVisibilityChange(); }, methods: { handleVisibilityChangeEvt: function handleVisibilityChangeEvt(e) { var i = this.$refs.iframeRef; e && i != null && i.contentWindow && w$2(i.contentWindow, "pageVisible", { type: "visibilityChange" }); }, handleScroll: function handleScroll() { this.deActive(); }, handleDocumentClick: function handleDocumentClick(e) { this.$refs.js_custom_element.contains(e.target) || (this.deActive(), this.$emit("document-click", e)); }, deActive: function deActive() { var e = this.$refs.iframeRef; e && e.contentWindow && this.active && (w$2(e.contentWindow, "webEvent", { type: "unclick" }), this.active = !1); }, getBIframeUrl: function getBIframeUrl() { var e = _objectSpread$6({}, this.urlParams); delete e.shop_bizuin; var i = window && window.wx && window.wx.data && window.wx.data.t || p$1(window.location.href).token || this.token; return i && (e.token = i), u$3(C$3, e); }, getCIframeUrl: function getCIframeUrl() { var e = _objectSpread$6(_objectSpread$6({}, this.urlParams), {}, { device_type: Device.os.ios ? 1 : 2 }); return delete e.shop_bizuin, u$3(o$2, e); }, handleMessage: function handleMessage(e) { if (e.origin !== T$3) return; var i = this.$refs.iframeRef, E = i == null ? void 0 : i.contentWindow; if (i && e.source === E) { var _s = s$3(e.data), G = _s.action, u = _s.value; switch (G) { case "changeFrameStyle": this.changeFrameStyle(e, u); break; case "onFrameReady": this.onFrameReady(e, i); break; case "webEvent": u.type === "click" ? this.clickProduct(e) : u.type === "toast" ? window.weui.toast(u.msg, { extClass: "weui-toast_text" }) : u.type === "dialog" && window.weui.dialog(u); break; } this.$emit("iframe-message", e); } }, clickProduct: function clickProduct(e) { this.extraInfo.window && this.extraInfo.window.clickedProductWin && e.source !== this.extraInfo.window.clickedProductWin && w$2(this.extraInfo.window.clickedProductWin, "webEvent", { type: "unclick" }), this.extraInfo.window && (this.extraInfo.window.clickedProductWin = e.source), this.active = !0; }, onFrameReady: function onFrameReady() { this.iframeLoadTimeout && clearTimeout(this.iframeLoadTimeout), this.iframeLoading = !1, this.extraInfo.window && w$2(this.extraInfo.window, "setPageData", { darkMode: this.extraInfo.window.matchMedia("(prefers-color-scheme: dark)").matches }), this.isEditor || this.exposureReport(); }, exposureReport: function exposureReport() { var _this2 = this; this.observer = new IntersectionObserver(function (e) { e.forEach(function (i) { var E = _this2.$refs.iframeRef; if (i.isIntersecting && i.intersectionRatio >= 0.5) try { E && E.contentWindow && (_this2.timeout = setTimeout(function () { w$2(E.contentWindow, "webEvent", { type: "valid_expose" }); }, 500)); } catch (G) { console.error(G); } else _this2.timeout && clearTimeout(_this2.timeout); }); }, { threshold: 0.5 }), this.observer.observe(this.$refs.js_custom_element); }, changeFrameStyle: function changeFrameStyle(e, i) { if (!(!i || _typeof$2(i) != "object" || this.cardtype === 2)) try { this.transferStyle = JSON.stringify(i); } catch (E) { console.error(E); } } } }; var n$4 = function n() { var i = this, E = i._self._c; return E("div", { ref: "js_custom_element", staticClass: "iframe_wrp wx_card_root" }, [i.iframeLoading ? E("div", { staticClass: "bluepacket_wx_img_placeholder", style: JSON.parse(i.customstyle || "{}") }) : i._e(), i.showIframe ? E("iframe", { ref: "iframeRef", staticClass: "iframe_style", style: i.iframeStyle, attrs: { src: i.iframeUrl, scrolling: "no", frameborder: "0" } }) : i._e()]); }, O$4 = [], g$3 = v$2(I$3, n$4, O$4, !1, null, "33cbb04e", null, null); var b$2 = g$3.exports, l$4 = "body,.wx-root{--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #07C160;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0: rgba(0, 0, 0, .9);--weui-FG-0_5: rgba(0, 0, 0, .9);--weui-FG-1: rgba(0, 0, 0, .55);--weui-FG-2: rgba(0, 0, 0, .3);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-GLYPH-0: rgba(0, 0, 0, .9);--weui-GLYPH-1: rgba(0, 0, 0, .55);--weui-GLYPH-2: rgba(0, 0, 0, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #91D300;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #1485EE;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #95EC69;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #FA9D3B;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6467F0;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #FA5151;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .05);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #FFC300;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-FG-HALF: rgba(0, 0, 0, .9);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #FA9D3B;--weui-YELLOW: #FFC300;--weui-GREEN: #91D300;--weui-LIGHTGREEN: #95EC69;--weui-TEXTGREEN: #06AE56;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1485EE;--weui-PURPLE: #6467F0;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #FA9D3B;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #10AEFF;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05);--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-FG: #000;--weui-FG-5: rgba(0, 0, 0, .05);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG: #fff;--weui-BG: #000;--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6)}}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG: #fff;--weui-BG: #000;--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6)}.wx-root[data-weui-mode=care],body[data-weui-mode=care]{--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #007DBB;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #018942;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0: #000000;--weui-FG-0_5: #000000;--weui-FG-1: rgba(0, 0, 0, .6);--weui-FG-2: rgba(0, 0, 0, .42);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-GLYPH-0: #000000;--weui-GLYPH-1: rgba(0, 0, 0, .6);--weui-GLYPH-2: rgba(0, 0, 0, .42);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #4F8400;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #0075E2;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #2E8800;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #E17719;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #D14730;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6265F1;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #DC3636;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .1);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #BB8E00;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-FG-HALF: #000000;--weui-RED: #DC3636;--weui-ORANGERED: #D14730;--weui-ORANGE: #E17719;--weui-YELLOW: #BB8E00;--weui-GREEN: #4F8400;--weui-LIGHTGREEN: #2E8800;--weui-TEXTGREEN: #06AE56;--weui-BRAND: #018942;--weui-BLUE: #007DBB;--weui-INDIGO: #0075E2;--weui-PURPLE: #6265F1;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #E17719;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #007DBB;--weui-REDORANGE: #D14730;--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-FG: #000;--weui-FG-5: rgba(0, 0, 0, .05);--weui-TAG-BACKGROUND-ORANGE: rgba(225, 119, 25, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(0, 125, 187, .1);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05)}@media (prefers-color-scheme: dark){.wx-root[data-weui-mode=care]:not([data-weui-theme=light]),body[data-weui-mode=care]:not([data-weui-theme=light]){--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-FG: #fff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-BG: #000;--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5)}}.wx-root[data-weui-mode=care][data-weui-theme=dark],body[data-weui-mode=care][data-weui-theme=dark]{--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-FG: #fff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-BG: #000;--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5)}.bluepacket_wx_img_placeholder{width:100%;background:var(--weui-BG-3) url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E9.\u5143\u7D20/\u52A0\u8F7D/Black%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='\u9875\u9762-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg id='LoadingDefault'%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' id='\u8DEF\u5F84' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' id='\u8DEF\u5F84' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3CanimateTransform attributeName='transform' begin='0s' dur='1s' type='rotate' values='0 40 40;360 40 40' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E%0A\") no-repeat 50% 50%!important;background-size:16px!important;border-radius:8px}.iframe_style{height:0px;border-radius:8px}.iframe_wrp{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;position:relative}\n", r$5 = { loaded: "data-loaded", urlParams: "data-url-params", customstyle: "data-customstyle", scrollBlur: "data-scroll-blur", wapExportToken: "data-wap-export-token" }; function c$2(e) { var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var E = {}; return E = o$6.call(this, r$5), E.loaded = Number(E.loaded || 0), E.urlParams = JSON.parse(E.urlParams || "{}"), E.scrollBlur = Number(E.scrollBlur || 0), _objectSpread$6({ platform: e, extraInfo: i }, E); } function Y(e) { H$3(Object.assign(e, { Component: e.isDev ? e.devComponent : b$2, styleText: e.isDev ? e.devStyleText : l$4, customName: e.customName || "mp-common-bluepacket", watchAttr: Object.values(r$5), getProps: c$2, eventName: ["iframe-message", "document-click", "expose", "element-click"] })); } function parseUrl(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':', ''), host: a.hostname, port: a.port, query: a.search, params: function () { var ret = {}; var seg = a.search.replace(/^\?/, '').split('&'); var len = seg.length; var i = 0; var s; for (; i < len; i++) { if (!seg[i]) { continue; } s = seg[i].split('='); ret[s[0]] = s[1]; } return ret; }(), file: (a.pathname.match(/([^\/?#]+)$/i) || [, ''])[1], hash: a.hash.replace('#', ''), path: a.pathname.replace(/^([^\/])/, '/$1'), relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1], segments: a.pathname.replace(/^\//, '').split('/') }; } function openUrlWithExtraWebview(url, scene, userName, openType, sucCb, interactiveDismiss) { var urlParsedData; if (url.indexOf('/') == 0) { urlParsedData = parseUrl(location.href); url = "".concat(urlParsedData.protocol, "://").concat(urlParsedData.host).concat(url); console.log('openUrlWithExtraWebview with relative path:', url); } url = url.replace(/(#[^#]*)+/, function (_, _1, _2) { return _1; }); if (navigator.userAgent.indexOf('MicroMessenger') !== -1 && (MMVersion.isIOS || MMVersion.isAndroid || MMVersion.isHarmony || MMVersion.isWp || Device.os.pc)) { R$4.invoke('openUrlWithExtraWebview', { url: url, scene: scene || '', bizUsername: userName || '', interactiveDismiss: !!interactiveDismiss, openType: typeof openType === 'undefined' ? 1 : openType }, function (res) { var _a; if (((_a = res.err_msg) === null || _a === void 0 ? void 0 : _a.indexOf('ok')) === -1) { location.href = url; } else { typeof sucCb === 'function' && sucCb(res); } }); } else if (MMVersion.isMpapp) { try { invoke('WNNativeCallbackOpenNewWindow', { url: url }); } catch (e) { location.href = url; } } else { var winRef = window.open(url); if (!winRef && !MMVersion.isWxWork) { location.href = url; } } } function openUrl(opt) { var url = opt.url, itemShowType = opt.itemShowType, openType = opt.openType, scene = opt.scene, subscene = opt.subscene, canFastLoad = opt.canFastLoad; if (MMVersion.isWechat) { if (canFastLoad) { R$4.invoke('openWebViewUseFastLoad', { url: url, item_show_type: itemShowType, openType: openType || 0, scene: scene || 0, subscene: subscene || 0 }, function (resp) { var _a; if (((_a = resp === null || resp === void 0 ? void 0 : resp.err_msg) === null || _a === void 0 ? void 0 : _a.indexOf('ok')) === -1) { R$4.invoke('openUrlWithExtraWebview', { url: url, openType: 1 }, function (res) { var _a; if (((_a = res === null || res === void 0 ? void 0 : res.err_msg) === null || _a === void 0 ? void 0 : _a.indexOf('ok')) === -1) { window.location.href = url; } }); } }); } else { R$4.invoke('openUrlWithExtraWebview', { url: url, openType: 1 }, function (res) { var _a; if (((_a = res === null || res === void 0 ? void 0 : res.err_msg) === null || _a === void 0 ? void 0 : _a.indexOf('ok')) === -1) { window.location.href = url; } }); } } else { window.open(url); } } var openUrl$1 = { openUrlWithExtraWebview: openUrlWithExtraWebview, openUrl: openUrl }; function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _regeneratorRuntime$1() { _regeneratorRuntime$1 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof$2(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof$2(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc "u" ? !0 : this.showContent === l$3.PRODUCT; }, isBannerCard: function isBannerCard() { return this.showContent === l$3.BANNER; }, isCrratedSetCard: function isCrratedSetCard() { return this.showContent === l$3.CURATED_SET; }, iconStyle: function iconStyle() { return this.isDark && this.platform === "web" ? { backgroundImage: 'url("https://res.wx.qq.com/shop/public/2025-05-10/321b820e-8d8a-4083-8e0f-40b2b01fc8ef.png")' } : {}; }, banners: function banners() { var _this = this; var A; return (((A = this.getShopCardResp) == null ? void 0 : A.banners) || []).slice(0, 3).map(function (e) { var E, t, g, w, o, u, G, Q, M, c; var i = _this.bgColor; return { id: e.id, type: e.type, title: (E = e.banner) == null ? void 0 : E.title, subTitle: (t = e.banner) == null ? void 0 : t.subtitle, imgUrl: (g = e.banner) == null ? void 0 : g.img_url, desc: (w = e.banner) == null ? void 0 : w.description, bgColor: y$2([i.red, i.green, i.blue]), bgColorRgb: i, product: e.product && { showPriceStartWording: (u = (o = e.product) == null ? void 0 : o.price) == null ? void 0 : u.has_range_price, fullPage: e.product.full_page, ecsJumpInfoBase64Str: (G = e.product) == null ? void 0 : G.ecs_jump_info_base64_str }, finderInfo: e.finder && { finderUsername: e.finder.uniq_id, feedId: e.finder.export_id, nickname: (Q = e.finder) == null ? void 0 : Q.nickname }, mpInfo: e.official_account && { url: e.official_account.url, nickname: (M = e.official_account) == null ? void 0 : M.nickname, title: (c = e.official_account) == null ? void 0 : c.title, itemShowType: e.official_account.item_show_type } }; }); }, curatedSets: function curatedSets() { var A; var B = ((A = this.getShopCardResp) == null ? void 0 : A.curated_sets) || []; return B = B.map(function (e) { var i = e.product_total_count; return { mainProductImg: e.cover_img_url, title: e.title, productCnt: i > 99 ? "99+" : i, jumpInfoBase64Str: e.jump_info_base64_str || "" }; }).filter(function (e) { return !!e.mainProductImg; }).slice(0, 3), B; }, background: function background() { var B; return (B = this.getShopCardResp) == null ? void 0 : B.back_ground; }, cardHeadStyle: function cardHeadStyle() { var B, A, e, i; if ((B = this.background) != null && B.img_url) { if (this.hasBgColor) { var E = C$6((A = this.background) == null ? void 0 : A.main_colors)[1]; return { background: "linear-gradient(to left bottom, rgba(".concat(E.red, ", ").concat(E.green, ", ").concat(E.blue, ", 0.7) 0%, rgba(").concat(E.red, ", ").concat(E.green, ", ").concat(E.blue, ", 1) 60%, rgba(").concat(E.red, ", ").concat(E.green, ", ").concat(E.blue, ", 1) ) 100%, url(\"").concat((e = this.background) == null ? void 0 : e.img_url, "\") left top / 100% auto no-repeat") }; } else return { background: "url(\"".concat((i = this.background) == null ? void 0 : i.img_url, "\") left top / 100% auto no-repeat") }; } else return { background: "rgba(".concat(d$2.red, ", ").concat(d$2.green, ", ").concat(d$2.blue, ", 1)") }; }, curatedStyle: function curatedStyle() { var B = this.bgColor; return { width: "".concat(this.productWidth, "px"), height: "".concat(this.productHeight, "px"), backgroundImage: "linear-gradient(to top, rgba(".concat(B.red, ", ").concat(B.green, ", ").concat(B.blue, ", 0.7) 0%, rgba(").concat(B.red, ", ").concat(B.green, ", ").concat(B.blue, ", 1) 100%)") }; }, hasBgColor: function hasBgColor() { var B, A, e; return !!((B = this.background) != null && B.main_colors && (A = this.background) != null && A.main_colors[0] && _typeof$2((e = this.background) == null ? void 0 : e.main_colors[0].red) < "u"); }, bgColor: function bgColor() { var B; return this.hasBgColor ? C$6((B = this.background) == null ? void 0 : B.main_colors)[1] : d$2; }, shopProfileNameStyle: function shopProfileNameStyle() { return this.hasBgColor ? {} : { color: y }; }, shopProfileDescStyle: function shopProfileDescStyle() { return this.hasBgColor ? {} : { color: _$1 }; }, jumpShopIconStyle: function jumpShopIconStyle() { return this.hasBgColor ? {} : { color: y }; } }, watch: { appid: { handler: function handler() { this.forceUpdateShopCard(); } }, shopEncryptKey: { handler: function handler() { this.forceUpdateShopCard(); } } }, created: function created() { this.getShopCard(); }, mounted: function mounted() { var _this2 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee() { return _regeneratorRuntime$1().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: console.log("@@@@@ shopprofile mount"), _this2.extraInfo.window && _this2.extraInfo.window.addEventListener("message", _this2.handleMessage), _this2.extraInfo.window && _this2.extraInfo.window.addEventListener("click", _this2.handleDocumentClick), _this2.reportExpose(); case 1: case "end": return _context.stop(); } }, _callee); }))(); }, beforeDestroy: function beforeDestroy() { this.extraInfo.window && this.extraInfo.window.removeEventListener("message", this.handleMessage), this.extraInfo.window && this.extraInfo.window.removeEventListener("click", this.handleDocumentClick); }, methods: { initReport: function initReport() { var _this3 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee2() { return _regeneratorRuntime$1().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return N$1(); case 2: _context2.next = 4; return _this3.getShopCard(); case 4: case "end": return _context2.stop(); } }, _callee2); }))(); }, reportExpose: function reportExpose() { var _this4 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee3() { return _regeneratorRuntime$1().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return _this4.report(r$4.CARD, I$2.EXPOSE); case 2: _context3.next = 4; return _this4.report(r$4.PRODUCT, I$2.EXPOSE); case 4: case "end": return _context3.stop(); } }, _callee3); }))(); }, report: function report(B, A, e) { var _this5 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee4() { var g, w, o, u, G, Q, M, c, h, Y, p, T, i, E, t, a, F, z, _a, _F; return _regeneratorRuntime$1().wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: if (!(_this5.platform !== "wechat")) { _context4.next = 2; break; } return _context4.abrupt("return"); case 2: _context4.next = 4; return _this5.initReport(); case 4: i = {}; _context4.prev = 5; _context4.next = 8; return N$1(); case 8: i = _context4.sent; _context4.next = 14; break; case 11: _context4.prev = 11; _context4.t0 = _context4["catch"](5); Log.error("getMPInfo fail ".concat(_context4.t0, "."), _context4.t0); case 14: E = ""; B === r$4.CARD ? E = "shop_card" : B === r$4.PRODUCT && (E = "commodity_card"); t = ""; if (A === I$2.CLICK ? t = "element_click" : A === I$2.EXPOSE && (t = "element_valid_expose"), B === r$4.PRODUCT && A === I$2.EXPOSE) { a = _this5.products; for (F = 0; F < a.length; ++F) { z = { logid: "23782", data: { event: t, params: JSON.stringify({ page_name: "mp_article_page", element_name: E, productid: a[F].product_id, mp_article_bizuin: (g = i == null ? void 0 : i.article_info) == null ? void 0 : g.mp_biz, mp_article_appmsgid: (w = i == null ? void 0 : i.article_info) == null ? void 0 : w.appmsgid, mp_article_item_idx: (o = i == null ? void 0 : i.article_info) == null ? void 0 : o.item_idx, mp_article_item_show_type: (u = i == null ? void 0 : i.article_info) == null ? void 0 : u.item_show_type, scene: (G = i == null ? void 0 : i.article_info) == null ? void 0 : G.mp_article_scene, cardtype: R$1, appid: _this5.appid }) } }; O$5(z); } } else { _a = ""; _typeof$2(e) < "u" && (_a = (M = (Q = _this5.products) == null ? void 0 : Q[e]) == null ? void 0 : M.product_id); _F = { logid: "23782", data: { event: t, params: JSON.stringify({ page_name: "mp_article_page", element_name: E, productid: _a, mp_article_bizuin: (c = i == null ? void 0 : i.article_info) == null ? void 0 : c.mp_biz, mp_article_appmsgid: (h = i == null ? void 0 : i.article_info) == null ? void 0 : h.appmsgid, mp_article_item_idx: (Y = i == null ? void 0 : i.article_info) == null ? void 0 : Y.item_idx, mp_article_item_show_type: (p = i == null ? void 0 : i.article_info) == null ? void 0 : p.item_show_type, scene: (T = i == null ? void 0 : i.article_info) == null ? void 0 : T.mp_article_scene, cardtype: R$1, appid: _this5.appid }) } }; O$5(_F); } case 18: case "end": return _context4.stop(); } }, _callee4, null, [[5, 11]]); }))(); }, forceUpdateShopCard: function forceUpdateShopCard() { var _this6 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee5() { return _regeneratorRuntime$1().wrap(function _callee5$(_context5) { while (1) switch (_context5.prev = _context5.next) { case 0: _this6.forceUpdate = !0; _context5.prev = 1; _context5.next = 4; return _this6.getShopCard(); case 4: _context5.next = 9; break; case 6: _context5.prev = 6; _context5.t0 = _context5["catch"](1); console.error(_context5.t0); case 9: _this6.forceUpdate = !1; case 10: case "end": return _context5.stop(); } }, _callee5, null, [[1, 6]]); }))(); }, test: function test() { Log.log("test"); }, handleDocumentClick: function handleDocumentClick(B) { this.$refs.js_custom_element.contains(B.target) || this.$emit("document-click", B); }, updateImagesSize: function updateImagesSize() { if (!this.$refs.products_container) return; var B = 6; this.isProductCard && (B = 4); var e = this.$refs.products_container.offsetWidth; this.productWidth = (e - B * 2) / 3, this.isCrratedSetCard ? this.productHeight = this.productWidth * 0.676 : this.productHeight = this.productWidth; }, getShopCard: function getShopCard() { var _this7 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee6() { var B, A, e, i, E; return _regeneratorRuntime$1().wrap(function _callee6$(_context6) { while (1) switch (_context6.prev = _context6.next) { case 0: if (!(!_this7.appid || !_this7.shopEncryptKey)) { _context6.next = 2; break; } return _context6.abrupt("return", Promise.reject({})); case 2: if (!(_this7.requestinggetShopCardResp && _this7.getShopCardPromise)) { _context6.next = 4; break; } return _context6.abrupt("return", _this7.getShopCardPromise); case 4: if (!(_this7.getShopCardResp && !_this7.forceUpdate)) { _context6.next = 6; break; } return _context6.abrupt("return", _this7.getShopCardResp); case 6: _this7.requestinggetShopCardResp = !0; B = _this7; A = {}; _context6.prev = 9; _context6.next = 12; return N$1(); case 12: A = _context6.sent; _context6.next = 18; break; case 15: _context6.prev = 15; _context6.t0 = _context6["catch"](9); Log.error("getMPInfo fail ".concat(_context6.t0, "."), _context6.t0); case 18: e = (A == null ? void 0 : A.exportkey) || Url.getQuery("exportkey") || "", i = btoa(JSON.stringify((A == null ? void 0 : A.article_info) || {})), E = "/mmec/biz_getshopcard?appid=".concat(_this7.appid, "&shop_encrypt_key=").concat(encodeURIComponent(_this7.shopEncryptKey), "&exportkey=").concat(e, "&cardtype=").concat(R$1, "&article_info=").concat(i); return _context6.abrupt("return", (_this7.getShopCardPromise = new Promise(function (t, g) { ajax({ type: "GET", url: E, success: function success(w) { if (typeof w == "string") try { w = JSON.parse(w); } catch (o) { w = {}, Log.error("/mmec/biz_getshopcard parse res error. res=".concat(w, " err=").concat(o)); } console.log("@@@@@ biz_getshopcard success", JSON.parse(JSON.stringify(w))), B.getShopCardResp = w, B.requestinggetShopCardResp = !1, setTimeout(function () { B.updateImagesSize(); }), B.iframeLoading = !1, t(); }, error: function error(w) { console.log("@@@@@ biz_getshopcard error", w), B.requestinggetShopCardResp = !1, B.iframeLoading = !1, console.error("getShopCard err", w), g(w); } }); }), _this7.getShopCardPromise)); case 20: case "end": return _context6.stop(); } }, _callee6, null, [[9, 15]]); }))(); }, supportOpenEcs: function supportOpenEcs() { var _this8 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee7() { return _regeneratorRuntime$1().wrap(function _callee7$(_context7) { while (1) switch (_context7.prev = _context7.next) { case 0: if (!(_typeof$2(_this8._supportOpenEcs) < "u")) { _context7.next = 4; break; } _context7.t0 = _this8._supportOpenEcs; _context7.next = 8; break; case 4: _context7.next = 6; return L(); case 6: _this8._supportOpenEcs = _context7.sent; _context7.t0 = _this8._supportOpenEcs; case 8: return _context7.abrupt("return", _context7.t0); case 9: case "end": return _context7.stop(); } }, _callee7); }))(); }, openJumpInfo: function openJumpInfo(B) { var _this9 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee8() { var A, e; return _regeneratorRuntime$1().wrap(function _callee8$(_context8) { while (1) switch (_context8.prev = _context8.next) { case 0: if (!(_this9.platform === "wechat")) { _context8.next = 11; break; } _context8.next = 3; return L(); case 3: if (!_context8.sent) { _context8.next = 8; break; } _context8.next = 6; return O$3(B); case 6: _context8.next = 9; break; case 8: (A = window == null ? void 0 : window.weui) == null || A.toast("当前版本不支持打开店铺", { extClass: "weui-toast_text" }); case 9: _context8.next = 12; break; case 11: (e = window == null ? void 0 : window.weui) == null || e.toast("请在手机微信中打开", { extClass: "weui-toast_text" }); case 12: case "end": return _context8.stop(); } }, _callee8); }))(); }, jumpShop: function jumpShop() { var _this10 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee9() { return _regeneratorRuntime$1().wrap(function _callee9$(_context9) { while (1) switch (_context9.prev = _context9.next) { case 0: _this10.openJumpInfo(_this10.shopJumpInfo), _this10.report(r$4.CARD, I$2.CLICK); case 1: case "end": return _context9.stop(); } }, _callee9); }))(); }, jumpProduct: function jumpProduct(B, A) { var _this11 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee10() { return _regeneratorRuntime$1().wrap(function _callee10$(_context10) { while (1) switch (_context10.prev = _context10.next) { case 0: _this11.openJumpInfo(B.detail_page_jump_info_base64_str || ""), _this11.report(r$4.PRODUCT, I$2.CLICK, A); case 1: case "end": return _context10.stop(); } }, _callee10); }))(); }, jumpBanner: function jumpBanner(B, A) { var _this12 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee11() { var e, i, E, t, g; return _regeneratorRuntime$1().wrap(function _callee11$(_context11) { while (1) switch (_context11.prev = _context11.next) { case 0: _context11.t0 = B.type; _context11.next = _context11.t0 === 1 ? 3 : _context11.t0 === 2 ? 5 : _context11.t0 === 3 ? 8 : _context11.t0 === 4 ? 10 : 12; break; case 3: _this12.openJumpInfo((B == null ? void 0 : B.product.ecsJumpInfoBase64Str) || ""); return _context11.abrupt("break", 12); case 5: g = { current: B == null ? void 0 : B.imgUrl, urls: [B == null ? void 0 : B.imgUrl], forbidForward: window.isPaySubscribe ? 1 : 0 }; R$4.invoke("imagePreview", g, function (w) { console.log("imagePreview response", w); }); return _context11.abrupt("break", 12); case 8: R$4.invoke("openFinderView", { extInfo: { action: "openFinderFeed", feedID: (e = B == null ? void 0 : B.finderInfo) == null ? void 0 : e.feedId, nonceID: ((i = B == null ? void 0 : B.finderInfo) == null ? void 0 : i.finderUsername) || "", notGetReleatedList: 0, shareScene: 25, commentScene: 26, requestScene: 27, reportExtraInfo: JSON.stringify({}) } }, function (g) { console.info("openFinderView res: ".concat(JSON.stringify(g))); }); return _context11.abrupt("break", 12); case 10: console.log("@@@@@ openUrlWithExtraWebview url=".concat((E = B == null ? void 0 : B.mpInfo) == null ? void 0 : E.url)), openUrlWithExtraWebview((t = B == null ? void 0 : B.mpInfo) == null ? void 0 : t.url); return _context11.abrupt("break", 12); case 12: case "end": return _context11.stop(); } }, _callee11); }))(); }, jumpSet: function jumpSet(B, A) { var _this13 = this; return asyncToGenerator( _regeneratorRuntime$1().mark(function _callee12() { return _regeneratorRuntime$1().wrap(function _callee12$(_context12) { while (1) switch (_context12.prev = _context12.next) { case 0: console.log("jumpSet ".concat(B.jumpInfoBase64Str)), _this13.openJumpInfo(B.jumpInfoBase64Str || ""); case 1: case "end": return _context12.stop(); } }, _callee12); }))(); }, formatPrice: function formatPrice(B) { return k$2(B); } } }; var P$2 = function P() { var A = this, e = A._self._c; return e("div", { ref: "js_custom_element", staticClass: "wx_card_root mp_shopprofile_card_root" }, [A.iframeLoading ? e("div", { staticClass: "bluepacket_wx_img_placeholder", style: A.placeholderStyle }) : A.isShopStatusNormal ? e("div", { staticClass: "card_wrap", style: A.cardStyle }, [e("div", { staticClass: "card_head", style: A.cardHeadStyle }, [e("div", { staticClass: "head_left" }, [e("div", { staticClass: "head_img_wrap" }, [A.headImgUrl ? e("img", { staticClass: "head_img", attrs: { src: A.headImgUrl }, on: { click: A.jumpShop } }) : A._e()]), e("div", { staticClass: "head_mid" }, [e("div", { staticClass: "head_mid_top", style: A.shopProfileNameStyle, on: { click: A.jumpShop } }, [A._v(A._s(A.shopProfileName))]), e("div", { staticClass: "head_mid_bottom", style: A.shopProfileDescStyle }, [A.brandIconUrl ? e("img", { staticClass: "r_icon", attrs: { src: A.brandIconUrl } }) : A._e(), A.brandTailWording ? e("div", { staticClass: "rtag_name" }, [A._v(A._s(A.brandTailWording))]) : A._e(), A.brandTailWording && A.saleWording ? e("div", { staticClass: "rtag_break" }) : A._e(), A.saleWording ? e("div", { staticClass: "card_sales" }, [A._v(A._s(A.saleWording))]) : A._e()])])]), e("div", { staticClass: "head_right" }, [e("button", { staticClass: "tap_home_btn weui-btn weui-btn_default weui-btn_mini", style: A.jumpShopIconStyle, on: { click: A.jumpShop } }, [A._v("进店")])])]), e("div", { staticClass: "card_body_warp_banner" }, [A.isProductCard ? e("div", { ref: "products_container", staticClass: "product_card" }, A._l(A.products, function (i, E) { return e("div", { staticClass: "product", style: A.productStyle, on: { click: function click(t) { return A.jumpProduct(i, E); } } }, [i.img_url ? e("img", { staticClass: "product_image", style: A.pruductImgStyle, attrs: { src: i.img_url } }) : A._e(), e("div", { staticClass: "product_price" }, [A._v(" ¥" + A._s(A.formatPrice(i.selling_price)) + " ")])]); }), 0) : A.isBannerCard ? e("div", { ref: "products_container", staticClass: "banner_card" }, A._l(A.banners, function (i, E) { return e("div", { staticClass: "banner", style: { width: A.productWidth + "px" }, on: { click: function click(t) { return A.jumpShop(); } } }, [e("div", { staticClass: "banner_image_wrap", style: A.pruductImgStyle }, [e("div", { staticClass: "banner_mask" }), i.type === 1 ? e("img", { staticClass: "banner_type", attrs: { src: "https://mmec-shop-1258344707.cos.ap-shanghai.myqcloud.com/shop/public/2024-10-15/3a0875f8-2d03-46da-af4e-7041f8072b25.png" } }) : A._e(), i.type === 2 ? e("img", { staticClass: "banner_type", attrs: { src: "https://mmec-shop-1258344707.cos.ap-shanghai.myqcloud.com/shop/public/2024-10-15/6c6ade47-1e03-44bb-b47c-5135b5d3728d.png" } }) : A._e(), i.type === 3 ? e("img", { staticClass: "banner_type", attrs: { src: "https://mmec-shop-1258344707.cos.ap-shanghai.myqcloud.com/shop/public/2024-10-15/4ac5bbf0-7dd5-4403-9d48-eaddb2f6d83f.png" } }) : A._e(), i.type === 4 ? e("img", { staticClass: "banner_type", attrs: { src: "https://mmec-shop-1258344707.cos.ap-shanghai.myqcloud.com/shop/public/2024-10-15/6c6ade47-1e03-44bb-b47c-5135b5d3728d.png" } }) : A._e(), i.imgUrl ? e("img", { staticClass: "banner_image", style: A.pruductImgStyle, attrs: { src: i.imgUrl } }) : A._e()]), e("div", { staticClass: "banner_title_wrap", style: { backgroundColor: i.bgColor } }, [e("div", { staticClass: "banner_title" }, [A._v(A._s(i.title))])])]); }), 0) : A.isCrratedSetCard ? e("div", { ref: "products_container", staticClass: "curated_card" }, A._l(A.curatedSets, function (i, E) { return e("div", { staticClass: "curated", style: { width: A.productWidth + "px" }, on: { click: function click(t) { return A.jumpSet(i, E); } } }, [e("div", { staticClass: "curated_image_wrap", style: A.curatedStyle }, [e("div", { staticClass: "mask-bg" }), e("img", { style: { width: A.productHeight - 22 + "px", height: A.productHeight - 22 + "px" }, attrs: { src: "https://res.wx.qq.com/shop/public/2025-03-28/680acf97-edcd-4bff-877b-52652c7a0f8a.png" } }), e("img", { staticClass: "set_cover_img", style: { width: A.productHeight - 22 + "px", height: A.productHeight - 22 + "px" }, attrs: { src: i.mainProductImg } }), e("img", { style: { width: A.productHeight - 22 + "px", height: A.productHeight - 22 + "px" }, attrs: { src: "https://res.wx.qq.com/shop/public/2025-03-28/46f802c6-de67-45f3-966a-3d634fafa935.png" } })]), e("div", { staticClass: "desc_wrap" }, [e("span", { staticClass: "desc" }, [A._v(A._s(i.title))]), e("span", { staticClass: "count" }, [A._v(A._s(i.productCnt))])])]); }), 0) : A._e(), A._m(0)])]) : e("div", { staticClass: "card_wrap", style: A.cardStyle }, [e("div", { staticClass: "shop_status_desc" }, [A._v(A._s(A.statusDesc))])])]); }, Z = [function () { var B = this, A = B._self._c; return A("div", { staticClass: "shop_icon_wrap" }, [A("div", { staticClass: "shop_icon" }), A("div", { staticClass: "shop_name" }, [B._v("小店")])]); }], K$2 = v$2(J$1, P$2, Z, !1, null, "d0ee4439", null, null); var X$1 = K$2.exports, v = ".wx_hover_card:before{content:\" \";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:8px;box-sizing:border-box;border:1px solid rgba(7,193,96,.3);pointer-events:none;z-index:9}.wx_selected_card:before{content:\" \";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:8px;border:1.5px solid #07C160;box-sizing:border-box;background:rgba(7,193,96,.1);pointer-events:none;z-index:9}body,.wx-root{--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #07C160;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0_5: rgba(0, 0, 0, .9);--weui-GLYPH-0: rgba(0, 0, 0, .9);--weui-GLYPH-1: rgba(0, 0, 0, .55);--weui-GLYPH-2: rgba(0, 0, 0, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #91D300;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #1485EE;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #95EC69;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #FA9D3B;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6467F0;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #FA5151;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .05);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #FFC300;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #FA9D3B;--weui-YELLOW: #FFC300;--weui-GREEN: #91D300;--weui-LIGHTGREEN: #95EC69;--weui-TEXTGREEN: #06AE56;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1485EE;--weui-PURPLE: #6467F0;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #FA9D3B;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #10AEFF;--weui-REDORANGE: #FF6146;--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-FG-0: rgba(0, 0, 0, .9);--weui-FG-HALF: rgba(0, 0, 0, .9);--weui-FG-1: rgba(0, 0, 0, .55);--weui-FG-2: rgba(0, 0, 0, .3);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-FG-5: rgba(0, 0, 0, .05);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #fa9d3b;--weui-YELLOW: #ffc300;--weui-GREEN: #91d300;--weui-LIGHTGREEN: #95ec69;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1485ee;--weui-PURPLE: #6467f0;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-FG: #000;--weui-BG: #fff;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: #fa9d3b;--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: #10aeff;--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05);--weui-REDORANGE: #ff6146}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}.wx-root[data-weui-mode=care],body[data-weui-mode=care]{--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #007DBB;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #018942;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0_5: #000000;--weui-GLYPH-0: #000000;--weui-GLYPH-1: rgba(0, 0, 0, .6);--weui-GLYPH-2: rgba(0, 0, 0, .42);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #4F8400;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #0075E2;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #2E8800;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #E17719;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #D14730;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6265F1;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #DC3636;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .1);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #BB8E00;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-RED: #DC3636;--weui-ORANGERED: #D14730;--weui-ORANGE: #E17719;--weui-YELLOW: #BB8E00;--weui-GREEN: #4F8400;--weui-LIGHTGREEN: #2E8800;--weui-TEXTGREEN: #06AE56;--weui-BLUE: #007DBB;--weui-INDIGO: #0075E2;--weui-PURPLE: #6265F1;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #E17719;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #007DBB;--weui-REDORANGE: #D14730;--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-FG-0: #000000;--weui-FG-HALF: #000000;--weui-FG-1: rgba(0, 0, 0, .6);--weui-FG-2: rgba(0, 0, 0, .42);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-FG-5: rgba(0, 0, 0, .05);--weui-RED: #dc3636;--weui-ORANGERED: #d14730;--weui-ORANGE: #e17719;--weui-YELLOW: #bb8e00;--weui-GREEN: #4f8400;--weui-LIGHTGREEN: #2e8800;--weui-BRAND: #018942;--weui-BLUE: #007dbb;--weui-INDIGO: #0075e2;--weui-PURPLE: #6265f1;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-FG: #000;--weui-BG: #fff;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: #e17719;--weui-TAG-BACKGROUND-ORANGE: rgba(225, 119, 25, .1);--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: #007dbb;--weui-TAG-BACKGROUND-BLUE: rgba(0, 125, 187, .1);--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05);--weui-REDORANGE: #d14730}@media (prefers-color-scheme: dark){.wx-root[data-weui-mode=care]:not([data-weui-theme=light]),body[data-weui-mode=care]:not([data-weui-theme=light]){--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}}.wx-root[data-weui-mode=care][data-weui-theme=dark],body[data-weui-mode=care][data-weui-theme=dark]{--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}.wx-root,body{--weui-BG-COLOR-ACTIVE: #ececec}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-COLOR-ACTIVE: #373737}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-COLOR-ACTIVE: #373737}}body,.wx-root,page{--weui-BTN-HEIGHT: 48;--weui-BTN-HEIGHT-MEDIUM: 40;--weui-BTN-HEIGHT-SMALL: 32}.wx-root,body{--weui-BTN-ACTIVE-MASK: rgba(0, 0, 0, .1)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}}.wx-root,body{--weui-BTN-DEFAULT-ACTIVE-BG: #e6e6e6}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}}.wx-root,body{--weui-DIALOG-LINE-COLOR: rgba(0, 0, 0, .1)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}}.weui-btn{position:relative;display:block;width:184px;margin-left:auto;margin-right:auto;padding:12px 24px;box-sizing:border-box;font-weight:500;font-size:17px;text-align:center;text-decoration:none;color:#fff;line-height:1.41176471;border-radius:8px;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;user-select:none}.weui-btn:active:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--weui-BTN-ACTIVE-MASK);border-radius:8px}.weui-btn:active.weui-btn_loading:before,.weui-btn:active.weui-btn_disabled:before,.weui-btn:active[disabled]:before{display:none}.weui-btn_block{width:auto}.weui-btn_inline{display:inline-block}.weui-btn_default{color:var(--weui-FG-0);background-color:var(--weui-FG-5)}.weui-btn_default:not(.weui-btn_disabled):visited{color:var(--weui-FG-0)}.weui-btn_primary{background-color:var(--weui-BRAND)}.weui-btn_primary:not(.weui-btn_disabled):visited{color:#fff}.weui-btn_warn{color:var(--weui-RED);background-color:var(--weui-FG-5)}.weui-btn_warn:not(.weui-btn_disabled):visited{color:var(--weui-RED)}.weui-btn_overlay{color:var(--weui-BRAND);background-color:#fff}.weui-btn_overlay:not(.weui-btn_disabled):visited{color:var(--weui-BRAND)}.weui-btn_disabled,.weui-btn[disabled]{color:var(--weui-FG-4);background-color:var(--weui-BG-1)}.weui-btn_loading .weui-loading{margin:-.2em 8px 0 0}.weui-btn_loading .weui-mask-loading{margin:-.2em 8px 0 0;color:currentColor}.weui-btn_loading .weui-primary-loading{margin:-.2em 8px 0 0;vertical-align:middle;color:currentColor}.weui-btn_loading .weui-primary-loading:before{content:\"\"}.weui-btn_loading.weui-btn_primary{color:var(--weui-WHITE)}.weui-btn_cell{position:relative;display:block;margin-left:auto;margin-right:auto;box-sizing:border-box;font-size:17px;text-align:center;text-decoration:none;color:#fff;line-height:1.41176471;padding:16px;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;background-color:var(--weui-BG-5)}.weui-btn_cell+.weui-btn_cell{margin-top:16px}.weui-btn_cell:active{background-color:var(--weui-BG-COLOR-ACTIVE)}.weui-btn_cell__icon{display:inline-block;vertical-align:middle;width:24px;height:24px;margin:-.2em .34em 0 0}.weui-btn_cell-default{color:var(--weui-FG-0)}.weui-btn_cell-primary{color:var(--weui-LINK)}.weui-btn_cell-warn{color:var(--weui-RED)}.weui-bottom-fixed-opr-page{height:100%;display:flex;flex-direction:column}.weui-bottom-fixed-opr-page__content{min-height:0;flex:1;padding-bottom:80px;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch}.weui-bottom-fixed-opr-page__tool{padding:16px 32px 24px;padding:16px calc(32px + constant(safe-area-inset-right)) calc(24px + constant(safe-area-inset-bottom)) calc(32px + constant(safe-area-inset-left));padding:16px calc(32px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(32px + env(safe-area-inset-left));background:#ffffff;position:relative;z-index:50}.weui-bottom-fixed-opr-page__tool:before{content:\"\";height:80px;background:linear-gradient(to top,#ffffff,rgba(255,255,255,0));position:absolute;bottom:calc(100% - 1px);left:0;right:0;transform:translateZ(0);pointer-events:none}.wx-root[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool,body[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool{background:#191919}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool,body:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool{background:#191919}}.wx-root[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool:before,body[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool:before{background:linear-gradient(to top,#191919,rgba(25,25,25,0))}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool:before,body:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool:before{background:linear-gradient(to top,#191919,rgba(25,25,25,0))}}.weui-bottom-fixed-opr-page__tips{margin-bottom:24px;padding:0 32px;text-align:center}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr{display:flex;align-items:center;justify-content:center}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn{width:184px;padding-left:16px;padding-right:16px}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2),.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn{margin:0 8px;width:136px}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2):first-child,.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn:first-child{margin-left:0}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2):last-child,.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn:last-child{margin-right:0}.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr{flex-direction:column}.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2),.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn{width:184px;margin:16px 0 0}.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2):first-child,.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn:first-child{margin-top:0}.weui-bottom-fixed-opr-page.weui-form{padding-top:0}.weui-bottom-fixed-opr-page.weui-form .weui-form__bd{padding-top:56px;padding-top:calc(56px + constant(safe-area-inset-top));padding-top:calc(56px + env(safe-area-inset-top))}.weui-bottom-fixed-opr-page.weui-form .weui-form__ft{padding-bottom:0}.weui-bottom-fixed-opr-page.weui-form .weui-form__control-area{margin-bottom:0}.weui-bottom-fixed-opr-page.weui-half-screen-dialog{padding:0}.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__hd,.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__bd,.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__ft{padding-left:24px;padding-left:calc(24px + constant(safe-area-inset-left));padding-left:calc(24px + env(safe-area-inset-left));padding-right:24px;padding-right:calc(24px + constant(safe-area-inset-right));padding-right:calc(24px + env(safe-area-inset-right))}.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__bd{padding-bottom:80px}.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__ft{padding-bottom:64px;padding-bottom:calc(64px + constant(safe-area-inset-bottom));padding-bottom:calc(64px + env(safe-area-inset-bottom))}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog{padding:0}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-half-screen-dialog__hd{padding:0 24px;padding:0 calc(24px + constant(safe-area-inset-right)) 0 calc(24px + constant(safe-area-inset-left));padding:0 calc(24px + env(safe-area-inset-right)) 0 calc(24px + env(safe-area-inset-left))}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-half-screen-dialog__bd{padding-bottom:0;display:flex;flex-direction:column}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-half-screen-dialog__ft{padding:0}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-bottom-fixed-opr-page{flex:1;min-height:0}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-bottom-fixed-opr-page__content{padding:0 24px;padding:0 calc(24px + constant(safe-area-inset-right)) 0 calc(24px + constant(safe-area-inset-left));padding:0 calc(24px + env(safe-area-inset-right)) 0 calc(24px + env(safe-area-inset-left))}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-bottom-fixed-opr{padding:16px 0 64px;padding:16px 0 calc(64px + constant(safe-area-inset-bottom));padding:16px 0 calc(64px + env(safe-area-inset-bottom))}button.weui-btn,input.weui-btn{border-width:0;outline:0;-webkit-appearance:none}button.weui-btn:focus,input.weui-btn:focus{outline:0}button.weui-btn_inline,input.weui-btn_inline,button.weui-btn_mini,input.weui-btn_mini{width:auto}.weui-btn_medium{font-size:14px;padding:10px 24px;line-height:calc((var(--weui-BTN-HEIGHT-MEDIUM) - 20) / 14)}.weui-btn_mini{display:inline-block;width:auto;line-height:calc((32 - 12) / 14);padding:6px 12px;font-size:14px;border-radius:6px}.weui-btn_xmini{display:inline-block;width:auto;padding:4px 12px;line-height:calc((28 - 8) / 14);font-size:14px;font-weight:500;border-radius:4px}.weui-btn+.weui-btn{margin-top:16px}.weui-btn.weui-btn_mini+.weui-btn.weui-btn_mini{margin-top:auto}.weui-btn.weui-btn_xmini+.weui-btn.weui-btn_xmini{margin-top:auto}.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline{margin-left:16px}.weui-btn-area{margin:48px 16px 8px}.weui-btn-area_inline{display:flex}.weui-btn-area_inline .weui-btn{margin-top:auto;margin-right:16px;width:100%;flex:1}.weui-btn-area_inline .weui-btn:last-child{margin-right:0}.weui-btn_reset{background:transparent;border:0;padding:0;outline:0;font-size:inherit}.weui-btn_icon{background:transparent;border:0;padding:0;outline:0;font-size:0}.weui-btn_icon:active [class*=weui-icon-]{color:var(--weui-FG-1)}.bluepacket_wx_img_placeholder{width:100%;background:var(--weui-BG-2, rgba(0, 0, 0, .02)) url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E9.\u5143\u7D20/\u52A0\u8F7D/Black%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='\u9875\u9762-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg id='LoadingDefault'%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' id='\u8DEF\u5F84' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' id='\u8DEF\u5F84' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3CanimateTransform attributeName='transform' begin='0s' dur='1s' type='rotate' values='0 40 40;360 40 40' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E%0A\") no-repeat 50% 50%!important;background-size:16px!important;border-radius:8px}.wx_card_root{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;position:relative}.wx_card_root img{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wx_card_root .card_wrap{width:100%;border-radius:8px;padding:0;margin:0;box-sizing:content-box;background-color:#00000005;position:relative;overflow:hidden}.wx_card_root .card_wrap .card_head{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 16px 22px}.wx_card_root .card_wrap .card_head .head_left{display:flex}.wx_card_root .card_wrap .card_head .head_left .head_img_wrap{margin-right:8px;width:44px;height:44px}.wx_card_root .card_wrap .card_head .head_left .head_img_wrap .head_img{width:44px;height:44px;border-radius:36px}.wx_card_root .card_wrap .card_head .head_left .head_mid{display:flex;flex-direction:column}.wx_card_root .card_wrap .card_head .head_left .head_mid .head_mid_top{font-size:15px;font-family:PingFang SC;font-weight:500;color:var(--weui-GLYPH-WHITE-3, #ffffff);line-height:21px;word-break:break-all;margin-right:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;margin-top:2.5px}.wx_card_root .card_wrap .card_head .head_left .head_mid .head_mid_bottom{display:flex;align-items:center;margin-top:2px;font-weight:400;color:var(--weui-GLYPH-WHITE-0, rgba(255, 255, 255, .55))}.wx_card_root .card_wrap .card_head .head_left .head_mid .head_mid_bottom .r_icon{width:14px;height:14px}.wx_card_root .card_wrap .card_head .head_left .head_mid .head_mid_bottom .rtag_name{font-size:12px;font-family:PingFang SC;margin-left:2px}.wx_card_root .card_wrap .card_head .head_left .head_mid .head_mid_bottom .rtag_break{width:1px;height:10px;background-color:var(--weui-SECONDARY_BG, rgba(255, 255, 255, .1));margin:0 6px}.wx_card_root .card_wrap .card_head .head_left .head_mid .head_mid_bottom .card_sales{font-family:PingFang SC;font-style:normal;text-align:justify;line-height:16px;font-size:12px;word-break:break-all}.wx_card_root .card_wrap .card_head .head_right .tap_home_btn{white-space:nowrap;align-items:center;min-width:54px;min-height:32px;color:#fffc;background-color:#ffffff4d}.wx_card_root .card_wrap .card_body_warp_banner{border-top-left-radius:8px;border-top-right-radius:8px;background-color:var(--weui-BG-1, #F7F7F7);margin-top:-6px;overflow:hidden;padding:16px 16px 8px}.wx_card_root .card_wrap .card_body_warp_banner .product_card{display:flex;width:100%}.wx_card_root .card_wrap .card_body_warp_banner .product_card .product{position:relative;height:100%}.wx_card_root .card_wrap .card_body_warp_banner .product_card .product .product_image{width:100%;border-radius:4px;background-size:cover;background-position:center}.wx_card_root .card_wrap .card_body_warp_banner .product_card .product .product_price{background-color:#0003;border-radius:2px;position:absolute;right:4px;bottom:4px;padding-left:3px;padding-right:3px;font-weight:400;color:var(--weui-GLYPH-WHITE-3, #ffffff);line-height:16.8px;font-family:WeChatSansStd-Medium;line-height:normal;font-size:14px;background-size:cover;background-position:center}@font-face{font-family:WeChatSansStd-Medium;src:url(data:application/octet-stream;base64,AAEAAAAOAIAAAwBgRFNJRwAAAAEAAADsAAAACEdERUYADwAAAAAA9AAAABBHUE9TvXTGagAAAQQAAAHKR1NVQhoeGpMAAALQAAAAfk9TLzJrL1pnAAADUAAAAGBjbWFwQHbxEAAAA7AAAAIWZ2x5Zvo1siwAAAXIAAAcqGhlYWQOn2bVAAAicAAAADZoaGVhBu4DIwAAIqgAAAAkaG10eNhnFGQAACLMAAABimxvY2E/+0eGAAAkWAAAAMhtYXhwANIAUwAAJSAAAAAgbmFtZVIudTIAACVAAAAI3nBvc3Tpjfc4AAAuIAAAAbAAAAABAAAAAAABAAAADAAAAAAAAAACAAAAAQAAAAoAHgAwAAFERkxUAAgABAAAAAD//wABAAAAAWtlcm4ACAAAAAMAAAABAAIAAwAIABAAGgACAAgAAQAaAAIACAACALwA8gACAAgAAQEEAAEBDgAEAAAACwAgACYALAA2ADwARgBQAG4AdACSAKQAAQA9//gAAQA///kAAgA9//QAP//2AAEAPf/1AAIAP//yAEH/9gACAD3/7gA//+kABwA4/+4AOf/0ADr/1gA8/90APv/yAD//7wBB/+IAAQA9/+4ABwA4/+4AOf/mADr/7gA7//YAPP/hAD3/7wBB/+IABAA3/+8AOv/yAD3/6gA//+gAAQBhAAAAAQB+AAQAAAAFABQAGgAgACoAMAABABb/+wABAAQAAAACAAL/+gAFAAAAAQAa//YAAQAY//gAAgBWAAQAAABsAHwAAgADAAD/qAAAAAAAAP+oAAEASgAEAAAAAQAMAAEASAAAAAEACwA2ADgAOQA6ADsAPAA9AD4APwBBAFsAAQAFAAIAAwAEABEAEwABAAYAAgAXABgAHAAxADIAAQABAEMAAgACABcAGAABADEAMgABAAIABAACAAIAAgAXABgAAQAcABwAAgAxADIAAQAAAAEAAAAKACAAOgABREZMVAAIAAQAAAAA//8AAgAAAAEAAmFhbHQADmZ3aWQAFAAAAAEAAAAAAAEAAQACAAYADgABAAAAAQAgAAEAAAABAAgAAgAgAAUAXABdAF4AXwBgAAIAEAAFAFwAXQBeAF8AYAABAAUARQBIAFcAWgBbAAAAAwI0AfQABQAIAooCWAAAAEsCigJYAAABXgAyATAAAAAABgAAAAAAAAAAAAABAAAAAgAAAAAAAAAASE5ZSQAAACD/5gOE/zMAAAOEAM0AAAEAAAAAAAH7AsgAAAAgAAIAAAADAAAAAwAAASIAAQAAAAAAHAADAAEAAAEiAAABBgAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAASAAAAAAAAGFAQkEANjc4OTo7PD0+PwAAAAAAAAACAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGwAAAAAAABwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARVcAAAAAAAAAAAAAAAAAAAAAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAPQAAAAqACAABAAKACAAJAAuADkAWgB6AKUOPyChIKYgriCyILUguiC+IhL+af8E/+H/5v//AAAAIAAkACsAMABBAGEAog4/IKEgpiCpILEgtCC4ILwiEv5p/wT/4P/l////4QAkAAAABv/B/7sAAPIE36XfrAAAAAAAAAAAAADeUAAAAAAAAAAAAAEAAAAAACYAAAAAAAAAJgAAAAAAAAAmADAAMgA0ADgAAAA6ADoAOgA8AAAAYQBAAEIAQQBFAFcARwBbAFoAVgBKAEsATgBZAFMATABNAEQAWABVAFAAUQBUAE8ASQBdAFwAXgBgAF8AAAACAEgAAAIQAsgAAwAHAAATIREhJREhEUgByP44AXT+4ALI/ThNAi790gAAAAIAFAAAAnMCyAAHAAsAACUjByMTMxMjAwMjAwG57EN28nn0d2NUBFTS0gLI/TgBNAEI/vgAAAAAAwBKAAACKALIAA8AGAAhAAATMzIWFRQGBxUWFhUUBiMjEzI2NTQmIyMVEzI2NTQmIyMVSsl8ikMzOE2Lhc7NRk1QS1diTVJTQ2sCyGRaO1IPAw5VQl5oAZoyMTM1y/7ENzU1ONkAAAABAED/8gI0AtQAHQAANhYWMzI2NxcGIyImJjU1NDY2MzIXByYmIyIGBhUVrixQNSlEIUdZglR/RkZ/VIJZRyBFKTRRLPRlNyAhRmFNi1x5XIxNYUciIDdlQloAAAIASgAAAkQCyAAJABMAABMzMhYVFRQGIyM3MjY1NTQmIyMRSuSFkZGF5NlWXVxXawLIlpF6kZZjaWtaa2n9/gABAEoAAAIDAsgACwAAEyEVIRUhFSEVIRUhSgG5/rUBG/7lAUv+RwLIY8tj1GMAAAABAEoAAAIDAsgACQAAEyEVIRUhFSERI0oBuf61ARv+5W4CyGPLY/7JAAAAAAEAQP/yAk8C1AAhAAATNDY2MzIXByYjIgYGFRUUFhYzMjY1NSM1IRUUBiMiJiY1QEZ9UoZZSUJPMk4sKUovRk2VAQGGeVF7RAGfW41NYUQ/OGVBWkJlN19OIl9siKBNi1wAAAABAEoAAAJTAsgACwAAAREjESERIxEzESERAlNu/tNubgEtAsj9OAE8/sQCyP7WASoAAAAAAQBKAAAAuALIAAMAABMzESNKbm4CyP04AAAAAAEAGP/yAZkCyAAOAAABMxEUBiMiJic3FjMyNjUBLG1mWj5lHlQsPCkvAsj98F1pSDstSjk0AAAAAQBKAAACZQLIAAoAACEBESMRMxEBMwEBAdv+3W5uARyF/tMBOQFh/p8CyP68AUT+r/6JAAEASgAAAfYCyAAFAAATMxEhFSFKbgE+/lQCyP2bYwAAAQBKAAAC3ALIAA8AABMzEzMTMxEjESMDIwMjESNKk7YEs5JrBbFQsgRrAsj+KgHW/TgCJ/44Acj92QAAAQA/AAACQALIAAsAABMBMxEzESMBIxEjEb4BEQRtfv7vBW0CyP32Agr9OAIK/fYCyAAAAAIAOf/yAlIC1AARACAAABM0NjYzMhYWFRUUBgYjIiYmNRYWMzI2NTU0JiYjIgYVFTlDelBQeUNDeVBQekNtWEhHWChIL0hYAaBci01Ni1yAWolLS4laW21tWYQ8XTNwXIQAAAACAEoAAAI2AsgACgATAAATMzIWFRQGIyMRIxMyNjU0JiMjFUrjfYyTg2huzk9aWVBgAsh3amp4/vsBakI7PEL7AAAAAAIAOf+JAnkC1AAVACQAAAUnBiMiJiY1NTQ2NjMyFhYVFRQGBxcmNjU1NCYmIyIGFRUUFjMCJGIzQVJ+RUN6UFB5QyAfZuxYKEgvSFhYSHeBGEqJW4Bci01Ni1yAQG0og5BtWYQ8XTNwXIRZbQAAAAACAEoAAAJLAsgADQAWAAAhAyMRIxEzMhYVFAYHEwEzMjY1NCYjIwHLtl1u23WEUEnG/m1fRlBPR18BLf7TAshtYUhjFP7FAZI3MDM5AAAAAAEALP/yAgEC1AAkAAAWJic3FhYzMjY1NCcmJjU0NjYzMhYXByYjIgYVFBcWFhUUBgYjy3gnRB5VLTVLgGltPGY/P3QqSEBPNUN/bG1AbUIOMyhMHyI5Kk0oIGdNPF81Mi9EPzcsSCghaU88XzUAAAABABcAAAIKAsgABwAAEyM1IRUjESPawwHzwm4CZWNj/ZsAAAABAD7/8gI5AsgAEQAAFiY1ETMRFBYzMjY1ETMRFAYjxYduTERDTG6Gdw6UhQG9/jxSXV1SAcT+Q4SVAAABAB0AAAJfAsgABwAAEzMTMxMzAyMddqkEqXbkeQLI/cwCNP04AAAAAQAdAAADcALIAA8AABMzEzMTMxMzEzMDIwMjAyMde3YEfHN9BHR6tXZ8BH10Asj93gIi/d4CIv04AiL93gAAAAEAEQAAAoACyAALAAAhAwMjEwMzExMzAxMB96+uie7hhKang+DuAR/+4QF3AVH++wEF/q/+iQAAAQAOAAACVALIAAgAABsCMwMRIxEDkKGhgu1t7ALI/tcBKf5t/ssBNQGTAAABACwAAAIcAsgACQAANwEhNSEVASEVISwBWv62Adf+pQFk/hBRAhRjUf3sYwAAAAACABQAzQHgAsoABwALAAABIwcjEzMTIycnIwcBTqgrZ7FpsmdHNwM3AVOGAf3+A9uqqgAAAwBKAM0BwQLIAA8AGAAhAAATMzIWFRQGBxUWFhUUBiMjEzI2NTQmIyMVFzI2NTQmIyMVSp5ibDAmKzZtaKKgMzg6NT1FNzw6NkgCyEc/KDwLAgs+LkNKAScjIiIki94lJCUnlQAAAAABAEAAwQGyAtcAGQAANiYmNTU0NjYzMhcHJiMiBhUVFBYzMjcXBiPRXjMzXj5kPz8pNjVAQDU3KD8+ZcE4ZUJYQmU4SjoqUEI/QlAqOkkAAAIASgDNAcQCyAAJABMAABMzMhYVBxQGIyM3MjY1NTQmIyMRSqtjbAFsYqujOj4+OkQCyG5mU2ZuVkRFPEVF/rEAAAAAAQBKAM0BjwLIAAsAAAEVIxUzFSMVMxUhEQGP5sPD5v67AshQhFCHUAH7AAABAEoAzQGPAsgACQAAARUjFTMVIxUjEQGP5sPDXwLIUI9QzAH7AAAAAQBAAMMBzgLWAB8AABI2NjMyFwcmIyIGFRUUFjMyNjU1IzUzFRQGIyImJjU1QDRePmlBPCs9NkJAMSw3asZnWD5eMwI4ZjhNQDNRQjpCUDguFVNOZnQ4ZUJUAAABAEoAzQHbAsgACwAAAREjNSMVIxEzFTM1Adte1F9f1ALI/gXX1wH7zs4AAAEASgDNAKkCyAADAAATESMRqV8CyP4FAfsAAAABABgAwwFCAsgADwAAAREUBiMiJic3FhYzMjY1EQFCTkYxTxZJESIUHCACyP6RR086LyUcGSUiAWUAAAABAEoAzQHfAsgACgAAJScVIxEzFTczBxMBaL9fX7xzytHN9/cB++bm8f72AAEASgDNAYUCzAAFAAATETMVIRGp3P7FAsz+V1YB/wAAAQBKAM0CNwLIAA8AABMTMxMzESMRIwMjAyMRIxHJeAN1fl0DdER1A10CyP7JATf+BQFv/tUBK/6RAfsAAQBKAM0B1wLMAAsAAAEzETMRIwMjESMRMwF1A19nwgVfaAFyAVr+AQFZ/qcB/wAAAgA5AMABywLXABEAHwAAEjY2MzIWFhUVFAYGIyImJjU1FhYzMjY1NTQmIyIGFRU5Mls8PFsyMls8PFsyXzowMDo6MDA6AjdnOTlnQ1dCZDc3ZEJXlUZGOl89SEk8XwAAAgBKAM0BuALIAAoAEwAAEzIWFRQGIyMVIxEWNjU0JiMjFTP3WmdtYEJfzzg4NDw8AshYTk9YrgH79SkmJiqfAAIAOQB2AfAC1wAUACIAACUnBiMiJiY1NTQ2NjMyFhYVFRQHFyQWMzI2NTU0JiMiBhUVAadIKDU8WzIyWzw8WzInTP6oOjAwOjowMDp2XxU3ZEJXQ2c5OWdDV1I6ZbNGRjpfPUhJPF8AAgBKAM0BzALKAA0AFgAAJScjFSMRMzIWFRQGBxcBMzI2NTQmIyMBXHg7X6tXYDUxhv7dQi4xMS5CzczMAf1QSDNHEdoBHyYhIiYAAAEALADBAYwC1wAmAAA2Jic3FhYzMjY1NCYnJiY1NDY2MzIWFwcmIyIGFRQWFxYWFRQGBiOhVSA3FjwgJDApKlJRLE4xL1IfNTE4ICsmLFRRMlUywSMcRBcaJRsbJA0ZTjsrRCcgIEQvIhocIQ4ZSz4tRSYAAQAXAM0BnwLOAAcAABM1IRUjESMRFwGIlF8CeFZW/lUBqwAAAQA+AMEBzQLKABMAADYmJjUTMxEUFjMyNjURMxEUBgYjy1syAV46Ly86XjJaO8EyXDsBQP7HOERFNwE5/sA7XDIAAAABAB0AzQHWAsgABwAAExMzEzMDIwOFcwNzaKhqpwLI/oMBff4FAfsAAQAdAM0CmwLIAA8AABMTMxMzEzMTMwMjAyMDIwOJSQNVZFUDSWyEZVQEU2aEAsj+lQFr/pUBa/4FAWv+lQH7AAEAEQDNAeECyAALAAAlJwcjEyczFzczBxMBanBxeKihc29ucqGozcDAAQ3ura3u/vMAAAABAA4AzQHCAsgACAAAEzczAxUjNQMz6Ghyq1+qcQH9y/7d2NgBIwAAAQAsAM0BmwLIAAkAAAEjNSEVAzMVITUBGeEBXO30/pECclZF/qBWRQAAAAACAED/8gH1AtYADQAXAAAWJjU1NDYzMhYVFRQGIzY1NTQjIhUVFDOubm5tbG5ubG1tbW0OmpiElpiYloSYmmjGjMLCjMYAAAABAAsAAAE6AsgABgAAEwcnNzMRI8yFPMplbgI7Y1aa/TgAAAABAD0AAAH8AtYAGQAANxM2NjU0JiMiBgcnNjYzMhYWFRQGBwchFSE99jAmOi0rRxhaInZROl83Mj6yASf+QVMBETZRJSk0PTYxUFsyWDc2b0THZQABADj/8gIFAsgAHQAANxYWMzI2NTQmIyIHNTcjNSEVBzYWFhUUBgYjIiYnjBlHKTlJT0YpJZv9AYurPWA2PGtFRnUmrScrRzU8PAhbvWlYxwMxYENCaTtCPAAAAAIAGAAAAhACyAAKAA0AACUhNQEzETMVIxUjNREDAU/+yQEtd1RUbcKZRAHr/ihXmfABQP7AAAAAAQAx//ICBALIAB4AABYmJzcWFjMyNjU0JiMiByMRIRUhFTYzMhYWFRQGBiPPeSVZE0sqO0xJOEEvUQGA/u0uRTtdNTxsRQ5JQjUpMkw8OUo1AZtkvx85Z0JGbT0AAAAAAgA1//ICBQLIABMAHwAAFiYmNTQ2NxMzAzYzMhYWFRQGBiM2NjU0JiMiBhUUFjPcaj0dJ6l1pRwiPWE3PGpBNEZGNDVGRjUOPGhAJVBFATj+2xE5Zj9AaDxjSTc3Skk4N0kAAAEAJgAAAdQCyAAGAAABITUhFQMjAVz+ygGu6XMCZGRV/Y0AAAMAL//yAgcC1gAbACcAMwAAFiYmNTQ2NyYmNTQ2NjMyFhYVFAYHFhYVFAYGIxI2NTQmIyIGFRQWMxI2NTQmIyIGFRQWM9hrPkY0LTg4Yj08YTg4LDVGPmxCLjw9LS89PS82SEk1NklINw42XztGYhQWTDU2WDMzWDY1SxcWYUU7XzYBujktKzc3Ky05/qhENDZJSTY0RAAAAgA1AAACBQLWABMAHwAAAQYjIiYmNTQ2NjMyFhYVFAYHAyMSNjU0JiMiBhUUFjMBSBwiPWE3PGpCQWo9HSaqda9GRjU1RUY0ASUROWY/QGg8PGhAJFBG/sgBckk4N0lJNzhJAAEALP+EANMAbQADAAAXNzMHLDZxZHzp6QAAAAABAFMAAADBAG0AAwAAMzUzFVNubW0AAAABAC0BLgIIAZsAAwAAARUhNQII/iUBm21tAAAAAwBN/7MCGgMGABUAHAAlAAAkBgcVIzUjETM1MxUWFhUUBgcVFhYVJTMyNTQjIxI2NTQmIyMVMwIaYlptpKRtU1k9NDlI/qBYiYlYp0lFSGNjhF8NZWECkmBlDVZFOksOAgxLPsNaV/4vLzAxLr4AAAEAQ/+7Ai8DBgAhAAAkNjcXBgcVIzUmJjU1NDY3NTMVFhcHJiYjIgYGFRUUFhYzAYRDIEhEXGxneXlnbFxESCFCJzNPLCxPM2seH0NKEFBPEZxzZnOcEVZXEEpDHx81XjtKO101AAAAAQBu/6ECAAJAACAAACQ2NxcGBxUjNSYmNTU0Njc1MxUWFhcHJiYjIgYVFRQWMwFqLw9YKmhhTVJSTmAxTBVYES8jMDY1MVEdHy9YEFVUDGtbSmBtDFZXCTQoLx0cPUBKOT0AAAMAQf+3AjMDBAAiACgALwAAAQM2NjcXBiMjByM3JicHIzcmJjU1NDY2NzczBxYXNzMHFhcAFxMmJwMmFxMGBhUVAe2AIjkdSFaCBhhZGxgWIlo0ICI7bUkYWhkcFB1bKhUP/tIYiBYbgz4FXS40Ahr+UgMeHERfT10IDHGtKGk+VVKCTghSVAUIYY0QEv4uCgHKCQP+R44eATgYZ0Y4AAACAEz/+wLUAoMAGwArAAAkBxcHJwYjIicHJzcmNTQ3JzcXNjMyFzcXBxYVBjY2NTQmJiMiBgYVFBYWMwKTK2xMbUBLS0BtTGwrKGlMaENNTUNoTGko2kUoKEUpKUUoKEUp9kNsTG0oKG1MbENNS0BpTGgrK2hMaUBLmClGKSlGKSlGKSlGKQAAAQBQ/7cCCQMGACkAACQGBxUjNSYnNxYWMzI2NTQmJyYmNTQ2NzUzFRYXByYmIyIGFRQWFxYWFQIJVUhtZ0hGHEoqNEA5O2ZjWUltVjxHHz4jLz44O2ljgmQRVlENSkodITAoJDASHl9LTGUNV1gUSUMiIDEoJC8SHl9KAAEAUP+3AgkDBgApAAAkBgcVIzUmJzcWFjMyNjU0JicmJjU0Njc1MxUWFwcmJiMiBhUUFhcWFhUCCVVIbWdIRhxKKjRAOTtmY1lJbVY8Rx8+Iy8+ODtpY4JkEVZRDUpKHSEwKCQwEh5fS0xlDVdYFElDIiAxKCQvEh5fSgADAFD/+AI5AxsAGgAmACoAAAEjESM1BgYjIiYmNTQ2NjMyFhc1IzUzNTMVMwI2NTQmIyIGFRQWMwchFSECOUhsEEcqNVEuLlE1K0YQn59sSOs3Ny8rNjYrrQF//oECcP4eNh4mNGA+PmA0JR+QWFNT/hk+MzM/PzMzPpJXAAAAAAEALP/yAhsCyAAnAAAlBgYjIiYnIzUzNSM1MzY2MzIWFwcmJiMiBgczByMVMwcjFhYzMjY3AhsaY0RldwtHRUVHCXdnQWEbUBA2JTY/B9ERwrARnAg+NSI2EGc1QH53UkNSeYE7NTUeI01JUkNSR0kgHQAAAwAw/7cCKQMGABcAHwAlAAABFRQGBxUjNSYmNTU0Njc1MxUWFwcmJxUGFhcRBgYVFQUjFTY2NQIpZVxsX21tX2xoRkgyNMsyLS0yASBVKisBg2trkhFTVROheFB3oBVSTw9ORC8LzYhtFgHMF2pKMiOxD0kxAAAAAgAk//ICNALIABUAKwAAARUhNSE2NTQmIyIGByc2MzIWFhUUBwUhFSEGFRQWMzI2NxcGIyImJjU0NyMCNP3wAV8NPi8jPh9HUXw8YTcH/i4CEP6bDkEzK0gcR1l8Qmc7CTcBylJSFyEqOCAhQmM1XTscFYVRGRwvOSEeS1k0Xj0bGAAAAQARAAACPQK6ABMAAAEjEyMDIxEjESM1MxEzETMTMwMzAj3o53zfDm1VVW0Q1nfe6wFB/r8BQf6/AUFUASX+2wEl/tsAAAAAAQAVAAACQwMHACsAABIWFzMVITUzLgI1NDY3NTMVNjMyFzUzFRYWFSM0JxUjNSYjIgcVIzUGBhWDX13a/iOMOEwvW1NQCBEPB1BWW25DUAcPEQhQHyEBM4tFY2MuU29HZYsbYlQBAVRjH6mGmjubvQEBvZ0ZVDgAAf/4AAACQwLCABkAAAEUBiMRBzU3NQc1NzUzFTcVBxU3FQcVMjY1AkPo5n19fX1uqKioqG+EAVCmqgEgLVctRi1XLa6HPFc8RjxXPOF6cAABABcAAAJBAsgAFwAAABYVFSM1NCYnESMRBgYVFSM1NDY3NTMVAdZrbTc8azs3bWp1awJStrTo7nmCEf5wAZASgnju6LW0EGdnAAAAAQAAAAACWALIABMAAAEjESMDIxEjESM1MxEzEzMDMxEzAlhGnMMFaEZGncQEAWhGATL+zgIc/eQBMmQBMv3kAhz+zgAEACQAAAKYAsAAHAAhACgALQAAASMWFRQHMxUjBgYjIxUjESM1MzUjNTM1MzIWFzMhMyYjIxYnIxUzNjUGNyMVMwKYSQEBSVodlHA+bE9PT0+2aowdXP5H0zVmOP0C+/wBWjPWOAHaCRIQCFJLT7sBVVIzUpRMSDOXEjMIEKA2NgAAAAACABkAAAI+AroAFgAfAAATFTMVIxUjNSM1MzUjNTMRMzIWFRQGIyczMjY1NCYjI+y6um1mZmZmwHWKkXtGPUtVVUs9ATldUoqKUl1SAS9nWVpnUjs0NDkAAQA+AAACGgK5ABkAAAEjFhczFSMGBiMjASMBNTMyNyE1MyYnIzUhAhq7KRV9bghtWxkBA4n/AXN4Fv7/+hpDnQHcAlsXL19NV/7uASVLRl8yFF4AAgBHAAAC2AK6AA0AGwAAATQmIyMRIxEhMhYVESMBERQGIyERMxEzMjY1EQG3NTqXagELa2RqASFhbf71apc3OAHuOTP9pgK6XGT+swIN/gZlWwIN/lM4NAHuAAABAFIAAAH7AsgAGwAAJRUhNTM1IzUzNTQ2MzIWFwcmJiMiBhUVMxUjFQH7/ldFOztfUkJUEVwJJhogJpSUX19fu12WWGNBPhweHy0pnV27AAIAMgAAAiYCugADAAsAABMhFSEVIRUjESMRIzIB9P4MAfTDbsMCumNlY/5xAY8AAAEAMgAAAiYCugAXAAABFTcVBxU3FQcVIzUHNTc1BzU3NSM1IRUBY5SUlJRvlJSUlMIB9AJYfzRXNEc0VzTkvDRXNEc0VzSnYmIAAAAEABsAAAMFAroAFwAaAB0AIAAAASMDIwMjAyMDIzUzAzMTMxMzEzMTMwMzIScHByMXJSMXAwVnQllIVklYQmdSP241VUNORFU0bj9S/qAVFWstFAFILhoBNf7LATX+ywE1XwEm/toBJv7aASb+2lhYX3BwcAAAAAABADMAAAIhAroAFgAAATMVIxUzFSMVIzUjNTM1IzUzAzMTEzMBfXaTk5Ntk5OTdqN1goJ1AVlSOVJ8fFI5UgFh/swBNAAAAAABAG7/oQIAAkAAIAAAJDY3FwYHFSM1JiY1NTQ2NzUzFRYWFwcmJiMiBhUVFBYzAWovD1gqaGFNUlJOYDFMFVgRLyMwNjUxUR0fL1gQVVQMa1tKYG0MVlcJNCgvHRw9QEo5PQAAAQBQ/7cCCQMGACkAACQGBxUjNSYnNxYWMzI2NTQmJyYmNTQ2NzUzFRYXByYmIyIGFRQWFxYWFQIJVUhtZ0hGHEoqNEA5O2ZjWUltVjxHHz4jLz44O2ljgmQRVlENSkodITAoJDASHl9LTGUNV1gUSUMiIDEoJC8SHl9KAAEAUgAAAfsCyAAbAAAlFSE1MzUjNTM1NDYzMhYXByYmIyIGFRUzFSMVAfv+V0U7O19SQlQRXAkmGiAmlJRfX1+7XZZYY0E+HB4fLSmdXbsABAAbAAADBQK6ABcAGgAdACAAAAEjAyMDIwMjAyM1MwMzEzMTMxMzEzMDMyEnBwcjFyUjFwMFZ0JZSFZJWEJnUj9uNVVDTkRVNG4/Uv6gFRVrLRQBSC4aATX+ywE1/ssBNV8BJv7aASb+2gEm/tpYWF9wcHAAAAAAAQAzAAACIQK6ABYAAAEzFSMVMxUjFSM1IzUzNSM1MwMzExMzAX12k5OTbZOTk3ajdYKCdQFZUjlSfHxSOVIBYf7MATQAAAAAAQAnAHICDgJYAAsAAAEjFSM1IzUzNTMVMwIOvmu+vmu+ATC+vmq+vgAAAAABAC0BLgIIAZsAAwAAARUhNQII/iUBm21tAAAAAQAAAAEAALtgETlfDzz1AAMD6AAAAADVtvhtAAAAANZpKuX/+P+EA3ADGwAAAAcAAgAAAAAAAAABAAADhP8zAAADjf/4AAADcAABAAAAAAAAAAAAAAAAAAAAYgJYAEgA6AAAAoYAFAJNAEoCVABAAn8ASgIsAEoCGABKAoAAQAKdAEoBAgBKAdwAGAJ3AEoCFQBKAyYASgJ/AD8CiwA5AlIASgKLADkCYQBKAi0ALAIhABcCdwA+AnwAHQONAB0CkQARAmIADgJIACwB8wAUAeYASgHTAEAB/wBKAbgASgGkAEoB/wBAAiYASgDzAEoBhQAYAfAASgGkAEoCggBKAiEASgIEADkB1ABKAgMAOQHiAEoBuAAsAbYAFwILAD4B8gAdArgAHQHyABEB0AAOAccALAI1AEABugALAjUAPQI1ADgCNQAYAjUAMQI1ADUCAQAmAjUALwI1ADUBFgAsARYAUwI1AC0CWABNAlgAQwJYAG4CWABBAyAATAJYAFACWABQAlgAUAJYACwCWAAwAlgAJAJYABECWAAVAlj/+AJYABcCWAAAArwAJAJYABkCWAA+AyAARwJYAFICWAAyAlgAMgMgABsCWAAzAlgAbgJYAFACWABSAyAAGwJYADMCNQAnAC0AAAAAABYAFgAyAGYAlAC0AMwA4gEUAS4BPAFYAXIBggGgAboB7AIOAkYCbgKmArgC1gLqAwoDJgM8A1QDbgOiA8oD7AQCBBYERARaBGgEhgScBKwEygTiBRIFMgVmBYwFxgXYBfoGDgYuBkgGXAZyBpYGqAbSBwAHHAdMB34HkAfcCA4IHAgoCDYIbgiiCNQJJAloCaYJ5AokCl4KmgrcCwALPAtkC4oLrAvuDBoMRAxyDJoMsgzYDRQNOA1qDagN0A4MDjAORg5UAAEAAABjADQABAAAAAAAAQACAB4ABAAAAGQAAAAAAAAAAAAxAlIAAQAAAAAAAAAzAAAAAQAAAAAAAQAPADMAAQAAAAAAAgAGAEIAAQAAAAAAAwAqAEgAAQAAAAAABAAWAHIAAQAAAAAABQAMAIgAAQAAAAAABgAWAJQAAQAAAAAABwAmAKoAAQAAAAAACAALANAAAQAAAAAACQAjANsAAQAAAAAACwAYAP4AAQAAAAAAEAAPARYAAQAAAAAAEQAGASUAAQAAAAAAEgAWASsAAQAAAAAAEwARAUEAAQAZACEAAAAzAVIAAQAZACEAAQAPAYUAAQAZACEAAgAGAZQAAQAZACEAAwAqAZoAAQAZACEABAAWAcQAAQAZACEABQAMAdoAAQAZACEABgAWAeYAAQAZACEABwAmAfwAAQAZACEACAALAiIAAQAZACEACQAjAi0AAQAZACEAEgAWAlAAAwABBAkAAABmAmYAAwABBAkAAQAsAswAAwABBAkAAgAOAvgAAwABBAkAAwBUAwYAAwABBAkABAAsA1oAAwABBAkABQAYA4YAAwABBAkABgAsA54AAwABBAkABwBMA8oAAwABBAkACAAWBBYAAwABBAkACQBGBCwAAwABBAkACwAwBHIAAwABBAkAEAAeBKIAAwABBAkAEQAMBMAAAwABBAkAEwAiBMwAAwABCAQAAABmBO4AAwABCAQAAQAsBVQAAwABCAQAAgAOBYAAAwABCAQABAAsBY4AAwABCAQABwBMBboAAwABCAQACAAWBgYAAwABCAQACQBGBhwAAwABCAQAEAAeBmIAAwABCAQAEQAMBoBDb3B5cmlnaHQgKGMpIDIwMTcgYnkgVGVuY2VudC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5XZUNoYXQgU2FucyBTdGRNZWRpdW1IYW55aSBXZUNoYXQgU2FucyBTdGQtTWVkaXVtOyBWZXJzaW9uIDEuMDBXZUNoYXQgU2FucyBTdGQtTWVkaXVtVmVyc2lvbiAxLjAwV2VDaGF0LVNhbnMtU3RkLU1lZGl1bVdlQ2hhdCBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIFRlbmNlbnQuSGFueWkgRm9udHNaSEFORyBYdWFuLCBXQU5HIFRpYW5iaSwgTElVIFhpYW95dWh0dHA6Ly93d3cuaGFueWkuY29tLmNuL1dlQ2hhdCBTYW5zIFN0ZE1lZGl1bVdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW3boiSjX7QKMTIzNDU2Nzg5MENvcHlyaWdodCAoYykgMjAxNyBieSBUZW5jZW50LiBBbGwgcmlnaHRzIHJlc2VydmVkLldlQ2hhdCBTYW5zIFN0ZE1lZGl1bUhhbnlpIFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW07IFZlcnNpb24gMS4wMFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW1WZXJzaW9uIDEuMDBXZUNoYXQtU2Fucy1TdGQtTWVkaXVtV2VDaGF0IFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgVGVuY2VudC5IYW55aSBGb250c1pIQU5HIFh1YW4sIFdBTkcgVGlhbmJpLCBMSVUgWGlhb3l1V2VDaGF0IFNhbnMgU3RkLU1lZGl1bQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIASABhAG4AeQBpACAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQA7ACAAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBWAGUAcgBzAGkAbwBuACAAMQAuADAAMABXAGUAQwBoAGEAdAAtAFMAYQBuAHMALQBTAHQAZAAtAE0AZQBkAGkAdQBtAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAFQAZQBuAGMAZQBuAHQALgBIAGEAbgB5AGkAIABGAG8AbgB0AHMAWgBIAEEATgBHACAAWAB1AGEAbgAsACAAVwBBAE4ARwAgAFQAaQBhAG4AYgBpACwAIABMAEkAVQAgAFgAaQBhAG8AeQB1AGgAdAB0AHAAOgAvAC8AdwB3AHcALgBoAGEAbgB5AGkALgBjAG8AbQAuAGMAbgAvAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAFMAdABkAE0AZQBkAGkAdQBtIKwAogAkAKMgqQClAAoAMQAyADMANAA1ADYANwA4ADkAMABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABUAGUAbgBjAGUAbgB0AC4ASABhAG4AeQBpACAARgBvAG4AdABzAFoASABBAE4ARwAgAFgAdQBhAG4ALAAgAFcAQQBOAEcAIABUAGkAYQBuAGIAaQAsACAATABJAFUAIABYAGkAYQBvAHkAdQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZABNAGUAZABpAHUAbQAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQATABQAFQAWABcAGAAZABoAGwAcAA8AEQAQAQIBAwCEAQQAvQAHAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgCFARMBFAEVAJYBFgEXARgBGQEaAA4A7wd1bmkwRTNGB3VuaTIwQjUNY29sb25tb25ldGFyeQd1bmlGRTY5BGRvbmcERXVybwd1bmkyMEIyB3VuaTIwQjQHdW5pMjBBRAd1bmkyMEJFB3VuaTIwQkEHdW5pMjBCQwd1bmkyMEE2B3VuaTIwQjEHdW5pMjBCRAd1bmkyMEI5B3VuaTIwQUEHdW5pMjBCOAd1bmkyMEFFB3VuaTIwQTkHdW5pRkZFMAd1bmlGRjA0B3VuaUZGRTEHdW5pRkZFNgd1bmlGRkU1) format(\"truetype\")}@font-face{font-family:WeChatSansStd-Medium;src:url(data:application/octet-stream;base64,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AwYAAwABBAkABAAsA1oAAwABBAkABQAYA4YAAwABBAkABgAsA54AAwABBAkABwBMA8oAAwABBAkACAAWBBYAAwABBAkACQBGBCwAAwABBAkACwAwBHIAAwABBAkAEAAeBKIAAwABBAkAEQAMBMAAAwABBAkAEwAiBMwAAwABCAQAAABmBO4AAwABCAQAAQAsBVQAAwABCAQAAgAOBYAAAwABCAQABAAsBY4AAwABCAQABwBMBboAAwABCAQACAAWBgYAAwABCAQACQBGBhwAAwABCAQAEAAeBmIAAwABCAQAEQAMBoBDb3B5cmlnaHQgKGMpIDIwMTcgYnkgVGVuY2VudC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5XZUNoYXQgU2FucyBTdGRNZWRpdW1IYW55aSBXZUNoYXQgU2FucyBTdGQtTWVkaXVtOyBWZXJzaW9uIDEuMDBXZUNoYXQgU2FucyBTdGQtTWVkaXVtVmVyc2lvbiAxLjAwV2VDaGF0LVNhbnMtU3RkLU1lZGl1bVdlQ2hhdCBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIFRlbmNlbnQuSGFueWkgRm9udHNaSEFORyBYdWFuLCBXQU5HIFRpYW5iaSwgTElVIFhpYW95dWh0dHA6Ly93d3cuaGFueWkuY29tLmNuL1dlQ2hhdCBTYW5zIFN0ZE1lZGl1bVdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW3boiSjX7QKMTIzNDU2Nzg5MENvcHlyaWdodCAoYykgMjAxNyBieSBUZW5jZW50LiBBbGwgcmlnaHRzIHJlc2VydmVkLldlQ2hhdCBTYW5zIFN0ZE1lZGl1bUhhbnlpIFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW07IFZlcnNpb24gMS4wMFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW1WZXJzaW9uIDEuMDBXZUNoYXQtU2Fucy1TdGQtTWVkaXVtV2VDaGF0IFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgVGVuY2VudC5IYW55aSBGb250c1pIQU5HIFh1YW4sIFdBTkcgVGlhbmJpLCBMSVUgWGlhb3l1V2VDaGF0IFNhbnMgU3RkLU1lZGl1bQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIASABhAG4AeQBpACAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQA7ACAAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBWAGUAcgBzAGkAbwBuACAAMQAuADAAMABXAGUAQwBoAGEAdAAtAFMAYQBuAHMALQBTAHQAZAAtAE0AZQBkAGkAdQBtAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAFQAZQBuAGMAZQBuAHQALgBIAGEAbgB5AGkAIABGAG8AbgB0AHMAWgBIAEEATgBHACAAWAB1AGEAbgAsACAAVwBBAE4ARwAgAFQAaQBhAG4AYgBpACwAIABMAEkAVQAgAFgAaQBhAG8AeQB1AGgAdAB0AHAAOgAvAC8AdwB3AHcALgBoAGEAbgB5AGkALgBjAG8AbQAuAGMAbgAvAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAFMAdABkAE0AZQBkAGkAdQBtIKwAogAkAKMgqQClAAoAMQAyADMANAA1ADYANwA4ADkAMABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABUAGUAbgBjAGUAbgB0AC4ASABhAG4AeQBpACAARgBvAG4AdABzAFoASABBAE4ARwAgAFgAdQBhAG4ALAAgAFcAQQBOAEcAIABUAGkAYQBuAGIAaQAsACAATABJAFUAIABYAGkAYQBvAHkAdQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZABNAGUAZABpAHUAbQAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQATABQAFQAWABcAGAAZABoAGwAcAA8AEQAQAQIBAwCEAQQAvQAHAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgCFARMBFAEVAJYBFgEXARgBGQEaAA4A7wd1bmkwRTNGB3VuaTIwQjUNY29sb25tb25ldGFyeQd1bmlGRTY5BGRvbmcERXVybwd1bmkyMEIyB3VuaTIwQjQHdW5pMjBBRAd1bmkyMEJFB3VuaTIwQkEHdW5pMjBCQwd1bmkyMEE2B3VuaTIwQjEHdW5pMjBCRAd1bmkyMEI5B3VuaTIwQUEHdW5pMjBCOAd1bmkyMEFFB3VuaTIwQTkHdW5pRkZFMAd1bmlGRjA0B3VuaUZGRTEHdW5pRkZFNgd1bmlGRkU1) format(\"truetype\")}@font-face{font-family:WeChatSansStd-Medium;src:url(data:application/octet-stream;base64,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AwYAAwABBAkABAAsA1oAAwABBAkABQAYA4YAAwABBAkABgAsA54AAwABBAkABwBMA8oAAwABBAkACAAWBBYAAwABBAkACQBGBCwAAwABBAkACwAwBHIAAwABBAkAEAAeBKIAAwABBAkAEQAMBMAAAwABBAkAEwAiBMwAAwABCAQAAABmBO4AAwABCAQAAQAsBVQAAwABCAQAAgAOBYAAAwABCAQABAAsBY4AAwABCAQABwBMBboAAwABCAQACAAWBgYAAwABCAQACQBGBhwAAwABCAQAEAAeBmIAAwABCAQAEQAMBoBDb3B5cmlnaHQgKGMpIDIwMTcgYnkgVGVuY2VudC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5XZUNoYXQgU2FucyBTdGRNZWRpdW1IYW55aSBXZUNoYXQgU2FucyBTdGQtTWVkaXVtOyBWZXJzaW9uIDEuMDBXZUNoYXQgU2FucyBTdGQtTWVkaXVtVmVyc2lvbiAxLjAwV2VDaGF0LVNhbnMtU3RkLU1lZGl1bVdlQ2hhdCBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIFRlbmNlbnQuSGFueWkgRm9udHNaSEFORyBYdWFuLCBXQU5HIFRpYW5iaSwgTElVIFhpYW95dWh0dHA6Ly93d3cuaGFueWkuY29tLmNuL1dlQ2hhdCBTYW5zIFN0ZE1lZGl1bVdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW3boiSjX7QKMTIzNDU2Nzg5MENvcHlyaWdodCAoYykgMjAxNyBieSBUZW5jZW50LiBBbGwgcmlnaHRzIHJlc2VydmVkLldlQ2hhdCBTYW5zIFN0ZE1lZGl1bUhhbnlpIFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW07IFZlcnNpb24gMS4wMFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW1WZXJzaW9uIDEuMDBXZUNoYXQtU2Fucy1TdGQtTWVkaXVtV2VDaGF0IFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgVGVuY2VudC5IYW55aSBGb250c1pIQU5HIFh1YW4sIFdBTkcgVGlhbmJpLCBMSVUgWGlhb3l1V2VDaGF0IFNhbnMgU3RkLU1lZGl1bQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIASABhAG4AeQBpACAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQA7ACAAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBWAGUAcgBzAGkAbwBuACAAMQAuADAAMABXAGUAQwBoAGEAdAAtAFMAYQBuAHMALQBTAHQAZAAtAE0AZQBkAGkAdQBtAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAFQAZQBuAGMAZQBuAHQALgBIAGEAbgB5AGkAIABGAG8AbgB0AHMAWgBIAEEATgBHACAAWAB1AGEAbgAsACAAVwBBAE4ARwAgAFQAaQBhAG4AYgBpACwAIABMAEkAVQAgAFgAaQBhAG8AeQB1AGgAdAB0AHAAOgAvAC8AdwB3AHcALgBoAGEAbgB5AGkALgBjAG8AbQAuAGMAbgAvAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAFMAdABkAE0AZQBkAGkAdQBtIKwAogAkAKMgqQClAAoAMQAyADMANAA1ADYANwA4ADkAMABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABUAGUAbgBjAGUAbgB0AC4ASABhAG4AeQBpACAARgBvAG4AdABzAFoASABBAE4ARwAgAFgAdQBhAG4ALAAgAFcAQQBOAEcAIABUAGkAYQBuAGIAaQAsACAATABJAFUAIABYAGkAYQBvAHkAdQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZABNAGUAZABpAHUAbQAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQATABQAFQAWABcAGAAZABoAGwAcAA8AEQAQAQIBAwCEAQQAvQAHAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgCFARMBFAEVAJYBFgEXARgBGQEaAA4A7wd1bmkwRTNGB3VuaTIwQjUNY29sb25tb25ldGFyeQd1bmlGRTY5BGRvbmcERXVybwd1bmkyMEIyB3VuaTIwQjQHdW5pMjBBRAd1bmkyMEJFB3VuaTIwQkEHdW5pMjBCQwd1bmkyMEE2B3VuaTIwQjEHdW5pMjBCRAd1bmkyMEI5B3VuaTIwQUEHdW5pMjBCOAd1bmkyMEFFB3VuaTIwQTkHdW5pRkZFMAd1bmlGRjA0B3VuaUZGRTEHdW5pRkZFNgd1bmlGRkU1) format(\"truetype\")}@font-face{font-family:WeChatSansStd-Medium;src:url(data:application/octet-stream;base64,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AwYAAwABBAkABAAsA1oAAwABBAkABQAYA4YAAwABBAkABgAsA54AAwABBAkABwBMA8oAAwABBAkACAAWBBYAAwABBAkACQBGBCwAAwABBAkACwAwBHIAAwABBAkAEAAeBKIAAwABBAkAEQAMBMAAAwABBAkAEwAiBMwAAwABCAQAAABmBO4AAwABCAQAAQAsBVQAAwABCAQAAgAOBYAAAwABCAQABAAsBY4AAwABCAQABwBMBboAAwABCAQACAAWBgYAAwABCAQACQBGBhwAAwABCAQAEAAeBmIAAwABCAQAEQAMBoBDb3B5cmlnaHQgKGMpIDIwMTcgYnkgVGVuY2VudC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5XZUNoYXQgU2FucyBTdGRNZWRpdW1IYW55aSBXZUNoYXQgU2FucyBTdGQtTWVkaXVtOyBWZXJzaW9uIDEuMDBXZUNoYXQgU2FucyBTdGQtTWVkaXVtVmVyc2lvbiAxLjAwV2VDaGF0LVNhbnMtU3RkLU1lZGl1bVdlQ2hhdCBTYW5zIGlzIGEgdHJhZGVtYXJrIG9mIFRlbmNlbnQuSGFueWkgRm9udHNaSEFORyBYdWFuLCBXQU5HIFRpYW5iaSwgTElVIFhpYW95dWh0dHA6Ly93d3cuaGFueWkuY29tLmNuL1dlQ2hhdCBTYW5zIFN0ZE1lZGl1bVdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW3boiSjX7QKMTIzNDU2Nzg5MENvcHlyaWdodCAoYykgMjAxNyBieSBUZW5jZW50LiBBbGwgcmlnaHRzIHJlc2VydmVkLldlQ2hhdCBTYW5zIFN0ZE1lZGl1bUhhbnlpIFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW07IFZlcnNpb24gMS4wMFdlQ2hhdCBTYW5zIFN0ZC1NZWRpdW1WZXJzaW9uIDEuMDBXZUNoYXQtU2Fucy1TdGQtTWVkaXVtV2VDaGF0IFNhbnMgaXMgYSB0cmFkZW1hcmsgb2YgVGVuY2VudC5IYW55aSBGb250c1pIQU5HIFh1YW4sIFdBTkcgVGlhbmJpLCBMSVUgWGlhb3l1V2VDaGF0IFNhbnMgU3RkLU1lZGl1bQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIASABhAG4AeQBpACAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQA7ACAAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBWAGUAcgBzAGkAbwBuACAAMQAuADAAMABXAGUAQwBoAGEAdAAtAFMAYQBuAHMALQBTAHQAZAAtAE0AZQBkAGkAdQBtAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAFQAZQBuAGMAZQBuAHQALgBIAGEAbgB5AGkAIABGAG8AbgB0AHMAWgBIAEEATgBHACAAWAB1AGEAbgAsACAAVwBBAE4ARwAgAFQAaQBhAG4AYgBpACwAIABMAEkAVQAgAFgAaQBhAG8AeQB1AGgAdAB0AHAAOgAvAC8AdwB3AHcALgBoAGEAbgB5AGkALgBjAG8AbQAuAGMAbgAvAFcAZQBDAGgAYQB0ACAAUwBhAG4AcwAgAFMAdABkAE0AZQBkAGkAdQBtIKwAogAkAKMgqQClAAoAMQAyADMANAA1ADYANwA4ADkAMABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANwAgAGIAeQAgAFQAZQBuAGMAZQBuAHQALgAgAEEAbABsACAAcgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQALgBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZAAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIAVwBlAEMAaABhAHQAIABTAGEAbgBzACAAUwB0AGQALQBNAGUAZABpAHUAbQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABUAGUAbgBjAGUAbgB0AC4ASABhAG4AeQBpACAARgBvAG4AdABzAFoASABBAE4ARwAgAFgAdQBhAG4ALAAgAFcAQQBOAEcAIABUAGkAYQBuAGIAaQAsACAATABJAFUAIABYAGkAYQBvAHkAdQBXAGUAQwBoAGEAdAAgAFMAYQBuAHMAIABTAHQAZABNAGUAZABpAHUAbQAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQATABQAFQAWABcAGAAZABoAGwAcAA8AEQAQAQIBAwCEAQQAvQAHAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgCFARMBFAEVAJYBFgEXARgBGQEaAA4A7wd1bmkwRTNGB3VuaTIwQjUNY29sb25tb25ldGFyeQd1bmlGRTY5BGRvbmcERXVybwd1bmkyMEIyB3VuaTIwQjQHdW5pMjBBRAd1bmkyMEJFB3VuaTIwQkEHdW5pMjBCQwd1bmkyMEE2B3VuaTIwQjEHdW5pMjBCRAd1bmkyMEI5B3VuaTIwQUEHdW5pMjBCOAd1bmkyMEFFB3VuaTIwQTkHdW5pRkZFMAd1bmlGRjA0B3VuaUZGRTEHdW5pRkZFNgd1bmlGRkU1) format(\"truetype\")}.wx_card_root .card_wrap .card_body_warp_banner .product_card>:not(:first-child){margin-left:4px}.wx_card_root .card_wrap .card_body_warp_banner .banner_card{display:flex;width:100%}.wx_card_root .card_wrap .card_body_warp_banner .banner_card .banner{position:relative;height:100%}.wx_card_root .card_wrap .card_body_warp_banner .banner_card .banner .banner_image_wrap{position:relative}.wx_card_root .card_wrap .card_body_warp_banner .banner_card .banner .banner_image_wrap .banner_image{width:100%;border-radius:4px 4px 0 0;background-size:cover;background-position:center;-o-object-fit:cover;object-fit:cover}.wx_card_root .card_wrap .card_body_warp_banner .banner_card .banner .banner_image_wrap .banner_mask{background-color:#00000008;border-radius:4px 4px 0 0;position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}.wx_card_root .card_wrap .card_body_warp_banner .banner_card .banner .banner_image_wrap .banner_type{width:20px;height:20px;position:absolute;bottom:2px;right:2px;z-index:20}.wx_card_root .card_wrap .card_body_warp_banner .banner_card .banner .banner_title_wrap{position:relative;height:27px;border-radius:0 0 4px 4px;padding-left:6px}.wx_card_root .card_wrap .card_body_warp_banner .banner_card .banner .banner_title_wrap .banner_title{font-size:12px;font-family:PingFang SC;font-weight:500;line-height:16.8px;color:var(--weui-GLYPH-WHITE-3, #ffffff);padding-top:4px;padding-bottom:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wx_card_root .card_wrap .card_body_warp_banner .banner_card>:not(:first-child){margin-left:6px}.wx_card_root .card_wrap .card_body_warp_banner .curated_card{display:flex;width:100%}.wx_card_root .card_wrap .card_body_warp_banner .curated_card .curated{width:100%;height:100%}.wx_card_root .card_wrap .card_body_warp_banner .curated_card .curated .curated_image_wrap{border-radius:4px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.wx_card_root .card_wrap .card_body_warp_banner .curated_card .curated .curated_image_wrap .mask-bg{border-radius:4px;position:absolute;top:3px;left:3px;right:3px;bottom:3px;background-image:url(https://res.wx.qq.com/shop/public/2025-03-10/f5d316c8-e902-44fe-80a1-5320cb32d508.png);background-size:cover}.wx_card_root .card_wrap .card_body_warp_banner .curated_card .curated .curated_image_wrap .set_cover_img{border-radius:4px;background-size:cover;background-position:center;-o-object-fit:cover;object-fit:cover}.wx_card_root .card_wrap .card_body_warp_banner .curated_card .curated .desc_wrap{display:flex;align-items:center;justify-content:start;height:20px;margin-top:4px}.wx_card_root .card_wrap .card_body_warp_banner .curated_card .curated .desc_wrap .desc{font-size:14px;font-family:PingFang SC;font-weight:400;color:var(--weui-FG-0, #000000);height:20px;line-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wx_card_root .card_wrap .card_body_warp_banner .curated_card .curated .desc_wrap .count{font-size:12px;font-family:SF Pro Text,\"system-ui\";font-weight:500;height:20px;color:var(--weui-GLYPH-2, rgba(0, 0, 0, .3));line-height:20px;margin-left:4px}.wx_card_root .card_wrap .card_body_warp_banner .curated_card>:not(:first-child){margin-left:6px}.wx_card_root .card_wrap .card_body_warp_banner .shop_icon_wrap{width:100%;display:flex;align-items:center;justify-content:flex-start;margin-top:8px}.wx_card_root .card_wrap .card_body_warp_banner .shop_icon_wrap .shop_icon{width:14px;height:14px;margin-right:2px;background-image:url(https://res.wx.qq.com/shop/public/2025-09-19/1c1526b5-99ba-49a3-9a82-5750bb722c63.png);background-repeat:no-repeat;background-size:contain}.wx_card_root .card_wrap .card_body_warp_banner .shop_icon_wrap .shop_name{font-size:12px;font-family:PingFang SC;font-weight:400;color:var(--weui-GLYPH-2, rgba(0, 0, 0, .55));line-height:16.8px}.wx_card_root .card_wrap .shop_status_desc{color:#0000004d;height:114px;display:flex;align-items:center;justify-content:center}@media (prefers-color-scheme: dark){.wx_card_root .card_wrap{background-color:#ffffff05}.wx_card_root .card_wrap .card_body_warp_banner .shop_icon_wrap .shop_icon{background-image:url(https://res.wx.qq.com/shop/public/2025-09-19/ad530d26-e227-4123-a070-cf5939d96d03.png)}.wx_card_root .card_wrap .shop_status_desc{color:#ffffff4d}.bluepacket_wx_img_placeholder{background-color:#ffffff05}}\n", n$3 = { loaded: "data-loaded", customstyle: "data-customstyle", scrollBlur: "data-scroll-blur", wapExportToken: "data-wap-export-token", appid: "data-appid", shopEncryptKey: "data-shop_encrypt_key", is_hover: "data-is-hover", is_selected: "data-is-selected" }; function q$1(B) { var A = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var e = o$6.call(this, n$3); return e = o$6.call(this, n$3), e.loaded = Number(e.loaded || 0), e.appid = e.appid || "", e.shopEncryptKey = e.shopEncryptKey || "", e.scrollBlur = Number(e.scrollBlur || 0), e.is_hover *= 1, e.is_selected *= 1, _objectSpread$5({ platform: B, extraInfo: A }, e); } function aA() { var B = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; H$3(Object.assign(B, { Component: X$1, styleText: B.isDev ? B.devStyleText : v, customName: "mp-common-shopprofile", watchAttr: Object.values(n$3), getProps: q$1, eventName: ["document-click", "expose", "element-click", "onFrameReady", "card-click"] })); } var o$1 = (typeof globalThis === "undefined" ? "undefined" : _typeof$2(globalThis)) < "u" ? globalThis : (typeof window === "undefined" ? "undefined" : _typeof$2(window)) < "u" ? window : (typeof global === "undefined" ? "undefined" : _typeof$2(global)) < "u" ? global : (typeof self === "undefined" ? "undefined" : _typeof$2(self)) < "u" ? self : {}; function _regeneratorRuntime() { _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof$2(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof$2(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc "u" || _typeof$2(window.mid) > "u" || _typeof$2(window.item_show_type) > "u") && M < se ? (M++, new Promise(function (e) { setTimeout(function () { e(W()); }, 16); })) : (l$2 = K$1(), l$2))); case 1: case "end": return _context33.stop(); } }, _callee33); })); return _W.apply(this, arguments); } function ce(i, e) { var t = { base_req: { action: i }, ext_info: JSON.stringify(e) }; return { data: JSON.stringify(t) }; } function X(i) { if (!i) return; var e = i.data; e.params && (e.params = JSON.parse(e.params), e.params = JSON.stringify(_objectSpread$4(_objectSpread$4({}, e.params), {}, { scene: Number(window.source), subscene: Number(window.subscene), ClientVersion: parseInt(window.clientversion || "", 16), SessionId: window.sessionid || "" }))), ajax({ type: "POST", url: "/mp/c_psmaterial_info?action=get_windowproduct", timeout: 5e3, dataType: "json", data: ce("ReportMMData23782", _objectSpread$4({}, e)), success: function success() {}, error: function error() { console.log("[error]"); } }); } var ue = { mixins: [k$1], props: { shopAppid: { type: String, "default": "" }, curatedSetKey: { type: String, "default": "" }, platform: { type: String, "default": "web" } }, data: function data() { return { getColletionResp: null, requestinggetCollectionCardResp: !1, _supportOpenEcs: void 0, forceUpdate: !1, iframeLoading: !0, isDark: window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches, getShopCollectionPromise: null, productWidth: 0, productHeight: 0 }; }, computed: { cardStyle: function cardStyle() { var i = {}; return this.platform === "web" ? (i.width = "350px", this.isDark && (i.background = "rgba(0, 0, 0, 0.02)")) : i.width = "100%", i; }, placeholderStyle: function placeholderStyle() { var i = { height: "108px" }; return this.platform === "web" ? i.width = "350px" : i.width = "100%", i; }, collectionProfileName: function collectionProfileName() { var i, e; return ((e = (i = this.getColletionResp) == null ? void 0 : i.curated_set) == null ? void 0 : e.title) || ""; }, shopName: function shopName() { var i; return ((i = this.getColletionResp) == null ? void 0 : i.shop_name) || ""; }, showProduct: function showProduct() { var i, e; return (((e = (i = this.getColletionResp) == null ? void 0 : i.curated_set) == null ? void 0 : e.top_brief_products) || []).length > 2; }, products: function products() { var i, e; return (((e = (i = this.getColletionResp) == null ? void 0 : i.curated_set) == null ? void 0 : e.top_brief_products) || []).slice(0, 3); }, collectionJumpInfo: function collectionJumpInfo() { var i, e; return ((e = (i = this.getColletionResp) == null ? void 0 : i.curated_set) == null ? void 0 : e.set_jump_info_base64_str) || ""; }, collectionStatus: function collectionStatus() { return 1; }, isCollectionStatusNormal: function isCollectionStatusNormal() { return this.collectionStatus === ne.NORMAL; }, statusDesc: function statusDesc() { return "合集异常"; }, isDel: function isDel() { var i, e; return ((e = (i = this.getColletionResp) == null ? void 0 : i.curated_set) == null ? void 0 : e.del_flag) === 1; }, iconStyle: function iconStyle() { if (this.isDark && this.platform === "web") return { backgroundImage: 'url("https://res.wx.qq.com/shop/public/2025-05-10/321b820e-8d8a-4083-8e0f-40b2b01fc8ef.png")' }; }, pruductStyle: function pruductStyle() { return { width: "".concat(this.productWidth, "px"), height: "".concat(this.productHeight, "px") }; } }, created: function created() { console.log("created this.shopAppid=".concat(this.shopAppid, " this.curatedSetKey=").concat(this.curatedSetKey)), this.getCollectionCard(); }, mounted: function mounted() { var _this = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee() { return _regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _this.extraInfo.window && _this.extraInfo.window.addEventListener("message", _this.handleMessage), _this.extraInfo.window && _this.extraInfo.window.addEventListener("click", _this.handleDocumentClick), _this.reportExpose(); case 1: case "end": return _context.stop(); } }, _callee); }))(); }, beforeDestroy: function beforeDestroy() { this.extraInfo.window && this.extraInfo.window.removeEventListener("message", this.handleMessage), this.extraInfo.window && this.extraInfo.window.removeEventListener("click", this.handleDocumentClick); }, watch: { shopAppid: { handler: function handler() { console.log("shopAppid change to", this.shopAppid), this.forceUpdateCollectionCard(); } }, curatedSetKey: { handler: function handler() { console.log("curatedSetKey change to", this.curatedSetKey), this.forceUpdateCollectionCard(); } } }, methods: { updateImagesSize: function updateImagesSize() { if (!this.products || !this.products.length || !this.$refs.products_container) return; var e = this.$refs.products_container.offsetWidth; this.productWidth = (e - 4 * 2) / 3, this.productHeight = this.productWidth; }, handleDocumentClick: function handleDocumentClick(i) { this.$refs.js_custom_element.contains(i.target) || this.$emit("document-click", i); }, formatPriceInit: function formatPriceInit(i) { return ae(i); }, initReport: function initReport() { var _this2 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee2() { return _regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return W(); case 2: _context2.next = 4; return _this2.getCollectionCard(); case 4: case "end": return _context2.stop(); } }, _callee2); }))(); }, reportExpose: function reportExpose() { var _this3 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee3() { return _regeneratorRuntime().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return _this3.report(_.CARD, G$1.EXPOSE); case 2: _context3.next = 4; return _this3.report(_.PRODUCT, G$1.EXPOSE); case 4: case "end": return _context3.stop(); } }, _callee3); }))(); }, report: function report(i, e, t) { var _this4 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee4() { var s, n, r, o, u, d, p, _u, _d; return _regeneratorRuntime().wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: if (!(_this4.platform !== "wechat")) { _context4.next = 2; break; } return _context4.abrupt("return"); case 2: _context4.next = 4; return _this4.initReport(); case 4: r = ""; i === _.CARD ? r = "collection_card" : i === _.PRODUCT && (r = "commodity_card"); o = ""; if (e === G$1.CLICK ? o = "element_click" : e === G$1.EXPOSE && (o = "element_valid_expose"), i === _.PRODUCT && e === G$1.EXPOSE) { u = _this4.products; for (d = 0; d < u.length; ++d) { p = { logid: "23782", data: { event: o, params: JSON.stringify({ page_name: "mp_article_page", element_name: r, productid: u[d].product_id, mp_article_bizuin: l$2.article_info.mp_biz, mp_article_appmsgid: l$2.article_info.appmsgid, mp_article_item_idx: l$2.article_info.item_idx, mp_article_item_show_type: l$2.article_info.item_show_type, scene: l$2.article_info.mp_article_scene, cardtype: H$1, appid: _this4.shopAppid }) } }; X(p); } } else { _u = ""; _typeof$2(t) < "u" && (_u = (n = (s = _this4.products) == null ? void 0 : s[t]) == null ? void 0 : n.product_id); _d = { logid: "23782", data: { event: o, params: JSON.stringify({ page_name: "mp_article_page", element_name: r, productid: _u, mp_article_bizuin: l$2.article_info.mp_biz, mp_article_appmsgid: l$2.article_info.appmsgid, mp_article_item_idx: l$2.article_info.item_idx, mp_article_item_show_type: l$2.article_info.item_show_type, scene: l$2.article_info.mp_article_scene, cardtype: H$1, appid: _this4.shopAppid }) } }; X(_d); } case 8: case "end": return _context4.stop(); } }, _callee4); }))(); }, forceUpdateCollectionCard: function forceUpdateCollectionCard() { var _this5 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee5() { return _regeneratorRuntime().wrap(function _callee5$(_context5) { while (1) switch (_context5.prev = _context5.next) { case 0: _this5.forceUpdate = !0; _context5.prev = 1; _context5.next = 4; return _this5.getCollectionCard(); case 4: _context5.next = 9; break; case 6: _context5.prev = 6; _context5.t0 = _context5["catch"](1); console.error(_context5.t0); case 9: _this5.forceUpdate = !1; case 10: case "end": return _context5.stop(); } }, _callee5, null, [[1, 6]]); }))(); }, getCollectionCard: function getCollectionCard() { var _this6 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee6() { var i, e, t, r; return _regeneratorRuntime().wrap(function _callee6$(_context6) { while (1) switch (_context6.prev = _context6.next) { case 0: if (!(!_this6.shopAppid || !_this6.curatedSetKey)) { _context6.next = 2; break; } return _context6.abrupt("return", Promise.reject({})); case 2: if (!(_this6.requestinggetCollectionCardResp && _this6.getShopCollectionPromise)) { _context6.next = 4; break; } return _context6.abrupt("return", _this6.getShopCollectionPromise); case 4: if (!(_this6.getColletionResp && !_this6.forceUpdate)) { _context6.next = 6; break; } return _context6.abrupt("return", _this6.getColletionResp); case 6: _this6.requestinggetCollectionCardResp = !0; _context6.prev = 7; _context6.next = 10; return W(); case 10: _context6.next = 15; break; case 12: _context6.prev = 12; _context6.t0 = _context6["catch"](7); console.error("getMPInfo fail ".concat(_context6.t0, "."), _context6.t0); case 15: i = (l$2 == null ? void 0 : l$2.exportkey) || Url.getQuery("exportkey") || "", e = btoa(JSON.stringify((l$2 == null ? void 0 : l$2.article_info) || {})), t = _this6, r = "/mmec/biz_mpgetshopcuratedset?shop_appid=".concat(_this6.shopAppid, "&curated_set_key=").concat(encodeURIComponent(_this6.curatedSetKey), "&exportkey=").concat(i, "&cardtype=").concat(H$1, "&article_info=").concat(e); return _context6.abrupt("return", (_this6.getShopCollectionPromise = new Promise(function (o, s) { ajax({ type: "GET", url: r, success: function success(n) { if (console.log("/mmec/biz_mpgetshopcuratedset res", n), typeof n == "string") try { n = JSON.parse(n); } catch (u) { n = {}, Log.error("/mmec/biz_mpgetshopcuratedset parse res error. res=".concat(n, " err=").concat(u)); } t.getColletionResp = n, t.requestinggetCollectionCardResp = !1, setTimeout(function () { t.updateImagesSize(); }), t.$emit("onFrameReady", { nickName: t.collectionProfileName }), t.iframeLoading = !1, o(); }, error: function error(n) { t.requestinggetCollectionCardResp = !1, t.iframeLoading = !1, console.error("getCollectionCard err", n), s(n); } }); }), _this6.getShopCollectionPromise)); case 17: case "end": return _context6.stop(); } }, _callee6, null, [[7, 12]]); }))(); }, supportOpenEcs: function supportOpenEcs() { var _this7 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee7() { return _regeneratorRuntime().wrap(function _callee7$(_context7) { while (1) switch (_context7.prev = _context7.next) { case 0: if (!(_typeof$2(_this7._supportOpenEcs) < "u")) { _context7.next = 4; break; } _context7.t0 = _this7._supportOpenEcs; _context7.next = 8; break; case 4: _context7.next = 6; return P$1(); case 6: _this7._supportOpenEcs = _context7.sent; _context7.t0 = _this7._supportOpenEcs; case 8: return _context7.abrupt("return", _context7.t0); case 9: case "end": return _context7.stop(); } }, _callee7); }))(); }, openJumpInfo: function openJumpInfo(i) { var _this8 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee8() { var e, t, r, o; return _regeneratorRuntime().wrap(function _callee8$(_context8) { while (1) switch (_context8.prev = _context8.next) { case 0: if (!(_this8.platform === "wechat")) { _context8.next = 16; break; } if (!_this8.isDel) { _context8.next = 4; break; } (e = window == null ? void 0 : window.weui) == null || e.toast("商品合集已被删除", { extClass: "weui-toast_text" }); return _context8.abrupt("return"); case 4: _context8.next = 6; return P$1(); case 6: o = _context8.sent; if (!o) { _context8.next = 13; break; } console.log("supportOpenEcs=".concat(o, ", jumpInfo=").concat(i)); _context8.next = 11; return j(i); case 11: _context8.next = 14; break; case 13: (t = window == null ? void 0 : window.weui) == null || t.toast("当前版本不支持打开店铺", { extClass: "weui-toast_text" }); case 14: _context8.next = 17; break; case 16: (r = window == null ? void 0 : window.weui) == null || r.toast("请在手机微信中打开", { extClass: "weui-toast_text" }); case 17: case "end": return _context8.stop(); } }, _callee8); }))(); }, jumpSet: function jumpSet() { var _this9 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee9() { return _regeneratorRuntime().wrap(function _callee9$(_context9) { while (1) switch (_context9.prev = _context9.next) { case 0: console.log("点击"), _this9.openJumpInfo(_this9.collectionJumpInfo), _this9.report(_.CARD, G$1.CLICK); case 1: case "end": return _context9.stop(); } }, _callee9); }))(); }, jumpProduct: function jumpProduct(i, e) { var _this10 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee10() { return _regeneratorRuntime().wrap(function _callee10$(_context10) { while (1) switch (_context10.prev = _context10.next) { case 0: _this10.openJumpInfo(i.detail_page_jump_info_base64_str || ""), _this10.report(_.PRODUCT, G$1.CLICK, e); case 1: case "end": return _context10.stop(); } }, _callee10); }))(); } } }; var de = function de() { var e = this, t = e._self._c; return t("div", { staticClass: "shopcollection_warp" }, [e.iframeLoading ? t("div", { staticClass: "collection_wx_img_placeholder", style: e.placeholderStyle }) : e.isCollectionStatusNormal ? t("div", { staticClass: "card_wrap", style: e.cardStyle }, [e.collectionProfileName ? t("div", { staticClass: "card_head", on: { click: e.jumpSet } }, [t("div", { staticClass: "head_left" }, [t("div", { staticClass: "head_mid" }, [t("div", { staticClass: "head_mid_top" }, [e._v(e._s(e.collectionProfileName))])])]), e._m(0)]) : e._e(), e.showProduct ? t("div", { ref: "products_container", staticClass: "product_list" }, e._l(e.products, function (r, o) { return t("div", { staticClass: "product", style: e.pruductStyle, on: { click: function click(s) { return e.jumpProduct(r, o); } } }, [r.head_img_url ? t("img", { staticClass: "product_image", attrs: { src: r.head_img_url } }) : e._e(), t("div", { staticClass: "product_price" }, [e._v(" ¥" + e._s(e.formatPriceInit(r.price)) + " ")])]); }), 0) : e._e(), e.shopName ? t("div", { staticClass: "shop_icon_wrap" }, [t("div", { staticClass: "shop_icon", style: e.iconStyle }), t("div", { staticClass: "shop_name" }, [e._v(e._s(e.shopName))])]) : e._e()]) : t("div", { staticClass: "card_wrap", style: e.cardStyle }, [t("div", { staticClass: "shop_status_desc" }, [e._v(e._s(e.statusDesc))])])]); }, pe = [function () { var i = this, e = i._self._c; return e("div", { staticClass: "head_right" }, [e("button", { staticClass: "tap_home_btn weui-btn weui-btn_default weui-btn_mini" }, [i._v("详情")])]); }], le = v$2(ue, de, pe, !1, null, null, null, null); var we = le.exports, R = { LINK: 1, SHOP: 2 }, x = { CARD: 1, PRODUCT: 2 }, C$2 = { EXPOSE: 1, CLICK: 2 }, T$2 = { Init: 1, On: 2, End: 3 }, ge = defineProperty(defineProperty(defineProperty({ mixins: [k$1], components: {}, props: { title: { type: String, "default": "" }, encrypt_key: { type: String, "default": "" }, isMock: { type: Number, "default": 0 }, cardtype: { type: Number, "default": 0 } }, data: function data() { return { iframeLoading: !1, isDark: window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches, isShow: !0, resp: null, productWidth: 0, productHeight: 0, getShopCardPromise: null, updateShopCardPromise: null, requestingGetBulkBuyCardResp: !1, requestingGetQrcode: !1, getQrcodePromise: null, qrcodeUrl: "" }; }, computed: { cardStyle: function cardStyle() { var i = {}; return this.platform === "web" ? (i.width = "350px", this.isDark && (i.background = "rgba(0, 0, 0, 0.02)")) : i.width = "100%", i; }, placeholderStyle: function placeholderStyle() { return _objectSpread$4({ height: "108px" }, this.cardStyle); }, productStyle: function productStyle() { return { width: "".concat(this.productWidth, "px") }; }, pruductImgStyle: function pruductImgStyle() { return { width: "".concat(this.productWidth, "px"), height: "".concat(this.productHeight, "px") }; }, bulkBuyActivityCard: function bulkBuyActivityCard() { var i; return (i = this.resp) == null ? void 0 : i.bulk_buy_activity_card; }, activityInfo: function activityInfo() { var i; return (i = this.bulkBuyActivityCard) == null ? void 0 : i.activity_info; }, storeInfo: function storeInfo() { var i; return (i = this.bulkBuyActivityCard) == null ? void 0 : i.store_info; }, activityInfoTitle: function activityInfoTitle() { var i; return ((i = this.activityInfo) == null ? void 0 : i.title) || ""; }, participant: function participant() { var i; return (((i = this.activityInfo) == null ? void 0 : i.user_list) || []).slice(0, 6); }, products: function products() { var i; return (((i = this.bulkBuyActivityCard) == null ? void 0 : i.products) || []).slice(0, 3); }, shopName: function shopName() { var i; return ((i = this.storeInfo) == null ? void 0 : i.nick_name) || ""; }, activityInfoUserCountDesc: function activityInfoUserCountDesc() { var e, t, r; var i = (e = this.activityInfo) == null ? void 0 : e.status; return i === T$2.Init ? "" : i === T$2.On ? ((t = this.activityInfo) == null ? void 0 : t.progress_desc) || "" : i === T$2.End && ((r = this.activityInfo) == null ? void 0 : r.user_count_desc) || ""; }, showProducts: function showProducts() { return this.products.length >= 3; }, reportCardtype: function reportCardtype() { return this.cardtype === R.SHOP ? 9 : 10; }, jumpInfo: function jumpInfo() { var i; return ((i = this.bulkBuyActivityCard) == null ? void 0 : i.bulk_buy_activity_jump_info_base64_str) || ""; }, iconStyle: function iconStyle() { if (this.isDark && this.platform === "web") return { backgroundImage: 'url("https://res.wx.qq.com/shop/public/2025-05-10/321b820e-8d8a-4083-8e0f-40b2b01fc8ef.png")' }; }, appid: function appid() { var i; return ((i = this.storeInfo) == null ? void 0 : i.appid) || ""; }, showActivityDecs: function showActivityDecs() { var e; return ((e = this.activityInfo) == null ? void 0 : e.status) !== T$2.End && (this.participant.length || this.activityInfoUserCountDesc); } }, created: function created() { var _this11 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee11() { return _regeneratorRuntime().wrap(function _callee11$(_context11) { while (1) switch (_context11.prev = _context11.next) { case 0: _this11.cardtype === R.SHOP && (_this11.iframeLoading = !0), _this11.getCardData(); case 1: case "end": return _context11.stop(); } }, _callee11); }))(); }, mounted: function mounted() { var _this12 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee13() { return _regeneratorRuntime().wrap(function _callee13$(_context13) { while (1) switch (_context13.prev = _context13.next) { case 0: _context13.next = 2; return _this12.getCardData(); case 2: R$4.on("onWindowFocusChanged", _this12.__onNativeFocusChange = function () { var _ref = asyncToGenerator( _regeneratorRuntime().mark(function _callee12(i) { return _regeneratorRuntime().wrap(function _callee12$(_context12) { while (1) switch (_context12.prev = _context12.next) { case 0: (R$3() ? !(i.hasFocus * 1) : i.hasFocus) && _this12.getCardData(!0); case 1: case "end": return _context12.stop(); } }, _callee12); })); return function (_x2) { return _ref.apply(this, arguments); }; }()); _this12.reportExpose(); case 4: case "end": return _context13.stop(); } }, _callee13); }))(); }, beforeDestroy: function beforeDestroy() { R$4.remove("onWindowFocusChanged", this.__onNativeFocusChange); } }, "beforeDestroy", function beforeDestroy() { document.removeEventListener("scroll", this.handleScroll, !0), window.removeEventListener("resize", this.handleScroll); }), "watch", {}), "methods", { formatPrice: function formatPrice(i) { return k$2(i); }, clickLink: function clickLink(i) { var _this13 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee14() { var e; return _regeneratorRuntime().wrap(function _callee14$(_context14) { while (1) switch (_context14.prev = _context14.next) { case 0: if (!(_this13.platform === "wechat")) { _context14.next = 4; break; } _this13.jumpActivity(); _context14.next = 17; break; case 4: i.currnetTarget || i.target; _context14.prev = 5; if (_this13.qrcodeUrl) { _context14.next = 11; break; } _context14.next = 9; return _this13.bizGetBulkBuyQrcode(); case 9: e = _context14.sent; _this13.qrcodeUrl = "data:image/jpg;base64,".concat(e.qrcode_data); case 11: _context14.next = 17; break; case 13: _context14.prev = 13; _context14.t0 = _context14["catch"](5); console.error("get qrcode fail. code=".concat(_context14.t0.code, ", message=").concat(_context14.t0.message), _context14.t0); return _context14.abrupt("return"); case 17: case "end": return _context14.stop(); } }, _callee14, null, [[5, 13]]); }))(); }, updateImagesSize: function updateImagesSize() { if (!this.products || !this.products.length || !this.$refs.products_container) return; var e = this.$refs.products_container.offsetWidth; this.productWidth = (e - 4 * 2) / 3, this.productHeight = this.productWidth; }, getCardData: function getCardData() { var _arguments = arguments, _this14 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee15() { var i, r, o, s, e, t; return _regeneratorRuntime().wrap(function _callee15$(_context15) { while (1) switch (_context15.prev = _context15.next) { case 0: i = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : !1; if (_this14.encrypt_key) { _context15.next = 3; break; } return _context15.abrupt("return", Promise.reject({})); case 3: if (!i) { _context15.next = 8; break; } if (!_this14.updateShopCardPromise) { _context15.next = 6; break; } return _context15.abrupt("return", _this14.updateShopCardPromise); case 6: _context15.next = 12; break; case 8: if (!_this14.getShopCardPromise) { _context15.next = 10; break; } return _context15.abrupt("return", _this14.getShopCardPromise); case 10: if (!_this14.resp) { _context15.next = 12; break; } return _context15.abrupt("return", _this14.resp); case 12: e = _this14.bizGetBulkBuyCard(i); i ? _this14.updateShopCardPromise = e : _this14.getShopCardPromise = e; t = {}; _context15.prev = 15; _context15.next = 18; return e; case 18: t = _context15.sent; _context15.next = 24; break; case 21: _context15.prev = 21; _context15.t0 = _context15["catch"](15); return _context15.abrupt("return", (console.error(_context15.t0), Log.error("bizGetBulkBuyCard fail, update=".concat(i, ", code=").concat(t.code, ", message=").concat(t.message)), i ? _this14.updateShopCardPromise = null : ((r = window == null ? void 0 : window.weui) == null || r.toast("\u8BF7\u6C42\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5 ".concat(t.code), { extClass: "weui-toast_text" }), _this14.getShopCardPromise = null), Promise.reject(_context15.t0))); case 24: i ? (_this14.updateShopCardPromise = null, I$5(t) ? (Log.error("bizGetBulkBuyCard fail, update=".concat(i, ", code=").concat(t.code, ", message=").concat(t.message)), console.error("bizGetBulkBuyCard fail, update=".concat(i, ", code=").concat(t.code, ", message=").concat(t.message))) : t.bulk_buy_activity_card && t.bulk_buy_activity_card.activity_info && (_this14.resp.bulk_buy_activity_card = ((s = _this14.resp) == null ? void 0 : s.bulk_buy_activity_card) || {}, _this14.resp.bulk_buy_activity_card.activity_info = t.bulk_buy_activity_card.activity_info)) : I$5(t) ? ((o = window == null ? void 0 : window.weui) == null || o.toast("\u83B7\u53D6\u6570\u636E\u9519\u8BEF ".concat(t.code), { extClass: "weui-toast_text" }), _this14.getShopCardPromise = null, Log.error("bizGetBulkBuyCard fail, update=".concat(i, ", code=").concat(t.code, ", message=").concat(t.message)), console.error("bizGetBulkBuyCard fail, update=".concat(i, ", code=").concat(t.code, ", message=").concat(t.message))) : (_this14.resp = t, setTimeout(function () { _this14.updateImagesSize(); })); case 25: case "end": return _context15.stop(); } }, _callee15, null, [[15, 21]]); }))(); }, bizGetBulkBuyCard: function bizGetBulkBuyCard() { var _arguments2 = arguments, _this15 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee16() { var i, e, t, r, o, s, u, n; return _regeneratorRuntime().wrap(function _callee16$(_context16) { while (1) switch (_context16.prev = _context16.next) { case 0: i = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : !1; e = {}; _context16.prev = 2; _context16.next = 5; return N$1(); case 5: e = _context16.sent; _context16.next = 11; break; case 8: _context16.prev = 8; _context16.t0 = _context16["catch"](2); Log.error("getMPInfo fail ".concat(_context16.t0, "."), _context16.t0); case 11: t = Url.getQuery("exportkey") || ""; r = i ? 1 : 0; o = window.wap_export_token; s = "/mmec/biz_getbulkbuycard?bulk_buy_activity_key=".concat(encodeURIComponent(_this15.encrypt_key), "&query_type=").concat(r, "&cardtype=").concat(_this15.reportCardtype, "&exportkey=").concat(t); if (o ? s = "".concat(s, "&wap_export_token=").concat(o) : s = "".concat(s, "&exportkey=").concat(t), !i) { u = btoa(JSON.stringify((e == null ? void 0 : e.article_info) || {})); s = "".concat(s, "&article_info=").concat(u); } n = _this15; return _context16.abrupt("return", (_this15.requestingGetBulkBuyCardResp = !0, new Promise(function (u, d) { ajax({ type: "GET", url: s, success: function success(p) { if (typeof p == "string") try { p = JSON.parse(p); } catch (g) { return Log.error("/mmec/biz_getbulkbuycard parse res error. res=".concat(p, " err=").concat(g)), console.error("/mmec/biz_getbulkbuycard parse res error. res=".concat(p, " err=").concat(g)), d({ code: -1, message: "parse res fail, ".concat(g.message) }); } i || (n.iframeLoading = !1), n.requestingGetBulkBuyCardResp = !1, u(p); }, error: function error(p) { i || (this.iframeLoading = !1), n.requestingGetBulkBuyCardResp = !1, Log.error("getShopCard err", p), console.error("getShopCard err", p), d(p); } }); }))); case 18: case "end": return _context16.stop(); } }, _callee16, null, [[2, 8]]); }))(); }, bizGetBulkBuyQrcode: function bizGetBulkBuyQrcode() { var _this16 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee17() { var i, e, t, r, o; return _regeneratorRuntime().wrap(function _callee17$(_context17) { while (1) switch (_context17.prev = _context17.next) { case 0: if (_this16.encrypt_key) { _context17.next = 2; break; } return _context17.abrupt("return", Promise.reject({ code: -2, message: "empty encrypt key" })); case 2: if (!(_this16.requestingGetQrcode && _this16.getQrcodePromise)) { _context17.next = 4; break; } return _context17.abrupt("return", _this16.getQrcodePromise); case 4: _this16.requestingGetQrcode = !0; _context17.next = 7; return N$1(); case 7: i = _context17.sent; e = Url.getQuery("exportkey") || ""; t = "/mmec/biz_getbulkbuyqrcode?bulk_buy_activity_key=".concat(encodeURIComponent(_this16.encrypt_key), "&cardtype=").concat(_this16.reportCardtype, "&exportkey=").concat(e); r = btoa(JSON.stringify((i == null ? void 0 : i.article_info) || {})); t = "".concat(t, "&article_info=").concat(r); o = _this16; return _context17.abrupt("return", (_this16.getQrcodePromise = new Promise(function (s, n) { ajax({ type: "GET", url: t, success: function success(u) { if (o.requestingGetQrcode = !1, typeof u == "string") try { u = JSON.parse(u); } catch (d) { return Log.error("/mmec/biz_getbulkbuyqrcode parse res error. res=".concat(u, " err=").concat(d)), console.error("/mmec/biz_getbulkbuyqrcode parse res error. res=".concat(u, " err=").concat(d)), n({ code: -1, message: "parse res fail, ".concat(d.message) }); } s(u); }, error: function error(u) { o.requestingGetQrcode = !1, Log.error("getShopCard err", u), console.error("getShopCard err", u), n(u); } }); }), _this16.getQrcodePromise)); case 14: case "end": return _context17.stop(); } }, _callee17); }))(); }, initReport: function initReport() { var _this17 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee18() { return _regeneratorRuntime().wrap(function _callee18$(_context18) { while (1) switch (_context18.prev = _context18.next) { case 0: _context18.next = 2; return N$1(); case 2: _context18.next = 4; return _this17.getCardData(); case 4: case "end": return _context18.stop(); } }, _callee18); }))(); }, reportExpose: function reportExpose() { var _this18 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee19() { return _regeneratorRuntime().wrap(function _callee19$(_context19) { while (1) switch (_context19.prev = _context19.next) { case 0: _context19.next = 2; return _this18.report(x.CARD, C$2.EXPOSE); case 2: _context19.t0 = _this18.cardtype === R.SHOP; if (!_context19.t0) { _context19.next = 6; break; } _context19.next = 6; return _this18.report(x.PRODUCT, C$2.EXPOSE); case 6: case "end": return _context19.stop(); } }, _callee19); }))(); }, report: function report(i, e, t) { var _this19 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee20() { var n, u, r, o, s, d, p, g, _d2, _p; return _regeneratorRuntime().wrap(function _callee20$(_context20) { while (1) switch (_context20.prev = _context20.next) { case 0: if (!(_this19.platform !== "wechat")) { _context20.next = 2; break; } return _context20.abrupt("return"); case 2: _context20.next = 4; return _this19.initReport(); case 4: _context20.next = 6; return N$1(); case 6: r = _context20.sent; o = ""; _this19.cardtype === R.SHOP ? i === x.CARD ? o = "bulkbuy_card" : i === x.PRODUCT && (o = "commodity_card") : _this19.cardtype === R.LINK && (o = "bulkbuy_link"); s = ""; if (e === C$2.CLICK ? s = "element_click" : e === C$2.EXPOSE && (s = "element_valid_expose"), i === x.PRODUCT && e === C$2.EXPOSE) { d = _this19.products; for (p = 0; p < d.length; ++p) { g = { logid: "23782", data: { event: s, params: JSON.stringify({ page_name: "mp_article_page", element_name: o, productid: d[p].product_id, mp_article_bizuin: r.article_info.mp_biz, mp_article_appmsgid: r.article_info.appmsgid, mp_article_item_idx: r.article_info.item_idx, mp_article_item_show_type: r.article_info.item_show_type, scene: r.article_info.mp_article_scene, cardtype: _this19.reportCardtype, appid: _this19.appid }) } }; O$5(g); } } else { _d2 = ""; _typeof$2(t) < "u" && (_d2 = (u = (n = _this19.products) == null ? void 0 : n[t]) == null ? void 0 : u.product_id); _p = { logid: "23782", data: { event: s, params: JSON.stringify({ page_name: "mp_article_page", element_name: o, productid: _d2, mp_article_bizuin: r.article_info.mp_biz, mp_article_appmsgid: r.article_info.appmsgid, mp_article_item_idx: r.article_info.item_idx, mp_article_item_show_type: r.article_info.item_show_type, scene: r.article_info.mp_article_scene, cardtype: _this19.reportCardtype, appid: _this19.appid }) } }; O$5(_p); } case 11: case "end": return _context20.stop(); } }, _callee20); }))(); }, openJumpInfo: function openJumpInfo(i) { var _this20 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee21() { var e, t; return _regeneratorRuntime().wrap(function _callee21$(_context21) { while (1) switch (_context21.prev = _context21.next) { case 0: if (!(_this20.platform === "wechat")) { _context21.next = 11; break; } _context21.next = 3; return t$3(); case 3: if (!_context21.sent) { _context21.next = 8; break; } _context21.next = 6; return i$2(i); case 6: _context21.next = 9; break; case 8: (e = window == null ? void 0 : window.weui) == null || e.toast("当前版本不支持打开活动", { extClass: "weui-toast_text" }); case 9: _context21.next = 12; break; case 11: (t = window == null ? void 0 : window.weui) == null || t.toast("请在手机微信中打开", { extClass: "weui-toast_text" }); case 12: case "end": return _context21.stop(); } }, _callee21); }))(); }, jumpActivity: function jumpActivity() { this.openJumpInfo(this.jumpInfo), this.report(x.CARD, C$2.CLICK); } }); var he = function he() { var e = this, t = e._self._c; return t("div", { staticClass: "common_buytogether_root" }, [e.iframeLoading ? t("div", { staticClass: "collection_wx_img_placeholder", style: e.placeholderStyle }) : e.cardtype === 1 ? t("div", { ref: "shotLink", staticClass: "link-wrap" }, [t("span", { staticClass: "product_card_text_wrp" }, [t("span", { staticClass: "product_text_link", on: { click: e.clickLink } }, [e._v(e._s(e.title))])])]) : e.cardtype === 2 ? t("div", { staticClass: "common_buytogether_card_wrap", style: e.cardStyle, on: { click: e.jumpActivity } }, [t("div", { staticClass: "card_head" }, [t("div", { staticClass: "head_left" }, [t("div", { staticClass: "head_left_top" }, [t("div", { staticClass: "icon" }), t("div", { staticClass: "title" }, [e._v(e._s(e.activityInfoTitle))])]), e.showActivityDecs ? t("div", { staticClass: "head_left_bottom" }, [t("div", { staticClass: "avatar_list" }, e._l(e.participant, function (r, o) { return t("img", { staticClass: "avatar", attrs: { src: r.head_img } }); }), 0), t("div", { staticClass: "desc" }, [e._v('' + e._s(e.activityInfoUserCountDesc) + '')])]) : e._e()]), t("div", { staticClass: "head_right" }, [t("div", { staticClass: "tap_home_btn", on: { click: e.jumpActivity } }, [e._v('参与')])])]), e.showProducts ? t("div", { ref: "products_container", staticClass: "product_list" }, e._l(e.products, function (r, o) { return t("div", { staticClass: "product", style: e.productStyle }, [r.head_img ? t("img", { staticClass: "product_image", style: e.pruductImgStyle, attrs: { src: r.head_img } }) : e._e(), t("div", { staticClass: "product_price" }, [t("span", { staticClass: "selling_price" }, [e._v("¥" + e._s(e.formatPrice(r.price)))]), t("span", { staticClass: "before_selling_price" }, [e._v("¥" + e._s(e.formatPrice(r.strike_price))), t("span", { staticClass: "newlineationPrice" })])])]); }), 0) : e._e(), t("div", { staticClass: "shop_icon_wrap" }, [t("div", { staticClass: "shop_icon", style: e.iconStyle }), t("div", { staticClass: "shop_name" }, [e._v(e._s(e.shopName))])])]) : e._e()]); }, fe = [], me = v$2(ge, he, fe, !1, null, null, null, null); var Ee = me.exports; var V = { exports: {} }; (function (i) { (function (e) { var t = function t(a, c, h) { if (!p(c) || S(c) || A(c) || D(c) || d(c)) return c; var m, I = 0, $ = 0; if (g(c)) for (m = [], $ = c.length; I < $; I++) m.push(t(a, c[I], h));else { m = {}; for (var U in c) Object.prototype.hasOwnProperty.call(c, U) && (m[a(U, h)] = t(a, c[U], h)); } return m; }, r = function r(a, c) { c = c || {}; var h = c.separator || "_", m = c.split || /(?=[A-Z])/; return a.split(m).join(h); }, o = function o(a) { return y(a) ? a : (a = a.replace(/[\-_\s]+(.)?/g, function (c, h) { return h ? h.toUpperCase() : ""; }), a.substr(0, 1).toLowerCase() + a.substr(1)); }, s = function s(a) { var c = o(a); return c.substr(0, 1).toUpperCase() + c.substr(1); }, n = function n(a, c) { return r(a, c).toLowerCase(); }, u = Object.prototype.toString, d = function d(a) { return typeof a == "function"; }, p = function p(a) { return a === Object(a); }, g = function g(a) { return u.call(a) == "[object Array]"; }, S = function S(a) { return u.call(a) == "[object Date]"; }, A = function A(a) { return u.call(a) == "[object RegExp]"; }, D = function D(a) { return u.call(a) == "[object Boolean]"; }, y = function y(a) { return a = a - 0, a === a; }, E = function E(a, c) { var h = c && "process" in c ? c.process : c; return typeof h != "function" ? a : function (m, I) { return h(m, a, I); }; }, b = { camelize: o, decamelize: n, pascalize: s, depascalize: n, camelizeKeys: function camelizeKeys(a, c) { return t(E(o, c), a); }, decamelizeKeys: function decamelizeKeys(a, c) { return t(E(n, c), a, c); }, pascalizeKeys: function pascalizeKeys(a, c) { return t(E(s, c), a); }, depascalizeKeys: function depascalizeKeys() { return this.decamelizeKeys.apply(this, arguments); } }; i.exports ? i.exports = b : e.humps = b; })(o$1); })(V); var be = V.exports; var _e = { name: "SwiperImageProduct", props: { list: { type: Array, "default": function _default() { return []; } }, currentIndex: { type: Number, "default": 0 }, width: { type: Number, "default": 0 }, height: { type: Number, "default": 0 }, hideIndicator: { type: Boolean, "default": !1 }, maxIndicatorIndex: { type: Number, "default": 0 }, mode: { type: String, "default": "aspectFill" }, pictureClass: { type: String, "default": "" } }, data: function data() { return { innerCurrentIndex: 0, startClientX: 0, startClientY: 0, currentClientX: 0, lastClientX: 0, isFirstTouch: !0, catchMove: !0, direction: "none", isTransitioning: !1, touchStartTime: 0 }; }, computed: { swiperList: function swiperList() { return this.list || []; }, wrapperStyle: function wrapperStyle() { var i = { height: "".concat(this.height, "px"), transform: "translateX(-".concat(this.innerCurrentIndex * this.width, "px)") }; return this.isTransitioning && (i.transition = "all 0.45s cubic-bezier(0.25, 0.1, 0.25, 1)"), i; } }, watch: { currentIndex: { handler: function handler(i) { this.innerCurrentIndex = i, this.checkBottomPosition(); }, immediate: !0 }, list: { handler: function handler() {}, immediate: !0 } }, mounted: function mounted() { this.width === 0 && this.$emit("update:width", window.innerWidth), console.log("swiperList props", this.props); }, methods: { getItemStyle: function getItemStyle(i, e) { return { width: "".concat(this.width, "px"), alignItems: i.width > i.height ? "center" : "flex-start" }; }, getImageWrapperStyle: function getImageWrapperStyle(i) { var e = { position: "relative", display: "inline-block" }; if (i.width && i.height) { var t = this.width, r = this.height, o = i.width / i.height, s = t / r; o >= s ? (e.width = "100%", e.height = "".concat(t / o, "px"), i.computedHeight = t / o) : (e.width = "".concat(r * o, "px"), e.height = "100%", i.computedWidth = r * o); } else e.maxWidth = "100%", e.maxHeight = "100%"; return e; }, getImageStyle: function getImageStyle(i) { var e = { width: "100%", height: "100%", objectFit: "contain", display: "block" }; return this.pictureClass && (e["class"] = this.pictureClass), e; }, getLabelStyle: function getLabelStyle(i, e) { var o = i.labelName ? i.labelName.length : 0, s = 8, n = 7, u = 4, d = 4, p = 12, g = e.computedWidth || this.width, S = s + d + o * p + d + n + u * 2, A = Math.min(S, g - 12 * 2); var D, y, E, b; if (i.x !== void 0) { var a = i.x, c = a / 100 * g; c < 12 ? D = "12px" : c + A > g - 12 ? E = "12px" : D = "".concat(a, "%"); } else if (i.right !== void 0) { var _a = i.right; _a / 100 * g < 12 + A ? E = "".concat(12 + A, "px") : E = "".concat(_a, "%"); } if (i.y !== void 0) { var _a2 = i.y, _c = _a2 / 100 * this.height; _c < 12 ? y = "12px" : _c + 20.5 > this.height - 12 ? b = "12px" : y = "".concat(_a2, "%"); } else if (i.bottom !== void 0) { var _a3 = i.bottom; _a3 / 100 * this.height < 12 + 20.5 ? b = "".concat(12 + 20.5, "px") : b = "".concat(_a3, "%"); } return { position: "absolute", left: D || "auto", top: y || "auto", right: E || "auto", bottom: b || "auto", backgroundColor: i.backgroundColor || "rgba(76, 76, 76, 0.5)", color: i.color || "#fff", padding: i.padding || "2px 4px", borderRadius: i.borderRadius || "100px", fontSize: i.fontSize || "12px", zIndex: i.zIndex || 1e3, maxWidth: "".concat(A, "px"), whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis", boxSizing: "border-box" }; }, handleTouchStart: function handleTouchStart(i) { this.touchStartTime = Date.now(); var e = i.touches[0]; this.startClientX = e.clientX, this.startClientY = e.clientY, this.currentClientX = this.innerCurrentIndex * this.width, this.lastClientX = this.currentClientX, this.isFirstTouch = !0, this.catchMove = !0, this.isTransitioning = !1; }, handleTouchMove: function handleTouchMove(i) { this.$emit("touchMove", { event: i }); var e = i.touches[0]; if (this.isFirstTouch) { this.isFirstTouch = !1; var t = Math.abs(e.clientX - this.startClientX); Math.abs(e.clientY - this.startClientY) > t ? this.catchMove = !1 : this.catchMove = !0; } if (this.catchMove) { i.preventDefault(); var _t = e.clientX - this.startClientX; this.currentClientX = -(this.innerCurrentIndex * this.width) + _t, this.direction = this.currentClientX < this.lastClientX ? "left" : "right", this.$refs.swiperWrapper.style.transform = "translateX(".concat(this.currentClientX, "px)"), this.lastClientX = this.currentClientX; } }, handleTouchEnd: function handleTouchEnd(i) { var e = Math.abs(this.lastClientX - this.innerCurrentIndex * this.width); var t = -1; e > 50 && (this.direction === "right" ? t = Math.max(this.innerCurrentIndex - 1, 0) : this.direction === "left" && (t = Math.min(this.innerCurrentIndex + 1, this.swiperList.length - 1)), t !== -1 && this.innerCurrentIndex !== t && (this.innerCurrentIndex = t, this.$emit("change", { index: t, data: this.swiperList[t] }), this.$emit("update:currentIndex", t), this.$emit("current-index-change", t))), this.setIndexPosition(); }, setIndexPosition: function setIndexPosition() { var _this21 = this; this.isTransitioning = !0, this.$refs.swiperWrapper.style.transform = "translateX(-".concat(this.innerCurrentIndex * this.width, "px)"), setTimeout(function () { _this21.isTransitioning = !1; }, 450); }, handleImageLoad: function handleImageLoad(i, e) {}, handleLabelClick: function handleLabelClick(i, e, t) { this.$emit("tagClick", { labelPage: i.labelPage, productId: i.productId, pairingId: e.pairingId }); }, checkBottomPosition: function checkBottomPosition() {} } }; var Ge = function Ge() { var e = this, t = e._self._c; return e.width ? t("div", { staticClass: "swiper-out" }, [t("div", { ref: "swiperWrapper", staticClass: "swiper-wrapper", style: e.wrapperStyle, on: { touchstart: e.handleTouchStart, touchmove: e.handleTouchMove, touchend: e.handleTouchEnd } }, e._l(e.swiperList, function (r, o) { return t("div", { key: o, staticClass: "swiper-item", style: e.getItemStyle(r, o) }, [t("div", { staticClass: "image-container" }, [t("div", { staticClass: "image-wrapper", style: e.getImageWrapperStyle(r) }, [t("img", { staticClass: "swiper-image", style: e.getImageStyle(r), attrs: { src: r.src, alt: r.alt || "" }, on: { load: function load(s) { return e.handleImageLoad(s, o); } } }), r.labelList && r.labelList.length ? t("div", { staticClass: "label-container" }, e._l(r.labelList, function (s) { return t("div", { key: s.productId, staticClass: "label-item", staticStyle: { "pointer-events": "auto", position: "absolute" }, style: e.getLabelStyle(s, r), on: { click: function click(n) { return e.handleLabelClick(s, r, o); } } }, [e._v(" " + e._s(s.labelName) + " ")]); }), 0) : e._e()])])]); }), 0), e.swiperList.length > 1 && !e.hideIndicator ? t("div", { staticClass: "swiper-indicator" }, [t("span", { staticClass: "indicator-text" }, [e._v(e._s(e.innerCurrentIndex + 1) + "/" + e._s(e.swiperList.length))])]) : e._e()]) : e._e(); }, Ae = [], xe = v$2(_e, Ge, Ae, !1, null, null, null, null); var Ce = xe.exports, Re = { name: "SwiperIndicator", props: { swiperList: { type: Array, "default": function _default() { return []; } }, currentIndex: { type: Number, "default": 0 }, hideIndicator: { type: Boolean, "default": !1 }, maxIndicatorIndex: { type: Number, "default": 0 } }, data: function data() { return { innerCurrentIndex: 0 }; }, watch: { currentIndex: { handler: function handler(i) { this.innerCurrentIndex = i; }, immediate: !0 } }, methods: { handleDotClick: function handleDotClick(i) { i !== this.currentIndex && (this.$emit("change", { index: i, data: this.swiperList[i] }), this.$emit("update:currentIndex", i)); } } }; var Be = function Be() { var e = this, t = e._self._c; return e.swiperList.length > 1 && !e.hideIndicator && e.maxIndicatorIndex === 0 ? t("div", { staticClass: "swiper-indicator-wrap-bg" }, [t("div", { staticClass: "swiper-indicator-wrap" }, e._l(e.swiperList, function (r, o) { return t("div", { key: o, staticClass: "swiper-indicator-dot", "class": { active: e.innerCurrentIndex === o }, on: { click: function click(s) { return e.handleDotClick(o); } } }); }), 0)]) : e._e(); }, Ne = [], Le = v$2(Re, Be, Ne, !1, null, null, null, null); var De = Le.exports, O$2 = { title: "国风搭配测试测测", shopInfo: { shopName: "麦当劳", path: "/main/pages/shop/shop?&realappid=wx2b255582a7b4bfd0&shopId=10000000089216", appid: "wx2b255582a7b4bfd0", shopTag: "https://res.wx.qq.com/shop/public/2024-09-26/eb336270-6883-4391-8e4c-4c26230baa2e.svg" }, shopName: "麦当劳", shopAppid: "wx2b255582a7b4bfd0", shopIcon: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/67aac669000122322aba0bcd0e745415000000a100004f50?imageView2/1/w/583/h/583/format/webp|imageMogr2/auto-orient/strip/ignore-error/1", headSwiper: [{ index: 0, src: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/67778ec700022d7518cc772027908e0b000000a100004f50", width: 800, height: 800, pairingId: "4066145054106112", labelList: [{ x: "96", y: "32", productId: "10000151274966", productShortName: "休闲裤", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000151274966" }, labelName: "休闲裤", productName: "限购-开发自动化测试专用-勿动!!!", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SH/reserved/6639fef400081a7f009acd91cf86bc1e000000a100004f50", productPrice: "100000" }, { x: "30", y: "54", productId: "10000128560001", productShortName: "宠物配饰", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000128560001" }, labelName: "宠物配饰", productName: "狗狗的漂亮衣服-多个限时抢购", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/6641cdc800086320026f8b1d27908e0b000000a000004f50", productPrice: "10" }, { x: "18", y: "20", productId: "10000072904047", productShortName: "羽绒服", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000072904047" }, labelName: "羽绒服", productName: "(搭配购)预售测试款女外套冬款黑色M", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/65376f0c0005f86c0be3041984f90115000000a000004f50", productPrice: "19900" }, { x: "48", y: "22", productId: "10000163612743", productShortName: "休闲裤", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000163612743" }, labelName: "休闲裤", productName: "(搭配购)韩版牛仔裤修身版型好大码将军同款", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/672c793c000cdecf2d7b0f2995918e0b000000a000004f50", productPrice: "15000" }], type: "pairingImg", showLabel: !0, showHeight: 520 }, { index: 1, src: "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SZ/reserved/68a317e100049bee200d67fd6f7c4315000000a100004f50", width: 800, height: 600, pairingId: "4066145054106112", labelList: [{ x: "51", y: "40", productId: "10000151274966", productShortName: "休闲裤", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000151274966" }, labelName: "休闲裤", productName: "限购-开发自动化测试专用-勿动!!!", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SH/reserved/6639fef400081a7f009acd91cf86bc1e000000a100004f50", productPrice: "100000" }, { x: "56", y: "74", productId: "10000128560001", productShortName: "宠物配饰", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000128560001" }, labelName: "宠物配饰", productName: "狗狗的漂亮衣服-多个限时抢购", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/6641cdc800086320026f8b1d27908e0b000000a000004f50", productPrice: "10" }, { x: "25", y: "64", productId: "10000072904047", productShortName: "羽绒服", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000072904047" }, labelName: "羽绒服", productName: "(搭配购)预售测试款女外套冬款黑色M", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/65376f0c0005f86c0be3041984f90115000000a000004f50", productPrice: "19900" }, { x: "77", y: "54", productId: "10000163612743", productShortName: "休闲裤", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000163612743" }, labelName: "休闲裤", productName: "(搭配购)韩版牛仔裤修身版型好大码将军同款", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/672c793c000cdecf2d7b0f2995918e0b000000a000004f50", productPrice: "15000" }, { x: "64", y: "8", productId: "10000000089216", productShortName: "家居服套装", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000000089216" }, labelName: "家居服套装", productName: "(搭配购)2025款冬季男女保暖睡衣", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/6426b72e000aa70a28f4d1d805618809000000a000004f50", productPrice: "1" }], type: "pairingImg", showLabel: !0, showHeight: 520 }, { index: 2, src: "https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SZ/reserved/688c891d000674562b1663a705a3ae1e000000a100004f50", width: 900, height: 1100, pairingId: "4066145054106112", labelList: [{ x: "29", y: "66", productId: "10000151274966", productShortName: "休闲裤", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000151274966" }, labelName: "休闲裤", productName: "限购-开发自动化测试专用-勿动!!!", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SH/reserved/6639fef400081a7f009acd91cf86bc1e000000a100004f50", productPrice: "100000" }, { x: "34", y: "58", productId: "10000128560001", productShortName: "宠物配饰", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000128560001" }, labelName: "宠物配饰", productName: "狗狗的漂亮衣服-多个限时抢购", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/6641cdc800086320026f8b1d27908e0b000000a000004f50", productPrice: "10" }, { x: "8", y: "32", productId: "10000072904047", productShortName: "羽绒服", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000072904047" }, labelName: "羽绒服", productName: "(搭配购)预售测试款女外套冬款黑色M", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/65376f0c0005f86c0be3041984f90115000000a000004f50", productPrice: "19900" }, { x: "52", y: "32", productId: "10000163612743", productShortName: "休闲裤", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000163612743" }, labelName: "休闲裤", productName: "(搭配购)韩版牛仔裤修身版型好大码将军同款", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/672c793c000cdecf2d7b0f2995918e0b000000a000004f50", productPrice: "15000" }, { x: "71", y: "54", productId: "10000000089216", productShortName: "家居服套装", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000000089216" }, labelName: "家居服套装", productName: "(搭配购)2025款冬季男女保暖睡衣", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/6426b72e000aa70a28f4d1d805618809000000a000004f50", productPrice: "1" }], type: "pairingImg", showLabel: !0, showHeight: 520 }, { index: 3, src: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/67778ec700022d7518cc772027908e0b000000a100004f50", width: 800, height: 800, pairingId: "4066145054106112", labelList: [{ x: "66", y: "32", productId: "10000151274966", productShortName: "休闲裤", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000151274966" }, labelName: "休闲裤", productName: "限购-开发自动化测试专用-勿动!!!", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SH/reserved/6639fef400081a7f009acd91cf86bc1e000000a100004f50", productPrice: "100000" }, { x: "30", y: "54", productId: "10000128560001", productShortName: "宠物配饰", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000128560001" }, labelName: "宠物配饰", productName: "狗狗的漂亮衣服-多个限时抢购", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/6641cdc800086320026f8b1d27908e0b000000a000004f50", productPrice: "10" }, { x: "18", y: "20", productId: "10000072904047", productShortName: "羽绒服", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000072904047" }, labelName: "羽绒服", productName: "(搭配购)预售测试款女外套冬款黑色M", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/65376f0c0005f86c0be3041984f90115000000a000004f50", productPrice: "19900" }, { x: "48", y: "22", productId: "10000163612743", productShortName: "休闲裤", productAppid: "wx2b255582a7b4bfd0", labelPage: { appid: "wx2b255582a7b4bfd0", path: "/main/pages/productDetail/productDetail?&realappid=wx2b255582a7b4bfd0&productId=10000163612743" }, labelName: "休闲裤", productName: "(搭配购)韩版牛仔裤修身版型好大码将军同款", productImgUrl: "https://store.mp.video.tencent-cloud.com/161/20304/snscosdownload/SZ/reserved/672c793c000cdecf2d7b0f2995918e0b000000a000004f50", productPrice: "15000" }], type: "pairingImg", showLabel: !0, showHeight: 520 }], pairingCreator: { pairingCreatorName: "罗意威LOEWE", pairingCreatorTag: "https://res.wx.qq.com/shop/public/2024-09-26/eb336270-6883-4391-8e4c-4c26230baa2e.svg" } }, q = 13; var w$1; var ye = { components: { SwiperProduct: Ce, SwiperIndicator: De }, mixins: [k$1], props: { shopAppid: { type: String, "default": "" }, pairingId: { type: String, "default": "" }, talentAppid: { type: String, "default": "" }, isMock: { type: Number, "default": 0 } }, data: function data() { return { getPairingResp: null, requestinggetPairing: !1, _supportOpenEcs: void 0, forceUpdate: !1, iframeLoading: !0, isDark: window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches, getPairingPromise: null, containerWidth: 350, swiperHeight: 350, currentSwiperIndex: 0, pairingData: { pairingCreator: { pairingCreatorName: "", pairingCreatorTag: "", pairingCreatorTagDark: "" } } }; }, computed: { cardStyle: function cardStyle() { var i = {}; return this.platform === "web" ? (i.width = "350px", this.isDark && (i.background = "rgba(0, 0, 0, 0.02)")) : i.width = "100%", i; }, containerStyle: function containerStyle() { var i = { background: "rgba(255, 255, 255, 0.03)" }; return this.isDark && (i.background = "rgba(0, 0, 0, 0.03)"), i; }, placeholderStyle: function placeholderStyle() { var i = { height: "108px" }; return this.platform === "web" ? i.width = "350px" : i.width = "100%", i; }, pairingCreatorTag: function pairingCreatorTag() { return this.isDark ? this.pairingData.pairingCreator.pairingCreatorTagDark : this.pairingData.pairingCreator.pairingCreatorTag; } }, created: function created() { var _this22 = this; console.log("created this.shopAppid=".concat(this.shopAppid, " this.talentAppid=").concat(this.talentAppid)), this.getPairingCard(), window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", function (i) { _this22.isDark = i.matches; }); }, mounted: function mounted() { var _this23 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee22() { return _regeneratorRuntime().wrap(function _callee22$(_context22) { while (1) switch (_context22.prev = _context22.next) { case 0: _this23.extraInfo.window && _this23.extraInfo.window.addEventListener("message", _this23.handleMessage), _this23.extraInfo.window && _this23.extraInfo.window.addEventListener("click", _this23.handleDocumentClick); case 1: case "end": return _context22.stop(); } }, _callee22); }))(); }, beforeDestroy: function beforeDestroy() { this.extraInfo.window && this.extraInfo.window.removeEventListener("message", this.handleMessage), this.extraInfo.window && this.extraInfo.window.removeEventListener("click", this.handleDocumentClick); }, watch: { shopAppid: { handler: function handler() { console.log("shopAppid change to", this.shopAppid), this.forceUpdatePairingCard(); } }, talentAppid: { handler: function handler() { console.log("talentAppid change to", this.talentAppid), this.forceUpdatePairingCard(); } } }, methods: { handleDocumentClick: function handleDocumentClick(i) { this.$refs.js_custom_element.contains(i.target) || this.$emit("document-click", i); }, forceUpdatePairingCard: function forceUpdatePairingCard() { var _this24 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee23() { return _regeneratorRuntime().wrap(function _callee23$(_context23) { while (1) switch (_context23.prev = _context23.next) { case 0: _this24.forceUpdate = !0; _context23.prev = 1; _context23.next = 4; return _this24.getPairingCard(); case 4: _context23.next = 9; break; case 6: _context23.prev = 6; _context23.t0 = _context23["catch"](1); console.error(_context23.t0); case 9: _this24.forceUpdate = !1; case 10: case "end": return _context23.stop(); } }, _callee23, null, [[1, 6]]); }))(); }, getPairingCard: function getPairingCard() { var _this25 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee24() { var i, e, o, t, r; return _regeneratorRuntime().wrap(function _callee24$(_context24) { while (1) switch (_context24.prev = _context24.next) { case 0: if (!(!_this25.shopAppid && !_this25.talentAppid)) { _context24.next = 2; break; } return _context24.abrupt("return", Promise.reject({})); case 2: if (!(_this25.requestinggetPairing && _this25.getPairingPromise)) { _context24.next = 4; break; } return _context24.abrupt("return", _this25.getPairingPromise); case 4: if (!(_this25.getPairingResp && !_this25.forceUpdate)) { _context24.next = 6; break; } return _context24.abrupt("return", _this25.getPairingResp); case 6: _this25.requestinggetPairing = !0; _context24.next = 9; return N$1(); case 9: w$1 = _context24.sent; i = (w$1 == null ? void 0 : w$1.exportkey) || Url.getQuery("exportkey") || "", e = btoa(JSON.stringify((w$1 == null ? void 0 : w$1.article_info) || {})); if (!(_this25.computedContainerWidth(), _this25.isMock)) { _context24.next = 14; break; } o = _this25; return _context24.abrupt("return", new Promise(function (s, n) { o.iframeLoading = !1, o.getPairingResp = O$2, o.pairingData = O$2, o.requestinggetPairing = !1, o.$emit("onFrameReady", { nickName: o.talentAppid }), console.log("this.iframeLoading", o.iframeLoading), console.log("containerWidth----", document.getElementById("shopparing_card_wrap")), _this25.computedSwiperHeight(O$2.headSwiper), s(O$2); })); case 14: t = _this25, r = "/mmec/biz_getproductpairinginfo?shop_appid=".concat(_this25.shopAppid, "&pairing_id=").concat(_this25.pairingId, "&talent_appid=").concat(_this25.talentAppid, "&exportkey=").concat(i, "&cardtype=").concat(q, "&article_info=").concat(e); return _context24.abrupt("return", (_this25.getPairingPromise = new Promise(function (o, s) { ajax({ type: "GET", url: r, success: function success(n) { if (console.log("/mmec/biz_getproductpairinginfo res", n), typeof n == "string") try { n = JSON.parse(n); } catch (u) { n = {}, Log.error("/mmec/biz_getproductpairinginfo parse res error. res=".concat(n, " err=").concat(u)); } t.getPairingResp = n, t.formatPairingData(n), t.requestinggetPairing = !1, t.$emit("onFrameReady", { nickName: t.talentAppid }), t.iframeLoading = !1, o(); }, error: function error(n) { t.requestinggetPairing = !1, t.iframeLoading = !1, console.error("getPairingCard err", n), s(n); } }); }), _this25.getPairingPromise)); case 16: case "end": return _context24.stop(); } }, _callee24); }))(); }, formatPairingData: function formatPairingData(i) { var _this26 = this; var e = be.camelizeKeys(i), t = {}; console.log("formatPairingData------", e), e.productList.forEach(function (o) { t[o.productId] = o; }); var r = e.imgList.map(function (o) { var s; return { src: o.imgUrl, width: o.imgWidth, height: o.imgHeight, pairingId: i.pairingId, labelList: (s = o == null ? void 0 : o.labelList) == null ? void 0 : s.map(function (n) { var u = t[n.productId] || {}; return _objectSpread$4(_objectSpread$4({}, n), u); }) }; }); return this.pairingData = { pairingCreator: { pairingCreatorName: e.pairingCreatorName, pairingCreatorTag: e.pairingCreatorTag, pairingCreatorTagDark: e.pairingCreatorTagDark }, jumpInfo: e.ecsJumpInfoBase64Str, pairingId: e.pairingId, headSwiper: r, productNum: e.productList.length, title: e.title, isOffline: e.status !== 20001 }, console.log("headSwiper", r), this.computedSwiperHeight(r), r.length > 0 && (r[0].labelList.forEach(function (o) { _this26.report("commodity_card", "element_valid_expose", o.productId); }), this.report("match_buy_button", "element_valid_expose", "")), e; }, computedContainerWidth: function computedContainerWidth() { var e; var i = this.platform === "web" ? 350 : (e = this.$refs.shopparing_warp) == null ? void 0 : e.offsetWidth; this.containerWidth = i; }, computedSwiperHeight: function computedSwiperHeight(i) { var e = this.containerWidth || 350; if (!i || !i.length) return 350; var t = i[0], r = t.width, o = t.height; if (!r || !o) return 350; var s = r / o, n = 16 / 9, u = 3 / 4; var d = 0; s > n ? d = e * 9 / 16 : s < u ? d = e * 4 / 3 : d = e / s, this.swiperHeight = Math.round(d); }, supportOpenEcs: function supportOpenEcs() { var _this27 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee25() { return _regeneratorRuntime().wrap(function _callee25$(_context25) { while (1) switch (_context25.prev = _context25.next) { case 0: if (!(_typeof$2(_this27._supportOpenEcs) < "u")) { _context25.next = 4; break; } _context25.t0 = _this27._supportOpenEcs; _context25.next = 8; break; case 4: _context25.next = 6; return P$1(); case 6: _this27._supportOpenEcs = _context25.sent; _context25.t0 = _this27._supportOpenEcs; case 8: return _context25.abrupt("return", _context25.t0); case 9: case "end": return _context25.stop(); } }, _callee25); }))(); }, openJumpInfo: function openJumpInfo(i) { var _this28 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee26() { var e, t, r; return _regeneratorRuntime().wrap(function _callee26$(_context26) { while (1) switch (_context26.prev = _context26.next) { case 0: if (!(_this28.platform === "wechat")) { _context26.next = 13; break; } _context26.next = 3; return P$1(); case 3: r = _context26.sent; if (!r) { _context26.next = 10; break; } console.log("supportOpenEcs=".concat(r, ", jumpInfo=").concat(i)); _context26.next = 8; return j(i); case 8: _context26.next = 11; break; case 10: (e = window == null ? void 0 : window.weui) == null || e.toast("当前版本不支持打开店铺", { extClass: "weui-toast_text" }); case 11: _context26.next = 14; break; case 13: console.log("jumpInfo", i), (t = window == null ? void 0 : window.weui) == null || t.toast("请在手机微信中打开", { extClass: "weui-toast_text" }); case 14: case "end": return _context26.stop(); } }, _callee26); }))(); }, jumpPairingBuy: function jumpPairingBuy() { var _this29 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee27() { var i; return _regeneratorRuntime().wrap(function _callee27$(_context27) { while (1) switch (_context27.prev = _context27.next) { case 0: console.log("点击"), _this29.openJumpInfo((i = _this29.pairingData) == null ? void 0 : i.jumpInfo), _this29.report("match_buy_button", "element_click", ""); case 1: case "end": return _context27.stop(); } }, _callee27); }))(); }, jumpProduct: function jumpProduct(i) { var _this30 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee28() { return _regeneratorRuntime().wrap(function _callee28$(_context28) { while (1) switch (_context28.prev = _context28.next) { case 0: console.log("jumpProduct", i), _this30.openJumpInfo(i.labelPage.ecsJumpInfoBase64Str || ""), _this30.report("commodity_card", "element_click", i.productId); case 1: case "end": return _context28.stop(); } }, _callee28); }))(); }, handleSwiperIndexChange: function handleSwiperIndexChange(i) { this.currentSwiperIndex = i; }, handleIndicatorChange: function handleIndicatorChange(i) { this.currentSwiperIndex = i.index, this.$refs.swiperProduct && (this.$refs.swiperProduct.innerCurrentIndex = i.index, this.$refs.swiperProduct.setIndexPosition()); }, handleIndicatorUpdate: function handleIndicatorUpdate(i) { this.currentSwiperIndex = i, this.$refs.swiperProduct && (this.$refs.swiperProduct.innerCurrentIndex = i, this.$refs.swiperProduct.setIndexPosition()); }, initReport: function initReport() { var _this31 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee29() { return _regeneratorRuntime().wrap(function _callee29$(_context29) { while (1) switch (_context29.prev = _context29.next) { case 0: _context29.t0 = w$1; if (_context29.t0) { _context29.next = 5; break; } _context29.next = 4; return N$1(); case 4: w$1 = _context29.sent; case 5: _context29.t1 = _this31.pairingData.headSwiper.length; if (_context29.t1) { _context29.next = 9; break; } _context29.next = 9; return _this31.getPairingCard(); case 9: case "end": return _context29.stop(); } }, _callee29); }))(); }, report: function report(i, e) { var _arguments3 = arguments, _this32 = this; return asyncToGenerator( _regeneratorRuntime().mark(function _callee30() { var t, r; return _regeneratorRuntime().wrap(function _callee30$(_context30) { while (1) switch (_context30.prev = _context30.next) { case 0: t = _arguments3.length > 2 && _arguments3[2] !== undefined ? _arguments3[2] : ""; if (!(console.log(window, window.source, w$1, "--report"), _this32.platform !== "wechat")) { _context30.next = 3; break; } return _context30.abrupt("return"); case 3: _context30.next = 5; return _this32.initReport(); case 5: r = { logid: "23782", data: { event: e, params: JSON.stringify({ page_name: "mp_article_page", element_name: i, productid: t || "", mp_article_bizuin: w$1.article_info.mp_biz, mp_article_appmsgid: w$1.article_info.appmsgid, mp_article_item_idx: w$1.article_info.item_idx, mp_article_item_show_type: w$1.article_info.item_show_type, scene: w$1.article_info.mp_article_scene, cardtype: q, appid: _this32.shopAppid, talent_appid: _this32.talentAppid }) } }; O$5(r); case 7: case "end": return _context30.stop(); } }, _callee30); }))(); } } }; var Ie = function Ie() { var e = this, t = e._self._c; return t("div", { ref: "shopparing_warp", "class": e.isDark ? "shopparing_warp dark-mode" : "shopparing_warp", style: e.containerStyle }, [e.iframeLoading ? t("div", { staticClass: "shopparing_wx_img_placeholder", style: e.placeholderStyle }) : t("div", { ref: "shopparing_card_wrap", staticClass: "shopparing_card_wrap", style: e.cardStyle, attrs: { id: "shopparing_card_wrap" } }, [e.pairingData.isOffline ? t("div", { staticClass: "shopparing-offline-card" }, [t("span", { staticClass: "shopparing-offline-card-text" }, [e._v("该搭配已下架")])]) : [t("SwiperProduct", { ref: "swiperProduct", attrs: { width: e.containerWidth, height: e.swiperHeight, list: e.pairingData.headSwiper }, on: { tagClick: e.jumpProduct, "current-index-change": e.handleSwiperIndexChange } }), t("SwiperIndicator", { attrs: { "swiper-list": e.pairingData.headSwiper, "current-index": e.currentSwiperIndex, "hide-indicator": !1, "max-indicator-index": 0 }, on: { change: e.handleIndicatorChange, "update:current-index": e.handleIndicatorUpdate } }), t("div", { staticClass: "pairing-card-footer" }, [t("div", { staticClass: "pairing-card-footer__info" }, [t("div", { staticClass: "pairing-card-footer__info-text" }, [t("div", { staticClass: "pairing-card-footer__title" }, [e._v(e._s(e.pairingData.title))]), t("div", { staticClass: "pairing-card-footer__desc" }, [e._v("共" + e._s(e.pairingData.productNum) + "件")])]), t("button", { staticClass: "pairing-card-footer__btn", on: { click: e.jumpPairingBuy } }, [e._v("搭配买")])]), t("div", { staticClass: "pairing-card-footer__brand" }, [t("span", { staticClass: "pairing-card-footer__brand-icon" }), t("span", { staticClass: "pairing-card-footer__brand-text" }, [e._v(e._s(e.pairingData.pairingCreator.pairingCreatorName))]), e.pairingCreatorTag ? t("img", { staticClass: "pairing-card-footer__brand-rtag", attrs: { src: e.pairingCreatorTag, alt: "RIcon" } }) : e._e()])])]], 2)]); }, Fe = [], Te = v$2(ye, Ie, Fe, !1, null, null, null, null); var Oe = Te.exports; var ve = { components: { CommonShopcollection: we, CommonShopBuyTogether: Ee, CommonShopShopparing: Oe }, mixins: [k$1], props: { type: { type: [Number, String], required: !0 }, json: { type: String, required: !0 } }, computed: { data: function data() { return _objectSpread$4(_objectSpread$4({}, JSON.parse(this.json || "{}")), {}, { platform: this.platform }); }, classObject: function classObject() { var e; var i = ""; return this.type == 1 ? i = "wx_card_root_common_shopcollection" : this.type == 2 && (i = "wx_card_root_common_buytogether", ["8", "10"].includes(window.item_show_type) && ((e = this.data) == null ? void 0 : e.cardtype) === R.LINK && (i = "wx_card_root_common_buytogether wx_card_root_common_buytogether_inline")), i; } }, mounted: function mounted() { this.extraInfo.window && this.extraInfo.window.addEventListener("click", this.handleDocumentClick); }, beforeDestroy: function beforeDestroy() { this.extraInfo.window && this.extraInfo.window.removeEventListener("click", this.handleDocumentClick); }, methods: { handleDocumentClick: function handleDocumentClick(i) { this.$refs.js_custom_element.contains(i.target) || this.$emit("document-click", i); } } }; var Pe = function Pe() { var e = this, t = e._self._c; return t("div", { ref: "js_custom_element", staticClass: "wx_card_root", "class": e.classObject }, [+e.type == 1 ? t("CommonShopcollection", e._b({}, "CommonShopcollection", e.data, !1)) : e._e(), +e.type == 2 ? t("CommonShopBuyTogether", e._b({}, "CommonShopBuyTogether", e.data, !1)) : e._e(), +e.type == 3 ? t("CommonShopShopparing", e._b({}, "CommonShopShopparing", e.data, !1)) : e._e()], 1); }, ke = [], Se = v$2(ve, Pe, ke, !1, null, "6cb961c5", null, null); var Ue = Se.exports, He = ".wx_hover_card:before{content:\" \";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:8px;box-sizing:border-box;border:1px solid rgba(7,193,96,.3);pointer-events:none;z-index:9}.wx_selected_card:before{content:\" \";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:8px;border:1.5px solid #07C160;box-sizing:border-box;background:rgba(7,193,96,.1);pointer-events:none;z-index:9}body,.wx-root{--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #07C160;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0_5: rgba(0, 0, 0, .9);--weui-GLYPH-0: rgba(0, 0, 0, .9);--weui-GLYPH-1: rgba(0, 0, 0, .55);--weui-GLYPH-2: rgba(0, 0, 0, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #91D300;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #1485EE;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #95EC69;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #FA9D3B;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6467F0;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #FA5151;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .05);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #FFC300;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #FA9D3B;--weui-YELLOW: #FFC300;--weui-GREEN: #91D300;--weui-LIGHTGREEN: #95EC69;--weui-TEXTGREEN: #06AE56;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1485EE;--weui-PURPLE: #6467F0;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #FA9D3B;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #10AEFF;--weui-REDORANGE: #FF6146;--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-FG-0: rgba(0, 0, 0, .9);--weui-FG-HALF: rgba(0, 0, 0, .9);--weui-FG-1: rgba(0, 0, 0, .55);--weui-FG-2: rgba(0, 0, 0, .3);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-FG-5: rgba(0, 0, 0, .05);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #fa9d3b;--weui-YELLOW: #ffc300;--weui-GREEN: #91d300;--weui-LIGHTGREEN: #95ec69;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1485ee;--weui-PURPLE: #6467f0;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-FG: #000;--weui-BG: #fff;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: #fa9d3b;--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: #10aeff;--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05);--weui-REDORANGE: #ff6146}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}.wx-root[data-weui-mode=care],body[data-weui-mode=care]{--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #007DBB;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #018942;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0_5: #000000;--weui-GLYPH-0: #000000;--weui-GLYPH-1: rgba(0, 0, 0, .6);--weui-GLYPH-2: rgba(0, 0, 0, .42);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #4F8400;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #0075E2;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #2E8800;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #E17719;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #D14730;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6265F1;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #DC3636;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .1);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #BB8E00;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-RED: #DC3636;--weui-ORANGERED: #D14730;--weui-ORANGE: #E17719;--weui-YELLOW: #BB8E00;--weui-GREEN: #4F8400;--weui-LIGHTGREEN: #2E8800;--weui-TEXTGREEN: #06AE56;--weui-BLUE: #007DBB;--weui-INDIGO: #0075E2;--weui-PURPLE: #6265F1;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #E17719;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #007DBB;--weui-REDORANGE: #D14730;--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-FG-0: #000000;--weui-FG-HALF: #000000;--weui-FG-1: rgba(0, 0, 0, .6);--weui-FG-2: rgba(0, 0, 0, .42);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-FG-5: rgba(0, 0, 0, .05);--weui-RED: #dc3636;--weui-ORANGERED: #d14730;--weui-ORANGE: #e17719;--weui-YELLOW: #bb8e00;--weui-GREEN: #4f8400;--weui-LIGHTGREEN: #2e8800;--weui-BRAND: #018942;--weui-BLUE: #007dbb;--weui-INDIGO: #0075e2;--weui-PURPLE: #6265f1;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-FG: #000;--weui-BG: #fff;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: #e17719;--weui-TAG-BACKGROUND-ORANGE: rgba(225, 119, 25, .1);--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: #007dbb;--weui-TAG-BACKGROUND-BLUE: rgba(0, 125, 187, .1);--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05);--weui-REDORANGE: #d14730}@media (prefers-color-scheme: dark){.wx-root[data-weui-mode=care]:not([data-weui-theme=light]),body[data-weui-mode=care]:not([data-weui-theme=light]){--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}}.wx-root[data-weui-mode=care][data-weui-theme=dark],body[data-weui-mode=care][data-weui-theme=dark]{--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-REDORANGE: #ff6146}.wx-root,body{--weui-BG-COLOR-ACTIVE: #ececec}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-COLOR-ACTIVE: #373737}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-COLOR-ACTIVE: #373737}}body,.wx-root,page{--weui-BTN-HEIGHT: 48;--weui-BTN-HEIGHT-MEDIUM: 40;--weui-BTN-HEIGHT-SMALL: 32}.wx-root,body{--weui-BTN-ACTIVE-MASK: rgba(0, 0, 0, .1)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}}.wx-root,body{--weui-BTN-DEFAULT-ACTIVE-BG: #e6e6e6}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}}.wx-root,body{--weui-DIALOG-LINE-COLOR: rgba(0, 0, 0, .1)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}}.weui-btn{position:relative;display:block;width:184px;margin-left:auto;margin-right:auto;padding:12px 24px;box-sizing:border-box;font-weight:500;font-size:17px;text-align:center;text-decoration:none;color:#fff;line-height:1.41176471;border-radius:8px;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;user-select:none}.weui-btn:active:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--weui-BTN-ACTIVE-MASK);border-radius:8px}.weui-btn:active.weui-btn_loading:before,.weui-btn:active.weui-btn_disabled:before,.weui-btn:active[disabled]:before{display:none}.weui-btn_block{width:auto}.weui-btn_inline{display:inline-block}.weui-btn_default{color:var(--weui-FG-0);background-color:var(--weui-FG-5)}.weui-btn_default:not(.weui-btn_disabled):visited{color:var(--weui-FG-0)}.weui-btn_primary{background-color:var(--weui-BRAND)}.weui-btn_primary:not(.weui-btn_disabled):visited{color:#fff}.weui-btn_warn{color:var(--weui-RED);background-color:var(--weui-FG-5)}.weui-btn_warn:not(.weui-btn_disabled):visited{color:var(--weui-RED)}.weui-btn_overlay{color:var(--weui-BRAND);background-color:#fff}.weui-btn_overlay:not(.weui-btn_disabled):visited{color:var(--weui-BRAND)}.weui-btn_disabled,.weui-btn[disabled]{color:var(--weui-FG-4);background-color:var(--weui-BG-1)}.weui-btn_loading .weui-loading{margin:-.2em 8px 0 0}.weui-btn_loading .weui-mask-loading{margin:-.2em 8px 0 0;color:currentColor}.weui-btn_loading .weui-primary-loading{margin:-.2em 8px 0 0;vertical-align:middle;color:currentColor}.weui-btn_loading .weui-primary-loading:before{content:\"\"}.weui-btn_loading.weui-btn_primary{color:var(--weui-WHITE)}.weui-btn_cell{position:relative;display:block;margin-left:auto;margin-right:auto;box-sizing:border-box;font-size:17px;text-align:center;text-decoration:none;color:#fff;line-height:1.41176471;padding:16px;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;background-color:var(--weui-BG-5)}.weui-btn_cell+.weui-btn_cell{margin-top:16px}.weui-btn_cell:active{background-color:var(--weui-BG-COLOR-ACTIVE)}.weui-btn_cell__icon{display:inline-block;vertical-align:middle;width:24px;height:24px;margin:-.2em .34em 0 0}.weui-btn_cell-default{color:var(--weui-FG-0)}.weui-btn_cell-primary{color:var(--weui-LINK)}.weui-btn_cell-warn{color:var(--weui-RED)}.weui-bottom-fixed-opr-page{height:100%;display:flex;flex-direction:column}.weui-bottom-fixed-opr-page__content{min-height:0;flex:1;padding-bottom:80px;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch}.weui-bottom-fixed-opr-page__tool{padding:16px 32px 24px;padding:16px calc(32px + constant(safe-area-inset-right)) calc(24px + constant(safe-area-inset-bottom)) calc(32px + constant(safe-area-inset-left));padding:16px calc(32px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(32px + env(safe-area-inset-left));background:#ffffff;position:relative;z-index:50}.weui-bottom-fixed-opr-page__tool:before{content:\"\";height:80px;background:linear-gradient(to top,#ffffff,rgba(255,255,255,0));position:absolute;bottom:calc(100% - 1px);left:0;right:0;transform:translateZ(0);pointer-events:none}.wx-root[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool,body[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool{background:#191919}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool,body:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool{background:#191919}}.wx-root[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool:before,body[data-weui-theme=dark] .weui-bottom-fixed-opr-page__tool:before{background:linear-gradient(to top,#191919,rgba(25,25,25,0))}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool:before,body:not([data-weui-theme=light]) .weui-bottom-fixed-opr-page__tool:before{background:linear-gradient(to top,#191919,rgba(25,25,25,0))}}.weui-bottom-fixed-opr-page__tips{margin-bottom:24px;padding:0 32px;text-align:center}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr{display:flex;align-items:center;justify-content:center}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn{width:184px;padding-left:16px;padding-right:16px}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2),.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn{margin:0 8px;width:136px}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2):first-child,.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn:first-child{margin-left:0}.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2):last-child,.weui-bottom-fixed-opr-page .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn:last-child{margin-right:0}.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr{flex-direction:column}.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2),.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn{width:184px;margin:16px 0 0}.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2):first-child,.weui-bottom-fixed-opr-page_btn-wrap .weui-bottom-fixed-opr .weui-btn:nth-last-child(n+2)+.weui-btn:first-child{margin-top:0}.weui-bottom-fixed-opr-page.weui-form{padding-top:0}.weui-bottom-fixed-opr-page.weui-form .weui-form__bd{padding-top:56px;padding-top:calc(56px + constant(safe-area-inset-top));padding-top:calc(56px + env(safe-area-inset-top))}.weui-bottom-fixed-opr-page.weui-form .weui-form__ft{padding-bottom:0}.weui-bottom-fixed-opr-page.weui-form .weui-form__control-area{margin-bottom:0}.weui-bottom-fixed-opr-page.weui-half-screen-dialog{padding:0}.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__hd,.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__bd,.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__ft{padding-left:24px;padding-left:calc(24px + constant(safe-area-inset-left));padding-left:calc(24px + env(safe-area-inset-left));padding-right:24px;padding-right:calc(24px + constant(safe-area-inset-right));padding-right:calc(24px + env(safe-area-inset-right))}.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__bd{padding-bottom:80px}.weui-bottom-fixed-opr-page.weui-half-screen-dialog .weui-half-screen-dialog__ft{padding-bottom:64px;padding-bottom:calc(64px + constant(safe-area-inset-bottom));padding-bottom:calc(64px + env(safe-area-inset-bottom))}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog{padding:0}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-half-screen-dialog__hd{padding:0 24px;padding:0 calc(24px + constant(safe-area-inset-right)) 0 calc(24px + constant(safe-area-inset-left));padding:0 calc(24px + env(safe-area-inset-right)) 0 calc(24px + env(safe-area-inset-left))}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-half-screen-dialog__bd{padding-bottom:0;display:flex;flex-direction:column}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-half-screen-dialog__ft{padding:0}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-bottom-fixed-opr-page{flex:1;min-height:0}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-bottom-fixed-opr-page__content{padding:0 24px;padding:0 calc(24px + constant(safe-area-inset-right)) 0 calc(24px + constant(safe-area-inset-left));padding:0 calc(24px + env(safe-area-inset-right)) 0 calc(24px + env(safe-area-inset-left))}.weui-half-screen-dialog_bottom-fixed.weui-half-screen-dialog .weui-bottom-fixed-opr{padding:16px 0 64px;padding:16px 0 calc(64px + constant(safe-area-inset-bottom));padding:16px 0 calc(64px + env(safe-area-inset-bottom))}button.weui-btn,input.weui-btn{border-width:0;outline:0;-webkit-appearance:none}button.weui-btn:focus,input.weui-btn:focus{outline:0}button.weui-btn_inline,input.weui-btn_inline,button.weui-btn_mini,input.weui-btn_mini{width:auto}.weui-btn_medium{font-size:14px;padding:10px 24px;line-height:calc((var(--weui-BTN-HEIGHT-MEDIUM) - 20) / 14)}.weui-btn_mini{display:inline-block;width:auto;line-height:calc((32 - 12) / 14);padding:6px 12px;font-size:14px;border-radius:6px}.weui-btn_xmini{display:inline-block;width:auto;padding:4px 12px;line-height:calc((28 - 8) / 14);font-size:14px;font-weight:500;border-radius:4px}.weui-btn+.weui-btn{margin-top:16px}.weui-btn.weui-btn_mini+.weui-btn.weui-btn_mini{margin-top:auto}.weui-btn.weui-btn_xmini+.weui-btn.weui-btn_xmini{margin-top:auto}.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline{margin-left:16px}.weui-btn-area{margin:48px 16px 8px}.weui-btn-area_inline{display:flex}.weui-btn-area_inline .weui-btn{margin-top:auto;margin-right:16px;width:100%;flex:1}.weui-btn-area_inline .weui-btn:last-child{margin-right:0}.weui-btn_reset{background:transparent;border:0;padding:0;outline:0;font-size:inherit}.weui-btn_icon{background:transparent;border:0;padding:0;outline:0;font-size:0}.weui-btn_icon:active [class*=weui-icon-]{color:var(--weui-FG-1)}.collection_wx_img_placeholder{width:100%;background-color:#00000005;background:var(--weui-BG-2) url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E9.\u5143\u7D20/\u52A0\u8F7D/Black%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='\u9875\u9762-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg id='LoadingDefault'%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' id='\u8DEF\u5F84' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' id='\u8DEF\u5F84' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3CanimateTransform attributeName='transform' begin='0s' dur='1s' type='rotate' values='0 40 40;360 40 40' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E%0A\") no-repeat 50% 50%!important;background-size:16px!important;border-radius:8px}.wx_card_root_common_shopcollection{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;position:relative}.wx_card_root_common_shopcollection .shopcollection_warp{width:100%;display:flex;justify-content:center}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap{width:100%;background-color:#00000005;border-radius:8px;padding:16px 16px 8px;margin:0;box-sizing:border-box}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .card_head{width:100%;display:flex;flex-direction:row;justify-content:space-between}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .card_head .head_left{display:flex;align-items:center}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .card_head .head_left .head_mid{display:flex;flex-direction:column}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .card_head .head_left .head_mid .head_mid_top{font-size:17px;font-family:PingFang SC;color:var(--weui-FG-0);line-height:21px;word-break:break-all;margin-right:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;opacity:.9}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .card_head .head_right .tap_home_btn{font-weight:400!important;background-color:var(--weui-FG-5, rgba(0, 0, 0, .05));display:flex;align-items:center;height:32px}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .product_list{display:flex;width:100%;justify-content:space-between;margin-top:22px}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .product_list .product{position:relative}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .product_list .product .product_image{width:100%;height:100%;border-radius:2px}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .product_list .product .product_price{bottom:4px;right:4px;position:absolute;border-radius:2px;padding:0 3px;height:15px;font-size:14px;font-family:WeChatSansStd-Medium;font-weight:400;color:#fff;line-height:15px;background-color:#0003}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .product_list :not(:first-child){margin-left:4px}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .shop_icon_wrap{width:100%;display:flex;align-items:center;justify-content:flex-start;margin-top:12px}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .shop_icon_wrap .shop_icon{width:14px;height:14px;margin-right:2px;background-image:url(https://res.wx.qq.com/shop/public/2025-05-10/321b820e-8d8a-4083-8e0f-40b2b01fc8ef.png);background-repeat:no-repeat;background-size:contain}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .shop_icon_wrap .shop_name{font-size:12px;font-family:PingFang SC;font-weight:400;color:var(--weui-GLYPH-1, rgba(0, 0, 0, .55));line-height:16.8px}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .shop_status_desc{color:#0000004d;height:114px;display:flex;align-items:center;justify-content:center}@media (prefers-color-scheme: dark){.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap{background-color:#ffffff05}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .shop_icon_wrap .shop_icon{background-image:url(https://res.wx.qq.com/shop/public/2025-05-21/8f4c69e9-a78b-4c26-a4ce-affa1c47366d.png)}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .shop_status_desc{color:#ffffff4d}.wx_card_root_common_shopcollection .shopcollection_warp .card_wrap .collection_wx_img_placeholder{background-color:#ffffff05}}.wx_card_root_common_buytogether{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;width:100%}.wx_card_root_common_buytogether_inline{display:inline-block!important;width:auto!important}.common_buytogether_root{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;position:relative}.common_buytogether_root .collection_wx_img_placeholder{width:100%;background-color:var(--weui-BG-2, rgba(0, 0, 0, .02)) url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E9.\u5143\u7D20/\u52A0\u8F7D/Black%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='\u9875\u9762-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg id='LoadingDefault'%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' id='\u8DEF\u5F84' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' id='\u8DEF\u5F84' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3CanimateTransform attributeName='transform' begin='0s' dur='1s' type='rotate' values='0 40 40;360 40 40' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E%0A\") no-repeat 50% 50%!important;background-size:16px!important;border-radius:8px}.common_buytogether_root .link-wrap{align-items:center;flex-grow:1;display:flex;justify-content:center}.common_buytogether_root .link-wrap .product_card_text_wrp{-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline;font-family:PingFang SC}.common_buytogether_root .link-wrap .product_card_text_wrp .product_text_link:before{display:inline-block;mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='25' height='25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.798 13.728c-.32 0-.636-.032-.942-.096-1.792-.378-3.042-1.754-3.042-3.348 0-.426.088-.84.262-1.232l.008-.02 2.008-4.498a3.696 3.696 0 013.372-2.186h9.8A3.697 3.697 0 0120.662 4.6l1.984 4.432c.178.402.268.82.268 1.248 0 1.596-1.252 2.974-3.044 3.348a4.63 4.63 0 01-2.176-.074c-.816-.23-1.514-.68-2.002-1.268-.798.846-2.018 1.368-3.326 1.368-1.308 0-2.52-.52-3.322-1.364-.488.59-1.188 1.042-2.014 1.274-.394.11-.808.168-1.23.168l-.002-.004zM3.46 9.632l-.01.022c-.09.2-.136.412-.136.63 0 .878.762 1.65 1.85 1.88.47.098.994.082 1.458-.048.766-.214 1.368-.728 1.576-1.34a1.43 1.43 0 00.046-.158.748.748 0 111.448-.056l.026.07.012.03c.392.892 1.448 1.49 2.634 1.49s2.25-.602 2.636-1.498c.02-.046.034-.082.046-.12a.744.744 0 01.754-.502.75.75 0 01.688.588c.012.056.026.108.042.152.214.62.802 1.118 1.572 1.334.466.132.99.148 1.46.048 1.092-.228 1.852-1.002 1.852-1.88 0-.216-.046-.43-.138-.636l-1.988-4.44-.008-.018-.018-.036a2.19 2.19 0 00-1.998-1.296h-9.8c-.864 0-1.648.51-2 1.298-.008.016-.014.032-.022.046L3.46 9.634v-.002zm8.904 12.01c-4.142 0-7.566-2.634-7.794-5.996a.75.75 0 111.498-.102c.174 2.578 2.94 4.598 6.298 4.598s6.122-2.02 6.296-4.598a.75.75 0 111.498.102c-.228 3.362-3.652 5.996-7.794 5.996h-.002z' fill='%23576B95'/%3E%3C/svg%3E\");-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='25' height='25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.798 13.728c-.32 0-.636-.032-.942-.096-1.792-.378-3.042-1.754-3.042-3.348 0-.426.088-.84.262-1.232l.008-.02 2.008-4.498a3.696 3.696 0 013.372-2.186h9.8A3.697 3.697 0 0120.662 4.6l1.984 4.432c.178.402.268.82.268 1.248 0 1.596-1.252 2.974-3.044 3.348a4.63 4.63 0 01-2.176-.074c-.816-.23-1.514-.68-2.002-1.268-.798.846-2.018 1.368-3.326 1.368-1.308 0-2.52-.52-3.322-1.364-.488.59-1.188 1.042-2.014 1.274-.394.11-.808.168-1.23.168l-.002-.004zM3.46 9.632l-.01.022c-.09.2-.136.412-.136.63 0 .878.762 1.65 1.85 1.88.47.098.994.082 1.458-.048.766-.214 1.368-.728 1.576-1.34a1.43 1.43 0 00.046-.158.748.748 0 111.448-.056l.026.07.012.03c.392.892 1.448 1.49 2.634 1.49s2.25-.602 2.636-1.498c.02-.046.034-.082.046-.12a.744.744 0 01.754-.502.75.75 0 01.688.588c.012.056.026.108.042.152.214.62.802 1.118 1.572 1.334.466.132.99.148 1.46.048 1.092-.228 1.852-1.002 1.852-1.88 0-.216-.046-.43-.138-.636l-1.988-4.44-.008-.018-.018-.036a2.19 2.19 0 00-1.998-1.296h-9.8c-.864 0-1.648.51-2 1.298-.008.016-.014.032-.022.046L3.46 9.634v-.002zm8.904 12.01c-4.142 0-7.566-2.634-7.794-5.996a.75.75 0 111.498-.102c.174 2.578 2.94 4.598 6.298 4.598s6.122-2.02 6.296-4.598a.75.75 0 111.498.102c-.228 3.362-3.652 5.996-7.794 5.996h-.002z' fill='%23576B95'/%3E%3C/svg%3E\");background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;height:1.1em;width:1.1em;content:\"\";vertical-align:middle;margin-right:2px;margin-top:-.16em}.common_buytogether_root .link-wrap .product_card_text_wrp .product_text_link{text-decoration:none;padding:2px 4px;color:var(--weui-LINK, #576b95);cursor:default;-webkit-user-drag:none;border-radius:4px}.common_buytogether_root .common_buytogether_card_wrap{width:100%;background-color:#00000005;border-radius:8px;padding:16px 16px 8px;margin:0;box-sizing:border-box}.common_buytogether_root .common_buytogether_card_wrap .card_head{width:100%;display:flex;flex-direction:row;justify-content:space-between}.common_buytogether_root .common_buytogether_card_wrap .card_head .head_left{display:flex;flex-direction:column;justify-content:center}.common_buytogether_root .common_buytogether_card_wrap .card_head .head_left .head_left_top{display:flex;justify-content:center}.common_buytogether_root .common_buytogether_card_wrap .card_head .head_left .head_left_top .icon{background-image:url(https://res.wx.qq.com/shop/public/2025-06-05/3c0a6519-c7ac-424b-9d1e-6096a089e49b.png);width:24px;height:24px;background-size:cover}.common_buytogether_root .common_buytogether_card_wrap .card_head .head_left .head_left_top .title{flex:1;margin-right:16px;margin-left:5px;font-size:17px;font-family:PingFang SC;font-weight:500;color:var(--weui-ORANGERED-100, #ff6146);line-height:24px}.common_buytogether_root .common_buytogether_card_wrap .card_head .head_left .head_left_bottom{margin-top:6px;display:flex;align-items:center;text-align:center}.common_buytogether_root .common_buytogether_card_wrap .card_head .head_left .head_left_bottom .avatar_list{display:flex;align-items:center}.common_buytogether_root .common_buytogether_card_wrap .card_head .head_left .head_left_bottom .avatar_list .avatar{width:16px;height:16px;border-radius:2px}.common_buytogether_root .common_buytogether_card_wrap .card_head .head_left .head_left_bottom .avatar_list>:not(:first-child){margin-left:2px}.common_buytogether_root .common_buytogether_card_wrap .card_head .head_left .head_left_bottom .desc{margin-left:6px;font-size:12px;font-family:PingFang SC;font-weight:400;color:var(--weui-GLYPH-1);line-height:16px}.common_buytogether_root .common_buytogether_card_wrap .card_head .head_right .tap_home_btn{padding:0 12px!important;border-radius:6px;white-space:nowrap;text-align:center;display:flex;justify-content:center;align-items:center;height:32px;font-size:14px;font-family:PingFang SC;font-weight:500;color:var(--weui-GLYPH-WHITE-3, #ffffff);background-color:var(--weui-ORANGERED-100, #ff6146);border:0}.common_buytogether_root .common_buytogether_card_wrap .product_list{display:flex;width:100%;margin-top:16px}.common_buytogether_root .common_buytogether_card_wrap .product_list .product{display:flex;flex-direction:column}.common_buytogether_root .common_buytogether_card_wrap .product_list .product .product_image{width:100%;border-radius:4px}.common_buytogether_root .common_buytogether_card_wrap .product_list .product .product_price{margin-top:4px}.common_buytogether_root .common_buytogether_card_wrap .product_list .product .product_price .selling_price{font-size:17px;font-family:WeChatSansStd-Medium;font-weight:500;color:var(--weui-GLYPH-0);line-height:19px}.common_buytogether_root .common_buytogether_card_wrap .product_list .product .product_price .before_selling_price{margin-left:2px;position:relative;font-size:12px;font-family:WeChatSansStd-Medium;font-weight:400;color:#afafaf;line-height:16px}.common_buytogether_root .common_buytogether_card_wrap .product_list .product .product_price .newlineationPrice{position:absolute;height:2px;top:50%;left:50%;transform:scaleY(.5) translate(-50%,-50%);width:100%;background:#AFAFAF;border-top:1px solid #fff;border-bottom:1px solid #fff}.common_buytogether_root .common_buytogether_card_wrap .product_list>:not(:first-child){margin-left:4px}.common_buytogether_root .common_buytogether_card_wrap .shop_icon_wrap{width:100%;display:flex;align-items:center;justify-content:flex-start;margin-top:8px}.common_buytogether_root .common_buytogether_card_wrap .shop_icon_wrap .shop_icon{width:14px;height:14px;margin-right:2px;background-image:url(https://res.wx.qq.com/shop/public/2025-05-10/321b820e-8d8a-4083-8e0f-40b2b01fc8ef.png);background-size:contain;background-position:center center;flex-shrink:0}.common_buytogether_root .common_buytogether_card_wrap .shop_icon_wrap .shop_name{font-size:12px;font-family:PingFang SC;font-weight:400;color:var(--weui-GLYPH-1, rgba(0, 0, 0, .55));line-height:16.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.common_buytogether_root .qrcode-wrapper{display:flex;align-items:center;padding:10px 12px 10px 10px}.common_buytogether_root .qrcode-wrapper .qrcode{width:76px;height:76px;margin-right:14px}.common_buytogether_root .qrcode-wrapper .desc{font-size:12px;line-height:17px;font-weight:400;display:flex;flex-direction:column;color:var(--weui-FG-0)}@media (prefers-color-scheme: dark){.common_buytogether_root .common_buytogether_card_wrap{background-color:#ffffff05}.common_buytogether_root .common_buytogether_card_wrap .product_list .product .product_price .before_selling_price{color:#5e5e5e}.common_buytogether_root .common_buytogether_card_wrap .product_list .product .product_price .newlineationPrice{background:#5E5E5E;border-top:1px solid #1E1E1E;border-bottom:1px solid #1E1E1E}.common_buytogether_root .common_buytogether_card_wrap .shop_icon_wrap .shop_icon{background-image:url(https://res.wx.qq.com/shop/public/2025-05-21/8f4c69e9-a78b-4c26-a4ce-affa1c47366d.png)}.common_buytogether_root .collection_wx_img_placeholder{background-color:#ffffff05}.common_buytogether_root .qrcode-wrapper .qrcode{filter:invert(1)}}.shopparing_warp{width:100%;display:flex;justify-content:center;background:rgba(255,255,255,.03);-webkit-user-select:none;-moz-user-select:none;user-select:none}.shopparing_warp .shopparing-offline-card{display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.03);height:120px;border-radius:8px}.shopparing_warp .shopparing-offline-card-text{color:#0000004d;font-size:14px}.pairing-card-footer{background:rgba(0,0,0,.02);border-radius:0 0 16px 16px;padding:8px 16px;box-sizing:border-box;min-height:72px}.pairing-card-footer__info{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0}.pairing-card-footer__title{font-size:15px;color:#000000e6;font-weight:500;flex:1;margin-right:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pairing-card-footer__desc{font-size:14px;color:#0000004d}.pairing-card-footer__brand{display:flex;align-items:center;font-size:13px;color:#b2b2b2;margin-top:12px}.pairing-card-footer__brand-icon{font-size:14px;height:1em;width:1em;margin:0 2px;background-image:url(https://res.wx.qq.com/op_res/jXYqVlv0Bp4U5kA7rRVadiXJa4OoJ3XBiu6NnGwip81QtLP4_tC88GRmSpCoFfkcr2wD4gexp2x7bkYGGRP4Mw);background-repeat:no-repeat;background-size:contain}.pairing-card-footer__brand-text{color:#0000004d}.pairing-card-footer__brand-rtag{font-size:14px;height:1em;width:1em;margin:0 2px}.pairing-card-footer__btn{background:#ff6146;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:500;padding:5.5px 18px;cursor:pointer;transition:background .2s}.pairing-card-footer__btn:active{background:#ff6146}.dark-mode .shopparing-offline-card{background:rgba(255,255,255,.03)}.dark-mode .shopparing-offline-card-text{color:#ffffff4d}.dark-mode .swiper-wrapper,.dark-mode .swiper-wrapper .image-container{background:#111}.dark-mode .pairing-card-footer{background:rgba(0,0,0,.03)}.dark-mode .pairing-card-footer__title{color:#fffc}.dark-mode .pairing-card-footer__desc{font-size:14px;color:#ffffff4d}.dark-mode .pairing-card-footer__brand{color:#ffffff4d}.dark-mode .pairing-card-footer__brand-icon{color:#ffffff4d;background-image:url(https://res.wx.qq.com/op_res/jXYqVlv0Bp4U5kA7rRVadr_IVVcYZeY_bErEeSJQ0eAObBEiF9qnYrc_HLdsY8q6nQQ5T3WHhgVq1pF5a9XRbg)}.dark-mode .pairing-card-footer__brand-text{color:#ffffff4d}.swiper-out{overflow:hidden;position:relative;background-color:#ededed;border-radius:8px 8px 0 0}.swiper-out .swiper-wrapper{background-color:#ededed;display:flex;will-change:transform}.swiper-out .swiper-item{display:flex;flex-shrink:0;align-items:center}.swiper-out .swiper-item .image-container{position:relative;width:100%;height:100%;background-color:#ededed;display:flex;align-items:center;justify-content:center}.swiper-out .swiper-item .image-container .image-wrapper{position:relative;display:inline-block;max-width:100%;max-height:100%}.swiper-out .swiper-item .image-container .swiper-image{display:block;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;transition:opacity .1s;background-color:#ededed}.swiper-out .swiper-item .image-container .label-container{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.swiper-out .swiper-item .image-container .label-container .label-item{display:flex;align-items:center;border-radius:100px;width:-moz-max-content;width:max-content;padding:0 4px;box-sizing:border-box;background:rgba(76,76,76,.5);pointer-events:fill;position:absolute;min-width:0}.swiper-out .swiper-item .image-container .label-container .label-item:before{content:\"\";width:8px;height:8px;border-radius:50%;border:2px solid #a5a5a5;background-color:#fff;margin-right:4px;z-index:9;box-sizing:border-box;position:relative;flex-shrink:0}.swiper-out .swiper-item .image-container .label-container .label-item:after{content:\"\";display:block;width:7px;height:14px;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.4541 6.58068L3.51476 5.52002L9.29366 11.2989C9.68378 11.689 9.68724 12.3181 9.29366 12.7117L3.51476 18.4906L2.4541 17.4299L7.87872 12.0053L2.4541 6.58068Z' fill='black'/%3E %3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='24' viewBox='0 0 12 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.4541 6.58068L3.51476 5.52002L9.29366 11.2989C9.68378 11.689 9.68724 12.3181 9.29366 12.7117L3.51476 18.4906L2.4541 17.4299L7.87872 12.0053L2.4541 6.58068Z' fill='black'/%3E %3C/svg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:cover;mask-size:cover;background-color:#fff;margin-left:4px;flex-shrink:0}.swiper-out .swiper-item .image-container .label-container .label-item:hover{opacity:.8}.swiper-out .swiper-indicator{position:absolute;bottom:4px;right:8px;border-radius:12px;padding:4px 8px;z-index:1000}.swiper-out .swiper-indicator .indicator-text{font-size:12px;color:#fff;font-weight:500;text-shadow:0 0 .5px rgba(0,0,0,.2)}.swiper-out .swiper-indicator-wrap-bg{background-color:#fff;width:100%}.swiper-out .swiper-indicator-wrap-bg .swiper-indicator-wrap{background:rgba(0,0,0,.02);padding-top:4px;width:100%;display:flex;justify-content:center;z-index:10000}.swiper-out .swiper-indicator-wrap-bg .swiper-indicator-wrap .swiper-indicator-dot{background:rgba(0,0,0,.3);width:5px;height:5px;border-radius:50%;margin-right:3px;transition:opacity .3s}.swiper-out .swiper-indicator-wrap-bg .swiper-indicator-wrap .swiper-indicator-dot:last-child{margin-right:0}.swiper-out .swiper-indicator-wrap-bg .swiper-indicator-wrap .swiper-indicator-dot.active{width:12px;height:4.5px;background:rgba(0,0,0,.9);border-radius:3px}.dark-mode .swiper-out,.dark-mode .swiper-out .swiper-wrapper,.dark-mode .swiper-out .swiper-wrapper .image-container,.dark-mode .swiper-out .swiper-wrapper .image-container .swiper-image{background:#111}.swiper-indicator-wrap-bg{background-color:#fff;width:100%}.swiper-indicator-wrap-bg .swiper-indicator-wrap{background:rgba(0,0,0,.02);padding-top:4px;width:100%;display:flex;justify-content:center;z-index:10000}.swiper-indicator-wrap-bg .swiper-indicator-wrap .swiper-indicator-dot{background:rgba(0,0,0,.1);width:5px;height:5px;border-radius:50%;margin-right:3px;transition:opacity .3s;cursor:pointer}.swiper-indicator-wrap-bg .swiper-indicator-wrap .swiper-indicator-dot:last-child{margin-right:0}.swiper-indicator-wrap-bg .swiper-indicator-wrap .swiper-indicator-dot.active{width:12px;height:4.5px;background:rgba(0,0,0,.9);border-radius:3px}.swiper-indicator-wrap-bg .swiper-indicator-wrap .swiper-indicator-dot:hover{opacity:.8}.dark-mode .swiper-indicator-wrap-bg{background:#191919}.dark-mode .swiper-indicator-wrap-bg .swiper-indicator-dot{background:rgba(255,255,255,.1)}.dark-mode .swiper-indicator-wrap-bg .swiper-indicator-dot.active{background:rgba(255,255,255,.8)}\n", J = { type: "data-type", json: "data-json" }; function Ye(i) { var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var t = o$6.call(this, J); return _objectSpread$4({ platform: i, extraInfo: e }, t); } function Ze() { var i = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; H$3(Object.assign(i, { Component: Ue, styleText: i.isDev ? i.devStyleText : He, customName: i.customName || "mp-common-shoptag", watchAttr: Object.values(J), getProps: Ye, eventName: ["document-click", "onFrameReady", "expose", "element-click"] })); } var g$2 = { canJumpOnTap: false, isNonWechat: false, data: null, appidInfoResp: null, appidInfoCatchErr: null, appInfoSucQueue: [], appInfoErrQueue: [], appidSnInfo: [], appidSnDict: {}, getInfoState: 0 }; var weAppUserNameSuffix = '@app'; function getWeAppUserName(userName) { return userName.indexOf(weAppUserNameSuffix) > -1 ? userName : "".concat(userName).concat(weAppUserNameSuffix); } function getDefaultWeappScene() { var itemShowType = window.item_show_type * 1; var serviceType = window.service_type * 1; var scene; switch (itemShowType) { case 8: scene = serviceType === 5 ? 1432 : 1426; break; case 10: scene = 1427; break; case 5: scene = 1152; break; case 7: scene = 1429; break; default: scene = 1058; } return scene; } initEnv(); function initEnv() { var uaMatch = navigator.userAgent.match(/MicroMessenger\/(\d+)\.(\d+)\.(\d+)/); if (uaMatch) { var version1 = Number(uaMatch[1]); var version2 = Number(uaMatch[2]); var version3 = Number(uaMatch[3]); if (version1 > 6) g$2.canJumpOnTap = true;else if (version1 === 6 && version2 > 5) g$2.canJumpOnTap = true;else if (version1 === 6 && version2 === 5 && version3 >= 3) g$2.canJumpOnTap = true; } else { if (!navigator.userAgent.match(/MicroMessenger\//) && !navigator.userAgent.match(/wxwork/)) { g$2.isNonWechat = true; } } if (Device.os.windows && window.clientversion) { if (parseInt(window.clientversion, 16) >= 0x63050000) { g$2.canJumpOnTap = true; } } else if (Device.os.Mac && window.clientversion) { if (parseInt(window.clientversion, 16) >= 0x13000000) { g$2.canJumpOnTap = true; } } if (navigator.userAgent.match(/wxwork/)) { g$2.canJumpOnTap = true; } batchGetInfo(); } function batchGetInfo() { try { g$2.appidSnInfo = JSON.parse(window.weapp_sn_arr_json).weapp_card_list; } catch (e) { g$2.appidSnInfo = []; } if (!g$2.appidSnInfo || g$2.appidSnInfo.length == 0) { g$2.getInfoState = 1; excuteQueue(); return; } var args = { __biz: window.biz || "", mid: window.mid || "", idx: window.idx || "", uin: window.uin || "", key: window.key || "", pass_ticket: window.pass_ticket || "", weapp_num: g$2.appidSnInfo.length }; var appidListDict = {}; var snListDict = {}; for (var i = 0; i < args.weapp_num; i++) { var appid = g$2.appidSnInfo[i].appid; var sn = g$2.appidSnInfo[i].sn; if (appidListDict[appid]) { appidListDict[appid].push(i); } else { appidListDict[appid] = [i]; args["weapp_appid_".concat(i)] = g$2.appidSnInfo[i].appid; g$2.appidSnDict[appid] = sn; } if (snListDict[sn]) { snListDict[sn].push(i); } else { snListDict[sn] = [i]; args["weapp_sn_".concat(i)] = g$2.appidSnInfo[i].sn; } } var baseUrl = '/mp/appmsg_weapp?action=batch_get_weapp'; for (var k in args) { baseUrl += "&".concat(k, "=").concat(encodeURIComponent(args[k])); } ajax({ url: baseUrl, type: 'GET', dataType: 'json', async: true, success: function success(ret) { try { console.log('weapp_common success:', ret); g$2.appidInfoResp = ret; if (ret.base_resp.ret) throw new Error("Fetch weapp info but get ret=".concat(ret.base_resp.ret)); g$2.data = { infoMap: {}, appid: ret.appid || "", appmsg_compact_url: ret.appmsg_compact_url || "", pathArgs: "appid=".concat(encodeURIComponent(ret.appid)).concat(ret.appmsg_compact_url ? "&appmsg_compact_url=".concat(encodeURIComponent(ret.appmsg_compact_url)) : '') }; var appidInfoArr = ret.weapp_info; for (var _i = 0; _i < appidInfoArr.length; _i++) { var _appid = appidInfoArr[_i].weapp_appid; g$2.data.infoMap[_appid] = appidInfoArr[_i]; } g$2.getInfoState = 4; } catch (e) { g$2.getInfoState = 3; g$2.appidInfoCatchErr = e; } excuteQueue(); }, error: function error() { g$2.getInfoState = 2; excuteQueue(); } }); } function excuteQueue() { if (g$2.getInfoState == 1 || g$2.getInfoState == 2) { for (var i = 0, il = g$2.appInfoErrQueue.length; i < il; i++) { var a = g$2.appInfoErrQueue[i]; if (typeof a === "function") { a({ code: g$2.getInfoState }); } } } else if (g$2.getInfoState == 3) { for (var _i3 = 0, _il = g$2.appInfoErrQueue.length; _i3 < _il; _i3++) { var _a = g$2.appInfoErrQueue[_i3]; if (typeof _a === "function") { _a({ code: g$2.getInfoState, resp: g$2.appidInfoResp, catchErr: g$2.appidInfoCatchErr }); } } } else if (g$2.getInfoState == 4) { for (var _i4 = 0, _il2 = g$2.appInfoSucQueue.length; _i4 < _il2; _i4++) { var _a2 = g$2.appInfoSucQueue[_i4]; if (typeof _a2 === "function") { _a2({ resp: g$2.appidInfoResp, data: g$2.data }); } } } g$2.appInfoErrQueue = []; g$2.appInfoSucQueue = []; } function getAppidInfo(opt) { console.log('getAppidInfo', g$2); if ((g$2.getInfoState == 1 || g$2.getInfoState == 2) && typeof opt.onError === "function") { opt.onError({ code: g$2.getInfoState }); } else if (g$2.getInfoState == 3 && typeof opt.onError === "function") { opt.onError({ code: g$2.getInfoState, resp: g$2.appidInfoResp, catchErr: g$2.appidInfoCatchErr }); } else if (g$2.getInfoState == 4 && typeof opt.onSuccess === "function") { opt.onSuccess({ resp: g$2.appidInfoResp, data: g$2.data }); } else { if (typeof opt.onSuccess === "function") { g$2.appInfoSucQueue.push(opt.onSuccess); } if (typeof opt.onError === "function") { g$2.appInfoErrQueue.push(opt.onError); } } } function getAppidCode(opt, cb) { var args = { __biz: window.biz || '', mid: window.mid || '', idx: window.idx || '', weapp_appid: opt.appid || '', weapp_sn: g$2.appidSnDict[opt.appid] || '', path: opt.path || '' }; var baseUrl = '/mp/appmsg_weapp?action=get_wxa_code'; for (var k in args) { baseUrl += "&".concat(k, "=").concat(encodeURIComponent(args[k])); } ajax({ url: baseUrl, type: 'GET', dataType: 'json', async: true, success: function success(ret) { if (ret.base_resp && ret.base_resp.ret === 0) { cb && cb(ret.url); } else { cb && cb(); } }, error: function error() { cb && cb(); } }); } function getRelativeURL(path) { if (!path) { return ""; } var r = ""; var qmIndex = path.indexOf('?'); var pathArgs = g$2.data && g$2.data.pathArgs ? g$2.data.pathArgs : ''; if (qmIndex >= 0) { r = "".concat(path.slice(0, qmIndex) + (qmIndex > 0 ? '.html' : '') + path.slice(qmIndex), "&").concat(pathArgs); } else { r = path + (path !== '' ? '.html?' : '?') + pathArgs; } return r.replace(/&/g, '&'); } function getcpsRelativeURL(path) { var r = ""; var qmIndex = path.indexOf('?'); r = path.slice(0, qmIndex) + (qmIndex > 0 ? '.html' : '') + path.slice(qmIndex); return r; } function jumpUrl$1(opt) { opt = opt || {}; var _o; if (opt.options) { _o = opt.options; if (_o.relativeURL) { _o.relativeURL = _o.relativeURL.replace(/&/g, '&'); if (_o.relativeURL.indexOf('.html') < 0) { _o.relativeURL = getRelativeURL(_o.relativeURL); } } } else if (opt.appid && (g$2.data || opt.cps_weapp_username)) { var info; if (opt.cps_weapp_username) { info = {}; info.weapp_username = opt.cps_weapp_username; info.app_version = opt.cps_weapp_version; } else { info = g$2.data.infoMap[opt.appid]; } if (info) { _o = { userName: info.weapp_username, scene: opt.scene, sceneNote: opt.sceneNote, relativeURL: getRelativeURL(opt.path) }; if (info.app_version !== undefined) { _o.appVersion = info.app_version; } if (opt.cps_weapp_username) _o.relativeURL = getcpsRelativeURL(opt.path); } } if (_o) { if (opt.privateExtraData) { _o.privateExtraData = opt.privateExtraData; } if (opt.sourceAppId) { _o.sourceAppId = opt.sourceAppId; } else { _o.sourceAppId = window.source_appid; } _o.scene = _o.scene || getDefaultWeappScene(); _o.appVersion = _o.appVersion || 1; _o.userName = getWeAppUserName(_o.userName); _o.sceneNote = "".concat(opt.weapp_type_name, ":").concat(_o.sourceAppId, ":").concat(_o.sceneNote || ''); console.log('weapp257', _o); if (!g$2.canJumpOnTap) { if (g$2.isNonWechat) { if (typeof opt.beforeNonWechatWarn !== "function" || opt.beforeNonWechatWarn() !== false) { handlingNonWechat(); } } else { if (typeof opt.beforeJumpBackupPage !== "function" || opt.beforeJumpBackupPage() !== false) { jumpBackupPage(opt.appid); } } } else { R$4.invoke('openWeApp', _o, function (res) { if (res.err_msg === 'system:function_not_exist') { if (g$2.isNonWechat) { if (typeof opt.beforeNonWechatWarn !== "function" || opt.beforeNonWechatWarn() !== false) { handlingNonWechat(); } } else { if (typeof opt.beforeJumpBackupPage !== "function" || opt.beforeJumpBackupPage() !== false) { jumpBackupPage(opt.appid); } } } else if (typeof opt.onJsapiCallback === "function") { opt.onJsapiCallback(res); } }); } } } function jumpBackupPage(appid) { location.href = "https://mp.weixin.qq.com/mp/waerrpage?type=upgrade&appid=".concat(encodeURIComponent(appid), "#wechat_redirect"); } function handlingNonWechat() { setTimeout(function () { try { window.weui.alert('请在微信内打开小程序'); } catch (err) { alert('请在微信内打开小程序'); } }, 0); } function preloadMiniProgram(userName) { var args = { userNames: [getWeAppUserName(userName)] }; R$4.invoke('preloadMiniProgramContacts', args); R$4.invoke('preloadMiniProgramEnv', args); jsmonitorReport$1.setSum(114217, 2, 1); } var u$1 = { canJumpOnTap: g$2.canJumpOnTap, isNonWechat: g$2.isNonWechat, getAppidInfo: getAppidInfo, getAppidCode: getAppidCode, appidSnInfo: g$2.appidSnInfo, getRelativeURL: getRelativeURL, jumpUrl: jumpUrl$1, preloadMiniProgram: preloadMiniProgram, getDefaultWeappScene: getDefaultWeappScene }; function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var w = function w() { var e = this, i = e._self._c; return i("div", { ref: "js_custom_element", staticClass: "wx-root weapp_root", "class": [e.platformClassname] }, [e.type === "text" ? i("a", { staticClass: "weapp_text", attrs: { role: "button", tabindex: "0" } }, [e._v("\n " + e._s(e.textContent) + "\u8FD9\u91CC\u662F\u6587\u5B57\u5C0F\u7A0B\u5E8F\n ")]) : e.type === "card" ? i("div", { staticClass: "weapp_card appmsg_card_context wx_tap_card wx_card_root", "class": [e.is_hover === 1 ? "wx_hover_card" : "", e.is_selected === 1 ? "wx_selected_card" : ""], attrs: { role: "option", title: e.platform === "wechat" ? "轻点两下打开" : "" } }, [i("div", { staticClass: "weapp_card_bd" }, [i("div", { staticClass: "weapp_card_profile weui-flex weui-flex_align-center" }, [i("img", { staticClass: "weapp_card_avatar js_weapp_card_avatar_img", attrs: { alt: "", "data-weappavatar": e.avatar, src: e.platform !== "wechat" ? e.avatar : "https://res.wx.qq.com/op_res/NN_GToMiIjsXzgPzF9-74ZzwR3cA9-fv3o9eWo8f5gQWqx71CmGlY8kFxuIxZaG0TB1bFeMCmh1DGN_pWMRg0A" } }), e._v(" "), i("div", { staticClass: "weui-flex__item" }, [i("div", { staticClass: "weapp_card_nickname_wrp weui-flex weui-flex_align-center" }, [i("span", { staticClass: "weapp_card_nickname" }, [e._v(e._s(e.nickname))]), e._v(" "), i("span", { staticClass: "weui-hidden_abs" }, [e._v(",")]), e._v(" "), e.hasGuaranteeFlag === 1 ? i("span", { staticClass: "guarantee_icon js_guarantee" }, [e._v("交易担保")]) : e._e(), e._v(" "), i("span", { staticClass: "weui-hidden_abs" }, [e._v(",")]), e._v(" "), e.relievedBuyFlag === 1 ? i("span", { staticClass: "wx_key_tag safe_buy_icon js_relived_buy" }, [e._v("放心买")]) : e._e(), e._v(" "), i("span", { staticClass: "weui-hidden_abs" }, [e._v(",")])])])]), e._v(" "), i("div", { staticClass: "weapp_card_info" }, [i("div", { staticClass: "weapp_card_title" }, [e._v(e._s(e.title))]), e._v(" "), i("div", { staticClass: "weapp_card_thumb_wrp weui-circle-loading_before" }, [i("img", { staticClass: "weapp_card_thumb js_weapp_card_thumb_img", attrs: { alt: "", "data-weappcover": e.imageUrl, src: e.platform !== "wechat" ? e.imageUrl : "" } })])])]), e._v(" "), e._m(0)]) : e.type === "image" ? i("a", { staticClass: "weapp_img", attrs: { role: "button", tabindex: "0" } }, [e._t("miniprogram_image")], 2) : e.type === "quote" && e.frontendStyle === 1 ? i("div", { staticClass: "weapp_card_new wx_tap_card wx_card_root", attrs: { role: "option", title: e.platform === "wechat" ? "轻点两下打开" : "" }, on: { click: e.onQuoteClick } }, [i("div", { staticClass: "weapp_card_new_row" }, [i("div", { staticClass: "weapp_card_new_left" }, [i("div", { staticClass: "weapp_card_new_title" }, [e._v(e._s(e.title))]), e._v(" "), i("div", { staticClass: "weapp_card_new_info" }, [i("i", { staticClass: "weapp_card_new_icon" }), e._v(" "), i("span", { staticClass: "weapp_card_new_name" }, [e._v(e._s(e.nickname))])])]), e._v(" "), e._m(1)])]) : e.type === "quote" ? i("div", { staticClass: "quote-container wx_tap_card", on: { click: e.onQuoteClick } }, [i("img", { staticClass: "quote-image", attrs: { src: e.imageUrl } }), e._v(" "), i("div", { staticClass: "quote-caption" }, [i("div", { staticClass: "quote-nickname" }, [e._v(e._s(e.title))]), e._v(" "), e.desc ? i("div", { staticClass: "quote-label" }, [e._v("\n \u5C0F\u7A0B\u5E8F"), i("span", { staticStyle: { margin: "0 4px" } }, [e._v("·")]), e._v(e._s(e.desc) + "\n ")]) : i("div", { staticClass: "quote-label" }, [e._v("小程序")])])]) : e.type === "map" ? i("div", { staticClass: "map-container wx_tap_card", on: { click: e.onQuoteClick } }, [i("img", { staticClass: "map-image", attrs: { src: e.imageUrl } }), e._v(" "), i("div", { staticClass: "map-caption" }, [i("div", { staticClass: "map-title" }, [e._v("路线:" + e._s(e.title))]), e._v(" "), i("div", { staticClass: "map-label" }, [e._v("腾讯地图·小程序")])])]) : e._e()]); }, l$1 = [function () { var a = this, e = a._self._c; return e("div", { staticClass: "weapp_card_ft" }, [e("span", { staticClass: "weapp_card_logo" }, [a._v("小程序")])]); }, function () { var a = this, e = a._self._c; return e("div", { staticClass: "weapp_card_new_right" }, [e("span", { staticClass: "weapp_card_new_action" }, [a._v("去查看")]), a._v(" "), e("i", { staticClass: "weapp_card_new_arrow" })]); }]; function s$2(a) { var e = typeof a == "function" ? a.options : a; return w && (e.render = w, e.staticRenderFns = l$1, e._compiled = !0), { exports: a, options: e }; } var g$1 = { name: "mp-common-miniprogram", template: s$2, mixins: [k$1], props: { appid: { type: String, "default": "" }, desc: { type: String, "default": "" }, is_hover: { type: Number, "default": 0 }, is_selected: { type: Number, "default": 0 }, path: { type: String, "default": "" }, avatar: { type: String, "default": "" }, serviceType: { type: String, "default": "" }, hasGuaranteeFlag: { type: Number, "default": 0 }, relievedBuyFlag: { type: Number, "default": 0 }, imageUrl: { type: String, "default": "" }, username: { type: String, "default": "" }, title: { type: String, "default": "" }, nickname: { type: String, "default": "" }, type: { type: String, "default": "text" }, textContent: { type: String, "default": "" }, frontendStyle: { type: Number, "default": 0 } }, methods: { onQuoteClick: function onQuoteClick() { this.platform === "wechat" && u$1.jumpUrl({ options: { userName: this.username, relativeURL: Url.addParam(this.path, "appid", this.appid, !0), sourceAppId: this.appid }, weapp_type_name: "card" }); } } }, n$2 = "body,.wx-root,page{--weui-BTN-HEIGHT: 48;--weui-BTN-HEIGHT-MEDIUM: 40;--weui-BTN-HEIGHT-SMALL: 32}.wx-root,body{--weui-BTN-ACTIVE-MASK: rgba(0, 0, 0, .1)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}}.wx-root,body{--weui-BTN-DEFAULT-ACTIVE-BG: #e6e6e6}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}}.wx-root,body{--weui-DIALOG-LINE-COLOR: rgba(0, 0, 0, .1)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}}.weui-flex{display:flex}.weui-flex__item{flex:1;min-width:0}.weui-primary-loading{font-size:16px;display:inline-flex;position:relative;width:1em;height:1em;vertical-align:middle;color:#606060;animation:circleLoading 1s steps(60,end) infinite}.weui-primary-loading__dot{position:absolute;top:0;left:50%;margin-left:-.04375em;width:.0875em;height:.0875em;border-top-right-radius:100%;border-bottom-right-radius:100%;background:currentColor}.weui-primary-loading:before,.weui-primary-loading:after{content:\"\";display:block;width:.5em;height:1em;box-sizing:border-box;border:.0875em solid;border-color:currentColor}.weui-primary-loading:before{border-right-width:0;border-top-left-radius:1em;border-bottom-left-radius:1em;-webkit-mask-image:linear-gradient(180deg,#000000 8%,rgba(0,0,0,.3) 95%)}.weui-primary-loading:after{border-left-width:0;border-top-right-radius:1em;border-bottom-right-radius:1em;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0) 8%,rgba(0,0,0,.3) 95%)}.weui-primary-loading__dot{position:absolute;top:0;left:50%;margin-left:-.04375em;width:.0875em;height:.0875em;border-top-right-radius:.0875em;border-bottom-right-radius:.0875em;background:currentColor}@keyframes circleLoading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}.weui-primary-loading_brand{color:var(--weui-BRAND)}.weui-primary-loading_transparent{color:#ededed}.weui-loading{font-size:16px;width:1em;height:1em;display:inline-block;vertical-align:middle;background:transparent url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eloading%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3CanimateTransform attributeName='transform' begin='0s' dur='1s' type='rotate' values='0 40 40;360 40 40' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E%0A\") no-repeat;background-size:100%}.weui-loading.weui-loading_transparent,.weui-loading.weui-icon_toast,.weui-btn_loading.weui-btn_primary .weui-loading{background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eloading%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23ededed' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23ededed' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23ededed' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23ededed' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23ededed' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3CanimateTransform attributeName='transform' begin='0s' dur='1s' type='rotate' values='0 40 40;360 40 40' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E%0A\")}.weui-mask-loading{display:inline-block;vertical-align:middle;font-size:16px;width:1em;height:1em;-webkit-mask:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eloading%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3CanimateTransform attributeName='transform' begin='0s' dur='1s' type='rotate' values='0 40 40;360 40 40' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E%0A\") 0 0 no-repeat;mask:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eloading%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3CanimateTransform attributeName='transform' begin='0s' dur='1s' type='rotate' values='0 40 40;360 40 40' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E%0A\") 0 0 no-repeat;-webkit-mask-size:cover;mask-size:cover;background-color:currentColor;color:#606060}@keyframes weuiLoading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}.wx-root,body{--weui-BG-COLOR-ACTIVE: #ececec}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-COLOR-ACTIVE: #373737}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-COLOR-ACTIVE: #373737}}[class^=weui-icon-][class^=weui-icon-],[class^=weui-icon-][class*=\" weui-icon-\"],[class*=\" weui-icon-\"][class^=weui-icon-],[class*=\" weui-icon-\"][class*=\" weui-icon-\"]{display:inline-block;vertical-align:middle;font-size:10px;width:2.4em;height:2.4em;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%;background-color:currentColor}.weui-icon-circle{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%221000%22%20height%3D%221000%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M500%20916.667C269.881%20916.667%2083.333%20730.119%2083.333%20500%2083.333%20269.881%20269.881%2083.333%20500%2083.333c230.119%200%20416.667%20186.548%20416.667%20416.667%200%20230.119-186.548%20416.667-416.667%20416.667zm0-50c202.504%200%20366.667-164.163%20366.667-366.667%200-202.504-164.163-366.667-366.667-366.667-202.504%200-366.667%20164.163-366.667%20366.667%200%20202.504%20164.163%20366.667%20366.667%20366.667z%22%20fill-rule%3D%22evenodd%22%20fill-opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%221000%22%20height%3D%221000%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M500%20916.667C269.881%20916.667%2083.333%20730.119%2083.333%20500%2083.333%20269.881%20269.881%2083.333%20500%2083.333c230.119%200%20416.667%20186.548%20416.667%20416.667%200%20230.119-186.548%20416.667-416.667%20416.667zm0-50c202.504%200%20366.667-164.163%20366.667-366.667%200-202.504-164.163-366.667-366.667-366.667-202.504%200-366.667%20164.163-366.667%20366.667%200%20202.504%20164.163%20366.667%20366.667%20366.667z%22%20fill-rule%3D%22evenodd%22%20fill-opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-download{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.25%2012.04l-1.72-1.72-1.06%201.06%202.828%202.83a1%201%200%20001.414-.001l2.828-2.828-1.06-1.061-1.73%201.73V7h-1.5v5.04zm0-5.04V2h1.5v5h6.251c.55%200%20.999.446.999.996v13.008a.998.998%200%2001-.996.996H4.996A.998.998%200%20014%2021.004V7.996A1%201%200%20014.999%207h6.251z%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.25%2012.04l-1.72-1.72-1.06%201.06%202.828%202.83a1%201%200%20001.414-.001l2.828-2.828-1.06-1.061-1.73%201.73V7h-1.5v5.04zm0-5.04V2h1.5v5h6.251c.55%200%20.999.446.999.996v13.008a.998.998%200%2001-.996.996H4.996A.998.998%200%20014%2021.004V7.996A1%201%200%20014.999%207h6.251z%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-info{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-.75-12v7h1.5v-7h-1.5zM12%209a1%201%200%20100-2%201%201%200%20000%202z%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-.75-12v7h1.5v-7h-1.5zM12%209a1%201%200%20100-2%201%201%200%20000%202z%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-safe-success{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cpath%20d%3D%22M500.9%204.6C315.5%2046.7%20180.4%2093.1%2057.6%20132c0%20129.3.2%20231.7.2%20339.7%200%20304.2%20248.3%20471.6%20443.1%20523.7C695.7%20943.3%20944%20775.9%20944%20471.7c0-108%20.2-210.4.2-339.7C821.4%2093.1%20686.3%2046.7%20500.9%204.6zm248.3%20349.1l-299.7%20295c-2.1%202-5.3%202-7.4-.1L304.4%20506.1c-2-2.1-2.3-5.7-.6-8l18.3-24.9c1.7-2.3%205-2.8%207.2-1l112.2%2086c2.3%201.8%206%201.7%208.1-.1l274.7-228.9c2.2-1.8%205.7-1.7%207.7.3l17%2016.8c2.2%202.1%202.2%205.3.2%207.4z%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23070202%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cpath%20d%3D%22M500.9%204.6C315.5%2046.7%20180.4%2093.1%2057.6%20132c0%20129.3.2%20231.7.2%20339.7%200%20304.2%20248.3%20471.6%20443.1%20523.7C695.7%20943.3%20944%20775.9%20944%20471.7c0-108%20.2-210.4.2-339.7C821.4%2093.1%20686.3%2046.7%20500.9%204.6zm248.3%20349.1l-299.7%20295c-2.1%202-5.3%202-7.4-.1L304.4%20506.1c-2-2.1-2.3-5.7-.6-8l18.3-24.9c1.7-2.3%205-2.8%207.2-1l112.2%2086c2.3%201.8%206%201.7%208.1-.1l274.7-228.9c2.2-1.8%205.7-1.7%207.7.3l17%2016.8c2.2%202.1%202.2%205.3.2%207.4z%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23070202%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-safe-warn{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cpath%20d%3D%22M500.9%204.5c-185.4%2042-320.4%2088.4-443.2%20127.3%200%20129.3.2%20231.7.2%20339.6%200%20304.1%20248.2%20471.4%20443%20523.6%20194.7-52.2%20443-219.5%20443-523.6%200-107.9.2-210.3.2-339.6C821.3%2092.9%20686.2%2046.5%20500.9%204.5zm-26.1%20271.1h52.1c5.8%200%2010.3%204.7%2010.1%2010.4l-11.6%20313.8c-.1%202.8-2.5%205.2-5.4%205.2h-38.2c-2.9%200-5.3-2.3-5.4-5.2L464.8%20286c-.2-5.8%204.3-10.4%2010-10.4zm26.1%20448.3c-20.2%200-36.5-16.3-36.5-36.5s16.3-36.5%2036.5-36.5%2036.5%2016.3%2036.5%2036.5-16.4%2036.5-36.5%2036.5z%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23020202%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cpath%20d%3D%22M500.9%204.5c-185.4%2042-320.4%2088.4-443.2%20127.3%200%20129.3.2%20231.7.2%20339.6%200%20304.1%20248.2%20471.4%20443%20523.6%20194.7-52.2%20443-219.5%20443-523.6%200-107.9.2-210.3.2-339.6C821.3%2092.9%20686.2%2046.5%20500.9%204.5zm-26.1%20271.1h52.1c5.8%200%2010.3%204.7%2010.1%2010.4l-11.6%20313.8c-.1%202.8-2.5%205.2-5.4%205.2h-38.2c-2.9%200-5.3-2.3-5.4-5.2L464.8%20286c-.2-5.8%204.3-10.4%2010-10.4zm26.1%20448.3c-20.2%200-36.5-16.3-36.5-36.5s16.3-36.5%2036.5-36.5%2036.5%2016.3%2036.5%2036.5-16.4%2036.5-36.5%2036.5z%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23020202%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-success{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-1.177-7.86l-2.765-2.767L7%2012.431l3.119%203.121a1%201%200%20001.414%200l5.952-5.95-1.062-1.062-5.6%205.6z%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-1.177-7.86l-2.765-2.767L7%2012.431l3.119%203.121a1%201%200%20001.414%200l5.952-5.95-1.062-1.062-5.6%205.6z%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-success-circle{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zm-1.172-6.242l5.809-5.808.848.849-5.95%205.95a1%201%200%2001-1.414%200L7%2012.426l.849-.849%202.98%202.98z%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zm-1.172-6.242l5.809-5.808.848.849-5.95%205.95a1%201%200%2001-1.414%200L7%2012.426l.849-.849%202.98%202.98z%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-success-no-circle{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.657%2018.435L3%2012.778l1.414-1.414%204.95%204.95L20.678%205l1.414%201.414-12.02%2012.021a1%201%200%2001-1.415%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.657%2018.435L3%2012.778l1.414-1.414%204.95%204.95L20.678%205l1.414%201.414-12.02%2012.021a1%201%200%2001-1.415%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-waiting{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.75%2011.38V6h-1.5v6l4.243%204.243%201.06-1.06-3.803-3.804zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.75%2011.38V6h-1.5v6l4.243%204.243%201.06-1.06-3.803-3.804zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-waiting-circle{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.6%2011.503l3.891%203.891-.848.849L11.4%2012V6h1.2v5.503zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6z%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.6%2011.503l3.891%203.891-.848.849L11.4%2012V6h1.2v5.503zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6z%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-warn{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-.763-15.864l.11%207.596h1.305l.11-7.596h-1.525zm.759%2010.967c.512%200%20.902-.383.902-.882%200-.5-.39-.882-.902-.882a.878.878%200%2000-.896.882c0%20.499.396.882.896.882z%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-.763-15.864l.11%207.596h1.305l.11-7.596h-1.525zm.759%2010.967c.512%200%20.902-.383.902-.882%200-.5-.39-.882-.902-.882a.878.878%200%2000-.896.882c0%20.499.396.882.896.882z%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-outlined-warn{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12ZM20.8 12C20.8 16.8601 16.8601 20.8 12 20.8C7.13989 20.8 3.2 16.8601 3.2 12C3.2 7.13989 7.13989 3.2 12 3.2C16.8601 3.2 20.8 7.13989 20.8 12ZM12.6592 6.43115L12.5713 13.4917H11.4287L11.3408 6.43115H12.6592ZM11.165 16.2383C11.165 16.707 11.5312 17.0732 12 17.0732C12.4761 17.0732 12.835 16.707 12.835 16.2383C12.835 15.7622 12.4761 15.4033 12 15.4033C11.5312 15.4033 11.165 15.7622 11.165 16.2383Z' fill='black' /%3E%3C/svg%3E%0A\");mask-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12ZM20.8 12C20.8 16.8601 16.8601 20.8 12 20.8C7.13989 20.8 3.2 16.8601 3.2 12C3.2 7.13989 7.13989 3.2 12 3.2C16.8601 3.2 20.8 7.13989 20.8 12ZM12.6592 6.43115L12.5713 13.4917H11.4287L11.3408 6.43115H12.6592ZM11.165 16.2383C11.165 16.707 11.5312 17.0732 12 17.0732C12.4761 17.0732 12.835 16.707 12.835 16.2383C12.835 15.7622 12.4761 15.4033 12 15.4033C11.5312 15.4033 11.165 15.7622 11.165 16.2383Z' fill='black' /%3E%3C/svg%3E%0A\")}.weui-icon-info-circle{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zM11.4%2010h1.2v7h-1.2v-7zm.6-1a1%201%200%20110-2%201%201%200%20010%202z%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zM11.4%2010h1.2v7h-1.2v-7zm.6-1a1%201%200%20110-2%201%201%200%20010%202z%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-cancel{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6z%22%20fill-rule%3D%22nonzero%22%2F%3E%3Cpath%20d%3D%22M12.849%2012l3.11%203.111-.848.849L12%2012.849l-3.111%203.11-.849-.848L11.151%2012l-3.11-3.111.848-.849L12%2011.151l3.111-3.11.849.848L12.849%2012z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6z%22%20fill-rule%3D%22nonzero%22%2F%3E%3Cpath%20d%3D%22M12.849%2012l3.11%203.111-.848.849L12%2012.849l-3.111%203.11-.849-.848L11.151%2012l-3.11-3.111.848-.849L12%2011.151l3.111-3.11.849.848L12.849%2012z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.weui-icon-search{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16.31%2015.561l4.114%204.115-.848.848-4.123-4.123a7%207%200%2011.857-.84zM16.8%2011a5.8%205.8%200%2010-11.6%200%205.8%205.8%200%200011.6%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16.31%2015.561l4.114%204.115-.848.848-4.123-4.123a7%207%200%2011.857-.84zM16.8%2011a5.8%205.8%200%2010-11.6%200%205.8%205.8%200%200011.6%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-clear{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.06%2012l3.006-3.005-1.06-1.06L12%2010.938%208.995%207.934l-1.06%201.06L10.938%2012l-3.005%203.005%201.06%201.06L12%2013.062l3.005%203.005%201.06-1.06L13.062%2012zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010z%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.06%2012l3.006-3.005-1.06-1.06L12%2010.938%208.995%207.934l-1.06%201.06L10.938%2012l-3.005%203.005%201.06%201.06L12%2013.062l3.005%203.005%201.06-1.06L13.062%2012zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010z%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-back{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm1.999-6.563L10.68%2012%2014%208.562%2012.953%207.5%209.29%2011.277a1.045%201.045%200%20000%201.446l3.663%203.777L14%2015.437z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm1.999-6.563L10.68%2012%2014%208.562%2012.953%207.5%209.29%2011.277a1.045%201.045%200%20000%201.446l3.663%203.777L14%2015.437z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-delete{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.774%206.4l.812%2013.648a.8.8%200%2000.798.752h7.232a.8.8%200%2000.798-.752L17.226%206.4H6.774zm11.655%200l-.817%2013.719A2%202%200%200115.616%2022H8.384a2%202%200%2001-1.996-1.881L5.571%206.4H3.5v-.7a.5.5%200%2001.5-.5h16a.5.5%200%2001.5.5v.7h-2.071zM14%203a.5.5%200%2001.5.5v.7h-5v-.7A.5.5%200%200110%203h4zM9.5%209h1.2l.5%209H10l-.5-9zm3.8%200h1.2l-.5%209h-1.2l.5-9z%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.774%206.4l.812%2013.648a.8.8%200%2000.798.752h7.232a.8.8%200%2000.798-.752L17.226%206.4H6.774zm11.655%200l-.817%2013.719A2%202%200%200115.616%2022H8.384a2%202%200%2001-1.996-1.881L5.571%206.4H3.5v-.7a.5.5%200%2001.5-.5h16a.5.5%200%2001.5.5v.7h-2.071zM14%203a.5.5%200%2001.5.5v.7h-5v-.7A.5.5%200%200110%203h4zM9.5%209h1.2l.5%209H10l-.5-9zm3.8%200h1.2l-.5%209h-1.2l.5-9z%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-success-no-circle-thin{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.864%2016.617l-5.303-5.303-1.061%201.06%205.657%205.657a1%201%200%20001.414%200L21.238%206.364l-1.06-1.06L8.864%2016.616z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.864%2016.617l-5.303-5.303-1.061%201.06%205.657%205.657a1%201%200%20001.414%200L21.238%206.364l-1.06-1.06L8.864%2016.616z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-arrow{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-arrow-bold{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2212%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.157%2012.711L4.5%2018.368l-1.414-1.414%204.95-4.95-4.95-4.95L4.5%205.64l5.657%205.657a1%201%200%20010%201.414z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2212%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.157%2012.711L4.5%2018.368l-1.414-1.414%204.95-4.95-4.95-4.95L4.5%205.64l5.657%205.657a1%201%200%20010%201.414z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-back-arrow{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.343%2012l7.071%207.071L9%2020.485l-7.778-7.778a1%201%200%20010-1.414L9%203.515l1.414%201.414L3.344%2012z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.343%2012l7.071%207.071L9%2020.485l-7.778-7.778a1%201%200%20010-1.414L9%203.515l1.414%201.414L3.344%2012z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-back-arrow-thin{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%2019.438L8.955%2020.5l-7.666-7.79a1.02%201.02%200%20010-1.42L8.955%203.5%2010%204.563%202.682%2012%2010%2019.438z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%2019.438L8.955%2020.5l-7.666-7.79a1.02%201.02%200%20010-1.42L8.955%203.5%2010%204.563%202.682%2012%2010%2019.438z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-close{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.25 10.6932L6.05682 4.5L5 5.55682L11.1932 11.75L5 17.9432L6.05682 19L12.25 12.8068L18.4432 19L19.5 17.9432L13.3068 11.75L19.5 5.55682L18.4432 4.5L12.25 10.6932Z' fill='black' /%3E%3C/svg%3E%0A\");mask-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.25 10.6932L6.05682 4.5L5 5.55682L11.1932 11.75L5 17.9432L6.05682 19L12.25 12.8068L18.4432 19L19.5 17.9432L13.3068 11.75L19.5 5.55682L18.4432 4.5L12.25 10.6932Z' fill='black' /%3E%3C/svg%3E%0A\")}.weui-icon-close-thin{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.25%2010.693L6.057%204.5%205%205.557l6.193%206.193L5%2017.943%206.057%2019l6.193-6.193L18.443%2019l1.057-1.057-6.193-6.193L19.5%205.557%2018.443%204.5z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.25%2010.693L6.057%204.5%205%205.557l6.193%206.193L5%2017.943%206.057%2019l6.193-6.193L18.443%2019l1.057-1.057-6.193-6.193L19.5%205.557%2018.443%204.5z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-back-circle{-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zm1.999-5.363L12.953%2016.5%209.29%2012.723a1.045%201.045%200%20010-1.446L12.953%207.5%2014%208.563%2010.68%2012%2014%2015.438z%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zm1.999-5.363L12.953%2016.5%209.29%2012.723a1.045%201.045%200%20010-1.446L12.953%207.5%2014%208.563%2010.68%2012%2014%2015.438z%22%2F%3E%3C%2Fsvg%3E)}.weui-icon-success{color:var(--weui-BRAND)}.weui-icon-waiting{color:var(--weui-BLUE)}.weui-icon-warn{color:var(--weui-RED)}.weui-icon-info{color:var(--weui-BLUE)}.weui-icon-success-circle,.weui-icon-success-no-circle,.weui-icon-success-no-circle-thin{color:var(--weui-BRAND)}.weui-icon-waiting-circle{color:var(--weui-BLUE)}.weui-icon-circle{color:var(--weui-FG-2)}.weui-icon-download{color:var(--weui-BRAND)}.weui-icon-info-circle{color:var(--weui-FG-2)}.weui-icon-safe-success{color:var(--weui-BRAND)}.weui-icon-safe-warn{color:var(--weui-YELLOW)}.weui-icon-cancel{color:var(--weui-RED)}.weui-icon-search{color:var(--weui-FG-1)}.weui-icon-clear{color:var(--weui-FG-2)}.weui-icon-clear:active{color:var(--weui-FG-1)}.weui-icon-delete.weui-icon_gallery-delete{color:var(--weui-WHITE)}.weui-icon-arrow.weui-icon-arrow,.weui-icon-arrow.weui-icon-arrow-bold,.weui-icon-arrow.weui-icon-back-arrow,.weui-icon-arrow.weui-icon-back-arrow-thin,.weui-icon-arrow-bold.weui-icon-arrow,.weui-icon-arrow-bold.weui-icon-arrow-bold,.weui-icon-arrow-bold.weui-icon-back-arrow,.weui-icon-arrow-bold.weui-icon-back-arrow-thin,.weui-icon-back-arrow.weui-icon-arrow,.weui-icon-back-arrow.weui-icon-arrow-bold,.weui-icon-back-arrow.weui-icon-back-arrow,.weui-icon-back-arrow.weui-icon-back-arrow-thin,.weui-icon-back-arrow-thin.weui-icon-arrow,.weui-icon-back-arrow-thin.weui-icon-arrow-bold,.weui-icon-back-arrow-thin.weui-icon-back-arrow,.weui-icon-back-arrow-thin.weui-icon-back-arrow-thin{width:1.2em}.weui-icon-arrow,.weui-icon-arrow-bold{color:var(--weui-FG-2)}.weui-icon-back-arrow,.weui-icon-back-arrow-thin,.weui-icon-back,.weui-icon-back-circle{color:var(--weui-FG-0)}.weui-icon_msg.weui-icon_msg{width:6.4em;height:6.4em}.weui-icon_msg.weui-icon_msg.weui-icon-warn{color:var(--weui-RED)}.weui-icon_msg.weui-icon_msg.weui-icon-info-circle{color:var(--weui-BLUE)}.weui-icon_msg-primary.weui-icon_msg-primary{width:6.4em;height:6.4em}.weui-icon_msg-primary.weui-icon_msg-primary.weui-icon-warn{color:var(--weui-YELLOW)}.weui-hidden_abs{opacity:0;position:absolute;width:1px;height:1px;overflow:hidden}.weui-a11y_ref{display:none}.weui-hidden-space:empty:before{content:\"\xA0\";position:absolute;width:1px;height:1px;overflow:hidden}.weui-a11y-combo{position:relative}.weui-a11y-combo__helper{opacity:0;position:absolute;width:100%;height:100%;overflow:hidden}.weui-a11y-combo__content{position:relative;z-index:1}.weui-wa-hotarea-el{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:44px;min-height:44px;width:100%;height:100%}.weui-wa-hotarea-el__wrp,.weui-wa-hotarea,.weui-wa-hotarea_before{position:relative}.weui-wa-hotarea-el__wrp a,.weui-wa-hotarea a,.weui-wa-hotarea_before a,.weui-wa-hotarea-el__wrp button,.weui-wa-hotarea button,.weui-wa-hotarea_before button,.weui-wa-hotarea-el__wrp navigator,.weui-wa-hotarea navigator,.weui-wa-hotarea_before navigator{position:relative;z-index:1}.weui-wa-hotarea_before:before,.weui-wa-hotarea:after{content:\"\";pointer-events:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:44px;min-height:44px;width:100%;height:100%}.wx-root{position:relative;pointer-events:auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Arial,sans-serif}.wx_card_root{position:relative}.wxw_hide{display:none!important}.wx_uninteractive{pointer-events:none}body,.wx-root{--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #fa9d3b;--weui-YELLOW: #ffc300;--weui-GREEN: #91d300;--weui-LIGHTGREEN: #95ec69;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1485ee;--weui-PURPLE: #6467f0;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-BG: #fff;--weui-TAG-TEXT-ORANGE: #fa9d3b;--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-TEXT-BLUE: #10aeff;--weui-REDORANGE: #ff6146;--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #07C160;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0: rgba(0, 0, 0, .9);--weui-FG-0_5: rgba(0, 0, 0, .9);--weui-FG-1: rgba(0, 0, 0, .55);--weui-FG-2: rgba(0, 0, 0, .3);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-GLYPH-0: rgba(0, 0, 0, .9);--weui-GLYPH-1: rgba(0, 0, 0, .55);--weui-GLYPH-2: rgba(0, 0, 0, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #91D300;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #1485EE;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #95EC69;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #FA9D3B;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6467F0;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #FA5151;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .05);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #FFC300;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-FG-HALF: rgba(0, 0, 0, .9);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #FA9D3B;--weui-YELLOW: #FFC300;--weui-GREEN: #91D300;--weui-LIGHTGREEN: #95EC69;--weui-TEXTGREEN: #06AE56;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1485EE;--weui-PURPLE: #6467F0;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #FA9D3B;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #10AEFF;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05);--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-FG: #000;--weui-FG-5: rgba(0, 0, 0, .05);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-5: #2c2c2c;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-REDORANGE: #ff6146;--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG: #fff;--weui-BG: #000;--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6)}}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-5: #2c2c2c;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-REDORANGE: #ff6146;--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-0_5: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .8);--weui-GLYPH-1: rgba(255, 255, 255, .5);--weui-GLYPH-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .8);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .5);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .3);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(95, 95, 95, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .1);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG: #fff;--weui-BG: #000;--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6)}.wx-root[data-weui-mode=care],body[data-weui-mode=care]{--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-RED: #dc3636;--weui-ORANGERED: #d14730;--weui-ORANGE: #e17719;--weui-YELLOW: #bb8e00;--weui-GREEN: #4f8400;--weui-LIGHTGREEN: #2e8800;--weui-BLUE: #007dbb;--weui-INDIGO: #0075e2;--weui-PURPLE: #6265f1;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-BG: #fff;--weui-TAG-TEXT-ORANGE: #e17719;--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-TEXT-BLUE: #007dbb;--weui-REDORANGE: #d14730;--weui-BG-0: #EDEDED;--weui-BG-1: #F7F7F7;--weui-BG-2: #FFFFFF;--weui-BG-3: #F7F7F7;--weui-BG-4: #4C4C4C;--weui-BG-5: #FFFFFF;--weui-BLUE-100: #007DBB;--weui-BLUE-120: #3FBEFF;--weui-BLUE-170: #B7E6FF;--weui-BLUE-80: #0C8BCC;--weui-BLUE-90: #0E9CE6;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #5AAFE4;--weui-BLUE-BG-130: #7FC0EA;--weui-BLUE-BG-90: #4095CB;--weui-BRAND-100: #018942;--weui-BRAND-120: #38CD7F;--weui-BRAND-170: #B4ECCE;--weui-BRAND-80: #059A4C;--weui-BRAND-90: #06AE56;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #3EB575;--weui-BRAND-BG-130: #69C694;--weui-BRAND-BG-90: #259C5C;--weui-FG-0: #000000;--weui-FG-0_5: #000000;--weui-FG-1: rgba(0, 0, 0, .6);--weui-FG-2: rgba(0, 0, 0, .42);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-GLYPH-0: #000000;--weui-GLYPH-1: rgba(0, 0, 0, .6);--weui-GLYPH-2: rgba(0, 0, 0, .42);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #4F8400;--weui-GREEN-120: #A7DB33;--weui-GREEN-170: #DEF1B3;--weui-GREEN-80: #74A800;--weui-GREEN-90: #82BD00;--weui-GREEN-BG-100: #96BE40;--weui-GREEN-BG-110: #A0C452;--weui-GREEN-BG-130: #B5D179;--weui-GREEN-BG-90: #86AA39;--weui-INDIGO-100: #0075E2;--weui-INDIGO-120: #439DF1;--weui-INDIGO-170: #B8DAF9;--weui-INDIGO-80: #106ABE;--weui-INDIGO-90: #1277D6;--weui-INDIGO-BG-100: #2B77BF;--weui-INDIGO-BG-110: #3F84C5;--weui-INDIGO-BG-130: #6BA0D2;--weui-INDIGO-BG-90: #266AAB;--weui-LIGHTGREEN-100: #2E8800;--weui-LIGHTGREEN-120: #AAEF87;--weui-LIGHTGREEN-170: #DEF9D1;--weui-LIGHTGREEN-80: #77BC54;--weui-LIGHTGREEN-90: #85D35E;--weui-LIGHTGREEN-BG-100: #72CF60;--weui-LIGHTGREEN-BG-110: #80D370;--weui-LIGHTGREEN-BG-130: #9CDD90;--weui-LIGHTGREEN-BG-90: #66B956;--weui-LINK-100: #576B95;--weui-LINK-120: #7888AA;--weui-LINK-170: #CCD2DE;--weui-LINK-80: #455577;--weui-LINK-90: #4E6085;--weui-LINKFINDER-100: #002666;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(245, 245, 245, .95);--weui-MATERIAL-NAVIGATIONBAR: rgba(237, 237, 237, .94);--weui-MATERIAL-REGULAR: rgba(247, 247, 247, .3);--weui-MATERIAL-THICK: rgba(247, 247, 247, .8);--weui-MATERIAL-THIN: rgba(255, 255, 255, .2);--weui-MATERIAL-TOOLBAR: rgba(246, 246, 246, .82);--weui-ORANGE-100: #E17719;--weui-ORANGE-120: #FBB062;--weui-ORANGE-170: #FDE1C3;--weui-ORANGE-80: #C87D2F;--weui-ORANGE-90: #E08C34;--weui-ORANGE-BG-100: #EA7800;--weui-ORANGE-BG-110: #EC8519;--weui-ORANGE-BG-130: #F0A04D;--weui-ORANGE-BG-90: #D26B00;--weui-ORANGERED-100: #D14730;--weui-OVERLAY: rgba(0, 0, 0, .5);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #6265F1;--weui-PURPLE-120: #8385F3;--weui-PURPLE-170: #D0D1FA;--weui-PURPLE-80: #5052C0;--weui-PURPLE-90: #595CD7;--weui-PURPLE-BG-100: #6769BA;--weui-PURPLE-BG-110: #7678C1;--weui-PURPLE-BG-130: #9496CE;--weui-PURPLE-BG-90: #5C5EA7;--weui-RED-100: #DC3636;--weui-RED-120: #FB7373;--weui-RED-170: #FDCACA;--weui-RED-80: #C84040;--weui-RED-90: #E14949;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #D3625A;--weui-RED-BG-130: #DD847E;--weui-RED-BG-90: #B94840;--weui-SECONDARY-BG: rgba(0, 0, 0, .1);--weui-SEPARATOR-0: rgba(0, 0, 0, .1);--weui-SEPARATOR-1: rgba(0, 0, 0, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(0, 0, 0, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(0, 0, 0, .2);--weui-YELLOW-100: #BB8E00;--weui-YELLOW-120: #FFCF33;--weui-YELLOW-170: #FFECB2;--weui-YELLOW-80: #CC9C00;--weui-YELLOW-90: #E6AF00;--weui-YELLOW-BG-100: #EFB600;--weui-YELLOW-BG-110: #F0BD19;--weui-YELLOW-BG-130: #F3CC4D;--weui-YELLOW-BG-90: #D7A400;--weui-FG-HALF: #000000;--weui-RED: #DC3636;--weui-ORANGERED: #D14730;--weui-ORANGE: #E17719;--weui-YELLOW: #BB8E00;--weui-GREEN: #4F8400;--weui-LIGHTGREEN: #2E8800;--weui-TEXTGREEN: #06AE56;--weui-BRAND: #018942;--weui-BLUE: #007DBB;--weui-INDIGO: #0075E2;--weui-PURPLE: #6265F1;--weui-LINK: #576B95;--weui-TAG-TEXT-ORANGE: #E17719;--weui-TAG-TEXT-GREEN: #06AE56;--weui-TAG-TEXT-BLUE: #007DBB;--weui-REDORANGE: #D14730;--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-WHITE: #FFFFFF;--weui-BG: #FFFFFF;--weui-FG: #000;--weui-FG-5: rgba(0, 0, 0, .05);--weui-TAG-BACKGROUND-ORANGE: rgba(225, 119, 25, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(0, 125, 187, .1);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05)}@media (prefers-color-scheme: dark){.wx-root[data-weui-mode=care]:not([data-weui-theme=light]),body[data-weui-mode=care]:not([data-weui-theme=light]){--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-5: #2c2c2c;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-REDORANGE: #ff6146;--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-FG: #fff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-BG: #000;--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5)}}.wx-root[data-weui-mode=care][data-weui-theme=dark],body[data-weui-mode=care][data-weui-theme=dark]{--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-5: #2c2c2c;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-REDORANGE: #ff6146;--weui-BG-0: #111111;--weui-BG-1: #1E1E1E;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2C2C2C;--weui-BLUE-100: #10AEFF;--weui-BLUE-120: #0C8BCC;--weui-BLUE-170: #04344D;--weui-BLUE-80: #3FBEFF;--weui-BLUE-90: #28B6FF;--weui-BLUE-BG-100: #48A6E2;--weui-BLUE-BG-110: #4095CB;--weui-BLUE-BG-130: #32749E;--weui-BLUE-BG-90: #5AAFE4;--weui-BRAND-100: #07C160;--weui-BRAND-120: #059A4C;--weui-BRAND-170: #023A1C;--weui-BRAND-80: #38CD7F;--weui-BRAND-90: #20C770;--weui-BRAND-BG-100: #2AAE67;--weui-BRAND-BG-110: #259C5C;--weui-BRAND-BG-130: #1D7A48;--weui-BRAND-BG-90: #3EB575;--weui-FG-0: rgba(255, 255, 255, .85);--weui-FG-0_5: rgba(255, 255, 255, .65);--weui-FG-1: rgba(255, 255, 255, .55);--weui-FG-2: rgba(255, 255, 255, .35);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-GLYPH-0: rgba(255, 255, 255, .85);--weui-GLYPH-1: rgba(255, 255, 255, .55);--weui-GLYPH-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-0: rgba(255, 255, 255, .85);--weui-GLYPH-WHITE-1: rgba(255, 255, 255, .55);--weui-GLYPH-WHITE-2: rgba(255, 255, 255, .35);--weui-GLYPH-WHITE-3: #FFFFFF;--weui-GREEN-100: #74A800;--weui-GREEN-120: #5C8600;--weui-GREEN-170: #233200;--weui-GREEN-80: #8FB933;--weui-GREEN-90: #82B01A;--weui-GREEN-BG-100: #789833;--weui-GREEN-BG-110: #6B882D;--weui-GREEN-BG-130: #65802B;--weui-GREEN-BG-90: #85A247;--weui-INDIGO-100: #1196FF;--weui-INDIGO-120: #0D78CC;--weui-INDIGO-170: #052D4D;--weui-INDIGO-80: #40ABFF;--weui-INDIGO-90: #28A0FF;--weui-INDIGO-BG-100: #0D78CC;--weui-INDIGO-BG-110: #0B6BB7;--weui-INDIGO-BG-130: #09548F;--weui-INDIGO-BG-90: #2585D1;--weui-LIGHTGREEN-100: #3EB575;--weui-LIGHTGREEN-120: #31905D;--weui-LIGHTGREEN-170: #123522;--weui-LIGHTGREEN-80: #64C390;--weui-LIGHTGREEN-90: #51BC83;--weui-LIGHTGREEN-BG-100: #31905D;--weui-LIGHTGREEN-BG-110: #2C8153;--weui-LIGHTGREEN-BG-130: #226541;--weui-LIGHTGREEN-BG-90: #31905D;--weui-LINK-100: #7D90A9;--weui-LINK-120: #647387;--weui-LINK-170: #252A32;--weui-LINK-80: #97A6BA;--weui-LINK-90: #899AB1;--weui-LINKFINDER-100: #DEE9FF;--weui-MATERIAL-ATTACHMENTCOLUMN: rgba(32, 32, 32, .93);--weui-MATERIAL-NAVIGATIONBAR: rgba(18, 18, 18, .9);--weui-MATERIAL-REGULAR: rgba(37, 37, 37, .6);--weui-MATERIAL-THICK: rgba(34, 34, 34, .9);--weui-MATERIAL-THIN: rgba(245, 245, 245, .4);--weui-MATERIAL-TOOLBAR: rgba(35, 35, 35, .93);--weui-ORANGE-100: #C87D2F;--weui-ORANGE-120: #A06425;--weui-ORANGE-170: #3B250E;--weui-ORANGE-80: #D39758;--weui-ORANGE-90: #CD8943;--weui-ORANGE-BG-100: #BB6000;--weui-ORANGE-BG-110: #A85600;--weui-ORANGE-BG-130: #824300;--weui-ORANGE-BG-90: #C1701A;--weui-ORANGERED-100: #FF6146;--weui-OVERLAY: rgba(0, 0, 0, .8);--weui-OVERLAY-WHITE: rgba(242, 242, 242, .8);--weui-PURPLE-100: #8183FF;--weui-PURPLE-120: #6768CC;--weui-PURPLE-170: #26274C;--weui-PURPLE-80: #9A9BFF;--weui-PURPLE-90: #8D8FFF;--weui-PURPLE-BG-100: #6768CC;--weui-PURPLE-BG-110: #5C5DB7;--weui-PURPLE-BG-130: #48498F;--weui-PURPLE-BG-90: #7677D1;--weui-RED-100: #FA5151;--weui-RED-120: #C84040;--weui-RED-170: #4B1818;--weui-RED-80: #FB7373;--weui-RED-90: #FA6262;--weui-RED-BG-100: #CF5148;--weui-RED-BG-110: #BA4940;--weui-RED-BG-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-FG: #fff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-BG: #000;--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5)}.wx-root,body{--APPMSGCARD-BG: #FAFAFA}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--APPMSGCARD-BG: #1E1E1E}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--APPMSGCARD-BG: #1E1E1E}}.wx-root,body{--APPMSGCARD-LINE-BG: rgba(0, 0, 0, .07)}.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--APPMSGCARD-LINE-BG: rgba(255, 255, 255, .07)}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--APPMSGCARD-LINE-BG: rgba(255, 255, 255, .07)}}.appmsg_card_context{position:relative;background-color:var(--APPMSGCARD-BG);border-radius:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.appmsg_card_context:hover{cursor:pointer}.wxw_img{vertical-align:bottom}.wx_img_link{position:relative;display:inline-block;vertical-align:bottom;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wx_img_link:before,.wx_img_link:after{content:\"\";position:absolute;top:8px;right:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;z-index:1}.wx_img_link:before{background:rgba(95,95,95,.5);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:100%}.wx_img_link:after{-webkit-mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cg fill='%23576B95'%3E %3Cpath d='M8.566 7.434l-1.98-1.98-.754.755 1.257 1.257H2.333v1.067H7.09L5.832 9.79l.754.755 1.98-1.98a.8.8 0 0 0 0-1.132z'/%3E %3Cpath d='M4.333 11.8H3.267v1.067a.8.8 0 0 0 .797.8h7.805a.8.8 0 0 0 .798-.798V3.131a.799.799 0 0 0-.798-.798H4.064a.8.8 0 0 0-.797.8V4.2h1.066v-.8H11.6v9.2H4.333v-.8z'/%3E %3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cg fill='%23576B95'%3E %3Cpath d='M8.566 7.434l-1.98-1.98-.754.755 1.257 1.257H2.333v1.067H7.09L5.832 9.79l.754.755 1.98-1.98a.8.8 0 0 0 0-1.132z'/%3E %3Cpath d='M4.333 11.8H3.267v1.067a.8.8 0 0 0 .797.8h7.805a.8.8 0 0 0 .798-.798V3.131a.799.799 0 0 0-.798-.798H4.064a.8.8 0 0 0-.797.8V4.2h1.066v-.8H11.6v9.2H4.333v-.8z'/%3E %3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;-webkit-mask-size:14px;mask-size:14px;background:#FFFFFF}.wx_img_link_center:before,.wx_img_link_center:after{top:50%;margin-top:-10px}.wx_key_tag{display:inline-block;vertical-align:middle;padding:2px 4px;font-size:12px;line-height:calc((20 - 4) / 12);border-radius:2px;max-width:70%;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;font-style:normal;letter-spacing:normal;background:var(--weui-TAG-BACKGROUND-BLACK);color:var(--weui-FG-2)}.wx_text_link:before{content:\"\";display:inline-block;vertical-align:middle;width:1em;height:1em;-webkit-mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cg fill='%23576B95'%3E %3Cpath d='M8.566 7.434l-1.98-1.98-.754.755 1.257 1.257H2.333v1.067H7.09L5.832 9.79l.754.755 1.98-1.98a.8.8 0 0 0 0-1.132z'/%3E %3Cpath d='M4.333 11.8H3.267v1.067a.8.8 0 0 0 .797.8h7.805a.8.8 0 0 0 .798-.798V3.131a.799.799 0 0 0-.798-.798H4.064a.8.8 0 0 0-.797.8V4.2h1.066v-.8H11.6v9.2H4.333v-.8z'/%3E %3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cg fill='%23576B95'%3E %3Cpath d='M8.566 7.434l-1.98-1.98-.754.755 1.257 1.257H2.333v1.067H7.09L5.832 9.79l.754.755 1.98-1.98a.8.8 0 0 0 0-1.132z'/%3E %3Cpath d='M4.333 11.8H3.267v1.067a.8.8 0 0 0 .797.8h7.805a.8.8 0 0 0 .798-.798V3.131a.799.799 0 0 0-.798-.798H4.064a.8.8 0 0 0-.797.8V4.2h1.066v-.8H11.6v9.2H4.333v-.8z'/%3E %3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:currentColor;margin:-.3em 1px 0 2px}.wx_text_link:empty{display:none}:host(.wx_tap_highlight_active) .wx_tap_link{opacity:.5}:host(.wx_tap_highlight_active) .wx_tap_card{background-color:#f3f3f3}:host(.wx_tap_highlight_active) .wx_tap_cell{background-color:#0000000d}@media (prefers-color-scheme: dark){:host(.wx_tap_highlight_active) .wx_tap_card{background-color:#252525}:host(.wx_tap_highlight_active) .wx_tap_cell{background-color:#ffffff1a}}.wx_css_active :active{opacity:.5}.weui-flex__item{min-width:0}.weui-flex_align-center{align-items:center}[tabindex]{outline:0}.weui-circle-loading,.weui-circle-loading_before:before{display:inline-block;vertical-align:middle;font-size:16px;width:1em;height:1em;-webkit-mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E %3Cdefs%3E %3ClinearGradient id='42ecdbc5-cb5f-41dc-88b6-1ee9f740fee0-a' x1='94.087%25' x2='94.087%25' y1='0%25' y2='90.559%25'%3E %3Cstop offset='0%25' stop-color='%23EDEDED' stop-opacity='0'/%3E %3Cstop offset='100%25' stop-color='%23EDEDED' stop-opacity='.3'/%3E %3C/linearGradient%3E %3ClinearGradient id='42ecdbc5-cb5f-41dc-88b6-1ee9f740fee0-b' x1='100%25' x2='100%25' y1='8.674%25' y2='90.629%25'%3E %3Cstop offset='0%25' stop-color='%23EDEDED'/%3E %3Cstop offset='100%25' stop-color='%23EDEDED' stop-opacity='.3'/%3E %3C/linearGradient%3E %3C/defs%3E %3Cg fill='none' opacity='.9'%3E %3Cpath fill='url(%2342ecdbc5-cb5f-41dc-88b6-1ee9f740fee0-a)' d='M40 0c22.091 0 40 17.909 40 40S62.091 80 40 80v-7c18.225 0 33-14.775 33-33S58.225 7 40 7V0z'/%3E %3Cpath fill='url(%2342ecdbc5-cb5f-41dc-88b6-1ee9f740fee0-b)' d='M40 0v7C21.775 7 7 21.775 7 40s14.775 33 33 33v7C17.909 80 0 62.091 0 40S17.909 0 40 0z'/%3E %3Ccircle cx='40.5' cy='3.5' r='3.5' fill='%23EDEDED'/%3E %3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E %3Cdefs%3E %3ClinearGradient id='42ecdbc5-cb5f-41dc-88b6-1ee9f740fee0-a' x1='94.087%25' x2='94.087%25' y1='0%25' y2='90.559%25'%3E %3Cstop offset='0%25' stop-color='%23EDEDED' stop-opacity='0'/%3E %3Cstop offset='100%25' stop-color='%23EDEDED' stop-opacity='.3'/%3E %3C/linearGradient%3E %3ClinearGradient id='42ecdbc5-cb5f-41dc-88b6-1ee9f740fee0-b' x1='100%25' x2='100%25' y1='8.674%25' y2='90.629%25'%3E %3Cstop offset='0%25' stop-color='%23EDEDED'/%3E %3Cstop offset='100%25' stop-color='%23EDEDED' stop-opacity='.3'/%3E %3C/linearGradient%3E %3C/defs%3E %3Cg fill='none' opacity='.9'%3E %3Cpath fill='url(%2342ecdbc5-cb5f-41dc-88b6-1ee9f740fee0-a)' d='M40 0c22.091 0 40 17.909 40 40S62.091 80 40 80v-7c18.225 0 33-14.775 33-33S58.225 7 40 7V0z'/%3E %3Cpath fill='url(%2342ecdbc5-cb5f-41dc-88b6-1ee9f740fee0-b)' d='M40 0v7C21.775 7 7 21.775 7 40s14.775 33 33 33v7C17.909 80 0 62.091 0 40S17.909 0 40 0z'/%3E %3Ccircle cx='40.5' cy='3.5' r='3.5' fill='%23EDEDED'/%3E %3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:currentColor;color:#606060;animation:circleLoading 1s steps(60,end) infinite}.weui-circle-loading_before:before{content:\"\"}.weui-circle-loading.weui-circle-loading_white{color:#ededed}.weui-circle-loading_before.weui-circle-loading_white:before{color:#ededed}.wx_hover_card:before{content:\" \";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:8px;box-sizing:border-box;border:1px solid rgba(7,193,96,.3);pointer-events:none;z-index:9}.wx_selected_card:before{content:\" \";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:8px;border:1.5px solid #07C160;box-sizing:border-box;background:rgba(7,193,96,.1);pointer-events:none;z-index:9}.wx-root,body,.wx-root[data-weui-theme=dark],body[data-weui-theme=dark]{--weui-REDORANGE: #FF6146}@media (prefers-color-scheme: dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-REDORANGE: #FF6146}}img{pointer-events:none}.common-web .weapp_card{margin:0 auto;max-width:350px}.weapp_img,.weapp_card{-webkit-user-select:none;-moz-user-select:none;user-select:none}.weapp_text{color:var(--weui-LINK)}.weapp_text:before{content:\"\";display:inline-block;vertical-align:middle;width:1em;height:1em;-webkit-mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cg fill='%23576B95'%3E %3Cpath d='M8.566 7.434l-1.98-1.98-.754.755 1.257 1.257H2.333v1.067H7.09L5.832 9.79l.754.755 1.98-1.98a.8.8 0 0 0 0-1.132z'/%3E %3Cpath d='M4.333 11.8H3.267v1.067a.8.8 0 0 0 .797.8h7.805a.8.8 0 0 0 .798-.798V3.131a.799.799 0 0 0-.798-.798H4.064a.8.8 0 0 0-.797.8V4.2h1.066v-.8H11.6v9.2H4.333v-.8z'/%3E %3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cg fill='%23576B95'%3E %3Cpath d='M8.566 7.434l-1.98-1.98-.754.755 1.257 1.257H2.333v1.067H7.09L5.832 9.79l.754.755 1.98-1.98a.8.8 0 0 0 0-1.132z'/%3E %3Cpath d='M4.333 11.8H3.267v1.067a.8.8 0 0 0 .797.8h7.805a.8.8 0 0 0 .798-.798V3.131a.799.799 0 0 0-.798-.798H4.064a.8.8 0 0 0-.797.8V4.2h1.066v-.8H11.6v9.2H4.333v-.8z'/%3E %3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:currentColor;margin:-.3em 1px 0 2px}.weapp_text:empty{display:none}.weapp_text:before{-webkit-mask-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cpath fill='%23576B95' fill-rule='evenodd' d='M10.933 8.529l-.138.002c-.418 0-.662-.3-.505-.644a.902.902 0 0 1 .638-.496c.767-.18 1.288-.765 1.288-1.445 0-.824-.807-1.496-1.815-1.496-1.007 0-1.814.672-1.814 1.496v4.108c0 1.447-1.327 2.613-2.96 2.613-1.634 0-2.96-1.166-2.96-2.613 0-1.269 1.027-2.352 2.426-2.558h.112c.317 0 .545.185.545.45a.488.488 0 0 1-.006.092.348.348 0 0 1-.034.102c-.101.23-.36.429-.638.496-.761.18-1.288.76-1.288 1.418 0 .824.807 1.496 1.815 1.496 1.007 0 1.814-.672 1.814-1.496V5.946c0-1.447 1.327-2.613 2.96-2.613 1.634 0 2.96 1.166 2.96 2.613 0 1.275-1.003 2.346-2.4 2.583z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cpath fill='%23576B95' fill-rule='evenodd' d='M10.933 8.529l-.138.002c-.418 0-.662-.3-.505-.644a.902.902 0 0 1 .638-.496c.767-.18 1.288-.765 1.288-1.445 0-.824-.807-1.496-1.815-1.496-1.007 0-1.814.672-1.814 1.496v4.108c0 1.447-1.327 2.613-2.96 2.613-1.634 0-2.96-1.166-2.96-2.613 0-1.269 1.027-2.352 2.426-2.558h.112c.317 0 .545.185.545.45a.488.488 0 0 1-.006.092.348.348 0 0 1-.034.102c-.101.23-.36.429-.638.496-.761.18-1.288.76-1.288 1.418 0 .824.807 1.496 1.815 1.496 1.007 0 1.814-.672 1.814-1.496V5.946c0-1.447 1.327-2.613 2.96-2.613 1.634 0 2.96 1.166 2.96 2.613 0 1.275-1.003 2.346-2.4 2.583z'/%3E%3C/svg%3E\")}.weapp_img{position:relative;display:inline-block;vertical-align:bottom;-webkit-user-select:none;-moz-user-select:none;user-select:none}.weapp_img:before,.weapp_img:after{content:\"\";position:absolute;top:8px;right:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;z-index:1}.weapp_img:before{background:rgba(95,95,95,.5);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:100%}.weapp_img:after{-webkit-mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cg fill='%23576B95'%3E %3Cpath d='M8.566 7.434l-1.98-1.98-.754.755 1.257 1.257H2.333v1.067H7.09L5.832 9.79l.754.755 1.98-1.98a.8.8 0 0 0 0-1.132z'/%3E %3Cpath d='M4.333 11.8H3.267v1.067a.8.8 0 0 0 .797.8h7.805a.8.8 0 0 0 .798-.798V3.131a.799.799 0 0 0-.798-.798H4.064a.8.8 0 0 0-.797.8V4.2h1.066v-.8H11.6v9.2H4.333v-.8z'/%3E %3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cg fill='%23576B95'%3E %3Cpath d='M8.566 7.434l-1.98-1.98-.754.755 1.257 1.257H2.333v1.067H7.09L5.832 9.79l.754.755 1.98-1.98a.8.8 0 0 0 0-1.132z'/%3E %3Cpath d='M4.333 11.8H3.267v1.067a.8.8 0 0 0 .797.8h7.805a.8.8 0 0 0 .798-.798V3.131a.799.799 0 0 0-.798-.798H4.064a.8.8 0 0 0-.797.8V4.2h1.066v-.8H11.6v9.2H4.333v-.8z'/%3E %3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;-webkit-mask-size:14px;mask-size:14px;background:#FFFFFF}.weapp_img:after{-webkit-mask-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cpath fill='%23576B95' fill-rule='evenodd' d='M10.933 8.529l-.138.002c-.418 0-.662-.3-.505-.644a.902.902 0 0 1 .638-.496c.767-.18 1.288-.765 1.288-1.445 0-.824-.807-1.496-1.815-1.496-1.007 0-1.814.672-1.814 1.496v4.108c0 1.447-1.327 2.613-2.96 2.613-1.634 0-2.96-1.166-2.96-2.613 0-1.269 1.027-2.352 2.426-2.558h.112c.317 0 .545.185.545.45a.488.488 0 0 1-.006.092.348.348 0 0 1-.034.102c-.101.23-.36.429-.638.496-.761.18-1.288.76-1.288 1.418 0 .824.807 1.496 1.815 1.496 1.007 0 1.814-.672 1.814-1.496V5.946c0-1.447 1.327-2.613 2.96-2.613 1.634 0 2.96 1.166 2.96 2.613 0 1.275-1.003 2.346-2.4 2.583z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cpath fill='%23576B95' fill-rule='evenodd' d='M10.933 8.529l-.138.002c-.418 0-.662-.3-.505-.644a.902.902 0 0 1 .638-.496c.767-.18 1.288-.765 1.288-1.445 0-.824-.807-1.496-1.815-1.496-1.007 0-1.814.672-1.814 1.496v4.108c0 1.447-1.327 2.613-2.96 2.613-1.634 0-2.96-1.166-2.96-2.613 0-1.269 1.027-2.352 2.426-2.558h.112c.317 0 .545.185.545.45a.488.488 0 0 1-.006.092.348.348 0 0 1-.034.102c-.101.23-.36.429-.638.496-.761.18-1.288.76-1.288 1.418 0 .824.807 1.496 1.815 1.496 1.007 0 1.814-.672 1.814-1.496V5.946c0-1.447 1.327-2.613 2.96-2.613 1.634 0 2.96 1.166 2.96 2.613 0 1.275-1.003 2.346-2.4 2.583z'/%3E%3C/svg%3E\");-webkit-mask-size:15px;mask-size:15px}.weapp_card{line-height:1.4}.weapp_card_bd{padding:12px 12px 0}.weapp_card_ft{padding:8px 12px;text-align:left}.weapp_card_profile{overflow:hidden}.weapp_card_avatar{font-size:10px;width:2em;height:2em;margin-right:6px;flex-shrink:0}.avatar-img{border-radius:50%;-o-object-fit:cover;object-fit:cover}.weapp_card_nickname{width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;font-size:14px;line-height:1.4;color:var(--weui-FG-1)}.weapp_card_title{margin:8px 0 12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--weui-FG-0);font-size:17px;text-align:left}.weapp_card_thumb_wrp{position:relative;padding-bottom:80%;overflow:hidden;border-radius:2px}.weapp_card_thumb_wrp:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.weapp_card_thumb{position:absolute;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-touch-callout:none}.weapp_card_logo{font-size:14px;color:var(--weui-FG-1)}.weapp_card_logo:before{content:\"\";display:inline-block;vertical-align:middle;width:18px;height:18px;margin-top:-.2em;margin-right:4px;background-size:cover;background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E %3Cpath fill='%236467F0' fill-rule='evenodd' d='M12.753 9.743l-.177.003c-.535 0-.846-.393-.645-.845a1.16 1.16 0 0 1 .816-.651c.981-.237 1.648-1.004 1.648-1.897 0-1.081-1.032-1.963-2.322-1.963s-2.322.882-2.322 1.963v5.392c0 1.899-1.698 3.428-3.788 3.428s-3.788-1.53-3.788-3.428c0-1.665 1.314-3.087 3.105-3.357h.144c.405 0 .697.243.697.589a.64.64 0 0 1-.008.122.464.464 0 0 1-.044.134c-.13.301-.46.562-.816.651-.974.236-1.648.998-1.648 1.86 0 1.082 1.032 1.964 2.322 1.964s2.322-.882 2.322-1.963V6.353c0-1.899 1.698-3.428 3.788-3.428s3.788 1.53 3.788 3.428c0 1.674-1.283 3.079-3.072 3.39z'/%3E%3C/svg%3E\")}.guarantee_icon{display:inline-block;flex-shrink:0;margin-left:8px;font-size:10px;vertical-align:middle;width:1.6em;height:1.6em;text-indent:-999em;background-size:cover;background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cg fill='none' fill-rule='evenodd'%3E %3Cpath d='M0 0h16v16H0z'/%3E %3Cpath fill='%2307C160' fill-opacity='.1' d='M9.155.976l4.357 2.513a2.307 2.307 0 0 1 1.155 1.998v5.026c0 .824-.44 1.586-1.155 1.998l-4.357 2.513a2.311 2.311 0 0 1-2.31 0l-4.357-2.513a2.307 2.307 0 0 1-1.155-1.998V5.487c0-.824.44-1.586 1.155-1.998L6.845.976a2.311 2.311 0 0 1 2.31 0z'/%3E %3Cpath fill='%2307C160' fill-rule='nonzero' d='M9.155.976l4.357 2.513a2.307 2.307 0 0 1 1.155 1.998v5.026c0 .824-.44 1.586-1.155 1.998l-4.357 2.513a2.311 2.311 0 0 1-2.31 0l-4.357-2.513a2.307 2.307 0 0 1-1.155-1.998V5.487c0-.824.44-1.586 1.155-1.998L6.845.976a2.311 2.311 0 0 1 2.31 0zm-.4.693a1.511 1.511 0 0 0-1.51 0L2.888 4.182c-.467.27-.755.767-.755 1.305v5.026c0 .538.288 1.036.755 1.305l4.357 2.513c.467.27 1.043.27 1.51 0l4.357-2.513c.467-.27.755-.767.755-1.305V5.487c0-.538-.288-1.036-.755-1.305L8.755 1.669z'/%3E %3Cpath fill='%2307C160' fill-rule='nonzero' d='M6.783 4.804h4.025v2.56H6.783v-2.56zm1.64 6.54V9.289c-.49.69-1.08 1.204-2.023 1.802l-.445-.69c1.05-.514 1.64-.997 2.131-1.672H6.37v-.697h2.055V7.48h.743v.552h2.07v.697h-1.84c.499.629 1.173 1.135 2.093 1.58l-.421.72a7.73 7.73 0 0 1-1.902-1.725v2.04h-.743zm-3.25.023V7.748c-.169.26-.36.514-.56.767l-.467-.69c.529-.729 1.288-2.162 1.594-3.305l.798.192c-.192.59-.391 1.142-.621 1.656v4.999h-.744zm2.4-5.827v1.089h2.445V5.54H7.573z'/%3E %3C/g%3E%3C/svg%3E\")}.safe_buy_icon{display:inline-flex;align-items:center;padding:2px 4px;margin-left:6px;background-color:#ff61461a;color:transparent;font-size:0}.safe_buy_icon:before{color:#ff6146;font-size:10px;content:\"\";display:inline-block;vertical-align:middle;width:3.3em;height:1.2em;-webkit-mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33' height='12' viewBox='0 0 33 12'%3E %3Cpath fill='%23FF6146' fill-rule='evenodd' d='M28.196 8.24c.522.221 1.023.473 1.502.755.466.274.907.574 1.325.9a.127.127 0 0 1 .01.19l-.624.617a.127.127 0 0 1-.17.007c-.489-.4-.914-.733-1.275-.998a9.878 9.878 0 0 0-1.21-.762.127.127 0 0 1-.045-.184l.334-.48a.127.127 0 0 1 .153-.045zm-.505-4.714c.07 0 .126.057.126.127v.938c0 .49-.084 1.638-.179 2.044h3.677c.07 0 .127.057.127.127v.683c0 .07-.057.127-.127.127h-4.003a3.584 3.584 0 0 1-.257.461c-.16.24-.315.486-.513.7-1.242 1.345-3.219 2.005-5.93 1.982a.127.127 0 0 1-.125-.127v-.377c0-.067.053-.123.12-.126 2.334-.108 4.066-.776 5.197-2.004a4.16 4.16 0 0 0 .37-.509h-3.867a.127.127 0 0 1-.127-.127v-.683c0-.07.057-.127.127-.127h4.287c.128-.417.243-1.542.243-2.044v-.938c0-.07.057-.127.127-.127zM6.718 1.228l.728.12a.127.127 0 0 1 .103.152c-.098.461-.182.82-.254 1.075l-.034.119h2.813c.056 0 .103.036.12.087l.006.04v.683a.127.127 0 0 1-.086.12l-.04.007h-.58C9.41 5.28 9.02 6.696 8.303 7.857c.451.64 1.064 1.147 1.84 1.524.446.216 1.276.446 2.49.688.044.01.08.04.094.081l.008.044v.376a.126.126 0 0 1-.142.126c-1.426-.178-2.408-.39-2.947-.635a5.608 5.608 0 0 1-1.911-1.41c-.325.393-.61.66-1.09 1.077-.3.26-.695.53-1.187.81a.127.127 0 0 1-.135-.007l-.034-.035-.43-.669a.127.127 0 0 1 .047-.18c.521-.278.92-.533 1.196-.763.446-.372.763-.683 1.063-1.078a12.19 12.19 0 0 1-1.127-2.495 11.178 11.178 0 0 1-.404.502.127.127 0 0 1-.139.016l-.039-.031-.449-.532a.127.127 0 0 1-.005-.157c.246-.334.425-.598.536-.792.355-.62.637-1.333.847-2.138.05-.188.112-.471.188-.851a.127.127 0 0 1 .069-.09l.036-.01h.04zm-3.5.004c.16.344.276.599.347.765.102.24.192.468.271.687h1.391c.07 0 .127.057.127.127v.673c0 .07-.057.126-.127.126h-2.35v.826c0 .162-.01.316-.01.468h1.058c.527 0 .954.42.951.93-.01 2.001-.061 3.26-.144 3.775-.106.59-.559.886-1.36.886-.09 0-.31-.014-.658-.043a.126.126 0 0 1-.112-.094l-.153-.575a.127.127 0 0 1 .133-.159c.294.024.508.036.643.036.338 0 .537-.163.601-.488.06-.313.092-1.363.103-3.132a.241.241 0 0 0-.24-.24h-.864a14.394 14.394 0 0 1-.61 3.334 5.72 5.72 0 0 1-.66 1.362.127.127 0 0 1-.175.039l-.014-.01-.586-.499a.127.127 0 0 1-.025-.163 6.1 6.1 0 0 0 .652-1.38c.332-1.071.519-2.408.532-4.047V3.61h-.884a.127.127 0 0 1-.126-.126V2.81c0-.07.056-.127.126-.127h1.77c-.116-.273-.3-.658-.55-1.153a.127.127 0 0 1 .08-.18l.715-.188a.126.126 0 0 1 .147.069zm11.66 2.124c.055 0 .103.036.12.087l.006.04-.022 4.968c0 .48.43.87.926.87h1.34a.909.909 0 0 0 .638-.257.852.852 0 0 0 .262-.618l-.005-.958a.127.127 0 0 1 .168-.12l.729.254c.05.018.084.065.085.119l.005.7c.003.493-.194.958-.554 1.308-.36.35-.818.542-1.328.542h-1.34c-1.05 0-1.904-.825-1.904-1.84V3.483c0-.07.056-.127.126-.127h.747zm-2.34 1.033l.002.001.71.144a.127.127 0 0 1 .1.147c-.194 1.071-.354 1.852-.48 2.343-.132.511-.355 1.206-.668 2.083a.127.127 0 0 1-.185.066l-.642-.386a.127.127 0 0 1-.055-.15c.298-.85.505-1.501.623-1.954.125-.478.274-1.209.447-2.19a.127.127 0 0 1 .147-.104zm7-.192c.372.89.654 1.602.846 2.135.194.541.426 1.21.695 2.006a.127.127 0 0 1-.07.156l-.684.297a.127.127 0 0 1-.17-.076c-.291-.852-.54-1.558-.743-2.119a35.45 35.45 0 0 0-.832-2.063.127.127 0 0 1 .031-.145l.034-.022a.127.127 0 0 1 .012-.004l.726-.237c.062-.02.13.011.155.072zM8.557 3.631H6.934c-.105.254-.211.5-.327.724A12.43 12.43 0 0 0 7.703 6.95c.495-.947.78-2.057.854-3.32zm14.676.81c.41.16.765.32 1.065.48.29.153.592.328.91.525a.127.127 0 0 1 .039.178l-.372.55a.127.127 0 0 1-.176.035 24.441 24.441 0 0 0-.927-.597 6.58 6.58 0 0 0-.958-.466.127.127 0 0 1-.057-.19l.326-.47a.127.127 0 0 1 .15-.045zm.779-1.235c.404.15.753.295 1.046.44.303.148.63.324.98.527a.127.127 0 0 1 .04.18l-.37.55a.127.127 0 0 1-.174.036 19.512 19.512 0 0 0-.99-.6 7.84 7.84 0 0 0-.947-.436.127.127 0 0 1-.057-.191l.324-.46a.127.127 0 0 1 .148-.046zM30.333.225a.33.33 0 0 1 .333.38c-.005.051 0 .146.005.186l.044.292c.018.116.04.231.071.344.032.111.075.221.14.317a.761.761 0 0 0 .236.222 1.161 1.161 0 0 0 .53.154c.116.007.149.002.223.002a.34.34 0 0 1 .335.344.34.34 0 0 1-.335.344c-.074 0-.107-.005-.224.001a1.162 1.162 0 0 0-.529.155.75.75 0 0 0-.237.222 1.086 1.086 0 0 0-.139.317c-.072.256-.088.52-.115.784-.005.04-.01.135-.005.184a.331.331 0 0 1-.333.382.331.331 0 0 1-.331-.382.999.999 0 0 0-.006-.184c-.033-.264-.041-.526-.115-.784a1.086 1.086 0 0 0-.139-.317.75.75 0 0 0-.237-.222 1.162 1.162 0 0 0-.529-.155c-.116-.006-.149-.001-.223-.001a.34.34 0 0 1-.335-.344.34.34 0 0 1 .335-.344c.074 0 .107.005.223-.002a1.161 1.161 0 0 0 .529-.154.761.761 0 0 0 .237-.222c.065-.096.108-.206.14-.317.03-.113.052-.228.071-.344l.043-.292c.006-.04.01-.135.006-.185a.33.33 0 0 1 .332-.38zm-14.52 1.062c.324.369.586.671.787.909l.18.216.075.091c.257.318.578.75.962 1.296a.127.127 0 0 1-.035.18l-.628.409a.127.127 0 0 1-.175-.036 23.946 23.946 0 0 0-.9-1.268 35.338 35.338 0 0 0-1.06-1.265.127.127 0 0 1 .013-.178l.017-.013.603-.365a.127.127 0 0 1 .161.024zm12.314.701c.054 0 .085.056.056.1-.073.115-.176.247-.18.388-.005.114.076.222.117.32a.065.065 0 0 1-.063.089h-5.382a.127.127 0 0 1-.126-.127v-.643c0-.07.056-.127.126-.127z'/%3E%3C/svg%3E\") no-repeat 50% 50%;mask:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33' height='12' viewBox='0 0 33 12'%3E %3Cpath fill='%23FF6146' fill-rule='evenodd' d='M28.196 8.24c.522.221 1.023.473 1.502.755.466.274.907.574 1.325.9a.127.127 0 0 1 .01.19l-.624.617a.127.127 0 0 1-.17.007c-.489-.4-.914-.733-1.275-.998a9.878 9.878 0 0 0-1.21-.762.127.127 0 0 1-.045-.184l.334-.48a.127.127 0 0 1 .153-.045zm-.505-4.714c.07 0 .126.057.126.127v.938c0 .49-.084 1.638-.179 2.044h3.677c.07 0 .127.057.127.127v.683c0 .07-.057.127-.127.127h-4.003a3.584 3.584 0 0 1-.257.461c-.16.24-.315.486-.513.7-1.242 1.345-3.219 2.005-5.93 1.982a.127.127 0 0 1-.125-.127v-.377c0-.067.053-.123.12-.126 2.334-.108 4.066-.776 5.197-2.004a4.16 4.16 0 0 0 .37-.509h-3.867a.127.127 0 0 1-.127-.127v-.683c0-.07.057-.127.127-.127h4.287c.128-.417.243-1.542.243-2.044v-.938c0-.07.057-.127.127-.127zM6.718 1.228l.728.12a.127.127 0 0 1 .103.152c-.098.461-.182.82-.254 1.075l-.034.119h2.813c.056 0 .103.036.12.087l.006.04v.683a.127.127 0 0 1-.086.12l-.04.007h-.58C9.41 5.28 9.02 6.696 8.303 7.857c.451.64 1.064 1.147 1.84 1.524.446.216 1.276.446 2.49.688.044.01.08.04.094.081l.008.044v.376a.126.126 0 0 1-.142.126c-1.426-.178-2.408-.39-2.947-.635a5.608 5.608 0 0 1-1.911-1.41c-.325.393-.61.66-1.09 1.077-.3.26-.695.53-1.187.81a.127.127 0 0 1-.135-.007l-.034-.035-.43-.669a.127.127 0 0 1 .047-.18c.521-.278.92-.533 1.196-.763.446-.372.763-.683 1.063-1.078a12.19 12.19 0 0 1-1.127-2.495 11.178 11.178 0 0 1-.404.502.127.127 0 0 1-.139.016l-.039-.031-.449-.532a.127.127 0 0 1-.005-.157c.246-.334.425-.598.536-.792.355-.62.637-1.333.847-2.138.05-.188.112-.471.188-.851a.127.127 0 0 1 .069-.09l.036-.01h.04zm-3.5.004c.16.344.276.599.347.765.102.24.192.468.271.687h1.391c.07 0 .127.057.127.127v.673c0 .07-.057.126-.127.126h-2.35v.826c0 .162-.01.316-.01.468h1.058c.527 0 .954.42.951.93-.01 2.001-.061 3.26-.144 3.775-.106.59-.559.886-1.36.886-.09 0-.31-.014-.658-.043a.126.126 0 0 1-.112-.094l-.153-.575a.127.127 0 0 1 .133-.159c.294.024.508.036.643.036.338 0 .537-.163.601-.488.06-.313.092-1.363.103-3.132a.241.241 0 0 0-.24-.24h-.864a14.394 14.394 0 0 1-.61 3.334 5.72 5.72 0 0 1-.66 1.362.127.127 0 0 1-.175.039l-.014-.01-.586-.499a.127.127 0 0 1-.025-.163 6.1 6.1 0 0 0 .652-1.38c.332-1.071.519-2.408.532-4.047V3.61h-.884a.127.127 0 0 1-.126-.126V2.81c0-.07.056-.127.126-.127h1.77c-.116-.273-.3-.658-.55-1.153a.127.127 0 0 1 .08-.18l.715-.188a.126.126 0 0 1 .147.069zm11.66 2.124c.055 0 .103.036.12.087l.006.04-.022 4.968c0 .48.43.87.926.87h1.34a.909.909 0 0 0 .638-.257.852.852 0 0 0 .262-.618l-.005-.958a.127.127 0 0 1 .168-.12l.729.254c.05.018.084.065.085.119l.005.7c.003.493-.194.958-.554 1.308-.36.35-.818.542-1.328.542h-1.34c-1.05 0-1.904-.825-1.904-1.84V3.483c0-.07.056-.127.126-.127h.747zm-2.34 1.033l.002.001.71.144a.127.127 0 0 1 .1.147c-.194 1.071-.354 1.852-.48 2.343-.132.511-.355 1.206-.668 2.083a.127.127 0 0 1-.185.066l-.642-.386a.127.127 0 0 1-.055-.15c.298-.85.505-1.501.623-1.954.125-.478.274-1.209.447-2.19a.127.127 0 0 1 .147-.104zm7-.192c.372.89.654 1.602.846 2.135.194.541.426 1.21.695 2.006a.127.127 0 0 1-.07.156l-.684.297a.127.127 0 0 1-.17-.076c-.291-.852-.54-1.558-.743-2.119a35.45 35.45 0 0 0-.832-2.063.127.127 0 0 1 .031-.145l.034-.022a.127.127 0 0 1 .012-.004l.726-.237c.062-.02.13.011.155.072zM8.557 3.631H6.934c-.105.254-.211.5-.327.724A12.43 12.43 0 0 0 7.703 6.95c.495-.947.78-2.057.854-3.32zm14.676.81c.41.16.765.32 1.065.48.29.153.592.328.91.525a.127.127 0 0 1 .039.178l-.372.55a.127.127 0 0 1-.176.035 24.441 24.441 0 0 0-.927-.597 6.58 6.58 0 0 0-.958-.466.127.127 0 0 1-.057-.19l.326-.47a.127.127 0 0 1 .15-.045zm.779-1.235c.404.15.753.295 1.046.44.303.148.63.324.98.527a.127.127 0 0 1 .04.18l-.37.55a.127.127 0 0 1-.174.036 19.512 19.512 0 0 0-.99-.6 7.84 7.84 0 0 0-.947-.436.127.127 0 0 1-.057-.191l.324-.46a.127.127 0 0 1 .148-.046zM30.333.225a.33.33 0 0 1 .333.38c-.005.051 0 .146.005.186l.044.292c.018.116.04.231.071.344.032.111.075.221.14.317a.761.761 0 0 0 .236.222 1.161 1.161 0 0 0 .53.154c.116.007.149.002.223.002a.34.34 0 0 1 .335.344.34.34 0 0 1-.335.344c-.074 0-.107-.005-.224.001a1.162 1.162 0 0 0-.529.155.75.75 0 0 0-.237.222 1.086 1.086 0 0 0-.139.317c-.072.256-.088.52-.115.784-.005.04-.01.135-.005.184a.331.331 0 0 1-.333.382.331.331 0 0 1-.331-.382.999.999 0 0 0-.006-.184c-.033-.264-.041-.526-.115-.784a1.086 1.086 0 0 0-.139-.317.75.75 0 0 0-.237-.222 1.162 1.162 0 0 0-.529-.155c-.116-.006-.149-.001-.223-.001a.34.34 0 0 1-.335-.344.34.34 0 0 1 .335-.344c.074 0 .107.005.223-.002a1.161 1.161 0 0 0 .529-.154.761.761 0 0 0 .237-.222c.065-.096.108-.206.14-.317.03-.113.052-.228.071-.344l.043-.292c.006-.04.01-.135.006-.185a.33.33 0 0 1 .332-.38zm-14.52 1.062c.324.369.586.671.787.909l.18.216.075.091c.257.318.578.75.962 1.296a.127.127 0 0 1-.035.18l-.628.409a.127.127 0 0 1-.175-.036 23.946 23.946 0 0 0-.9-1.268 35.338 35.338 0 0 0-1.06-1.265.127.127 0 0 1 .013-.178l.017-.013.603-.365a.127.127 0 0 1 .161.024zm12.314.701c.054 0 .085.056.056.1-.073.115-.176.247-.18.388-.005.114.076.222.117.32a.065.065 0 0 1-.063.089h-5.382a.127.127 0 0 1-.126-.127v-.643c0-.07.056-.127.126-.127z'/%3E%3C/svg%3E\") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:currentColor}.quote-container{padding:12px;border-radius:8px;background-color:var(--weui-BG-1);display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.quote-container .quote-image{font-size:44px;width:1em;height:1em;border-radius:50%}.quote-container .quote-nickname{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.quote-container .quote-caption{flex:1;width:200px;margin-left:8px;line-height:1.4;font-size:15px;color:var(--weui-FG-0)}.quote-container .quote-label{color:var(--weui-FG-2);font-size:14px;margin-top:2px}.map-container{padding:12px;border-radius:8px;background-color:var(--weui-BG-1);display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.map-container .map-image{font-size:44px;width:1em;height:1em;border-radius:1px}.map-container .map-title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.map-container .map-caption{flex:1;width:300px;margin-left:8px;line-height:1.4;font-size:15px;color:var(--weui-FG-0)}.map-container .map-label{color:var(--weui-FG-2);font-size:14px}.weapp_card_new{padding:12px;background:var(--weui-BG-1);border-radius:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.weapp_card_new_row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}.weapp_card_new_left{flex:1;min-width:0}.weapp_card_new_title{font-size:15px;line-height:1.4;color:var(--weui-FG-0);width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.weapp_card_new_info{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;margin-top:1px}.weapp_card_new_icon{flex-shrink:0;font-size:16px;width:1em;height:1em;background-color:var(--weui-FG-2);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 14.167A5.667 5.667 0 1 1 8 2.834a5.667 5.667 0 0 1 0 11.333zm0 1A6.667 6.667 0 1 1 8 1.834a6.667 6.667 0 0 1 0 13.333zm2.098-6.185c.498-.008.954-.265 1.283-.635.328-.37.54-.862.54-1.362 0-1.131-1.01-2.018-2.22-2.018-1.21 0-2.22.887-2.22 2.018v3.03c0 .538-.518 1.013-1.214 1.013-.697 0-1.214-.475-1.214-1.013 0-.432.339-.832.857-.957a.787.787 0 0 0 .519-.415.358.358 0 0 0 .038-.184c-.001-.252-.224-.421-.483-.421h-.091l-.01.001c-1.035.157-1.816.987-1.816 1.976 0 1.132 1.01 2.019 2.22 2.019 1.21 0 2.22-.887 2.22-2.019v-3.03c0-.538.518-1.012 1.214-1.012.697 0 1.214.474 1.214 1.012 0 .451-.337.852-.856.977a.743.743 0 0 0-.521.418.408.408 0 0 0 .04.43.506.506 0 0 0 .406.173h.094z' fill='%23576B95'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 14.167A5.667 5.667 0 1 1 8 2.834a5.667 5.667 0 0 1 0 11.333zm0 1A6.667 6.667 0 1 1 8 1.834a6.667 6.667 0 0 1 0 13.333zm2.098-6.185c.498-.008.954-.265 1.283-.635.328-.37.54-.862.54-1.362 0-1.131-1.01-2.018-2.22-2.018-1.21 0-2.22.887-2.22 2.018v3.03c0 .538-.518 1.013-1.214 1.013-.697 0-1.214-.475-1.214-1.013 0-.432.339-.832.857-.957a.787.787 0 0 0 .519-.415.358.358 0 0 0 .038-.184c-.001-.252-.224-.421-.483-.421h-.091l-.01.001c-1.035.157-1.816.987-1.816 1.976 0 1.132 1.01 2.019 2.22 2.019 1.21 0 2.22-.887 2.22-2.019v-3.03c0-.538.518-1.012 1.214-1.012.697 0 1.214.474 1.214 1.012 0 .451-.337.852-.856.977a.743.743 0 0 0-.521.418.408.408 0 0 0 .04.43.506.506 0 0 0 .406.173h.094z' fill='%23576B95'/%3E%3C/svg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.weapp_card_new_name{font-size:14px;line-height:1.4;color:var(--weui-FG-2);margin-left:4px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.weapp_card_new_right{flex-shrink:0;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;margin-left:8px}.weapp_card_new_action{white-space:nowrap;font-size:14px;line-height:1.4;color:var(--weui-FG-2)}.weapp_card_new_arrow{flex-shrink:0;font-size:10px;width:1em;height:2em;margin-left:2px;background-color:var(--weui-FG-2);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.4541 6.58068L3.51476 5.52002L9.29366 11.2989C9.68378 11.689 9.68724 12.3181 9.29366 12.7117L3.51476 18.4906L2.4541 17.4299L7.87872 12.0053L2.4541 6.58068Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.4541 6.58068L3.51476 5.52002L9.29366 11.2989C9.68378 11.689 9.68724 12.3181 9.29366 12.7117L3.51476 18.4906L2.4541 17.4299L7.87872 12.0053L2.4541 6.58068Z' fill='black'/%3E%3C/svg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}\n", c$1 = { path: "data-miniprogram-path", nickname: "data-miniprogram-nickname", avatar: "data-miniprogram-avatar", title: "data-miniprogram-title", desc: "data-miniprogram-desc", imageUrl: "data-miniprogram-imageurl", type: "data-miniprogram-type", textContent: "data-miniprogram-textcontent", serviceType: "data-miniprogram-servicetype", appid: "data-miniprogram-appid", is_hover: "data-is-hover", is_selected: "data-is-selected", applink: "data-miniprogram-applink", imageurlBack: "data-miniprogram-imageurlback", cropperInfo: "data-miniprogram-cropperinfo", username: "data-miniprogram-username", frontendStyle: "data-miniprogram-frontendstyle" }; function d$1(a) { var e = {}; return e = o$6.call(this, c$1), e.is_hover *= 1, e.is_selected *= 1, e.frontendStyle = (e.frontendStyle || 0) * 1, _objectSpread$3(_objectSpread$3({}, e), {}, { platform: a }); } function h() { var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; H$3(Object.assign(a, { Component: a.isDev ? a.devComponent : g$1, styleText: a.isDev ? a.devStyleText : n$2, customName: a.customName || "mp-common-miniprogram", watchAttr: ["data-miniprogram-appid", "data-is-hover", "data-is-selected", "data-miniprogram-title", "data-miniprogram-desc", "data-miniprogram-frontendstyle"], getProps: d$1 })); } try { if (typeof parent.window.hasListenMpPageAction === 'undefined') { parent.window.hasListenMpPageAction = false; } if (typeof parent.window.hasListenStateChange === 'undefined') { parent.window.hasListenStateChange = false; } } catch (error) { } var mpPageActionCb = []; var stateChangeCb = []; var HistoryLS = new LS('history4secondopen'); var HistoryKey = 'from'; var hasListenPopstateForSecOpenReload = false; var webComptStatus = { status: 'loading' }; var webComptInitCb = []; var directionHandlerId = 0; var directionChangeHandlersMap = {}; function isNativePage() { return Url.getQuery('isNativePage') === '1' || Url.getQuery('isNativePage') === '2'; } function debounce$1(func) { var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 50; var timeout; return function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var context = this; var later = function later() { timeout = null; func.apply(context, args); }; if (timeout) { return; } timeout = setTimeout(later, wait); }; } function checkIntersect(rectA, rectB) { return !(rectB.right < rectA.left || rectB.left > rectA.right || rectB.bottom < rectA.top || rectB.top > rectA.bottom); } var utils = { isNativePage: isNativePage, isNewNativePage: function isNewNativePage() { return Url.getQuery('isNativePage') === '2'; }, isOldNativePage: function isOldNativePage() { return Url.getQuery('isNativePage') === '1'; }, __useWcSlPlayer: false, isWcSlPage: function isWcSlPage() { return utils.__useWcSlPlayer; }, getPlayerType: function getPlayerType() { if (isNativePage()) { return 2; } return 1; }, getParam: function getParam(key) { if (!key) return null; var m = location.href.match(new RegExp("(\\?|&)".concat(key, "=([^&]+)"))); return m ? m[2] : null; }, insertAfter: function insertAfter(newElement, targetElement) { var parentElement = targetElement.parentNode; if (parentElement.lastChild === targetElement) { parentElement.appendChild(newElement); } else { parentElement.insertBefore(newElement, targetElement.nextSibling); } }, getInnerHeight: function getInnerHeight() { var innerHeightFromApp = window.getInnerHeight && window.getInnerHeight(); return innerHeightFromApp || window.innerHeight || document.documentElement.clientHeight; }, getInnerWidth: function getInnerWidth() { return window.innerWidth || document.documentElement.clientWidth; }, getScrollTop: function getScrollTop() { return document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; }, getDocumentHeight: function getDocumentHeight() { return document.body.scrollHeight; }, getElementActualTop: function getElementActualTop(element) { var elRect = element.getBoundingClientRect(); var actualTop = elRect.top + this.getScrollTop(); return actualTop; }, getElementTop: function getElementTop(element) { return element.getBoundingClientRect().top; }, getElementHeight: function getElementHeight(element) { return element.getBoundingClientRect().height; }, getOrientation: function getOrientation() { var _a, _b; return (_b = (_a = window.screen.orientation) === null || _a === void 0 ? void 0 : _a.angle) !== null && _b !== void 0 ? _b : window.orientation; }, getDirection: function getDirection() { var orientation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : utils.getOrientation(); return (MMVersion.isIPad ? [90, 270] : [0, 180]).indexOf(orientation) > -1 ? 'vertical' : 'horizontal'; }, listenDirectionChange: function listenDirectionChange(cb) { var _a, _b; if ((_b = (_a = window.screen) === null || _a === void 0 ? void 0 : _a.orientation) === null || _b === void 0 ? void 0 : _b.addEventListener) { directionChangeHandlersMap[directionHandlerId] = function (e) { cb === null || cb === void 0 ? void 0 : cb(utils.getDirection(e.target.angle), e.target.angle); }; window.screen.orientation.addEventListener('change', directionChangeHandlersMap[directionHandlerId]); } else { directionChangeHandlersMap[directionHandlerId] = function () { var orientation = utils.getOrientation(); cb === null || cb === void 0 ? void 0 : cb(utils.getDirection(orientation), orientation); }; window.addEventListener('orientationchange', directionChangeHandlersMap[directionHandlerId]); } return directionHandlerId++; }, unlistenDirectionChange: function unlistenDirectionChange(handlerId) { var _a, _b; if ((_b = (_a = window.screen) === null || _a === void 0 ? void 0 : _a.orientation) === null || _b === void 0 ? void 0 : _b.removeEventListener) { window.screen.orientation.removeEventListener('change', directionChangeHandlersMap[handlerId]); } else { window.removeEventListener('orientationchange', directionChangeHandlersMap[handlerId]); } delete directionChangeHandlersMap[handlerId]; }, isScrollEnd: function isScrollEnd(threshold) { return this.getScrollTop() + this.getInnerHeight() + threshold >= this.getDocumentHeight(); }, listenStateChange: function listenStateChange() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; stateChangeCb.push(opt.cb); try { if (parent.window.hasListenStateChange) { return; } } catch (error) { } R$4.on('activity:state_change', function (res) { stateChangeCb.forEach(function (callback) { callback(res); }); }); try { parent.window.hasListenStateChange = true; } catch (error) { } }, listenMpPageAction: function listenMpPageAction(cb) { mpPageActionCb.push(cb); try { if (parent.window.hasListenMpPageAction) { return; } } catch (error) { } R$4.on('onMPPageAction', function (res) { mpPageActionCb.forEach(function (callback) { callback(res); }); }); try { parent.window.hasListenMpPageAction = true; } catch (error) { } }, getIosMainVersion: function getIosMainVersion() { var versionInfo = navigator.userAgent.toLowerCase().match(/cpu iphone os (.*?) like mac os/); return versionInfo && versionInfo[1] && parseInt(versionInfo[1].split('_')[0], 10); }, report120081: function report120081(key, times) { jsmonitorReport$1.setSum(120081, key, times); jsmonitorReport$1.send(); }, loadNewPageKeepingHistoryStackIfSecOpen: function loadNewPageKeepingHistoryStackIfSecOpen(url) { if (window.__second_open__ && typeof url === 'string' && /^https?:\/\/mp.weixin.qq.com\//.test(url)) { HistoryLS.set(HistoryKey, location.href, Date.now() + 10000); } location.href = "".concat(url.replace(/#.*$/, ''), "#wechat_redirect"); }, initNewPageHistoryStackFromSecOpen: function initNewPageHistoryStackFromSecOpen() { var fromUrl = HistoryLS.get(HistoryKey); if (fromUrl && typeof fromUrl === 'string' && /^https?:\/\/mp.weixin.qq.com\//.test(fromUrl)) { HistoryLS.remove(HistoryKey); if (history && history.replaceState && history.pushState) { var curUrl = location.href; try { history.replaceState({ __mock_secopen_history_stack_reload__: 1 }, '', fromUrl); history.pushState({ __mock_secopen_history_stack_reload__: 1 }, '', curUrl); } catch (e) { console.error('[initNewPageHistoryStackFromSecOpen]', e); } } } if (!hasListenPopstateForSecOpenReload) { hasListenPopstateForSecOpenReload = true; window.addEventListener('popstate', function (e) { if (e.state && e.state.__mock_secopen_history_stack_reload__ === 1) { location.reload(); } }); } }, initWebCompt: function initWebCompt(webComptList, callback) { var flushCb = function flushCb() { while (webComptInitCb.length) { var cb = webComptInitCb.shift(); cb(webComptStatus); } }; if (MMVersion.isWechat && !MMVersion.isInMiniProgram && (Device.os.iphone && Device.os.getNumVersion() >= 10.3 && (MMVersion.gtVersion('7.0.14', 1) && Device.os.getNumVersion() < 15 || MMVersion.gtVersion('8.0.7')) || Device.os.android && MMVersion.gtVersion('7.0.15', 1) && Device.os.getNumVersion() >= 5 || Device.os.harmony && MMVersion.compareHexVersion('0xf3800c00'))) { document.addEventListener('WeixinOpenTagsReady', function () { webComptStatus = { status: 'ready' }; flushCb(); }); document.addEventListener('WeixinOpenTagsError', function (e) { webComptStatus = { status: 'error', error: e && e.detail && e.detail.errMsg }; flushCb(); }); R$4.invoke('handleMPPageAction', { action: 'wxConfig', appid: 'wxmpfakeid', webComptList: webComptList, url: location.href }, function (res) { console.log('wx config web compt result', webComptList, res); Log.info('wx config web compt result', webComptList, JSON.stringify(res)); if (res && res.err_msg && res.err_msg.indexOf(':ok') === -1) { webComptStatus = { status: 'error', error: res.err_msg }; flushCb(); } if (typeof callback === 'function') { callback(res); } }); } else { var res = { err_msg: 'handleMPPageAction:fail_webcompt unsupported' }; console.log('wx config web compt result', webComptList, res); Log.info('wx config web compt result', webComptList, JSON.stringify(res)); webComptStatus = { status: 'error', error: res.err_msg }; flushCb(); if (typeof callback === 'function') { callback(res); } } }, initWebComptForWcSlVideoSharePage: function initWebComptForWcSlVideoSharePage() { var initAfterConfWxOpen = function initAfterConfWxOpen(res) { if (res.err_msg.indexOf(':ok') !== -1) { utils.initNewPageHistoryStackFromSecOpen(); } else { window.__failConfigWxOpen = true; Log.info('failed to config wxopen: res not ok'); jsmonitorReport$1.setSum(221515, Device.os.iphone ? 7 : 8, 1); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && res && window.WX_BJ_REPORT.BadJs.report('WcSlPlayer:CfgError', (window.__second_open__ ? 'secopen:' : 'h5:') + JSON.stringify(res)); } }; if (MMVersion.isAndroid) { var clientVer = MMVersion.getInner(); if (clientVer > '27001037' && clientVer < '27001060' || clientVer >= '27001100') { utils.initWebCompt(['wxOpen' ], initAfterConfWxOpen); } else if (MMVersion.gtVersion('7.0.15', 1)) { window.__failConfigWxOpen = true; Log.info('failed to config wxopen: android version check failed (gt 7.0.15)'); } else { window.__failConfigWxOpen = true; Log.info('failed to config wxopen: android version check failed'); } } else if (MMVersion.isIOS) { if (MMVersion.gtVersion('7.0.15', 1)) { utils.initWebCompt(['wxOpen' ], initAfterConfWxOpen); } else { window.__failConfigWxOpen = true; Log.info('failed to config wxopen: ios version check failed'); } } else { window.__failConfigWxOpen = true; } }, getWebComptStatus: function getWebComptStatus(cb) { if (typeof cb !== 'function') { return webComptStatus; } if (webComptStatus.status === 'loading') { webComptInitCb.push(cb); } else { cb(webComptStatus); } return true; }, supportImmersiveMode: MMVersion.isWechat && !MMVersion.isInMiniProgram && (MMVersion.isIOS && MMVersion.gtVersion('8.0.9', 1) || MMVersion.isAndroid && MMVersion.gtVersion('8.0.9', 1)), debounce: debounce$1, bindDebounceScrollEvent: function bindDebounceScrollEvent(fn) { var scrollEle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window; var wait = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 50; var useCapture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var debounceFn = debounce$1(fn, wait); DomEvent.on(scrollEle, 'scroll', '', debounceFn, useCapture); }, checkIntersect: checkIntersect, clickRange: function clickRange(evt) { var selection = window.getSelection(); var range = selection.rangeCount && selection.getRangeAt(0); if (!range || range.collapsed || !range.intersectsNode(evt.target)) { return false; } var rangeClientRects = range.getClientRects(); var targetLineHeight = parseFloat(getComputedStyle(evt.target).lineHeight, 10); var targetRect = evt.target.getBoundingClientRect(); for (var i in rangeClientRects) { if (rangeClientRects.hasOwnProperty(i)) { var rect = rangeClientRects[i]; var extraHeight = targetLineHeight ? (targetLineHeight - rect.height) / 2 : 0; if (rect.width && checkIntersect(rect, targetRect) && evt.clientX >= rect.left && evt.clientX = rect.top - extraHeight && evt.clientY 100000) { showHTML = "".concat(100, "k+"); } else if (parseInt(realNum) > 10000 && parseInt(realNum) 2 && arguments[2] !== undefined ? arguments[2] : false; var jsapiName = canUsePrivateShare && !forceFallback ? 'sendAppMessagePrivate' : 'sendAppMessage'; console.log('[share] try to share:', jsapiName, opt, forceFallback); Log.info("[share] try to share: ".concat(jsapiName, " ").concat(JSON.stringify(opt), " forceFallback:").concat(forceFallback)); R$4.invoke(jsapiName, opt, function (res) { console.log('[share] try to share res:', res, jsapiName, opt, forceFallback); if (!(res && res.err_msg && (res.err_msg.indexOf(':ok') !== -1 || res.err_msg.indexOf(':confirm') !== -1 || res.err_msg.indexOf(':cancel') !== -1 )) && canUsePrivateShare && !forceFallback) { sendAppMessage(opt, callback, true); } else { typeof callback === 'function' && callback(res); } }); } function shareTimeline(opt, callback) { var forceFallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var jsapiName = canUsePrivateShare && !forceFallback ? 'shareTimelinePrivate' : 'shareTimeline'; console.log('[share] try to share:', jsapiName, opt, forceFallback); Log.info("[share] try to share: ".concat(jsapiName, " ").concat(JSON.stringify(opt), " forceFallback:").concat(forceFallback)); R$4.invoke(jsapiName, opt, function (res) { console.log('[share] try to share res:', res, jsapiName, opt, forceFallback); if (!(res && res.err_msg && (res.err_msg.indexOf(':ok') !== -1 || res.err_msg.indexOf('cancel') !== -1)) && canUsePrivateShare && !forceFallback) { shareTimeline(opt, callback, true); } else { typeof callback === 'function' && callback(res); } }); } var e = { d: function d(t, r) { for (var i in r) e.o(r, i) && !e.o(t, i) && Object.defineProperty(t, i, { enumerable: !0, get: r[i] }); }, o: function o(e, t) { return Object.prototype.hasOwnProperty.call(e, t); } }, t = {}; e.d(t, { A: function A() { return s$1; }, Q: function Q() { return a$2; } }); var r$3 = function r(e, t) { var r = {}; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && t.indexOf(i) < 0 && (r[i] = e[i]); if (null != e && "function" == typeof Object.getOwnPropertySymbols) { var n = 0; for (i = Object.getOwnPropertySymbols(e); n < i.length; n++) t.indexOf(i[n]) < 0 && Object.prototype.propertyIsEnumerable.call(e, i[n]) && (r[i[n]] = e[i[n]]); } return r; }, i$1 = function i(e, t, r) { if (r || 2 === arguments.length) for (var i, n = 0, o = t.length; n < o; n++) !i && n in t || (i || (i = Array.prototype.slice.call(t, 0, n)), i[n] = t[n]); return e.concat(i || Array.prototype.slice.call(t)); }, n$1 = function n(e) { if ("object" == _typeof$3(e) && e) return e; if ("string" == typeof e) try { return JSON.parse(e); } catch (e) { return; } }, o = function o(e) { return 173 === e ? 95 : 166 === e ? 147 : [205, 207, 206].includes(e) ? 135 : 78; }; function a$2(e) { var t, a, s = e.thirdExtParam, d = void 0 === s ? "" : s, m = e.kvItems, p = void 0 === m ? [] : m, l = e.sessionKvItems, c = void 0 === l ? [] : l, u = e.scene, x = void 0 === u ? -1 : u, y = (e.query, e.parentType), h = r$3(e, ["thirdExtParam", "kvItems", "sessionKvItems", "scene", "query", "parentType"]), g = { crossExtReqParams: [], sessionExtReqParams: [], originThirdExtParam: "" }; try { if (console.warn("mpThirdExtParamToSearchExtParam init extReqParams:", g), !d) throw new Error("mpThirdExtParamToSearchExtParam thirdExtParam 不存在"); var _ = JSON.parse(decodeURIComponent(d)); if (_) { if (g.originThirdExtParam = JSON.stringify({ s1sKeywordsData: null == _ ? void 0 : _.s1sKeywordsData, mp_bizuin_msgid_msgidx: null == _ ? void 0 : _.mp_bizuin_msgid_msgidx, mp_finger_search_query_pos: null == _ ? void 0 : _.mp_finger_search_query_pos }), null == _ ? void 0 : _.s1sKeywordsData) { var v = (_ || {}).s1sKeywordsData, P = void 0 === v ? {} : v, f = P.enterId, E = void 0 === f ? 0 : f, S = P.s1sContextInfo, q = void 0 === S ? "{}" : S, T = P.s1sStatInfo, I = void 0 === T ? "{}" : T, R = P.sessionId, O = void 0 === R ? "" : R, b = P.postype, C = n$1(decodeURIComponent(q)) || {}, k = n$1(decodeURIComponent(I)) || {}, w = k.bizuin, j = void 0 === w ? 0 : w, z = k.msgid, J = void 0 === z ? 0 : z, N = k.msgidx, V = void 0 === N ? 0 : N, A = C.mixerCommonContext, D = void 0 === A ? "" : A, U = (C.isNeedUpdateGPTInfo, C.S1SPageType); if ([2, 5].includes(void 0 === U ? 1 : U)) return { thirdExtParam: d }; g.crossExtReqParams.push({ key: "parentSearchID", textValue: [y || o(x), E || k.enterId, "", "".concat(j, "_").concat(J, "_").concat(V), encodeURIComponent(JSON.stringify({ enterId: E || k.enterId, sessionId: O, s1sStatInfo: k, postype: b, mpBizuinMsgidMsgidx: (null == _ ? void 0 : _.mp_bizuin_msgid_msgidx) || "".concat(j, "_").concat(J, "_").concat(V), mpFingerSearchQueryPos: null == _ ? void 0 : _.mp_finger_search_query_pos, docid: null == h ? void 0 : h.docid }))].join(":").replace(/,/g, ";") }), D && g.crossExtReqParams.push({ key: "mixerCommonContext", textValue: D }); } else g.crossExtReqParams.push({ key: "parentSearchID", textValue: [y || o(x), 0, "", "", encodeURIComponent(JSON.stringify({ mpBizuinMsgidMsgidx: null == _ ? void 0 : _.mp_bizuin_msgid_msgidx, mpFingerSearchQueryPos: null == _ ? void 0 : _.mp_finger_search_query_pos, docid: null == h ? void 0 : h.docid }))].join(":").replace(/,/g, ";") }); (null == _ ? void 0 : _.mpSelectedContent) && g.sessionExtReqParams.push({ key: "mpSelectedContent", textValue: _.mpSelectedContent }), (null == _ ? void 0 : _.mpSelectActionType) && g.sessionExtReqParams.push({ key: "mpSelectActionType", textValue: String(_.mpSelectActionType) }), (null == _ ? void 0 : _.mp_bizuin_msgid_msgidx) && g.sessionExtReqParams.push({ key: "mpBizuinMsgidMsgidx", textValue: _.mp_bizuin_msgid_msgidx }), (null == _ ? void 0 : _.mp_finger_search_query_context) && g.sessionExtReqParams.push({ key: "mpFingerSearchQueryContext", textValue: _.mp_finger_search_query_context }), (null == _ ? void 0 : _.mp_finger_search_query_pos) && g.sessionExtReqParams.push({ key: "mpFingerSearchQueryPos", textValue: String(_.mp_finger_search_query_pos) }), !(null == _ ? void 0 : _.aiH5Link) && !(null == _ ? void 0 : _.aiH5Title) || [206].includes(x) || g.sessionExtReqParams.push({ key: "aiSearchUploadInfo", textValue: JSON.stringify({ uploadFiles: [{ fileType: 4, fileContentDetail: { mpContentDetail: { title: null == _ ? void 0 : _.aiH5Title } }, url: String(null == _ ? void 0 : _.aiH5Link) }], contentType: 4, allowedContentType: 4 }) }); } return (null == p ? void 0 : p.length) && (t = g.crossExtReqParams).push.apply(t, p), (null == c ? void 0 : c.length) && (a = g.sessionExtReqParams).push.apply(a, c), h && Object.keys(h).length && (g.otherJsApiParams = h), console.warn("mpThirdExtParamToSearchExtParam extReqParams:", g), { thirdExtParam: encodeURIComponent(JSON.stringify(g)), extReqParams: JSON.stringify(i$1(i$1([], g.crossExtReqParams, !0), g.sessionExtReqParams, !0)) }; } catch (e) { return console.error("mpThirdExtParamToSearchExtParam err:", e), { thirdExtParam: d }; } } var s$1 = { mpThirdExtParamToSearchExtParam: a$2 }; t.A; var m = t.Q; var pageHeight = utils.getInnerHeight(); var pageWidth = utils.getInnerWidth(); var g = { inWechat: MMVersion.isWechat, windowWechat: MMVersion.isWindowsWechat, macWechat: MMVersion.isMacWechat, emojiImg: '', emojiDataMap: {} }; function getParam(key) { if (!key) return null; var m = location.href.match(new RegExp("(\\?|&)".concat(key, "=([^&]+)"))); return m ? m[2].split('#')[0] : null; } function getParams(loca) { var vars = []; var params = {}; if (!loca) { try { loca = window.top.location; vars = loca.search.substring(1).split('&'); } catch (e) { loca = window.location; vars = loca.search.substring(1).split('&'); } } if (typeof loca === 'string') { loca = new URL(loca); vars = loca.search.substring(1).split('&'); } for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); var key = decodeURIComponent(pair.shift()); if (typeof params[key] === 'undefined') { params[key] = decodeURIComponent(pair.join('=')); } } return params; } function genUrl(host, params, hash) { if (typeof host !== 'string') { return ''; } if (params && _typeof$3(params) === 'object' && Object.keys(params).length) { host += "?".concat(Object.keys(params).map(function (k) { return "".concat(k, "=").concat(encodeURIComponent(params[k])); }).join('&')); } if (hash && typeof hash === 'string') { host += "#".concat(hash); } return host; } var jumpUrl = function jumpUrl(url, newWin) { var opt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var _a, _b; var openUrlWithExtraWebview = function openUrlWithExtraWebview() { R$4.invoke('openUrlWithExtraWebview', { url: url, 'openType': 1 }, function (res) { var _a; if (((_a = res.err_msg) === null || _a === void 0 ? void 0 : _a.indexOf('ok')) === -1) { if (newWin === true) { window.parent.open(url); } else { window.parent.location.href = url; } } }); }; if (!g.inWechat) { if (newWin === true) { window.open(url); } else { location.href = url; } } else { R$4.invoke('openWebViewUseFastLoad', { url: url, item_show_type: (_b = (_a = opt.itemShowType) !== null && _a !== void 0 ? _a : window.item_show_type * 1) !== null && _b !== void 0 ? _b : 0, openType: 0, scene: 1 }, function (res) { if (res && res.err_msg && res.err_msg.indexOf('ok') === -1) { openUrlWithExtraWebview(); } }); } }; var closeWin = function closeWin() { if (!g.inWechat || g.windowWechat || g.macWechat) { window.close(); } else { R$4.invoke('closeWindow', function (res) { if (res.err_msg.indexOf('ok') == -1) { window.close(); } }); } }; function setTwoTabHeight(id) { if (window.hasChannelTwoTab && utils.isNewNativePage()) { var scrollHeight; scrollHeight = document.getElementById('tab').offsetTop - window.__minHeight; var bodyHeight = document.body.offsetHeight; var minMountHeight = pageHeight + scrollHeight; if (bodyHeight < minMountHeight) { var emptyHeight = scrollHeight + pageHeight - document.body.offsetHeight; var emptyElement = document.createElement('div'); emptyElement.setAttribute('class', 'empty_comment_element'); emptyElement.style.cssText = "height: ".concat(emptyHeight, "px;"); document.getElementById(id).appendChild(emptyElement); } window.minMountHeight = minMountHeight; } } var getId = function getId(id) { return document.getElementById(id); }; var shareReport = function shareReport(shareSource) { var opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (shareSource === 'album') { var postData = { bizuin: window.biz, url: "".concat(opt.url), ActionType: opt.actionType * 1, Scene: window.source * 1, Network: "".concat(window.__networkType), AlbumId: "".concat(opt.albumId), AlbumType: opt.albumType * 1, ExpType: window.exptype || '', EnterId: window.enterid || '', SessionId: window.sessionid || '', ExpSessionIdStr: window.expsessionid || '', RecReqID: Url.getQuery('req_id') * 1 || 0 }; w$5.report(10380, postData, { success: function success(res) { if (res.err_code * 1 !== 0) { if (typeof WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs) { window.WX_BJ_REPORT.BadJs.report('mmdata report failed', 'log_id: 10380', { mid: 'mmbizwap:album_Monitor', _info: { postData: postData, errCode: res.err_code, errMsg: res.err_msg } }); } } } }); } }; var getByClass = function getByClass(className, el) { return (el || document).getElementsByClassName(className); }; var trim = function trim(str) { return "".concat(str || '').replace(/^\s+|\s+$/g, ''); }; var qs = function qs(selector, el) { return (el || document).querySelector(selector); }; var qsAll = function qsAll(selector, el) { return (el || document).querySelectorAll(selector); }; var changeURLArg = function changeURLArg(url, arg, argVal) { var pattern = new RegExp("".concat(arg, "=[^&]*"), 'gi'); var replaceText = "".concat(arg, "=").concat(argVal); if (pattern.test(url)) return url.replace(pattern, replaceText); return url.replace(/(#.*)?$/, "".concat(url.indexOf('?') > -1 ? '&' : '?').concat(replaceText, "$1")); }; function getNetWorkType() { DomEvent.on(window, 'load', function () { if (!window.__networkType && g.inWechat) { var nettypeMap = { 'network_type:fail': 'fail', 'network_type:edge': '2g/3g', 'network_type:wwan': '2g/3g', 'network_type:wifi': 'wifi' }; R$4.invoke('getNetworkType', {}, function (res) { window.__networkType = nettypeMap[res.err_msg]; }); } }, false); } var sceneType = [1, 24, 2, 3, 43, 22, 23, 5]; function shareMessage() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var shareOpt = { appId: opt.appId, img_url: opt.img_url, img_width: opt.img_width, img_height: opt.img_height, link: opt.link.replace(//g, '\n'), desc: opt.desc.replace(//g, '\n'), title: opt.title }; getNetWorkType(); if (!/#wechat_redirect/.test(shareOpt.link)) { shareOpt.link += '#wechat_redirect'; } var shareSource = ''; var reportData = { url: shareOpt.link, actionType: 0 }; var shareReportCallback = shareReport; if (opt.isAlbum) { shareSource = 'album'; shareOpt = Object.assign({ album_id: opt.album_id, album_type: opt.album_type }, shareOpt); reportData = Object.assign({ albumId: opt.album_id, albumType: opt.album_type }, reportData); } else if (typeof opt.shareReport === 'function') { shareReportCallback = function shareReportCallback(shareSource, reportData) { return opt.shareReport(reportData.actionType); }; } R$4.on('menu:share:appmessage', function (argv) { var actionType; if (!!argv && argv.scene === 'favorite') { actionType = 24; shareOpt.link = changeURLArg(shareOpt.link, 'scene', sceneType[1]); } else { actionType = 1; shareOpt.link = changeURLArg(shareOpt.link, 'scene', sceneType[0]); } if (typeof opt.beforeShare === 'function') { try { shareOpt = opt.beforeShare('menu:share:appmessage', shareOpt) || shareOpt; } catch (e) { } } reportData.url = shareOpt.link; reportData.actionType = actionType; shareReportCallback(shareSource, reportData); sendAppMessage(shareOpt); }); R$4.on('menu:share:timeline', function () { shareOpt.link = changeURLArg(shareOpt.link, 'scene', sceneType[2]); reportData.url = shareOpt.link; reportData.actionType = 2; if (typeof opt.beforeShare === 'function') { try { shareOpt = opt.beforeShare('menu:share:timeline', shareOpt) || shareOpt; } catch (e) { } } shareReportCallback(shareSource, reportData); shareTimeline(shareOpt); }); R$4.on('menu:share:weiboApp', function () { shareOpt.link = changeURLArg(shareOpt.link, 'scene', sceneType[3]); reportData.url = shareOpt.link; reportData.actionType = 3; if (typeof opt.beforeShare === 'function') { try { shareOpt = opt.beforeShare('menu:share:weiboApp', shareOpt) || shareOpt; } catch (e) { } } shareReportCallback(shareSource, reportData); R$4.invoke('shareWeiboApp', { img_url: shareOpt.img_url, link: shareOpt.link, title: shareOpt.title }); }); R$4.on('menu:share:facebook', function () { shareOpt.link = changeURLArg(shareOpt.link, 'scene', sceneType[4]); reportData.url = shareOpt.link; reportData.actionType = 7; if (typeof opt.beforeShare === 'function') { try { shareOpt = opt.beforeShare('menu:share:facebook', shareOpt) || shareOpt; } catch (e) { } } shareReportCallback(shareSource, reportData); R$4.invoke('shareFB', shareOpt); }); R$4.on('menu:share:QZone', function () { shareOpt.link = changeURLArg(shareOpt.link, 'scene', sceneType[5]); reportData.url = shareOpt.link; reportData.actionType = 5; if (typeof opt.beforeShare === 'function') { try { shareOpt = opt.beforeShare('menu:share:QZone', shareOpt) || shareOpt; } catch (e) { } } shareReportCallback(shareSource, reportData); R$4.invoke('shareQZone', shareOpt); }); R$4.on('menu:share:qq', function () { shareOpt.link = changeURLArg(shareOpt.link, 'scene', sceneType[6]); reportData.url = shareOpt.link; reportData.actionType = 5; if (typeof opt.beforeShare === 'function') { try { shareOpt = opt.beforeShare('menu:share:qq', shareOpt) || shareOpt; } catch (e) { } } shareReportCallback(shareSource, reportData); R$4.invoke('shareQQ', shareOpt); }); R$4.on('menu:share:email', function () { shareOpt.link = changeURLArg(shareOpt.link, 'scene', sceneType[7]); reportData.url = shareOpt.link; reportData.actionType = 5; if (typeof opt.beforeShare === 'function') { try { shareOpt = opt.beforeShare('menu:share:email', shareOpt) || shareOpt; } catch (e) { } } shareReportCallback(shareSource, reportData); R$4.invoke('sendEmail', { content: shareOpt.link, title: shareOpt.title }); }); } function getQuery(strName) { var strHref = window.location.href; var intPos = strHref.indexOf('?'); var strRight = strHref.substr(intPos + 1); var arrTmp = strRight.split('&'); for (var i = 0; i < arrTmp.length; i++) { var arrTemp = arrTmp[i].split('='); if (arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1]; } return ''; } function goProfile() { var urlOpts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var jsapiInvokeOpts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var cb = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {}; var bizAccountStatus = arguments.length > 3 ? arguments[3] : undefined; jsapiInvokeOpts.extra = JSON.stringify({ pageItemShowType: window.item_show_type }); var callProfileJSAPI = function callProfileJSAPI() { var _a, _b; if ((jsapiInvokeOpts.servicetype * 1 === 5 || ((_b = (_a = jsapiInvokeOpts.username) === null || _a === void 0 ? void 0 : _a.startsWith) === null || _b === void 0 ? void 0 : _b.call(_a, 'phacct_'))) && !supportPhotoAccounts(false)) { if (photoAccountsEnableProfileExt()) { R$4.invoke('openUrlWithExtraWebview', { url: "https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=".concat(urlOpts.biz, "#wechat_redirect"), openType: 1 }, cb); } else { supportPhotoAccounts(); } return; } else { R$4.invoke('profile', jsapiInvokeOpts, cb); } }; if (MMVersion.isWxWork) { wxWorkJSAPI(); } else if (MMVersion.isDonutAPP) { callProfileJSAPI(); } else if (!MMVersion.isWechat) { window.weui.alert('请在微信内打开'); } else if (bizAccountStatus === 1 || bizAccountStatus === 5) { openUrl$1.openUrlWithExtraWebview("https://mp.weixin.qq.com/mp/getprofiletransferpage?__biz=".concat(urlOpts.biz, "#wechat_redirect")); } else if (MMVersion.isWechat && (MMVersion.isIOS || MMVersion.isAndroid || MMVersion.isHarmony || MMVersion.isWindows && MMVersion.cpVersion('3.4.5', 1, true, 'windows') || MMVersion.isMacWechat && MMVersion.cpVersion('3.5.0', 1, true, 'mac') || Device.os.unifiedPC)) { callProfileJSAPI(); } else { location.href = "/mp/profile_ext?action=home&__biz=".concat(urlOpts.biz, "&scene=").concat(urlOpts.scene, "#wechat_redirect"); } } function prepareNativePage(list, attr) { R$4.invoke('createWebViewForFastLoad', { scene: 1 }, function (res) { list.forEach(function (item) { R$4.invoke('downloadPageDataForFastLoad', { itemList: [{ item_show_type: 5, url: item[attr] }] }, function (res) { console.log(res); }); }); }); } function debounce(func, wait) { var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var timeout; return function () { var context = this; var args = arguments; var later = function later() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; } function formatSeconds(value) { var second = parseInt(value, 10); var middle = 0; var hour = 0; if (second > 60) { middle = parseInt(second / 60, 10); second = parseInt(second % 60, 10); if (middle > 60) { hour = parseInt(middle / 60, 10); middle = parseInt(middle % 60, 10); } } if (second < 10) { second = "0".concat(second); } var result = ":".concat(second); if (middle > 0) { if (middle < 10) { middle = "0".concat(middle); } result = middle + result; } else { result = "00".concat(result); } if (hour > 0) { if (parseInt(hour, 10) === 0) { hour = ''; } else { if (hour < 10) { hour = "0".concat(hour); } } result = "".concat(hour, ":").concat(result); } return result; } function formatReadNum(value, showZero) { if (window.LANG === 'en') { return i18n.dealLikeReadShow_en(value, showZero); } var result = ''; if (parseInt(value, 10) > 100000) { result = 10 + '万+'; } else if (parseInt(value, 10) > 10000 && parseInt(value, 10) 0 ? bodyScrollTop : documentScrollTop; return scrollTop; } function getScrollHeight() { var scrollHeight = 0; var bSH; var dSH; if (document.body) { bSH = document.body.scrollHeight; } if (document.documentElement) { dSH = document.documentElement.scrollHeight; } scrollHeight = bSH - dSH > 0 ? bSH : dSH; return scrollHeight; } function getWindowHeight() { var windowHeight = 0; if (document.compatMode === 'CSS1Compat') { windowHeight = document.documentElement.clientHeight; } else { windowHeight = document.body.clientHeight; } return windowHeight; } function openAllVideoPage() { var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var url = "".concat(location.origin, "/mp/profile_ext?action=home&real_type=43&__biz=").concat(opts.biz, "&scene=").concat(opts.scene, "#wechat_redirect"); jumpUrl(url, true); } function openAlbumPage() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var url = "".concat(opt.albumLink.replace('#wechat_redirect', ''), "&scene=").concat(opt.scene, "&is_first_screen=1&subscene=").concat(opt.subscene, "&vid=").concat(opt.vid, "&count=").concat(opt.pageCount ? opt.pageCount : 3, "&from_msgid=").concat(opt.curMsgid ? opt.curMsgid : '', "&from_itemidx=").concat(opt.curItemidx ? opt.curItemidx : '', "&scenenote=").concat(opt.scenenote, "#wechat_redirect"); jumpUrl(url, true); } function getElementTop(element) { return element.getBoundingClientRect().top; } function getElementHeight(element) { return element.getBoundingClientRect().height; } function isPageEnd() { return getScrollTop() + getWindowHeight() + 30 >= getScrollHeight(); } function getMoreVideoInfo(url, vid) { return "".concat(Url.getQuery('__biz', url), "_").concat(Url.getQuery('mid', url), "_").concat(Url.getQuery('idx', url), "_").concat(vid); } function formatAlbumnReadNum(readNum, magnitude) { var isEn = window.LANG === 'en'; var unit = isEn ? 'k' : '万'; var readNumWording = ''; var magnit = magnitude * 10000; var magnitShow = isEn ? magnitude * 10 : magnitude; readNum = parseInt(readNum, 10); if (readNum > magnit) { readNumWording = "".concat(magnitShow + unit, "+"); } else if (readNum >= 10000 && readNum 1 && arguments[1] !== undefined ? arguments[1] : 0.5; var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'vertical'; var container = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window; if (!el) return false; var isExposed = false; var verticalRatio = 0; var horizontalRatio = 0; var checkVertical = false; var checkHorizontal = false; var containerWidth = container === container.window ? pageWidth : container.getBoundingClientRect().width; var containerHeight = container === container.window ? pageHeight : container.getBoundingClientRect().height; if (typeof ratio === 'number') { verticalRatio = ratio; horizontalRatio = ratio; } else { verticalRatio = ratio.vertical; horizontalRatio = ratio.horizontal; } switch (direction) { case 'vertical': checkVertical = true; break; case 'horizontal': checkHorizontal = true; break; case 'all': checkVertical = true; checkHorizontal = true; break; } var rect = el.getBoundingClientRect(); if (checkVertical) { var offsetHeight = rect.height * verticalRatio; if (rect.bottom > offsetHeight && rect.top < containerHeight - offsetHeight) { isExposed = true; } } if (!checkHorizontal) return isExposed; if (checkVertical && !isExposed) return isExposed; var offsetWidth = rect.width * horizontalRatio; if (rect.right > offsetWidth && rect.left < containerWidth - offsetWidth) { isExposed = true; } else { isExposed = false; } return isExposed; }; var isParent = function isParent(el, parent) { while (el) { if (el === parent) return true; el = el.parentNode; } return false; }; var goUrl = function goUrl(url) { var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'webview'; if (!url) return; if (!/^http/.test(url)) url = "".concat(location.protocol, "//").concat(location.host).concat(url); var paramsStr = (url.indexOf('?') === -1 ? '?' : '&') + Object.keys(params).map(function (key) { return "".concat(key, "=").concat(params[key]); }).join('&'); var hashIdx = url.indexOf('#'); if (hashIdx === -1) { url += "".concat(paramsStr, "#wechat_redirect"); } else { url = url.slice(0, hashIdx) + paramsStr + url.slice(hashIdx); } switch (type) { case 'webview': if (navigator.userAgent.indexOf('MicroMessenger') !== -1 && (MMVersion.isIOS || MMVersion.isAndroid || MMVersion.isWp)) { R$4.invoke('openUrlWithExtraWebview', { url: url, openType: 1 }, function (res) { if (res.err_msg.indexOf('ok') === -1) { location.href = url; } }); } else { window.open(url); } break; case 'href': default: location.href = url; } }; var getUrlParamsMap = function getUrlParamsMap(url) { if (!url || !url.length) return {}; var paramStart = url.indexOf('?'); var paramMap = {}; if (paramStart > -1) { url.slice(paramStart + 1, url.indexOf('#') > -1 ? url.indexOf('#') : undefined).split('&').forEach(function (param) { if (param) { var valueStart = param.indexOf('='); if (valueStart > -1) { paramMap[param.slice(0, valueStart)] = param.slice(valueStart + 1); } else { paramMap[param] = ''; } } }); } return paramMap; }; var numFormat2Unit = function numFormat2Unit() { var num = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var radix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; if (typeof num !== 'number' || typeof radix !== 'number') throw new Error("".concat(num, " and ").concat(radix, " should be a number.")); var param = { value: 0, unit: '' }; var limit = 10000; var units = ['', '万', '亿', '万亿']; var factor = 0; if (window.LANG === 'en') { limit = 1000; units = ['', 'k', 'm', 'b']; } if (num < limit) { param.value = num; param.unit = ''; } else { factor = Math.floor(Math.log(num) / Math.log(limit)); param.value = (num / Math.pow(limit, factor)).toFixed(radix); param.unit = units[factor]; } return param.value + param.unit; }; var getDefaultFontSize = function getDefaultFontSize(parentElement) { parentElement = parentElement || document.body; var div = document.createElement('div'); div.style.width = '1000em'; parentElement.appendChild(div); var pixels = div.offsetWidth / 1000; parentElement.removeChild(div); return pixels; }; var _ref = function () { var style = document.createElement('style'); style.innerHTML = '*:not(input):not(textarea):not([contenteditable="true"]) { -webkit-touch-callout: none !important; -webkit-user-select: none !important; -khtml-user-select: none !important; -moz-user-select: none !important; -ms-user-select: none !important; user-select: none !important; }'; return { enableSelect: function enableSelect() { document.head.contains(style) && document.head.removeChild(style); }, disableSelect: function disableSelect() { Log.log('disableSelect'); document.head.appendChild(style); } }; }(), enableSelect = _ref.enableSelect, disableSelect = _ref.disableSelect; var addZero = function addZero(v) { var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2; for (var i = 0, len = size - "".concat(v).length; i < len; i++) { v = "0".concat(v); } return "".concat(v); }; var formatTimeToMinute = function formatTimeToMinute(createTime) { if (createTime.length === 10) { createTime *= 1000; } var date = new Date(+createTime); var hours = addZero(date.getHours()); var minutes = addZero(date.getMinutes()); return "".concat(hours, ":").concat(minutes); }; function formatTime(timestamp) { var now = window.parseInt(Date.now() / 1000); var diff = now - timestamp; var wording = ''; if (diff < 2 * 60) { wording = '1分钟前'; } else if (diff < 60 * 60) { var t = window.parseInt(diff / 60); wording = t + '分钟前'; } else if (diff < 2 * 60 * 60) { wording = '1小时前'; } else if (diff < 24 * 60 * 60) { var _t = window.parseInt(diff / (60 * 60)); wording = _t + '小时前'; } else { var dayDiff = diff / (24 * 60 * 60); if (dayDiff 1) { var _t2 = window.parseInt(dayDiff); wording = _t2 + '天前'; } } return wording; } function goSouyisou(jsapiOpt) { var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'openWXSearchPage'; var cb = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {}; jsapiOpt.thirdExtParam = Object.assign(jsapiOpt.thirdExtParam || {}, { mp_bizuin_msgid_msgidx: "".concat(atob(window.biz), "_").concat(window.mid, "_").concat(window.idx), aiH5Link: location.href, aiH5Title: window.msg_title }); jsapiOpt.thirdExtParam = encodeURIComponent(JSON.stringify(jsapiOpt.thirdExtParam)); Object.assign(jsapiOpt, m(jsapiOpt)); if (MMVersion.isWechat) { R$4.invoke(type, jsapiOpt, cb); } } function searchWordToSouyisou(query, contextInfo, statInfo) { var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { useHalfPage: false, halfPageParam: {}, thirdExtParam: {} }; var halfPageParam = options.halfPageParam || {}; var useHalfPage = options.useHalfPage || false; var params = Object.assign(Object.assign({ query: query }, halfPageParam), { thirdExtParam: Object.assign({ s1sKeywordsData: Object.assign({ s1sContextInfo: contextInfo, s1sStatInfo: statInfo }, options.postype !== undefined && { postype: options.postype }) }, options.thirdExtParam) }); if (useHalfPage) { goSouyisou(params, 'openWXSearchHalfPage'); } else { goSouyisou(params); } } var setPubTimeNew = function setPubTimeNew(svrTime, oriCreateTime) { var withoutZero = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var oriTimestamp = oriCreateTime * 1; var dateObj = new Date(oriTimestamp * 1000); var now = new Date(svrTime * 1000); var padStart = function padStart(v) { return "0".concat(v).slice(-2); }; var year = dateObj.getFullYear(); var month = withoutZero ? dateObj.getMonth() + 1 : padStart(dateObj.getMonth() + 1); var date = withoutZero ? dateObj.getDate() : padStart(dateObj.getDate()); var hour = padStart(dateObj.getHours()); var minute = padStart(dateObj.getMinutes()); var diffMs = now - dateObj; var diffMinutes = Math.floor(diffMs / (1000 * 60)); var today = new Date(now); today.setHours(0, 0, 0, 0); var yesterday = new Date(today); yesterday.setDate(yesterday.getDate() - 1); var yearStart = new Date(now.getFullYear(), 0, 1); var showDate = ''; if (dateObj >= today) { if (diffMinutes < 60) { if (diffMinutes === 0) { showDate = '刚刚'; } else { showDate = "".concat(diffMinutes, "\u5206\u949F\u524D"); } } else { showDate = "\u4ECA\u5929".concat(hour, ":").concat(minute); } } else if (dateObj >= yesterday) { showDate = "\u6628\u5929".concat(hour, ":").concat(minute); } else if (dateObj >= yearStart) { showDate = "".concat(parseInt(month, 10), "\u6708").concat(parseInt(date, 10), "\u65E5").concat(hour, ":").concat(minute); } else { showDate = "".concat(year, "\u5E74").concat(parseInt(month, 10), "\u6708").concat(parseInt(date, 10), "\u65E5").concat(hour, ":").concat(minute); } return showDate; }; function formatDate(ts) { var now = new Date().getTime(); var diff = now / 1000 - ts; var year = new Date().getFullYear(); var sDate = new Date(ts * 1000); var res = ''; if (diff < 60) { res = "".concat(Math.floor(diff), "\u79D2\u524D"); } else if (diff < 60 * 60) { res = "".concat(Math.floor(diff / 60), "\u5206\u949F\u524D"); } else if (diff < 24 * 60 * 60) { res = "".concat(Math.floor(diff / 60 / 60), "\u5C0F\u65F6\u524D"); } else if (diff < 2 * 24 * 60 * 60) { res = '昨天'; } else if (diff < 24 * 60 * 60 * 7) { res = "".concat(Math.floor(diff / 24 / 60 / 60), "\u5929\u524D"); } else if (sDate.getFullYear() === year) { res = "".concat(sDate.getMonth() + 1, "\u6708").concat(sDate.getDate(), "\u65E5"); } else { res = "".concat(sDate.getFullYear(), "\u5E74").concat(sDate.getMonth() + 1, "\u6708").concat(sDate.getDate(), "\u65E5"); } return res; } var calLanguageRatio = function calLanguageRatio(htmlContent) { var text = htmlContent.replace(/\s+/g, ''); var chineseMatches = text.match(/[\u4e00-\u9fa5]/g) || []; var englishMatches = text.match(/[a-zA-Z]/g) || []; var chineseCount = chineseMatches.length; var englishCount = englishMatches.length; var ratio = englishCount / chineseCount; return ratio > 1; }; var A = { jumpUrl: jumpUrl, closeWin: closeWin, trim: trim, getId: getId, qs: qs, qsAll: qsAll, inWechat: g.inWechat, windowWechat: g.windowWechat, macWechat: g.macWechat, getParam: getParam, getParams: getParams, genUrl: genUrl, prepareNativePage: prepareNativePage, debounce: debounce, throttle: throttle, formatReadNum: formatReadNum, formatSeconds: formatSeconds, formatTimeToMinute: formatTimeToMinute, setTwoTabHeight: setTwoTabHeight, getByClass: getByClass, getScrollTop: getScrollTop, getScrollHeight: getScrollHeight, getWindowHeight: getWindowHeight, shareMessage: shareMessage, getElementTop: getElementTop, formatAlbumnReadNum: formatAlbumnReadNum, getElementHeight: getElementHeight, getQuery: getQuery, openAllVideoPage: openAllVideoPage, getNetWorkType: getNetWorkType, getMoreVideoInfo: getMoreVideoInfo, isPageEnd: isPageEnd, openAlbumPage: openAlbumPage, checkExposedStatus: checkExposedStatus, isParent: isParent, goUrl: goUrl, changeURLArg: changeURLArg, getUrlParamsMap: getUrlParamsMap, numFormat2Unit: numFormat2Unit, goProfile: goProfile, getDefaultFontSize: getDefaultFontSize, enableSelect: enableSelect, disableSelect: disableSelect, formatTime: formatTime, goSouyisou: goSouyisou, searchWordToSouyisou: searchWordToSouyisou, setPubTimeNew: setPubTimeNew, formatDate: formatDate, calLanguageRatio: calLanguageRatio }; var html = function html(_str, encode) { var replace = ['`', '`', ''', '\'', '"', '"', ' ', ' ', '>', '>', '<', ' ".concat(ret.err_msg) : ''; if (['handleMPPageAction', 'handleVideoAction', 'handleHaokanAction'].indexOf(methodName) !== -1) { var action = (args === null || args === void 0 ? void 0 : args.action) || ''; console.info('[system]', "[jsapi] invoke->".concat(methodName, ", action->").concat(action).concat(errMsg)); } else { console.info('[system]', "[jsapi] invoke->".concat(methodName).concat(errMsg)); } if (methodName === 'handleMPPageAction' && (args === null || args === void 0 ? void 0 : args.action) && ((ret === null || ret === void 0 ? void 0 : ret.err_desc) === 'action isn\'t supported' || (ret === null || ret === void 0 ? void 0 : ret.err_msg) === 'handleMPPageAction:fail action is not supported')) { notFoundedMPPageAction.push(args === null || args === void 0 ? void 0 : args.action); } if (callback) { callback.apply(window, rets); } } catch (e) { __moon_report$1([{ offset: MOON_JSAPI_KEY_OFFSET, log: "invoke;methodName:".concat(methodName), e: e }]); throw e; } }); } }); case 4: case "end": return _context.stop(); } }, _callee); })); return _invoke.apply(this, arguments); } function call(_x4) { return _call.apply(this, arguments); } function _call() { _call = _asyncToGenerator( _regeneratorRuntime$1().mark(function _callee2(methodName) { return _regeneratorRuntime$1().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (!(window.__secPageAuthPromise && !window.__is_page_auth_ok__)) { _context2.next = 3; break; } _context2.next = 3; return window.__secPageAuthPromise; case 3: ready(function () { if (isAcrossOrigin$1) return false; if (_typeof(top.window.WeixinJSBridge) !== 'object') { return false; } try { top.window.WeixinJSBridge.call(methodName); } catch (e) { __moon_report$1([{ offset: MOON_JSAPI_KEY_OFFSET, log: "call;methodName:".concat(methodName), e: e }]); throw e; } }); case 4: case "end": return _context2.stop(); } }, _callee2); })); return _call.apply(this, arguments); } function on(eventName, callback) { ready(function () { if (isAcrossOrigin$1) return false; if (_typeof(top.window.WeixinJSBridge) !== 'object' || !top.window.WeixinJSBridge.on) { return false; } if (!window.JSAPIEventCallbackMap[eventName]) { window.JSAPIEventCallbackMap[eventName] = []; } window.JSAPIEventCallbackMap[eventName].push(callback); if (window.JSAPIEventCallbackMap[eventName].length > 1) { return false; } top.window.WeixinJSBridge.on(eventName, function () { try { for (var _len = arguments.length, rets = new Array(_len), _key = 0; _key < _len; _key++) { rets[_key] = arguments[_key]; } var ret = rets[0]; var errMsg = ret && ret.err_msg ? ", err_msg-> ".concat(ret.err_msg) : ''; console.info('[system]', "[jsapi] event->".concat(eventName).concat(errMsg)); if (window.JSAPIEventCallbackMap[eventName] && window.JSAPIEventCallbackMap[eventName].length) { var result; for (var i = 0; i < window.JSAPIEventCallbackMap[eventName].length; i++) { result = window.JSAPIEventCallbackMap[eventName][i].apply(window, rets); } return result; } } catch (e) { __moon_report$1([{ offset: MOON_JSAPI_KEY_OFFSET, log: "on;eventName:".concat(eventName), e: e }]); throw e; } }); }); } function remove(eventName, callback) { ready(function () { if (!window.JSAPIEventCallbackMap[eventName]) { return false; } var result = false; for (var i = window.JSAPIEventCallbackMap[eventName].length - 1; i >= 0; i--) { if (window.JSAPIEventCallbackMap[eventName][i] === callback) { window.JSAPIEventCallbackMap[eventName].splice(i, 1); result = true; } } return result; }); } var JSAPI = { ready: ready, invoke: invoke$1, call: call, on: on, remove: remove }; function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } var ua = navigator.userAgent; var is_ios = /(iPhone|iPad|iPod|iOS)/i.test(ua); var is_wp = /Windows\sPhone/i.test(ua); var is_android = /(Android)/i.test(ua); var is_wechat = /MicroMessenger\/([\d\.]+)/i.test(ua); var is_mac = /mac\sos/i.test(ua) && !is_ios; var is_windows = /windows\snt/i.test(ua) && !is_wp; var is_mpapp = /MPAPP\/([\d\.]+)/i.test(ua); var is_ipad = /iPad/i.test(ua); var is_windows_wechat = /WindowsWechat/i.test(ua); var is_mac_wechat = /MacWechat/i.test(ua) || /wechat.*mac os/i.test(ua); var is_prefetch = is_wechat && window.WeixinPrefecherJSBridge; var is_donut_app = /SAAASDK/i.test(ua); var is_harmony = /OpenHarmony|ArkWeb/i.test(ua); var is_linux = /Linux\s/i.test(ua); var xweb_match = ua.match(/XWEB\/([\d.]+)/i); var xweb_version = xweb_match && xweb_match[1] ? parseInt(xweb_match[1], 10) : 0; var is_unified_pc_wechat = /UnifiedPC\w+Wechat/i.test(ua); var is_in_miniProgram = is_android && /miniprogram/.test(ua.toLowerCase()) || window.__wxjs_environment == 'miniprogram'; var is_wx_work = /wxwork/i.test(ua); function getUrlParams() { var vars = location.search.substring(1).split('&'); var params = {}; var _iterator = _createForOfIteratorHelper(vars), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var ele = _step.value; var pair = ele.split('='); var key = decodeURIComponent(pair[0]); if (typeof params[key] === 'undefined') { params[key] = decodeURIComponent(pair[1]); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return params; } function get() { var reg = /MicroMessenger\/([\d\.]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMac() { var reg = /MacWechat\/([\d\.]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMacOS() { var reg = /Mac OS X ([\d_]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1].replace(/_/g, '.'); } return false; } function getWindows() { var reg = /WindowsWechat\(0x(.+?)\)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getWxWork() { var reg = /wxwork\/([\d\.]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMpApp() { var appVersion = [2, 4, 5]; var match = navigator.userAgent.match(/MPAPP\/(\d+(\.\d+)*)/); if (match) { appVersion = match[1].split('.').map(function (v) { return Number(v); }); } return appVersion.join('.'); } function getUnifiedPcVer() { var versionInfo = navigator.userAgent.match(/UnifiedPC\w+Wechat\(0xf\w{2}(\w+?)\w{2}\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(0, 1)); var subVersion = getVersionNumber(version.slice(1, 2)); var subVersion2 = getVersionNumber(version.slice(2, 3)); return [mainVersion, subVersion, subVersion2].join('.'); } } function getVersionNumber(hexStr) { return Number(Number("0x".concat(hexStr)).toString(10)); } function getWindowsVersionFormat() { var versionInfo = navigator.userAgent.match(/WindowsWechat\(0x(\w+?)\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(1, 2)); var subVersion = getVersionNumber(version.slice(2, 4)); var subVersion2 = getVersionNumber(version.slice(4, 6)); return [mainVersion, subVersion, subVersion2].join('.'); } return false; } function getInner() { var reg = /MicroMessenger\/[\d\.]+\(0x(.+?)\)/i; var ret = ua.match(reg); if (ret && ret[1] && ret[1] != null) { return ret[1]; } if (!ret && /MicroMessenger\/[\d\.]+/i.test(ua)) { var urlParams = getUrlParams(); if (urlParams.version) { return urlParams.version; } } return false; } var opfunc = { 'cp-1': function cp1(a, b) { return a < b; }, cp0: function cp0(a, b) { return a === b; }, cp1: function cp1(a, b) { return a > b; } }; function cpVersion(ver, op, canEq, type) { var mmver = false; switch (type) { case 'mac': mmver = getMac(); break; case 'windows': mmver = getWindowsVersionFormat(); break; case 'wxwork': mmver = getWxWork(); break; case 'mpapp': mmver = getMpApp(); break; case 'unifiedpc': mmver = getUnifiedPcVer(); break; default: mmver = get(); break; } if (!mmver) { return; } var mmversion = mmver.split('.'); var version = ver.split('.'); if (!/\d+/g.test(mmversion[mmversion.length - 1])) { mmversion.pop(); } for (var i = 0, len = Math.max(mmversion.length, version.length); i < len; ++i) { var mmv = mmversion[i] || ''; var v = version[i] || ''; var mmvn = parseInt(mmv, 10) || 0; var vn = parseInt(v, 10) || 0; var eq = opfunc.cp0(mmvn, vn); if (eq) { continue; } var cp = opfunc["cp".concat(op)]; return cp(mmvn, vn); } return canEq || op === 0; } function eqVersion(version) { return cpVersion(version, 0); } function gtVersion(version, canEq) { return cpVersion(version, 1, canEq); } function ltVersion(version, canEq) { return cpVersion(version, -1, canEq); } function getPlatform() { if (is_ios) { return 'ios'; } if (is_android) { return 'android'; } if (is_mac) { return 'mac_os'; } if (is_windows) { return 'windows'; } return 'unknown'; } var is_google_play = false; var inner_ver_for_google_play_check = getInner(); if (is_android && inner_ver_for_google_play_check) { var v = "0x".concat(inner_ver_for_google_play_check.substr(-2)); if (parseInt(v) >= 64 && parseInt(v) = hexNum; } return false; } var mmversion = { get: get, getMac: getMac, getMacOS: getMacOS, getWindows: getWindows, getInner: getInner, getWxWork: getWxWork, getMpApp: getMpApp, cpVersion: cpVersion, eqVersion: eqVersion, gtVersion: gtVersion, ltVersion: ltVersion, getPlatform: getPlatform, getVersionNumber: getVersionNumber, isWp: is_wp, isIOS: is_ios, isAndroid: is_android, isHarmony: is_harmony, isHarmonyWechat: is_harmony && is_wechat && cpVersion('1.0.0', 1, true), isInMiniProgram: is_in_miniProgram, isWechat: is_wechat, isMac: is_mac, isWindows: is_windows, isLinux: is_linux, isMacWechat: is_mac_wechat, isWindowsWechat: is_windows_wechat, isWxWork: is_wx_work, isOnlyWechat: is_wechat && !is_wx_work, isMpapp: is_mpapp, isIPad: is_ipad, isGooglePlay: is_google_play, isPrefetch: is_prefetch, isDonutAPP: is_donut_app, compareHexVersion: compareHexVersion, isPcWechat: is_windows_wechat || is_mac_wechat, xwebVersion: xweb_version, isUnifiedPcWechat: is_unified_pc_wechat }; var initJsBridge = false; if (!window.JSAPIEventCallbackMap) { window.JSAPIEventCallbackMap = {}; } function connectWebViewJavascriptBridge(callback) { if (window.WebViewMPapp || window.WebViewJavascriptBridge) { return callback(window.WebViewMPapp || window.WebViewJavascriptBridge); } if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); } window.WVJBCallbacks = [callback]; if (!mmversion.isMpapp) { return false; } if (!initJsBridge) { initJsBridge = true; var WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'https://__bridge_loaded__'; document.body.appendChild(WVJBIframe); setTimeout(function () { initJsBridge = false; document.body.removeChild(WVJBIframe); }, 0); } return false; } function invoke(jsapiName, opt, callback) { connectWebViewJavascriptBridge(function (bridge) { try { if (typeof opt === 'function') { callback = opt; } if (_typeof(opt) !== 'object' && typeof opt !== 'string') { opt = {}; } bridge.callHandler(jsapiName, opt, function (res) { try { var ret = _typeof(res) === 'object' ? res : JSON.parse(res); var errMsg = ret.err_msg || ret.errMsg; console.info("[mpapp jsapi] invoke->".concat(jsapiName, " ").concat(opt.action || '', " ").concat(errMsg)); typeof callback === 'function' && callback(ret); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', "callback ".concat(jsapiName, " error:"), { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error("[mpapp jsapi] ".concat(jsapiName, " ").concat(opt.action || ''), e, res); } }); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', 'callback error:', { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error('[mpapp jsapi]', e); } }); } function _log(level, msg) { if (level === 'log') { level = 'info'; msg = "[WechatFe]".concat(msg); } else { var prefix = "__wap__".concat(window.__second_open__ ? ' (sec)' : ''); msg = "".concat(prefix, " ").concat(msg, " location:[").concat(location.href, "]"); } msg += new Error().stack; if (mmversion.isMpapp) { invoke('WNNativeCallbackLog', msg); } else if (mmversion.isWechat) { if (mmversion.isAndroid) { console.warn('[system]', "[MicroMsg.JsApiLog][".concat(level, "] jslog : ").concat(msg)); } else if (mmversion.isIOS) { JSAPI.invoke('writeLog', { level: level, msg: msg }); } else { JSAPI.invoke('log', { level: level, msg: msg }); } } } var Log = { info: function info() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _log('info', args.join(' ')); }, warn: function warn() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } _log('warn', args.join(' ')); }, error: function error() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } _log('error', args.join(' ')); }, debug: function debug() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } _log('debug', args.join(' ')); }, log: function log() { for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5]; } _log('info', args.join(' ')); } }; var logList = []; var log = function log(msg) { logList.push(msg); }; var printLog = function printLog() { for (var i = 0, len = logList.length; i < len; ++i) { console.log("[RespType]".concat(logList[i])); } }; var isArray = function isArray(val) { return Object.prototype.toString.call(val) === '[object Array]'; }; var getValueType = function getValueType(value) { if (isArray(value)) { return 'array'; } return _typeof(value); }; var parseRtDesc = function parseRtDesc(rtDesc, k) { var type = 'mix'; var isRequired = false; var key = k; if (k) { var requireKeyWord = '_R'; var pos = k.indexOf(requireKeyWord); var len = k.length - requireKeyWord.length; isRequired = pos !== -1 && pos === len; key = isRequired ? k.substring(0, len) : k; } if (typeof rtDesc === 'string') { type = rtDesc; } else if (isArray(rtDesc)) { type = 'array'; } else if (_typeof(rtDesc) === 'object') { type = 'object'; } return { key: key, type: type, isRequired: isRequired }; }; var checkForArrayRtDesc = function checkForArrayRtDesc(arr, rtDescs) { if (!isArray(arr)) { return false; } for (var i = 0, len = arr.length; i < len; ++i) { var value = arr[i]; var rtDesc = void 0; var j = 0; var flag = rtDescs.length === 0; while (rtDesc = rtDescs[j++]) { if (checkForRtDesc(value, rtDesc)) { flag = true; break; } } if (!flag) { return false; } } return true; }; var checkForStringRtDesc = function checkForStringRtDesc(value, rtDesc) { var valueType = getValueType(value); var desc = parseRtDesc(rtDesc); var ret = desc.type === valueType; if (!ret) { log("miss match type : ".concat(valueType, " !== ").concat(desc.type)); } return ret; }; var checkForObjectRtDesc = function checkForObjectRtDesc(json, rtDesc) { if (_typeof(json) !== 'object' || isArray(json)) { log('must be object'); return false; } var rootJson = json; var nowCheckValue = json; for (var k in rtDesc) { if (rtDesc.hasOwnProperty(k)) { var nowCheckDesc = rtDesc[k]; var desc = parseRtDesc(nowCheckDesc, k); var key = desc.key; nowCheckValue = rootJson[key]; var valueType = getValueType(nowCheckValue); if (desc.isRequired && nowCheckValue === undefined) { log("is required @key=".concat(key)); return false; } if (nowCheckValue !== undefined) { if (valueType !== desc.type && desc.type !== 'mix') { log("miss match type : ".concat(valueType, " !== ").concat(desc.type, " @key=").concat(key)); return false; } if ((valueType === 'array' || valueType === 'object') && desc.type !== 'mix') { if (!checkForRtDesc(nowCheckValue, nowCheckDesc)) { return false; } } } } } return true; }; var checkForRtDesc = function checkForRtDesc(json, rtDesc) { if (isArray(rtDesc)) { return checkForArrayRtDesc(json, rtDesc); } if (_typeof(rtDesc) === 'object') { return checkForObjectRtDesc(json, rtDesc); } if (typeof rtDesc === 'string') { return checkForStringRtDesc(json, rtDesc); } return false; }; var _check = function check(json, rtDescs) { if (typeof json === 'string') { try { json = eval("(".concat(json, ")")); } catch (e) { log('parse json error'); return false; } } if (_typeof(json) !== 'object') { log('must be object'); return false; } if (!isArray(rtDescs)) { rtDescs = [rtDescs]; } var rtDesc; var i = 0; while (rtDesc = rtDescs[i++]) { if (checkForRtDesc(json, rtDesc)) { return true; } } return false; }; var RespTypes = { check: function check(json, rtDesc) { logList = []; try { var ret = _check(json, rtDesc); if (!ret) { printLog(); } return ret; } catch (e) { logList.push("[rtException]".concat(e.toString())); printLog(); return false; } }, getMsg: function getMsg() { return logList.join(';'); } }; function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function getInflightMap() { if (!window.__dedupe_promise_inflight__) { window.__dedupe_promise_inflight__ = new Map(); } return window.__dedupe_promise_inflight__; } function dedupePromise(key, factory) { var inflightMap = getInflightMap(); var existing = inflightMap.get(key); console.log("dedupePromise key=".concat(key, " existing=").concat(existing)); if (existing) { return existing; } var promise = Promise.resolve().then(factory)["finally"](function () { inflightMap["delete"](key); }); inflightMap.set(key, promise); return promise; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var prefix = '__WXLS__'; var localStorage = window.localStorage || { getItem: function getItem() {}, setItem: function setItem() {}, removeItem: function removeItem() {}, key: function key() {}, clear: function clear() { var _a, _b; (_b = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a); }, length: 0 }; var evictionPolicies = { noeviction: function noeviction(data) { return data; }, 'allkeys-random': function allkeysRandom(data, size) { var keys = Object.keys(data); var memCnt = 0; while (memCnt < size) { var len = keys.length; var randomKeyIdx = Math.floor(Math.random() * len); var randomKey = keys[randomKeyIdx]; memCnt += JSON.stringify(data[randomKey]).length; delete data[randomKey]; keys = Object.keys(data); } return data; }, 'volatile-ttl': function volatileTtl(data, size) { var keys = Object.keys(data); keys = keys.sort(function (key1, key2) { var d1 = data[key1]; var d2 = data[key2]; if (d1.exp < d2.exp) return -1; if (d1.exp > d2.exp) return 1; return 0; }); var memCnt = 0; for (var i = 0; i < keys.length; i++) { if (memCnt >= size) break; var key = keys[i]; memCnt += JSON.stringify(data[key]).length; delete data[key]; } return data; }, 'clear-all': function clearAll() { localStorage.clear(); return {}; } }; function formatLogMsg(str) { return "[WXLS] ".concat(str); } var LS = function () { function LS(func, evictionPolicy, logger) { _classCallCheck(this, LS); this.logger = function () {}; if (!func) throw 'require function name.'; this.evictionPolicy = 'noeviction'; this.key = func; if (typeof logger === 'function') { this.logger = function (str, type) { return logger(formatLogMsg(str), type); }; } if (evictionPolicy && Object.keys(evictionPolicies).indexOf(evictionPolicy) !== -1) { this.evictionPolicy = evictionPolicy; } this.init(); } _createClass(LS, [{ key: "init", value: function init() { var _a, _b; this.check(); if (Math.random() * 1000 < 1) { (_a = this.logger) === null || _a === void 0 ? void 0 : _a.call(this, "LSlen: ".concat(((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length) || localStorage.length), 'report'); } } }, { key: "getData", value: function getData() { var data = LS.getItem(this.key) || '{}'; try { data = JSON.parse(data); } catch (e) { this.logger("getData error: ".concat(e), 'error'); localStorage.removeItem(prefix + this.key); data = {}; } return data; } }, { key: "check", value: function check(isReturn) { var data = this.getData(); var temp = {}; var now = +new Date(); var key; var val; for (key in data) { val = data[key]; if (+val.exp > now) { temp[key] = val; } } this.logger("check info: isReturn:".concat(isReturn, " data:").concat(JSON.stringify(temp)), 'info'); if (isReturn) return temp; LS.setItem(this.key, JSON.stringify(temp), this.logger); } }, { key: "set", value: function set(key, val, exp) { var _a, _b; var data = this.check(true); data[key] = { val: val, exp: exp || +new Date() }; try { if (localStorage.getItem(prefix + this.key)) localStorage.removeItem(prefix + this.key); localStorage.setItem(prefix + this.key, JSON.stringify(data)); this.logger("first set success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data)), 'success'); } catch (e) { this.logger("first set error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data), " k:").concat(key, " v:").concat(val, " exp:").concat(exp), 'error'); localStorage.clear(); LS.setItem(this.key, JSON.stringify(_defineProperty({}, key, { val: val, exp: exp || +new Date() })), this.logger); } } }, { key: "get", value: function get(key) { var data = this.getData(); data = data[key]; return data ? data.val || null : null; } }, { key: "remove", value: function remove(key) { var data = this.getData(); if (data[key]) delete data[key]; LS.setItem(this.key, JSON.stringify(data), this.logger); } }], [{ key: "getItem", value: function getItem(key) { key = prefix + key; return localStorage.getItem(key); } }, { key: "setItem", value: function setItem(key, val, logger) { var _a, _b; key = prefix + key; var n = 3; while (n--) { try { if (localStorage.getItem(key)) localStorage.removeItem(key); localStorage.setItem(key, val); typeof logger === 'function' && logger("setItem success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(key, " val:").concat(val), 'success'); break; } catch (e) { typeof logger === 'function' && logger("setItem error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(key, " val:").concat(val), 'error'); LS.clear(); } } } }, { key: "clear", value: function clear() { var i; var k; for (i = localStorage.length - 1; i >= 0; i--) { k = localStorage.key(i); if (k.indexOf(prefix) == 0) { localStorage.removeItem(k); } } } }, { key: "getSupportEvicationPolicy", value: function getSupportEvicationPolicy() { return Object.keys(evictionPolicies); } }]); return LS; }(); var innerVersion = (mmversion.getInner() || '').toUpperCase(); var getBizLS = new LS('get_biz_result'); function getBizMap() { if (!window.__get_biz_map__) { window.__get_biz_map__ = {}; } return window.__get_biz_map__; } var isGetBizSupported = mmversion.isOnlyWechat && mmversion.isIOS && innerVersion >= '18003C2A' || mmversion.isOnlyWechat && mmversion.isAndroid && innerVersion >= '28003D3C' || mmversion.isUnifiedPcWechat && mmversion.cpVersion('4.1.10', 1, true, 'unifiedpc'); function invokeGetBiz(needCheckBiz, bizType) { return dedupePromise("getBiz:".concat(needCheckBiz, ":").concat(bizType), function () { return new Promise(function (resolve, reject) { if (!isGetBizSupported) { reject('Not support'); } else { JSAPI.invoke('handleMPPageAction', { action: 'getBiz', needCheckBiz: needCheckBiz, bizType: bizType }, function (res) { console.log("getBiz needCheckBiz=".concat(needCheckBiz, " bizType=").concat(bizType, " res: ").concat(JSON.stringify(res))); if (res && res.err_msg && res.err_msg.indexOf('ok') > -1) { var bizMap = getBizMap(); bizMap[bizType] = res.biz; resolve(res.biz); getBizLS.set("".concat(bizType, "_get_biz_result"), res.biz, +new Date() + 3 * 24 * 60 * 60 * 1000); } else { reject('Failed to get biz'); } }); } }); }); } function getBiz(needCheckBiz, bizType) { var _a; if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } var bizMap = getBizMap(); if (!needCheckBiz && bizMap[bizType] !== undefined) { return Promise.resolve(bizMap[bizType]); } return invokeGetBiz(needCheckBiz, bizType); } mmversion.isOnlyWechat && mmversion.isIOS || mmversion.isOnlyWechat && mmversion.isAndroid || mmversion.isUnifiedPcWechat && mmversion.cpVersion('4.1.10', 1, true, 'unifiedpc'); var getIsAuthor = function getIsAuthor(cb, bizuin, needCheckBiz, bizType) { var _a; if (bizuin === void 0) { bizuin = window.biz; } if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } getBiz(needCheckBiz, bizType).then(function (biz) { cb(biz && biz === bizuin); })["catch"](function () { cb(false); }); }; function parseUrl(url) { var len = url.length; var ques_pos = url.indexOf('?'); var hash_pos = url.indexOf('#'); hash_pos = hash_pos == -1 ? len : hash_pos; ques_pos = ques_pos == -1 ? hash_pos : ques_pos; var host = url.substring(0, ques_pos); var query_str = url.substring(ques_pos + 1, hash_pos); var hash = url.substring(hash_pos + 1); return { host: host, query_str: query_str, hash: hash }; } function join(url, args, noEncode) { var ret = parseUrl(url); var query_str = ret.query_str; var args_arr = []; if (_typeof(args) === 'object') { for (var key in args) { if (args.hasOwnProperty(key)) { args_arr.push("".concat(key, "=").concat(noEncode ? args[key] : encodeURIComponent(args[key]))); } } } else { args_arr.push(noEncode ? args : encodeURIComponent(args)); } if (args_arr.length > 0) { query_str += (query_str !== "" ? "&" : "") + args_arr.join("&"); } return ret.host + (query_str !== "" ? "?".concat(query_str) : "") + (ret.hash !== "" ? "#".concat(ret.hash) : ""); } function addParam(url, param, value, forceReplace) { url = url || location.href; var firstAndPos = url.indexOf("&"); var len = url.length; var reverseUrl = url.replace(/^[\w\d]+:[/\\]+/g, "").split("").reverse(); if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (searchElement, fromIndex) { var k; if (this == null) { throw new TypeError('"this" is null or not defined'); } var O = Object(this); var len = O.length >>> 0; if (len === 0) { return -1; } var n = fromIndex || 0; if (Math.abs(n) === Infinity) { n = 0; } if (n >= len) { return -1; } k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); while (k < len) { if (k in O && O[k] === searchElement) { return k; } k++; } return -1; }; } var lastSlashPos = len - 1 - reverseUrl.indexOf("/"); if (firstAndPos !== -1 && url.indexOf("?") == -1 && firstAndPos > lastSlashPos) { url = url.replace("&", "?"); } var reg = new RegExp("([\\?&]".concat(param, "=)[^&#]*")); if (!url.match(reg)) { var urlInfo = parseUrl(url); var hash = urlInfo.hash ? '#' + urlInfo.hash : ''; url = url.replace(hash, ''); var _pos = url.indexOf("?"); if (_pos == -1) { return "".concat(url, "?").concat(param, "=").concat(value).concat(hash); } if (_pos == url.length - 1) { return "".concat(url + param, "=").concat(value).concat(hash); } return "".concat(url, "&").concat(param, "=").concat(value).concat(hash); } if (forceReplace === true) { return url.replace(reg, "$1".concat(value)); } return url; } function addWxfrom(src, wxfrom) { var offset = window.service_type === 1 ? 10000 : 0; return addParam(src, 'wxfrom', offset + Number(wxfrom), true); } function removeParam(url, param) { var _URL = new URL(url), protocol = _URL.protocol, host = _URL.host, pathname = _URL.pathname, search = _URL.search, hash = _URL.hash; var queryParams = new URLSearchParams(search); queryParams["delete"](param); var newSearch = queryParams.toString(); var newUrl = new URL("".concat(protocol, "//").concat(host).concat(pathname).concat(newSearch ? "?".concat(decodeURIComponent(newSearch)) : "").concat(hash)); return newUrl.toString(); } function getQuery(name, url) { var u = url || window.location.search; var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)")); var r = u.substring(u.indexOf('?') + 1).match(reg); return r !== null ? r[2] : ''; } function encodeBase64(value) { try { return window.btoa(value); } catch (e) { return ''; } } function decodeBase64(value) { try { return window.atob(value); } catch (e) { return ''; } } function joinUrl$1(url) { var obj = {}; if (typeof window.uin !== 'undefined') { obj.uin = window.uin; } if (typeof window.key !== 'undefined') { obj.key = window.key; } if (typeof window.pass_ticket !== 'undefined') { obj.pass_ticket = window.pass_ticket; } if (typeof window.wxtoken !== 'undefined') { obj.wxtoken = window.wxtoken; } if (typeof window.devicetype !== 'undefined') { obj.devicetype = window.devicetype; } if (typeof window.clientversion !== 'undefined') { obj.clientversion = window.clientversion || mmversion.getInner(); } obj.version = obj.clientversion; if (window.biz) { obj.__biz = window.biz; } if (getQuery('enterid')) { obj.enterid = getQuery('enterid'); } if (typeof window.appmsg_token !== 'undefined') { obj.appmsg_token = window.appmsg_token; } else if (url.indexOf('advertisement_report') > -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = navigator.userAgent.indexOf('TBS/') !== -1 ? '1' : '0'; obj.f = 'json'; return join(url, obj); } function joinUserArticleRole(url, notJoin, cb) { var bizuin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.biz; var needCheckBiz = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; if (notJoin) { cb(url); } else { getIsAuthor(function (isAuthor) { cb(addParam(url, 'user_article_role', isAuthor ? 1 : 0, true)); }, bizuin, needCheckBiz); } } function getA8keyQuery(name, url) { return new Promise(function (resolve) { if (window.__secPageAuthPromise) { window.__secPageAuthPromise.then(function () { resolve(getQuery(name, url)); }); } else { resolve(getQuery(name, url)); } }); } function addHash(url, hash) { var isReplace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (isReplace) { return "".concat(url.split('#')[0]).concat(hash); } return "".concat(url).concat(url.indexOf('#') === -1 ? '#' : '').concat(hash); } function decodeUrl(url) { var _url = url; while (_url.indexOf('&') !== -1) { _url = _url.htmlDecode(); } return _url; } var Url = { parseUrl: parseUrl, join: join, addParam: addParam, addWxfrom: addWxfrom, addHash: addHash, getQuery: getQuery, getA8keyQuery: getA8keyQuery, encodeBase64: encodeBase64, decodeBase64: decodeBase64, joinUrl: joinUrl$1, joinUserArticleRole: joinUserArticleRole, removeParam: removeParam, decodeUrl: decodeUrl }; var _a; var doc; var isAcrossOrigin = false; try { doc = (_a = window.top) === null || _a === void 0 ? void 0 : _a.window.document; } catch (e) { isAcrossOrigin = true; } var StatusTextMap = { 200: 'OK', 302: 'Found', 400: 'Bad Request', 500: 'Internal Server Error' }; function getIsAcrossOrigin() { return isAcrossOrigin; } function networkStartLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "< [request ".concat(item.requestType, "]"), item.url, item.method, item); var rdevRequestId; var requestTime = performance.now() / 1000; if ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) { try { var willBeSentOptions = { url: item.url, method: item.method, requestHeaders: Object.assign({}, item.requestHeader || {}, { RDEV_REQUEST_TYPE: item.requestType }), requestBody: item.postData, requestTime: requestTime }; rdevRequestId = window.RemoteDevSdk.instance.Network.customRequestWillBeSent(willBeSentOptions); } catch (err) {} } if ((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) { try { var vconsoleNetworkItem = (_e = (_d = window.vConsole.network).add) === null || _e === void 0 ? void 0 : _e.call(_d, Object.assign({}, item, { startTime: Date.now(), endTime: Date.now(), status: 0, readyState: 2, response: '' })); vconsoleNetworkItem.rdevRequestId = rdevRequestId; vconsoleNetworkItem.requestTime = requestTime; return vconsoleNetworkItem; } catch (err) {} } if (rdevRequestId) { return Object.assign(Object.assign({}, item), { id: '__only_rdev_log__', rdevRequestId: rdevRequestId, requestTime: requestTime }); } return Object.assign({}, item, { id: '__system_log__' }); } function networkEndLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "> [response ".concat(item.requestType, "]"), item.url, item.response, item); if (item.rdevRequestId && ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) && item.id !== '__system_log__') { try { var finishedOptions = { requestId: item.rdevRequestId, url: item.url, status: +(item.status || '500'), statusText: StatusTextMap[+(item.status || '500')] || 'Error', responseHeaders: { RDEV_RESPONSE_TYPE: item.requestType }, responseBody: item.response, requestTime: item.requestTime || 0, duration: item.costTime || (item.endTime && item.startTime ? item.endTime - item.startTime : performance.now() / 1000 - (item.requestTime || 0)) }; window.RemoteDevSdk.instance.Network.customRequestFinished(finishedOptions); } catch (err) {} } if (((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) && item.id !== '__system_log__') { try { item.statusText = "".concat(item.status); item.responseSize = item.response.length; item.responseSizeText = "".concat(item.response.length); return (_e = (_d = window.vConsole.network).update) === null || _e === void 0 ? void 0 : _e.call(_d, item.id, Object.assign({}, item, { readyState: 4 })); } catch (err) {} } } function reqType(obj, path) { return obj.url.indexOf(path) > -1 && obj.url.indexOf('action=') === -1 && (!obj.data || !obj.data.action); } function findAjaxScopeByConfig(url, config) { var pathname = new URL(url, location.href).pathname || ''; var scope = config[pathname.slice(1)]; if (scope) { return scope; } } function getAjaxScope(ajaxUrl) { if (Url.getQuery('no_transfer', location.href) !== '1' && mmversion.isWechat && !mmversion.isInMiniProgram && !mmversion.isWxWork && !mmversion.isMpapp && !isAcrossOrigin && window.__ajaxTransferConfig && _typeof(window.__ajaxTransferConfig) === 'object' && ( mmversion.isIOS && mmversion.compareHexVersion('1800282F') || mmversion.isAndroid && mmversion.compareHexVersion('28002234') || mmversion.isWindowsWechat && mmversion.cpVersion('3.9.5', 1, true, 'windows') || mmversion.isMacWechat && mmversion.cpVersion('3.8.4', 1, true, 'mac') || mmversion.isHarmonyWechat && mmversion.compareHexVersion('0xf3100b00') && !mmversion.compareHexVersion('0xf3100c00') || mmversion.compareHexVersion('0xf3800b00'))) { try { return findAjaxScopeByConfig(ajaxUrl, window.__ajaxTransferConfig); } catch (err) { } } } function getActionByData(data) { var _a, _b; if (_typeof(data) === 'object' && !(data instanceof Blob)) { if (data.hasOwnProperty('data') && typeof data.data === 'string') { try { var workedData = JSON.parse(data.data); return workedData.action || ''; } catch (e) {} } return data.action || ''; } if (typeof data === 'string') { return ((_b = (_a = data.split(/[?&]/).find(function (x) { return x.indexOf('action=') >= 0; })) === null || _a === void 0 ? void 0 : _a.split('=')) === null || _b === void 0 ? void 0 : _b[1]) || ''; } return ''; } var METHOD_ENUM = { GET: 0, POST: 1 }; var __moon_report = window.__moon_report || function () {}; var MOON_AJAX_SUCCESS_OFFSET = 3; var MOON_AJAX_NETWORK_OFFSET = 4; var MOON_AJAX_ERROR_OFFSET = 5; var MOON_AJAX_TIMEOUT_OFFSET = 6; var MOON_AJAX_COMPLETE_OFFSET = 7; var LENGTH_LIMIT = 4096; function reportRtError(type, id, key, content) { var log = ''; var prefix = type === 'rt' ? 'rtCheckError' : 'Ajax Length Limit'; if (content === null || content === void 0 ? void 0 : content.length) { var loglen = 1000; var len = content.length; var lc = Math.ceil(len / loglen); log = ["&lc=".concat(lc)]; for (var i = 0; i < lc; ++i) { log.push("&log".concat(i, "=") + "[".concat(prefix, "][").concat(i, "]").concat(encodeURIComponent(content.substring(i * loglen, i * loglen + loglen)))); } log = log.join(''); } var data = "idkey=".concat(id, "_").concat(key, "_1").concat(log, "&r=").concat(Math.random()); var xmlobj = new XMLHttpRequest(); xmlobj.open('POST', "".concat(location.protocol, "//").concat(location.host, "/mp/jsmonitor?"), true); xmlobj.setRequestHeader('cache-control', 'no-cache'); xmlobj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xmlobj.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xmlobj.send(data); if (type === 'ajaxLen') { monitor$1.setLogs({ id: id, key: key, value: 1, log: log }); } } function reportRt(id, key, content) { reportRtError('rt', id, key, content); } function reportAjaxLength(id, key, content) { reportRtError('ajaxLen', id, key, content); } function setXhrHeader(xhr, type, opt) { if (opt.contentType) { xhr.setRequestHeader('Content-Type', opt.contentType); } else if (type === 'POST') { xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); } if (!opt.noXRequestedWidthHeader) { xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); } } function Ajax(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } var ajaxScope = getAjaxScope(obj.url); var type = (obj.type || 'GET').toUpperCase(); var timer; var _url; if (obj.notJoinUrl) { _url = obj.url; } else { _url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(_url, !!obj.notJoinUrl, function (url) { var urlObj = new URL(url, location.origin); if (obj.f === 'html') { url = url.replace('&f=json', ''); } var data = null; if (obj.data instanceof Blob) { data = obj.data; } else if (_typeof(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var beginTs; var beforeReq = function beforeReq() { if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); Log.log('start get appmsgext, url: ', obj.url); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); Log.log('start get appmsgad, url: ', obj.url); } beginTs = Date.now(); }; var beforeResp = function beforeResp(xhr) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgext response, status: ".concat(xhr.status)); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgad response, status: ".concat(xhr.status)); } if (Math.random() < 0.001 && window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { try { var key = ajaxScope ? 'transfer' : 'xhr'; var interval = 250; var time = Date.now() - beginTs; var range = Math.floor(time / interval) * interval; var pathname = new URL(obj.url, location.href).pathname || ''; window.WX_BJ_REPORT.BadJs.report("".concat(key, "_perf:").concat(pathname), JSON.stringify({ status: xhr.status, time: "[".concat(range, "-").concat(range + interval, ")") }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } catch (err) {} } }; var handleRespSucc = function handleRespSucc(xhr, requestType) { var _a, _b, _c, _d; try { var responseText = xhr.responseText; var resp = responseText; if (obj.dataType === 'json') { try { if (JSON && JSON.parse) { resp = JSON.parse(resp); } else { resp = eval("(".concat(resp, ")")); monitor$1.setSum(523105, 127, 1).send(); } var rtId = obj.rtId; var rtKey = obj.rtKey || 0; var rtDesc = obj.rtDesc; if (rtId && rtDesc && RespTypes && !RespTypes.check(resp, rtDesc)) { reportRt(+rtId, +rtKey, "".concat(RespTypes.getMsg(), "[detail]").concat(responseText, ";").concat(obj.url)); } if (resp && resp.base_resp && ((_a = resp.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = url; if (url.indexOf('?') !== -1) { reportUrl = url.substring(0, url.indexOf('?')); if (Url.getQuery('action', url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resp.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resp.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { obj.error && obj.error(xhr, { type: 1, error: e, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 1, HttpCode: xhr.status || 0, Ret: 0 }); } return; } } if (_typeof(resp) === 'object' && ((_b = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _b === void 0 ? void 0 : _b.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 4, HttpCode: xhr.status || 0, Ret: ((_c = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 0, HttpCode: xhr.status || 0, Ret: ((_d = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _d === void 0 ? void 0 : _d.ret) || 0 }); } } obj.success && obj.success(resp); } catch (e) { __moon_report({ offset: MOON_AJAX_SUCCESS_OFFSET, e: e }); throw e; } }; var handleRespErr = function handleRespErr(xhr, error, requestType) { try { obj.error && obj.error(xhr, { type: 2, error: error, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type, RequestType: requestType, RetType: 2, HttpCode: xhr.status, Ret: 0 }); } } catch (e) { __moon_report({ offset: MOON_AJAX_ERROR_OFFSET, e: e }); throw e; } }; var handleRespComplete = function handleRespComplete() { clearTimeout(timer); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; }; var handleReqTimeout = function handleReqTimeout(xhr) { if (typeof obj.timeout !== 'undefined') { timer = setTimeout(function () { xhr.abort(); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; __moon_report({ offset: MOON_AJAX_TIMEOUT_OFFSET, log: "ajax_timeout_error: ".concat(url), e: '' }); }, obj.timeout); } }; var retryXhrFn = function retryXhrFn(res, isTimeout, reqLogItem) { var retryXhr = new XMLHttpRequest(); try { retryXhr._noVConsole = true; } catch (err) {} retryXhr.open(type, url); retryXhr.onreadystatechange = function () { if (isTimeout) return; if (retryXhr.readyState === 3) { obj.received && obj.received(retryXhr); } if (retryXhr.readyState === 4) { beforeResp(retryXhr); var retryStatus = retryXhr.status; if (retryStatus >= 200 && retryStatus < 400) { handleRespSucc(retryXhr, 1); } else { handleRespErr(retryXhr, res, 1); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure', JSON.stringify({ retryXhrStatus: retryStatus, transferRes: res }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryXhr.responseText; handleRespComplete(); networkEndLog(reqLogItem); } }; setXhrHeader(retryXhr, type, obj); retryXhr.send(data); }; if (ajaxScope && !obj.pureHttp) { var header = { 'User-Agent': navigator.userAgent, 'Cookie': (window.__test_env__ ? 'uniproxy_route=1; ' : '') + document.cookie, 'Referer': location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if (type === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } if (!obj.noXRequestedWidthHeader) { header['X-Requested-With'] = 'XMLHttpRequest'; } var reqUrl = new URL(url, location.href).href; var method = METHOD_ENUM[type] || 0; var params = Device.os.pc ? { url: reqUrl, req_json: data || '', scope: ajaxScope, webcgi_method: method, webcgi_header: Object.keys(header).map(function (headerItemKey) { return Device.os.Mac ? _defineProperty({}, headerItemKey, header[headerItemKey]) : { key: headerItemKey, value: header[headerItemKey] }; }), cgi_type: 1 } : { reqUrl: reqUrl, reqBody: data, scope: ajaxScope, method: method, header: header }; var reqLogItem = networkStartLog({ method: type, url: url, postData: obj.data || {}, requestHeader: header, requestType: 'transfer', startTime: Date.now(), responseType: url.indexOf('f=json') > 0 ? 'json' : undefined }); var isTimeout = false; handleReqTimeout({ abort: function abort() { isTimeout = true; reqLogItem.endTime = Date.now(); reqLogItem.response = 'timeout'; networkEndLog(reqLogItem); } }); Device.os.pc && monitor$1.setSum(115849, 69, 1); JSAPI.invoke(Device.os.pc ? 'H5ExtTransfer' : 'webTransfer', params, function (res) { var _a, _b, _c, _d, _e, _f; if (isTimeout) return; var status = 400; var result = ''; if (Device.os.pc) { try { var retFlag = res.base_resp.ret === 0 && res.jsapi_resp.ret === 0 && res.err_msg.indexOf(':ok') > -1; var respJsonFlag = res.jsapi_resp.resp_json; status = retFlag && respJsonFlag ? 200 : 400; result = res.jsapi_resp.resp_json; } catch (err) { console.error(err); } } else { status = res && res.errCode * 1 === 0 && typeof res.result === 'string' && res.result ? 200 : 400; result = res.result; } try { Log.log("ajax transfer, status: ".concat(status, ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (status >= 200 && status < 400) { obj.received && obj.received(null); beforeResp({ status: status }); handleRespSucc({ status: status, responseText: result }, 10); reqLogItem.status = status; reqLogItem.endTime = Date.now(); reqLogItem.response = result; handleRespComplete(); networkEndLog(reqLogItem); } else if (window.__second_open__) { JSAPI.invoke('request', { url: reqUrl, method: type, data: data, header: header }, function (retryRes) { try { Log.log("ajax retry request, retryStatus: ".concat((retryRes === null || retryRes === void 0 ? void 0 : retryRes.statusCode) || '', ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (isTimeout) return; var retryStatus = retryRes.statusCode; obj.received && obj.received(null); beforeResp({ status: retryStatus }); if (retryRes.err_msg.indexOf(':ok') > -1 && retryStatus >= 200 && retryStatus < 400) { handleRespSucc({ status: retryStatus, responseText: retryRes.data }, 20); } else { retryXhrFn(res, isTimeout, reqLogItem); handleRespErr({ status: retryStatus }, res, 20); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure_sec_open', JSON.stringify({ retryReqJsapiRes: retryRes, transferRes: res, url: reqUrl }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryRes.data; handleRespComplete(); networkEndLog(reqLogItem); }); } else { retryXhrFn(res, isTimeout, reqLogItem); } if (Device.os.pc) { if (!res.err_msg.includes(':ok')) { (_b = (_a = window.WX_BJ_REPORT) === null || _a === void 0 ? void 0 : _a.BadJs) === null || _b === void 0 ? void 0 : _b.report("pc transfer res no ok: ".concat(res.err_msg), params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } try { if (res.jsapi_resp.resp_json && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 0 && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 190001 || res.base_resp.ret !== 0 || res.jsapi_resp.ret !== 0) { (_d = (_c = window.WX_BJ_REPORT) === null || _c === void 0 ? void 0 : _c.BadJs) === null || _d === void 0 ? void 0 : _d.report("pc transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } else { try { if (res.errCode !== 0) { (_f = (_e = window.WX_BJ_REPORT) === null || _e === void 0 ? void 0 : _e.BadJs) === null || _f === void 0 ? void 0 : _f.report("mobile transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } }); beforeReq(); return; } var xhr = new XMLHttpRequest(); var mayAbort = !!obj.mayAbort; var async = typeof obj.async === 'undefined' ? true : obj.async; var _onreadystatechange = xhr.onreadystatechange; xhr.open(type, url, async); xhr.onreadystatechange = function () { if (typeof _onreadystatechange === 'function') { _onreadystatechange.apply(xhr); } if (xhr.readyState === 3) { obj.received && obj.received(xhr); } if (xhr.readyState === 4) { beforeResp(xhr); xhr.onreadystatechange = null; var status = xhr.status; if (status >= 200 && status < 400) { handleRespSucc(xhr, 1); } else { handleRespErr(xhr, 'status error', 1); if (!!status || !mayAbort) { var __ajaxtest = window.__ajaxtest || '0'; __moon_report({ offset: MOON_AJAX_NETWORK_OFFSET, log: "ajax_network_error[".concat(status, "][").concat(__ajaxtest, "]: ").concat(url, ";host:").concat(location.host), e: '' }); } } handleRespComplete(); } }; setXhrHeader(xhr, type, obj); handleReqTimeout(xhr); try { xhr.send(data); try { if (url && url.length > LENGTH_LIMIT) { reportAjaxLength(27613, 17, "ajax get limit[length: ".concat(url.length, "]").concat(url.substring(0, 1024))); } if (data && !(data instanceof Blob) && data.length > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.length, "]").concat(data.substring(0, 1024))); } if (data && data instanceof Blob && data.size > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.size, "]blob")); } } catch (e) { } } catch (e) { obj.error && obj.error(xhr, { type: 3, error: e, status: 0 }); } beforeReq(); }); } mmversion.isWindowsWechat && mmversion.compareHexVersion('0xf2550000') || mmversion.isMacWechat && mmversion.compareHexVersion('0xf2650000'); var getBrandServiceType = function getBrandServiceType() { var serviceType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.service_type; var _a, _b; var brandServiceType = 0; if (serviceType !== undefined) brandServiceType = serviceType + 1; if (((_b = (_a = window.cgiData) === null || _a === void 0 ? void 0 : _a.trans_appmsg_info) === null || _b === void 0 ? void 0 : _b.trans_type) * 1 === 1) brandServiceType = 3; return brandServiceType; }; function setCurrentMpInfo(ifShow) { var supportNewTopBar = mmversion.isIOS && mmversion.gtVersion('7.0.10', true) || mmversion.isAndroid && mmversion.gtVersion('7.0.12', true); var supportLiveStatus = mmversion.isIOS && mmversion.gtVersion('8.0.46', true) || mmversion.isAndroid && mmversion.gtVersion('8.0.46', true); JSAPI.invoke('currentMpInfo', { userName: window.user_name, brandName: !!supportNewTopBar && window.nickname === '' ? '未命名账号' : window.title, title: window.msg_title || '', brandIcon: window.hd_head_img.replace(/\/0$/, '/132'), itemShowType: window.item_show_type, isPaySubscribe: window.isPaySubscribe, topBarStyle: supportNewTopBar ? 1 : 0, topBarShowed: ifShow, disableShowFinderLiveTopBar: !ifShow && supportLiveStatus ? 1 : 0, brandServiceType: getBrandServiceType() }, function () {}); } function AjaxWx(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; obj.url += obj.url.indexOf('?') === -1 ? '?fasttmplajax=1' : '&fasttmplajax=1'; if (getAjaxScope(obj.url)) { Ajax(obj); return; } if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } if (!/^(http:\/\/|https:\/\/|\/\/)/.test(obj.url)) { obj.url = "https://mp.weixin.qq.com/".concat(obj.url.replace(/^\//, '')); } else if (/^\/\//.test(obj.url)) { obj.url = "https:".concat(obj.url); } if (obj.f !== 'html' && (obj.url.indexOf('?f=json') === -1 || obj.url.indexOf('&f=json') === -1)) { obj.url += '&f=json'; } if (!obj.notJoinUrl && obj.f !== 'html') { obj.url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(obj.url, !!obj.notJoinUrl, function (url) { obj.url = url; var urlObj = new URL(url, location.origin); var data = null; if (_typeof(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var header = { Cookie: document.cookie, referer: location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if ((obj.type || 'GET').toUpperCase() === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } var reqLogItem = networkStartLog({ method: obj.type || 'GET', url: obj.url, postData: obj.data || {}, requestHeader: header, requestType: 'jsapi', startTime: Date.now() }); var retryTime = 1; var jsapiRequest = function jsapiRequest(obj, data) { return JSAPI.invoke('request', { url: obj.url, method: obj.type, data: data, header: header }, function (res) { var _a, _b, _c, _d, _e, _f; if (res.err_msg.indexOf(':ok') > -1 && (!res.statusCode || res.statusCode >= 200 && res.statusCode < 400)) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(res.statusCode, "|").concat(Date.now()); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(res.statusCode, "|").concat(Date.now()); } if (retryTime === 1) { obj.received && obj.received(null); } var resData = {}; if (res.data) { try { if (obj.dataType === 'json') { resData = JSON.parse(res.data); } else { resData = res.data; } if (resData && resData.base_resp && ((_a = resData.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = obj.url; if (obj.url.indexOf('?') !== -1) { reportUrl = obj.url.substring(0, obj.url.indexOf('?')); if (Url.getQuery('action', obj.url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', obj.url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resData.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resData.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_b = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _b === void 0 ? void 0 : _b.ret) || 0 }); } console.error(e); obj.error && obj.error(null, { type: 1, error: e, status: res.statusCode }); obj.complete && obj.complete(); reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); return; } } var tmpResData = {}; try { tmpResData = JSON.parse(res.data); } catch (e) {} if (tmpResData && tmpResData.base_resp && tmpResData.base_resp.ret === -3 && retryTime < 2 && (mmversion.isIOS || mmversion.isAndroid && mmversion.getInner() > '27000600')) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_c = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } var _retryTime = retryTime++; JSAPI.invoke('updatePageAuth', {}, function (res) { console.log('[skeleton] updatePageAuth', res); monitor$1.setSum(112287, 3, 1); if (res && res.err_msg && res.err_msg.indexOf(':ok') > -1) { window.top.pass_ticket = encodeURIComponent(Url.getQuery('pass_ticket', res.fullUrl).html(false).replace(/\s/g, '+')); if (obj.pass_ticket) { obj.pass_ticket = window.top.pass_ticket; } console.warn('[skeleton] updatePageAuth resetTopbar'); var supportNewTopBar = mmversion.isIOS && mmversion.gtVersion('7.0.10', true); var showBottomBar = !!window.is_login; if (window.top.item_show_type === '0' && supportNewTopBar) { var top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop || 0; setCurrentMpInfo(top > 40 && !showBottomBar); } try { obj.url = Url.addParam(obj.url, 'retry', _retryTime, true); } catch (err) { console.error(err); } jsapiRequest(obj, data); monitor$1.setSum(112287, 4, 1); } else { obj.success && obj.success(resData); obj.complete && obj.complete(); if (mmversion.isIOS) { monitor$1.setSum(112287, 35, 1); } else { monitor$1.setSum(112287, 36, 1); } reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } }); } else { if (((_d = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _d === void 0 ? void 0 : _d.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 4, HttpCode: res.statusCode || 0, Ret: ((_e = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _e === void 0 ? void 0 : _e.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 0, HttpCode: res.statusCode || 0, Ret: ((_f = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _f === void 0 ? void 0 : _f.ret) || 0 }); } } obj.success && obj.success(resData); obj.complete && obj.complete(); reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } } else if (res.err_msg.indexOf('no permission') > -1 || !mmversion.isOnlyWechat) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: 0 }); } Ajax(obj); if (res.err_msg.indexOf('no permission') > -1) { console.warn('[JSAPI Request] No permission'); monitor$1.setSum(112287, 31, 1); } reqLogItem.status = 302; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 2, HttpCode: res.statusCode || 0, Ret: 0 }); } obj.error && obj.error(null, { type: 3, error: res, status: 0 }); obj.complete && obj.complete(); monitor$1.setSum(112287, 32, 1); var sample = 0.001; if (Math.random() < sample) { var msg = "request: ".concat(JSON.stringify(obj.type), " ").concat(JSON.stringify(obj.url), " ;;;; cookie: ").concat(JSON.stringify(document.cookie), " ;;;; data: ").concat(JSON.stringify(data), " ;;;; resp: ").concat(JSON.stringify(res)); if (window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { window.WX_BJ_REPORT.BadJs.report('ajax_wx_request_error', msg, { mid: 'mmbizwap:Monitor' }); } } reqLogItem.status = 400; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } }); }; if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); } jsapiRequest(obj, data); }); } function _regeneratorRuntime() { _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = isx5 ? '1' : '0'; obj.f = 'json'; return Url.join(url, obj); } function isObj(obj) { return obj && _typeof(obj) === 'object'; } function assign(target, source) { if (isObj(target) && isObj(source)) { for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } } function assembleReportData(initiative) { var leaveReportLog = []; leaveReportLog.push({ content: "[LeaveReport] specificData keys: ".concat(Object.keys(specificData)), timestamp: Date.now() }); Log.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); console.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); var allReportData = {}; for (var reportField in specificData) { if (!allReportData[reportField]) { allReportData[reportField] = {}; } for (var i = 0; i < specificData[reportField].length; i++) { var param = specificData[reportField][i]; if (typeof param === 'function') { try { assign(allReportData[reportField], param(initiative)); } catch (err) { leaveReportLog.push({ content: "[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); console.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); } } else if (isObj(param)) { assign(allReportData[reportField], param); } } } leaveReportLog.push({ content: "[LeaveReport] reportData.length: ".concat(reportData.length), timestamp: Date.now() }); Log.log("[LeaveReport] reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] reportData.length: ".concat(reportData.length)); leaveReportLog.push({ content: "[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length), timestamp: Date.now() }); Log.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); console.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); for (var _i = 0; _i < getDataFunc.length; _i++) { try { var data = getDataFunc[_i](initiative); if (isObj(data)) { reportData.push(data); } } catch (err) { leaveReportLog.push({ content: "[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); console.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); } } for (var _i2 = 0; _i2 < reportData.length; _i2++) { if (reportData[_i2].reportUrl) { reportData[_i2].reportUrl = joinUrl(reportData[_i2].reportUrl); } } allReportData.data = { 'requestList': reportData }; leaveReportLog.push({ content: "[LeaveReport] final reportData.length: ".concat(reportData.length, ", data=").concat(JSON.stringify(reportData)), timestamp: Date.now() }); Log.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); allReportData.info = leaveReportLog; return allReportData; } function addReport(param) { if (typeof param === 'function') { getDataFunc.push(param); } else if (isObj(param)) { reportData.push(param); } } function addSpecificReport(reportField, param) { if (!specificData[reportField]) { specificData[reportField] = []; } specificData[reportField].push(param); } function reportNow(callback) { var allReportData = assembleReportData(true); JSAPI.invoke('handleMPPageAction', { action: 'reportByLeaveForMPGateway', reportData: allReportData }, function (res) { if (res && res.err_msg && res.err_msg.indexOf(':ok') !== -1) { getDataFunc = []; reportData = []; specificData = {}; typeof callback === 'function' && callback(res); } else { getDataFunc = []; reportData = []; var len = allReportData.data.requestList.length; allReportData.data.requestList.forEach(function (req) { if (req.reportUrl) { AjaxRouter({ type: req.method || 'GET', url: req.reportUrl, data: req.reportData, async: false, success: function success(resp) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:ok', fallback: true, resp: resp }); } }, error: function error(xhr, err) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:fail', fallback: true, err: err }); } } }); } }); } }); } var leaveReport = { reportNow: reportNow, addReport: addReport, addSpecificReport: addSpecificReport }; var _leaveReport = (function () { var doc = {}; var isCrossOrigin = false; try { doc = top.window.document; } catch (e) { isCrossOrigin = true; } if (!isCrossOrigin && top.window.__leaveReport) { return top.window.__leaveReport; } if (window.__leaveReport) { return window.__leaveReport; } JSAPI.on('reportOnLeaveForMP', function () { return assembleReportData(false); }); return window.__leaveReport = leaveReport; })(); var getReportJson = function getReportJson(logId, rawData) { var data = JSON.parse(JSON.stringify(rawData)); data.log_id = Number(logId); data.TimeStamp = Math.round(Date.now() / 1000); console.log('[comm_report] reportjson: ', data); return JSON.stringify(data); }; var getSuccessHandler = function getSuccessHandler(logId, data, opt) { return function (res) { if (res && res.err_code !== 0) { console.warn("[comm_report] report ".concat(logId, " fail: "), res.err_msg, data); } if (typeof opt.success === 'function') { opt.success(res); } }; }; var getErrorHandler = function getErrorHandler(logId, data, opt) { return function (xhr, info) { console.error("[comm_report] report ".concat(logId, " error: "), info, data); if (typeof opt.error === 'function') { opt.error(xhr, info); } }; }; var batchReportDataArr = []; var blackLogId = [25587, 18832, 28208, 25574, 29139, 10945]; var BATCH_SIZE = 4; var BATCH_TIME = 1000; var getRepeatedReportJson = function getRepeatedReportJson() { if (!batchReportDataArr || !batchReportDataArr.length) return false; var reportData = { count: 0 }; reportData.count = batchReportDataArr.length; batchReportDataArr.forEach(function (data, index) { reportData["reportjson".concat(index)] = data; }); batchReportDataArr = []; console.log('[reportData]: ', reportData); return reportData; }; var timeOutId; function batchReport() { if (!batchReportDataArr || !batchReportDataArr.length) return; var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return; AjaxRouter({ type: 'POST', dataType: 'json', url: '/mp/wapcommreport?action=batch_report', data: repeatedReportJson, dontReport: true, success: function success(res) { if (res && res.err_code) { console.warn("[comm_report] batch report fail: ", res.err_msg, batchReportDataArr); } }, error: function error(xhr, info) { console.error("[comm_report] batch report error: ", info, batchReportDataArr); } }); } function batchReportThrottle(logId, rawData) { var reportJsonData = getReportJson(logId, rawData); if (!reportJsonData) return; batchReportDataArr.push(reportJsonData); if (batchReportDataArr.length >= BATCH_SIZE) { batchReport(); } else { if (!timeOutId) { timeOutId = setTimeout(function () { batchReport(); clearTimeout(timeOutId); timeOutId = null; }, BATCH_TIME); } } } _leaveReport.addReport(function () { var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return false; var reportData = []; for (var _i = 0, _Object$entries = Object.entries(repeatedReportJson); _i < _Object$entries.length; _i++) { var _Object_i = _slicedToArray(_Object$entries[_i], 2), key = _Object_i[0], value = _Object_i[1]; reportData.push("".concat(key, "=").concat(encodeURIComponent(value))); } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport?action=batch_report', reportData: reportData.join('&'), method: 'POST' }; }); var commonReport = { report: function report(logId, rawData, rawOpt) { var opt = rawOpt || {}; if (!opt.realTime && !blackLogId.includes(logId)) { batchReportThrottle(logId, rawData); } else { AjaxRouter({ type: 'POST', dataType: 'json', url: '/mp/wapcommreport', data: { reportjson: getReportJson(logId, rawData) }, async: opt.async, success: getSuccessHandler(logId, rawData, opt), error: getErrorHandler(logId, rawData, opt) }); } }, leaveReport: function leaveReport(logId, rawData) { _leaveReport.addReport(function () { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport', reportData: "reportjson=".concat(encodeURIComponent(getReportJson(logId, data))), method: 'POST' }; }); }, reportByBeacon: function reportByBeacon(logId, rawData) { try { if (!Device.os.android && !Device.os.ios && !Device.os.harmony) { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } var url = '/mp/wapcommreport'; var reportJsonData = encodeURIComponent(getReportJson(logId, data)); console.log("reportByBeacon", JSON.stringify(reportJsonData)); navigator.sendBeacon(Url.joinUrl(url), "reportjson=".concat(reportJsonData)); } else { _leaveReport.addReport(function () { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport', reportData: "reportjson=".concat(encodeURIComponent(getReportJson(logId, data))), method: 'POST' }; }); } } catch (error) { console.log(error); } } }; function getCommonReportData() { return { Referer: location.href, UserAgent: navigator.userAgent, Protocol: location.protocol || '', Origin: location.host || '' }; } var report36408 = function report36408(data) { commonReport.report(36408, Object.assign(Object.assign({}, data), getCommonReportData())); }; var ajax = function ajax(obj) { obj.report36408 = report36408; AjaxRouter(obj); }; var timer = null; var jsmonitorReport = { setSum: function setSum(id, key, value) { throw new Error('Function not implemented.'); }, setAvg: function setAvg(id, key, value) { throw new Error('Function not implemented.'); }, setLogs: function setLogs(opt) { throw new Error('Function not implemented.'); }, send: function send(async) { throw new Error('Function not implemented.'); } }; window.__monitor_unload_has_done__ = false; jsmonitorReport.setSum = function (id, key, value) { monitor$1.setSum(id, key, value); return jsmonitorReport; }; jsmonitorReport.setAvg = function (id, key, value) { monitor$1.setAvg(id, key, value); return jsmonitorReport; }; jsmonitorReport.setLogs = function (opt) { monitor$1.setLogs(opt); return jsmonitorReport; }; jsmonitorReport.send = function (async) { if (async !== false) { async = true; } monitor$1.send(async, ajax); return jsmonitorReport; }; function reportInterval(fn, delay) { timer = window.setTimeout(function () { fn(); reportInterval(fn, delay); }, delay); } reportInterval(function () { jsmonitorReport.send(); }, 1 * 1000); window.addEventListener('unload', function () { if (window.__monitor_report_has_done__) return; window.__ajaxtest = '2'; if (timer) { window.clearTimeout(timer); timer = null; } jsmonitorReport.send(false); window.__monitor_unload_has_done__ = true; }, false); if (window.__jsmonitorReport) { jsmonitorReport = window.__jsmonitorReport; } else { window.__jsmonitorReport = jsmonitorReport; } var jsmonitorReport$1 = jsmonitorReport; function saveSpeeds(opt) { var sample = 0.001; if (typeof opt.sample === 'number') { sample = opt.sample; } var rand = Math.random(); if (rand < sample) { wxgsdk.saveSpeeds(opt); } } function setBasicTime(opt) { var sample = opt.sample || 0.001; var rand = Math.random(); if (rand < sample) { wxgsdk.setBasicTime(opt); } } function send() { wxgsdk.send(); } function jsmonitor(opt) { opt = opt || []; if (!Array.isArray(opt)) { var item = opt; opt = []; opt.push(item); } for (var i = 0; i < opt.length; i++) { var _item = opt[i]; var id = _item.id; var key = _item.key; var value = _item.value || 1; if (id !== undefined && key !== undefined) { jsmonitorReport$1.setSum(id, key, value); } } } var wxgspeedsdk = { saveSpeeds: saveSpeeds, setBasicTime: setBasicTime, send: send, jsmonitor: jsmonitor }; function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } var uuid = function uuid() { return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1); }; var WRAP_TAG = 'span'; var IMG_TAG = 'IMG'; var NODE_TYPE = { text: 1, img: 2 }; var blockEleTagName = ['P', 'DIV', 'SECTION', 'LI', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'TABLE', 'PRE', 'BLOCKQUOTE']; var exceptEleClassName = ['js_product_container', 'js_blockquote_wrap']; var ignoreTagName = ['IFRAME', 'VIDEO', 'MPVOICE', 'MPGONGYI', 'QQMUSIC', 'MPSHOP', 'MP-WEAPP', 'MP-MINIPROGRAM', 'MPPRODUCT', 'MPCPS']; var ignoreEleId = ['js_mpvideo']; var ignoreEleClassName = ['js_product_container']; var TEMP_NODES = {}; var childNodesHasEle = function childNodesHasEle(element) { var tagNameList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : blockEleTagName; if (!element || element.nodeType !== 1) { return false; } for (var i = 0; i < element.children.length; i++) { if (tagNameList.indexOf(element.children[i].tagName) !== -1) { return true; } } return false; }; function eleHasAttr(ele) { var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'className'; var AttrList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : exceptEleClassName; for (var i = 0; i < AttrList.length; i++) { if (ele[attr] && typeof ele[attr] === 'string' && ele[attr].indexOf(AttrList[i]) > -1) { return true; } } return false; } var removeChildMedia = function removeChildMedia(element) { var parentNode = element.parentNode; element.parentNode.removeChild(element); if (parentNode.children && parentNode.children.length) { return false; } return true; }; var getParaList = function getParaList(element, _ref) { var _ref$getNestedStructu = _ref.getNestedStructure, getNestedStructure = _refgetNestedStructu, _ref$removeIgoreEle = _ref.removeIgoreEle, removeIgoreEle = _refremoveIgoreEle; var paraList = function getParaListWithIndex(ele, getNested) { var childNodes = ele.children; if (!childNodes) return []; if (!childNodes.length) { return childNodes; } var child; var paragraphList = []; for (var i = 0; i < childNodes.length; i++) { child = childNodes[i]; if (eleHasAttr(child, 'id', ignoreEleId) || eleHasAttr(child, 'className', ignoreEleClassName)) { if (removeIgoreEle) { child.parentNode.removeChild(child); i -= 1; } continue; } if (childNodesHasEle(child, ignoreTagName)) { if (removeIgoreEle) { removeChildMedia(child); i -= 1; } continue; } if (childNodesHasEle(child, blockEleTagName) && !eleHasAttr(child)) { paragraphList = paragraphList.concat(getParaListWithIndex(child, getNested)); if (getNested) { if (!child.getAttribute('data-index')) { paragraphList.push(child); } } } else { if (!child.getAttribute('data-index')) { paragraphList.push(child); } } } return paragraphList; }(element, getNestedStructure); return [].slice.call(paraList); }; getParaList.paragraphStartIdx = 1000000; var getSplitTextNode = function getSplitTextNode($textNode, startOffset, endOffset, paraIndex) { try { $textNode.splitText(startOffset); } catch (err) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'getSplitTextNode textnode', startOffset: startOffset, endOffset: endOffset } }); } } var selectedNode = $textNode.nextSibling; try { selectedNode.splitText(endOffset - startOffset); } catch (e) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'getSplitTextNode nextSibling', startOffset: startOffset, endOffset: endOffset } }); } } return [{ $node: selectedNode, type: NODE_TYPE.text, idx: paraIndex }]; }; var getBlockNode = function getBlockNode($node) { if (blockEleTagName.indexOf($node.tagName) !== -1 && typeof $node.dataset.index !== 'undefined') { return $node; } return getBlockNode($node.parentNode); }; var getPureBlockNode = function getPureBlockNode($node) { if (!$node) return $node; if (blockEleTagName.indexOf($node.tagName) !== -1) { return $node; } return getPureBlockNode($node.parentNode); }; var getNodesByDFS = function getNodesByDFS(range) { var start = range.start, end = range.end, container; var node, startOffset = start.offset; var node, endOffset = end.offset; var queue = []; var result = []; var withinSelectRange = false; var achiveSelectRangeEnd = false; var paraIndex = 0; queue.push($container); while (queue.length > 0) { var item = queue.pop(); var nodeType = item.nodeType, tagName = item.tagName; if (item.dataset && item.dataset.index) { paraIndex = +item.dataset.index; } if (withinSelectRange && !achiveSelectRangeEnd) { if (nodeType === 3) { result.push({ $node: item, type: NODE_TYPE.text, idx: paraIndex }); } if (tagName === IMG_TAG) { result.push({ $node: item, type: NODE_TYPE.img, idx: paraIndex }); } } if (item === $startNode) { if (nodeType === 3) { try { item.splitText(startOffset); } catch (e) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'getNodes startNode', startOffset: startOffset, endOffset: endOffset } }); } var $startTextNode = item.nextSibling; result.push({ startTextNode, type: NODE_TYPE.text, idx: paraIndex }); } else if (tagName === IMG_TAG) { result.push({ $node: item, type: NODE_TYPE.img, idx: paraIndex }); } else { result.push({ $node: item, type: NODE_TYPE.text, idx: paraIndex }); } withinSelectRange = true; } if (item === $endNode || achiveSelectRangeEnd) { if (!achiveSelectRangeEnd) { achiveSelectRangeEnd = true; } if (item === $endNode) result.pop(); if (nodeType === 3) { try { item.splitText(endOffset); } catch (e) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'getSplitTextNode endNode', startOffset: startOffset, endOffset: endOffset } }); } } result.push({ $node: item, type: NODE_TYPE.text, idx: paraIndex }); break; } else if (tagName === IMG_TAG) { result.push({ $node: item, type: NODE_TYPE.img, idx: paraIndex }); break; } else { var _children = item.childNodes; for (var i = _children.length - 1; i >= 0; i--) { queue.push(_children[i]); } } } var children = item.childNodes; for (var _i = children.length - 1; _i >= 0; _i--) { queue.push(children[_i]); } } return result; }; var getSelectedNodes = function getSelectedNodes(range) { var start = range.start, end = range.end; var node, startOffset = start.offset; var node, endOffset = end.offset; if (endNode && $startNode instanceof Text) { return getSplitTextNode($startNode, startOffset, endOffset, start.paraIndex); } return getNodesByDFS(range); }; var checkTextNode = function checkTextNode($node) { return $node && (node.innerText); }; var connectSiblingText = function connectSiblingText(prev, next, target) { var $delete = target === prev ? next : prev; if (!checkTextNode(prev) || !checkTextNode(next)) { return $delete; } var text = (prev.nodeValue || prev.innerText) + (next.nodeValue || next.innerText); target.nodeValue = text; target.parentNode.removeChild($delete); return target; }; var getTextNodeByOffset = function getTextNodeByOffset($parentNode, offset) { var queue = []; var curOffset = 0; var startOffset = 0; var $curNode; queue.push($parentNode); while (queue.length > 0) { $curNode = queue.pop(); if ($curNode.nodeType === 3) { startOffset = offset - curOffset; curOffset += $curNode.textContent.length; if (curOffset >= offset) { break; } } var children = $curNode.childNodes; for (var i = children.length - 1; i >= 0; i--) { queue.push(children[i]); } } return { parentNode, curNode, offset: startOffset }; }; function getBlockOffset(_ref2) { var blockNode, node; if ($blockNode === null) { return null; } var queue = []; var offset = 0; queue.push($blockNode); while (queue.length > 0) { var item = queue.pop(); if (item.nodeType === 3 && item.nodeValue !== $node.nodeValue) { offset += item.textContent.length; } else if (item.nodeType === 1) { offset += 1; if (item === $node) break; } else if (item.nodeValue === $node.nodeValue) { offset += item.textContent.length; break; } var children = item.childNodes; for (var i = children.length - 1; i >= 0; i--) { queue.push(children[i]); } } return offset; } var getDomMeta = function getDomMeta(selection) { selection.$node; var parentNode; var parentIndex = Number($parentNode.dataset.index); var offset = getBlockOffset($parentNode); return { parentIndex: parentIndex, fromParentoffset: offset }; }; function nodeToSelection($node) { var $blockNode = getBlockNode($node); var paraIndex = +$blockNode.dataset.index; var offset = 0; var item = { blockNode, node, paraIndex: paraIndex, offset: offset }; var id = uuid(); return { start: item, end: item, id: id }; } var getSelection = function getSelection() { var selection = window.getSelection(); if (selection.anchorNode === null) { return null; } var selectionRange = selection.getRangeAt(0); if (!selectionRange || !selection.toString()) { return null; } var startContainer = selectionRange.startContainer, endContainer = selectionRange.endContainer, commonAncestorContainer = selectionRange.commonAncestorContainer, startOffset = selectionRange.startOffset, endOffset = selectionRange.endOffset; var $startBlockNode = getBlockNode(startContainer); var $endBlockNode = getBlockNode(endContainer); var startIndex = startBlockNode.dataset.index; var endIndex = endBlockNode.dataset.index; var start = { startBlockNode, $node: startContainer, offset: startOffset, paraIndex: Number(startIndex) }; var end = { endBlockNode, $node: endContainer, offset: endOffset, paraIndex: Number(endIndex) }; var $container = typeof commonAncestorContainer === 'string' ? commonAncestorContainer.parentNode : commonAncestorContainer; var id = uuid(); return { start: start, end: end, container, id: id }; }; var transferTextToElement = function transferTextToElement($node, id) { if (!$node) return null; if ($node.nodeType === 3) { var $wrap = document.createElement(WRAP_TAG); $wrap.setAttribute('data-splitid', id); $wrap.appendChild($node.cloneNode(false)); if ($node.parentNode) { $node.parentNode.replaceChild(node); } return $wrap; } return $node; }; var serialize = function serialize(selectionRange) { var start = selectionRange.start, end = selectionRange.end, id = selectionRange.id; var startParaOffset = getBlockOffset(start); var endParaOffset = start.node ? end.offset - start.offset + startParaOffset : getBlockOffset(end); var meta = { id: id, start: { para_offset: startParaOffset, para_index: start.paraIndex }, end: { para_offset: endParaOffset, para_index: end.paraIndex } }; return meta; }; var mapMetaToLocal = function mapMetaToLocal(paraList) { return function (meta) { var paraOffset = meta.para_offset, paraIndex = meta.para_index; var $blockNode = paraList[paraIndex]; var queue = []; var curOffset = 0; var offset = 0; var $curNode; queue.push($blockNode); while (queue.length > 0) { $curNode = queue.pop(); if ($curNode.nodeType === 3) { offset = paraOffset - curOffset; curOffset += $curNode.textContent.length; if (curOffset >= paraOffset) { break; } } if ($curNode.nodeType === 1) { offset = paraOffset - curOffset; curOffset += 1; if (curOffset >= paraOffset) { break; } } var children = $curNode.childNodes; for (var i = children.length - 1; i >= 0; i--) { queue.push(children[i]); } } return { blockNode, curNode, offset: offset, paraIndex: paraIndex }; }; }; var deSerialize = function deSerialize(meta, paraList, $container) { var desparaList = mapMetaToLocal(paraList); return { start: desparaList(meta.start), end: desparaList(meta.end), id: meta.id, container }; }; function getTextNode($node) { if (node.nodeType === 3) { return $node; } return $node.childNodes[0]; } var resetRange = function resetRange(selectionRange) { window.getSelection().removeAllRanges(); var selection = window.getSelection(); var range = document.createRange(); var $startnode = getTextNode(TEMP_NODES.start); var $endnode = getTextNode(TEMP_NODES.end); range.setStart($startnode, selectionRange.start.offset); range.setEnd($endnode, selectionRange.end.offset); selection.addRange(range); }; var getNodeIndex = function getNodeIndex(node) { var queue = []; var index = 0; queue.push($block); while (queue.length > 0) { var $item = queue.pop(); if (node) break; index++; var children = $item.children; for (var i = 0; i < children.length; i++) { queue.push(children[i]); } } return index; }; var getNodeByIndex = function getNodeByIndex($block, index) { var queue = []; var cursor = 0; var $result = null; queue.push($block); while (queue.length > 0) { var $item = queue.pop(); if (cursor === index) { item; break; } cursor++; var children = $item.children; for (var i = 0; i < children.length; i++) { queue.push(children[i]); } } return $result; }; var hasClass = function hasClass(cls, className) { if (cls && typeof cls === 'string' && cls.indexOf(className) !== -1) { return true; } return false; }; var inWhiteList = function inWhiteList(classAttr) { var classWhiteList = 'rich_pages,blockquote_info,blockquote_biz,blockquote_other,blockquote_article,js_jump_icon,h5_image_link,js_banner_container,js_list_container,js_cover,js_tx_video_container,js_product_err_container,js_product_loop_content,js_product_container,img_loading,list-paddingleft-1,list-paddingleft-2,list-paddingleft-3,selectTdClass,noBorderTable,ue-table-interlace-color-single,ue-table-interlace-color-double,__bg_gif,weapp_image_link,js_img_loading,wx_video_context,db,wx_video_thumb_primary,wx_video_play_btn,wx_video_mask,qqmusic_area,tc,tips_global,unsupport_tips,qqmusic_wrp,appmsg_card_context,appmsg_card_active,wx_tap_card,js_wx_tap_highlight,wx_tap_link,qqmusic_bd,play_area,icon_qqmusic_switch,pic_qqmusic_default,qqmusic_thumb,access_area,qqmusic_songname,qqmusic_singername,qqmusic_source,js_audio_frame,share_audio_context,flex_context,pages_reset,share_audio_switch,icon_share_audio_switch,share_audio_info,flex_bd,share_audio_title,share_audio_tips,share_audio_progress_wrp,share_audio_progress,share_audio_progress_inner,share_audio_progress_buffer,share_audio_progress_loading,share_audio_progress_loading_inner,share_audio_progress_handle,share_audio_desc,share_audio_length_current,share_audio_length_total,video_iframe,vote_iframe,js_editor_vote_card,res_iframe,card_iframe,js_editor_card,weapp_display_element,js_weapp_display_element,weapp_card,app_context,weapp_card_bd,weapp_card_profile,radius_avatar,weapp_card_avatar,weapp_card_nickname,weapp_card_info,weapp_card_title,weapp_card_thumb_wrp,weapp_card_ft,weapp_card_logo,js_pay_btn,pay,pay__mask,wx_video_loading,js_redpacketcover,js_uneditable,js_uneditablemouseover,js_editor_qqmusic,js_img_placeholder,js_editor_audio,ct_geography_loc_tip,js_poi_entry,js_mention_entry,product_text_link,js_plain-music_entry'.split(','); var qaClassPrefix = 'qa__'; var classWhiteListReg = [new RegExp('^weui'), new RegExp('^appmsg'), new RegExp('^audio'), new RegExp('^music'), new RegExp('^cps_inner'), new RegExp('^bizsvr_'), new RegExp('^code-snippet'), new RegExp('^' + qaClassPrefix), new RegExp('^wx-edui-'), new RegExp('^wx_'), new RegExp('^wx-'), new RegExp('^custom_select_card_') ]; if (!classAttr) return null; var classList = classAttr.split(/\s+/); var newClassList = []; for (var i = 0, len = classList.length; i < len; ++i) { var className = classList[i]; if (className && classWhiteList.indexOf(className) !== -1) { newClassList.push(className); } else { for (var j = 0, jl = classWhiteListReg.length; j < jl; j++) { if (classWhiteListReg[j].test(className)) { newClassList.push(className); break; } } } } var str = newClassList.join('.'); return str && '.' + str; }; var getNodeSelector = function getNodeSelector(node) { var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; var root = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.body; if (!node || node === root) return selector; var id = node.getAttribute('id'); var className = node.getAttribute('class'); var tagName = node.tagName.toLowerCase(); var currentSelector = null; if (id && !hasClass(className, 'articlepart-selector-area_choice-button_wrap')) return selector ? "#".concat(id, ">").concat(selector) : "#".concat(id); var whiteClassName = inWhiteList(className); if (whiteClassName) { currentSelector = whiteClassName; } else if (hasClass(className, 'js_choice-img')) { currentSelector = '.js_choice-img'; } else if (hasClass(className, 'articlepart-selector-area_choice')) { currentSelector = node.dataset.splitid ? '' : tagName; } else { currentSelector = tagName; } return getNodeSelector(node.parentNode, [currentSelector, selector].filter(function (item) { return !!item; }).join('>'), root); }; var getNodeSelectorWrap = function getNodeSelectorWrap(node, root) { var selector = getNodeSelector(node, '', root); var collect = []; try { collect = root.querySelectorAll(selector); } catch (error) { console.log('get node selector wrap err', error); } var len = collect.length; var index = null; for (var i = 0; i < len; i++) { if (node === collect[i]) { index = i; break; } } if (index === null) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'selector:node not find', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { selector: selector } }); } } var newSelector = (selector || '').replace('>.js_choice-img>', '>') + "|".concat(len, " ").concat(index || 0); return newSelector; }; var serializeToC = function serializeToC(nodes) { return ( nodes.map(function (item) { var node, type = item.type, idx = item.idx; var index = 0; var data = null; var meta = ''; var blockItem = getBlockNode($node); if (type === NODE_TYPE.text) { var nodeIndex = getNodeIndex(blockItem, $node.parentNode); if (node.data) { index = nodeIndex; data = $node.data; meta = node.previousSibling.data; } } else if (type === NODE_TYPE.img) { var imgs = blockItem.getElementsByTagName('img'); data = $node.src; index = Array.prototype.slice.call(imgs).slice(0).indexOf($node); } return { data: data, index: index, idx: idx, type: type, meta: meta }; }).filter(function (item) { return item.index > -1 && !!item.data; }) ); } ; var serializeToC2 = function serializeToC2(nodes, $container) { var root = $container || document.getElementById('js_content'); return nodes.map(function (item) { var node, type = item.type, idx = item.idx; var selector = null; var data = null; var meta = ''; if (type === NODE_TYPE.text) { if (node.data) { selector = getNodeSelectorWrap($node.parentNode, root); data = $node.data; meta = node.previousSibling.data; } } else if (type === NODE_TYPE.img) { selector = getNodeSelectorWrap($node, root); data = $node.src; } return { data: data, idx: idx, type: type, meta: meta, selector: selector }; }).filter(function (item) { return !!item.selector && !!item.data; }); }; function setProperty(el, name, value, priority) { if (!!el.style.setProperty) { priority = priority || null; el.style.setProperty(name, value, priority); } else if (typeof el.style.cssText !== 'undefined') { priority = priority ? '!' + priority : ''; el.style.cssText += ';' + name + ':' + value + priority + ';'; } } function hasImgNode($el) { if (!$el) return false; var nodeType = $el.nodeType, tagName = $el.tagName; if (nodeType === 3) { return false; } if (tagName === IMG_TAG) { return true; } return false; } function getContent(tree) { return tree.reduce(function (acc, cur, idx) { if (idx === 0) { if (cur.type === NODE_TYPE.text) { acc.text.push(cur.data); } else if (cur.type === NODE_TYPE.img) { acc.pic.push(cur.data); } return acc; } if (cur.type === NODE_TYPE.text) { if (tree[idx - 1].type === NODE_TYPE.text) { var text = acc.text.pop(); text += cur.data; acc.text.push(text); } else { acc.text.push(cur.data); } return acc; } if (cur.type === NODE_TYPE.img) { acc.pic.push(cur.data); } return acc; }, { audio: [], pic: [], video: [], text: [] }); } function saveNode($node, key) { TEMP_NODES[key] = $node; } function serializeNode(wrap) { var range = nodeToSelection($node); var anchorTree = serializeToC2([{ node, type: NODE_TYPE.img, idx: range.start.paraIndex }], $wrap); var anchorMeta = serialize(range); var anchorBrief = getContent(anchorTree); return { meta: { anchorTree: anchorTree, anchorMeta: anchorMeta, anchorBrief: anchorBrief }, range: range }; } function findChildIndex(parent, offset) { var childNodes = parent.childNodes; var realOffset = offset; var $node = null; var i = 0; for (i = 0; i < childNodes.length; i++) { $node = childNodes[i]; if ($node.nodeType === 3) { var len = $node.length; if (len > realOffset) { break; } else { realOffset -= len; } } } return { node, cursor: realOffset }; } var qs = function qs(selector, el) { return (el || document).querySelector(selector); }; var qsAll = function qsAll(selector, el) { return (el || document).querySelectorAll(selector); }; var dom = { getDomMeta: getDomMeta, getContent: getContent, getParaList: getParaList, getBlockNode: getBlockNode, getSelectedNodes: getSelectedNodes, connectSiblingText: connectSiblingText, getTextNodeByOffset: getTextNodeByOffset, getBlockOffset: getBlockOffset, getSelection: getSelection, transferTextToElement: transferTextToElement, serialize: serialize, deSerialize: deSerialize, resetRange: resetRange, serializeToC: serializeToC, setProperty: setProperty, hasImgNode: hasImgNode, nodeToSelection: nodeToSelection, saveNode: saveNode, serializeNode: serializeNode, getNodeByIndex: getNodeByIndex, findChildIndex: findChildIndex, serializeToC2: serializeToC2, blockEleTagName: blockEleTagName, getPureBlockNode: getPureBlockNode, qs: qs, qsAll: qsAll, hasClass: hasClass }; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var paraList = []; var totalHit = 0; var STATUS = { auditing: 1, ban: 2 }; function keyby(arr, key) { return arr.reduce(function (acc, item) { if (typeof item[key] === 'undefined') return acc; if (!acc[item[key]]) acc[item[key]] = []; acc[item[key]].push(item); return acc; }, {}); } function getBannerWord(anchor) { return '以下内容存在争议 了解更多'; } function addBanner(node, text) { var paraNode = _typeof(node) === 'object' ? node : paraList[node]; if (paraNode.dataset.hasBanner) return; var divNode = document.createElement('div'); divNode.dataset.hasBanner = 1; divNode.style = 'background-color: var(--weui-BG-1);font-size: 14px;color: var(--weui-FG-2);text-align: left;margin-top: 20px;margin-bottom: 4px;padding: 4px 8px 6px 8px;border-radius:4px;'; var iconNode = document.createElement('span'); iconNode.style = 'color: var(--weui-FG-0);padding: 2px;display: inline-block;vertical-align: middle; width: 20px;height: 20px;margin-right: 4px; background-size: cover;background-position: center center;-webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'20\' height=\'20\' viewBox=\'0 0 20 20\'%3E %3Cpath fill-opacity=\'.3\' fill-rule=\'evenodd\' d=\'M10 1.667a8.333 8.333 0 1 1 0 16.666 8.333 8.333 0 0 1 0-16.666zm-.004 11.115a.732.732 0 0 0-.746.735c0 .416.33.735.746.735a.73.73 0 0 0 .752-.735.73.73 0 0 0-.752-.735zm.638-7.669h-1.27l.091 6.33h1.088l.091-6.33z\'/%3E%3C/svg%3E") no-repeat 50% 50%;mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'20\' height=\'20\' viewBox=\'0 0 20 20\'%3E %3Cpath fill-opacity=\'.3\' fill-rule=\'evenodd\' d=\'M10 1.667a8.333 8.333 0 1 1 0 16.666 8.333 8.333 0 0 1 0-16.666zm-.004 11.115a.732.732 0 0 0-.746.735c0 .416.33.735.746.735a.73.73 0 0 0 .752-.735.73.73 0 0 0-.752-.735zm.638-7.669h-1.27l.091 6.33h1.088l.091-6.33z\'/%3E%3C/svg%3E") no-repeat 50% 50%;background-color: currentColor;'; var textNode = document.createElement('span'); textNode.style = 'display: inline-block;line-height: 14px;vertical-align: middle;'; textNode.innerHTML = text; divNode.appendChild(iconNode); divNode.appendChild(textNode); paraNode.parentNode.insertBefore(divNode, paraNode, null); paraNode.dataset.hasBanner = 1; } function maskText(data, domNode, cursor) { var len = data.length; var maskMat = _toConsumableArray(Array(len)).map(function () { return '〇'; }).join(''); var childNodes = domNode.childNodes; var newCursor = cursor; for (var i = 0; i < childNodes.length; i++) { var node = childNodes[i]; if (node.nodeType === 3) { if (newCursor > node.data.length) { newCursor -= node.data.length; } else { node.data = node.data.slice(0, newCursor).concat(maskMat).concat(node.data.slice(newCursor + len)); } } else if (node.nodeText === 1) { newCursor -= node.innerText && node.innerText.length || 0; } } } function disputeText(data, domNode, cursor) { var len = data.length; var _dom$findChildIndex = dom.findChildIndex(domNode, cursor), textNode = _domnode, realOffset = _dom$findChildIndex.realOffset; try { textNode.splitText(realOffset); } catch (e) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'disputeText textNode', data: data, cursor: cursor } }); } } var repalcedNode = textNode.nextSibling; try { repalcedNode.splitText(len); } catch (e) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { type: 'disputeText nextSibling', data: data, cursor: cursor } }); } } var spanNode = document.createElement('span'); spanNode.style = 'background-color: rgba(0,0,0,0.10);'; spanNode.appendChild(repalcedNode.cloneNode(true)); repalcedNode.parentNode.replaceChild(spanNode, repalcedNode); } function disputeImage(data, domNode) { var spanNode = document.createElement('span'); spanNode.style = 'position:relative;display: inline-block;'; var iconNode = document.createElement('span'); iconNode.style = "\n position: absolute;\n top: 4px;\n left: 4px;\n display: inline-block;\n vertical-align: middle;\n width: 24px;\n height: 24px;\n background-size: cover;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath fill='%23FFF' fill-rule='evenodd' d='M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm-.004 13.339a.878.878 0 0 0-.896.882c0 .499.396.882.896.882.512 0 .902-.383.902-.882 0-.5-.39-.882-.902-.882zm.765-9.203h-1.524l.11 7.596h1.305l.11-7.596z'/%3E%3C/svg%3E\");\n "; var parent = domNode.parentNode; spanNode.appendChild(domNode.cloneNode(false)); parent.replaceChild(spanNode, domNode); spanNode.appendChild(iconNode); } function maskImage(data, domNode) { domNode.style.filter = 'blur(10px)'; domNode.style['-webkit-filter'] = 'blur(10px)'; } function hitMaskText(anchor, domNode) { var data = anchor.data, meta = anchor.meta, index = anchor.index, idx = anchor.idx; var wholeText = domNode.data; var prefixText = (meta || '') + data; if (wholeText.indexOf(prefixText) === -1) { return { hit: false }; } var itemNode = dom.getNodeByIndex(paraList[idx], index); if (itemNode) { totalHit++; } else { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'text node cannot find', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { anchor: anchor, wholeText: wholeText } }); } } var cursor = itemNode && itemNode.innerText.indexOf(prefixText) + (meta || '').length; return { hit: !!itemNode, $hitDom: itemNode, cursor: cursor }; } function hitMaskImage(anchor, domNode) { var index = anchor.index, idx = anchor.idx, data = anchor.data; var para = paraList[idx]; var allImgNode = para.querySelectorAll('img'); var hitItenNode = allImgNode[index]; var src = hitItenNode && (hitItenNode.getAttribute('data-src') || hitItenNode.getAttribute('src')); if (src === data) { totalHit++; return { hit: true, $hitDom: domNode, cursor: 0 }; } return { hit: false }; } function createMask(anchor, domNode) { return function (hitFn, maskFn, next) { var _hitFn = hitFn(anchor, domNode), hit = _hitFn.hit, hitDom, cursor = _hitFn.cursor; if (hit) { maskFn(anchor.data, $hitDom, cursor); next(); } }; } function maskAnchors(anchors, paraNode) { var queue = []; var cloneAnchors = _toConsumableArray(anchors); queue.push(paraNode); var anchor = null; var next = function next() { anchor = cloneAnchors.shift(); }; next(); while (queue.length > 0 && cloneAnchors.length >= 0 && anchor) { var itemNode = queue.pop(); if (!itemNode) continue; if (!anchor) continue; var nodeType = itemNode.nodeType, tagName = itemNode.tagName; var createMaskFn = createMask(anchor, itemNode); if (nodeType === 3) { if (anchor.type === NODE_TYPE.text) { createMaskFn(hitMaskText, anchor.status === STATUS.ban ? maskText : disputeText, next); } continue; } if (nodeType === 1 && tagName === IMG_TAG) { if (anchor.type === NODE_TYPE.img) { createMaskFn(hitMaskImage, anchor.status === STATUS.ban ? maskImage : disputeImage, next); } continue; } var children = itemNode.childNodes; for (var i = children.length - 1; i >= 0; i--) { queue.push(children[i]); } } } function parseSelector(selectorStr) { if (!selectorStr) return {}; var _selectorStr$split = selectorStr.split('|'), _selectorStr$split2 = _slicedToArray(_selectorStr$split, 2), selector = _selectorStr$split2[0], other = _selectorStr$split2[1]; var _other$split = other.split(' '), _other$split2 = _slicedToArray(_other$split, 2), total = _other$split2[0], index = _other$split2[1]; return { selector: selector.replace(/>/g, '>'), total: total * 1, index: index * 1 }; } function hitNode(node, anchor) { if (!node) return null; var type = anchor.type, data = anchor.data, meta = anchor.meta; if (type === NODE_TYPE.text) { var nodeText = node.innerText || node.innerHTML || ''; var prefixText = ((meta || '') + data).replace(/&/g, '&'); if (nodeText.indexOf(prefixText) !== -1) { var cursor = nodeText.indexOf(prefixText) + (meta || '').length; return { cursor: cursor, node: node }; } } if (type === NODE_TYPE.img) { var src = node && (node.getAttribute('data-src') || node.getAttribute('src')); if (src === data.replace(/&/g, '&')) { return { cursor: 0, node: node }; } } return null; } function maskNode(anchor, domNode, cursor) { var type = anchor.type, data = anchor.data, status = anchor.status; if (status !== STATUS.ban) return; if (type === NODE_TYPE.text) maskText(data, domNode, cursor); if (type === NODE_TYPE.img) maskImage(data, domNode); } function initOld(wrapNode, anchors) { paraList = dom.getParaList(wrapNode, { getNestedStructure: true, removeIgoreEle: false }); var formatAnchor = keyby(anchors, 'idx'); if (!paraList) return; (paraList || []).forEach(function (para, index) { var paraAnchors = formatAnchor[index]; if (paraAnchors && paraAnchors.length > 0) { addBanner(index, getBannerWord(paraAnchors[0])); maskAnchors(paraAnchors, para); } }); if (anchors && anchors.length !== totalHit) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'totalHit', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { totalHit: totalHit, anchors: anchors } }); } } } function addChildBanner(node, anchor) { var blockNode = dom.getPureBlockNode(node); if (!blockNode) return; addBanner(blockNode, getBannerWord()); } function maskAnchors2(wrapNode, anchors) { var missNodes = []; var countList = []; var maskNodeList = []; var cacheSelector = {}; anchors.forEach(function (anchor, i) { var _parseSelector = parseSelector(anchor.selector), selector = _parseSelector.selector, index = _parseSelector.index, total = _parseSelector.total; var nodes = cacheSelector[selector] || []; if (nodes.length === 0) { try { nodes = wrapNode.querySelectorAll(selector); cacheSelector[selector] = nodes; } catch (e) { if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { anchor: anchor } }); } } } var cursorLeft = index; var cursorRight = index; var queue = []; var node = null; var cursor = 0; var count = 0; queue.push(nodes[index]); while (queue.length) { var current = queue.pop(); var hitData = hitNode(current, anchor); count++; if (hitData && hitData.node) { node = hitData.node; cursor = hitData.cursor; break; } if (cursorLeft - 1 >= 0 && nodes[cursorLeft - 1]) { queue.push(nodes[cursorLeft - 1]); cursorLeft -= 1; } if (cursorRight + 1 < nodes.length && nodes[cursorRight + 1]) { queue.push(nodes[cursorRight + 1]); cursorRight += 1; } } if (node) { maskNodeList.push({ anchor: anchor, node: node, cursor: cursor }); addChildBanner(node); } else if (selector && selector.lastIndexOf('>') !== -1) { missNodes.push(_objectSpread(_objectSpread({}, anchor), {}, { selector: selector && selector.slice(0, selector.lastIndexOf('>')) + "|".concat(total, " ").concat(index) })); } countList[i] = count; }); maskNodeList.forEach(function (item) { maskNode(item.anchor, item.node, item.cursor); }); if (missNodes.length) { maskAnchors2(wrapNode, missNodes); if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'missNodes', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { missNodes: missNodes } }); } } if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) { WX_BJ_REPORT.BadJs.report('ArticleMask:Info', 'querycount', { mid: 'mmbizwap:articlemask_Monitor', view: 'wap_business', _info: { countList: countList } }); } } function init2(wrapNode, anchors) { maskAnchors2(wrapNode, anchors); } function init(wrapNode, anchors) { var oldAnchors = []; var newAnchors = []; anchors.forEach(function (anchor) { if (anchor.selector) { newAnchors.push(anchor); } else { oldAnchors.push(anchor); } }); init2(wrapNode, newAnchors); if (oldAnchors.length > 0) { initOld(wrapNode, oldAnchors); } } var complainPainter = { init: init }; function setMaskNode(data, $wrap) { try { if (data.anchor_tree_msg) { var start = Date.now(); var anchors = data.anchor_tree_msg ? JSON.parse(data.anchor_tree_msg).anchor_tree : []; var protocol = window.location.protocol; complainPainter.init($wrap, anchors); wxgspeedsdk.saveSpeeds({ sample: 1, uin: window.uin, pid: protocol == 'https:' ? 462 : 417, speeds: { sid: 38, time: Date.now() - start } }); wxgspeedsdk.send(); } } catch (error) { if (typeof WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs) { window.WX_BJ_REPORT.BadJs.onError(error, { anchor_tree_msg: window.anchor_tree_msg }); } } } return setMaskNode; })();(function () { 'use strict'; var AD_TYPE = { ANDROID_APP_PRODUCT_TYPE: 12, IOS_APP_PRODUCT_TYPE: 19, ADD_CONTACT_PRODUCT_TYPE: 23, MINI_GAME_PRODUCT_TYPE: 46, CARD_PRODUCT_TYPE: 36, SHOP_PRODUCT_TYPE: 30, WECHATCARD_PRODUCT_TYPE: 47, BRAND_WECHAT_PRODUCT_TYPE: 29, BRAND_GDT_PRODUCT_TYPE: 31 }; var AD_POS = { POS_BOTTOM: 0, POS_BOTTOM_PC: 38, POS_MID: 4, POS_MID_PC: 39, POS_SPONSOR: 3, POS_AD_BEFORE_VIDEO: 7, POS_AD_AFTER_VIDEO: 9, POS_AD_MID_VIDEO: 16, POS_AD_KEYWORD: 36, POS_AD_COMMENT: 43, PC_POS_AD_COMMENT: 44, POS_IMAGE_BOTTOM_SPONSOR: 45 }; var AD_DEST_TYPE = { AD_DEST_TYPE: 0, OUTER_DEST_TYPE: 1, APPDETAIL_DEST_TYPE: 2, BIZ_DEST_TYPE: 3, APPINFO_PAGE_DEST_TYPE: 4, WECHAT_SHOP_DEST_TYPE: 5, WECHAT_APPLET_DEST_TYPE: 6, LEAF_DEST_TYPE: 7, CANVAS_AD_DEST_TYPE: 9 }; var AD_CACHE_TIME = 0.5 * 60 * 1000; var AD_JSAPI_WHITE_LIST = ['openUrlWithExtraWebview', 'openADCanvas', 'addContact', 'profile', 'getInstallState', 'installDownloadTask', 'addDownloadTask', 'pauseDownloadTask', 'resumeDownloadTask', 'queryDownloadTask', 'launchApplication', 'writeCommData', 'adDataReport', 'downloadAppInternal', 'wxdownload:progress_change', 'menu:share:appmessage', 'menu:share:timeline', 'menu:share:weibo', 'menu:share:facebook', 'menu:general:share', 'launch3rdApp', 'addDownloadTaskStraight', 'sendAppMessage', 'shareTimeline', 'getNetworkType', 'openBizChat', 'jumpToBizProfile', 'shareWeibo', 'shareFB', 'imagePreview', 'getBackgroundAudioState', 'openWeApp', 'openEmbeddedWeApp', 'preloadMiniProgramContacts', 'preloadMiniProgramEnv', 'calRqt', 'openCardDetail', 'batchAddCard', 'handleMPPageAction', 'makePhoneCall', 'getOAID', 'saveWaid', 'batchPreloadMiniProgram', 'onScreenShot', 'handleAdAction', 'activity:state_change', 'getAdIdInfo', 'onWebPageUrlExposed', 'openFinderView', 'predownloadMiniProgramPackage', 'openCustomerServiceChat', 'showOpenIMContactProfile', 'openWXSearchPage', 'openWXSearchHalfPage', 'openFinderTopicView']; var AD_REQ_PATH_WHITE_LIST = [ '/mp/advertisement_report', '/mp/ad_report', '/mp/ad_video_report', '/mp/jsmonitor', '/mp/ad_complaint', '/mp/jsreport', '/tp/datacenter/report', '/mp/getappmsgad', '/mp/ad_biz_info', '/mp/appmsg_video_snap', '/mp/cps_product_info', '/mp/mini_drama_info']; var AD_WEB_COMPT_REQ_PATH_WHITE_LIST = [/(https?:)?\/\/mp\.weixin\.qq\.com\/mp\/advertisement_report/, /(https?:)?\/\/mp\.weixin\.qq\.com\/mp\/ad_report/, /(https?:)?\/\/mp\.weixin\.qq\.com\/mp\/ad_video_report/, /(https?:)?\/\/mp\.weixin\.qq\.com\/mp\/jsmonitor/, /(https?:)?\/\/mp\.weixin\.qq\.com\/mp\/ad_complaint/, /(https?:)?\/\/mp\.weixin\.qq\.com\/mp\/jsreport/, /(https?:)?\/\/mp\.weixin\.qq\.com\/tp\/datacenter\/report/, /(https?:)?\/\/mp\.weixin\.qq\.com\/mp\/getappmsgad/, /(https?:)?\/\/mp\.weixin\.qq\.com\/mp\/ad_biz_info/, /(https?:)?\/\/mp\.weixin\.qq\.com\/tp\/goods_info/, /(https?:)?\/\/mp\.weixin\.qq\.com\/tp\/app_mobile/, /(https?:)?\/\/mp\.weixin\.qq\.com\/tp\/datareport\/report/, /(https?:)?\/\/mp\.weixin\.qq\.com\/promotion\/wxalandpage\/getcanvasinfo/]; var transformText = '转化按钮'; var extraText = '广告文案或辅助信息'; var defaultMidAdData = { hint_txt: '创意-20200827_1', url: 'https://ad.weixin.qq.com/guide/196?weixinadkey=59d5cf0b4fbf7d2f66cd90aaa82a5208057512dd06fcb64d7fd57e71ec15945e1744ac499e05a04999381c3bf30c21ca&gdt_vid=wx0clsqxat6lzly601&weixinadinfo=315019981.wx0clsqxat6lzly601.75.1', type: '0', rl: 'http://ad.wx.com:12638/cgi-bin/click?viewid=AQM1xOr6MFeZmWeZrowCvQcrvQUBUq4o8ER2yFgwF9grPdtUR9bIJQ8laqMAJjGlkGLuVbyABIPX6Eifa2%2FK%2Buq17IIT21tYcUnpeU4VqEEsEQhc5Pa7C7drAvl0Mz30CNepODMXeD%2BEdny8SmmxN7prV78e1L2S6oqhNjrnTqM1t40ZGU84httoAODXEjmE89IX0ncOiP1oTsgm1tYwahSkxN6HLZIb6bhxZrc5ba3mCKMZ5GV4UEyDuQCyySxtA5QTt0eQJJA%2FSgHe79yTxUrzzoGrtlhK0O3HussVeRjKcvLkE6w%2FpQBnropwT%2FmE23RT2bOoyw%2BVCMlWTtk%2Bvxh%2FIOFAmrWHYzDuNkDNRo3um26RD2TFpeyRasbZoFRAV7RA9k4P3REAH4vemxktbNq24rtuF6MFGEcXpcGOD%2FxZJlBmInM7rguFAhRQWvCy3nIpO7knN2rl2DZv%2FcfkuoP4bedzUMcxtrU2Wz%2B82EG9ULHJunGHT%2F%2BcWj%2Bv8n%2Fh9bUtAtk7Fr1HBQdkQ8SbYadhRDWWuSEC2iMfqpMyzNqLltdxhyXxMRpsruPb2p4WoHnSvuGfbnkXIKcDppOTLB38xStPIbbaaR4FC%2B4AOF1UqbtMor9JJQQNz3vspSngY%2F37uYiQXAKNYB2RAB%2BbfoYMSS2VcJvY%2B0lWH3%2BYFTmBs6%2BxixGTJmB4%2FXZZcNs4PgRs6OoIefEnLz%2FvwoAvrs%2FUPotqevoiHfq%2FlLILAzo28D%2FKSU9hOOHXrS4LrUYhK47WKSeoglnagaOZI5kGZa9iBcwj9V6FR4HEml51P9u5xaTOnPZjfEAx5l6BBxTT4379irAZCB2Zfcd6wBU2Eo5p9yXVSH%2FCH8yVAgIEsrJ9oeqpO%2FwozsQ2PkXw%2Bz77B56hYp1zYG7HK%2BCDjx1NSisa6g8PFa72xOb8wpjZ9Lao70oGSWshIjCH4kWfKX0P8uFJc22L%2FZihKj0J%2BqgC1LgiMc6SXmFHdvTSIxTRKm9GImpbVfLTN3xrT%2BGGutwMTfgWta7EDR7d6HXQBA1orNotnnK37GOw1jHud8fzQkfuMN%2F7DO6kW0wAXs4LDMhJpnHi2%2Ba4VjL8Yjh0wmTZkVy4iIPYDmYSAzuJ3aP3cXuGv%2B1JwF%2Fod7hCA6RBYwZN2fXvO5AUo7FdoRr8ssPB7eAiNhcFonMv5%2Bt8L1b7QLoXGlplvxh9Fz669q43xnDsEy8ucOfyush8RiYLPxGj4YFr2gy6%2BAV5u%2FMgZIShq149jRn42%2B%2BnmzPC8JdiiIe4p5Ec7KFFrv%2F302DcKBPI9lQDsC1xWAvIfJcnxC%2FqYgDikLE1SsurxV2PV1icS%2BpU706S2LmnpyAsZw%3D%3D', apurl: 'http://ad.wx.com:12638/cgi-bin/exposure?viewid=AQM1xOr6MFeZmWeZrowCvQcrvQUBUq4o8ER2yFgwF9grPdtUR9bIJQ8laqMAJjGlkGLuVbyABIPX6Eifa2%2FK%2Buq17IIT21tYcUnpeU4VqEEsEQhc5Pa7C7drAvl0Mz30CNepODMXeD%2BEdny8SmmxN7prV78e1L2S6oqhNjrnTqM1t40ZGU84httoAODXEjmE89IX0ncOiP1oTsgm1tYwahSkxN6HLZIb6bhxZrc5ba3mCKMZ5GV4UEyDuQCyySxtA5QTt0eQJJA%2FSgHe79yTxUrzzoGrtlhK0O3HussVeRjKcvLkE6w%2FpQBnropwT%2FmE23RT2bOoyw%2BVCMlWTtk%2Bvxh%2FIOFAmrWHYzDuNkDNRo3um26RD2TFpeyRasbZoFRAV7RA9k4P3REAH4vemxktbNq24rtuF6MFGEcXpcGOD%2FxZJlBmInM7rguFAhRQWvCy3nIpO7knN2rl2DZv%2FcfkuoP4bedzUMcxtrU2Wz%2B82EG9ULHJunGHT%2F%2BcWj%2Bv8n%2Fh9bUtAtk7Fr1HBQdkQ8SbYadhRDWWuSEC2iMfqpMyzNqLltdxhyXxMRpsruPb2p4WoHnSvuGfbnkXIKcDppOTLB38xStPIbbaaR4FC%2B4AOF1UqbtMor9JJQQNz3vspSngY%2F37uYiQXAKNYB2RAB%2BbfoYMSS2VcJvY%2B0lWH3%2BYFTmBs6%2BxixGTJmB4%2FXZZcNs4PgRs6OoIefEnLz%2FvwoAvrs%2FUPotqevoiHfq%2FlLILAzo28D%2FKSU9hOOHXrS4LrUYhK47WKSeoglnagaOZI5kGZa9iBcwj9V6FR4HEml51P9u5xaTOnPZjfEAx5l6BBxTT4379irAZCB2Zfcd6wBU2Eo5p9yXVSH%2FCH8yVAgIEsrJ9oeqpO%2FwozsQ2PkXw%2Bz77B56hYp1zYG7HK%2BCDjx1NSisa6g8PFa72xOb8wpjZ9Lao70oGSWshIjCH4kWfKX0P8uFJc22L%2FZihKj0J%2BqgC1LgiMc6SXmFHdvTSIxTRKm9GImpbVfLTN3xrT%2BGGutwMTfgWta7EDR7d6HXQBA1orNotnnK37GOw1jHud8fzQkfuMN%2F7DO6kW0wAXs4LDMhJpnHi2%2Ba4VjL8Yjh0wmTZkVy4iIPYDmYSAzuJ3aP3cXuGv%2B1JwF%2Fod7hCA6RBYwZN2fXvO5AUo7FdoRr8ssPB7eAiNhcFonMv5%2Bt8L1b7QLoXGlplvxh9Fz669q43xnDsEy8ucOfyush8RiYLPxGj4YFr2gy6%2BAV5u%2FMgZIShq149jRn42%2B%2BnmzPC8JdiiIe4p5Ec7KFFrv%2F302DcKBPI9lQDsC1xWAvIfJcnxC%2FqYgDikLE1SsurxV2PV1icS%2BpU706S2LmnpyAsZw%3D%3D', traceid: 'wx0clsqxat6lzly601', group_id: 'wx0clsqxat6lzly600_wx0clsqxat6lzly601', ticket: '', pt: 2, image_url: 'http://wxsnsdythumb.wxs.qq.com/141/20204/snscosdownload/SH/reserved/5f4604790009bfd700000000b3679d090000008d00004eec?m=1c9e9086c11018ef774e28ee3b744a67&ck=1c9e9086c11018ef774e28ee3b744a67', ad_desc: '', biz_appid: 'wx69618ae091cf2c76', biz_info: { user_name: 'gh_1e80bb81a1d2', nick_name: '微信广告', head_img: 'https://wxa.wxs.qq.com/res/images/bizsdk/preview/wxlogo.png', biz_uin: 3094043316, signature: '微信广告' }, pos_type: 4, watermark_type: 0, logo: '', is_cpm: 0, dest_type: 1, material_width: 960, material_height: 540, ad_width: 0, ad_height: 0, use_new_protocol: 2, product_type: 29, material_type: 0, crt_exp_tid: 0, crt_exp_info: '', flow_exp_info: '[{"exp_para":[{"name":94574,"value":"gb"},{"name":100036,"value":"1"}]}]', watermark_text: '活动推广', crt_size: '484', button_action: "{"button_text":"".concat(transformText, "","jump_type":1,"jump_url":"https:\\/\\/ad.weixin.qq.com\\/guide\\/196?weixinadkey=bd80a7a5a0e57a3b971b1c372bb06a3748f8f01c44f1bfe1a0aa4fe927e21037fc57ddfe77f5e0648611197259574f4b&gdt_vid=wx0clsqxat6lzly601&weixinadinfo=315019981.wx0clsqxat6lzly601.75.1","text_type":0}"), position_index: 21, shop_image: [], material_id_list: [], uxinfo: '315019981|wx0clsqxat6lzly601|289237697|0|1598496949|0|0|9020229299926746||AgI0AyUHOnPeccmEYhaAko8Pr4P95P7Vl6qjqKrxaR/CSGQ3e+STumguP/V43UuYT8o=|315020504', ext_info: '{}', ad_token: 'bf8463b9a4b692768c820c412bb705a73e8a9dd2c769f22549e4bb5aeaaeccc1358b60b6ce7546f95cfdf7f73d187572', crt_info: "[{"width":960,"height":540,"thumb_url":"http://wxsnsdythumb.wxs.qq.com/141/20204/snscosdownload/SH/reserved/5f4604790009bfd700000000b3679d090000008d00004eec?m=1c9e9086c11018ef774e28ee3b744a67&ck=1c9e9086c11018ef774e28ee3b744a67","image_url":"http://wxsnsdythumb.wxs.qq.com/141/20204/snscosdownload/SH/reserved/5f4604790009bfd700000000b3679d090000008d00004eec?m=1c9e9086c11018ef774e28ee3b744a67&ck=1c9e9086c11018ef774e28ee3b744a67","size":18323,"image_md5":"1c9e9086c11018ef774e28ee3b744a67","materialId":"112199640","card_info":{"mp_tag_type":2,"mp_brandeffect_isopen":0,"mp_tags":["".concat(extraText, ""]}}]"), reranking_ext_info: '{"tid":315020504}', ext_back_comm: '{"pctr":0.019999999553}' }; var CPS_GOODS_TYPE = { OLD_GOODS: 'mp', NEW_GOODS: 'cps-to-reader', IMAGE_GOODS: 'cps-to-image-reader', SHORT_PLAY: 'short-play', MINI_GAME: 'mini-game' }; var MOUNT_POINT = { BODY: 'body', DRAWER: 'drawer' }; var AD_CONFIG = { defaultMidAdData: defaultMidAdData, AD_TYPE: AD_TYPE, AD_POS: AD_POS, AD_CACHE_TIME: AD_CACHE_TIME, AD_DEST_TYPE: AD_DEST_TYPE, MOUNT_POINT: MOUNT_POINT, AD_FRAME_DOMAIN: 'https://wxa.wxs.qq.com', CPS_AD_FRAME_DOMAIN: 'https://file.daihuo.qq.com', INVALID_METHOD_NAME_MSG_PREFIX: 'Invalid methodName', INVALID_METHOD_TYPE_MSG_PREFIX: 'Invalid methodType', INVALID_ARGS_MSG_PREFIX: 'Invalid args', INVALID_REQ_PATH_MSG_PREFIX: 'Invalid request path', AD_IFRAME_HIDE_CLASS: 'iframe_ad_dn', AD_JSAPI_WHITE_LIST: AD_JSAPI_WHITE_LIST, AD_REQ_PATH_WHITE_LIST: AD_REQ_PATH_WHITE_LIST, AD_WEB_COMPT_REQ_PATH_WHITE_LIST: AD_WEB_COMPT_REQ_PATH_WHITE_LIST, FRAME_ERROR: 'onError', FRAME_READY: 'onFrameReadyV2', CHANGE_FRAME_STYLE: 'changeFrameStyle', PROXY_CONSOLE: 'consoleOnHostEnv', PROXY_ACTION: 'onProxyV2', PROXY_CALLBACK_ACTION: 'proxyCallbackV2', CLICK_OUTSIDE_ACTION: 'clickOutsideV2', CLICK_AD_ACTION: 'onAdClick', PAGE_SCROLL_ACTION: 'pageScrollV2', ORIGIN_VIDEO_VID_PREFIX: 'wxv', AD_VIDEO_FIN_ACTION: 'adVideoEnd', AD_VIDEO_PLAY_ACTION: 'onVideoPlayV2', AD_VIDEO_END_ACTION: 'onVideoEndV2', AD_PLAY_VIDEO_ACTION: 'playVideoV2', AD_EXPOSE_IMAGE_ACTION: 'exposeImage', AD_HIDE_IMAGE_ACTION: 'hideImage', AD_CHANGE_VIDEO_STATE: 'changeVideoPlayState', AD_VIDEO_SET_SCREEN_STATE_ACTION: 'setScreenState', AD_IMAGE_SET_EXPAND_STATE_ACTION: 'setImageExpandState', GET_APPMSGAD_READY_STATUS_ACTION: 'getAppmsgadReadyStatus', APPMSGAD_READY_ACTION: 'appmsgadReady', HAS_AD_DATA_QUERY_KEY: 'has_ad_data', GET_AD_DATA_AFTER_VIDEO_ACTION_NAME: 'getAdDataAfterVideo', SET_PAGE_DATA_ACTION_NAME: 'setPageDataV2', SET_AD_DATA_ACTION_NAME: 'setAdDataV2', SEND_AD_VID_ACTION: 'sendAdVid', GET_AD_VID_ACTION: 'getAdVid', CPS_GOODS_TYPE: CPS_GOODS_TYPE, AD_FEED_BACK_ACTION: 'feedback', EMIT_AD_DATA_ACTION: 'emitAdData', AD_TOUCH_ACTION: 'touchEvent', SET_AD_FONT_SIZE_ACTION: 'setAdFontSize', DRAWER_OPEN_CHANGE: 'onDrawerOpenChange' }; var g = { defaultContentTpl: '', config: [{ querySelector: 'redpacketcover', genId: function genId() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return decodeURIComponent(opt.node.getAttribute('data-coveruri') || ''); }, calW: function calW() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return opt.parentWidth * 0.7854; }, calH: function calH() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return this.calW({ parentWidth: opt.parentWidth }) / 0.73346 + 27 + 37; }, replaceContentCssText: '', outerContainerLeft: '', outerContainerRight: '' }, { querySelector: 'mppoi', genId: function genId() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return opt.node.getAttribute('data-id') || ''; }, calW: function calW() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return opt.parentWidth * 1; }, calH: function calH() { return 219; }, replaceContentCssText: '', appendContentCssText: 'diplay:block;', outerContainerLeft: '', outerContainerRight: '' }, { querySelector: 'mpsearch', genId: function genId() { return decodeURIComponent('mp-common-search'); }, calW: function calW() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return opt.parentWidth * 1; }, calH: function calH() { return 100; }, replaceContentCssText: '', appendContentCssText: 'diplay:block;', outerContainerLeft: '', outerContainerRight: '' }, { querySelector: 'mpvideosnap', genId: function genId() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var type = opt.node.getAttribute('data-type') || 'video'; if (type === 'live') { return decodeURIComponent(opt.node.getAttribute('data-noticeid') || ''); } return decodeURIComponent(opt.node.getAttribute('data-id') || ''); }, calW: function calW() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var type = opt.node.getAttribute('data-type') || 'video'; var width = opt.node.getAttribute('data-width') || ''; var height = opt.node.getAttribute('data-height') || ''; if (type === 'live' || type === 'topic') { return opt.parentWidth; } var ratio = 1; ratio = width / height; var computedHeight = 0; var computedWidth = 0; var isHorizontal = false; if (ratio > 1) { isHorizontal = true; ratio = 4 / 3; } else { ratio = 3 / 4; } opt.node.setAttribute('data-ratio', ratio); opt.node.setAttribute('data-isHorizontal', isHorizontal); if (isHorizontal === true) { computedWidth = opt.parentWidth; } else { if (window.innerWidth < 1024) { computedWidth = window.innerWidth * 0.65; } else { computedWidth = opt.parentWidth * 0.65; } } computedHeight = computedWidth / ratio; computedHeight = Math.round(computedHeight); computedWidth = Math.round(computedWidth); opt.node.setAttribute('data-computedWidth', computedWidth); opt.node.setAttribute('data-computedHeight', computedHeight); return computedWidth; }, calH: function calH() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var desc = opt.node.getAttribute('data-desc') || ''; var type = opt.node.getAttribute('data-type') || 'video'; var computedHeight = opt.node.getAttribute('data-computedHeight') || ''; switch (type) { case 'live': return desc ? 152 : 116; case 'topic': return 201; case 'image': case 'video': return parseFloat(computedHeight); } }, getBorderRadius: function getBorderRadius() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var type = opt.node.getAttribute('data-type') || 'video'; if (type === 'video') { return 4; } return 8; }, replaceContentCssText: '', appendContentCssText: 'display:flex;margin:0px auto;', outerContainerLeft: '', outerContainerRight: '' }, { querySelector: 'mp-wxaproduct', genId: function genId() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return decodeURIComponent(opt.node.getAttribute('data-wxaproduct-productid') || ''); }, calW: function calW() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return opt.parentWidth * 1 || '100%'; }, calH: function calH() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var cardtype = opt.node.getAttribute('data-wxaproduct-cardtype') || ''; return cardtype === 'mini' ? 124 : 466; }, replaceContentCssText: '', outerContainerLeft: '', outerContainerRight: '' }, { querySelector: 'mpprofile', genId: function genId(opt) { return opt.node.getAttribute('data-id') || ''; }, calW: function calW() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return opt.parentWidth * 1; }, calH: function calH() { return 143; }, replaceContentCssText: '', appendContentCssText: 'diplay:block;', outerContainerLeft: '', outerContainerRight: '' }, { querySelector: 'mp-common-product:not([data-cardtype="2"])', genId: function genId(opt) { return opt.node.getAttribute('data-windowproduct') || ''; }, calW: function calW() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (opt.node.getAttribute('data-cardtype') === "0") { return Math.min(opt.parentWidth, 400) * 1 || '100%'; } return opt.parentWidth * 1 || '100%'; }, calH: function calH(opt) { var customstyle = opt.node.getAttribute('data-customstyle') || '{}'; if (customstyle) { try { var _JSON$parse = JSON.parse(customstyle), display = _JSON$parse.display, height = _JSON$parse.height; if (display !== 'none') { var customHeight = parseInt(height, 10); var ratio; if (opt.node.getAttribute('data-cardtype') === "0") { ratio = Math.min(400, opt.parentWidth) / 350.0 || 1; } else { ratio = opt.parentWidth / 350.0 || 1; } customHeight = Math.round(customHeight * ratio); return customHeight; } return 0; } catch (err) { console.error(err); } } return 0; }, replaceContentCssText: '', appendContentCssText: 'diplay:block;', outerContainerLeft: '', outerContainerRight: '' }, { querySelector: 'mpcps:not([data-templateid="video-play"]),mp-common-cpsad:not([data-templateid="video-play"])', genId: function genId(opt) { var node = opt.node; var planId = node.getAttribute('data-planid'); var goodId = node.getAttribute('data-pid'); var traceId = node.getAttribute('data-traceid'); return goodId || planId || traceId || ''; }, calW: function calW() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var node = opt.node; var templateId = node.getAttribute('data-templateid'); var adType = node.getAttribute('data-adtype'); var width = 0; if (templateId === 'list') { width = '100%'; } else if (templateId === 'card') { if (adType === AD_CONFIG.CPS_GOODS_TYPE.SHORT_PLAY || adType === AD_CONFIG.CPS_GOODS_TYPE.MINI_GAME) { width = opt.parentWidth ? opt.parentWidth * 0.65 : '100%'; } else { width = '100%'; } } return width; }, calH: function calH(opt) { var node = opt.node; var templateId = node.getAttribute('data-templateid'); var adType = node.getAttribute('data-adtype'); var height = 0; if (templateId === 'list') { if (adType === AD_CONFIG.CPS_GOODS_TYPE.MINI_GAME) { height = 79; } else { height = 16 + 112 + 16 + 8 + 12 * 1.4; } } else if (templateId === 'card') { if (adType === AD_CONFIG.CPS_GOODS_TYPE.SHORT_PLAY) { var width = opt.parentWidth * 0.65; height = Math.ceil(width * (4 / 3)) + 68; } else if (adType === AD_CONFIG.CPS_GOODS_TYPE.MINI_GAME) { var _width = opt.parentWidth * 0.65; height = Math.ceil(_width * (4 / 3)) + 64; } else { height = Math.ceil(opt.parentWidth + 111); } } return height; }, replaceContentCssText: '', appendContentCssText: 'diplay:block;', outerContainerLeft: '', outerContainerRight: '' } ] }; function preloadingInit() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (typeof document.querySelectorAll !== 'function') { return; } var g = { maxWith: document.getElementById('img-content').getBoundingClientRect().width, idAttr: 'data-preloadingid' }; for (var i = 0, il = opt.config.length; i < il; i++) { var a = opt.config[i]; var list = document.querySelectorAll(a.querySelector); for (var j = 0, jl = list.length; j < jl; j++) { var node = list[j]; var parentWidth = node.parentNode.getBoundingClientRect().width; parentWidth = Math.min(parentWidth, g.maxWith); if (node.getAttribute('has-insert-preloading')) { continue; } var nodeW = a.calW({ parentWidth: parentWidth, node: node }); var nodeH = a.calH({ parentWidth: parentWidth, node: node }); var nodeId = a.genId({ index: j, node: node }); var nodeBorderRadius = typeof a.getBorderRadius === 'function' ? a.getBorderRadius({ index: j, node: node }) : 8; if (typeof nodeW === 'number') { nodeW += 'px'; } var imgHtml = opt.defaultContentTpl.replace(/#height#/g, nodeH).replace(/#width#/g, nodeW).replace(/#borderRadius#/g, nodeBorderRadius); var tmpNode = document.createElement('div'); tmpNode.innerHTML = imgHtml; if (a.replaceContentCssText) { var replaceContentCssText = a.replaceContentCssText.replace(/#height#/g, nodeH).replace(/#width#/g, nodeW); tmpNode.firstChild.style.cssText = replaceContentCssText; } else if (a.appendContentCssText) { tmpNode.firstChild.style.cssText += a.appendContentCssText; } var html = (a.outerContainerLeft || '') + tmpNode.innerHTML + (a.outerContainerRight || ''); tmpNode.innerHTML = html; tmpNode.firstChild.setAttribute(g.idAttr, nodeId); node.parentNode.insertBefore(tmpNode.firstChild, node.nextSibling); node.setAttribute('has-insert-preloading', '1'); } } } function lotteryPreloading() { Array.from(document.getElementsByTagName('mp-common-bluepacket')).forEach(function (ele) { ele.setAttribute('data-customstyle', JSON.stringify({ height: '349px' })); }); } function init() { preloadingInit(g); lotteryPreloading(); } function decode(str) { var replace = ["`", "`", "'", "'", """, '"', " ", " ", ">", ">", "<", " 0) { originSvrStyleType = parseInt(originStyleType); } else if (!isNaN(parseInt(originTypeSetting))) { originSvrStyleType = parseInt(originTypeSetting); } else { originSvrStyleType = 0; } if (reprint_type > 0 && originSvrStyleType !== currentSvrStyleType && parseInt(reprintEditable) === 0) { var dc = document.getElementById('js_content').classList; dc.remove('autoTypeSetting'); dc.remove('autoTypeSetting24'); dc.remove('autoTypeSetting24psection'); var finalSetting = parseInt(originSvrStyleType); if (finalSetting === 1) { dc.add('autoTypeSetting'); } else if (finalSetting === 2) { dc.add('autoTypeSetting24'); } else if (finalSetting === 3) { dc.add('autoTypeSetting24psection'); } } window.wxtoken = "777"; window.is_login = '' * 1; var title = "THAD清华建筑设计院"; var is_new_msg = true; var is_wash = '' * 1; var topbarEnable = false; var enterid = "1786199038" * 1 || "1786199038" * 1 || "" * 1 || parseInt(Date.now() / 1000); var reloadid = '' * 1 || parseInt(Date.now() / 1000); var reloadseq = '' * 1 || 1; var miniprogram_appid = ""; var defaultAvatarUrl = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNDIyMF8yNjc0KSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0MHY0MEgweiIvPjxwYXRoIGZpbGw9IiNFREVERUQiIGQ9Ik0wIDBoNDB2NDBIMHoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjUgMjlhMSAxIDAgMCAxLTEtMXYtLjY4NGMwLS42ODYuNDk4LTEuNDg0IDEuMTE0LTEuNzg1bDUuNjYtMi43NjJjLjgyMS0uNCAxLjAxMi0xLjI4OC40Mi0xLjk5bC0uMzYyLS40MjljLS43MzYtLjg3Mi0xLjMzMi0yLjUtMS4zMzItMy42NFYxNWMwLTIuMjEgMS43OTUtNCA0LTQgMi4yMSAwIDQgMS43OTMgNCA0djEuNzFjMCAxLjE0LS42IDIuNzczLTEuMzMyIDMuNjQybC0uMzYxLjQyOGMtLjU5LjY5OS0uNDA2IDEuNTg4LjQxOSAxLjk5bDUuNjYgMi43NjJjLjYxNS4zIDEuMTE0IDEuMDkzIDEuMTE0IDEuNzg0VjI4YTEgMSAwIDAgMS0xIDFoLTE3eiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIuOSIgb3BhY2l0eT0iLjIiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwMF80MjIwXzI2NzQiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNDB2NDBIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4='; document.addEventListener('DOMContentLoaded', function () { window.domCompleteTime = Date.now(); }); var hasRecommendMsg = 0; ; var isPayTopic = '' * 1; var payTopicPrice = '' * 1; var isRemovedFromPayTopic = '' * 1; var isPaySubscribe = '0' * 1; var isPaid = '0' * 1; var isRefund = '' * 1; var payShowIAPPrice = 1; var payProductId = '' || ''; var previewPercent = '0' || ''; var payGiftsCount = '0' * 1 || 0; var payDesc = htmlDecode(''); var payFreeGift = '' * 1 || 0; var is_finished_preview = 0; var jump2pay = '' * 1; var isFans; var can_reward = '0' * 1 || 0; var is_need_reward = (isPaySubscribe && !isPaid) ? 0 : "0" * 1; var rewardsn = ''; var rewardTimestamp = '' * 1 || 0; var is_teenager = '' * 1 || 0; var is_care_mode = '' * 1 || 0; var zhuge_user_limit = '' * 1 || 0; var segment_comment_id = '4269322912383107079'; var showRewardListDialog = '' * 1 || 0; var colorScheme = ''; var iapPriceInfo = { }; var productPayPackage = { iap_price_info: iapPriceInfo }; var isCartoonCopyright = '0' * 1; var show_msg_voice = '' * 1; var qnaCardData = ''; var exptype = '' || ''; var expsessionid = '' || ''; var goContentId = ''; var goReplyId = ''; var fromCommentShare = ''; var extra_comment_id = '4269322911561023497' || '0'; var goAddedInfo = '' * 1; var goAddedInfoContentId = ''; var hitProduct = '' * 1; var preload_comment_list = ''; var preload_comment_total_cnt = '' * 1; var show_related_article = '' * 1; var wwdistype = ''; var refuteSourceUrl = ''; var verify_status = "2" * 1; window.cgiData = { appImg: '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_tencent_video7fdf15.png', } var loveNotifyMsg = '' * 1; var loveFriendId = ''; window.ip_wording = { countryName: '中国', countryId: '156', provinceName: '北京', provinceId: '', cityName: '', cityId: '' }; window.show_ip_wording = '1' * 1; window.source_appid = 'wx482ef7c0263a296b' || 'wxc3923acb47c0d396'; window.is_over_sea = '0' * 1; window.showAdMark = "0" * 1; window.is_title_modified = "0" * 1; window.alias = "thad1958" || ""; window.claim_source = { claim_source_type: '' * 1 || 0, claim_source: '', media_source_type_info: { }, aigc_type: '' * 1 || 0, aigc_wording: '', }; window.hideAdMarkOnCps = ("" || "0" * 1) ? 1 : 0; window.bar_version = '' * 1; window.short_link = '' || ''; window.appmsg_bar_data = { verify_status: '' * 1, show_like: '' * 1, like_count: '' * 1, show_share: '' * 1, share_count: '' * 1, show_old_like: '' * 1, old_like_count: '' * 1, show_collect: '' * 1, collect_count: '' * 1, comment_enabled: '' * 1, comment_count: '' * 1, show_friend_seen: '' * 1, friend_seen_info: { }, is_subscribed: '' * 1, friend_subscribe_count: '' * 1, ecs_jump_info_str: '', red_flower_like_info: { is_red_flower_like: '0' * 1 || 0, red_flower_wording: '', tencent_gongyi_wxa_path: '', tencent_gongyi_wxa_appid: '', red_flower_like_sn: '', tencent_gongyi_wxa_username: '', }, is_show_newsflash_feeds: '' * 1 === 1, newsflash_feeds_url: '', newsflash_feeds_style: '' * 1 === 1 ? ('' * 1 || 0) : 0, }; window.subcount_version = '' * 1; window.picture_page_info_list = [ { width: '1080' * 1, height: '427' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199059_3420.jpg', show_watermark: '' === 'true', bottom_right_brightness: '' * 1, }, { width: '1080' * 1, height: '1716' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199060_7036.jpg', show_watermark: '' === 'true', bottom_right_brightness: '' * 1, }, { width: '1080' * 1, height: '724' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199061_9503.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.11234748' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199074_5412.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '510' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199062_4465.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.85583043' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199075_1574.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '566' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199044_7109.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.32971036' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199076_6478.jpg', is_uploader: 'true' === 'true', }, }, { width: '901' * 1, height: '883' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199062_1327.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.98578244' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199076_2768.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199062_2443.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.20008047' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199076_1198.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199062_4985.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.15928359' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199077_3667.jpg', is_uploader: 'true' === 'true', }, }, { width: '900' * 1, height: '883' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199063_9142.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '1' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199078_6107.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '605' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199063_8500.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.5262112' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199078_2554.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '764' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199063_9624.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '1' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199078_2419.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '722' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199063_4317.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.69403446' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199079_1274.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '721' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199064_4045.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.66700917' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199079_4985.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199064_3998.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.22196241' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199080_7582.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '764' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199064_1561.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '1' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199081_4720.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '808' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199065_3833.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.15407611' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199081_2946.jpg', is_uploader: 'true' === 'true', }, }, { width: '1280' * 1, height: '847' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199065_4324.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.47859511' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199082_5576.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199065_3494.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.43840718' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199082_5981.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199065_5380.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.45718822' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199082_5726.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '606' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199066_9738.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.30510393' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199083_8545.jpg', is_uploader: 'true' === 'true', }, }, { width: '901' * 1, height: '883' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199066_1848.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '1' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199083_7641.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '1680' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199066_6426.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.79686028' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199083_3359.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '701' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199050_8331.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '1' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199084_8142.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '795' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199051_1848.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.86585361' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199084_7133.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199067_6847.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.63770986' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199085_8000.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '690' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199052_2101.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.94402421' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199085_1287.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199067_3857.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.23630267' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199085_2185.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199068_7747.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.40686637' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199086_2785.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199068_5773.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.49313906' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199086_3765.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '1622' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199068_8759.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.12420294' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199086_1215.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '810' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199068_7061.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.35346213' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199087_7853.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '717' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199069_7201.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.45281801' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199087_2022.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199069_3102.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.58179259' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199088_4666.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '715' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199070_1444.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.12742649' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199089_9498.jpg', is_uploader: 'true' === 'true', }, }, { width: '901' * 1, height: '883' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199070_3494.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '1' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199089_4755.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '718' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199070_9813.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.13805413' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199089_1013.jpg', is_uploader: 'true' === 'true', }, }, { width: '901' * 1, height: '883' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199071_3749.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.98580861' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199091_1610.jpg', is_uploader: 'true' === 'true', }, }, { width: '745' * 1, height: '676' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199071_6618.jpg', show_watermark: '' === 'true', bottom_right_brightness: '' * 1, }, { width: '1080' * 1, height: '357' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199073_3560.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.8905431' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199091_6297.jpg', is_uploader: 'true' === 'true', }, }, { width: '1080' * 1, height: '600' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199073_3820.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.25800589' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199091_8166.jpg', is_uploader: 'true' === 'true', }, }, { width: '900' * 1, height: '383' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199073_8442.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.17105767' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199091_6988.jpg', is_uploader: 'true' === 'true', }, }, { width: '900' * 1, height: '383' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199074_8105.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.51661867' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199091_8183.jpg', is_uploader: 'true' === 'true', }, }, { width: '900' * 1, height: '383' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199074_3672.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.18849036' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199091_9998.jpg', is_uploader: 'true' === 'true', }, }, { width: '900' * 1, height: '383' * 1, cdn_url: 'https://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199074_2761.jpg', show_watermark: 'true' === 'true', bottom_right_brightness: '0.61647367' * 1, watermark_info: { cdn_url: 'http://https://www.jianzhushi.org.cn/uploads/editor/wx_20260808_1786199092_6685.jpg', is_uploader: 'true' === 'true', }, }, ]; window.show_comment_entrance = '' * 1; window.search_keywords = [ ]; window.s1s_keywords_exp_info = ''; var need_baike_preload = true; ; window.ad_keywords = [ ]; window.show_ad_keyword = 'false'; window.get_search_keyword_realtime = '0' * 1; window.clear_desc_flag = "" * 1; window.mmlisten_playlist_info_buffer = ''; window.key_text = ''; window.appmsg_listen_id = '150425189015297100'; var __INLINE_SCRIPT__ = (function () { 'use strict'; var dealLikeReadShow_en = function dealLikeReadShow_en(realNum, showZero) { var defaultStr = showZero ? '0' : ''; if (typeof LANG === 'undefined' || !window.LANG) { return parseInt(realNum) === 0 ? defaultStr : realNum; } if (window.LANG == 'en') { var showHTML = ''; if (parseInt(realNum) > 100000) { showHTML = 100 + 'k+'; } else if (parseInt(realNum) > 10000 && parseInt(realNum) = o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen); } function _arrayLikeToArray$2(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } var ua = navigator.userAgent; var is_ios = /(iPhone|iPad|iPod|iOS)/i.test(ua); var is_wp = /Windows\sPhone/i.test(ua); var is_android = /(Android)/i.test(ua); var is_wechat = /MicroMessenger\/([\d\.]+)/i.test(ua); var is_mac = /mac\sos/i.test(ua) && !is_ios; var is_windows = /windows\snt/i.test(ua) && !is_wp; var is_mpapp = /MPAPP\/([\d\.]+)/i.test(ua); var is_ipad = /iPad/i.test(ua); var is_windows_wechat = /WindowsWechat/i.test(ua); var is_mac_wechat = /MacWechat/i.test(ua) || /wechat.*mac os/i.test(ua); var is_prefetch = is_wechat && window.WeixinPrefecherJSBridge; var is_donut_app = /SAAASDK/i.test(ua); var is_harmony = /OpenHarmony|ArkWeb/i.test(ua); var is_linux = /Linux\s/i.test(ua); var xweb_match = ua.match(/XWEB\/([\d.]+)/i); var xweb_version = xweb_match && xweb_match[1] ? parseInt(xweb_match[1], 10) : 0; var is_unified_pc_wechat = /UnifiedPC\w+Wechat/i.test(ua); var is_in_miniProgram = is_android && /miniprogram/.test(ua.toLowerCase()) || window.__wxjs_environment == 'miniprogram'; var is_wx_work = /wxwork/i.test(ua); function getUrlParams() { var vars = location.search.substring(1).split('&'); var params = {}; var _iterator = _createForOfIteratorHelper$1(vars), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var ele = _step.value; var pair = ele.split('='); var key = decodeURIComponent(pair[0]); if (typeof params[key] === 'undefined') { params[key] = decodeURIComponent(pair[1]); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return params; } function get() { var reg = /MicroMessenger\/([\d\.]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMac() { var reg = /MacWechat\/([\d\.]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMacOS() { var reg = /Mac OS X ([\d_]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1].replace(/_/g, '.'); } return false; } function getWindows() { var reg = /WindowsWechat\(0x(.+?)\)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getWxWork() { var reg = /wxwork\/([\d\.]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMpApp() { var appVersion = [2, 4, 5]; var match = navigator.userAgent.match(/MPAPP\/(\d+(\.\d+)*)/); if (match) { appVersion = match[1].split('.').map(function (v) { return Number(v); }); } return appVersion.join('.'); } function getUnifiedPcVer() { var versionInfo = navigator.userAgent.match(/UnifiedPC\w+Wechat\(0xf\w{2}(\w+?)\w{2}\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(0, 1)); var subVersion = getVersionNumber(version.slice(1, 2)); var subVersion2 = getVersionNumber(version.slice(2, 3)); return [mainVersion, subVersion, subVersion2].join('.'); } } function getVersionNumber(hexStr) { return Number(Number("0x".concat(hexStr)).toString(10)); } function getWindowsVersionFormat() { var versionInfo = navigator.userAgent.match(/WindowsWechat\(0x(\w+?)\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(1, 2)); var subVersion = getVersionNumber(version.slice(2, 4)); var subVersion2 = getVersionNumber(version.slice(4, 6)); return [mainVersion, subVersion, subVersion2].join('.'); } return false; } function getInner() { var reg = /MicroMessenger\/[\d\.]+\(0x(.+?)\)/i; var ret = ua.match(reg); if (ret && ret[1] && ret[1] != null) { return ret[1]; } if (!ret && /MicroMessenger\/[\d\.]+/i.test(ua)) { var urlParams = getUrlParams(); if (urlParams.version) { return urlParams.version; } } return false; } var opfunc = { 'cp-1': function cp1(a, b) { return a < b; }, cp0: function cp0(a, b) { return a === b; }, cp1: function cp1(a, b) { return a > b; } }; function cpVersion(ver, op, canEq, type) { var mmver = false; switch (type) { case 'mac': mmver = getMac(); break; case 'windows': mmver = getWindowsVersionFormat(); break; case 'wxwork': mmver = getWxWork(); break; case 'mpapp': mmver = getMpApp(); break; case 'unifiedpc': mmver = getUnifiedPcVer(); break; default: mmver = get(); break; } if (!mmver) { return; } var mmversion = mmver.split('.'); var version = ver.split('.'); if (!/\d+/g.test(mmversion[mmversion.length - 1])) { mmversion.pop(); } for (var i = 0, len = Math.max(mmversion.length, version.length); i < len; ++i) { var mmv = mmversion[i] || ''; var v = version[i] || ''; var mmvn = parseInt(mmv, 10) || 0; var vn = parseInt(v, 10) || 0; var eq = opfunc.cp0(mmvn, vn); if (eq) { continue; } var cp = opfunc["cp".concat(op)]; return cp(mmvn, vn); } return canEq || op === 0; } function eqVersion(version) { return cpVersion(version, 0); } function gtVersion(version, canEq) { return cpVersion(version, 1, canEq); } function ltVersion(version, canEq) { return cpVersion(version, -1, canEq); } function getPlatform() { if (is_ios) { return 'ios'; } if (is_android) { return 'android'; } if (is_mac) { return 'mac_os'; } if (is_windows) { return 'windows'; } return 'unknown'; } var is_google_play = false; var inner_ver_for_google_play_check = getInner(); if (is_android && inner_ver_for_google_play_check) { var v = "0x".concat(inner_ver_for_google_play_check.substr(-2)); if (parseInt(v) >= 64 && parseInt(v) = hexNum; } return false; } var mmVersion = { get: get, getMac: getMac, getMacOS: getMacOS, getWindows: getWindows, getInner: getInner, getWxWork: getWxWork, getMpApp: getMpApp, cpVersion: cpVersion, eqVersion: eqVersion, gtVersion: gtVersion, ltVersion: ltVersion, getPlatform: getPlatform, getVersionNumber: getVersionNumber, isWp: is_wp, isIOS: is_ios, isAndroid: is_android, isHarmony: is_harmony, isHarmonyWechat: is_harmony && is_wechat && cpVersion('1.0.0', 1, true), isInMiniProgram: is_in_miniProgram, isWechat: is_wechat, isMac: is_mac, isWindows: is_windows, isLinux: is_linux, isMacWechat: is_mac_wechat, isWindowsWechat: is_windows_wechat, isWxWork: is_wx_work, isOnlyWechat: is_wechat && !is_wx_work, isMpapp: is_mpapp, isIPad: is_ipad, isGooglePlay: is_google_play, isPrefetch: is_prefetch, isDonutAPP: is_donut_app, compareHexVersion: compareHexVersion$1, isPcWechat: is_windows_wechat || is_mac_wechat, xwebVersion: xweb_version, isUnifiedPcWechat: is_unified_pc_wechat }; function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _regeneratorRuntime$4() { _regeneratorRuntime$4 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc 1) { return false; } top.window.WeixinJSBridge.on(eventName, function () { try { for (var _len = arguments.length, rets = new Array(_len), _key = 0; _key < _len; _key++) { rets[_key] = arguments[_key]; } var ret = rets[0]; var errMsg = ret && ret.err_msg ? ", err_msg-> ".concat(ret.err_msg) : ''; console.info('[system]', "[jsapi] event->".concat(eventName).concat(errMsg)); if (window.JSAPIEventCallbackMap[eventName] && window.JSAPIEventCallbackMap[eventName].length) { var result; for (var i = 0; i < window.JSAPIEventCallbackMap[eventName].length; i++) { result = window.JSAPIEventCallbackMap[eventName][i].apply(window, rets); } return result; } } catch (e) { __moon_report$1([{ offset: MOON_JSAPI_KEY_OFFSET, log: "on;eventName:".concat(eventName), e: e }]); throw e; } }); }); } function remove(eventName, callback) { ready(function () { if (!window.JSAPIEventCallbackMap[eventName]) { return false; } var result = false; for (var i = window.JSAPIEventCallbackMap[eventName].length - 1; i >= 0; i--) { if (window.JSAPIEventCallbackMap[eventName][i] === callback) { window.JSAPIEventCallbackMap[eventName].splice(i, 1); result = true; } } return result; }); } var JSAPI = { ready: ready, invoke: invoke$1, call: call, on: on, remove: remove }; function createErrorResult(message, details, playbackMethod) { var result = { success: false, error: { message: message, details: details } }; if (playbackMethod) { result.playbackMethod = playbackMethod; } return result; } function createSuccessResult(playbackMethod, action, data) { var result = { success: true, playbackMethod: playbackMethod, action: action }; if (data !== undefined) { result.data = data; } return result; } function createResultFromJSAPI(res, playbackMethod, action, errorMessage, successMessage) { var errMsg = res.err_msg || res.errMsg; if (errMsg && errMsg.indexOf('ok') !== -1) { return createSuccessResult(playbackMethod, action, res); } else { return createErrorResult(errMsg || errorMessage, res, playbackMethod); } } var PlayMode; (function (PlayMode) { PlayMode[PlayMode["SEQUENCE"] = 0] = "SEQUENCE"; PlayMode[PlayMode["LIST_LOOP"] = 1] = "LIST_LOOP"; PlayMode[PlayMode["SINGLE_LOOP"] = 2] = "SINGLE_LOOP"; })(PlayMode || (PlayMode = {})); var PlayStatus = { IDLE: 'idle', PLAYING: 'playing', PAUSED: 'paused', LOADING: 'loading' }; var PlaybackMethod; (function (PlaybackMethod) { PlaybackMethod["TING"] = "ting"; PlaybackMethod["BACKGROUND"] = "background"; PlaybackMethod["H5_AUDIO"] = "h5_audio"; })(PlaybackMethod || (PlaybackMethod = {})); var currentBackgroundItem = null; function getBackgroundAudioState(callback) { return new Promise(function (resolve) { JSAPI.invoke('getBackgroundAudioState', {}, function (res) { if (!res.status && !res.state) { if (!res.src && !res.dataUrl) { res.status = PlayStatus.IDLE; } else if (res.paused === true || res.paused === 1) { res.status = PlayStatus.PAUSED; } else { res.status = PlayStatus.PLAYING; } } if (!res.item && currentBackgroundItem) { res.item = currentBackgroundItem; } if (callback) callback(res); resolve(createResultFromJSAPI(res, PlaybackMethod.BACKGROUND, 'get', 'Failed to get background audio state')); }); }); } function onBackgroundAudioStateChanged(callback) { try { var listener = function listener(res) { var status = res.state || res.status; if (status === 'ended' || status === 'stop') { status = PlayStatus.IDLE; } else if (status === 'play' || status === 'playing') { status = PlayStatus.PLAYING; } else if (status === 'pause' || status === 'paused') { status = PlayStatus.PAUSED; } else if (status === 'waiting' || status === 'canplay') { status = PlayStatus.LOADING; } var state = { status: status || (res.paused ? 'paused' : 'playing'), currentTime: res.currentTime || res.position || 0, duration: res.duration || 0, item: res.item || currentBackgroundItem || {}, source: PlaybackMethod.BACKGROUND }; callback(state); }; JSAPI.on('onBackgroundAudioStateChange', listener); return listener; } catch (error) { console.error('Failed to register onBackgroundAudioStateChange:', error); return null; } } function getH5AudioState() { try { var audio = window.__tingAudioInstance; if (audio) { return createSuccessResult(PlaybackMethod.H5_AUDIO, 'get', { status: audio.paused ? 'paused' : 'playing', currentTime: audio.currentTime || 0, duration: audio.duration || 0, item: window.__tingAudioCurrentItem || {}, source: PlaybackMethod.H5_AUDIO }); } return createErrorResult('No H5 Audio instance available', undefined, PlaybackMethod.H5_AUDIO); } catch (error) { console.error('[play_voice][h5] getState error:', error); return createErrorResult('Failed to get H5 Audio state', error, PlaybackMethod.H5_AUDIO); } } function _regeneratorRuntime$3() { _regeneratorRuntime$3 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc = o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } var isWechat = mmVersion.isWechat; var isDebugXwebVersion = mmVersion.xwebVersion = 18720 || isDebugXwebVersion); var TING_SUPPORT_TYPES = [0, 1, 2, 3, 4, 7, 10, 11]; var KUGOU_TYPES = [5, 6, 9]; function isSupportTing(type) { var isPlatformSupported = isWechat && !mmVersion.isPcWechat || isTingSupportedPC; if (!isPlatformSupported) return false; if (type === undefined || type === null) return true; if (KUGOU_TYPES.includes(type)) { return !mmVersion.isIOS || mmVersion.compareHexVersion('18004600'); } return TING_SUPPORT_TYPES.includes(type); } var isTingSupportedPCVersion = isTingSupportedPC; typeof navigator !== 'undefined' && (navigator.userAgent.indexOf('QQMusic/') > 0 || typeof location !== 'undefined' && location.href.indexOf('_qqclient=1') > 0); var PLAYBACK_METHODS_FALLBACK = [PlaybackMethod.TING, PlaybackMethod.BACKGROUND, PlaybackMethod.H5_AUDIO]; function tryAllMethods(_x, _x2, _x3, _x4, _x5) { return _tryAllMethods.apply(this, arguments); } function _tryAllMethods() { _tryAllMethods = _asyncToGenerator( _regeneratorRuntime$3().mark(function _callee(executor, errorMessage, onSuccess, callback, methods) { var errors, _iterator2, _step2, method, result, finalResult; return _regeneratorRuntime$3().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: errors = {}; _iterator2 = _createForOfIteratorHelper(methods || PLAYBACK_METHODS_FALLBACK); _context.prev = 2; _iterator2.s(); case 4: if ((_step2 = _iterator2.n()).done) { _context.next = 23; break; } method = _step2.value; _context.prev = 6; _context.next = 9; return executor(method); case 9: result = _context.sent; if (!result.success) { _context.next = 13; break; } onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(method); return _context.abrupt("return", result); case 13: errors[method] = result.error; console.warn("".concat(method, " failed, trying next..."), result.error); _context.next = 21; break; case 17: _context.prev = 17; _context.t0 = _context["catch"](6); errors[method] = _context.t0; console.warn("".concat(method, " exception, trying next..."), _context.t0); case 21: _context.next = 4; break; case 23: _context.next = 28; break; case 25: _context.prev = 25; _context.t1 = _context["catch"](2); _iterator2.e(_context.t1); case 28: _context.prev = 28; _iterator2.f(); return _context.finish(28); case 31: console.error(errorMessage, errors); finalResult = createErrorResult(errorMessage, errors); callback === null || callback === void 0 ? void 0 : callback(finalResult); return _context.abrupt("return", finalResult); case 35: case "end": return _context.stop(); } }, _callee, null, [[2, 25, 28, 31], [6, 17]]); })); return _tryAllMethods.apply(this, arguments); } function getTingAudioState(callback) { return new Promise(function (resolve) { JSAPI.invoke('getTingAudioState', { sourceType: 1 }, function (res1) { if (res1 && res1.status && res1.status === 'idle') { JSAPI.invoke('getTingAudioState', { sourceType: 2 }, function (res2) { if (callback) callback(res2); resolve(createResultFromJSAPI(res2, PlaybackMethod.TING, 'get', 'Failed to get Ting audio state')); }); } else { if (callback) callback(res1); resolve(createResultFromJSAPI(res1, PlaybackMethod.TING, 'get', 'Failed to get Ting audio state')); } }); }); } function onTingAudioStateChanged(callback) { try { if (isTingSupportedPCVersion) { JSAPI.invoke('getTingAudioState', {}, function () {}); } var listener = function listener(res) { if (!res.status && !res.item) { return; } var state = { status: res.status, currentTime: res.currentTime || 0, duration: res.duration || 0, item: res.item, source: PlaybackMethod.TING }; callback(state); }; JSAPI.on('onTingAudioStateChanged', listener); return listener; } catch (error) { console.error('Failed to register onTingAudioStateChanged:', error); return null; } } var callbackQueue = []; var listenersRegistered = false; var tingListener = null; var backgroundListener = null; function notifyListeners(state) { callbackQueue.forEach(function (callback) { try { callback(state); } catch (error) { console.error('Error in audio state listener:', error); } }); } function registerAllListeners() { if (listenersRegistered) return; listenersRegistered = true; if (!tingListener) { tingListener = onTingAudioStateChanged(function (state) { notifyListeners(state); }); } if (!backgroundListener) { backgroundListener = onBackgroundAudioStateChanged(function (state) { notifyListeners(state); }); } } function addListener(callback) { if (!callbackQueue.includes(callback)) { callbackQueue.push(callback); registerAllListeners(); } } function removeListener(callback) { var index = callbackQueue.indexOf(callback); if (index > -1) { callbackQueue.splice(index, 1); } } function _regeneratorRuntime$2() { _regeneratorRuntime$2 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc = 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc 0) { _this.pollingTimer = setTimeout(_this.poll, _this.POLLING_INTERVAL); } else { _this.stopPolling(); } case 13: case "end": return _context.stop(); } }, _callee, null, [[2, 9]]); })); this.handleEventStateChange = function (eventState) { _this.lastFullState = _this.buildExtendedState(eventState, 'event'); _this.notifySubscribers(_this.lastFullState); _this.startPolling(); }; } _createClass(AudioStateManagerClass, [{ key: "buildExtendedState", value: function buildExtendedState(data, updateSource) { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; var currListenId = (_a = data.item) === null || _a === void 0 ? void 0 : _a.listenId; var isSameAudio = !!(currListenId && currListenId === ((_c = (_b = this.lastFullState) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.listenId)); var status = data.status || ((_d = this.lastFullState) === null || _d === void 0 ? void 0 : _d.status) || 'idle'; var item = data.item && _typeof(data.item) === 'object' ? data.item : (_f = (_e = this.lastFullState) === null || _e === void 0 ? void 0 : _e.item) !== null && _f !== void 0 ? _f : data; return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, isSameAudio ? Object.assign({}, this.lastFullState) : {}), { status: status, currentTime: (_g = data.currentTime) !== null && _g !== void 0 ? _g : 0, duration: (_h = data.duration) !== null && _h !== void 0 ? _h : 0, item: item, source: (_k = (_j = data.source) !== null && _j !== void 0 ? _j : getCurrentPlaybackMethod()) !== null && _k !== void 0 ? _k : PlaybackMethod.TING }), data.playRate !== undefined && { playRate: data.playRate }), data.shutdown !== undefined && { shutdown: data.shutdown }), data.categoryId !== undefined && { categoryId: data.categoryId }), data.buffered !== undefined && { buffered: data.buffered }), { updateSource: updateSource, timestamp: Date.now() }); } }, { key: "notifySubscribers", value: function notifySubscribers(state) { this.subscribers.forEach(function (cb) { try { cb(state); } catch (e) { console.error('[AudioStateManager] Callback error:', e); } }); } }, { key: "stopPolling", value: function stopPolling() { if (this.pollingTimer) { clearTimeout(this.pollingTimer); this.pollingTimer = null; } } }, { key: "startPolling", value: function startPolling() { if (this.pollingTimer) return; this.pollingTimer = setTimeout(this.poll, this.POLLING_INTERVAL); } }, { key: "startGlobalSubscription", value: function () { var _startGlobalSubscription = _asyncToGenerator( _regeneratorRuntime$1().mark(function _callee2() { return _regeneratorRuntime$1().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (!this.listenerUnsubscribe) { this.listenerUnsubscribe = onAudioStateChanged(this.handleEventStateChange); } _context2.next = 3; return this.poll(); case 3: case "end": return _context2.stop(); } }, _callee2, this); })); function startGlobalSubscription() { return _startGlobalSubscription.apply(this, arguments); } return startGlobalSubscription; }() }, { key: "stopGlobalSubscription", value: function stopGlobalSubscription() { this.stopPolling(); if (this.listenerUnsubscribe) { this.listenerUnsubscribe(); this.listenerUnsubscribe = null; } this.lastFullState = null; } }], [{ key: "getInstance", value: function getInstance() { if (!AudioStateManagerClass.instance) { AudioStateManagerClass.instance = new AudioStateManagerClass(); } return AudioStateManagerClass.instance; } }]); return AudioStateManagerClass; }(); var AudioStateManager = AudioStateManagerClass.getInstance(); AudioStateManager.subscribe; AudioStateManager.getCachedState; function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var Device = {}; function detect(ua) { var MQQBrowser = ua.match(/MQQBrowser\/(\d+\.\d+)/i); var MQQClient = ua.match(/QQ\/(\d+\.(\d+)\.(\d+)\.(\d+))/i) || ua.match(/V1_AND_SQ_([\d\.]+)/); var WeChat = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/) || ua.match(/MicroMessenger\/((\d+)\.(\d+))/); var MacOS = ua.match(/Mac\sOS\sX\s(\d+[\.|_]\d+)/); var WinOS = ua.match(/Windows(\s+\w+)?\s+?(\d+\.\d+)/); var Linux = ua.match(/Linux\s/); var MiuiBrowser = ua.match(/MiuiBrowser\/(\d+\.\d+)/i); var M1 = ua.match(/MI-ONE/); var MIPAD = ua.match(/MI PAD/); var UC = ua.match(/UCBrowser\/(\d+\.\d+(\.\d+\.\d+)?)/) || ua.match(/\sUC\s/); var IEMobile = ua.match(/IEMobile(\/|\s+)(\d+\.\d+)/) || ua.match(/WPDesktop/); var ipod = ua.match(/(ipod).*\s([\d_]+)/i); var ipad = ua.match(/(ipad).*\s([\d_]+)/i); var iphone = ua.match(/(iphone)\sos\s([\d_]+)/i); var Chrome = ua.match(/Chrome\/(\d+\.\d+)/); var AndriodBrowser = ua.match(/Mozilla.*Linux.*Android.*AppleWebKit.*Mobile Safari/); var android = ua.match(/(android)\s([\d\.]+)/i); var harmony = ua.match(/(OpenHarmony)\s([\d\.]+)/i); Device.browser = Device.browser || {}, Device.os = Device.os || {}; Device.os.type = -1; Device.os.unifiedPC = ua.match(/UnifiedPC/); Device.os.unifiedMac = /UnifiedPCMac/i.test(ua); Device.os.unifiedWindows = /UnifiedPCWindows/i.test(ua); if (window.ActiveXObject) { var vie = 6; (window.XMLHttpRequest || ua.indexOf('MSIE 7.0') > -1) && (vie = 7); (window.XDomainRequest || ua.indexOf('Trident/4.0') > -1) && (vie = 8); ua.indexOf('Trident/5.0') > -1 && (vie = 9); ua.indexOf('Trident/6.0') > -1 && (vie = 10); Device.browser.ie = true, Device.browser.version = vie; } else if (ua.indexOf('Trident/7.0') > -1) { Device.browser.ie = true, Device.browser.version = 11; } if (android) { Device.os.android = true; Device.os.version = android[2]; Device.os.type = 2; } if (harmony) { Device.os.harmony = true; Device.os.version = harmony[2]; Device.os.type = 42; } if (ipod) { Device.os.ios = Device.os.ipod = true; Device.os.version = ipod[2].replace(/_/g, '.'); } if (ipad) { Device.os.ios = Device.os.ipad = true; Device.os.version = ipad[2].replace(/_/g, '.'); Device.os.type = 13; } if (iphone) { Device.os.iphone = Device.os.ios = true; Device.os.version = iphone[2].replace(/_/g, '.'); Device.os.type = 1; } if (WinOS) Device.os.windows = true, Device.os.version = WinOS[2], Device.os.type = 15; if (MacOS) Device.os.Mac = true, Device.os.version = MacOS[1], Device.os.type = 14; if (Linux) Device.os.Linux = true, Device.os.type = 33; if (ua.indexOf('lepad_hls') > 0) Device.os.LePad = true; if (MIPAD) Device.os.MIPAD = true; if (MQQBrowser) Device.browser.MQQ = true, Device.browser.version = MQQBrowser[1]; if (MQQClient) Device.browser.MQQClient = true, Device.browser.version = MQQClient[1]; if (WeChat) Device.browser.WeChat = true, Device.browser.mmversion = Device.browser.version = WeChat[1]; if (MiuiBrowser) Device.browser.MIUI = true, Device.browser.version = MiuiBrowser[1]; if (UC) Device.browser.UC = true, Device.browser.version = UC[1] || NaN; if (IEMobile) Device.browser.IEMobile = true, Device.browser.version = IEMobile[2]; if (AndriodBrowser) { Device.browser.AndriodBrowser = true; } if (M1) { Device.browser.M1 = true; } if (Chrome) { Device.browser.Chrome = true, Device.browser.version = Chrome[1]; } if (Device.os.windows) { if (typeof navigator.platform !== "undefined" && navigator.platform.toLowerCase() == "win64") { Device.os.win64 = true; } else { Device.os.win64 = false; } } if (Device.os.Mac || Device.os.windows || Device.os.Linux || Device.os.unifiedPC || /OpenHarmony/i.test(ua) && /pc/i.test(ua)) { Device.os.pc = true; } var osType = { iPad7: 'iPad; CPU OS 7', LePad: 'lepad_hls', XiaoMi: 'MI-ONE', SonyDTV: "SonyDTV", SamSung: 'SAMSUNG', HTC: 'HTC', VIVO: 'vivo' }; for (var os in osType) { Device.os[os] = ua.indexOf(osType[os]) !== -1; } Device.os.phone = Device.os.phone || /windows phone/i.test(ua); Device.os.getNumVersion = function () { return parseFloat(Device.os.version); }; Device.os.hasTouch = 'ontouchstart' in window; if (Device.os.hasTouch && Device.os.ios && Device.os.getNumVersion() < 6) { Device.os.hasTouch = false; } if (Device.browser.WeChat && Device.browser.version < 5.0) { Device.os.hasTouch = false; } Device.browser.getNumVersion = function () { return parseFloat(Device.browser.version); }; Device.browser.isFFCanOcx = function () { return !!Device.browser.firefox && Device.browser.getNumVersion() >= 3.0; }; Device.browser.isCanOcx = function () { return !!Device.os.windows && (!!Device.browser.ie || Device.browser.isFFCanOcx() || !!Device.browser.webkit); }; Device.browser.isNotIESupport = function () { return !!Device.os.windows && (!!Device.browser.webkit || Device.browser.isFFCanOcx()); }; Device.userAgent = {}; Device.userAgent.browserVersion = Device.browser.version; Device.userAgent.osVersion = Device.os.version; if (Device.os.unifiedPC) { if (Device.os.unifiedWindows) Device.os.type = 37;else if (Device.os.unifiedMac) Device.os.type = 38;else Device.os.type = 39; } delete Device.userAgent.version; } detect(window.navigator.userAgent); function canSupportH5Video() { var ua = window.navigator.userAgent, m = null; if (!!Device.os.android) { if (Device.browser.MQQ && Device.browser.getNumVersion() >= 4.2) { return true; } if (ua.indexOf('MI2') != -1) { return true; } if (Device.os.version >= '4' && (m = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/))) { if (parseFloat(m[1]) >= 4.2) { return true; } } if (Device.os.version >= '4.1') { return true; } } return false; } function canSupportVideoMp4() { var video = document.createElement('video'); if (typeof video.canPlayType === 'function') { if (video.canPlayType('video/mp4; codecs="mp4v.20.8"') === 'probably') { return true; } if (video.canPlayType('video/mp4; codecs="avc1.42E01E"') === 'probably' || video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"') === 'probably') { return true; } } return false; } function canSupportAutoPlay() { if (Device.os.ios && Device.os.getNumVersion() < 10) { return false; } return true; } function isLockdownMode() { if (!Device.os.ios || Device.os.getNumVersion() < 16) { return false; } if (typeof WebAssembly === 'undefined' && typeof OfflineAudioContext === 'undefined' && typeof WebGLRenderingContext === 'undefined') { return true; } return false; } Device.canSupportVideo = canSupportVideoMp4 || canSupportH5Video; Device.canSupportVideoMp4 = canSupportVideoMp4; Device.canSupportH5Video = canSupportH5Video; Device.canSupportAutoPlay = canSupportAutoPlay; Device.isLockdownMode = isLockdownMode; Device.cpVersion = function (version) { var cp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var canEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var nowVersionStr = Device.os.version; if (!nowVersionStr) return false; var versionArr = version.split('.'); var nowVersionArr = nowVersionStr.split('.'); for (var i = 0; i < Math.max(nowVersionArr.length, versionArr.length); i++) { var vi = +versionArr[i]; var nvi = +nowVersionArr[i]; if (vi === nvi) continue; if (cp > 0) return vi > nvi; if (cp < 0) return vi < nvi; } return canEqual || cp === 0; }; var initJsBridge = false; if (!window.JSAPIEventCallbackMap) { window.JSAPIEventCallbackMap = {}; } function connectWebViewJavascriptBridge(callback) { if (window.WebViewMPapp || window.WebViewJavascriptBridge) { return callback(window.WebViewMPapp || window.WebViewJavascriptBridge); } if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); } window.WVJBCallbacks = [callback]; if (!mmVersion.isMpapp) { return false; } if (!initJsBridge) { initJsBridge = true; var WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'https://__bridge_loaded__'; document.body.appendChild(WVJBIframe); setTimeout(function () { initJsBridge = false; document.body.removeChild(WVJBIframe); }, 0); } return false; } function invoke(jsapiName, opt, callback) { connectWebViewJavascriptBridge(function (bridge) { try { if (typeof opt === 'function') { callback = opt; } if (_typeof(opt) !== 'object' && typeof opt !== 'string') { opt = {}; } bridge.callHandler(jsapiName, opt, function (res) { try { var ret = _typeof(res) === 'object' ? res : JSON.parse(res); var errMsg = ret.err_msg || ret.errMsg; console.info("[mpapp jsapi] invoke->".concat(jsapiName, " ").concat(opt.action || '', " ").concat(errMsg)); typeof callback === 'function' && callback(ret); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', "callback ".concat(jsapiName, " error:"), { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error("[mpapp jsapi] ".concat(jsapiName, " ").concat(opt.action || ''), e, res); } }); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', 'callback error:', { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error('[mpapp jsapi]', e); } }); } function _log(level, msg) { if (level === 'log') { level = 'info'; msg = "[WechatFe]".concat(msg); } else { var prefix = "__wap__".concat(window.__second_open__ ? ' (sec)' : ''); msg = "".concat(prefix, " ").concat(msg, " location:[").concat(location.href, "]"); } msg += new Error().stack; if (mmVersion.isMpapp) { invoke('WNNativeCallbackLog', msg); } else if (mmVersion.isWechat) { if (mmVersion.isAndroid) { console.warn('[system]', "[MicroMsg.JsApiLog][".concat(level, "] jslog : ").concat(msg)); } else if (mmVersion.isIOS) { JSAPI.invoke('writeLog', { level: level, msg: msg }); } else { JSAPI.invoke('log', { level: level, msg: msg }); } } } var Log = { info: function info() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _log('info', args.join(' ')); }, warn: function warn() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } _log('warn', args.join(' ')); }, error: function error() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } _log('error', args.join(' ')); }, debug: function debug() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } _log('debug', args.join(' ')); }, log: function log() { for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5]; } _log('info', args.join(' ')); } }; var reportLogs = []; var reportExtraLogs = []; var sendUrl = '/mp/jsmonitor?#wechat_redirect'; var monitor = {}; monitor._reportOptions = { idkey: {} }; function ObjWithoutProperty(source, exclude) { if (source === null) return {}; var target = {}; var sourceKeys = Object.keys(source); for (var i = 0; i < sourceKeys.length; i++) { var key = sourceKeys[i]; if (exclude.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function formatDataToString(data) { var reportData = []; for (var key in data) { if (Object.prototype.hasOwnProperty.call(data, key)) { reportData.push(key + '=' + encodeURIComponent(data[key])); } } return reportData.join('&'); } monitor.getReportData = function (opt) { opt = opt || {}; var idkey = monitor._reportOptions.idkey || {}; var key = null; var reportData = {}; var nextKey; try { for (key in idkey) { if (Object.prototype.hasOwnProperty.call(idkey, key) && idkey[key]) { reportLogs.push(key + '_' + idkey[key]); } } } catch (e) { return false; } if (reportLogs.length === 0) { return false; } if (reportExtraLogs.length) { reportData.lc = reportExtraLogs.length; reportExtraLogs.forEach(function (extraLog, index) { reportData["log".concat(index)] = extraLog; }); } try { var reportOptions = monitor._reportOptions; if (reportOptions !== null && reportOptions !== undefined) { for (nextKey in reportOptions) { if (Object.prototype.hasOwnProperty.call(reportOptions, nextKey)) { reportData[nextKey] = reportOptions[nextKey]; } } } } catch (e) { reportData = {}; } reportData.idkey = reportLogs.join(';'); reportData.t = Math.random(); if (opt.remove !== false) { reportLogs = []; reportExtraLogs = []; monitor._reportOptions = { idkey: {} }; } return reportData; }; monitor.setLogs = function (opt) { var id = opt.id; var key = opt.key; var value = opt.value; var extraLog = opt.log; var others = ObjWithoutProperty(opt, ['id', 'key', 'value', 'log']); var idkey = monitor._reportOptions.idkey || {}; var param = id + '_' + key; if (idkey[param]) { idkey[param] += value; } else { idkey[param] = value; } monitor._reportOptions.idkey = idkey; if (extraLog) { reportExtraLogs.push(extraLog); } try { if (others !== null && others !== undefined) { for (var otherKey in others) { if (Object.prototype.hasOwnProperty.call(others, otherKey)) { monitor._reportOptions[otherKey] = others[otherKey]; } } } } catch (e) { console.log(e); } return monitor; }; monitor.setAvg = function (id, key, value) { var idkey = monitor._reportOptions.idkey || {}; var param1 = id + '_' + key; var param2 = id + '_' + (key - 1); if (idkey[param1]) { idkey[param1] += value; } else { idkey[param1] = value; } if (idkey[param2]) { idkey[param2] += 1; } else { idkey[param2] = 1; } monitor._reportOptions.idkey = idkey; return monitor; }; monitor.setSum = function (id, key) { var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; var idkey = monitor._reportOptions.idkey; var param = id + '_' + key; if (idkey[param]) { idkey[param] += value; } else { idkey[param] = value; } monitor._reportOptions.idkey = idkey; return monitor; }; monitor.send = function (async, ajax, origin) { if (async !== false) { async = true; } var data = monitor.getReportData(); origin = origin || ''; if (!data) { return; } if (!!ajax && ajax instanceof Function) { ajax({ url: origin + sendUrl, type: 'POST', mayAbort: true, data: data, async: async, timeout: 2000, dontReport: true }); } else { new Image().src = origin + '/mp/jsmonitor?' + formatDataToString(data) + '#wechat_redirect'; } }; if (typeof window !== 'undefined' && window.__monitor) { monitor = window.__monitor; } else { typeof window !== 'undefined' && (window.__monitor = monitor); } var monitor$1 = monitor; var logList = []; var log = function log(msg) { logList.push(msg); }; var printLog = function printLog() { for (var i = 0, len = logList.length; i < len; ++i) { console.log("[RespType]".concat(logList[i])); } }; var isArray = function isArray(val) { return Object.prototype.toString.call(val) === '[object Array]'; }; var getValueType = function getValueType(value) { if (isArray(value)) { return 'array'; } return _typeof(value); }; var parseRtDesc = function parseRtDesc(rtDesc, k) { var type = 'mix'; var isRequired = false; var key = k; if (k) { var requireKeyWord = '_R'; var pos = k.indexOf(requireKeyWord); var len = k.length - requireKeyWord.length; isRequired = pos !== -1 && pos === len; key = isRequired ? k.substring(0, len) : k; } if (typeof rtDesc === 'string') { type = rtDesc; } else if (isArray(rtDesc)) { type = 'array'; } else if (_typeof(rtDesc) === 'object') { type = 'object'; } return { key: key, type: type, isRequired: isRequired }; }; var checkForArrayRtDesc = function checkForArrayRtDesc(arr, rtDescs) { if (!isArray(arr)) { return false; } for (var i = 0, len = arr.length; i < len; ++i) { var value = arr[i]; var rtDesc = void 0; var j = 0; var flag = rtDescs.length === 0; while (rtDesc = rtDescs[j++]) { if (checkForRtDesc(value, rtDesc)) { flag = true; break; } } if (!flag) { return false; } } return true; }; var checkForStringRtDesc = function checkForStringRtDesc(value, rtDesc) { var valueType = getValueType(value); var desc = parseRtDesc(rtDesc); var ret = desc.type === valueType; if (!ret) { log("miss match type : ".concat(valueType, " !== ").concat(desc.type)); } return ret; }; var checkForObjectRtDesc = function checkForObjectRtDesc(json, rtDesc) { if (_typeof(json) !== 'object' || isArray(json)) { log('must be object'); return false; } var rootJson = json; var nowCheckValue = json; for (var k in rtDesc) { if (rtDesc.hasOwnProperty(k)) { var nowCheckDesc = rtDesc[k]; var desc = parseRtDesc(nowCheckDesc, k); var key = desc.key; nowCheckValue = rootJson[key]; var valueType = getValueType(nowCheckValue); if (desc.isRequired && nowCheckValue === undefined) { log("is required @key=".concat(key)); return false; } if (nowCheckValue !== undefined) { if (valueType !== desc.type && desc.type !== 'mix') { log("miss match type : ".concat(valueType, " !== ").concat(desc.type, " @key=").concat(key)); return false; } if ((valueType === 'array' || valueType === 'object') && desc.type !== 'mix') { if (!checkForRtDesc(nowCheckValue, nowCheckDesc)) { return false; } } } } } return true; }; var checkForRtDesc = function checkForRtDesc(json, rtDesc) { if (isArray(rtDesc)) { return checkForArrayRtDesc(json, rtDesc); } if (_typeof(rtDesc) === 'object') { return checkForObjectRtDesc(json, rtDesc); } if (typeof rtDesc === 'string') { return checkForStringRtDesc(json, rtDesc); } return false; }; var _check = function check(json, rtDescs) { if (typeof json === 'string') { try { json = eval("(".concat(json, ")")); } catch (e) { log('parse json error'); return false; } } if (_typeof(json) !== 'object') { log('must be object'); return false; } if (!isArray(rtDescs)) { rtDescs = [rtDescs]; } var rtDesc; var i = 0; while (rtDesc = rtDescs[i++]) { if (checkForRtDesc(json, rtDesc)) { return true; } } return false; }; var RespTypes = { check: function check(json, rtDesc) { logList = []; try { var ret = _check(json, rtDesc); if (!ret) { printLog(); } return ret; } catch (e) { logList.push("[rtException]".concat(e.toString())); printLog(); return false; } }, getMsg: function getMsg() { return logList.join(';'); } }; function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function getInflightMap() { if (!window.__dedupe_promise_inflight__) { window.__dedupe_promise_inflight__ = new Map(); } return window.__dedupe_promise_inflight__; } function dedupePromise(key, factory) { var inflightMap = getInflightMap(); var existing = inflightMap.get(key); console.log("dedupePromise key=".concat(key, " existing=").concat(existing)); if (existing) { return existing; } var promise = Promise.resolve().then(factory)["finally"](function () { inflightMap["delete"](key); }); inflightMap.set(key, promise); return promise; } var prefix = '__WXLS__'; var localStorage = window.localStorage || { getItem: function getItem() {}, setItem: function setItem() {}, removeItem: function removeItem() {}, key: function key() {}, clear: function clear() { var _a, _b; (_b = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a); }, length: 0 }; var evictionPolicies = { noeviction: function noeviction(data) { return data; }, 'allkeys-random': function allkeysRandom(data, size) { var keys = Object.keys(data); var memCnt = 0; while (memCnt < size) { var len = keys.length; var randomKeyIdx = Math.floor(Math.random() * len); var randomKey = keys[randomKeyIdx]; memCnt += JSON.stringify(data[randomKey]).length; delete data[randomKey]; keys = Object.keys(data); } return data; }, 'volatile-ttl': function volatileTtl(data, size) { var keys = Object.keys(data); keys = keys.sort(function (key1, key2) { var d1 = data[key1]; var d2 = data[key2]; if (d1.exp < d2.exp) return -1; if (d1.exp > d2.exp) return 1; return 0; }); var memCnt = 0; for (var i = 0; i < keys.length; i++) { if (memCnt >= size) break; var key = keys[i]; memCnt += JSON.stringify(data[key]).length; delete data[key]; } return data; }, 'clear-all': function clearAll() { localStorage.clear(); return {}; } }; function formatLogMsg(str) { return "[WXLS] ".concat(str); } var LS = function () { function LS(func, evictionPolicy, logger) { _classCallCheck(this, LS); this.logger = function () {}; if (!func) throw 'require function name.'; this.evictionPolicy = 'noeviction'; this.key = func; if (typeof logger === 'function') { this.logger = function (str, type) { return logger(formatLogMsg(str), type); }; } if (evictionPolicy && Object.keys(evictionPolicies).indexOf(evictionPolicy) !== -1) { this.evictionPolicy = evictionPolicy; } this.init(); } _createClass(LS, [{ key: "init", value: function init() { var _a, _b; this.check(); if (Math.random() * 1000 < 1) { (_a = this.logger) === null || _a === void 0 ? void 0 : _a.call(this, "LSlen: ".concat(((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length) || localStorage.length), 'report'); } } }, { key: "getData", value: function getData() { var data = LS.getItem(this.key) || '{}'; try { data = JSON.parse(data); } catch (e) { this.logger("getData error: ".concat(e), 'error'); localStorage.removeItem(prefix + this.key); data = {}; } return data; } }, { key: "check", value: function check(isReturn) { var data = this.getData(); var temp = {}; var now = +new Date(); var key; var val; for (key in data) { val = data[key]; if (+val.exp > now) { temp[key] = val; } } this.logger("check info: isReturn:".concat(isReturn, " data:").concat(JSON.stringify(temp)), 'info'); if (isReturn) return temp; LS.setItem(this.key, JSON.stringify(temp), this.logger); } }, { key: "set", value: function set(key, val, exp) { var _a, _b; var data = this.check(true); data[key] = { val: val, exp: exp || +new Date() }; try { if (localStorage.getItem(prefix + this.key)) localStorage.removeItem(prefix + this.key); localStorage.setItem(prefix + this.key, JSON.stringify(data)); this.logger("first set success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data)), 'success'); } catch (e) { this.logger("first set error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data), " k:").concat(key, " v:").concat(val, " exp:").concat(exp), 'error'); localStorage.clear(); LS.setItem(this.key, JSON.stringify(_defineProperty({}, key, { val: val, exp: exp || +new Date() })), this.logger); } } }, { key: "get", value: function get(key) { var data = this.getData(); data = data[key]; return data ? data.val || null : null; } }, { key: "remove", value: function remove(key) { var data = this.getData(); if (data[key]) delete data[key]; LS.setItem(this.key, JSON.stringify(data), this.logger); } }], [{ key: "getItem", value: function getItem(key) { key = prefix + key; return localStorage.getItem(key); } }, { key: "setItem", value: function setItem(key, val, logger) { var _a, _b; key = prefix + key; var n = 3; while (n--) { try { if (localStorage.getItem(key)) localStorage.removeItem(key); localStorage.setItem(key, val); typeof logger === 'function' && logger("setItem success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(key, " val:").concat(val), 'success'); break; } catch (e) { typeof logger === 'function' && logger("setItem error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(key, " val:").concat(val), 'error'); LS.clear(); } } } }, { key: "clear", value: function clear() { var i; var k; for (i = localStorage.length - 1; i >= 0; i--) { k = localStorage.key(i); if (k.indexOf(prefix) == 0) { localStorage.removeItem(k); } } } }, { key: "getSupportEvicationPolicy", value: function getSupportEvicationPolicy() { return Object.keys(evictionPolicies); } }]); return LS; }(); var innerVersion = (mmVersion.getInner() || '').toUpperCase(); var getBizLS = new LS('get_biz_result'); function getBizMap() { if (!window.__get_biz_map__) { window.__get_biz_map__ = {}; } return window.__get_biz_map__; } var isGetBizSupported = mmVersion.isOnlyWechat && mmVersion.isIOS && innerVersion >= '18003C2A' || mmVersion.isOnlyWechat && mmVersion.isAndroid && innerVersion >= '28003D3C' || mmVersion.isUnifiedPcWechat && mmVersion.cpVersion('4.1.10', 1, true, 'unifiedpc'); function invokeGetBiz(needCheckBiz, bizType) { return dedupePromise("getBiz:".concat(needCheckBiz, ":").concat(bizType), function () { return new Promise(function (resolve, reject) { if (!isGetBizSupported) { reject('Not support'); } else { JSAPI.invoke('handleMPPageAction', { action: 'getBiz', needCheckBiz: needCheckBiz, bizType: bizType }, function (res) { console.log("getBiz needCheckBiz=".concat(needCheckBiz, " bizType=").concat(bizType, " res: ").concat(JSON.stringify(res))); if (res && res.err_msg && res.err_msg.indexOf('ok') > -1) { var bizMap = getBizMap(); bizMap[bizType] = res.biz; resolve(res.biz); getBizLS.set("".concat(bizType, "_get_biz_result"), res.biz, +new Date() + 3 * 24 * 60 * 60 * 1000); } else { reject('Failed to get biz'); } }); } }); }); } function getBiz(needCheckBiz, bizType) { var _a; if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } var bizMap = getBizMap(); if (!needCheckBiz && bizMap[bizType] !== undefined) { return Promise.resolve(bizMap[bizType]); } return invokeGetBiz(needCheckBiz, bizType); } mmVersion.isOnlyWechat && mmVersion.isIOS || mmVersion.isOnlyWechat && mmVersion.isAndroid || mmVersion.isUnifiedPcWechat && mmVersion.cpVersion('4.1.10', 1, true, 'unifiedpc'); var getIsAuthor = function getIsAuthor(cb, bizuin, needCheckBiz, bizType) { var _a; if (bizuin === void 0) { bizuin = window.biz; } if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } getBiz(needCheckBiz, bizType).then(function (biz) { cb(biz && biz === bizuin); })["catch"](function () { cb(false); }); }; function parseUrl(url) { var len = url.length; var ques_pos = url.indexOf('?'); var hash_pos = url.indexOf('#'); hash_pos = hash_pos == -1 ? len : hash_pos; ques_pos = ques_pos == -1 ? hash_pos : ques_pos; var host = url.substring(0, ques_pos); var query_str = url.substring(ques_pos + 1, hash_pos); var hash = url.substring(hash_pos + 1); return { host: host, query_str: query_str, hash: hash }; } function join(url, args, noEncode) { var ret = parseUrl(url); var query_str = ret.query_str; var args_arr = []; if (_typeof(args) === 'object') { for (var key in args) { if (args.hasOwnProperty(key)) { args_arr.push("".concat(key, "=").concat(noEncode ? args[key] : encodeURIComponent(args[key]))); } } } else { args_arr.push(noEncode ? args : encodeURIComponent(args)); } if (args_arr.length > 0) { query_str += (query_str !== "" ? "&" : "") + args_arr.join("&"); } return ret.host + (query_str !== "" ? "?".concat(query_str) : "") + (ret.hash !== "" ? "#".concat(ret.hash) : ""); } function addParam(url, param, value, forceReplace) { url = url || location.href; var firstAndPos = url.indexOf("&"); var len = url.length; var reverseUrl = url.replace(/^[\w\d]+:[/\\]+/g, "").split("").reverse(); if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (searchElement, fromIndex) { var k; if (this == null) { throw new TypeError('"this" is null or not defined'); } var O = Object(this); var len = O.length >>> 0; if (len === 0) { return -1; } var n = fromIndex || 0; if (Math.abs(n) === Infinity) { n = 0; } if (n >= len) { return -1; } k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); while (k < len) { if (k in O && O[k] === searchElement) { return k; } k++; } return -1; }; } var lastSlashPos = len - 1 - reverseUrl.indexOf("/"); if (firstAndPos !== -1 && url.indexOf("?") == -1 && firstAndPos > lastSlashPos) { url = url.replace("&", "?"); } var reg = new RegExp("([\\?&]".concat(param, "=)[^&#]*")); if (!url.match(reg)) { var urlInfo = parseUrl(url); var hash = urlInfo.hash ? '#' + urlInfo.hash : ''; url = url.replace(hash, ''); var _pos = url.indexOf("?"); if (_pos == -1) { return "".concat(url, "?").concat(param, "=").concat(value).concat(hash); } if (_pos == url.length - 1) { return "".concat(url + param, "=").concat(value).concat(hash); } return "".concat(url, "&").concat(param, "=").concat(value).concat(hash); } if (forceReplace === true) { return url.replace(reg, "$1".concat(value)); } return url; } function addWxfrom(src, wxfrom) { var offset = window.service_type === 1 ? 10000 : 0; return addParam(src, 'wxfrom', offset + Number(wxfrom), true); } function removeParam(url, param) { var _URL = new URL(url), protocol = _URL.protocol, host = _URL.host, pathname = _URL.pathname, search = _URL.search, hash = _URL.hash; var queryParams = new URLSearchParams(search); queryParams["delete"](param); var newSearch = queryParams.toString(); var newUrl = new URL("".concat(protocol, "//").concat(host).concat(pathname).concat(newSearch ? "?".concat(decodeURIComponent(newSearch)) : "").concat(hash)); return newUrl.toString(); } function getQuery(name, url) { var u = url || window.location.search; var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)")); var r = u.substring(u.indexOf('?') + 1).match(reg); return r !== null ? r[2] : ''; } function encodeBase64(value) { try { return window.btoa(value); } catch (e) { return ''; } } function decodeBase64(value) { try { return window.atob(value); } catch (e) { return ''; } } function joinUrl$1(url) { var obj = {}; if (typeof window.uin !== 'undefined') { obj.uin = window.uin; } if (typeof window.key !== 'undefined') { obj.key = window.key; } if (typeof window.pass_ticket !== 'undefined') { obj.pass_ticket = window.pass_ticket; } if (typeof window.wxtoken !== 'undefined') { obj.wxtoken = window.wxtoken; } if (typeof window.devicetype !== 'undefined') { obj.devicetype = window.devicetype; } if (typeof window.clientversion !== 'undefined') { obj.clientversion = window.clientversion || mmVersion.getInner(); } obj.version = obj.clientversion; if (window.biz) { obj.__biz = window.biz; } if (getQuery('enterid')) { obj.enterid = getQuery('enterid'); } if (typeof window.appmsg_token !== 'undefined') { obj.appmsg_token = window.appmsg_token; } else if (url.indexOf('advertisement_report') > -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = navigator.userAgent.indexOf('TBS/') !== -1 ? '1' : '0'; obj.f = 'json'; return join(url, obj); } function joinUserArticleRole(url, notJoin, cb) { var bizuin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.biz; var needCheckBiz = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; if (notJoin) { cb(url); } else { getIsAuthor(function (isAuthor) { cb(addParam(url, 'user_article_role', isAuthor ? 1 : 0, true)); }, bizuin, needCheckBiz); } } function getA8keyQuery(name, url) { return new Promise(function (resolve) { if (window.__secPageAuthPromise) { window.__secPageAuthPromise.then(function () { resolve(getQuery(name, url)); }); } else { resolve(getQuery(name, url)); } }); } function addHash(url, hash) { var isReplace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (isReplace) { return "".concat(url.split('#')[0]).concat(hash); } return "".concat(url).concat(url.indexOf('#') === -1 ? '#' : '').concat(hash); } function decodeUrl(url) { var _url = url; while (_url.indexOf('&') !== -1) { _url = _url.htmlDecode(); } return _url; } var Url = { parseUrl: parseUrl, join: join, addParam: addParam, addWxfrom: addWxfrom, addHash: addHash, getQuery: getQuery, getA8keyQuery: getA8keyQuery, encodeBase64: encodeBase64, decodeBase64: decodeBase64, joinUrl: joinUrl$1, joinUserArticleRole: joinUserArticleRole, removeParam: removeParam, decodeUrl: decodeUrl }; var _a; var doc; var isAcrossOrigin = false; try { doc = (_a = window.top) === null || _a === void 0 ? void 0 : _a.window.document; } catch (e) { isAcrossOrigin = true; } var StatusTextMap = { 200: 'OK', 302: 'Found', 400: 'Bad Request', 500: 'Internal Server Error' }; function getIsAcrossOrigin() { return isAcrossOrigin; } function networkStartLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "< [request ".concat(item.requestType, "]"), item.url, item.method, item); var rdevRequestId; var requestTime = performance.now() / 1000; if ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) { try { var willBeSentOptions = { url: item.url, method: item.method, requestHeaders: Object.assign({}, item.requestHeader || {}, { RDEV_REQUEST_TYPE: item.requestType }), requestBody: item.postData, requestTime: requestTime }; rdevRequestId = window.RemoteDevSdk.instance.Network.customRequestWillBeSent(willBeSentOptions); } catch (err) {} } if ((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) { try { var vconsoleNetworkItem = (_e = (_d = window.vConsole.network).add) === null || _e === void 0 ? void 0 : _e.call(_d, Object.assign({}, item, { startTime: Date.now(), endTime: Date.now(), status: 0, readyState: 2, response: '' })); vconsoleNetworkItem.rdevRequestId = rdevRequestId; vconsoleNetworkItem.requestTime = requestTime; return vconsoleNetworkItem; } catch (err) {} } if (rdevRequestId) { return Object.assign(Object.assign({}, item), { id: '__only_rdev_log__', rdevRequestId: rdevRequestId, requestTime: requestTime }); } return Object.assign({}, item, { id: '__system_log__' }); } function networkEndLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "> [response ".concat(item.requestType, "]"), item.url, item.response, item); if (item.rdevRequestId && ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) && item.id !== '__system_log__') { try { var finishedOptions = { requestId: item.rdevRequestId, url: item.url, status: +(item.status || '500'), statusText: StatusTextMap[+(item.status || '500')] || 'Error', responseHeaders: { RDEV_RESPONSE_TYPE: item.requestType }, responseBody: item.response, requestTime: item.requestTime || 0, duration: item.costTime || (item.endTime && item.startTime ? item.endTime - item.startTime : performance.now() / 1000 - (item.requestTime || 0)) }; window.RemoteDevSdk.instance.Network.customRequestFinished(finishedOptions); } catch (err) {} } if (((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) && item.id !== '__system_log__') { try { item.statusText = "".concat(item.status); item.responseSize = item.response.length; item.responseSizeText = "".concat(item.response.length); return (_e = (_d = window.vConsole.network).update) === null || _e === void 0 ? void 0 : _e.call(_d, item.id, Object.assign({}, item, { readyState: 4 })); } catch (err) {} } } function reqType(obj, path) { return obj.url.indexOf(path) > -1 && obj.url.indexOf('action=') === -1 && (!obj.data || !obj.data.action); } function findAjaxScopeByConfig(url, config) { var pathname = new URL(url, location.href).pathname || ''; var scope = config[pathname.slice(1)]; if (scope) { return scope; } } function getAjaxScope(ajaxUrl) { if (Url.getQuery('no_transfer', location.href) !== '1' && mmVersion.isWechat && !mmVersion.isInMiniProgram && !mmVersion.isWxWork && !mmVersion.isMpapp && !isAcrossOrigin && window.__ajaxTransferConfig && _typeof(window.__ajaxTransferConfig) === 'object' && ( mmVersion.isIOS && mmVersion.compareHexVersion('1800282F') || mmVersion.isAndroid && mmVersion.compareHexVersion('28002234') || mmVersion.isWindowsWechat && mmVersion.cpVersion('3.9.5', 1, true, 'windows') || mmVersion.isMacWechat && mmVersion.cpVersion('3.8.4', 1, true, 'mac') || mmVersion.isHarmonyWechat && mmVersion.compareHexVersion('0xf3100b00') && !mmVersion.compareHexVersion('0xf3100c00') || mmVersion.compareHexVersion('0xf3800b00'))) { try { return findAjaxScopeByConfig(ajaxUrl, window.__ajaxTransferConfig); } catch (err) { } } } function getActionByData(data) { var _a, _b; if (_typeof(data) === 'object' && !(data instanceof Blob)) { if (data.hasOwnProperty('data') && typeof data.data === 'string') { try { var workedData = JSON.parse(data.data); return workedData.action || ''; } catch (e) {} } return data.action || ''; } if (typeof data === 'string') { return ((_b = (_a = data.split(/[?&]/).find(function (x) { return x.indexOf('action=') >= 0; })) === null || _a === void 0 ? void 0 : _a.split('=')) === null || _b === void 0 ? void 0 : _b[1]) || ''; } return ''; } var METHOD_ENUM = { GET: 0, POST: 1 }; var __moon_report = window.__moon_report || function () {}; var MOON_AJAX_SUCCESS_OFFSET = 3; var MOON_AJAX_NETWORK_OFFSET = 4; var MOON_AJAX_ERROR_OFFSET = 5; var MOON_AJAX_TIMEOUT_OFFSET = 6; var MOON_AJAX_COMPLETE_OFFSET = 7; var LENGTH_LIMIT = 4096; function reportRtError(type, id, key, content) { var log = ''; var prefix = type === 'rt' ? 'rtCheckError' : 'Ajax Length Limit'; if (content === null || content === void 0 ? void 0 : content.length) { var loglen = 1000; var len = content.length; var lc = Math.ceil(len / loglen); log = ["&lc=".concat(lc)]; for (var i = 0; i < lc; ++i) { log.push("&log".concat(i, "=") + "[".concat(prefix, "][").concat(i, "]").concat(encodeURIComponent(content.substring(i * loglen, i * loglen + loglen)))); } log = log.join(''); } var data = "idkey=".concat(id, "_").concat(key, "_1").concat(log, "&r=").concat(Math.random()); var xmlobj = new XMLHttpRequest(); xmlobj.open('POST', "".concat(location.protocol, "//").concat(location.host, "/mp/jsmonitor?"), true); xmlobj.setRequestHeader('cache-control', 'no-cache'); xmlobj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xmlobj.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xmlobj.send(data); if (type === 'ajaxLen') { monitor$1.setLogs({ id: id, key: key, value: 1, log: log }); } } function reportRt(id, key, content) { reportRtError('rt', id, key, content); } function reportAjaxLength(id, key, content) { reportRtError('ajaxLen', id, key, content); } function setXhrHeader(xhr, type, opt) { if (opt.contentType) { xhr.setRequestHeader('Content-Type', opt.contentType); } else if (type === 'POST') { xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); } if (!opt.noXRequestedWidthHeader) { xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); } } function Ajax(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } var ajaxScope = getAjaxScope(obj.url); var type = (obj.type || 'GET').toUpperCase(); var timer; var _url; if (obj.notJoinUrl) { _url = obj.url; } else { _url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(_url, !!obj.notJoinUrl, function (url) { var urlObj = new URL(url, location.origin); if (obj.f === 'html') { url = url.replace('&f=json', ''); } var data = null; if (obj.data instanceof Blob) { data = obj.data; } else if (_typeof(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var beginTs; var beforeReq = function beforeReq() { if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); Log.log('start get appmsgext, url: ', obj.url); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); Log.log('start get appmsgad, url: ', obj.url); } beginTs = Date.now(); }; var beforeResp = function beforeResp(xhr) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgext response, status: ".concat(xhr.status)); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgad response, status: ".concat(xhr.status)); } if (Math.random() < 0.001 && window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { try { var key = ajaxScope ? 'transfer' : 'xhr'; var interval = 250; var time = Date.now() - beginTs; var range = Math.floor(time / interval) * interval; var pathname = new URL(obj.url, location.href).pathname || ''; window.WX_BJ_REPORT.BadJs.report("".concat(key, "_perf:").concat(pathname), JSON.stringify({ status: xhr.status, time: "[".concat(range, "-").concat(range + interval, ")") }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } catch (err) {} } }; var handleRespSucc = function handleRespSucc(xhr, requestType) { var _a, _b, _c, _d; try { var responseText = xhr.responseText; var resp = responseText; if (obj.dataType === 'json') { try { if (JSON && JSON.parse) { resp = JSON.parse(resp); } else { resp = eval("(".concat(resp, ")")); monitor$1.setSum(523105, 127, 1).send(); } var rtId = obj.rtId; var rtKey = obj.rtKey || 0; var rtDesc = obj.rtDesc; if (rtId && rtDesc && RespTypes && !RespTypes.check(resp, rtDesc)) { reportRt(+rtId, +rtKey, "".concat(RespTypes.getMsg(), "[detail]").concat(responseText, ";").concat(obj.url)); } if (resp && resp.base_resp && ((_a = resp.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = url; if (url.indexOf('?') !== -1) { reportUrl = url.substring(0, url.indexOf('?')); if (Url.getQuery('action', url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resp.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resp.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { obj.error && obj.error(xhr, { type: 1, error: e, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 1, HttpCode: xhr.status || 0, Ret: 0 }); } return; } } if (_typeof(resp) === 'object' && ((_b = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _b === void 0 ? void 0 : _b.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 4, HttpCode: xhr.status || 0, Ret: ((_c = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 0, HttpCode: xhr.status || 0, Ret: ((_d = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _d === void 0 ? void 0 : _d.ret) || 0 }); } } obj.success && obj.success(resp); } catch (e) { __moon_report({ offset: MOON_AJAX_SUCCESS_OFFSET, e: e }); throw e; } }; var handleRespErr = function handleRespErr(xhr, error, requestType) { try { obj.error && obj.error(xhr, { type: 2, error: error, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type, RequestType: requestType, RetType: 2, HttpCode: xhr.status, Ret: 0 }); } } catch (e) { __moon_report({ offset: MOON_AJAX_ERROR_OFFSET, e: e }); throw e; } }; var handleRespComplete = function handleRespComplete() { clearTimeout(timer); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; }; var handleReqTimeout = function handleReqTimeout(xhr) { if (typeof obj.timeout !== 'undefined') { timer = setTimeout(function () { xhr.abort(); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; __moon_report({ offset: MOON_AJAX_TIMEOUT_OFFSET, log: "ajax_timeout_error: ".concat(url), e: '' }); }, obj.timeout); } }; var retryXhrFn = function retryXhrFn(res, isTimeout, reqLogItem) { var retryXhr = new XMLHttpRequest(); try { retryXhr._noVConsole = true; } catch (err) {} retryXhr.open(type, url); retryXhr.onreadystatechange = function () { if (isTimeout) return; if (retryXhr.readyState === 3) { obj.received && obj.received(retryXhr); } if (retryXhr.readyState === 4) { beforeResp(retryXhr); var retryStatus = retryXhr.status; if (retryStatus >= 200 && retryStatus < 400) { handleRespSucc(retryXhr, 1); } else { handleRespErr(retryXhr, res, 1); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure', JSON.stringify({ retryXhrStatus: retryStatus, transferRes: res }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryXhr.responseText; handleRespComplete(); networkEndLog(reqLogItem); } }; setXhrHeader(retryXhr, type, obj); retryXhr.send(data); }; if (ajaxScope && !obj.pureHttp) { var header = { 'User-Agent': navigator.userAgent, 'Cookie': (window.__test_env__ ? 'uniproxy_route=1; ' : '') + document.cookie, 'Referer': location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if (type === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } if (!obj.noXRequestedWidthHeader) { header['X-Requested-With'] = 'XMLHttpRequest'; } var reqUrl = new URL(url, location.href).href; var method = METHOD_ENUM[type] || 0; var params = Device.os.pc ? { url: reqUrl, req_json: data || '', scope: ajaxScope, webcgi_method: method, webcgi_header: Object.keys(header).map(function (headerItemKey) { return Device.os.Mac ? _defineProperty({}, headerItemKey, header[headerItemKey]) : { key: headerItemKey, value: header[headerItemKey] }; }), cgi_type: 1 } : { reqUrl: reqUrl, reqBody: data, scope: ajaxScope, method: method, header: header }; var reqLogItem = networkStartLog({ method: type, url: url, postData: obj.data || {}, requestHeader: header, requestType: 'transfer', startTime: Date.now(), responseType: url.indexOf('f=json') > 0 ? 'json' : undefined }); var isTimeout = false; handleReqTimeout({ abort: function abort() { isTimeout = true; reqLogItem.endTime = Date.now(); reqLogItem.response = 'timeout'; networkEndLog(reqLogItem); } }); Device.os.pc && monitor$1.setSum(115849, 69, 1); JSAPI.invoke(Device.os.pc ? 'H5ExtTransfer' : 'webTransfer', params, function (res) { var _a, _b, _c, _d, _e, _f; if (isTimeout) return; var status = 400; var result = ''; if (Device.os.pc) { try { var retFlag = res.base_resp.ret === 0 && res.jsapi_resp.ret === 0 && res.err_msg.indexOf(':ok') > -1; var respJsonFlag = res.jsapi_resp.resp_json; status = retFlag && respJsonFlag ? 200 : 400; result = res.jsapi_resp.resp_json; } catch (err) { console.error(err); } } else { status = res && res.errCode * 1 === 0 && typeof res.result === 'string' && res.result ? 200 : 400; result = res.result; } try { Log.log("ajax transfer, status: ".concat(status, ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (status >= 200 && status < 400) { obj.received && obj.received(null); beforeResp({ status: status }); handleRespSucc({ status: status, responseText: result }, 10); reqLogItem.status = status; reqLogItem.endTime = Date.now(); reqLogItem.response = result; handleRespComplete(); networkEndLog(reqLogItem); } else if (window.__second_open__) { JSAPI.invoke('request', { url: reqUrl, method: type, data: data, header: header }, function (retryRes) { try { Log.log("ajax retry request, retryStatus: ".concat((retryRes === null || retryRes === void 0 ? void 0 : retryRes.statusCode) || '', ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (isTimeout) return; var retryStatus = retryRes.statusCode; obj.received && obj.received(null); beforeResp({ status: retryStatus }); if (retryRes.err_msg.indexOf(':ok') > -1 && retryStatus >= 200 && retryStatus < 400) { handleRespSucc({ status: retryStatus, responseText: retryRes.data }, 20); } else { retryXhrFn(res, isTimeout, reqLogItem); handleRespErr({ status: retryStatus }, res, 20); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure_sec_open', JSON.stringify({ retryReqJsapiRes: retryRes, transferRes: res, url: reqUrl }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryRes.data; handleRespComplete(); networkEndLog(reqLogItem); }); } else { retryXhrFn(res, isTimeout, reqLogItem); } if (Device.os.pc) { if (!res.err_msg.includes(':ok')) { (_b = (_a = window.WX_BJ_REPORT) === null || _a === void 0 ? void 0 : _a.BadJs) === null || _b === void 0 ? void 0 : _b.report("pc transfer res no ok: ".concat(res.err_msg), params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } try { if (res.jsapi_resp.resp_json && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 0 && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 190001 || res.base_resp.ret !== 0 || res.jsapi_resp.ret !== 0) { (_d = (_c = window.WX_BJ_REPORT) === null || _c === void 0 ? void 0 : _c.BadJs) === null || _d === void 0 ? void 0 : _d.report("pc transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } else { try { if (res.errCode !== 0) { (_f = (_e = window.WX_BJ_REPORT) === null || _e === void 0 ? void 0 : _e.BadJs) === null || _f === void 0 ? void 0 : _f.report("mobile transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } }); beforeReq(); return; } var xhr = new XMLHttpRequest(); var mayAbort = !!obj.mayAbort; var async = typeof obj.async === 'undefined' ? true : obj.async; var _onreadystatechange = xhr.onreadystatechange; xhr.open(type, url, async); xhr.onreadystatechange = function () { if (typeof _onreadystatechange === 'function') { _onreadystatechange.apply(xhr); } if (xhr.readyState === 3) { obj.received && obj.received(xhr); } if (xhr.readyState === 4) { beforeResp(xhr); xhr.onreadystatechange = null; var status = xhr.status; if (status >= 200 && status < 400) { handleRespSucc(xhr, 1); } else { handleRespErr(xhr, 'status error', 1); if (!!status || !mayAbort) { var __ajaxtest = window.__ajaxtest || '0'; __moon_report({ offset: MOON_AJAX_NETWORK_OFFSET, log: "ajax_network_error[".concat(status, "][").concat(__ajaxtest, "]: ").concat(url, ";host:").concat(location.host), e: '' }); } } handleRespComplete(); } }; setXhrHeader(xhr, type, obj); handleReqTimeout(xhr); try { xhr.send(data); try { if (url && url.length > LENGTH_LIMIT) { reportAjaxLength(27613, 17, "ajax get limit[length: ".concat(url.length, "]").concat(url.substring(0, 1024))); } if (data && !(data instanceof Blob) && data.length > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.length, "]").concat(data.substring(0, 1024))); } if (data && data instanceof Blob && data.size > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.size, "]blob")); } } catch (e) { } } catch (e) { obj.error && obj.error(xhr, { type: 3, error: e, status: 0 }); } beforeReq(); }); } mmVersion.isWindowsWechat && mmVersion.compareHexVersion('0xf2550000') || mmVersion.isMacWechat && mmVersion.compareHexVersion('0xf2650000'); var getBrandServiceType = function getBrandServiceType() { var serviceType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.service_type; var _a, _b; var brandServiceType = 0; if (serviceType !== undefined) brandServiceType = serviceType + 1; if (((_b = (_a = window.cgiData) === null || _a === void 0 ? void 0 : _a.trans_appmsg_info) === null || _b === void 0 ? void 0 : _b.trans_type) * 1 === 1) brandServiceType = 3; return brandServiceType; }; function setCurrentMpInfo(ifShow) { var supportNewTopBar = mmVersion.isIOS && mmVersion.gtVersion('7.0.10', true) || mmVersion.isAndroid && mmVersion.gtVersion('7.0.12', true); var supportLiveStatus = mmVersion.isIOS && mmVersion.gtVersion('8.0.46', true) || mmVersion.isAndroid && mmVersion.gtVersion('8.0.46', true); JSAPI.invoke('currentMpInfo', { userName: window.user_name, brandName: !!supportNewTopBar && window.nickname === '' ? '未命名账号' : window.title, title: window.msg_title || '', brandIcon: window.hd_head_img.replace(/\/0$/, '/132'), itemShowType: window.item_show_type, isPaySubscribe: window.isPaySubscribe, topBarStyle: supportNewTopBar ? 1 : 0, topBarShowed: ifShow, disableShowFinderLiveTopBar: !ifShow && supportLiveStatus ? 1 : 0, brandServiceType: getBrandServiceType() }, function () {}); } function AjaxWx(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; obj.url += obj.url.indexOf('?') === -1 ? '?fasttmplajax=1' : '&fasttmplajax=1'; if (getAjaxScope(obj.url)) { Ajax(obj); return; } if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } if (!/^(http:\/\/|https:\/\/|\/\/)/.test(obj.url)) { obj.url = "https://mp.weixin.qq.com/".concat(obj.url.replace(/^\//, '')); } else if (/^\/\//.test(obj.url)) { obj.url = "https:".concat(obj.url); } if (obj.f !== 'html' && (obj.url.indexOf('?f=json') === -1 || obj.url.indexOf('&f=json') === -1)) { obj.url += '&f=json'; } if (!obj.notJoinUrl && obj.f !== 'html') { obj.url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(obj.url, !!obj.notJoinUrl, function (url) { obj.url = url; var urlObj = new URL(url, location.origin); var data = null; if (_typeof(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var header = { Cookie: document.cookie, referer: location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if ((obj.type || 'GET').toUpperCase() === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } var reqLogItem = networkStartLog({ method: obj.type || 'GET', url: obj.url, postData: obj.data || {}, requestHeader: header, requestType: 'jsapi', startTime: Date.now() }); var retryTime = 1; var jsapiRequest = function jsapiRequest(obj, data) { return JSAPI.invoke('request', { url: obj.url, method: obj.type, data: data, header: header }, function (res) { var _a, _b, _c, _d, _e, _f; if (res.err_msg.indexOf(':ok') > -1 && (!res.statusCode || res.statusCode >= 200 && res.statusCode < 400)) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(res.statusCode, "|").concat(Date.now()); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(res.statusCode, "|").concat(Date.now()); } if (retryTime === 1) { obj.received && obj.received(null); } var resData = {}; if (res.data) { try { if (obj.dataType === 'json') { resData = JSON.parse(res.data); } else { resData = res.data; } if (resData && resData.base_resp && ((_a = resData.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = obj.url; if (obj.url.indexOf('?') !== -1) { reportUrl = obj.url.substring(0, obj.url.indexOf('?')); if (Url.getQuery('action', obj.url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', obj.url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resData.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resData.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_b = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _b === void 0 ? void 0 : _b.ret) || 0 }); } console.error(e); obj.error && obj.error(null, { type: 1, error: e, status: res.statusCode }); obj.complete && obj.complete(); reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); return; } } var tmpResData = {}; try { tmpResData = JSON.parse(res.data); } catch (e) {} if (tmpResData && tmpResData.base_resp && tmpResData.base_resp.ret === -3 && retryTime < 2 && (mmVersion.isIOS || mmVersion.isAndroid && mmVersion.getInner() > '27000600')) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_c = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } var _retryTime = retryTime++; JSAPI.invoke('updatePageAuth', {}, function (res) { console.log('[skeleton] updatePageAuth', res); monitor$1.setSum(112287, 3, 1); if (res && res.err_msg && res.err_msg.indexOf(':ok') > -1) { window.top.pass_ticket = encodeURIComponent(Url.getQuery('pass_ticket', res.fullUrl).html(false).replace(/\s/g, '+')); if (obj.pass_ticket) { obj.pass_ticket = window.top.pass_ticket; } console.warn('[skeleton] updatePageAuth resetTopbar'); var supportNewTopBar = mmVersion.isIOS && mmVersion.gtVersion('7.0.10', true); var showBottomBar = !!window.is_login; if (window.top.item_show_type === '0' && supportNewTopBar) { var top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop || 0; setCurrentMpInfo(top > 40 && !showBottomBar); } try { obj.url = Url.addParam(obj.url, 'retry', _retryTime, true); } catch (err) { console.error(err); } jsapiRequest(obj, data); monitor$1.setSum(112287, 4, 1); } else { obj.success && obj.success(resData); obj.complete && obj.complete(); if (mmVersion.isIOS) { monitor$1.setSum(112287, 35, 1); } else { monitor$1.setSum(112287, 36, 1); } reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } }); } else { if (((_d = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _d === void 0 ? void 0 : _d.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 4, HttpCode: res.statusCode || 0, Ret: ((_e = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _e === void 0 ? void 0 : _e.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 0, HttpCode: res.statusCode || 0, Ret: ((_f = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _f === void 0 ? void 0 : _f.ret) || 0 }); } } obj.success && obj.success(resData); obj.complete && obj.complete(); reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } } else if (res.err_msg.indexOf('no permission') > -1 || !mmVersion.isOnlyWechat) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: 0 }); } Ajax(obj); if (res.err_msg.indexOf('no permission') > -1) { console.warn('[JSAPI Request] No permission'); monitor$1.setSum(112287, 31, 1); } reqLogItem.status = 302; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 2, HttpCode: res.statusCode || 0, Ret: 0 }); } obj.error && obj.error(null, { type: 3, error: res, status: 0 }); obj.complete && obj.complete(); monitor$1.setSum(112287, 32, 1); var sample = 0.001; if (Math.random() < sample) { var msg = "request: ".concat(JSON.stringify(obj.type), " ").concat(JSON.stringify(obj.url), " ;;;; cookie: ").concat(JSON.stringify(document.cookie), " ;;;; data: ").concat(JSON.stringify(data), " ;;;; resp: ").concat(JSON.stringify(res)); if (window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { window.WX_BJ_REPORT.BadJs.report('ajax_wx_request_error', msg, { mid: 'mmbizwap:Monitor' }); } } reqLogItem.status = 400; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } }); }; if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); } jsapiRequest(obj, data); }); } function _regeneratorRuntime() { _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = isx5 ? '1' : '0'; obj.f = 'json'; return Url.join(url, obj); } function isObj(obj) { return obj && _typeof(obj) === 'object'; } function assign(target, source) { if (isObj(target) && isObj(source)) { for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } } function assembleReportData(initiative) { var leaveReportLog = []; leaveReportLog.push({ content: "[LeaveReport] specificData keys: ".concat(Object.keys(specificData)), timestamp: Date.now() }); Log.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); console.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); var allReportData = {}; for (var reportField in specificData) { if (!allReportData[reportField]) { allReportData[reportField] = {}; } for (var i = 0; i < specificData[reportField].length; i++) { var param = specificData[reportField][i]; if (typeof param === 'function') { try { assign(allReportData[reportField], param(initiative)); } catch (err) { leaveReportLog.push({ content: "[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); console.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); } } else if (isObj(param)) { assign(allReportData[reportField], param); } } } leaveReportLog.push({ content: "[LeaveReport] reportData.length: ".concat(reportData.length), timestamp: Date.now() }); Log.log("[LeaveReport] reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] reportData.length: ".concat(reportData.length)); leaveReportLog.push({ content: "[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length), timestamp: Date.now() }); Log.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); console.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); for (var _i = 0; _i < getDataFunc.length; _i++) { try { var data = getDataFunc[_i](initiative); if (isObj(data)) { reportData.push(data); } } catch (err) { leaveReportLog.push({ content: "[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); console.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); } } for (var _i2 = 0; _i2 < reportData.length; _i2++) { if (reportData[_i2].reportUrl) { reportData[_i2].reportUrl = joinUrl(reportData[_i2].reportUrl); } } allReportData.data = { 'requestList': reportData }; leaveReportLog.push({ content: "[LeaveReport] final reportData.length: ".concat(reportData.length, ", data=").concat(JSON.stringify(reportData)), timestamp: Date.now() }); Log.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); allReportData.info = leaveReportLog; return allReportData; } function addReport(param) { if (typeof param === 'function') { getDataFunc.push(param); } else if (isObj(param)) { reportData.push(param); } } function addSpecificReport(reportField, param) { if (!specificData[reportField]) { specificData[reportField] = []; } specificData[reportField].push(param); } function reportNow(callback) { var allReportData = assembleReportData(true); JSAPI.invoke('handleMPPageAction', { action: 'reportByLeaveForMPGateway', reportData: allReportData }, function (res) { if (res && res.err_msg && res.err_msg.indexOf(':ok') !== -1) { getDataFunc = []; reportData = []; specificData = {}; typeof callback === 'function' && callback(res); } else { getDataFunc = []; reportData = []; var len = allReportData.data.requestList.length; allReportData.data.requestList.forEach(function (req) { if (req.reportUrl) { AjaxRouter({ type: req.method || 'GET', url: req.reportUrl, data: req.reportData, async: false, success: function success(resp) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:ok', fallback: true, resp: resp }); } }, error: function error(xhr, err) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:fail', fallback: true, err: err }); } } }); } }); } }); } var leaveReport = { reportNow: reportNow, addReport: addReport, addSpecificReport: addSpecificReport }; var _leaveReport = (function () { var doc = {}; var isCrossOrigin = false; try { doc = top.window.document; } catch (e) { isCrossOrigin = true; } if (!isCrossOrigin && top.window.__leaveReport) { return top.window.__leaveReport; } if (window.__leaveReport) { return window.__leaveReport; } JSAPI.on('reportOnLeaveForMP', function () { return assembleReportData(false); }); return window.__leaveReport = leaveReport; })(); var batchReportDataArr = []; var getRepeatedReportJson = function getRepeatedReportJson() { if (!batchReportDataArr || !batchReportDataArr.length) return false; var reportData = { count: 0 }; reportData.count = batchReportDataArr.length; batchReportDataArr.forEach(function (data, index) { reportData["reportjson".concat(index)] = data; }); batchReportDataArr = []; console.log('[reportData]: ', reportData); return reportData; }; _leaveReport.addReport(function () { var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return false; var reportData = []; for (var _i = 0, _Object$entries = Object.entries(repeatedReportJson); _i < _Object$entries.length; _i++) { var _Object_i = _slicedToArray(_Object$entries[_i], 2), key = _Object_i[0], value = _Object_i[1]; reportData.push("".concat(key, "=").concat(encodeURIComponent(value))); } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport?action=batch_report', reportData: reportData.join('&'), method: 'POST' }; }); var isIOS = mmVersion.isIOS, isAndroid = mmVersion.isAndroid, isHarmonyWechat = mmVersion.isHarmonyWechat, compareHexVersion = mmVersion.compareHexVersion; var formatReadNum = function formatReadNum(value) { if (window.LANG === 'en') { return i18n.dealLikeReadShow_en(value); } var result = ''; if (parseInt(value, 10) > 100000) { result = '10万+'; } else if (parseInt(value, 10) > 10000 && parseInt(value, 10) 100000) { dom.innerText = "".concat(formatReadNum(cnt), ""); dom.setAttribute('aria-labelledby', 'js_ting_heard js_a11y_op_ting_heard'); } else if (cnt > 0) { dom.innerText = "".concat(formatReadNum(cnt), "人"); dom.setAttribute('aria-labelledby', 'js_ting_heard js_a11y_op_ting_heard'); } else { dom.innerText = "听全文"; dom.setAttribute('aria-labelledby', 'js_ting_heard'); } dom.style.removeProperty('display'); window.__hasClickedAudioPanelHandler = function () { window.__hasClickedAudioPanel = true; }; dom.addEventListener('click', window.__hasClickedAudioPanelHandler); } else { dom.parentNode.removeChild(dom); } }; if (!window.__second_open__) { var tempkey = window.tempkey || ''; var tingHeardDom = document.querySelector('#js_ting_heard'); document.querySelector('#js_a11y_op_ting_heard'); var tingIsShow = (window.tts_is_show || '') && !(window.noneed_tts || '' === '1'); var tingHeardCnt = window.tts_heard_person_cnt || ''; console.log('tingIsShow, tingHeardCnt', tingIsShow, tingHeardCnt); !!(tingIsShow * 1) && __setTingHeard(document.querySelector('#js_content'), tingHeardDom, tingHeardCnt * 1, !!tempkey); window.__setTingHeard = __setTingHeard; } return __setTingHeard; })();var __INLINE_SCRIPT__ = (function (exports) { 'use strict'; function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _regeneratorRuntime$1() { _regeneratorRuntime$1 = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc 1) { return false; } top.window.WeixinJSBridge.on(eventName, function () { try { for (var _len = arguments.length, rets = new Array(_len), _key = 0; _key < _len; _key++) { rets[_key] = arguments[_key]; } var ret = rets[0]; var errMsg = ret && ret.err_msg ? ", err_msg-> ".concat(ret.err_msg) : ''; console.info('[system]', "[jsapi] event->".concat(eventName).concat(errMsg)); if (window.JSAPIEventCallbackMap[eventName] && window.JSAPIEventCallbackMap[eventName].length) { var result; for (var i = 0; i < window.JSAPIEventCallbackMap[eventName].length; i++) { result = window.JSAPIEventCallbackMap[eventName][i].apply(window, rets); } return result; } } catch (e) { __moon_report$1([{ offset: MOON_JSAPI_KEY_OFFSET, log: "on;eventName:".concat(eventName), e: e }]); throw e; } }); }); } function remove(eventName, callback) { ready(function () { if (!window.JSAPIEventCallbackMap[eventName]) { return false; } var result = false; for (var i = window.JSAPIEventCallbackMap[eventName].length - 1; i >= 0; i--) { if (window.JSAPIEventCallbackMap[eventName][i] === callback) { window.JSAPIEventCallbackMap[eventName].splice(i, 1); result = true; } } return result; }); } var JSAPI = { ready: ready, invoke: invoke$1, call: call, on: on, remove: remove }; function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } var ua = navigator.userAgent; var is_ios = /(iPhone|iPad|iPod|iOS)/i.test(ua); var is_wp = /Windows\sPhone/i.test(ua); var is_android = /(Android)/i.test(ua); var is_wechat = /MicroMessenger\/([\d\.]+)/i.test(ua); var is_mac = /mac\sos/i.test(ua) && !is_ios; var is_windows = /windows\snt/i.test(ua) && !is_wp; var is_mpapp = /MPAPP\/([\d\.]+)/i.test(ua); var is_ipad = /iPad/i.test(ua); var is_windows_wechat = /WindowsWechat/i.test(ua); var is_mac_wechat = /MacWechat/i.test(ua) || /wechat.*mac os/i.test(ua); var is_prefetch = is_wechat && window.WeixinPrefecherJSBridge; var is_donut_app = /SAAASDK/i.test(ua); var is_harmony = /OpenHarmony|ArkWeb/i.test(ua); var is_linux = /Linux\s/i.test(ua); var xweb_match = ua.match(/XWEB\/([\d.]+)/i); var xweb_version = xweb_match && xweb_match[1] ? parseInt(xweb_match[1], 10) : 0; var is_unified_pc_wechat = /UnifiedPC\w+Wechat/i.test(ua); var is_in_miniProgram = is_android && /miniprogram/.test(ua.toLowerCase()) || window.__wxjs_environment == 'miniprogram'; var is_wx_work = /wxwork/i.test(ua); function getUrlParams() { var vars = location.search.substring(1).split('&'); var params = {}; var _iterator = _createForOfIteratorHelper(vars), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var ele = _step.value; var pair = ele.split('='); var key = decodeURIComponent(pair[0]); if (typeof params[key] === 'undefined') { params[key] = decodeURIComponent(pair[1]); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return params; } function get() { var reg = /MicroMessenger\/([\d\.]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMac() { var reg = /MacWechat\/([\d\.]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMacOS() { var reg = /Mac OS X ([\d_]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1].replace(/_/g, '.'); } return false; } function getWindows() { var reg = /WindowsWechat\(0x(.+?)\)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getWxWork() { var reg = /wxwork\/([\d\.]+)/i; var ret = ua.match(reg); if (ret && ret[1]) { return ret[1]; } return false; } function getMpApp() { var appVersion = [2, 4, 5]; var match = navigator.userAgent.match(/MPAPP\/(\d+(\.\d+)*)/); if (match) { appVersion = match[1].split('.').map(function (v) { return Number(v); }); } return appVersion.join('.'); } function getUnifiedPcVer() { var versionInfo = navigator.userAgent.match(/UnifiedPC\w+Wechat\(0xf\w{2}(\w+?)\w{2}\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(0, 1)); var subVersion = getVersionNumber(version.slice(1, 2)); var subVersion2 = getVersionNumber(version.slice(2, 3)); return [mainVersion, subVersion, subVersion2].join('.'); } } function getVersionNumber(hexStr) { return Number(Number("0x".concat(hexStr)).toString(10)); } function getWindowsVersionFormat() { var versionInfo = navigator.userAgent.match(/WindowsWechat\(0x(\w+?)\)/); if (versionInfo && versionInfo.length === 2) { var version = versionInfo[1]; var mainVersion = getVersionNumber(version.slice(1, 2)); var subVersion = getVersionNumber(version.slice(2, 4)); var subVersion2 = getVersionNumber(version.slice(4, 6)); return [mainVersion, subVersion, subVersion2].join('.'); } return false; } function getInner() { var reg = /MicroMessenger\/[\d\.]+\(0x(.+?)\)/i; var ret = ua.match(reg); if (ret && ret[1] && ret[1] != null) { return ret[1]; } if (!ret && /MicroMessenger\/[\d\.]+/i.test(ua)) { var urlParams = getUrlParams(); if (urlParams.version) { return urlParams.version; } } return false; } var opfunc = { 'cp-1': function cp1(a, b) { return a < b; }, cp0: function cp0(a, b) { return a === b; }, cp1: function cp1(a, b) { return a > b; } }; function cpVersion(ver, op, canEq, type) { var mmver = false; switch (type) { case 'mac': mmver = getMac(); break; case 'windows': mmver = getWindowsVersionFormat(); break; case 'wxwork': mmver = getWxWork(); break; case 'mpapp': mmver = getMpApp(); break; case 'unifiedpc': mmver = getUnifiedPcVer(); break; default: mmver = get(); break; } if (!mmver) { return; } var mmversion = mmver.split('.'); var version = ver.split('.'); if (!/\d+/g.test(mmversion[mmversion.length - 1])) { mmversion.pop(); } for (var i = 0, len = Math.max(mmversion.length, version.length); i < len; ++i) { var mmv = mmversion[i] || ''; var v = version[i] || ''; var mmvn = parseInt(mmv, 10) || 0; var vn = parseInt(v, 10) || 0; var eq = opfunc.cp0(mmvn, vn); if (eq) { continue; } var cp = opfunc["cp".concat(op)]; return cp(mmvn, vn); } return canEq || op === 0; } function eqVersion(version) { return cpVersion(version, 0); } function gtVersion(version, canEq) { return cpVersion(version, 1, canEq); } function ltVersion(version, canEq) { return cpVersion(version, -1, canEq); } function getPlatform() { if (is_ios) { return 'ios'; } if (is_android) { return 'android'; } if (is_mac) { return 'mac_os'; } if (is_windows) { return 'windows'; } return 'unknown'; } var is_google_play = false; var inner_ver_for_google_play_check = getInner(); if (is_android && inner_ver_for_google_play_check) { var v = "0x".concat(inner_ver_for_google_play_check.substr(-2)); if (parseInt(v) >= 64 && parseInt(v) = hexNum; } return false; } var mmVersion = { get: get, getMac: getMac, getMacOS: getMacOS, getWindows: getWindows, getInner: getInner, getWxWork: getWxWork, getMpApp: getMpApp, cpVersion: cpVersion, eqVersion: eqVersion, gtVersion: gtVersion, ltVersion: ltVersion, getPlatform: getPlatform, getVersionNumber: getVersionNumber, isWp: is_wp, isIOS: is_ios, isAndroid: is_android, isHarmony: is_harmony, isHarmonyWechat: is_harmony && is_wechat && cpVersion('1.0.0', 1, true), isInMiniProgram: is_in_miniProgram, isWechat: is_wechat, isMac: is_mac, isWindows: is_windows, isLinux: is_linux, isMacWechat: is_mac_wechat, isWindowsWechat: is_windows_wechat, isWxWork: is_wx_work, isOnlyWechat: is_wechat && !is_wx_work, isMpapp: is_mpapp, isIPad: is_ipad, isGooglePlay: is_google_play, isPrefetch: is_prefetch, isDonutAPP: is_donut_app, compareHexVersion: compareHexVersion, isPcWechat: is_windows_wechat || is_mac_wechat, xwebVersion: xweb_version, isUnifiedPcWechat: is_unified_pc_wechat }; function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var Device = {}; function detect(ua) { var MQQBrowser = ua.match(/MQQBrowser\/(\d+\.\d+)/i); var MQQClient = ua.match(/QQ\/(\d+\.(\d+)\.(\d+)\.(\d+))/i) || ua.match(/V1_AND_SQ_([\d\.]+)/); var WeChat = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/) || ua.match(/MicroMessenger\/((\d+)\.(\d+))/); var MacOS = ua.match(/Mac\sOS\sX\s(\d+[\.|_]\d+)/); var WinOS = ua.match(/Windows(\s+\w+)?\s+?(\d+\.\d+)/); var Linux = ua.match(/Linux\s/); var MiuiBrowser = ua.match(/MiuiBrowser\/(\d+\.\d+)/i); var M1 = ua.match(/MI-ONE/); var MIPAD = ua.match(/MI PAD/); var UC = ua.match(/UCBrowser\/(\d+\.\d+(\.\d+\.\d+)?)/) || ua.match(/\sUC\s/); var IEMobile = ua.match(/IEMobile(\/|\s+)(\d+\.\d+)/) || ua.match(/WPDesktop/); var ipod = ua.match(/(ipod).*\s([\d_]+)/i); var ipad = ua.match(/(ipad).*\s([\d_]+)/i); var iphone = ua.match(/(iphone)\sos\s([\d_]+)/i); var Chrome = ua.match(/Chrome\/(\d+\.\d+)/); var AndriodBrowser = ua.match(/Mozilla.*Linux.*Android.*AppleWebKit.*Mobile Safari/); var android = ua.match(/(android)\s([\d\.]+)/i); var harmony = ua.match(/(OpenHarmony)\s([\d\.]+)/i); Device.browser = Device.browser || {}, Device.os = Device.os || {}; Device.os.type = -1; Device.os.unifiedPC = ua.match(/UnifiedPC/); Device.os.unifiedMac = /UnifiedPCMac/i.test(ua); Device.os.unifiedWindows = /UnifiedPCWindows/i.test(ua); if (window.ActiveXObject) { var vie = 6; (window.XMLHttpRequest || ua.indexOf('MSIE 7.0') > -1) && (vie = 7); (window.XDomainRequest || ua.indexOf('Trident/4.0') > -1) && (vie = 8); ua.indexOf('Trident/5.0') > -1 && (vie = 9); ua.indexOf('Trident/6.0') > -1 && (vie = 10); Device.browser.ie = true, Device.browser.version = vie; } else if (ua.indexOf('Trident/7.0') > -1) { Device.browser.ie = true, Device.browser.version = 11; } if (android) { Device.os.android = true; Device.os.version = android[2]; Device.os.type = 2; } if (harmony) { Device.os.harmony = true; Device.os.version = harmony[2]; Device.os.type = 42; } if (ipod) { Device.os.ios = Device.os.ipod = true; Device.os.version = ipod[2].replace(/_/g, '.'); } if (ipad) { Device.os.ios = Device.os.ipad = true; Device.os.version = ipad[2].replace(/_/g, '.'); Device.os.type = 13; } if (iphone) { Device.os.iphone = Device.os.ios = true; Device.os.version = iphone[2].replace(/_/g, '.'); Device.os.type = 1; } if (WinOS) Device.os.windows = true, Device.os.version = WinOS[2], Device.os.type = 15; if (MacOS) Device.os.Mac = true, Device.os.version = MacOS[1], Device.os.type = 14; if (Linux) Device.os.Linux = true, Device.os.type = 33; if (ua.indexOf('lepad_hls') > 0) Device.os.LePad = true; if (MIPAD) Device.os.MIPAD = true; if (MQQBrowser) Device.browser.MQQ = true, Device.browser.version = MQQBrowser[1]; if (MQQClient) Device.browser.MQQClient = true, Device.browser.version = MQQClient[1]; if (WeChat) Device.browser.WeChat = true, Device.browser.mmversion = Device.browser.version = WeChat[1]; if (MiuiBrowser) Device.browser.MIUI = true, Device.browser.version = MiuiBrowser[1]; if (UC) Device.browser.UC = true, Device.browser.version = UC[1] || NaN; if (IEMobile) Device.browser.IEMobile = true, Device.browser.version = IEMobile[2]; if (AndriodBrowser) { Device.browser.AndriodBrowser = true; } if (M1) { Device.browser.M1 = true; } if (Chrome) { Device.browser.Chrome = true, Device.browser.version = Chrome[1]; } if (Device.os.windows) { if (typeof navigator.platform !== "undefined" && navigator.platform.toLowerCase() == "win64") { Device.os.win64 = true; } else { Device.os.win64 = false; } } if (Device.os.Mac || Device.os.windows || Device.os.Linux || Device.os.unifiedPC || /OpenHarmony/i.test(ua) && /pc/i.test(ua)) { Device.os.pc = true; } var osType = { iPad7: 'iPad; CPU OS 7', LePad: 'lepad_hls', XiaoMi: 'MI-ONE', SonyDTV: "SonyDTV", SamSung: 'SAMSUNG', HTC: 'HTC', VIVO: 'vivo' }; for (var os in osType) { Device.os[os] = ua.indexOf(osType[os]) !== -1; } Device.os.phone = Device.os.phone || /windows phone/i.test(ua); Device.os.getNumVersion = function () { return parseFloat(Device.os.version); }; Device.os.hasTouch = 'ontouchstart' in window; if (Device.os.hasTouch && Device.os.ios && Device.os.getNumVersion() < 6) { Device.os.hasTouch = false; } if (Device.browser.WeChat && Device.browser.version < 5.0) { Device.os.hasTouch = false; } Device.browser.getNumVersion = function () { return parseFloat(Device.browser.version); }; Device.browser.isFFCanOcx = function () { return !!Device.browser.firefox && Device.browser.getNumVersion() >= 3.0; }; Device.browser.isCanOcx = function () { return !!Device.os.windows && (!!Device.browser.ie || Device.browser.isFFCanOcx() || !!Device.browser.webkit); }; Device.browser.isNotIESupport = function () { return !!Device.os.windows && (!!Device.browser.webkit || Device.browser.isFFCanOcx()); }; Device.userAgent = {}; Device.userAgent.browserVersion = Device.browser.version; Device.userAgent.osVersion = Device.os.version; if (Device.os.unifiedPC) { if (Device.os.unifiedWindows) Device.os.type = 37;else if (Device.os.unifiedMac) Device.os.type = 38;else Device.os.type = 39; } delete Device.userAgent.version; } detect(window.navigator.userAgent); function canSupportH5Video() { var ua = window.navigator.userAgent, m = null; if (!!Device.os.android) { if (Device.browser.MQQ && Device.browser.getNumVersion() >= 4.2) { return true; } if (ua.indexOf('MI2') != -1) { return true; } if (Device.os.version >= '4' && (m = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/))) { if (parseFloat(m[1]) >= 4.2) { return true; } } if (Device.os.version >= '4.1') { return true; } } return false; } function canSupportVideoMp4() { var video = document.createElement('video'); if (typeof video.canPlayType === 'function') { if (video.canPlayType('video/mp4; codecs="mp4v.20.8"') === 'probably') { return true; } if (video.canPlayType('video/mp4; codecs="avc1.42E01E"') === 'probably' || video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"') === 'probably') { return true; } } return false; } function canSupportAutoPlay() { if (Device.os.ios && Device.os.getNumVersion() < 10) { return false; } return true; } function isLockdownMode() { if (!Device.os.ios || Device.os.getNumVersion() < 16) { return false; } if (typeof WebAssembly === 'undefined' && typeof OfflineAudioContext === 'undefined' && typeof WebGLRenderingContext === 'undefined') { return true; } return false; } Device.canSupportVideo = canSupportVideoMp4 || canSupportH5Video; Device.canSupportVideoMp4 = canSupportVideoMp4; Device.canSupportH5Video = canSupportH5Video; Device.canSupportAutoPlay = canSupportAutoPlay; Device.isLockdownMode = isLockdownMode; Device.cpVersion = function (version) { var cp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var canEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var nowVersionStr = Device.os.version; if (!nowVersionStr) return false; var versionArr = version.split('.'); var nowVersionArr = nowVersionStr.split('.'); for (var i = 0; i < Math.max(nowVersionArr.length, versionArr.length); i++) { var vi = +versionArr[i]; var nvi = +nowVersionArr[i]; if (vi === nvi) continue; if (cp > 0) return vi > nvi; if (cp < 0) return vi < nvi; } return canEqual || cp === 0; }; var initJsBridge = false; if (!window.JSAPIEventCallbackMap) { window.JSAPIEventCallbackMap = {}; } function connectWebViewJavascriptBridge(callback) { if (window.WebViewMPapp || window.WebViewJavascriptBridge) { return callback(window.WebViewMPapp || window.WebViewJavascriptBridge); } if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); } window.WVJBCallbacks = [callback]; if (!mmVersion.isMpapp) { return false; } if (!initJsBridge) { initJsBridge = true; var WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'https://__bridge_loaded__'; document.body.appendChild(WVJBIframe); setTimeout(function () { initJsBridge = false; document.body.removeChild(WVJBIframe); }, 0); } return false; } function invoke(jsapiName, opt, callback) { connectWebViewJavascriptBridge(function (bridge) { try { if (typeof opt === 'function') { callback = opt; } if (_typeof(opt) !== 'object' && typeof opt !== 'string') { opt = {}; } bridge.callHandler(jsapiName, opt, function (res) { try { var ret = _typeof(res) === 'object' ? res : JSON.parse(res); var errMsg = ret.err_msg || ret.errMsg; console.info("[mpapp jsapi] invoke->".concat(jsapiName, " ").concat(opt.action || '', " ").concat(errMsg)); typeof callback === 'function' && callback(ret); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', "callback ".concat(jsapiName, " error:"), { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error("[mpapp jsapi] ".concat(jsapiName, " ").concat(opt.action || ''), e, res); } }); } catch (e) { window.WX_BJ_REPORT.BadJs.report('invoke', 'callback error:', { mid: 'mmbizwebapp:js_brridge', _info: e }); console.error('[mpapp jsapi]', e); } }); } function _log(level, msg) { if (level === 'log') { level = 'info'; msg = "[WechatFe]".concat(msg); } else { var prefix = "__wap__".concat(window.__second_open__ ? ' (sec)' : ''); msg = "".concat(prefix, " ").concat(msg, " location:[").concat(location.href, "]"); } msg += new Error().stack; if (mmVersion.isMpapp) { invoke('WNNativeCallbackLog', msg); } else if (mmVersion.isWechat) { if (mmVersion.isAndroid) { console.warn('[system]', "[MicroMsg.JsApiLog][".concat(level, "] jslog : ").concat(msg)); } else if (mmVersion.isIOS) { JSAPI.invoke('writeLog', { level: level, msg: msg }); } else { JSAPI.invoke('log', { level: level, msg: msg }); } } } var Log = { info: function info() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _log('info', args.join(' ')); }, warn: function warn() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } _log('warn', args.join(' ')); }, error: function error() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } _log('error', args.join(' ')); }, debug: function debug() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } _log('debug', args.join(' ')); }, log: function log() { for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5]; } _log('info', args.join(' ')); } }; var reportLogs = []; var reportExtraLogs = []; var sendUrl = '/mp/jsmonitor?#wechat_redirect'; var monitor = {}; monitor._reportOptions = { idkey: {} }; function ObjWithoutProperty(source, exclude) { if (source === null) return {}; var target = {}; var sourceKeys = Object.keys(source); for (var i = 0; i < sourceKeys.length; i++) { var key = sourceKeys[i]; if (exclude.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function formatDataToString(data) { var reportData = []; for (var key in data) { if (Object.prototype.hasOwnProperty.call(data, key)) { reportData.push(key + '=' + encodeURIComponent(data[key])); } } return reportData.join('&'); } monitor.getReportData = function (opt) { opt = opt || {}; var idkey = monitor._reportOptions.idkey || {}; var key = null; var reportData = {}; var nextKey; try { for (key in idkey) { if (Object.prototype.hasOwnProperty.call(idkey, key) && idkey[key]) { reportLogs.push(key + '_' + idkey[key]); } } } catch (e) { return false; } if (reportLogs.length === 0) { return false; } if (reportExtraLogs.length) { reportData.lc = reportExtraLogs.length; reportExtraLogs.forEach(function (extraLog, index) { reportData["log".concat(index)] = extraLog; }); } try { var reportOptions = monitor._reportOptions; if (reportOptions !== null && reportOptions !== undefined) { for (nextKey in reportOptions) { if (Object.prototype.hasOwnProperty.call(reportOptions, nextKey)) { reportData[nextKey] = reportOptions[nextKey]; } } } } catch (e) { reportData = {}; } reportData.idkey = reportLogs.join(';'); reportData.t = Math.random(); if (opt.remove !== false) { reportLogs = []; reportExtraLogs = []; monitor._reportOptions = { idkey: {} }; } return reportData; }; monitor.setLogs = function (opt) { var id = opt.id; var key = opt.key; var value = opt.value; var extraLog = opt.log; var others = ObjWithoutProperty(opt, ['id', 'key', 'value', 'log']); var idkey = monitor._reportOptions.idkey || {}; var param = id + '_' + key; if (idkey[param]) { idkey[param] += value; } else { idkey[param] = value; } monitor._reportOptions.idkey = idkey; if (extraLog) { reportExtraLogs.push(extraLog); } try { if (others !== null && others !== undefined) { for (var otherKey in others) { if (Object.prototype.hasOwnProperty.call(others, otherKey)) { monitor._reportOptions[otherKey] = others[otherKey]; } } } } catch (e) { console.log(e); } return monitor; }; monitor.setAvg = function (id, key, value) { var idkey = monitor._reportOptions.idkey || {}; var param1 = id + '_' + key; var param2 = id + '_' + (key - 1); if (idkey[param1]) { idkey[param1] += value; } else { idkey[param1] = value; } if (idkey[param2]) { idkey[param2] += 1; } else { idkey[param2] = 1; } monitor._reportOptions.idkey = idkey; return monitor; }; monitor.setSum = function (id, key) { var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; var idkey = monitor._reportOptions.idkey; var param = id + '_' + key; if (idkey[param]) { idkey[param] += value; } else { idkey[param] = value; } monitor._reportOptions.idkey = idkey; return monitor; }; monitor.send = function (async, ajax, origin) { if (async !== false) { async = true; } var data = monitor.getReportData(); origin = origin || ''; if (!data) { return; } if (!!ajax && ajax instanceof Function) { ajax({ url: origin + sendUrl, type: 'POST', mayAbort: true, data: data, async: async, timeout: 2000, dontReport: true }); } else { new Image().src = origin + '/mp/jsmonitor?' + formatDataToString(data) + '#wechat_redirect'; } }; if (typeof window !== 'undefined' && window.__monitor) { monitor = window.__monitor; } else { typeof window !== 'undefined' && (window.__monitor = monitor); } var monitor$1 = monitor; var logList = []; var log = function log(msg) { logList.push(msg); }; var printLog = function printLog() { for (var i = 0, len = logList.length; i < len; ++i) { console.log("[RespType]".concat(logList[i])); } }; var isArray = function isArray(val) { return Object.prototype.toString.call(val) === '[object Array]'; }; var getValueType = function getValueType(value) { if (isArray(value)) { return 'array'; } return _typeof(value); }; var parseRtDesc = function parseRtDesc(rtDesc, k) { var type = 'mix'; var isRequired = false; var key = k; if (k) { var requireKeyWord = '_R'; var pos = k.indexOf(requireKeyWord); var len = k.length - requireKeyWord.length; isRequired = pos !== -1 && pos === len; key = isRequired ? k.substring(0, len) : k; } if (typeof rtDesc === 'string') { type = rtDesc; } else if (isArray(rtDesc)) { type = 'array'; } else if (_typeof(rtDesc) === 'object') { type = 'object'; } return { key: key, type: type, isRequired: isRequired }; }; var checkForArrayRtDesc = function checkForArrayRtDesc(arr, rtDescs) { if (!isArray(arr)) { return false; } for (var i = 0, len = arr.length; i < len; ++i) { var value = arr[i]; var rtDesc = void 0; var j = 0; var flag = rtDescs.length === 0; while (rtDesc = rtDescs[j++]) { if (checkForRtDesc(value, rtDesc)) { flag = true; break; } } if (!flag) { return false; } } return true; }; var checkForStringRtDesc = function checkForStringRtDesc(value, rtDesc) { var valueType = getValueType(value); var desc = parseRtDesc(rtDesc); var ret = desc.type === valueType; if (!ret) { log("miss match type : ".concat(valueType, " !== ").concat(desc.type)); } return ret; }; var checkForObjectRtDesc = function checkForObjectRtDesc(json, rtDesc) { if (_typeof(json) !== 'object' || isArray(json)) { log('must be object'); return false; } var rootJson = json; var nowCheckValue = json; for (var k in rtDesc) { if (rtDesc.hasOwnProperty(k)) { var nowCheckDesc = rtDesc[k]; var desc = parseRtDesc(nowCheckDesc, k); var key = desc.key; nowCheckValue = rootJson[key]; var valueType = getValueType(nowCheckValue); if (desc.isRequired && nowCheckValue === undefined) { log("is required @key=".concat(key)); return false; } if (nowCheckValue !== undefined) { if (valueType !== desc.type && desc.type !== 'mix') { log("miss match type : ".concat(valueType, " !== ").concat(desc.type, " @key=").concat(key)); return false; } if ((valueType === 'array' || valueType === 'object') && desc.type !== 'mix') { if (!checkForRtDesc(nowCheckValue, nowCheckDesc)) { return false; } } } } } return true; }; var checkForRtDesc = function checkForRtDesc(json, rtDesc) { if (isArray(rtDesc)) { return checkForArrayRtDesc(json, rtDesc); } if (_typeof(rtDesc) === 'object') { return checkForObjectRtDesc(json, rtDesc); } if (typeof rtDesc === 'string') { return checkForStringRtDesc(json, rtDesc); } return false; }; var _check = function check(json, rtDescs) { if (typeof json === 'string') { try { json = eval("(".concat(json, ")")); } catch (e) { log('parse json error'); return false; } } if (_typeof(json) !== 'object') { log('must be object'); return false; } if (!isArray(rtDescs)) { rtDescs = [rtDescs]; } var rtDesc; var i = 0; while (rtDesc = rtDescs[i++]) { if (checkForRtDesc(json, rtDesc)) { return true; } } return false; }; var RespTypes = { check: function check(json, rtDesc) { logList = []; try { var ret = _check(json, rtDesc); if (!ret) { printLog(); } return ret; } catch (e) { logList.push("[rtException]".concat(e.toString())); printLog(); return false; } }, getMsg: function getMsg() { return logList.join(';'); } }; function getInflightMap() { if (!window.__dedupe_promise_inflight__) { window.__dedupe_promise_inflight__ = new Map(); } return window.__dedupe_promise_inflight__; } function dedupePromise(key, factory) { var inflightMap = getInflightMap(); var existing = inflightMap.get(key); console.log("dedupePromise key=".concat(key, " existing=").concat(existing)); if (existing) { return existing; } var promise = Promise.resolve().then(factory)["finally"](function () { inflightMap["delete"](key); }); inflightMap.set(key, promise); return promise; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var prefix = '__WXLS__'; var localStorage$1 = window.localStorage || { getItem: function getItem() {}, setItem: function setItem() {}, removeItem: function removeItem() {}, key: function key() {}, clear: function clear() { var _a, _b; (_b = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a); }, length: 0 }; var evictionPolicies = { noeviction: function noeviction(data) { return data; }, 'allkeys-random': function allkeysRandom(data, size) { var keys = Object.keys(data); var memCnt = 0; while (memCnt < size) { var len = keys.length; var randomKeyIdx = Math.floor(Math.random() * len); var randomKey = keys[randomKeyIdx]; memCnt += JSON.stringify(data[randomKey]).length; delete data[randomKey]; keys = Object.keys(data); } return data; }, 'volatile-ttl': function volatileTtl(data, size) { var keys = Object.keys(data); keys = keys.sort(function (key1, key2) { var d1 = data[key1]; var d2 = data[key2]; if (d1.exp < d2.exp) return -1; if (d1.exp > d2.exp) return 1; return 0; }); var memCnt = 0; for (var i = 0; i < keys.length; i++) { if (memCnt >= size) break; var key = keys[i]; memCnt += JSON.stringify(data[key]).length; delete data[key]; } return data; }, 'clear-all': function clearAll() { localStorage$1.clear(); return {}; } }; function formatLogMsg(str) { return "[WXLS] ".concat(str); } var LS = function () { function LS(func, evictionPolicy, logger) { _classCallCheck(this, LS); this.logger = function () {}; if (!func) throw 'require function name.'; this.evictionPolicy = 'noeviction'; this.key = func; if (typeof logger === 'function') { this.logger = function (str, type) { return logger(formatLogMsg(str), type); }; } if (evictionPolicy && Object.keys(evictionPolicies).indexOf(evictionPolicy) !== -1) { this.evictionPolicy = evictionPolicy; } this.init(); } _createClass(LS, [{ key: "init", value: function init() { var _a, _b; this.check(); if (Math.random() * 1000 < 1) { (_a = this.logger) === null || _a === void 0 ? void 0 : _a.call(this, "LSlen: ".concat(((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length) || localStorage$1.length), 'report'); } } }, { key: "getData", value: function getData() { var data = LS.getItem(this.key) || '{}'; try { data = JSON.parse(data); } catch (e) { this.logger("getData error: ".concat(e), 'error'); localStorage$1.removeItem(prefix + this.key); data = {}; } return data; } }, { key: "check", value: function check(isReturn) { var data = this.getData(); var temp = {}; var now = +new Date(); var key; var val; for (key in data) { val = data[key]; if (+val.exp > now) { temp[key] = val; } } this.logger("check info: isReturn:".concat(isReturn, " data:").concat(JSON.stringify(temp)), 'info'); if (isReturn) return temp; LS.setItem(this.key, JSON.stringify(temp), this.logger); } }, { key: "set", value: function set(key, val, exp) { var _a, _b; var data = this.check(true); data[key] = { val: val, exp: exp || +new Date() }; try { if (localStorage$1.getItem(prefix + this.key)) localStorage$1.removeItem(prefix + this.key); localStorage$1.setItem(prefix + this.key, JSON.stringify(data)); this.logger("first set success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data)), 'success'); } catch (e) { this.logger("first set error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data), " k:").concat(key, " v:").concat(val, " exp:").concat(exp), 'error'); localStorage$1.clear(); LS.setItem(this.key, JSON.stringify(_defineProperty({}, key, { val: val, exp: exp || +new Date() })), this.logger); } } }, { key: "get", value: function get(key) { var data = this.getData(); data = data[key]; return data ? data.val || null : null; } }, { key: "remove", value: function remove(key) { var data = this.getData(); if (data[key]) delete data[key]; LS.setItem(this.key, JSON.stringify(data), this.logger); } }], [{ key: "getItem", value: function getItem(key) { key = prefix + key; return localStorage$1.getItem(key); } }, { key: "setItem", value: function setItem(key, val, logger) { var _a, _b; key = prefix + key; var n = 3; while (n--) { try { if (localStorage$1.getItem(key)) localStorage$1.removeItem(key); localStorage$1.setItem(key, val); typeof logger === 'function' && logger("setItem success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(key, " val:").concat(val), 'success'); break; } catch (e) { typeof logger === 'function' && logger("setItem error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(key, " val:").concat(val), 'error'); LS.clear(); } } } }, { key: "clear", value: function clear() { var i; var k; for (i = localStorage$1.length - 1; i >= 0; i--) { k = localStorage$1.key(i); if (k.indexOf(prefix) == 0) { localStorage$1.removeItem(k); } } } }, { key: "getSupportEvicationPolicy", value: function getSupportEvicationPolicy() { return Object.keys(evictionPolicies); } }]); return LS; }(); var innerVersion = (mmVersion.getInner() || '').toUpperCase(); var getBizLS = new LS('get_biz_result'); function getBizMap() { if (!window.__get_biz_map__) { window.__get_biz_map__ = {}; } return window.__get_biz_map__; } var isGetBizSupported = mmVersion.isOnlyWechat && mmVersion.isIOS && innerVersion >= '18003C2A' || mmVersion.isOnlyWechat && mmVersion.isAndroid && innerVersion >= '28003D3C' || mmVersion.isUnifiedPcWechat && mmVersion.cpVersion('4.1.10', 1, true, 'unifiedpc'); function invokeGetBiz(needCheckBiz, bizType) { return dedupePromise("getBiz:".concat(needCheckBiz, ":").concat(bizType), function () { return new Promise(function (resolve, reject) { if (!isGetBizSupported) { reject('Not support'); } else { JSAPI.invoke('handleMPPageAction', { action: 'getBiz', needCheckBiz: needCheckBiz, bizType: bizType }, function (res) { console.log("getBiz needCheckBiz=".concat(needCheckBiz, " bizType=").concat(bizType, " res: ").concat(JSON.stringify(res))); if (res && res.err_msg && res.err_msg.indexOf('ok') > -1) { var bizMap = getBizMap(); bizMap[bizType] = res.biz; resolve(res.biz); getBizLS.set("".concat(bizType, "_get_biz_result"), res.biz, +new Date() + 3 * 24 * 60 * 60 * 1000); } else { reject('Failed to get biz'); } }); } }); }); } function getBiz(needCheckBiz, bizType) { var _a; if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } var bizMap = getBizMap(); if (!needCheckBiz && bizMap[bizType] !== undefined) { return Promise.resolve(bizMap[bizType]); } return invokeGetBiz(needCheckBiz, bizType); } mmVersion.isOnlyWechat && mmVersion.isIOS || mmVersion.isOnlyWechat && mmVersion.isAndroid || mmVersion.isUnifiedPcWechat && mmVersion.cpVersion('4.1.10', 1, true, 'unifiedpc'); var getIsAuthor = function getIsAuthor(cb, bizuin, needCheckBiz, bizType) { var _a; if (bizuin === void 0) { bizuin = window.biz; } if (needCheckBiz === void 0) { needCheckBiz = false; } if (bizType === void 0) { bizType = ((_a = window.cgiDataNew) === null || _a === void 0 ? void 0 : _a.biz_type) || 1; } getBiz(needCheckBiz, bizType).then(function (biz) { cb(biz && biz === bizuin); })["catch"](function () { cb(false); }); }; function parseUrl(url) { var len = url.length; var ques_pos = url.indexOf('?'); var hash_pos = url.indexOf('#'); hash_pos = hash_pos == -1 ? len : hash_pos; ques_pos = ques_pos == -1 ? hash_pos : ques_pos; var host = url.substring(0, ques_pos); var query_str = url.substring(ques_pos + 1, hash_pos); var hash = url.substring(hash_pos + 1); return { host: host, query_str: query_str, hash: hash }; } function join(url, args, noEncode) { var ret = parseUrl(url); var query_str = ret.query_str; var args_arr = []; if (_typeof(args) === 'object') { for (var key in args) { if (args.hasOwnProperty(key)) { args_arr.push("".concat(key, "=").concat(noEncode ? args[key] : encodeURIComponent(args[key]))); } } } else { args_arr.push(noEncode ? args : encodeURIComponent(args)); } if (args_arr.length > 0) { query_str += (query_str !== "" ? "&" : "") + args_arr.join("&"); } return ret.host + (query_str !== "" ? "?".concat(query_str) : "") + (ret.hash !== "" ? "#".concat(ret.hash) : ""); } function addParam(url, param, value, forceReplace) { url = url || location.href; var firstAndPos = url.indexOf("&"); var len = url.length; var reverseUrl = url.replace(/^[\w\d]+:[/\\]+/g, "").split("").reverse(); if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (searchElement, fromIndex) { var k; if (this == null) { throw new TypeError('"this" is null or not defined'); } var O = Object(this); var len = O.length >>> 0; if (len === 0) { return -1; } var n = fromIndex || 0; if (Math.abs(n) === Infinity) { n = 0; } if (n >= len) { return -1; } k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); while (k < len) { if (k in O && O[k] === searchElement) { return k; } k++; } return -1; }; } var lastSlashPos = len - 1 - reverseUrl.indexOf("/"); if (firstAndPos !== -1 && url.indexOf("?") == -1 && firstAndPos > lastSlashPos) { url = url.replace("&", "?"); } var reg = new RegExp("([\\?&]".concat(param, "=)[^&#]*")); if (!url.match(reg)) { var urlInfo = parseUrl(url); var hash = urlInfo.hash ? '#' + urlInfo.hash : ''; url = url.replace(hash, ''); var _pos = url.indexOf("?"); if (_pos == -1) { return "".concat(url, "?").concat(param, "=").concat(value).concat(hash); } if (_pos == url.length - 1) { return "".concat(url + param, "=").concat(value).concat(hash); } return "".concat(url, "&").concat(param, "=").concat(value).concat(hash); } if (forceReplace === true) { return url.replace(reg, "$1".concat(value)); } return url; } function addWxfrom(src, wxfrom) { var offset = window.service_type === 1 ? 10000 : 0; return addParam(src, 'wxfrom', offset + Number(wxfrom), true); } function removeParam(url, param) { var _URL = new URL(url), protocol = _URL.protocol, host = _URL.host, pathname = _URL.pathname, search = _URL.search, hash = _URL.hash; var queryParams = new URLSearchParams(search); queryParams["delete"](param); var newSearch = queryParams.toString(); var newUrl = new URL("".concat(protocol, "//").concat(host).concat(pathname).concat(newSearch ? "?".concat(decodeURIComponent(newSearch)) : "").concat(hash)); return newUrl.toString(); } function getQuery(name, url) { var u = url || window.location.search; var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)")); var r = u.substring(u.indexOf('?') + 1).match(reg); return r !== null ? r[2] : ''; } function encodeBase64(value) { try { return window.btoa(value); } catch (e) { return ''; } } function decodeBase64(value) { try { return window.atob(value); } catch (e) { return ''; } } function joinUrl$1(url) { var obj = {}; if (typeof window.uin !== 'undefined') { obj.uin = window.uin; } if (typeof window.key !== 'undefined') { obj.key = window.key; } if (typeof window.pass_ticket !== 'undefined') { obj.pass_ticket = window.pass_ticket; } if (typeof window.wxtoken !== 'undefined') { obj.wxtoken = window.wxtoken; } if (typeof window.devicetype !== 'undefined') { obj.devicetype = window.devicetype; } if (typeof window.clientversion !== 'undefined') { obj.clientversion = window.clientversion || mmVersion.getInner(); } obj.version = obj.clientversion; if (window.biz) { obj.__biz = window.biz; } if (getQuery('enterid')) { obj.enterid = getQuery('enterid'); } if (typeof window.appmsg_token !== 'undefined') { obj.appmsg_token = window.appmsg_token; } else if (url.indexOf('advertisement_report') > -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = navigator.userAgent.indexOf('TBS/') !== -1 ? '1' : '0'; obj.f = 'json'; return join(url, obj); } function joinUserArticleRole(url, notJoin, cb) { var bizuin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.biz; var needCheckBiz = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; if (notJoin) { cb(url); } else { getIsAuthor(function (isAuthor) { cb(addParam(url, 'user_article_role', isAuthor ? 1 : 0, true)); }, bizuin, needCheckBiz); } } function getA8keyQuery(name, url) { return new Promise(function (resolve) { if (window.__secPageAuthPromise) { window.__secPageAuthPromise.then(function () { resolve(getQuery(name, url)); }); } else { resolve(getQuery(name, url)); } }); } function addHash(url, hash) { var isReplace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (isReplace) { return "".concat(url.split('#')[0]).concat(hash); } return "".concat(url).concat(url.indexOf('#') === -1 ? '#' : '').concat(hash); } function decodeUrl(url) { var _url = url; while (_url.indexOf('&') !== -1) { _url = _url.htmlDecode(); } return _url; } var Url = { parseUrl: parseUrl, join: join, addParam: addParam, addWxfrom: addWxfrom, addHash: addHash, getQuery: getQuery, getA8keyQuery: getA8keyQuery, encodeBase64: encodeBase64, decodeBase64: decodeBase64, joinUrl: joinUrl$1, joinUserArticleRole: joinUserArticleRole, removeParam: removeParam, decodeUrl: decodeUrl }; var _a; var doc; var isAcrossOrigin = false; try { doc = (_a = window.top) === null || _a === void 0 ? void 0 : _a.window.document; } catch (e) { isAcrossOrigin = true; } var StatusTextMap = { 200: 'OK', 302: 'Found', 400: 'Bad Request', 500: 'Internal Server Error' }; function getIsAcrossOrigin() { return isAcrossOrigin; } function networkStartLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "< [request ".concat(item.requestType, "]"), item.url, item.method, item); var rdevRequestId; var requestTime = performance.now() / 1000; if ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) { try { var willBeSentOptions = { url: item.url, method: item.method, requestHeaders: Object.assign({}, item.requestHeader || {}, { RDEV_REQUEST_TYPE: item.requestType }), requestBody: item.postData, requestTime: requestTime }; rdevRequestId = window.RemoteDevSdk.instance.Network.customRequestWillBeSent(willBeSentOptions); } catch (err) {} } if ((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) { try { var vconsoleNetworkItem = (_e = (_d = window.vConsole.network).add) === null || _e === void 0 ? void 0 : _e.call(_d, Object.assign({}, item, { startTime: Date.now(), endTime: Date.now(), status: 0, readyState: 2, response: '' })); vconsoleNetworkItem.rdevRequestId = rdevRequestId; vconsoleNetworkItem.requestTime = requestTime; return vconsoleNetworkItem; } catch (err) {} } if (rdevRequestId) { return Object.assign(Object.assign({}, item), { id: '__only_rdev_log__', rdevRequestId: rdevRequestId, requestTime: requestTime }); } return Object.assign({}, item, { id: '__system_log__' }); } function networkEndLog(item) { var _a, _b, _c, _d, _e; console.log('[system]', "> [response ".concat(item.requestType, "]"), item.url, item.response, item); if (item.rdevRequestId && ((_b = (_a = window.RemoteDevSdk) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.Network) && item.id !== '__system_log__') { try { var finishedOptions = { requestId: item.rdevRequestId, url: item.url, status: +(item.status || '500'), statusText: StatusTextMap[+(item.status || '500')] || 'Error', responseHeaders: { RDEV_RESPONSE_TYPE: item.requestType }, responseBody: item.response, requestTime: item.requestTime || 0, duration: item.costTime || (item.endTime && item.startTime ? item.endTime - item.startTime : performance.now() / 1000 - (item.requestTime || 0)) }; window.RemoteDevSdk.instance.Network.customRequestFinished(finishedOptions); } catch (err) {} } if (((_c = window.vConsole) === null || _c === void 0 ? void 0 : _c.network) && item.id !== '__system_log__') { try { item.statusText = "".concat(item.status); item.responseSize = item.response.length; item.responseSizeText = "".concat(item.response.length); return (_e = (_d = window.vConsole.network).update) === null || _e === void 0 ? void 0 : _e.call(_d, item.id, Object.assign({}, item, { readyState: 4 })); } catch (err) {} } } function reqType(obj, path) { return obj.url.indexOf(path) > -1 && obj.url.indexOf('action=') === -1 && (!obj.data || !obj.data.action); } function findAjaxScopeByConfig(url, config) { var pathname = new URL(url, location.href).pathname || ''; var scope = config[pathname.slice(1)]; if (scope) { return scope; } } function getAjaxScope(ajaxUrl) { if (Url.getQuery('no_transfer', location.href) !== '1' && mmVersion.isWechat && !mmVersion.isInMiniProgram && !mmVersion.isWxWork && !mmVersion.isMpapp && !isAcrossOrigin && window.__ajaxTransferConfig && _typeof(window.__ajaxTransferConfig) === 'object' && ( mmVersion.isIOS && mmVersion.compareHexVersion('1800282F') || mmVersion.isAndroid && mmVersion.compareHexVersion('28002234') || mmVersion.isWindowsWechat && mmVersion.cpVersion('3.9.5', 1, true, 'windows') || mmVersion.isMacWechat && mmVersion.cpVersion('3.8.4', 1, true, 'mac') || mmVersion.isHarmonyWechat && mmVersion.compareHexVersion('0xf3100b00') && !mmVersion.compareHexVersion('0xf3100c00') || mmVersion.compareHexVersion('0xf3800b00'))) { try { return findAjaxScopeByConfig(ajaxUrl, window.__ajaxTransferConfig); } catch (err) { } } } function getActionByData(data) { var _a, _b; if (_typeof(data) === 'object' && !(data instanceof Blob)) { if (data.hasOwnProperty('data') && typeof data.data === 'string') { try { var workedData = JSON.parse(data.data); return workedData.action || ''; } catch (e) {} } return data.action || ''; } if (typeof data === 'string') { return ((_b = (_a = data.split(/[?&]/).find(function (x) { return x.indexOf('action=') >= 0; })) === null || _a === void 0 ? void 0 : _a.split('=')) === null || _b === void 0 ? void 0 : _b[1]) || ''; } return ''; } var METHOD_ENUM = { GET: 0, POST: 1 }; var __moon_report = window.__moon_report || function () {}; var MOON_AJAX_SUCCESS_OFFSET = 3; var MOON_AJAX_NETWORK_OFFSET = 4; var MOON_AJAX_ERROR_OFFSET = 5; var MOON_AJAX_TIMEOUT_OFFSET = 6; var MOON_AJAX_COMPLETE_OFFSET = 7; var LENGTH_LIMIT = 4096; function reportRtError(type, id, key, content) { var log = ''; var prefix = type === 'rt' ? 'rtCheckError' : 'Ajax Length Limit'; if (content === null || content === void 0 ? void 0 : content.length) { var loglen = 1000; var len = content.length; var lc = Math.ceil(len / loglen); log = ["&lc=".concat(lc)]; for (var i = 0; i < lc; ++i) { log.push("&log".concat(i, "=") + "[".concat(prefix, "][").concat(i, "]").concat(encodeURIComponent(content.substring(i * loglen, i * loglen + loglen)))); } log = log.join(''); } var data = "idkey=".concat(id, "_").concat(key, "_1").concat(log, "&r=").concat(Math.random()); var xmlobj = new XMLHttpRequest(); xmlobj.open('POST', "".concat(location.protocol, "//").concat(location.host, "/mp/jsmonitor?"), true); xmlobj.setRequestHeader('cache-control', 'no-cache'); xmlobj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xmlobj.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xmlobj.send(data); if (type === 'ajaxLen') { monitor$1.setLogs({ id: id, key: key, value: 1, log: log }); } } function reportRt(id, key, content) { reportRtError('rt', id, key, content); } function reportAjaxLength(id, key, content) { reportRtError('ajaxLen', id, key, content); } function setXhrHeader(xhr, type, opt) { if (opt.contentType) { xhr.setRequestHeader('Content-Type', opt.contentType); } else if (type === 'POST') { xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); } if (!opt.noXRequestedWidthHeader) { xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); } } function Ajax(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } var ajaxScope = getAjaxScope(obj.url); var type = (obj.type || 'GET').toUpperCase(); var timer; var _url; if (obj.notJoinUrl) { _url = obj.url; } else { _url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(_url, !!obj.notJoinUrl, function (url) { var urlObj = new URL(url, location.origin); if (obj.f === 'html') { url = url.replace('&f=json', ''); } var data = null; if (obj.data instanceof Blob) { data = obj.data; } else if (_typeof(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var beginTs; var beforeReq = function beforeReq() { if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); Log.log('start get appmsgext, url: ', obj.url); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); Log.log('start get appmsgad, url: ', obj.url); } beginTs = Date.now(); }; var beforeResp = function beforeResp(xhr) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgext response, status: ".concat(xhr.status)); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(xhr.status, "|").concat(Date.now()); Log.log("receive appmsgad response, status: ".concat(xhr.status)); } if (Math.random() < 0.001 && window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { try { var key = ajaxScope ? 'transfer' : 'xhr'; var interval = 250; var time = Date.now() - beginTs; var range = Math.floor(time / interval) * interval; var pathname = new URL(obj.url, location.href).pathname || ''; window.WX_BJ_REPORT.BadJs.report("".concat(key, "_perf:").concat(pathname), JSON.stringify({ status: xhr.status, time: "[".concat(range, "-").concat(range + interval, ")") }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } catch (err) {} } }; var handleRespSucc = function handleRespSucc(xhr, requestType) { var _a, _b, _c, _d; try { var responseText = xhr.responseText; var resp = responseText; if (obj.dataType === 'json') { try { if (JSON && JSON.parse) { resp = JSON.parse(resp); } else { resp = eval("(".concat(resp, ")")); monitor$1.setSum(523105, 127, 1).send(); } var rtId = obj.rtId; var rtKey = obj.rtKey || 0; var rtDesc = obj.rtDesc; if (rtId && rtDesc && RespTypes && !RespTypes.check(resp, rtDesc)) { reportRt(+rtId, +rtKey, "".concat(RespTypes.getMsg(), "[detail]").concat(responseText, ";").concat(obj.url)); } if (resp && resp.base_resp && ((_a = resp.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = url; if (url.indexOf('?') !== -1) { reportUrl = url.substring(0, url.indexOf('?')); if (Url.getQuery('action', url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resp.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resp.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { obj.error && obj.error(xhr, { type: 1, error: e, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 1, HttpCode: xhr.status || 0, Ret: 0 }); } return; } } if (_typeof(resp) === 'object' && ((_b = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _b === void 0 ? void 0 : _b.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 4, HttpCode: xhr.status || 0, Ret: ((_c = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type || '', RequestType: requestType || 0, RetType: 0, HttpCode: xhr.status || 0, Ret: ((_d = resp === null || resp === void 0 ? void 0 : resp.base_resp) === null || _d === void 0 ? void 0 : _d.ret) || 0 }); } } obj.success && obj.success(resp); } catch (e) { __moon_report({ offset: MOON_AJAX_SUCCESS_OFFSET, e: e }); throw e; } }; var handleRespErr = function handleRespErr(xhr, error, requestType) { try { obj.error && obj.error(xhr, { type: 2, error: error, status: xhr.status }); if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: type === 'POST' && !(obj.data instanceof Blob) ? data : '', Method: type, RequestType: requestType, RetType: 2, HttpCode: xhr.status, Ret: 0 }); } } catch (e) { __moon_report({ offset: MOON_AJAX_ERROR_OFFSET, e: e }); throw e; } }; var handleRespComplete = function handleRespComplete() { clearTimeout(timer); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; }; var handleReqTimeout = function handleReqTimeout(xhr) { if (typeof obj.timeout !== 'undefined') { timer = setTimeout(function () { xhr.abort(); try { obj.complete && obj.complete(); } catch (e) { __moon_report({ offset: MOON_AJAX_COMPLETE_OFFSET, e: e }); throw e; } obj.complete = null; __moon_report({ offset: MOON_AJAX_TIMEOUT_OFFSET, log: "ajax_timeout_error: ".concat(url), e: '' }); }, obj.timeout); } }; var retryXhrFn = function retryXhrFn(res, isTimeout, reqLogItem) { var retryXhr = new XMLHttpRequest(); try { retryXhr._noVConsole = true; } catch (err) {} retryXhr.open(type, url); retryXhr.onreadystatechange = function () { if (isTimeout) return; if (retryXhr.readyState === 3) { obj.received && obj.received(retryXhr); } if (retryXhr.readyState === 4) { beforeResp(retryXhr); var retryStatus = retryXhr.status; if (retryStatus >= 200 && retryStatus < 400) { handleRespSucc(retryXhr, 1); } else { handleRespErr(retryXhr, res, 1); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure', JSON.stringify({ retryXhrStatus: retryStatus, transferRes: res }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryXhr.responseText; handleRespComplete(); networkEndLog(reqLogItem); } }; setXhrHeader(retryXhr, type, obj); retryXhr.send(data); }; if (ajaxScope && !obj.pureHttp) { var header = { 'User-Agent': navigator.userAgent, 'Cookie': (window.__test_env__ ? 'uniproxy_route=1; ' : '') + document.cookie, 'Referer': location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if (type === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } if (!obj.noXRequestedWidthHeader) { header['X-Requested-With'] = 'XMLHttpRequest'; } var reqUrl = new URL(url, location.href).href; var method = METHOD_ENUM[type] || 0; var params = Device.os.pc ? { url: reqUrl, req_json: data || '', scope: ajaxScope, webcgi_method: method, webcgi_header: Object.keys(header).map(function (headerItemKey) { return Device.os.Mac ? _defineProperty({}, headerItemKey, header[headerItemKey]) : { key: headerItemKey, value: header[headerItemKey] }; }), cgi_type: 1 } : { reqUrl: reqUrl, reqBody: data, scope: ajaxScope, method: method, header: header }; var reqLogItem = networkStartLog({ method: type, url: url, postData: obj.data || {}, requestHeader: header, requestType: 'transfer', startTime: Date.now(), responseType: url.indexOf('f=json') > 0 ? 'json' : undefined }); var isTimeout = false; handleReqTimeout({ abort: function abort() { isTimeout = true; reqLogItem.endTime = Date.now(); reqLogItem.response = 'timeout'; networkEndLog(reqLogItem); } }); Device.os.pc && monitor$1.setSum(115849, 69, 1); JSAPI.invoke(Device.os.pc ? 'H5ExtTransfer' : 'webTransfer', params, function (res) { var _a, _b, _c, _d, _e, _f; if (isTimeout) return; var status = 400; var result = ''; if (Device.os.pc) { try { var retFlag = res.base_resp.ret === 0 && res.jsapi_resp.ret === 0 && res.err_msg.indexOf(':ok') > -1; var respJsonFlag = res.jsapi_resp.resp_json; status = retFlag && respJsonFlag ? 200 : 400; result = res.jsapi_resp.resp_json; } catch (err) { console.error(err); } } else { status = res && res.errCode * 1 === 0 && typeof res.result === 'string' && res.result ? 200 : 400; result = res.result; } try { Log.log("ajax transfer, status: ".concat(status, ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (status >= 200 && status < 400) { obj.received && obj.received(null); beforeResp({ status: status }); handleRespSucc({ status: status, responseText: result }, 10); reqLogItem.status = status; reqLogItem.endTime = Date.now(); reqLogItem.response = result; handleRespComplete(); networkEndLog(reqLogItem); } else if (window.__second_open__) { JSAPI.invoke('request', { url: reqUrl, method: type, data: data, header: header }, function (retryRes) { try { Log.log("ajax retry request, retryStatus: ".concat((retryRes === null || retryRes === void 0 ? void 0 : retryRes.statusCode) || '', ", reqUrl: ").concat(reqUrl)); } catch (err) { console.error(err); } if (isTimeout) return; var retryStatus = retryRes.statusCode; obj.received && obj.received(null); beforeResp({ status: retryStatus }); if (retryRes.err_msg.indexOf(':ok') > -1 && retryStatus >= 200 && retryStatus < 400) { handleRespSucc({ status: retryStatus, responseText: retryRes.data }, 20); } else { retryXhrFn(res, isTimeout, reqLogItem); handleRespErr({ status: retryStatus }, res, 20); window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure_sec_open', JSON.stringify({ retryReqJsapiRes: retryRes, transferRes: res, url: reqUrl }), { mid: 'mmbizwap:ajaxtransfer', view: 'wap_business' }); } reqLogItem.status = retryStatus; reqLogItem.endTime = Date.now(); reqLogItem.response = retryRes.data; handleRespComplete(); networkEndLog(reqLogItem); }); } else { retryXhrFn(res, isTimeout, reqLogItem); } if (Device.os.pc) { if (!res.err_msg.includes(':ok')) { (_b = (_a = window.WX_BJ_REPORT) === null || _a === void 0 ? void 0 : _a.BadJs) === null || _b === void 0 ? void 0 : _b.report("pc transfer res no ok: ".concat(res.err_msg), params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } try { if (res.jsapi_resp.resp_json && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 0 && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 190001 || res.base_resp.ret !== 0 || res.jsapi_resp.ret !== 0) { (_d = (_c = window.WX_BJ_REPORT) === null || _c === void 0 ? void 0 : _c.BadJs) === null || _d === void 0 ? void 0 : _d.report("pc transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } else { try { if (res.errCode !== 0) { (_f = (_e = window.WX_BJ_REPORT) === null || _e === void 0 ? void 0 : _e.BadJs) === null || _f === void 0 ? void 0 : _f.report("mobile transfer res invalid ret", params.url || '', { mid: window.PAGE_MID, _info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res)) }); } } catch (err) {} } }); beforeReq(); return; } var xhr = new XMLHttpRequest(); var mayAbort = !!obj.mayAbort; var async = typeof obj.async === 'undefined' ? true : obj.async; var _onreadystatechange = xhr.onreadystatechange; xhr.open(type, url, async); xhr.onreadystatechange = function () { if (typeof _onreadystatechange === 'function') { _onreadystatechange.apply(xhr); } if (xhr.readyState === 3) { obj.received && obj.received(xhr); } if (xhr.readyState === 4) { beforeResp(xhr); xhr.onreadystatechange = null; var status = xhr.status; if (status >= 200 && status < 400) { handleRespSucc(xhr, 1); } else { handleRespErr(xhr, 'status error', 1); if (!!status || !mayAbort) { var __ajaxtest = window.__ajaxtest || '0'; __moon_report({ offset: MOON_AJAX_NETWORK_OFFSET, log: "ajax_network_error[".concat(status, "][").concat(__ajaxtest, "]: ").concat(url, ";host:").concat(location.host), e: '' }); } } handleRespComplete(); } }; setXhrHeader(xhr, type, obj); handleReqTimeout(xhr); try { xhr.send(data); try { if (url && url.length > LENGTH_LIMIT) { reportAjaxLength(27613, 17, "ajax get limit[length: ".concat(url.length, "]").concat(url.substring(0, 1024))); } if (data && !(data instanceof Blob) && data.length > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.length, "]").concat(data.substring(0, 1024))); } if (data && data instanceof Blob && data.size > LENGTH_LIMIT) { reportAjaxLength(27613, 18, "ajax post limit[length: ".concat(data.size, "]blob")); } } catch (e) { } } catch (e) { obj.error && obj.error(xhr, { type: 3, error: e, status: 0 }); } beforeReq(); }); } mmVersion.isWindowsWechat && mmVersion.compareHexVersion('0xf2550000') || mmVersion.isMacWechat && mmVersion.compareHexVersion('0xf2650000'); var getBrandServiceType = function getBrandServiceType() { var serviceType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.service_type; var _a, _b; var brandServiceType = 0; if (serviceType !== undefined) brandServiceType = serviceType + 1; if (((_b = (_a = window.cgiData) === null || _a === void 0 ? void 0 : _a.trans_appmsg_info) === null || _b === void 0 ? void 0 : _b.trans_type) * 1 === 1) brandServiceType = 3; return brandServiceType; }; function setCurrentMpInfo(ifShow) { var supportNewTopBar = mmVersion.isIOS && mmVersion.gtVersion('7.0.10', true) || mmVersion.isAndroid && mmVersion.gtVersion('7.0.12', true); var supportLiveStatus = mmVersion.isIOS && mmVersion.gtVersion('8.0.46', true) || mmVersion.isAndroid && mmVersion.gtVersion('8.0.46', true); JSAPI.invoke('currentMpInfo', { userName: window.user_name, brandName: !!supportNewTopBar && window.nickname === '' ? '未命名账号' : window.title, title: window.msg_title || '', brandIcon: window.hd_head_img.replace(/\/0$/, '/132'), itemShowType: window.item_show_type, isPaySubscribe: window.isPaySubscribe, topBarStyle: supportNewTopBar ? 1 : 0, topBarShowed: ifShow, disableShowFinderLiveTopBar: !ifShow && supportLiveStatus ? 1 : 0, brandServiceType: getBrandServiceType() }, function () {}); } function AjaxWx(obj) { var report36408 = typeof obj.report36408 === 'function' ? obj.report36408 : function () {}; obj.url += obj.url.indexOf('?') === -1 ? '?fasttmplajax=1' : '&fasttmplajax=1'; if (getAjaxScope(obj.url)) { Ajax(obj); return; } if (obj.usePb) { obj.type = 'POST'; obj.data = { data: JSON.stringify(obj.data) }; } if (!/^(http:\/\/|https:\/\/|\/\/)/.test(obj.url)) { obj.url = "https://mp.weixin.qq.com/".concat(obj.url.replace(/^\//, '')); } else if (/^\/\//.test(obj.url)) { obj.url = "https:".concat(obj.url); } if (obj.f !== 'html' && (obj.url.indexOf('?f=json') === -1 || obj.url.indexOf('&f=json') === -1)) { obj.url += '&f=json'; } if (!obj.notJoinUrl && obj.f !== 'html') { obj.url = Url.joinUrl(obj.url); } Url.joinUserArticleRole(obj.url, !!obj.notJoinUrl, function (url) { obj.url = url; var urlObj = new URL(url, location.origin); var data = null; if (_typeof(obj.data) === 'object') { var d = obj.data; var ds = []; for (var k in d) { if (d.hasOwnProperty(k)) { ds.push("".concat(k, "=").concat(encodeURIComponent(d[k]))); } } data = ds.join('&'); } else { data = typeof obj.data === 'string' ? obj.data : null; } var header = { Cookie: document.cookie, referer: location.href }; if (obj.contentType) { header['Content-Type'] = obj.contentType; } else if ((obj.type || 'GET').toUpperCase() === 'POST') { header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; } var reqLogItem = networkStartLog({ method: obj.type || 'GET', url: obj.url, postData: obj.data || {}, requestHeader: header, requestType: 'jsapi', startTime: Date.now() }); var retryTime = 1; var jsapiRequest = function jsapiRequest(obj, data) { return JSAPI.invoke('request', { url: obj.url, method: obj.type, data: data, header: header }, function (res) { var _a, _b, _c, _d, _e, _f; if (res.err_msg.indexOf(':ok') > -1 && (!res.statusCode || res.statusCode >= 200 && res.statusCode < 400)) { if (reqType(obj, '/mp/getappmsgext')) { window.receiveGetAppmsgExt = "".concat(res.statusCode, "|").concat(Date.now()); } if (reqType(obj, '/mp/getappmsgad')) { window.receiveGetAppmsgAd = "".concat(res.statusCode, "|").concat(Date.now()); } if (retryTime === 1) { obj.received && obj.received(null); } var resData = {}; if (res.data) { try { if (obj.dataType === 'json') { resData = JSON.parse(res.data); } else { resData = res.data; } if (resData && resData.base_resp && ((_a = resData.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) { var reportUrl = obj.url; if (obj.url.indexOf('?') !== -1) { reportUrl = obj.url.substring(0, obj.url.indexOf('?')); if (Url.getQuery('action', obj.url)) { reportUrl = "".concat(reportUrl, "?action=").concat(Url.getQuery('action', obj.url)); } } if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resData.base_resp.ret === 'undefined')) { window.WX_BJ_REPORT.BadJs.report(reportUrl, "ret=".concat(resData.base_resp.ret), { mid: window.PAGE_MID, view: 'wap_retcode' }); } } } catch (e) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_b = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _b === void 0 ? void 0 : _b.ret) || 0 }); } console.error(e); obj.error && obj.error(null, { type: 1, error: e, status: res.statusCode }); obj.complete && obj.complete(); reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); return; } } var tmpResData = {}; try { tmpResData = JSON.parse(res.data); } catch (e) {} if (tmpResData && tmpResData.base_resp && tmpResData.base_resp.ret === -3 && retryTime < 2 && (mmVersion.isIOS || mmVersion.isAndroid && mmVersion.getInner() > '27000600')) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: ((_c = resData === null || resData === void 0 ? void 0 : resData.base_resp) === null || _c === void 0 ? void 0 : _c.ret) || 0 }); } var _retryTime = retryTime++; JSAPI.invoke('updatePageAuth', {}, function (res) { console.log('[skeleton] updatePageAuth', res); monitor$1.setSum(112287, 3, 1); if (res && res.err_msg && res.err_msg.indexOf(':ok') > -1) { window.top.pass_ticket = encodeURIComponent(Url.getQuery('pass_ticket', res.fullUrl).html(false).replace(/\s/g, '+')); if (obj.pass_ticket) { obj.pass_ticket = window.top.pass_ticket; } console.warn('[skeleton] updatePageAuth resetTopbar'); var supportNewTopBar = mmVersion.isIOS && mmVersion.gtVersion('7.0.10', true); var showBottomBar = !!window.is_login; if (window.top.item_show_type === '0' && supportNewTopBar) { var top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop || 0; setCurrentMpInfo(top > 40 && !showBottomBar); } try { obj.url = Url.addParam(obj.url, 'retry', _retryTime, true); } catch (err) { console.error(err); } jsapiRequest(obj, data); monitor$1.setSum(112287, 4, 1); } else { obj.success && obj.success(resData); obj.complete && obj.complete(); if (mmVersion.isIOS) { monitor$1.setSum(112287, 35, 1); } else { monitor$1.setSum(112287, 36, 1); } reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } }); } else { if (((_d = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _d === void 0 ? void 0 : _d.ret) !== 0) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 4, HttpCode: res.statusCode || 0, Ret: ((_e = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _e === void 0 ? void 0 : _e.ret) || 0 }); } } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 0, HttpCode: res.statusCode || 0, Ret: ((_f = tmpResData === null || tmpResData === void 0 ? void 0 : tmpResData.base_resp) === null || _f === void 0 ? void 0 : _f.ret) || 0 }); } } obj.success && obj.success(resData); obj.complete && obj.complete(); reqLogItem.status = 200; reqLogItem.endTime = Date.now(); reqLogItem.response = resData; networkEndLog(reqLogItem); } } else if (res.err_msg.indexOf('no permission') > -1 || !mmVersion.isOnlyWechat) { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 1, HttpCode: res.statusCode || 0, Ret: 0 }); } Ajax(obj); if (res.err_msg.indexOf('no permission') > -1) { console.warn('[JSAPI Request] No permission'); monitor$1.setSum(112287, 31, 1); } reqLogItem.status = 302; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } else { if (!obj.dontReport) { report36408({ CgiPath: urlObj.pathname || '', Action: urlObj.searchParams.get('action') || getActionByData(obj.data) || '', Query: urlObj.search || '', PostData: obj.type === 'POST' && !(data instanceof Blob) ? data : '', Method: obj.type || '', RequestType: 20, RetType: 2, HttpCode: res.statusCode || 0, Ret: 0 }); } obj.error && obj.error(null, { type: 3, error: res, status: 0 }); obj.complete && obj.complete(); monitor$1.setSum(112287, 32, 1); var sample = 0.001; if (Math.random() < sample) { var msg = "request: ".concat(JSON.stringify(obj.type), " ").concat(JSON.stringify(obj.url), " ;;;; cookie: ").concat(JSON.stringify(document.cookie), " ;;;; data: ").concat(JSON.stringify(data), " ;;;; resp: ").concat(JSON.stringify(res)); if (window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) { window.WX_BJ_REPORT.BadJs.report('ajax_wx_request_error', msg, { mid: 'mmbizwap:Monitor' }); } } reqLogItem.status = 400; reqLogItem.endTime = Date.now(); reqLogItem.response = res; networkEndLog(reqLogItem); } }); }; if (reqType(obj, '/mp/getappmsgext')) { window.startGetAppmsgExtTime = Date.now(); } if (reqType(obj, '/mp/getappmsgad')) { window.startGetAppmsgAdTime = Date.now(); } jsapiRequest(obj, data); }); } function _regeneratorRuntime() { _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc = 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc -1) { new Image().src = "".concat(location.protocol, "//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=").concat(Math.random()); } obj.x5 = isx5 ? '1' : '0'; obj.f = 'json'; return Url.join(url, obj); } function isObj(obj) { return obj && _typeof(obj) === 'object'; } function assign(target, source) { if (isObj(target) && isObj(source)) { for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } } function assembleReportData(initiative) { var leaveReportLog = []; leaveReportLog.push({ content: "[LeaveReport] specificData keys: ".concat(Object.keys(specificData)), timestamp: Date.now() }); Log.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); console.log("[LeaveReport] specificData keys: ".concat(Object.keys(specificData))); var allReportData = {}; for (var reportField in specificData) { if (!allReportData[reportField]) { allReportData[reportField] = {}; } for (var i = 0; i < specificData[reportField].length; i++) { var param = specificData[reportField][i]; if (typeof param === 'function') { try { assign(allReportData[reportField], param(initiative)); } catch (err) { leaveReportLog.push({ content: "[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); console.error("[LeaveReport] specificData exec error: ".concat(param.toString().substring(0, 50))); } } else if (isObj(param)) { assign(allReportData[reportField], param); } } } leaveReportLog.push({ content: "[LeaveReport] reportData.length: ".concat(reportData.length), timestamp: Date.now() }); Log.log("[LeaveReport] reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] reportData.length: ".concat(reportData.length)); leaveReportLog.push({ content: "[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length), timestamp: Date.now() }); Log.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); console.log("[LeaveReport] getDataFunc.length: ".concat(getDataFunc.length)); for (var _i = 0; _i < getDataFunc.length; _i++) { try { var data = getDataFunc[_i](initiative); if (isObj(data)) { reportData.push(data); } } catch (err) { leaveReportLog.push({ content: "[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50)), timestamp: Date.now() }); Log.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); console.error("[LeaveReport] getDataFunc exec error: ".concat(getDataFunc[_i].toString().substring(0, 50))); } } for (var _i2 = 0; _i2 < reportData.length; _i2++) { if (reportData[_i2].reportUrl) { reportData[_i2].reportUrl = joinUrl(reportData[_i2].reportUrl); } } allReportData.data = { 'requestList': reportData }; leaveReportLog.push({ content: "[LeaveReport] final reportData.length: ".concat(reportData.length, ", data=").concat(JSON.stringify(reportData)), timestamp: Date.now() }); Log.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); console.log("[LeaveReport] final reportData.length: ".concat(reportData.length)); allReportData.info = leaveReportLog; return allReportData; } function addReport(param) { if (typeof param === 'function') { getDataFunc.push(param); } else if (isObj(param)) { reportData.push(param); } } function addSpecificReport(reportField, param) { if (!specificData[reportField]) { specificData[reportField] = []; } specificData[reportField].push(param); } function reportNow(callback) { var allReportData = assembleReportData(true); JSAPI.invoke('handleMPPageAction', { action: 'reportByLeaveForMPGateway', reportData: allReportData }, function (res) { if (res && res.err_msg && res.err_msg.indexOf(':ok') !== -1) { getDataFunc = []; reportData = []; specificData = {}; typeof callback === 'function' && callback(res); } else { getDataFunc = []; reportData = []; var len = allReportData.data.requestList.length; allReportData.data.requestList.forEach(function (req) { if (req.reportUrl) { AjaxRouter({ type: req.method || 'GET', url: req.reportUrl, data: req.reportData, async: false, success: function success(resp) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:ok', fallback: true, resp: resp }); } }, error: function error(xhr, err) { if (--len < 0) { typeof callback === 'function' && callback({ err_msg: 'handleMPPageAction:fail', fallback: true, err: err }); } } }); } }); } }); } var leaveReport = { reportNow: reportNow, addReport: addReport, addSpecificReport: addSpecificReport }; var _leaveReport = (function () { var doc = {}; var isCrossOrigin = false; try { doc = top.window.document; } catch (e) { isCrossOrigin = true; } if (!isCrossOrigin && top.window.__leaveReport) { return top.window.__leaveReport; } if (window.__leaveReport) { return window.__leaveReport; } JSAPI.on('reportOnLeaveForMP', function () { return assembleReportData(false); }); return window.__leaveReport = leaveReport; })(); var getReportJson = function getReportJson(logId, rawData) { var data = JSON.parse(JSON.stringify(rawData)); data.log_id = Number(logId); data.TimeStamp = Math.round(Date.now() / 1000); console.log('[comm_report] reportjson: ', data); return JSON.stringify(data); }; var getSuccessHandler = function getSuccessHandler(logId, data, opt) { return function (res) { if (res && res.err_code !== 0) { console.warn("[comm_report] report ".concat(logId, " fail: "), res.err_msg, data); } if (typeof opt.success === 'function') { opt.success(res); } }; }; var getErrorHandler = function getErrorHandler(logId, data, opt) { return function (xhr, info) { console.error("[comm_report] report ".concat(logId, " error: "), info, data); if (typeof opt.error === 'function') { opt.error(xhr, info); } }; }; var batchReportDataArr = []; var blackLogId = [25587, 18832, 28208, 25574, 29139, 10945]; var BATCH_SIZE = 4; var BATCH_TIME = 1000; var getRepeatedReportJson = function getRepeatedReportJson() { if (!batchReportDataArr || !batchReportDataArr.length) return false; var reportData = { count: 0 }; reportData.count = batchReportDataArr.length; batchReportDataArr.forEach(function (data, index) { reportData["reportjson".concat(index)] = data; }); batchReportDataArr = []; console.log('[reportData]: ', reportData); return reportData; }; var timeOutId; function batchReport() { if (!batchReportDataArr || !batchReportDataArr.length) return; var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return; AjaxRouter({ type: 'POST', dataType: 'json', url: '/mp/wapcommreport?action=batch_report', data: repeatedReportJson, dontReport: true, success: function success(res) { if (res && res.err_code) { console.warn("[comm_report] batch report fail: ", res.err_msg, batchReportDataArr); } }, error: function error(xhr, info) { console.error("[comm_report] batch report error: ", info, batchReportDataArr); } }); } function batchReportThrottle(logId, rawData) { var reportJsonData = getReportJson(logId, rawData); if (!reportJsonData) return; batchReportDataArr.push(reportJsonData); if (batchReportDataArr.length >= BATCH_SIZE) { batchReport(); } else { if (!timeOutId) { timeOutId = setTimeout(function () { batchReport(); clearTimeout(timeOutId); timeOutId = null; }, BATCH_TIME); } } } _leaveReport.addReport(function () { var repeatedReportJson = getRepeatedReportJson(); if (!repeatedReportJson) return false; var reportData = []; for (var _i = 0, _Object$entries = Object.entries(repeatedReportJson); _i < _Object$entries.length; _i++) { var _Object_i = _slicedToArray(_Object$entries[_i], 2), key = _Object_i[0], value = _Object_i[1]; reportData.push("".concat(key, "=").concat(encodeURIComponent(value))); } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport?action=batch_report', reportData: reportData.join('&'), method: 'POST' }; }); var commReport = { report: function report(logId, rawData, rawOpt) { var opt = rawOpt || {}; if (!opt.realTime && !blackLogId.includes(logId)) { batchReportThrottle(logId, rawData); } else { AjaxRouter({ type: 'POST', dataType: 'json', url: '/mp/wapcommreport', data: { reportjson: getReportJson(logId, rawData) }, async: opt.async, success: getSuccessHandler(logId, rawData, opt), error: getErrorHandler(logId, rawData, opt) }); } }, leaveReport: function leaveReport(logId, rawData) { _leaveReport.addReport(function () { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport', reportData: "reportjson=".concat(encodeURIComponent(getReportJson(logId, data))), method: 'POST' }; }); }, reportByBeacon: function reportByBeacon(logId, rawData) { try { if (!Device.os.android && !Device.os.ios && !Device.os.harmony) { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } var url = '/mp/wapcommreport'; var reportJsonData = encodeURIComponent(getReportJson(logId, data)); console.log("reportByBeacon", JSON.stringify(reportJsonData)); navigator.sendBeacon(Url.joinUrl(url), "reportjson=".concat(reportJsonData)); } else { _leaveReport.addReport(function () { var data = typeof rawData === 'function' ? rawData() : rawData; if (!data) { return false; } return { reportUrl: 'https://mp.weixin.qq.com/mp/wapcommreport', reportData: "reportjson=".concat(encodeURIComponent(getReportJson(logId, data))), method: 'POST' }; }); } } catch (error) { console.log(error); } } }; var html = function html(_str, encode) { if (!_str) return ''; var replace = ['`', '`', ''', '\'', '"', '"', ' ', ' ', '>', '>', '<', '', '<', ' ".concat(ret.err_msg) : ''; if (['handleMPPageAction', 'handleVideoAction', 'handleHaokanAction'].indexOf(methodName) !== -1) { var action = (args === null || args === void 0 ? void 0 : args.action) || ''; console.info('[system]', "[jsapi] invoke->".concat(methodName, ", action->").concat(action).concat(errMsg)); } else { console.info('[system]', "[jsapi] invoke->".concat(methodName).concat(errMsg)); } if (methodName === 'handleMPPageAction' && (args === null || args === void 0 ? void 0 : args.action) && ((ret === null || ret === void 0 ? void 0 : ret.err_desc) === 'action isn\'t supported' || (ret === null || ret === void 0 ? void 0 : ret.err_msg) === 'handleMPPageAction:fail action is not supported')) { notFoundedMPPageAction.push(args === null || args === void 0 ? void 0 : args.action); } if (callback) { callback.apply(window, rets); } } catch (e) { __moon_report([{ offset: MOON_JSAPI_KEY_OFFSET, log: "invoke;methodName:".concat(methodName), e: e }]); throw e; } }); } }); case 4: case "end": return _context.stop(); } }, _callee); })); return _invoke.apply(this, arguments); } function call(_x4) { return _call.apply(this, arguments); } function _call() { _call = _asyncToGenerator( _regeneratorRuntime().mark(function _callee2(methodName) { return _regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (!(window.__secPageAuthPromise && !window.__is_page_auth_ok__)) { _context2.next = 3; break; } _context2.next = 3; return window.__secPageAuthPromise; case 3: ready(function () { if (isAcrossOrigin) return false; if (_typeof(top.window.WeixinJSBridge) !== 'object') { return false; } try { top.window.WeixinJSBridge.call(methodName); } catch (e) { __moon_report([{ offset: MOON_JSAPI_KEY_OFFSET, log: "call;methodName:".concat(methodName), e: e }]); throw e; } }); case 4: case "end": return _context2.stop(); } }, _callee2); })); return _call.apply(this, arguments); } function on(eventName, callback) { ready(function () { if (isAcrossOrigin) return false; if (_typeof(top.window.WeixinJSBridge) !== 'object' || !top.window.WeixinJSBridge.on) { return false; } if (!window.JSAPIEventCallbackMap[eventName]) { window.JSAPIEventCallbackMap[eventName] = []; } window.JSAPIEventCallbackMap[eventName].push(callback); if (window.JSAPIEventCallbackMap[eventName].length > 1) { return false; } top.window.WeixinJSBridge.on(eventName, function () { try { for (var _len = arguments.length, rets = new Array(_len), _key = 0; _key < _len; _key++) { rets[_key] = arguments[_key]; } var ret = rets[0]; var errMsg = ret && ret.err_msg ? ", err_msg-> ".concat(ret.err_msg) : ''; console.info('[system]', "[jsapi] event->".concat(eventName).concat(errMsg)); if (window.JSAPIEventCallbackMap[eventName] && window.JSAPIEventCallbackMap[eventName].length) { var result; for (var i = 0; i < window.JSAPIEventCallbackMap[eventName].length; i++) { result = window.JSAPIEventCallbackMap[eventName][i].apply(window, rets); } return result; } } catch (e) { __moon_report([{ offset: MOON_JSAPI_KEY_OFFSET, log: "on;eventName:".concat(eventName), e: e }]); throw e; } }); }); } function remove(eventName, callback) { ready(function () { if (!window.JSAPIEventCallbackMap[eventName]) { return false; } var result = false; for (var i = window.JSAPIEventCallbackMap[eventName].length - 1; i >= 0; i--) { if (window.JSAPIEventCallbackMap[eventName][i] === callback) { window.JSAPIEventCallbackMap[eventName].splice(i, 1); result = true; } } return result; }); } var JSAPI = { ready: ready, invoke: invoke, call: call, on: on, remove: remove }; var __setPreview = function __setPreview() { var extData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (extData && extData.previewType === 1) { JSAPI.invoke('setNavigationBarButtons', { right: { hidden: true } }); } var quotePreviewSwitch = document.getElementById('js_quote_preview_switch'); if (quotePreviewSwitch && extData && extData.quoteList && extData.quoteList.length) { quotePreviewSwitch.innerHTML = "备注内容仅自己可见,可" + ' ' + '预览公开发表视角' + ''; } }; if (!window.__second_open__) { var previewType = '' * 1; var quoteList = null; try { quoteList = JSON.parse('[]'); } catch (e) { console.error(e); } var extData = { quoteList: quoteList, previewType: previewType }; __setPreview(extData); window.__setPreview = __setPreview; } return __setPreview; })();(function () { 'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } var classWhiteList = ['rich_pages', 'blockquote_info', 'blockquote_biz', 'blockquote_other', 'blockquote_article', 'h5_image_link', 'img_loading', 'list-paddingleft-1', 'list-paddingleft-2', 'list-paddingleft-3', 'selectTdClass', 'noBorderTable', 'ue-table-interlace-color-single', 'ue-table-interlace-color-double', '__bg_gif', 'normal_text_link', 'mp_article_text_link', 'album', 'weapp_text_link', 'weapp_image_link', 'product_image_link', 'qqmusic_area', 'tc', 'tips_global', 'unsupport_tips', 'qqmusic_wrp', 'appmsg_card_context', 'appmsg_card_active', 'qqmusic_bd', 'play_area', 'icon_qqmusic_switch', 'pic_qqmusic_default', 'qqmusic_thumb', 'access_area', 'qqmusic_songname', 'qqmusic_singername', 'qqmusic_source', 'share_audio_context', 'flex_context', 'pages_reset', 'share_audio_switch', 'icon_share_audio_switch', 'share_audio_info', 'flex_bd', 'share_audio_title', 'share_audio_tips', 'share_audio_progress_wrp', 'share_audio_progress', 'share_audio_progress_inner', 'share_audio_progress_buffer', 'share_audio_progress_loading', 'share_audio_progress_loading_inner', 'share_audio_progress_handle', 'share_audio_desc', 'share_audio_length_current', 'share_audio_length_total', 'video_iframe', 'vote_iframe', 'res_iframe', 'card_iframe', 'weapp_display_element', 'weapp_card', 'app_context', 'weapp_card_bd', 'weapp_card_profile', 'radius_avatar', 'weapp_card_avatar', 'weapp_card_nickname', 'weapp_card_info', 'weapp_card_title', 'weapp_card_thumb_wrp', 'weapp_card_ft', 'weapp_card_logo', 'pay', 'pay__mask', 'ct_geography_loc_tip', 'subsc_context', 'subsc_btn', 'reset_btn', 'icon_subsc', 'weui-primary-loading', 'weui-primary-loading__dot', 'wxw-img', 'mp-caret', 'appmsg_poi_iframe', 'cpc_iframe', 'channels_iframe_wrp', 'channels_iframe', 'videosnap_video_iframe', 'videosnap_live_iframe', 'videosnap_image_iframe', 'channels_live_iframe', 'minishop_iframe_wrp', 'minishop_iframe', 'mp_profile_iframe', 'mp_profile_iframe_wrp', 'mp_search_iframe_wrp', 'appmsg_search_iframe_wrp', 'appmsg_search_iframe', 'vote_area', 'vote_iframe', 'mp_vote_iframe_wrp', 'mp_vote_iframe', 'qqmusic_iframe', 'blockquote_iframe', 'blockquote_tips_iframe', 'video_iframe', 'shopcard_iframe', 'topic_iframe', 'weapp_app_iframe', 'img_fail_iframe', 'mp_miniprogram_iframe', 'appmsg_cpslink_iframe', 'js_editor_mpcpslink', 'mp-cpslink-iframe-wrp', 'mp_common_sticker_iframe', 'mp_common_sticker_iframe_wrp', 'mp_common_product_iframe', 'mp_common_product_iframe_wrp', 'mp_lottery_iframe_wrp', 'mp_shopprofile_wrp', 'new_cps_iframe', 'redpackage_iframe', 'mp_redpacket_iframe_wrp', 'product_text_link', 'clmusic_iframe', 'clalbum_iframe', 'mp_common_custom_iframe_wrp', 'mp_common_custom_iframe', 'mp_image_gallery_iframe']; var classWhiteListReg = [new RegExp('^editor__content__'), new RegExp('^wxw'), new RegExp('^js_'), new RegExp('^cps_inner'), new RegExp('^bizsvr_'), new RegExp('^code-snippet'), new RegExp('^wx_(?!text_underline)'), new RegExp('^wx-'), new RegExp('^icon_emoji_'), new RegExp('^custom_select_card') ]; var contentStyle = { classWhiteList: classWhiteList, classWhiteListReg: classWhiteListReg }; function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } function DomFilter (cgiOptData) { return function (Plugin) { var isMMVersionSetted = false; var contentDom = document.getElementById('js_content'); var classWhiteList = contentStyle.classWhiteList, classWhiteListReg = contentStyle.classWhiteListReg; var removeClassByWhiteList = function removeClassByWhiteList(node) { var classAttr = node.getAttribute('class'); if (classAttr) { var classList = classAttr.split(/\s+/); var newClassList = []; for (var i = 0, len = classList.length; i < len; ++i) { var className = classList[i]; if (className && classWhiteList.indexOf(className) != -1) { newClassList.push(className); } else { for (var j = 0, jl = classWhiteListReg.length; j < jl; j++) { if (classWhiteListReg[j].test(className)) { newClassList.push(className); break; } } } } node.setAttribute('class', newClassList.join(' ')); } }; var langBlackList = ['zh-cn', 'en-us']; var removeLangByBlackList = function removeLangByBlackList(node) { var langAttr = node.getAttribute('lang'); if (langAttr) { var lang = langAttr.toLowerCase(); for (var i = 0; i < langBlackList.length; i++) { if (lang === langBlackList[i]) { node.removeAttribute('lang'); return; } } } }; var isAccessMode = window.localStorage.getItem('isMpUserAccessibility'); var isCarton = (cgiOptData === null || cgiOptData === void 0 ? void 0 : cgiOptData.copyright_info.is_cartoon_copyright) || (cgiOptData === null || cgiOptData === void 0 ? void 0 : cgiOptData.user_info.is_care_mode) || isAccessMode === '1'; var bgPlaceholder = 'url("data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==")'; var lazyloadBackgroundImage = function lazyloadBackgroundImage(node) { if (window.__second_open__ && !isCarton && node && node.style && typeof node.getAttribute === 'function' && !node.getAttribute('data-lazy-bgimg')) { var bgImg = node.style.backgroundImage; var bgImgUrl = bgImg && bgImg.match(/url\(['"]?(.*?)['"]?\)/); if (bgImgUrl && bgImgUrl[1]) { node.style.backgroundImage = bgImg.replace(/url\(['"]?.*?['"]?\)/, bgPlaceholder); node.setAttribute('data-lazy-bgimg', bgImgUrl[1]); node.classList.add('wx_imgbc_placeholder'); } } }; var recoverFontFamily = function recoverFontFamily(node) { var ua = navigator.userAgent; var isAppleSystem = /(iPhone|iPad|iPod|iOS|mac\sos)/i.test(ua); if (isAppleSystem && node && node.style) { var fontFamily = node.style.fontFamily; var pingfangFont = 'PingFang SC'; var systemFont = ['system-ui', '-apple-system-font', '-apple-system']; if (fontFamily) { var fontArray = fontFamily.split(',').map(function (item) { return item.trim(); }); var pingfangIndex = fontArray.findIndex(function (item) { return item.includes(pingfangFont); }); var systemIndex = fontArray.findIndex(function (item) { return systemFont.some(function (sysFont) { return item.includes(sysFont); }); }); if (systemIndex !== -1 && pingfangIndex !== -1 && systemIndex < pingfangIndex) { var pingfangItem = fontArray[pingfangIndex]; fontArray.splice(pingfangIndex, 1); fontArray.splice(systemIndex, 0, pingfangItem); node.style.fontFamily = fontArray.join(', '); } return; } } }; return function (_Plugin) { _inherits(_class, _Plugin); function _class() { _classCallCheck(this, _class); return _callSuper(this, _class, arguments); } _createClass(_class, [{ key: "beforeConvertNode", value: function beforeConvertNode(el) { if (el && el.tagName) { var tagName = el.tagName.toLowerCase(); if (tagName !== 'iframe') { removeClassByWhiteList(el); removeLangByBlackList(el); recoverFontFamily(el); lazyloadBackgroundImage(el); } else { if (el.getAttribute('class') === 'video_ad_iframe') { el.setAttribute('class', ''); } } } } }, { key: "afterConvertNode", value: function afterConvertNode(el) { if (!isMMVersionSetted) { var ua = navigator.userAgent; /(iPhone|iPad|iPod|iOS|mac\sos)/i.test(ua) ? contentDom.classList.add('fix_apple_default_style') : null; isMMVersionSetted = true; } if (el.style && el.style.webkitTextSizeAdjust !== '' && el.style.webkitTextSizeAdjust !== 'none') { el.style.webkitTextSizeAdjust = 'inherit'; } if (el.tagName === 'animate' && el.getAttribute('attributeName') === 'height') { var repeatCountVal = el.getAttribute('repeatCount'); if (repeatCountVal === 'indefinite' || repeatCountVal > '10') { if (el.getAttribute('begin') !== 'click' && el.getAttribute('end') !== 'click') { el.setAttribute('repeatCount', 'undefined'); el.setAttribute('attributeName', 'undefined'); new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=306525_1_1'; } } } if (el.tagName === 'OL') { var hasInlinePaddingLeft = !!(el.style && el.style.paddingLeft); if ((el.parentNode === document.getElementById('js_content') || el.parentNode.getAttribute('id') === 'js_secopen_content') && el.getAttribute('style') && !hasInlinePaddingLeft) { if (el.childNodes.length >= 10 && el.childNodes.length 100) { el.classList.add('extra-list-padding-level2'); el.style.paddingLeft = '3.2em'; } } } if (el.tagName === 'MP-STYLE-TYPE') { var styleType = parseInt(el.getAttribute('data-value'), 10); if (styleType === 3) { if (el.parentNode && el.parentNode.previousSibling) { var realLastP = el.parentNode.previousSibling; if ((realLastP.tagName === 'P' || realLastP.tagName === 'SECTION') && realLastP.style && !realLastP.style.marginBottom) { realLastP.style.marginBottom = '0'; } } } } if (el.tagName === 'svg') { if (!el.hasAttribute('role')) { el.setAttribute('role', 'img'); } if (!el.hasAttribute('aria-label')) { el.setAttribute('aria-label', '插图'); } } } }]); return _class; }(Plugin); }; } if (!window.__second_open__ && window.Darkmode) { var cost = 0; window.Darkmode.extend([DomFilter()]); window.Darkmode.run(document.querySelectorAll('#js_content *'), { mode: '', defaultDarkTextColor: '#989898', defaultDarkBgColor: '', whitelist: { attribute: ['data-no-dark'] }, error: function error() { new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_0_1'; }, begin: function begin(isSwitch) { new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_2_1'; isSwitch && (new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_4_1'); cost = new Date() * 1; }, showFirstPage: function showFirstPage() { document.getElementById('js_content').style.removeProperty('opacity'); cost = new Date() * 1 - cost; var isTop = (document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop) === 0; if (cost 10 && cost 20 && cost 30 && cost 40 && cost 50 && cost arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray$1(arr); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread(); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function decodeVoiceEncodeFileid(fileid) { if (!fileid) return ''; try { var normalized = String(fileid).replace(/=/g, '=').trim(); if (/^[A-Za-z0-9+/]+=*$/.test(normalized)) { return atob(normalized); } } catch (e) {} return ''; } function isSameVoiceFileid(fileidA, fileidB) { if (!fileidA || !fileidB) return false; if (fileidA === fileidB) return true; var plainA = decodeVoiceEncodeFileid(fileidA); var plainB = decodeVoiceEncodeFileid(fileidB); return plainA && plainA === fileidB || plainB && plainB === fileidA || plainA && plainB && plainA === plainB; } function updateProfileAttr(profiles, infos) { if (!profiles || !Array.isArray(profiles) || !infos || !Array.isArray(infos)) { return; } var _iterator = _createForOfIteratorHelper(profiles), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var profile = _step.value; var profileId = profile.getAttribute('data-id'); var profileInfo = findBizCardInfo(infos, profileId); if (profileInfo) { var is_biz_ban = profileInfo.is_biz_ban, original_num = profileInfo.original_num, biz_account_status = profileInfo.biz_account_status, verify_status = profileInfo.verify_status, round_head_img = profileInfo.round_head_img, nickname = profileInfo.nickname, signature = profileInfo.signature; profile.setAttribute('data-origin_num', original_num * 1); profile.setAttribute('data-is_biz_ban', is_biz_ban * 1); profile.setAttribute('data-isban', is_biz_ban * 1); profile.setAttribute('data-biz_account_status', biz_account_status * 1); profile.setAttribute('data-verify_status', verify_status * 1); profile.setAttribute('data-headimg', round_head_img); profile.setAttribute('data-nickname', nickname.htmlDecode()); profile.setAttribute('data-signature', signature.htmlDecode()); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } } function findBizCardInfo(infos, id) { return infos.find(function (info) { return info.fakeid === id; }); } function dealWithProfileData(data) { var _data$biz_card; if (!window.__second_open__) { return data; } var profileData = (data === null || data === void 0 ? void 0 : (_data$biz_card = data.biz_card) === null || _databiz_card.list) || []; profileData.map(function (item) { return item['original_num'] = item['orignal_num']; }); return profileData; } function updateCustomElementAttrs(dom, data) { if (!dom || !data) return; var profiles = dom.querySelectorAll('mp-common-profile'); updateProfileAttr(Array.from(profiles), dealWithProfileData(data)); } function preprocessMpAudios(dom, data) { var voiceList = window.__second_open__ ? data === null || data === void 0 ? void 0 : data.voice_in_appmsg_list_json : data.voiceList; if (typeof voiceList === 'string') { try { voiceList = JSON.parse(voiceList); } catch (e) { return; } } if (!dom || !voiceList) return; var albumlist = []; if (voiceList.voice_in_appmsg && voiceList.voice_in_appmsg.length > 0) { albumlist = voiceList.voice_in_appmsg; } var mpvoices = _toConsumableArray(dom.querySelectorAll('mpvoice')); mpvoices.forEach(function (mpvoice) { var mpaudio = document.createElement('mp-common-mpaudio'); var attrs = mpvoice.getAttributeNames().reduce(function (acc, name) { if (name === 'data-trans_state' || name === 'err_tips') return acc; return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, name, mpvoice.getAttribute(name))); }, {}); for (var key in attrs) { mpaudio.setAttribute(key, attrs[key]); } mpaudio.setAttribute('data-trans_state', 1); mpvoice.parentNode.replaceChild(mpaudio, mpvoice); }); var mpaudios = _toConsumableArray(dom.querySelectorAll('mp-common-mpaudio')); mpaudios.forEach(function (mpaudio) { mpaudio.style.opacity = 0; mpaudio.setAttribute('author', data.nick_name || ''); var album = albumlist.find(function (a) { var voice_encode_fileid = mpaudio.getAttribute('voice_encode_fileid'); try { voice_encode_fileid = decodeURIComponent(voice_encode_fileid); } catch (e) {} return isSameVoiceFileid(a.voice_id, voice_encode_fileid) && a.appmsgalbuminfo; }); if (album) { mpaudio.setAttribute('data-topic_id', album.appmsgalbuminfo.album_id || 0); mpaudio.setAttribute('data-topic_name', album.appmsgalbuminfo.title || ''); mpaudio.setAttribute('data-topic_link', album.appmsgalbuminfo.link.html(false).replace('#wechat_redirect', '') + '#wechat_redirect'); mpaudio.setAttribute('data-topic_num', album.appmsgalbuminfo.tag_content_num || 0); } var voiceInfo = albumlist.find(function (a) { var voice_encode_fileid = mpaudio.getAttribute('voice_encode_fileid'); try { voice_encode_fileid = decodeURIComponent(voice_encode_fileid); } catch (e) {} return isSameVoiceFileid(a.voice_id, voice_encode_fileid); }); if (voiceInfo !== null && voiceInfo !== void 0 && voiceInfo.listen_id) { mpaudio.setAttribute('listen_id', voiceInfo.listen_id); } }); var claudios = _toConsumableArray(dom.querySelectorAll('mp-common-claudio')); claudios.forEach(function (claudio) { claudio.style.opacity = 0; }); } function handleTagReplacement(ele, newTagName) { var newTag = document.createElement(newTagName); var _iterator2 = _createForOfIteratorHelper(ele.attributes), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var attr = _step2.value; newTag.setAttribute(attr.name, attr.value); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } newTag.innerHTML = ele.innerHTML; ele.parentNode.replaceChild(newTag, ele); return newTag; } function preprocessMpMusic(root) { var qqmusicEles = _toConsumableArray(root.querySelectorAll('qqmusic')); qqmusicEles.forEach(function (ele) { return handleTagReplacement(ele, 'mp-common-qqmusic'); }); } if (!window.__second_open__) { updateCustomElementAttrs(window.document, window.mp_profile); preprocessMpAudios(window.document, { voiceList: window.voiceList, nick_name: window.nickname }); preprocessMpMusic(window.document); } exports.preprocessMpAudios = preprocessMpAudios; exports.preprocessMpMusic = preprocessMpMusic; exports.updateCustomElementAttrs = updateCustomElementAttrs; exports.updateProfileAttr = updateProfileAttr; Object.defineProperty(exports, '__esModule', { value: true }); return exports; })({});var __INLINE_SCRIPT__ = (function () { 'use strict'; function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var prefix = '__WXLS__'; var localStorage = window.localStorage || { getItem: function getItem() {}, setItem: function setItem() {}, removeItem: function removeItem() {}, key: function key() {}, clear: function clear() { var _a, _b; (_b = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a); }, length: 0 }; var evictionPolicies = { noeviction: function noeviction(data) { return data; }, 'allkeys-random': function allkeysRandom(data, size) { var keys = Object.keys(data); var memCnt = 0; while (memCnt < size) { var len = keys.length; var randomKeyIdx = Math.floor(Math.random() * len); var randomKey = keys[randomKeyIdx]; memCnt += JSON.stringify(data[randomKey]).length; delete data[randomKey]; keys = Object.keys(data); } return data; }, 'volatile-ttl': function volatileTtl(data, size) { var keys = Object.keys(data); keys = keys.sort(function (key1, key2) { var d1 = data[key1]; var d2 = data[key2]; if (d1.exp < d2.exp) return -1; if (d1.exp > d2.exp) return 1; return 0; }); var memCnt = 0; for (var i = 0; i < keys.length; i++) { if (memCnt >= size) break; var key = keys[i]; memCnt += JSON.stringify(data[key]).length; delete data[key]; } return data; }, 'clear-all': function clearAll() { localStorage.clear(); return {}; } }; function formatLogMsg(str) { return "[WXLS] ".concat(str); } var LS = function () { function LS(func, evictionPolicy, logger) { _classCallCheck(this, LS); this.logger = function () {}; if (!func) throw 'require function name.'; this.evictionPolicy = 'noeviction'; this.key = func; if (typeof logger === 'function') { this.logger = function (str, type) { return logger(formatLogMsg(str), type); }; } if (evictionPolicy && Object.keys(evictionPolicies).indexOf(evictionPolicy) !== -1) { this.evictionPolicy = evictionPolicy; } this.init(); } _createClass(LS, [{ key: "init", value: function init() { var _a, _b; this.check(); if (Math.random() * 1000 < 1) { (_a = this.logger) === null || _a === void 0 ? void 0 : _a.call(this, "LSlen: ".concat(((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length) || localStorage.length), 'report'); } } }, { key: "getData", value: function getData() { var data = LS.getItem(this.key) || '{}'; try { data = JSON.parse(data); } catch (e) { this.logger("getData error: ".concat(e), 'error'); localStorage.removeItem(prefix + this.key); data = {}; } return data; } }, { key: "check", value: function check(isReturn) { var data = this.getData(); var temp = {}; var now = +new Date(); var key; var val; for (key in data) { val = data[key]; if (+val.exp > now) { temp[key] = val; } } this.logger("check info: isReturn:".concat(isReturn, " data:").concat(JSON.stringify(temp)), 'info'); if (isReturn) return temp; LS.setItem(this.key, JSON.stringify(temp), this.logger); } }, { key: "set", value: function set(key, val, exp) { var _a, _b; var data = this.check(true); data[key] = { val: val, exp: exp || +new Date() }; try { if (localStorage.getItem(prefix + this.key)) localStorage.removeItem(prefix + this.key); localStorage.setItem(prefix + this.key, JSON.stringify(data)); this.logger("first set success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data)), 'success'); } catch (e) { this.logger("first set error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data), " k:").concat(key, " v:").concat(val, " exp:").concat(exp), 'error'); localStorage.clear(); LS.setItem(this.key, JSON.stringify(_defineProperty({}, key, { val: val, exp: exp || +new Date() })), this.logger); } } }, { key: "get", value: function get(key) { var data = this.getData(); data = data[key]; return data ? data.val || null : null; } }, { key: "remove", value: function remove(key) { var data = this.getData(); if (data[key]) delete data[key]; LS.setItem(this.key, JSON.stringify(data), this.logger); } }], [{ key: "getItem", value: function getItem(key) { key = prefix + key; return localStorage.getItem(key); } }, { key: "setItem", value: function setItem(key, val, logger) { var _a, _b; key = prefix + key; var n = 3; while (n--) { try { if (localStorage.getItem(key)) localStorage.removeItem(key); localStorage.setItem(key, val); typeof logger === 'function' && logger("setItem success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(key, " val:").concat(val), 'success'); break; } catch (e) { typeof logger === 'function' && logger("setItem error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(key, " val:").concat(val), 'error'); LS.clear(); } } } }, { key: "clear", value: function clear() { var i; var k; for (i = localStorage.length - 1; i >= 0; i--) { k = localStorage.key(i); if (k.indexOf(prefix) == 0) { localStorage.removeItem(k); } } } }, { key: "getSupportEvicationPolicy", value: function getSupportEvicationPolicy() { return Object.keys(evictionPolicies); } }]); return LS; }(); var key = 'stream_last_read_pos'; new LS(key); var interactionStatusLS = new LS('bottom_interaction_status'); function getInteractionStatus() { var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var biz = opt.biz || window.biz; var sn = opt.sn || window.sn; var mid = opt.mid || window.mid; var idx = opt.idx || window.idx; var interactionStatusKey = [biz, sn, mid, idx].join('_'); var interactionStatusInfo = interactionStatusLS.get(interactionStatusKey) || {}; if (Object.prototype.toString.call(interactionStatusInfo) !== '[object Object]' || window.cgiData && window.cgiData.trans_appmsg_info && window.cgiData.trans_appmsg_info.trans_type === 1 ) { interactionStatusInfo = {}; } var interactionSubscribeInfo = interactionStatusLS.get(biz + 'interaction_subscribe') || {}; interactionStatusInfo.is_subscribed = interactionSubscribeInfo.is_subscribed || false; return interactionStatusInfo; } var formatReadNum = function formatReadNum(value) { var result = ''; var unit = window.LANG === 'en' ? 'k' : '万'; if (parseInt(value, 10) > 100000) { result = 10 + unit + '+'; } else if (parseInt(value, 10) > 10000 && parseInt(value, 10)
中国科学技术大学太湖路园区改造
项目概况太湖路园区占地面积约179.95亩,该园区原为安徽交通职业技术学院北区,现已整体划归中国科学技术大学。园区现有宿舍楼、教学楼、食堂、实验楼、体育馆、体育场等设施约10万平,各建筑建设于上世纪九十年代至2021年不等,建筑外立面普遍出现不同程度的老化,并且整体风貌与中国科大的校园文脉脱节。本次设计是在实地调研和勘察的基础上,对园区的整体建筑风貌进行控制和统筹设计。提出园区立面改造原则以及适应性再利用策略;确定立面材料选型以及重要节点的做法;并提升建筑周边的小环境和微环境,经改造完善后,将可满足约3000人的生活、教学、科研需要,成为中国科大校园版图的重要拓展,同时也为合肥市提供又一城市更新的示范样本。新旧交融,空间针灸在满足功能需求的同时,对校园建筑空间环境实施微更新,打造具有时代特色和校园文化的空间,实现校园与城市的有机融合。基于园区现状空间肌理与建筑造型比例,结合中国科大现有校园文化风貌特色,对园区内建筑开展外立面改造提升。校园改造后分区架构明确,包括重点改造提升区、城市风貌协同区、微更新区域。重点改造提升区:教学区延续中国科学技术大学本部东校区核心区的砖红色立面风格;园区与城市风貌协同区:南北临近城市界面的位置,协同原风貌与中国科大特色。生活区微更新:生活区延续原有建筑白色立面,与周边建筑界面浅米色、灰色系的建筑色彩相协调,同时保持典雅清新的园区边界。保持现状不变:运动场附属建筑为新近落成建筑,不做改动。校园公共空间优化风雨操场前的广场经过景观提升后将作为重要的校园开放空间节点,打造成为一个校园客厅,既是师生休闲活动与聚会交流场所,也是面向城市的形象展示界面。结合东西向校园主路和校园绿化带的布置重点打造自西向东的视景通廊。通廊的东侧是视野开阔的马鞍山快速路和高层办公楼,南北两侧教学楼与宿舍楼在立面形式语言上相互呼应,构建和谐整体的校园街景。风雨操场改造风雨操场,建筑面积8218.90㎡,结构形式为框架结构,屋面为网架结构;至今已使用近20年,保温空鼓部分装饰脱落,存在安全隐患;立面缺乏统一元素,钟楼与宿舍距离过近,不仅没有发挥应有的标志性作用,反而形成较强的压迫感。本次改造坚持"五不变"原则,即:保留原有建筑的主体功能、结构体系、防火分区、防烟分区及安全疏散路径不变。外立面升级以"统一元素、强化秩序"为核心,设计语言全程呼应中国科大校园文化基因;塔楼调整至广场同侧,塑造校园视觉焦点,与广场共同构建集散与仪式双重空间。新立面采用幕墙体系,运用立面造型、色彩与材质等设计语汇,重新演绎并延续中国科大独有的场所记忆。图书馆改造作为校园东部面向城市界面的核心建筑,图书馆将转型为档案馆。原图书馆"横向长窗"对档案存储不利。改造通过封堵与重塑的方式,在既有窗洞内做保温密闭处理,再以模数化新窗洞重构北立面秩序,形成节奏统一的"档案格架"。北立面正对风雨操场与校园东西主轴,原南侧大台阶不再适用,拆除后于主入口外增砌一层镂空陶砖幕墙,既遮隐旧有体量,又以砖的厚重感回应校园文脉,为新档案馆赋予静谧、沉稳的气质。教学楼改造教学楼改造的内容较为复杂,北侧形体保留,需进行重点改造。去除原有面砖,重点立面区域使用陶板幕墙,局部采用金属幕墙,并增加型材与砖幕墙交接、封边。优化主入口体量,使竖向形体突出于主体之外,形成横、纵对比,突出建筑特点;南侧形体鉴于功能周转后计划拆除,选择了较为经济的装饰砂浆涂刷进行翻新。尊重原有横向展开面较长的形体及带形长窗,强化横向立面构成,使建筑整合为统一形体。学生宿舍改造(1)去除原有坡顶构造,改造成平屋顶,女儿墙压顶造型采用金属板,干净整洁。(2)外门窗更换提质,增加窗下口成品铝合金批水板,颜色同窗框。(3)增设电梯,并采用玻璃幕墙加层间铝板外包线条。(4)立面使用装饰砂浆,雨篷结合楼电梯出入口。食堂改造食堂简单改造,立面通过增加弧形门头,将入口与室外楼梯进行整合,同时与景观形成良好界面,提升建筑形象;采用装饰砂浆、金属门头、PU背景墙等丰富建筑立面。项目团队设计团队项目名称中国科学技术大学太湖路园区改造项目地点安徽省合肥市建筑类型教育建筑用地面积119,967.10㎡建筑面积约101,100㎡设计时间2025设计单位清华大学建筑设计研究院有限公司项目负责人李惟科建筑专业负责人王鹏建筑专业设计人隋铮、陈丽姗、刘佳培、张晓茜、冯静、徐冰、王海旺结构专业负责人房轻舟电气专业负责人王海量给排水专业负责人牛凯斌设备专业负责人郭斌
沧州市第十四中学南校区
项目概况项目位于沧州市运河区开元大道东侧、安悦街西侧、307南绕城北侧。项目地理位置优越、交通便利,场地现状无植被覆盖,与周边道路无明显地势高差,区域内无高压电线(电缆)穿越或跨越。项目总用地面积5.0731公顷,主要建筑包括综合教学楼、文体综合楼、宿舍楼、门卫;配套建设田径场、足球场、篮球场、旗台、绿化、硬化等。项目建成后为16轨制初级中学,共48个班2400人。设计理念知识之舟,千涛载卷校园规划以"知识之舟"为精神内核,将千年运河的漕运智慧转化为空间基因。建筑群如扬帆船队沿南北轴线左右展开,综合教学楼以顺列型的排布呼应运河上的漕船队列,层叠错动的立面构成"千涛载卷"的书简长卷。地面水波纹铺装串联旗台广场与运动区,形成载动文化传承的视觉长河;307南绕城路侧的生态绿廊如静默护波,使城市喧嚣化为学海航程的背景音。核聚联动,学脉贯通"核聚联动"理念驱动功能高效织融,构建贯通生长的学脉网络。两座教学楼通过双联廊形成学科共振体,专业教室与实验室环抱共享中庭,激发跨领域思维碰撞;综合教学楼通过室内连廊无缝锚接,实现全气候五分钟通勤圈。以人为本,筑境育人校园设计始终将师生的身心体验置于核心,从青春期的行为特征到教育变革的空间需求皆深刻融入肌理:教室模块化通过装配式框架实现灵活重组,支持探究式学习与协作共创;连廊网络织就风雨无阻的通勤纽带,校园内的每一步都踏着温暖与安全;窗台化作观景书案,景观庭院变身生态课堂。专业教室群环绕阳光中庭布局,落地玻璃模糊学科边界,激发思维的自然流动。夜色中暖橘光晕沿弧形轮廓流淌,既守护晚归脚步,亦以"明月映沧州"的诗意唤醒文化认同。功能组织功能组织遵循全维度育人逻辑,打破教学、运动与生活空间的传统边缘界限。教学楼群通过灵动连廊形成有机网络,促进学科间的自然交融;地下文体设施与地面活动场地立体联动,释放多维学习场景。宿舍区与教学区构建风雨无阻的通勤体系,确保师生在各类天气条件下都能畅行无阻,真正实现以空间赋能教育效能的提升。可持续发展可持续发展理念贯穿每个设计维度。从生态降噪绿廊的边界处理,到透水铺装与屋顶花园组成的海绵系统;从装配式结构提供的空间重组弹性,到本土材料与低技节能策略的运用——所有举措共同织就绿色成长的生态基底。让校园不仅是传授知识的场所,更是承载代际记忆的容器,为沧州基础教育树立人文与自然和谐共生的典范。建筑设计综合教学楼承载教学核心功能,半围合形式建筑体量呼应"知识之舟"的精神内核。本建筑共分为A、B、C座,建筑平面规整,每一建筑楼座均南北一组,各自形成围合、半围合内院。三座教学楼座沿东西向一字排开,形成各自独立又相对集中的教学区。建筑组群方整有序,教学楼造型设计凸显建筑体量感和空间虚实对比关系,利用竖向、横向线条,营造建筑的挺拔感、体量感,建筑风格简洁、新颖、大方,外观造型及色彩与周边已有建筑相协调。空间组织践行"核聚联动"内核,教学区采用"双核三翼"布局,共享中庭作为知识熔炉,专业教室、实验室与普通教室如船舱环绕分布,建筑外墙采用白色、灰色、橙色真石漆及局部铝板,虚实结合、色彩明快。教学楼地下一层功能为设备用房及汽车库,地上1-4层主要功能为50人普通教室、专业教室、教研办公室、阅览、食堂(就餐区)、变配电室、消防控制室以及各种教学辅助用房等。建筑地下一层层高3.9m(上部覆土区)、5.8m(主体建筑下部);首层层高4.5米,二层-四层层高为4.2m,室内外高差均为0.30m。文体综合楼为地上一层建筑,南侧功能为篮球馆,北侧为阶梯式多功能厅,中部为公共卫生间、更衣、淋浴等功能。篮球馆层高为9.6m,多功能厅层高为6m,中部门厅、卫生间、广播室等区域层高为4.80m。建筑立面建筑立面风格现代简约,以橙色真石漆与白色构件、银灰色铝板(或银灰色金属漆)搭配,营造简洁大气氛围。橙色真石漆传递沉稳厚重感,呼应校园文化底蕴;白色框架与通透玻璃和白色穿孔铝板,增强空间轻盈感与采光。立面线条规整有序,横向窗带、竖向立柱塑造节奏韵律,既满足功能需求,又展现简洁明快、富有秩序的视觉效果,让建筑在蓝天绿树映衬下,彰显现代教育建筑的活力与质感。项目团队设计团队项目名称沧州市第十四中学南校区项目地点河北省沧州市建筑类型教育建筑用地面积5.0731公顷建筑面积3.15万平米中标时间2025设计单位清华大学建筑设计研究院有限公司业主单位沧州市教育局项目负责人蒋炳丽、马京涛设计指导盛文革方案设计宫学宁、赵欣亮、王倩颖建筑设计郝利兵、丁鸿雁、刘训英、刘英男、赵婷、孟庆山、李玉威结构设计李增超、陈化康、季运全、马志平、杨帆、张静锟给排水设计郭汉英、李伟、王文举暖通设计张志林、李铁利、丁明琦强电设计王立驰、朱冰、何璐媛智能化设计王立驰、朱冰、何璐媛景观设计李伟、包春雷、李诗瑶、杨浩绿色节能设计袁朵、刘晓晖、马莹莹
沧州市上海路小学南校区
项目概况上海路小学南校选址于河北省沧州市运河区,延续本部"闻香向雅·沐香笃行"的办学理念,为周边居民提供就近入学便利,助力区域义务教育优质均衡发展。项目办学规模设定为6轨36班完全小学,每班定员45人,同步配套建设300米田径场、地下停车库、围墙及升旗台等附属设施。地域文化沧州地处九河下梢,京杭大运河穿城而过,215公里的沧州段约占大运河总长的七分之一,是运河流经里程最长的城市,积淀了深厚的历史文化底蕴。设计理念设计以"乐学沧舟"为核心理念,提取"运河明珠、舟行致远"的地域特征,将运河文化精神转译为空间语言,打造一座兼具文化传承与当代教育功能的现代化小学,构建"寓教于乐、环境育人"的当代教育场景。当代校园不再是单纯的遮风避雨之所,而是塑造人格、传播文化的载体。设计以儿童心理学与行为学为逻辑基础,打破传统校园"封闭教室 + 单一走廊"的刻板范式,将学习场景从课堂延伸至全域空间,以开放、连续、可互动的场景回应儿童好动、好奇、爱探索的天性,让孩子快乐成长,于潜移默化之中养成主动思考的习惯。场地规划项目周边规划有养老、居住、教育等功能建筑,城市片区走向成熟。项目用地东接龙湖南街,南邻大王庄路,西接安悦街,北达吴川路,路网环绕,交通便捷通畅。校园规划充分考虑周边因素,理性布局,形成了"西建筑东场地"的总体结构,充分回应周边环境约束条件:将运动场布置于东侧,以物理距离规避运动噪声对西侧养老院的干扰;教学楼集中布置于西侧,三组教学单元与公共教学部分沿安悦街依次排布,形成富有韵律的沿街建筑界面。在普通教室和田径场之间以共享廊道整合楼梯间、卫生间、教研室等辅助空间,实现各功能模块的高效串联;南侧设置风雨操场,便于体育设施向社区开放共享;北侧布置年级合班教室,在吴川路形成标志性的校园形象。北侧在吴川路、南侧在大王庄路上设人行出入口,均与用地红线保持较大退距,预留充足接送缓冲空间,实现校园与城市道路的安全、平缓过渡。功能布局当代教育理念倡导多元学习与互动式成长,主张知识在交流互动中自然生发与传递。本次设计深度契合当代教育理念,采用"交通即交流"的空间营造策略,在交通流线空间中嵌入多元交流场景,将公共走廊赋能为共享廊道,使其成为推动师生多元交流的核心载体。教学单元之间及与体育馆、报告厅、教研室等功能体块,通过共享廊道高效串联,形成流动性、多义性的整体空间,让交流成为自然发生的日常场景。在贯穿南北的共享廊道中嵌入读书角、展厅等特色节点,形成复合的空间体系,如同承载智慧的运河在校园中流淌,润物无声。宽阔的廊道兼具非正式学习功能,成为触手可及的"流动图书馆";低、中、高年级教学单元则如方舟般浮于"知识运河"之上,承载正式教学功能。空间组合依托"西建筑东场地"的规划格局,校园打造连续贯通的慢行系统与开放绿园,地面局部架空、庭院穿插、田径场与共享廊道无缝衔接,实现室内外空间无界融合。开阔的活动场地、畅达的行走动线、充裕的游戏空间,任孩童自由奔跑、肆意嬉戏,在跃动中释放蓬勃活力。建筑造型在整体风格上,本项目与上海路小学本校区保持协调统一。设计在保留传统红砖韵味的基础上,通过简约造型的塑造与现代材质的运用,为建筑注入鲜明的时代气息,诠释小学校园建筑的朝气蓬勃、温馨舒适的双重特质。外立面设计巧妙运用红砖与灰白色元素的对比搭配,营造出活泼灵动和优雅大方的视觉效果。外墙主体采用温暖质朴的红砖真石漆饰面,天然肌理感与近人尺度赋予建筑经典美学传承;在窗间墙、风雨操场等局部区域,选用现代感十足的灰白色穿孔铝板与真石漆结合的处理方式,两种色彩、质感在建筑立面上相互交织、彼此映衬,丰富了立面的韵律与视觉层次。项目意义沧州市上海路小学南校区的建筑方案设计,是一次将城市地域文化、教育理念与校园空间环境深度融合的有益探索。在城市持续更新、城镇化水平不断提升的背景下,如何在中小学建设实践中,将地域文脉、教育理念与校园空间有机结合,打造兼具文化底蕴、育人功能与空间活力的现代化校园,仍需在设计与建设中持续探索。项目团队设计团队项目名称沧州市上海路小学南校区项目地点河北省沧州市建筑类型教育建筑用地面积2.51ha建筑面积20,053㎡中标时间2025建设单位沧州市教育局设计单位清华大学建筑设计研究院有限公司项目负责人刘动、马京涛项目经理蒋炳丽设计指导盛文革建筑设计刘动、张小鹏结构设计金辉、刘培祥、刘亦亨、王烨、王石玉给排水设计郭汉英、李伟、王文举暖通设计张志林、李铁利、丁明琦电气设计王立驰、朱冰、何璐媛智能化设计王立驰、朱冰、何璐媛景观设计李诗瑶、张博、包春雷、杨浩、李伟绿色建筑设计袁朵、刘晓晖、马莹莹
沧州市实验小学西校区
项目概况项目基地位于沧州市新华区交通大街以西,京杭大运河以东,造纸厂以北,志强路以南。地理位置优越,交通便利。用地北侧有两栋现状住宅楼,需考虑避免新建建筑对其产生日照影响;东侧为现状厂区,紧邻用地边界;用地西侧规划路对面为规划居住小区,需考虑日照影响及交通干扰问题。主要建筑包括一栋综合教学楼(含教学楼、实验楼、风雨操场及门卫等);配套建设田径场、篮球场、升旗台、绿化、硬化等。项目建成后为4轨制小学,共24个班,每班45人,学生共1080人,教职工57人。延续沧州书院文化 传承百年名校品质沧州市实验小学是一所有着深厚文化底蕴与良好社会声誉的省级示范学校,其前身为始建于清代嘉庆年间(公元1796年)的渤海书院,采用传统院落式布局,1961年更名为实验小学西校区。本项目在规划格局上延续沧州传统书院文化脉络,在空间组合、色彩及造型等方面唤起老校区的历史记忆。合理规划布局 高效利用土地项目用地面积较小,边界不规则,且周边限制条件较多。通过合理规划布局,可高效利用现状条件:教学综合楼布置于用地西南侧,东北侧设置运动场地,既拉开与北侧及东侧现状居住建筑的间距,避免对其产生日照影响;同时教学楼沿街布置,也有利于校园城市形象的展示。严格控制造价 保证落地品质通过集约的规划布局模式,打造紧凑型校园空间,共享教学与活动空间;通过高效的空间组织,合理划分功能分区,优化流线设计,提升空间使用效率;选择合理的结构形式及材料,在保证校园品质的前提下严格控制造价。打造现代简约的空间形态以"去繁就简、功能优先、自然融合"为设计原则,通过简洁的形态、通透的空间、质朴的材料,适配校园的教育属性与成长氛围,既满足教学、活动、休憩等核心功能需求,又传递简约、高效、人文的设计理念。形体组织摒弃复杂的装饰与冗余的造型,以"规整有序、灵活适配"为原则,兼顾教学空间的严肃性与学生活动的趣味性,同时最大化利用场地资源,优化采光与通风条件。空间形态打造"通透、开放、灵活、多元"的空间形态,既满足教学的严肃性,又为学生提供自由交流、自主学习的空间,促进学生的全面发展。空间设计注重"室内外融合、功能区联动",让空间服务于教育活动,传递简约而不简单的空间体验。材料选择上采用真石漆、仿石砖或铝板,颜色以浅灰色、米白色、浅米色为主,简洁大气,且耐候性强、易清洁,适合校园建筑的长期使用。营造绿色生态的校园环境学校绿色生态建筑以低影响开发、资源循环、清洁能源利用为核心,校园广场及道路采用透水混凝土/沥青、透水砖,雨水直接下渗补充地下水,减少地表径流。教学楼周边、广场角落设置生态洼地,搭配种植乡土水生植物,兼具景观与净化功能。屋顶设置太阳能光热/光伏系统,提升能源利用效率。因地制宜地构建校园景观体系学校景观设计以"因地制宜、生态自然、人文融合"为核心,立足校园场地特性,优先选用当地乡土树种与原生植被,如国槐、法桐及紫叶李、西府海棠等,既能降低养护成本、提升景观存活率,又能打造具有地域特色的校园环境,让学生在日常中感受本土自然文化,实现"环境育人"的隐性教育价值。充分利用现状地形条件,综合考虑用地周边现状条件,将教学楼集中布置于基地西南侧,运动场位于东北角,功能集中,城市形象好,且建筑与北侧住宅拉开距离,避免与之产生日照等问题影响。建筑整体布局通过两个"L"型建筑形体形成线性围合形态,将各个功能空间串联组织,既塑造了尺度适宜的内庭院空间,又便于不同教学功能的联系,使师生从一个区域到另一个区域的动线更短、更直接。线性围合的布局形态可以减少功能区之间的"物理阻隔",促进不同教学场景的自然衔接,半围合的内庭院空间既是校园的户外活动场地,也是校园的主入口广场。校园两个出入口均位于用地西侧,西南侧的出入口为主要出入口,西北侧出入口为次要应急出入口。主入口以人行为主,设置学生集散广场,靠南侧设置车行出入口,教工车辆入园后可以便捷的达到地下车库,避免与学生人流交叉。西北侧次要出入口为消防应急出入口,平时可以作为后勤出入口。教学综合楼整合了教学区、运动区、图书阅览区及校史馆展示区四大功能区域,采用科学的动静分区设计,实现了空间的复合高效利用,同时打造出充满童趣与活力的专属空间,兼顾教学、运动、阅读与文化展示的多元需求,让每一处空间都发挥其核心价值。首层主要为教学区(包含普通教室、舞蹈教室、形体教室、美术教室、心理教室、科技教室等);运动区(风雨操场)及南川文化展示区等。二层包含:普通教室,科学教室,活动室,教研室,音乐教室、器材室等。三层包含:普通教室,语言教室,书法教室,自然教室,教研室,多功能教室及教师办公区。四层包含:普通教室,图书阅览室,教研室,活动室等。地下一层主要功能为设备用房和汽车库;可提供60个机动车停车位,地下空间预留接送区,地下接送区作为连接校外交通与校内空间的关键节点,兼顾安全性、效率性与场景适配性。根据教学用房功能特点,合理布置功能房间,将教学综合楼临街靠近运动场一侧布置风雨操场、舞蹈教室及音乐教室等比较闹的功能用房,靠东南一侧主要布置普通教室、专业教室及图书阅览室等比较安静的功能房间,形成明确的动静功能分区。建筑立面整体风格简约现代,通过红砖与灰白色元素的组合,体现校园建筑活泼而典雅的建筑特质。外墙主要使用暖色调的仿红砖真石漆;大门等重点部位采用暖色调的红色陶砖,既彰显了庄重感又不失活力。校门结合疏散楼梯间设置校园标志塔,提升校园的沿街形象和标志性,丰富临街城市天际线形态。通过现代设计手法,营造兼具文化底蕴与现代活力的校园建筑形象,强化公众对校园文化内涵的认知与记忆,使实验小学西校区成为沧州市运河畔一道亮丽的风景线。项目团队设计团队设计单位清华大学建筑设计研究院有限公司建设单位沧州市教育局项目负责人刘恒、马京涛设计指导盛文革、蒋炳丽方案设计李慧、李艳悦、董鑫蕊、张柱建筑设计于阿娜、张柱、赵倩倩、王元书结构设计李增超、陈化康、季运全、徐珂给排水专业郭汉英、李伟、王文举暖通专业张志林、李铁利、丁明琦强电专业王立驰、郭红艳、朱冰、何璐媛智能化设计王立驰、郭红艳、朱冰、何璐媛景观设计张柱绿色节能设计袁朵、刘晓晖、马莹莹
威海老港区城市更新照明设计
一、项目概况威海老港区城市更新照明设计项目位于山东省威海市,作为一处面向公众夜间使用的"城市客厅",旨在营造一种类似家庭起居空间的氛围——使人感到放松、愿意在此驻足与交流,并能慵懒地休憩、沉浸与观景。项目总用地面积118,473㎡,总建筑面积123,197㎡,由清华大学建筑设计研究院有限公司设计,于2025年竣工。二、设计理念山、海、城的视觉关联在宏观尺度上,照明设计将山、海、城三者视觉相关联,构建出层次清晰、和谐的整体夜景框架。为区别于周边建筑上的光影秀与动态照明界面,至海港湾选用连续、统一的暖色调为核心光色,构建出清晰的区域边界,形成高辨识度的夜景地标。核心视觉焦点位于中轴线海岸末端的足球场成为核心视觉焦点,其照明方式在平衡赛事功能需求和降低灯杆对视觉轴线的干扰之间寻找平衡,灯光突出了绿茵场与环形跑道的鲜明色彩与视觉张力,吸引人们自发聚集于观景平台,无论赛时与否。三、照明设计策略半柱面照度优化照明设计优先满足空间的功能性与安全性要求,确保行人动线顺畅、视野清晰。在此基础上,引入"半柱面照度"作为核心光学指标,大量经由景观地面与建筑立面反射的间接光,有效优化人像在环境中的视觉舒适感,从而引导人们主动走向这一滨海空间。灵活多功能系统该项目的照明系统具备高度的灵活性与多功能性,可支持体育赛事、小型演唱会、发布会等使用需求。系统预设包括基础照明与动态场景模式,例如非活动时段的白光与彩光渐变组合,在满足功能照明的同时适配公众散步、跑步等休闲行为。四、景观与空间海洋韵律的动态照明在景观照明中,引入了与海洋韵律相呼应的动态节奏。通过强化植物照明的呼吸效果,由海岸至城市方向逐渐过渡的明暗变化,使光与建筑形态、海浪起伏形成视觉上的联动。人在空间中行走体验时,有时序变化的视觉引导与梯度式亮度分布,形成明确的空间层次,人们可感知、联想,甚至"呼吸"到与海浪同步的节奏。鲸鱼之眼景框建筑本身作为观景载体,设置了如"鲸鱼之眼"等结构性景框,既朝向刘公岛形成视觉通廊,也建立起从海上回望城市的象征性窗口。正是这种独特的空间叙事,吸引了国家外交部发言人的持续关注,并多次通过外网官方账号予以肯定与传播。项目团队建筑设计团队邹晓霞、于伟、孙覃佩、王潜、侯磊、曹敏、刘鹏祥、丛忻、刘明伟照明设计团队同原照明工作室摄影师丛茂林、杨彩云、王丹、孙祥洲
嘉兴高铁新城文化中心
一、项目概况嘉兴高铁新城文化中心位于嘉兴九水连心滨水景观网络最重要的节点之一,作为"城市客厅,新城之眼",为公众提供全时开放的高品质体验。项目总用地面积14,412㎡,总建筑面积26,082.06㎡,由清华大学建筑设计研究院有限公司设计,建设周期为2023年至2025年。二、设计理念城市客厅 · 新城之眼嘉兴高铁新城文化中心系统性地聚焦于三大中国本土可持续建筑设计的锚固点:与环境贡献率切实相关的生物气候适宜性;与经济发展密切相关的适宜建造技术体系;与社会公平密切相关的文化多样性。设计试图描绘人与自然、经济与技艺、文化与生活交织共生的可持续图景,赋予城市温度与时代厚度。生物气候适宜性设计在可持续设计理念的指导下,项目将打造为对公众开放的、让城市空间立体互联、全方位服务社区的低碳示范建筑。通过合理分区和灵活布局,采用低成本、多功能、多样化的运营模式,满足以音乐为主题的多样化功能需求。三、可持续设计策略碳中和目标实践项目致力于碳中和目标,通过空间分区与室外化组织、自然通风采光结合的灰空间舒适度设计,为公众提供全时开放的高品质体验。室内空间设置了小剧场、影音厅、影音沙龙及各类独立的主题空间;室外设置了音乐看台、各类休闲观景区、户外信息亭和双螺旋观光坡道等。四、室内空间通过强标志与话题性,激活引领新区域发展塑造未来空间,向公众展示低碳技术与城市生态的有机融合。室内外空间的有机衔接,创造了丰富的公共交流场景。五、项目图纸项目团队主创建筑师宋晔皓、孙菁芬建筑设计团队解丹、高唯芷、石磊、刘昆朋、褚英男、竟昕、史春雪、李真如、罗悦慈室内设计团队解丹、高唯芷、俞海跃、石磊、竟昕结构设计杨霄、崔娟、杨镇荣、汪建飞、苗磊、惠烨轩设备机电设计侯青燕、刘杰、方京鹏、艾涛、李晓敏、杨贺聚照明设计张昕、韩晓伟、赵晓波、牛本田、张桢宏
北京师范大学珠海校区理工楼综合体
项目概况 在人工智能深刻重塑教育方式的今天,大学教育的本质价值何在?校园的核心意义是什么?哈佛大学校长Alan M. Garber指出:"在人工智能的时代,愈发珍贵的,正是与他人真实共处的不可替代价值——去倾听、去质疑、并被彼此所改变。"当大规模高校建设浪潮逐步趋于理性,北京师范大学珠海校区理工楼综合体选择在山海之间,打造一个与科学、艺术、自然和人深度互动的学习场域。 项目占地13.6万平方米,总建筑面积约28.4万平方米,规划建设1902座大礼堂、389座音乐厅及艺廊、图书馆、体育健康中心、6栋实验楼及1栋综合教学楼。在"最美山谷校园"最西端,构筑功能高度复合、场景有机互动的校园新核心。 功能布局:科学、艺术、体育跨界交融 在以地下车库作为建筑群大底盘的传统模式基础上,理工楼综合体加入大剧院、音乐厅、艺廊和运动健康中心,形成功能更为丰富的"升级版营养层"。教学楼和实验楼嵌入营养层后,学生们可以轻松地在科学、艺术与体育之间穿梭,让全域成长融入日常。设计通过交织的路径、相互连通的主入口、遮阳通风的半室外共享空间,打破楼栋间的壁垒,营造功能丰满、流线紧凑高效的活力整体。 功能布局 功能布局 空间与山水交融:因借与渗透 项目地处山谷美景之中,设计力求尊重原有地形并善用山水资源,从建筑群整体布局、楼间视廊、近人场所营造的大中小三级尺度出发,塑造建筑与山水互为因借、虚实渗透的共生关系。 竖向设计依山就势,减少土方工程的同时,使建筑群错落有致,自然嵌入山谷脉络。建筑之间打造五条山水视廊,通过空间层次呈现更具审美价值的凤凰岭景观。场地设计利用原有水系和池塘,改造为步行主动线上的三个水景节点,延续场地原生山水气韵。设计联动室内外景观,形成连续完整的山水沉浸式体验,将自然意趣融入日常空间。 空间与山水交融 空间与山水交融 空间与山水交融 空间与山水交融 空间与山水交融 几何秩序美感:轴线收尾,几何归心 建筑形体以纯粹几何体为基础构架,塑造"学术云环"收束线性校园的交通主动脉,进而旋转轴线方向到南向广袤的山体。由此形成一条面向校园的轴线和一条面向山体轴线,让建筑群格局同时呼应校园肌理与山水肌理。 在线性校园的最西端构建出标志性精神场所,强化空间认同感。学术云环的内环半径为75米,控制在人与人可以相互辨识走路姿态、洞察聚集活动的尺度,1.5分钟可步行轻松穿越,营造兼具仪式感与烟火气的人文空间。 学术云环 学术云环 学术云环 人与空间的交互:线下具身体验 设计深刻回应数字一代对高质量线下连接与深度专注的渴望,有意创造调动运动知觉、触觉和听觉的高感官体验空间:柱廊光影下流水潺潺的大台阶,使人在穿梭中放空心灵;环绕绿心的室外楼梯,让人在漫步中体味花草树木的生机;光影斑驳、触感粗粝的艺术下沉庭院,激发出原始而真实的触觉。 这些空间鼓励自发性探索,吸引学生的关注力从线上回归线下,构成缓解压力、感受自我、滋养心灵的积极心理场域。 人与空间交互 人与空间交互 人与空间交互 空间与气候交融:融入生活的节能减碳 建筑形体布局与表皮设计深度回应岭南亚热带气候特征,注重以遮阳通风的朴素被动式措施塑造舒适的半室外公共空间。校园整体的山谷走势决定了场地风常年为东风,建筑群顺应风向布置体块,结合底层架空形成四条风道,快速带走实验室废气,同时形成良好的室内通风条件。建筑单体注重在屋顶和立面形成缓冲空间,通风遮阳的缓冲空间可减少室内能耗,并形成半室外公共空间,尤其为高层实验楼提供了触手可及的散步和休憩空间,缓解紧张的实验工作和科研压力。 节能分析 节能分析 空间与未来交融:灵活高效的实验室 北京师范大学珠海校区理工楼综合体是粤港澳大湾区西岸A类学科最密集的建筑综合体,涵盖地理学、教育学等5个A+学科和生态学、环境科学与工程等9个A类学科,并入驻院士团队重点实验室。实验室采用"定制+通用"的灵活模式:部分为特定学科与大型设备量身定制,部分提供高适应性灵活性的实验空间。通用实验室通过一体化、模块化设计,为空间变化预留基础。建立全专业"单体-楼层-房间-末端"的四级预留体系,最大限度避免未来拆改,降本增效,保障实验室的安全、健康与可持续升级能力。 实验室空间 实验室空间 项目实景 音乐厅与艺廊 大礼堂观众厅 项目实景 项目实景 项目实景 项目实景 项目实景 项目实景 项目实景 项目实景 项目实景 项目实景 设计团队 方案设计单位清华大学建筑设计研究院有限公司 初设及施工图设计单位清华大学建筑设计研究院有限公司(标段一)、深圳市建筑设计研究总院有限公司(标段二) 建设单位北京师范大学珠海校区 施工单位中国建筑第五工程局有限公司 总负责人庄惟敏 项目负责人张维、李若星 方案创作庄惟敏、张维、李若星、张啸乾、黄海阳、赵婧贤、于航、蔡明成、曲扬洋、李向苡 建筑设计张维、李若星、张啸乾、黄海阳、于航、蔡明成、曲扬洋、李向苡、王越、刘可 结构设计刘彦生、李青翔、李滨飞、李英杰、王彩玲、田萌、田艳华、祝乐琪、曹文涛 给排水专业刘福利、张伟、付超、郝金珠 暖通专业韩佳宝、杜广文、乔钰淇、贾昭凯、于丽华 电气专业王磊、潘敏、张松、徐慧影、贾启超、韩晓燕、崔晓刚 建筑摄影张超建筑摄影工作室 项目信息 项目名称:北京师范大学珠海校区理工楼综合体 项目地点:广东省珠海市 建筑类型:教育建筑 用地面积:13.6万㎡ 建筑面积:28.4万㎡ 设计时间:2020-2021 竣工时间:2025 方案设计单位:清华大学建筑设计研究院有限公司
河南国医学院
项目概况 南阳,古称"宛",为楚汉文化的重要发祥地,素有"南都"、"帝乡"之称。地理上,南阳位于伏牛山以南、汉水以北,故得此名。南阳是"医圣"张仲景的故里,这位东汉医学大家心怀救世之志,撰写了《伤寒杂病论》,被后世奉为"方书之祖"与中医药学的基石。今天,这份厚重的历史积淀依然是南阳最闪亮的文化名片。2021年5月12日,习近平总书记考察调研南阳医圣祠时提出:"我们要发展中医药,注重用现代科学解读中医药学原理,走中西医结合的道路"。经过5年的筹备,2026年5月21日教育部发布《关于拟同意设置本科高等学校的公示》,"河南国医学院"位列其中。 河南国医学院项目是河南省重点项目,项目一期总建筑面积约48.6万平方米,主要功能为图书馆、体育馆、会堂、科研用房、教学陈列用房等,建成后将成为智力资源集聚、研究成果转化、培养中医人才的重要载体,是中国第一所以"国医"命名的高等院校。校园选址于南阳市淯水新城,北望独山,南临白河,山水格局优越,为传承中医药文化提供了得天独厚的场所精神。 校园整体鸟瞰 仲景湖与图书馆 设计理念:校苑交融,礼乐自然 方案以"校苑交融、礼乐自然、无界共享、国医传承"为核心设计理念,通过中央仲景湖有机组织校园功能布局,延续历史文脉,展示仲景文化精髓,以苑囿手法,融入蓝绿空间,塑造一个全时全季、开放包容的魅力校园空间。设计团队深入挖掘南阳作为医圣故里的文化独特性,将中医药文化中"天人合一"、"阴阳平衡"的哲学思想转译为空间组织语言,使校园既是传授知识的学府,也是传承国医精髓的文化载体。 校园规划以仲景湖为生态与文化核心,湖光山色之间布置图书馆、会堂等标志性建筑,形成"湖—院—楼—山"层层递进的空间序列。这种布局既呼应了中国传统书院"依山傍水、藏风聚气"的选址智慧,又通过现代校园的开放式空间体系,打破了传统院系的封闭格局,营造出通透、流动、共享的当代学术环境。设计理念的核心在于让建筑成为自然与文化的"容器",而非主导环境的"纪念碑"。 空间布局:组团与中轴的秩序之美 空间采用组团与中轴线结合的布局形式,大道至简地将自然开放与秩序严谨相互融合。主校门、标志性建筑和重要景观布置于绿带形成的南北向空间轴线上,形成层层递进的空间层次,体现大学的博大精深。规划以仲景湖为中心景观,营造秩序内省与自由开放相得益彰的学术环境。东西向的科研轴与南北向的文化轴的交汇处,形成仲景广场,致敬医圣与中医药的千年传承。 学院组团围绕中轴线布置 校园总平面图 人文校园:承仲景文脉,筑温情治学空间 校园规划设计贯彻人文校园、绿色校园、韧性校园的理念。人文校园方面,设计深度挖掘南阳医圣故里的文化底蕴,以文脉传承、学术营建、艺术熏陶、人文服务为四大方向,着力打造底蕴深厚、温情雅致的人文校园。校园布局博物馆、名人雕塑、文化长廊等文化载体,让仲景中医药文化浸润校园每一处角落。园区配套大型会堂与室内体育场馆,构建完善的文体活动空间。 会堂外观 会堂室内 室内体育用房外观 室内体育用房室内 依托仲景湖打造湖景图书馆,配备充足阅读空间与自习研讨空间,未来可开展大师讲座、学术沙龙等活动,浓郁学术气息环湖而生。学科学院组团围绕中心轴线布局,六大组团中心设置镜面水池,环绕设置休憩连廊,以近人尺度的连廊空间消解大尺度新建校园带来的疏离感,连廊、座椅、植物、水面共同营造出清幽静谧的休憩交流场所。 图书馆室内 学科学院楼倒映在中心镜面水池中 中心广场周边的连廊 学科学院楼入口门厅 公共教学楼外观古朴大气,室内空间灵动明快,兼具古韵与活力。学生活动中心临湖而建,院落式布局打造视线交融的室内外空间。建筑、景观中巧妙融入地域文化符号。学生活动中心北侧专设中医药文化园,以实景载体传承国医精髓,同时完善全域人文服务体系,设立心理健康中心、志愿者服务站等服务空间,全方位培育学生社会责任感。 全域无障碍设施全覆盖,充分关怀多元人群,彰显包容友善的校园品格。食堂、后勤服务中心等配套空间也规划了多样活动区域,丰富师生日常体验。 公共教学楼外观 公共教学楼入口门厅 学生活动用房内院 学生活动用房内的心理健康中心 食堂室内 后勤服务中心室内 绿色校园:融自然生态,践行低碳可持续发展 项目秉持生态优先原则,从建筑节能、低碳交通、资源循环、生态造景与行为引导多方面落地绿色理念,打造生机盎然的生态校园。建筑层面应用光伏发电、绿色屋顶、自然采光通风系统,搭配环保建材,降低建筑能耗;交通体系以步行为核心,规划慢行廊道,配套共享单车、电动车及充电设施,倡导低碳出行。校园推行垃圾分类、雨水收集回用、厨余堆肥等资源循环模式,全面普及无纸化办公与教学。 场地充分保留原生植被,打造湿地景观、药用植物园,依托中草药种植开展劳动教育。中央仲景湖作为校园生态核心,搭配高低起伏的绿地形成校园"绿肺",水系、绿地与建筑相融相生。带状绿化沿道路延伸渗透至各个院落,搭配层次丰富的乔灌植被,打造移步皆景的步行空间、开放式庭院与亲水休憩场地,成为师生交流互动的自然场所。校园还将定期开展环保主题活动,建立能耗管理机制,将绿色理念融入师生日常。 学生活动中心院落式布局强调自然通风 图书馆立面遮阳细部 韧性校园:筑安全防线,打造全维度防护体系 立足安全底线,从物理防护、气候适应、应急管理、资源储备四大板块构建韧性校园,全面提升校园应对各类风险的能力。所有建筑严格执行高标准抗震设计,水电、网络系统采用冗余配置,楼宇内设应急物资仓库,筑牢物理安全根基。结合海绵校园设计手法,采用透水铺装、下沉式绿地、蓄水池,依托仲景湖水系有效消解暴雨内涝隐患;园区内增设避暑凉亭、喷雾降温设施,从容应对高温天气。 兼顾空间弹性利用,食堂、宿舍等公共空间可快速转换为临时医疗点、隔离区域,并配套储备应急发电车、净水设备等物资,全方位保障校园平稳运行。海绵校园的设计理念贯穿场地水系规划全过程,透水铺装、下沉式绿地与蓄水池形成多级雨水管理链,使校园在极端降雨条件下依然能够保持正常运转,同时为地下水的自然补给创造条件。 水边连廊提供清爽怡人的休憩空间 建筑细节:转译汉风古韵,彰显国医建筑气质 建筑设计汲取汉代建筑风韵,结合国医文化特色完成现代化演绎,整体风格谦和内敛、雄浑大气。建筑整体以坡屋顶为设计母题,各单体以院落组团串联,功能独立又互联互通;核心建筑群借鉴汉代高台建筑形制,塑造端庄稳重的视觉观感,屋顶线条平缓舒展,搭配特色屋脊装饰,细节精巧雅致。 立面采用浅色涂料搭配灰色面砖,入口融合钢结构与石材,体育馆运用特色金属屋面,图书馆等核心建筑点缀玻璃幕墙,传统质感与现代材质相得益彰。建筑细部巧设篆书浮雕、中草药主题纹饰,阙、榭、阁、廊等传统景观建筑散落于景观节点之中,让汉风古韵与国医底蕴渗透在校园每一处角落,建筑与远处独山景致相映,风光浑然一体。 各学院窗下墙采用不同的篆刻纹样 学院门厅玻璃幕墙上丝网印刷篆体的《伤寒杂病论》 学生活动中心入口雨棚玻璃天窗呼应"悬壶济世"的国医情怀 图书馆外观细部嵌入中草药元素,体现校园文化特色 融于山水,立于文脉 融于山水,立于文脉,医圣故里,国医风范。校园建筑顺势嵌入南阳山水肌理,与周遭山川湖景相映成趣。建筑形态呼应地域风貌,空间气质传承仲景精神,山水环抱间,一座兼具古韵新风的国医学府拔地而起,续写中医药传承发展的崭新篇章。2021年在河南南阳调研时,总书记来到东汉医学家张仲景的墓祠纪念地医圣祠,强调"推动传统中医药和现代科学相结合、相促进,推动中西医药相互补充、协调发展"。习近平总书记关于中医药工作的重要论述,为中医药传承创新发展指明了前进方向,提供了根本遵循。河南省国民经济和社会发展第十五个五年规划纲要明确要求"高标准建设河南省国医学院"。河南国医学院的获批和招生,将为当地推进中医药产学研一体化高质量发展提供蓬勃的动力,为当地中医药现代化、产业化,走出了一条独具特色的传统医药发展之路提供强大的支撑。 设计团队 项目名称 河南国医学院 项目地点 河南省南阳市 建筑类型 教育建筑 用地面积 108ha 建筑面积 486,000㎡ 设计时间 2021-2023 竣工时间 2024 设计单位 清华大学建筑设计研究院有限公司 建设单位 河南国医学院筹建工作领导小组办公室 代建单位 河南淯水新城资产管理集团有限公司 施工单位 中国一冶集团有限公司 项目总指导 庄惟敏 项目负责人 张维、张红 校园规划 张维、胡林、章宇贲、王威、李春慧、韩璐、李义、张思维、陈秋萌、高思琪、张天瑜 方案创作 张维、章宇贲、赵婧贤、黄海阳、吴冠德、田园、巩忠林、刘学文、彭书豪、王梦华 建筑设计 张维、张红、赵婧贤、李楠、蔡明成、于航、田园、刘学文、巩忠林、李向苡、马倩如、雷思雨、杨海潇、陈怡铭、曲扬洋、王越、刘凯、彭书豪 结构设计 刘彦生、李青翔、刘俊、王华、盖珊珊、经杰、陈钢、丁宇楠、杨忻雨 给排水设计 刘程、赵惠天、徐京晖 电气设计 李娟、金翔、李蕊、刘素娜 暖通设计 周溯、梅亚伯、魏云霞、鲜沐希 摄影师 张超
中国中医药联合研究生院
项目概况 2024年9月28日,中国中医药联合研究生院在苏州揭牌。2021年,苏州市政府与中国中医科学院签署全面战略合作协议,确定中国中医科学院大学落户苏州市吴中区。该项目由清华大学建筑设计研究院有限公司设计,是该院设计的又一个高品质教育项目。 中国中医科学院大学是中国首个以中医药学科为主体的"国字号"学府,致力于成为中医药特色鲜明、全国一流、世界著名的研究型学校,项目被列入江苏省重点工程。项目建成后,将成为全国乃至世界中医药教育的标杆。校园用地面积约40.6万平方米,总建筑面积约31.9万平方米,设计时间为2022至2023年,一期于2024年竣工。 校园整体鸟瞰图 ©THAD 设计理念 无论是中医药作为中华文明的瑰宝,还是国家级学府的战略定位,都昭示了中国中医科学院大学不仅是苏州的,更是中国的和世界的。因此校园规划无论是在建筑风格还是造园策略上,充分汲取苏州特色的同时,更加突出其代表"中国"的高度和定位。 校园规划及建筑设计遵循"园林中的大学,大学中的园林"的建设目标,结合中医文化和国医学府的定位,提出四个规划理念:"兼顾中国气韵与苏州特色"、"汲取整体观念与道法自然"、"融合医药文化与园林校园"、"秉承师承传统与弹性通用",从功能、空间、文化等方面力求人与自然的和谐共生。 图书馆 ©THAD 公共教学楼 ©THAD 实验楼 ©THAD 空间结构与建筑布局 在空间结构上,校园规划引入一条由公共建筑序列串联的传承发展轴,统领校园空间组织,形成一条传承与发展的时间脉络。叙述了由汉唐、至宋风、至明清、至现代的中医传承脉络。 在建筑布局上,自城市向太湖,由庄严稳重过渡到自由灵动,彰显国医气度的同时自然地融入自然环境。围绕传承发展礼仪轴布局各功能组团,满足全校师生的教学、科研、生活、休憩。 阶梯教室楼及图书馆 ©THAD 连廊及教学楼 ©THAD 连廊望向图书馆 ©THAD 教学楼细部 ©THAD 规划理念与文化表达 秉承经典中医药"师承"教学理念,营造符合中医药教学特点的学科群聚落。校园西区规划通过减小体量和布局形式,促进建筑与城市道路、河流边界等自然条件更加有机融合。建筑体量占据的"正空间"与校园空间留出的"负空间"构成"阴阳和合"的图底关系,效仿周边山为正、水为负的自然格局。 传承发展轴 ©THAD 东区礼仪主轴 ©THAD 东区鸟瞰 ©THAD 校前礼仪广场 ©THAD 院系楼庭院 ©THAD 学生宿舍 ©THAD 设计团队 设计单位 清华大学建筑设计研究院有限公司 合作单位 启迪设计集团股份有限公司 项目负责人 刘玉龙、莫修权 建筑设计 孙峂、孟一诺、赵新隆、王彦、艾星 结构设计 祝天瑞、任晓勇、蔡为新、董海凤、颜培扬、刘春、谢励、刘梦娇 给排水专业 刘福利、李妍、郝金珠、付超、张伟、董聪聪 暖通专业 韩佳宝、于丽华、张宇祥、乔钰淇、贾昭凯 强电专业 崔晓刚、王磊、徐慧颖、潘敏、张松、李丹 弱电专业 徐慧颖、贾启超、张松 摄影师 张超、莫修权 项目信息 项目名称:中国中医药联合研究生院 项目地点:江苏省苏州市 建筑类型:教育建筑 用地面积:40.6万㎡ 建筑面积:31.9万㎡ 设计时间:2022-2023 竣工时间:2024年(一期) 设计单位:清华大学建筑设计研究院有限公司 合作单位:启迪设计集团股份有限公司 获奖情况:2023亚太设计精英邀请赛金奖(室内设计)
北京理工大学长三角研究院北部创新研究中心
一、项目概况项目位于北京理工大学长三角研究院,院区选址于浙江省嘉兴秀洲区北部,毗邻京杭大运河。距离嘉兴市中心约7km。整体院区规划结构为"三湖两水,二轴四片区"。一期用地由南至北包含4个组团:南部创新研究中心及学生生活组团、图书馆、北部创新研究中心、北部学生生活组团。北部创新研究中心秉承学科交叉融合的理念,涵盖5个学科中心及公共教学空间,其中包括:分析测试中心、公共安全与智慧应急中心、物质科学创新研究中心、数字经济创新研究中心、交叉学院及公共探讨区。二、设计理念基地分析六大环境因素:沿东侧道路的边界处理;对礼仪广场与南侧建筑的呼应;图书馆南北视廊的对位关系;对场地西侧景观的利用;与景观广场的关系;对北侧水系及北侧建筑边界的处理。尊重场地周边建筑形态,力求与周边建筑协调,既能够顺延南北建筑形态,又能够突出礼仪广场正对的图书馆建筑,同时能够与环形建筑形成围合的内湖景观。策略一:无界院落,渗透自然院落围而不合,打破了空间的界限,形成内外渗透的多层次学科空间,为创新研究营造了一个开放、包容且富有活力的环境。建筑面向主入口礼仪广场时,以严谨对称的布局彰显庄重仪式感;面向图书馆时,则以拥抱姿态形成环抱式的景观广场;朝向滨河景观方向,则以灵活布局的小体量建筑为主,实现建筑与环境的有机渗透。围而不合,无界共生整山理院,绿意盎然方寸叠落,雅趣天成小径通幽,探寻未知策略二:交叉融合,共享链接体现在功能与空间两个层面,通过建筑体量的咬合布局,虚实相生,实现各学院和各种功能在共享空间上的互相联系。空间交错,学科融合入口藏趣,如江南叠石檐下生辉,虚实相运放松角部,自由学术策略三:游园学教,明理之廊以生态与文化融合为核心,明理之廊为脉络,实现游园式教学。突破传统课堂的局限,促进知识的多元交互与深度融合,是教育模式的革新探索。沿着明理之廊散落布置的共享教室形成多种半围合非正式交流空间,这些空间依托自然采光与景观渗透构建出舒适宜人的微气候环境,有效促进知识的非正式传播与跨学科思维碰撞。活力之廊,学术之廊空间游走,上下相通游园学教,环境相宜策略四:精工营造,和韵江南嘉兴蓝绿基因与北理工精工精神的碰撞融合,形成有理、有序、有技、有绿的立面形态。建筑材料遵循新旧共生原则,定制灰砖基座沉稳厚重、白色格栅幕墙展现现代理性,将江南粉墙黛瓦的意蕴予以呈现。现代精工,模数和律采用磨砂玻璃砖作为交通核的围护结构,日间借漫反射引入自然光,消解空间封闭性。梯廊空间,光影勾勒明理之廊以清水混凝土为建构材料,通过隔栅片墙的虚实排列形成韵律界面,在师生穿行间构建光影叙事场景,使建筑实体不仅承载交通功能,更成为文化传承的空间载体。夜间搭配灯光,打造院区标志性节点。明理之廊,夜熠生辉科研平台采用"工艺核+框架结构"的模块化平面功能设计策略,构建可生长的空间体系。该体系既可单层适配PI科研团队的个性化需求,也可多层组合形成学科集群,在满足实验室特殊工艺要求的同时,预留未来功能迭代的弹性接口,体现了建筑空间对科研活动动态发展的适应性与前瞻性。三、结语项目以京杭大运河文化为精神内核,打造地域文脉传承与教育创新融合的学科交叉综合体,实现生态、文化、空间与技术的协同效益。北京理工大学长三角研究院北部创新研究中心建成后,与整个院区空间融为一体,无界院落通过明理之廊拓扑连接,打破学科壁垒,提升知识流动效率,共享的、灵活的科研平台加强了学科交叉、学术交流,促进产学研的融合与科技创新驱动力。项目团队项目总顾问胡绍学项目负责人方云飞、宋侃达项目经理时治宇方案设计胡绍学、方云飞、宋侃达、李平、胡真、毛圣鹏、陈青、张冬旭、王啸天、王云飞、李楠、冯晨、屈泊静、付文杰、王安宇建筑专业王笑寒、路玥、赵丹、张怀萍、张伟、赵兰、李楠、张葵、梁增贤结构专业田艳华、祝乐琪、李晋春、李滨飞给排水专业赵惠天、刘程、徐京晖暖通专业周溯、佘绮睿、王一维电气专业李娟、王学伟、张章、武毅
清华大学自强科技楼
项目概况 本项目位于清华园东区南北向主轴线的中部东端,东侧邻近大学校园东边界的荷清路。建设用地四周均由校内道路环绕,其中西侧紧邻明德路;建设用地周边相邻的校内建筑及场地如下:西侧为校园绿化活动场地及综合体育馆,东侧为东区锅炉房及燃气调压站,南侧为"化工电大楼",北侧为"罗姆楼"。 自强科技楼北侧 ©THAD 自强科技楼南侧 ©THAD 本项目原名"清华大学综合实验楼",现名"清华大学自强科技楼"。总建筑面积达14.1万㎡,其中地上建筑面积为9.1万㎡,地下建筑面积为5.0万㎡;建筑主体地上十四层、地下四层,地上建筑高度达60.0米,是整个校园内基础埋深最深、建筑檐高最高、单体建筑面积最大的建筑物。作为清华大学校园东区的标志性科研建筑,自强科技楼在体量与埋深上均刷新了校园建筑的纪录,集中体现了当代高校科研建筑向集约化、综合化、地下化发展的发展趋势。 功能构成 科研实验功能:本项目主要使用功能为科研实验综合楼,包括实验室、研究室、会议室、教室、多功能厅等主要使用功能用房及设备用房等相关辅助用房。其功能分区主要包括以下三部分。 自强科技楼北侧楼 ©THAD 自强科技楼南侧楼 ©THAD 地上高层建筑:南北侧各两栋十四层高层主体建筑,分别表示为"西南楼、西北楼、东北楼、东南楼"。其主要功能房间为实验室、研究室等用房及相关辅助用房。四栋高层塔楼通过裙房与地下室相互联系,形成既相互独立又彼此连通的有机整体,便于不同院系单位在使用上的相对独立与协同共享。 地上多层建筑:东侧五层裙房建筑,表示为"东侧裙房"。其主要功能房间为实验室、研究室等用房及相关辅助用房。裙房作为四栋高层塔楼之间的连接体,承担公共实验、共享交流等复合功能,是整个建筑群落的功能与空间枢纽。 地下建筑:包括四层地下室。其中地下四层主要功能为汽车库,设备用房等辅助用房,以及少量实验室;地下三层主要功能为汽车库,实验室、研究室等用房,以及设备用房等辅助用房;地下二层及地下一层的主要功能均为实验室、研究室等用房,以及设备用房等辅助用房。地下空间的充分利用,是本项目回应集约用地、人车分流与功能复合要求的关键策略。 教学功能:四栋高层塔楼及裙房,分别满足以下四个部门单位的科研办公及教学使用:西南楼与部分东南楼的使用方为计算机系、西北楼及部分裙房的使用方为集成电路学院(微纳电子系)、东北楼的使用方为专项科研用房、东南楼及部分裙房的使用方为校管公共实验用房。 自强科技楼外观图 ©THAD 本项目建成后,将成为清华大学面向世界科技前沿、面向国家重大需求、进一步提升计算机科学与技术、集成电路科学与工程等学科办学水平、助力相关学科冲击世界顶尖水平的重要载体之一。其中裙房内所设置的"超净实验室",是满足100级与1000级净化级别的、恒温恒湿、攻坚集成电路技术难点等的重点实验室,为学校在集成电路领域的前沿研究提供了高水平硬件支撑。 设计理念 自强科技楼外部环境 ©THAD 总体布局延续清华校园东主轴线空间序列、形成向校园开放的空间界面。依托于清华大学校园东区主轴"主校门→大草坪→主楼广场→主楼→综合体育馆",综合实验楼与主轴上的综合体育馆共同形成东西向延展轴线,从而与南北向主轴共同构成校园轴线序列空间。建筑布局采用面向西侧开口的"U字型",沿建筑西侧的校园主路明德路退让出一个视野开阔的室外绿化庭院,形成面向东侧校园主轴开放的、共享的、友好的、宜人的空间界面。 自强科技楼全景图 ©THAD 本项目的建筑造型,力求与清华校园东片区的整体建筑空间及语言相协调,同时努力提升校园教学科研的环境品质。建筑"U字型"布局对校园主路作出积极的退让,同时将建筑划分为四栋高层主体及一栋多层裙房、并在建筑顶部作退层处理,从而避免高层建筑对邻近的校园空间产生较大的视觉压迫感。这种化整为零的体量处理方式,既保留了科研建筑必要的规模效应,又以人的尺度回应了校园既有空间的肌理与尺度。 自强科技楼中部通透、面向西侧开放的建筑布局形态 ©THAD 自强科技楼顶层细节处理 ©THAD 建筑设计中采用"适度"的设计理念,通过精细化的细部设计展现清华科研建筑的文化底蕴和现代感。建筑外立面设计传承清华主楼的形象特质,以简洁现代的设计手法表达主楼经典三段式立面构成:顶部形成两层通高的格构窗框洞口,裙房以金属压顶勾勒水平腰线,高层区落地部分则以石材内凹形成的阴影腰线勾勒基座意象。建筑采用米色石材幕墙呼应主楼色彩,稳重得体。在细节处理上注重精巧细致。门窗洞口的设计手法既传统又有创新,将石材幕墙与金属窗套有机结合成一个整体,在阳光下形成细腻动态的阴影变化,增添了高层建筑的细节品质。 自强科技楼立面幕墙细节处理 ©THAD 交通流线组织:在西侧开放室外庭院的周边,布置各高层主体建筑及裙房的出入口及主入口大厅,充分满足了各院系单位相对独立使用的需求。地下汽车库通过东侧校园支路进出,有效实现了人车分流。本项目适应于集约使用土地的要求,在地下三层及地下四层设置了人防汽车库,满足科研实验楼的停车使用需求。 本项目的室内空间环境设计,在界面形式、建筑语言、材料做法等方面延续室外空间的主要设计理念,在满足科研实验楼的基本使用需求基础上,营造出现代、简约、高效的室内环境空间,为师生教学实验提供了良好的环境空间品质。 自强科技楼首层主入口大厅 ©THAD 自强科技楼地下一层多功能厅 ©THAD 自强科技楼地下一层多功能厅圆形天窗 ©THAD 高层建筑标准层的空间模式设计:适应于未来科研办公、学科融合的动态发展模式,本项目的高层塔楼主体建筑的标准层在平面功能布局上采用灵活可变的空间模式——核心筒的布置采用几种方式,为师生科研实验提供了多种使用方式;其中分设核心筒的方式,形成了独特的"北侧实验室开敞大空间 + 南侧单间研究室小单元"的组合式平面布局,较好的适用于实验与研究的不同使用需求。 自强科技楼首层入口 ©THAD 工程质量 本项目在设计过程中,即完成了幕墙、精装修等"深化设计",不仅较好的控制了设计深度,而且为施工及造价控制创造了良好的设计基础。在施工过程中,参建各方共同严控施工质量;设计单位发挥校内就近办公特点"随时上门服务",第一时间发现并配合解决各类问题,及时有效的推进了工程建设。 本项目竣工后,获得了2022-2023年度中国建设工程鲁班奖(国家优质工程)。鲁班奖是中国建设工程质量的最高荣誉奖,自强科技楼获此殊荣,标志着项目在勘察设计、施工组织、工程质量和综合效益等方面均达到了国内领先水平,是高校科研建筑领域的标杆之作。 设计团队 设计单位 清华大学建筑设计研究院有限公司 项目总负责人 季元振 项目主持人 巫晓红、石磊 建筑团队 季元振、巫晓红、石磊、沈小钧、吴晓冬、董岩、张小鹏、叶阳阳、刘凯、高璐、韩宇、鲍承基 结构团队 贺小岗、左健、佟杰、牛鑫欣、郑林、殷忠生 给排水团队 张磊、牛凯斌、王李杰、刘玖玲 暖通团队 詹泰益、郭斌、孟子敬、罗骁勇、崔利钊、刘建华 电气团队 田旭、张伟娜、李丹、杨大强 合作单位 世源科技工程有限公司(超净实验室区工艺设计) 承建单位 北京市第三建筑工程有限公司 建筑摄影 王祥东 项目信息 项目名称:清华大学自强科技楼(原名:清华大学综合实验楼) 项目地点:北京市 用地面积:18,478㎡ 建筑面积:141,000㎡ 设计时间:2014-2018 竣工时间:2023 业主单位:清华大学 设计单位:清华大学建筑设计研究院有限公司 合作单位:世源科技工程有限公司(超净实验室区工艺设计) 承建单位:北京市第三建筑工程有限公司 获奖情况:2022-2023年度中国建设工程鲁班奖(国家优质工程) 建筑摄影:王祥东
千亩梯田特色产业展销市场
项目概况2022年,中央财政专项彩票公益基金重点支持欠发达革命老区乡村振兴示范区建设。北京市平谷区镇罗营镇凭借优异建设成效,获评全市唯一双A级乡村振兴示范区。千亩梯田特色产业展销市场以农业观光为特色,为农业休闲整体发展打好基础,支撑镇罗营镇高效现代化农业产业发展,形成示范区推进农业发展的典范。千亩梯田特色产业展销市场位于北京市平谷区镇罗营镇下营村中部偏南,对外交通便利。项目周边农田地形多为谷中台地,形成了良好的梯田景观,东西两侧均被群山环绕,自然环境良好。设计理念建筑用地位于地势较低的区域,为了与周围乡村的环境更好的融合,设计提出"石柱林·栖山台·瞰梯田·望远山"的设计理念。望山·瞰田建筑布局顺应地势,形成开放的视觉通廊,远眺群山,俯瞰梯田,感受自然的壮阔与宁静。叠石巨柱建筑整体造型以米灰色卵石砌筑的石柱和深灰色水平向的金属板屋面构成,用简洁的具有雕塑感的造型呼应自然的乡间环境。石柱采用天然卵石材料砌筑而成,保留乡土质朴肌理与材料温润质感,创造出独特的地域风貌。登台观景对场地周边道路和自然环境积极响应,采用一字型平面布局,横向延展,轻盈的融入自然环境之中。从各层观景平台望去,使用者可尽情享受360°全景绿色生态视野,梯田、山林、村落尽收眼底。项目功能不只是望山瞰田,不只是短暂停留,如今的千亩梯田特色产业展销市场已成为集农产品交易、文化展示、休闲体验于一体的乡村振兴示范窗口。不仅解决了村民交易、公共服务等需求,更以旅游赋能产业升级,带动城乡互动,助力"乡建、文旅一体化"发展。千亩梯田特色产业展销市场以生态为基、文化为魂、民生为本,彰显了红色基因与绿色发展的共生共荣,形成了山、田、市交融的活力节点。项目中深度挖掘地域特色,坚守生态发展理念,精心建造、传承乡土文脉,为乡村注入新的生机与活力。赶市项目建成后为居民及游客提供采摘体验、农品展示、交易售卖、休憩聚集和玩耍交流的场所。研学建筑具有多功能使用性。如展示风筝制作、剪纸等传统技艺;年均举办30场研学活动,让非遗文化焕发出新的活力。项目结合千亩梯田举办过梨花节、动漫飞盘展、非遗风筝展、农事体验等休闲活动。链接城市与乡村,丰富市民生活。项目意义本项目通过"农业+文旅+商业"的深度融合,推动传统农业向休闲农业转型,成为北京市乡村振兴的标杆项目。以建筑为媒介,以梯田为舞台,有机融合传统农业文明与现代文旅生活,打造沉浸式乡村体验空间,不断增强本地村民文化归属感与认同感,同时向广大游客传递乡土传统文化魅力,成为彰显文化自信的生动实践。项目的运营为村民提供了就业机会,有效促进了当地经济的繁荣,为乡村振兴注入了可持续发展的动力。项目团队设计团队项目名称千亩梯田特色产业展销市场项目地点北京市平谷区建筑类型商业建筑用地面积3,451㎡建筑面积1,569㎡设计时间2022设计单位清华大学建筑设计研究院有限公司建设单位北京平谷区下营村股份经济合作社施工单位北京城乡中昊建设有限责任公司项目负责人方云飞、陈青方案设计方云飞、陈青、马江浩、毛圣鹏、颜裴成建筑设计陈青、王笑寒、刘永彬、张怀萍、赵丹、赵兰、梁增贤、张葵结构设计李滨飞、李晋春、曹文涛给排水设计赵惠天暖通设计周溯电气设计李娟景观设计魏琦、孙凌敏、李超帅、赵慧建筑摄影朱雨蒙
北京市平谷区大庙峪旧村改造
项目缘起 2022年,北京市平谷区镇罗营镇被列为革命老区乡村振兴示范区。这片深藏于燕山南麓、西峪水库上游的土地,承载着丰厚的红色记忆与自然馈赠。大庙峪村作为镇罗营镇片区的重要节点,因清代观音大庙而得名,村庄始建于道光年间,至今已有近两百年历史。全村87户、241人,却拥有2.2平方公里的域面积和3200多亩山场,干鲜果树逾20万株。 然而,随着整村搬迁至新村,旧村的20栋民居陷入闲置。这些位置独立、组团性强的老宅子,既是村史的实物遗存,也是乡村振兴可以激活的空间资产。清华大学建筑设计研究院的设计团队敏锐地捕捉到这一契机——与其让老宅在时光中消磨,不如让它们成为连接历史与未来的桥梁。项目以"石街砖巷、云台木舍"为设计理念,在9059平方米的用地上重塑乡村肌理,打造北京郊区一处可游、可居、可体验的田园休闲小镇。 设计思路:在旧村中寻找秩序 乡村更新最忌大拆大建。设计团队选择了一条更为克制的路径——保持宅基地边界不变,以空间激活和生态修复为切入点,通过建立公共空间来激发社区活力。整体规划沿袭原有村落格局,对整体空间、街巷空间及功能分布进行系统梳理,最终形成"一心、二区、三街"的空间布局结构。 "一心"是公共活动中心,承担着文化展示与村民交流的双重职能;"二区"指旅游接待区和乡野体验区,分别服务于外来游客与本地居民;"三街"——新村主街、旧村外街、旧村内街——则构成了步行网络的骨架,楼栋之间纵横交错的街巷,试图还原旧时老村聚落的空间感与邻里氛围。 云台木舍:一座浮于乡野的公共客厅 公共活动中心位于主入口西南侧,是整个项目的精神地标。建筑以"云台木舍"为概念,采用全木结构建造了一座错落有致的坡顶建筑群。与周边砖石墙体不同,这座用木头搭建的"云台"轻盈地浮于屋板之上,像一只栖息于山林间的鸟舍,成为村庄的视觉焦点。 这里既是面向游客的旅游服务枢纽,更是惠及周边村民的公共交流空间。大堂服务区、餐饮、书吧、茶室、活动室等多元功能被整合进木结构的框架之中,为村民提供了一处可以遮风避雨、可以喝茶叙旧的公共客厅。建筑与场地的关系处理得恰到好处——抬升的平面与错落的坡顶,既呼应了远山的起伏轮廓,又营造出一种轻逸空灵的空间意境。 石街砖巷:用砖石编织的街巷肌理 如果说"云台木舍"是整个项目的灵魂,那么"石街砖巷"则是项目的血肉。村庄产业旅游接待区选用了砖石作为主要肌理,通过有序的组织形成街巷空间,试图还原京郊乡村的绿色田园风貌。灰墙灰瓦延续着北方乡居的传统风貌,街巷尺度宜人,鼓励着邻里交往的自然发生。 这里融合了接待服务、休闲住宿、乡居体验等多元业态,一户一特色、一室一意境,形成了复合型乡村旅居目的地。建筑沿场地肌理布局——北临农田、南接果园、近邻石河,与自然环境柔和共生,还原出乡村原生的尺度与静谧氛围。 材料语言:木构与砖石的对话 项目在材料选择上体现了对传统的尊重与对环境的关怀。公共活动中心采用低碳木结构体系,传承传统木作技艺,践行绿色建造理念。而环绕项目的砖石围墙,则充分展现了地域性材料的质朴与厚重。木的轻盈与砖的沉稳形成对比,共同构筑出富有层次的空间体验。 木结构的咨询工作由北京林业大学团队完成,孟鑫淼、高颖、杨娟、徐飞扬、马瑞煜等专家为项目提供了专业的技术支撑。这种木与砖石的组合,不仅是建筑语言的选择,更是在探索一条适合乡村的绿色建造路径。 借景自然:360°的山水视野 场地西北侧的山地、南侧的农田与果园,为项目提供了天然的景观基底。设计通过设置眺望台与观景亭,最大化地借景远山、农田与果园,实现了360度的山水视野。从"一人亭"的独处空间到眺望台的集体观景,不同尺度的观景点散布在场地各处,让每个人都能找到与自然对话的方式。 建筑栖居于山脚下,北揽山林、南望果园叠翠,形成了"生于山水、归于乡野"的和谐布局。乡土植物与简约铺装弱化了人工感,微景点缀其间,保留了乡野的质朴意趣。 从空心村到活力场:乡村振兴的实践 大庙峪旧村改造的价值远不止于建筑本身。项目构建了"公共活动中心+村庄产业旅游接待+乡野体验"的复合型乡村业态体系,既服务外来游客,更惠及本地村民。它回应了乡村振兴战略中"产业兴旺、生态宜居、乡风文明"的核心诉求,为京郊传统村落的活化利用提供了一个可参照的样本。 更重要的是,设计团队没有将村民视为被动的受众,而是把空间还给了社区。当街巷里重新有了孩童的笑声、当老人们在木舍里喝茶聊天、当游客与村民在田间相遇——这座沉睡的旧村,真正活了过来。 平面布局 设计团队 设计单位 清华大学建筑设计研究院有限公司 建设单位 北京平谷大庙峪村股份经济合作社 施工单位 中北华宇建筑工程公司 项目负责人 方云飞、陈青 方案设计 方云飞、陈青、马江浩、张冬旭、毛圣鹏、颜裴成、黄晓宇 建筑设计 王笑寒、陈青、刘永彬、张怀萍、赵兰、赵丹、姚虹、梁增贤、张葵、刘建忠 结构设计 李滨飞、韩凌翔、曹文涛、李晋春、刘湘 木结构咨询 北京林业大学:孟鑫淼、高颖、杨娟、徐飞扬、马瑞煜 建筑摄影 朱雨蒙
中国国家版本馆中央总馆
项目概况 中国国家版本馆中央总馆坐落于首都北京正北方向的燕山脚下,地处平原与浅山区的交汇地带。这里三面环山,森林茂密,幽静典雅,素有"京北世外桃源"之美誉。然而鲜为人知的是,这片钟灵毓秀之地曾是一处废弃的采石场——裸露的崖壁、破碎的地表,与如今"藏之名山、传之后世"的文化殿堂形成了令人震撼的对比。 2019年4月,清华大学建筑设计研究院有限公司接到中宣部关于中国国家版本馆的设计邀请,由中国工程院院士庄惟敏领衔的设计团队参与方案比选。经过与国内多家顶尖设计机构、院校的三轮激烈角逐,庄惟敏院士团队最终脱颖而出,赢得这一国家重大文化工程的设计任务。项目总建筑面积99500平方米,总用地面积16.84公顷,于2022年落成,成为新时代国家文化殿堂的标志性建筑。 版本馆是一个在当代语境下新生的建筑类型,其核心使命是收藏和保存中华文明各类版本资源——从古籍善本、碑帖拓片到手稿书信、邮票钱币、音像制品乃至数字文献,堪称"中华文化种子基因库"。中央总馆与西安、杭州、广州三座分馆共同构成"一总三分"的中华版本典藏体系,分别承担不同历史时期、不同地域文化的版本保存与展示功能。 中国国家版本馆中央总馆全景鸟瞰——建筑群掩映于燕山山水之间 设计理念:藏之名山,传之后世 中国国家版本馆的设计根植于深厚的中国传统建筑文化与藏书文化,聚焦"中华文化种子基因'藏之名山、传之后世'"的核心主旨。设计团队以中国传统"天人合一"的哲学观为统领,力求充分把握山水与古今、自然与人文的融合关系,将这一承载万年百世之事的典藏之地,融入中国传统理想栖居的山水环境之中,实现文化性、传承性、时代性与实用性的有机统一。 在中国古代,藏书楼多选址于名山胜水之间,如宁波天一阁、杭州文澜阁、承德文津阁等,既得山水之灵气,又借地势之险要而利于防火防灾。版本馆承袭了这一千年文脉,选址于燕山南麓的浅山地带,将自然山体作为建筑的天然屏障,形成"山环水抱、藏风聚气"的理想格局。庄惟敏院士在方案中创造性地提出"修复与建造并重"的策略——将废弃采石场的生态修复作为设计起点,使建筑群成为重塑山水形胜的积极媒介,而非凌驾于自然之上的纪念碑。 中轴线鸟瞰——三进院落沿山势层层递进,形成"坐北朝南、中轴对称"的空间格局 山水格局与生态修复:从废弃矿坑到文化圣地 项目选址的废弃采石场是一处典型的工业伤疤——西侧与北侧因多年采石形成了高达数十米的崖壁宕口,岩体裸露、植被破坏、水土流失严重。设计团队秉持"因地制宜、因势利导"的生态智慧,将生态修复与建筑营造同步推进,开创了"建造即修复"的绿色营建范式。 针对崖壁宕口,设计采用"锚杆加固+主动防护网"技术体系,先消除地质灾害隐患,再通过液压喷播植草和攀援植物垂直绿化实现岩壁的自然复绿。液压喷播是将草种、肥料、粘合剂和水混合后通过高压喷洒至坡面的生态修复技术,能在陡峭岩壁上快速建立植被层;配合爬山虎、凌霄等攀援植物的种植,使裸露的崖壁在数年内恢复为郁郁葱葱的绿色屏障。同时,设计团队在修复后的崖壁上增设栈道、古亭、观景台等富有文化意蕴的景观节点,将工业遗址的粗粝肌理转化为人文与自然对话的诗意空间。 在水系营造方面,设计结合地势在东西两侧设置排洪渠,对雨季汇水进行有序疏导,同时引水入园,营造季节性的景观水系。两条溪流自北向南顺势而下,在南侧开阔地汇水成池,形成"山环水抱、水聚天心"之势——这正是中国传统风水学中"负阴抱阳、背山面水"的理想格局在当代语境下的生动演绎。建筑布局依山就势,严格控制地上体量与高度,院落式建筑群掩映在山水园林之中,凸显"山水交融、露隐相间、馆园结合"的独特美学。 建筑群与修复后的山体和谐共生——曾经的采石场已化为山水园林 建筑语言:大国气象与时代精神 作为展现国家形象、传承国家记忆的文化殿堂,中央总馆的建筑语言需要在"国家性"与"人民性"之间找到精妙的平衡。设计团队从中国传统建筑文化中提炼出最核心的空间基因,以现代材料与技术进行转译,创造出既承载文化记忆、又面向未来的建筑表达。 建筑外观承袭国家级文化建筑的经典范式,采用中国传统"三段式"构图——这是中国古典建筑从台基、屋身到屋顶的经典比例关系在当代的延续:暗红色石材勒脚沉稳厚重,象征大地根基;黄锈石墙面温润质朴,呈现中间层次;深灰色瓦屋面舒展深远,与远山轮廓相呼应。檐口、雨棚、门廊等重点部位采用不锈钢仿铜装饰,既传承了铜饰在中国礼制建筑中象征尊贵与永恒的文化意涵,又通过现代材料的耐久性与可加工性,实现了传统美学与当代工艺的融合。这种"三段式"立面处理,随着时代演进而历久弥新,在当代人的文化记忆中产生深沉的共鸣。 设计团队刻意舍弃了传统纪念性建筑中常见的柱廊形式,转而采用大面积的玻璃幕墙与金属构件,以现代材料语言突出建筑的开放性与时代性。玻璃的透明质感消解了建筑体量的厚重感,使室内外空间在视觉上相互渗透;金属构件精致的加工工艺,则体现了当代中国建筑工业的技术水准。同时,建筑群不追求纪念碑式的庞大尺度,而是以低矮错落的体量掩映于园林绿化之中,与周边山体环境融为一体,彰显"绿色、亲民"的新时代精神——这正呼应了庄惟敏院士一贯倡导的"为人民而设计"的建筑观。 建筑立面三段式构图——暗红石材勒脚、黄锈石墙面、深灰瓦屋面,辅以不锈钢仿铜装饰 空间序列:三进院落的文化叙事 中央总馆的建筑布局采用中国传统建筑中最具仪式感的院落式轴线布局,沿中轴线依山就势、分级布置主体建筑,形成"坐北朝南、中轴对称、礼乐交融"的空间格局。公共性功能空间沿中轴展开,依次布置文兴楼、文华堂和文瀚阁三座主体建筑,构成三进院落,分别承载交流接待、展览展示、典藏研究三大核心功能,呈现从公共性向私密性渐次过渡的空间层次——这正是中国传统建筑中"前朝后寝、外礼内乐"空间秩序的当代演绎。 文兴楼——作为国家版本馆的门厅与序厅,是参观者进入版本世界的第一印象。正面主题壁画《山河揽胜》取义三山五岳及昆仑山脉,以祖国壮美河山彰显中华文明的博大精深、源远流长。文兴楼内布置三个专题展览:首层为版本工艺展,展示版本制作与演变的历史脉络;二层设中国邮票展和中国钱币展,从方寸之间窥见版本载体的丰富多样。 文华堂——国家版本馆的核心展陈空间,两个基本陈列"斯文在兹——中华古代文明版本展"与"见证伟业——中华民族复兴版本展"分别设于二层和一层。文华堂中央的国家书房是整座建筑的精神高潮:高13米、面积达1350平方米的宏大空间内,四周布置十五组通高书柜,收藏展示三万余册古今典籍图书。中央八角形藻井内形成圆形星空穹顶,漫天星宿图案取自宋代碑刻天文图,呼应"文瀚阁"之名,象征中华文化如浩瀚星空般深邃璀璨。这处空间既是版本典藏的圣殿,也是举办国际文化交流活动的礼仪空间,体现了中国以文化为纽带连接世界的开放姿态。 文瀚阁——作为版本馆的典藏核心,一二三层布置主题展览"真理之光——马克思主义中国化时代化经典版本展"。中央文瀚厅为三层通高的中国传统八角形空间,每层四周向心布置书柜,层层收分,营造出极具中华文化韵味的藏书空间。这里集中陈列《四库全书》《永乐大典》《古今图书集成》等珍贵古籍的原大仿真影印本、精选古籍影印本和原雕版印刷本,展现藏书阁经典荟萃的独特场景。顶部八角柿蒂纹藻井展现浩瀚银河的壮美景象,寓意中华文明博大精深。 文瀚阁——三层通高的八角形藏书空间,四周书柜层层收分,顶部藻井展现浩瀚银河 技术体系:版本安全与智慧营建 作为国家版本资源总库,版本馆的核心使命是确保各类版本载体的永久安全保存。设计团队以版本安全为第一要务,高标准满足防水、防潮、防洪、抗震、安防、人防等各项技术要求,构建了一套全方位的版本保护技术体系。 所有保藏空间内部互通,形成整体的"版本保藏流线",最大程度保证版本运输、加工、保存整体工艺流程的顺畅高效。空调系统采用分区分类控制策略:藏品库根据版本介质的不同——纸质文献、胶片、磁带、光盘、数字存储等——分区分类设置独立冷源,确保各类版本均保存在最适宜的温湿度环境中。同时全面应用低紫外线照明设备、漏水检测系统及温湿度自动监测装置,使室内温湿度、风量风速、平均照度及照明功率密度等各项指标均满足最严格的版本保藏与展示要求。这种精细化、智能化的环境控制体系,体现了中国当代文化建筑在技术层面的最高水准。 文华堂国家书房——高13米的宏大空间,星空穹顶下陈列三万余册典籍 设计团队 项目负责人 庄惟敏(中国工程院院士、全国工程勘察设计大师、梁思成建筑奖获得者) 设计单位 清华大学建筑设计研究院有限公司 项目地点 北京市昌平区燕山脚下 建成时间 2022年 建筑面积 99,500 平方米 用地面积 16.84 公顷
济南汇中星空间
汇中星空间项目位于济南老城,花园路路口。2008年济南花园路城市更新商业开发之前,这里是一片上世纪七八十年代,中国北方随处可见的多层住宅小区。经历了整体片区的拆迁之后,原有用地被切分成两块,大且规整的那块做为商品住宅用地,并且很快就被开发建设起来, 而剩下的面积不足4500平米的三角形地块,如同切剩下的边角料,作为规划的商业配套用地,开始了它历经十二年的更新建设过程。▲老城演变▲济南汇中星空间与城市之间的关系 © 夏至地块被切碎,路网被加密, 周边的生活业态随着老城的更新逐步丰富。在这尾期十余年的发展历程里, 建筑和周边的整体场地空间的设计任务,犹如在济南旧城这件老瓷器上的一场锔补。▲2010—2017年方案研究演变▲济南汇中星空间外景 © 夏至2009年冬天我们接到业主委托时, 两个任务非常明确:1.地块不大,寸土寸金,所以地上部分需要又有标志性,又适用;2. 三角形地块有高差,南北相差约2米, 怎么将这个不利条件变为老城公共商业空间里的有利条件, 需要建筑师的巧思来化解。▲济南汇中星空间外景 © 夏至项目推进的这十三年间,经历了周边社区的更新发展:由传统型的繁忙大马路,变成如今商业门面林立,周边餐饮大排挡云集的人间烟火之地。经历了社会需求的变化:由曾经围墙大门绿化隔离带构成的街道边界,变成如今越来越开放的广场、商街、绿化休息区。经历了业主理念的发展:从追赶潮流的酷炫地标商务总部,变成有独特风格,灵活适用,开放共享的商业综合体;用包容和开放的姿态重新定义老城环境中的“高端”。▲济南汇中星空间鸟瞰 © 夏至地块红线为狭长的三角形,周边道路北低南高,通过对步行广场与商业单元的立体高程处理,创造了双首层的空间,增加了沿街商业的面积,提高了底层商铺的利用效率,进一步提高了地块的商业价值。建筑北侧体型形成了可通过下沉广场进入的地面负一层,和通过首层平台到达的首层。在济南这样一个地下水位高、夏季易发大暴雨的城市,设置下沉广场,需要面临诸多挑战。通过和景观设计团队的密切配合,设置景观挡墙兼座椅、截水设施等确保不发生雨水倒灌风险。▲慢街织补▲从周围街道看济南汇中星空间 © 夏至场地容积率、建筑密度指标和退线要求限制严格,建筑按照退线留出相应空间后,单层建筑面积仅不到1600平米,且呈三角形。而建筑功能复合,底层商铺,下部餐饮业,中上部为商务酒店,顶层为自持办公。多种功能的复合带来流线组织、消防疏散等问题,经反复讨论,形成双核心筒的平面布局:酒店及办公的相对私密的客流和商业的公共人流有各自独立的出入口及交通核,流线互不交叉,并很好的满足了狭长空间的安全疏散,同时结构上也形成了相对经济合理的模式。并且通过核心筒优化压缩设计,把周边的空间尽量留给商业使用功能,获得更大的使用面积。▲济南汇中星空间立面效果 © 夏至建筑立面的设计,在研究了各种立面设计相应的建构方式和整体效果后,最终于2017年底确定了单元化、简洁统一的立面形态,结合色彩的整体设计。最终确定的立面方案是我们应对老城紧张的建造及施工条件、 业主合理的造价投资,以及未来运营功能不确定性的一套整体策略:单元化的幕墙构造安装+ 分布均匀的采光通风+通透大玻璃隐藏小开启的整体定制设计。尤其是后续结合建筑的泛光照明, 让这套立面语言在白天和夜晚能呈现不同的整体气质。▲立面单元构造分析▲立面色彩选择2018年初为确保立面色彩与城市风貌协调,设计团队探讨了不同色彩组合的立面方案,并多次向规划管理部门汇报,进一步明确了蓝绿色系为主,并配以互补的黄色系的彩色方案。▲2018年色彩研究过程2019年初,完成幕墙及泛光照明施工图设计,确定了凹凸形折形铝板做法,全面整合了固定大玻璃、通风开启扇、灯具安装、滴水构造、通风百叶等具体构造措施,并与2020年8月进行了幕墙单元足和泛光灯具足尺定样安装测试及整体效果的确认。▲2020年幕墙单元及灯具安装定样▲济南汇中星空间立面夜景效果 © 夏至建筑立面经过多轮反复推敲,创造了一种模块化的立面单元,除转角位置,只有北立面和东西立面两种不同宽度的模块单元。限制造价的情况下,该单元在有效解决自然通风的同时,对大面积幕墙效果不产生消极影响。正面为整扇的固定扇玻璃,侧面设置开启扇。因为项目三个立面都不是当地主要采光朝向南向,在东西立面的玻璃设置上,尽量朝向南侧,为室内争取更多的日照。▲自然采光与通风构造分析铝板幕墙采用折板做法,弱化了板缝的分格效果。侧向开启扇前设置穿孔铝板,保证了彩色铝板的体型完整性。色彩的选择受到济南老城黑虎泉等景区的人文意向和大明湖周边自然景观意向的启发,通过对城市特色景观色彩的分析和再创作,最终我们选择了以蓝绿色系为主,点缀黄色系的色彩方案。色彩的分配经过充分的研究比较,整体画面感强,有一种自然的变化效果。通过蓝绿色系和周边常规暖色系建筑的对比互补,达到对立统一的城市色彩状态,在对比中达成和谐的状态。活跃了城市空间,也有效形成了具有标识性的商业建筑形象。立面局部采用彩色玻璃的做法,7种不同颜色的彩色玻璃分布在三个立面上,扩大了采光面,活跃室内光影效果,形成了特色的商业空间。▲济南汇中星空间立面局部采用彩色玻璃 © 夏至▲济南汇中星空间夜景 © 夏至利用场地南高北低的地形高差形成的双首层的广场和开放商街,将绿坡式的自由动线和休息台地融为一体的景观处理,在解决高差、处理雨洪的同时,进一步增强了商业建筑的开放性和公众性。▲济南汇中星空间夜景鸟瞰 © 夏至配合形态规整,色彩斑斓的建筑主体;在姿态丰富、各种气质混搭的济南老城里,形成了一处既独特又接地气的新地标。让这个建筑在甚至还未完全建成和挂牌之前, 就成为周边百姓的话题和城市定位的参照点。让位于济南花园路的这个三角街区成为能让周边居民漫步闲逛,停留休憩的慢街开放空间。· 项目图纸 ·▲首层平面图▲二层、四层平面图▲酒店层平面图▲地下一层平面图▲剖面图▲立面图▲2F-9F幕墙构造▲B1+1F幕墙构造▲RF幕墙构造项目信息项目名称: 济南汇中星空间项目地点:山东省济南市业主:济南汇中新实业有限公司建筑设计单位:清华大学建筑设计研究院素朴建筑工作室主创建筑师: 宋晔皓、孙菁芬建筑设计团队:解丹、褚英男、陈晓娟、吕蕙欣、常抒怡(实习)、林丹荔(实习)、张卓然(实习)工程咨询设计:陈楠、 谢志宏、曹晋仁、陈非施工图设计单位:山东志合建筑设计院有限公司设计时间(起迄年月):2009.12—2018.09建设时间(起迄年月):2018.11—2022.10用地面积(平方米):4 424m2建筑面积(平方米):27 635m2照明设计:清华大学建筑设计研究院同原照明工作室景观设计:北京雨人润科生态技术有限责任公司幕墙顾问:济南纳思工程设计咨询有限公司建筑摄影:夏至
珠海市斗门区尖峰南中学
一、项目概况珠海市斗门区尖峰南中学(暂用名)新建工程设计项目,位于广东省珠海市斗门区,尖峰南河坊路北侧、河山路南侧。本项目旨在打造一个适应新时代学生学习与生活需求的初中建筑,在满足教学需求的学校建筑之外,为学生打造更健康优质的生活环境,满足学生更为多元的学习生活需求。西侧鸟瞰图公共教室区二、设计策略策略一:架空平台、立体绿化构建"多首层"生态活动空间通过设置底层架空、上层平台、退台,将学生们的室外活动场地延展到不同的楼层,活动场地与教室的联系变得更为紧密,提升课间活动的效率。各楼层活动场地具有不同的设计特点,也为学生活动提供了更为多元的选择,更为丰富的空间体验。剖切透视图活动通廊效果图策略二:依托周边生态,打造与自然相融合的园林化空间项目毗邻森林公园及湿地公园,将项目打造为与自然交融、空间开放通透的园林化空间,在校园位置形成放大生态节点。通过架空层绿化、平台绿化、坡地立体绿化、屋顶农场等生态手法,将优渥的生态资源引入校园。教学楼间的生态雨林策略三:构建丰富、积极、互动的"第二成长空间"公共教室、图书馆、报告厅等房间错落有致,有分有合,在给予学生丰富建筑空间体验的同时,提供了从教学区到运动区多样的交通路径。公共教室效果图策略四:植入多维教学空间,构建重叠校园模式师生教学生活用房外,植入多维教学空间,如:素质教室、社团活动室、学术工作室、教学中庭、开放讲堂、特色报告厅等体验性教学场所;同时,将部分空间拓展为屋顶花园、植物教学基地、室外剧场、科普敞廊、屋面活动平台等特色文化空间。多维教学空间三、功能布局运动场放置在场地南侧,使教学区避免外界干扰,争取最大化采光环境。班级教学区和教师办公区放置在场地最北侧,形成内庭院给学生安静的学习环境。场地中部放置包含公共教室、图书馆、报告厅及体育馆的公共教学区。班级教学区与公共教学区之间布置了丰富的连廊、台阶与平台,供学生们便捷的交通同时,形成课间休息时的交流空间。教室和办公部分提升至二层,地面形成架空层,架空平台下放置了游泳馆、餐厅、社团活动教室等公共用房及部分活动场地。功能布局示意架空层及公共教室区架空层运动场地四、空间节点设计空间节点设计总览粉红剧场粉红剧场露天的"粉红剧场"设置在通往地下停车接送区和餐厅的下沉广场中,学生们每天都会经过这里。生态雨林生态雨林校园西侧的"生态雨林"种满了本土植物,是孩子们的课外生物教学基地。海浪大道海浪大道从园区主入口一直延续到餐厅的"海浪大道",通过地面铺装色彩和材质的区分,打造了丰富的底层架空空间。彩虹之路彩虹之路位于五层的"彩虹之路",带来激动人心的空间与色彩体验。屋顶农场屋顶农场建筑最上方的"屋顶农场",可以用四季不同的色彩和丰富的收成,给孩子们提供感受大自然的最佳平台。金色礼堂金色礼堂校园主入口处的金色礼堂悬浮在空中,每天清晨提醒着学生们进入了校园生活,成为校园中独特的记忆点。黄金峡谷黄金峡谷用体育场和游泳馆间夹层空间形成的"黄金峡谷",提供了更加符合孩子们心理尺度和私密性的活动场地。五、结语北侧人视效果图游泳馆及体育馆设计以交流、生态、灵动为设计理念,创造出更为健康、高效、多元、富有想象力的学习生活空间。我们期待在这所学校里的孩子们,都会在他们的人生中,拥有一段美好的校园回忆。项目团队项目负责人盛文革、赵京建筑设计赵京、王欣、宫学宁、侯祯珍、曾梦楠、谢旻、余新骁结构设计杨霄、苗磊设备设计侯青燕、刘杰、艾涛、刘婷
阜阳大剧院
项目概况 阜阳大剧院位于安徽省阜阳市,是一座集大剧场、音乐厅、小剧场等多功能于一体的现代化综合观演建筑。项目建筑面积55772平方米,设计时间2014-2017年,2021年竣工投入使用。建筑地上5层、地下2层,其中1457座大剧场满足大型歌舞剧、戏剧、综艺节目和大型会议等使用功能;653座音乐厅满足交响乐、民族乐、综合文艺演出等使用功能;363座多功能小剧场可根据不同使用要求,通过活动座椅和升降舞台变化,实现话剧、小型歌舞演出、新闻发布会、时装秀等多种使用功能。项目建成后,成为阜阳乃至皖北地区重要的文化艺术地标。 阜阳大剧院整体鸟瞰,"七彩玫瑰"造型绽放于城市中心 ©夏制映画 效果图,建筑造型如花瓣层层绽放 设计理念:绽放的"七彩玫瑰" 阜阳大剧院建筑造型设计以绽放的玫瑰花瓣为构思来源,将大剧场、音乐厅、多功能小剧场、报告厅四个主要功能体块,以"花蕊"为中心螺旋旋转布置,象征着花朵绽放过程中花瓣的旋转变化。建筑整体呈现出蓬勃向上、热烈绽放的精神气质,呼应着阜阳这座城市的活力与发展。 为使建筑造型与平面更有机结合,突出建筑的艺术气质,几片蜿蜒曲折的非线性外幕墙,逐层包裹、围合三个功能主体,同时外幕墙表皮上附加多彩变化的夜景灯光,形成了七彩变幻的效果,整体造型突出立意——"七彩玫瑰"。白天,柔和的金属肌理与折射玻璃幕墙在阳光下熠熠生辉,呈现如丝绸般温柔的金属质感;夜晚,流动的七彩灯光在立面上闪烁变幻,整座建筑如同一朵绽放在夜色中的玫瑰花,为阜阳城南新区的夜空增添了绚丽的色彩。 鸟瞰实景,花瓣状体量层层绽放 ©夏制映画 建筑外观,非线性外幕墙包裹着功能主体 ©夏制映画 建筑远景,柔和的金属肌理在阳光下熠熠生辉 ©夏制映画 建筑近景,蜿蜒的非线性外幕墙 ©夏制映画 入口广场,宽阔的公共空间迎接观众到来 ©夏制映画 建筑体量关系,四个功能体块螺旋旋转布置 ©夏制映画 建筑细部,金属肌理与玻璃幕墙的精妙组合 ©夏制映画 夜景灯光:七彩变幻的玫瑰 建筑的夜景照明设计呼应"七彩玫瑰"的主题,在外幕墙表皮上设置了可变化的LED灯光系统。通过编程控制,灯光可以呈现出红、橙、黄、绿、青、蓝、紫七彩的渐变和流动效果。不同的演出活动、节日庆典可以对应不同的灯光主题,使建筑在夜晚成为一件巨大的动态艺术装置。灯光的流动与建筑造型的扭转弧线完美契合,如同一缕缕光丝在花瓣上缠绕流淌,整座建筑在夜色中绽放出梦幻般的魅力。 夜景全景,七彩灯光下绽放的玫瑰 ©夏制映画 夜景灯光效果,红色灯光热情绽放 ©夏制映画 夜景灯光效果,蓝紫灯光神秘梦幻 ©夏制映画 夜景灯光效果,金色灯光华丽庄重 ©夏制映画 内部空间:声学与视觉的完美结合 大剧场以金色与暖红色为主调,呈现出传统马蹄形歌剧院华丽典雅的空间氛围。观众厅两侧设置的曲面叠级侧墙,在视觉上引导空间层次的同时,也承担着声学扩散的重要功能,确保每一个座位都能获得均匀饱满的声场体验。金色的吊顶在灯光下如阳光倾泻而下,与正红色的座椅形成庄重热烈的色彩呼应。 音乐厅采用葡萄园式空间布局,观众席围绕着舞台层层跌落,有效缩短了观众与演奏者之间的距离,营造出亲切温暖的演奏氛围。深棕色的木质墙面与天花以自然的弧度连接,温暖的木色为音乐声线增添了柔和的色彩。墙体上精心布置的声学扩散体,确保每一个角落都能获得纯正自然的音色。 多功能小剧场采用深色星空顶的设计手法,仿佛将观众带入浩瀚的星空之中,可变化的座椅布局使空间充满了可能性。无论是话剧的近距离互动,还是时装秀的T台延伸,都能在这个灵活的空间里得到完美呈现。 大剧场观众厅,金色与暖红色的华丽空间 ©夏制映画 大剧场吊顶,金色吊顶如阳光倾泻 ©夏制映画 音乐厅,葡萄园式布局营造温暖氛围 ©夏制映画 多功能小剧场,星空顶下的灵活空间 ©夏制映画 建筑细部,玻璃与金属的交接 ©夏制映画 建筑细部,结构与表皮的关系 ©夏制映画 幕墙大样详图 建筑外观,花瓣造型的精确表达 ©夏制映画项目图纸 建筑外观,与城市环境的对话 ©夏制映画 项目信息 项目名称 阜阳大剧院 项目地点 安徽省阜阳市 建筑类型 观演建筑 建筑面积 55,772㎡ 设计时间 2014-2017 竣工时间 2021 设计单位 清华大学建筑设计研究院有限公司 外幕墙设计 深圳市万德建设集团股份有限公司 幕墙钢结构设计 中国京冶工程技术有限公司 室内声学专项设计 深圳市中孚泰文化建筑建设股份有限公司 剧院专业系统设计 浙江金匣子文化发展有限公司 照明设计 北京优雅士照明设计有限公司 人防工程设计 安徽省人防建筑设计研究院 建设单位 阜阳市城南新区建设投资有限公司 施工单位 中建八局第二建设有限公司 工程主持 胡绍学 项目主创 胡绍学、谢坚、韩静 建筑团队 胡真、舒展、宋侃达、崔屏、梁宇、吕雁、白亚威、涂娟娟 结构团队 邓晓、唐宏、郑宇、金灿国、郑李磊、王建华 暖通专业 徐啸、陈磊、刘建华 给排水专业 王永刚、陈梦化 电气专业 于星亮、郑波 视频制作 崔健、舒展、陈婧 照片拍摄 夏制映画
西安美术学院体育馆
项目概况 作为开启西安美术学院长安校区建设序幕的一期项目,该体育馆项目的建设无论在功能层面,还是形式层面,均承载着超过项目本身的预期:它既需要在相当长的周期内承担超越日常体育教学的多种功能需求,也需要为传承西安美术学院的文脉做出探索,为后续校园建设提供形式范本。 南侧透视 ©THAD 功能:复合多功能决定空间布局 不同于城市型体育场馆,高等学校的体育馆在功能实现方面必须考虑多种功能的复合使用。本体育馆建筑被设计满足以下三类功能的分时复合使用,包括:日常性的体育教学功能、特定时点的大型集会功能,以及美术学院所特有的艺术展览功能。经济、高效地实现该复合功能需求,很大程度地决定了本项目的体量布局。 方案设计的第一步是在不规则的建设用地中插入一个大尺度的核心功能体量——73米(长)×42米(宽)×17米(高)的长方体。钢结构平板网架屋面解决了大跨度的结构问题,其中可容纳3块标准篮球训练场,用以满足日常体育教学的功能使用。结合四棱锥网架形式的天窗及其膜结构直射光遮阳装置,为日间的体育教学提供充足的漫射光。约3000平米的高大空间,在东端设置了8米进深的讲台区域,在西端设置了可折叠的活动看台,可实现约1400人的大型室内集会功能,为西安美术学院开学、毕业典礼,以及文艺汇演提供场馆。 核心功能体量的北侧直接毗邻校园机动车环路,北立面设计了可供小型车辆进出的大门,以满足大型美术展品和物料的进出,便于该高大空间在毕业季转变为毕业设计的大型展览空间。核心功能体量的东侧,布置了18米(长)×16米(宽)×11米(高)带有北向锯齿天窗的小型训练用房,也可满足会议、展览等多功能模式的转变。不规则基地形态减去两个功能盒子的剩余部分,被定义为更加自由、流动、开放的公共空间。 南向北看鸟瞰 ©THAD 方案生成图 ©THAD 主功能空间室内 ©THAD 次功能空间室内 ©THAD 联通地上、地下的天光中厅 ©THAD 形式:美术学院的体育馆 从平面布局的"图"、"底"关系看,公共空间仿佛成为核心功能空间的"负"形底图。设计引用美术馆类型常见的拱顶与天光建筑原型,采用了南北走向的单元化、模块化素混凝土半拱形屋面覆盖整个公共空间。该朝向的设定,目的是将室内空间的视觉方向指向南侧秦岭山脉的崇山峻岭,由此将建筑、校园与更大尺度的城市、更广袤的山川锚固在一起。 14片半拱形屋面单元以锯齿状排列拟合用地的斜向边界,而下部的柱子则沿斜向边界设置。由此,大部分半拱形屋面的高端都有圆柱支撑,而低端则形成深远的悬挑,进一步强化出重复的韵律。加上自然光线从单元屋面之间穿透而入,厚重的混凝土半拱形屋面仿佛被光渲染出轻盈的漂浮之感,给人强烈的空间体验。体育馆的公共空间借此明确的可识别性,一举由平面布局的"负"形转化为空间体验的"正"形,图底关系在二维到三维的转化中发生了反转。 半拱形屋面底部具有结构表现力的菱形密肋,也同样源自于在更小一层级的平面维度上,将用地的斜向边界与标准正方形柱网相互匹配的结构理性设计处理。由此,从山川格局的城市大尺度,到空间构成的建筑中尺度,再到结构构件的细部小尺度,都与所处地段建立起唯一性的关系。 眺望秦岭的视觉导向 ©THAD 半拱形屋面单元的重复韵律 ©THAD 素混凝土半拱形屋面覆盖下的公共空间(南向北看)©THAD 素混凝土半拱形屋面覆盖下的公共空间(东向西看)©THAD 菱形密肋 ©THAD 材质:表达结构逻辑 公共空间中所有暴露在外的承重结构构件——梁、柱、菱形密肋半拱形屋面,均采用现浇的素混凝土材质,外覆原色保护剂,追求材质本身的原始、粗犷感与弧形构件柔美、轻盈感的平衡。作为对比,所有功能空间的维护结构墙面均采用了深灰色洞石效果的饰面材质,表现得更加敦实质朴。玻璃幕墙则在两者之间扮演着虚无的存在。由此,建筑的空间布局、功能组织即被忠实地转译为可理解的建筑外部形式和室内设计。 本项目中现浇混凝土材质真实质朴的表现,完美地诠释了建筑结构固有的力量之美。甲方、设计团队和施工单位共同克服了诸多技术难题,在当下的技术条件与规范要求之下,力图实现建筑结构、构造细部、施工工艺与建筑形式之间的真实结合。 基于上述功能、结构、景观、形式的设计考量,体育馆方案得以确立。一方面,通过建筑结构的真实表达,在视觉上呈现出体育建筑的力量感与生命力;另一方面,借助空间形态、光线、材质的精心组织,体现出西安美术学院厚重、质朴的内在艺术气质,为学校的文脉传承、未来建设提供借鉴。 材料选择体现结构逻辑 ©THAD 东侧透视 ©THAD 西向东看鸟瞰 ©THAD 项目图纸 空间结构爆炸图 ©THAD 总平面图 ©THAD 首层平面图 ©THAD 地下层平面图 ©THAD 立面图 ©THAD 设计团队 设计单位 清华大学建筑设计研究院有限公司 建设单位 西安美术学院 施工单位 陕西建工集团股份有限公司 项目总负责人 刘玉龙、韩孟臻 项目负责人 胡珀、任培 建筑设计 韩孟臻、任培、郭梦铭 结构设计 祝天瑞、蔡为新 给排水专业 刘福利、郝金珠 暖通专业 韩佳宝 强电专业 潘敏、贾启超 弱电专业 韩晓燕 建筑摄影 三景影像 项目信息 项目名称:西安美术学院体育馆 项目地点:陕西省西安市 建筑类型:教育建筑 用地面积:9,310㎡ 建筑面积:12,870㎡ 设计时间:2019年 竣工时间:2021年 设计单位:清华大学建筑设计研究院有限公司
清华附中湾区学校
项目概况 本项目用地位于广州市天河区原氮肥厂用地。现状地块周边有环状道路,北侧为天坤三路、南侧为天坤二路、西侧为健明六路、东侧为健明五路,交通便利。用地周边城市功能完善,可充分发挥校园的公共服务与辐射作用。 项目结合天河区实际情况,清华附中湾区学校的办学规模和服务范围为:高中部,30个班,按照广州市教育局规定进行招生,实行全寄宿制;初中部,18个班,面向天河区招收地段学生;小学部,24个班,面向天河区招收地段学生。校园规划以岭南气候特征与现代化教育理念为本,将中学、小学分区分置又相互联系,营造出多层次、立体化、富有岭南书院气质的校园空间。 鸟瞰全景 ©THAD 校园主透视 ©THAD 设计理念 统筹兼顾原则。项目要同时满足示范性高中需求和广州周边地区日益增长的义务教育学位需求。尽可能高效利用土地,统筹规划,疏密有致地进行整体布局,活动区尽量开敞,学习区高效集中,使校园空间富于节奏和韵律。 文化传承、突出人文原则。依托清华附中湾区学校的文化,实现体育、艺术、科技、心理教育特色和生态校园的融合。将艺术楼、图书馆、体育馆设置在校园中心区,共同围合出代表校园核心氛围的入口礼仪广场,活泼有序的建筑单体、沉稳大方的色彩、简洁适宜的景观都给人以精神层面的积极感受。 教学楼实景 ©THAD 以人为本原则。根据年龄特征、中小学作息时间不同,在规划布局上,将小学生、中学生的运动和生活空间相对独立设置,中学与小学出入口分开,各分区相互联通又相对独立。园区整体风格统一,具体的建筑则根据功能不同,呈现出多样的变化:体育馆动感十足,富于韵律;艺术楼端庄沉静,突出清华学校的标志和氛围;图书馆则尺度舒适宜人,让人心生亲近。 适度超前原则。符合国家级示范性高中的建设要求和区域人口发展教育需求,充分利用空间,实现场室规划创新、功能齐备,为未来发展预留空间。 庭院空间 ©THAD 建筑架空。园区建筑底部局部架空,有利于校园整体环境的通风和建筑底部的防潮,符合岭南地区潮湿多雨的气候特征;同时架空层将校园的各个书院空间联系成为一个整体,为学生提供课外学习、活动、交流的场所,激发出学生们更多的互动交流,创造出校园积极向上的活力氛围。 架空层 ©THAD 共享空间。本校园设计中,营造了丰富的活动空间场所。首先在中、小学的主入口处布置了校园入口广场,形成校园的主要形象空间。在教学楼、实验楼、艺术楼之间围合出了多个不同形态的庭园空间;同时,通过教学楼与实验楼的架空层,将各个庭园空间连通到一起,既相互独立,又相互渗透,空间流动通畅。另外,在校园中设置有游廊空间,可将各个教学单元和庭园空间连结成为一个整体,游廊的二层形成共享平台空间。校园空间场所立体化,且多样丰富,为中学生提供了多种可能性的学习、生活、交往场所,成为师生多姿多彩校园生活的载体。 共享空间 ©THAD 入口广场 ©THAD 庭园空间 ©THAD 建筑立面。设计根据岭南气候特点,在立面上采用横向与竖向遮阳构架,同时结合功能需求,在教学楼、实验、宿舍楼的立面上预留有分体式空调外机的位置,通过整体设计,形成富于现代感的立面活跃元素。建筑立面的设计,既考虑了岭南气候遮阳节能的特点,又现代简约,整体立面设计一气呵成,美观大气,文化气息浓厚,与校园的庭园空间环境互相映衬,相得益彰。 建筑立面材料以红色仿石砖为主,搭配以白色的面砖,局部细节用穿孔板和玻璃幕墙呈现。由于外墙以深色为主,其外墙的太阳辐射吸收系数略大,考虑其节能需求,外墙采用透明反射隔热材料降低其太阳辐射吸收系数,使建筑在色彩文化与节能性能之间取得平衡。 建筑立面 ©THAD 遮荫游廊。考虑到岭南地区天气炎热、雨水充沛,因此通过风雨连廊将校园各个教学、宿舍单元联系成为一整体,方便师生的日常校园学习生活。连廊的顶部形成立体的共享平台,既遮阳避雨,又丰富了校园的层次与交往空间。 遮荫游廊 ©THAD 中庭空间 ©THAD 连廊实景 ©THAD 室内空间 ©THAD 校园实景 建成后的清华附中湾区学校,以红白相间的建筑群、连续的遮荫游廊与多层次的架空庭园,回应了岭南潮湿多雨的气候特征,营造出兼具书院气韵与现代活力的校园场所。以下为校园各空间实景。 建筑实景 ©THAD 建筑实景 ©THAD 建筑实景 ©THAD 建筑实景 ©THAD 建筑实景 ©THAD 建筑实景 ©THAD 建筑实景 ©THAD 建筑实景 ©THAD 建筑实景 ©THAD 建筑实景 ©THAD 设计团队 设计单位清华大学建筑设计研究院有限公司 施工单位中建三局第一建设工程有限责任公司 项目负责人李成磊、鲍雪梅 建筑设计何帆、欧丽超、刘蔓靓、郭相宇、陆兴军、栾松、李浩轩、张郁 结构设计汤涵、邓晓、唐宏、陈子星、苏平安、孟山远 给排水专业王素敏、杨国伟 暖通专业吴晓燕、刘雅丽、姜贺鹏 强电专业徐丹、王晓辉 弱电专业徐丹、王晓辉 景观设计李飞(北京林业大学园林学院) 室内设计曹军、解璞、张子行、张智勇、伍化、李红伟 建筑摄影是然建筑摄影 图纸 以下为清华附中湾区学校的总平面图、一层平面图(中学教学楼、小学教学楼、艺术楼、食堂)、剖面图及立面图,呈现校园的整体布局与空间组织逻辑。 总平面图 ©THAD 一层平面图——中学教学楼 ©THAD 一层平面图——小学教学楼 ©THAD 一层平面图——艺术楼 ©THAD 一层平面图——食堂 ©THAD 剖面图 ©THAD 立面图 ©THAD 立面图 ©THAD 项目信息 项目名称:清华附中湾区学校 项目地点:广东省 广州市 建筑类型:教育类建筑 用地面积:59,592㎡ 建筑面积:93,073㎡ 设计时间:2017-2019 竣工时间:2021 设计单位:清华大学建筑设计研究院有限公司 施工单位:中建三局第一建设工程有限责任公司 项目负责人:李成磊、鲍雪梅 建筑设计:何帆、欧丽超、刘蔓靓、郭相宇、陆兴军、栾松、李浩轩、张郁 结构设计:汤涵、邓晓、唐宏、陈子星、苏平安、孟山远 给排水专业:王素敏、杨国伟 暖通专业:吴晓燕、刘雅丽、姜贺鹏 强电专业:徐丹、王晓辉 弱电专业:徐丹、王晓辉 景观设计:李飞(北京林业大学园林学院) 室内设计:曹军、解璞、张子行、张智勇、伍化、李红伟 建筑摄影:是然建筑摄影
北京师范大学珠海校区元白楼
项目概况 北京师范大学珠海校区元白楼改造项目位于广东省珠海市凤凰山北麓的北京师范大学珠海校区内,建筑面积13762平方米,竣工于2021年。项目由清华大学建筑设计研究院承担设计,旨在对校园核心湖畔景观带上的既有建筑进行系统性改造提升,使其从老化的教学楼转变为匹配未来设计学院教育模式的"行为激发器"。改造设计通过新增屋顶连廊、跑道等方式,形成一气呵成、贯穿15个独立盒子的立体游走路径,将原本无趣的屋顶空间转化为感知自然的交往场所。 元白楼改造后全景,红白交叠的立面成为校园核心景观带上的亮点 场地背景与建筑现状 北京师范大学珠海校区被誉为亚洲最美山谷大学,校区位于凤凰山北麓,距离海边6公里。元白楼是校区内的既有建筑,位于校园核心湖畔景观带,由15个独立方形"盒子"组成,建筑共计五层。自2004年左右投入使用后,元白楼一直作为设计类院系的教学楼。随着时间推移,建筑外立面剥落涂料褪色,钢梯老化严重,建筑内院落杂草丛生,地砖破碎老化严重,大量室内功能闲置。在分校转型升级和低碳校园建设的大背景下,校方自2019年起开始针对校园内既有建筑进行改造提升,元白楼的成功改造正是这系列改造工程的重要组成部分。 校园环境鸟瞰,元白楼坐落于凤凰山北麓的核心湖畔景观带 改造后的元白楼建筑外观,红砖幕墙与白色格栅呼应校园周边建筑 设计理念:匹配未来教育模式的"行为激发器" 德国哲学家雅斯贝尔斯说过:"教育的本质是一棵树摇动另一棵树,一朵云推动另一朵云,一个灵魂召唤另一个灵魂。"在互联网和智能手机如此发达的今天,如何创造交往空间,让人放下手机面对面去交流,成为设计团队思考的核心命题。设计团队认为,一座建筑最迷人的部分并不是建筑本身,而是由建筑触发的无限可能。通过对原有建筑空间的梳理与再创造,营造多样交往空间,让建筑本身成为匹配未来设计学院教育模式的"行为激发器",人与自然的联系、人与人的交往成为设计教育的重点。 中央盒子改造后的灰空间,成为全校师生举办活动的场所 外立面改造:"皮外皮"模式的轻扰动策略 在工期和造价的双重限定下,设计团队采用"皮外皮"模式打造轻扰动的外部形象提升策略。在不破坏原有墙面和屋面材料的基础上,通过干挂砖幕墙和GRC幕墙,为建筑穿上一层红白交叠的"新衣"。中央白色盒子顶部局部增设U玻,成为建筑群落的中心和制高点,使得混乱的元白楼群落成为一个具有向心感的整体。外围盒子为红砖幕墙,点缀白色格栅,呼应校园周边的红砖建筑。同时,设计团队强化和重复形式母题,丰富文化基因——中央盒子周围的平台向外延伸形成三角形入口雨棚,造型更具整体感,平台上开三角形天窗为入口灰空间提供采光。 红砖幕墙与白色格栅的立面细节,呼应校园周边红砖建筑 三角形入口雨棚,造型更具整体感 空间特色:"盒中盒"与"园中院" 中央盒子原为露天空间,内部杂草丛生。改造后,顶部加设玻璃顶盖,将"中央盒子"变为有顶灰空间,通过楼梯的织补将层层楼梯贯穿上下,并在首层加设大台阶,整个楼梯系统既是交通空间也是活动空间。如今,全校师生都可在此处举办歌唱会、时装秀、毕业展等活动。两个院落原先为消极的负空间,景观设计将其整理为"一方一圆"两个院落。方院围绕保留的凤凰木形成红砖座椅;圆院围绕原有下沉地势设置圆形舞台,形成核心空间。通过室外连廊和楼梯的再梳理,提供交通连接,创造交流机会,丰富的光影变化也使得这些空间成为学生打卡地以及艺术创作的灵感来源。 "一方一圆"两个院落,成为学校举办创意市集、文化演出的场所 首层两个大阶梯教室被整合为一个完整的展厅空间 立体路径:笔墨游龙,一气呵成 元白楼的"元白"取自北师大教授、中国著名书法家启功先生的字。元白楼盒子之间原有部分室外连廊和楼梯,但无法贯穿所有盒子,路径断裂,气韵不同。改造过程中,设计团队效法启功书法神韵,通过新增连廊、跑道等方式,将原本的"断笔"连贯,形成一气呵成、联系屋顶和地面的立体游走路径。元白楼位置背山面水,"笔墨游龙"与场地气韵相融,提供不同视角感受自然的机会。屋顶连廊被穿孔铝板包裹,配合夜景照明设计,宛如游龙。将屋顶原有设备和井道等以格栅遮挡,局部设置草坪或木质的放大平台,形成场所空间,触发不同使用行为。 屋顶连廊被穿孔铝板包裹,配合夜景照明宛如游龙 夜景照明下的元白楼,立体游走路径贯穿建筑整体 绿色低碳:面向双碳目标的改造策略 元白楼是北师珠校园系列绿色改造工程的重要一环,在设计和使用全过程中以双碳目标为导向,从能源、建造、运营、教育四个角度降低碳排放。从能源角度,采用高效能空调和可开启窗扇,过渡季节自然通风,降低建筑使用能耗。从建造角度,建筑中央盒子底部新增洞口,在主风向路径上增强通风,形成怡人微气候;顶部新增采光顶,将采光顶抬高实现侧面通风,形成拔风效应。立面结合格栅、窗套等不同遮阳形式,针对不同使用功能和朝向,采用不同进深和方向的窗套进行包裹,形成丰富的立面表情,同时减少室内直射阳光,降低夏季制冷能耗。内院和周边保留了大量现状树木,维持原有植被的固碳能力。 中央盒子顶部采光顶实现侧面通风,形成拔风效应 屋顶设置草坪或木质的放大平台,形成场所空间 项目团队 设计单位 清华大学建筑设计研究院有限公司 项目负责人 张维、赵婧贤 建筑设计 张维、赵婧贤、黄海阳、王越、李向苡、张啸乾、蔡明成、章宇贲、李若星、李诗琪、雷思雨 结构设计 李青翔、李滨飞、祝乐琪、郭风建 给排水专业 徐青、刘福利、刘玖玲 暖通专业 韩佳宝、贾昭凯、于丽华 强电专业 王磊、贾启超、韩晓燕、徐慧影、潘敏、崔晓刚 场地规划专项 梁思思 规划咨询 黄健翔、龙瀛 绿色建筑 杨涤非、陈怡琼、刘加根 夜景照明 张昕、韩晓伟、赵晓波、王丹 施工方 天津天一建设集团有限公司 委托方 北京师范大学珠海校区 摄影师 吴清山、战长恒、THAD
设计团队
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
121 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
29 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
26 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
23 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
22 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
20 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
19 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
19 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
18 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
18 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
15 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
12 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
11 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
10 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
10 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
8 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
8 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
7 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
4 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
3 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
3 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
2 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
2 个作品
Warning: Undefined array key "title" in /mnt/data/www.jianzhushi.org.cn/views/firm_detail.php on line 1681
2 个作品
新闻动态
清华大学低空人居系列课程研讨会顺利举办
清华大学低空人居系列课程研讨会顺利举办。本次活动由清华大学建筑设计研究院主办,吸引了众多业内专家学者参与,共同探讨建筑领域的前沿话题与实践经验。活动概况活动现场气氛热烈,参会嘉宾围绕主题展开了深入交流与讨论。精彩瞬间活动期间,精彩的主题分享和互动环节赢得了阵阵掌声。总结展望此次活动的成功举办,为行业发展注入了新的活力与动力。来源:清华大学建筑设计研究院
中国勘察设计协会建筑设计分会九届四次理事会议暨九届四次常务理事会议在成都召开
中国勘察设计协会建筑设计分会九届四次理事会议暨九届四次常务理事会议在成都召开。本次活动由清华大学建筑设计研究院主办,吸引了众多业内专家学者参与,共同探讨建筑领域的前沿话题与实践经验。活动概况活动现场气氛热烈,参会嘉宾围绕主题展开了深入交流与讨论。精彩瞬间活动期间,精彩的主题分享和互动环节赢得了阵阵掌声。总结展望此次活动的成功举办,为行业发展注入了新的活力与动...
清华设计院首席总建筑师庄惟敏教授荣获北京市人民教师提名奖
清华设计院首席总建筑师庄惟敏教授荣获北京市人民教师提名奖。本次活动由清华大学建筑设计研究院主办,吸引了众多业内专家学者参与,共同探讨建筑领域的前沿话题与实践经验。活动概况活动现场气氛热烈,参会嘉宾围绕主题展开了深入交流与讨论。精彩瞬间活动期间,精彩的主题分享和互动环节赢得了阵阵掌声。来源:清华大学建筑设计研究院
走进国博"遇见考烈王"——清华设计院开展参观学习活动
走进国博"遇见考烈王"——清华设计院开展参观学习活动走进国博"遇见考烈王"——清华设计院开展参观学习活动。本次活动由清华大学建筑设计研究院主办,吸引了众多业内专家学者参与,共同探讨建筑领域的前沿话题与实践经验。活动概况活动现场气氛热烈,参会嘉宾围绕主题展开了深入交流与讨论。精彩瞬间活动期间,精彩的主题分享和互动环节赢得...
"小脚丫走清华"了解极地建筑和北京中轴线——清华洁华幼儿园托一班主题参观活动圆满结束
"小脚丫走清华"了解极地建筑和北京中轴线——清华洁华幼儿园托一班主题参观活动圆满结束"小脚丫走清华"了解极地建筑和北京中轴线——清华洁华幼儿园托一班主题参观活动圆满结束。本次活动由清华大学建筑设计研究院主办,吸引了众多业内专家学者参与,共同探讨建筑领域的前沿话题与实践经验。活动概况活动现场气氛热烈,参会嘉宾围绕主题展开...
观国博·溯初心·强自信 | 支部联合主题党日活动
观国博·溯初心·强自信 | 支部联合主题党日活动。本次活动由清华大学建筑设计研究院主办,吸引了众多业内专家学者参与,共同探讨建筑领域的前沿话题与实践经验。活动概况活动现场气氛热烈,参会嘉宾围绕主题展开了深入交流与讨论。精彩瞬间活动期间,精彩的主题分享和互动环节赢得了阵阵掌声。总结展望此次活动的成功举办,为行业发展注入了新的活力与动力。来源:清华大学建筑设计研...
筑梦雄安,信心满怀 | 清华设计院助力雄安新区高质量建设和发展
筑梦雄安,信心满怀 | 清华设计院助力雄安新区高质量建设和发展。本次活动由清华大学建筑设计研究院主办,吸引了众多业内专家学者参与,共同探讨建筑领域的前沿话题与实践经验。活动概况活动现场气氛热烈,参会嘉宾围绕主题展开了深入交流与讨论。精彩瞬间活动期间,精彩的主题分享和互动环节赢得了阵阵掌声。总结展望此次活动的成功举办,为行业发展注入了新的活力与动力。来源:清华...
蝉联榜首,清华设计院荣膺2026中国房地产TOP500首选服务商品牌第一名
蝉联榜首,清华设计院荣膺2026中国房地产TOP500首选服务商品牌第一名。本次活动由清华大学建筑设计研究院主办,吸引了众多业内专家学者参与,共同探讨建筑领域的前沿话题与实践经验。活动概况活动现场气氛热烈,参会嘉宾围绕主题展开了深入交流与讨论。精彩瞬间活动期间,精彩的主题分享和互动环节赢得了阵阵掌声。总结展望此次活动的成功举办,为行业发展注入了新的活力与动力...
适老化改造提升老年人生活质量,促进社会和谐发展——参与城市更新,助力银发经济
适老化改造提升老年人生活质量,促进社会和谐发展——参与城市更新,助力银发经济。本次活动由清华大学建筑设计研究院主办,吸引了众多业内专家学者参与,共同探讨建筑领域的前沿话题与实践经验。活动概况活动现场气氛热烈,参会嘉宾围绕主题展开了深入交流与讨论。精彩瞬间活动期间,精彩的主题分享和互动环节赢得了阵阵掌声。总结展望此次活动的成功举办,为行业发展注入了新的活力与动...