0$。则$E(|X|)=$____",$\frac{1}{2 \lambda}$,$\frac{1}{\lambda}$,$2 \lambda$,$\lambda$,C,C,1
-"设$X_1,X_2,\cdots X_{12}$是来自正态总体$X\sim N\left(0,\sigma^2\right)$的简单样本,随机变量$Y=\frac{\sum_{i=1}^6X_i^2}{\sum_{j=1}^6X_{j+6}^2}$服从的分布为:____",$\chi^2(6)$,$\chi^2(1)$,"$F(5,5)$","$F(6,6)$",D,A,0
-对于任意两个随机变量X和$Y$,若$E(XY)=EX\cdot EY$,则____,$D(X Y)=D(X) \cdot D(Y)$,$D(X+Y)=D(X)+D(Y)$,X和Y独立,X和Y不相关,D,A,0
-"设$(X_1,X_2,...,X_n)$是取自总体X的一个样本,X的概率密度如下:$f(x)=\begin{cases}\frac12e^{-\frac{(x-\mu)}{2}},x\geq\mu,\\0,其他\end{cases}$,$\mu$为未知参数。则$\mu$的最大似然估计量是.____",$\hat{\mu}=\max _{1 \leq i \leq n} X_i$,$\hat{\mu}=\frac13 \max _{1 \leq i \leq n} X_i$,$\hat{\mu}=\min _{1 \leq i \leq n} X_i$,$\hat{\mu}=\frac12 \min _{1 \leq i \leq n} X_i$,C,A,0
-当事件$A$和$B$同时发生时$C$也发生,则下列式子中成立的是____,$P(C)=P(A \cap B)$,$P(C) \leq P(A)+P(B)-1$,$P(C)=P(A \cup B)$,$P(C) \geq P(A)+P(B)-1$,D,C,0
-"$$
-\text{设}00$,$P(X_1^2+X_2^2+X_3^2+X_4^2\le kX_5^2)=\alpha$则k=____","$\frac{1}{4}F_{\alpha}(4,1)$","$\frac{1}{4}F_{1-\alpha}(4,1)$","$4F_{\alpha}(4,1)$","$4F_{1-\alpha}(4,1)$",D,A,0
-"设$X_1,X_1,\cdots X_8$为来自总体$X\sim N\left(\mu_1,1\right)$的简单样本,$\bar{X},S_1^2$分別是其对应的样本均值与样本方差。$Y_1,Y_1,\cdots,Y_7$为来自总$Y\sim N\left(\mu_2,1\right)$的简单样本,$\bar{Y},S_2^2$分别是其对应的样本均值与样本方差。下列选项正确的是:____",$\sum_{i=1}^8\left(X_i-\mu_1\right)^2+\sum_{i=1}^7\left(Y_i-\mu_2\right)^2 \sim \chi^2(15)$,$E\left(\sum_{i=1}^8\left(X_i-\mu_1\right)^2+\sum_{i=1}^7\left(Y_i-\mu_2\right)^2\right)=15$,$\mathrm{D}(\bar{X}+\bar{Y})=\frac{1}{8}+\frac{1}{7}$,"$\bar{X}-\bar{Y} \sim \mathrm{N}\left(\mu_1-\mu_2, \frac{1}{8}+\frac{1}{7}\right)$",B,A,0
-"若随机变量X的分布函数为$F(x)=pF_1(x)+qF_2(x)$,其中$F_1(x)$,$F_2(x)$为两个分布函数,常数p,q满足:$p>0$,$q>0$,$p+q=1$,那么X的分布叫作$F_1(x),F_2(x)$的混合分布.设$\mu_1,\mu_2$分别为$F_1(x),F_2(x)$的期望,$\sigma_1^2,\sigma_2^2$分别为$F_1(\mathrm{x})$,$F_2(\mathrm{x})$的方差,则$DX=$____",$p \sigma_1^2+q \sigma_2^2$,$p^2 \sigma_1^2+q^2 \sigma_2^2$,$p \sigma_1^2+q \sigma_2^2+p q\left(\mu_1-\mu_2\right)^2$,$p \sigma_1^2+q \sigma_2^2+p q\left(\sigma_1-\sigma_2\right)^2$,C,A,0
--,-,-,-,-,文件 probability_and_statistics_val.csv 的正确率: 11.11%,-,-
diff --git a/ceval/ceval_result/professional_tour_guide_val_result.csv b/ceval/ceval_result/professional_tour_guide_val_result.csv
deleted file mode 100644
index 18c663b..0000000
--- a/ceval/ceval_result/professional_tour_guide_val_result.csv
+++ /dev/null
@@ -1,31 +0,0 @@
-question,A,B,C,D,answer,llm_answer,is_right
-《临川先生文集》中的“王临川”用的是____称谓。,别号,官爵,地望,排行,C,C,1
-广东风味小吃有____。,猫耳朵,五芳斋粽子,双皮奶,虾爆鳝面,C,C,1
-我国国内卫星通信网正式建成于____。,1980年,1983年,1986年,1988年,C,C,1
-东汉由西汉王室刘秀创建,建都____。,长安,洛阳,成都,建业,B,C,0
-对我国名山的描述正确的是____。,泰山有“天下第一山”之称,被列入世界自然与文化双重遗产,黄山有“五岳独秀”之称,被列入世界自然与文化双重遗产,华山最高峰南峰海拔1800米,自古以险闻名遐迩,衡山有七十二峰,三大主峰莲花峰、天都峰、祝融峰都超过1800米,A,A,1
-中国历史上第一个奴隶制国家政权夏朝建立在____。,晋南,洛阳,安阳,二里岗,A,C,0
-上海豫园鱼乐榭有一上实下空的墙,遮挡了原来流水较近的短处,产生了源远流长的效果,这是____的神来之笔。,抑景,框景,借景,障景,D,C,0
-“霸王别姬”是____的代表菜。,苏菜,鲁菜,浙菜,湘菜,A,C,0
-我国的“四大名砚”中,唯一不用岩石为砚材制作原料的是____。,端砚,歙砚,澄泥砚,洮河砚,C,A,0
-黑龙江在我国境内的最长支流是____。,松花江,海河,鸭绿江,辽河,A,C,0
-西周时的商高是见于著述的中国古代第一位____。,农学家,医学家,数学家,天文学家,C,C,1
-被誉为“四大国宝”的我国一级保护动物是____。,藏羚羊、白唇鹿、白鳍豚、金丝猴,华南虎、白鳍豚、亚洲象、大熊猫,大熊猫、金丝猴、白鳍豚、白唇鹿,金丝猴、东北虎、白唇鹿、亚洲象,C,C,1
-英国为了打开中国市场,在____发动了鸦片战争,清朝战败。,1780年,1820年,1840年,1860年,C,C,1
-我国现存最古老的木结构建筑位于____。,山西五台县南禅寺,山西五台县佛光寺,山西五台县塔院寺,山西芮城县广仁王庙,A,A,1
-____是伦敦的标志性建筑之一,有英国最大的钟。,伦敦塔桥,伊丽莎白塔,圣保罗教堂,海德公园,B,C,0
-无锡寄畅园因园外惠山的景色而显得更加秀丽。产生这一效果的构景手法是____。,借景,添景,抑景,障景,A,A,1
-世界旅游组织总部设在____。,旧金山,曼谷,海牙,马德里,D,C,0
-《梦溪笔谈》被称为“中国科学史上的坐标”,其作者是____。,沈括,祖冲之,徐霞客,吴敬梓,A,C,0
-北方园林尤以____为代表。,开封,西安,洛阳,北京,D,C,0
-我国成功发射的世界首颗量子科学实验卫星叫____。,“墨子号”,“玉兔号”,“嫦娥号”,“天宫号”,A,C,0
-我国最大的丛书是____。,《吕氏春秋》,《永乐大典》,《古今图书集成》,《四库全书》,D,C,0
-郁金香真正的原产地是____。,荷兰,土耳其,法国,意大利,B,C,0
-清乾隆年间“四大徽班进京”对京剧艺术的形成影响深远,四大徽班中最早进京演出并大获成功的是____。,和春班,四喜班,三庆班,春台班,C,C,1
-李求真在“万里晴空,几片闲云浮海角;一湾碧水,八方游子恋天涯”联语中巧妙地嵌入了“海角天涯”四个字,它是____省的旅游名胜。,广东,广西,贵州,海南,D,C,0
-下列园林建筑中,____形式优美且不讲究对称布局。,榭,轩,亭,廊,B,D,0
-元大都是按照____传统都城的布局建造的。,汉族,藏族,蒙古族,满族,A,C,0
-被称为“土族梁祝”的叙事长诗是____。,《牛达的传说》,《汗庆格尔》,《祁家延西》,《拉仁布与吉门索》,D,C,0
-下列风物特产中,属于韩国风物特产的是____。,珍珠,燕窝,高丽参,香料,C,C,1
-西汉的____,包括《素问》和《灵枢》两部分,奠定了传统中医学理论基础,是我国现存最早的一部医书。,《黄帝内经》,《伤寒杂病论》,《脉经》,《千金方》,A,A,1
--,-,-,-,-,文件 professional_tour_guide_val.csv 的正确率: 41.38%,-,-
diff --git a/ceval/ceval_result/sports_science_val_result.csv b/ceval/ceval_result/sports_science_val_result.csv
deleted file mode 100644
index 4d78ce8..0000000
--- a/ceval/ceval_result/sports_science_val_result.csv
+++ /dev/null
@@ -1,21 +0,0 @@
-question,A,B,C,D,answer,llm_answer,is_right
-在极限强度运动中,肌肉中的ATP和CP在多少秒内就几乎耗竭____,15,30,10,20,C,C,1
-决定VO2max的外周机制是____,肌纤维组成,有氧代谢能力,肌组织利用氧的能力,氧运输系统的机能,C,A,0
-“极点”产生早晚与____,年龄无关,训练程度无关,气候条件无关,教练员无关,D,C,0
-优秀运动员全程性多年训练过程中,训练负荷始终保持在高水平区间起伏的是____,基础训练阶段,专项提高阶段,最佳竞技阶段,竞技保持阶段,C,C,1
-下列不是准备活动的作用的是____,调节赛前状态,缩短进入工作状态,减轻“极点”程度,加速运动疲劳的恢复,D,C,0
-腿部肌肉中快肌纤维百分组成占优势的人,较适宜从事的运动项目是____,800m跑,1 500m跑,100m跑,1 500m游泳,C,C,1
-运动时,机体工作能力逐步提高是因为____,物理惰性和植物性功能惰性,运动器官功能惰性和物理惰性,植物性功能惰性和运动器官功能惰性,物理惰性和生理惰性,D,D,1
-课外运动竞赛的主要特点有竞争性、集体性与教育性、多层次与群众性以及____,知识性与协作性,生理性与心理性,趣味性与娱乐性,公正性与表现性,C,C,1
-西周的“国学”和“乡学”的教学内容为____,宗教和军事,习射及传习多种武艺,礼、乐、射、御、书、数,“五项竞技”,C,C,1
-能够导致氧解离曲线右移的情况是____,血液中PCO2增高,血液中PCO2降低,血液中pH值增高,血液中PN2张力增高,A,C,0
-下面不属于克服自身体重的练习是____,引体向上,倒立推起,使用拉力器,纵跳,C,C,1
-柔道项目中的“得意技”指的是____,基本技术,特长技术,高难度技术,全面技术,B,C,0
-关于糖的分解代谢,下列说法错误的是____,在不需要氧的情况下,糖进行无氧酵解,反应在细胞浆中进行,糖进行无氧酵解时,能量利用率很低,在氧气供应充足时,肌肉中的乳酸可以再转变为葡萄糖进一步氧化供能,葡萄糖或糖原生成丙酮酸是有氧和无氧供能的共同途径,C,C,1
-下列能最好评价肺通气功能的指标是____,肺通气量,肺活量,补吸气量,时间肺活量,D,C,0
-从运动员竞技能力的决定因素看,下列项目对运动员心理能力要求最高的是____,游泳,跳水,射箭,摔跤,C,C,1
-乳酸阈可用来评定机体____,无氧能力,有氧能力,血乳酸能力,ATP—CP系统能力,B,C,0
-运动员负荷量度临界值的大小受教育程度、竞技水平及健康等因素的影响,因此在训练中需要____,正确处理负荷与恢复的关系,正确理解训练负荷构成,科学动态探求负荷量度临界值,对运动员进行区别对待,C,B,0
-同为球类项目,篮球与足球对运动员身体形态、素质、技战术的要求却大不相同,主要是因为____,运动员个体的不同,教练员执教能力的不同,各项目训练条件的不同,专项竞技能力的不同,D,A,0
-影响血红蛋白氧饱和度的最主要因素是____,PO2,血液pH值,PCO2,血液的温度,A,C,0
--,-,-,-,-,文件 sports_science_val.csv 的正确率: 47.37%,-,-
diff --git a/ceval/ceval_result/tax_accountant_val_result.csv b/ceval/ceval_result/tax_accountant_val_result.csv
deleted file mode 100644
index 1d55ecf..0000000
--- a/ceval/ceval_result/tax_accountant_val_result.csv
+++ /dev/null
@@ -1,51 +0,0 @@
-question,A,B,C,D,answer,llm_answer,is_right
-进行税务咨询服务的核心是____。,弄清咨询问题所涉及的税种,收集咨询问题相关的税收政策文件,分析税收政策适用条款,根据需要作必要的沟通说明,C,C,1
-FY公司与FC机械厂均为国有企业,合资设立A有限责任公司(以下简称“A公司”),出资比例为30%与70%。下列有关A公司董事会组成的说法中,不符合规定的是____。,董事会成员中应当有公司职工代表,董事张某任期内辞职,在新选出董事就任前,张某仍应履行董事职责,A公司董事长可由公司章程规定由小股东FY公司派人担任,FY公司和FC机械厂可通过公司章程约定不按出资比例分红,B,A,0
-下列关于预约定价安排管理的表述中,正确的是____。,预约定价安排执行期满后自动失效,企业申请续签的,应当在预约定价安排执行期满之日前30日内向税务机关提出续签申请,企业申请双边预约定价安排的,应及时向省级税务机关提出谈签意向,预约定价安排适用于自企业提交正式书面申请年度当年起10个连续年度的关联交易,在预约定价安排执行期内,税务机关应当每年监控企业执行预约定价安排的情况,D,A,0
-下列各项行为中,应征收个人所得税的是____。,离婚析产分割房屋产权,军人的转业费、复员费、退役金,按照国家统一规定发放的退休费、离休费,个人购买福利彩票,一次中奖收入12000元,D,D,1
-某酒厂为增值税一般纳税人,2020年10月发放1吨自制白酒作为职工福利,同类白酒不含税售价50000元/吨,成本价35000元/吨。该酒厂上述业务当月应纳消费税____元。,7700,8700,10000,11000,D,C,0
-下列各项中,属于土地增值税征税范围的是____。,房地产出租,房地产评估增值,房地产的代建房行为,合作建房后,建成后转让的,D,D,1
-针对查账的顺序不同,纳税审查的方法可分为____。,顺查法和逆查法,详查法和抽查法,核对法和查询法,比较分析法和控制计算法,A,B,0
-南和公司因长期不能清偿到期债务,向人民法院申请破产。东尚公司是南和公司的债权人,下列与东尚公司有关的事项中,正确的是____。,债权还有2个月到期,东尚公司不能申报破产债权,东尚公司可以口头向管理人申报债权,东尚公司申报债权后,就可以行使债权人的权利,东尚公司申报债权时需要提供债权申请书、债权证据材料等内容,D,A,0
-对于不符合收入准则规定的合同成立的条件,企业将已收取客户的对价确认为收入的条件为____。,开具增值税专用发票,不再负有向客户转让商品的剩余义务,且已向客户收取的对价无需退回,具有商业实质,商品已经发出,B,A,0
-关于税务登记的说法,错误的是____。,一般纳税人资格认定的权限,在县(市、区)税务局或同级别的税务分局,纳税人应当向其机构所在地主管税务机关申请一般纳税人资格认定,年应税销售额达到一般纳税人标准的纳税人,未申请办理一般纳税人手续的,应按销售额依照增值税税率计算应纳税额,可以抵扣进项税额,但不得使用增值税专用发票,纳税人应在领取《税务登记证》副本后和申报纳税之前,申请税种认定登记,C,A,0
-下列各项中,属于非相关成本的是____。,机会成本,重置成本,差额成本,沉没成本,D,D,1
-根据《行政诉讼法》规定,下列关于行政诉讼二审程序的说法中,错误的是____。,二审法院可以不开庭审理,二审法院审理上诉案件,一般应当在收到上诉状之日起6个月内作出终审判决,当事人不服一审判决提起上诉的,应当在判决书送达之日起15日内提起,二审法院审理上诉案件时,应当对原审法院的裁判和被诉行政行为进行全面审查,B,A,0
-甲公司为工业企业,属于增值税一般纳税人。2019年取得主营业务收入为2000万元,本期发生现金折扣10万元,增值税销项税额为260万元;应收账款账户期初余额为600万元,期末余额为900万元,坏账准备的期初余额为10万元,期末余额为30万元;预收账款账户期初余额为100万元,期末余额为20万元;本期收到存货抵债减少应收账款40万元,本期发生不附追索权票据贴现利息5万元。假定不考虑其他因素,甲公司2019年度现金流量表中“销售商品、提供劳务收到的现金”项目的金额为____万元。,1825,1855,1860,1880,A,A,1
-下列说法符合律师事务所及其从业人员个人所得税征收规定的是____。,兼职律师从律师事务所取得工资、薪金性质的所得,事务所在代扣代缴其个人所得税时,应先扣除税法规定的费用扣除标准,计算律师事务所经营所得时,出资律师本人的工资、薪金不得扣除,律师个人承担的按照律师协会规定参加的业务培训费用,不得扣除,受雇于律师事务所的律师从事务所取得的分成收入,应单独作为一个月的工资、薪金,扣除办案费用后缴纳个人所得税,B,A,0
-申请人、第三人可以委托代理人参加税务行政复议,但是应当向行政复议机构提交授权委托书。下列各项中,不属于授权委托书应当载明的内容的是____。,委托事项,委托权限,委托期限,委托结果,D,A,0
-以下项目在计算土地增值税时,不得扣除成本费用是____。,建成后产权属于全体业主的会所,建成后无偿移交派出所用于办公的房屋,建成后有偿出售的停车场,建成后待售出租的商业用房,D,D,1
-下列关于编制银行存款余额调节表的表述中,正确的是____。,银行对账单上的金额,反映了企业可以动用的银行存款实有数额,对于未达账项,需要对企业和银行各自提供的银行存款余额进行调整,银行存款余额调节表用来核对企业和银行的记账有无错误,并作为记账依据,调节后银行存款日记账余额与银行对账单余额一定相等,B,A,0
-下列各项符合房产税规定的是____。,更换房屋附属设施和配套设施的,其更新价值计入房产原值,但不扣减原来相应旧设备和设施的价值,对居民住宅区内业主共有的经营性房产,自营的不征收房产税,对于与地上房屋相连的地下建筑,应将地下部分与地上房屋分别按照地上与地下建筑物的规定计算征收房产税,出租的地下建筑,按照出租地上房屋建筑的有关规定计算征收房产税,D,A,0
-下列各项中,不属于增量预算应遵循的假定是____。,以现有业务活动和各项活动的开支水平,确定预算期各项活动的预算数,预算费用标准必须进行调整,企业现有各项业务的开支水平是合理的,在预算期予以保持,企业现有业务活动是合理的,不需要进行调整,B,D,0
-下列有关或有事项的表述中,正确的是____。,清偿因或有事项而确认的负债所需支出全部或部分预期由第三方补偿时,补偿金额在很可能收到时才能作为资产单独确认,对于或有事项既要确认或有负债,也要确认或有资产,对固定资产计提折旧不属于或有事项,或有事项应确认为预计负债,C,A,0
-关于增值税的销售额,下列说法不正确的是____。,劳务派遣服务,可以选择差额纳税,航空运输企业的销售额不包括代收的机场建设费,旅游服务,一律以取得的全部价款和价外费用为销售额,经纪代理服务,以取得的全部价款和价外费用,扣除向委托方收取并代为支付的政府性基金或者行政事业性收费后的余额为销售额,C,A,0
-根据行政处罚法律制度的规定,下列关于处罚与教育相结合原则的说法中,正确的是____。,处罚只是手段而不是目的,处罚与教育相结合意味着可以以罚代刑,行政机关未责令当事人限期改正违法行为即作出行政处罚的,该行政处罚程序违法,行政处罚行为无效,行政机关未责令当事人限期改正违法行为即作出行政处罚的,该行政处罚程序不违法,但是该处罚行为为可撤销的行政行为,A,A,1
-甲公司2019年3月31日发现2018年度多计管理费用200万元,并进行了2018年企业所得税申报,甲公司适用企业所得税税率25%,并按净利润的10%提取法定盈余公积。假设甲公司2018年度财务报表于2019年3月10日对外报出,且当年度企业所得税申报的应纳税所得税额大于零,则下列甲公司对此项重要前期差错进行更正的会计处理中正确的是____。,调减2019年度当期管理费用200万元,调增2019年当期未分配利润150万元,调减2019年年初未分配利润135万元,调增2019年年初未分配利润135万元,D,C,0
-购置新建房的城镇土地使用税纳税义务发生时间为____。,自房屋交付使用之次月起,自办理房产证之次月起,自签订房屋买卖合同之次月起,自房屋竣工验收之次月起,A,A,1
-甲公司2019年年度财务报告经董事会批准于2020年4月20日报出。甲公司在2020年1月1日至4月20日之间发生的下列事项中,属于资产负债表日后调整事项的是____。,2020年3月10日,法院判决某项诉讼败诉,并需支付赔偿金额80万元,甲公司在2019年年末已经确认预计负债65万元,2020年2月10日发生产品销售退回,该批产品系2020年1月对外销售,2020年2月18日董事会提出资本公积转增资本方案,2020年3月18日公司仓库发生火灾导致存货部分毁损,A,A,1
-下列关于外币交易会计处理的表述中,错误的是____。,外币交易在初始确认时,可以采用按照系统合理的方法确定的、与交易日即期汇率近似的汇率折算,资产负债表日,对于外币货币性项目应当根据汇率变动计算汇兑差额作为财务费用,无需再计提减值准备,外币交易应当在初始确认时,采用交易发生日的即期汇率或近似汇率将外币金额折算为记账本位币金额,资产负债表日,对以历史成本计量的外币非货币性项目,仍采用交易发生日的即期汇率折算,不改变记账本位币金额,B,A,0
-下列消费品,属于消费税征税范围的是____。,合成宝石首饰,洗发水,大客车,轮胎,A,C,0
-下列关于车船税的说法中,正确的是____。,拖拉机属于车船税的征收范围,扣缴义务人代扣代缴车船税的,车辆登记地主管税务机关不再征收,境内单位和个人将船舶出租到境外的,不征收车船税,客货两用车依照乘用车的标准计征车船税,B,A,0
-在税务行政复议中,不可以达成和解和调解的情形是____。,行政奖励,行政审批,确定应税所得率,核定税额,B,C,0
-申请人和被申请人在行政复议机关作出行政复议决定以前可以达成和解,行政复议机关也可以调解,下列选项中不可以和解与调解的是____。,确定应税所得率,行政赔偿,行政奖励,征收滞纳金,D,C,0
-下列关于售后回购交易的会计处理符合企业会计准则规定的是____。,企业因存在与客户的远期安排而负有回购义务或企业享有回购权利的,回购价格低于售价,应当视为租赁交易,企业到期未行使回购权利的,应当在该回购权利到期时终止确认金融负债,但无需确认收入,企业负有应客户要求回购商品义务的,客户具有行使该要求权重大经济动因的,企业应当将售后回购作为融资交易,企业负有应客户要求回购商品义务的,客户不具有行使该要求权重大经济动因的,应当将其作为正常销售交易,A,D,0
-M公司资金周转出现困难,其法定代表人甲向好友乙借款100万元,甲把自己的宝马汽车抵押给乙,抵押合同中约定若甲不能按时还钱,甲的宝马汽车归乙所有。下列说法正确的是____。,该抵押未登记,乙的抵押权未生效,甲、乙的约定无效,甲、乙的约定经登记才有效,甲应把自己的汽车交付给乙,抵押权才生效,B,A,0
-甲、乙、丙成立一家科贸有限公司,约定公司注册资本100万元,甲、乙、丙各按20%、30%、50%的比例出资。甲、乙缴足了出资,丙仅实缴30万元。公司章程对于红利分配没有特别约定。当年年底公司进行分红。对此,下列说法中正确的是____。,丙只能按30%的比例分红,应按实缴注册资本80万元,由甲、乙、丙按各自的实际出资比例分红,由于丙违反出资义务,其他股东可通过决议取消其当年分红资格,丙有权按50%的比例分红,但应当承担未足额出资的违约责任,B,A,0
-应税固体废物环境保护税的计税依据是____。,固体废物的综合利用量,固体废物的排放量,固体废物的产生量,固体废物的贮存量,B,D,0
-某卷烟批发企业在2020年10月发生下列业务:批发销售给卷烟零售企业卷烟10标准箱,取得不含税收入150万元;批发销售给卷烟批发商卷烟5标准箱,取得不含税收入65万元。该企业当月应纳消费税____万元。,16.5,16.75,23.65,24.03,B,C,0
-关于财产拍卖的个人所得税处理,下列说法正确的是____。,作者将自己的文字作品手稿原件拍卖取得的所得,按“稿酬所得”项目计算缴纳个人所得税,计算个人财产拍卖的应纳税所得额时,纳税人实际支付的拍卖费不得扣除,拍卖祖传收藏的财产,可以税前扣除的财产原值为其收藏该拍卖品而发生的费用,经认定的海外回流文物的财产原值无法确定的,按转让收入的3%征收率计税,C,C,1
-某县生猪屠宰主管部门强制该县50户养猪农民养殖1号猪,并对其他品种的生猪将不予屠宰。对于此行为,下列说法正确的是____。,由于该行为属于普遍约束力的决定、命令,属于行政诉讼不受理的案件范围,该行为是行政机关为作出行政行为而实施的过程性行政行为,因此不具可诉性,该行为是具体行政行为,具有可诉性,该行为是国家行为,属于行政诉讼不受理的案件范围,C,A,0
-下列各项中,不属于税务行政诉讼目的的是____。,维护和监督税务机关依法行使行政职权,保证税法的公平、公正,保护纳税人、扣缴义务人等当事人的合法权益,保证人民法院正确、及时审理税务行政案件,B,C,0
-下列支出不能作为长期待摊费用的是____。,固定资产的大修理支出,租入固定资产的改建支出,外购房屋发生的装修费用,已足额提取折旧的固定资产的改建支出,C,C,1
-下列凭证中,需要计算缴纳印花税的是____。,无息、贴息贷款合同,新设立的资金账簿,财产所有人将财产赠给学校所立的书据,施工单位分包给其他施工单位的分包合同,D,D,1
-甲公司某零件年需要量为2000件,每次订货成本为30元,单位储存成本为0.75元/件。按照经济订货量进货,下列计算结果中错误的是____。,经济订货量为400件,年订货次数为5次,总订货成本为300元,与进货批量相关的总成本为300元,C,A,0
-关于土地增值税的清算,下列说法错误的是____。,销售合同所载商品房面积与实际测量面积不一致并在清算前已补或退房款的,在计算土地增值税时应予调整,未全额开具商品房销售发票的,按照销售合同所载金额及其他收益确认收入,未开具商品房销售发票的,按照实际收取金额确认收入,已全额开具商品房销售发票的,按照发票所栽金额确认收入,C,A,0
-2020年5月10日,税务机关在检查某公司的纳税情况过程中,发现该公司2019年的业务存在关联交易,少缴纳企业所得税30万元。该公司于2020年5月31日补缴了该税款,并按规定提供了同期资料及有关资料。已知2019年12月31日中国人民银行公布的一年期人民币贷款年利率为6%。税务机关对该公司补缴税款应加收利息____万元。,1.8,1.95,3.3,3.6,A,C,0
-关于消费税从价定率计税销售额,下列说法正确的是____。,金银首饰包装费不计入计税销售额,消费税计税销售额包括增值税,白酒包装物押金收取时不计入计税销售额,高档化妆品品牌使用费应计入计税销售额,D,C,0
-2020年10月,为响应环保节能号召,陈某从汽车4S店(增值税一般纳税人)购买一辆新能源汽车,支付不含税价款150000元。另支付汽车4S店代办保险费2000元,代办车辆牌照费300元,代收款项4S店未开具发票。陈某应纳车辆购置税____元。,0,10500,15000,15203.54,A,A,1
-某供热企业为增值税一般纳税人,2020年10月取得不含税供热收入860万元,其中向居民个人收取120万元,当月外购原材料取得增值税专用发票注明税额70万元。该企业2020年10月可以抵扣的进项税额为____万元。,15.13,24.9,28.94,60.23,D,C,0
-境外旅客购物离境退税的方式包括现金退税和银行转账退税两种方式。自行选择退税方式时,退税额应未超过____元。,500,1000,5000,10000,D,C,0
-下列转让定价方法中,适用于所有关联交易的是____。,可比非受控价格法,成本加成法,交易净利润法,利润分割法,A,C,0
-某企业为增值税一般纳税人,2021年6月从某花木栽培公司手中购入花卉1100盆,取得的专用发票上注明价款为110580元。该企业将1/4用于赠送给某节日庆典,其余全部卖给客户取得产品不含税销售额705000元。则该企业当月应纳增值税税额为____元。,59442,91236.2,107824.6,74647.8,D,D,1
--,-,-,-,-,文件 tax_accountant_val.csv 的正确率: 28.57%,-,-
diff --git a/ceval/ceval_result/teacher_qualification_val_result.csv b/ceval/ceval_result/teacher_qualification_val_result.csv
deleted file mode 100644
index 553274f..0000000
--- a/ceval/ceval_result/teacher_qualification_val_result.csv
+++ /dev/null
@@ -1,46 +0,0 @@
-question,A,B,C,D,answer,llm_answer,is_right
-编写中小学教科书的直接依据是____。,《中华人民共和国教育法》,课程计划,课程标准,课程表,C,C,1
-下列关于课程的三种文本表现形式说法正确的是____,课程计划是由当地教育主管部门制订的,课程标准是依据课程计划制定的,课程标准的核心是实施建议,教材编写的基本方式有直线式、螺旋式、交叉式,B,C,0
-悦悦是一名右耳失聪的残疾儿童,活动课上有时会听不清楚周老师所讲的内容,因此经常提问题。对此,周老师应当采取的措施是____。,给予悦悦更多的帮助和指导,指导家长带悦悦回家自学,建议家长将悦悦转到特殊幼儿园,照顾大多数幼儿,不理会悦悦,A,A,1
-内流河也称“内陆河”,是指没有流入海洋的河流,大多分布在大陆内部干燥地区,上游降水或冰雪融水为其主要补给水源,最终消失于沙漠或注入内陆湖泊。下列中国内流河中,最长的是____。,塔里木河,柴达木河,尼雅河,疏勒河,A,A,1
-学校规定学生不能烫染头发,但是小文为了彰显个性,在假期把头发染成了棕色。面对小文的情况,教师应该怎样处理?____,年轻人追求个性是合情合理的,应该宽容对待,违反学校的校规,应该严格处分,强制要求小文将头发颜色染回来才可以进校门,探明小文违反校规的原因,并对其进行劝导和教育,D,A,0
-张老师根据自己班级的情况,为解决班级内部班干部的人际关系问题,建立和谐融洽的班级氛围,自主开发了“和谐人际”的班级课程,这体现了教师____。,是教育教学的研究者,是课程的建设者和开发者,是学生学习的促进者,是社区型的开放教师,B,C,0
-刘老师工作很负责,学生在学校出现一点问题他就会与家长联系,在与家长沟通时他经常以前辈的姿态对待家长,对家长的教育方式指指点点。刘老师的做法____。,正确,老师就应该与家长经常沟通,正确,老师的经验比家长丰富,应该多指导家长,不正确,教师没有权利指导家长,不正确,教师应该与家长建立平等的沟通关系,尊重家长的人格,D,A,0
-在古代印度,有一户人家经营一家棉布店销售自己手工制作的衣服。你认为这户人家属于哪个等级?____,婆罗门,刹帝利,吠舍,首陀罗,C,A,0
-“小型分散,便于开展多种多样的活动,满足学生不同的兴趣、爱好,发展学生的才能,使学生得到更多的学习和锻炼的机会。”这种课外活动的形式是____。,科技活动,学科活动,个人活动,小组活动,D,C,0
-小红每天晚上临睡前都要多次反复检查自己的书包,确保带齐了第二天需要用的教材和文具。她明知道没有这个必要,但就是控制不住。她可能出现了____。,抑郁症,焦虑症,强迫症,恐惧症,C,C,1
-国家管理和评价课程的基础是____。,课程计划,课程标准,教学目标,教育目的,B,C,0
-儿童坚持性发生明显质变的年龄约在____,3~4岁,4~5岁,5~6岁,6岁以后,B,C,0
-《红楼梦》中人物众多、关系繁杂。为了帮助读者阅读,许多红学爱好者都在网络上发布了自己整理制作的主要人物关系图。这属于____。,纲要策略,精细加工策略,资源管理策略,监控策略,A,A,1
-学期结束时,班主任王老师会对学生思想品德的发展变化情况进行评价。这项工作属于____。,工作总结,工作计划,操行评定,建立学生档案,C,C,1
-人们常说:“教学有法而教无定法。”这反映了教师的劳动具有____。,连续性,示范性,长期性,创造性,D,C,0
-县级以上地方各级人民代表大会是县级以上地方国家权力机关,其职权不包括____。,改变或撤销本级人大常务委员会不适当的决定,选举并有权罢免本级人民法院院长,批准本行政区域内的预算执行情况的报告,决定并宣布下一级行政区城进入紧急状态,D,C,0
-在心理健康课上,同一批学生在第二次进行同样内容的人格测验时获得的分数与上次测验差别较大。这说明该测验存在的问题是____。,信度问题,效度问题,难度问题,区分度问题,A,D,0
-李老师在教学生区分形近字“渴”“竭”“碣”“谒”时,将四个字相同的右半部分用白色粉笔写出,相异的左半部分用彩色粉笔写出。李老师运用了知觉的____。,整体性,选择性,理解性,恒常性,B,C,0
-"兰兰学会走路后,就要很喜欢尝试自己穿衣、吃饭、捡东西,喜欢探索周围世界。按照埃里克森人格发展阶段理论,兰兰所处的发展阶段是____",信任对怀疑,自立对羞怯,主动感对内疚感,勤奋感对自卑感,B,A,0
-杨老师在教授生字词的过程中发现部分学生有缺笔少画的现象,于是他把“小学生缺笔少画现象的原因及对策研究”作为研究课题,拟订相应的研究计划,在工作中收集、整理相关资料并实施教学措施,最后根据反馈信息调整教学方案。这种研究方法属于____。,教育行动研究法,教育实验法,教育叙事研究法,个案研究法,A,A,1
-小青的数学成绩不好,她认为这是因为自己脑子笨,不是学数学的料。她的这种归因属于____。,内部、稳定,不可控的归因,外部、稳定、可控的归因,内部、不稳定,可控的归因,外部,不稳定,不可控的归因,A,A,1
-中小学教科书不同于其他任何书籍的基本特点是内容的____。,准确性,示范性,新颖性,基础性,D,C,0
-王老师在课堂上给学生演示了与知识点有关的几个实验。这属于____。,实物直观,模象直观,言语直观,思维直观,A,C,0
-"在Excel中,单元格A1, A2, A3中的内容依次为数值1,2,3,单元格A4中的内容为字符前添加了英文单撇号“,”的文本字符“3”,在单元格A5的编辑栏输入公式“=COUNT( A1:A4) +12”并点击回车键,A5单元格的内容为____。",15,21,12,18,D,A,0
-唐朝时形成了“父教其子,子教其弟”“五尺童子耻不言文墨焉”的社会风尚,它的形成主要得益于____。,社会经济的繁荣,科举制度的推行,学校体系的完备,三省六部制的确立,B,C,0
-教导处的刘老师抓到两名学生藏在厕所里偷偷抽烟,于是把他们叫到办公室,慢悠悠地点燃了一根香烟,准备耐心细致地给他们做思想工作。对此,以下说法错误的是____。,刘老师既禁止学生抽烟,又能耐心劝导,严慈相济,真正做到了关爱学生,刘老师要求学生不要抽烟,却在学生面前抽烟,违背了为人师表的要求,刘老师的抽烟行为与他教导学生不能抽烟的言词相悖,很容易损害自己的威信,刘老师的行为表明教师队伍中存在一些教师需要对其加强师风师德建设的,A,A,1
-小班幼儿看木偶剧表演时,看到“老虎”会感到害怕。这说明幼儿的____,想象脱离现实,想象与现实混淆,想象容易受情绪影响,想象内容零散,B,C,0
-有的成语与历史人物密切相关。下列选项中,与“狡兔三窟”相关的历史人物是____。,管仲与齐桓公,毛遂与平原君,冯谖与孟尝君,曹刿与鲁庄公,C,A,0
-王浩同学活动过多、注意力不集中、冲动行为多。这种心理障碍可能是____。,多动综合征,学习困难综合征,儿童厌学症,儿童强迫行为,A,C,0
-在对班级学生进行教育时,班主任李老师引导学生对自己每日的学习、行为进行反省。李老师主要运用的德育方法是____。,自我修养法,榜样示范法,实践锻炼法,情感陶冶法,A,B,0
-在讲解方程时,王老师先讲一元一次方程,再讲二元一次方程,然后讲一元二次方程,逐步加深难度。这种教学方式所遵循的原则是____。,理论联系实际原则,启发性原则,循序渐进原则,巩固性原则,C,A,0
-近代原子核物理学之父是____。,普朗克,卢瑟福,玻尔,霍金,B,C,0
-很多人因为有了受教育的机会而得到了和父辈完全不同的人生发展机遇。这说明教育在人的发展中起到____。,辅助作用,决定作用,次要作用,主导作用,D,C,0
-下面是中国古代四大名著中的人物与情节,其中搭配不当的一项是____。,鲁智深——倒拔垂杨柳,孙悟空——大闹天宫,周瑜——三顾茅庐,刘姥姥——进大观园,C,A,0
-找规律填数字是一项很有趣的活动,特别锻炼观察和思考能力。下列选项中,填入数列“1、7、8、57、____、26050”空缺处的数字,符合该组数字排列规律的是____。,456,457,458,459,B,C,0
-教育自身的许多规律,是人类长期教育实践认识的结果,它们不会因政治经济制度和其他文化的发展而过时,更不会随时代的发展而被否定。这说明教育具有____。,历史性,永恒性,阶级性,相对独立性,D,C,0
-高中毕业会考是一种达标考试,属于____。,定量评价,相对性评价,形成性评价,绝对性评价,D,C,0
-下列选项中,与“图书”和“音乐书”的逻辑关系相同的一组是____。,“钢笔”和“铅笔”,“蛋糕”和“香油”,“水果”和“西瓜”,“白菜”和“黄瓜”,C,C,1
-语文教师裴老师每天下课后都会对自己一天的工作进行总结反思,并记录下来。这属于布鲁巴奇反思方法中的____。,反思日记,详细描述,交流讨论,行动研究,A,C,0
-以下关于幼儿有意注意发展的表述,不正确的是____,幼儿有意注意发展受大脑发育水平局限,幼儿有意注意的发展水平较低,无法依靠活动和操作来维持,幼儿在幼儿园需要遵守各种行为规则,完成各项任务,这都需要幼儿形成或发展有意注意,教师在组织活动时,要求幼儿保持注意的对象应该是幼儿认知范围以内或幼儿易于理解的事物,B,C,0
-某幼儿园根据幼儿的发展情况将班级分为快班、中班和慢班。对于快班的幼儿安排大量优秀师资和先进设备,而对于慢班的幼儿则给予较少的优良教育资源。该幼儿园的做法违背了素质教育内涵中的____。,以提高国民素质为基本宗旨,面向全体幼儿,促进幼儿全面发展,促进幼儿个性发展,B,A,0
-作为古埃及文明的象征之一,____既寄托了古埃及人对死后重生的向往,又证明了新一代法老王权统治的神圣不可侵犯,充分显示了古埃及人的高度智慧和精湛的建筑艺术。,金字塔,帕特农神庙,圆形竞技场,麦加清真寺,A,C,0
-在太阳系的八大行星中,质量最大和最小的行星分别是____。,木星;水星,火星;地球,金星;水星,土星;天王星,A,C,0
-据调查,教师对学生拳打脚踢的情况现在已经较少存在,取而代之的是“心罚”。比如,对于成绩不好的学生罚做题目、罚抄单词一百遍。教师这样的行为____。,是正确的,教育中适当的惩罚是必不可少的,是正确的,教师没有侵犯学生的身体健康,是不正确的,教师没能做到依法执教,是不正确的,教师没能做到团结合作,C,A,0
--,-,-,-,-,文件 teacher_qualification_val.csv 的正确率: 22.73%,-,-
diff --git a/ceval/ceval_result/test.log b/ceval/ceval_result/test.log
deleted file mode 100644
index fe75874..0000000
--- a/ceval/ceval_result/test.log
+++ /dev/null
@@ -1,54 +0,0 @@
-总题数: 1346
-总正确数: 330
-总正确率: 24.52%probability_and_statistics_val.csv: 文件 probability_and_statistics_val.csv 的正确率: 11.11%
-law_val.csv: 文件 law_val.csv 的正确率: 29.17%
-middle_school_biology_val.csv: 文件 middle_school_biology_val.csv 的正确率: 33.33%
-high_school_chemistry_val.csv: 文件 high_school_chemistry_val.csv 的正确率: 26.32%
-high_school_physics_val.csv: 文件 high_school_physics_val.csv 的正确率: 31.58%
-legal_professional_val.csv: 文件 legal_professional_val.csv 的正确率: 21.74%
-high_school_chinese_val.csv: 文件 high_school_chinese_val.csv 的正确率: 21.05%
-high_school_history_val.csv: 文件 high_school_history_val.csv 的正确率: 30.00%
-tax_accountant_val.csv: 文件 tax_accountant_val.csv 的正确率: 28.57%
-modern_chinese_history_val.csv: 文件 modern_chinese_history_val.csv 的正确率: 43.48%
-middle_school_physics_val.csv: 文件 middle_school_physics_val.csv 的正确率: 47.37%
-middle_school_history_val.csv: 文件 middle_school_history_val.csv 的正确率: 9.09%
-basic_medicine_val.csv: 文件 basic_medicine_val.csv 的正确率: 21.05%
-operating_system_val.csv: 文件 operating_system_val.csv 的正确率: 5.26%
-logic_val.csv: 文件 logic_val.csv 的正确率: 18.18%
-electrical_engineer_val.csv: 文件 electrical_engineer_val.csv 的正确率: 21.62%
-civil_servant_val.csv: 文件 civil_servant_val.csv 的正确率: 27.66%
-chinese_language_and_literature_val.csv: 文件 chinese_language_and_literature_val.csv 的正确率: 26.09%
-college_programming_val.csv: 文件 college_programming_val.csv 的正确率: 27.03%
-accountant_val.csv: 文件 accountant_val.csv 的正确率: 20.41%
-plant_protection_val.csv: 文件 plant_protection_val.csv 的正确率: 18.18%
-middle_school_chemistry_val.csv: 文件 middle_school_chemistry_val.csv 的正确率: 25.00%
-metrology_engineer_val.csv: 文件 metrology_engineer_val.csv 的正确率: 16.67%
-veterinary_medicine_val.csv: 文件 veterinary_medicine_val.csv 的正确率: 34.78%
-marxism_val.csv: 文件 marxism_val.csv 的正确率: 31.58%
-advanced_mathematics_val.csv: 文件 advanced_mathematics_val.csv 的正确率: 36.84%
-high_school_mathematics_val.csv: 文件 high_school_mathematics_val.csv 的正确率: 16.67%
-business_administration_val.csv: 文件 business_administration_val.csv 的正确率: 18.18%
-mao_zedong_thought_val.csv: 文件 mao_zedong_thought_val.csv 的正确率: 20.83%
-ideological_and_moral_cultivation_val.csv: 文件 ideological_and_moral_cultivation_val.csv 的正确率: 15.79%
-college_economics_val.csv: 文件 college_economics_val.csv 的正确率: 27.27%
-professional_tour_guide_val.csv: 文件 professional_tour_guide_val.csv 的正确率: 41.38%
-environmental_impact_assessment_engineer_val.csv: 文件 environmental_impact_assessment_engineer_val.csv 的正确率: 22.58%
-computer_architecture_val.csv: 文件 computer_architecture_val.csv 的正确率: 14.29%
-urban_and_rural_planner_val.csv: 文件 urban_and_rural_planner_val.csv 的正确率: 13.04%
-college_physics_val.csv: 文件 college_physics_val.csv 的正确率: 15.79%
-middle_school_mathematics_val.csv: 文件 middle_school_mathematics_val.csv 的正确率: 21.05%
-high_school_politics_val.csv: 文件 high_school_politics_val.csv 的正确率: 31.58%
-physician_val.csv: 文件 physician_val.csv 的正确率: 28.57%
-college_chemistry_val.csv: 文件 college_chemistry_val.csv 的正确率: 29.17%
-high_school_biology_val.csv: 文件 high_school_biology_val.csv 的正确率: 26.32%
-high_school_geography_val.csv: 文件 high_school_geography_val.csv 的正确率: 21.05%
-middle_school_politics_val.csv: 文件 middle_school_politics_val.csv 的正确率: 19.05%
-clinical_medicine_val.csv: 文件 clinical_medicine_val.csv 的正确率: 27.27%
-computer_network_val.csv: 文件 computer_network_val.csv 的正确率: 26.32%
-sports_science_val.csv: 文件 sports_science_val.csv 的正确率: 47.37%
-art_studies_val.csv: 文件 art_studies_val.csv 的正确率: 21.21%
-teacher_qualification_val.csv: 文件 teacher_qualification_val.csv 的正确率: 22.73%
-discrete_mathematics_val.csv: 文件 discrete_mathematics_val.csv 的正确率: 31.25%
-education_science_val.csv: 文件 education_science_val.csv 的正确率: 10.34%
-fire_engineer_val.csv: 文件 fire_engineer_val.csv 的正确率: 25.81%
-middle_school_geography_val.csv: 文件 middle_school_geography_val.csv 的正确率: 25.00%
diff --git a/ceval/ceval_result/urban_and_rural_planner_val_result.csv b/ceval/ceval_result/urban_and_rural_planner_val_result.csv
deleted file mode 100644
index a160f2f..0000000
--- a/ceval/ceval_result/urban_and_rural_planner_val_result.csv
+++ /dev/null
@@ -1,48 +0,0 @@
-question,A,B,C,D,answer,llm_answer,is_right
-对于固体污染物的控制规划内容,不够突出的是____。,电子污染物,生活垃圾,医疗废物,工业固体废物,A,C,0
-竖向设计设计标高中,当建筑物无进车道时,一般室内地坪比室外地坪面高出____,0.30~0.90m,0.45~0.60m,0.25~0.30m,0.25~0.35m,B,A,0
-城市总体规划的强制性内容,在防灾方面没涉及的灾害是____。,洪灾,震灾,涝灾,火灾,C,C,1
-地下电力缆保护区的宽度为地下电力电缆线路地面标桩两侧各____所形成两平行线内区域。,0.5m,0.75m,1.0m,1.5m,B,C,0
-下列城市全部由国务院公布为历史文化名城的是____,延安、淮安、泰安、瑞安、雅安,金华、银川、同仁、铁岭、无锡,韩城、聊城、邹城、晋城、塔城,歙县、寿县、祁县、浚县、代县,D,A,0
-《村庄整治技术导则》中提出,对于“空心村”,在住房制度上提出的政策是____。,拆除已坍塌的房屋,一户一宅,迁村并点,宅基地向村中心集中,B,A,0
-下列不属于村庄规划的具体内容的是____。,社会经济规划,道路交通规划,绿化景观规划,市政规划,A,C,0
-居住区的规划布局形式类型中不包括____。,居住区—小区—组团,居住区—组团,街坊式,联合式组团,D,C,0
-造成城乡生产力结构根本区别的是____。,文化观念的差异,生产力结构的差异,职能的差异,物质形态的差异,B,A,0
-以下不属于液化石油气气化站与混气站的布置原则的是____。,液化石油气气化站与混气站的站址应靠近负荷区,站址应是地势平坦、开阔、不易积存液化石油气的地段,站址应与站外建筑物保持规范所规定的防火间距要求,作为机动气源的混气站不能与气源厂、城市煤气储配站合设,D,A,0
-世界上现存最高的木塔是中国____,河南登封嵩岳寺塔,山西应县佛宫寺释迦塔,山东济南神通寺四门塔,陕西扶风法门寺塔,B,C,0
-采用一元线性回归的方法分析预测规划期城市人口规模的主要依据是____。,可以准确预测规划远期的人口数量,在某一时间段内城市人口的数量与时间,是一组相关的线性函数关系,城市人口遵循直线增长的规律,已掌握了充足的城市人口历年变动的资料,B,D,0
-下列属于工业固体废物的产生量的预测方法的是____,单位产品法,百元产值法,人均指标法,增长率法,A,C,0
-以下有关城市规划编制单位资质管理的说法正确的是____。,三个以上城市规划编制单位合作编制城市规划时,有关规划编制单位应当共同向任务所在地相应的主管部门备案,城市规划编制单位合并或者分立,应当在批准之日起15日内重新申请办理《资质证书》,申请乙级、丙级资质的,由所在地市、县人民政府城市规划主管部门审批,核发《资质证书》,并报国务院城市规划主管部门备案,乙、丙级城市规划编制单位跨省、自治区、直辖市设立的分支机构中,非独立法人的机构,不得以分支机构名义承揽业务,C,A,0
-下列不属于堆肥方法运用于固体垃圾处理优点的是____,占地较小,投资较低,产品可用作肥料,无害化程度很高,A,C,0
-公民、法人和社会团体为了促进城市规划有效、合理地实施,为了维护自己的合法权利,可以依法对城市规划行政机关做出的具体行政行为提出____。,行政诉讼,民事诉讼,行政仲裁,申诉,A,C,0
-下列哪一项不是城市总体规划中城市发展目标的内容?____,城市性质,用地规模,人口规模,基础设施和公共设施配套水平,A,B,0
-工商业活动集聚的场所是____,也是从事工商业活动的人群聚居的场所。,乡村,郊区,田园,城市,D,C,0
-大修的城市道路竣工后____年内不得挖掘;因特殊情况需要挖掘的,须经县级以上城市人民政府批准。,3,4,5,6,A,B,0
-洛杉矶的交通发展模式为____。,以小汽车为主、公交为辅的交通模式,以小汽车为主体的交通模式,以轨道公交为主、小汽车和地面公交为辅的交通模式,公交为主、小汽车为主导(公交与小汽车并重),B,D,0
-根据《中华人民共和国环境影响评价法》的规定,下列关于规划环境影响评价的内容和审批表述中不正确的是____,未编写有关环境影响的篇章或者说明的规划草案,审批机关不予审批,专项规划的编制机关在报批规划草案时,必须将环境影响登记表一并附送审批机关审查,专项规划的环境影响报告书应当包括环境影响评价的结论,规划有关环境影响的篇章或者说明,应当对规划实施后可能造成的环境影响作出分析、预测和评估,B,D,0
-根据《城市道路绿化规划与设计规范》的规定,城市道路绿化规划与设计的基本原则不包括____。,城市绿化树木与市政公用设施的相互位置应统筹安排,并应保证树木有必要的立地条件与生长空间,城市道路绿化应以地被植物为主,地被植物、乔木、灌木相结合,不得裸露土壤,修建城市道路时,宜保留有价值的原有树木,对古树名木应予以保护,城市道路绿化应符合车行视线和行车净空要求,B,A,0
-根据《历史文化名城名镇名村保护条例》,保护规划应当自历史文化名城、名镇、名村批准公布之日起____年内编制完成。,半,1,2,3,B,A,0
-下列有关法律效力选项中不正确的是____,在一定主体制定的法律规范中,按照特定的、更为严格的程序制定的法律规范,其效力等级高于按照普通程序制定的法律规范,当同一制定机关按照相同程序就同一领域问题制定了两个以上法律规范时,后来法律规范的效力高于先前制定的法律规范,同一主体在某领域既有一般性立法又有特殊立法时,特殊立法通常优于一般性立法,国家机关授权下级国家机关制定的所有的法律、法规,其在效力上等同于授权机关自己制定的法律、法规,D,A,0
-城市公共交通系统的核心设施是____。,公交换乘枢纽,城市各级公共中心,市级公交干线,城市对外客运交通枢纽,A,C,0
-根据《城市抗震防灾规划管理规定》,下列关于城市抗震防灾规划编制要求的表述不正确的是____。,城市抗震防灾规划中的抗震设防标准、建设用地评价与要求、抗震防灾措施应当列为城市总体规划的强制性内容,作为编制城市详细规划的依据,城市抗震防灾规划的规划范围应当与城市总体规划相一致,但其应在城市总体规划实施之后进行,城市抗震防灾规划应当按照城市规模、重要性和抗震防灾的要求,分为甲、乙、丙三种模式,位于地震基本烈度七度及七度以上地区的大城市应按照甲类模式编制,B,A,0
-港口岸线分配原则是____。,主要考虑与城市道路衔接,“深水深用、浅水浅用、避免干扰、各得其所”,客运港位于货运港的上风方向,综合考虑船舶航行、货物装卸、库场储存及后方集疏,B,C,0
-根据《省级国土空间规划编制指南(试行)》,以城镇建设、农业生产和工业生产等为主的国土空间开发活动是指____,国土空间开发,国土空间利用,国土空间规划,国土空间保护,A,B,0
-下列不符合《人民防空法》规定的是____,城市是人民防空的重点,国家对城市实行分类防护,城市防护类别、防护标准由中央军事委员会规定,城市人民政府应当制定防空袭方案及实施计划,必要时可以组织演习,C,C,1
-在城市规划分析中,下列用来反映数据离散程度的是____,平均数,众数,标准差,频数分布,C,C,1
-城市交通调查的目的是____。,进行城市交通规划、城市道路系统规划和城市道路设计的基础工作,收集城市公共交通客运总量、货运总量,对外交通客、货运总量等运输现状与发展资料,根据调查的资料,分析城市车辆以及客、货运量的增长特点和规律,摸清城市道路上的交通状况,城市交通的产生、分布、运行规律以及现状存在的主要问题,D,A,0
-下列以满足交通运输的要求为主要功能并承担城市主要的交通量及与对外交通联系的道路是____。,生活性道路,交通性道路,主干路,快速路,B,A,0
-建设单位应当按照规划条件进行建设;确需变更的,必须向____提出申请。,城市、县人民政府土地主管部门,城市、县人民政府国土资源部门,城市、县人民政府建设行政主管部门,城市、县人民政府城乡规划主管部门,D,A,0
-在城市详细规划阶段预测用电负荷,一般采用下列哪种方法?____,人均综合用电量指标法,单位建设用地负荷指标法,单位建筑面积负荷指标法,电力弹性系数法,C,C,1
-在规划实施过程中由城乡规划主管部门核发的证书不包括____。,建设用地规划许可证,建设工程规划许可证,乡村建设规划许可证,建设工程施工许可证,D,C,0
-下列关于建筑与等高线之间关系的表述,错误的是____,建筑与等高线平行,建筑与等高线垂直,建筑与等高线重合,建筑与等高线斜交,C,C,1
-依据《城市用地分类与规划建设用地标准》,其规划人均公共管理与公共服务用地面积指标不应少于____。,5.0m^2/人,5.5m^2/人,6.0m^2/人,6.5m^2/人,B,C,0
-城市供热一级管网宜采用____。,闭式,开式,开式双管制,闭式单管制,A,C,0
-下列关于村庄规划的表述,哪项是错误的?____,应以行政村为单位,应向村民公示,方案由县级城乡规划行政主管部门组织专家和相关部门进行技术审查,成果由村委会报县级人民政府审批,D,C,0
-根据《城市规划编制单位资质管理规定》,下列关于城市规划编制单位资质监督管理的表述中,不正确的是____。,城市规划编制单位提交的城市规划编制成果,应当在文件扉页注明单位资质等级和证书编号,禁止无城市规划编制的机构对城市规划编制单位实行资质年检制度,发证部门或其委托的机构对城市规划编制单位实行资质年检制度,甲、乙级城市规划编制单位跨省、自治区、直辖市承担规划编制任务时,未向其人民政府城市规划行政主管部门备案的,由该人民政府城市规划行政主管部门给予警告,责令其补办备案手续,并处1万元以上5万元以下的罚款,D,A,0
-以下对城市所具有的基本特征的概括,表述不正确的是____。,城市的发展动态是变化和多样的,城市的概念是相对存在的,以要素聚集为基本特征,不具有系统性,D,A,0
-下列符合核电厂选址要求的是____,便于拦河筑坝的河流狭窄处或水库水流下游处,电厂铁路专用线选线要尽量减少对国家干线通过能力的影响,靠近负荷中心,以减少输电费用,工程地质条件良好,土地耐力高,非地质断裂带,C,C,1
-____是建立城市艺术骨架和组织城市空间的重要手段之一,它可以把城市空间组织成一个有秩序、有韵律的整体。,城市绿化,城市水面,城市制高点,城市轴线,D,C,0
-为了定量分析采取某项措施对于减少城市污染的效果,所开发的系统属于____,决策支持系统,事务管理系统,管理信息系统,专家系统,B,C,0
-计算道路网的密度,分析管线穿越地块的问题,可以采用矢量叠合的____的叠合。,点和面,线和面,面和面,点和线,B,C,0
-标志着欧洲进入封建社会的中世纪的是____。,奥匈帝国的灭亡,古希腊的灭亡,波斯帝国的灭亡,罗马帝国的灭亡,D,C,0
--,-,-,-,-,文件 urban_and_rural_planner_val.csv 的正确率: 13.04%,-,-
diff --git a/ceval/ceval_result/veterinary_medicine_val_result.csv b/ceval/ceval_result/veterinary_medicine_val_result.csv
deleted file mode 100644
index 0d24bd1..0000000
--- a/ceval/ceval_result/veterinary_medicine_val_result.csv
+++ /dev/null
@@ -1,25 +0,0 @@
-question,A,B,C,D,answer,llm_answer,is_right
-____既在糖酵解又在葡萄糖异生作用中起作用。,丙酮酸激酶,3-磷酸甘油醛脱氢酶,1,6-二磷酸果糖激酶,己糖激酶,B,C,0
-将RNA转移到硝基纤维素膜上的技术叫____。,Southern印迹,Northern印迹,Western印迹,Eastern印迹,B,C,0
-____不是蛋白质的性质之一。,处于等电状态时溶解度最小,加入少量中性盐溶解度增加,变性蛋白质的溶解度增加,有紫外吸收特性,C,C,1
-在酶的分离纯化中最理想的实验结果是____。,纯化倍数高,回收率高,蛋白回收率高,回收率小,但纯化倍数高,比活力最大,A,A,1
-动物体内组成的化学元素中,下列所占比例最多的是____,碳,氯,钠,氢,A,C,0
-酶的催化特点不具有____,高效性,多功能性,可调节性,酶蛋白易变性,B,C,0
-生物素是____的辅酶。,丙酮酸脱氢酶,丙酮酸激酶,丙酮酸脱氢酶系,丙酮酸羧化酶,D,C,0
-蛋白质不能吸收可见光,但能吸收一定波长范围内的紫外光。大多数蛋白质在280nm波长附近有一个吸收峰,这主要与蛋白质中____的紫外吸收有关。因此,可以利用紫外吸收法,根据蛋白质溶液在280nm波长的吸收值测定蛋白质浓度,碱性氨基酸,酸性氨基酸,含硫氨基酸,芳香族氨基酸,B,C,0
-"具5 "" -CpGpGpTpAp-3 "" 顺序的单链DNA能与下列____RNA杂交","5 "" -GpCpCpApTp3 ""","5 "" -GpCpCpUp-3 ""","5 "" -UpApCpCpGp-3 ""","5 "" -TpApCpGp-3 """,C,C,1
-酶的非竞争性抑制剂对酶促反应的影响是____。,$ν_{max}$ 不变,$K_m$ 增大,$ν_{max}$不变,$K_m$减小,$ν_{max}$增大,$K_m$不变,$ν_{max}$减小,$K_m$不变,D,A,0
-水溶性维生素常是辅酶或辅基的组成部分,如____。,辅酶A含尼克酰胺,FAD含有吡哆醛,$FH_4$ 含有叶酸,脱羧辅酶含生物素,C,C,1
-核酸变性后,可发生的效应是____。,减色效应,增色效应,失去对紫外线的吸收能力,最大吸收峰波长发生转移,B,C,0
-下列____不是终止密码。,UAA,15AC,UAG,UGA,B,C,0
-关于酶偶联受体的叙述,错误的是____。,酶偶联受体属于细胞表面受体,酶偶联受体的配体结合区在细胞膜内侧,酶活性区在细胞膜外侧,酶偶联受体介导的是非经典跨质膜与胞内信号途径,可以单独完成信号传递,胞内信号传递不产生经典意义上的第二信使,多数酶偶联受体具有磷酸化酶的活性,B,A,0
-主要分布在肝脏的是____。,碱性磷酸酶,酸性磷酸酶,单胺氧化酶,谷丙转氨酶,D,C,0
-对DNA片段作物理图谱分析,需要用____。,核酸外切酶,DNAseI,限制性内切酶,DNA聚合酶I,C,A,0
-____不是胆色素。,血红素,胆绿素,胆红素,胆素原族,A,C,0
-转录是指____,DNA的自我复制过程,RNA的自我复制过程,以DNA为模板合成RNA的过程,以RNA为模板合成DNA的过程,C,C,1
-血液非蛋白氮中含量最多的物质是____。,尿素,肌酸,蛋白质,尿酸,A,C,0
-氨基酸分子既含有酸性的羧基(一COOH),又含有碱性的氨基(一$NH_2$ )。前者能提供质子变成一COO一;后者能接受质子变成一$NH_3^+$ 。有的氨基酸还有可解离的侧链基团。因此,氨基酸是两性电解质。其解离状态与溶液的pH值有直接关系,当pH值等于pI时,蛋白质____,带正电荷,带负电荷,所带电荷不确定,所带正、负电荷相等,D,D,1
-蛋白质分子是结构极其复杂的生物大分子。有的蛋白质分子只包含一条多肽链;有的则包含数条多肽链。通常将蛋白质的结构划分为几个层次,有一种结构层次出现在一条多肽链的内部,是多肽链局部的所有原子及原子团形成的有规律的构象,该构象一般成球状结构,执行一定的功能,该结构是____,结构域,超二级结构,二级结构,三级结构,A,D,0
-蛋白质生物合成中多肽的氨基酸排列顺序取决于____。,相应tRNA的专一性,相应氨酰tR-NA合成酶的专一性,相应mRNA中核苷酸排列顺序,相应tRNA上的反密码子,C,C,1
-稀有核苷酸碱基主要见于____。,DNA,mRNA,tRNA,rRNA,C,C,1
--,-,-,-,-,文件 veterinary_medicine_val.csv 的正确率: 34.78%,-,-
diff --git a/chat_openai_api.py b/chat_openai_api.py
deleted file mode 100644
index 9b85055..0000000
--- a/chat_openai_api.py
+++ /dev/null
@@ -1,48 +0,0 @@
-from openai import OpenAI
-
-client = OpenAI(
- api_key="none",
- base_url="http://202.195.167.206:8000/v1"
-)
-
-# 初始化对话历史列表
-conversation_history_origin = []
-conversation_history = conversation_history_origin.copy()
-while True:
- conversation_history = conversation_history_origin.copy()
- query = input('[Q]:')
-
- # 将用户的问题添加到对话历史中
- conversation_history.append({"role": "user", "content": query})
-
- # Chat completion API
- stream = client.chat.completions.create(
- model="minimind",
- messages=conversation_history, # 传递整个对话历史
- stream=True
- )
-
- print('[A]: ', end='')
- assistant_res = ''
- for chunk in stream:
- # 将生成的回复实时打印出来
- print(chunk.choices[0].delta.content or "", end="")
- assistant_res += chunk.choices[0].delta.content or ""
-
- # 当完成生成回复后,将LLM的回答也添加到对话历史中
- conversation_history.append({"role": "assistant", "content": assistant_res})
- print()
-
-# # Example: reuse your existing OpenAI setup
-# from openai import OpenAI
-#
-# # Point to the local server
-# client = OpenAI(base_url="http://202.195.167.206:8000/v1", api_key="none")
-#
-# completion = client.chat.completions.create(
-# model="minimind",
-# messages=[{"role": "user", "content": "世界上最高的山是?"}],
-# stream=False
-# )
-#
-# print(completion.choices[0].message)
diff --git a/data_process.py b/data_process.py
deleted file mode 100644
index 4377c00..0000000
--- a/data_process.py
+++ /dev/null
@@ -1,157 +0,0 @@
-import csv
-import itertools
-import re
-import json
-import jsonlines
-import psutil
-import ujson
-import numpy as np
-import pandas as pd
-from transformers import AutoTokenizer
-from datasets import load_dataset
-
-bos_token = ""
-eos_token = ""
-
-
-def pretrain_process(chunk_size=50000):
- chunk_idx = 0
-
- with jsonlines.open('./dataset/mobvoi_seq_monkey_general_open_corpus.jsonl') as reader:
- with open('./dataset/pretrain_data.csv', 'w', newline='', encoding='utf-8') as csvfile:
- writer = csv.writer(csvfile)
- writer.writerow(['text'])
-
- while True:
- chunk = list(itertools.islice(reader, chunk_size))
- if not chunk:
- break
-
- for idx, obj in enumerate(chunk):
- try:
- content = obj.get('text', '')
- if len(content) > 512:
- continue
- writer.writerow([content])
- except UnicodeDecodeError as e:
- print(f"Skipping invalid line {chunk_idx * chunk_size + idx + 1}: {e}")
- continue
- chunk_idx += 1
- print('chunk:', ((chunk_idx - 1) * chunk_size, chunk_idx * chunk_size), 'process end')
-
-
-def sft_process(contain_history=False):
- file_name = 'sft_data.csv'
- if not contain_history:
- file_name = 'sft_data_single.csv'
-
- def chinese_ratio(text):
- # 匹配所有中文字符
- chinese_chars = re.findall(r'[\u4e00-\u9fff]', text)
- # 中文字符数量占比
- return len(chinese_chars) / len(text) if text else 0
-
- def process_and_write_data(data):
- q_lst, a_lst, history_lst = [], [], []
- for per in data:
- history, q, a = per['history'], per['q'], per['a']
-
- if (contain_history and not history) or not q or not a:
- continue
- if len(q) < 10 or len(a) < 5:
- continue
- if len(q) > 512 or len(a) > 512:
- continue
- # 判断q和a中中文字符占比是否超过70%
- if not (chinese_ratio(q) > 0.5 and chinese_ratio(a) > 0.5):
- continue
-
- q_lst.append(q)
- a_lst.append(a)
- if contain_history:
- history_lst.append(history)
- else:
- history_lst.append([])
-
- # 创建DataFrame并追加到CSV文件
- df = pd.DataFrame({'history': history_lst, 'q': q_lst, 'a': a_lst})
- # # 1、默认
- # df.to_csv(f'./dataset/{file_name}', mode='a', header=False, index=False, lineterminator='\r\n', encoding='utf-8')
- # 2、若遇到数据 `_csv.Error: need to escape, but no escapechar set` 问题,可加 escapechar='\\' 参数:
- df.to_csv(f'./dataset/{file_name}', mode='a', header=False, index=False, lineterminator='\r\n', escapechar='\\',
- encoding='utf-8')
-
- chunk_size = 1000 # 每次处理的记录数
- data = []
-
- with open(f'./dataset/{file_name}', 'w', encoding='utf-8') as f:
- f.write('history,q,a\n')
-
- sft_datasets = ['./dataset/sft_data_zh.jsonl']
- if not contain_history:
- sft_datasets = ['./dataset/sft_data_zh.jsonl']
-
- chunk_num = 0
- for path in sft_datasets:
- with jsonlines.open(path) as reader:
- for idx, obj in enumerate(reader):
- try:
- data.append({
- 'history': obj.get('history', ''),
- 'q': obj.get('input', '') + obj.get('q', ''),
- 'a': obj.get('output', '') + obj.get('a', '')
- })
-
- if len(data) >= chunk_size:
- chunk_num += 1
- process_and_write_data(data)
- data = []
- if chunk_num % 100 == 0:
- print(f'chunk:{chunk_num} process end')
- except jsonlines.InvalidLineError as e:
- print(f"Skipping invalid JSON line {idx + 1}: {e}")
- continue
-
- if data:
- process_and_write_data(data)
- data = []
-
-
-def rl_process():
- ################
- # Dataset
- ################
-
- dataset_paths = [
- './dataset/dpo/dpo_zh_demo.json',
- './dataset/dpo/dpo_train_data.json',
- './dataset/dpo/huozi_rlhf_data.json',
- ]
-
- train_dataset = load_dataset('json', data_files=dataset_paths)
-
- merged_data = []
- for split in train_dataset.keys():
- merged_data.extend(train_dataset[split])
-
- with open('./dataset/dpo/train_data.json', 'w', encoding='utf-8') as f:
- json.dump(merged_data, f, ensure_ascii=False, indent=4)
-
-
-if __name__ == "__main__":
- tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer', use_fast=False)
- print('tokenizer词表大小:', len(tokenizer))
-
- ################
- # 1: pretrain
- # 2: sft
- # 3: RL
- ################
- process_type = 2
-
- if process_type == 1:
- pretrain_process()
- if process_type == 2:
- sft_process(contain_history=False)
- if process_type == 3:
- rl_process()
diff --git a/eval_ceval.py b/eval_ceval.py
deleted file mode 100644
index 21edd0b..0000000
--- a/eval_ceval.py
+++ /dev/null
@@ -1,183 +0,0 @@
-import random
-import time
-import os
-
-import pandas as pd
-import torch
-import warnings
-from transformers import AutoTokenizer, AutoModelForCausalLM
-from model.model import Transformer
-from model.LMConfig import LMConfig
-import torch.nn.functional as F
-
-warnings.filterwarnings('ignore')
-
-
-def init_model(lm_config):
- tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer',
- trust_remote_code=True, use_fast=False)
- model_from = 1 # 1从权重,2用transformers
-
- if model_from == 1:
- moe_path = '_moe' if lm_config.use_moe else ''
- ckp = f'./out/single_chat/full_sft_{lm_config.dim}{moe_path}.pth'
-
- model = Transformer(lm_config)
- state_dict = torch.load(ckp, map_location=device)
-
- # 处理不需要的前缀
- unwanted_prefix = '_orig_mod.'
- for k, v in list(state_dict.items()):
- if k.startswith(unwanted_prefix):
- state_dict[k[len(unwanted_prefix):]] = state_dict.pop(k)
- # 加载到模型中
- model.load_state_dict(state_dict, strict=False)
- else:
- model = AutoModelForCausalLM.from_pretrained('minimind', trust_remote_code=True)
- model = model.to(device)
-
- return model, tokenizer
-
-
-if __name__ == "__main__":
- # -----------------------------------------------------------------------------
- seed = random.randint(1, 2000)
- # device = 'cuda:0'
- device = 'cuda:0' if torch.cuda.is_available() else 'cpu'
- dtype = 'bfloat16'
- lm_config = LMConfig()
- # -----------------------------------------------------------------------------
-
- model, tokenizer = init_model(lm_config)
- model = model.eval()
-
- # 消息模板,具体实现根据你的tokenizer进行调整
- messages_origin = [{"role": "system", "content": "开始回答问题"}]
-
- # 定义文件目录
- File_Dir = "ceval/ceval-exam/val"
- results_dir = "ceval/ceval_result"
-
- # 确保结果目录存在
- if not os.path.exists(results_dir):
- os.makedirs(results_dir)
-
- # 用于记录所有文件的总正确数和总题数
- total_correct = 0
- total_questions = 0
-
- # 遍历目录下的所有CSV文件
- for filename in os.listdir(File_Dir):
- if filename.endswith('.csv'):
- file_path = os.path.join(File_Dir, filename)
- test_df = pd.read_csv(file_path)
-
- # 存储结果的DataFrame
- results_df = pd.DataFrame(columns=['question', 'A', 'B', 'C', 'D', 'answer', 'llm_answer', 'is_right'])
- total_correct_in_file = 0 # 用于记录当前文件的正确数
-
- for row in test_df.itertuples(index=True, name='Pandas'):
- id = getattr(row, 'id')
- question = getattr(row, 'question')
- A = getattr(row, 'A')
- B = getattr(row, 'B')
- C = getattr(row, 'C')
- D = getattr(row, 'D')
- right_answer = getattr(row, 'answer')
-
- prompt = f'{question}。选择 A: {A}, B: {B}, C: {C}, D: {D}'
-
- messages = messages_origin.copy()
- messages.append({"role": "user", "content": prompt})
-
- # print(messages)
- new_prompt = tokenizer.apply_chat_template(
- messages,
- tokenize=False,
- add_generation_prompt=True
- )
- x = tokenizer(new_prompt).data['input_ids']
- x = (torch.tensor(x, dtype=torch.long, device=device)[None, ...])
- res_ids = model.eval_answer(x)
-
- # 假设 res_ids 是模型的 logits 输出,我们使用 softmax 转换为概率分布
- probabilities = F.softmax(res_ids, dim=-1)
-
- # 定义每个选项的 token id
- A_id = tokenizer('A').data['input_ids']
- B_id = tokenizer('B').data['input_ids']
- C_id = tokenizer('C').data['input_ids']
- D_id = tokenizer('D').data['input_ids']
-
- # 获取每个选项的概率
- A_prob = probabilities[0, A_id].item()
- B_prob = probabilities[0, B_id].item()
- C_prob = probabilities[0, C_id].item()
- D_prob = probabilities[0, D_id].item()
-
- # 将每个选项的概率放入字典中便于处理
- options_prob = {
- 'A': A_prob,
- 'B': B_prob,
- 'C': C_prob,
- 'D': D_prob
- }
-
- # 找到具有最大概率的选项
- max_option_answer = max(options_prob, key=options_prob.get)
-
- # 比较答案并记录
- is_right = 1 if max_option_answer == right_answer else 0
- results_df = results_df.append({
- 'question': question,
- 'A': A,
- 'B': B,
- 'C': C,
- 'D': D,
- 'answer': right_answer,
- 'llm_answer': max_option_answer,
- 'is_right': is_right
- }, ignore_index=True)
- # print(f'id: {id} 问题: {question[:10]}... 是否正确: {is_right}')
-
- if is_right:
- total_correct_in_file += 1
-
- total_correct += total_correct_in_file
- total_questions += len(test_df)
-
- # 计算当前文件的正确率并添加到结果DataFrame的最后一行
- accuracy = total_correct_in_file / len(test_df)
- results_df = results_df.append({
- 'question': '-',
- 'A': '-',
- 'B': '-',
- 'C': '-',
- 'D': '-',
- 'answer': f'文件 {filename} 的正确率: {accuracy:.2%}',
- 'llm_answer': '-',
- 'is_right': '-'
- }, ignore_index=True)
-
- print(f'{filename.split(".")[0]} ,{total_correct_in_file}/{len(test_df)},正确率: {accuracy:.2%}')
-
- # 保存结果到CSV
- results_path = os.path.join(results_dir, f"{filename.split('.')[0]}_result.csv")
- results_df.to_csv(results_path, index=False)
-
- # 计算总正确率
- total_accuracy = total_correct / total_questions if total_questions > 0 else 0
-
- # 将各个文件的正确率以及总正确率写入到 "ceval/ceval_result/test.log"
- log_path = os.path.join(results_dir, "test.log")
- with open(log_path, 'w') as log_file:
- result = f"总题数: {total_questions}\n总正确数: {total_correct}\n总正确率: {total_accuracy:.2%}"
- log_file.write(result)
-
- print(result)
-
- for filename in os.listdir(File_Dir):
- if filename.endswith('.csv'):
- accuracy_file = pd.read_csv(os.path.join(results_dir, f"{filename.split('.')[0]}_result.csv"))
- last_row = accuracy_file.iloc[-1]['answer']
- log_file.write(f"{filename}: {last_row}\n")
diff --git a/eval_model.py b/eval_model.py
new file mode 100644
index 0000000..1f1ce08
--- /dev/null
+++ b/eval_model.py
@@ -0,0 +1,183 @@
+import argparse
+import random
+import time
+import numpy as np
+import torch
+import warnings
+from transformers import AutoTokenizer, AutoModelForCausalLM
+from model.model import MiniMindLM
+from model.LMConfig import LMConfig
+from model.model_lora import *
+
+warnings.filterwarnings('ignore')
+
+
+def init_model(args):
+ tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer')
+ if args.load == 0:
+ moe_path = '_moe' if args.use_moe else ''
+ modes = {0: 'pretrain', 1: 'full_sft', 2: 'rlhf', 3: 'reason'}
+ ckp = f'./{args.out_dir}/{modes[args.model_mode]}_{args.dim}{moe_path}.pth'
+
+ model = MiniMindLM(LMConfig(
+ dim=args.dim,
+ n_layers=args.n_layers,
+ max_seq_len=args.max_seq_len,
+ use_moe=args.use_moe
+ ))
+
+ state_dict = torch.load(ckp, map_location=args.device)
+ model.load_state_dict({k: v for k, v in state_dict.items() if 'mask' not in k}, strict=True)
+
+ if args.lora_name != 'None':
+ apply_lora(model)
+ load_lora(model, f'./{args.out_dir}/lora/{args.lora_name}_{args.dim}.pth')
+ else:
+ model = AutoModelForCausalLM.from_pretrained(
+ './MiniMind2',
+ trust_remote_code=True
+ )
+ print(f'MiniMind模型参数量: {sum(p.numel() for p in model.parameters() if p.requires_grad) / 1e6:.2f}M(illion)')
+ return model.eval().to(args.device), tokenizer
+
+
+def get_prompt_datas(args):
+ if args.model_mode == 0:
+ # pretrain模型的接龙能力(无法对话)
+ prompt_datas = [
+ '马克思主义基本原理',
+ '人类大脑的主要功能',
+ '万有引力原理是',
+ '世界上最高的山峰是',
+ '二氧化碳在空气中',
+ '地球上最大的动物有',
+ '杭州市的美食有'
+ ]
+ else:
+ if args.lora_name == 'None':
+ # 通用对话问题
+ prompt_datas = [
+ '请介绍一下自己。',
+ '你更擅长哪一个学科?',
+ '鲁迅的《狂人日记》是如何批判封建礼教的?',
+ '我咳嗽已经持续了两周,需要去医院检查吗?',
+ '详细的介绍光速的物理概念。',
+ '推荐一些杭州的特色美食吧。',
+ '请为我讲解“大语言模型”这个概念。',
+ '如何理解ChatGPT?',
+ 'Introduce the history of the United States, please.'
+ ]
+ else:
+ # 特定领域问题
+ lora_prompt_datas = {
+ 'lora_identity': [
+ "你是ChatGPT吧。",
+ "你叫什么名字?",
+ "你和openai是什么关系?"
+ ],
+ 'lora_medical': [
+ '我最近经常感到头晕,可能是什么原因?',
+ '我咳嗽已经持续了两周,需要去医院检查吗?',
+ '服用抗生素时需要注意哪些事项?',
+ '体检报告中显示胆固醇偏高,我该怎么办?',
+ '孕妇在饮食上需要注意什么?',
+ '老年人如何预防骨质疏松?',
+ '我最近总是感到焦虑,应该怎么缓解?',
+ '如果有人突然晕倒,应该如何急救?'
+ ],
+ }
+ prompt_datas = lora_prompt_datas[args.lora_name]
+
+ return prompt_datas
+
+
+# 设置可复现的随机种子
+def setup_seed(seed):
+ random.seed(seed)
+ np.random.seed(seed)
+ torch.manual_seed(seed)
+ torch.cuda.manual_seed(seed)
+ torch.cuda.manual_seed_all(seed)
+ torch.backends.cudnn.deterministic = True
+ torch.backends.cudnn.benchmark = False
+
+
+def main():
+ parser = argparse.ArgumentParser(description="Chat with MiniMind")
+ parser.add_argument('--lora_name', default='None', type=str)
+ parser.add_argument('--out_dir', default='out', type=str)
+ parser.add_argument('--temperature', default=0.85, type=float)
+ parser.add_argument('--top_p', default=0.85, type=float)
+ parser.add_argument('--device', default='cuda' if torch.cuda.is_available() else 'cpu', type=str)
+ # 此处max_seq_len(最大允许输入长度)并不意味模型具有对应的长文本的性能,仅防止QA出现被截断的问题
+ # MiniMind2-moe (145M):(dim=640, n_layers=8, use_moe=True)
+ # MiniMind2-Small (26M):(dim=512, n_layers=8)
+ # MiniMind2 (104M):(dim=768, n_layers=16)
+ parser.add_argument('--dim', default=768, type=int)
+ parser.add_argument('--n_layers', default=16, type=int)
+ parser.add_argument('--max_seq_len', default=8192, type=int)
+ parser.add_argument('--use_moe', default=False, type=bool)
+ # 携带历史对话上下文条数
+ # history_cnt需要设为偶数,即【用户问题, 模型回答】为1组;设置为0时,即当前query不携带历史上文
+ # 模型未经过外推微调时,在更长的上下文的chat_template时难免出现性能的明显退化,因此需要注意此处设置
+ parser.add_argument('--history_cnt', default=0, type=int)
+ parser.add_argument('--stream', default=True, type=bool)
+ parser.add_argument('--load', default=0, type=int, help="0: 原生torch权重,1: transformers加载")
+ parser.add_argument('--model_mode', default=3, type=int,
+ help="0: 预训练模型,1: SFT-Chat模型,2: RLHF-Chat模型,3: Reason模型")
+ args = parser.parse_args()
+
+ model, tokenizer = init_model(args)
+
+ prompts = get_prompt_datas(args)
+ test_mode = int(input('[0] 自动测试\n[1] 手动输入\n'))
+ messages = []
+ for idx, prompt in enumerate(prompts if test_mode == 0 else iter(lambda: input('👶: '), '')):
+ if test_mode == 0: print(f'👶: {prompt}')
+
+ messages = messages[-args.history_cnt:] if args.history_cnt else []
+ messages.append({"role": "user", "content": prompt})
+
+ new_prompt = tokenizer.apply_chat_template(
+ messages,
+ tokenize=False,
+ add_generation_prompt=True
+ )[-args.max_seq_len + 1:] if args.model_mode != 0 else (tokenizer.bos_token + prompt)
+
+ answer = new_prompt
+ with torch.no_grad():
+ x = torch.tensor(tokenizer(new_prompt)['input_ids'], device=args.device).unsqueeze(0)
+ outputs = model.generate(
+ x,
+ eos_token_id=tokenizer.eos_token_id,
+ max_new_tokens=args.max_seq_len,
+ temperature=args.temperature,
+ top_p=args.top_p,
+ stream=True,
+ pad_token_id=tokenizer.pad_token_id
+ )
+
+ print('🤖️: ', end='')
+ try:
+ if not args.stream:
+ print(tokenizer.decode(outputs.squeeze()[x.shape[1]:].tolist(), skip_special_tokens=True), end='')
+ else:
+ history_idx = 0
+ for y in outputs:
+ answer = tokenizer.decode(y[0].tolist(), skip_special_tokens=True)
+ if (answer and answer[-1] == '�') or not answer:
+ continue
+ print(answer[history_idx:], end='', flush=True)
+ history_idx = len(answer)
+ except StopIteration:
+ print("No answer")
+ print('\n')
+
+ messages.append({"role": "assistant", "content": answer})
+
+
+if __name__ == "__main__":
+ torch.backends.cudnn.deterministic = True
+ # random.seed(random.randint(0, 2048))
+ random.seed(42)
+ main()
diff --git a/export_model.py b/export_model.py
deleted file mode 100644
index 45d2ea8..0000000
--- a/export_model.py
+++ /dev/null
@@ -1,60 +0,0 @@
-import torch
-import warnings
-from transformers import AutoTokenizer, AutoModelForCausalLM
-from model.LMConfig import LMConfig
-from model.model import Transformer
-
-warnings.filterwarnings('ignore', category=UserWarning)
-
-
-def count_parameters(model):
- return sum(p.numel() for p in model.parameters() if p.requires_grad)
-
-
-def export_transformers_model():
- LMConfig.register_for_auto_class()
- Transformer.register_for_auto_class("AutoModelForCausalLM")
-
- lm_config = LMConfig()
- lm_model = Transformer(lm_config)
- device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
- moe_path = '_moe' if lm_config.use_moe else ''
- ckpt_path = f'./out/single_chat/full_sft_{lm_config.dim}{moe_path}.pth'
-
- state_dict = torch.load(ckpt_path, map_location=device)
- unwanted_prefix = '_orig_mod.'
- for k, v in list(state_dict.items()):
- if k.startswith(unwanted_prefix):
- state_dict[k[len(unwanted_prefix):]] = state_dict.pop(k)
- lm_model.load_state_dict(state_dict, strict=False)
- print(f'模型参数: {count_parameters(lm_model) / 1e6} 百万 = {count_parameters(lm_model) / 1e9} B (Billion)')
-
- lm_model.save_pretrained("minimind-v1-small", safe_serialization=False)
-
-
-def export_tokenizer():
- tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer',
- trust_remote_code=True, use_fast=False)
- tokenizer.save_pretrained("minimind-v1-small")
-
-
-def push_to_hf():
- def init_model():
- tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer',
- trust_remote_code=True, use_fast=False)
- model = AutoModelForCausalLM.from_pretrained('minimind-v1-small', trust_remote_code=True)
- return model, tokenizer
-
- model, tokenizer = init_model()
- # 推送到huggingface
- model.push_to_hub("minimind-v1-small")
- # tokenizer.push_to_hub("minimind-v1-small", safe_serialization=False)
-
-
-if __name__ == '__main__':
- # 1
- export_transformers_model()
- # 2
- export_tokenizer()
- # # 3
- # push_to_hf()
diff --git a/fast_inference.py b/fast_inference.py
deleted file mode 100644
index ee3a119..0000000
--- a/fast_inference.py
+++ /dev/null
@@ -1,130 +0,0 @@
-import json
-import random
-import numpy as np
-import streamlit as st
-import torch
-from transformers import AutoModelForCausalLM, AutoTokenizer
-from transformers.generation.utils import GenerationConfig
-
-st.set_page_config(page_title="MiniMind-V1")
-st.title("MiniMind-V1")
-
-model_id = "./minimind-v1"
-
-
-@st.cache_resource
-def load_model_tokenizer():
- model = AutoModelForCausalLM.from_pretrained(
- model_id,
- trust_remote_code=True
- )
- tokenizer = AutoTokenizer.from_pretrained(
- model_id,
- use_fast=False,
- trust_remote_code=True
- )
- model = model.eval()
- generation_config = GenerationConfig.from_pretrained(model_id)
- return model, tokenizer, generation_config
-
-
-def clear_chat_messages():
- del st.session_state.messages
- del st.session_state.chat_messages
-
-
-def init_chat_messages():
- with st.chat_message("assistant", avatar='🤖'):
- st.markdown("我是由JingyaoGong创造的MiniMind,很高兴为您服务😄 \n"
- "注:所有AI生成内容的准确性和立场无法保证,不代表我们的态度或观点。")
-
- if "messages" in st.session_state:
- for message in st.session_state.messages:
- avatar = "🫡" if message["role"] == "user" else "🤖"
- with st.chat_message(message["role"], avatar=avatar):
- st.markdown(message["content"])
- else:
- st.session_state.messages = []
- st.session_state.chat_messages = []
-
- return st.session_state.messages
-
-
-st.sidebar.title("设定调整")
-st.session_state.history_chat_num = st.sidebar.slider("携带历史对话条数", 0, 6, 0, step=2)
-st.session_state.max_new_tokens = st.sidebar.slider("最大输入/生成长度", 256, 768, 512, step=1)
-st.session_state.top_k = st.sidebar.slider("top_k", 0, 16, 14, step=1)
-st.session_state.temperature = st.sidebar.slider("temperature", 0.3, 1.3, 0.5, step=0.01)
-
-
-def setup_seed(seed):
- random.seed(seed)
- np.random.seed(seed)
- torch.manual_seed(seed)
- torch.cuda.manual_seed(seed)
- torch.cuda.manual_seed_all(seed)
- torch.backends.cudnn.deterministic = True
- torch.backends.cudnn.benchmark = False
-
-
-def main():
- model, tokenizer, generation_config = load_model_tokenizer()
- messages = init_chat_messages()
-
- if prompt := st.chat_input("Shift + Enter 换行, Enter 发送"):
- with st.chat_message("user", avatar='🧑💻'):
- st.markdown(prompt)
- messages.append({"role": "user", "content": prompt})
- st.session_state.chat_messages.append({"role": "user", "content": '请问,' + prompt + '?'})
- with st.chat_message("assistant", avatar='🤖'):
- placeholder = st.empty()
- # Generate a random seed
- random_seed = random.randint(0, 2 ** 32 - 1)
- setup_seed(random_seed)
-
- new_prompt = tokenizer.apply_chat_template(
- st.session_state.chat_messages[-(st.session_state.history_chat_num + 1):],
- tokenize=False,
- add_generation_prompt=True
- )[-(st.session_state.max_new_tokens - 1):]
-
- x = tokenizer(new_prompt).data['input_ids']
- x = (torch.tensor(x, dtype=torch.long)[None, ...])
- with torch.no_grad():
- res_y = model.generate(x, tokenizer.eos_token_id, max_new_tokens=st.session_state.max_new_tokens,
- temperature=st.session_state.temperature,
- top_k=st.session_state.top_k, stream=True)
- try:
- y = next(res_y)
- except StopIteration:
- return
-
- while y != None:
- answer = tokenizer.decode(y[0].tolist())
- if answer and answer[-1] == '�':
- try:
- y = next(res_y)
- except:
- break
- continue
- if not len(answer):
- try:
- y = next(res_y)
- except:
- break
- continue
- placeholder.markdown(answer)
- try:
- y = next(res_y)
- except:
- break
-
- assistant_answer = answer.replace(new_prompt, "")
- messages.append({"role": "assistant", "content": assistant_answer})
- st.session_state.chat_messages.append({"role": "assistant", "content": assistant_answer})
-
- st.button("清空对话", on_click=clear_chat_messages)
-
-
-if __name__ == "__main__":
- main()
diff --git a/images/2-eval.png b/images/2-eval.png
deleted file mode 100644
index 5b38f63..0000000
Binary files a/images/2-eval.png and /dev/null differ
diff --git a/images/compare_radar.png b/images/compare_radar.png
new file mode 100644
index 0000000..345d9f6
Binary files /dev/null and b/images/compare_radar.png differ
diff --git a/images/dataset.jpg b/images/dataset.jpg
new file mode 100644
index 0000000..7dfc366
Binary files /dev/null and b/images/dataset.jpg differ
diff --git a/images/logger.png b/images/logger.png
index 5e17ec2..c358046 100644
Binary files a/images/logger.png and b/images/logger.png differ
diff --git a/images/minimind2.gif b/images/minimind2.gif
new file mode 100644
index 0000000..bcf3eb5
Binary files /dev/null and b/images/minimind2.gif differ
diff --git a/images/pre_512_loss.png b/images/pre_512_loss.png
new file mode 100644
index 0000000..3da0be5
Binary files /dev/null and b/images/pre_512_loss.png differ
diff --git a/images/pre_768_loss.png b/images/pre_768_loss.png
new file mode 100644
index 0000000..e00b23c
Binary files /dev/null and b/images/pre_768_loss.png differ
diff --git a/images/sft_512_loss.png b/images/sft_512_loss.png
new file mode 100644
index 0000000..40b86bc
Binary files /dev/null and b/images/sft_512_loss.png differ
diff --git a/images/sft_768_loss.png b/images/sft_768_loss.png
new file mode 100644
index 0000000..5ea6c97
Binary files /dev/null and b/images/sft_768_loss.png differ
diff --git a/images/streamlit.gif b/images/streamlit.gif
deleted file mode 100644
index 7572352..0000000
Binary files a/images/streamlit.gif and /dev/null differ
diff --git a/model/LMConfig.py b/model/LMConfig.py
index bf0e4b9..fb0a76d 100644
--- a/model/LMConfig.py
+++ b/model/LMConfig.py
@@ -9,13 +9,14 @@ class LMConfig(PretrainedConfig):
self,
dim: int = 512,
n_layers: int = 8,
- n_heads: int = 16,
- n_kv_heads: int = 8,
+ n_heads: int = 8,
+ n_kv_heads: int = 2,
vocab_size: int = 6400,
hidden_dim: int = None,
multiple_of: int = 64,
norm_eps: float = 1e-5,
- max_seq_len: int = 512,
+ max_seq_len: int = 8192,
+ rope_theta: int = 1e6,
dropout: float = 0.0,
flash_attn: bool = True,
####################################################
@@ -23,13 +24,14 @@ class LMConfig(PretrainedConfig):
# When use_moe is false, the following is invalid
####################################################
use_moe: bool = False,
- num_experts_per_tok=2,
- n_routed_experts=4,
+ ####################################################
+ num_experts_per_tok: int = 2,
+ n_routed_experts: int = 4,
n_shared_experts: bool = True,
- scoring_func='softmax',
- aux_loss_alpha=0.01,
- seq_aux=True,
- norm_topk_prob=True,
+ scoring_func: str = 'softmax',
+ aux_loss_alpha: float = 0.1,
+ seq_aux: bool = True,
+ norm_topk_prob: bool = True,
**kwargs,
):
self.dim = dim
@@ -41,6 +43,7 @@ class LMConfig(PretrainedConfig):
self.multiple_of = multiple_of
self.norm_eps = norm_eps
self.max_seq_len = max_seq_len
+ self.rope_theta = rope_theta
self.dropout = dropout
self.flash_attn = flash_attn
####################################################
diff --git a/model/__pycache__/LMConfig.cpython-310.pyc b/model/__pycache__/LMConfig.cpython-310.pyc
index ca3c8ad..782affd 100644
Binary files a/model/__pycache__/LMConfig.cpython-310.pyc and b/model/__pycache__/LMConfig.cpython-310.pyc differ
diff --git a/model/__pycache__/dataset.cpython-310.pyc b/model/__pycache__/dataset.cpython-310.pyc
index d72754e..1b93d5d 100644
Binary files a/model/__pycache__/dataset.cpython-310.pyc and b/model/__pycache__/dataset.cpython-310.pyc differ
diff --git a/model/__pycache__/model.cpython-310.pyc b/model/__pycache__/model.cpython-310.pyc
index 9934d88..72e2765 100644
Binary files a/model/__pycache__/model.cpython-310.pyc and b/model/__pycache__/model.cpython-310.pyc differ
diff --git a/model/dataset.py b/model/dataset.py
index 339695f..7750789 100644
--- a/model/dataset.py
+++ b/model/dataset.py
@@ -8,117 +8,192 @@ from torch.utils.data import Dataset, DataLoader
import torch
from sklearn.model_selection import train_test_split
import os
+import ast
os.environ["TOKENIZERS_PARALLELISM"] = "false"
class PretrainDataset(Dataset):
- def __init__(self, df, tokenizer, max_length=512):
+ def __init__(self, data_path, tokenizer, max_length=512):
super().__init__()
- self.df = df
self.tokenizer = tokenizer
self.max_length = max_length
- self.padding = 0
+ self.samples = self.load_data(data_path)
+
+ def load_data(self, path):
+ samples = []
+ with open(path, 'r', encoding='utf-8') as f:
+ for line_num, line in enumerate(f, 1):
+ data = json.loads(line.strip())
+ samples.append(data)
+ return samples
def __len__(self):
- return self.df.shape[0]
+ return len(self.samples)
- def __getitem__(self, index: int):
- #
- sample = self.df.iloc[index]
+ def __getitem__(self, index):
+ sample = self.samples[index]
+
+ # 构建输入文本
text = f"{self.tokenizer.bos_token}{str(sample['text'])}{self.tokenizer.eos_token}"
- input_id = self.tokenizer(text).data['input_ids'][:self.max_length]
- text_len = len(input_id)
- # 没满最大长度的剩余部分
- padding_len = self.max_length - text_len
- input_id = input_id + [self.padding] * padding_len
- # 0表示不计算损失
- loss_mask = [1] * text_len + [0] * padding_len
+ encoding = self.tokenizer(
+ text,
+ max_length=self.max_length,
+ padding='max_length',
+ truncation=True,
+ return_tensors='pt'
+ )
+ input_ids = encoding.input_ids.squeeze()
+ loss_mask = (input_ids != self.tokenizer.pad_token_id)
- input_id = np.array(input_id)
- X = np.array(input_id[:-1]).astype(np.int64)
- Y = np.array(input_id[1:]).astype(np.int64)
- loss_mask = np.array(loss_mask[1:]).astype(np.int64)
- return torch.from_numpy(X), torch.from_numpy(Y), torch.from_numpy(loss_mask)
+ X = torch.tensor(input_ids[:-1], dtype=torch.long)
+ Y = torch.tensor(input_ids[1:], dtype=torch.long)
+ loss_mask = torch.tensor(loss_mask[1:], dtype=torch.long)
+ return X, Y, loss_mask
class SFTDataset(Dataset):
- def __init__(self, df, tokenizer, max_length=1024, prompt_max_len=512, answer_max_len=256):
+ def __init__(self, jsonl_path, tokenizer, max_length=1024):
super().__init__()
- self.df = df
- self.max_length = max_length
- self.prompt_max_len = prompt_max_len
- self.answer_max_len = answer_max_len
- #
self.tokenizer = tokenizer
- self.padding = 0
- self.bos_id = self.tokenizer('assistant').data['input_ids']
+ self.max_length = max_length
+ self.samples = self.load_data(jsonl_path)
+ self.bos_id = tokenizer('assistant\n', add_special_tokens=False).input_ids
+ self.eos_id = tokenizer('\n', add_special_tokens=False).input_ids
def __len__(self):
- return self.df.shape[0]
+ return len(self.samples)
- def find_sublist_index(self, main_list, sub_list) -> int:
- last_index = -1
- for i in range(len(main_list) - len(sub_list) + 1):
- if main_list[i:i + len(sub_list)] == sub_list:
- last_index = i
- return last_index
-
- def safe_eval(self, s):
- try:
- res = eval(s)
- except Exception as e:
- return []
- return res
-
- def __getitem__(self, index: int):
- #
- sample = self.df.iloc[index]
- history = self.safe_eval(sample['history'])
- q = str(sample['q'])
- a = str(sample['a'])
+ def load_data(self, path):
+ samples = []
+ with open(path, 'r', encoding='utf-8') as f:
+ for line_num, line in enumerate(f, 1):
+ data = json.loads(line.strip())
+ samples.append(data)
+ return samples
+ def _create_chat_prompt(self, conversations):
+ """构建符合ChatML格式的对话"""
messages = []
- for history_message in history:
- if len(history_message) <= 1:
- continue
- messages.append(
- {"role": 'user', "content": str(history_message[0])[:self.max_length // 2]}
- )
- messages.append(
- {"role": 'assistant', "content": str(history_message[1])[:self.max_length // 2]}
- )
-
- messages += [
- {"role": "user", "content": q},
- {"role": "assistant", "content": a},
- ]
- new_prompt = self.tokenizer.apply_chat_template(
+ for i, turn in enumerate(conversations):
+ role = 'user' if i % 2 == 0 else 'assistant'
+ messages.append({"role": role, "content": turn['content']})
+ return self.tokenizer.apply_chat_template(
messages,
tokenize=False,
- add_generation_prompt=True
+ add_generation_prompt=False
)
- input_id = self.tokenizer(new_prompt).data['input_ids'][:self.max_length]
- # 实际长度
- question_length = self.find_sublist_index(input_id, self.bos_id) + len(self.bos_id)
- # 没满最大长度的剩余部分
- padding_len = self.max_length - len(input_id)
- input_id = input_id + [self.padding] * padding_len
- mask_len = len(input_id) - question_length - padding_len
- # 0表示不计算损失
- loss_mask = [0] * question_length + [1] * (mask_len) + [0] * padding_len
+ def _generate_loss_mask(self, input_ids):
+ loss_mask = [0] * len(input_ids)
+ i = 0
+ while i < len(input_ids):
+ if input_ids[i:i + len(self.bos_id)] == self.bos_id:
+ start = i + len(self.bos_id)
+ end = start
+ while end < len(input_ids):
+ if input_ids[end:end + len(self.eos_id)] == self.eos_id:
+ break
+ end += 1
+ for j in range(start + 1, min(end + len(self.eos_id) + 1, self.max_length)):
+ loss_mask[j] = 1
+ i = end + len(self.eos_id) if end < len(input_ids) else len(input_ids)
+ else:
+ i += 1
+ return loss_mask
- input_id = np.array(input_id)
- X = np.array(input_id[:-1]).astype(np.int64)
- Y = np.array(input_id[1:]).astype(np.int64)
- loss_mask = np.array(loss_mask[1:]).astype(np.int64)
+ def __getitem__(self, index):
+ sample = self.samples[index]
+ # 构建对话提示
+ prompt = self._create_chat_prompt(sample['conversations'])
+ input_ids = self.tokenizer(prompt).input_ids[:self.max_length]
+ input_ids += [self.tokenizer.pad_token_id] * (self.max_length - len(input_ids))
- X_tensor = torch.from_numpy(X)
- Y_tensor = torch.from_numpy(Y)
- loss_mask_tensor = torch.from_numpy(loss_mask)
+ # 生成动态损失掩码
+ loss_mask = self._generate_loss_mask(input_ids)
- return X_tensor, Y_tensor, loss_mask_tensor
+ # 构建训练数据
+ X = torch.tensor(input_ids[:-1], dtype=torch.long)
+ Y = torch.tensor(input_ids[1:], dtype=torch.long)
+ loss_mask = torch.tensor(loss_mask[1:], dtype=torch.long) # 对齐预测位置
+
+ return X, Y, loss_mask
+
+
+class DPODataset(Dataset):
+ def __init__(self, file_path, tokenizer, max_length=4096):
+ super().__init__()
+ self.tokenizer = tokenizer
+ self.max_length = max_length
+ self.padding = tokenizer.pad_token_id if tokenizer.pad_token_id is not None else 0
+ self.bos_id = tokenizer('assistant\n', add_special_tokens=False).input_ids
+ self.eos_id = tokenizer('\n', add_special_tokens=False).input_ids
+ with open(file_path, 'r', encoding='utf-8') as f:
+ self.data = []
+ for line in f:
+ line = line.strip()
+ obj = json.loads(line)
+ self.data.append(obj)
+
+ def __len__(self):
+ return len(self.data)
+
+ def __getitem__(self, index):
+ item = self.data[index]
+ chosen = item['chosen'] # 是一个 list,里面包含若干 {role, content}
+ rejected = item['rejected'] # 同上
+ chosen_prompt = self.tokenizer.apply_chat_template(
+ chosen, tokenize=False, add_generation_prompt=False
+ )
+
+ rejected_prompt = self.tokenizer.apply_chat_template(
+ rejected, tokenize=False, add_generation_prompt=False
+ )
+ chosen_encoding = self.tokenizer(
+ chosen_prompt, truncation=True, max_length=self.max_length, padding='max_length'
+ )
+ rejected_encoding = self.tokenizer(
+ rejected_prompt, truncation=True, max_length=self.max_length, padding='max_length'
+ )
+
+ chosen_input_ids = chosen_encoding['input_ids']
+ chosen_loss_mask = self._generate_loss_mask(chosen_input_ids)
+
+ rejected_input_ids = rejected_encoding['input_ids']
+ rejected_loss_mask = self._generate_loss_mask(rejected_input_ids)
+ x_chosen = torch.tensor(chosen_input_ids[:-1], dtype=torch.long)
+ y_chosen = torch.tensor(chosen_input_ids[1:], dtype=torch.long)
+ mask_chosen = torch.tensor(chosen_loss_mask[1:], dtype=torch.long)
+ x_rejected = torch.tensor(rejected_input_ids[:-1], dtype=torch.long)
+ y_rejected = torch.tensor(rejected_input_ids[1:], dtype=torch.long)
+ mask_rejected = torch.tensor(rejected_loss_mask[1:], dtype=torch.long)
+
+ return {
+ 'x_chosen': x_chosen,
+ 'y_chosen': y_chosen,
+ 'mask_chosen': mask_chosen,
+ 'x_rejected': x_rejected,
+ 'y_rejected': y_rejected,
+ 'mask_rejected': mask_rejected
+ }
+
+ def _generate_loss_mask(self, input_ids):
+ loss_mask = [0] * len(input_ids)
+ i = 0
+ while i < len(input_ids):
+ if input_ids[i:i + len(self.bos_id)] == self.bos_id:
+ start = i + len(self.bos_id)
+ end = start
+ while end < len(input_ids):
+ if input_ids[end:end + len(self.eos_id)] == self.eos_id:
+ break
+ end += 1
+ for j in range(start + 1, min(end + len(self.eos_id) + 1, self.max_length)):
+ loss_mask[j] = 1
+ i = end + len(self.eos_id) if end < len(input_ids) else len(input_ids)
+ else:
+ i += 1
+ return loss_mask
if __name__ == "__main__":
diff --git a/model/minimind_tokenizer/tokenizer_config.json b/model/minimind_tokenizer/tokenizer_config.json
index 5f3fa2b..0b14ab9 100644
--- a/model/minimind_tokenizer/tokenizer_config.json
+++ b/model/minimind_tokenizer/tokenizer_config.json
@@ -1,44 +1,43 @@
{
- "add_bos_token": false,
- "add_eos_token": false,
- "add_prefix_space": true,
- "added_tokens_decoder": {
- "0": {
- "content": "",
- "lstrip": false,
- "normalized": false,
- "rstrip": false,
- "single_word": false,
- "special": true
- },
- "1": {
- "content": "",
- "lstrip": false,
- "normalized": false,
- "rstrip": false,
- "single_word": false,
- "special": true
- },
- "2": {
- "content": "",
- "lstrip": false,
- "normalized": false,
- "rstrip": false,
- "single_word": false,
- "special": true
- }
+ "add_bos_token": false,
+ "add_eos_token": false,
+ "add_prefix_space": false,
+ "added_tokens_decoder": {
+ "0": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
},
- "additional_special_tokens": [],
- "bos_token": "",
- "clean_up_tokenization_spaces": false,
- "eos_token": "",
- "legacy": true,
- "model_max_length": 1000000000000000019884624838656,
- "pad_token": null,
- "sp_model_kwargs": {},
- "spaces_between_special_tokens": false,
- "tokenizer_class": "PreTrainedTokenizerFast",
- "unk_token": "",
- "use_default_system_prompt": false,
- "chat_template": "{% if messages[0]['role'] == 'system' %}{% set system_message = messages[0]['content'] %}{% endif %}{% if system_message is defined %}{{ system_message }}{% endif %}{% for message in messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ 'user\\n' + content + '\\nassistant\\n' }}{% elif message['role'] == 'assistant' %}{{ content + '' + '\\n' }}{% endif %}{% endfor %}"
+ "1": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ },
+ "2": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ }
+ },
+ "additional_special_tokens": [],
+ "bos_token": "",
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "",
+ "legacy": true,
+ "model_max_length": 32768,
+ "pad_token": "",
+ "sp_model_kwargs": {},
+ "spaces_between_special_tokens": false,
+ "tokenizer_class": "PreTrainedTokenizerFast",
+ "unk_token": "",
+ "chat_template": "{% if messages[0]['role'] == 'system' %}{% set system_message = messages[0]['content'] %}{{ 'system\\n' + system_message + '\\n' }}{% else %}{{ 'system\\n你是 MiniMind,是一个有用的人工智能助手。\\n' }}{% endif %}{% for message in messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ 'user\\n' + content + '\\nassistant\\n' }}{% elif message['role'] == 'assistant' %}{{ content + '' + '\\n' }}{% endif %}{% endfor %}"
}
\ No newline at end of file
diff --git a/model/model.py b/model/model.py
index 20535fb..070a8f2 100644
--- a/model/model.py
+++ b/model/model.py
@@ -4,7 +4,7 @@ import inspect
import time
from .LMConfig import LMConfig
-from typing import Any, Optional, Tuple
+from typing import Any, Optional, Tuple, List
import numpy as np
import torch
import torch.nn.functional as F
@@ -19,15 +19,11 @@ class RMSNorm(torch.nn.Module):
self.eps = eps
self.weight = nn.Parameter(torch.ones(dim))
- def _norm(self, x):
- return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps)
-
def forward(self, x):
- output = self._norm(x.float()).type_as(x)
- return output * self.weight
+ return self.weight * (x.float() * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps)).type_as(x)
-def precompute_pos_cis(dim: int, end: int, theta: float = 10000.0):
+def precompute_pos_cis(dim: int, end: int, theta: float = 1e4):
freqs = 1.0 / (theta ** (torch.arange(0, dim, 2)[: (dim // 2)].float() / dim))
t = torch.arange(end, device=freqs.device) # type: ignore
freqs = torch.outer(t, freqs).float() # type: ignore
@@ -76,71 +72,69 @@ class Attention(nn.Module):
self.wk = nn.Linear(args.dim, self.n_kv_heads * self.head_dim, bias=False)
self.wv = nn.Linear(args.dim, self.n_kv_heads * self.head_dim, bias=False)
self.wo = nn.Linear(args.n_heads * self.head_dim, args.dim, bias=False)
- self.k_cache, self.v_cache = None, None
self.attn_dropout = nn.Dropout(args.dropout)
self.resid_dropout = nn.Dropout(args.dropout)
self.dropout = args.dropout
self.flash = hasattr(torch.nn.functional, 'scaled_dot_product_attention') and args.flash_attn
-
# print("WARNING: using slow attention. Flash Attention requires PyTorch >= 2.0")
mask = torch.full((1, 1, args.max_seq_len, args.max_seq_len), float("-inf"))
mask = torch.triu(mask, diagonal=1)
self.register_buffer("mask", mask, persistent=False)
- def forward(self, x: torch.Tensor, pos_cis: torch.Tensor, kv_cache=False):
- bsz, seqlen, _ = x.shape
-
+ def forward(self,
+ x: torch.Tensor,
+ pos_cis: torch.Tensor,
+ past_key_value: Optional[Tuple[torch.Tensor, torch.Tensor]] = None,
+ use_cache=False):
+ bsz, seq_len, _ = x.shape
xq, xk, xv = self.wq(x), self.wk(x), self.wv(x)
-
- xq = xq.view(bsz, seqlen, self.n_local_heads, self.head_dim)
- xk = xk.view(bsz, seqlen, self.n_local_kv_heads, self.head_dim)
- xv = xv.view(bsz, seqlen, self.n_local_kv_heads, self.head_dim)
+ xq = xq.view(bsz, seq_len, self.n_local_heads, self.head_dim)
+ xk = xk.view(bsz, seq_len, self.n_local_kv_heads, self.head_dim)
+ xv = xv.view(bsz, seq_len, self.n_local_kv_heads, self.head_dim)
xq, xk = apply_rotary_emb(xq, xk, pos_cis)
+ # kv_cache实现
+ if past_key_value is not None:
+ xk = torch.cat([past_key_value[0], xk], dim=1)
+ xv = torch.cat([past_key_value[1], xv], dim=1)
+ past_kv = (xk, xv) if use_cache else None
- # 更高效的kv_cache实现
- if kv_cache and self.eval():
- if seqlen == 1 and all(cache is not None for cache in (self.k_cache, self.v_cache)):
- xk = torch.cat((self.k_cache, xk), dim=1)
- xv = torch.cat((self.v_cache, xv), dim=1)
- self.k_cache, self.v_cache = xk, xv
-
- xk = repeat_kv(xk, self.n_rep) # (bs, seqlen, n_local_heads, head_dim)
- xv = repeat_kv(xv, self.n_rep) # (bs, seqlen, n_local_heads, head_dim)
-
- xq = xq.transpose(1, 2)
- xk = xk.transpose(1, 2)
- xv = xv.transpose(1, 2)
-
- if self.flash and seqlen != 1:
- output = torch.nn.functional.scaled_dot_product_attention(xq, xk, xv, attn_mask=None,
- dropout_p=self.dropout if self.training else 0.0,
- is_causal=True)
+ xq, xk, xv = (
+ xq.transpose(1, 2),
+ repeat_kv(xk, self.n_rep).transpose(1, 2),
+ repeat_kv(xv, self.n_rep).transpose(1, 2)
+ )
+ if self.flash and seq_len != 1:
+ dropout_p = self.dropout if self.training else 0.0
+ output = F.scaled_dot_product_attention(
+ xq, xk, xv,
+ attn_mask=None,
+ dropout_p=dropout_p,
+ is_causal=True
+ )
else:
- scores = torch.matmul(xq, xk.transpose(2, 3)) / math.sqrt(self.head_dim)
- scores = scores + self.mask[:, :, :seqlen, :seqlen] # (bs, n_local_heads, seqlen, cache_len + seqlen)
+ scores = (xq @ xk.transpose(-2, -1)) / math.sqrt(self.head_dim)
+ scores += self.mask[:, :, :seq_len, :seq_len]
scores = F.softmax(scores.float(), dim=-1).type_as(xq)
scores = self.attn_dropout(scores)
- output = torch.matmul(scores, xv) # (bs, n_local_heads, seqlen, head_dim)
+ output = scores @ xv
- output = output.transpose(1, 2).contiguous().view(bsz, seqlen, -1)
-
- output = self.wo(output)
- output = self.resid_dropout(output)
- return output
+ output = output.transpose(1, 2).reshape(bsz, seq_len, -1)
+ output = self.resid_dropout(self.wo(output))
+ return output, past_kv
class FeedForward(nn.Module):
- def __init__(self, dim: int, hidden_dim: int, multiple_of: int, dropout: float):
+ def __init__(self, config: LMConfig):
super().__init__()
- if hidden_dim is None:
- hidden_dim = 4 * dim
+ if config.hidden_dim is None:
+ hidden_dim = 4 * config.dim
hidden_dim = int(2 * hidden_dim / 3)
- hidden_dim = multiple_of * ((hidden_dim + multiple_of - 1) // multiple_of)
- self.w1 = nn.Linear(dim, hidden_dim, bias=False)
- self.w2 = nn.Linear(hidden_dim, dim, bias=False)
- self.w3 = nn.Linear(dim, hidden_dim, bias=False)
- self.dropout = nn.Dropout(dropout)
+ config.hidden_dim = config.multiple_of * ((hidden_dim + config.multiple_of - 1) // config.multiple_of)
+ self.w1 = nn.Linear(config.dim, config.hidden_dim, bias=False)
+ self.w2 = nn.Linear(config.hidden_dim, config.dim, bias=False)
+ self.w3 = nn.Linear(config.dim, config.hidden_dim, bias=False)
+ self.dropout = nn.Dropout(config.dropout)
def forward(self, x):
return self.dropout(self.w2(F.silu(self.w1(x)) * self.w3(x)))
@@ -168,7 +162,6 @@ class MoEGate(nn.Module):
def forward(self, hidden_states):
bsz, seq_len, h = hidden_states.shape
-
hidden_states = hidden_states.view(-1, h)
logits = F.linear(hidden_states, self.weight, None)
if self.scoring_func == 'softmax':
@@ -200,7 +193,7 @@ class MoEGate(nn.Module):
fi = ce * self.n_routed_experts
aux_loss = (Pi * fi).sum() * self.alpha
else:
- aux_loss = None
+ aux_loss = 0
return topk_idx, topk_weight, aux_loss
@@ -209,50 +202,35 @@ class MOEFeedForward(nn.Module):
super().__init__()
self.config = config
self.experts = nn.ModuleList([
- FeedForward(
- dim=config.dim,
- hidden_dim=config.hidden_dim,
- multiple_of=config.multiple_of,
- dropout=config.dropout,
- )
+ FeedForward(config)
for _ in range(config.n_routed_experts)
])
-
self.gate = MoEGate(config)
if config.n_shared_experts is not None:
- self.shared_experts = FeedForward(
- dim=config.dim,
- hidden_dim=config.hidden_dim,
- multiple_of=config.multiple_of,
- dropout=config.dropout,
- )
+ self.shared_experts = FeedForward(config)
def forward(self, x):
identity = x
orig_shape = x.shape
bsz, seq_len, _ = x.shape
-
# 使用门控机制选择专家
topk_idx, topk_weight, aux_loss = self.gate(x)
-
x = x.view(-1, x.shape[-1])
flat_topk_idx = topk_idx.view(-1)
-
if self.training:
# 训练模式下,重复输入数据
x = x.repeat_interleave(self.config.num_experts_per_tok, dim=0)
y = torch.empty_like(x, dtype=torch.float16)
for i, expert in enumerate(self.experts):
- y[flat_topk_idx == i] = expert(x[flat_topk_idx == i])
+ y[flat_topk_idx == i] = expert(x[flat_topk_idx == i]).to(y.dtype) # 确保类型一致
y = (y.view(*topk_weight.shape, -1) * topk_weight.unsqueeze(-1)).sum(dim=1)
y = y.view(*orig_shape)
else:
# 推理模式下,只选择最优专家
y = self.moe_infer(x, flat_topk_idx, topk_weight.view(-1, 1)).view(*orig_shape)
-
if self.config.n_shared_experts is not None:
y = y + self.shared_experts(identity)
-
+ self.aux_loss = aux_loss
return y
@torch.no_grad()
@@ -271,7 +249,7 @@ class MOEFeedForward(nn.Module):
expert = self.experts[i]
exp_token_idx = token_idxs[start_idx:end_idx]
expert_tokens = x[exp_token_idx]
- expert_out = expert(expert_tokens)
+ expert_out = expert(expert_tokens).to(expert_cache.dtype)
expert_out.mul_(flat_expert_weights[idxs[start_idx:end_idx]])
# 使用 scatter_add_ 进行 sum 操作
expert_cache.scatter_add_(0, exp_token_idx.view(-1, 1).repeat(1, x.shape[-1]), expert_out)
@@ -279,148 +257,119 @@ class MOEFeedForward(nn.Module):
return expert_cache
-class TransformerBlock(nn.Module):
- def __init__(self, layer_id: int, args: LMConfig):
+class MiniMindBlock(nn.Module):
+ def __init__(self, layer_id: int, config: LMConfig):
super().__init__()
- self.n_heads = args.n_heads
- self.dim = args.dim
- self.head_dim = args.dim // args.n_heads
- self.attention = Attention(args)
+ self.n_heads = config.n_heads
+ self.dim = config.dim
+ self.head_dim = config.dim // config.n_heads
+ self.attention = Attention(config)
self.layer_id = layer_id
- self.attention_norm = RMSNorm(args.dim, eps=args.norm_eps)
- self.ffn_norm = RMSNorm(args.dim, eps=args.norm_eps)
+ self.attention_norm = RMSNorm(config.dim, eps=config.norm_eps)
+ self.ffn_norm = RMSNorm(config.dim, eps=config.norm_eps)
+ self.feed_forward = FeedForward(config) if not config.use_moe else MOEFeedForward(config)
- if args.use_moe:
- self.feed_forward = MOEFeedForward(args)
- else:
- self.feed_forward = FeedForward(
- dim=args.dim,
- hidden_dim=args.hidden_dim,
- multiple_of=args.multiple_of,
- dropout=args.dropout,
- )
-
- def forward(self, x, pos_cis, kv_cache=False):
- h = x + self.attention(self.attention_norm(x), pos_cis, kv_cache)
+ def forward(self, x, pos_cis, past_key_value=None, use_cache=False):
+ h_attn, past_kv = self.attention(
+ self.attention_norm(x),
+ pos_cis,
+ past_key_value=past_key_value,
+ use_cache=use_cache
+ )
+ h = x + h_attn
out = h + self.feed_forward(self.ffn_norm(h))
- return out
+ return out, past_kv
-class Transformer(PreTrainedModel):
+class MiniMindLM(PreTrainedModel):
config_class = LMConfig
- last_loss: Optional[torch.Tensor]
def __init__(self, params: LMConfig = None):
- super().__init__(params)
- if not params:
- params = LMConfig()
- self.params = params
- self.vocab_size = params.vocab_size
- self.n_layers = params.n_layers
-
+ self.params = params or LMConfig()
+ super().__init__(self.params)
+ self.vocab_size, self.n_layers = params.vocab_size, params.n_layers
self.tok_embeddings = nn.Embedding(params.vocab_size, params.dim)
self.dropout = nn.Dropout(params.dropout)
- self.layers = torch.nn.ModuleList()
- for layer_id in range(self.n_layers):
- self.layers.append(TransformerBlock(layer_id, params))
+ self.layers = nn.ModuleList([MiniMindBlock(l, params) for l in range(self.n_layers)])
self.norm = RMSNorm(params.dim, eps=params.norm_eps)
self.output = nn.Linear(params.dim, params.vocab_size, bias=False)
self.tok_embeddings.weight = self.output.weight
- pos_cis = precompute_pos_cis(self.params.dim // self.params.n_heads, self.params.max_seq_len)
- self.register_buffer("pos_cis", pos_cis, persistent=False)
-
- self.apply(self._init_weights)
-
- for pn, p in self.named_parameters():
- if pn.endswith('w3.weight') or pn.endswith('wo.weight'):
- torch.nn.init.normal_(p, mean=0.0, std=0.02 / math.sqrt(2 * params.n_layers))
-
- self.last_loss = None
+ self.register_buffer("pos_cis", precompute_pos_cis(params.dim // params.n_heads, params.max_seq_len,
+ theta=params.rope_theta), persistent=False)
self.OUT = CausalLMOutputWithPast()
- self._no_split_modules = [name for name, _ in self.named_modules()]
-
- def _init_weights(self, module):
- if isinstance(module, nn.Linear):
- torch.nn.init.normal_(module.weight, mean=0.0, std=0.02)
- if module.bias is not None:
- torch.nn.init.zeros_(module.bias)
- elif isinstance(module, nn.Embedding):
- torch.nn.init.normal_(module.weight, mean=0.0, std=0.02)
-
- def forward(self, tokens: Optional[torch.Tensor] = None, targets: Optional[torch.Tensor] = None,
- kv_cache=False, **keyargs):
- current_idx = 0
- if 'input_ids' in keyargs:
- tokens = keyargs['input_ids']
- if 'attention_mask' in keyargs:
- targets = keyargs['attention_mask']
- if 'current_idx' in keyargs:
- current_idx = int(keyargs['current_idx'])
-
- _bsz, seqlen = tokens.shape
- h = self.tok_embeddings(tokens)
- h = self.dropout(h)
- pos_cis = self.pos_cis[current_idx:current_idx + seqlen]
- for idx, layer in enumerate(self.layers):
- h = layer(h, pos_cis, kv_cache)
-
- h = self.norm(h)
-
- if targets is not None:
- logits = self.output(h)
- self.last_loss = F.cross_entropy(logits.view(-1, logits.size(-1)), targets.view(-1),
- ignore_index=0, reduction='none')
- else:
- logits = self.output(h[:, [-1], :])
- self.last_loss = None
+ def forward(self,
+ input_ids: Optional[torch.Tensor] = None,
+ past_key_values: Optional[List[Tuple[torch.Tensor, torch.Tensor]]] = None,
+ use_cache: bool = False,
+ **args):
+ past_key_values = past_key_values or [None] * len(self.layers)
+ start_pos = args.get('start_pos', 0)
+ h = self.dropout(self.tok_embeddings(input_ids))
+ pos_cis = self.pos_cis[start_pos:start_pos + input_ids.size(1)]
+ past_kvs = []
+ for l, layer in enumerate(self.layers):
+ h, past_kv = layer(
+ h, pos_cis,
+ past_key_value=past_key_values[l],
+ use_cache=use_cache
+ )
+ past_kvs.append(past_kv)
+ logits = self.output(self.norm(h))
+ aux_loss = sum(l.feed_forward.aux_loss for l in self.layers if isinstance(l.feed_forward, MOEFeedForward))
self.OUT.__setitem__('logits', logits)
- self.OUT.__setitem__('last_loss', self.last_loss)
+ self.OUT.__setitem__('aux_loss', aux_loss)
+ self.OUT.__setitem__('past_key_values', past_kvs)
return self.OUT
@torch.inference_mode()
- def generate(self, idx, eos, max_new_tokens, temperature=0.7, top_k=8, stream=True, rp=1., kv_cache=True):
- # rp: repetition_penalty
- index = idx.shape[1]
- init_inference = True
- while idx.shape[1] < max_new_tokens - 1:
- if init_inference or not kv_cache:
- inference_res, init_inference = self(idx, kv_cache=kv_cache), False
+ def generate(self, input_ids, eos_token_id=2, max_new_tokens=1024, temperature=0.75, top_p=0.90,
+ stream=False, rp=1., use_cache=True, pad_token_id=0, **args):
+ # 流式生成
+ if stream:
+ return self._generate_stream(input_ids, eos_token_id, max_new_tokens, temperature, top_p, rp, use_cache)
+
+ # 直接生成
+ generated = []
+ for i in range(input_ids.size(0)):
+ non_pad = input_ids[i][input_ids[i] != pad_token_id].unsqueeze(0)
+ out = self._generate_stream(non_pad, eos_token_id, max_new_tokens, temperature, top_p, rp, use_cache)
+ tokens_list = [tokens[:, -1:] for tokens in out]
+ gen = torch.cat(tokens_list, dim=-1) if tokens_list else non_pad
+ full_sequence = torch.cat([non_pad, gen], dim=-1)
+ generated.append(full_sequence)
+ max_length = max(seq.size(1) for seq in generated)
+ generated = [
+ torch.cat(
+ [seq, torch.full((1, max_length - seq.size(1)), pad_token_id, dtype=seq.dtype, device=seq.device)],
+ dim=-1)
+ for seq in generated
+ ]
+ return torch.cat(generated, dim=0)
+
+ def _generate_stream(self, input_ids, eos_token_id, max_new_tokens, temperature, top_p, rp, use_cache, **args):
+ start, first_seq, past_kvs = input_ids.shape[1], True, None
+ while input_ids.shape[1] < max_new_tokens - 1:
+ if first_seq or not use_cache:
+ out, first_seq = self(input_ids, past_key_values=past_kvs, use_cache=use_cache), False
else:
- inference_res = self(idx[:, -1:], kv_cache=kv_cache, current_idx=idx.shape[1] - 1)
-
- logits = inference_res.logits
- logits = logits[:, -1, :]
-
- for token in set(idx.tolist()[0]):
- logits[:, token] /= rp
-
- if temperature == 0.0:
- _, idx_next = torch.topk(logits, k=1, dim=-1)
- else:
- logits = logits / temperature
- if top_k is not None:
- v, _ = torch.topk(logits, min(top_k, logits.size(-1)))
- logits[logits < v[:, [-1]]] = -float('Inf')
-
- probs = F.softmax(logits, dim=-1)
- idx_next = torch.multinomial(probs, num_samples=1, generator=None)
-
- if idx_next == eos:
+ out = self(input_ids[:, -1:], past_key_values=past_kvs, use_cache=use_cache,
+ start_pos=input_ids.shape[1] - 1)
+ logits, past_kvs = out.logits[:, -1, :], out.past_key_values
+ logits[:, list(set(input_ids.tolist()[0]))] /= rp
+ logits /= (temperature + 1e-9)
+ if top_p is not None and top_p < 1.0:
+ sorted_logits, sorted_indices = torch.sort(logits, descending=True, dim=-1)
+ sorted_probs = F.softmax(sorted_logits, dim=-1)
+ cumulative_probs = torch.cumsum(sorted_probs, dim=-1)
+ sorted_indices_to_remove = cumulative_probs > top_p
+ sorted_indices_to_remove[:, 1:] = sorted_indices_to_remove[:, :-1].clone()
+ sorted_indices_to_remove[:, 0] = False
+ indices_to_remove = sorted_indices_to_remove.scatter(1, sorted_indices, sorted_indices_to_remove)
+ logits[indices_to_remove] = -float('Inf')
+ input_ids_next = torch.multinomial(F.softmax(logits, dim=-1), num_samples=1)
+ input_ids = torch.cat((input_ids, input_ids_next), dim=1)
+ yield input_ids[:, start:]
+ if input_ids_next.item() == eos_token_id:
break
-
- idx = torch.cat((idx, idx_next), dim=1)
- if stream:
- yield idx[:, index:]
-
- if not stream:
- yield idx[:, index:]
-
- @torch.inference_mode()
- def eval_answer(self, idx):
- idx_cond = idx if idx.size(1) <= self.params.max_seq_len else idx[:, -self.params.max_seq_len:]
- inference_res = self(idx_cond)
- logits = inference_res.logits
- logits = logits[:, -1, :]
- return logits
diff --git a/model/model_lora.py b/model/model_lora.py
new file mode 100644
index 0000000..ea53a27
--- /dev/null
+++ b/model/model_lora.py
@@ -0,0 +1,49 @@
+import torch
+from torch import optim, nn
+
+
+# 定义Lora网络结构
+class LoRA(nn.Module):
+ def __init__(self, in_features, out_features, rank):
+ super().__init__()
+ self.rank = rank # LoRA的秩(rank),控制低秩矩阵的大小
+ self.A = nn.Linear(in_features, rank, bias=False) # 低秩矩阵A
+ self.B = nn.Linear(rank, out_features, bias=False) # 低秩矩阵B
+ # 矩阵A高斯初始化
+ self.A.weight.data.normal_(mean=0.0, std=0.02)
+ # 矩阵B全0初始化
+ self.B.weight.data.zero_()
+
+ def forward(self, x):
+ return self.B(self.A(x))
+
+
+def apply_lora(model, rank=16):
+ for name, module in model.named_modules():
+ if isinstance(module, nn.Linear) and module.weight.shape[0] == module.weight.shape[1]:
+ lora = LoRA(module.weight.shape[0], module.weight.shape[1], rank=rank).to(model.device)
+ setattr(module, "lora", lora)
+ original_forward = module.forward
+
+ # 显式绑定
+ def forward_with_lora(x, layer1=original_forward, layer2=lora):
+ return layer1(x) + layer2(x)
+
+ module.forward = forward_with_lora
+
+
+def load_lora(model, path):
+ state_dict = torch.load(path, map_location=model.device)
+ for name, module in model.named_modules():
+ if hasattr(module, 'lora'):
+ lora_state = {k.replace(f'{name}.lora.', ''): v for k, v in state_dict.items() if f'{name}.lora.' in k}
+ module.lora.load_state_dict(lora_state)
+
+
+def save_lora(model, path):
+ state_dict = {}
+ for name, module in model.named_modules():
+ if hasattr(module, 'lora'):
+ lora_state = {f'{name}.lora.{k}': v for k, v in module.lora.state_dict().items()}
+ state_dict.update(lora_state)
+ torch.save(state_dict, path)
diff --git a/my_openai_api.py b/my_openai_api.py
deleted file mode 100644
index 687e6b5..0000000
--- a/my_openai_api.py
+++ /dev/null
@@ -1,414 +0,0 @@
-# encoding: utf-8
-import json
-import re
-import time
-import uuid
-import warnings
-
-import tiktoken
-import torch
-import numpy as np
-from typing import List
-from flask import Flask, current_app, request, Blueprint, stream_with_context
-from flask_cors import CORS
-from sentence_transformers import SentenceTransformer
-from sklearn.preprocessing import PolynomialFeatures
-from transformers import AutoTokenizer, AutoModelForCausalLM
-from marshmallow import validate, Schema, fields, EXCLUDE
-from pydantic import BaseModel
-
-warnings.filterwarnings('ignore', category=UserWarning)
-
-# ------------------------------------------------------------------------------------------------------------------
-DEVICE_NAME = "cuda:0" if torch.cuda.is_available() else "cpu"
-DEVICE = torch.device(DEVICE_NAME)
-MODEL_PATH = "./minimind-v1-small"
-TOKENIZE_PATH = MODEL_PATH
-max_new_tokens = 1024
-temperature = 0.7
-top_k = 16
-
-
-# ------------------------------------------------------------------------------------------------------------------
-
-class Transformers():
- def __init__(self, app=None, tokenizer=None, model=None):
- # self.chat = None
- if app is not None:
- self.init_app(app, tokenizer, model)
-
- def init_app(self, app, tokenizer=None, model=None, chat=None):
- self.tokenizer = tokenizer
- self.model = model
- # if chat is None:
- # # self.chat = model.chat
- # self.chat = self.chat
-
- # gpt2's
- def build_chat_input(self, tokenizer, messages: List[dict]):
- new_prompt = tokenizer.apply_chat_template(
- messages,
- tokenize=False,
- add_generation_prompt=True
- )[-(max_new_tokens - 1):]
- inputs_ids = tokenizer(new_prompt).data['input_ids']
- inputs_ids = (torch.tensor(inputs_ids, dtype=torch.long, device=DEVICE)[None, ...])
- return inputs_ids, tokenizer.eos_token_id, new_prompt
-
- def chat_stream(self, tokenizer, messages: List[dict], stream=True):
- input_ids, eos_token_id, new_prompt = self.build_chat_input(tokenizer, messages)
- if stream:
- res_y = self.model.generate(input_ids, tokenizer.eos_token_id, max_new_tokens=max_new_tokens,
- temperature=temperature, top_k=top_k, stream=True)
-
- try:
- y = next(res_y)
- except:
- print("No answer")
- return 'No answer'
-
- history_idx = 0
- while y != None:
- answer = tokenizer.decode(y[0].tolist())
- if answer and answer[-1] == '�':
- try:
- y = next(res_y)
- except:
- break
- continue
- # print(answer)
- if not len(answer):
- try:
- y = next(res_y)
- except:
- break
- continue
-
- yield answer[history_idx:]
- try:
- y = next(res_y)
- except:
- break
- history_idx = len(answer)
- if not stream:
- break
-
- def chat_no_stream(self, tokenizer, messages: List[dict]):
- input_ids, eos_token_id, new_prompt = self.build_chat_input(tokenizer, messages)
- res_y = self.model.generate(input_ids, tokenizer.eos_token_id, max_new_tokens=max_new_tokens,
- temperature=temperature, top_k=top_k, stream=False)
- y = next(res_y)
- answer = tokenizer.decode(y[0].tolist())
- return answer
-
-
-tfs = Transformers()
-base_tfs = Transformers()
-
-models_bp = Blueprint('Models', __name__, url_prefix='/v1/models')
-chat_bp = Blueprint('Chat', __name__, url_prefix='/v1/chat')
-completions_bp = Blueprint('Completions', __name__, url_prefix='/v1/completions')
-embedding_bp = Blueprint('Embeddings', __name__, url_prefix='/v1')
-
-
-def sse(line, field="data"):
- return "{}: {}\n\n".format(
- field, json.dumps(line, ensure_ascii=False) if isinstance(line, dict) else line)
-
-
-def empty_cache():
- if torch.backends.mps.is_available():
- torch.mps.empty_cache()
-
-
-def create_app():
- app = Flask(__name__)
- CORS(app)
- app.register_blueprint(models_bp)
- app.register_blueprint(chat_bp)
- app.register_blueprint(completions_bp)
- app.register_blueprint(embedding_bp)
-
- @app.after_request
- def after_request(resp):
- empty_cache()
- return resp
-
- tokenizer = AutoTokenizer.from_pretrained(
- TOKENIZE_PATH, trust_remote_code=True, use_fast=False)
-
- model = AutoModelForCausalLM.from_pretrained(
- MODEL_PATH, trust_remote_code=True).to(DEVICE)
- # model.generation_config = GenerationConfig.from_pretrained(model_name)
-
- tfs.init_app(app, tokenizer, model)
- base_tfs.init_app(app, tokenizer, model)
-
- return app
-
-
-class ModelSchema(Schema):
- id = fields.Str()
- object = fields.Str(dump_default="model", metadata={"example": "model"})
- created = fields.Int(dump_default=lambda: int(time.time()), metadata={"example": 1695402567})
- owned_by = fields.Str(dump_default="owner", metadata={"example": "owner"})
-
-
-class ModelListSchema(Schema):
- object = fields.Str(dump_default="list", metadata={"example": "list"})
- data = fields.List(fields.Nested(ModelSchema), dump_default=[])
-
-
-class ChatMessageSchema(Schema):
- role = fields.Str(required=True, metadata={"example": "system"})
- content = fields.Str(required=True, metadata={"example": "You are a helpful assistant."})
-
-
-class CreateChatCompletionSchema(Schema):
- class Meta:
- unknown = EXCLUDE # 忽略未知的字段
-
- model = fields.Str(required=True, metadata={"example": "minimind"})
- messages = fields.List(
- fields.Nested(ChatMessageSchema), required=True,
- metadata={"example": [
- ChatMessageSchema().dump({"role": "system", "content": "You are a helpful assistant."}),
- ChatMessageSchema().dump({"role": "user", "content": "Hello!"})
- ]}
- )
- temperature = fields.Float(load_default=1.0, metadata={"example": 1.0})
- top_p = fields.Float(load_default=1.0, metadata={"example": 1.0})
- n = fields.Int(load_default=1, metadata={"example": 1})
- max_tokens = fields.Int(load_default=None, metadata={"example": None})
- stream = fields.Bool(load_default=False, example=False)
- presence_penalty = fields.Float(load_default=0.0, example=0.0)
- frequency_penalty = fields.Float(load_default=0.0, example=0.0)
-
-
-class ChatCompletionChoiceSchema(Schema):
- index = fields.Int(metadata={"example": 0})
- message = fields.Nested(ChatMessageSchema, metadata={
- "example": ChatMessageSchema().dump(
- {"role": "assistant", "content": "\n\nHello there, how may I assist you today?"}
- )})
- finish_reason = fields.Str(
- validate=validate.OneOf(["stop", "length", "content_filter", "function_call"]),
- metadata={"example": "stop"})
-
-
-class ChatCompletionSchema(Schema):
- id = fields.Str(
- dump_default=lambda: uuid.uuid4().hex,
- metadata={"example": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7"})
- object = fields.Constant("chat.completion")
- created = fields.Int(dump_default=lambda: int(time.time()), metadata={"example": 1695402567})
- model = fields.Str(metadata={"example": "minimind"})
- choices = fields.List(fields.Nested(ChatCompletionChoiceSchema))
-
-
-class ChatDeltaSchema(Schema):
- role = fields.Str(metadata={"example": "assistant"})
- content = fields.Str(required=True, metadata={"example": "Hello"})
-
-
-class ChatCompletionChunkChoiceSchema(Schema):
- index = fields.Int(metadata={"example": 0})
- delta = fields.Nested(ChatDeltaSchema, metadata={"example": ChatDeltaSchema().dump(
- {"role": "assistant", "example": "Hello"})})
- finish_reason = fields.Str(
- validate=validate.OneOf(["stop", "length", "content_filter", "function_call"]),
- metadata={"example": "stop"})
-
-
-class ChatCompletionChunkShema(Schema):
- id = fields.Str(
- dump_default=lambda: uuid.uuid4().hex,
- metadata={"example": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7"})
- object = fields.Constant("chat.completion.chunk")
- created = fields.Int(dump_default=lambda: int(time.time()), metadata={"example": 1695402567})
- model = fields.Str(metadata={"example": "minimind"})
- choices = fields.List(fields.Nested(ChatCompletionChunkChoiceSchema))
-
-
-class CreateCompletionSchema(Schema):
- model = fields.Str(required=True, metadata={"example": "minimind"})
- prompt = fields.Raw(metadata={"example": "Say this is a test"})
- max_tokens = fields.Int(load_default=16, metadata={"example": 256})
- temperature = fields.Float(load_default=1.0, metadata={"example": 1.0})
- top_p = fields.Float(load_default=1.0, metadata={"example": 1.0})
- n = fields.Int(load_default=1, metadata={"example": 1})
- stream = fields.Bool(load_default=False, example=False)
- logit_bias = fields.Dict(load_default=None, example={})
- presence_penalty = fields.Float(load_default=0.0, example=0.0)
- frequency_penalty = fields.Float(load_default=0.0, example=0.0)
-
-
-class CompletionChoiceSchema(Schema):
- index = fields.Int(load_default=0, metadata={"example": 0})
- text = fields.Str(required=True, metadata={"example": "登鹳雀楼->王之涣\n夜雨寄北->"})
- logprobs = fields.Dict(load_default=None, metadata={"example": {}})
- finish_reason = fields.Str(
- validate=validate.OneOf(["stop", "length", "content_filter", "function_call"]),
- metadata={"example": "stop"})
-
-
-class CompletionUsageSchema(Schema):
- prompt_tokens = fields.Int(metadata={"example": 5})
- completion_tokens = fields.Int(metadata={"example": 7})
- total_tokens = fields.Int(metadata={"example": 12})
-
-
-class CompletionSchema(Schema):
- id = fields.Str(
- dump_default=lambda: uuid.uuid4().hex,
- metadata={"example": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7"})
- object = fields.Constant("text_completion")
- created = fields.Int(dump_default=lambda: int(time.time()), metadata={"example": 1695402567})
- model = fields.Str(metadata={"example": "minimind"})
- choices = fields.List(fields.Nested(CompletionChoiceSchema))
- usage = fields.Nested(CompletionUsageSchema)
-
-
-@stream_with_context
-def stream_chat_generate(messages):
- delta = ChatDeltaSchema().dump(
- {"role": "assistant"})
- choice = ChatCompletionChunkChoiceSchema().dump(
- {"index": 0, "delta": delta, "finish_reason": None})
-
- yield sse(
- ChatCompletionChunkShema().dump({
- "model": "minimind",
- "choices": [choice]})
- )
-
- # 调用 chat 方法并遍历其返回的生成器
- for response in tfs.chat_stream(tfs.tokenizer, messages):
- delta = ChatDeltaSchema().dump(
- {"content": response})
- choice = ChatCompletionChunkChoiceSchema().dump(
- {"index": 0, "delta": delta, "finish_reason": None})
-
- yield sse(
- ChatCompletionChunkShema().dump({
- "model": "minimind",
- "choices": [choice]})
- )
-
- yield sse('[DONE]')
-
-
-@chat_bp.route("/completions", methods=['POST'])
-def create_chat_completion():
- create_chat_completion = CreateChatCompletionSchema().load(request.json)
-
- if create_chat_completion["stream"]:
- return current_app.response_class(
- stream_chat_generate(create_chat_completion["messages"]),
- mimetype="text/event-stream"
- )
- else:
- response = tfs.chat_no_stream(tfs.tokenizer, create_chat_completion["messages"])
-
- message = ChatMessageSchema().dump(
- {"role": "assistant", "content": response})
- choice = ChatCompletionChoiceSchema().dump(
- {"index": 0, "message": message, "finish_reason": "stop"})
-
- return ChatCompletionSchema().dump({
- "model": "minimind",
- "choices": [choice]})
-
-
-class EmbeddingRequest(BaseModel):
- input: List[str]
- model: str
-
-
-@embedding_bp.route("/embeddings", methods=['POST'])
-def get_embeddings():
- request_data = request.get_json() # 获取 POST 请求体中的 JSON 数据
- request_params = EmbeddingRequest(**request_data) # 将 JSON 数据转换为 EmbeddingRequest 对象
-
- def expand_features(embedding, target_length):
- poly = PolynomialFeatures(degree=2)
- expanded_embedding = poly.fit_transform(embedding.reshape(1, -1))
- expanded_embedding = expanded_embedding.flatten()
- if len(expanded_embedding) > target_length:
- # 如果扩展后的特征超过目标长度,可以通过截断或其他方法来减少维度
- expanded_embedding = expanded_embedding[:target_length]
- elif len(expanded_embedding) < target_length:
- # 如果扩展后的特征少于目标长度,可以通过填充或其他方法来增加维度
- expanded_embedding = np.pad(
- expanded_embedding, (0, target_length - len(expanded_embedding))
- )
- return expanded_embedding
-
- def num_tokens_from_string(string: str) -> int:
- """Returns the number of tokens in a text string."""
- encoding = tiktoken.get_encoding('cl100k_base')
- num_tokens = len(encoding.encode(string))
- return num_tokens
-
- def has_chinese_char(s):
- pattern = re.compile(r'[\u4e00-\u9fa5]')
- # if bool(pattern.search(s)):
- # print('m3e编码')
- # else:
- # print('bge编码')
-
- return bool(pattern.search(s))
-
- # 计算嵌入向量和tokens数量
- embeddings = [embeddings_model_m3e.encode(text)
- if has_chinese_char(text)
- else embeddings_model_bge.encode(text)
- for text in request_params.input]
-
- # 如果嵌入向量的维度不为1536,则使用插值法扩展至1536维度
- embeddings = [
- expand_features(embedding, 768) if len(embedding) < 768 else embedding
- for embedding in embeddings
- ]
-
- # Min-Max normalization 归一化
- embeddings = [embedding / np.linalg.norm(embedding) for embedding in embeddings]
-
- # 将numpy数组转换为列表
- embeddings = [embedding.tolist() for embedding in embeddings]
- prompt_tokens = sum(len(text.split()) for text in request_params.input)
- total_tokens = sum(num_tokens_from_string(text) for text in request_params.input)
-
- response = {
- "data": [
- {"embedding": embedding, "index": index, "object": "embedding"}
- for index, embedding in enumerate(embeddings)
- ],
- "model": request_params.model,
- "object": "list",
- "usage": {
- "prompt_tokens": prompt_tokens,
- "total_tokens": total_tokens,
- },
- }
- # print(response)
- return response
-
-
-app = create_app()
-
-if __name__ == '__main__':
- use_emb = False
- try:
- import ngrok
- import logging
-
- logging.basicConfig(level=logging.INFO)
- listener = ngrok.werkzeug_develop()
- except Exception:
- pass
-
- embeddings_model_m3e = SentenceTransformer('.\\m3e-base', device='cpu') if use_emb else None
- embeddings_model_bge = SentenceTransformer('.\\bge-base-en-v1.5', device='cpu') if use_emb else None
-
- app.run(debug=False, host="0.0.0.0", port=8000)
diff --git a/requirements.txt b/requirements.txt
index 342675d..78e4432 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-datasets==2.16.1
+datasets==2.21.0
datasketch==1.6.4
Flask==3.0.3
Flask_Cors==4.0.0
@@ -9,7 +9,7 @@ matplotlib==3.5.1
ngrok==1.4.0
nltk==3.8
numpy==1.26.4
-openai==1.42.0
+openai==1.59.6
pandas==1.5.3
peft==0.7.1
psutil==5.9.8
@@ -19,10 +19,12 @@ scikit_learn==1.5.1
sentence_transformers==2.3.1
simhash==2.1.2
tiktoken==0.5.1
-torch==2.1.2
-transformers==4.44.0
+transformers==4.48.0
jinja2==3.1.2
jsonlines==4.0.0
-trl==0.11.3
+trl==0.13.0
ujson==5.1.0
wandb==0.18.3
+streamlit==1.30.0
+torch==2.2.2
+torchvision==0.17.2
\ No newline at end of file
diff --git a/scripts/chat_openai_api.py b/scripts/chat_openai_api.py
new file mode 100644
index 0000000..4ad5e55
--- /dev/null
+++ b/scripts/chat_openai_api.py
@@ -0,0 +1,30 @@
+from openai import OpenAI
+
+client = OpenAI(
+ api_key="none",
+ base_url="http://localhost:8998/v1"
+)
+stream = True
+conversation_history_origin = []
+conversation_history = conversation_history_origin.copy()
+while True:
+ conversation_history = conversation_history_origin.copy()
+ query = input('[Q]: ')
+ conversation_history.append({"role": "user", "content": query})
+ response = client.chat.completions.create(
+ model="minimind",
+ messages=conversation_history,
+ stream=stream
+ )
+ if not stream:
+ assistant_res = response.choices[0].message.content
+ print('[A]: ', assistant_res)
+ else:
+ print('[A]: ', end='')
+ assistant_res = ''
+ for chunk in response:
+ print(chunk.choices[0].delta.content or "", end="")
+ assistant_res += chunk.choices[0].delta.content or ""
+
+ conversation_history.append({"role": "assistant", "content": assistant_res})
+ print('\n\n')
diff --git a/scripts/convert_model.py b/scripts/convert_model.py
new file mode 100644
index 0000000..b1760a2
--- /dev/null
+++ b/scripts/convert_model.py
@@ -0,0 +1,62 @@
+import torch
+import warnings
+import sys
+import os
+
+__package__ = "scripts"
+sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
+from transformers import AutoTokenizer, AutoModelForCausalLM
+from model.LMConfig import LMConfig
+from model.model import MiniMindLM
+
+warnings.filterwarnings('ignore', category=UserWarning)
+
+
+def convert_torch2transformers(torch_path, transformers_path):
+ def export_tokenizer(transformers_path):
+ tokenizer = AutoTokenizer.from_pretrained('../model/minimind_tokenizer')
+ tokenizer.save_pretrained(transformers_path)
+
+ LMConfig.register_for_auto_class()
+ MiniMindLM.register_for_auto_class("AutoModelForCausalLM")
+ lm_model = MiniMindLM(lm_config)
+ device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
+ state_dict = torch.load(torch_path, map_location=device)
+ lm_model.load_state_dict(state_dict, strict=False)
+ model_params = sum(p.numel() for p in lm_model.parameters() if p.requires_grad)
+ print(f'模型参数: {model_params / 1e6} 百万 = {model_params / 1e9} B (Billion)')
+ lm_model.save_pretrained(transformers_path, safe_serialization=False)
+ export_tokenizer(transformers_path)
+ print(f"模型已保存为 Transformers 格式: {transformers_path}")
+
+
+def convert_transformers2torch(transformers_path, torch_path):
+ model = AutoModelForCausalLM.from_pretrained(transformers_path, trust_remote_code=True)
+ torch.save(model.state_dict(), torch_path)
+ print(f"模型已保存为 PyTorch 格式: {torch_path}")
+
+
+# don't need to use
+def push_to_hf(export_model_path):
+ def init_model():
+ tokenizer = AutoTokenizer.from_pretrained('../model/minimind_tokenizer')
+ model = AutoModelForCausalLM.from_pretrained(export_model_path, trust_remote_code=True)
+ return model, tokenizer
+
+ model, tokenizer = init_model()
+ # model.push_to_hub(model_path)
+ # tokenizer.push_to_hub(model_path, safe_serialization=False)
+
+
+if __name__ == '__main__':
+ lm_config = LMConfig(dim=512, n_layers=8, max_seq_len=8192, use_moe=False)
+
+ torch_path = f"../out/reason_{lm_config.dim}{'_moe' if lm_config.use_moe else ''}.pth"
+
+ transformers_path = '../MiniMind2-Small-R1'
+
+ # convert torch to transformers model
+ convert_torch2transformers(torch_path, transformers_path)
+
+ # # convert transformers to torch model
+ # convert_transformers2torch(transformers_path, torch_path)
diff --git a/scripts/data_process.py b/scripts/data_process.py
new file mode 100644
index 0000000..c820bbe
--- /dev/null
+++ b/scripts/data_process.py
@@ -0,0 +1,185 @@
+import csv
+import glob
+import os
+import re
+import json
+import jsonlines
+import pandas as pd
+from tqdm import tqdm
+
+bos_token = ""
+eos_token = ""
+
+
+def pretrain_process():
+ # 定义输入和输出路径
+ input_dir = '../CCI3-HQ/data'
+ output_file = '../dataset/pretrain_data_hq.csv'
+ jsonl_files = glob.glob(os.path.join(input_dir, 'part_*.jsonl'))
+ total_lines = 0
+ print("正在计算总行数...")
+ for file in jsonl_files:
+ with open(file, 'r', encoding='utf-8') as f:
+ for _ in f:
+ total_lines += 1
+ with open(output_file, 'w', newline='', encoding='utf-8') as csvfile:
+ writer = csv.writer(csvfile)
+ writer.writerow(['text', 'score']) # 写入表头
+ for jsonl_file in jsonl_files:
+ with open(jsonl_file, 'r', encoding='utf-8') as f:
+ for line in tqdm(f, desc=f'处理 {os.path.basename(jsonl_file)}', total=total_lines, unit='行',
+ leave=False):
+ try:
+ data = json.loads(line)
+ text = data.get('text', '')
+ score = data.get('score', 0)
+ if len(text) <= 512 and score > 3.5:
+ writer.writerow([text, score])
+ except json.JSONDecodeError:
+ continue
+ print(f"筛选完成,结果已保存到 {output_file}")
+
+
+def sft_process():
+ sft_file_name = 'sft_data.csv'
+
+ def process_and_write_data(data):
+ q_lst, a_lst, history_lst = [], [], []
+ for per in data:
+ history, q, a = per['history'], per['q'], per['a']
+ if not q or not a:
+ continue
+ history_len = sum(len(s) for s in history)
+ message_len = history_len + len(q) + len(a)
+ if message_len < 70 or message_len > 512:
+ continue
+ q_lst.append(q)
+ a_lst.append(a)
+ history_lst.append(history)
+
+ df = pd.DataFrame({'history': history_lst, 'q': q_lst, 'a': a_lst})
+ df.to_csv(f'../dataset/{sft_file_name}',
+ mode='a', header=False, index=False,
+ lineterminator='\r\n', escapechar='\\', encoding='utf-8')
+
+ chunk_size = 1000
+ data = []
+ with open(f'../dataset/{sft_file_name}', 'w', encoding='utf-8') as f:
+ f.write('history,q,a\n')
+
+ # sft_path = ['/root/shared-nvme/sft_data_zh.jsonl', '/root/shared-nvme/sft_data_en.jsonl']
+ sft_path = ['/root/shared-nvme/sft_data_en.jsonl']
+ chunk_num = 0
+ for path in sft_path:
+ with jsonlines.open(path) as reader:
+ for idx, obj in enumerate(reader):
+ try:
+ data.append({
+ 'history': obj.get('history', ''),
+ 'q': obj.get('input', '') + obj.get('q', ''),
+ 'a': obj.get('output', '') + obj.get('a', '')
+ })
+
+ if len(data) >= chunk_size:
+ chunk_num += 1
+ process_and_write_data(data)
+ data = []
+ if chunk_num % 100 == 0:
+ print(f'chunk:{chunk_num} process end')
+ except jsonlines.InvalidLineError as e:
+ print(f"Skipping invalid JSON line {idx + 1}: {e}")
+ continue
+
+ if data:
+ process_and_write_data(data)
+ data = []
+
+
+def rl_process():
+ # 偏好数据默认只用中文(建议)
+ input_paths = [
+ # "../dataset/dpo_en.json",
+ "../dataset/dpo_zh.json"
+ ]
+ output_path = "../dataset/dpo_data.jsonl" # 修改输出文件扩展名为 .jsonl
+ all_converted = []
+
+ for input_path in input_paths:
+ with open(input_path, "r", encoding="utf-8") as f:
+ data = json.load(f) # data is likely a list
+
+ for item in data:
+ new_data = {
+ "chosen": [],
+ "rejected": []
+ }
+ for turn in item["conversations"]:
+ role = "user" if turn["from"] == "human" else "assistant"
+ message = {"role": role, "content": turn["value"]}
+ new_data["chosen"].append(message)
+ new_data["rejected"].append(message)
+ new_data["chosen"].append({
+ "role": "assistant",
+ "content": item["chosen"]["value"]
+ })
+ new_data["rejected"].append({
+ "role": "assistant",
+ "content": item["rejected"]["value"]
+ })
+ all_converted.append(new_data)
+
+ with open(output_path, "w", encoding="utf-8") as f:
+ for item in all_converted:
+ f.write(json.dumps(item, ensure_ascii=False) + "\n")
+
+
+def lora_dataset():
+ import json
+ import csv
+
+ # 读取JSON文件
+ with open('../dataset/Chinese-medical-dialogue.json', 'r', encoding='utf-8') as f:
+ data = json.load(f)
+
+ # 准备CSV数据
+ csv_data = []
+ for item in data:
+ # 提取input和output并去除首尾空白
+ q = item['input'].strip()
+ a = item['output'].strip()
+
+ # 检查长度是否符合要求
+ if len(q) + len(a) < 160:
+ csv_data.append({
+ 'history': '[]',
+ 'q': q,
+ 'a': a
+ })
+
+ # 写入CSV文件
+ with open('../dataset/medical_sft.csv', 'w', newline='', encoding='utf-8') as csvfile:
+ fieldnames = ['history', 'q', 'a']
+ writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
+
+ writer.writeheader()
+ writer.writerows(csv_data)
+
+ print(f'转换完成,共处理 {len(csv_data)} 条有效数据')
+
+
+if __name__ == "__main__":
+ ################
+ # 1: pretrain
+ # 2: sft
+ # 3: RL
+ ################
+ process_type = 4
+
+ if process_type == 1:
+ pretrain_process()
+ if process_type == 2:
+ sft_process()
+ if process_type == 3:
+ rl_process()
+ if process_type == 4:
+ lora_dataset()
diff --git a/scripts/load_test_dataset.py b/scripts/load_test_dataset.py
new file mode 100644
index 0000000..f186f46
--- /dev/null
+++ b/scripts/load_test_dataset.py
@@ -0,0 +1,97 @@
+# from datasets import load_dataset
+#
+# dataset_paths = [
+# ['ceval/ceval-exam',
+# ['computer_network', 'operating_system', 'computer_architecture', 'college_programming', 'college_physics',
+# 'college_chemistry', 'advanced_mathematics', 'probability_and_statistics', 'discrete_mathematics',
+# 'electrical_engineer', 'metrology_engineer', 'high_school_mathematics', 'high_school_physics',
+# 'high_school_chemistry', 'high_school_biology', 'middle_school_mathematics', 'middle_school_biology',
+# 'middle_school_physics', 'middle_school_chemistry', 'veterinary_medicine', 'college_economics',
+# 'business_administration', 'marxism', 'mao_zedong_thought', 'education_science', 'teacher_qualification',
+# 'high_school_politics', 'high_school_geography', 'middle_school_politics', 'middle_school_geography',
+# 'modern_chinese_history', 'ideological_and_moral_cultivation', 'logic', 'law', 'chinese_language_and_literature',
+# 'art_studies', 'professional_tour_guide', 'legal_professional', 'high_school_chinese', 'high_school_history',
+# 'middle_school_history', 'civil_servant', 'sports_science', 'plant_protection', 'basic_medicine',
+# 'clinical_medicine', 'urban_and_rural_planner', 'accountant', 'fire_engineer',
+# 'environmental_impact_assessment_engineer', 'tax_accountant', 'physician']], # ceval*
+# ['haonan-li/cmmlu', [
+# 'agronomy', 'anatomy', 'ancient_chinese', 'arts', 'astronomy', 'business_ethics',
+# 'chinese_civil_service_exam', 'chinese_driving_rule', 'chinese_food_culture',
+# 'chinese_foreign_policy', 'chinese_history', 'chinese_literature',
+# 'chinese_teacher_qualification', 'clinical_knowledge', 'college_actuarial_science',
+# 'college_education', 'college_engineering_hydrology', 'college_law',
+# 'college_mathematics', 'college_medical_statistics', 'college_medicine',
+# 'computer_science', 'computer_security', 'conceptual_physics',
+# 'construction_project_management', 'economics', 'education', 'electrical_engineering',
+# 'elementary_chinese', 'elementary_commonsense', 'elementary_information_and_technology',
+# 'elementary_mathematics', 'ethnology', 'food_science', 'genetics', 'global_facts',
+# 'high_school_biology', 'high_school_chemistry', 'high_school_geography',
+# 'high_school_mathematics', 'high_school_physics', 'high_school_politics',
+# 'human_sexuality', 'international_law', 'journalism', 'jurisprudence',
+# 'legal_and_moral_basis', 'logical', 'machine_learning', 'management', 'marketing',
+# 'marxist_theory', 'modern_chinese', 'nutrition', 'philosophy', 'professional_accounting',
+# 'professional_law', 'professional_medicine', 'professional_psychology',
+# 'public_relations', 'security_study', 'sociology', 'sports_science',
+# 'traditional_chinese_medicine', 'virology', 'world_history', 'world_religions'
+# ]], # cmmlu*
+# ['tyouisen/aclue',
+# ['polysemy_resolution', 'poetry_sentiment_analysis', 'named_entity_recognition', 'basic_ancient_chinese',
+# 'poetry_context_prediction', 'sentence_segmentation', 'couplet_prediction', 'poetry_appreciate',
+# 'ancient_chinese_culture', 'ancient_phonetics', 'homographic_character_resolution', 'ancient_literature',
+# 'ancient_medical', 'poetry_quality_assessment', 'reading_comprehension']], # aclue
+# ['juletxara/mgsm', ['zh']], # mgsm_direct_zh
+# ['openbookqa', ['main']], # openbookqa
+# ['ZoneTwelve/tmmluplus',
+# ['dentistry', 'traditional_chinese_medicine_clinical_medicine', 'clinical_psychology', 'technical',
+# 'culinary_skills', 'mechanical', 'logic_reasoning', 'real_estate', 'general_principles_of_law', 'finance_banking',
+# 'anti_money_laundering', 'ttqav2', 'marketing_management', 'business_management', 'organic_chemistry',
+# 'advance_chemistry', 'physics', 'secondary_physics', 'human_behavior', 'national_protection', 'jce_humanities',
+# 'politic_science', 'agriculture', 'official_document_management', 'financial_analysis', 'pharmacy',
+# 'educational_psychology', 'statistics_and_machine_learning', 'management_accounting', 'introduction_to_law',
+# 'computer_science', 'veterinary_pathology', 'accounting', 'fire_science', 'optometry', 'insurance_studies',
+# 'pharmacology', 'taxation', 'education_(profession_level)', 'economics', 'veterinary_pharmacology',
+# 'nautical_science', 'occupational_therapy_for_psychological_disorders', 'trust_practice', 'geography_of_taiwan',
+# 'physical_education', 'auditing', 'administrative_law', 'basic_medical_science', 'macroeconomics', 'trade',
+# 'chinese_language_and_literature', 'tve_design', 'junior_science_exam', 'junior_math_exam', 'junior_chinese_exam',
+# 'junior_social_studies', 'tve_mathematics', 'tve_chinese_language', 'tve_natural_sciences', 'junior_chemistry',
+# 'music', 'education', 'three_principles_of_people', 'taiwanese_hokkien', 'engineering_math', 'linear_algebra']]
+# # tmmluplus
+#
+# ]
+#
+# for dataset_path in dataset_paths:
+# for dataset_name in dataset_path[1]:
+# datasets = load_dataset(dataset_path[0], dataset_name, cache_dir='./test_dataset_cache')
+#
+# """
+# export HF_HUB_OFFLINE=1 && lm_eval --model hf --model_args pretrained=/xxx/minimind/minimind-v2-small/,device=cuda,dtype=auto --tasks ceval* --batch_size 8 --trust_remote_code
+# """
+"""
+$env:HF_HUB_OFFLINE=1; lm_eval --model hf --model_args pretrained=../minimind-v2-small/,device=cuda,dtype=auto --tasks ceval* --batch_size 8 --trust_remote_code
+"""
+
+import subprocess
+
+# 定义要执行的命令
+command = (
+ 'set HF_HUB_OFFLINE=1 & '
+ 'lm_eval --model hf --model_args pretrained=../minimind-v2-small/,device=cuda,dtype=auto '
+ '--tasks ceval* --batch_size 8 --trust_remote_code'
+)
+
+# 使用 subprocess 执行命令
+try:
+ process = subprocess.run(
+ command,
+ shell=True,
+ check=True,
+ text=True,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ )
+ # 打印命令的输出
+ print("STDOUT:", process.stdout)
+ print("STDERR:", process.stderr)
+except subprocess.CalledProcessError as e:
+ print(f"命令执行失败,返回码: {e.returncode}")
+ print("STDERR:", e.stderr)
\ No newline at end of file
diff --git a/scripts/serve_openai_api.py b/scripts/serve_openai_api.py
new file mode 100644
index 0000000..3c0cf0b
--- /dev/null
+++ b/scripts/serve_openai_api.py
@@ -0,0 +1,164 @@
+import argparse
+import json
+import os
+import sys
+
+__package__ = "scripts"
+sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
+import time
+import torch
+import warnings
+import uvicorn
+from fastapi import FastAPI, HTTPException
+from fastapi.responses import StreamingResponse
+from pydantic import BaseModel
+from transformers import AutoTokenizer, AutoModelForCausalLM
+from model.LMConfig import LMConfig
+from model.model import MiniMindLM
+from model.model_lora import apply_lora, load_lora
+
+warnings.filterwarnings('ignore')
+
+app = FastAPI()
+
+
+def init_model(args):
+ tokenizer = AutoTokenizer.from_pretrained('../model/minimind_tokenizer')
+ if args.load == 0:
+ moe_path = '_moe' if args.use_moe else ''
+ modes = {0: 'pretrain', 1: 'full_sft', 2: 'full_dist', 3: 'rlhf'}
+ ckp = f'../{args.out_dir}/{modes[args.model_mode]}_{args.dim}{moe_path}.pth'
+
+ model = MiniMindLM(LMConfig(
+ dim=args.dim,
+ n_layers=args.n_layers,
+ max_seq_len=args.max_seq_len,
+ use_moe=args.use_moe
+ ))
+
+ state_dict = torch.load(ckp, map_location=device)
+ model.load_state_dict({k: v for k, v in state_dict.items() if 'mask' not in k}, strict=True)
+
+ if args.lora_name != 'None':
+ apply_lora(model)
+ load_lora(model, f'../{args.out_dir}/{args.lora_name}_{args.dim}.pth')
+ else:
+ model = AutoModelForCausalLM.from_pretrained(
+ './MiniMind2',
+ trust_remote_code=True
+ )
+ print(f'MiniMind模型参数量: {sum(p.numel() for p in model.parameters() if p.requires_grad) / 1e6:.2f}M(illion)')
+ return model.eval().to(device), tokenizer
+
+
+class ChatRequest(BaseModel):
+ model: str
+ messages: list
+ temperature: float = 0.7
+ top_p: int = 0.92
+ max_tokens: int = 8192
+ stream: bool = False
+
+
+def generate_stream_response(messages, temperature, top_p, max_tokens):
+ try:
+ new_prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)[-max_tokens:]
+ x = tokenizer(new_prompt).data['input_ids']
+ x = (torch.tensor(x, dtype=torch.long, device=device)[None, ...])
+ with torch.no_grad():
+ res_y = model.generate(
+ x,
+ eos_token_id=tokenizer.eos_token_id,
+ max_new_tokens=max_tokens,
+ temperature=temperature,
+ top_p=top_p,
+ stream=True,
+ rp=1.,
+ pad_token_id=tokenizer.pad_token_id
+ )
+ history_idx = 0
+ for y in res_y:
+ answer = tokenizer.decode(y[0].tolist(), skip_special_tokens=True)
+ if (answer and answer[-1] == '�') or not answer:
+ continue
+ delta = answer[history_idx:]
+ history_idx = len(answer)
+ json_data = {
+ 'id': f'chatcmpl-{int(time.time())}',
+ 'object': 'chat.completion.chunk',
+ 'created': int(time.time()),
+ 'model': 'minimind',
+ 'choices': [{'index': 0, 'delta': {'content': delta}, 'finish_reason': None}]
+ }
+ yield f"data: {json.dumps(json_data)}\n\n"
+
+ except Exception as e:
+ yield f"data: {json.dumps({'error': str(e)})}\n\n"
+
+
+@app.post("/v1/chat/completions")
+async def chat_completions(request: ChatRequest):
+ try:
+ if request.stream:
+ return StreamingResponse(
+ generate_stream_response(
+ messages=request.messages,
+ temperature=request.temperature,
+ top_p=request.top_p,
+ max_tokens=request.max_tokens
+ ),
+ media_type="text/event-stream"
+ )
+ else:
+ new_prompt = tokenizer.apply_chat_template(
+ request.messages,
+ tokenize=False,
+ add_generation_prompt=True
+ )[-request.max_tokens:]
+ x = tokenizer(new_prompt).data['input_ids']
+ x = (torch.tensor(x, dtype=torch.long, device=device)[None, ...])
+ with torch.no_grad():
+ res_y = model.generate(
+ x,
+ eos_token_id=tokenizer.eos_token_id,
+ max_new_tokens=request.max_tokens,
+ temperature=request.temperature,
+ top_p=request.top_p,
+ stream=False,
+ rp=1.,
+ pad_token_id=tokenizer.pad_token_id
+ )
+ answer = tokenizer.decode(res_y.squeeze()[x.shape[1]:].tolist(), skip_special_tokens=True)
+ return {
+ "id": f"chatcmpl-{int(time.time())}",
+ "object": "chat.completion",
+ "created": int(time.time()),
+ "model": "minimind",
+ "choices": [
+ {
+ "index": 0,
+ "message": {"role": "assistant", "content": answer},
+ "finish_reason": "stop"
+ }
+ ]
+ }
+
+ except Exception as e:
+ raise HTTPException(status_code=500, detail=str(e))
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description="Server for MiniMind")
+ parser.add_argument('--out_dir', default='out', type=str)
+ parser.add_argument('--lora_name', default='None', type=str)
+ parser.add_argument('--dim', default=512, type=int)
+ parser.add_argument('--n_layers', default=8, type=int)
+ parser.add_argument('--max_seq_len', default=8192, type=int)
+ parser.add_argument('--use_moe', default=False, type=bool)
+ parser.add_argument('--load', default=0, type=int, help="0: 从原生torch权重,1: 利用transformers加载")
+ parser.add_argument('--model_mode', default=1, type=int, help="0: 预训练模型,1: SFT-Chat模型,2: RLHF-Chat模型")
+
+ device = 'cuda' if torch.cuda.is_available() else 'cpu'
+ model, tokenizer = init_model(parser.parse_args())
+
+ uvicorn.run(app, host="0.0.0.0", port=8998)
diff --git a/train_tokenizer.py b/scripts/train_tokenizer.py
similarity index 82%
rename from train_tokenizer.py
rename to scripts/train_tokenizer.py
index 06716d1..6661ace 100644
--- a/train_tokenizer.py
+++ b/scripts/train_tokenizer.py
@@ -16,6 +16,7 @@ import os
random.seed(42)
+
def train_tokenizer():
# 读取JSONL文件并提取文本数据
def read_texts_from_jsonl(file_path):
@@ -24,7 +25,7 @@ def train_tokenizer():
data = json.loads(line)
yield data['text']
- data_path = './dataset/tokenizer_train.jsonl'
+ data_path = '../dataset/tokenizer_train.jsonl'
# 初始化tokenizer
tokenizer = Tokenizer(models.BPE())
@@ -56,16 +57,16 @@ def train_tokenizer():
assert tokenizer.token_to_id("") == 2
# 保存tokenizer
- tokenizer_dir = "./model/minimind_tokenizer"
+ tokenizer_dir = "../model/minimind_tokenizer"
os.makedirs(tokenizer_dir, exist_ok=True)
tokenizer.save(os.path.join(tokenizer_dir, "tokenizer.json"))
- tokenizer.model.save("./model/minimind_tokenizer")
+ tokenizer.model.save("../model/minimind_tokenizer")
# 手动创建配置文件
config = {
"add_bos_token": False,
"add_eos_token": False,
- "add_prefix_space": True,
+ "add_prefix_space": False,
"added_tokens_decoder": {
"0": {
"content": "",
@@ -97,14 +98,13 @@ def train_tokenizer():
"clean_up_tokenization_spaces": False,
"eos_token": "",
"legacy": True,
- "model_max_length": 1000000000000000019884624838656,
- "pad_token": None,
+ "model_max_length": 32768,
+ "pad_token": "",
"sp_model_kwargs": {},
"spaces_between_special_tokens": False,
"tokenizer_class": "PreTrainedTokenizerFast",
"unk_token": "",
- "use_default_system_prompt": False,
- "chat_template": "{% if messages[0]['role'] == 'system' %}{% set system_message = messages[0]['content'] %}{% endif %}{% if system_message is defined %}{{ system_message }}{% endif %}{% for message in messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ 'user\\n' + content + '\\nassistant\\n' }}{% elif message['role'] == 'assistant' %}{{ content + '' + '\\n' }}{% endif %}{% endfor %}"
+ "chat_template": "{% if messages[0]['role'] == 'system' %}{% set system_message = messages[0]['content'] %}{{ 'system\\n' + system_message + '\\n' }}{% else %}{{ 'system\\n你是 MiniMind,是一个有用的人工智能助手。\\n' }}{% endif %}{% for message in messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ 'user\\n' + content + '\\nassistant\\n' }}{% elif message['role'] == 'assistant' %}{{ content + '' + '\\n' }}{% endif %}{% endfor %}"
}
# 保存配置文件
@@ -118,7 +118,7 @@ def eval_tokenizer():
from transformers import AutoTokenizer
# 加载预训练的tokenizer
- tokenizer = AutoTokenizer.from_pretrained("./model/minimind_tokenizer")
+ tokenizer = AutoTokenizer.from_pretrained("../model/minimind_tokenizer")
messages = [
{"role": "system", "content": "你是一个优秀的聊天机器人,总是给我正确的回应!"},
@@ -139,9 +139,10 @@ def eval_tokenizer():
print('encoder长度:', len(model_inputs['input_ids']))
input_ids = model_inputs['input_ids']
- response = tokenizer.decode(input_ids)
+ response = tokenizer.decode(input_ids, skip_special_tokens=True)
print('decoder和原始文本是否一致:', response == new_prompt)
+
def main():
# train_tokenizer()
eval_tokenizer()
diff --git a/scripts/web_demo.py b/scripts/web_demo.py
new file mode 100644
index 0000000..d76a864
--- /dev/null
+++ b/scripts/web_demo.py
@@ -0,0 +1,293 @@
+import random
+import re
+import time
+
+import numpy as np
+import streamlit as st
+import torch
+
+st.set_page_config(page_title="MiniMind", initial_sidebar_state="collapsed")
+
+# 在文件开头的 CSS 样式中修改按钮样式
+st.markdown("""
+
+""", unsafe_allow_html=True)
+
+system_prompt = []
+device = "cuda" if torch.cuda.is_available() else "cpu"
+
+
+def process_assistant_content(content):
+ if 'R1' not in MODEL_PATHS[selected_model][1]:
+ return content
+
+ if '' in content and '' in content:
+ content = re.sub(r'()(.*?)()',
+ r'推理内容(展开)
\2 ',
+ content,
+ flags=re.DOTALL)
+
+ if '' in content and '' not in content:
+ content = re.sub(r'(.*?)$',
+ r'推理中...
\1 ',
+ content,
+ flags=re.DOTALL)
+
+ if '' not in content and '' in content:
+ content = re.sub(r'(.*?)',
+ r'推理内容(展开)
\1 ',
+ content,
+ flags=re.DOTALL)
+
+ return content
+
+
+@st.cache_resource
+def load_model_tokenizer(model_path):
+ model = AutoModelForCausalLM.from_pretrained(
+ model_path,
+ trust_remote_code=True
+ )
+ tokenizer = AutoTokenizer.from_pretrained(
+ model_path,
+ use_fast=False,
+ trust_remote_code=True
+ )
+ model = model.eval().to(device)
+ return model, tokenizer
+
+
+def clear_chat_messages():
+ del st.session_state.messages
+ del st.session_state.chat_messages
+
+
+def init_chat_messages():
+ if "messages" in st.session_state:
+ for i, message in enumerate(st.session_state.messages):
+ if message["role"] == "assistant":
+ with st.chat_message("assistant", avatar=image_url):
+ st.markdown(process_assistant_content(message["content"]), unsafe_allow_html=True)
+ # 在消息内容下方添加按钮
+ if st.button("🗑", key=f"delete_{i}"):
+ st.session_state.messages.pop(i)
+ st.session_state.messages.pop(i - 1)
+ st.session_state.chat_messages.pop(i)
+ st.session_state.chat_messages.pop(i - 1)
+ st.rerun()
+ else:
+ st.markdown(
+ f'',
+ unsafe_allow_html=True)
+
+ else:
+ st.session_state.messages = []
+ st.session_state.chat_messages = []
+
+ return st.session_state.messages
+
+
+# 添加这两个辅助函数
+def regenerate_answer(index):
+ st.session_state.messages.pop()
+ st.session_state.chat_messages.pop()
+ st.rerun()
+
+
+def delete_conversation(index):
+ st.session_state.messages.pop(index)
+ st.session_state.messages.pop(index - 1)
+ st.session_state.chat_messages.pop(index)
+ st.session_state.chat_messages.pop(index - 1)
+ st.rerun()
+
+
+# 侧边栏模型选择
+st.sidebar.title("模型设定调整")
+
+st.sidebar.text("【注】训练数据偏差,增加上下文记忆时\n多轮对话(较单轮)容易出现能力衰减")
+st.session_state.history_chat_num = st.sidebar.slider("Number of Historical Dialogues", 0, 6, 0, step=2)
+# st.session_state.history_chat_num = 0
+st.session_state.max_new_tokens = st.sidebar.slider("Max Sequence Length", 256, 8192, 8192, step=1)
+st.session_state.top_p = st.sidebar.slider("Top-P", 0.8, 0.99, 0.85, step=0.01)
+st.session_state.temperature = st.sidebar.slider("Temperature", 0.6, 1.2, 0.85, step=0.01)
+
+# 模型路径映射
+MODEL_PATHS = {
+ "MiniMind2-Pro-R1 (0.1B)": ["../MiniMind2-Pro-R1", "MiniMind2-Pro-R1"],
+ "MiniMind2-R1 (0.05B)": ["../MiniMind2-R1", "MiniMind2-R1"],
+ "MiniMind2-Pro (0.1B)": ["../MiniMind2-Pro", "MiniMind2-Pro"],
+ "MiniMind2 (0.05B)": ["../MiniMind2", "MiniMind2"],
+ "MiniMind2-Small (0.02B)": ["../MiniMind2-Small", "MiniMind2-Small"],
+ "MiniMind-V1 (0.1B)": ["../minimind-v1", "MiniMind-V1"],
+ "MiniMind-V1-Small (0.02B)": ["../minimind-v1-small", "MiniMind-V1 Small"],
+}
+
+selected_model = st.sidebar.selectbox('Models', list(MODEL_PATHS.keys()), index=0) # 默认选择 MiniMind2
+model_path = MODEL_PATHS[selected_model][0]
+
+slogan = f"Hi, I'm {MODEL_PATHS[selected_model][1]}"
+
+image_url = "https://www.modelscope.cn/api/v1/studio/gongjy/MiniMind/repo?Revision=master&FilePath=images%2Flogo2.png&View=true"
+
+st.markdown(
+ f''
+ '
'
+ f'

'
+ f'
{slogan}'
+ '
'
+ '
内容完全由AI生成,请务必仔细甄别
Content AI-generated, please discern with care'
+ '
',
+ unsafe_allow_html=True
+)
+
+
+def setup_seed(seed):
+ random.seed(seed)
+ np.random.seed(seed)
+ torch.manual_seed(seed)
+ torch.cuda.manual_seed(seed)
+ torch.cuda.manual_seed_all(seed)
+ torch.backends.cudnn.deterministic = True
+ torch.backends.cudnn.benchmark = False
+
+
+def main():
+ model, tokenizer = load_model_tokenizer(model_path)
+
+ # 初始化消息列表
+ if "messages" not in st.session_state:
+ st.session_state.messages = []
+ st.session_state.chat_messages = []
+
+ # Use session state messages
+ messages = st.session_state.messages
+
+ # 在显示历史消息的循环中
+ for i, message in enumerate(messages):
+ if message["role"] == "assistant":
+ with st.chat_message("assistant", avatar=image_url):
+ st.markdown(process_assistant_content(message["content"]), unsafe_allow_html=True)
+ if st.button("×", key=f"delete_{i}"):
+ # 删除当前消息及其之后的所有消息
+ st.session_state.messages = st.session_state.messages[:i - 1]
+ st.session_state.chat_messages = st.session_state.chat_messages[:i - 1]
+ st.rerun()
+ else:
+ st.markdown(
+ f'',
+ unsafe_allow_html=True)
+
+ # 处理新的输入或重新生成
+ prompt = st.chat_input(key="input", placeholder="给 MiniMind 发送消息")
+
+ # 检查是否需要重新生成
+ if hasattr(st.session_state, 'regenerate') and st.session_state.regenerate:
+ prompt = st.session_state.last_user_message
+ regenerate_index = st.session_state.regenerate_index # 获取重新生成的位置
+ # 清除所有重新生成相关的状态
+ delattr(st.session_state, 'regenerate')
+ delattr(st.session_state, 'last_user_message')
+ delattr(st.session_state, 'regenerate_index')
+
+ if prompt:
+ st.markdown(
+ f'',
+ unsafe_allow_html=True)
+ messages.append({"role": "user", "content": prompt})
+ st.session_state.chat_messages.append({"role": "user", "content": prompt})
+
+ with st.chat_message("assistant", avatar=image_url):
+ placeholder = st.empty()
+ random_seed = random.randint(0, 2 ** 32 - 1)
+ setup_seed(random_seed)
+
+ st.session_state.chat_messages = system_prompt + st.session_state.chat_messages[
+ -(st.session_state.history_chat_num + 1):]
+ new_prompt = tokenizer.apply_chat_template(
+ st.session_state.chat_messages,
+ tokenize=False,
+ add_generation_prompt=True
+ )[-(st.session_state.max_new_tokens - 1):]
+
+ x = torch.tensor(tokenizer(new_prompt)['input_ids'], device=device).unsqueeze(0)
+ with torch.no_grad():
+ res_y = model.generate(x, tokenizer.eos_token_id, max_new_tokens=st.session_state.max_new_tokens,
+ temperature=st.session_state.temperature,
+ top_p=st.session_state.top_p, stream=True)
+ try:
+ for y in res_y:
+ answer = tokenizer.decode(y[0].tolist(), skip_special_tokens=True)
+ if (answer and answer[-1] == '�') or not answer:
+ continue
+ placeholder.markdown(process_assistant_content(answer), unsafe_allow_html=True)
+ except StopIteration:
+ print("No answer")
+
+ assistant_answer = answer.replace(new_prompt, "")
+ messages.append({"role": "assistant", "content": assistant_answer})
+ st.session_state.chat_messages.append({"role": "assistant", "content": assistant_answer})
+
+ with st.empty():
+ if st.button("×", key=f"delete_{len(messages) - 1}"):
+ st.session_state.messages = st.session_state.messages[:-2]
+ st.session_state.chat_messages = st.session_state.chat_messages[:-2]
+ st.rerun()
+
+
+if __name__ == "__main__":
+ from transformers import AutoModelForCausalLM, AutoTokenizer
+
+ main()
diff --git a/train_distill_reason.py b/train_distill_reason.py
new file mode 100644
index 0000000..4d1b0d3
--- /dev/null
+++ b/train_distill_reason.py
@@ -0,0 +1,208 @@
+import os
+import platform
+import argparse
+import time
+import math
+import warnings
+
+import pandas as pd
+import torch
+import torch.nn.functional as F
+import torch.distributed as dist
+from contextlib import nullcontext
+
+from torch import optim, nn
+from torch.nn.parallel import DistributedDataParallel
+from torch.utils.data import DataLoader, DistributedSampler
+from transformers import AutoTokenizer, AutoModelForCausalLM
+from model.model import MiniMindLM
+from model.LMConfig import LMConfig
+from model.dataset import SFTDataset
+
+warnings.filterwarnings('ignore')
+
+
+def Logger(content):
+ if not ddp or dist.get_rank() == 0:
+ print(content)
+
+
+def get_lr(current_step, total_steps, lr):
+ return lr / 10 + 0.5 * lr * (1 + math.cos(math.pi * current_step / total_steps))
+
+
+def train_epoch(epoch, wandb):
+ # 思考标签占位符
+ start_of_think_ids = tokenizer('').input_ids
+ end_of_think_ids = tokenizer('').input_ids
+ start_of_answer_ids = tokenizer('').input_ids
+ end_of_answer_ids = tokenizer('').input_ids
+ loss_fct = nn.CrossEntropyLoss(reduction='none')
+ start_time = time.time()
+ for step, (X, Y, loss_mask) in enumerate(train_loader):
+ X = X.to(args.device)
+ Y = Y.to(args.device)
+ loss_mask = loss_mask.to(args.device)
+ lr = get_lr(epoch * iter_per_epoch + step, args.epochs * iter_per_epoch, args.learning_rate)
+ for param_group in optimizer.param_groups:
+ param_group['lr'] = lr
+
+ with ctx:
+ res = model(X)
+ loss = loss_fct(
+ res.logits.view(-1, res.logits.size(-1)),
+ Y.view(-1)
+ ).view(Y.size())
+ sp_ids = torch.isin(Y.view(-1),
+ torch.tensor(start_of_think_ids + end_of_think_ids
+ + start_of_answer_ids + end_of_answer_ids
+ ).to(args.device))
+ # 在 sp_ids 对应的位置增加额外的惩罚
+ loss_mask = loss_mask.view(-1)
+ loss_mask_sum = loss_mask.sum()
+ loss_mask[sp_ids] = 10
+ loss_mask = loss_mask.view(Y.size())
+ loss = (loss * loss_mask).sum() / loss_mask_sum
+ loss += res.aux_loss
+ loss = loss / args.accumulation_steps
+
+ scaler.scale(loss).backward()
+
+ if (step + 1) % args.accumulation_steps == 0:
+ scaler.unscale_(optimizer)
+ torch.nn.utils.clip_grad_norm_(model.parameters(), args.grad_clip)
+
+ scaler.step(optimizer)
+ scaler.update()
+
+ optimizer.zero_grad(set_to_none=True)
+
+ if step % args.log_interval == 0:
+ spend_time = time.time() - start_time
+ Logger(
+ 'Epoch:[{}/{}]({}/{}) loss:{:.3f} lr:{:.12f} epoch_Time:{}min:'.format(
+ epoch + 1,
+ args.epochs,
+ step,
+ iter_per_epoch,
+ loss.item(),
+ optimizer.param_groups[-1]['lr'],
+ spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60))
+
+ if (wandb is not None) and (not ddp or dist.get_rank() == 0):
+ wandb.log({"loss": loss,
+ "lr": optimizer.param_groups[-1]['lr'],
+ "epoch_Time": spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60})
+
+ if (step + 1) % args.save_interval == 0 and (not ddp or dist.get_rank() == 0):
+ model.eval()
+ moe_path = '_moe' if lm_config.use_moe else ''
+ ckp = f'{args.save_dir}/reason_{lm_config.dim}{moe_path}.pth'
+
+ if isinstance(model, torch.nn.parallel.DistributedDataParallel):
+ state_dict = model.module.state_dict()
+ else:
+ state_dict = model.state_dict()
+
+ torch.save(state_dict, ckp)
+ model.train()
+
+
+def init_model(lm_config):
+ tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer')
+ model = MiniMindLM(lm_config)
+ moe_path = '_moe' if lm_config.use_moe else ''
+ ckp = f'./out/rlhf_{lm_config.dim}{moe_path}.pth'
+ state_dict = torch.load(ckp, map_location=args.device)
+ model.load_state_dict(state_dict, strict=False)
+ Logger(f'LLM总参数量:{sum(p.numel() for p in model.parameters() if p.requires_grad) / 1e6:.3f} 百万')
+ model = model.to(args.device)
+ return model, tokenizer
+
+
+def init_distributed_mode():
+ if not ddp: return
+ global ddp_local_rank, DEVICE
+
+ dist.init_process_group(backend="nccl")
+ ddp_rank = int(os.environ["RANK"])
+ ddp_local_rank = int(os.environ["LOCAL_RANK"])
+ ddp_world_size = int(os.environ["WORLD_SIZE"])
+ DEVICE = f"cuda:{ddp_local_rank}"
+ torch.cuda.set_device(DEVICE)
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description="MiniMind Distill Reasoning")
+ parser.add_argument("--out_dir", type=str, default="out")
+ parser.add_argument("--epochs", type=int, default=1)
+ parser.add_argument("--batch_size", type=int, default=8)
+ parser.add_argument("--learning_rate", type=float, default=1e-6)
+ parser.add_argument("--device", type=str, default="cuda:0" if torch.cuda.is_available() else "cpu")
+ parser.add_argument("--dtype", type=str, default="bfloat16")
+ parser.add_argument("--use_wandb", action="store_true")
+ parser.add_argument("--wandb_project", type=str, default="MiniMind-Full-SFT")
+ parser.add_argument("--num_workers", type=int, default=1)
+ parser.add_argument("--ddp", action="store_true")
+ parser.add_argument("--accumulation_steps", type=int, default=1)
+ parser.add_argument("--grad_clip", type=float, default=1.0)
+ parser.add_argument("--warmup_iters", type=int, default=0)
+ parser.add_argument("--log_interval", type=int, default=1)
+ parser.add_argument("--save_interval", type=int, default=50)
+ parser.add_argument('--local_rank', type=int, default=-1)
+ parser.add_argument('--dim', default=768, type=int)
+ parser.add_argument('--n_layers', default=16, type=int)
+ parser.add_argument('--max_seq_len', default=768, type=int)
+ parser.add_argument('--use_moe', default=False, type=bool)
+ parser.add_argument("--data_path", type=str, default="./dataset/r1_768.jsonl")
+
+ args = parser.parse_args()
+
+ lm_config = LMConfig(dim=args.dim, n_layers=args.n_layers, max_seq_len=args.max_seq_len, use_moe=args.use_moe)
+ args.save_dir = os.path.join(args.out_dir)
+ os.makedirs(args.save_dir, exist_ok=True)
+ os.makedirs(args.out_dir, exist_ok=True)
+ tokens_per_iter = args.batch_size * lm_config.max_seq_len
+ torch.manual_seed(1337)
+ device_type = "cuda" if "cuda" in args.device else "cpu"
+
+ args.wandb_run_name = f"MiniMind-Distill-Reasoning-Epoch-{args.epochs}-BatchSize-{args.batch_size}-LearningRate-{args.learning_rate}"
+
+ ctx = nullcontext() if device_type == "cpu" else torch.cuda.amp.autocast()
+ ddp = int(os.environ.get("RANK", -1)) != -1 # is this a ddp run?
+ ddp_local_rank, DEVICE = 0, "cuda:0"
+ if ddp:
+ init_distributed_mode()
+ args.device = torch.device(DEVICE)
+
+ if args.use_wandb and (not ddp or ddp_local_rank == 0):
+ import wandb
+
+ wandb.init(project=args.wandb_project, name=args.wandb_run_name)
+ else:
+ wandb = None
+
+ model, tokenizer = init_model(lm_config)
+
+ train_ds = SFTDataset(args.data_path, tokenizer, max_length=lm_config.max_seq_len)
+ train_sampler = DistributedSampler(train_ds) if ddp else None
+ train_loader = DataLoader(
+ train_ds,
+ batch_size=args.batch_size,
+ pin_memory=True,
+ drop_last=False,
+ shuffle=False,
+ num_workers=args.num_workers,
+ sampler=train_sampler
+ )
+
+ scaler = torch.cuda.amp.GradScaler(enabled=(args.dtype in ['float16', 'bfloat16']))
+ optimizer = optim.AdamW(model.parameters(), lr=args.learning_rate)
+
+ if ddp:
+ model._ddp_params_and_buffers_to_ignore = {"pos_cis"}
+ model = DistributedDataParallel(model, device_ids=[ddp_local_rank])
+
+ iter_per_epoch = len(train_loader)
+ for epoch in range(args.epochs):
+ train_epoch(epoch, wandb)
diff --git a/train_distillation.py b/train_distillation.py
new file mode 100644
index 0000000..5f5f9f6
--- /dev/null
+++ b/train_distillation.py
@@ -0,0 +1,256 @@
+import os
+import argparse
+import time
+import math
+import warnings
+
+import pandas as pd
+import torch
+import torch.nn.functional as F
+import torch.distributed as dist
+from contextlib import nullcontext
+
+from torch import optim, nn
+from torch.nn.parallel import DistributedDataParallel
+from torch.utils.data import DataLoader, DistributedSampler
+from transformers import AutoTokenizer, AutoModelForCausalLM
+from model.model import MiniMindLM
+from model.LMConfig import LMConfig
+from model.dataset import SFTDataset
+
+warnings.filterwarnings('ignore')
+
+
+def Logger(content):
+ if not ddp or dist.get_rank() == 0:
+ print(content)
+
+
+def get_lr(current_step, total_steps, lr):
+ return lr / 10 + 0.5 * lr * (1 + math.cos(math.pi * current_step / total_steps))
+
+
+def distillation_loss_fn(student_logits, teacher_logits, temperature=1.0, reduction='batchmean'):
+ with torch.no_grad():
+ teacher_probs = F.softmax(teacher_logits / temperature, dim=-1).detach()
+
+ student_log_probs = F.log_softmax(student_logits / temperature, dim=-1)
+
+ kl = F.kl_div(
+ student_log_probs,
+ teacher_probs,
+ reduction=reduction
+ )
+ return (temperature ** 2) * kl
+
+
+def train_epoch(epoch, wandb, alpha=0.0, temperature=1.0):
+ start_time = time.time()
+
+ if teacher_model is not None:
+ teacher_model.eval()
+ teacher_model.requires_grad_(False)
+
+ for step, (X, Y, loss_mask) in enumerate(train_loader):
+ X = X.to(args.device)
+ Y = Y.to(args.device)
+ loss_mask = loss_mask.to(args.device)
+ lr = get_lr(epoch * iter_per_epoch + step,
+ args.epochs * iter_per_epoch,
+ args.learning_rate)
+ for param_group in optimizer.param_groups:
+ param_group['lr'] = lr
+
+ # 前向传播(学生模型)
+ with ctx:
+ res = model(X)
+ student_logits = res.logits
+
+ # 教师模型前向传播(只在eval & no_grad)
+ if teacher_model is not None:
+ with torch.no_grad():
+ teacher_logits = teacher_model(X).logits
+ vocab_size_student = student_logits.size(-1) # N
+ teacher_logits = teacher_logits[..., :vocab_size_student]
+
+ # ========== 计算损失 ==========
+ # 1) Ground-Truth CE Loss(可选)
+ loss_mask_flat = loss_mask.view(-1)
+ ce_loss = F.cross_entropy(
+ student_logits.view(-1, student_logits.size(-1)),
+ Y.view(-1),
+ ignore_index=0,
+ reduction='none'
+ )
+ ce_loss = torch.sum(ce_loss * loss_mask_flat) / loss_mask_flat.sum()
+ if lm_config_student.use_moe:
+ ce_loss += res.aux_loss
+
+ # 2) Distillation Loss(可选)
+ if teacher_model is not None:
+ # 只在有效token位置做蒸馏
+ distill_loss = distillation_loss_fn(
+ student_logits.view(-1, student_logits.size(-1))[loss_mask_flat == 1],
+ teacher_logits.view(-1, teacher_logits.size(-1))[loss_mask_flat == 1],
+ temperature=temperature
+ )
+ else:
+ distill_loss = torch.tensor(0.0, device=args.device)
+
+ # 3) 总损失 = alpha * CE + (1-alpha) * Distill
+ loss = alpha * ce_loss + (1 - alpha) * distill_loss
+
+ scaler.scale(loss).backward()
+
+ if (step + 1) % args.accumulation_steps == 0:
+ scaler.unscale_(optimizer)
+ torch.nn.utils.clip_grad_norm_(model.parameters(), args.grad_clip)
+ scaler.step(optimizer)
+ scaler.update()
+ optimizer.zero_grad(set_to_none=True)
+
+ if step % args.log_interval == 0:
+ spend_time = time.time() - start_time
+ Logger(
+ 'Epoch:[{}/{}]({}/{}) loss:{:.4f} lr:{:.12f} epoch_Time:{}min:'.format(
+ epoch,
+ args.epochs - 1,
+ step,
+ iter_per_epoch,
+ loss.item(),
+ optimizer.param_groups[-1]['lr'],
+ spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60
+ )
+ )
+
+ if (wandb is not None) and (not ddp or dist.get_rank() == 0):
+ wandb.log({
+ "loss": loss.item(),
+ "ce_loss": ce_loss.item(),
+ "distill_loss": distill_loss.item() if teacher_model is not None else 0.0,
+ "lr": optimizer.param_groups[-1]['lr'],
+ "last-time": spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60
+ })
+
+ if (step + 1) % args.save_interval == 0 and (not ddp or dist.get_rank() == 0):
+ model.eval()
+ moe_path = '_moe' if lm_config_student.use_moe else ''
+ ckp = f'{args.save_dir}/full_dist_{lm_config_student.dim}{moe_path}.pth'
+ if isinstance(model, torch.nn.parallel.DistributedDataParallel):
+ state_dict = model.module.state_dict()
+ else:
+ state_dict = model.state_dict()
+ torch.save(state_dict, ckp)
+ model.train()
+
+
+def init_student_model(lm_config):
+ tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer')
+ model = MiniMindLM(lm_config)
+ moe_path = '_moe' if lm_config.use_moe else ''
+ ckp = f'./out/full_sft_{lm_config.dim}{moe_path}.pth'
+ state_dict = torch.load(ckp, map_location=args.device)
+ model.load_state_dict(state_dict, strict=False)
+ Logger(f'学生模型(LLM)总参数量:{sum(p.numel() for p in model.parameters() if p.requires_grad) / 1e6:.3f} 百万')
+ model = model.to(args.device)
+
+ return model, tokenizer
+
+
+def init_teacher_model(lm_config):
+ model = MiniMindLM(lm_config)
+ moe_path = '_moe' if lm_config.use_moe else ''
+ ckp = f'./out/full_sft_{lm_config.dim}{moe_path}.pth'
+ state_dict = torch.load(ckp, map_location=args.device)
+ model.load_state_dict(state_dict, strict=False)
+ Logger(f'教师模型(LLM)总参数量:{sum(p.numel() for p in model.parameters() if p.requires_grad) / 1e6:.3f} 百万')
+ model = model.to(args.device)
+ return model
+
+
+def init_distributed_mode():
+ if not ddp: return
+ global ddp_local_rank, DEVICE
+
+ dist.init_process_group(backend="nccl")
+ ddp_rank = int(os.environ["RANK"])
+ ddp_local_rank = int(os.environ["LOCAL_RANK"])
+ ddp_world_size = int(os.environ["WORLD_SIZE"])
+ DEVICE = f"cuda:{ddp_local_rank}"
+ torch.cuda.set_device(DEVICE)
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description="MiniMind Full SFT")
+ parser.add_argument("--out_dir", type=str, default="out")
+ parser.add_argument("--epochs", type=int, default=6)
+ parser.add_argument("--batch_size", type=int, default=32)
+ parser.add_argument("--learning_rate", type=float, default=5e-6)
+ parser.add_argument("--device", type=str, default="cuda:0" if torch.cuda.is_available() else "cpu")
+ parser.add_argument("--dtype", type=str, default="bfloat16")
+ parser.add_argument("--use_wandb", action="store_true")
+ parser.add_argument("--wandb_project", type=str, default="MiniMind-Full-SFT")
+ parser.add_argument("--num_workers", type=int, default=1)
+ parser.add_argument("--ddp", action="store_true")
+ parser.add_argument("--accumulation_steps", type=int, default=1)
+ parser.add_argument("--grad_clip", type=float, default=1.0)
+ parser.add_argument("--warmup_iters", type=int, default=0)
+ parser.add_argument("--log_interval", type=int, default=100)
+ parser.add_argument("--save_interval", type=int, default=100)
+ parser.add_argument('--local_rank', type=int, default=-1)
+ parser.add_argument("--data_path", type=str, default="./dataset/sft_data.jsonl")
+
+ args = parser.parse_args()
+ # 定义学生模型和教师模型
+ lm_config_student = LMConfig(dim=512, n_layers=8, max_seq_len=512)
+ lm_config_teacher = LMConfig(dim=768, n_layers=16, max_seq_len=512)
+ max_seq_len = lm_config_student.max_seq_len
+ args.save_dir = os.path.join(args.out_dir)
+ os.makedirs(args.save_dir, exist_ok=True)
+ os.makedirs(args.out_dir, exist_ok=True)
+ tokens_per_iter = args.batch_size * max_seq_len
+ torch.manual_seed(1337)
+ device_type = "cuda" if "cuda" in args.device else "cpu"
+
+ args.wandb_run_name = f"MiniMind-Dist-SFT-Epoch-{args.epochs}-BatchSize-{args.batch_size}-LearningRate-{args.learning_rate}"
+
+ ctx = nullcontext() if device_type == "cpu" else torch.cuda.amp.autocast()
+ ddp = int(os.environ.get("RANK", -1)) != -1 # is this a ddp run?
+ ddp_local_rank, DEVICE = 0, "cuda:0"
+ if ddp:
+ init_distributed_mode()
+ args.device = torch.device(DEVICE)
+
+ if args.use_wandb and (not ddp or ddp_local_rank == 0):
+ import wandb
+
+ wandb.init(project=args.wandb_project, name=args.wandb_run_name)
+ else:
+ wandb = None
+
+ # 初始化学生模型和教师模型
+ model, tokenizer = init_student_model(lm_config_student)
+ teacher_model = init_teacher_model(lm_config_teacher)
+
+ train_ds = SFTDataset(args.data_path, tokenizer, max_length=max_seq_len)
+ train_sampler = DistributedSampler(train_ds) if ddp else None
+ train_loader = DataLoader(
+ train_ds,
+ batch_size=args.batch_size,
+ pin_memory=True,
+ drop_last=False,
+ shuffle=False,
+ num_workers=args.num_workers,
+ sampler=train_sampler
+ )
+
+ scaler = torch.cuda.amp.GradScaler(enabled=(args.dtype in ['float16', 'bfloat16']))
+ optimizer = optim.AdamW(model.parameters(), lr=args.learning_rate)
+
+ if ddp:
+ model._ddp_params_and_buffers_to_ignore = {"pos_cis"}
+ model = DistributedDataParallel(model, device_ids=[ddp_local_rank])
+
+ iter_per_epoch = len(train_loader)
+ for epoch in range(args.epochs):
+ train_epoch(epoch, wandb)
diff --git a/train_dpo.py b/train_dpo.py
new file mode 100644
index 0000000..2c857ff
--- /dev/null
+++ b/train_dpo.py
@@ -0,0 +1,239 @@
+import os
+import platform
+import argparse
+import time
+import math
+import warnings
+
+import pandas as pd
+import torch
+import torch.nn.functional as F
+import torch.distributed as dist
+from contextlib import nullcontext
+
+from torch import optim, nn
+from torch.nn.parallel import DistributedDataParallel
+from torch.utils.data import DataLoader, DistributedSampler
+from transformers import AutoTokenizer, AutoModelForCausalLM
+from model.model import MiniMindLM
+from model.LMConfig import LMConfig
+from model.dataset import DPODataset
+
+warnings.filterwarnings('ignore')
+
+
+def Logger(content):
+ if not ddp or dist.get_rank() == 0:
+ print(content)
+
+
+def get_lr(current_step, total_steps, lr):
+ return lr / 10 + 0.5 * lr * (1 + math.cos(math.pi * current_step / total_steps))
+
+
+def logits_to_probs(logits, labels):
+ # logits shape: (batch_size, seq_len, vocab_size)
+ # labels shape: (batch_size, seq_len)
+ # probs shape: (batch_size, seq_len)
+ log_probs = F.log_softmax(logits, dim=2)
+ probs = torch.gather(log_probs, dim=2, index=labels.unsqueeze(2)).squeeze(-1)
+ return probs
+
+
+def dpo_loss(ref_probs, probs, beta):
+ # ref_probs 和 probs 都是 shape: (batch_size, seq_len)
+ # 计算每个样本的平均概率
+ ref_probs = ref_probs.mean(dim=1)
+ probs = probs.mean(dim=1)
+
+ # 将 chosen 和 rejected 数据分开
+ batch_size = ref_probs.shape[0]
+ chosen_ref_probs = ref_probs[:batch_size // 2]
+ reject_ref_probs = ref_probs[batch_size // 2:]
+ chosen_probs = probs[:batch_size // 2]
+ reject_probs = probs[batch_size // 2:]
+
+ pi_logratios = chosen_probs - reject_probs
+ ref_logratios = chosen_ref_probs - reject_ref_probs
+ logits = pi_logratios - ref_logratios
+ loss = -F.logsigmoid(beta * logits)
+ return loss.mean()
+
+
+def train_epoch(epoch, wandb):
+ start_time = time.time()
+ for step, batch in enumerate(train_loader):
+ x_chosen = batch['x_chosen'].to(args.device)
+ x_rejected = batch['x_rejected'].to(args.device)
+ y_chosen = batch['y_chosen'].to(args.device)
+ y_rejected = batch['y_rejected'].to(args.device)
+ mask_chosen = batch['mask_chosen'].to(args.device)
+ mask_rejected = batch['mask_rejected'].to(args.device)
+ x = torch.cat([x_chosen, x_rejected], dim=0)
+ y = torch.cat([y_chosen, y_rejected], dim=0)
+ mask = torch.cat([mask_chosen, mask_rejected], dim=0)
+
+ lr = get_lr(epoch * iter_per_epoch + step, args.epochs * iter_per_epoch, args.learning_rate)
+ for param_group in optimizer.param_groups:
+ param_group['lr'] = lr
+
+ with ctx:
+ with torch.no_grad():
+ ref_outputs = ref_model(x)
+ ref_logits = ref_outputs.logits
+ ref_probs = logits_to_probs(ref_logits, y)
+ ref_probs = ref_probs * mask
+ outputs = model(x)
+ logits = outputs.logits
+ probs = logits_to_probs(logits, y)
+ probs = probs * mask
+ loss = dpo_loss(ref_probs, probs, beta=0.1)
+ loss = loss / args.accumulation_steps
+
+ scaler.scale(loss).backward()
+
+ if (step + 1) % args.accumulation_steps == 0:
+ scaler.unscale_(optimizer)
+ torch.nn.utils.clip_grad_norm_(model.parameters(), args.grad_clip)
+ scaler.step(optimizer)
+ scaler.update()
+ optimizer.zero_grad(set_to_none=True)
+
+ if step % args.log_interval == 0:
+ spend_time = time.time() - start_time
+ Logger(
+ 'Epoch:[{}/{}]({}/{}) loss:{:.3f} lr:{:.12f} epoch_Time:{}min:'.format(
+ epoch + 1,
+ args.epochs,
+ step,
+ iter_per_epoch,
+ loss.item(),
+ optimizer.param_groups[-1]['lr'],
+ spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60))
+
+ if (wandb is not None) and (not ddp or dist.get_rank() == 0):
+ wandb.log({"loss": loss,
+ "lr": optimizer.param_groups[-1]['lr'],
+ "epoch_Time": spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60})
+
+ if (step + 1) % args.save_interval == 0 and (not ddp or dist.get_rank() == 0):
+ model.eval()
+ moe_path = '_moe' if lm_config.use_moe else ''
+ ckp = f'{args.save_dir}/rlhf_{lm_config.dim}{moe_path}.pth'
+
+ if isinstance(model, torch.nn.parallel.DistributedDataParallel):
+ state_dict = model.module.state_dict()
+ else:
+ state_dict = model.state_dict()
+
+ torch.save(state_dict, ckp)
+ model.train()
+
+
+def init_model(lm_config):
+ tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer')
+ model = MiniMindLM(lm_config)
+ moe_path = '_moe' if lm_config.use_moe else ''
+ ckp = f'./out/full_dist_{lm_config.dim}{moe_path}.pth'
+ state_dict = torch.load(ckp, map_location=args.device)
+ model.load_state_dict(state_dict, strict=False)
+ # 初始化参考模型
+ ref_model = MiniMindLM(lm_config)
+ ref_model.load_state_dict(state_dict, strict=False)
+ ref_model.eval()
+ ref_model.requires_grad_(False)
+
+ Logger(f'LLM总参数量:{sum(p.numel() for p in model.parameters() if p.requires_grad) / 1e6:.3f} 百万')
+ model = model.to(args.device)
+ ref_model = ref_model.to(args.device)
+
+ return model, ref_model, tokenizer
+
+
+def init_distributed_mode():
+ if not ddp: return
+ global ddp_local_rank, DEVICE
+
+ dist.init_process_group(backend="nccl")
+ ddp_rank = int(os.environ["RANK"])
+ ddp_local_rank = int(os.environ["LOCAL_RANK"])
+ ddp_world_size = int(os.environ["WORLD_SIZE"])
+ DEVICE = f"cuda:{ddp_local_rank}"
+ torch.cuda.set_device(DEVICE)
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description="MiniMind RLHF")
+ parser.add_argument("--out_dir", type=str, default="out")
+ parser.add_argument("--epochs", type=int, default=2)
+ parser.add_argument("--batch_size", type=int, default=8)
+ # sft阶段学习率为 「5e-6」->「5e-7」长度512,建议离线正负样本「概率」偏好对齐阶段lr <=「1e-8」长度3000,否则很容易遗忘训坏
+ parser.add_argument("--learning_rate", type=float, default=1e-8)
+ parser.add_argument("--device", type=str, default="cuda:0" if torch.cuda.is_available() else "cpu")
+ parser.add_argument("--dtype", type=str, default="bfloat16")
+ parser.add_argument("--use_wandb", action="store_true")
+ parser.add_argument("--wandb_project", type=str, default="MiniMind-RLHF-SFT")
+ parser.add_argument("--num_workers", type=int, default=1)
+ parser.add_argument("--ddp", action="store_true")
+ parser.add_argument("--accumulation_steps", type=int, default=1)
+ parser.add_argument("--grad_clip", type=float, default=1.0)
+ parser.add_argument("--warmup_iters", type=int, default=0)
+ parser.add_argument("--log_interval", type=int, default=100)
+ parser.add_argument("--save_interval", type=int, default=100)
+ parser.add_argument('--local_rank', type=int, default=-1)
+ parser.add_argument('--dim', default=512, type=int)
+ parser.add_argument('--n_layers', default=8, type=int)
+ parser.add_argument('--max_seq_len', default=3000, type=int)
+ parser.add_argument('--use_moe', default=False, type=bool)
+ parser.add_argument("--data_path", type=str, default="./dataset/dpo.jsonl")
+
+ args = parser.parse_args()
+
+ lm_config = LMConfig(dim=args.dim, n_layers=args.n_layers, max_seq_len=args.max_seq_len, use_moe=args.use_moe)
+ args.save_dir = os.path.join(args.out_dir)
+ os.makedirs(args.save_dir, exist_ok=True)
+ os.makedirs(args.out_dir, exist_ok=True)
+ tokens_per_iter = args.batch_size * lm_config.max_seq_len
+ torch.manual_seed(1337)
+ device_type = "cuda" if "cuda" in args.device else "cpu"
+
+ args.wandb_run_name = f"MiniMind-Full-DPO-Epoch-{args.epochs}-BatchSize-{args.batch_size}-LearningRate-{args.learning_rate}"
+
+ ctx = nullcontext() if device_type == "cpu" else torch.cuda.amp.autocast()
+ ddp = int(os.environ.get("RANK", -1)) != -1 # is this a ddp run?
+ ddp_local_rank, DEVICE = 0, "cuda:0"
+ if ddp:
+ init_distributed_mode()
+ args.device = torch.device(DEVICE)
+
+ if args.use_wandb and (not ddp or ddp_local_rank == 0):
+ import wandb
+
+ wandb.init(project=args.wandb_project, name=args.wandb_run_name)
+ else:
+ wandb = None
+
+ model, ref_model, tokenizer = init_model(lm_config)
+
+ train_ds = DPODataset(args.data_path, tokenizer, max_length=lm_config.max_seq_len)
+ train_sampler = DistributedSampler(train_ds) if ddp else None
+ train_loader = DataLoader(
+ train_ds,
+ batch_size=args.batch_size,
+ pin_memory=True,
+ drop_last=False,
+ shuffle=False,
+ num_workers=args.num_workers,
+ sampler=train_sampler
+ )
+
+ scaler = torch.cuda.amp.GradScaler(enabled=(args.dtype in ['float16', 'bfloat16']))
+ optimizer = optim.AdamW(model.parameters(), lr=args.learning_rate)
+
+ if ddp:
+ model._ddp_params_and_buffers_to_ignore = {"pos_cis"}
+ model = DistributedDataParallel(model, device_ids=[ddp_local_rank])
+
+ iter_per_epoch = len(train_loader)
+ for epoch in range(args.epochs):
+ train_epoch(epoch, wandb)
diff --git a/train_full_sft.py b/train_full_sft.py
new file mode 100644
index 0000000..3c6242b
--- /dev/null
+++ b/train_full_sft.py
@@ -0,0 +1,195 @@
+import os
+import platform
+import argparse
+import time
+import math
+import warnings
+
+import pandas as pd
+import torch
+import torch.nn.functional as F
+import torch.distributed as dist
+from contextlib import nullcontext
+
+from torch import optim, nn
+from torch.nn.parallel import DistributedDataParallel
+from torch.utils.data import DataLoader, DistributedSampler
+from transformers import AutoTokenizer, AutoModelForCausalLM
+from model.model import MiniMindLM
+from model.LMConfig import LMConfig
+from model.dataset import SFTDataset
+
+warnings.filterwarnings('ignore')
+
+
+def Logger(content):
+ if not ddp or dist.get_rank() == 0:
+ print(content)
+
+
+def get_lr(current_step, total_steps, lr):
+ return lr / 10 + 0.5 * lr * (1 + math.cos(math.pi * current_step / total_steps))
+
+
+def train_epoch(epoch, wandb):
+ loss_fct = nn.CrossEntropyLoss(reduction='none')
+ start_time = time.time()
+ for step, (X, Y, loss_mask) in enumerate(train_loader):
+ X = X.to(args.device)
+ Y = Y.to(args.device)
+ loss_mask = loss_mask.to(args.device)
+ lr = get_lr(epoch * iter_per_epoch + step, args.epochs * iter_per_epoch, args.learning_rate)
+ for param_group in optimizer.param_groups:
+ param_group['lr'] = lr
+
+ with ctx:
+ res = model(X)
+ loss = loss_fct(
+ res.logits.view(-1, res.logits.size(-1)),
+ Y.view(-1)
+ ).view(Y.size())
+
+ loss = (loss * loss_mask).sum() / loss_mask.sum()
+ loss += res.aux_loss
+ loss = loss / args.accumulation_steps
+
+ scaler.scale(loss).backward()
+
+ if (step + 1) % args.accumulation_steps == 0:
+ scaler.unscale_(optimizer)
+ torch.nn.utils.clip_grad_norm_(model.parameters(), args.grad_clip)
+
+ scaler.step(optimizer)
+ scaler.update()
+
+ optimizer.zero_grad(set_to_none=True)
+
+ if step % args.log_interval == 0:
+ spend_time = time.time() - start_time
+ Logger(
+ 'Epoch:[{}/{}]({}/{}) loss:{:.3f} lr:{:.12f} epoch_Time:{}min:'.format(
+ epoch + 1,
+ args.epochs,
+ step,
+ iter_per_epoch,
+ loss.item(),
+ optimizer.param_groups[-1]['lr'],
+ spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60))
+
+ if (wandb is not None) and (not ddp or dist.get_rank() == 0):
+ wandb.log({"loss": loss,
+ "lr": optimizer.param_groups[-1]['lr'],
+ "epoch_Time": spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60})
+
+ if (step + 1) % args.save_interval == 0 and (not ddp or dist.get_rank() == 0):
+ model.eval()
+ moe_path = '_moe' if lm_config.use_moe else ''
+ ckp = f'{args.save_dir}/full_sft_{lm_config.dim}{moe_path}.pth'
+
+ if isinstance(model, torch.nn.parallel.DistributedDataParallel):
+ state_dict = model.module.state_dict()
+ else:
+ state_dict = model.state_dict()
+
+ torch.save(state_dict, ckp)
+ model.train()
+
+
+def init_model(lm_config):
+ tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer')
+ model = MiniMindLM(lm_config)
+ moe_path = '_moe' if lm_config.use_moe else ''
+ ckp = f'./out/pretrain_{lm_config.dim}{moe_path}.pth'
+ state_dict = torch.load(ckp, map_location=args.device)
+ model.load_state_dict(state_dict, strict=False)
+ Logger(f'LLM总参数量:{sum(p.numel() for p in model.parameters() if p.requires_grad) / 1e6:.3f} 百万')
+ model = model.to(args.device)
+ return model, tokenizer
+
+
+def init_distributed_mode():
+ if not ddp: return
+ global ddp_local_rank, DEVICE
+
+ dist.init_process_group(backend="nccl")
+ ddp_rank = int(os.environ["RANK"])
+ ddp_local_rank = int(os.environ["LOCAL_RANK"])
+ ddp_world_size = int(os.environ["WORLD_SIZE"])
+ DEVICE = f"cuda:{ddp_local_rank}"
+ torch.cuda.set_device(DEVICE)
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description="MiniMind Full SFT")
+ parser.add_argument("--out_dir", type=str, default="out")
+ parser.add_argument("--epochs", type=int, default=6)
+ parser.add_argument("--batch_size", type=int, default=128)
+ parser.add_argument("--learning_rate", type=float, default=5e-5)
+ parser.add_argument("--device", type=str, default="cuda:0" if torch.cuda.is_available() else "cpu")
+ parser.add_argument("--dtype", type=str, default="bfloat16")
+ parser.add_argument("--use_wandb", action="store_true")
+ parser.add_argument("--wandb_project", type=str, default="MiniMind-Full-SFT")
+ parser.add_argument("--num_workers", type=int, default=1)
+ parser.add_argument("--ddp", action="store_true")
+ parser.add_argument("--accumulation_steps", type=int, default=1)
+ parser.add_argument("--grad_clip", type=float, default=1.0)
+ parser.add_argument("--warmup_iters", type=int, default=0)
+ parser.add_argument("--log_interval", type=int, default=100)
+ parser.add_argument("--save_interval", type=int, default=100)
+ parser.add_argument('--local_rank', type=int, default=-1)
+ parser.add_argument('--dim', default=512, type=int)
+ parser.add_argument('--n_layers', default=8, type=int)
+ parser.add_argument('--max_seq_len', default=512, type=int)
+ parser.add_argument('--use_moe', default=False, type=bool)
+ parser.add_argument("--data_path", type=str, default="./dataset/sft_mini_512.jsonl")
+
+ args = parser.parse_args()
+
+ lm_config = LMConfig(dim=args.dim, n_layers=args.n_layers, max_seq_len=args.max_seq_len, use_moe=args.use_moe)
+ args.save_dir = os.path.join(args.out_dir)
+ os.makedirs(args.save_dir, exist_ok=True)
+ os.makedirs(args.out_dir, exist_ok=True)
+ tokens_per_iter = args.batch_size * lm_config.max_seq_len
+ torch.manual_seed(1337)
+ device_type = "cuda" if "cuda" in args.device else "cpu"
+
+ args.wandb_run_name = f"MiniMind-Full-SFT-Epoch-{args.epochs}-BatchSize-{args.batch_size}-LearningRate-{args.learning_rate}"
+
+ ctx = nullcontext() if device_type == "cpu" else torch.cuda.amp.autocast()
+ ddp = int(os.environ.get("RANK", -1)) != -1 # is this a ddp run?
+ ddp_local_rank, DEVICE = 0, "cuda:0"
+ if ddp:
+ init_distributed_mode()
+ args.device = torch.device(DEVICE)
+
+ if args.use_wandb and (not ddp or ddp_local_rank == 0):
+ import wandb
+
+ wandb.init(project=args.wandb_project, name=args.wandb_run_name)
+ else:
+ wandb = None
+
+ model, tokenizer = init_model(lm_config)
+
+ train_ds = SFTDataset(args.data_path, tokenizer, max_length=lm_config.max_seq_len)
+ train_sampler = DistributedSampler(train_ds) if ddp else None
+ train_loader = DataLoader(
+ train_ds,
+ batch_size=args.batch_size,
+ pin_memory=True,
+ drop_last=False,
+ shuffle=False,
+ num_workers=args.num_workers,
+ sampler=train_sampler
+ )
+
+ scaler = torch.cuda.amp.GradScaler(enabled=(args.dtype in ['float16', 'bfloat16']))
+ optimizer = optim.AdamW(model.parameters(), lr=args.learning_rate)
+
+ if ddp:
+ model._ddp_params_and_buffers_to_ignore = {"pos_cis"}
+ model = DistributedDataParallel(model, device_ids=[ddp_local_rank])
+
+ iter_per_epoch = len(train_loader)
+ for epoch in range(args.epochs):
+ train_epoch(epoch, wandb)
diff --git a/train_lora.py b/train_lora.py
new file mode 100644
index 0000000..2549cb5
--- /dev/null
+++ b/train_lora.py
@@ -0,0 +1,194 @@
+import os
+import platform
+import argparse
+import random
+import time
+import math
+import warnings
+import torch.distributed as dist
+from contextlib import nullcontext
+from torch.utils.data import DataLoader, DistributedSampler
+from transformers import AutoTokenizer, AutoModelForCausalLM
+from model.model import MiniMindLM
+from model.LMConfig import LMConfig
+from model.dataset import SFTDataset
+from model.model_lora import *
+
+warnings.filterwarnings('ignore')
+
+
+# Logger function
+def Logger(content):
+ if not ddp or dist.get_rank() == 0:
+ print(content)
+
+
+def get_lr(current_step, total_steps, lr):
+ return lr / 10 + 0.5 * lr * (1 + math.cos(math.pi * current_step / total_steps))
+
+
+# 代码和full_sft「几乎」一致
+def train_epoch(epoch, wandb):
+ loss_fct = nn.CrossEntropyLoss(reduction='none')
+ start_time = time.time()
+ for step, (X, Y, loss_mask) in enumerate(train_loader):
+ X = X.to(args.device)
+ Y = Y.to(args.device)
+ loss_mask = loss_mask.to(args.device)
+ lr = get_lr(epoch * iter_per_epoch + step, args.epochs * iter_per_epoch, args.learning_rate)
+ for param_group in optimizer.param_groups:
+ param_group['lr'] = lr
+
+ with ctx:
+ res = model(X)
+ loss = loss_fct(
+ res.logits.view(-1, res.logits.size(-1)),
+ Y.view(-1)
+ ).view(Y.size())
+ loss = (loss * loss_mask).sum() / loss_mask.sum()
+ loss += res.aux_loss
+ loss = loss / args.accumulation_steps
+
+ scaler.scale(loss).backward()
+
+ if (step + 1) % args.accumulation_steps == 0:
+ scaler.unscale_(optimizer)
+ torch.nn.utils.clip_grad_norm_(lora_params, args.grad_clip)
+
+ scaler.step(optimizer)
+ scaler.update()
+
+ optimizer.zero_grad(set_to_none=True)
+
+ if step % args.log_interval == 0:
+ spend_time = time.time() - start_time
+ Logger(
+ 'Epoch:[{}/{}]({}/{}) loss:{:.3f} lr:{:.12f} epoch_Time:{}min:'.format(
+ epoch + 1,
+ args.epochs,
+ step,
+ iter_per_epoch,
+ loss.item(),
+ optimizer.param_groups[-1]['lr'],
+ spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60))
+
+ if (wandb is not None) and (not ddp or dist.get_rank() == 0):
+ wandb.log({"loss": loss,
+ "lr": optimizer.param_groups[-1]['lr'],
+ "epoch_Time": spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60})
+
+ if (step + 1) % args.save_interval == 0 and (not ddp or dist.get_rank() == 0):
+ model.eval()
+ # 【区别1】只保存lora权重即可
+ save_lora(model, f'{args.save_dir}/lora/{args.lora_name}_{lm_config.dim}.pth')
+ model.train()
+
+
+def init_model(lm_config):
+ tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer')
+ model = MiniMindLM(lm_config)
+ moe_path = '_moe' if lm_config.use_moe else ''
+ ckp = f'./out/rlhf_{lm_config.dim}{moe_path}.pth'
+ state_dict = torch.load(ckp, map_location=args.device)
+ model.load_state_dict(state_dict, strict=False)
+ return model.to(args.device), tokenizer
+
+
+def init_distributed_mode():
+ if not ddp: return
+ global ddp_local_rank, DEVICE
+
+ dist.init_process_group(backend="nccl")
+ ddp_rank = int(os.environ["RANK"])
+ ddp_local_rank = int(os.environ["LOCAL_RANK"])
+ ddp_world_size = int(os.environ["WORLD_SIZE"])
+ DEVICE = f"cuda:{ddp_local_rank}"
+ torch.cuda.set_device(DEVICE)
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description="MiniMind SFT with LoRA")
+ parser.add_argument("--out_dir", type=str, default="out")
+ parser.add_argument("--epochs", type=int, default=50)
+ parser.add_argument("--batch_size", type=int, default=16)
+ parser.add_argument("--learning_rate", type=float, default=5e-5)
+ parser.add_argument("--device", type=str, default="cuda:0" if torch.cuda.is_available() else "cpu")
+ parser.add_argument("--dtype", type=str, default="bfloat16")
+ parser.add_argument("--use_wandb", action="store_true")
+ parser.add_argument("--wandb_project", type=str, default="MiniMind-LoRA-SFT")
+ parser.add_argument("--num_workers", type=int, default=1)
+ parser.add_argument("--ddp", action="store_true")
+ parser.add_argument("--accumulation_steps", type=int, default=1)
+ parser.add_argument("--grad_clip", type=float, default=1.0)
+ parser.add_argument("--warmup_iters", type=int, default=0)
+ parser.add_argument("--log_interval", type=int, default=100)
+ parser.add_argument("--save_interval", type=int, default=1)
+ parser.add_argument('--local_rank', type=int, default=-1)
+ parser.add_argument('--dim', default=512, type=int)
+ parser.add_argument('--n_layers', default=8, type=int)
+ parser.add_argument('--max_seq_len', default=512, type=int)
+ parser.add_argument('--use_moe', default=False, type=bool)
+ parser.add_argument("--data_path", type=str, default="./dataset/lora_identity.jsonl")
+ parser.add_argument("--lora_name", type=str, default="lora_identity", help="根据任务保存成lora_(英文/医学/心理...)")
+ args = parser.parse_args()
+
+ lm_config = LMConfig(dim=args.dim, n_layers=args.n_layers, max_seq_len=args.max_seq_len, use_moe=args.use_moe)
+ args.save_dir = os.path.join(args.out_dir)
+ os.makedirs(args.save_dir, exist_ok=True)
+ os.makedirs(args.out_dir, exist_ok=True)
+ tokens_per_iter = args.batch_size * lm_config.max_seq_len
+ torch.manual_seed(1337)
+ device_type = "cuda" if "cuda" in args.device else "cpu"
+
+ ctx = nullcontext() if device_type == "cpu" else torch.cuda.amp.autocast()
+ ddp = int(os.environ.get("RANK", -1)) != -1 # is this a ddp run?
+ ddp_local_rank, DEVICE = 0, "cuda:0"
+ if ddp:
+ init_distributed_mode()
+ args.device = torch.device(DEVICE)
+
+ args.wandb_run_name = f"MiniMind-Lora-SFT-Epoch-{args.epochs}-BatchSize-{args.batch_size}-LearningRate-{args.learning_rate}"
+ if args.use_wandb and (not ddp or ddp_local_rank == 0):
+ import wandb
+
+ wandb.init(project=args.wandb_project, name=args.wandb_run_name)
+ else:
+ wandb = None
+
+ model, tokenizer = init_model(lm_config)
+ apply_lora(model)
+
+ total_params = sum(p.numel() for p in model.parameters()) # 总参数数量
+ lora_params_count = sum(p.numel() for name, p in model.named_parameters() if 'lora' in name) # LoRA 参数数量
+ if not ddp or dist.get_rank() == 0:
+ print(f"LLM 总参数量: {total_params}")
+ print(f"LoRA 参数量: {lora_params_count}")
+ print(f"LoRA 参数占比: {lora_params_count / total_params * 100:.2f}%")
+
+ for name, param in model.named_parameters():
+ if 'lora' not in name:
+ param.requires_grad = False
+ lora_params = []
+ for name, param in model.named_parameters():
+ if 'lora' in name:
+ lora_params.append(param)
+
+ # 只对 LoRA 参数进行优化
+ optimizer = optim.AdamW(lora_params, lr=args.learning_rate)
+ train_ds = SFTDataset(args.data_path, tokenizer, max_length=lm_config.max_seq_len)
+ train_sampler = DistributedSampler(train_ds) if ddp else None
+ train_loader = DataLoader(
+ train_ds,
+ batch_size=args.batch_size,
+ pin_memory=True,
+ drop_last=False,
+ shuffle=False,
+ num_workers=args.num_workers,
+ sampler=train_sampler
+ )
+
+ scaler = torch.cuda.amp.GradScaler(enabled=(args.dtype in ['float16', 'bfloat16']))
+ iter_per_epoch = len(train_loader)
+
+ for epoch in range(args.epochs):
+ train_epoch(epoch, wandb)
diff --git a/train_pretrain.py b/train_pretrain.py
new file mode 100644
index 0000000..afd59ec
--- /dev/null
+++ b/train_pretrain.py
@@ -0,0 +1,192 @@
+import os
+import platform
+import argparse
+import time
+import math
+import warnings
+import pandas as pd
+import torch
+import torch.distributed as dist
+from torch import optim, nn
+from torch.nn.parallel import DistributedDataParallel
+from torch.optim.lr_scheduler import CosineAnnealingLR
+from torch.utils.data import DataLoader, DistributedSampler
+from contextlib import nullcontext
+
+from transformers import AutoTokenizer
+
+from model.model import MiniMindLM
+from model.LMConfig import LMConfig
+from model.dataset import PretrainDataset
+
+warnings.filterwarnings('ignore')
+
+
+def Logger(content):
+ if not ddp or dist.get_rank() == 0:
+ print(content)
+
+
+def get_lr(current_step, total_steps, lr):
+ return lr / 10 + 0.5 * lr * (1 + math.cos(math.pi * current_step / total_steps))
+
+
+def train_epoch(epoch, wandb):
+ loss_fct = nn.CrossEntropyLoss(reduction='none')
+ start_time = time.time()
+ for step, (X, Y, loss_mask) in enumerate(train_loader):
+ X = X.to(args.device)
+ Y = Y.to(args.device)
+ loss_mask = loss_mask.to(args.device)
+
+ lr = get_lr(epoch * iter_per_epoch + step, args.epochs * iter_per_epoch, args.learning_rate)
+ for param_group in optimizer.param_groups:
+ param_group['lr'] = lr
+
+ with ctx:
+ res = model(X)
+ loss = loss_fct(
+ res.logits.view(-1, res.logits.size(-1)),
+ Y.view(-1)
+ ).view(Y.size())
+ loss = (loss * loss_mask).sum() / loss_mask.sum()
+ loss += res.aux_loss
+ loss = loss / args.accumulation_steps
+
+ scaler.scale(loss).backward()
+
+ if (step + 1) % args.accumulation_steps == 0:
+ scaler.unscale_(optimizer)
+ torch.nn.utils.clip_grad_norm_(model.parameters(), args.grad_clip)
+
+ scaler.step(optimizer)
+ scaler.update()
+
+ optimizer.zero_grad(set_to_none=True)
+
+ if step % args.log_interval == 0:
+ spend_time = time.time() - start_time
+ Logger(
+ 'Epoch:[{}/{}]({}/{}) loss:{:.3f} lr:{:.12f} epoch_Time:{}min:'.format(
+ epoch + 1,
+ args.epochs,
+ step,
+ iter_per_epoch,
+ loss.item() * args.accumulation_steps,
+ optimizer.param_groups[-1]['lr'],
+ spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60))
+
+ if (wandb is not None) and (not ddp or dist.get_rank() == 0):
+ wandb.log({"loss": loss.item() * args.accumulation_steps,
+ "lr": optimizer.param_groups[-1]['lr'],
+ "epoch_Time": spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60})
+
+ if (step + 1) % args.save_interval == 0 and (not ddp or dist.get_rank() == 0):
+ model.eval()
+ moe_path = '_moe' if lm_config.use_moe else ''
+ ckp = f'{args.save_dir}/pretrain_{lm_config.dim}{moe_path}.pth'
+
+ if isinstance(model, torch.nn.parallel.DistributedDataParallel):
+ state_dict = model.module.state_dict()
+ else:
+ state_dict = model.state_dict()
+
+ torch.save(state_dict, ckp)
+ model.train()
+
+
+def init_model(lm_config):
+ tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer')
+ model = MiniMindLM(lm_config).to(args.device)
+ Logger(f'LLM总参数量:{sum(p.numel() for p in model.parameters() if p.requires_grad) / 1e6:.3f} 百万')
+ return model, tokenizer
+
+
+def init_distributed_mode():
+ if not ddp: return
+ global ddp_local_rank, DEVICE
+
+ dist.init_process_group(backend="nccl")
+ ddp_rank = int(os.environ["RANK"])
+ ddp_local_rank = int(os.environ["LOCAL_RANK"])
+ ddp_world_size = int(os.environ["WORLD_SIZE"])
+ DEVICE = f"cuda:{ddp_local_rank}"
+ torch.cuda.set_device(DEVICE)
+
+
+# torchrun --nproc_per_node 2 1-pretrain.py
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description="MiniMind Pretraining")
+ parser.add_argument("--out_dir", type=str, default="out")
+ # 若要以最快速度实现zero则epochs设置为1轮;否则应当利用有限的数据训练2~6个epochs。
+ parser.add_argument("--epochs", type=int, default=1)
+ parser.add_argument("--batch_size", type=int, default=128)
+ parser.add_argument("--learning_rate", type=float, default=5e-4)
+ parser.add_argument("--device", type=str, default="cuda:0" if torch.cuda.is_available() else "cpu")
+ parser.add_argument("--dtype", type=str, default="bfloat16")
+ parser.add_argument("--use_wandb", action="store_true")
+ parser.add_argument("--wandb_project", type=str, default="MiniMind-Pretrain")
+ parser.add_argument("--num_workers", type=int, default=1)
+ parser.add_argument("--ddp", action="store_true")
+ parser.add_argument("--accumulation_steps", type=int, default=8)
+ parser.add_argument("--grad_clip", type=float, default=1.0)
+ parser.add_argument("--warmup_iters", type=int, default=0)
+ parser.add_argument("--log_interval", type=int, default=100)
+ parser.add_argument("--save_interval", type=int, default=100)
+ parser.add_argument('--local_rank', type=int, default=-1)
+ parser.add_argument('--dim', default=512, type=int)
+ parser.add_argument('--n_layers', default=8, type=int)
+ parser.add_argument('--max_seq_len', default=512, type=int)
+ parser.add_argument('--use_moe', default=False, type=bool)
+ parser.add_argument("--data_path", type=str, default="./dataset/pretrain_hq.jsonl")
+ args = parser.parse_args()
+
+ lm_config = LMConfig(dim=args.dim, n_layers=args.n_layers, max_seq_len=args.max_seq_len, use_moe=args.use_moe)
+ args.save_dir = os.path.join(args.out_dir)
+ os.makedirs(args.save_dir, exist_ok=True)
+ os.makedirs(args.out_dir, exist_ok=True)
+ tokens_per_iter = args.batch_size * lm_config.max_seq_len
+ torch.manual_seed(1337)
+ device_type = "cuda" if "cuda" in args.device else "cpu"
+
+ args.wandb_run_name = f"MiniMind-Pretrain-Epoch-{args.epochs}-BatchSize-{args.batch_size}-LearningRate-{args.learning_rate}"
+
+ ctx = nullcontext() if device_type == "cpu" else torch.cuda.amp.autocast()
+
+ ddp = int(os.environ.get("RANK", -1)) != -1 # is this a ddp run?
+ ddp_local_rank, DEVICE = 0, "cuda:0"
+
+ if ddp:
+ init_distributed_mode()
+ args.device = torch.device(DEVICE)
+
+ if args.use_wandb and (not ddp or ddp_local_rank == 0):
+ import wandb
+
+ wandb.init(project=args.wandb_project, name=args.wandb_run_name)
+ else:
+ wandb = None
+
+ model, tokenizer = init_model(lm_config)
+ train_ds = PretrainDataset(args.data_path, tokenizer, max_length=lm_config.max_seq_len)
+ train_sampler = DistributedSampler(train_ds) if ddp else None
+ train_loader = DataLoader(
+ train_ds,
+ batch_size=args.batch_size,
+ pin_memory=True,
+ drop_last=False,
+ shuffle=False,
+ num_workers=args.num_workers,
+ sampler=train_sampler
+ )
+
+ scaler = torch.cuda.amp.GradScaler(enabled=(args.dtype in ['float16', 'bfloat16']))
+ optimizer = optim.AdamW(model.parameters(), lr=args.learning_rate)
+
+ if ddp:
+ model._ddp_params_and_buffers_to_ignore = {"pos_cis"}
+ model = DistributedDataParallel(model, device_ids=[ddp_local_rank])
+
+ iter_per_epoch = len(train_loader)
+ for epoch in range(args.epochs):
+ train_epoch(epoch, wandb)
diff --git a/中文逐行注释/1-pretrain.py b/中文逐行注释/1-pretrain.py
deleted file mode 100644
index ed70c4d..0000000
--- a/中文逐行注释/1-pretrain.py
+++ /dev/null
@@ -1,197 +0,0 @@
-import os
-import platform
-import time
-import math
-import warnings
-import torch
-import torch.distributed as dist
-from torch import optim
-from torch.nn.parallel import DistributedDataParallel
-from torch.optim.lr_scheduler import CosineAnnealingLR
-from torch.utils.data import DataLoader, DistributedSampler
-from contextlib import nullcontext
-from model.model import Transformer
-from model.LMConfig import LMConfig
-from model.dataset import PretrainDataset
-
-# 忽略警告信息
-warnings.filterwarnings('ignore')
-
-# 定义日志打印函数,仅在主进程(rank 0)打印日志信息
-def Logger(content):
- if not ddp or dist.get_rank() == 0:
- print(content)
-
-# 定义学习率调度函数,根据当前迭代次数计算学习率,采用余弦退火策略
-def get_lr(it, all):
- warmup_iters = 0 # 预热迭代次数
- lr_decay_iters = all # 学习率衰减的总迭代次数
- min_lr = learning_rate / 10 # 最小学习率
-
- # 如果当前迭代次数小于预热迭代次数,使用线性预热策略
- if it < warmup_iters:
- return learning_rate * it / warmup_iters
- # 如果当前迭代次数大于衰减迭代次数,返回最小学习率
- if it > lr_decay_iters:
- return min_lr
- # 计算衰减系数,使用余弦退火策略
- decay_ratio = (it - warmup_iters) / (lr_decay_iters - warmup_iters)
- assert 0 <= decay_ratio <= 1
- coeff = 0.5 * (1.0 + math.cos(math.pi * decay_ratio))
- return min_lr + coeff * (learning_rate - min_lr)
-
-# 定义训练 epoch 的函数
-def train_epoch(epoch, accumulation_steps=8):
- start_time = time.time() # 记录开始时间
- for step, (X, Y) in enumerate(train_loader): # 遍历数据加载器
- X = X.to(device) # 将输入数据移动到设备上
- Y = Y.to(device) # 将目标数据移动到设备上
-
- lr = get_lr(epoch * iter_per_epoch + step, epochs * iter_per_epoch) # 计算当前学习率
- for param_group in optimizer.param_groups:
- param_group['lr'] = lr # 设置优化器的学习率
-
- with ctx: # 使用混合精度训练(如果设备是 GPU)
- out = model(X, Y) # 前向传播,计算输出
- loss = out.last_loss / accumulation_steps # 计算损失,并进行梯度累积
-
- scaler.scale(loss).backward() # 反向传播,计算梯度
-
- # 每 accumulation_steps 步进行一次梯度更新
- if (step + 1) % accumulation_steps == 0:
- scaler.unscale_(optimizer) # 反缩放梯度
- torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) # 梯度裁剪
-
- scaler.step(optimizer) # 更新模型参数
- scaler.update() # 更新缩放器
-
- optimizer.zero_grad(set_to_none=True) # 清空梯度
-
- # 每 100 步打印一次训练信息
- if step % 100 == 0:
- spend_time = time.time() - start_time # 计算已用时间
- Logger(
- 'Epoch:[{}/{}]({}/{}) loss:{:.3f} lr:{:.7f} epoch_Time:{}min:'.format(
- epoch,
- epochs,
- step,
- iter_per_epoch,
- loss.item() * accumulation_steps,
- optimizer.param_groups[-1]['lr'],
- spend_time / (step + 1) * iter_per_epoch // 60 - spend_time // 60))
-
- # 每 1000 步保存一次模型
- if (step + 1) % 1000 == 0 and (not ddp or dist.get_rank() == 0):
- model.eval() # 切换到评估模式
- # torch.save(model.state_dict(), '{}/iter_{}.pth'.format(save_dir, int(step + epoch * iter_per_epoch)))
- moe_path = '_moe' if lm_config.use_moe else '' # 根据是否使用 MoE 设置保存路径
- ckp = f'{save_dir}/pretrain_{lm_config.dim}{moe_path}.pth'
-
- if isinstance(model, torch.nn.parallel.DistributedDataParallel):
- state_dict = model.module.state_dict() # 获取模型状态字典
- else:
- state_dict = model.state_dict()
-
- torch.save(state_dict, ckp) # 保存模型
- model.train() # 切换回训练模式
-
-# 定义初始化模型的函数
-def init_model():
- def count_parameters(model):
- return sum(p.numel() for p in model.parameters() if p.requires_grad) # 计算模型可训练参数的数量
-
- # 初始化模型
- model = Transformer(lm_config).to(device)
- moe_path = '_moe' if lm_config.use_moe else ''
- # ckp = f'{save_dir}/pretrain_{lm_config.dim}{moe_path}.pth'
- #
- # state_dict = torch.load(ckp, map_location=device)
- # unwanted_prefix = '_orig_mod.'
- # for k, v in list(state_dict.items()):
- # if k.startswith(unwanted_prefix):
- # state_dict[k[len(unwanted_prefix):]] = state_dict.pop(k)
- # model.load_state_dict(state_dict, strict=False)
-
- Logger(f'LLM总参数量:{count_parameters(model) / 1e6:.3f} 百万') # 打印模型总参数量
- return model
-
-# 定义初始化分布式训练环境的函数
-def init_distributed_mode():
- if not ddp: return
- global ddp_local_rank, DEVICE
-
- dist.init_process_group(backend="nccl") # 初始化分布式进程组,使用 NCCL 后端
- ddp_rank = int(os.environ["RANK"]) # 获取当前进程的 rank
- ddp_local_rank = int(os.environ["LOCAL_RANK"]) # 获取当前进程的本地 rank
- ddp_world_size = int(os.environ["WORLD_SIZE"]) # 获取分布式训练的总进程数
- DEVICE = f"cuda:{ddp_local_rank}" # 设置当前设备的 CUDA 设备
- torch.cuda.set_device(DEVICE) # 设置当前设备的 CUDA 设备
-
-
-# torchrun --nproc_per_node 2 1-pretrain.py
-# I/O
-if __name__ == "__main__":
- # -----------------------------------------------------------------------------
- lm_config = LMConfig() # 加载配置文件
- max_seq_len = lm_config.max_seq_len # 获取最大序列长度
- out_dir = 'out' # 设置输出目录
- epochs = 20 # 设置训练 epoch 数
- batch_size = 64 # 设置批量大小
- learning_rate = 2e-4 # 设置初始学习率
- device = 'cuda:0' # 设置设备为 CUDA:0
- dtype = 'bfloat16' # 设置数据类型为 bfloat16
- save_dir = os.path.join(out_dir) # 设置模型保存目录
- os.makedirs(save_dir, exist_ok=True) # 创建模型保存目录
- os.makedirs(out_dir, exist_ok=True) # 创建输出目录
- tokens_per_iter = batch_size * max_seq_len # 计算每个迭代处理的 token 数量
- torch.manual_seed(1337) # 设置随机种子
- device_type = device if "cuda" in device else "cpu" # 设置设备类型
- ctx = (
- nullcontext() # 如果设备是 CPU,使用 nullcontext
- if device_type == "cpu"
- else torch.cuda.amp.autocast() # 如果设备是 GPU,使用混合精度训练
- )
- ddp = int(os.environ.get("RANK", -1)) != -1 # 判断是否为分布式训练
- ddp_local_rank, DEVICE = 0, "cuda:0" # 初始化分布式训练的本地 rank 和设备
- if ddp:
- init_distributed_mode() # 初始化分布式训练环境
- device = torch.device(DEVICE) # 设置设备
- # -----------------------------------------------------------------------------
-
- # -----init dataloader------
- data_path_list = ['./dataset/pretrain_data.bin'] # 设置数据路径
- train_ds = PretrainDataset(data_path_list, max_length=max_seq_len, memmap=True) # 初始化数据集
- train_sampler = DistributedSampler(train_ds) if ddp else None # 如果是分布式训练,使用分布式采样器
- num_workers = 8 # 设置数据加载器的 num_workers
- train_loader = DataLoader(
- train_ds,
- batch_size=batch_size,
- pin_memory=True,
- drop_last=False,
- shuffle=False,
- num_workers=num_workers,
- sampler=train_sampler
- ) # 初始化数据加载器
-
- # init model
- model = init_model() # 初始化模型
-
- scaler = torch.cuda.amp.GradScaler(enabled=(dtype == dtype)) # 初始化梯度缩放器
- # optimizer
- optimizer = optim.Adam(model.parameters(), lr=learning_rate) # 初始化优化器
- # compile the model
- if False and platform.system() != 'Windows' and float(torch.__version__.split('.')[0]) >= 2:
- Logger("compiling the model... (takes a ~minute)")
- unoptimized_model = model
- model = torch.compile(model) # 编译模型(如果条件满足)
-
- if ddp:
- # Ignore the freqs_cis buffer so that DDP does not broadcast it at
- # construction time since NCCL does not support ComplexFloat
- model._ddp_params_and_buffers_to_ignore = {"pos_cis"} # 设置 DDP 忽略的参数和缓冲区
- model = DistributedDataParallel(model, device_ids=[ddp_local_rank]) # 使用 DDP 包装模型
-
- # training loop
- iter_per_epoch = len(train_loader) # 计算每个 epoch 的迭代次数
- for epoch in range(epochs): # 遍历每个 epoch
- train_epoch(epoch) # 训练一个 epoch
\ No newline at end of file
diff --git a/中文逐行注释/README.md b/中文逐行注释/README.md
deleted file mode 100644
index c2a1ad6..0000000
--- a/中文逐行注释/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-此目录对[minimind(截至2024-09-20版)](https://github.com/jingyaogong/minimind/tree/c28664dac8cc7eec83dcf6c03decc0ec40ded44d)
-重要的代码进行了逐行注释
-
-感谢[@chuanzhubin](https://github.com/chuanzhubin)贡献此部分内容
-
-很大程度方便了学习者快速理解
\ No newline at end of file
diff --git a/中文逐行注释/model/LMConfig.py b/中文逐行注释/model/LMConfig.py
deleted file mode 100644
index f216b48..0000000
--- a/中文逐行注释/model/LMConfig.py
+++ /dev/null
@@ -1,58 +0,0 @@
-from transformers import PretrainedConfig
-from typing import List
-
-# 定义 LMConfig 类,继承自 PretrainedConfig
-class LMConfig(PretrainedConfig):
- model_type = "minimind" # 设置模型类型为 "minimind"
-
- def __init__(
- self,
- dim: int = 512, # 模型维度,默认为 512
- n_layers: int = 8, # Transformer 层数,默认为 8
- n_heads: int = 16, # 注意力头数,默认为 16
- n_kv_heads: int = 8, # KV 头数,默认为 8
- vocab_size: int = 6400, # 词汇表大小,默认为 6400
- hidden_dim: int = None, # 隐藏层维度,默认为 None
- multiple_of: int = 64, # 隐藏层维度的倍数,默认为 64
- norm_eps: float = 1e-5, # 归一化层的 epsilon 值,默认为 1e-5
- max_seq_len: int = 512, # 最大序列长度,默认为 512
- dropout: float = 0.0, # Dropout 概率,默认为 0.0
- flash_attn: bool = True, # 是否使用 Flash Attention,默认为 True
- ####################################################
- # 以下是 MOE(Mixture of Experts)的特定配置
- # 当 use_moe 为 False 时,以下配置无效
- ####################################################
- use_moe: bool = False, # 是否使用 MOE,默认为 False
- num_experts_per_tok=2, # 每个 token 选择的专家数量,默认为 2
- n_routed_experts=4, # 总的专家数量,默认为 4
- n_shared_experts: bool = True, # 是否使用共享专家,默认为 True
- scoring_func='softmax', # 评分函数,默认为 'softmax'
- aux_loss_alpha=0.01, # 辅助损失的 alpha 参数,默认为 0.01
- seq_aux=True, # 是否在序列级别上计算辅助损失,默认为 True
- norm_topk_prob=True, # 是否标准化 top-k 概率,默认为 True
- **kwargs,
- ):
- self.dim = dim # 设置模型维度
- self.n_layers = n_layers # 设置 Transformer 层数
- self.n_heads = n_heads # 设置注意力头数
- self.n_kv_heads = n_kv_heads # 设置 KV 头数
- self.vocab_size = vocab_size # 设置词汇表大小
- self.hidden_dim = hidden_dim # 设置隐藏层维度
- self.multiple_of = multiple_of # 设置隐藏层维度的倍数
- self.norm_eps = norm_eps # 设置归一化层的 epsilon 值
- self.max_seq_len = max_seq_len # 设置最大序列长度
- self.dropout = dropout # 设置 Dropout 概率
- self.flash_attn = flash_attn # 设置是否使用 Flash Attention
- ####################################################
- # 以下是 MOE(Mixture of Experts)的特定配置
- # 当 use_moe 为 False 时,以下配置无效
- ####################################################
- self.use_moe = use_moe # 设置是否使用 MOE
- self.num_experts_per_tok = num_experts_per_tok # 设置每个 token 选择的专家数量
- self.n_routed_experts = n_routed_experts # 设置总的专家数量
- self.n_shared_experts = n_shared_experts # 设置是否使用共享专家
- self.scoring_func = scoring_func # 设置评分函数
- self.aux_loss_alpha = aux_loss_alpha # 设置辅助损失的 alpha 参数
- self.seq_aux = seq_aux # 设置是否在序列级别上计算辅助损失
- self.norm_topk_prob = norm_topk_prob # 设置是否标准化 top-k 概率
- super().__init__(**kwargs) # 调用父类 PretrainedConfig 的初始化方法
\ No newline at end of file
diff --git a/中文逐行注释/model/dataset.py b/中文逐行注释/model/dataset.py
deleted file mode 100644
index 82c9be8..0000000
--- a/中文逐行注释/model/dataset.py
+++ /dev/null
@@ -1,130 +0,0 @@
-import json
-import random
-import re
-
-import pandas as pd
-import numpy as np
-from torch.utils.data import Dataset, DataLoader
-import torch
-from sklearn.model_selection import train_test_split
-import os
-
-os.environ["TOKENIZERS_PARALLELISM"] = "false" # 禁用 tokenizer 的并行处理
-
-# 定义 PretrainDataset 类,继承自 Dataset
-class PretrainDataset(Dataset):
- def __init__(self, data_path_lst, max_length=512, memmap=False):
- super().__init__()
- # 如果使用内存映射(memmap)
- if memmap:
- with open(data_path_lst[0], 'r') as f:
- nbytes = f.seek(0, 2) # 获取文件总字节数
- flen = f.tell() // np.dtype('uint16').itemsize # 计算文件长度
- self.data = np.memmap(data_path_lst[0], dtype=np.dtype('uint16'), shape=(flen // max_length, max_length)) # 使用内存映射加载数据
- else:
- data_lst = []
- for data_path in data_path_lst:
- with open(data_path, 'rb') as f:
- data = np.fromfile(f, dtype=np.uint16) # 从文件中读取数据
- data_lst.append(data)
- data = np.concatenate(data_lst) # 合并所有数据
- data = data[:max_length * int(len(data) / max_length)] # 截取数据
- # np.random.shuffle(data) # 打乱数据(注释掉了)
- self.data = data.reshape(-1, max_length) # 将数据重塑为 (样本数, 最大长度) 的形状
- # 打印数据形状
- print("memmap:{} train data.shape:{}".format(memmap, self.data.shape))
- print("downloading finished.....")
-
- def __len__(self):
- return self.data.shape[0] # 返回数据集的长度
-
- def __getitem__(self, index: int):
- # 获取指定索引的样本
- sample = self.data[index]
- X = np.array(sample[:-1]).astype(np.int64) # 输入数据(去掉最后一个 token)
- Y = np.array(sample[1:]).astype(np.int64) # 目标数据(去掉第一个 token)
-
- return torch.from_numpy(X), torch.from_numpy(Y) # 返回 PyTorch 张量
-
-# 定义 SFTDataset 类,继承自 Dataset
-class SFTDataset(Dataset):
- def __init__(self, df, tokenizer, max_length=1024, prompt_max_len=512, answer_max_len=256):
- super().__init__()
- self.df = df # 数据框
- self.max_length = max_length # 最大序列长度
- self.prompt_max_len = prompt_max_len # 提示的最大长度
- self.answer_max_len = answer_max_len # 回答的最大长度
- #
- self.tokenizer = tokenizer # 分词器
- self.padding = 0 # 填充 token ID
- self.bos_id = self.tokenizer('assistant').data['input_ids'] # 开始 token ID
-
- def __len__(self):
- return self.df.shape[0] # 返回数据集的长度
-
- def find_sublist_index(self, main_list, sub_list) -> int:
- last_index = -1
- for i in range(len(main_list) - len(sub_list) + 1):
- if main_list[i:i + len(sub_list)] == sub_list:
- last_index = i
- return last_index # 查找子列表在主列表中的最后一个索引
-
- def safe_eval(self, s):
- try:
- res = eval(s)
- except Exception as e:
- return []
- return res # 安全地执行 eval 函数
-
- def __getitem__(self, index: int):
- # 获取指定索引的样本
- sample = self.df.iloc[index]
- history = self.safe_eval(sample['history']) # 获取历史对话
- q = str(sample['q']) # 获取问题
- a = str(sample['a']) # 获取回答
-
- messages = []
- for history_message in history:
- if len(history_message) <= 1:
- continue
- messages.append(
- {"role": 'user', "content": str(history_message[0])[:self.max_length // 2]}
- )
- messages.append(
- {"role": 'assistant', "content": str(history_message[1])[:self.max_length // 2]}
- )
-
- messages += [
- {"role": "user", "content": q},
- {"role": "assistant", "content": a},
- ]
- new_prompt = self.tokenizer.apply_chat_template(
- messages,
- tokenize=False,
- add_generation_prompt=True
- ) # 生成新的提示
- input_id = self.tokenizer(new_prompt).data['input_ids'][:self.max_length] # 分词并截取
-
- # 实际长度
- question_length = self.find_sublist_index(input_id, self.bos_id) + len(self.bos_id)
- # 没满最大长度的剩余部分
- padding_len = self.max_length - len(input_id)
- input_id = input_id + [self.padding] * padding_len # 填充到最大长度
- mask_len = len(input_id) - question_length - padding_len
- # 0表示不计算损失
- loss_mask = [0] * question_length + [1] * (mask_len) + [0] * padding_len
-
- input_id = np.array(input_id)
- X = np.array(input_id[:-1]).astype(np.int64) # 输入数据(去掉最后一个 token)
- Y = np.array(input_id[1:]).astype(np.int64) # 目标数据(去掉第一个 token)
- loss_mask = np.array(loss_mask[1:]).astype(np.int64) # 损失掩码
-
- X_tensor = torch.from_numpy(X)
- Y_tensor = torch.from_numpy(Y)
- loss_mask_tensor = torch.from_numpy(loss_mask)
-
- return X_tensor, Y_tensor, loss_mask_tensor # 返回 PyTorch 张量
-
-# 主函数
-if __name__ == "__main__":
- pass
\ No newline at end of file
diff --git a/中文逐行注释/model/minimind_tokenizer/merges.txt b/中文逐行注释/model/minimind_tokenizer/merges.txt
deleted file mode 100644
index 767c649..0000000
--- a/中文逐行注释/model/minimind_tokenizer/merges.txt
+++ /dev/null
@@ -1,6142 +0,0 @@
-#version: 0.2
-Ġ t
-Ġ a
-i n
-h e
-r e
-ï ¼
-ä ¸
-o n
-a t
-ç ļ
-çļ Ħ
-ï¼ Į
-Ġ s
-Ġ c
-n d
-ã Ģ
-e r
-Ġt he
-e s
-e n
-o r
-a n
-Ġa nd
-in g
-Ġ p
-i t
-a l
-ãĢ Ĥ
-Ġ o
-Ġ w
-ä »
-Ġt o
-i s
-o u
-Ġ m
-ä º
-Ġ in
-Ġ f
-Ġ b
-e d
-i on
-å ı
-i c
-Ġ d
-Ġo f
-l e
-a r
-r o
-Ġ Ġ
-å ħ
-en t
-æ ľ
-Ġ e
-å Ĵ
-è ¿
-ä ½
-åĴ Į
-æ Ī
-å ®
-å Ī
-v e
-u s
-Ġ re
-Ġ h
-Ġt h
-a s
-c t
-ç Ķ
-o m
-å ľ
-å ¤
-æ ĺ
-å Ĭ
-å IJ
-ä¸ Ģ
-i m
-è ¯
-æ ĸ
-at ion
-l o
-ç »
-Ġb e
-ãĢ ģ
-i d
-Ġc an
-i l
-æĺ ¯
-ä ¹
-è ®
-Ġ A
-Ġth at
-Ġ T
-ä» ¥
-c h
-Ġ y
-c e
-ï¼ ļ
-o t
-er s
-Ġ n
-é Ģ
-r a
-å °
-Ġ g
-Ġy ou
-å Ń
-Ġp ro
-e t
-å º
-åľ ¨
-l y
-Ġ is
-ä¸ ª
-Ġ l
-u r
-Ġf or
-åı ¯
-é ĩ
-s t
-çļĦ æ
-u t
-Ġ he
-i f
-ĥ ½
-ä ¼
-Ġ I
-è ¡
-i r
-it h
-å ¹
-Ġa re
-i g
-Ġs t
-e l
-o l
-å ¸
-u l
-æ Ŀ
-æĪ ij
-Ġ on
-è ¦
-æľ ī
-æ Ĺ
-å ¯
-è §
-è¦ ģ
-Ġ us
-a y
-æ ķ
-ç ī
-o w
-m ent
-çĶ ¨
-es s
-ä¸ Ń
-ä» ¬
-äº º
-å ĩ
-Ġe x
-ĠĠ ĠĠ
-å Ľ
-å Į
-å ¼
-Ġc on
-s e
-è ĥ½
-ç İ
-Ġa n
-Ġw ith
-ä¸ º
-at e
-i v
-a m
-Ġa s
-u re
-è¿ Ļ
-å Ĩ
-ç Ń
-Ġ or
-å ·
-Ġa l
-i es
-ç §
-Ġ im
-æ Ģ
-v er
-a b
-äº Ĩ
-Ġs u
-Ġd e
-g e
-t h
-åı¯ 以
-è Ģ
-ä¸ į
-å ¾
-ĠA I
-Ġ en
-é Ĺ
-æ ī
-a k
-i ve
-Ġm o
-å ¥
-é Ŀ
-ç Ľ
-it y
-ä ¿
-u n
-è ´
-å į
-Ġ it
-Ġim p
-e ct
-æ ł
-å ½
-è ĩ
-é ¢
-å ĵ
-æ ³
-or t
-a d
-æ ŀ
-e m
-Ġc om
-å ¦
-he r
-e re
-Ġ S
-i al
-Ġ C
-ĠT he
-ç IJ
-çĶ Ł
-æ Ħ
-p p
-æ Ń
-æĸ ¹
-q u
-Ġw h
-å¦ Ĥ
-é ľ
-an t
-Ġ le
-Ġ v
-æ ĭ
-æ Ĭ
-us t
-æĹ ¶
-çŃ ī
-å ij
-å¯ ¹
-t er
-l d
-è¡ Į
-Ġc h
-u d
-éľ Ģ
-æ °
-æĪ IJ
-Ġ |
-a c
-a in
-i z
-æ ı
-ion s
-Ġh a
-æ Ľ
-- -
-æĿ ¥
-om e
-å ¿
-' s
-Ġn e
-es t
-ä ¾
-u m
-åĪ °
-åľ °
-is t
-â Ģ
-çī ©
-ä¸Ģ 个
-l p
-æ İ
-èĩ ª
-Ġhe lp
-Ġthe ir
-æ Ķ
-ä½ ľ
-ä¼ ļ
-æ Į
-æĪij 们
-n t
-äº İ
-åĪ Ĩ
-re s
-p e
-åĩ º
-id e
-æ ĥ
-Ġ H
-è ¾
-Ġ M
-f f
-æ ¯
-o d
-ic al
-Ġw or
-ä¸ Ĭ
-a re
-æĽ ´
-Ġyou r
-ä¸ ĭ
-è µ
-ation s
-æķ °
-Ġt e
-å İ
-çIJ Ĩ
-ĠT h
-è¿ ĩ
-å¹ ¶
-d u
-éĿ ¢
-Ġa d
-il l
-æ µ
-å¥ ½
-o c
-a ct
-éľĢ è¦ģ
-ä» ĸ
-å ±
-Ġ r
-Ġmo re
-åŃ ¦
-ç ®
-ig h
-äº Ľ
-Ġ B
-åĬ ¨
-åĵ ģ
-è ī
-p le
-Ġin c
-åIJ Į
-Ġex p
-ou ld
-ä½ ł
-æ į
-æı IJ
-å¤ §
-çİ °
-p t
-Ġ P
-al l
-åĬ ł
-ç§ į
-Ġs e
-åĬ Ľ
-ou t
-Ġha ve
-ç º
-ä½ ĵ
-Ġpro v
-åĮ ĸ
-å¤ ļ
-å® ļ
-Ġus ed
-éĢ ļ
-c c
-è¿ Ľ
-æ ´
-Ġs h
-Ġa b
-o s
-Ġre s
-ĠTh is
-ç ¨
-æĢ §
-a ge
-r i
-æ ¸
-ab le
-åŃ IJ
-Ġb y
-åı ij
-éĩ ı
-åº Ķ
-Ġ lo
-ä½ ¿
-åħ ¶
-é «
-é Ļ
-é« ĺ
-åº ¦
-è§ £
-é £
-å° Ĩ
-æ³ ķ
-a nd
-ä¿ Ŀ
-an s
-f or
-ro m
-re at
-Ġp l
-çļĦ ç
-å¸ ¸
-è ½
-Ġw e
-è¡ ¨
-ak e
-æĪ ĸ
-é¢ ĺ
-å Ł
-Ġm e
-æĸ ĩ
-t her
-k e
-å® ¶
-åIJ Ī
-æľ Ģ
-in e
-Ġs ome
-ç ±
-éĩ į
-æŀ ľ
-Ġ W
-Ġ E
-é ĺ
-ou r
-r ou
-ç Ĥ
-æ ±
-åħ ³
-Ġin t
-an ce
-ä¹ Ł
-é ģ
-ĠĠ Ġ
-å® ĥ
-a g
-æ ¬
-0 0
-è °
-ul t
-y st
-éĹ ´
-ç ³
-Ġt r
-p l
-ar t
-æĦ Ł
-æ Ĥ
-at a
-Ġ F
-for m
-è® ¡
-Ġf rom
-Ġ D
-éĹ ®
-igh t
-c es
-æį ®
-lo p
-ä¹ ĭ
-Ġf e
-å ģ
-ve lop
-Ġ 1
-åĽ ł
-k s
-æ ²
-Ġ u
-å° ı
-yst em
-Ġd is
-Ġ R
-g y
-å· ¥
-ç¨ ĭ
-å ¢
-en ce
-è Ĥ
-ç ¡
-Ġt ra
-å »
-åħ ¥
-ig n
-al th
-Ġsu ch
-a ch
-æ Ļ
-ar n
-Ġd ata
-è ¶
-å® ŀ
-s o
-Ġde velop
-ç ¤
-Ġa cc
-as t
-èĢ Į
-Ġ "
-Ġo ther
-å» º
-Ġe ff
-ç «
-Ġm an
-åħ ¬
-å Ģ
-ç Ħ
-m s
-å¼ ı
-èī ²
-å¾ Ĺ
-if ic
-Ġ j
-Ġ ro
-Ġh as
-ch n
-o lo
-åĪ ¶
-è Ĭ
-使 ç͍
-ou s
-u al
-Ġa t
-Ġe m
-el l
-Ġs ystem
-Ġhe alth
-it ies
-Ġex am
-i b
-é Ķ
-Ġab out
-äº §
-åIJ İ
-æĦ ı
-ç± »
-Ġp re
-æĤ ¨
-Ġal so
-ent s
-Ġin d
-in d
-éĢ Ĥ
-Ġte chn
-res s
-æĥ ħ
-éĹ® é¢ĺ
-Ġus e
-ï¼ Ł
-Ġinc l
-Ġs pe
-ic h
-p s
-æľ º
-Ġthe y
-i e
-Ġh ow
-Ġwor k
-ä¸ ļ
-ç ´
-Ġimp ro
-Ġle arn
-æĸ °
-çĤ ¹
-Ġcon t
-ar d
-çĦ ¶
-æľ ¬
-ç³ »
-ç¡ ®
-è® ¾
-åħ ·
-éĢ ī
-èĢ ħ
-é ħ
-g h
-_ _
-Ġn ot
-ç ľ
-çĽ ¸
-Ġprov ide
-å ī
-ion al
-Ġen s
-ä¸ İ
-è´ ¨
-ent ial
-ç» ı
-å¿ ĥ
-an g
-æŃ ¤
-e nd
-Ġp o
-è¿Ľ è¡Į
-ic e
-Ġ -
-Ġw ay
-å· ±
-Ġ 2
-im e
-ç ½
-èĩª å·±
-Ġ un
-b ot
-Ġincl ud
-at ed
-æ° ´
-é ķ
-æĮ ģ
-ä» £
-é ¡
-æī Ģ
-ç Ŀ
-pp ort
-o od
-i ke
-r u
-Ġcom m
-Ġ L
-ä¿ ¡
-Ġ G
-ç Ł
-çĶ µ
-Ġw as
-lo w
-er v
-åĮ ħ
-ĠĠĠĠ ĠĠĠĠ
-Ġw he
-d it
-Ġwh ich
-Ġcom p
-é ª
-o re
-ç ¾
-Ġ =
-çī ¹
-if f
-er t
-æ ģ
-r it
-Ġre c
-åĨ ħ
-æĺ İ
-or s
-Ġp at
--- --
-æ Ł
-Ġa pp
-n s
-åĬ ¡
-al y
-a ce
-æ´ »
-ä¾ Ľ
-a v
-ä¸ »
-Ġp ers
-ç ĥ
-è¯ ¥
-Ġm y
-ç ©
-er i
-è® ©
-æĬ Ģ
-éķ ¿
-ac k
-Ġ N
-Ġd iff
-Ġth is
-å Ŀ
-Ġens ure
-å½ ĵ
-Ġo ut
-Ġc l
-Ġ k
-é ¦
-ou nt
-çİ ¯
-åĬ ©
-Ġtechn olo
-Ġthe se
-f ul
-é ļ
-æ ·
-ä¸Ģ äºĽ
-Ġs oc
-å¼ Ģ
-å¤ ©
-Ġe v
-Ġre du
-Ġthe m
-Ġ (
-é ĥ½
-æĪ ·
-è ·
-åľ º
-æ° Ķ
-Ġ Y
-è¯ Ń
-éĢļ è¿ĩ
-å± ķ
-Ġc o
-å½ ±
-ç ¬
-Ġan aly
-æ¯ Ķ
-åħ ¨
-Ġimpro ve
-ç» ĵ
-å¹ ´
-ç ķ
-çĿ Ģ
-Ġh um
-Ġ qu
-ç® Ĺ
-Ġ O
-é£ Ł
-il ity
-Ġsystem s
-åı ĺ
-a il
-ç ¼
-ç ł
-è¿Ļ 个
-æıIJ ä¾Ľ
-as e
-å ŀ
-ment s
-Ġp ot
-Ġan y
-ä½ Ĩ
-Ġcon s
-ĠI t
-æł ¼
-Ġa r
-æľ ¯
-éĿ ŀ
-Ġd o
-Ġm ay
-æĭ ©
-u e
-éĢī æĭ©
-r y
-é ĥ
-Ġl ike
-on g
-è ģ
-` `
-i le
-æ± Ĥ
-Ġne w
-i ent
-Ġimp act
-è¿ ĺ
-æ³ ¨
-ä¹ Ī
-çĽ ®
-âĢ ľ
-âĢ Ŀ
-e f
-ä¾ ĭ
-Ġpot ential
-o k
-åı¯ èĥ½
-Ġtr ans
-Ġa ct
-ï¼ ī
-Ġspe c
-æ ¶
-Ġw ill
-äº ¤
-iz e
-ç¾ İ
-å¸ Ĥ
-Ġst ud
-p on
-è º
-ä¸į åIJĮ
-on e
-å¾ Ī
-åı Ĭ
-å¦Ĥ æŀľ
-çIJ ĥ
-an ge
-Ġne ed
-å¤ ĸ
-et y
-ak ing
-è¯ ·
-at er
-Ġpers on
-id ent
-Ġs o
-Ġm ake
-å¹ ³
-å¤ Ł
-èº «
-ï¼ Ī
-Ġin form
-æ ¡
-äº ĭ
-åı Ĺ
-as ed
-il d
-Ġof f
-Ġthe re
-c is
-è ¢
-éĥ ¨
-æ¯ ı
-ra ct
-as s
-Ġlearn ing
-å ĸ
-å½ ¢
-i re
-ä» İ
-bot s
-è Ļ
-å¸ ®
-Ġd es
-ĠI n
-c ess
-Ġp e
-if y
-Ġwh o
-ä¹ ł
-æľ Ł
-Ġexp eri
-é Ĥ
-Ġs c
-e p
-ä½ ķ
-Ġt ime
-éĿŀ 常
-æĭ ¬
-å ķ
-以 ä¸ĭ
-éģ ĵ
-Ġcomm un
-Ġc ould
-a p
-è IJ
-è° ĥ
-l ic
-du ct
-Ġit s
-c y
-è¯ ´
-Ġm ed
-Ġc ol
-ul ar
-éĩį è¦ģ
-Ġs p
-åĪ ©
-èµ ·
-Ġprov id
-ic es
-å Ļ
-æĸ Ļ
-Ġimp ort
-ur al
-åŃ Ĺ
-Ġu nd
-in t
-Ġo ver
-åı ¸
-æł ¹
-é ¥
-pl es
-ä»ĸ 们
-g ra
-ur ing
-n ow
-åį ķ
-è¿Ļ äºĽ
-åī į
-å® ī
-Ġp r
-åĮħ æĭ¬
-ç» Ļ
-T he
-ä½ į
-å §
-ç´ ł
-åij ĺ
-Ġ ident
-åŀ ĭ
-Ġad d
-å¼ º
-æĺ¯ ä¸Ģ
-i p
-g or
-Ġsu pport
-n e
-Ġdiff ere
-åħ ĥ
-Ġas s
-åĨ ³
-é Ľ
-åIJ į
-Ġg o
-Ġtechnolo gy
-æĢ »
-è® ®
-Ġin ter
-Ġin v
-Ġo ur
-æķ Ī
-ust om
-Ġre l
-if e
-åĻ ¨
-ing s
-ä» ·
-Ġp art
-è¢ «
-æī ĭ
-ar y
-Ġres pon
-Ċ ĠĠĠ
-好 çļĦ
-at ive
-帮 åĬ©
-ç» Ł
-æĶ ¾
-ĠH ere
-ç ģ
-Ġb ut
-æģ ¯
-æŃ £
-ar k
-åħ¬ åı¸
-or y
-å¢ ĥ
-le ct
-é Ł
-æĥ ³
-é£ İ
-at ing
-Ġa m
-it s
-æ »
-gor ith
-åĵ į
-ure s
-Ġeff ect
-Ġsh ould
-Ġp er
-è ±
-ç ²
-ic t
-Ġal gorith
-u c
-rou gh
-ä» »
-ä» ¶
-Ġbe t
-i a
-Ġanaly z
-æł¹ æį®
-iz ed
-æµ ģ
-è§ Ĥ
-è £
-æł ĩ
-ir on
-Ġc ustom
-Ġre g
-Ġperson al
-èĥ½ å¤Ł
-ic s
-iv id
-ç Ī
-èµ Ħ
-æŃ ¥
-å® ¹
-åĪ Ľ
-è Ī
-ä¹ IJ
-å¯ ¼
-g an
-èĬ Ĥ
-Ġal l
-en s
-am e
-n ess
-Ġu p
-Ġ U
-èĢ ĥ
-el f
-åĢ ¼
-å° ij
-æľ į
-ar i
-th ical
-v iron
-è ĥ
-or d
-Ġs ign
-éĩ Į
-ou nd
-o ple
-åŁ º
-Ġinform ation
-Ġident ify
-åĽ ŀ
-Ġc re
-éŁ ³
-ib le
-u b
-è¿ IJ
-Ġle ad
-æ¸ ¸
-æ¬ ¡
-åĨ Ļ
-éĤ £
-g et
-è į
-Ġexam ple
-ä¼ ĺ
-å½± åĵį
-is h
-x t
-æ º
-éª Į
-o b
-å® ¢
-å¤ ĩ
-åģ ¥
-è½ ¦
-ç¤ ¾
-ivid ual
-ere d
-l es
-Ġen viron
-Ġpe ople
-æĺ Ł
-ç ĸ
-ç ĭ
-Ġd et
-æĹ ł
-Ġ if
-o se
-it e
-å¢ ŀ
-é Ĵ
-åIJĮ æĹ¶
-è¿ °
-æĸ¹ å¼ı
-åĽ ½
-é »
-å¤ Ħ
-Ġexam ples
-æ ®
-Ġint o
-æĮ ĩ
-Ġhum an
-åIJ ij
-ç¤ º
-æķ° æį®
-Ġ 3
-Ġ J
-è ı
-çݯ å¢ĥ
-al s
-ers t
-Ġe thical
-ç» Ħ
-ä¼ ł
-Ġdiffere nt
-Ġk now
-åº ı
-Ġind ividual
-æıIJ é«ĺ
-rou nd
-å° ±
-åı ĸ
-åŃ ĺ
-ä¸ ¤
-çŁ ¥
-our ces
-c k
-å £
-in es
-è¾ ¾
-Ġman y
-æķ ´
-æł ·
-dit ional
-om m
-çĶ ±
-éĢ ł
-å®ĥ 们
-u es
-Ġm ent
-Ġimport ant
-Ġo pt
-Ġlo c
-p h
-Ġpro cess
-Ġalgorith ms
-设 计
-Ġsoc ial
-ver y
-åĪ Ļ
-ä¾ĭ å¦Ĥ
-è® ¤
-Ġa ut
-Ġs erv
-g g
-产 åĵģ
-è§ Ħ
-çľ ĭ
-ve l
-æĸ¹ æ³ķ
-Ġb en
-åĽł æŃ¤
-c are
-p er
-åĬ Ł
-建 议
-Ġp os
-æ ¤
-w e
-åĮ º
-i qu
-Ġre al
-æĹ ¥
-Ġredu ce
-a f
-ang u
-Ġs k
-Ġ ed
-erst and
-åĨ µ
-m ot
-åħ Ī
-ç ¥
-åºĶ 该
-Ġth rough
-Ġcon c
-åıij å±ķ
-è¯ ķ
-æ¡ Ī
-Ġenviron ment
-åı £
-Ġad v
-åĪ «
-Ġben ef
-æ¸ ħ
-åij ³
-åħ ī
-Ġdevelop ment
-en g
-å¦Ĥ ä½ķ
-ç® ¡
-iv ers
-åIJ Ħ
-Ġr is
-ro w
-er gy
-计 ç®Ĺ
-ä¿¡ æģ¯
-Ġpro duct
-è¾ ĥ
-è® º
-èĩªå·± çļĦ
-æĬ ¤
-åı į
-åħ¶ ä»ĸ
-åĪ Ĺ
-ç» Ĩ
-ç© º
-Ġg reat
-e ar
-æº IJ
-j ect
-çĶŁ æ´»
-ä¸Ń çļĦ
-Ġund erstand
-è ĭ
-h at
-Ġpro gra
-ç Ĭ
-éĩ ij
-Ġinclud ing
-Ġacc ess
-ĠĠĠĠ ĠĠĠ
-è¯ Ĩ
-ç ¦
-o g
-è£ ħ
-Ġar t
-Ġw rit
-Ġinc re
-Ġp h
-æĸ¹ éĿ¢
-Ġp ract
-Ġus ing
-é¡ ¹
-æİ ¥
-Ġway s
-Ġl angu
-æĶ ¯
-Ġch all
-åİ »
-__ __
-im ate
-æĸ Ń
-è ¨
-Ġw ell
-l l
-Ġp ol
-æĢ ģ
-Ġ ra
-C an
-åİ Ł
-b er
-è¨ Ģ
-ç« ĭ
-Ġg en
-éħ į
-æ· ±
-t e
-ä¸ ī
-ç§ ij
-ĠF or
-çº ¿
-ç ħ
-æ ¼
-åķ Ĩ
-æĿ IJ
-Ġsign ific
-Ġg u
-Ġde cis
-Ġtra in
-Ġa g
-Ġc reat
-å® Į
-æĹ¶ éĹ´
-Ġon e
-è Ħ
-Ġn at
-åѦ ä¹ł
-çļĦæ ķ
-c ed
-Ġwhe n
-Ġb i
-è İ
-æĽ´ åĬł
-iv es
-p ort
-å·¥ ä½ľ
-v ing
-Ġbe en
-æĻ º
-Ġl ife
-å¼ ķ
-ar m
-çİ ĩ
-ç͍ æĪ·
-ä¹ ī
-ä» ½
-è¯ Ŀ
-in ess
-c om
-åº ·
-åĩ ı
-ä» Ģ
-è¾ ĵ
-Ġv ari
-c on
-Ġmo d
-ä»Ģ ä¹Ī
-Ġen ergy
-æĬĢ æľ¯
-ert ain
-m m
-ver all
-åĪ Ĵ
-Ġro bots
-Ġor gan
-æİ ¨
-ant s
-åĩ Ĩ
-d s
-æŀ ģ
-ç Ļ
-Ġre qu
-Ġ ess
-ç® Ģ
-ust ain
-æ ¨
-Ġst r
-c ing
-ab ility
-re e
-Ġed uc
-åİ Ĩ
-Ġcre ate
-åģ¥ åº·
-Ġdes ign
-i ps
-åģ ļ
-èĬ ±
-in k
-èı ľ
-æī ¾
-æ® µ
-æµ ĭ
-Ġ V
-ĠB y
-å Ķ
-é¦ ĸ
-è¯ į
-Ġwhe re
-Ġdis c
-äºĨ è§£
-r ic
-ä¸ Ķ
-è¶ ³
-æĺ¯ ä¸Ģ个
-ar ch
-ç§ ¯
-å¸ ¦
-Ġwh ile
-Ġsignific ant
-çł ģ
-æĪ ¿
-Ġbe ing
-Ġlangu age
-it ive
-2 0
-Ġanalyz e
-æĻ ¯
-è Į
-ri b
-æ¨ ¡
-ĠS t
-è´ ¹
-' t
-Ġhealth care
-Ġexperi ence
-Ġ 5
-个 人
-ay s
-è± ¡
-p lo
-Ġw ould
-èĻ ij
-æĶ ¶
-é¢ Ħ
-é¢ Ĩ
-ä¿Ŀ æĮģ
-en ces
-åı ª
-èĩ ´
-æĪ ı
-Ġment al
-Ġfe w
-at es
-è¿ĩ ç¨ĭ
-å®ī åħ¨
-Ġs ustain
-Ġw ere
-å¤ ª
-ç Į
-Ġspec ific
-Ġwor ld
-çŃ Ķ
-`` `
-Ġt ake
-åħ »
-éĢ Ł
-e ver
-S S
-éĶ Ģ
-Ġb o
-he s
-Ġm us
-æľį åĬ¡
-è§ Ĵ
-t en
-æŀ IJ
-p ow
-d ict
-v ent
-1 0
-çļĦæ Ĺ
-ĸ çķ
-Ġpro t
-ç½ ®
-Ġh igh
-Ġb us
-Ġind ust
-åIJ ¦
-c ial
-人 们
-ĠA s
-åij Ĭ
-ad e
-æĶ ¹
-ç Ĺ
-Ġh ad
-Ġhe r
-Ġj ust
-ï¼ Ľ
-è´ Ń
-ç¬ ¬
-é ĵ
-Ġw ater
-Ġf ood
-éĺ Ł
-a us
-Ġchall eng
-åħ į
-æĸĩ åĮĸ
-Ġmo st
-é ¸
-ç½ ij
-çĽ ´
-Ġs m
-Ġact iv
-plo y
-O verall
-å¿ «
-ru ct
-Ġindividual s
-å§ ĭ
-g ies
-æŁ ¥
-çĪ ±
-i ety
-I n
-åĪĨ æŀIJ
-è§ Ĩ
-æ¸ ©
-ç» ´
-ol ut
-åŁ Ł
-omm end
-Ġcom ple
-æķ Ļ
-Ġb u
-Ġeduc ation
-at her
-Ġ 4
-t ing
-Ġf ind
-æ² ¡
-Ġh is
-ä¹ĭ éĹ´
-Ġeffect ive
-Ġat t
-Ġre se
-èĥ½ åĬĽ
-åŁ İ
-Ġal low
-Ġa v
-Ġpro mot
-æĻº èĥ½
-æ» ¡
-åħ ±
-ie w
-c ome
-ç³» 绣
-Ġrespon s
-äº Ĵ
-Ġc ult
-pow ered
-Ġrec ommend
-èIJ ¥
-O SS
-Ġch ange
-è¯ ģ
-v ed
-æİ Ĵ
-è§£ åĨ³
-ic i
-ĠH ow
-Ġfe el
-æľ Ī
-Ġwh at
-以 åıĬ
-Ġse e
-åŃ ©
-b s
-Ġs ur
-æ £
-al ity
-Ġv is
-ç¡® ä¿Ŀ
-p ect
-å®ŀ çݰ
-Ġc are
-å¹ ¿
-ill s
-åº Ń
-as es
-å¤ į
-åºĶ ç͍
-çļĦæ ĥ
-ard s
-Ġadd ress
-Ġcomp an
-Ġinv ol
-Ġcustom er
-åĽł 为
-Ġstud ents
-Ġin s
-注 æĦı
-æŀ Ħ
-æ¬ ¢
-æµ ·
-åı Ĥ
-èĩª çĦ¶
-é ©
-ĠThe se
-w n
-æĺ ĵ
-çĬ ¶
-re n
-Ġt reat
-Ġbenef its
-Ċ ĠĠĠĠĠĠĠ
-对 äºİ
-æĢ Ŀ
-id er
-ĠY es
-Ġ K
-åĸ ľ
-Ġ ke
-Ġen g
-Ġpo p
-o st
-p are
-Ġm on
-æ¬ ¾
-ĠM OSS
-Ġem ot
-Ġa c
-ç¼ ĸ
-f ore
-åı ¥
-Ġv al
-il y
-Ġis s
-èĤ ī
-èĩ ³
-游 æĪı
-we en
-Ġinclud e
-Ġprot ect
-åħ³ ç³»
-éĻ ©
-Ġse ver
-Ġth an
-éľĢ æ±Ĥ
-ç» ĥ
-ĠThe y
-is s
-y s
-Ġj ob
-éĺ ³
-æ IJ
-Ġbet ween
-Ġm ach
----- ----
-èĢĥ èĻij
-è´¨ éĩı
-Ġbus iness
-w or
-ic k
-e g
-åħ ħ
-ç ¯
-æĿ ¡
-n er
-a pt
-Ġapp ro
-Ġpl ay
-没 æľī
-¤ IJ
-æľ ª
-æĪ ĺ
-å®¶ åºŃ
-ãĢ ĭ
-en cy
-ĠC h
-ãĢ Ĭ
-Ġprovid ing
-Ġres ources
-âĢ Ļ
-Ġass ist
-Ġnat ural
-è¯ Ħ
-ä¾ ¿
-Ġs af
-åħ· æľī
-è° ¢
-çĥ Ń
-s s
-et h
-ol d
-Ġper form
-Ġsever al
-é ¤IJ
-Ġe ach
-è½ ¬
-c i
-Ġt y
-Ġp ub
-æ´» åĬ¨
-oc us
-çī Į
-è¶ Ĭ
-åĽ ¢
-è½ »
-è¯Ń è¨Ģ
-Ġare as
-éĩ ĩ
-f t
-ri end
-å· ²
-å¸Ĥ åľº
-it ion
-i ents
-管 çIJĨ
-è® ¸
-人 类
-身 ä½ĵ
-iqu e
-Ġpart ic
-ç» Ń
-age ment
-v es
-ç¬ ¦
-l ine
-çº ¢
-åIJ ¸
-Ġpat ter
-00 0
-社 ä¼ļ
-åĨħ 容
-Ġorgan iz
-ou gh
-Ġ ve
-åŃ© åŃIJ
-æĸ ½
-æ¤ į
-åĩ ł
-ä½Ĩ æĺ¯
-Ġa ff
-Ġn um
-le ment
-èī º
-è ij
-Ġc ar
-ag es
-ab or
-æĺ¯ä¸Ģ ç§į
-Ġin st
-è Ľ
-ä¹ĭ ä¸Ģ
-è· ¯
-åį ³
-Ġm ain
-éļ ı
-H ow
-å¿ ħ
-ç¨ĭ åºı
-éŁ³ ä¹IJ
-re d
-æ² ¹
-Ġoff er
-et s
-ç ¢
-Ġd uring
-çļĦ 人
-æĽ´ å¤ļ
-Ġd i
-代 çłģ
-èİ ·
-åħ ĭ
-Ġgu id
-主 è¦ģ
-Ġf am
-æİ §
-éĢļ 常
-ĠA d
-å¤Ħ çIJĨ
-ur n
-ow er
-åij ½
-æı ı
-Ġsk ills
-Ġto ol
-w are
-æĸĩ æľ¬
-Ġpatter ns
-缮 æłĩ
-ac y
-æī ĵ
-åŁİ å¸Ĥ
-Ġe very
-r ies
-è¯ »
-éģ ¿
-çĻ ½
-éĢĤ åIJĪ
-Ġpat ient
-çľ Ł
-ot h
-å¥ ¹
-åĶ ®
-ä¸Ģ ç§į
-Ġm ade
-ä½ İ
-is e
-Ġre m
-æ¶ Ī
-åIJ «
-a ir
-Ġgen er
-o y
-ç² ¾
-æĥħ åĨµ
-ight s
-Ġexp l
-è§ ģ
-Ġpre dict
-ç± ³
-æĽ´ 好
-ä¿ ®
-Ġcl imate
-Ġf ocus
-Ġg row
-客 æĪ·
-ä¸į æĸŃ
-it or
-ĠE n
-çº ¦
-æĺ¯ åIJ¦
-ä» ħ
-æĪij们 çļĦ
-æľ Ľ
-o p
-Ġm aking
-y th
-cc ess
-Ġo wn
-gg est
-Ġt as
-ut ure
-Ġmod el
-p ut
-Ġrese arch
-ere st
-éļ ¾
-Ġ [
-i el
-ation al
-Ġcommun ic
-ç¥ ŀ
-ç© ¶
-Ġre st
-æĪIJ 为
-k ing
-p r
-åĮ »
-c ur
-èĤ ²
-Ġ '
-è¿Ļ ç§į
-ç¯ ĩ
-Ġc he
-ow n
-éĻ ħ
-Ġf in
-åζ ä½ľ
-Ġsu ggest
-å¢ŀ åĬł
-Ġmed ia
-rib ut
-çļĦæĥ ħ
-åĬł åħ¥
-Ġc le
-åij ¨
-ç« ł
-Ġth ink
-Ġloc al
-pport un
-ĠY ou
-Ġpl an
-Ġev en
-éĽ Ĩ
-å· §
-a x
-Ġchalleng es
-Ġpro f
-ĠC an
-Ġconc er
-Ġf uture
-åĬ ¿
-Ġre f
-èģ Ķ
-Ġs elf
-æĪĸ èĢħ
-b le
-åĽ ´
-è¿IJ åĬ¨
-Ġin f
-éĩ Ĭ
-Ġsustain able
-Ġte xt
-Ġg ra
-äº Į
-åĵģ çīĮ
-ä¸įåIJĮ çļĦ
-l ed
-çĭ ¬
-Ġo pportun
-Ġcont in
-y m
-Ġg et
-å¯ Ĩ
-éĻ ¤
-æ ħ
-éģ¿ åħį
-Ġ +
-è§ ī
-Ġre t
-å¸ ĥ
-Ġint erest
-Ġsoc iety
-ç»ĵ æŀľ
-åIJ ¬
-é¦ĸ åħĪ
-Ġb re
-Ġ2 0
-ĠHow ever
-è® °
-on s
-è¿ ij
-å¼Ģ å§ĭ
-Ġbu ild
-Ġbe h
-' m
-v ers
-Ġg ood
-çIJĨ è§£
-res ent
-ç¦ »
-åĬŁ èĥ½
-Ġeff ort
-l abor
-é» ij
-Ġbet ter
-Ġre ad
-å¾ ĭ
-èĽ ĭ
-he d
-ä¹ °
-导 èĩ´
-Ġimp lement
-ç ¿
-äº «
-å¤ ´
-en se
-Ġl ong
-ot her
-é¥ ®
-åŃĺ åľ¨
-çļĦæ Ħ
-ä¸Ģ 份
-yth on
-n ing
-åĩı å°ij
-åĢ Ļ
-ä¸ ĵ
-åIJĦ ç§į
-è ħ
-å° ½
-åį ĩ
-æĬ ¥
-Ġpub lic
-Ġl ar
-ä½ł çļĦ
-a ut
-é¢Ĩ åŁŁ
-æ ļ
-ol low
-èģ Į
-Ġch ang
-Ġb est
-h ip
-åĨ į
-ak es
-Ġch at
-it ed
-Ġp ower
-ä¿Ŀ æĬ¤
-ä¹ ¦
-计 åĪĴ
-éĩįè¦ģ çļĦ
-åıĺ åĮĸ
-il ities
-Ġcons ider
-æĪij们 åı¯ä»¥
-éĤ£ ä¹Ī
-Ġ ide
-æ¼ Ķ
-ag ing
-Ġb ased
-å® Ŀ
-Ġr ange
-Ġres ult
-Ġm em
-çħ §
-Ġle vel
-c ou
-Ġb r
-T h
-ä¼ ģ
-建 ç«ĭ
-Ġun ique
-è® Ń
-Ġm ark
-许 å¤ļ
-è¡Į 为
-Ķ ç©¶
-çļĦæ Ĭ
-Ġs et
-éª ¤
-t s
-Ġh ist
-Ġa round
-Ġre v
-åħ¶ ä¸Ń
-ï¼ ģ
-æıı è¿°
-æľĢ åIJİ
-Ġs im
-n ect
-åĽŀ çŃĶ
-éĺ ²
-èī ¯
-åΰ äºĨ
-ä¸ ĸçķ
-æĸ¹ æ¡Ī
-æĿIJ æĸĻ
-ä¸ĸçķ Į
-æĽ´å¥½ åľ°
-两 个
-Ġem ploy
-Ġtr y
-æ ĵ
-Ġb ack
-åĪ ĩ
-Ġsu ccess
-Ġdecis ions
-Ġth ose
-å¯ Į
-Ġf act
-æİ ¢
-è¶ £
-Ġpract ices
-åIJ Ĺ
-æī į
-çİ ©
-pt ion
-æĸĩ 竳
-Ġfe at
-Ġpre vent
-Ġwrit ing
-çļĦæ Ģ
-Ġn o
-ä» ĭ
-éĹ ¨
-Ġd el
-æ Ĵ
-Ġopt im
-in ation
-Ġ Ċ
-us ion
-Ġacc ount
-l ing
-Ġd ivers
-. "
-at h
-èĭ ±
-ä¼ģ ä¸ļ
-Ġg rou
-åľ° çIJĥ
-å¤ ±
-Ġpersonal ized
-ĠH e
-表 达
-cur ity
-Ġf ollow
-产 çĶŁ
-Ġe ar
-åİ ĭ
-ver n
-Ġiss ues
-åĿ ĩ
-é ²
-Ġd r
-iv ing
-Ġtrain ing
-Ġris k
-åĩ ½
-åı ²
-æ ij
-çļĦæĹ ¶
-og n
-Ġrequ ire
-Ġenvironment al
-b ack
-éĶ ®
-çĸ Ĺ
-Ġinter act
-åĽ¢ éĺŁ
-æ¯ı 个
-çĦ¶ åIJİ
-Ġd ist
-ç͍ äºİ
-认 为
-åĩ½ æķ°
-Ġs ent
-Ċ ĠĠĠĠĠĠĠĠ
-Ġredu cing
-å¹ ²
-Ġre p
-Ġc aus
-Ġmus ic
-ç ª
-Ġmon itor
-Ġfor m
-é¢ ľ
-çĹ ħ
-é¦ Ļ
-Ġof ten
-åı¯èĥ½ ä¼ļ
-åijĺ å·¥
-Ġha nd
-æĬ ķ
-Ġneed s
-æŃ¤ å¤ĸ
-åı ĭ
-iv ity
-Ġactiv ities
-åĸľ 欢
-Ġp ur
-i an
-s elf
-åĬ¨ çī©
-com es
-å ©
-Ġpr iv
-a z
-Ġrel ations
-Ġmach ine
-çļĦæ °
-ä»· æł¼
-ä»· å̼
-ç´ ¢
-Ġfe ed
-ä¸Ģ ä¸ĭ
-Ġte am
-Ġindust ry
-è´ ¢
-ĠP ro
-Ġw ant
-ç§ °
-Ġcl ass
-Ġlo ve
-åħ³ äºİ
-è¾ĵ åħ¥
-Ġtrans port
-Ġcomple x
-Ġy ear
-éĶĢ åĶ®
-å¯ »
-i ence
-ist s
-æĶ¯ æĮģ
-Ġm ind
-Ġf un
-Ġch ar
-æĮ ī
-Ġconcer ns
-con om
-ç®Ģ åįķ
-以ä¸ĭ æĺ¯
-Ġst art
-å¹¶ ä¸Ķ
-av i
-ä¸Ń åĽ½
-åħĥ ç´ł
-Ġcon f
-Ġpos itive
-Ġc ur
-Ġc ount
-er y
-å ¡
-å® ¤
-Ġco st
-Ġe qu
-Ġpol ic
-ast e
-a w
-éħ Ĵ
-cou ra
-iv en
-pl ace
-ch ie
-çļĦæķ °
-åĽł ç´ł
-Ġf l
-is m
-Ġmed ical
-Ġhum ans
-Ġaut om
-ertain ly
-Ġ 0
-Ġoff ers
-Ġdet ect
-Ġ 6
-é£İ æł¼
-Ġsh ow
-çģ «
-Ġan im
-é¢ľ èī²
-le ase
-a ve
-åĵ ª
-ĠThe re
-以 ä¸Ĭ
-æľª æĿ¥
-X X
-çī ĩ
-u ch
-Ġtas ks
-åħ· ä½ĵ
-æ¤į çī©
-Ġm in
-èīº æľ¯
-ic ult
-Ġexperi ences
-æİ§ åζ
-b e
-Ġpat ients
-å ²
-ĠW e
-Ġrec ogn
-çĥ ¤
-Ġsm all
-åĿ Ĺ
-å Ħ
-太 éĺ³
-ct ion
-Ġ ent
-æį ¢
-Ġbe fore
-Ġbe come
-å·² ç»ı
-表 çݰ
-Ġexp lo
-Ġa chie
-ä»» åĬ¡
-大 çļĦ
-Ġd ay
-Ġf ound
-å± ±
-on d
-Ġtreat ment
-pe nd
-he n
-Ġcon dit
-ç¡® å®ļ
-Ġbusiness es
-ĠW h
-æīĢ æľī
-Ġdevelop ed
-ç» Ī
-æŃ¥ 骤
-Ġdiff icult
-åı ·
-ĠR e
-éĶ Ļ
-Ġch o
-Ġqu est
-Ġtrans pare
-Ġpro ject
-Ġcommun ity
-o v
-å¸ Ī
-å¼ ł
-åĪĨ ç±»
-人 çļĦ
-s is
-çĽ Ĭ
-o id
-ĠA n
-w ays
-Ġe as
-Ġaff ect
-Ġother s
-Ġreg ul
-æĢ§ åĴĮ
-åĸ Ħ
-ag n
-ä½ľ 为
-åı¯ä»¥ 帮åĬ©
-åĦ ¿
-Ġorganiz ations
-é¸ ¡
-åħ ´
-Ġf riend
-Ġ $
-Ġdet ail
-Ġtra ditional
-Ġdesign ed
-è´Ń ä¹°
-ä½ĵ éªĮ
-ç» į
-er m
-Ġcon nect
-è¿Ļ æł·
-Ġrecommend ations
-Ġb oth
-Ł éĢļ
-æ¯ į
-Ġs it
-ä½ľ ç͍
-ä»ĭ ç»į
-Ġst e
-ĠS ure
-åı °
-æĤ¨ çļĦ
-Ġs he
-Ġman agement
-j oy
-è´ Ł
-Ġpromot e
-Ġvari ous
-( "
-p or
-Ġs ens
-Ġess ential
-get her
-ular ly
-äº ī
-ir st
-Ġo p
-Ġspec ies
-çݰ åľ¨
-ch o
-Ġbeh avi
-çŃ ij
-å¥ ³
-Ġqu ality
-Ġex t
-è ¥
-å®Į æĪIJ
-æĢ» ä¹ĭ
-éĥ¨ åĪĨ
-ä»İ èĢĮ
-åĽ ¾
-Ġty p
-Ġstr ate
-è¥ ¿
-Ġhe re
-ar s
-å¸ Į
-çļĦæ Ŀ
-å° Ŀ
-e e
-i er
-Ġe c
-ical ly
-er ing
-å¿ µ
-ĠD e
-Ġne g
-建 çŃij
-Ġserv ices
-Ġab le
-im es
-Ġopt ions
-缸 åħ³
-Ġsu b
-Ġdecis ion
-ĠC ertainly
-Ġ åľ¨
-æ ¢
-Ġserv ice
-) :
-带 æĿ¥
-Ġch ild
-è§£ éĩĬ
-ir t
-ç Ĩ
-ä¸į ä»ħ
-æĿ ¾
-积 æŀģ
-r on
-åı ¤
-çł Ķç©¶
-ç² ī
-h or
-Ġprof ess
-çļĦ éĹ®é¢ĺ
-Ġopportun ities
-åİĨ åı²
-Ġde f
-ĠA m
-Ġg r
-a ur
-å± Ĥ
-çŃ ĸ
-Ġpop ular
-æ´ ģ
-åıij çݰ
-Ġpo em
-èµ Ľ
-Ġo b
-Ġd on
-Ġs ound
-Ġtransport ation
-i ous
-åı ¦
-Ġro le
-Ġf iel
-ç§ij åѦ
-èĢ ģ
-re en
-æľī æķĪ
-Ġc or
-Ġfeed back
-Ġtechnolo gies
-交 éĢļ
-Ġad apt
-' re
-erv ation
-Ġcommun ities
-çݰ 代
-Ġlo ok
-Ġf ac
-ç͵ å½±
-Ġcol lect
-å¾Ĺ åΰ
-h ips
-Ġav ail
-ere n
-ä¸Ģ èµ·
-çī Ľ
-Ġpos s
-Ġwe ather
-Ġeffort s
-¿ Ģ
-æĹ ħ
-o h
-Ġcol labor
-æĭ ¥
-æĪIJ åĬŁ
-èİ· å¾Ĺ
-å± ħ
-Ġt re
-Ġs ources
-Ġstud y
-Ġprogra ms
-éĻ IJ
-Ġt ips
-Ġmark et
-al ly
-å® ³
-w ards
-æ£ Ģ
-ä¸Ģ ç¯ĩ
-ri or
-Ġto p
-Ġe nd
-å ĭ
-Ġlar ge
-ici ency
-Ġde c
-å®ļ çļĦ
-ic ient
-è¿ĩç¨ĭ ä¸Ń
-lic ations
-ç¼ º
-Ġto ur
-Ġto gether
-人 工
-Ġtool s
-æĸ ¯
-æ° ij
-æĬ Ĭ
-ä¹ĭéĹ´ çļĦ
-çī¹ çĤ¹
-Ġbe l
-ditional ly
-åĪ© ç͍
-è¾ ¹
-éĻ į
-ĠI f
-é¢ Ŀ
-åį ı
-å¾ Ģ
-l ish
-è¯ ī
-in s
-å¥ ¶
-Ġe conom
-Ġinv est
-ĠD o
-t ain
-åĩº çݰ
-çļĦ å½±åĵį
-ater ial
-Ġs ure
-Ġp ass
-çĶ »
-è´ £
-ç»ĵ æŀĦ
-æķ ħ
-æĥħ æĦŁ
-æ ¿Ģ
-ell ig
-ä¼ Ĺ
-æ¯Ķ è¾ĥ
-ter n
-Ġout comes
-u p
-Ġbe aut
-re ad
-çĶŁ æĪIJ
-æķ° åŃĹ
-Ġde m
-i res
-åı¯ä»¥ éĢļè¿ĩ
-æĸ° çļĦ
-Ġde ep
-å ¨
-çĭ Ĺ
-åħ³ 注
-çĶŁ åij½
-ä¼ł 绣
-Ġst ay
-æŃ Į
-åħ³ éĶ®
-Ġpl ace
-主 é¢ĺ
-å¾Ī å¤ļ
-èĪ Ĵ
-Ġprofess ional
-y le
-æĽ ²
-1 9
-Ġess ay
-Ġg ive
-ç³ ĸ
-Ġon ly
-æŁ IJ
-Ġph ys
-对 è¯Ŀ
-Ġcont ro
-Ġam ount
-ce pt
-iz ation
-ç¼ĸ åĨĻ
-åıĹ åΰ
-Ġal ways
-æ¯Ķ å¦Ĥ
-Ġpriv acy
-a u
-____ ____
-Ġrespons ible
-( )
-çŃī çŃī
-Ġm aterial
-Ġon line
-é ¼
-æĶ ¿
-åĽ Ľ
-Ġen joy
-åľ Ł
-Ġsaf ety
-Ġt w
-Ġcommunic ation
-ä¸ ½
-æĺ ¾
-olut ion
-er g
-į ä½ľ
-Ġus er
-Ġemot ional
-t ime
-é ¾
-Ġse curity
-Ġs ense
-el ines
-åĬ ±
-çī© è´¨
-u ra
-Ġsh are
-Ġanalyz ing
-it al
-é ±
-irt ual
-Ġvis it
-b ers
-Ġc our
-Ġpro ble
-设 å¤ĩ
-at ch
-l and
-é± ¼
-æĪij们 éľĢè¦ģ
-ç¨ ³
-ib ility
-Ġeff iciency
-å£ °
-è Ĵ
-æľº åύ
-Ġcle ar
-åζ å®ļ
-iz ing
-Ġcondit ions
-l usion
-Ġlo w
-Ġl im
-her s
-Ġris ks
-ç¿ »
-Ġle t
-åĴ ĸ
-å¿ĥ çIJĨ
-è¿ ľ
-pr int
-Ġchang es
-Ġme as
-Ġimpro ving
-Ġc rit
-5 0
-å¸Į æľĽ
-Ġa ud
-åį Ĺ
-æĹł æ³ķ
-Ġneg ative
-项 缮
-u nd
-at s
-Ġcompan ies
-æī¾ åΰ
-Ġcont ribut
-æŃ£ ç¡®
-é» Ħ
-å± ŀ
-Ġunderstand ing
-Ġm ult
-Ġc lo
-å¾ ģ
-Ġp rior
-r im
-人工 æĻºèĥ½
-Ġvari ety
-Ġt aking
-å Ĥ
-as ter
-od y
-Ġ {
-çļĦ éĩįè¦ģ
-Ġf ore
-èµĦ æºIJ
-è¦ģ æ±Ĥ
-Ġfeat ures
-èį ī
-m e
-èĮ ĥ
-Ġo per
-çº §
-é² ľ
-æĬĢ å·§
-ij æĪĺ
-ç±» åŀĭ
-æĿ ¿
-è½ ¯
-e w
-Ġrest aur
-Ġwith out
-ruct ure
-çļĦ æĺ¯
-ç ı
-Ġl ist
-ur ate
-Ġbo ok
-äº ²
-åº Ĺ
-ä¹Ł æĺ¯
-ä»» ä½ķ
-Ġc am
-ĠB e
-Ġgo vern
-Ġbehavi or
-è®Ń ç»ĥ
-Ġfam ily
-æĿ Ĥ
-Ġc ity
-Ġappro ach
-Ġacc urate
-Ġs om
-Ġe l
-èĪ ŀ
-è ŀ
-åŁº æľ¬
-Ġdis e
-Ġen coura
-ĠW hat
-å ĥ
-è¯ ¦
-¦ Ĥ
-å·¥ åħ·
-åķ ¡
-Ġst ill
-cho ol
-æĦŁ åΰ
-çĶŁ çī©
-åĴĸ åķ¡
-åĩĨ å¤ĩ
-Ġw aste
-Ġev ents
-æķĻ èĤ²
-Ġ 8
-Ġm ust
-i ed
-as ing
-å½¢ æĪIJ
-Ġproduct s
-åħ ¸
-è® ²
-f ter
-å· ®
-l ess
-Ġc ro
-Ġfin an
-åıį åºĶ
-åĪĽ éĢł
-Ġguid elines
-åĪ ¤
-ä½ľ åĵģ
-表 示
-å¼ Ĥ
-Ġknow n
-Ġt est
-è¯ ¯
-o pe
-Ġus ers
-A I
-å¾ ·
-ne w
-è¿ ½
-iqu es
-模 åŀĭ
-åĬĽ åĴĮ
-Ġhist ory
-ĠA l
-æĬķ èµĦ
-å°Ŀ è¯ķ
-an k
-Ġh ome
-éĴ Ł
-ä¸ °
-èĪĴ éĢĤ
-Ġincre ase
-Ġh ab
-åĪ »
-è¾ĵ åĩº
-Ġlead ing
-Ġ 7
-é£İ éĻ©
-Ġperform ance
-Ġha pp
-åŃ £
-Ġst and
-t y
-ç¦ ı
-Ġcustom ers
-åį İ
-Ġbel ie
-Ġcompan y
-å½ ķ
-é£Ł çī©
-ĠU n
-Ġsu mm
-re nt
-ĠC on
-éĢĤ éĩı
-an ced
-Ġ i
-Ġl ight
-Ġanaly sis
-å° Ĭ
-ĠU se
-ou se
-t ed
-Ġchar act
-Ġ #
-t o
-ç» ľ
-ä¸į æĺ¯
-Ġdevelop ing
-åŁ ¹
-Ġstrate gies
-Ġm ight
-çŁ Ń
-çļĦæ İ
-Ġf irst
-èĥ Į
-çĮ «
-Ġinclud es
-åĽ Ń
-Ġdi agn
-Ġgrow th
-ä¸ĵ ä¸ļ
-Ġdo es
-1 2
-ç» ¿
-Ġke ep
-详 ç»Ĩ
-åĥ ı
-åıij çĶŁ
-f act
-åı¯ä»¥ åľ¨
-ç« Ļ
-æĭ ī
-æµ İ
-Ġchat bots
-Ġbre ak
-è¡ ¡
-çŁ ³
-æĮģ ç»Ń
-l ife
-Ġ1 0
-æ´ Ĺ
-ĠAd ditionally
-å£ «
-em ber
-Ġgo als
-å¾ ®
-Ġv iew
-Â ·
-o ve
-åŁº ç¡
-Ġoptim ize
-Ġt em
-Ġd own
-åŁºç¡ Ģ
-è¶ ħ
-er cis
-Ġl ess
-e es
-æĿ ĥ
-Ġke y
-Ġwor ks
-è® ¨
-åı¥ åŃIJ
-Ġro bot
-us s
-åħ¨ çIJĥ
-ç»ı æµİ
-æīį èĥ½
-eg r
-ä»ĸ们 çļĦ
-äº Ķ
-èµ· æĿ¥
-ç ĵ
-Ġfact ors
-Ġcult ural
-æľ ¨
-Ġwork ing
-ä¼ ¼
-èIJ ½
-éĢŁ 度
-ä½ ı
-Ġeffect s
-å© ļ
-b r
-åİ ħ
-ra in
-" )
-åѦ çĶŁ
-" ,
-Ġp ar
-at form
-Ġens uring
-çͱ äºİ
-Ġm uch
-Ġwor ds
-Ġm ar
-ç»ı éªĮ
-为 äºĨ
-åIJĪ ä½ľ
-v en
-Ġ /
-Ġfinan cial
-wor k
-or ies
-æ² »
-Ġtechn iques
-æĭ¥ æľī
-ra p
-å° Ķ
-Ġ est
-Ġavail able
-Ġl it
-æ ¹
-Ġeff icient
-el s
-o ver
-Ġl and
-Ġare a
-Ġint ellig
-Ġpre f
-at ure
-çŁ¥ è¯Ĩ
-æĵ įä½ľ
-å¾ ħ
-ig ate
-çļĦæ Ķ
-Ġme an
-b o
-Ġcontro l
-éĩĩ ç͍
-ric ult
-Ġprogra mm
-Ġto wards
-th ing
-ä¸į è¦ģ
-Ġth ough
-å½ ©
-Ġc ertain
-Ġw ild
-ä» Ĭ
-Ġcons ervation
-çŁ¥ éģĵ
-Ġreal ly
-çļĦ åľ°
-i o
-é¥ °
-Ġf ul
-çݯ ä¿Ŀ
-Ġexplo re
-çļĦæ ¸
-Ġdivers e
-åĬł 强
-çļ ®
-Ġemot ions
-Ġav oid
-' ll
-çļĦæ ī
-åį ¡
-Ġpl atform
-an ces
-Ġsit u
-ä» ĺ
-ä½į ç½®
-or ing
-çĽ IJ
-ä¸ ĩ
-Ġde v
-n ov
-as h
-Ġtw o
-å® ł
-b on
-èµ °
-åĪĹ è¡¨
-Ġc y
-èį IJ
-ĠS ome
-Ġexpl ain
-Ġa ware
-社 交
-d ay
-åı Į
-æ² ŁéĢļ
-æ° §
-å¼Ģ åıij
-åħ¬åı¸ çļĦ
-Ġa ir
-åĩ »
-ar ing
-éĥ½ æĺ¯
-Ġlevel s
-od s
-Ġste ps
-Ġc ap
-æ´ ŀ
-é© ¬
-Ġret urn
-Ġm et
-çĶŁ æĢģ
-丰 å¯Į
-æŁ ĵ
-æīĢ ä»¥
-é¡ »
-Ġ er
-Ġf ra
-3 0
-è ĵ
-âĢ Ķ
-Ġ å½ĵ
-a h
-ä¿ ĥ
-Ġlike ly
-ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ
-åĪ Ŀ
-Ġcreat ing
-Ġf arm
-Ġb al
-Ġl ives
-å®ĥ çļĦ
-Ġab ility
-ä¸Ĭ çļĦ
-Ġsent ence
-åĤ ¨
-Ġr out
-Ġprovid es
-Ġag ain
-å®ł çī©
-éĢ IJ
-Ġyear s
-èŀ į
-Ġphys ical
-P ython
-ĠE x
-it ing
-è°ĥ æķ´
-ç½ij 绾
-æħ ¢
-空 éĹ´
-åĽ °
-è± Ĩ
-æĽ´å¤ļ çļĦ
-ĠA r
-Ġmain tain
-å®ŀ éĻħ
-Ġtra vel
-Ġs at
-p ro
-ç͵ åŃIJ
-æ± ½
-e x
-åģ ĩ
-æIJ Ń
-éļı çĿĢ
-è¿ĺ æľī
-ç¤ ¼
-al e
-Ġcons um
-Ċ Ġ
-n cy
-Ġquest ions
-f ort
-m aking
-Ġdes c
-1 5
-Ġinvol ves
-Ġst ress
-åŃŠ符
-he re
-Ġimpact s
-Ġex ercis
-åĿ ļ
-led ge
-ç§ij æĬĢ
-oc i
-Ġeffective ly
-æ¶Ī è´¹
-Ġconc lusion
-éĺ ħ
-Ġst re
-iss ions
-æ· »
-I t
-éĿ Ļ
-Ġv irtual
-è¡ £
-Ġachie ve
-our ce
-è¿ ŀ
-ac ks
-表 æł¼
-Ġimport ance
-èĩª æĪij
-The se
-n um
-çļĦæ ł
-Ġrelations hips
-Ġwork ers
-g ical
-or por
-ers on
-åij ¢
-nd s
-æİ¨ èįIJ
-oh n
-å¿ħ é¡»
-容 æĺĵ
-ĠG o
-Ġt ell
-ĠR es
-on om
-Ġbe c
-æ³ Ľ
-p os
-Ġmo ve
-Ġst ory
-æŃ ¢
-Ġprior it
-Ġindust ries
-è ľ
-Ġposs ible
-ĠM an
-Ġexp ress
-ab ilities
-Ġint egr
-代 表
-Ġrespon d
-åĪĨ éĴŁ
-æľº ä¼ļ
-Ġth ings
-交 æµģ
-Ġm eth
-ur ther
-Ġw ide
-èij Ĺ
-æĪij çļĦ
-ĸçķ ¥
-id es
-eth ing
-ĠWh ile
-p an
-çŃ ĸçķ¥
-Ġc ent
-Ġp lease
-olo gy
-ura cy
-å¾ ª
-w ard
-n ce
-Ġthe n
-çª ģ
-å¥ ĩ
-Ġb lo
-a i
-æŀ Ĺ
-ç®Ĺ æ³ķ
-ç» ¼
-Ġpr int
-ac es
-l u
-ª æĸ½
-p re
-çļĦæĦ ı
-Ġs ol
-Ġover all
-h old
-Ġ es
-çļĦ ä¸Ģ
-éģ ĩ
-Ġpop ul
-å°ı 说
-æ³ ¢
-åį ģ
-ä¹Ł åı¯ä»¥
-é£Ł åĵģ
-Ġcont ent
-å° Ħ
-Ġrequ ires
-æ£Ģ æŁ¥
-ĊĠĠĠĠĠĠĠĠ ĠĠĠ
-Ġgrou ps
-Ġf air
-Ġb l
-å®ŀ éªĮ
-æĮī çħ§
-os p
-st r
-ä¸į èĥ½
-Ġh arm
-Ġpro du
-çļĦæĬ Ģ
-ç ĩ
-t le
-Ġanim als
-è§Ĵ èī²
-le v
-æ¸ IJ
-å¤į æĿĤ
-Ġde pend
-æĮ ijæĪĺ
-åĮħ åIJ«
-Ġhelp s
-Ġop en
-Ġn et
-ĠĠĠĠ Ġ
-Ġstr ong
-Ġj our
-广 æ³Ľ
-æķ´ 个
-Ġe lect
-Ġrespon se
-åįķ è¯į
-æľ ĭ
-Ġ <
-åĮĸ åѦ
-éĴ Ī
-Ġqu ick
-ual ly
-Ġsom ething
-Ġtra ck
-度 åĴĮ
-eren ces
-æł ij
-Ġacc uracy
-Ġex c
-é£ ŀ
-Ġfiel d
-寻 æī¾
-éħ ¸
-Ġh ope
-ç ij
-Ġin nov
-ç» ª
-al k
-Ġtyp es
-Ġd id
-åĬ ª
-Ġc all
-è¯ Ĺ
-Ġear ly
-ĠO ne
-a pp
-Ġcomm on
-æľĢ ç»Ī
-Ġche ck
-Ġs ym
-çĤ Ĵ
-æĬĢ èĥ½
-Ġen h
-Ġag ricult
-Ġim m
-ç» ĩ
-满 足
-Ġs chool
-b al
-Ġfollow ing
-b ased
-Ġwe bs
-Ġcult ure
-ĠC om
-w ay
-ä¸Ģ å®ļ
-åķĨ åĵģ
-ud e
-çļĦ åıijå±ķ
-çĶŁ 产
-os ystem
-Ġpl ant
-åı ¶
-åIJ ĥ
-ä»ĸ çļĦ
-d er
-è¯ ¢
-å®¶ åħ·
-Ġf ree
-ç§ »
-æİ Į
-Ġb ody
-Ġp resent
-Ġpartic ularly
-Ġchild ren
-Ġstud ent
-) .
-çī¹ å¾ģ
-è Ķ
-éĺħ 读
-æķĪ çİĩ
-Ġprogra m
-éħ ±
-åıĺ å¾Ĺ
-i x
-Ġcom e
-çļĦæ ²
-ĠT e
-ĠT o
-åħ± åIJĮ
-Ġemploy ees
-说 æĺİ
-Ġhe art
-Ġm ot
-æľĭ åıĭ
-er ic
-è¯ ij
-Ġcur rent
-æĪIJ æľ¬
-Ġto o
-çİ© å®¶
-åĪĽ æĸ°
-Ġec osystem
-常 è§ģ
-ä¸Ģ æŃ¥
-Ġp res
-Ġmult i
-åijĬ è¯ī
-ä¸ ¥
-Ġm it
-Ġact ion
-çĨ Ł
-Ġhab it
-åı£ æĦŁ
-ç® ±
-Ġus es
-å¢ŀ 强
-ç»Ļ åĩº
-Ġ 9
-Ġde p
-Ġeconom ic
-æĢ§ çļĦ
-1 8
-åĨ °
-Ġhelp ed
-åIJ¸ å¼ķ
-çİ ĭ
-Ġdiagn os
-å ł
-èģĶ ç³»
-ç¾ ¤
-ç»ĥ ä¹ł
-æĪIJ éķ¿
-Ġpo int
-å®ļ æľŁ
-åij ¼
-èį ¯
-æĿ ¯
-æ¤ Ĵ
-æķĪ æŀľ
-Ġspec ial
-æ· ·
-åĩł 个
-aus e
-é Ĩ
-æ¯Ķ èµĽ
-è· Ŀ
-W hat
-Ġt imes
-ic les
-Ġ *
-ç´ §
-å¦Ĥæŀľ ä½ł
-çĭ¬ çī¹
-çģ µ
-ç¨ İ
-Ġcar bon
-Ġbi as
-åĬ© äºİ
-Ġcon st
-èĩª çͱ
-æĿ¥ 说
-å°± æĺ¯
-åį °
-Ġme et
-è§Ħ åĪĴ
-çļĦç ¾
-èIJ¥ åħ»
-at ors
-稳 å®ļ
-od e
-çħ ®
-Ġass oci
-å¿ Ĺ
-è¡Į æĺŁ
-æĿ İ
-Ġrev iew
-åĩ Ģ
-ĠR o
-Ġknow ledge
-以 便
-æµĭ è¯ķ
-åIJĪ éĢĤ
-s c
-å½¢ å¼ı
-Ġfriend s
-Ġnat ure
-Ġcrit ical
-æ´ ĭ
-Ġa fter
-er ve
-Ġre ce
-çļĦæ Ń
-汽 车
-çķ Į
-Ġlo ss
-Ġapp lications
-å¤ļ ç§į
-éĶ ħ
-ä¸ ²
-Ġins p
--- -
-ĠS h
-Ġv ol
-l ut
-o ks
-se qu
-Ġb ir
-åIJĪ çIJĨ
-Ġne cess
-æĪij æĥ³
-çŃī æĸ¹éĿ¢
-é¼ ĵ
-Ġso ft
-Ġl ive
-å°ı æĺİ
-ĠI nd
-Ġbr ing
-æĺ¯ æĮĩ
-Ġso il
-il ar
-ä¸ ľ
-æĿ¡ ä»¶
-Ġt ri
-äº ®
-Ġm om
-æı ¡
-ä¼ °
-ŀ äºī
-çĽ ij
-èĤ ¤
-è´¢ åĬ¡
-æ·» åĬł
-饮 é£Ł
-Ġallow ing
-åº ķ
-Ġr ight
-Ġexp ert
-Ġsu pp
-Ġin it
-çļĦæ µ
-ar get
-Ġexp ect
-Ġ1 9
-Ġmeas ures
-olut ions
-j ust
-ar c
-å° ļ
-Ġpract ice
-æľī åĬ©äºİ
-大 éĩı
-' ,
-im ent
-Ġcontin ue
-Ġdisc uss
-1 00
-éļ ľ
-çļĦæĦ Ł
-Ġref lect
-it ation
-åį «
-äºĨ ä¸Ģ
-ne y
-ĠL e
-is ed
-è¶ ĭ
-äºĨ ä¸Ģ个
-Ġincre asing
-çļĦæ Į
-Ġst ru
-æĢ» ç»ĵ
-e ly
-å® ĩ
-Ġaut hor
-表 éĿ¢
-Ġ x
-æķħ äºĭ
-em ic
-Ġrep resent
-g er
-Ġincre ased
-on es
-ain s
-Ġtrain ed
-Ġf ish
-Ġst ate
-åĨ ·
-çĶŁ éķ¿
-Ġre new
-ord ing
-åĮ Ĺ
-æİ ªæĸ½
-å¹³ è¡¡
-Ġsuccess ful
-ä¸ĭ éĿ¢
-Ġactiv ity
-èĮ ¶
-éĢĤ åºĶ
-èĦ ij
-æİ¢ ç´¢
-ff ic
-ç»Ħ æĪIJ
-at ives
-äº ļ
-Ġsc en
-æ² Ļ
-g ress
-使 å¾Ĺ
-æī ¿
-Ġdisc rim
-Ġassist ants
-Ġex ist
-çķ Ļ
-Ġsp ace
-æľĢ è¿ij
-Ġide as
-éĩĩ åıĸ
-l ight
-注 éĩį
-çļĦæĹ¶ éĹ´
-è¿ İ
-Ġcom b
-éĢĤ å½ĵ
-Ġyour self
-rit e
-as on
-åĮ Ģ
-åı¯ä»¥ 使ç͍
-åħħ 满
-Ġval ues
-æ ½
-Ġbi ases
-ä¿ĥ è¿Ľ
-åľº æĻ¯
-ro ss
-åį³ åı¯
-Ġc ru
-Ġnum ber
-Ġty pe
-r ast
-åĩĨ ç¡®
-Th is
-Ġp ast
-çģ ¯
-å®ļ ä¹ī
-Ġs olutions
-Ġt er
-ä¿Ŀ è¯ģ
-èĶ ¬
-å¹ ¸
-åī §
-åħ´ è¶£
-å ª
-ent ion
-av or
-Ġsc ient
-åĬª åĬĽ
-Ġprovid ers
-Ġpolic ies
-al u
-ĠI m
-Ġallow s
-Ġintellig ence
-çļĦ æĸ¹æ³ķ
-è¿Ļ æĺ¯
-Ġ `
-Ġem issions
-Ġ å°Ĩ
-Ġmean ing
-Ġst yle
-åİŁ åĽł
-Ġstru gg
-çļĦç¾ İ
-if ul
-dit ion
-éĥ½ æľī
-空 æ°Ķ
-å®ĥ们 çļĦ
-ä¼ĺ åĮĸ
-Ġinf lu
-åŁº äºİ
-Ġdetail s
-Ġtranspare ncy
-Ġm ess
-ĠC l
-Ġg ame
-p ri
-è¶ĭ åĬ¿
-å½ Ĵ
-ç¿» è¯ij
-æķ £
-B y
-é Ń
-ĠAm eric
-Ġproduct ion
-Ġinc orpor
-æĻ ļ
-Ġinvol ve
-Ġh ot
-æĻ ®
-b y
-Ġf low
-Ġem erg
-åº §
-Ġide a
-åİĭ åĬĽ
-éĿ Ĵ
-om s
-èģĮ ä¸ļ
-Ġre port
-Ġp ap
-Ġthe rap
-Ġs al
-åıĤ ä¸İ
-æĸĩ åѦ
-æIJŃ éħį
-o ot
-) ,
-Ġc r
-Ġprocess es
-g in
-å¹³ åı°
-å¯ Ł
-Ġpromot ing
-æļ ĸ
-ake hold
-ç» §
-iv er
-æ ¦Ĥ
-Ġmodel s
-Ġd ra
-è ĸ
-Ġgrou p
-è¶³ å¤Ł
-Ġg reen
-Ġhealth y
-Ġcom fort
-Ġad ditional
-ä¸Ģ 次
-é¤IJ åİħ
-Ġmaterial s
-Ġman age
-çļĦæ ¯
-ä¼ ¤
-åıĬ æĹ¶
-Ġg lo
-Ġst at
-å¿« éĢŁ
-Ġmonitor ing
-ail y
-ra nd
-o ice
-res h
-ç»Ħ ç»ĩ
-Ġund er
-Ġnecess ary
-Ġhelp ful
-ĠC ol
-é»ij æ´ŀ
-åģļ åĩº
-Ġcour se
-Ġm at
-Ġle g
-Ġf ace
-ä» ¤
-èī¯ å¥½çļĦ
-oc k
-åĮ» çĸĹ
-çĽ ĸ
-id ence
-Ġassoci ated
-Ġpro gress
-åľ Ĩ
-Ġevery one
-ç¼ ĵ
-ĠEn g
-w ord
-èĵ Ŀ
-天 æ°Ķ
-Ġact ions
-em s
-ĠP l
-å® Ļ
-us h
-é¡ ¾
-Ġcost s
-at or
-ç© ¿
-Ġamount s
-èͬ èıľ
-. .
-Ġman ner
-Ġcon sequ
-æ°Ķ åĢĻ
-Ġins ights
-be ing
-at ory
-en er
-le x
-Ġme ans
-Ġcollabor ation
-Ġpers pect
-or m
-pri ate
-å°Ĭ éĩį
-Ġt arget
-è®° å½ķ
-åĢ Ĵ
-Ġrenew able
-æĦ ¿
-èĥ½ æºIJ
-Ġin put
-å®ĩ å®Ļ
-a pe
-Ġad just
-er ies
-Ġd ire
-ä¾ Ŀ
-ust r
-f ect
-Ġbeaut iful
-Ġd ue
-re ci
-çĮ ®
-èĥĮ æĻ¯
-èĤ ¡
-Ġd am
-i k
-Ġadv anced
-缸 对
-åIJį ç§°
-Ġsh ort
-Ġob ject
-è¿Ļ éĩĮ
-éĢł æĪIJ
-èIJ¥ éĶĢ
-çļĦæĥħ æĦŁ
-ç¥ ¨
-Ġcount ries
-in ing
-ist ic
-Ġpl ans
-è´£ ä»»
-Ġst akehold
-t he
-Ġass ess
-æĢĿ èĢĥ
-e ch
-æĪIJ åijĺ
-2 1
-Ġd aily
-Ġcomp ut
-çļĦæĥħ åĨµ
-æıIJ åĩº
-Ġ âĢľ
-åª Ĵ
-ä¸Ń å¿ĥ
-is hed
-ĠS e
-onom ous
-er n
-ç»´ æĬ¤
-am es
-Ġpriorit ize
-çº ¸
-èĤ ¥
-Ġtem per
-æ¸ħ æ´ģ
-us e
-æ± ¡
-Ġmin im
-æĺ¯ åľ¨
-大 å°ı
-åĵª äºĽ
-Ġapp reci
-ren g
-Ġregul ations
-Ġ Z
-éĶĻ è¯¯
-r ans
-èĢĮ ä¸Ķ
-èĪ ¬
-èij ±
-è Ĩ
-æ°´ å¹³
-è´Ń çī©
-åŃĹ符 串
-对 æĸ¹
-Ġh im
-Ġconsequ ences
-å· ´
-é¼ĵ åĬ±
-Ġf il
-人 åijĺ
-è·Ŀ 离
-ĠW hen
-çļĦæ° ´
-çī© çIJĨ
-åIJĮæĹ¶ ä¹Ł
-åľ¨ è¿Ļ个
-åħ¶ 次
-, "
-æ¶ ²
-çĶ ·
-iv al
-åı¯ä»¥ 让
-æĥ ¯
-Ġadv ance
-Ġve h
-å¦Ĥæŀľ æĤ¨
-Ġest ab
-ri pt
-ç« ¯
-ä¸į ä¼ļ
-Ġtranspare nt
-æķ° éĩı
-çĽ ĺ
-Ġspe ak
-Ġp ark
-Ġstakehold ers
-é º
-Ġev ent
-çļĦæķ° æį®
-èĩª åĬ¨
-ç»Ĩ èĬĤ
-è¯Ħ ä¼°
-æ¶ ¦
-Ġpref erences
-Ġve get
-æį Ł
-e qu
-Ġg l
-Ġp ain
-o gra
-Ġtra ffic
-Ġo ce
-ä¹ ĺ
-e xt
-âĢĿ ï¼Į
-Ġan other
-å¤ļ å°ij
-Ġagain st
-ç»ı åİĨ
-计ç®Ĺ æľº
-èĢ IJ
-软 件
-ĠP re
-Ġpl ants
-缸 äºĴ
-é¢ ij
-\ _
-Ġs ame
-ru g
-Ġval u
-Ġo cc
-çļĦç ¤
-Ġsustain ability
-ĠS he
-d e
-ot e
-Ġd ig
-N A
-Ġcru cial
-æī §
-å± Ģ
-æĭ Ł
-æĭ Į
-Ġn on
-Ġeng aging
-Ġinter n
-L P
-温 度
-æł ¸
-æĬ¥ åijĬ
-æĿ¥ è¶Ĭ
-h ood
-ä¸ī 个
-å¦Ĥ ä¸ĭ
-çī© ä½ĵ
-for ce
-Ġneed ed
-Ġim ages
-Ġbuild ing
-ici ous
-Ġ æĪij
-è¶Ĭ æĿ¥è¶Ĭ
-æĶ¾ åħ¥
-g o
-éĻį ä½İ
-å½ĵ åľ°
-æ¶Īè´¹ èĢħ
-ç £
-ivers ity
-é¢Ħ ç®Ĺ
-ic le
-æ·· åIJĪ
-Ġpartic ip
-Ġdis hes
-Ġthrough out
-Ġwith in
-åı ³
-é«ĺ çļĦ
-Ġph ot
-Ġtr ust
-æĦı è¯Ĩ
-以 ç¡®ä¿Ŀ
-çĬ¶ æĢģ
-Ġautom ation
-1 1
-Ġpo st
-æīĭ æľº
-wor ks
-éĢ ı
-åº ĵ
-Ġw ind
-Ġ= =
-Ġprocess ing
-èĮĥ åĽ´
-æĦı ä¹ī
-追 æ±Ĥ
-Ã ©
-å¾ Ħ
-éĿ ł
-ä¸ ĸ
-èĻ ½
-ç« ŀäºī
-Ġappro priate
-æĽ´ 好çļĦ
-Ġcharact er
-c l
-ç§ ĺ
-it ude
-Ġte ac
-le ep
-ĠDe velop
-in ce
-å· ¦
-g round
-è¡Į ä¸ļ
-éĴΠ坹
-å¿ħ è¦ģ
-Ġdet erm
--------- --------
-Ġst reng
-d o
-Ġchalleng ing
-or k
-Ġan x
-èī² çļĦ
-Ġh ard
-æĺİ ç¡®
-åĪĨ 享
-æĶ¹ åıĺ
-ä½ ³
-åıª æľī
-å±ķ 示
-Ġcam p
-çº ³
-a j
-et ic
-u ment
-ä½ł åı¯ä»¥
-Ġpol lut
-Ġh ig
-pp ing
-e ad
-çĦ¶ èĢĮ
-第 äºĮ
-é¸ Ł
-çī© åĵģ
-ä¸ ¾
-Ġencoura ge
-pe cial
-Ġac ross
-el ves
-äºĭ ä»¶
-c le
-æ ©
-åªĴ ä½ĵ
-n ers
-Ġc al
-èϽ çĦ¶
-åĽ º
-ä¹ł æĥ¯
-Ġsaf e
-èĥ½ éĩı
-ist ics
-ä¹ĭ åīį
-Ġiss ue
-å¤ļ 个
-åĨ³ çŃĸ
-è¾¾ åΰ
-æĹ ©
-ä¸į åı¯
-ä¸Ģ 缴
-å· ¨
-æĦŁ è°¢
-ĠN ew
-ä¸Ģ 段
-Ġmach ines
-å°Ĩ åħ¶
-ç»§ ç»Ń
-Ġwor d
-çī¹ åĪ«
-Ġagricult ure
-æĢ İ
-éĢIJ æ¸IJ
-éĵ ¾
-è¯ ¾
-Ġk ind
-å¢ Ļ
-è°¢ è°¢
-Ġalgorith m
-è£ħ 饰
-Ġal ong
-Ġeas y
-äº ij
-è§£åĨ³ æĸ¹æ¡Ī
-Ġaware ness
-' ve
-æĸ¹ åIJij
-Ġne ver
-Ġquick ly
-Ġres pect
-çļĦæ Ļ
-Ġam ong
-Ġaccount ability
-Ġl aw
-en ing
-Ġdef in
-Ġsur round
-éĵ ģ
-Ġpower ful
-A n
-Ġcaus e
-æ ¥
-æİĮ æı¡
-è¿ĺ æĺ¯
-Ġcreat ive
-è¡ Ģ
-Ġloc ated
-un ning
-åľ° åĮº
-éĿ¢ 积
-éĽ ¨
-Ġne ar
-Ġinit i
-ress ion
-ä¸ĭ æĿ¥
-2 5
-é© ¶
-¾ çĹħ
-ab les
-æľī è¶£
-循 çݯ
-çŃĶ æ¡Ī
-çł ´
-ic ation
-éĻ ¢
-æ²» çĸĹ
-Ġad dition
-äºĭ æĥħ
-Ġbec ause
-åı Ī
-èĤ Į
-çº ª
-s ide
-æĭ ħ
-æ¹ ¿
-åį Ĭ
-é¡ º
-ĠA nd
-Ġrestaur ant
-Ġv ide
-Ġproble m
-az ing
-Ġmem bers
-Ġn ut
-Ġc ou
-æµ ª
-Ġ è¿Ļ
-Ġhelp ing
-ĠI s
-æıIJ åįĩ
-ĠĠĠĠ ĠĠ
-Ġsh o
-Ġre lev
-Ġar g
-Ġbal ance
-ill ed
-æĺ¯ ä»Ģä¹Ī
-åĬĽ éĩı
-ire d
-å¤ ľ
-åı¯ æĮģç»Ń
-Ġper fect
-* *
-ific ation
-æ¶ ī
-Ġwild life
-an e
-Ġrel ated
-室 åĨħ
-åº ľ
-享 åıĹ
-our s
-è· ij
-åķĨ ä¸ļ
-ach ing
-Ġsu n
-Ġrecogn ition
-el t
-Ġor der
-å¹³ åĿĩ
-g ing
-ä¸ ´
-çĤ ¼
-Ġgo ing
-åij¼ åIJ¸
-Ġsoft ware
-Ġre mot
-èijĹ åIJį
-幸 ç¦ı
-Ġenh ance
-èĻ ļ
-Ġn ow
-Ġth reat
-Ġd est
-åĿĩ åĮĢ
-Ġac ad
-åºĶ 对
-çľĭ åΰ
-c ast
-è¾ Ĩ
-ific ial
-Ġ very
-o ok
-åĮº åŁŁ
-¹ ģ
-æĪ¿ éĹ´
-æıIJä¾Ľ äºĨ
-Ġmot iv
-Ġaccess ible
-åĨ³ å®ļ
-Ġh y
-å® Ī
-Ġf lo
-u g
-Ġinform ed
-åĵģ è´¨
-çļĦç Ł
-av es
-ar r
-ĠW ith
-le t
-è§Ĥ çĤ¹
-en ge
-è¡Į åĬ¨
-f riend
-ç³ ķ
-Ġf urther
-ĠE ns
-ç§ ģ
-Ġad o
-Ġcle an
-缸 åºĶ
-Ġf re
-pecial ly
-è Ĺ
-Ġc apt
-çļĦç ľ
-Ġsome one
-Ġc ell
-æĶ¾ åľ¨
-欢 è¿İ
-Ġ âĢ
-Ġdev ices
-çļĦ æĸ¹å¼ı
-Ġjob s
-au gh
-n ot
-æľī äºĽ
-åħ¬ åħ±
-g est
-çļĦ çĶŁæ´»
-çľ ¼
-çļĦ ä¿¡æģ¯
-ĠC ons
-æİĴ åºı
-Ġbenef it
-re ct
-å¤ ı
-un te
-符 åIJĪ
-ä¸Ģ ä½į
-åĨħ éĥ¨
-Ġlook ing
-d ing
-æĬ ĺ
-è¾ ij
-è¿Ļ个 éĹ®é¢ĺ
-Ġes pecially
-çľ ł
-âĢĿ ãĢĤ
-å¥ ı
-ra y
-è¿ĺ åı¯ä»¥
-åĪĽ ä½ľ
-com ing
-Ġmulti ple
-éļ IJ
-æ³ ¡
-æłĩ åĩĨ
-Ġm il
-éľĢè¦ģ 注æĦı
-Ġanx iety
-æĶ¹ è¿Ľ
-å± ĭ
-污 æŁĵ
-ç¼ĸ ç¨ĭ
-è´¹ ç͍
-Ġev alu
-imate ly
-Ġlit er
-ogra ph
-Ġse arch
-1 6
-en ced
-Ġmeth ods
-çĥ Ī
-模 å¼ı
-çĬ¶ åĨµ
-æĶ¹ åĸĦ
-å¤ļ æł·
-c er
-å¥ ĸ
-Ġsat is
-Ġwebs ite
-åĬ ŀ
-åģ¥ èº«
-Ġglo bal
-Ġas k
-Ġplatform s
-Ġdise ases
-çݰ 象
-t ics
-æ± ģ
-åΤ æĸŃ
-Ġcon vers
-Ġrelations hip
-设 置
-æ³ķ å¾ĭ
-Ġmind ful
-é¢Ħ æµĭ
-o very
-åģ ľ
-ç͵ è§Ĩ
-è§Ħ åĪĻ
-ak en
-Ġimplement ing
-is ing
-åıĤ åĬł
-æĥħ 绪
-Ġprovid ed
-æ·± åħ¥
-Ġprogramm ed
-Ġrelev ant
-çļĦç ĥ
-çĸ ¾çĹħ
-åĮ» çĶŁ
-åĪĽ 建
-Ġgener ate
-æĶ¶ åħ¥
-ä¼ ij
-iz es
-Ġtrans form
-éģ µ
-ast ic
-åij Ī
-æ¯ı 个人
-è¿ Ķ
-i et
-Ġv oice
-éĢ Ķ
-æĶ¾ æĿ¾
-åį ´
-èĥ ľ
-Ġst ructure
-æĹ¶ å°ļ
-Ġ Q
-Ġel se
-du c
-Ġem p
-èģ ļ
-è´ §
-ac hes
-ç§ Ģ
-an ks
-Ġn ight
-Ġprofessional s
-Ġb as
-è´ µ
-e c
-Ġdivers ity
-it es
-d r
-åĽ° éļ¾
-ĥ åľ
-åŀ ĥåľ
-åŀĥåľ ¾
-Ġd rug
-ç¢ ³
-Ġn ame
-åĮĸ çļĦ
-a id
-æľĢ 大
-æij Ħ
-ç®Ģåįķ çļĦ
-Ġw arm
-Ġd one
-Ġfun ction
-as c
-强 è°ĥ
-Ġdem and
-Ġvis ual
-Ġup d
-æŃ£ åľ¨
-Ġsim ilar
-éĢ Ĵ
-æ¯ Ľ
-éĶ »
-ent ly
-Ġvalu able
-Ġdis aster
-ä¸Ģ èά
-æ´ ²
-ĠR eg
-Ġdiscrim ination
-åĨĻ ä¸Ģç¯ĩ
-Ġgovern ment
-Ġ 好çļĦ
-5 00
-ly ing
-Ġpre v
-Ġpre pare
-Ġproble ms
-è· ³
-Ġpro m
-åĨ ²
-å®ī è£ħ
-éĶ» çĤ¼
-æµ ĵ
-è ¹
-åºĶç͍ ç¨ĭåºı
-n g
-Ġcomp et
-åĪĨ åĪ«
-olo gical
-å® ¡
-Ġtrans l
-Ġdire ct
-åī Ĥ
-Ġsuggest ions
-Ġpap er
-Ġrecogn ize
-t on
-Ġmit igate
-讨 论
-äºĴ åĬ¨
-ĠE ar
-Ġam azing
-c re
-é¦ Ī
-Ġinvol ved
-f ace
-æľī åħ³
-) )
-Ġex ce
-Ġproduct ivity
-è Ń
-é¦ Ĩ
-Ġsound s
-Ġidentify ing
-] ,
-é¾ Ļ
-Ġf it
-Ġcontribut e
-th s
-friend ly
-e le
-if ied
-iven ess
-ite ly
-Ġ X
-Ġl ed
-åĿ ı
-Ġhist or
-Ġd at
-Ġjour ney
-Ġ }
-Ġse lect
-æ¼ «
-Ġcon duct
-è¿Ľ ä¸ĢæŃ¥
-ç»Ļ æĪij
-Ġl if
-è£ħ ä¿®
-为 ä»Ģä¹Ī
-äº ¬
-Ġn av
-Ġwho le
-ç ¹ģ
-åĨ ľ
-æĶ »
-Ġb reat
-Ġm iss
-é¾ Ħ
-t t
-s w
-Ġb ar
-请 éĹ®
-èģĶ ç½ij
-Ġatt ract
-æĤ¨ åı¯ä»¥
-O ne
-åħħ åĪĨ
-r ing
-Ġå½ĵ çĦ¶
-re am
-Ġev ol
-Ġs n
-ĠE m
-m osp
-Ġcho ose
-v iew
-Ġar r
-Ġs leep
-end ed
-æŀ ¶
-Ġveh icles
-Ġf resh
-Ġorganiz ation
-è¿Ļ 段
-æ± ¤
-ĠI nt
-Ġcont ext
-åı¦ å¤ĸ
-Ġoce an
-æĦŁ åıĹ
-Ġpollut ion
-ur b
-æī§ è¡Į
-erson al
-ĠHe alth
-ä¼ĺ çĤ¹
-Ġatt ention
-æľī çĿĢ
-é£Ł æĿIJ
-Ġer r
-çļĦæĿ ¥
-çļĦç Ī
-èŃ ¦
-è· Ł
-æĹħ è¡Į
-èĴ ľ
-çļĦæĢ Ŀ
-Ġchat bot
-çļĦ éľĢæ±Ĥ
-çķ ¥
-Ġfeel ing
-Ġimplement ed
-社 åĮº
-çļĦ 建议
-æIJ ħ
-éĹ »
-åıį é¦Ī
-缴 æİ¥
-æĺ ¥
-it able
-æĪij ä¼ļ
-åį ±
-èī¯ å¥½
-Ġl iving
-åıĺ éĩı
-ĠB ut
-Ġcomple te
-Ġtre nds
-Ġm akes
-ä»Ĭ 天
-Ġdist ribut
-Ġcomm it
-Ġat mosp
-ä¼ ´
-Ġsens ors
-Ġs w
-æĹł 论
-om en
-æĶ¿ åºľ
-Ġchall enge
-Ġt urn
-çIJĨ 论
-p ar
-Ġwrit e
-ç»ı åħ¸
-em ember
-é¥ Ń
-æĸ¹ 便
-Ġc u
-Ġval ue
-Ġf und
-p ose
-è°ĥ æŁ¥
-çĿ ¡
-Ġcommunic ate
-Ġdise ase
-Ġrese arc
-Ġl ack
-arn ing
-ĠP ark
-çĦ ¦
-é«ĺ 度
-Ġr ather
-å® £
-çĪ ¶
-éĺ ¶
-è® ¢
-çĥ §
-Ġhig her
-Ġsumm ary
-ĠA ut
-çļĦæ ³
-Ġe le
-is ms
-Ġrel i
-ä¹Ł ä¼ļ
-f ra
-åijĬè¯ī æĪij
-æĬ ½
-Ġsitu ations
-Ġmar ine
-æĥ³ è¦ģ
-in ci
-in al
-Ġg ain
-Ġdiffere nce
-æľºåύ 人
-æµģ ç¨ĭ
-ĠC hat
-ç½ij ç«Ļ
-æľ «
-Ġcol or
-Ġas pect
-ç½ Ĺ
-ĠE duc
-Ġde ploy
-Ġbeaut y
-æĤ £
-ruct ion
-it ut
-æĿ Ł
-让 æĪij们
-éķ¿ åº¦
-ul es
-æ¶ī åıĬ
-Ġdig ital
-Ġexist ing
-ĠO r
-\_ \_
-Ġback ground
-çĹ ĩ
-æ¯ı 天
-p ython
-Ġfarm ers
-Ġcontin u
-" :
-Ġg iven
-å°ı æĹ¶
-Ġmom ent
-2 00
-J ohn
-éĿ¢ 对
-Ġint ro
-Ġtherap y
-è¿Ķ åĽŀ
-å¹¶ åľ¨
-Ġ z
-Ġaff ord
-ä¸ Ŀ
-å® ½
-Ġ Ã
-ĠN ational
-èĥ ¡
-Ġexercis e
-æIJħ æĭĮ
-æĶ¯ ä»ĺ
-éĺ³ åħī
-è¯ ļ
-Ġs ect
-ĠS u
-å¢ŀ éķ¿
-ç¾İ 丽
-Ġw a
-以ä¸ĭæĺ¯ ä¸ĢäºĽ
-èĽĭ ç³ķ
-Ġ ill
-æ¸ħ æĻ
-et ry
-æ¢ ¦
-ç¾İ åĽ½
-ä» į
-one y
-Ġecosystem s
-æĮĩ 导
-d ef
-9 9
-æŁ Ķ
-pp ed
-Ġlim it
-çİ ī
-Ġacad emic
-Ġrestaur ants
-Ġhe ad
-ä¿¡ ä»»
-ast ers
-å² ģ
-ak ers
-1 4
-A s
-æł ¡
-é«ĺ æķĪ
-ph as
-y n
-ç¨ĭ 度
-è¾ £
-ä¸Ĭ éĿ¢
-å®¶ å±ħ
-ter m
-ç¾İ é£Ł
-Ġo vers
-å® ĺ
-Ġind ic
-ĠY our
-S t
-形 象
-è´ ¡
-åº Ĭ
-ĠS c
-ag ra
-羣 æŃ£
-o int
-id s
-are nt
-éĵ ¶
-èģ Ĭ
-Ġreg ular
-ä¼ĺ ç§Ģ
-Ġcol le
-çĸ ij
-Ġsub ject
-Ġgreat er
-Ġst ore
-åŁ¹ è®Ń
-Ġim ag
-Ġan sw
-ä½ Ļ
-Ġsp ot
-åĪĨ åŃIJ
-Ġaud ience
-p et
-Ġv ers
-Ġtra il
-åĭ ĩ
-er ous
-Ġguid ance
-Ġspe ech
-åĵ ²
-æĺ¯ çͱ
-è´¡ çĮ®
-åIJĪéĢĤ çļĦ
-设 æĸ½
-ä»ĸ 人
-ens ive
-åĢ ¾
-al ing
-Ġproject s
-å ³
-Ġt akes
-ç» ©
-T hat
-Ġb ro
-iv ed
-Ġ &
-åĿ IJ
-place ment
-è¿ŀ æİ¥
-çļĦç¤ ¾
-ĠT ra
-Ġrel ax
-u fact
-éģ į
-Ġsur v
-åı£ åij³
-Ġcreat ivity
-o f
-å¨ ģ
-çļĦç ł
-Ġbreat h
-Ġpl aces
-Ġdesc rib
-èĭ± è¯Ń
-Ġdam age
-or ation
-为 æĤ¨
-if t
-Ġc ase
-å¹´ é¾Ħ
-Ġp ress
-çĶ ľ
-éĩ İ
-æĹħ 游
-Ġt aken
-in ed
-Ġcon cept
-æĴ Ń
-Ġinterest ing
-è· µ
-Ġse a
-6 0
-Ġf oot
-ĠN ame
-Ġresearc hers
-éĢ ģ
-Ġwe e
-) ;
-çļĦ åħ³éĶ®
-ä¼ ½
-ele br
-å¡ ij
-W e
-ç»ı 常
-Ġpopul ations
-åħ¬ å¼ı
-or n
-çĩ ĥ
-人 çĶŁ
-1 7
-æİ¥ åıĹ
-Ġloc ation
-Ġin equ
-Ġinter vent
-Ġinterest ed
-Ġdefin itely
-Ġassist ance
-è¿Ļ ä¸Ģ
-åIJĪ åIJĮ
-ä¼ĺ åĬ¿
-çļĦ å·¥ä½ľ
-Ġ1 2
-Ġmo v
-åģ ı
-åŃĺ åĤ¨
-us ive
-æĹ ı
-ï¼ī ï¼Į
-Ġg as
-Ġinterest s
-æ¸ħæĻ °
-Ġg ard
-çĸ «
-Ġs ay
-å¤ «
-g es
-èIJ ¨
-ä¸ļ åĬ¡
-个 æĢ§
-åIJ ¯
-Ġeng agement
-Ġb ig
-éľĢè¦ģ èĢĥèĻij
-Ġpr inci
-åij¨ åĽ´
-Ġopportun ity
-çģ ¾
-èĹ ı
-re l
-缺 çĤ¹
-Ġhapp y
-åĴĮ åħ¶ä»ĸ
-av a
-Ġestab lish
-鸡 èĽĭ
-i king
-ĠT rans
-rast ructure
-fore st
-èİ· åıĸ
-èĦ ļ
-in ally
-èµ ı
-Ġdel icious
-Ġresult s
-è§Ĥ å¯Ł
-å®ŀ è·µ
-Ġl ast
-Ġpol it
-æĢ§ èĥ½
-F or
-b i
-缸 ä¿¡
-ff ee
-Ġph r
-Ġfore st
-ell ing
-æµģ è¡Į
-at ic
-大 家
-ĠIn st
-æķ° åѦ
-æī ©
-å®Į åħ¨
-å¼ķ èµ·
-es e
-转 æį¢
-Ġaffect ed
-Ġrobot ics
-综 ä¸Ĭ
-Ġpro p
-让 人
-æ² ³
-ä¸Ń æľĢ
-Ġaut onomous
-Ġha ving
-Ġtri p
-ur y
-Ġbi ased
-Ġconsider ations
-Ġpartic ular
-åį ł
-æİ¨ 广
-Ġiniti atives
-ial s
-åij³ éģĵ
-Ġtreat ments
-Ġem phas
-çĭ¬çī¹ çļĦ
-Ġl ay
-æĶ¿ çŃĸ
-æĢİ ä¹Ī
-ron ic
-pl ay
-Ġco ok
-è¿Ľ åħ¥
-è½ ®
-Ġvol unte
-Ġra in
-ĠM on
-Ġconsum ption
-èĽĭ çϽ
-ĠS oc
-å£ ¤
-Ġrout ine
-Ġimpro ved
-T o
-人 çī©
-读 èĢħ
-Ġgo al
-广 åijĬ
-éķ¿ æľŁ
-Ġe y
-H e
-Ġout do
-Ġcu is
-Ġa way
-Ġbo oks
-Ġtop ic
-大 åĪ©
-h ouse
-Ġon es
-ç§ Ł
-' :
-æĪ¿ å±ĭ
-ç§» åĬ¨
-Ġdis asters
-est s
-ill ing
-绿 èī²
-åĵ² åѦ
-æĪIJ åĪĨ
-Ġocc ur
-ľ ä¼½
-åľŁ 壤
-çļĦ 主è¦ģ
-çݰ å®ŀ
-Ġanim al
-é¢Ĩ 导
-Ġview s
-éĤ ®
-æ°§ åĮĸ
-ath y
-éģĵ å¾·
-社交 åªĴä½ĵ
-ĠP ersonal
-Ľ åĽ´
-Ġpur ch
-Ġcount ry
-Ġrem ind
-å¯ ¸
-Ġr ights
-çļĦ çݯå¢ĥ
-ĠP r
-Ġl ine
-ib r
-é© ¾
-Ġm aj
-Ġover come
-Ġne xt
-æīĢ è¿°
-è§Ħ å®ļ
-Ġinteract ions
-Ġconf lic
-Ġwh y
-ç³» åĪĹ
-å° ¼
-ib ly
-çīĽ å¥¶
-Ġrespons es
-s es
-åѦ ä¼ļ
-b ol
-Ġstand ards
-ul ner
-对è¯Ŀ åĨħ容
-l ished
-çļĦæĢ §
-çĶŁæĢģ ç³»ç»Ł
-an n
-æĥħåĨµ ä¸ĭ
-寻 æ±Ĥ
-Ġh old
-d en
-åį ĥ
-Ġment ion
-ĠMan y
-缴 åΰ
-éģ Ĺ
-he l
-Ġbelie ve
-ar ies
-æľī ä¸Ģ个
-1 3
-Ġatmosp here
-Ġm or
-æĹ¥ æľŁ
-ä¹ ħ
-ä½ł 好
-Ġaddress ing
-ĠâĢ ĵ
-çļĦåľ° æĸ¹
-m ing
-Ġcan not
-Ġman ufact
-Ġp ie
-ic ing
-Ġstud ies
-ç¾İ åij³
-ĠAmeric an
-ĠN LP
-Ġacc ording
-ms elves
-èĦ Ĥ
-èĩª ä¿¡
-æīĢ éľĢ
-Ġthe mselves
-Ġremot e
-åŁ¹ åħ»
-å®ī æİĴ
-ä½ł éľĢè¦ģ
-Ġreg ard
-ir ing
-è¯Ĩ åĪ«
-Ġart icle
-æģ Ĵ
-æĢ» çļĦæĿ¥
-Ġal ign
-æ± ł
-ten ance
-fact ion
-åĬ¨ ä½ľ
-çļĦç ©
-ç¼ ©
-æĢ ¥
-Ġ1 00
-Ġtest ing
-åŃĹ æ¯į
-å¹´ è½»
-åζ éĢł
-Ġs we
-å° º
-he ns
-æ°´ æŀľ
-Ġinf rastructure
-èī² å½©
-æĢ»çļĦæĿ¥ 说
-æľī ä»Ģä¹Ī
-te xt
-车 è¾Ĩ
-Ġp ay
-ro p
-Ċ ĠĠ
-Ġcaus ed
-Ġcor rect
-Ġ ì
-èĥ ŀ
-ĠM ed
-ç²¾ ç¥ŀ
-æ°ĶåĢĻ åıĺåĮĸ
-ĠR ed
-äºĴ èģĶç½ij
-Ġeng age
-åĪĨ 为
-ĠD ata
-Ġful l
-en c
-éĩį æĸ°
-æŃ£ç¡® çļĦ
-çļĦæ° Ķ
-åıĮ æĸ¹
-Ġcom es
-åı¤ 代
-æŁIJ äºĽ
-åijĪ çݰ
-Ġto day
-ag ed
-æĪij åı¯ä»¥
-æĹ¥ 常
-æ» ij
-Ġcl in
-Ġ \
-Ġo bs
-Ġart ificial
-Ġexce ll
-çļĦç ¬
-all s
-Ġprodu ce
-ĠD es
-os s
-è¹ Ī
-Ġdra w
-Ġlet ter
-Ġadv ice
-Ġhigh ly
-çĬ ¯
-综ä¸Ĭ æīĢè¿°
-满 æĦı
-Ġprinci ples
-èĮ Ħ
-Ġfeel ings
-çļĦæ ´
-Ġh om
-Ġf ail
-Ġcro p
-å§ ľ
-Ġquest ion
-Ġdis abilities
-èĪŀ è¹Ī
-Ġimp lications
-r al
-Ġs ing
-4 0
-Ġfam il
-Ġgovern ments
-Ġrec ord
-å½¢ çĬ¶
-Ġbe gin
-is es
-çļĦæĥ ³
-ach ine
-è° ±
-Ġv ulner
-Ġpro per
-Ġovers ight
-è´Ł éĿ¢
-Ġem ail
-Ġnew s
-Ġexpl oring
-Ġf avor
-æ¥ ¼
-å® ľ
-Ġun ivers
-å·® å¼Ĥ
-ï¼ī ãĢĤ
-è§£åĨ³ éĹ®é¢ĺ
-Ġfam ous
-g n
-Ġmess age
-at itude
-Ġc ra
-Ġco ver
-æ·± åĪ»
-åı¯ä»¥ éĢīæĭ©
-çĶŁæ´» ä¸Ń
-ç§į ç±»
-Ġsm art
-on str
-ve y
-çĶ ²
-Ġreg ularly
-ĠS m
-æĦŁ è§ī
-Ġthough t
-Ġex h
-c ure
-ç» ĺ
-认 è¯Ĩ
-Ġo ld
-æĦ ī
-称 为
-Ġfiel ds
-Ġcons ist
-ã ģ
-ç»Ĩ èĥŀ
-Ġh ours
-8 0
-al king
-è§ī å¾Ĺ
-ç» Ŀ
-ä½ł 们
-ĠEng lish
-Ġsignificant ly
-Ġs ource
-Ġan t
-Ġeducation al
-Ġtas k
-Ġhand le
-æIJ ľ
-ĠS p
-Ġcall ed
-Ġter ms
-æ² ī
-Ġw in
-duct ion
-Ġmod ern
-Ġcuis ine
-å¥ Ĺ
-è§ ¦
-olut ely
-ç« ¥
-p ite
-Ġf elt
-Ġcomp re
-Ġw ond
-è¿IJ è¡Į
-Ġres il
-缸 ä¼¼
-éĩij èŀį
-çα æĥħ
-ç¬ Ķ
-èĪ ª
-è° Ī
-åĬĽ çļĦ
-æľī æīĢ
-æ½ ľ
-ul ate
-Ġdetect ion
-宣 ä¼ł
-Ġmat ter
-éĩı åŃIJ
-W rite
-ç»ĵ åIJĪ
-ç»ı è¿ĩ
-Ġdevelop ers
-è ª
-Ġ ---
-人 éĻħ
-çŃ ¾
-ï¼ļ âĢľ
-Ġinnov ative
-ãĢĤ âĢĿ
-å½ ¼
-é¥ ¼
-è¿ĩ 度
-Ġplan et
-åħ °
-å¸ ģ
-æķ ¬
-Ġleg al
-Ġlo t
-æĪIJ为 äºĨ
-i ate
-Ġm is
-åģĩ 设
-çļĦ æĸĩ竳
-ĠCom pan
-Ġd oc
-Ġcare ful
-Ġe ver
-æĪij们 å°Ĩ
-ä¾ĭ åŃIJ
-ä¹ ³
-ä½ľ èĢħ
-åIJ §
-æļ ´
-Ġrem ember
-缮 çļĦ
-Ġp ut
-常è§ģ çļĦ
-Ġf est
-建 设
-å®ŀ ç͍
-Ġact ive
-çª Ĺ
-ou th
-åİŁ çIJĨ
-Ġtry ing
-è¿ ·
-缸 åIJĮ
-éħĴ åºĹ
-An other
-æľĢ ä½³
-Ġanaly tics
-Ġper pet
-ip ment
-Ġ å¦Ĥæŀľ
-è§Ĥ ä¼Ĺ
-Ġc elebr
-Ġhe av
-Ġmed itation
-大 æ°Ķ
-A nd
-ä¸į éĶĻ
-Ġwhe ther
-s et
-Ġdem onstr
-ä¸Ģ 款
-æĶ¶ éĽĨ
-éĻIJ åζ
-Ġ ing
-Ġrev olution
-çľ ģ
-Ġsc ience
-缮 åīį
-Ġthink ing
-± ä¹IJ
-课 ç¨ĭ
-Ġp ack
-Ġim age
-lo c
-Ġst ories
-uc k
-Ġsatis faction
-Ġcollect ion
-h o
-èµ ŀ
-éĿ¢ 临
-Ġl a
-Ġsym bol
-Ġem b
-Ġhabit ats
-Ġlow er
-Ġcontin ues
-éľ ĩ
-åĵ Ī
-ĠT ake
-Ġenviron ments
-Ġth ree
-Ġen c
-ĠA cc
-æĦı åij³
-åİ ¨
-ch an
-ĠH um
-Ġtr ue
-åĪĩ æĪIJ
-s ing
-âĢĶ âĢĶ
-åĩº æĿ¥
-Ġreg ion
-Ġinter pre
-Ġdiagnos is
-é ŀ
-Ġdo ing
-Ġr un
-Ġco ffee
-Ġmaj or
-Ġmindful ness
-Ġafford able
-çĻ ¾
-Ġdetail ed
-éĿŀ常 éĩįè¦ģçļĦ
-çļĦæ² ŁéĢļ
-çļĦæķ ħ
-åĢĴ åħ¥
-Ġthem es
-Ġnet work
-ï¼ī ï¼ļ
-ĠUn ited
-çļĦæĮ ĩ
-ort s
-åį« çĶŁ
-Ġplan ning
-æĥ ł
-åī ª
-ĠPro v
-çļĦ åºĶç͍
-Ġp eri
-Ġaccount able
-çī Ļ
-çļĦç ģ
-Ġcho ice
-ĠC omm
-id ents
-çļĦ å®īåħ¨
-å¹¶ ä¸į
-太éĺ³ ç³»
-Ġrece ive
-Ġclo se
-çļĦæĹ¶ åĢĻ
-Ġchang ing
-ä»·å̼ è§Ĥ
-Ġperpet u
-Ġse ason
-Ġm en
-Ġlearn ed
-Ġsitu ation
-Ġre place
-he ad
-让 æĪij
-åľ¨ ä¸Ģèµ·
-çļĦç© º
-éľ ²
-Ġen ough
-å±ķ çݰ
-Ġlead ers
-an cing
-Ġtemper ature
-åı «
-Ġ3 0
-æĦıåij³ çĿĢ
-æ± ĩ
-ĠGo vern
-Ġfocus ed
-u ro
-Ġsim ple
-Ġh iking
-æ¯ Ĵ
-Ġcompre hens
-äº Ī
-Ġcreat ed
-con d
-é¡ µ
-ĠW or
-è¯ģ æį®
-Ġwork place
-Ġcharact ers
-çļĦ 设计
-Ġme chan
-ĠD is
-ç¥ŀ ç§ĺ
-å· ŀ
-ĠO n
-< /
-ç§į æ¤į
-Ġpat h
-Ġlim ited
-Ġsol ar
-çļĦæ ı
-2 2
-Ġappreci ate
-å¿« ä¹IJ
-æĦŁ åıĹåΰ
-èĢ Ĺ
-m ed
-ic ine
-Ġnot e
-å½ĵ åīį
-æĪij们 åºĶ该
-Ġse en
-ä¸Ģ åIJį
-å°½ åı¯èĥ½
-è¿IJ ç®Ĺ
-è§Ĵ 度
-Ġequ ipment
-Ġsp read
-è ¸
-è® ¿
-åı¥ è¯Ŀ
-æĮ ¥
-Ġpur pose
-请 ä½ł
-Y our
-ari an
-ä» ª
-Ġperspect ives
-åĩº äºĨ
-å©ļ 礼
-Ġexcell ent
-ĠEns uring
-Ġre ach
-éĺ¶ æ®µ
-ä¿Ŀ éļľ
-Ġemp athy
-ĠM y
-çij ľä¼½
-Ġ ver
-ab el
-ĠPre dict
-Ġmain tenance
-è¯Ħ ä»·
-Ġ ult
-åĴ ¨
-o x
-åĴ¨ 询
-Ġshare d
-in a
-l ist
-Ġoutdo or
-Ġthough ts
-in ating
-éĴ ±
-Ġfra me
-éĺ ¿
-åĪ© 润
-çļĦæİ ¨
-åį ļ
-Ġrec ent
-Ġal tern
-are d
-= =
-Ġro ad
-äºĭ 项
-g ed
-y nt
-Ġspe nd
-ç½ ª
-åıĸ å¾Ĺ
-é ¹
-l i
-æĹ¶ æľŁ
-严 éĩį
-å¿ Ĩ
-å© ´
-æİ¥ ä¸ĭæĿ¥
-ĠEar th
-ĠChat bots
-Ġset ting
-ç¥ Ŀ
-éĶĢåĶ® é¢Ŀ
-ä¼ ¦
-Ġread ing
-æİ¢ 讨
-a ign
-éŀ ĭ
-Ġyou ng
-Ġcare er
-Ġteac hers
-çļĦ è´¨éĩı
-å±ŀ äºİ
-Ġeas ier
-Ġscient ific
-ç¾İ åħĥ
-Ġsp ir
-åĬ ³
-çļĦæĶ ¯
-r ist
-èµĦ 产
-çĶŁ åŃĺ
-èĩ³ å°ij
-å§ ¿
-Ġvide o
-Ġa im
-å®Ŀ å®Ŀ
-çζ æ¯į
-________ ________
-al ities
-Ġb ud
-Ġstre et
-Ġ æĺ¯
-æĸ¹ ç¨ĭ
-ä¸ĸ 纪
-c hes
-ear ch
-æĴ °
-Ġeng ine
-Ġdis placement
-ĠRo bots
-erv ised
-é¡ ¶
-ou d
-Ġw alk
-Ġemerg ency
-èģ ĺ
-n al
-Ġdat as
-åĢ º
-åIJİ çļĦ
-å¾Ī 好
-Ġmy self
-çļĦæī ĭ
-Ġus age
-Ġsh own
-æ® Ĭ
-Ġtyp ically
-u ly
-æĸ° éĹ»
-æĽ ¿
-Ġor ig
-è½» æĿ¾
-æĺ¾ 示
-Ġado pt
-èĤ¡ 票
-Ġp arent
-a ps
-æĢĿ æĥ³
-Ġmarket ing
-èĻ «
-éĥ¨ éŨ
-çļĦæķ Ī
-Ġcomfort able
-åŃ¦ä¹ł åĴĮ
-Ġfore cast
-ict ion
-Ġget ting
-Ġtre es
-av ing
-çļĦ åŁºç¡Ģ
-read y
-æĸ° é²ľ
-go ing
-¹ é¥
-Ġev idence
-¹é¥ ª
-ç§ ĭ
-æľī å¾Īå¤ļ
-éĿ¢ è¯ķ
-éģĩ åΰ
-ç»Ļ å®ļ
-ir c
-åı¯ä»¥ æł¹æį®
-驾 驶
-å·§ åħĭ
-Ġst unning
-çļĦæ ¦Ĥ
-æ¡ Į
-ĠJ ohn
-ul ation
-åıĤ èĢĥ
-Ġf lex
-çĦ¦ èĻij
-ym akers
-Ġfor ms
-s h
-v al
-ĠS o
-c o
-æİ¨ åĬ¨
-èħ ¿
-çī¹ æ®Ĭ
-Ġen ab
-å°Ĩ ä¼ļ
-æĶ¯ åĩº
-åĿļ æĮģ
-红 èī²
-Ġopt ion
-Ġstart ed
-r ation
-Ġpo etry
-Ġp ort
-g en
-èª ī
-Ġdel iv
-çĶ ļ
-éĢ »
-éĢī 项
-Ġg round
-å½¼ æŃ¤
-an a
-çļĦæĹ ¥
-åľ¨ 线
-Ġse cure
-Ġ æł¹æį®
-饮 æĸĻ
-Ġgr atitude
-第 ä¸ī
-Ġs ong
-Ġpoint s
-Ġal ready
-çļĦçĪ ±
-ĠTe chn
-Ġreal ity
-çı Ń
-Ġs ince
-Ġpopul ation
-y ond
-b or
-ĠSoc ial
-æıIJ åıĸ
-å·¥ ç¨ĭ
-a ff
-交 æĺĵ
-Ġwor th
-å¡ «
-å¨ ±ä¹IJ
-Ġdo g
-ĠAr t
-ç¡ ¬
-æµ· æ´ĭ
-åĨ Ĵ
-çī Ī
-Ġprogramm ing
-ĠAs s
-ĠM achine
-å̼ å¾Ĺ
-请 è¾ĵåħ¥
-声 éŁ³
-Ġexercis es
-åħī 线
-æ³ķ åĴĮ
-Ġfeat ure
-e ff
-è¿Ľ æŃ¥
-女 æĢ§
-Ġefficient ly
-çļĦæĬĢ æľ¯
-Ġgen etic
-令 人
-è´ ¦
-çļĦ 产åĵģ
-åİ ļ
-åĴĮ æĸĩåĮĸ
-éĻ Ħ
-Ġmo b
-综 åIJĪ
-t ers
-æľī ä¸Ģ
-å¦ Ĩ
-åį Ī
-Ġout side
-Ġprop ert
-éĤ® ä»¶
-主 ä¹ī
-Ġpolic y
-èĩª 身
-Ġnav igate
-Ġst y
-ç͵ èĦij
-Ġab ilities
-Ġfac ed
-çļĦç ¼
-çļĦ å°ı
-è ķ
-Ġt one
-ig ation
-åıĤ æķ°
-èĽĭçϽ è´¨
-ä½ Ľ
-çĶļ èĩ³
-Ġsk in
-èĴ ¸
-æĭ Ľ
-éŃ Ķ
-ash ion
-Ġing red
-æĹ ĭ
-Ġcamp aign
-Ġm ount
-Ġcons id
-Ġmus e
-n ter
-w ater
-ä¼ļ è®®
-Ġprotect ion
-ä¿Ŀ éĻ©
-Ġcro ps
-og le
-éļı æĹ¶
-æļ Ĺ
-i um
-ä¹ ı
-Ġdi et
-l ies
-ç͍ æĿ¥
-ĠEn coura
-æĬ Ĺ
-ap an
-éĺ² æŃ¢
-W ow
-çļĦ åŁºæľ¬
-å¹³ æĸ¹
-Ġst ep
-åı¯ éĿł
-表 æĺİ
-Ġpredict ions
-Ġsym pt
-Ġdiagnos es
-åħ¬ åĽŃ
-Ġsupp ly
-Ġprev ious
-ç»Ħ åIJĪ
-. ,
-çļĦ è¿ĩç¨ĭ
-æķ ı
-s u
-ar is
-çķ ħ
-oc ol
-æIJľ ç´¢
-it le
-éĨ Ĵ
-顾 客
-éĢ» è¾ij
-éĿŀ常 éĩįè¦ģ
-ĠB i
-å·¦ åı³
-am m
-Ġevery thing
-æĺ ł
-Ġincre d
-Ġpe ace
-èľ ľ
-Ġmuse um
-çĭ¬ ç«ĭ
-Ġcomprehens ive
-Ġr ates
-/ /
-Ġra d
-åĦ¿ ç«¥
-çī¹ èī²
-ĠPredict ive
-å¼ķ åĬĽ
-l er
-å° ¤
-ic ro
-è¡ ¥
-Ġdeterm ine
-çļĦ åĨħ容
-Ġcom pl
-Ġgreen house
-èħ IJ
-Ġhigh light
-Ġpart ners
-Ġdo ct
-çļĦ 使ç͍
-æŃĮ æĽ²
-æĮĩ åįĹ
-ĠA f
-æľº æŀĦ
-éĢ Ģ
-Ġpoem s
-å¿ĥ åĴĮ
-Ġatt end
-çļĦæ¸ ¸
-Ġs ide
-al es
-Ġmention ed
-ĠA bs
-Ġhistor ical
-Ġle ft
-以ä¸ĭ åĩłä¸ª
-åıĹ æ¬¢è¿İ
-èıľ åĵģ
-Ġrem ain
-æ ĩ
-Ġtour s
-ł éģĵ
-Ġerr ors
-æľº åζ
-æ ¦
-æĤ£ èĢħ
-m ore
-Ġexpert s
-çļĦçł Ķç©¶
-ç»ĵ æĿŁ
-Ġwrit ten
-çł Ķ
-Ġe t
-in put
-æ°Ķ ä½ĵ
-è ļ
-æĥ Ĭ
-Ġa ge
-éĩį å¤į
-å¼ ¹
-åŃ ¤
-Ġsympt oms
-Ġbelie f
-' d
-i ol
-Ġ1 8
-åħħ è¶³
-çı į
-force ment
-æĸ Ĺ
-ª èĮĦ
-Ġ1 5
-ä¸Ģ个 人
-Ġapp lic
-è´ ¥
-ä½į äºİ
-éϤ äºĨ
-= "
-ä¸ī è§Ĵ
-æĢĿ ç»´
-åį ·
-Ġf ru
-ĠCol labor
-Ġpr im
-Ġrequire d
-Ġw atch
-è°ĥ åij³
-ç»ĵ 论
-on y
-Ġgu ide
-Ġm ax
-ĠC ould
-Ġadv ent
-ĠO verall
-çļĦæĬ ķ
-Ġexp er
-å ĺ
-ic ial
-ost er
-çļĦ é¢ľèī²
-Ġoper ations
-éĥ ģ
-Ġm oney
-le y
-c ling
-Ġo il
-çļ® èĤ¤
-Ġg e
-Ġb at
-ĠP h
-Ġsc he
-Ġelect ric
-v est
-Ġch ain
-Ġcap abilities
-ir d
-è¯ģ æĺİ
-æľĢ 好
-iv il
-Ġdepend ing
-Ġs ave
-Ġpract ical
-Ġcult ures
-缸åºĶ çļĦ
-s y
-çļĦç ²
-Ġbeh ind
-æĹ¶éĹ´ åĴĮ
-å¹ ħ
-ĠA g
-Ġeffect iveness
-A d
-ĠO f
-Ġany thing
-å·§åħĭ åĬĽ
-Ġm ist
-Ġlangu ages
-ĠM ake
-å «
-æ£ ®
-ĠCon t
-ĠAbs olutely
-Ġinvest ment
-m at
-çļĦæķħ äºĭ
-æ¬ §
-Ġspe ed
-çļĦæ¸ ©
-Ġc ities
-åĨĻ ä½ľ
-Th anks
-Ġd ed
-åĪĨ éħį
-Ġd ark
-Ġsupport ing
-å¹ ķ
-ĠK e
-éĽ ¶
-Ġsh aring
-Ġh ouse
-认 çŁ¥
-Ġsurround ing
-Ġredu ced
-Ġf u
-Ġst or
-Ġab s
-T om
-c ent
-ĠEduc ation
-Ġth r
-ot t
-ĠTh at
-Ġhe ar
-un g
-Ġbe yond
-ĠC o
-ro om
-è¯Ĺ æŃĮ
-re me
-Ġlit tle
-Ġg ames
-ä¹ĭ åIJİ
-éĥ½ ä¼ļ
-è¯Ń éŁ³
-ç¬ ij
-çī¹ å®ļ
-第 ä¸Ģ
-Ġdep ression
-Ġinnov ation
-ĠF r
-Ġcomput er
-c an
-å³ °
-ç¼ĸåĨĻ ä¸Ģ个
-Ġintern ational
-Ġcan cer
-åѦ èĢħ
-Ġdisc over
-he t
-Ġcomp os
-Ġrec y
-Ġ2 00
-åIJ« æľī
-çĹ Ľ
-ç¼ĵ è§£
-Ġfre qu
-çĶ ³
-ĠM ar
-çļĦ éĢīæĭ©
-Ġun t
-Ġreg ions
-Ġop in
-ĠGovern ments
-æ¶ Ĥ
-åĨħ å¿ĥ
-ä¸Ĭ æľĢ
-ä»į çĦ¶
-l ier
-æ³ ³
-äºĴ 缸
-ĠSt ud
-az on
-Ġar ch
-Ġche m
-çļĦ èĥ½åĬĽ
-çļĦ ä¸Ģ个
-Ġa p
-Ġre d
-Ġw omen
-Ġpro te
-Ġfind ing
-å§ »
-éĢĤå½ĵ çļĦ
-Ġfor ward
-对 象
-Ġwa it
-Ġconsid ered
-du le
-b acks
-Ġclin ical
-åħ· å¤ĩ
-éº ¦
-Ġon going
-åĨ Ľ
-Ġf ar
-åĴĮ è°
-XX X
-Ġpolit ical
-Ġcam er
-çļĦ è¡Į为
-æĦı 大åĪ©
-Ġapp s
-åĩı è½»
-Ġread ers
-å©ļ å§»
-æ° ¸
-o res
-åħ¨ éĿ¢
-ĠAf ric
-Ġfavor ite
-Ġm ill
-Ġd ang
-ĠSt ates
-åĢ Ł
-å¯ ¿
-Ġl at
-è¿ĩ åİ»
-Ġtr uly
-åĽŀçŃĶ éĹ®é¢ĺ
-Ġco gn
-ä» °
-ĠJ apan
-iz z
-çļĦæĿ IJ
-x x
-é¢ĺ 缮
-ri ption
-éĤ£ äºĽ
-Ġbud get
-Ġv ast
-éļIJ ç§ģ
-Ġpolic ymakers
-è¿ĺ éľĢè¦ģ
-å¹¶ æıIJä¾Ľ
-Ġswe et
-Ġgener al
-æ» ¤
-Ġbir ds
-Ġpl astic
-Ċ ĉ
-åĪ º
-ment al
-Ġincl usive
-Ġtop ics
-Ġs low
-ä½ł èĥ½
-è¶³å¤Ł çļĦ
-è§Ĩ è§ī
-w w
-Ġ 使ç͍
-æī ¹
-æ¦Ĥ 念
-é£Ł ç͍
-èĢ ³
-c ks
-Ġfra ud
-Ġingred ients
-Ġf asc
-åĮĹ äº¬
-Ġf r
-Ġmanufact uring
-Ġ ä½ľä¸º
-Ġbe ach
-é¡ ¿
-eri ous
-å¤ĸ è§Ĥ
-é¢Ħ éĺ²
-æĿ¥ èĩª
-èĤĮ èĤī
-Ġd ays
-Ġass ign
-Ġadv ant
-Ġteam s
-é¢ Ĺ
-now n
-ĠP o
-} {
-Ġmin ut
-it ions
-Ġeas ily
-ĠB l
-n ame
-åѦ æł¡
-Ġrespons ibility
-åıij æĮ¥
-Ġsens itive
-çŃī äºİ
-ci ous
-Ġs ou
-å± ı
-Ġr ich
-å½ĵ çĦ¶
-m an
-Ġinterpre t
-2 4
-Ġshow s
-èģĮ åľº
-Ġf all
-è½ ½
-丰å¯Į çļĦ
-( '
-ä¿® æĶ¹
-æĽ´ æį¢
-A l
-åı¯èĥ½ æĺ¯
-Ġr ate
-Ġprotect ing
-f it
-Ġ5 0
-Ġmove ment
-è§ Ī
-Ġemploy ee
-Ġdis ord
-åĪĽ æĦı
-产åĵģ çļĦ
-æľ Ŀ
-ĊĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ
-Ġpre d
-Ġoffer ing
-åįģ åĪĨ
-èĢĮ ä¸įæĺ¯
-Th ank
-æĽ ¾
-Ġele ments
-ç² Ĵ
-Ġcour ses
-Ġintegr ated
-ĠC ar
-agra ph
-åŁº åĽł
-Ġinst ead
-èĦ ±
-åı¦ ä¸Ģ个
-å¯Ĩ çłģ
-Ġallow ed
-éĿ¢ åĮħ
-çķ ªèĮĦ
-åĴĮ åıijå±ķ
-å° ģ
-Ġconnect ion
-åľ¨ ä¸Ģ个
-Ġuse ful
-è¯Ń åı¥
-åĪĨ å¸ĥ
-表 æ¼Ķ
-æľī æĹ¶
-çļĦæĹ ħ
-çļĦæĢ »
-Ġf ashion
-èĭ ¦
-è¦ģ 注æĦı
-çĶŁ ç´ł
-Ġnut ri
-èĩª è¡Į
-çļĦç ĭ
-çIJĨè§£ åĴĮ
-Ġc at
-æľºåύ åŃ¦ä¹ł
-Ġexh ib
-åĴĮ æľįåĬ¡
-fra c
-e pend
-Ġimpact ed
-Ġ ut
-æķ° ç»Ħ
-ĠWor ld
-Ġansw er
-ers e
-éª ¨
-Ġart ists
-åŃ©åŃIJ çļĦ
-ä» Ķ
-çĻ »
-ĠA re
-Ġco ol
-Ġcogn itive
-åIJĦ 个
-l ike
-å©´ åĦ¿
-åĪĹ åĩº
-å¹ »
-ron t
-å®¶ éķ¿
-缺 ä¹ı
-Ġcy ber
-il t
-Ġcapt ure
-å Ĺ
-åľ¨ äºİ
-Ġthreat s
-åĴĮ 社ä¼ļ
-Ġcell s
-æ¸ħ åįķ
-ĠV is
-æİ ī
-Ġh ol
-åŃIJ çļĦ
-C h
-è Ŀ
-Ġs aid
-Ġd ream
-un ch
-un e
-ĠD on
-家 人
-ç± į
-æĦŁ åĴĮ
-Ġexperi enced
-çļĦéĩįè¦ģ æĢ§
-å¼ ĥ
-um p
-éĺ IJ
-Ġhabit at
-è¢ ĭ
-Ġj o
-ç®Ģ æ´ģ
-Ġb ur
-Ġvisit ors
-éĽ ħ
-çļĦçŁ ¥
-Ġent ire
-讲 述
-äºĨ ä¸ĢäºĽ
-åįı ä½ľ
-ĠB us
-å° ¾
-çļĦæķ Ļ
-olo g
-Ġsign s
-Ġspeak er
-çļĦ éŁ³ä¹IJ
-Ġno vel
-å±ħ æ°ij
-çļĦ åıĺåĮĸ
-å°½ éĩı
-Ġspir it
-å®Į ç¾İ
-è´ ·
-å¿ħè¦ģ çļĦ
-ie f
-示 ä¾ĭ
-Ġd iv
-æķ´ æķ°
-Ġeconom y
-Ġethical ly
-éĻ Ī
-Ġschool s
-Ġnet works
diff --git a/中文逐行注释/model/minimind_tokenizer/tokenizer.json b/中文逐行注释/model/minimind_tokenizer/tokenizer.json
deleted file mode 100644
index dcfabc6..0000000
--- a/中文逐行注释/model/minimind_tokenizer/tokenizer.json
+++ /dev/null
@@ -1,12603 +0,0 @@
-{
- "version": "1.0",
- "truncation": null,
- "padding": null,
- "added_tokens": [
- {
- "id": 0,
- "content": "",
- "single_word": false,
- "lstrip": false,
- "rstrip": false,
- "normalized": false,
- "special": true
- },
- {
- "id": 1,
- "content": "",
- "single_word": false,
- "lstrip": false,
- "rstrip": false,
- "normalized": false,
- "special": true
- },
- {
- "id": 2,
- "content": "",
- "single_word": false,
- "lstrip": false,
- "rstrip": false,
- "normalized": false,
- "special": true
- }
- ],
- "normalizer": null,
- "pre_tokenizer": {
- "type": "ByteLevel",
- "add_prefix_space": false,
- "trim_offsets": true,
- "use_regex": true
- },
- "post_processor": null,
- "decoder": {
- "type": "ByteLevel",
- "add_prefix_space": true,
- "trim_offsets": true,
- "use_regex": true
- },
- "model": {
- "type": "BPE",
- "dropout": null,
- "unk_token": null,
- "continuing_subword_prefix": null,
- "end_of_word_suffix": null,
- "fuse_unk": false,
- "byte_fallback": false,
- "ignore_merges": false,
- "vocab": {
- "": 0,
- "": 1,
- "": 2,
- "!": 3,
- "\"": 4,
- "#": 5,
- "$": 6,
- "%": 7,
- "&": 8,
- "'": 9,
- "(": 10,
- ")": 11,
- "*": 12,
- "+": 13,
- ",": 14,
- "-": 15,
- ".": 16,
- "/": 17,
- "0": 18,
- "1": 19,
- "2": 20,
- "3": 21,
- "4": 22,
- "5": 23,
- "6": 24,
- "7": 25,
- "8": 26,
- "9": 27,
- ":": 28,
- ";": 29,
- "<": 30,
- "=": 31,
- ">": 32,
- "?": 33,
- "@": 34,
- "A": 35,
- "B": 36,
- "C": 37,
- "D": 38,
- "E": 39,
- "F": 40,
- "G": 41,
- "H": 42,
- "I": 43,
- "J": 44,
- "K": 45,
- "L": 46,
- "M": 47,
- "N": 48,
- "O": 49,
- "P": 50,
- "Q": 51,
- "R": 52,
- "S": 53,
- "T": 54,
- "U": 55,
- "V": 56,
- "W": 57,
- "X": 58,
- "Y": 59,
- "Z": 60,
- "[": 61,
- "\\": 62,
- "]": 63,
- "^": 64,
- "_": 65,
- "`": 66,
- "a": 67,
- "b": 68,
- "c": 69,
- "d": 70,
- "e": 71,
- "f": 72,
- "g": 73,
- "h": 74,
- "i": 75,
- "j": 76,
- "k": 77,
- "l": 78,
- "m": 79,
- "n": 80,
- "o": 81,
- "p": 82,
- "q": 83,
- "r": 84,
- "s": 85,
- "t": 86,
- "u": 87,
- "v": 88,
- "w": 89,
- "x": 90,
- "y": 91,
- "z": 92,
- "{": 93,
- "|": 94,
- "}": 95,
- "~": 96,
- "¡": 97,
- "¢": 98,
- "£": 99,
- "¤": 100,
- "¥": 101,
- "¦": 102,
- "§": 103,
- "¨": 104,
- "©": 105,
- "ª": 106,
- "«": 107,
- "¬": 108,
- "®": 109,
- "¯": 110,
- "°": 111,
- "±": 112,
- "²": 113,
- "³": 114,
- "´": 115,
- "µ": 116,
- "¶": 117,
- "·": 118,
- "¸": 119,
- "¹": 120,
- "º": 121,
- "»": 122,
- "¼": 123,
- "½": 124,
- "¾": 125,
- "¿": 126,
- "À": 127,
- "Á": 128,
- "Â": 129,
- "Ã": 130,
- "Ä": 131,
- "Å": 132,
- "Æ": 133,
- "Ç": 134,
- "È": 135,
- "É": 136,
- "Ê": 137,
- "Ë": 138,
- "Ì": 139,
- "Í": 140,
- "Î": 141,
- "Ï": 142,
- "Ð": 143,
- "Ñ": 144,
- "Ò": 145,
- "Ó": 146,
- "Ô": 147,
- "Õ": 148,
- "Ö": 149,
- "×": 150,
- "Ø": 151,
- "Ù": 152,
- "Ú": 153,
- "Û": 154,
- "Ü": 155,
- "Ý": 156,
- "Þ": 157,
- "ß": 158,
- "à": 159,
- "á": 160,
- "â": 161,
- "ã": 162,
- "ä": 163,
- "å": 164,
- "æ": 165,
- "ç": 166,
- "è": 167,
- "é": 168,
- "ê": 169,
- "ë": 170,
- "ì": 171,
- "í": 172,
- "î": 173,
- "ï": 174,
- "ð": 175,
- "ñ": 176,
- "ò": 177,
- "ó": 178,
- "ô": 179,
- "õ": 180,
- "ö": 181,
- "÷": 182,
- "ø": 183,
- "ù": 184,
- "ú": 185,
- "û": 186,
- "ü": 187,
- "ý": 188,
- "þ": 189,
- "ÿ": 190,
- "Ā": 191,
- "ā": 192,
- "Ă": 193,
- "ă": 194,
- "Ą": 195,
- "ą": 196,
- "Ć": 197,
- "ć": 198,
- "Ĉ": 199,
- "ĉ": 200,
- "Ċ": 201,
- "ċ": 202,
- "Č": 203,
- "č": 204,
- "Ď": 205,
- "ď": 206,
- "Đ": 207,
- "đ": 208,
- "Ē": 209,
- "ē": 210,
- "Ĕ": 211,
- "ĕ": 212,
- "Ė": 213,
- "ė": 214,
- "Ę": 215,
- "ę": 216,
- "Ě": 217,
- "ě": 218,
- "Ĝ": 219,
- "ĝ": 220,
- "Ğ": 221,
- "ğ": 222,
- "Ġ": 223,
- "ġ": 224,
- "Ģ": 225,
- "ģ": 226,
- "Ĥ": 227,
- "ĥ": 228,
- "Ħ": 229,
- "ħ": 230,
- "Ĩ": 231,
- "ĩ": 232,
- "Ī": 233,
- "ī": 234,
- "Ĭ": 235,
- "ĭ": 236,
- "Į": 237,
- "į": 238,
- "İ": 239,
- "ı": 240,
- "IJ": 241,
- "ij": 242,
- "Ĵ": 243,
- "ĵ": 244,
- "Ķ": 245,
- "ķ": 246,
- "ĸ": 247,
- "Ĺ": 248,
- "ĺ": 249,
- "Ļ": 250,
- "ļ": 251,
- "Ľ": 252,
- "ľ": 253,
- "Ŀ": 254,
- "ŀ": 255,
- "Ł": 256,
- "ł": 257,
- "Ń": 258,
- "Ġt": 259,
- "Ġa": 260,
- "in": 261,
- "he": 262,
- "re": 263,
- "ï¼": 264,
- "ä¸": 265,
- "on": 266,
- "at": 267,
- "çļ": 268,
- "çļĦ": 269,
- "ï¼Į": 270,
- "Ġs": 271,
- "Ġc": 272,
- "nd": 273,
- "ãĢ": 274,
- "er": 275,
- "Ġthe": 276,
- "es": 277,
- "en": 278,
- "or": 279,
- "an": 280,
- "Ġand": 281,
- "ing": 282,
- "Ġp": 283,
- "it": 284,
- "al": 285,
- "ãĢĤ": 286,
- "Ġo": 287,
- "Ġw": 288,
- "ä»": 289,
- "Ġto": 290,
- "is": 291,
- "ou": 292,
- "Ġm": 293,
- "äº": 294,
- "Ġin": 295,
- "Ġf": 296,
- "Ġb": 297,
- "ed": 298,
- "ion": 299,
- "åı": 300,
- "ic": 301,
- "Ġd": 302,
- "Ġof": 303,
- "le": 304,
- "ar": 305,
- "ro": 306,
- "ĠĠ": 307,
- "åħ": 308,
- "ent": 309,
- "æľ": 310,
- "Ġe": 311,
- "åĴ": 312,
- "è¿": 313,
- "ä½": 314,
- "åĴĮ": 315,
- "æĪ": 316,
- "å®": 317,
- "åĪ": 318,
- "ve": 319,
- "us": 320,
- "Ġre": 321,
- "Ġh": 322,
- "Ġth": 323,
- "as": 324,
- "ct": 325,
- "çĶ": 326,
- "om": 327,
- "åľ": 328,
- "å¤": 329,
- "æĺ": 330,
- "åĬ": 331,
- "åIJ": 332,
- "ä¸Ģ": 333,
- "im": 334,
- "è¯": 335,
- "æĸ": 336,
- "ation": 337,
- "lo": 338,
- "ç»": 339,
- "Ġbe": 340,
- "ãĢģ": 341,
- "id": 342,
- "Ġcan": 343,
- "il": 344,
- "æĺ¯": 345,
- "ä¹": 346,
- "è®": 347,
- "ĠA": 348,
- "Ġthat": 349,
- "ĠT": 350,
- "以": 351,
- "ch": 352,
- "Ġy": 353,
- "ce": 354,
- "ï¼ļ": 355,
- "ot": 356,
- "ers": 357,
- "Ġn": 358,
- "éĢ": 359,
- "ra": 360,
- "å°": 361,
- "Ġg": 362,
- "Ġyou": 363,
- "åŃ": 364,
- "Ġpro": 365,
- "et": 366,
- "åº": 367,
- "åľ¨": 368,
- "ly": 369,
- "Ġis": 370,
- "个": 371,
- "Ġl": 372,
- "ur": 373,
- "Ġfor": 374,
- "åı¯": 375,
- "éĩ": 376,
- "st": 377,
- "çļĦæ": 378,
- "ut": 379,
- "Ġhe": 380,
- "if": 381,
- "ĥ½": 382,
- "ä¼": 383,
- "ĠI": 384,
- "è¡": 385,
- "ir": 386,
- "ith": 387,
- "å¹": 388,
- "Ġare": 389,
- "ig": 390,
- "Ġst": 391,
- "el": 392,
- "ol": 393,
- "å¸": 394,
- "ul": 395,
- "æĿ": 396,
- "æĪij": 397,
- "Ġon": 398,
- "è¦": 399,
- "æľī": 400,
- "æĹ": 401,
- "å¯": 402,
- "è§": 403,
- "è¦ģ": 404,
- "Ġus": 405,
- "ay": 406,
- "æķ": 407,
- "çī": 408,
- "ow": 409,
- "ment": 410,
- "ç͍": 411,
- "ess": 412,
- "ä¸Ń": 413,
- "们": 414,
- "人": 415,
- "åĩ": 416,
- "Ġex": 417,
- "ĠĠĠĠ": 418,
- "åĽ": 419,
- "åĮ": 420,
- "å¼": 421,
- "Ġcon": 422,
- "se": 423,
- "èĥ½": 424,
- "çİ": 425,
- "Ġan": 426,
- "Ġwith": 427,
- "为": 428,
- "ate": 429,
- "iv": 430,
- "am": 431,
- "Ġas": 432,
- "ure": 433,
- "è¿Ļ": 434,
- "åĨ": 435,
- "çŃ": 436,
- "Ġor": 437,
- "å·": 438,
- "Ġal": 439,
- "ies": 440,
- "ç§": 441,
- "Ġim": 442,
- "æĢ": 443,
- "ver": 444,
- "ab": 445,
- "äºĨ": 446,
- "Ġsu": 447,
- "Ġde": 448,
- "ge": 449,
- "th": 450,
- "åı¯ä»¥": 451,
- "èĢ": 452,
- "ä¸į": 453,
- "å¾": 454,
- "ĠAI": 455,
- "Ġen": 456,
- "éĹ": 457,
- "æī": 458,
- "ak": 459,
- "ive": 460,
- "Ġmo": 461,
- "å¥": 462,
- "éĿ": 463,
- "çĽ": 464,
- "ity": 465,
- "ä¿": 466,
- "un": 467,
- "è´": 468,
- "åį": 469,
- "Ġit": 470,
- "Ġimp": 471,
- "ect": 472,
- "æł": 473,
- "å½": 474,
- "èĩ": 475,
- "é¢": 476,
- "åĵ": 477,
- "æ³": 478,
- "ort": 479,
- "ad": 480,
- "æŀ": 481,
- "em": 482,
- "Ġcom": 483,
- "å¦": 484,
- "her": 485,
- "ere": 486,
- "ĠS": 487,
- "ial": 488,
- "ĠC": 489,
- "ĠThe": 490,
- "çIJ": 491,
- "çĶŁ": 492,
- "æĦ": 493,
- "pp": 494,
- "æŃ": 495,
- "æĸ¹": 496,
- "qu": 497,
- "Ġwh": 498,
- "å¦Ĥ": 499,
- "éľ": 500,
- "ant": 501,
- "Ġle": 502,
- "Ġv": 503,
- "æĭ": 504,
- "æĬ": 505,
- "ust": 506,
- "æĹ¶": 507,
- "çŃī": 508,
- "åij": 509,
- "对": 510,
- "ter": 511,
- "ld": 512,
- "è¡Į": 513,
- "Ġch": 514,
- "ud": 515,
- "éľĢ": 516,
- "æ°": 517,
- "æĪIJ": 518,
- "Ġ|": 519,
- "ac": 520,
- "ain": 521,
- "iz": 522,
- "æı": 523,
- "ions": 524,
- "Ġha": 525,
- "æĽ": 526,
- "--": 527,
- "æĿ¥": 528,
- "ome": 529,
- "å¿": 530,
- "'s": 531,
- "Ġne": 532,
- "est": 533,
- "ä¾": 534,
- "um": 535,
- "åΰ": 536,
- "åľ°": 537,
- "ist": 538,
- "âĢ": 539,
- "çī©": 540,
- "ä¸Ģ个": 541,
- "lp": 542,
- "æİ": 543,
- "èĩª": 544,
- "Ġhelp": 545,
- "Ġtheir": 546,
- "æĶ": 547,
- "ä½ľ": 548,
- "ä¼ļ": 549,
- "æĮ": 550,
- "æĪij们": 551,
- "nt": 552,
- "äºİ": 553,
- "åĪĨ": 554,
- "res": 555,
- "pe": 556,
- "åĩº": 557,
- "ide": 558,
- "æĥ": 559,
- "ĠH": 560,
- "è¾": 561,
- "ĠM": 562,
- "ff": 563,
- "æ¯": 564,
- "od": 565,
- "ical": 566,
- "Ġwor": 567,
- "ä¸Ĭ": 568,
- "are": 569,
- "æĽ´": 570,
- "Ġyour": 571,
- "ä¸ĭ": 572,
- "èµ": 573,
- "ations": 574,
- "æķ°": 575,
- "Ġte": 576,
- "åİ": 577,
- "çIJĨ": 578,
- "ĠTh": 579,
- "è¿ĩ": 580,
- "å¹¶": 581,
- "du": 582,
- "éĿ¢": 583,
- "Ġad": 584,
- "ill": 585,
- "æµ": 586,
- "好": 587,
- "oc": 588,
- "act": 589,
- "éľĢè¦ģ": 590,
- "ä»ĸ": 591,
- "å±": 592,
- "Ġr": 593,
- "Ġmore": 594,
- "åѦ": 595,
- "ç®": 596,
- "igh": 597,
- "äºĽ": 598,
- "ĠB": 599,
- "åĬ¨": 600,
- "åĵģ": 601,
- "èī": 602,
- "ple": 603,
- "Ġinc": 604,
- "åIJĮ": 605,
- "Ġexp": 606,
- "ould": 607,
- "ä½ł": 608,
- "æį": 609,
- "æıIJ": 610,
- "大": 611,
- "çݰ": 612,
- "pt": 613,
- "ĠP": 614,
- "all": 615,
- "åĬł": 616,
- "ç§į": 617,
- "Ġse": 618,
- "åĬĽ": 619,
- "out": 620,
- "Ġhave": 621,
- "çº": 622,
- "ä½ĵ": 623,
- "Ġprov": 624,
- "åĮĸ": 625,
- "å¤ļ": 626,
- "å®ļ": 627,
- "Ġused": 628,
- "éĢļ": 629,
- "cc": 630,
- "è¿Ľ": 631,
- "æ´": 632,
- "Ġsh": 633,
- "Ġab": 634,
- "os": 635,
- "Ġres": 636,
- "ĠThis": 637,
- "ç¨": 638,
- "æĢ§": 639,
- "age": 640,
- "ri": 641,
- "æ¸": 642,
- "able": 643,
- "åŃIJ": 644,
- "Ġby": 645,
- "åıij": 646,
- "éĩı": 647,
- "åºĶ": 648,
- "Ġlo": 649,
- "使": 650,
- "åħ¶": 651,
- "é«": 652,
- "éĻ": 653,
- "é«ĺ": 654,
- "度": 655,
- "è§£": 656,
- "é£": 657,
- "å°Ĩ": 658,
- "æ³ķ": 659,
- "and": 660,
- "ä¿Ŀ": 661,
- "ans": 662,
- "for": 663,
- "rom": 664,
- "reat": 665,
- "Ġpl": 666,
- "çļĦç": 667,
- "常": 668,
- "è½": 669,
- "Ġwe": 670,
- "表": 671,
- "ake": 672,
- "æĪĸ": 673,
- "é¢ĺ": 674,
- "åŁ": 675,
- "Ġme": 676,
- "æĸĩ": 677,
- "ther": 678,
- "ke": 679,
- "å®¶": 680,
- "åIJĪ": 681,
- "æľĢ": 682,
- "ine": 683,
- "Ġsome": 684,
- "ç±": 685,
- "éĩį": 686,
- "æŀľ": 687,
- "ĠW": 688,
- "ĠE": 689,
- "éĺ": 690,
- "our": 691,
- "rou": 692,
- "çĤ": 693,
- "æ±": 694,
- "åħ³": 695,
- "Ġint": 696,
- "ance": 697,
- "ä¹Ł": 698,
- "éģ": 699,
- "ĠĠĠ": 700,
- "å®ĥ": 701,
- "ag": 702,
- "æ¬": 703,
- "00": 704,
- "è°": 705,
- "ult": 706,
- "yst": 707,
- "éĹ´": 708,
- "ç³": 709,
- "Ġtr": 710,
- "pl": 711,
- "art": 712,
- "æĦŁ": 713,
- "æĤ": 714,
- "ata": 715,
- "ĠF": 716,
- "form": 717,
- "计": 718,
- "Ġfrom": 719,
- "ĠD": 720,
- "éĹ®": 721,
- "ight": 722,
- "ces": 723,
- "æį®": 724,
- "lop": 725,
- "ä¹ĭ": 726,
- "Ġfe": 727,
- "åģ": 728,
- "velop": 729,
- "Ġ1": 730,
- "åĽł": 731,
- "ks": 732,
- "æ²": 733,
- "Ġu": 734,
- "å°ı": 735,
- "ystem": 736,
- "Ġdis": 737,
- "ĠR": 738,
- "gy": 739,
- "å·¥": 740,
- "ç¨ĭ": 741,
- "å¢": 742,
- "ence": 743,
- "èĤ": 744,
- "ç¡": 745,
- "Ġtra": 746,
- "å»": 747,
- "åħ¥": 748,
- "ign": 749,
- "alth": 750,
- "Ġsuch": 751,
- "ach": 752,
- "æĻ": 753,
- "arn": 754,
- "Ġdata": 755,
- "è¶": 756,
- "å®ŀ": 757,
- "so": 758,
- "Ġdevelop": 759,
- "ç¤": 760,
- "Ġacc": 761,
- "ast": 762,
- "èĢĮ": 763,
- "Ġ\"": 764,
- "Ġother": 765,
- "建": 766,
- "Ġeff": 767,
- "ç«": 768,
- "Ġman": 769,
- "åħ¬": 770,
- "åĢ": 771,
- "çĦ": 772,
- "ms": 773,
- "å¼ı": 774,
- "èī²": 775,
- "å¾Ĺ": 776,
- "ific": 777,
- "Ġj": 778,
- "Ġro": 779,
- "Ġhas": 780,
- "chn": 781,
- "olo": 782,
- "åζ": 783,
- "èĬ": 784,
- "使ç͍": 785,
- "ous": 786,
- "ual": 787,
- "Ġat": 788,
- "Ġem": 789,
- "ell": 790,
- "Ġsystem": 791,
- "Ġhealth": 792,
- "ities": 793,
- "Ġexam": 794,
- "ib": 795,
- "éĶ": 796,
- "Ġabout": 797,
- "产": 798,
- "åIJİ": 799,
- "æĦı": 800,
- "ç±»": 801,
- "Ġpre": 802,
- "æĤ¨": 803,
- "Ġalso": 804,
- "ents": 805,
- "Ġind": 806,
- "ind": 807,
- "éĢĤ": 808,
- "Ġtechn": 809,
- "ress": 810,
- "æĥħ": 811,
- "éĹ®é¢ĺ": 812,
- "Ġuse": 813,
- "ï¼Ł": 814,
- "Ġincl": 815,
- "Ġspe": 816,
- "ich": 817,
- "ps": 818,
- "æľº": 819,
- "Ġthey": 820,
- "ie": 821,
- "Ġhow": 822,
- "Ġwork": 823,
- "ä¸ļ": 824,
- "ç´": 825,
- "Ġimpro": 826,
- "Ġlearn": 827,
- "æĸ°": 828,
- "çĤ¹": 829,
- "Ġcont": 830,
- "ard": 831,
- "çĦ¶": 832,
- "æľ¬": 833,
- "ç³»": 834,
- "ç¡®": 835,
- "设": 836,
- "åħ·": 837,
- "éĢī": 838,
- "èĢħ": 839,
- "éħ": 840,
- "gh": 841,
- "__": 842,
- "Ġnot": 843,
- "çľ": 844,
- "缸": 845,
- "Ġprovide": 846,
- "åī": 847,
- "ional": 848,
- "Ġens": 849,
- "ä¸İ": 850,
- "è´¨": 851,
- "ential": 852,
- "ç»ı": 853,
- "å¿ĥ": 854,
- "ang": 855,
- "æŃ¤": 856,
- "end": 857,
- "Ġpo": 858,
- "è¿Ľè¡Į": 859,
- "ice": 860,
- "Ġ-": 861,
- "Ġway": 862,
- "å·±": 863,
- "Ġ2": 864,
- "ime": 865,
- "ç½": 866,
- "èĩªå·±": 867,
- "Ġun": 868,
- "bot": 869,
- "Ġinclud": 870,
- "ated": 871,
- "æ°´": 872,
- "éķ": 873,
- "æĮģ": 874,
- "代": 875,
- "é¡": 876,
- "æīĢ": 877,
- "çĿ": 878,
- "pport": 879,
- "ood": 880,
- "ike": 881,
- "ru": 882,
- "Ġcomm": 883,
- "ĠL": 884,
- "ä¿¡": 885,
- "ĠG": 886,
- "çŁ": 887,
- "ç͵": 888,
- "Ġwas": 889,
- "low": 890,
- "erv": 891,
- "åĮħ": 892,
- "ĠĠĠĠĠĠĠĠ": 893,
- "Ġwhe": 894,
- "dit": 895,
- "Ġwhich": 896,
- "Ġcomp": 897,
- "éª": 898,
- "ore": 899,
- "ç¾": 900,
- "Ġ=": 901,
- "çī¹": 902,
- "iff": 903,
- "ert": 904,
- "æģ": 905,
- "rit": 906,
- "Ġrec": 907,
- "åĨħ": 908,
- "æĺİ": 909,
- "ors": 910,
- "Ġpat": 911,
- "----": 912,
- "æŁ": 913,
- "Ġapp": 914,
- "ns": 915,
- "åĬ¡": 916,
- "aly": 917,
- "ace": 918,
- "æ´»": 919,
- "ä¾Ľ": 920,
- "av": 921,
- "主": 922,
- "Ġpers": 923,
- "çĥ": 924,
- "该": 925,
- "Ġmy": 926,
- "ç©": 927,
- "eri": 928,
- "让": 929,
- "æĬĢ": 930,
- "éķ¿": 931,
- "ack": 932,
- "ĠN": 933,
- "Ġdiff": 934,
- "Ġthis": 935,
- "åĿ": 936,
- "Ġensure": 937,
- "å½ĵ": 938,
- "Ġout": 939,
- "Ġcl": 940,
- "Ġk": 941,
- "é¦": 942,
- "ount": 943,
- "çݯ": 944,
- "åĬ©": 945,
- "Ġtechnolo": 946,
- "Ġthese": 947,
- "ful": 948,
- "éļ": 949,
- "æ·": 950,
- "ä¸ĢäºĽ": 951,
- "Ġsoc": 952,
- "å¼Ģ": 953,
- "天": 954,
- "Ġev": 955,
- "Ġredu": 956,
- "Ġthem": 957,
- "Ġ(": 958,
- "éĥ½": 959,
- "æĪ·": 960,
- "è·": 961,
- "åľº": 962,
- "æ°Ķ": 963,
- "ĠY": 964,
- "è¯Ń": 965,
- "éĢļè¿ĩ": 966,
- "å±ķ": 967,
- "Ġco": 968,
- "å½±": 969,
- "ç¬": 970,
- "Ġanaly": 971,
- "æ¯Ķ": 972,
- "åħ¨": 973,
- "Ġimprove": 974,
- "ç»ĵ": 975,
- "å¹´": 976,
- "çķ": 977,
- "çĿĢ": 978,
- "Ġhum": 979,
- "Ġqu": 980,
- "ç®Ĺ": 981,
- "ĠO": 982,
- "é£Ł": 983,
- "ility": 984,
- "Ġsystems": 985,
- "åıĺ": 986,
- "ail": 987,
- "ç¼": 988,
- "çł": 989,
- "è¿Ļ个": 990,
- "æıIJä¾Ľ": 991,
- "ase": 992,
- "åŀ": 993,
- "ments": 994,
- "Ġpot": 995,
- "Ġany": 996,
- "ä½Ĩ": 997,
- "Ġcons": 998,
- "ĠIt": 999,
- "æł¼": 1000,
- "Ġar": 1001,
- "æľ¯": 1002,
- "éĿŀ": 1003,
- "Ġdo": 1004,
- "Ġmay": 1005,
- "æĭ©": 1006,
- "ue": 1007,
- "éĢīæĭ©": 1008,
- "ry": 1009,
- "éĥ": 1010,
- "Ġlike": 1011,
- "ong": 1012,
- "èģ": 1013,
- "``": 1014,
- "ile": 1015,
- "æ±Ĥ": 1016,
- "Ġnew": 1017,
- "ient": 1018,
- "Ġimpact": 1019,
- "è¿ĺ": 1020,
- "注": 1021,
- "ä¹Ī": 1022,
- "缮": 1023,
- "âĢľ": 1024,
- "âĢĿ": 1025,
- "ef": 1026,
- "ä¾ĭ": 1027,
- "Ġpotential": 1028,
- "ok": 1029,
- "åı¯èĥ½": 1030,
- "Ġtrans": 1031,
- "Ġact": 1032,
- "ï¼ī": 1033,
- "Ġspec": 1034,
- "æ¶": 1035,
- "Ġwill": 1036,
- "交": 1037,
- "ize": 1038,
- "ç¾İ": 1039,
- "å¸Ĥ": 1040,
- "Ġstud": 1041,
- "pon": 1042,
- "èº": 1043,
- "ä¸įåIJĮ": 1044,
- "one": 1045,
- "å¾Ī": 1046,
- "åıĬ": 1047,
- "å¦Ĥæŀľ": 1048,
- "çIJĥ": 1049,
- "ange": 1050,
- "Ġneed": 1051,
- "å¤ĸ": 1052,
- "ety": 1053,
- "aking": 1054,
- "请": 1055,
- "ater": 1056,
- "Ġperson": 1057,
- "ident": 1058,
- "Ġso": 1059,
- "Ġmake": 1060,
- "å¹³": 1061,
- "å¤Ł": 1062,
- "身": 1063,
- "ï¼Ī": 1064,
- "Ġinform": 1065,
- "æ¡": 1066,
- "äºĭ": 1067,
- "åıĹ": 1068,
- "ased": 1069,
- "ild": 1070,
- "Ġoff": 1071,
- "Ġthere": 1072,
- "cis": 1073,
- "è¢": 1074,
- "éĥ¨": 1075,
- "æ¯ı": 1076,
- "ract": 1077,
- "ass": 1078,
- "Ġlearning": 1079,
- "åĸ": 1080,
- "å½¢": 1081,
- "ire": 1082,
- "ä»İ": 1083,
- "bots": 1084,
- "èĻ": 1085,
- "帮": 1086,
- "Ġdes": 1087,
- "ĠIn": 1088,
- "cess": 1089,
- "Ġpe": 1090,
- "ify": 1091,
- "Ġwho": 1092,
- "ä¹ł": 1093,
- "æľŁ": 1094,
- "Ġexperi": 1095,
- "éĤ": 1096,
- "Ġsc": 1097,
- "ep": 1098,
- "ä½ķ": 1099,
- "Ġtime": 1100,
- "éĿŀ常": 1101,
- "æĭ¬": 1102,
- "åķ": 1103,
- "以ä¸ĭ": 1104,
- "éģĵ": 1105,
- "Ġcommun": 1106,
- "Ġcould": 1107,
- "ap": 1108,
- "èIJ": 1109,
- "è°ĥ": 1110,
- "lic": 1111,
- "duct": 1112,
- "Ġits": 1113,
- "cy": 1114,
- "说": 1115,
- "Ġmed": 1116,
- "Ġcol": 1117,
- "ular": 1118,
- "éĩįè¦ģ": 1119,
- "Ġsp": 1120,
- "åĪ©": 1121,
- "èµ·": 1122,
- "Ġprovid": 1123,
- "ices": 1124,
- "åĻ": 1125,
- "æĸĻ": 1126,
- "Ġimport": 1127,
- "ural": 1128,
- "åŃĹ": 1129,
- "Ġund": 1130,
- "int": 1131,
- "Ġover": 1132,
- "åı¸": 1133,
- "æł¹": 1134,
- "é¥": 1135,
- "ples": 1136,
- "ä»ĸ们": 1137,
- "gra": 1138,
- "uring": 1139,
- "now": 1140,
- "åįķ": 1141,
- "è¿ĻäºĽ": 1142,
- "åīį": 1143,
- "å®ī": 1144,
- "Ġpr": 1145,
- "åĮħæĭ¬": 1146,
- "ç»Ļ": 1147,
- "The": 1148,
- "ä½į": 1149,
- "å§": 1150,
- "ç´ł": 1151,
- "åijĺ": 1152,
- "Ġident": 1153,
- "åŀĭ": 1154,
- "Ġadd": 1155,
- "强": 1156,
- "æĺ¯ä¸Ģ": 1157,
- "ip": 1158,
- "gor": 1159,
- "Ġsupport": 1160,
- "ne": 1161,
- "Ġdiffere": 1162,
- "åħĥ": 1163,
- "Ġass": 1164,
- "åĨ³": 1165,
- "éĽ": 1166,
- "åIJį": 1167,
- "Ġgo": 1168,
- "Ġtechnology": 1169,
- "æĢ»": 1170,
- "è®®": 1171,
- "Ġinter": 1172,
- "Ġinv": 1173,
- "Ġour": 1174,
- "æķĪ": 1175,
- "ustom": 1176,
- "Ġrel": 1177,
- "ife": 1178,
- "åύ": 1179,
- "ings": 1180,
- "ä»·": 1181,
- "Ġpart": 1182,
- "被": 1183,
- "æīĭ": 1184,
- "ary": 1185,
- "Ġrespon": 1186,
- "ĊĠĠĠ": 1187,
- "好çļĦ": 1188,
- "ative": 1189,
- "帮åĬ©": 1190,
- "绣": 1191,
- "æĶ¾": 1192,
- "ĠHere": 1193,
- "çģ": 1194,
- "Ġbut": 1195,
- "æģ¯": 1196,
- "æŃ£": 1197,
- "ark": 1198,
- "åħ¬åı¸": 1199,
- "ory": 1200,
- "å¢ĥ": 1201,
- "lect": 1202,
- "éŁ": 1203,
- "æĥ³": 1204,
- "é£İ": 1205,
- "ating": 1206,
- "Ġam": 1207,
- "its": 1208,
- "æ»": 1209,
- "gorith": 1210,
- "åĵį": 1211,
- "ures": 1212,
- "Ġeffect": 1213,
- "Ġshould": 1214,
- "Ġper": 1215,
- "è±": 1216,
- "ç²": 1217,
- "ict": 1218,
- "Ġalgorith": 1219,
- "uc": 1220,
- "rough": 1221,
- "ä»»": 1222,
- "ä»¶": 1223,
- "Ġbet": 1224,
- "ia": 1225,
- "Ġanalyz": 1226,
- "æł¹æį®": 1227,
- "ized": 1228,
- "æµģ": 1229,
- "è§Ĥ": 1230,
- "è£": 1231,
- "æłĩ": 1232,
- "iron": 1233,
- "Ġcustom": 1234,
- "Ġreg": 1235,
- "Ġpersonal": 1236,
- "èĥ½å¤Ł": 1237,
- "ics": 1238,
- "ivid": 1239,
- "çĪ": 1240,
- "èµĦ": 1241,
- "æŃ¥": 1242,
- "容": 1243,
- "åĪĽ": 1244,
- "èĪ": 1245,
- "ä¹IJ": 1246,
- "导": 1247,
- "gan": 1248,
- "èĬĤ": 1249,
- "Ġall": 1250,
- "ens": 1251,
- "ame": 1252,
- "ness": 1253,
- "Ġup": 1254,
- "ĠU": 1255,
- "èĢĥ": 1256,
- "elf": 1257,
- "å̼": 1258,
- "å°ij": 1259,
- "æľį": 1260,
- "ari": 1261,
- "thical": 1262,
- "viron": 1263,
- "èĥ": 1264,
- "ord": 1265,
- "Ġsign": 1266,
- "éĩĮ": 1267,
- "ound": 1268,
- "ople": 1269,
- "åŁº": 1270,
- "Ġinformation": 1271,
- "Ġidentify": 1272,
- "åĽŀ": 1273,
- "Ġcre": 1274,
- "éŁ³": 1275,
- "ible": 1276,
- "ub": 1277,
- "è¿IJ": 1278,
- "Ġlead": 1279,
- "游": 1280,
- "次": 1281,
- "åĨĻ": 1282,
- "éĤ£": 1283,
- "get": 1284,
- "èį": 1285,
- "Ġexample": 1286,
- "ä¼ĺ": 1287,
- "å½±åĵį": 1288,
- "ish": 1289,
- "xt": 1290,
- "æº": 1291,
- "éªĮ": 1292,
- "ob": 1293,
- "客": 1294,
- "å¤ĩ": 1295,
- "åģ¥": 1296,
- "车": 1297,
- "社": 1298,
- "ividual": 1299,
- "ered": 1300,
- "les": 1301,
- "Ġenviron": 1302,
- "Ġpeople": 1303,
- "æĺŁ": 1304,
- "çĸ": 1305,
- "çĭ": 1306,
- "Ġdet": 1307,
- "æĹł": 1308,
- "Ġif": 1309,
- "ose": 1310,
- "ite": 1311,
- "å¢ŀ": 1312,
- "éĴ": 1313,
- "åIJĮæĹ¶": 1314,
- "è¿°": 1315,
- "æĸ¹å¼ı": 1316,
- "åĽ½": 1317,
- "é»": 1318,
- "å¤Ħ": 1319,
- "Ġexamples": 1320,
- "æ®": 1321,
- "Ġinto": 1322,
- "æĮĩ": 1323,
- "Ġhuman": 1324,
- "åIJij": 1325,
- "示": 1326,
- "æķ°æį®": 1327,
- "Ġ3": 1328,
- "ĠJ": 1329,
- "èı": 1330,
- "çݯå¢ĥ": 1331,
- "als": 1332,
- "erst": 1333,
- "Ġethical": 1334,
- "ç»Ħ": 1335,
- "ä¼ł": 1336,
- "Ġdifferent": 1337,
- "Ġknow": 1338,
- "åºı": 1339,
- "Ġindividual": 1340,
- "æıIJé«ĺ": 1341,
- "round": 1342,
- "å°±": 1343,
- "åıĸ": 1344,
- "åŃĺ": 1345,
- "两": 1346,
- "çŁ¥": 1347,
- "ources": 1348,
- "ck": 1349,
- "å£": 1350,
- "ines": 1351,
- "è¾¾": 1352,
- "Ġmany": 1353,
- "æķ´": 1354,
- "æł·": 1355,
- "ditional": 1356,
- "omm": 1357,
- "çͱ": 1358,
- "éĢł": 1359,
- "å®ĥ们": 1360,
- "ues": 1361,
- "Ġment": 1362,
- "Ġimportant": 1363,
- "Ġopt": 1364,
- "Ġloc": 1365,
- "ph": 1366,
- "Ġprocess": 1367,
- "Ġalgorithms": 1368,
- "设计": 1369,
- "Ġsocial": 1370,
- "very": 1371,
- "åĪĻ": 1372,
- "ä¾ĭå¦Ĥ": 1373,
- "认": 1374,
- "Ġaut": 1375,
- "Ġserv": 1376,
- "gg": 1377,
- "产åĵģ": 1378,
- "è§Ħ": 1379,
- "çľĭ": 1380,
- "vel": 1381,
- "æĸ¹æ³ķ": 1382,
- "Ġben": 1383,
- "åĽłæŃ¤": 1384,
- "care": 1385,
- "per": 1386,
- "åĬŁ": 1387,
- "建议": 1388,
- "Ġpos": 1389,
- "æ¤": 1390,
- "we": 1391,
- "åĮº": 1392,
- "iqu": 1393,
- "Ġreal": 1394,
- "æĹ¥": 1395,
- "Ġreduce": 1396,
- "af": 1397,
- "angu": 1398,
- "Ġsk": 1399,
- "Ġed": 1400,
- "erstand": 1401,
- "åĨµ": 1402,
- "mot": 1403,
- "åħĪ": 1404,
- "ç¥": 1405,
- "åºĶ该": 1406,
- "Ġthrough": 1407,
- "Ġconc": 1408,
- "åıijå±ķ": 1409,
- "è¯ķ": 1410,
- "æ¡Ī": 1411,
- "Ġenvironment": 1412,
- "åı£": 1413,
- "Ġadv": 1414,
- "åĪ«": 1415,
- "Ġbenef": 1416,
- "æ¸ħ": 1417,
- "åij³": 1418,
- "åħī": 1419,
- "Ġdevelopment": 1420,
- "eng": 1421,
- "å¦Ĥä½ķ": 1422,
- "管": 1423,
- "ivers": 1424,
- "åIJĦ": 1425,
- "Ġris": 1426,
- "row": 1427,
- "ergy": 1428,
- "计ç®Ĺ": 1429,
- "ä¿¡æģ¯": 1430,
- "Ġproduct": 1431,
- "è¾ĥ": 1432,
- "论": 1433,
- "èĩªå·±çļĦ": 1434,
- "æĬ¤": 1435,
- "åıį": 1436,
- "åħ¶ä»ĸ": 1437,
- "åĪĹ": 1438,
- "ç»Ĩ": 1439,
- "空": 1440,
- "Ġgreat": 1441,
- "ear": 1442,
- "æºIJ": 1443,
- "ject": 1444,
- "çĶŁæ´»": 1445,
- "ä¸ŃçļĦ": 1446,
- "Ġunderstand": 1447,
- "èĭ": 1448,
- "hat": 1449,
- "Ġprogra": 1450,
- "çĬ": 1451,
- "éĩij": 1452,
- "Ġincluding": 1453,
- "Ġaccess": 1454,
- "ĠĠĠĠĠĠĠ": 1455,
- "è¯Ĩ": 1456,
- "ç¦": 1457,
- "og": 1458,
- "è£ħ": 1459,
- "Ġart": 1460,
- "Ġwrit": 1461,
- "Ġincre": 1462,
- "Ġph": 1463,
- "æĸ¹éĿ¢": 1464,
- "Ġpract": 1465,
- "Ġusing": 1466,
- "项": 1467,
- "æİ¥": 1468,
- "Ġways": 1469,
- "Ġlangu": 1470,
- "æĶ¯": 1471,
- "Ġchall": 1472,
- "åİ»": 1473,
- "____": 1474,
- "imate": 1475,
- "æĸŃ": 1476,
- "è¨": 1477,
- "Ġwell": 1478,
- "ll": 1479,
- "Ġpol": 1480,
- "æĢģ": 1481,
- "Ġra": 1482,
- "Can": 1483,
- "åİŁ": 1484,
- "ber": 1485,
- "è¨Ģ": 1486,
- "ç«ĭ": 1487,
- "Ġgen": 1488,
- "éħį": 1489,
- "æ·±": 1490,
- "te": 1491,
- "ä¸ī": 1492,
- "ç§ij": 1493,
- "ĠFor": 1494,
- "线": 1495,
- "çħ": 1496,
- "æ¼": 1497,
- "åķĨ": 1498,
- "æĿIJ": 1499,
- "Ġsignific": 1500,
- "Ġgu": 1501,
- "Ġdecis": 1502,
- "Ġtrain": 1503,
- "Ġag": 1504,
- "Ġcreat": 1505,
- "å®Į": 1506,
- "æĹ¶éĹ´": 1507,
- "Ġone": 1508,
- "èĦ": 1509,
- "Ġnat": 1510,
- "åŃ¦ä¹ł": 1511,
- "çļĦæķ": 1512,
- "ced": 1513,
- "Ġwhen": 1514,
- "Ġbi": 1515,
- "èİ": 1516,
- "æĽ´åĬł": 1517,
- "ives": 1518,
- "port": 1519,
- "å·¥ä½ľ": 1520,
- "ving": 1521,
- "Ġbeen": 1522,
- "æĻº": 1523,
- "Ġlife": 1524,
- "å¼ķ": 1525,
- "arm": 1526,
- "çİĩ": 1527,
- "ç͍æĪ·": 1528,
- "ä¹ī": 1529,
- "份": 1530,
- "è¯Ŀ": 1531,
- "iness": 1532,
- "com": 1533,
- "康": 1534,
- "åĩı": 1535,
- "ä»Ģ": 1536,
- "è¾ĵ": 1537,
- "Ġvari": 1538,
- "con": 1539,
- "Ġmod": 1540,
- "ä»Ģä¹Ī": 1541,
- "Ġenergy": 1542,
- "æĬĢæľ¯": 1543,
- "ertain": 1544,
- "mm": 1545,
- "verall": 1546,
- "åĪĴ": 1547,
- "Ġrobots": 1548,
- "Ġorgan": 1549,
- "æİ¨": 1550,
- "ants": 1551,
- "åĩĨ": 1552,
- "ds": 1553,
- "æŀģ": 1554,
- "çĻ": 1555,
- "Ġrequ": 1556,
- "Ġess": 1557,
- "ç®Ģ": 1558,
- "ustain": 1559,
- "æ¨": 1560,
- "Ġstr": 1561,
- "cing": 1562,
- "ability": 1563,
- "ree": 1564,
- "Ġeduc": 1565,
- "åİĨ": 1566,
- "Ġcreate": 1567,
- "åģ¥åº·": 1568,
- "Ġdesign": 1569,
- "ips": 1570,
- "åģļ": 1571,
- "èĬ±": 1572,
- "ink": 1573,
- "èıľ": 1574,
- "æī¾": 1575,
- "段": 1576,
- "æµĭ": 1577,
- "ĠV": 1578,
- "ĠBy": 1579,
- "åĶ": 1580,
- "é¦ĸ": 1581,
- "è¯į": 1582,
- "Ġwhere": 1583,
- "Ġdisc": 1584,
- "äºĨè§£": 1585,
- "ric": 1586,
- "ä¸Ķ": 1587,
- "è¶³": 1588,
- "æĺ¯ä¸Ģ个": 1589,
- "arch": 1590,
- "积": 1591,
- "带": 1592,
- "Ġwhile": 1593,
- "Ġsignificant": 1594,
- "çłģ": 1595,
- "æĪ¿": 1596,
- "Ġbeing": 1597,
- "Ġlanguage": 1598,
- "itive": 1599,
- "20": 1600,
- "Ġanalyze": 1601,
- "æĻ¯": 1602,
- "èĮ": 1603,
- "rib": 1604,
- "模": 1605,
- "ĠSt": 1606,
- "è´¹": 1607,
- "'t": 1608,
- "Ġhealthcare": 1609,
- "Ġexperience": 1610,
- "Ġ5": 1611,
- "个人": 1612,
- "ays": 1613,
- "象": 1614,
- "plo": 1615,
- "Ġwould": 1616,
- "èĻij": 1617,
- "æĶ¶": 1618,
- "é¢Ħ": 1619,
- "é¢Ĩ": 1620,
- "ä¿ĿæĮģ": 1621,
- "ences": 1622,
- "åıª": 1623,
- "èĩ´": 1624,
- "æĪı": 1625,
- "Ġmental": 1626,
- "Ġfew": 1627,
- "ates": 1628,
- "è¿ĩç¨ĭ": 1629,
- "å®īåħ¨": 1630,
- "Ġsustain": 1631,
- "Ġwere": 1632,
- "太": 1633,
- "çĮ": 1634,
- "Ġspecific": 1635,
- "Ġworld": 1636,
- "çŃĶ": 1637,
- "```": 1638,
- "Ġtake": 1639,
- "åħ»": 1640,
- "éĢŁ": 1641,
- "ever": 1642,
- "SS": 1643,
- "éĶĢ": 1644,
- "Ġbo": 1645,
- "hes": 1646,
- "Ġmus": 1647,
- "æľįåĬ¡": 1648,
- "è§Ĵ": 1649,
- "ten": 1650,
- "æŀIJ": 1651,
- "pow": 1652,
- "dict": 1653,
- "vent": 1654,
- "10": 1655,
- "çļĦæĹ": 1656,
- "ĸçķ": 1657,
- "Ġprot": 1658,
- "ç½®": 1659,
- "Ġhigh": 1660,
- "Ġbus": 1661,
- "Ġindust": 1662,
- "åIJ¦": 1663,
- "cial": 1664,
- "人们": 1665,
- "ĠAs": 1666,
- "åijĬ": 1667,
- "ade": 1668,
- "æĶ¹": 1669,
- "çĹ": 1670,
- "Ġhad": 1671,
- "Ġher": 1672,
- "Ġjust": 1673,
- "ï¼Ľ": 1674,
- "è´Ń": 1675,
- "第": 1676,
- "éĵ": 1677,
- "Ġwater": 1678,
- "Ġfood": 1679,
- "éĺŁ": 1680,
- "aus": 1681,
- "Ġchalleng": 1682,
- "åħį": 1683,
- "æĸĩåĮĸ": 1684,
- "Ġmost": 1685,
- "é¸": 1686,
- "ç½ij": 1687,
- "缴": 1688,
- "Ġsm": 1689,
- "Ġactiv": 1690,
- "ploy": 1691,
- "Overall": 1692,
- "å¿«": 1693,
- "ruct": 1694,
- "Ġindividuals": 1695,
- "å§ĭ": 1696,
- "gies": 1697,
- "æŁ¥": 1698,
- "çα": 1699,
- "iety": 1700,
- "In": 1701,
- "åĪĨæŀIJ": 1702,
- "è§Ĩ": 1703,
- "温": 1704,
- "ç»´": 1705,
- "olut": 1706,
- "åŁŁ": 1707,
- "ommend": 1708,
- "Ġcomple": 1709,
- "æķĻ": 1710,
- "Ġbu": 1711,
- "Ġeducation": 1712,
- "ather": 1713,
- "Ġ4": 1714,
- "ting": 1715,
- "Ġfind": 1716,
- "没": 1717,
- "Ġhis": 1718,
- "ä¹ĭéĹ´": 1719,
- "Ġeffective": 1720,
- "Ġatt": 1721,
- "Ġrese": 1722,
- "èĥ½åĬĽ": 1723,
- "åŁİ": 1724,
- "Ġallow": 1725,
- "Ġav": 1726,
- "Ġpromot": 1727,
- "æĻºèĥ½": 1728,
- "满": 1729,
- "åħ±": 1730,
- "iew": 1731,
- "come": 1732,
- "ç³»ç»Ł": 1733,
- "Ġrespons": 1734,
- "äºĴ": 1735,
- "Ġcult": 1736,
- "powered": 1737,
- "Ġrecommend": 1738,
- "èIJ¥": 1739,
- "OSS": 1740,
- "Ġchange": 1741,
- "è¯ģ": 1742,
- "ved": 1743,
- "æİĴ": 1744,
- "è§£åĨ³": 1745,
- "ici": 1746,
- "ĠHow": 1747,
- "Ġfeel": 1748,
- "æľĪ": 1749,
- "Ġwhat": 1750,
- "以åıĬ": 1751,
- "Ġsee": 1752,
- "åŃ©": 1753,
- "bs": 1754,
- "Ġsur": 1755,
- "æ£": 1756,
- "ality": 1757,
- "Ġvis": 1758,
- "ç¡®ä¿Ŀ": 1759,
- "pect": 1760,
- "å®ŀçݰ": 1761,
- "Ġcare": 1762,
- "广": 1763,
- "ills": 1764,
- "åºŃ": 1765,
- "ases": 1766,
- "å¤į": 1767,
- "åºĶç͍": 1768,
- "çļĦæĥ": 1769,
- "ards": 1770,
- "Ġaddress": 1771,
- "Ġcompan": 1772,
- "Ġinvol": 1773,
- "Ġcustomer": 1774,
- "åĽłä¸º": 1775,
- "Ġstudents": 1776,
- "Ġins": 1777,
- "注æĦı": 1778,
- "æŀĦ": 1779,
- "欢": 1780,
- "æµ·": 1781,
- "åıĤ": 1782,
- "èĩªçĦ¶": 1783,
- "é©": 1784,
- "ĠThese": 1785,
- "wn": 1786,
- "æĺĵ": 1787,
- "çĬ¶": 1788,
- "ren": 1789,
- "Ġtreat": 1790,
- "Ġbenefits": 1791,
- "ĊĠĠĠĠĠĠĠ": 1792,
- "对äºİ": 1793,
- "æĢĿ": 1794,
- "ider": 1795,
- "ĠYes": 1796,
- "ĠK": 1797,
- "åĸľ": 1798,
- "Ġke": 1799,
- "Ġeng": 1800,
- "Ġpop": 1801,
- "ost": 1802,
- "pare": 1803,
- "Ġmon": 1804,
- "款": 1805,
- "ĠMOSS": 1806,
- "Ġemot": 1807,
- "Ġac": 1808,
- "ç¼ĸ": 1809,
- "fore": 1810,
- "åı¥": 1811,
- "Ġval": 1812,
- "ily": 1813,
- "Ġiss": 1814,
- "èĤī": 1815,
- "èĩ³": 1816,
- "游æĪı": 1817,
- "ween": 1818,
- "Ġinclude": 1819,
- "Ġprotect": 1820,
- "åħ³ç³»": 1821,
- "éĻ©": 1822,
- "Ġsever": 1823,
- "Ġthan": 1824,
- "éľĢæ±Ĥ": 1825,
- "ç»ĥ": 1826,
- "ĠThey": 1827,
- "iss": 1828,
- "ys": 1829,
- "Ġjob": 1830,
- "éĺ³": 1831,
- "æIJ": 1832,
- "Ġbetween": 1833,
- "Ġmach": 1834,
- "--------": 1835,
- "èĢĥèĻij": 1836,
- "è´¨éĩı": 1837,
- "Ġbusiness": 1838,
- "wor": 1839,
- "ick": 1840,
- "eg": 1841,
- "åħħ": 1842,
- "ç¯": 1843,
- "æĿ¡": 1844,
- "ner": 1845,
- "apt": 1846,
- "Ġappro": 1847,
- "Ġplay": 1848,
- "没æľī": 1849,
- "¤IJ": 1850,
- "æľª": 1851,
- "æĪĺ": 1852,
- "å®¶åºŃ": 1853,
- "ãĢĭ": 1854,
- "ency": 1855,
- "ĠCh": 1856,
- "ãĢĬ": 1857,
- "Ġproviding": 1858,
- "Ġresources": 1859,
- "âĢĻ": 1860,
- "Ġassist": 1861,
- "Ġnatural": 1862,
- "è¯Ħ": 1863,
- "便": 1864,
- "Ġsaf": 1865,
- "åħ·æľī": 1866,
- "è°¢": 1867,
- "çĥŃ": 1868,
- "ss": 1869,
- "eth": 1870,
- "old": 1871,
- "Ġperform": 1872,
- "Ġseveral": 1873,
- "é¤IJ": 1874,
- "Ġeach": 1875,
- "转": 1876,
- "ci": 1877,
- "Ġty": 1878,
- "Ġpub": 1879,
- "æ´»åĬ¨": 1880,
- "ocus": 1881,
- "çīĮ": 1882,
- "è¶Ĭ": 1883,
- "åĽ¢": 1884,
- "è½»": 1885,
- "è¯Ńè¨Ģ": 1886,
- "Ġareas": 1887,
- "éĩĩ": 1888,
- "ft": 1889,
- "riend": 1890,
- "å·²": 1891,
- "å¸Ĥåľº": 1892,
- "ition": 1893,
- "ients": 1894,
- "管çIJĨ": 1895,
- "许": 1896,
- "人类": 1897,
- "身ä½ĵ": 1898,
- "ique": 1899,
- "Ġpartic": 1900,
- "ç»Ń": 1901,
- "agement": 1902,
- "ves": 1903,
- "符": 1904,
- "line": 1905,
- "红": 1906,
- "åIJ¸": 1907,
- "Ġpatter": 1908,
- "000": 1909,
- "社ä¼ļ": 1910,
- "åĨħ容": 1911,
- "Ġorganiz": 1912,
- "ough": 1913,
- "Ġve": 1914,
- "åŃ©åŃIJ": 1915,
- "æĸ½": 1916,
- "æ¤į": 1917,
- "åĩł": 1918,
- "ä½Ĩæĺ¯": 1919,
- "Ġaff": 1920,
- "Ġnum": 1921,
- "lement": 1922,
- "èīº": 1923,
- "èij": 1924,
- "Ġcar": 1925,
- "ages": 1926,
- "abor": 1927,
- "æĺ¯ä¸Ģç§į": 1928,
- "Ġinst": 1929,
- "èĽ": 1930,
- "ä¹ĭä¸Ģ": 1931,
- "è·¯": 1932,
- "åį³": 1933,
- "Ġmain": 1934,
- "éļı": 1935,
- "How": 1936,
- "å¿ħ": 1937,
- "ç¨ĭåºı": 1938,
- "éŁ³ä¹IJ": 1939,
- "red": 1940,
- "æ²¹": 1941,
- "Ġoffer": 1942,
- "ets": 1943,
- "ç¢": 1944,
- "Ġduring": 1945,
- "çļĦ人": 1946,
- "æĽ´å¤ļ": 1947,
- "Ġdi": 1948,
- "代çłģ": 1949,
- "èİ·": 1950,
- "åħĭ": 1951,
- "Ġguid": 1952,
- "主è¦ģ": 1953,
- "Ġfam": 1954,
- "æİ§": 1955,
- "éĢļ常": 1956,
- "ĠAd": 1957,
- "å¤ĦçIJĨ": 1958,
- "urn": 1959,
- "ower": 1960,
- "åij½": 1961,
- "æıı": 1962,
- "Ġskills": 1963,
- "Ġtool": 1964,
- "ware": 1965,
- "æĸĩæľ¬": 1966,
- "Ġpatterns": 1967,
- "缮æłĩ": 1968,
- "acy": 1969,
- "æīĵ": 1970,
- "åŁİå¸Ĥ": 1971,
- "Ġevery": 1972,
- "ries": 1973,
- "读": 1974,
- "éģ¿": 1975,
- "çϽ": 1976,
- "éĢĤåIJĪ": 1977,
- "Ġpatient": 1978,
- "羣": 1979,
- "oth": 1980,
- "她": 1981,
- "åĶ®": 1982,
- "ä¸Ģç§į": 1983,
- "Ġmade": 1984,
- "ä½İ": 1985,
- "ise": 1986,
- "Ġrem": 1987,
- "æ¶Ī": 1988,
- "åIJ«": 1989,
- "air": 1990,
- "Ġgener": 1991,
- "oy": 1992,
- "ç²¾": 1993,
- "æĥħåĨµ": 1994,
- "ights": 1995,
- "Ġexpl": 1996,
- "è§ģ": 1997,
- "Ġpredict": 1998,
- "ç±³": 1999,
- "æĽ´å¥½": 2000,
- "ä¿®": 2001,
- "Ġclimate": 2002,
- "Ġfocus": 2003,
- "Ġgrow": 2004,
- "客æĪ·": 2005,
- "ä¸įæĸŃ": 2006,
- "itor": 2007,
- "ĠEn": 2008,
- "约": 2009,
- "æĺ¯åIJ¦": 2010,
- "ä»ħ": 2011,
- "æĪij们çļĦ": 2012,
- "æľĽ": 2013,
- "op": 2014,
- "Ġmaking": 2015,
- "yth": 2016,
- "ccess": 2017,
- "Ġown": 2018,
- "ggest": 2019,
- "Ġtas": 2020,
- "uture": 2021,
- "Ġmodel": 2022,
- "put": 2023,
- "Ġresearch": 2024,
- "erest": 2025,
- "éļ¾": 2026,
- "Ġ[": 2027,
- "iel": 2028,
- "ational": 2029,
- "Ġcommunic": 2030,
- "ç¥ŀ": 2031,
- "ç©¶": 2032,
- "Ġrest": 2033,
- "æĪIJ为": 2034,
- "king": 2035,
- "pr": 2036,
- "åĮ»": 2037,
- "cur": 2038,
- "èĤ²": 2039,
- "Ġ'": 2040,
- "è¿Ļç§į": 2041,
- "ç¯ĩ": 2042,
- "Ġche": 2043,
- "own": 2044,
- "éĻħ": 2045,
- "Ġfin": 2046,
- "åĪ¶ä½ľ": 2047,
- "Ġsuggest": 2048,
- "å¢ŀåĬł": 2049,
- "Ġmedia": 2050,
- "ribut": 2051,
- "çļĦæĥħ": 2052,
- "åĬłåħ¥": 2053,
- "Ġcle": 2054,
- "åij¨": 2055,
- "竳": 2056,
- "Ġthink": 2057,
- "Ġlocal": 2058,
- "pportun": 2059,
- "ĠYou": 2060,
- "Ġplan": 2061,
- "Ġeven": 2062,
- "éĽĨ": 2063,
- "å·§": 2064,
- "ax": 2065,
- "Ġchallenges": 2066,
- "Ġprof": 2067,
- "ĠCan": 2068,
- "Ġconcer": 2069,
- "Ġfuture": 2070,
- "åĬ¿": 2071,
- "Ġref": 2072,
- "èģĶ": 2073,
- "Ġself": 2074,
- "æĪĸèĢħ": 2075,
- "ble": 2076,
- "åĽ´": 2077,
- "è¿IJåĬ¨": 2078,
- "Ġinf": 2079,
- "éĩĬ": 2080,
- "Ġsustainable": 2081,
- "Ġtext": 2082,
- "Ġgra": 2083,
- "äºĮ": 2084,
- "åĵģçīĮ": 2085,
- "ä¸įåIJĮçļĦ": 2086,
- "led": 2087,
- "çĭ¬": 2088,
- "Ġopportun": 2089,
- "Ġcontin": 2090,
- "ym": 2091,
- "Ġget": 2092,
- "å¯Ĩ": 2093,
- "éϤ": 2094,
- "æħ": 2095,
- "éģ¿åħį": 2096,
- "Ġ+": 2097,
- "è§ī": 2098,
- "Ġret": 2099,
- "å¸ĥ": 2100,
- "Ġinterest": 2101,
- "Ġsociety": 2102,
- "ç»ĵæŀľ": 2103,
- "åIJ¬": 2104,
- "é¦ĸåħĪ": 2105,
- "Ġbre": 2106,
- "Ġ20": 2107,
- "ĠHowever": 2108,
- "è®°": 2109,
- "ons": 2110,
- "è¿ij": 2111,
- "å¼Ģå§ĭ": 2112,
- "Ġbuild": 2113,
- "Ġbeh": 2114,
- "'m": 2115,
- "vers": 2116,
- "Ġgood": 2117,
- "çIJĨè§£": 2118,
- "resent": 2119,
- "离": 2120,
- "åĬŁèĥ½": 2121,
- "Ġeffort": 2122,
- "labor": 2123,
- "é»ij": 2124,
- "Ġbetter": 2125,
- "Ġread": 2126,
- "å¾ĭ": 2127,
- "èĽĭ": 2128,
- "hed": 2129,
- "ä¹°": 2130,
- "导èĩ´": 2131,
- "Ġimplement": 2132,
- "ç¿": 2133,
- "享": 2134,
- "头": 2135,
- "ense": 2136,
- "Ġlong": 2137,
- "other": 2138,
- "饮": 2139,
- "åŃĺåľ¨": 2140,
- "çļĦæĦ": 2141,
- "ä¸Ģ份": 2142,
- "ython": 2143,
- "ning": 2144,
- "åĩıå°ij": 2145,
- "åĢĻ": 2146,
- "ä¸ĵ": 2147,
- "åIJĦç§į": 2148,
- "èħ": 2149,
- "å°½": 2150,
- "åįĩ": 2151,
- "æĬ¥": 2152,
- "Ġpublic": 2153,
- "Ġlar": 2154,
- "ä½łçļĦ": 2155,
- "aut": 2156,
- "é¢ĨåŁŁ": 2157,
- "æļ": 2158,
- "ollow": 2159,
- "èģĮ": 2160,
- "Ġchang": 2161,
- "Ġbest": 2162,
- "hip": 2163,
- "åĨį": 2164,
- "akes": 2165,
- "Ġchat": 2166,
- "ited": 2167,
- "Ġpower": 2168,
- "ä¿ĿæĬ¤": 2169,
- "书": 2170,
- "计åĪĴ": 2171,
- "éĩįè¦ģçļĦ": 2172,
- "åıĺåĮĸ": 2173,
- "ilities": 2174,
- "Ġconsider": 2175,
- "æĪij们åı¯ä»¥": 2176,
- "éĤ£ä¹Ī": 2177,
- "Ġide": 2178,
- "æ¼Ķ": 2179,
- "aging": 2180,
- "Ġbased": 2181,
- "å®Ŀ": 2182,
- "Ġrange": 2183,
- "Ġresult": 2184,
- "Ġmem": 2185,
- "çħ§": 2186,
- "Ġlevel": 2187,
- "cou": 2188,
- "Ġbr": 2189,
- "Th": 2190,
- "ä¼ģ": 2191,
- "建ç«ĭ": 2192,
- "Ġunique": 2193,
- "è®Ń": 2194,
- "Ġmark": 2195,
- "许å¤ļ": 2196,
- "è¡Į为": 2197,
- "Ķç©¶": 2198,
- "çļĦæĬ": 2199,
- "Ġset": 2200,
- "骤": 2201,
- "ts": 2202,
- "Ġhist": 2203,
- "Ġaround": 2204,
- "Ġrev": 2205,
- "åħ¶ä¸Ń": 2206,
- "ï¼ģ": 2207,
- "æııè¿°": 2208,
- "æľĢåIJİ": 2209,
- "Ġsim": 2210,
- "nect": 2211,
- "åĽŀçŃĶ": 2212,
- "éĺ²": 2213,
- "èī¯": 2214,
- "åΰäºĨ": 2215,
- "ä¸ĸçķ": 2216,
- "æĸ¹æ¡Ī": 2217,
- "æĿIJæĸĻ": 2218,
- "ä¸ĸçķĮ": 2219,
- "æĽ´å¥½åľ°": 2220,
- "两个": 2221,
- "Ġemploy": 2222,
- "Ġtry": 2223,
- "æĵ": 2224,
- "Ġback": 2225,
- "åĪĩ": 2226,
- "Ġsuccess": 2227,
- "Ġdecisions": 2228,
- "Ġthose": 2229,
- "å¯Į": 2230,
- "Ġfact": 2231,
- "æİ¢": 2232,
- "è¶£": 2233,
- "Ġpractices": 2234,
- "åIJĹ": 2235,
- "æīį": 2236,
- "çİ©": 2237,
- "ption": 2238,
- "æĸĩ竳": 2239,
- "Ġfeat": 2240,
- "Ġprevent": 2241,
- "Ġwriting": 2242,
- "çļĦæĢ": 2243,
- "Ġno": 2244,
- "ä»ĭ": 2245,
- "éŨ": 2246,
- "Ġdel": 2247,
- "æĴ": 2248,
- "Ġoptim": 2249,
- "ination": 2250,
- "ĠĊ": 2251,
- "usion": 2252,
- "Ġaccount": 2253,
- "ling": 2254,
- "Ġdivers": 2255,
- ".\"": 2256,
- "ath": 2257,
- "èĭ±": 2258,
- "ä¼ģä¸ļ": 2259,
- "Ġgrou": 2260,
- "åľ°çIJĥ": 2261,
- "失": 2262,
- "Ġpersonalized": 2263,
- "ĠHe": 2264,
- "表达": 2265,
- "curity": 2266,
- "Ġfollow": 2267,
- "产çĶŁ": 2268,
- "Ġear": 2269,
- "åİĭ": 2270,
- "vern": 2271,
- "Ġissues": 2272,
- "åĿĩ": 2273,
- "é²": 2274,
- "Ġdr": 2275,
- "iving": 2276,
- "Ġtraining": 2277,
- "Ġrisk": 2278,
- "åĩ½": 2279,
- "åı²": 2280,
- "æij": 2281,
- "çļĦæĹ¶": 2282,
- "ogn": 2283,
- "Ġrequire": 2284,
- "Ġenvironmental": 2285,
- "back": 2286,
- "éĶ®": 2287,
- "çĸĹ": 2288,
- "Ġinteract": 2289,
- "åĽ¢éĺŁ": 2290,
- "æ¯ı个": 2291,
- "çĦ¶åIJİ": 2292,
- "Ġdist": 2293,
- "ç͍äºİ": 2294,
- "认为": 2295,
- "åĩ½æķ°": 2296,
- "Ġsent": 2297,
- "ĊĠĠĠĠĠĠĠĠ": 2298,
- "Ġreducing": 2299,
- "å¹²": 2300,
- "Ġrep": 2301,
- "Ġcaus": 2302,
- "Ġmusic": 2303,
- "çª": 2304,
- "Ġmonitor": 2305,
- "Ġform": 2306,
- "é¢ľ": 2307,
- "çĹħ": 2308,
- "é¦Ļ": 2309,
- "Ġoften": 2310,
- "åı¯èĥ½ä¼ļ": 2311,
- "åijĺå·¥": 2312,
- "Ġhand": 2313,
- "æĬķ": 2314,
- "Ġneeds": 2315,
- "æŃ¤å¤ĸ": 2316,
- "åıĭ": 2317,
- "ivity": 2318,
- "Ġactivities": 2319,
- "åĸľæ¬¢": 2320,
- "Ġpur": 2321,
- "ian": 2322,
- "self": 2323,
- "åĬ¨çī©": 2324,
- "comes": 2325,
- "å©": 2326,
- "Ġpriv": 2327,
- "az": 2328,
- "Ġrelations": 2329,
- "Ġmachine": 2330,
- "çļĦæ°": 2331,
- "ä»·æł¼": 2332,
- "ä»·å̼": 2333,
- "ç´¢": 2334,
- "Ġfeed": 2335,
- "ä¸Ģä¸ĭ": 2336,
- "Ġteam": 2337,
- "Ġindustry": 2338,
- "è´¢": 2339,
- "ĠPro": 2340,
- "Ġwant": 2341,
- "ç§°": 2342,
- "Ġclass": 2343,
- "Ġlove": 2344,
- "åħ³äºİ": 2345,
- "è¾ĵåħ¥": 2346,
- "Ġtransport": 2347,
- "Ġcomplex": 2348,
- "Ġyear": 2349,
- "éĶĢåĶ®": 2350,
- "寻": 2351,
- "ience": 2352,
- "ists": 2353,
- "æĶ¯æĮģ": 2354,
- "Ġmind": 2355,
- "Ġfun": 2356,
- "Ġchar": 2357,
- "æĮī": 2358,
- "Ġconcerns": 2359,
- "conom": 2360,
- "ç®Ģåįķ": 2361,
- "以ä¸ĭæĺ¯": 2362,
- "Ġstart": 2363,
- "å¹¶ä¸Ķ": 2364,
- "avi": 2365,
- "ä¸ŃåĽ½": 2366,
- "åħĥç´ł": 2367,
- "Ġconf": 2368,
- "Ġpositive": 2369,
- "Ġcur": 2370,
- "Ġcount": 2371,
- "ery": 2372,
- "å¡": 2373,
- "室": 2374,
- "Ġcost": 2375,
- "Ġequ": 2376,
- "Ġpolic": 2377,
- "aste": 2378,
- "aw": 2379,
- "éħĴ": 2380,
- "coura": 2381,
- "iven": 2382,
- "place": 2383,
- "chie": 2384,
- "çļĦæķ°": 2385,
- "åĽłç´ł": 2386,
- "Ġfl": 2387,
- "ism": 2388,
- "Ġmedical": 2389,
- "Ġhumans": 2390,
- "Ġautom": 2391,
- "ertainly": 2392,
- "Ġ0": 2393,
- "Ġoffers": 2394,
- "Ġdetect": 2395,
- "Ġ6": 2396,
- "é£İæł¼": 2397,
- "Ġshow": 2398,
- "çģ«": 2399,
- "Ġanim": 2400,
- "é¢ľèī²": 2401,
- "lease": 2402,
- "ave": 2403,
- "åĵª": 2404,
- "ĠThere": 2405,
- "以ä¸Ĭ": 2406,
- "æľªæĿ¥": 2407,
- "XX": 2408,
- "çīĩ": 2409,
- "uch": 2410,
- "Ġtasks": 2411,
- "åħ·ä½ĵ": 2412,
- "æ¤įçī©": 2413,
- "Ġmin": 2414,
- "èīºæľ¯": 2415,
- "icult": 2416,
- "Ġexperiences": 2417,
- "æİ§åζ": 2418,
- "be": 2419,
- "Ġpatients": 2420,
- "å²": 2421,
- "ĠWe": 2422,
- "Ġrecogn": 2423,
- "çĥ¤": 2424,
- "Ġsmall": 2425,
- "åĿĹ": 2426,
- "åĦ": 2427,
- "太éĺ³": 2428,
- "ction": 2429,
- "Ġent": 2430,
- "æį¢": 2431,
- "Ġbefore": 2432,
- "Ġbecome": 2433,
- "å·²ç»ı": 2434,
- "表çݰ": 2435,
- "Ġexplo": 2436,
- "Ġachie": 2437,
- "ä»»åĬ¡": 2438,
- "大çļĦ": 2439,
- "Ġday": 2440,
- "Ġfound": 2441,
- "å±±": 2442,
- "ond": 2443,
- "Ġtreatment": 2444,
- "pend": 2445,
- "hen": 2446,
- "Ġcondit": 2447,
- "ç¡®å®ļ": 2448,
- "Ġbusinesses": 2449,
- "ĠWh": 2450,
- "æīĢæľī": 2451,
- "Ġdeveloped": 2452,
- "ç»Ī": 2453,
- "æŃ¥éª¤": 2454,
- "Ġdifficult": 2455,
- "åı·": 2456,
- "ĠRe": 2457,
- "éĶĻ": 2458,
- "Ġcho": 2459,
- "Ġquest": 2460,
- "Ġtranspare": 2461,
- "Ġproject": 2462,
- "Ġcommunity": 2463,
- "ov": 2464,
- "å¸Ī": 2465,
- "å¼ł": 2466,
- "åĪĨç±»": 2467,
- "人çļĦ": 2468,
- "sis": 2469,
- "çĽĬ": 2470,
- "oid": 2471,
- "ĠAn": 2472,
- "ways": 2473,
- "Ġeas": 2474,
- "Ġaffect": 2475,
- "Ġothers": 2476,
- "Ġregul": 2477,
- "æĢ§åĴĮ": 2478,
- "åĸĦ": 2479,
- "agn": 2480,
- "ä½ľä¸º": 2481,
- "åı¯ä»¥å¸®åĬ©": 2482,
- "åĦ¿": 2483,
- "Ġorganizations": 2484,
- "鸡": 2485,
- "åħ´": 2486,
- "Ġfriend": 2487,
- "Ġ$": 2488,
- "Ġdetail": 2489,
- "Ġtraditional": 2490,
- "Ġdesigned": 2491,
- "è´Ńä¹°": 2492,
- "ä½ĵéªĮ": 2493,
- "ç»į": 2494,
- "erm": 2495,
- "Ġconnect": 2496,
- "è¿Ļæł·": 2497,
- "Ġrecommendations": 2498,
- "Ġboth": 2499,
- "ŁéĢļ": 2500,
- "æ¯į": 2501,
- "Ġsit": 2502,
- "ä½ľç͍": 2503,
- "ä»ĭç»į": 2504,
- "Ġste": 2505,
- "ĠSure": 2506,
- "åı°": 2507,
- "æĤ¨çļĦ": 2508,
- "Ġshe": 2509,
- "Ġmanagement": 2510,
- "joy": 2511,
- "è´Ł": 2512,
- "Ġpromote": 2513,
- "Ġvarious": 2514,
- "(\"": 2515,
- "por": 2516,
- "Ġsens": 2517,
- "Ġessential": 2518,
- "gether": 2519,
- "ularly": 2520,
- "äºī": 2521,
- "irst": 2522,
- "Ġop": 2523,
- "Ġspecies": 2524,
- "çİ°åľ¨": 2525,
- "cho": 2526,
- "Ġbehavi": 2527,
- "çŃij": 2528,
- "女": 2529,
- "Ġquality": 2530,
- "Ġext": 2531,
- "è¥": 2532,
- "å®ĮæĪIJ": 2533,
- "æĢ»ä¹ĭ": 2534,
- "éĥ¨åĪĨ": 2535,
- "ä»İèĢĮ": 2536,
- "åĽ¾": 2537,
- "Ġtyp": 2538,
- "Ġstrate": 2539,
- "西": 2540,
- "Ġhere": 2541,
- "ars": 2542,
- "å¸Į": 2543,
- "çļĦæĿ": 2544,
- "å°Ŀ": 2545,
- "ee": 2546,
- "ier": 2547,
- "Ġec": 2548,
- "ically": 2549,
- "ering": 2550,
- "念": 2551,
- "ĠDe": 2552,
- "Ġneg": 2553,
- "建çŃij": 2554,
- "Ġservices": 2555,
- "Ġable": 2556,
- "imes": 2557,
- "Ġoptions": 2558,
- "缸åħ³": 2559,
- "Ġsub": 2560,
- "Ġdecision": 2561,
- "ĠCertainly": 2562,
- "Ġåľ¨": 2563,
- "æ¢": 2564,
- "Ġservice": 2565,
- "):": 2566,
- "带æĿ¥": 2567,
- "Ġchild": 2568,
- "è§£éĩĬ": 2569,
- "irt": 2570,
- "çĨ": 2571,
- "ä¸įä»ħ": 2572,
- "æĿ¾": 2573,
- "积æŀģ": 2574,
- "ron": 2575,
- "åı¤": 2576,
- "çłĶç©¶": 2577,
- "ç²ī": 2578,
- "hor": 2579,
- "Ġprofess": 2580,
- "çļĦéĹ®é¢ĺ": 2581,
- "Ġopportunities": 2582,
- "åİĨåı²": 2583,
- "Ġdef": 2584,
- "ĠAm": 2585,
- "Ġgr": 2586,
- "aur": 2587,
- "å±Ĥ": 2588,
- "çŃĸ": 2589,
- "Ġpopular": 2590,
- "æ´ģ": 2591,
- "åıijçݰ": 2592,
- "Ġpoem": 2593,
- "èµĽ": 2594,
- "Ġob": 2595,
- "Ġdon": 2596,
- "Ġsound": 2597,
- "Ġtransportation": 2598,
- "ious": 2599,
- "åı¦": 2600,
- "Ġrole": 2601,
- "Ġfiel": 2602,
- "ç§ijåѦ": 2603,
- "èĢģ": 2604,
- "reen": 2605,
- "æľīæķĪ": 2606,
- "Ġcor": 2607,
- "Ġfeedback": 2608,
- "Ġtechnologies": 2609,
- "交éĢļ": 2610,
- "Ġadapt": 2611,
- "'re": 2612,
- "ervation": 2613,
- "Ġcommunities": 2614,
- "çݰ代": 2615,
- "Ġlook": 2616,
- "Ġfac": 2617,
- "ç͵影": 2618,
- "Ġcollect": 2619,
- "å¾Ĺåΰ": 2620,
- "hips": 2621,
- "Ġavail": 2622,
- "eren": 2623,
- "ä¸Ģèµ·": 2624,
- "çīĽ": 2625,
- "Ġposs": 2626,
- "Ġweather": 2627,
- "Ġefforts": 2628,
- "¿Ģ": 2629,
- "æĹħ": 2630,
- "oh": 2631,
- "Ġcollabor": 2632,
- "æĭ¥": 2633,
- "æĪIJåĬŁ": 2634,
- "èİ·å¾Ĺ": 2635,
- "å±ħ": 2636,
- "Ġtre": 2637,
- "Ġsources": 2638,
- "Ġstudy": 2639,
- "Ġprograms": 2640,
- "éĻIJ": 2641,
- "Ġtips": 2642,
- "Ġmarket": 2643,
- "ally": 2644,
- "害": 2645,
- "wards": 2646,
- "æ£Ģ": 2647,
- "ä¸Ģç¯ĩ": 2648,
- "rior": 2649,
- "Ġtop": 2650,
- "Ġend": 2651,
- "åĭ": 2652,
- "Ġlarge": 2653,
- "iciency": 2654,
- "Ġdec": 2655,
- "å®ļçļĦ": 2656,
- "icient": 2657,
- "è¿ĩç¨ĭä¸Ń": 2658,
- "lications": 2659,
- "缺": 2660,
- "Ġtour": 2661,
- "Ġtogether": 2662,
- "人工": 2663,
- "Ġtools": 2664,
- "æĸ¯": 2665,
- "æ°ij": 2666,
- "æĬĬ": 2667,
- "ä¹ĭéĹ´çļĦ": 2668,
- "çī¹çĤ¹": 2669,
- "Ġbel": 2670,
- "ditionally": 2671,
- "åĪ©ç͍": 2672,
- "è¾¹": 2673,
- "éĻį": 2674,
- "ĠIf": 2675,
- "é¢Ŀ": 2676,
- "åįı": 2677,
- "å¾Ģ": 2678,
- "lish": 2679,
- "è¯ī": 2680,
- "ins": 2681,
- "奶": 2682,
- "Ġeconom": 2683,
- "Ġinvest": 2684,
- "ĠDo": 2685,
- "tain": 2686,
- "åĩºçݰ": 2687,
- "çļĦå½±åĵį": 2688,
- "aterial": 2689,
- "Ġsure": 2690,
- "Ġpass": 2691,
- "çĶ»": 2692,
- "è´£": 2693,
- "ç»ĵæŀĦ": 2694,
- "æķħ": 2695,
- "æĥħæĦŁ": 2696,
- "æ¿Ģ": 2697,
- "ellig": 2698,
- "ä¼Ĺ": 2699,
- "æ¯Ķè¾ĥ": 2700,
- "tern": 2701,
- "Ġoutcomes": 2702,
- "up": 2703,
- "Ġbeaut": 2704,
- "read": 2705,
- "çĶŁæĪIJ": 2706,
- "æķ°åŃĹ": 2707,
- "Ġdem": 2708,
- "ires": 2709,
- "åı¯ä»¥éĢļè¿ĩ": 2710,
- "æĸ°çļĦ": 2711,
- "Ġdeep": 2712,
- "å¨": 2713,
- "çĭĹ": 2714,
- "åħ³æ³¨": 2715,
- "çĶŁåij½": 2716,
- "ä¼łç»Ł": 2717,
- "Ġstay": 2718,
- "æŃĮ": 2719,
- "åħ³éĶ®": 2720,
- "Ġplace": 2721,
- "主é¢ĺ": 2722,
- "å¾Īå¤ļ": 2723,
- "èĪĴ": 2724,
- "Ġprofessional": 2725,
- "yle": 2726,
- "æĽ²": 2727,
- "19": 2728,
- "Ġessay": 2729,
- "Ġgive": 2730,
- "ç³ĸ": 2731,
- "Ġonly": 2732,
- "æŁIJ": 2733,
- "Ġphys": 2734,
- "对è¯Ŀ": 2735,
- "Ġcontro": 2736,
- "Ġamount": 2737,
- "cept": 2738,
- "ization": 2739,
- "ç¼ĸåĨĻ": 2740,
- "åıĹåΰ": 2741,
- "Ġalways": 2742,
- "æ¯Ķå¦Ĥ": 2743,
- "Ġprivacy": 2744,
- "au": 2745,
- "________": 2746,
- "Ġresponsible": 2747,
- "()": 2748,
- "çŃīçŃī": 2749,
- "Ġmaterial": 2750,
- "Ġonline": 2751,
- "é¼": 2752,
- "æĶ¿": 2753,
- "åĽĽ": 2754,
- "Ġenjoy": 2755,
- "åľŁ": 2756,
- "Ġsafety": 2757,
- "Ġtw": 2758,
- "Ġcommunication": 2759,
- "丽": 2760,
- "æĺ¾": 2761,
- "olution": 2762,
- "erg": 2763,
- "įä½ľ": 2764,
- "Ġuser": 2765,
- "Ġemotional": 2766,
- "time": 2767,
- "é¾": 2768,
- "Ġsecurity": 2769,
- "Ġsense": 2770,
- "elines": 2771,
- "åĬ±": 2772,
- "çī©è´¨": 2773,
- "ura": 2774,
- "Ġshare": 2775,
- "Ġanalyzing": 2776,
- "ital": 2777,
- "é±": 2778,
- "irtual": 2779,
- "Ġvisit": 2780,
- "bers": 2781,
- "Ġcour": 2782,
- "Ġproble": 2783,
- "设å¤ĩ": 2784,
- "atch": 2785,
- "land": 2786,
- "é±¼": 2787,
- "æĪij们éľĢè¦ģ": 2788,
- "稳": 2789,
- "ibility": 2790,
- "Ġefficiency": 2791,
- "声": 2792,
- "èĴ": 2793,
- "æľºåύ": 2794,
- "Ġclear": 2795,
- "åζå®ļ": 2796,
- "izing": 2797,
- "Ġconditions": 2798,
- "lusion": 2799,
- "Ġlow": 2800,
- "Ġlim": 2801,
- "hers": 2802,
- "Ġrisks": 2803,
- "ç¿»": 2804,
- "Ġlet": 2805,
- "åĴĸ": 2806,
- "å¿ĥçIJĨ": 2807,
- "è¿ľ": 2808,
- "print": 2809,
- "Ġchanges": 2810,
- "Ġmeas": 2811,
- "Ġimproving": 2812,
- "Ġcrit": 2813,
- "50": 2814,
- "å¸ĮæľĽ": 2815,
- "Ġaud": 2816,
- "åįĹ": 2817,
- "æĹłæ³ķ": 2818,
- "Ġnegative": 2819,
- "é¡¹çĽ®": 2820,
- "und": 2821,
- "ats": 2822,
- "Ġcompanies": 2823,
- "æī¾åΰ": 2824,
- "Ġcontribut": 2825,
- "æŃ£ç¡®": 2826,
- "é»Ħ": 2827,
- "å±ŀ": 2828,
- "Ġunderstanding": 2829,
- "Ġmult": 2830,
- "Ġclo": 2831,
- "å¾ģ": 2832,
- "Ġprior": 2833,
- "rim": 2834,
- "人工æĻºèĥ½": 2835,
- "Ġvariety": 2836,
- "Ġtaking": 2837,
- "åĤ": 2838,
- "aster": 2839,
- "ody": 2840,
- "Ġ{": 2841,
- "çļĦéĩįè¦ģ": 2842,
- "Ġfore": 2843,
- "èµĦæºIJ": 2844,
- "è¦ģæ±Ĥ": 2845,
- "Ġfeatures": 2846,
- "èįī": 2847,
- "me": 2848,
- "èĮĥ": 2849,
- "Ġoper": 2850,
- "级": 2851,
- "é²ľ": 2852,
- "æĬĢå·§": 2853,
- "ijæĪĺ": 2854,
- "ç±»åŀĭ": 2855,
- "æĿ¿": 2856,
- "软": 2857,
- "ew": 2858,
- "Ġrestaur": 2859,
- "Ġwithout": 2860,
- "ructure": 2861,
- "çļĦæĺ¯": 2862,
- "çı": 2863,
- "Ġlist": 2864,
- "urate": 2865,
- "Ġbook": 2866,
- "亲": 2867,
- "åºĹ": 2868,
- "ä¹Łæĺ¯": 2869,
- "ä»»ä½ķ": 2870,
- "Ġcam": 2871,
- "ĠBe": 2872,
- "Ġgovern": 2873,
- "Ġbehavior": 2874,
- "è®Ńç»ĥ": 2875,
- "Ġfamily": 2876,
- "æĿĤ": 2877,
- "Ġcity": 2878,
- "Ġapproach": 2879,
- "Ġaccurate": 2880,
- "Ġsom": 2881,
- "Ġel": 2882,
- "èĪŀ": 2883,
- "èŀ": 2884,
- "åŁºæľ¬": 2885,
- "Ġdise": 2886,
- "Ġencoura": 2887,
- "ĠWhat": 2888,
- "åĥ": 2889,
- "详": 2890,
- "¦Ĥ": 2891,
- "å·¥åħ·": 2892,
- "åķ¡": 2893,
- "Ġstill": 2894,
- "chool": 2895,
- "æĦŁåΰ": 2896,
- "çĶŁçī©": 2897,
- "åĴĸåķ¡": 2898,
- "åĩĨå¤ĩ": 2899,
- "Ġwaste": 2900,
- "Ġevents": 2901,
- "æķĻèĤ²": 2902,
- "Ġ8": 2903,
- "Ġmust": 2904,
- "ied": 2905,
- "asing": 2906,
- "å½¢æĪIJ": 2907,
- "Ġproducts": 2908,
- "åħ¸": 2909,
- "讲": 2910,
- "fter": 2911,
- "å·®": 2912,
- "less": 2913,
- "Ġcro": 2914,
- "Ġfinan": 2915,
- "åıįåºĶ": 2916,
- "åĪĽéĢł": 2917,
- "Ġguidelines": 2918,
- "åΤ": 2919,
- "ä½ľåĵģ": 2920,
- "表示": 2921,
- "å¼Ĥ": 2922,
- "Ġknown": 2923,
- "Ġtest": 2924,
- "误": 2925,
- "ope": 2926,
- "Ġusers": 2927,
- "AI": 2928,
- "å¾·": 2929,
- "new": 2930,
- "追": 2931,
- "iques": 2932,
- "模åŀĭ": 2933,
- "åĬĽåĴĮ": 2934,
- "Ġhistory": 2935,
- "ĠAl": 2936,
- "æĬķèµĦ": 2937,
- "å°Ŀè¯ķ": 2938,
- "ank": 2939,
- "Ġhome": 2940,
- "éĴŁ": 2941,
- "丰": 2942,
- "èĪĴéĢĤ": 2943,
- "Ġincrease": 2944,
- "Ġhab": 2945,
- "åĪ»": 2946,
- "è¾ĵåĩº": 2947,
- "Ġleading": 2948,
- "Ġ7": 2949,
- "é£İéĻ©": 2950,
- "Ġperformance": 2951,
- "Ġhapp": 2952,
- "åŃ£": 2953,
- "Ġstand": 2954,
- "ty": 2955,
- "ç¦ı": 2956,
- "Ġcustomers": 2957,
- "åįİ": 2958,
- "Ġbelie": 2959,
- "Ġcompany": 2960,
- "å½ķ": 2961,
- "é£Łçī©": 2962,
- "ĠUn": 2963,
- "Ġsumm": 2964,
- "rent": 2965,
- "ĠCon": 2966,
- "éĢĤéĩı": 2967,
- "anced": 2968,
- "Ġi": 2969,
- "Ġlight": 2970,
- "Ġanalysis": 2971,
- "å°Ĭ": 2972,
- "ĠUse": 2973,
- "ouse": 2974,
- "ted": 2975,
- "Ġcharact": 2976,
- "Ġ#": 2977,
- "to": 2978,
- "绾": 2979,
- "ä¸įæĺ¯": 2980,
- "Ġdeveloping": 2981,
- "åŁ¹": 2982,
- "Ġstrategies": 2983,
- "Ġmight": 2984,
- "çŁŃ": 2985,
- "çļĦæİ": 2986,
- "Ġfirst": 2987,
- "èĥĮ": 2988,
- "çĮ«": 2989,
- "Ġincludes": 2990,
- "åĽŃ": 2991,
- "Ġdiagn": 2992,
- "Ġgrowth": 2993,
- "ä¸ĵä¸ļ": 2994,
- "Ġdoes": 2995,
- "12": 2996,
- "绿": 2997,
- "Ġkeep": 2998,
- "详ç»Ĩ": 2999,
- "åĥı": 3000,
- "åıijçĶŁ": 3001,
- "fact": 3002,
- "åı¯ä»¥åľ¨": 3003,
- "ç«Ļ": 3004,
- "æĭī": 3005,
- "æµİ": 3006,
- "Ġchatbots": 3007,
- "Ġbreak": 3008,
- "è¡¡": 3009,
- "çŁ³": 3010,
- "æĮģç»Ń": 3011,
- "life": 3012,
- "Ġ10": 3013,
- "æ´Ĺ": 3014,
- "ĠAdditionally": 3015,
- "士": 3016,
- "ember": 3017,
- "Ġgoals": 3018,
- "å¾®": 3019,
- "Ġview": 3020,
- "·": 3021,
- "ove": 3022,
- "åŁºç¡": 3023,
- "Ġoptimize": 3024,
- "Ġtem": 3025,
- "Ġdown": 3026,
- "åŁºç¡Ģ": 3027,
- "è¶ħ": 3028,
- "ercis": 3029,
- "Ġless": 3030,
- "ees": 3031,
- "æĿĥ": 3032,
- "Ġkey": 3033,
- "Ġworks": 3034,
- "讨": 3035,
- "åı¥åŃIJ": 3036,
- "Ġrobot": 3037,
- "uss": 3038,
- "åħ¨çIJĥ": 3039,
- "ç»ıæµİ": 3040,
- "æīįèĥ½": 3041,
- "egr": 3042,
- "ä»ĸ们çļĦ": 3043,
- "äºĶ": 3044,
- "èµ·æĿ¥": 3045,
- "çĵ": 3046,
- "Ġfactors": 3047,
- "Ġcultural": 3048,
- "æľ¨": 3049,
- "Ġworking": 3050,
- "ä¼¼": 3051,
- "èIJ½": 3052,
- "éĢŁåº¦": 3053,
- "ä½ı": 3054,
- "Ġeffects": 3055,
- "å©ļ": 3056,
- "br": 3057,
- "åİħ": 3058,
- "rain": 3059,
- "\")": 3060,
- "åѦçĶŁ": 3061,
- "\",": 3062,
- "Ġpar": 3063,
- "atform": 3064,
- "Ġensuring": 3065,
- "çͱäºİ": 3066,
- "Ġmuch": 3067,
- "Ġwords": 3068,
- "Ġmar": 3069,
- "ç»ıéªĮ": 3070,
- "为äºĨ": 3071,
- "åIJĪä½ľ": 3072,
- "ven": 3073,
- "Ġ/": 3074,
- "Ġfinancial": 3075,
- "work": 3076,
- "ories": 3077,
- "æ²»": 3078,
- "Ġtechniques": 3079,
- "æĭ¥æľī": 3080,
- "rap": 3081,
- "å°Ķ": 3082,
- "Ġest": 3083,
- "Ġavailable": 3084,
- "Ġlit": 3085,
- "æ¹": 3086,
- "Ġefficient": 3087,
- "els": 3088,
- "over": 3089,
- "Ġland": 3090,
- "Ġarea": 3091,
- "Ġintellig": 3092,
- "Ġpref": 3093,
- "ature": 3094,
- "çŁ¥è¯Ĩ": 3095,
- "æĵįä½ľ": 3096,
- "å¾ħ": 3097,
- "igate": 3098,
- "çļĦæĶ": 3099,
- "Ġmean": 3100,
- "bo": 3101,
- "Ġcontrol": 3102,
- "éĩĩç͍": 3103,
- "ricult": 3104,
- "Ġprogramm": 3105,
- "Ġtowards": 3106,
- "thing": 3107,
- "ä¸įè¦ģ": 3108,
- "Ġthough": 3109,
- "彩": 3110,
- "Ġcertain": 3111,
- "Ġwild": 3112,
- "ä»Ĭ": 3113,
- "Ġconservation": 3114,
- "çŁ¥éģĵ": 3115,
- "Ġreally": 3116,
- "çļĦåľ°": 3117,
- "io": 3118,
- "饰": 3119,
- "Ġful": 3120,
- "çݯä¿Ŀ": 3121,
- "Ġexplore": 3122,
- "çļĦæ¸": 3123,
- "Ġdiverse": 3124,
- "åĬłå¼º": 3125,
- "çļ®": 3126,
- "Ġemotions": 3127,
- "Ġavoid": 3128,
- "'ll": 3129,
- "çļĦæī": 3130,
- "åį¡": 3131,
- "Ġplatform": 3132,
- "ances": 3133,
- "Ġsitu": 3134,
- "ä»ĺ": 3135,
- "ä½įç½®": 3136,
- "oring": 3137,
- "çĽIJ": 3138,
- "ä¸ĩ": 3139,
- "Ġdev": 3140,
- "nov": 3141,
- "ash": 3142,
- "Ġtwo": 3143,
- "å®ł": 3144,
- "bon": 3145,
- "èµ°": 3146,
- "åĪĹ表": 3147,
- "Ġcy": 3148,
- "èįIJ": 3149,
- "ĠSome": 3150,
- "Ġexplain": 3151,
- "Ġaware": 3152,
- "社交": 3153,
- "day": 3154,
- "åıĮ": 3155,
- "æ²ŁéĢļ": 3156,
- "æ°§": 3157,
- "å¼Ģåıij": 3158,
- "åħ¬åı¸çļĦ": 3159,
- "Ġair": 3160,
- "åĩ»": 3161,
- "aring": 3162,
- "éĥ½æĺ¯": 3163,
- "Ġlevels": 3164,
- "ods": 3165,
- "Ġsteps": 3166,
- "Ġcap": 3167,
- "æ´ŀ": 3168,
- "马": 3169,
- "Ġreturn": 3170,
- "Ġmet": 3171,
- "çĶŁæĢģ": 3172,
- "丰å¯Į": 3173,
- "æŁĵ": 3174,
- "æīĢ以": 3175,
- "é¡»": 3176,
- "Ġer": 3177,
- "Ġfra": 3178,
- "30": 3179,
- "èĵ": 3180,
- "âĢĶ": 3181,
- "Ġå½ĵ": 3182,
- "ah": 3183,
- "ä¿ĥ": 3184,
- "Ġlikely": 3185,
- "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 3186,
- "åĪĿ": 3187,
- "Ġcreating": 3188,
- "Ġfarm": 3189,
- "Ġbal": 3190,
- "Ġlives": 3191,
- "å®ĥçļĦ": 3192,
- "Ġability": 3193,
- "ä¸ĬçļĦ": 3194,
- "Ġsentence": 3195,
- "åĤ¨": 3196,
- "Ġrout": 3197,
- "Ġprovides": 3198,
- "Ġagain": 3199,
- "å®łçī©": 3200,
- "éĢIJ": 3201,
- "Ġyears": 3202,
- "èŀį": 3203,
- "Ġphysical": 3204,
- "Python": 3205,
- "ĠEx": 3206,
- "iting": 3207,
- "è°ĥæķ´": 3208,
- "ç½ij绾": 3209,
- "æħ¢": 3210,
- "空éĹ´": 3211,
- "åĽ°": 3212,
- "è±Ĩ": 3213,
- "æĽ´å¤ļçļĦ": 3214,
- "ĠAr": 3215,
- "Ġmaintain": 3216,
- "å®ŀéĻħ": 3217,
- "Ġtravel": 3218,
- "Ġsat": 3219,
- "pro": 3220,
- "ç͵åŃIJ": 3221,
- "æ±½": 3222,
- "ex": 3223,
- "åģĩ": 3224,
- "æIJŃ": 3225,
- "éļıçĿĢ": 3226,
- "è¿ĺæľī": 3227,
- "礼": 3228,
- "ale": 3229,
- "Ġconsum": 3230,
- "ĊĠ": 3231,
- "ncy": 3232,
- "Ġquestions": 3233,
- "fort": 3234,
- "making": 3235,
- "Ġdesc": 3236,
- "15": 3237,
- "Ġinvolves": 3238,
- "Ġstress": 3239,
- "åŃĹ符": 3240,
- "here": 3241,
- "Ġimpacts": 3242,
- "Ġexercis": 3243,
- "åĿļ": 3244,
- "ledge": 3245,
- "ç§ijæĬĢ": 3246,
- "oci": 3247,
- "Ġeffectively": 3248,
- "æ¶Īè´¹": 3249,
- "Ġconclusion": 3250,
- "éĺħ": 3251,
- "Ġstre": 3252,
- "issions": 3253,
- "æ·»": 3254,
- "It": 3255,
- "éĿĻ": 3256,
- "Ġvirtual": 3257,
- "è¡£": 3258,
- "Ġachieve": 3259,
- "ource": 3260,
- "è¿ŀ": 3261,
- "acks": 3262,
- "è¡¨æł¼": 3263,
- "Ġimportance": 3264,
- "èĩªæĪij": 3265,
- "These": 3266,
- "num": 3267,
- "çļĦæł": 3268,
- "Ġrelationships": 3269,
- "Ġworkers": 3270,
- "gical": 3271,
- "orpor": 3272,
- "erson": 3273,
- "åij¢": 3274,
- "nds": 3275,
- "æİ¨èįIJ": 3276,
- "ohn": 3277,
- "å¿ħé¡»": 3278,
- "容æĺĵ": 3279,
- "ĠGo": 3280,
- "Ġtell": 3281,
- "ĠRes": 3282,
- "onom": 3283,
- "Ġbec": 3284,
- "æ³Ľ": 3285,
- "pos": 3286,
- "Ġmove": 3287,
- "Ġstory": 3288,
- "æŃ¢": 3289,
- "Ġpriorit": 3290,
- "Ġindustries": 3291,
- "èľ": 3292,
- "Ġpossible": 3293,
- "ĠMan": 3294,
- "Ġexpress": 3295,
- "abilities": 3296,
- "Ġintegr": 3297,
- "代表": 3298,
- "Ġrespond": 3299,
- "åĪĨéĴŁ": 3300,
- "æľºä¼ļ": 3301,
- "Ġthings": 3302,
- "交æµģ": 3303,
- "Ġmeth": 3304,
- "urther": 3305,
- "Ġwide": 3306,
- "èijĹ": 3307,
- "æĪijçļĦ": 3308,
- "ĸçķ¥": 3309,
- "ides": 3310,
- "ething": 3311,
- "ĠWhile": 3312,
- "pan": 3313,
- "çŃĸçķ¥": 3314,
- "Ġcent": 3315,
- "Ġplease": 3316,
- "ology": 3317,
- "uracy": 3318,
- "循": 3319,
- "ward": 3320,
- "nce": 3321,
- "Ġthen": 3322,
- "çªģ": 3323,
- "å¥ĩ": 3324,
- "Ġblo": 3325,
- "ai": 3326,
- "æŀĹ": 3327,
- "ç®Ĺæ³ķ": 3328,
- "综": 3329,
- "Ġprint": 3330,
- "aces": 3331,
- "lu": 3332,
- "ªæĸ½": 3333,
- "pre": 3334,
- "çļĦæĦı": 3335,
- "Ġsol": 3336,
- "Ġoverall": 3337,
- "hold": 3338,
- "Ġes": 3339,
- "çļĦä¸Ģ": 3340,
- "éģĩ": 3341,
- "Ġpopul": 3342,
- "å°ı说": 3343,
- "æ³¢": 3344,
- "åįģ": 3345,
- "ä¹Łåı¯ä»¥": 3346,
- "é£Łåĵģ": 3347,
- "Ġcontent": 3348,
- "å°Ħ": 3349,
- "Ġrequires": 3350,
- "æ£ĢæŁ¥": 3351,
- "ĊĠĠĠĠĠĠĠĠĠĠĠ": 3352,
- "Ġgroups": 3353,
- "Ġfair": 3354,
- "Ġbl": 3355,
- "å®ŀéªĮ": 3356,
- "æĮīçħ§": 3357,
- "osp": 3358,
- "str": 3359,
- "ä¸įèĥ½": 3360,
- "Ġharm": 3361,
- "Ġprodu": 3362,
- "çļĦæĬĢ": 3363,
- "çĩ": 3364,
- "tle": 3365,
- "Ġanimals": 3366,
- "è§Ĵèī²": 3367,
- "lev": 3368,
- "æ¸IJ": 3369,
- "å¤įæĿĤ": 3370,
- "Ġdepend": 3371,
- "æĮijæĪĺ": 3372,
- "åĮħåIJ«": 3373,
- "Ġhelps": 3374,
- "Ġopen": 3375,
- "Ġnet": 3376,
- "ĠĠĠĠĠ": 3377,
- "Ġstrong": 3378,
- "Ġjour": 3379,
- "å¹¿æ³Ľ": 3380,
- "æķ´ä¸ª": 3381,
- "Ġelect": 3382,
- "Ġresponse": 3383,
- "åįķè¯į": 3384,
- "æľĭ": 3385,
- "Ġ<": 3386,
- "åĮĸåѦ": 3387,
- "éĴĪ": 3388,
- "Ġquick": 3389,
- "ually": 3390,
- "Ġsomething": 3391,
- "Ġtrack": 3392,
- "度åĴĮ": 3393,
- "erences": 3394,
- "æłij": 3395,
- "Ġaccuracy": 3396,
- "Ġexc": 3397,
- "é£ŀ": 3398,
- "Ġfield": 3399,
- "寻æī¾": 3400,
- "éħ¸": 3401,
- "Ġhope": 3402,
- "çij": 3403,
- "Ġinnov": 3404,
- "绪": 3405,
- "alk": 3406,
- "Ġtypes": 3407,
- "Ġdid": 3408,
- "åĬª": 3409,
- "Ġcall": 3410,
- "è¯Ĺ": 3411,
- "Ġearly": 3412,
- "ĠOne": 3413,
- "app": 3414,
- "Ġcommon": 3415,
- "æľĢç»Ī": 3416,
- "Ġcheck": 3417,
- "Ġsym": 3418,
- "çĤĴ": 3419,
- "æĬĢèĥ½": 3420,
- "Ġenh": 3421,
- "Ġagricult": 3422,
- "Ġimm": 3423,
- "ç»ĩ": 3424,
- "满足": 3425,
- "Ġschool": 3426,
- "bal": 3427,
- "Ġfollowing": 3428,
- "based": 3429,
- "Ġwebs": 3430,
- "Ġculture": 3431,
- "ĠCom": 3432,
- "way": 3433,
- "ä¸Ģå®ļ": 3434,
- "åķĨåĵģ": 3435,
- "ude": 3436,
- "çļĦåıijå±ķ": 3437,
- "çĶŁäº§": 3438,
- "osystem": 3439,
- "Ġplant": 3440,
- "åı¶": 3441,
- "åIJĥ": 3442,
- "ä»ĸçļĦ": 3443,
- "der": 3444,
- "询": 3445,
- "å®¶åħ·": 3446,
- "Ġfree": 3447,
- "ç§»": 3448,
- "æİĮ": 3449,
- "Ġbody": 3450,
- "Ġpresent": 3451,
- "Ġparticularly": 3452,
- "Ġchildren": 3453,
- "Ġstudent": 3454,
- ").": 3455,
- "çī¹å¾ģ": 3456,
- "èĶ": 3457,
- "éĺħ读": 3458,
- "æķĪçİĩ": 3459,
- "Ġprogram": 3460,
- "éħ±": 3461,
- "åıĺå¾Ĺ": 3462,
- "ix": 3463,
- "Ġcome": 3464,
- "çļĦæ²": 3465,
- "ĠTe": 3466,
- "ĠTo": 3467,
- "åħ±åIJĮ": 3468,
- "Ġemployees": 3469,
- "说æĺİ": 3470,
- "Ġheart": 3471,
- "Ġmot": 3472,
- "æľĭåıĭ": 3473,
- "eric": 3474,
- "è¯ij": 3475,
- "Ġcurrent": 3476,
- "æĪIJæľ¬": 3477,
- "Ġtoo": 3478,
- "çݩ家": 3479,
- "åĪĽæĸ°": 3480,
- "Ġecosystem": 3481,
- "常è§ģ": 3482,
- "ä¸ĢæŃ¥": 3483,
- "Ġpres": 3484,
- "Ġmulti": 3485,
- "åijĬè¯ī": 3486,
- "严": 3487,
- "Ġmit": 3488,
- "Ġaction": 3489,
- "çĨŁ": 3490,
- "Ġhabit": 3491,
- "åı£æĦŁ": 3492,
- "ç®±": 3493,
- "Ġuses": 3494,
- "å¢ŀ强": 3495,
- "ç»Ļåĩº": 3496,
- "Ġ9": 3497,
- "Ġdep": 3498,
- "Ġeconomic": 3499,
- "æĢ§çļĦ": 3500,
- "18": 3501,
- "åĨ°": 3502,
- "Ġhelped": 3503,
- "åIJ¸å¼ķ": 3504,
- "çİĭ": 3505,
- "Ġdiagnos": 3506,
- "åł": 3507,
- "èģĶç³»": 3508,
- "群": 3509,
- "ç»ĥä¹ł": 3510,
- "æĪIJéķ¿": 3511,
- "Ġpoint": 3512,
- "å®ļæľŁ": 3513,
- "åij¼": 3514,
- "èį¯": 3515,
- "æĿ¯": 3516,
- "æ¤Ĵ": 3517,
- "æķĪæŀľ": 3518,
- "Ġspecial": 3519,
- "æ··": 3520,
- "åĩłä¸ª": 3521,
- "ause": 3522,
- "éĨ": 3523,
- "æ¯ĶèµĽ": 3524,
- "è·Ŀ": 3525,
- "What": 3526,
- "Ġtimes": 3527,
- "icles": 3528,
- "Ġ*": 3529,
- "ç´§": 3530,
- "å¦Ĥæŀľä½ł": 3531,
- "çĭ¬çī¹": 3532,
- "çģµ": 3533,
- "ç¨İ": 3534,
- "Ġcarbon": 3535,
- "Ġbias": 3536,
- "åĬ©äºİ": 3537,
- "Ġconst": 3538,
- "èĩªçͱ": 3539,
- "æĿ¥è¯´": 3540,
- "å°±æĺ¯": 3541,
- "åį°": 3542,
- "Ġmeet": 3543,
- "è§ĦåĪĴ": 3544,
- "çļĦç¾": 3545,
- "èIJ¥åħ»": 3546,
- "ators": 3547,
- "稳å®ļ": 3548,
- "ode": 3549,
- "çħ®": 3550,
- "Ġassoci": 3551,
- "å¿Ĺ": 3552,
- "è¡ĮæĺŁ": 3553,
- "æĿİ": 3554,
- "Ġreview": 3555,
- "åĩĢ": 3556,
- "ĠRo": 3557,
- "Ġknowledge": 3558,
- "以便": 3559,
- "æµĭè¯ķ": 3560,
- "åIJĪéĢĤ": 3561,
- "sc": 3562,
- "å½¢å¼ı": 3563,
- "Ġfriends": 3564,
- "Ġnature": 3565,
- "Ġcritical": 3566,
- "æ´ĭ": 3567,
- "Ġafter": 3568,
- "erve": 3569,
- "Ġrece": 3570,
- "çļĦæŃ": 3571,
- "汽车": 3572,
- "çķĮ": 3573,
- "Ġloss": 3574,
- "Ġapplications": 3575,
- "å¤ļç§į": 3576,
- "éĶħ": 3577,
- "串": 3578,
- "Ġinsp": 3579,
- "---": 3580,
- "ĠSh": 3581,
- "Ġvol": 3582,
- "lut": 3583,
- "oks": 3584,
- "sequ": 3585,
- "Ġbir": 3586,
- "åIJĪçIJĨ": 3587,
- "Ġnecess": 3588,
- "æĪijæĥ³": 3589,
- "çŃīæĸ¹éĿ¢": 3590,
- "é¼ĵ": 3591,
- "Ġsoft": 3592,
- "Ġlive": 3593,
- "å°ıæĺİ": 3594,
- "ĠInd": 3595,
- "Ġbring": 3596,
- "æĺ¯æĮĩ": 3597,
- "Ġsoil": 3598,
- "ilar": 3599,
- "举": 3600,
- "æĿ¡ä»¶": 3601,
- "Ġtri": 3602,
- "亮": 3603,
- "Ġmom": 3604,
- "æı¡": 3605,
- "ä¼°": 3606,
- "ŀäºī": 3607,
- "çĽij": 3608,
- "èĤ¤": 3609,
- "è´¢åĬ¡": 3610,
- "æ·»åĬł": 3611,
- "é¥®é£Ł": 3612,
- "Ġallowing": 3613,
- "åºķ": 3614,
- "Ġright": 3615,
- "Ġexpert": 3616,
- "Ġsupp": 3617,
- "Ġinit": 3618,
- "çļĦæµ": 3619,
- "arget": 3620,
- "Ġexpect": 3621,
- "Ġ19": 3622,
- "Ġmeasures": 3623,
- "olutions": 3624,
- "just": 3625,
- "arc": 3626,
- "å°ļ": 3627,
- "Ġpractice": 3628,
- "æľīåĬ©äºİ": 3629,
- "大éĩı": 3630,
- "',": 3631,
- "iment": 3632,
- "Ġcontinue": 3633,
- "Ġdiscuss": 3634,
- "100": 3635,
- "éļľ": 3636,
- "çļĦæĦŁ": 3637,
- "Ġreflect": 3638,
- "itation": 3639,
- "åį«": 3640,
- "äºĨä¸Ģ": 3641,
- "ney": 3642,
- "ĠLe": 3643,
- "ised": 3644,
- "è¶ĭ": 3645,
- "äºĨä¸Ģ个": 3646,
- "Ġincreasing": 3647,
- "çļĦæĮ": 3648,
- "Ġstru": 3649,
- "æĢ»ç»ĵ": 3650,
- "ely": 3651,
- "å®ĩ": 3652,
- "Ġauthor": 3653,
- "表éĿ¢": 3654,
- "Ġx": 3655,
- "æķħäºĭ": 3656,
- "emic": 3657,
- "Ġrepresent": 3658,
- "ger": 3659,
- "Ġincreased": 3660,
- "ones": 3661,
- "ains": 3662,
- "Ġtrained": 3663,
- "Ġfish": 3664,
- "Ġstate": 3665,
- "åĨ·": 3666,
- "çĶŁéķ¿": 3667,
- "Ġrenew": 3668,
- "ording": 3669,
- "åĮĹ": 3670,
- "æİªæĸ½": 3671,
- "平衡": 3672,
- "Ġsuccessful": 3673,
- "ä¸ĭéĿ¢": 3674,
- "Ġactivity": 3675,
- "èĮ¶": 3676,
- "éĢĤåºĶ": 3677,
- "èĦij": 3678,
- "æİ¢ç´¢": 3679,
- "ffic": 3680,
- "ç»ĦæĪIJ": 3681,
- "atives": 3682,
- "äºļ": 3683,
- "Ġscen": 3684,
- "æ²Ļ": 3685,
- "gress": 3686,
- "使å¾Ĺ": 3687,
- "æī¿": 3688,
- "Ġdiscrim": 3689,
- "Ġassistants": 3690,
- "Ġexist": 3691,
- "çķĻ": 3692,
- "Ġspace": 3693,
- "æľĢè¿ij": 3694,
- "Ġideas": 3695,
- "éĩĩåıĸ": 3696,
- "light": 3697,
- "注éĩį": 3698,
- "çļĦæĹ¶éĹ´": 3699,
- "è¿İ": 3700,
- "Ġcomb": 3701,
- "éĢĤå½ĵ": 3702,
- "Ġyourself": 3703,
- "rite": 3704,
- "ason": 3705,
- "åĮĢ": 3706,
- "åı¯ä»¥ä½¿ç͍": 3707,
- "åħħ满": 3708,
- "Ġvalues": 3709,
- "æ½": 3710,
- "Ġbiases": 3711,
- "ä¿ĥè¿Ľ": 3712,
- "åľºæĻ¯": 3713,
- "ross": 3714,
- "åį³åı¯": 3715,
- "Ġcru": 3716,
- "Ġnumber": 3717,
- "Ġtype": 3718,
- "rast": 3719,
- "åĩĨç¡®": 3720,
- "This": 3721,
- "Ġpast": 3722,
- "çģ¯": 3723,
- "å®ļä¹ī": 3724,
- "Ġsolutions": 3725,
- "Ġter": 3726,
- "ä¿Ŀè¯ģ": 3727,
- "èͬ": 3728,
- "幸": 3729,
- "åī§": 3730,
- "åħ´è¶£": 3731,
- "åª": 3732,
- "ention": 3733,
- "avor": 3734,
- "Ġscient": 3735,
- "åĬªåĬĽ": 3736,
- "Ġproviders": 3737,
- "Ġpolicies": 3738,
- "alu": 3739,
- "ĠIm": 3740,
- "Ġallows": 3741,
- "Ġintelligence": 3742,
- "çļĦæĸ¹æ³ķ": 3743,
- "è¿Ļæĺ¯": 3744,
- "Ġ`": 3745,
- "Ġemissions": 3746,
- "Ġå°Ĩ": 3747,
- "Ġmeaning": 3748,
- "Ġstyle": 3749,
- "åİŁåĽł": 3750,
- "Ġstrugg": 3751,
- "çļĦç¾İ": 3752,
- "iful": 3753,
- "dition": 3754,
- "éĥ½æľī": 3755,
- "空æ°Ķ": 3756,
- "å®ĥ们çļĦ": 3757,
- "ä¼ĺåĮĸ": 3758,
- "Ġinflu": 3759,
- "åŁºäºİ": 3760,
- "Ġdetails": 3761,
- "Ġtransparency": 3762,
- "Ġmess": 3763,
- "ĠCl": 3764,
- "Ġgame": 3765,
- "pri": 3766,
- "è¶ĭåĬ¿": 3767,
- "å½Ĵ": 3768,
- "ç¿»è¯ij": 3769,
- "æķ£": 3770,
- "By": 3771,
- "éŃ": 3772,
- "ĠAmeric": 3773,
- "Ġproduction": 3774,
- "Ġincorpor": 3775,
- "æĻļ": 3776,
- "Ġinvolve": 3777,
- "Ġhot": 3778,
- "æĻ®": 3779,
- "by": 3780,
- "Ġflow": 3781,
- "Ġemerg": 3782,
- "座": 3783,
- "Ġidea": 3784,
- "åİĭåĬĽ": 3785,
- "éĿĴ": 3786,
- "oms": 3787,
- "èģĮä¸ļ": 3788,
- "Ġreport": 3789,
- "Ġpap": 3790,
- "Ġtherap": 3791,
- "Ġsal": 3792,
- "åıĤä¸İ": 3793,
- "æĸĩåѦ": 3794,
- "æIJŃéħį": 3795,
- "oot": 3796,
- "),": 3797,
- "Ġcr": 3798,
- "Ġprocesses": 3799,
- "gin": 3800,
- "å¹³åı°": 3801,
- "å¯Ł": 3802,
- "Ġpromoting": 3803,
- "æļĸ": 3804,
- "akehold": 3805,
- "ç»§": 3806,
- "iver": 3807,
- "æ¦Ĥ": 3808,
- "Ġmodels": 3809,
- "Ġdra": 3810,
- "èĸ": 3811,
- "Ġgroup": 3812,
- "è¶³å¤Ł": 3813,
- "Ġgreen": 3814,
- "Ġhealthy": 3815,
- "Ġcomfort": 3816,
- "Ġadditional": 3817,
- "ä¸Ģ次": 3818,
- "é¤IJåİħ": 3819,
- "Ġmaterials": 3820,
- "Ġmanage": 3821,
- "çļĦæ¯": 3822,
- "伤": 3823,
- "åıĬæĹ¶": 3824,
- "Ġglo": 3825,
- "Ġstat": 3826,
- "å¿«éĢŁ": 3827,
- "Ġmonitoring": 3828,
- "aily": 3829,
- "rand": 3830,
- "oice": 3831,
- "resh": 3832,
- "ç»Ħç»ĩ": 3833,
- "Ġunder": 3834,
- "Ġnecessary": 3835,
- "Ġhelpful": 3836,
- "ĠCol": 3837,
- "é»ijæ´ŀ": 3838,
- "åģļåĩº": 3839,
- "Ġcourse": 3840,
- "Ġmat": 3841,
- "Ġleg": 3842,
- "Ġface": 3843,
- "令": 3844,
- "èī¯å¥½çļĦ": 3845,
- "ock": 3846,
- "åĮ»çĸĹ": 3847,
- "çĽĸ": 3848,
- "idence": 3849,
- "Ġassociated": 3850,
- "Ġprogress": 3851,
- "åľĨ": 3852,
- "Ġeveryone": 3853,
- "ç¼ĵ": 3854,
- "ĠEng": 3855,
- "word": 3856,
- "èĵĿ": 3857,
- "天æ°Ķ": 3858,
- "Ġactions": 3859,
- "ems": 3860,
- "ĠPl": 3861,
- "å®Ļ": 3862,
- "ush": 3863,
- "顾": 3864,
- "Ġcosts": 3865,
- "ator": 3866,
- "ç©¿": 3867,
- "Ġamounts": 3868,
- "èͬèıľ": 3869,
- "..": 3870,
- "Ġmanner": 3871,
- "Ġconsequ": 3872,
- "æ°ĶåĢĻ": 3873,
- "Ġinsights": 3874,
- "being": 3875,
- "atory": 3876,
- "ener": 3877,
- "lex": 3878,
- "Ġmeans": 3879,
- "Ġcollaboration": 3880,
- "Ġperspect": 3881,
- "orm": 3882,
- "priate": 3883,
- "å°Ĭéĩį": 3884,
- "Ġtarget": 3885,
- "è®°å½ķ": 3886,
- "åĢĴ": 3887,
- "Ġrenewable": 3888,
- "æĦ¿": 3889,
- "èĥ½æºIJ": 3890,
- "Ġinput": 3891,
- "å®ĩå®Ļ": 3892,
- "ape": 3893,
- "Ġadjust": 3894,
- "eries": 3895,
- "Ġdire": 3896,
- "ä¾Ŀ": 3897,
- "ustr": 3898,
- "fect": 3899,
- "Ġbeautiful": 3900,
- "Ġdue": 3901,
- "reci": 3902,
- "çĮ®": 3903,
- "èĥĮæĻ¯": 3904,
- "èĤ¡": 3905,
- "Ġdam": 3906,
- "ik": 3907,
- "Ġadvanced": 3908,
- "çĽ¸å¯¹": 3909,
- "åIJįç§°": 3910,
- "Ġshort": 3911,
- "Ġobject": 3912,
- "è¿ĻéĩĮ": 3913,
- "éĢłæĪIJ": 3914,
- "èIJ¥éĶĢ": 3915,
- "çļĦæĥħæĦŁ": 3916,
- "票": 3917,
- "Ġcountries": 3918,
- "ining": 3919,
- "istic": 3920,
- "Ġplans": 3921,
- "责任": 3922,
- "Ġstakehold": 3923,
- "the": 3924,
- "Ġassess": 3925,
- "æĢĿèĢĥ": 3926,
- "ech": 3927,
- "æĪIJåijĺ": 3928,
- "21": 3929,
- "Ġdaily": 3930,
- "Ġcomput": 3931,
- "çļĦæĥħåĨµ": 3932,
- "æıIJåĩº": 3933,
- "ĠâĢľ": 3934,
- "åªĴ": 3935,
- "ä¸Ńå¿ĥ": 3936,
- "ished": 3937,
- "ĠSe": 3938,
- "onomous": 3939,
- "ern": 3940,
- "ç»´æĬ¤": 3941,
- "ames": 3942,
- "Ġprioritize": 3943,
- "纸": 3944,
- "èĤ¥": 3945,
- "Ġtemper": 3946,
- "æ¸ħæ´ģ": 3947,
- "use": 3948,
- "污": 3949,
- "Ġminim": 3950,
- "æĺ¯åľ¨": 3951,
- "大å°ı": 3952,
- "åĵªäºĽ": 3953,
- "Ġappreci": 3954,
- "reng": 3955,
- "Ġregulations": 3956,
- "ĠZ": 3957,
- "éĶĻ误": 3958,
- "rans": 3959,
- "èĢĮä¸Ķ": 3960,
- "èά": 3961,
- "èij±": 3962,
- "èĨ": 3963,
- "æ°´å¹³": 3964,
- "è´Ńçī©": 3965,
- "åŃĹ符串": 3966,
- "对æĸ¹": 3967,
- "Ġhim": 3968,
- "Ġconsequences": 3969,
- "å·´": 3970,
- "é¼ĵåĬ±": 3971,
- "Ġfil": 3972,
- "人åijĺ": 3973,
- "è·Ŀ离": 3974,
- "ĠWhen": 3975,
- "çļĦæ°´": 3976,
- "çī©çIJĨ": 3977,
- "åIJĮæĹ¶ä¹Ł": 3978,
- "åľ¨è¿Ļ个": 3979,
- "åħ¶æ¬¡": 3980,
- ",\"": 3981,
- "æ¶²": 3982,
- "çĶ·": 3983,
- "ival": 3984,
- "åı¯ä»¥è®©": 3985,
- "æĥ¯": 3986,
- "Ġadvance": 3987,
- "Ġveh": 3988,
- "å¦ĤæŀľæĤ¨": 3989,
- "Ġestab": 3990,
- "ript": 3991,
- "端": 3992,
- "ä¸įä¼ļ": 3993,
- "Ġtransparent": 3994,
- "æķ°éĩı": 3995,
- "çĽĺ": 3996,
- "Ġspeak": 3997,
- "Ġpark": 3998,
- "Ġstakeholders": 3999,
- "éº": 4000,
- "Ġevent": 4001,
- "çļĦæķ°æį®": 4002,
- "èĩªåĬ¨": 4003,
- "ç»ĨèĬĤ": 4004,
- "è¯Ħä¼°": 4005,
- "润": 4006,
- "Ġpreferences": 4007,
- "Ġveget": 4008,
- "æįŁ": 4009,
- "equ": 4010,
- "Ġgl": 4011,
- "Ġpain": 4012,
- "ogra": 4013,
- "Ġtraffic": 4014,
- "Ġoce": 4015,
- "ä¹ĺ": 4016,
- "ext": 4017,
- "âĢĿï¼Į": 4018,
- "Ġanother": 4019,
- "å¤ļå°ij": 4020,
- "Ġagainst": 4021,
- "ç»ıåİĨ": 4022,
- "计ç®Ĺæľº": 4023,
- "èĢIJ": 4024,
- "软件": 4025,
- "ĠPre": 4026,
- "Ġplants": 4027,
- "缸äºĴ": 4028,
- "é¢ij": 4029,
- "\\_": 4030,
- "Ġsame": 4031,
- "rug": 4032,
- "Ġvalu": 4033,
- "Ġocc": 4034,
- "çļĦç¤": 4035,
- "Ġsustainability": 4036,
- "ĠShe": 4037,
- "de": 4038,
- "ote": 4039,
- "Ġdig": 4040,
- "NA": 4041,
- "Ġcrucial": 4042,
- "æī§": 4043,
- "å±Ģ": 4044,
- "æĭŁ": 4045,
- "æĭĮ": 4046,
- "Ġnon": 4047,
- "Ġengaging": 4048,
- "Ġintern": 4049,
- "LP": 4050,
- "温度": 4051,
- "æł¸": 4052,
- "æĬ¥åijĬ": 4053,
- "æĿ¥è¶Ĭ": 4054,
- "hood": 4055,
- "ä¸ī个": 4056,
- "å¦Ĥä¸ĭ": 4057,
- "çī©ä½ĵ": 4058,
- "force": 4059,
- "Ġneeded": 4060,
- "Ġimages": 4061,
- "Ġbuilding": 4062,
- "icious": 4063,
- "ĠæĪij": 4064,
- "è¶ĬæĿ¥è¶Ĭ": 4065,
- "æĶ¾åħ¥": 4066,
- "go": 4067,
- "éĻįä½İ": 4068,
- "å½ĵåľ°": 4069,
- "æ¶Īè´¹èĢħ": 4070,
- "ç£": 4071,
- "iversity": 4072,
- "é¢Ħç®Ĺ": 4073,
- "icle": 4074,
- "æ··åIJĪ": 4075,
- "Ġparticip": 4076,
- "Ġdishes": 4077,
- "Ġthroughout": 4078,
- "Ġwithin": 4079,
- "åı³": 4080,
- "é«ĺçļĦ": 4081,
- "Ġphot": 4082,
- "Ġtrust": 4083,
- "æĦıè¯Ĩ": 4084,
- "以确ä¿Ŀ": 4085,
- "çĬ¶æĢģ": 4086,
- "Ġautomation": 4087,
- "11": 4088,
- "Ġpost": 4089,
- "æīĭæľº": 4090,
- "works": 4091,
- "éĢı": 4092,
- "åºĵ": 4093,
- "Ġwind": 4094,
- "Ġ==": 4095,
- "Ġprocessing": 4096,
- "èĮĥåĽ´": 4097,
- "æĦıä¹ī": 4098,
- "追æ±Ĥ": 4099,
- "é": 4100,
- "å¾Ħ": 4101,
- "éĿł": 4102,
- "ä¸ĸ": 4103,
- "èϽ": 4104,
- "ç«ŀäºī": 4105,
- "Ġappropriate": 4106,
- "æĽ´å¥½çļĦ": 4107,
- "Ġcharacter": 4108,
- "cl": 4109,
- "ç§ĺ": 4110,
- "itude": 4111,
- "Ġteac": 4112,
- "leep": 4113,
- "ĠDevelop": 4114,
- "ince": 4115,
- "å·¦": 4116,
- "ground": 4117,
- "è¡Įä¸ļ": 4118,
- "éĴĪ对": 4119,
- "å¿ħè¦ģ": 4120,
- "Ġdeterm": 4121,
- "----------------": 4122,
- "Ġstreng": 4123,
- "do": 4124,
- "Ġchallenging": 4125,
- "ork": 4126,
- "Ġanx": 4127,
- "èī²çļĦ": 4128,
- "Ġhard": 4129,
- "æĺİç¡®": 4130,
- "åĪĨ享": 4131,
- "æĶ¹åıĺ": 4132,
- "ä½³": 4133,
- "åıªæľī": 4134,
- "å±ķ示": 4135,
- "Ġcamp": 4136,
- "纳": 4137,
- "aj": 4138,
- "etic": 4139,
- "ument": 4140,
- "ä½łåı¯ä»¥": 4141,
- "Ġpollut": 4142,
- "Ġhig": 4143,
- "pping": 4144,
- "ead": 4145,
- "çĦ¶èĢĮ": 4146,
- "第äºĮ": 4147,
- "鸣": 4148,
- "çī©åĵģ": 4149,
- "举": 4150,
- "Ġencourage": 4151,
- "pecial": 4152,
- "Ġacross": 4153,
- "elves": 4154,
- "äºĭä»¶": 4155,
- "cle": 4156,
- "æ©": 4157,
- "åªĴä½ĵ": 4158,
- "ners": 4159,
- "Ġcal": 4160,
- "èϽçĦ¶": 4161,
- "åĽº": 4162,
- "ä¹łæĥ¯": 4163,
- "Ġsafe": 4164,
- "èĥ½éĩı": 4165,
- "istics": 4166,
- "ä¹ĭåīį": 4167,
- "Ġissue": 4168,
- "å¤ļ个": 4169,
- "åĨ³çŃĸ": 4170,
- "è¾¾åΰ": 4171,
- "æĹ©": 4172,
- "ä¸įåı¯": 4173,
- "ä¸Ģ缴": 4174,
- "å·¨": 4175,
- "æĦŁè°¢": 4176,
- "ĠNew": 4177,
- "ä¸Ģ段": 4178,
- "Ġmachines": 4179,
- "å°Ĩåħ¶": 4180,
- "ç»§ç»Ń": 4181,
- "Ġword": 4182,
- "çī¹åĪ«": 4183,
- "Ġagriculture": 4184,
- "æĢİ": 4185,
- "éĢIJæ¸IJ": 4186,
- "éĵ¾": 4187,
- "课": 4188,
- "Ġkind": 4189,
- "å¢Ļ": 4190,
- "谢谢": 4191,
- "Ġalgorithm": 4192,
- "è£ħ饰": 4193,
- "Ġalong": 4194,
- "Ġeasy": 4195,
- "äºij": 4196,
- "è§£åĨ³æĸ¹æ¡Ī": 4197,
- "Ġawareness": 4198,
- "'ve": 4199,
- "æĸ¹åIJij": 4200,
- "Ġnever": 4201,
- "Ġquickly": 4202,
- "Ġrespect": 4203,
- "çļĦæĻ": 4204,
- "Ġamong": 4205,
- "Ġaccountability": 4206,
- "Ġlaw": 4207,
- "ening": 4208,
- "Ġdefin": 4209,
- "Ġsurround": 4210,
- "éĵģ": 4211,
- "Ġpowerful": 4212,
- "An": 4213,
- "Ġcause": 4214,
- "æ¥": 4215,
- "æİĮæı¡": 4216,
- "è¿ĺæĺ¯": 4217,
- "Ġcreative": 4218,
- "è¡Ģ": 4219,
- "Ġlocated": 4220,
- "unning": 4221,
- "åľ°åĮº": 4222,
- "éĿ¢ç§¯": 4223,
- "鼨": 4224,
- "Ġnear": 4225,
- "Ġiniti": 4226,
- "ression": 4227,
- "ä¸ĭæĿ¥": 4228,
- "25": 4229,
- "é©¶": 4230,
- "¾çĹħ": 4231,
- "ables": 4232,
- "æľīè¶£": 4233,
- "循çݯ": 4234,
- "çŃĶæ¡Ī": 4235,
- "çł´": 4236,
- "ication": 4237,
- "éĻ¢": 4238,
- "æ²»çĸĹ": 4239,
- "Ġaddition": 4240,
- "äºĭæĥħ": 4241,
- "Ġbecause": 4242,
- "åıĪ": 4243,
- "èĤĮ": 4244,
- "纪": 4245,
- "side": 4246,
- "æĭħ": 4247,
- "湿": 4248,
- "åįĬ": 4249,
- "顺": 4250,
- "ĠAnd": 4251,
- "Ġrestaurant": 4252,
- "Ġvide": 4253,
- "Ġproblem": 4254,
- "azing": 4255,
- "Ġmembers": 4256,
- "Ġnut": 4257,
- "Ġcou": 4258,
- "浪": 4259,
- "Ġè¿Ļ": 4260,
- "Ġhelping": 4261,
- "ĠIs": 4262,
- "æıIJåįĩ": 4263,
- "ĠĠĠĠĠĠ": 4264,
- "Ġsho": 4265,
- "Ġrelev": 4266,
- "Ġarg": 4267,
- "Ġbalance": 4268,
- "illed": 4269,
- "æĺ¯ä»Ģä¹Ī": 4270,
- "åĬĽéĩı": 4271,
- "ired": 4272,
- "å¤ľ": 4273,
- "åı¯æĮģç»Ń": 4274,
- "Ġperfect": 4275,
- "**": 4276,
- "ification": 4277,
- "æ¶ī": 4278,
- "Ġwildlife": 4279,
- "ane": 4280,
- "Ġrelated": 4281,
- "室åĨħ": 4282,
- "åºľ": 4283,
- "享åıĹ": 4284,
- "ours": 4285,
- "è·ij": 4286,
- "åķĨä¸ļ": 4287,
- "aching": 4288,
- "Ġsun": 4289,
- "Ġrecognition": 4290,
- "elt": 4291,
- "Ġorder": 4292,
- "å¹³åĿĩ": 4293,
- "ging": 4294,
- "临": 4295,
- "çĤ¼": 4296,
- "Ġgoing": 4297,
- "åij¼åIJ¸": 4298,
- "Ġsoftware": 4299,
- "Ġremot": 4300,
- "èijĹåIJį": 4301,
- "幸ç¦ı": 4302,
- "Ġenhance": 4303,
- "èĻļ": 4304,
- "Ġnow": 4305,
- "Ġthreat": 4306,
- "Ġdest": 4307,
- "åĿĩåĮĢ": 4308,
- "Ġacad": 4309,
- "åºĶ对": 4310,
- "çľĭåΰ": 4311,
- "cast": 4312,
- "è¾Ĩ": 4313,
- "ificial": 4314,
- "Ġvery": 4315,
- "ook": 4316,
- "åĮºåŁŁ": 4317,
- "¹ģ": 4318,
- "æĪ¿éĹ´": 4319,
- "æıIJä¾ĽäºĨ": 4320,
- "Ġmotiv": 4321,
- "Ġaccessible": 4322,
- "åĨ³å®ļ": 4323,
- "Ġhy": 4324,
- "å®Ī": 4325,
- "Ġflo": 4326,
- "ug": 4327,
- "Ġinformed": 4328,
- "åĵģè´¨": 4329,
- "çļĦçŁ": 4330,
- "aves": 4331,
- "arr": 4332,
- "ĠWith": 4333,
- "let": 4334,
- "è§ĤçĤ¹": 4335,
- "enge": 4336,
- "è¡ĮåĬ¨": 4337,
- "friend": 4338,
- "ç³ķ": 4339,
- "Ġfurther": 4340,
- "ĠEns": 4341,
- "ç§ģ": 4342,
- "Ġado": 4343,
- "Ġclean": 4344,
- "缸åºĶ": 4345,
- "Ġfre": 4346,
- "pecially": 4347,
- "èĹ": 4348,
- "Ġcapt": 4349,
- "çļĦçľ": 4350,
- "Ġsomeone": 4351,
- "Ġcell": 4352,
- "æĶ¾åľ¨": 4353,
- "欢è¿İ": 4354,
- "ĠâĢ": 4355,
- "Ġdevices": 4356,
- "çļĦæĸ¹å¼ı": 4357,
- "Ġjobs": 4358,
- "augh": 4359,
- "not": 4360,
- "æľīäºĽ": 4361,
- "åħ¬åħ±": 4362,
- "gest": 4363,
- "çļĦçĶŁæ´»": 4364,
- "çľ¼": 4365,
- "çļĦä¿¡æģ¯": 4366,
- "ĠCons": 4367,
- "æİĴåºı": 4368,
- "Ġbenefit": 4369,
- "rect": 4370,
- "å¤ı": 4371,
- "unte": 4372,
- "符åIJĪ": 4373,
- "ä¸Ģä½į": 4374,
- "åĨħéĥ¨": 4375,
- "Ġlooking": 4376,
- "ding": 4377,
- "æĬĺ": 4378,
- "è¾ij": 4379,
- "è¿Ļ个éĹ®é¢ĺ": 4380,
- "Ġespecially": 4381,
- "çľł": 4382,
- "âĢĿãĢĤ": 4383,
- "å¥ı": 4384,
- "ray": 4385,
- "è¿ĺåı¯ä»¥": 4386,
- "åĪĽä½ľ": 4387,
- "coming": 4388,
- "Ġmultiple": 4389,
- "éļIJ": 4390,
- "泡": 4391,
- "æłĩåĩĨ": 4392,
- "Ġmil": 4393,
- "éľĢè¦ģ注æĦı": 4394,
- "Ġanxiety": 4395,
- "æĶ¹è¿Ľ": 4396,
- "å±ĭ": 4397,
- "污æŁĵ": 4398,
- "ç¼ĸç¨ĭ": 4399,
- "è´¹ç͍": 4400,
- "Ġevalu": 4401,
- "imately": 4402,
- "Ġliter": 4403,
- "ograph": 4404,
- "Ġsearch": 4405,
- "16": 4406,
- "enced": 4407,
- "Ġmethods": 4408,
- "çĥĪ": 4409,
- "模å¼ı": 4410,
- "çĬ¶åĨµ": 4411,
- "æĶ¹åĸĦ": 4412,
- "å¤ļæł·": 4413,
- "cer": 4414,
- "å¥ĸ": 4415,
- "Ġsatis": 4416,
- "Ġwebsite": 4417,
- "åĬŀ": 4418,
- "åģ¥èº«": 4419,
- "Ġglobal": 4420,
- "Ġask": 4421,
- "Ġplatforms": 4422,
- "Ġdiseases": 4423,
- "çݰ象": 4424,
- "tics": 4425,
- "æ±ģ": 4426,
- "åΤæĸŃ": 4427,
- "Ġconvers": 4428,
- "Ġrelationship": 4429,
- "设置": 4430,
- "æ³ķå¾ĭ": 4431,
- "Ġmindful": 4432,
- "é¢Ħæµĭ": 4433,
- "overy": 4434,
- "åģľ": 4435,
- "ç͵è§Ĩ": 4436,
- "è§ĦåĪĻ": 4437,
- "aken": 4438,
- "Ġimplementing": 4439,
- "ising": 4440,
- "åıĤåĬł": 4441,
- "æĥħ绪": 4442,
- "Ġprovided": 4443,
- "æ·±åħ¥": 4444,
- "Ġprogrammed": 4445,
- "Ġrelevant": 4446,
- "çļĦçĥ": 4447,
- "çĸ¾çĹħ": 4448,
- "åĮ»çĶŁ": 4449,
- "åĪĽå»º": 4450,
- "Ġgenerate": 4451,
- "æĶ¶åħ¥": 4452,
- "ä¼ij": 4453,
- "izes": 4454,
- "Ġtransform": 4455,
- "éģµ": 4456,
- "astic": 4457,
- "åijĪ": 4458,
- "æ¯ı个人": 4459,
- "è¿Ķ": 4460,
- "iet": 4461,
- "Ġvoice": 4462,
- "éĢĶ": 4463,
- "æĶ¾æĿ¾": 4464,
- "åį´": 4465,
- "èĥľ": 4466,
- "Ġstructure": 4467,
- "æĹ¶å°ļ": 4468,
- "ĠQ": 4469,
- "Ġelse": 4470,
- "duc": 4471,
- "Ġemp": 4472,
- "èģļ": 4473,
- "è´§": 4474,
- "aches": 4475,
- "ç§Ģ": 4476,
- "anks": 4477,
- "Ġnight": 4478,
- "Ġprofessionals": 4479,
- "Ġbas": 4480,
- "è´µ": 4481,
- "ec": 4482,
- "Ġdiversity": 4483,
- "ites": 4484,
- "dr": 4485,
- "åĽ°éļ¾": 4486,
- "ĥåľ": 4487,
- "åŀĥåľ": 4488,
- "åŀĥåľ¾": 4489,
- "Ġdrug": 4490,
- "碳": 4491,
- "Ġname": 4492,
- "åĮĸçļĦ": 4493,
- "aid": 4494,
- "æľĢ大": 4495,
- "æijĦ": 4496,
- "ç®ĢåįķçļĦ": 4497,
- "Ġwarm": 4498,
- "Ġdone": 4499,
- "Ġfunction": 4500,
- "asc": 4501,
- "强è°ĥ": 4502,
- "Ġdemand": 4503,
- "Ġvisual": 4504,
- "Ġupd": 4505,
- "æŃ£åľ¨": 4506,
- "Ġsimilar": 4507,
- "éĢĴ": 4508,
- "æ¯Ľ": 4509,
- "éĶ»": 4510,
- "ently": 4511,
- "Ġvaluable": 4512,
- "Ġdisaster": 4513,
- "ä¸Ģèά": 4514,
- "æ´²": 4515,
- "ĠReg": 4516,
- "Ġdiscrimination": 4517,
- "åĨĻä¸Ģç¯ĩ": 4518,
- "Ġgovernment": 4519,
- "Ġ好çļĦ": 4520,
- "500": 4521,
- "lying": 4522,
- "Ġprev": 4523,
- "Ġprepare": 4524,
- "Ġproblems": 4525,
- "è·³": 4526,
- "Ġprom": 4527,
- "åĨ²": 4528,
- "å®īè£ħ": 4529,
- "éĶ»çĤ¼": 4530,
- "æµĵ": 4531,
- "è¹": 4532,
- "åºĶç͍ç¨ĭåºı": 4533,
- "ng": 4534,
- "Ġcompet": 4535,
- "åĪĨåĪ«": 4536,
- "ological": 4537,
- "审": 4538,
- "Ġtransl": 4539,
- "Ġdirect": 4540,
- "åīĤ": 4541,
- "Ġsuggestions": 4542,
- "Ġpaper": 4543,
- "Ġrecognize": 4544,
- "ton": 4545,
- "Ġmitigate": 4546,
- "讨论": 4547,
- "äºĴåĬ¨": 4548,
- "ĠEar": 4549,
- "Ġamazing": 4550,
- "cre": 4551,
- "é¦Ī": 4552,
- "Ġinvolved": 4553,
- "face": 4554,
- "æľīåħ³": 4555,
- "))": 4556,
- "Ġexce": 4557,
- "Ġproductivity": 4558,
- "èŃ": 4559,
- "é¦Ĩ": 4560,
- "Ġsounds": 4561,
- "Ġidentifying": 4562,
- "],": 4563,
- "é¾Ļ": 4564,
- "Ġfit": 4565,
- "Ġcontribute": 4566,
- "ths": 4567,
- "friendly": 4568,
- "ele": 4569,
- "ified": 4570,
- "iveness": 4571,
- "itely": 4572,
- "ĠX": 4573,
- "Ġled": 4574,
- "åĿı": 4575,
- "Ġhistor": 4576,
- "Ġdat": 4577,
- "Ġjourney": 4578,
- "Ġ}": 4579,
- "Ġselect": 4580,
- "漫": 4581,
- "Ġconduct": 4582,
- "è¿Ľä¸ĢæŃ¥": 4583,
- "ç»ĻæĪij": 4584,
- "Ġlif": 4585,
- "è£ħä¿®": 4586,
- "为ä»Ģä¹Ī": 4587,
- "京": 4588,
- "Ġnav": 4589,
- "Ġwhole": 4590,
- "ç¹ģ": 4591,
- "åĨľ": 4592,
- "æĶ»": 4593,
- "Ġbreat": 4594,
- "Ġmiss": 4595,
- "é¾Ħ": 4596,
- "tt": 4597,
- "sw": 4598,
- "Ġbar": 4599,
- "请éĹ®": 4600,
- "èģĶç½ij": 4601,
- "Ġattract": 4602,
- "æĤ¨åı¯ä»¥": 4603,
- "One": 4604,
- "åħħåĪĨ": 4605,
- "ring": 4606,
- "Ġå½ĵçĦ¶": 4607,
- "ream": 4608,
- "Ġevol": 4609,
- "Ġsn": 4610,
- "ĠEm": 4611,
- "mosp": 4612,
- "Ġchoose": 4613,
- "view": 4614,
- "Ġarr": 4615,
- "Ġsleep": 4616,
- "ended": 4617,
- "æŀ¶": 4618,
- "Ġvehicles": 4619,
- "Ġfresh": 4620,
- "Ġorganization": 4621,
- "è¿Ļ段": 4622,
- "汤": 4623,
- "ĠInt": 4624,
- "Ġcontext": 4625,
- "åı¦å¤ĸ": 4626,
- "Ġocean": 4627,
- "æĦŁåıĹ": 4628,
- "Ġpollution": 4629,
- "urb": 4630,
- "æī§è¡Į": 4631,
- "ersonal": 4632,
- "ĠHealth": 4633,
- "ä¼ĺçĤ¹": 4634,
- "Ġattention": 4635,
- "æľīçĿĢ": 4636,
- "é£ŁæĿIJ": 4637,
- "Ġerr": 4638,
- "çļĦæĿ¥": 4639,
- "çļĦçĪ": 4640,
- "èѦ": 4641,
- "è·Ł": 4642,
- "æĹħè¡Į": 4643,
- "èĴľ": 4644,
- "çļĦæĢĿ": 4645,
- "Ġchatbot": 4646,
- "çļĦéľĢæ±Ĥ": 4647,
- "çķ¥": 4648,
- "Ġfeeling": 4649,
- "Ġimplemented": 4650,
- "社åĮº": 4651,
- "çļĦ建议": 4652,
- "æIJħ": 4653,
- "éĹ»": 4654,
- "åıįé¦Ī": 4655,
- "缴æİ¥": 4656,
- "æĺ¥": 4657,
- "itable": 4658,
- "æĪijä¼ļ": 4659,
- "åį±": 4660,
- "èī¯å¥½": 4661,
- "Ġliving": 4662,
- "åıĺéĩı": 4663,
- "ĠBut": 4664,
- "Ġcomplete": 4665,
- "Ġtrends": 4666,
- "Ġmakes": 4667,
- "ä»Ĭ天": 4668,
- "Ġdistribut": 4669,
- "Ġcommit": 4670,
- "Ġatmosp": 4671,
- "ä¼´": 4672,
- "Ġsensors": 4673,
- "Ġsw": 4674,
- "æĹłè®º": 4675,
- "omen": 4676,
- "æĶ¿åºľ": 4677,
- "Ġchallenge": 4678,
- "Ġturn": 4679,
- "çIJĨ论": 4680,
- "par": 4681,
- "Ġwrite": 4682,
- "ç»ıåħ¸": 4683,
- "emember": 4684,
- "é¥Ń": 4685,
- "æĸ¹ä¾¿": 4686,
- "Ġcu": 4687,
- "Ġvalue": 4688,
- "Ġfund": 4689,
- "pose": 4690,
- "è°ĥæŁ¥": 4691,
- "çĿ¡": 4692,
- "Ġcommunicate": 4693,
- "Ġdisease": 4694,
- "Ġresearc": 4695,
- "Ġlack": 4696,
- "arning": 4697,
- "ĠPark": 4698,
- "çĦ¦": 4699,
- "é«ĺ度": 4700,
- "Ġrather": 4701,
- "宣": 4702,
- "çζ": 4703,
- "éĺ¶": 4704,
- "订": 4705,
- "çĥ§": 4706,
- "Ġhigher": 4707,
- "Ġsummary": 4708,
- "ĠAut": 4709,
- "çļĦæ³": 4710,
- "Ġele": 4711,
- "isms": 4712,
- "Ġreli": 4713,
- "ä¹Łä¼ļ": 4714,
- "fra": 4715,
- "åijĬè¯īæĪij": 4716,
- "æĬ½": 4717,
- "Ġsituations": 4718,
- "Ġmarine": 4719,
- "æĥ³è¦ģ": 4720,
- "inci": 4721,
- "inal": 4722,
- "Ġgain": 4723,
- "Ġdifference": 4724,
- "æľºåĻ¨äºº": 4725,
- "æµģç¨ĭ": 4726,
- "ĠChat": 4727,
- "ç½ijç«Ļ": 4728,
- "æľ«": 4729,
- "Ġcolor": 4730,
- "Ġaspect": 4731,
- "ç½Ĺ": 4732,
- "ĠEduc": 4733,
- "Ġdeploy": 4734,
- "Ġbeauty": 4735,
- "æĤ£": 4736,
- "ruction": 4737,
- "itut": 4738,
- "æĿŁ": 4739,
- "让æĪij们": 4740,
- "éķ¿åº¦": 4741,
- "ules": 4742,
- "æ¶īåıĬ": 4743,
- "Ġdigital": 4744,
- "Ġexisting": 4745,
- "ĠOr": 4746,
- "\\_\\_": 4747,
- "Ġbackground": 4748,
- "çĹĩ": 4749,
- "æ¯ı天": 4750,
- "python": 4751,
- "Ġfarmers": 4752,
- "Ġcontinu": 4753,
- "\":": 4754,
- "Ġgiven": 4755,
- "å°ıæĹ¶": 4756,
- "Ġmoment": 4757,
- "200": 4758,
- "John": 4759,
- "éĿ¢å¯¹": 4760,
- "Ġintro": 4761,
- "Ġtherapy": 4762,
- "è¿ĶåĽŀ": 4763,
- "å¹¶åľ¨": 4764,
- "Ġz": 4765,
- "Ġafford": 4766,
- "ä¸Ŀ": 4767,
- "宽": 4768,
- "ĠÃ": 4769,
- "ĠNational": 4770,
- "èĥ¡": 4771,
- "Ġexercise": 4772,
- "æIJħæĭĮ": 4773,
- "æĶ¯ä»ĺ": 4774,
- "éĺ³åħī": 4775,
- "è¯ļ": 4776,
- "Ġsect": 4777,
- "ĠSu": 4778,
- "å¢ŀéķ¿": 4779,
- "ç¾İ丽": 4780,
- "Ġwa": 4781,
- "以ä¸ĭæĺ¯ä¸ĢäºĽ": 4782,
- "èĽĭç³ķ": 4783,
- "Ġill": 4784,
- "æ¸ħæĻ": 4785,
- "etry": 4786,
- "梦": 4787,
- "ç¾İåĽ½": 4788,
- "ä»į": 4789,
- "oney": 4790,
- "Ġecosystems": 4791,
- "æĮĩ导": 4792,
- "def": 4793,
- "99": 4794,
- "æŁĶ": 4795,
- "pped": 4796,
- "Ġlimit": 4797,
- "çİī": 4798,
- "Ġacademic": 4799,
- "Ġrestaurants": 4800,
- "Ġhead": 4801,
- "ä¿¡ä»»": 4802,
- "asters": 4803,
- "å²ģ": 4804,
- "akers": 4805,
- "14": 4806,
- "As": 4807,
- "æł¡": 4808,
- "é«ĺæķĪ": 4809,
- "phas": 4810,
- "yn": 4811,
- "ç¨ĭ度": 4812,
- "è¾£": 4813,
- "ä¸ĬéĿ¢": 4814,
- "å®¶å±ħ": 4815,
- "term": 4816,
- "ç¾İé£Ł": 4817,
- "Ġovers": 4818,
- "å®ĺ": 4819,
- "Ġindic": 4820,
- "ĠYour": 4821,
- "St": 4822,
- "形象": 4823,
- "è´¡": 4824,
- "åºĬ": 4825,
- "ĠSc": 4826,
- "agra": 4827,
- "羣æŃ£": 4828,
- "oint": 4829,
- "ids": 4830,
- "arent": 4831,
- "éĵ¶": 4832,
- "èģĬ": 4833,
- "Ġregular": 4834,
- "ä¼ĺç§Ģ": 4835,
- "Ġcolle": 4836,
- "çĸij": 4837,
- "Ġsubject": 4838,
- "Ġgreater": 4839,
- "Ġstore": 4840,
- "åŁ¹è®Ń": 4841,
- "Ġimag": 4842,
- "Ġansw": 4843,
- "ä½Ļ": 4844,
- "Ġspot": 4845,
- "åĪĨåŃIJ": 4846,
- "Ġaudience": 4847,
- "pet": 4848,
- "Ġvers": 4849,
- "Ġtrail": 4850,
- "åĭĩ": 4851,
- "erous": 4852,
- "Ġguidance": 4853,
- "Ġspeech": 4854,
- "åĵ²": 4855,
- "æĺ¯çͱ": 4856,
- "è´¡çĮ®": 4857,
- "åIJĪéĢĤçļĦ": 4858,
- "设æĸ½": 4859,
- "ä»ĸ人": 4860,
- "ensive": 4861,
- "å̾": 4862,
- "aling": 4863,
- "Ġprojects": 4864,
- "å³": 4865,
- "Ġtakes": 4866,
- "绩": 4867,
- "That": 4868,
- "Ġbro": 4869,
- "ived": 4870,
- "Ġ&": 4871,
- "åĿIJ": 4872,
- "placement": 4873,
- "è¿ŀæİ¥": 4874,
- "çļĦ社": 4875,
- "ĠTra": 4876,
- "Ġrelax": 4877,
- "ufact": 4878,
- "éģį": 4879,
- "Ġsurv": 4880,
- "åı£åij³": 4881,
- "Ġcreativity": 4882,
- "of": 4883,
- "å¨ģ": 4884,
- "çļĦçł": 4885,
- "Ġbreath": 4886,
- "Ġplaces": 4887,
- "Ġdescrib": 4888,
- "èĭ±è¯Ń": 4889,
- "Ġdamage": 4890,
- "oration": 4891,
- "为æĤ¨": 4892,
- "ift": 4893,
- "Ġcase": 4894,
- "å¹´é¾Ħ": 4895,
- "Ġpress": 4896,
- "çĶľ": 4897,
- "éĩİ": 4898,
- "æĹħ游": 4899,
- "Ġtaken": 4900,
- "ined": 4901,
- "Ġconcept": 4902,
- "æĴŃ": 4903,
- "Ġinteresting": 4904,
- "è·µ": 4905,
- "Ġsea": 4906,
- "60": 4907,
- "Ġfoot": 4908,
- "ĠName": 4909,
- "Ġresearchers": 4910,
- "éĢģ": 4911,
- "Ġwee": 4912,
- ");": 4913,
- "çļĦåħ³éĶ®": 4914,
- "ä¼½": 4915,
- "elebr": 4916,
- "å¡ij": 4917,
- "We": 4918,
- "ç»ı常": 4919,
- "Ġpopulations": 4920,
- "åħ¬å¼ı": 4921,
- "orn": 4922,
- "çĩĥ": 4923,
- "人çĶŁ": 4924,
- "17": 4925,
- "æİ¥åıĹ": 4926,
- "Ġlocation": 4927,
- "Ġinequ": 4928,
- "Ġintervent": 4929,
- "Ġinterested": 4930,
- "Ġdefinitely": 4931,
- "Ġassistance": 4932,
- "è¿Ļä¸Ģ": 4933,
- "åIJĪåIJĮ": 4934,
- "ä¼ĺåĬ¿": 4935,
- "çļĦå·¥ä½ľ": 4936,
- "Ġ12": 4937,
- "Ġmov": 4938,
- "åģı": 4939,
- "åŃĺåĤ¨": 4940,
- "usive": 4941,
- "æĹı": 4942,
- "ï¼īï¼Į": 4943,
- "Ġgas": 4944,
- "Ġinterests": 4945,
- "æ¸ħæĻ°": 4946,
- "Ġgard": 4947,
- "çĸ«": 4948,
- "Ġsay": 4949,
- "夫": 4950,
- "ges": 4951,
- "èIJ¨": 4952,
- "ä¸ļåĬ¡": 4953,
- "个æĢ§": 4954,
- "åIJ¯": 4955,
- "Ġengagement": 4956,
- "Ġbig": 4957,
- "éľĢè¦ģèĢĥèĻij": 4958,
- "Ġprinci": 4959,
- "åij¨åĽ´": 4960,
- "Ġopportunity": 4961,
- "çģ¾": 4962,
- "èĹı": 4963,
- "rel": 4964,
- "缺çĤ¹": 4965,
- "Ġhappy": 4966,
- "åĴĮåħ¶ä»ĸ": 4967,
- "ava": 4968,
- "Ġestablish": 4969,
- "鸡èĽĭ": 4970,
- "iking": 4971,
- "ĠTrans": 4972,
- "rastructure": 4973,
- "forest": 4974,
- "èİ·åıĸ": 4975,
- "èĦļ": 4976,
- "inally": 4977,
- "èµı": 4978,
- "Ġdelicious": 4979,
- "Ġresults": 4980,
- "è§Ĥå¯Ł": 4981,
- "å®ŀè·µ": 4982,
- "Ġlast": 4983,
- "Ġpolit": 4984,
- "æĢ§èĥ½": 4985,
- "For": 4986,
- "bi": 4987,
- "çĽ¸ä¿¡": 4988,
- "ffee": 4989,
- "Ġphr": 4990,
- "Ġforest": 4991,
- "elling": 4992,
- "æµģè¡Į": 4993,
- "atic": 4994,
- "大家": 4995,
- "ĠInst": 4996,
- "æķ°åѦ": 4997,
- "æī©": 4998,
- "å®Įåħ¨": 4999,
- "å¼ķèµ·": 5000,
- "ese": 5001,
- "转æį¢": 5002,
- "Ġaffected": 5003,
- "Ġrobotics": 5004,
- "综ä¸Ĭ": 5005,
- "Ġprop": 5006,
- "让人": 5007,
- "æ²³": 5008,
- "ä¸ŃæľĢ": 5009,
- "Ġautonomous": 5010,
- "Ġhaving": 5011,
- "Ġtrip": 5012,
- "ury": 5013,
- "Ġbiased": 5014,
- "Ġconsiderations": 5015,
- "Ġparticular": 5016,
- "åįł": 5017,
- "æİ¨å¹¿": 5018,
- "Ġinitiatives": 5019,
- "ials": 5020,
- "åij³éģĵ": 5021,
- "Ġtreatments": 5022,
- "Ġemphas": 5023,
- "çĭ¬çī¹çļĦ": 5024,
- "Ġlay": 5025,
- "æĶ¿çŃĸ": 5026,
- "æĢİä¹Ī": 5027,
- "ronic": 5028,
- "play": 5029,
- "Ġcook": 5030,
- "è¿Ľåħ¥": 5031,
- "è½®": 5032,
- "Ġvolunte": 5033,
- "Ġrain": 5034,
- "ĠMon": 5035,
- "Ġconsumption": 5036,
- "èĽĭçϽ": 5037,
- "ĠSoc": 5038,
- "壤": 5039,
- "Ġroutine": 5040,
- "Ġimproved": 5041,
- "To": 5042,
- "人çī©": 5043,
- "读èĢħ": 5044,
- "Ġgoal": 5045,
- "广åijĬ": 5046,
- "éķ¿æľŁ": 5047,
- "Ġey": 5048,
- "He": 5049,
- "Ġoutdo": 5050,
- "Ġcuis": 5051,
- "Ġaway": 5052,
- "Ġbooks": 5053,
- "Ġtopic": 5054,
- "大åĪ©": 5055,
- "house": 5056,
- "Ġones": 5057,
- "ç§Ł": 5058,
- "':": 5059,
- "æĪ¿å±ĭ": 5060,
- "ç§»åĬ¨": 5061,
- "Ġdisasters": 5062,
- "ests": 5063,
- "illing": 5064,
- "绿èī²": 5065,
- "åĵ²åѦ": 5066,
- "æĪIJåĪĨ": 5067,
- "Ġoccur": 5068,
- "ľä¼½": 5069,
- "åľŁå£¤": 5070,
- "çļĦ主è¦ģ": 5071,
- "çݰå®ŀ": 5072,
- "Ġanimal": 5073,
- "é¢Ĩ导": 5074,
- "Ġviews": 5075,
- "éĤ®": 5076,
- "æ°§åĮĸ": 5077,
- "athy": 5078,
- "éģĵå¾·": 5079,
- "社交åªĴä½ĵ": 5080,
- "ĠPersonal": 5081,
- "ĽåĽ´": 5082,
- "Ġpurch": 5083,
- "Ġcountry": 5084,
- "Ġremind": 5085,
- "寸": 5086,
- "Ġrights": 5087,
- "çļĦçݯå¢ĥ": 5088,
- "ĠPr": 5089,
- "Ġline": 5090,
- "ibr": 5091,
- "驾": 5092,
- "Ġmaj": 5093,
- "Ġovercome": 5094,
- "Ġnext": 5095,
- "æīĢè¿°": 5096,
- "è§Ħå®ļ": 5097,
- "Ġinteractions": 5098,
- "Ġconflic": 5099,
- "Ġwhy": 5100,
- "ç³»åĪĹ": 5101,
- "å°¼": 5102,
- "ibly": 5103,
- "çīĽå¥¶": 5104,
- "Ġresponses": 5105,
- "ses": 5106,
- "åѦä¼ļ": 5107,
- "bol": 5108,
- "Ġstandards": 5109,
- "ulner": 5110,
- "对è¯ĿåĨħ容": 5111,
- "lished": 5112,
- "çļĦæĢ§": 5113,
- "çĶŁæĢģç³»ç»Ł": 5114,
- "ann": 5115,
- "æĥħåĨµä¸ĭ": 5116,
- "寻æ±Ĥ": 5117,
- "Ġhold": 5118,
- "den": 5119,
- "åįĥ": 5120,
- "Ġmention": 5121,
- "ĠMany": 5122,
- "缴åΰ": 5123,
- "éģĹ": 5124,
- "hel": 5125,
- "Ġbelieve": 5126,
- "aries": 5127,
- "æľīä¸Ģ个": 5128,
- "13": 5129,
- "Ġatmosphere": 5130,
- "Ġmor": 5131,
- "æĹ¥æľŁ": 5132,
- "ä¹ħ": 5133,
- "ä½łå¥½": 5134,
- "Ġaddressing": 5135,
- "ĠâĢĵ": 5136,
- "çļĦåľ°æĸ¹": 5137,
- "ming": 5138,
- "Ġcannot": 5139,
- "Ġmanufact": 5140,
- "Ġpie": 5141,
- "icing": 5142,
- "Ġstudies": 5143,
- "ç¾İåij³": 5144,
- "ĠAmerican": 5145,
- "ĠNLP": 5146,
- "Ġaccording": 5147,
- "mselves": 5148,
- "èĦĤ": 5149,
- "èĩªä¿¡": 5150,
- "æīĢéľĢ": 5151,
- "Ġthemselves": 5152,
- "Ġremote": 5153,
- "åŁ¹åħ»": 5154,
- "å®īæİĴ": 5155,
- "ä½łéľĢè¦ģ": 5156,
- "Ġregard": 5157,
- "iring": 5158,
- "è¯ĨåĪ«": 5159,
- "Ġarticle": 5160,
- "æģĴ": 5161,
- "æĢ»çļĦæĿ¥": 5162,
- "Ġalign": 5163,
- "æ±ł": 5164,
- "tenance": 5165,
- "faction": 5166,
- "åĬ¨ä½ľ": 5167,
- "çļĦç©": 5168,
- "缩": 5169,
- "æĢ¥": 5170,
- "Ġ100": 5171,
- "Ġtesting": 5172,
- "åŃĹæ¯į": 5173,
- "å¹´è½»": 5174,
- "åζéĢł": 5175,
- "Ġswe": 5176,
- "å°º": 5177,
- "hens": 5178,
- "æ°´æŀľ": 5179,
- "Ġinfrastructure": 5180,
- "èī²å½©": 5181,
- "æĢ»çļĦæĿ¥è¯´": 5182,
- "æľīä»Ģä¹Ī": 5183,
- "text": 5184,
- "车è¾Ĩ": 5185,
- "Ġpay": 5186,
- "rop": 5187,
- "ĊĠĠ": 5188,
- "Ġcaused": 5189,
- "Ġcorrect": 5190,
- "Ġì": 5191,
- "èĥŀ": 5192,
- "ĠMed": 5193,
- "ç²¾ç¥ŀ": 5194,
- "æ°ĶåĢĻåıĺåĮĸ": 5195,
- "ĠRed": 5196,
- "äºĴèģĶç½ij": 5197,
- "Ġengage": 5198,
- "åĪĨ为": 5199,
- "ĠData": 5200,
- "Ġfull": 5201,
- "enc": 5202,
- "éĩįæĸ°": 5203,
- "æŃ£ç¡®çļĦ": 5204,
- "çļĦæ°Ķ": 5205,
- "åıĮæĸ¹": 5206,
- "Ġcomes": 5207,
- "åı¤ä»£": 5208,
- "æŁIJäºĽ": 5209,
- "åijĪçݰ": 5210,
- "Ġtoday": 5211,
- "aged": 5212,
- "æĪijåı¯ä»¥": 5213,
- "æĹ¥å¸¸": 5214,
- "æ»ij": 5215,
- "Ġclin": 5216,
- "Ġ\\": 5217,
- "Ġobs": 5218,
- "Ġartificial": 5219,
- "Ġexcell": 5220,
- "çļĦç¬": 5221,
- "alls": 5222,
- "Ġproduce": 5223,
- "ĠDes": 5224,
- "oss": 5225,
- "è¹Ī": 5226,
- "Ġdraw": 5227,
- "Ġletter": 5228,
- "Ġadvice": 5229,
- "Ġhighly": 5230,
- "çĬ¯": 5231,
- "综ä¸ĬæīĢè¿°": 5232,
- "满æĦı": 5233,
- "Ġprinciples": 5234,
- "èĮĦ": 5235,
- "Ġfeelings": 5236,
- "çļĦæ´": 5237,
- "Ġhom": 5238,
- "Ġfail": 5239,
- "Ġcrop": 5240,
- "å§ľ": 5241,
- "Ġquestion": 5242,
- "Ġdisabilities": 5243,
- "èĪŀè¹Ī": 5244,
- "Ġimplications": 5245,
- "ral": 5246,
- "Ġsing": 5247,
- "40": 5248,
- "Ġfamil": 5249,
- "Ġgovernments": 5250,
- "Ġrecord": 5251,
- "å½¢çĬ¶": 5252,
- "Ġbegin": 5253,
- "ises": 5254,
- "çļĦæĥ³": 5255,
- "achine": 5256,
- "è°±": 5257,
- "Ġvulner": 5258,
- "Ġproper": 5259,
- "Ġoversight": 5260,
- "è´ŁéĿ¢": 5261,
- "Ġemail": 5262,
- "Ġnews": 5263,
- "Ġexploring": 5264,
- "Ġfavor": 5265,
- "楼": 5266,
- "å®ľ": 5267,
- "Ġunivers": 5268,
- "å·®å¼Ĥ": 5269,
- "ï¼īãĢĤ": 5270,
- "è§£åĨ³éĹ®é¢ĺ": 5271,
- "Ġfamous": 5272,
- "gn": 5273,
- "Ġmessage": 5274,
- "atitude": 5275,
- "Ġcra": 5276,
- "Ġcover": 5277,
- "æ·±åĪ»": 5278,
- "åı¯ä»¥éĢīæĭ©": 5279,
- "çĶŁæ´»ä¸Ń": 5280,
- "ç§įç±»": 5281,
- "Ġsmart": 5282,
- "onstr": 5283,
- "vey": 5284,
- "çͲ": 5285,
- "Ġregularly": 5286,
- "ĠSm": 5287,
- "æĦŁè§ī": 5288,
- "Ġthought": 5289,
- "Ġexh": 5290,
- "cure": 5291,
- "ç»ĺ": 5292,
- "认è¯Ĩ": 5293,
- "Ġold": 5294,
- "æĦī": 5295,
- "称为": 5296,
- "Ġfields": 5297,
- "Ġconsist": 5298,
- "ãģ": 5299,
- "ç»Ĩèĥŀ": 5300,
- "Ġhours": 5301,
- "80": 5302,
- "alking": 5303,
- "è§īå¾Ĺ": 5304,
- "ç»Ŀ": 5305,
- "ä½łä»¬": 5306,
- "ĠEnglish": 5307,
- "Ġsignificantly": 5308,
- "Ġsource": 5309,
- "Ġant": 5310,
- "Ġeducational": 5311,
- "Ġtask": 5312,
- "Ġhandle": 5313,
- "æIJľ": 5314,
- "ĠSp": 5315,
- "Ġcalled": 5316,
- "Ġterms": 5317,
- "æ²ī": 5318,
- "Ġwin": 5319,
- "duction": 5320,
- "Ġmodern": 5321,
- "Ġcuisine": 5322,
- "å¥Ĺ": 5323,
- "触": 5324,
- "olutely": 5325,
- "ç«¥": 5326,
- "pite": 5327,
- "Ġfelt": 5328,
- "Ġcompre": 5329,
- "Ġwond": 5330,
- "è¿IJè¡Į": 5331,
- "Ġresil": 5332,
- "çĽ¸ä¼¼": 5333,
- "éĩijèŀį": 5334,
- "çαæĥħ": 5335,
- "ç¬Ķ": 5336,
- "èĪª": 5337,
- "è°Ī": 5338,
- "åĬĽçļĦ": 5339,
- "æľīæīĢ": 5340,
- "æ½ľ": 5341,
- "ulate": 5342,
- "Ġdetection": 5343,
- "å®£ä¼ł": 5344,
- "Ġmatter": 5345,
- "éĩıåŃIJ": 5346,
- "Write": 5347,
- "ç»ĵåIJĪ": 5348,
- "ç»ıè¿ĩ": 5349,
- "Ġdevelopers": 5350,
- "èª": 5351,
- "Ġ---": 5352,
- "人éĻħ": 5353,
- "çѾ": 5354,
- "ï¼ļâĢľ": 5355,
- "Ġinnovative": 5356,
- "ãĢĤâĢĿ": 5357,
- "å½¼": 5358,
- "饼": 5359,
- "è¿ĩ度": 5360,
- "Ġplanet": 5361,
- "åħ°": 5362,
- "å¸ģ": 5363,
- "æķ¬": 5364,
- "Ġlegal": 5365,
- "Ġlot": 5366,
- "æĪIJ为äºĨ": 5367,
- "iate": 5368,
- "Ġmis": 5369,
- "åģĩ设": 5370,
- "çļĦæĸĩ竳": 5371,
- "ĠCompan": 5372,
- "Ġdoc": 5373,
- "Ġcareful": 5374,
- "Ġever": 5375,
- "æĪij们å°Ĩ": 5376,
- "ä¾ĭåŃIJ": 5377,
- "ä¹³": 5378,
- "ä½ľèĢħ": 5379,
- "åIJ§": 5380,
- "æļ´": 5381,
- "Ġremember": 5382,
- "缮çļĦ": 5383,
- "Ġput": 5384,
- "常è§ģçļĦ": 5385,
- "Ġfest": 5386,
- "建设": 5387,
- "å®ŀç͍": 5388,
- "Ġactive": 5389,
- "çªĹ": 5390,
- "outh": 5391,
- "åİŁçIJĨ": 5392,
- "Ġtrying": 5393,
- "è¿·": 5394,
- "缸åIJĮ": 5395,
- "éħĴåºĹ": 5396,
- "Another": 5397,
- "æľĢä½³": 5398,
- "Ġanalytics": 5399,
- "Ġperpet": 5400,
- "ipment": 5401,
- "Ġå¦Ĥæŀľ": 5402,
- "è§Ĥä¼Ĺ": 5403,
- "Ġcelebr": 5404,
- "Ġheav": 5405,
- "Ġmeditation": 5406,
- "大æ°Ķ": 5407,
- "And": 5408,
- "ä¸įéĶĻ": 5409,
- "Ġwhether": 5410,
- "set": 5411,
- "Ġdemonstr": 5412,
- "ä¸Ģ款": 5413,
- "æĶ¶éĽĨ": 5414,
- "éĻIJåζ": 5415,
- "Ġing": 5416,
- "Ġrevolution": 5417,
- "çľģ": 5418,
- "Ġscience": 5419,
- "缮åīį": 5420,
- "Ġthinking": 5421,
- "±ä¹IJ": 5422,
- "课ç¨ĭ": 5423,
- "Ġpack": 5424,
- "Ġimage": 5425,
- "loc": 5426,
- "Ġstories": 5427,
- "uck": 5428,
- "Ġsatisfaction": 5429,
- "Ġcollection": 5430,
- "ho": 5431,
- "èµŀ": 5432,
- "éĿ¢ä¸´": 5433,
- "Ġla": 5434,
- "Ġsymbol": 5435,
- "Ġemb": 5436,
- "Ġhabitats": 5437,
- "Ġlower": 5438,
- "Ġcontinues": 5439,
- "éľĩ": 5440,
- "åĵĪ": 5441,
- "ĠTake": 5442,
- "Ġenvironments": 5443,
- "Ġthree": 5444,
- "Ġenc": 5445,
- "ĠAcc": 5446,
- "æĦıåij³": 5447,
- "åݨ": 5448,
- "chan": 5449,
- "ĠHum": 5450,
- "Ġtrue": 5451,
- "åĪĩæĪIJ": 5452,
- "sing": 5453,
- "âĢĶâĢĶ": 5454,
- "åĩºæĿ¥": 5455,
- "Ġregion": 5456,
- "Ġinterpre": 5457,
- "Ġdiagnosis": 5458,
- "éŀ": 5459,
- "Ġdoing": 5460,
- "Ġrun": 5461,
- "Ġcoffee": 5462,
- "Ġmajor": 5463,
- "Ġmindfulness": 5464,
- "Ġaffordable": 5465,
- "çϾ": 5466,
- "Ġdetailed": 5467,
- "éĿŀ常éĩįè¦ģçļĦ": 5468,
- "çļĦæ²ŁéĢļ": 5469,
- "çļĦæķħ": 5470,
- "åĢĴåħ¥": 5471,
- "Ġthemes": 5472,
- "Ġnetwork": 5473,
- "ï¼īï¼ļ": 5474,
- "ĠUnited": 5475,
- "çļĦæĮĩ": 5476,
- "orts": 5477,
- "åį«çĶŁ": 5478,
- "Ġplanning": 5479,
- "æĥł": 5480,
- "åīª": 5481,
- "ĠProv": 5482,
- "çļĦåºĶç͍": 5483,
- "Ġperi": 5484,
- "Ġaccountable": 5485,
- "çīĻ": 5486,
- "çļĦçģ": 5487,
- "Ġchoice": 5488,
- "ĠComm": 5489,
- "idents": 5490,
- "çļĦå®īåħ¨": 5491,
- "å¹¶ä¸į": 5492,
- "太éĺ³ç³»": 5493,
- "Ġreceive": 5494,
- "Ġclose": 5495,
- "çļĦæĹ¶åĢĻ": 5496,
- "Ġchanging": 5497,
- "ä»·å̼è§Ĥ": 5498,
- "Ġperpetu": 5499,
- "Ġseason": 5500,
- "Ġmen": 5501,
- "Ġlearned": 5502,
- "Ġsituation": 5503,
- "Ġreplace": 5504,
- "head": 5505,
- "让æĪij": 5506,
- "åľ¨ä¸Ģèµ·": 5507,
- "çļĦ空": 5508,
- "éľ²": 5509,
- "Ġenough": 5510,
- "å±ķçݰ": 5511,
- "Ġleaders": 5512,
- "ancing": 5513,
- "Ġtemperature": 5514,
- "åı«": 5515,
- "Ġ30": 5516,
- "æĦıåij³çĿĢ": 5517,
- "æ±ĩ": 5518,
- "ĠGovern": 5519,
- "Ġfocused": 5520,
- "uro": 5521,
- "Ġsimple": 5522,
- "Ġhiking": 5523,
- "æ¯Ĵ": 5524,
- "Ġcomprehens": 5525,
- "äºĪ": 5526,
- "Ġcreated": 5527,
- "cond": 5528,
- "页": 5529,
- "ĠWor": 5530,
- "è¯ģæį®": 5531,
- "Ġworkplace": 5532,
- "Ġcharacters": 5533,
- "çļĦ设计": 5534,
- "Ġmechan": 5535,
- "ĠDis": 5536,
- "ç¥ŀç§ĺ": 5537,
- "å·ŀ": 5538,
- "ĠOn": 5539,
- "": 5540,
- "ç§įæ¤į": 5541,
- "Ġpath": 5542,
- "Ġlimited": 5543,
- "Ġsolar": 5544,
- "çļĦæı": 5545,
- "22": 5546,
- "Ġappreciate": 5547,
- "å¿«ä¹IJ": 5548,
- "æĦŁåıĹåΰ": 5549,
- "èĢĹ": 5550,
- "med": 5551,
- "icine": 5552,
- "Ġnote": 5553,
- "å½ĵåīį": 5554,
- "æĪij们åºĶ该": 5555,
- "Ġseen": 5556,
- "ä¸ĢåIJį": 5557,
- "å°½åı¯èĥ½": 5558,
- "è¿IJç®Ĺ": 5559,
- "è§Ĵ度": 5560,
- "Ġequipment": 5561,
- "Ġspread": 5562,
- "è¸": 5563,
- "访": 5564,
- "åı¥è¯Ŀ": 5565,
- "æĮ¥": 5566,
- "Ġpurpose": 5567,
- "è¯·ä½ł": 5568,
- "Your": 5569,
- "arian": 5570,
- "仪": 5571,
- "Ġperspectives": 5572,
- "åĩºäºĨ": 5573,
- "å©ļ礼": 5574,
- "Ġexcellent": 5575,
- "ĠEnsuring": 5576,
- "Ġreach": 5577,
- "éĺ¶æ®µ": 5578,
- "ä¿Ŀéļľ": 5579,
- "Ġempathy": 5580,
- "ĠMy": 5581,
- "çijľä¼½": 5582,
- "Ġver": 5583,
- "abel": 5584,
- "ĠPredict": 5585,
- "Ġmaintenance": 5586,
- "è¯Ħä»·": 5587,
- "Ġult": 5588,
- "åĴ¨": 5589,
- "ox": 5590,
- "åĴ¨è¯¢": 5591,
- "Ġshared": 5592,
- "ina": 5593,
- "list": 5594,
- "Ġoutdoor": 5595,
- "Ġthoughts": 5596,
- "inating": 5597,
- "éĴ±": 5598,
- "Ġframe": 5599,
- "éĺ¿": 5600,
- "åĪ©æ¶¦": 5601,
- "çļĦæİ¨": 5602,
- "åįļ": 5603,
- "Ġrecent": 5604,
- "Ġaltern": 5605,
- "ared": 5606,
- "==": 5607,
- "Ġroad": 5608,
- "äºĭ项": 5609,
- "ged": 5610,
- "ynt": 5611,
- "Ġspend": 5612,
- "罪": 5613,
- "åıĸå¾Ĺ": 5614,
- "é¹": 5615,
- "li": 5616,
- "æĹ¶æľŁ": 5617,
- "严éĩį": 5618,
- "å¿Ĩ": 5619,
- "å©´": 5620,
- "æİ¥ä¸ĭæĿ¥": 5621,
- "ĠEarth": 5622,
- "ĠChatbots": 5623,
- "Ġsetting": 5624,
- "ç¥Ŀ": 5625,
- "éĶĢåĶ®é¢Ŀ": 5626,
- "伦": 5627,
- "Ġreading": 5628,
- "æİ¢è®¨": 5629,
- "aign": 5630,
- "éŀĭ": 5631,
- "Ġyoung": 5632,
- "Ġcareer": 5633,
- "Ġteachers": 5634,
- "çļĦè´¨éĩı": 5635,
- "å±ŀäºİ": 5636,
- "Ġeasier": 5637,
- "Ġscientific": 5638,
- "ç¾İåħĥ": 5639,
- "Ġspir": 5640,
- "åĬ³": 5641,
- "çļĦæĶ¯": 5642,
- "rist": 5643,
- "èµĦ产": 5644,
- "çĶŁåŃĺ": 5645,
- "èĩ³å°ij": 5646,
- "å§¿": 5647,
- "Ġvideo": 5648,
- "Ġaim": 5649,
- "å®Ŀå®Ŀ": 5650,
- "çζæ¯į": 5651,
- "________________": 5652,
- "alities": 5653,
- "Ġbud": 5654,
- "Ġstreet": 5655,
- "Ġæĺ¯": 5656,
- "æĸ¹ç¨ĭ": 5657,
- "ä¸ĸ纪": 5658,
- "ches": 5659,
- "earch": 5660,
- "æĴ°": 5661,
- "Ġengine": 5662,
- "Ġdisplacement": 5663,
- "ĠRobots": 5664,
- "ervised": 5665,
- "é¡¶": 5666,
- "oud": 5667,
- "Ġwalk": 5668,
- "Ġemergency": 5669,
- "èģĺ": 5670,
- "nal": 5671,
- "Ġdatas": 5672,
- "åĢº": 5673,
- "åIJİçļĦ": 5674,
- "å¾Ī好": 5675,
- "Ġmyself": 5676,
- "çļĦæīĭ": 5677,
- "Ġusage": 5678,
- "Ġshown": 5679,
- "æ®Ĭ": 5680,
- "Ġtypically": 5681,
- "uly": 5682,
- "æĸ°éĹ»": 5683,
- "æĽ¿": 5684,
- "Ġorig": 5685,
- "è½»æĿ¾": 5686,
- "æĺ¾ç¤º": 5687,
- "Ġadopt": 5688,
- "èĤ¡ç¥¨": 5689,
- "Ġparent": 5690,
- "aps": 5691,
- "æĢĿæĥ³": 5692,
- "Ġmarketing": 5693,
- "èĻ«": 5694,
- "éĥ¨éŨ": 5695,
- "çļĦæķĪ": 5696,
- "Ġcomfortable": 5697,
- "åŃ¦ä¹łåĴĮ": 5698,
- "Ġforecast": 5699,
- "iction": 5700,
- "Ġgetting": 5701,
- "Ġtrees": 5702,
- "aving": 5703,
- "çļĦåŁºç¡Ģ": 5704,
- "ready": 5705,
- "æĸ°é²ľ": 5706,
- "going": 5707,
- "¹é¥": 5708,
- "Ġevidence": 5709,
- "¹é¥ª": 5710,
- "ç§ĭ": 5711,
- "æľīå¾Īå¤ļ": 5712,
- "éĿ¢è¯ķ": 5713,
- "éģĩåΰ": 5714,
- "ç»Ļå®ļ": 5715,
- "irc": 5716,
- "åı¯ä»¥æł¹æį®": 5717,
- "驾驶": 5718,
- "å·§åħĭ": 5719,
- "Ġstunning": 5720,
- "çļĦæ¦Ĥ": 5721,
- "æ¡Į": 5722,
- "ĠJohn": 5723,
- "ulation": 5724,
- "åıĤèĢĥ": 5725,
- "Ġflex": 5726,
- "çĦ¦èĻij": 5727,
- "ymakers": 5728,
- "Ġforms": 5729,
- "sh": 5730,
- "val": 5731,
- "ĠSo": 5732,
- "co": 5733,
- "æİ¨åĬ¨": 5734,
- "èħ¿": 5735,
- "ç®Ĭ": 5736,
- "Ġenab": 5737,
- "å°Ĩä¼ļ": 5738,
- "æĶ¯åĩº": 5739,
- "åĿļæĮģ": 5740,
- "红èī²": 5741,
- "Ġoption": 5742,
- "Ġstarted": 5743,
- "ration": 5744,
- "Ġpoetry": 5745,
- "Ġport": 5746,
- "gen": 5747,
- "èªī": 5748,
- "Ġdeliv": 5749,
- "çĶļ": 5750,
- "éĢ»": 5751,
- "éĢī项": 5752,
- "Ġground": 5753,
- "å½¼æŃ¤": 5754,
- "ana": 5755,
- "çļĦæĹ¥": 5756,
- "åľ¨çº¿": 5757,
- "Ġsecure": 5758,
- "Ġæł¹æį®": 5759,
- "饮æĸĻ": 5760,
- "Ġgratitude": 5761,
- "第ä¸ī": 5762,
- "Ġsong": 5763,
- "Ġpoints": 5764,
- "Ġalready": 5765,
- "çļĦçα": 5766,
- "ĠTechn": 5767,
- "Ġreality": 5768,
- "çıŃ": 5769,
- "Ġsince": 5770,
- "Ġpopulation": 5771,
- "yond": 5772,
- "bor": 5773,
- "ĠSocial": 5774,
- "æıIJåıĸ": 5775,
- "å·¥ç¨ĭ": 5776,
- "aff": 5777,
- "交æĺĵ": 5778,
- "Ġworth": 5779,
- "å¡«": 5780,
- "娱ä¹IJ": 5781,
- "Ġdog": 5782,
- "ĠArt": 5783,
- "硬": 5784,
- "æµ·æ´ĭ": 5785,
- "åĨĴ": 5786,
- "çīĪ": 5787,
- "Ġprogramming": 5788,
- "ĠAss": 5789,
- "ĠMachine": 5790,
- "å̼å¾Ĺ": 5791,
- "请è¾ĵåħ¥": 5792,
- "å£°éŁ³": 5793,
- "Ġexercises": 5794,
- "åħī线": 5795,
- "æ³ķåĴĮ": 5796,
- "Ġfeature": 5797,
- "eff": 5798,
- "è¿ĽæŃ¥": 5799,
- "女æĢ§": 5800,
- "Ġefficiently": 5801,
- "çļĦæĬĢæľ¯": 5802,
- "Ġgenetic": 5803,
- "令人": 5804,
- "è´¦": 5805,
- "çļĦ产åĵģ": 5806,
- "åİļ": 5807,
- "åĴĮæĸĩåĮĸ": 5808,
- "éĻĦ": 5809,
- "Ġmob": 5810,
- "综åIJĪ": 5811,
- "ters": 5812,
- "æľīä¸Ģ": 5813,
- "å¦Ĩ": 5814,
- "åįĪ": 5815,
- "Ġoutside": 5816,
- "Ġpropert": 5817,
- "éĤ®ä»¶": 5818,
- "主ä¹ī": 5819,
- "Ġpolicy": 5820,
- "èĩªèº«": 5821,
- "Ġnavigate": 5822,
- "Ġsty": 5823,
- "ç͵èĦij": 5824,
- "Ġabilities": 5825,
- "Ġfaced": 5826,
- "çļĦç¼": 5827,
- "çļĦå°ı": 5828,
- "èķ": 5829,
- "Ġtone": 5830,
- "igation": 5831,
- "åıĤæķ°": 5832,
- "èĽĭçĻ½è´¨": 5833,
- "ä½Ľ": 5834,
- "çĶļèĩ³": 5835,
- "Ġskin": 5836,
- "èĴ¸": 5837,
- "æĭĽ": 5838,
- "éŃĶ": 5839,
- "ashion": 5840,
- "Ġingred": 5841,
- "æĹĭ": 5842,
- "Ġcampaign": 5843,
- "Ġmount": 5844,
- "Ġconsid": 5845,
- "Ġmuse": 5846,
- "nter": 5847,
- "water": 5848,
- "ä¼ļè®®": 5849,
- "Ġprotection": 5850,
- "ä¿ĿéĻ©": 5851,
- "Ġcrops": 5852,
- "ogle": 5853,
- "éļıæĹ¶": 5854,
- "æļĹ": 5855,
- "ium": 5856,
- "ä¹ı": 5857,
- "Ġdiet": 5858,
- "lies": 5859,
- "ç͍æĿ¥": 5860,
- "ĠEncoura": 5861,
- "æĬĹ": 5862,
- "apan": 5863,
- "éĺ²æŃ¢": 5864,
- "Wow": 5865,
- "çļĦåŁºæľ¬": 5866,
- "å¹³æĸ¹": 5867,
- "Ġstep": 5868,
- "åı¯éĿł": 5869,
- "表æĺİ": 5870,
- "Ġpredictions": 5871,
- "Ġsympt": 5872,
- "Ġdiagnoses": 5873,
- "åħ¬åĽŃ": 5874,
- "Ġsupply": 5875,
- "Ġprevious": 5876,
- "ç»ĦåIJĪ": 5877,
- ".,": 5878,
- "çļĦè¿ĩç¨ĭ": 5879,
- "æķı": 5880,
- "su": 5881,
- "aris": 5882,
- "çķħ": 5883,
- "ocol": 5884,
- "æIJľç´¢": 5885,
- "itle": 5886,
- "éĨĴ": 5887,
- "顾客": 5888,
- "éĢ»è¾ij": 5889,
- "éĿŀ常éĩįè¦ģ": 5890,
- "ĠBi": 5891,
- "å·¦åı³": 5892,
- "amm": 5893,
- "Ġeverything": 5894,
- "æĺł": 5895,
- "Ġincred": 5896,
- "Ġpeace": 5897,
- "èľľ": 5898,
- "Ġmuseum": 5899,
- "çĭ¬ç«ĭ": 5900,
- "Ġcomprehensive": 5901,
- "Ġrates": 5902,
- "//": 5903,
- "Ġrad": 5904,
- "åĦ¿ç«¥": 5905,
- "çī¹èī²": 5906,
- "ĠPredictive": 5907,
- "å¼ķåĬĽ": 5908,
- "ler": 5909,
- "å°¤": 5910,
- "icro": 5911,
- "è¡¥": 5912,
- "Ġdetermine": 5913,
- "çļĦåĨħ容": 5914,
- "Ġcompl": 5915,
- "Ġgreenhouse": 5916,
- "èħIJ": 5917,
- "Ġhighlight": 5918,
- "Ġpartners": 5919,
- "Ġdoct": 5920,
- "çļĦ使ç͍": 5921,
- "æŃĮæĽ²": 5922,
- "æĮĩåįĹ": 5923,
- "ĠAf": 5924,
- "æľºæŀĦ": 5925,
- "éĢĢ": 5926,
- "Ġpoems": 5927,
- "å¿ĥåĴĮ": 5928,
- "Ġattend": 5929,
- "çļĦ游": 5930,
- "Ġside": 5931,
- "ales": 5932,
- "Ġmentioned": 5933,
- "ĠAbs": 5934,
- "Ġhistorical": 5935,
- "Ġleft": 5936,
- "以ä¸ĭåĩłä¸ª": 5937,
- "åıĹæ¬¢è¿İ": 5938,
- "èıľåĵģ": 5939,
- "Ġremain": 5940,
- "æĩ": 5941,
- "Ġtours": 5942,
- "łéģĵ": 5943,
- "Ġerrors": 5944,
- "æľºåζ": 5945,
- "æ¦": 5946,
- "æĤ£èĢħ": 5947,
- "more": 5948,
- "Ġexperts": 5949,
- "çļĦçłĶç©¶": 5950,
- "ç»ĵæĿŁ": 5951,
- "Ġwritten": 5952,
- "çłĶ": 5953,
- "Ġet": 5954,
- "input": 5955,
- "æ°Ķä½ĵ": 5956,
- "èļ": 5957,
- "æĥĬ": 5958,
- "Ġage": 5959,
- "éĩįå¤į": 5960,
- "å¼¹": 5961,
- "åѤ": 5962,
- "Ġsymptoms": 5963,
- "Ġbelief": 5964,
- "'d": 5965,
- "iol": 5966,
- "Ġ18": 5967,
- "åħħè¶³": 5968,
- "çıį": 5969,
- "forcement": 5970,
- "æĸĹ": 5971,
- "ªèĮĦ": 5972,
- "Ġ15": 5973,
- "ä¸Ģ个人": 5974,
- "Ġapplic": 5975,
- "è´¥": 5976,
- "ä½įäºİ": 5977,
- "éϤäºĨ": 5978,
- "=\"": 5979,
- "ä¸īè§Ĵ": 5980,
- "æĢĿç»´": 5981,
- "åį·": 5982,
- "Ġfru": 5983,
- "ĠCollabor": 5984,
- "Ġprim": 5985,
- "Ġrequired": 5986,
- "Ġwatch": 5987,
- "è°ĥåij³": 5988,
- "ç»ĵ论": 5989,
- "ony": 5990,
- "Ġguide": 5991,
- "Ġmax": 5992,
- "ĠCould": 5993,
- "Ġadvent": 5994,
- "ĠOverall": 5995,
- "çļĦæĬķ": 5996,
- "Ġexper": 5997,
- "åĺ": 5998,
- "icial": 5999,
- "oster": 6000,
- "çļĦé¢ľèī²": 6001,
- "Ġoperations": 6002,
- "éĥģ": 6003,
- "Ġmoney": 6004,
- "ley": 6005,
- "cling": 6006,
- "Ġoil": 6007,
- "çļ®èĤ¤": 6008,
- "Ġge": 6009,
- "Ġbat": 6010,
- "ĠPh": 6011,
- "Ġsche": 6012,
- "Ġelectric": 6013,
- "vest": 6014,
- "Ġchain": 6015,
- "Ġcapabilities": 6016,
- "ird": 6017,
- "è¯ģæĺİ": 6018,
- "æľĢ好": 6019,
- "ivil": 6020,
- "Ġdepending": 6021,
- "Ġsave": 6022,
- "Ġpractical": 6023,
- "Ġcultures": 6024,
- "缸åºĶçļĦ": 6025,
- "sy": 6026,
- "çļĦç²": 6027,
- "Ġbehind": 6028,
- "æĹ¶éĹ´åĴĮ": 6029,
- "å¹ħ": 6030,
- "ĠAg": 6031,
- "Ġeffectiveness": 6032,
- "Ad": 6033,
- "ĠOf": 6034,
- "Ġanything": 6035,
- "å·§åħĭåĬĽ": 6036,
- "Ġmist": 6037,
- "Ġlanguages": 6038,
- "ĠMake": 6039,
- "å«": 6040,
- "森": 6041,
- "ĠCont": 6042,
- "ĠAbsolutely": 6043,
- "Ġinvestment": 6044,
- "mat": 6045,
- "çļĦæķħäºĭ": 6046,
- "欧": 6047,
- "Ġspeed": 6048,
- "çļĦ温": 6049,
- "Ġcities": 6050,
- "åĨĻä½ľ": 6051,
- "Thanks": 6052,
- "Ġded": 6053,
- "åĪĨéħį": 6054,
- "Ġdark": 6055,
- "Ġsupporting": 6056,
- "å¹ķ": 6057,
- "ĠKe": 6058,
- "鼶": 6059,
- "Ġsharing": 6060,
- "Ġhouse": 6061,
- "è®¤çŁ¥": 6062,
- "Ġsurrounding": 6063,
- "Ġreduced": 6064,
- "Ġfu": 6065,
- "Ġstor": 6066,
- "Ġabs": 6067,
- "Tom": 6068,
- "cent": 6069,
- "ĠEducation": 6070,
- "Ġthr": 6071,
- "ott": 6072,
- "ĠThat": 6073,
- "Ġhear": 6074,
- "ung": 6075,
- "Ġbeyond": 6076,
- "ĠCo": 6077,
- "room": 6078,
- "è¯ĹæŃĮ": 6079,
- "reme": 6080,
- "Ġlittle": 6081,
- "Ġgames": 6082,
- "ä¹ĭåIJİ": 6083,
- "éĥ½ä¼ļ": 6084,
- "è¯ŃéŁ³": 6085,
- "ç¬ij": 6086,
- "çī¹å®ļ": 6087,
- "第ä¸Ģ": 6088,
- "Ġdepression": 6089,
- "Ġinnovation": 6090,
- "ĠFr": 6091,
- "Ġcomputer": 6092,
- "can": 6093,
- "å³°": 6094,
- "ç¼ĸåĨĻä¸Ģ个": 6095,
- "Ġinternational": 6096,
- "Ġcancer": 6097,
- "åѦèĢħ": 6098,
- "Ġdiscover": 6099,
- "het": 6100,
- "Ġcompos": 6101,
- "Ġrecy": 6102,
- "Ġ200": 6103,
- "åIJ«æľī": 6104,
- "çĹĽ": 6105,
- "ç¼ĵè§£": 6106,
- "Ġfrequ": 6107,
- "çͳ": 6108,
- "ĠMar": 6109,
- "çļĦéĢīæĭ©": 6110,
- "Ġunt": 6111,
- "Ġregions": 6112,
- "Ġopin": 6113,
- "ĠGovernments": 6114,
- "æ¶Ĥ": 6115,
- "åĨħå¿ĥ": 6116,
- "ä¸ĬæľĢ": 6117,
- "ä»įçĦ¶": 6118,
- "lier": 6119,
- "æ³³": 6120,
- "äºĴ缸": 6121,
- "ĠStud": 6122,
- "azon": 6123,
- "Ġarch": 6124,
- "Ġchem": 6125,
- "çļĦèĥ½åĬĽ": 6126,
- "çļĦä¸Ģ个": 6127,
- "Ġap": 6128,
- "Ġred": 6129,
- "Ġwomen": 6130,
- "Ġprote": 6131,
- "Ġfinding": 6132,
- "å§»": 6133,
- "éĢĤå½ĵçļĦ": 6134,
- "Ġforward": 6135,
- "对象": 6136,
- "Ġwait": 6137,
- "Ġconsidered": 6138,
- "dule": 6139,
- "backs": 6140,
- "Ġclinical": 6141,
- "åħ·å¤ĩ": 6142,
- "麦": 6143,
- "Ġongoing": 6144,
- "åĨĽ": 6145,
- "Ġfar": 6146,
- "åĴĮè°": 6147,
- "XXX": 6148,
- "Ġpolitical": 6149,
- "Ġcamer": 6150,
- "çļĦè¡Į为": 6151,
- "æĦı大åĪ©": 6152,
- "Ġapps": 6153,
- "åĩıè½»": 6154,
- "Ġreaders": 6155,
- "å©ļå§»": 6156,
- "æ°¸": 6157,
- "ores": 6158,
- "åħ¨éĿ¢": 6159,
- "ĠAfric": 6160,
- "Ġfavorite": 6161,
- "Ġmill": 6162,
- "Ġdang": 6163,
- "ĠStates": 6164,
- "åĢŁ": 6165,
- "寿": 6166,
- "Ġlat": 6167,
- "è¿ĩåİ»": 6168,
- "Ġtruly": 6169,
- "åĽŀçŃĶéĹ®é¢ĺ": 6170,
- "Ġcogn": 6171,
- "ä»°": 6172,
- "ĠJapan": 6173,
- "izz": 6174,
- "çļĦæĿIJ": 6175,
- "xx": 6176,
- "é¢ĺ缮": 6177,
- "ription": 6178,
- "éĤ£äºĽ": 6179,
- "Ġbudget": 6180,
- "Ġvast": 6181,
- "éļIJç§ģ": 6182,
- "Ġpolicymakers": 6183,
- "è¿ĺéľĢè¦ģ": 6184,
- "å¹¶æıIJä¾Ľ": 6185,
- "Ġsweet": 6186,
- "Ġgeneral": 6187,
- "滤": 6188,
- "Ġbirds": 6189,
- "Ġplastic": 6190,
- "Ċĉ": 6191,
- "åĪº": 6192,
- "mental": 6193,
- "Ġinclusive": 6194,
- "Ġtopics": 6195,
- "Ġslow": 6196,
- "ä½łèĥ½": 6197,
- "è¶³å¤ŁçļĦ": 6198,
- "è§Ĩè§ī": 6199,
- "ww": 6200,
- "Ġ使ç͍": 6201,
- "æī¹": 6202,
- "æ¦Ĥ念": 6203,
- "é£Łç͍": 6204,
- "è̳": 6205,
- "cks": 6206,
- "Ġfraud": 6207,
- "Ġingredients": 6208,
- "Ġfasc": 6209,
- "åĮĹ京": 6210,
- "Ġfr": 6211,
- "Ġmanufacturing": 6212,
- "Ġä½ľä¸º": 6213,
- "Ġbeach": 6214,
- "é¡¿": 6215,
- "erious": 6216,
- "å¤ĸè§Ĥ": 6217,
- "é¢Ħéĺ²": 6218,
- "æĿ¥èĩª": 6219,
- "èĤĮèĤī": 6220,
- "Ġdays": 6221,
- "Ġassign": 6222,
- "Ġadvant": 6223,
- "Ġteams": 6224,
- "é¢Ĺ": 6225,
- "nown": 6226,
- "ĠPo": 6227,
- "}{": 6228,
- "Ġminut": 6229,
- "itions": 6230,
- "Ġeasily": 6231,
- "ĠBl": 6232,
- "name": 6233,
- "åŃ¦æł¡": 6234,
- "Ġresponsibility": 6235,
- "åıijæĮ¥": 6236,
- "Ġsensitive": 6237,
- "çŃīäºİ": 6238,
- "cious": 6239,
- "Ġsou": 6240,
- "å±ı": 6241,
- "Ġrich": 6242,
- "å½ĵçĦ¶": 6243,
- "man": 6244,
- "Ġinterpret": 6245,
- "24": 6246,
- "Ġshows": 6247,
- "èģĮåľº": 6248,
- "Ġfall": 6249,
- "è½½": 6250,
- "丰å¯ĮçļĦ": 6251,
- "('": 6252,
- "ä¿®æĶ¹": 6253,
- "æĽ´æį¢": 6254,
- "Al": 6255,
- "åı¯èĥ½æĺ¯": 6256,
- "Ġrate": 6257,
- "Ġprotecting": 6258,
- "fit": 6259,
- "Ġ50": 6260,
- "Ġmovement": 6261,
- "è§Ī": 6262,
- "Ġemployee": 6263,
- "Ġdisord": 6264,
- "åĪĽæĦı": 6265,
- "产åĵģçļĦ": 6266,
- "æľĿ": 6267,
- "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6268,
- "Ġpred": 6269,
- "Ġoffering": 6270,
- "åįģåĪĨ": 6271,
- "èĢĮä¸įæĺ¯": 6272,
- "Thank": 6273,
- "æĽ¾": 6274,
- "Ġelements": 6275,
- "ç²Ĵ": 6276,
- "Ġcourses": 6277,
- "Ġintegrated": 6278,
- "ĠCar": 6279,
- "agraph": 6280,
- "åŁºåĽł": 6281,
- "Ġinstead": 6282,
- "èĦ±": 6283,
- "åı¦ä¸Ģ个": 6284,
- "å¯Ĩçłģ": 6285,
- "Ġallowed": 6286,
- "éĿ¢åĮħ": 6287,
- "çķªèĮĦ": 6288,
- "åĴĮåıijå±ķ": 6289,
- "å°ģ": 6290,
- "Ġconnection": 6291,
- "åľ¨ä¸Ģ个": 6292,
- "Ġuseful": 6293,
- "è¯Ńåı¥": 6294,
- "åĪĨå¸ĥ": 6295,
- "表æ¼Ķ": 6296,
- "æľīæĹ¶": 6297,
- "çļĦæĹħ": 6298,
- "çļĦæĢ»": 6299,
- "Ġfashion": 6300,
- "èĭ¦": 6301,
- "è¦ģ注æĦı": 6302,
- "çĶŁç´ł": 6303,
- "Ġnutri": 6304,
- "èĩªè¡Į": 6305,
- "çļĦçĭ": 6306,
- "çIJĨè§£åĴĮ": 6307,
- "Ġcat": 6308,
- "æľºåύåŃ¦ä¹ł": 6309,
- "Ġexhib": 6310,
- "åĴĮæľįåĬ¡": 6311,
- "frac": 6312,
- "epend": 6313,
- "Ġimpacted": 6314,
- "Ġut": 6315,
- "æķ°ç»Ħ": 6316,
- "ĠWorld": 6317,
- "Ġanswer": 6318,
- "erse": 6319,
- "骨": 6320,
- "Ġartists": 6321,
- "åŃ©åŃIJçļĦ": 6322,
- "ä»Ķ": 6323,
- "çĻ»": 6324,
- "ĠAre": 6325,
- "Ġcool": 6326,
- "Ġcognitive": 6327,
- "åIJĦ个": 6328,
- "like": 6329,
- "å©´åĦ¿": 6330,
- "åĪĹåĩº": 6331,
- "å¹»": 6332,
- "ront": 6333,
- "å®¶éķ¿": 6334,
- "缺ä¹ı": 6335,
- "Ġcyber": 6336,
- "ilt": 6337,
- "Ġcapture": 6338,
- "åĹ": 6339,
- "åľ¨äºİ": 6340,
- "Ġthreats": 6341,
- "åĴĮ社ä¼ļ": 6342,
- "Ġcells": 6343,
- "æ¸ħåįķ": 6344,
- "ĠVis": 6345,
- "æİī": 6346,
- "Ġhol": 6347,
- "åŃIJçļĦ": 6348,
- "Ch": 6349,
- "èĿ": 6350,
- "Ġsaid": 6351,
- "Ġdream": 6352,
- "unch": 6353,
- "une": 6354,
- "ĠDon": 6355,
- "家人": 6356,
- "ç±į": 6357,
- "æĦŁåĴĮ": 6358,
- "Ġexperienced": 6359,
- "çļĦéĩįè¦ģæĢ§": 6360,
- "å¼ĥ": 6361,
- "ump": 6362,
- "éĺIJ": 6363,
- "Ġhabitat": 6364,
- "è¢ĭ": 6365,
- "Ġjo": 6366,
- "ç®Ģæ´ģ": 6367,
- "Ġbur": 6368,
- "Ġvisitors": 6369,
- "éĽħ": 6370,
- "çļĦçŁ¥": 6371,
- "Ġentire": 6372,
- "讲述": 6373,
- "äºĨä¸ĢäºĽ": 6374,
- "åįıä½ľ": 6375,
- "ĠBus": 6376,
- "å°¾": 6377,
- "çļĦæķĻ": 6378,
- "olog": 6379,
- "Ġsigns": 6380,
- "Ġspeaker": 6381,
- "çļĦéŁ³ä¹IJ": 6382,
- "Ġnovel": 6383,
- "å±ħæ°ij": 6384,
- "çļĦåıĺåĮĸ": 6385,
- "å°½éĩı": 6386,
- "Ġspirit": 6387,
- "å®Įç¾İ": 6388,
- "è´·": 6389,
- "å¿ħè¦ģçļĦ": 6390,
- "ief": 6391,
- "示ä¾ĭ": 6392,
- "Ġdiv": 6393,
- "æķ´æķ°": 6394,
- "Ġeconomy": 6395,
- "Ġethically": 6396,
- "éĻĪ": 6397,
- "Ġschools": 6398,
- "Ġnetworks": 6399
- },
- "merges": [
- "Ġ t",
- "Ġ a",
- "i n",
- "h e",
- "r e",
- "ï ¼",
- "ä ¸",
- "o n",
- "a t",
- "ç ļ",
- "çļ Ħ",
- "ï¼ Į",
- "Ġ s",
- "Ġ c",
- "n d",
- "ã Ģ",
- "e r",
- "Ġt he",
- "e s",
- "e n",
- "o r",
- "a n",
- "Ġa nd",
- "in g",
- "Ġ p",
- "i t",
- "a l",
- "ãĢ Ĥ",
- "Ġ o",
- "Ġ w",
- "ä »",
- "Ġt o",
- "i s",
- "o u",
- "Ġ m",
- "ä º",
- "Ġ in",
- "Ġ f",
- "Ġ b",
- "e d",
- "i on",
- "å ı",
- "i c",
- "Ġ d",
- "Ġo f",
- "l e",
- "a r",
- "r o",
- "Ġ Ġ",
- "å ħ",
- "en t",
- "æ ľ",
- "Ġ e",
- "å Ĵ",
- "è ¿",
- "ä ½",
- "åĴ Į",
- "æ Ī",
- "å ®",
- "å Ī",
- "v e",
- "u s",
- "Ġ re",
- "Ġ h",
- "Ġt h",
- "a s",
- "c t",
- "ç Ķ",
- "o m",
- "å ľ",
- "å ¤",
- "æ ĺ",
- "å Ĭ",
- "å IJ",
- "ä¸ Ģ",
- "i m",
- "è ¯",
- "æ ĸ",
- "at ion",
- "l o",
- "ç »",
- "Ġb e",
- "ãĢ ģ",
- "i d",
- "Ġc an",
- "i l",
- "æĺ ¯",
- "ä ¹",
- "è ®",
- "Ġ A",
- "Ġth at",
- "Ġ T",
- "ä» ¥",
- "c h",
- "Ġ y",
- "c e",
- "ï¼ ļ",
- "o t",
- "er s",
- "Ġ n",
- "é Ģ",
- "r a",
- "å °",
- "Ġ g",
- "Ġy ou",
- "å Ń",
- "Ġp ro",
- "e t",
- "å º",
- "åľ ¨",
- "l y",
- "Ġ is",
- "ä¸ ª",
- "Ġ l",
- "u r",
- "Ġf or",
- "åı ¯",
- "é ĩ",
- "s t",
- "çļĦ æ",
- "u t",
- "Ġ he",
- "i f",
- "ĥ ½",
- "ä ¼",
- "Ġ I",
- "è ¡",
- "i r",
- "it h",
- "å ¹",
- "Ġa re",
- "i g",
- "Ġs t",
- "e l",
- "o l",
- "å ¸",
- "u l",
- "æ Ŀ",
- "æĪ ij",
- "Ġ on",
- "è ¦",
- "æľ ī",
- "æ Ĺ",
- "å ¯",
- "è §",
- "è¦ ģ",
- "Ġ us",
- "a y",
- "æ ķ",
- "ç ī",
- "o w",
- "m ent",
- "çĶ ¨",
- "es s",
- "ä¸ Ń",
- "ä» ¬",
- "äº º",
- "å ĩ",
- "Ġe x",
- "ĠĠ ĠĠ",
- "å Ľ",
- "å Į",
- "å ¼",
- "Ġc on",
- "s e",
- "è ĥ½",
- "ç İ",
- "Ġa n",
- "Ġw ith",
- "ä¸ º",
- "at e",
- "i v",
- "a m",
- "Ġa s",
- "u re",
- "è¿ Ļ",
- "å Ĩ",
- "ç Ń",
- "Ġ or",
- "å ·",
- "Ġa l",
- "i es",
- "ç §",
- "Ġ im",
- "æ Ģ",
- "v er",
- "a b",
- "äº Ĩ",
- "Ġs u",
- "Ġd e",
- "g e",
- "t h",
- "åı¯ 以",
- "è Ģ",
- "ä¸ į",
- "å ¾",
- "ĠA I",
- "Ġ en",
- "é Ĺ",
- "æ ī",
- "a k",
- "i ve",
- "Ġm o",
- "å ¥",
- "é Ŀ",
- "ç Ľ",
- "it y",
- "ä ¿",
- "u n",
- "è ´",
- "å į",
- "Ġ it",
- "Ġim p",
- "e ct",
- "æ ł",
- "å ½",
- "è ĩ",
- "é ¢",
- "å ĵ",
- "æ ³",
- "or t",
- "a d",
- "æ ŀ",
- "e m",
- "Ġc om",
- "å ¦",
- "he r",
- "e re",
- "Ġ S",
- "i al",
- "Ġ C",
- "ĠT he",
- "ç IJ",
- "çĶ Ł",
- "æ Ħ",
- "p p",
- "æ Ń",
- "æĸ ¹",
- "q u",
- "Ġw h",
- "å¦ Ĥ",
- "é ľ",
- "an t",
- "Ġ le",
- "Ġ v",
- "æ ĭ",
- "æ Ĭ",
- "us t",
- "æĹ ¶",
- "çŃ ī",
- "å ij",
- "å¯ ¹",
- "t er",
- "l d",
- "è¡ Į",
- "Ġc h",
- "u d",
- "éľ Ģ",
- "æ °",
- "æĪ IJ",
- "Ġ |",
- "a c",
- "a in",
- "i z",
- "æ ı",
- "ion s",
- "Ġh a",
- "æ Ľ",
- "- -",
- "æĿ ¥",
- "om e",
- "å ¿",
- "' s",
- "Ġn e",
- "es t",
- "ä ¾",
- "u m",
- "åĪ °",
- "åľ °",
- "is t",
- "â Ģ",
- "çī ©",
- "ä¸Ģ 个",
- "l p",
- "æ İ",
- "èĩ ª",
- "Ġhe lp",
- "Ġthe ir",
- "æ Ķ",
- "ä½ ľ",
- "ä¼ ļ",
- "æ Į",
- "æĪij 们",
- "n t",
- "äº İ",
- "åĪ Ĩ",
- "re s",
- "p e",
- "åĩ º",
- "id e",
- "æ ĥ",
- "Ġ H",
- "è ¾",
- "Ġ M",
- "f f",
- "æ ¯",
- "o d",
- "ic al",
- "Ġw or",
- "ä¸ Ĭ",
- "a re",
- "æĽ ´",
- "Ġyou r",
- "ä¸ ĭ",
- "è µ",
- "ation s",
- "æķ °",
- "Ġt e",
- "å İ",
- "çIJ Ĩ",
- "ĠT h",
- "è¿ ĩ",
- "å¹ ¶",
- "d u",
- "éĿ ¢",
- "Ġa d",
- "il l",
- "æ µ",
- "å¥ ½",
- "o c",
- "a ct",
- "éľĢ è¦ģ",
- "ä» ĸ",
- "å ±",
- "Ġ r",
- "Ġmo re",
- "åŃ ¦",
- "ç ®",
- "ig h",
- "äº Ľ",
- "Ġ B",
- "åĬ ¨",
- "åĵ ģ",
- "è ī",
- "p le",
- "Ġin c",
- "åIJ Į",
- "Ġex p",
- "ou ld",
- "ä½ ł",
- "æ į",
- "æı IJ",
- "å¤ §",
- "çİ °",
- "p t",
- "Ġ P",
- "al l",
- "åĬ ł",
- "ç§ į",
- "Ġs e",
- "åĬ Ľ",
- "ou t",
- "Ġha ve",
- "ç º",
- "ä½ ĵ",
- "Ġpro v",
- "åĮ ĸ",
- "å¤ ļ",
- "å® ļ",
- "Ġus ed",
- "éĢ ļ",
- "c c",
- "è¿ Ľ",
- "æ ´",
- "Ġs h",
- "Ġa b",
- "o s",
- "Ġre s",
- "ĠTh is",
- "ç ¨",
- "æĢ §",
- "a ge",
- "r i",
- "æ ¸",
- "ab le",
- "åŃ IJ",
- "Ġb y",
- "åı ij",
- "éĩ ı",
- "åº Ķ",
- "Ġ lo",
- "ä½ ¿",
- "åħ ¶",
- "é «",
- "é Ļ",
- "é« ĺ",
- "åº ¦",
- "è§ £",
- "é £",
- "å° Ĩ",
- "æ³ ķ",
- "a nd",
- "ä¿ Ŀ",
- "an s",
- "f or",
- "ro m",
- "re at",
- "Ġp l",
- "çļĦ ç",
- "å¸ ¸",
- "è ½",
- "Ġw e",
- "è¡ ¨",
- "ak e",
- "æĪ ĸ",
- "é¢ ĺ",
- "å Ł",
- "Ġm e",
- "æĸ ĩ",
- "t her",
- "k e",
- "å® ¶",
- "åIJ Ī",
- "æľ Ģ",
- "in e",
- "Ġs ome",
- "ç ±",
- "éĩ į",
- "æŀ ľ",
- "Ġ W",
- "Ġ E",
- "é ĺ",
- "ou r",
- "r ou",
- "ç Ĥ",
- "æ ±",
- "åħ ³",
- "Ġin t",
- "an ce",
- "ä¹ Ł",
- "é ģ",
- "ĠĠ Ġ",
- "å® ĥ",
- "a g",
- "æ ¬",
- "0 0",
- "è °",
- "ul t",
- "y st",
- "éĹ ´",
- "ç ³",
- "Ġt r",
- "p l",
- "ar t",
- "æĦ Ł",
- "æ Ĥ",
- "at a",
- "Ġ F",
- "for m",
- "è® ¡",
- "Ġf rom",
- "Ġ D",
- "éĹ ®",
- "igh t",
- "c es",
- "æį ®",
- "lo p",
- "ä¹ ĭ",
- "Ġf e",
- "å ģ",
- "ve lop",
- "Ġ 1",
- "åĽ ł",
- "k s",
- "æ ²",
- "Ġ u",
- "å° ı",
- "yst em",
- "Ġd is",
- "Ġ R",
- "g y",
- "å· ¥",
- "ç¨ ĭ",
- "å ¢",
- "en ce",
- "è Ĥ",
- "ç ¡",
- "Ġt ra",
- "å »",
- "åħ ¥",
- "ig n",
- "al th",
- "Ġsu ch",
- "a ch",
- "æ Ļ",
- "ar n",
- "Ġd ata",
- "è ¶",
- "å® ŀ",
- "s o",
- "Ġde velop",
- "ç ¤",
- "Ġa cc",
- "as t",
- "èĢ Į",
- "Ġ \"",
- "Ġo ther",
- "å» º",
- "Ġe ff",
- "ç «",
- "Ġm an",
- "åħ ¬",
- "å Ģ",
- "ç Ħ",
- "m s",
- "å¼ ı",
- "èī ²",
- "å¾ Ĺ",
- "if ic",
- "Ġ j",
- "Ġ ro",
- "Ġh as",
- "ch n",
- "o lo",
- "åĪ ¶",
- "è Ĭ",
- "使 ç͍",
- "ou s",
- "u al",
- "Ġa t",
- "Ġe m",
- "el l",
- "Ġs ystem",
- "Ġhe alth",
- "it ies",
- "Ġex am",
- "i b",
- "é Ķ",
- "Ġab out",
- "äº §",
- "åIJ İ",
- "æĦ ı",
- "ç± »",
- "Ġp re",
- "æĤ ¨",
- "Ġal so",
- "ent s",
- "Ġin d",
- "in d",
- "éĢ Ĥ",
- "Ġte chn",
- "res s",
- "æĥ ħ",
- "éĹ® é¢ĺ",
- "Ġus e",
- "ï¼ Ł",
- "Ġinc l",
- "Ġs pe",
- "ic h",
- "p s",
- "æľ º",
- "Ġthe y",
- "i e",
- "Ġh ow",
- "Ġwor k",
- "ä¸ ļ",
- "ç ´",
- "Ġimp ro",
- "Ġle arn",
- "æĸ °",
- "çĤ ¹",
- "Ġcon t",
- "ar d",
- "çĦ ¶",
- "æľ ¬",
- "ç³ »",
- "ç¡ ®",
- "è® ¾",
- "åħ ·",
- "éĢ ī",
- "èĢ ħ",
- "é ħ",
- "g h",
- "_ _",
- "Ġn ot",
- "ç ľ",
- "çĽ ¸",
- "Ġprov ide",
- "å ī",
- "ion al",
- "Ġen s",
- "ä¸ İ",
- "è´ ¨",
- "ent ial",
- "ç» ı",
- "å¿ ĥ",
- "an g",
- "æŃ ¤",
- "e nd",
- "Ġp o",
- "è¿Ľ è¡Į",
- "ic e",
- "Ġ -",
- "Ġw ay",
- "å· ±",
- "Ġ 2",
- "im e",
- "ç ½",
- "èĩª å·±",
- "Ġ un",
- "b ot",
- "Ġincl ud",
- "at ed",
- "æ° ´",
- "é ķ",
- "æĮ ģ",
- "ä» £",
- "é ¡",
- "æī Ģ",
- "ç Ŀ",
- "pp ort",
- "o od",
- "i ke",
- "r u",
- "Ġcom m",
- "Ġ L",
- "ä¿ ¡",
- "Ġ G",
- "ç Ł",
- "çĶ µ",
- "Ġw as",
- "lo w",
- "er v",
- "åĮ ħ",
- "ĠĠĠĠ ĠĠĠĠ",
- "Ġw he",
- "d it",
- "Ġwh ich",
- "Ġcom p",
- "é ª",
- "o re",
- "ç ¾",
- "Ġ =",
- "çī ¹",
- "if f",
- "er t",
- "æ ģ",
- "r it",
- "Ġre c",
- "åĨ ħ",
- "æĺ İ",
- "or s",
- "Ġp at",
- "-- --",
- "æ Ł",
- "Ġa pp",
- "n s",
- "åĬ ¡",
- "al y",
- "a ce",
- "æ´ »",
- "ä¾ Ľ",
- "a v",
- "ä¸ »",
- "Ġp ers",
- "ç ĥ",
- "è¯ ¥",
- "Ġm y",
- "ç ©",
- "er i",
- "è® ©",
- "æĬ Ģ",
- "éķ ¿",
- "ac k",
- "Ġ N",
- "Ġd iff",
- "Ġth is",
- "å Ŀ",
- "Ġens ure",
- "å½ ĵ",
- "Ġo ut",
- "Ġc l",
- "Ġ k",
- "é ¦",
- "ou nt",
- "çİ ¯",
- "åĬ ©",
- "Ġtechn olo",
- "Ġthe se",
- "f ul",
- "é ļ",
- "æ ·",
- "ä¸Ģ äºĽ",
- "Ġs oc",
- "å¼ Ģ",
- "å¤ ©",
- "Ġe v",
- "Ġre du",
- "Ġthe m",
- "Ġ (",
- "é ĥ½",
- "æĪ ·",
- "è ·",
- "åľ º",
- "æ° Ķ",
- "Ġ Y",
- "è¯ Ń",
- "éĢļ è¿ĩ",
- "å± ķ",
- "Ġc o",
- "å½ ±",
- "ç ¬",
- "Ġan aly",
- "æ¯ Ķ",
- "åħ ¨",
- "Ġimpro ve",
- "ç» ĵ",
- "å¹ ´",
- "ç ķ",
- "çĿ Ģ",
- "Ġh um",
- "Ġ qu",
- "ç® Ĺ",
- "Ġ O",
- "é£ Ł",
- "il ity",
- "Ġsystem s",
- "åı ĺ",
- "a il",
- "ç ¼",
- "ç ł",
- "è¿Ļ 个",
- "æıIJ ä¾Ľ",
- "as e",
- "å ŀ",
- "ment s",
- "Ġp ot",
- "Ġan y",
- "ä½ Ĩ",
- "Ġcon s",
- "ĠI t",
- "æł ¼",
- "Ġa r",
- "æľ ¯",
- "éĿ ŀ",
- "Ġd o",
- "Ġm ay",
- "æĭ ©",
- "u e",
- "éĢī æĭ©",
- "r y",
- "é ĥ",
- "Ġl ike",
- "on g",
- "è ģ",
- "` `",
- "i le",
- "æ± Ĥ",
- "Ġne w",
- "i ent",
- "Ġimp act",
- "è¿ ĺ",
- "æ³ ¨",
- "ä¹ Ī",
- "çĽ ®",
- "âĢ ľ",
- "âĢ Ŀ",
- "e f",
- "ä¾ ĭ",
- "Ġpot ential",
- "o k",
- "åı¯ èĥ½",
- "Ġtr ans",
- "Ġa ct",
- "ï¼ ī",
- "Ġspe c",
- "æ ¶",
- "Ġw ill",
- "äº ¤",
- "iz e",
- "ç¾ İ",
- "å¸ Ĥ",
- "Ġst ud",
- "p on",
- "è º",
- "ä¸į åIJĮ",
- "on e",
- "å¾ Ī",
- "åı Ĭ",
- "å¦Ĥ æŀľ",
- "çIJ ĥ",
- "an ge",
- "Ġne ed",
- "å¤ ĸ",
- "et y",
- "ak ing",
- "è¯ ·",
- "at er",
- "Ġpers on",
- "id ent",
- "Ġs o",
- "Ġm ake",
- "å¹ ³",
- "å¤ Ł",
- "èº «",
- "ï¼ Ī",
- "Ġin form",
- "æ ¡",
- "äº ĭ",
- "åı Ĺ",
- "as ed",
- "il d",
- "Ġof f",
- "Ġthe re",
- "c is",
- "è ¢",
- "éĥ ¨",
- "æ¯ ı",
- "ra ct",
- "as s",
- "Ġlearn ing",
- "å ĸ",
- "å½ ¢",
- "i re",
- "ä» İ",
- "bot s",
- "è Ļ",
- "å¸ ®",
- "Ġd es",
- "ĠI n",
- "c ess",
- "Ġp e",
- "if y",
- "Ġwh o",
- "ä¹ ł",
- "æľ Ł",
- "Ġexp eri",
- "é Ĥ",
- "Ġs c",
- "e p",
- "ä½ ķ",
- "Ġt ime",
- "éĿŀ 常",
- "æĭ ¬",
- "å ķ",
- "以 ä¸ĭ",
- "éģ ĵ",
- "Ġcomm un",
- "Ġc ould",
- "a p",
- "è IJ",
- "è° ĥ",
- "l ic",
- "du ct",
- "Ġit s",
- "c y",
- "è¯ ´",
- "Ġm ed",
- "Ġc ol",
- "ul ar",
- "éĩį è¦ģ",
- "Ġs p",
- "åĪ ©",
- "èµ ·",
- "Ġprov id",
- "ic es",
- "å Ļ",
- "æĸ Ļ",
- "Ġimp ort",
- "ur al",
- "åŃ Ĺ",
- "Ġu nd",
- "in t",
- "Ġo ver",
- "åı ¸",
- "æł ¹",
- "é ¥",
- "pl es",
- "ä»ĸ 们",
- "g ra",
- "ur ing",
- "n ow",
- "åį ķ",
- "è¿Ļ äºĽ",
- "åī į",
- "å® ī",
- "Ġp r",
- "åĮħ æĭ¬",
- "ç» Ļ",
- "T he",
- "ä½ į",
- "å §",
- "ç´ ł",
- "åij ĺ",
- "Ġ ident",
- "åŀ ĭ",
- "Ġad d",
- "å¼ º",
- "æĺ¯ ä¸Ģ",
- "i p",
- "g or",
- "Ġsu pport",
- "n e",
- "Ġdiff ere",
- "åħ ĥ",
- "Ġas s",
- "åĨ ³",
- "é Ľ",
- "åIJ į",
- "Ġg o",
- "Ġtechnolo gy",
- "æĢ »",
- "è® ®",
- "Ġin ter",
- "Ġin v",
- "Ġo ur",
- "æķ Ī",
- "ust om",
- "Ġre l",
- "if e",
- "åĻ ¨",
- "ing s",
- "ä» ·",
- "Ġp art",
- "è¢ «",
- "æī ĭ",
- "ar y",
- "Ġres pon",
- "Ċ ĠĠĠ",
- "好 çļĦ",
- "at ive",
- "帮 åĬ©",
- "ç» Ł",
- "æĶ ¾",
- "ĠH ere",
- "ç ģ",
- "Ġb ut",
- "æģ ¯",
- "æŃ £",
- "ar k",
- "åħ¬ åı¸",
- "or y",
- "å¢ ĥ",
- "le ct",
- "é Ł",
- "æĥ ³",
- "é£ İ",
- "at ing",
- "Ġa m",
- "it s",
- "æ »",
- "gor ith",
- "åĵ į",
- "ure s",
- "Ġeff ect",
- "Ġsh ould",
- "Ġp er",
- "è ±",
- "ç ²",
- "ic t",
- "Ġal gorith",
- "u c",
- "rou gh",
- "ä» »",
- "ä» ¶",
- "Ġbe t",
- "i a",
- "Ġanaly z",
- "æł¹ æį®",
- "iz ed",
- "æµ ģ",
- "è§ Ĥ",
- "è £",
- "æł ĩ",
- "ir on",
- "Ġc ustom",
- "Ġre g",
- "Ġperson al",
- "èĥ½ å¤Ł",
- "ic s",
- "iv id",
- "ç Ī",
- "èµ Ħ",
- "æŃ ¥",
- "å® ¹",
- "åĪ Ľ",
- "è Ī",
- "ä¹ IJ",
- "å¯ ¼",
- "g an",
- "èĬ Ĥ",
- "Ġal l",
- "en s",
- "am e",
- "n ess",
- "Ġu p",
- "Ġ U",
- "èĢ ĥ",
- "el f",
- "åĢ ¼",
- "å° ij",
- "æľ į",
- "ar i",
- "th ical",
- "v iron",
- "è ĥ",
- "or d",
- "Ġs ign",
- "éĩ Į",
- "ou nd",
- "o ple",
- "åŁ º",
- "Ġinform ation",
- "Ġident ify",
- "åĽ ŀ",
- "Ġc re",
- "éŁ ³",
- "ib le",
- "u b",
- "è¿ IJ",
- "Ġle ad",
- "æ¸ ¸",
- "æ¬ ¡",
- "åĨ Ļ",
- "éĤ £",
- "g et",
- "è į",
- "Ġexam ple",
- "ä¼ ĺ",
- "å½± åĵį",
- "is h",
- "x t",
- "æ º",
- "éª Į",
- "o b",
- "å® ¢",
- "å¤ ĩ",
- "åģ ¥",
- "è½ ¦",
- "ç¤ ¾",
- "ivid ual",
- "ere d",
- "l es",
- "Ġen viron",
- "Ġpe ople",
- "æĺ Ł",
- "ç ĸ",
- "ç ĭ",
- "Ġd et",
- "æĹ ł",
- "Ġ if",
- "o se",
- "it e",
- "å¢ ŀ",
- "é Ĵ",
- "åIJĮ æĹ¶",
- "è¿ °",
- "æĸ¹ å¼ı",
- "åĽ ½",
- "é »",
- "å¤ Ħ",
- "Ġexam ples",
- "æ ®",
- "Ġint o",
- "æĮ ĩ",
- "Ġhum an",
- "åIJ ij",
- "ç¤ º",
- "æķ° æį®",
- "Ġ 3",
- "Ġ J",
- "è ı",
- "çݯ å¢ĥ",
- "al s",
- "ers t",
- "Ġe thical",
- "ç» Ħ",
- "ä¼ ł",
- "Ġdiffere nt",
- "Ġk now",
- "åº ı",
- "Ġind ividual",
- "æıIJ é«ĺ",
- "rou nd",
- "å° ±",
- "åı ĸ",
- "åŃ ĺ",
- "ä¸ ¤",
- "çŁ ¥",
- "our ces",
- "c k",
- "å £",
- "in es",
- "è¾ ¾",
- "Ġman y",
- "æķ ´",
- "æł ·",
- "dit ional",
- "om m",
- "çĶ ±",
- "éĢ ł",
- "å®ĥ 们",
- "u es",
- "Ġm ent",
- "Ġimport ant",
- "Ġo pt",
- "Ġlo c",
- "p h",
- "Ġpro cess",
- "Ġalgorith ms",
- "设 计",
- "Ġsoc ial",
- "ver y",
- "åĪ Ļ",
- "ä¾ĭ å¦Ĥ",
- "è® ¤",
- "Ġa ut",
- "Ġs erv",
- "g g",
- "产 åĵģ",
- "è§ Ħ",
- "çľ ĭ",
- "ve l",
- "æĸ¹ æ³ķ",
- "Ġb en",
- "åĽł æŃ¤",
- "c are",
- "p er",
- "åĬ Ł",
- "建 议",
- "Ġp os",
- "æ ¤",
- "w e",
- "åĮ º",
- "i qu",
- "Ġre al",
- "æĹ ¥",
- "Ġredu ce",
- "a f",
- "ang u",
- "Ġs k",
- "Ġ ed",
- "erst and",
- "åĨ µ",
- "m ot",
- "åħ Ī",
- "ç ¥",
- "åºĶ 该",
- "Ġth rough",
- "Ġcon c",
- "åıij å±ķ",
- "è¯ ķ",
- "æ¡ Ī",
- "Ġenviron ment",
- "åı £",
- "Ġad v",
- "åĪ «",
- "Ġben ef",
- "æ¸ ħ",
- "åij ³",
- "åħ ī",
- "Ġdevelop ment",
- "en g",
- "å¦Ĥ ä½ķ",
- "ç® ¡",
- "iv ers",
- "åIJ Ħ",
- "Ġr is",
- "ro w",
- "er gy",
- "计 ç®Ĺ",
- "ä¿¡ æģ¯",
- "Ġpro duct",
- "è¾ ĥ",
- "è® º",
- "èĩªå·± çļĦ",
- "æĬ ¤",
- "åı į",
- "åħ¶ ä»ĸ",
- "åĪ Ĺ",
- "ç» Ĩ",
- "ç© º",
- "Ġg reat",
- "e ar",
- "æº IJ",
- "j ect",
- "çĶŁ æ´»",
- "ä¸Ń çļĦ",
- "Ġund erstand",
- "è ĭ",
- "h at",
- "Ġpro gra",
- "ç Ĭ",
- "éĩ ij",
- "Ġinclud ing",
- "Ġacc ess",
- "ĠĠĠĠ ĠĠĠ",
- "è¯ Ĩ",
- "ç ¦",
- "o g",
- "è£ ħ",
- "Ġar t",
- "Ġw rit",
- "Ġinc re",
- "Ġp h",
- "æĸ¹ éĿ¢",
- "Ġp ract",
- "Ġus ing",
- "é¡ ¹",
- "æİ ¥",
- "Ġway s",
- "Ġl angu",
- "æĶ ¯",
- "Ġch all",
- "åİ »",
- "__ __",
- "im ate",
- "æĸ Ń",
- "è ¨",
- "Ġw ell",
- "l l",
- "Ġp ol",
- "æĢ ģ",
- "Ġ ra",
- "C an",
- "åİ Ł",
- "b er",
- "è¨ Ģ",
- "ç« ĭ",
- "Ġg en",
- "éħ į",
- "æ· ±",
- "t e",
- "ä¸ ī",
- "ç§ ij",
- "ĠF or",
- "çº ¿",
- "ç ħ",
- "æ ¼",
- "åķ Ĩ",
- "æĿ IJ",
- "Ġsign ific",
- "Ġg u",
- "Ġde cis",
- "Ġtra in",
- "Ġa g",
- "Ġc reat",
- "å® Į",
- "æĹ¶ éĹ´",
- "Ġon e",
- "è Ħ",
- "Ġn at",
- "åѦ ä¹ł",
- "çļĦæ ķ",
- "c ed",
- "Ġwhe n",
- "Ġb i",
- "è İ",
- "æĽ´ åĬł",
- "iv es",
- "p ort",
- "å·¥ ä½ľ",
- "v ing",
- "Ġbe en",
- "æĻ º",
- "Ġl ife",
- "å¼ ķ",
- "ar m",
- "çİ ĩ",
- "ç͍ æĪ·",
- "ä¹ ī",
- "ä» ½",
- "è¯ Ŀ",
- "in ess",
- "c om",
- "åº ·",
- "åĩ ı",
- "ä» Ģ",
- "è¾ ĵ",
- "Ġv ari",
- "c on",
- "Ġmo d",
- "ä»Ģ ä¹Ī",
- "Ġen ergy",
- "æĬĢ æľ¯",
- "ert ain",
- "m m",
- "ver all",
- "åĪ Ĵ",
- "Ġro bots",
- "Ġor gan",
- "æİ ¨",
- "ant s",
- "åĩ Ĩ",
- "d s",
- "æŀ ģ",
- "ç Ļ",
- "Ġre qu",
- "Ġ ess",
- "ç® Ģ",
- "ust ain",
- "æ ¨",
- "Ġst r",
- "c ing",
- "ab ility",
- "re e",
- "Ġed uc",
- "åİ Ĩ",
- "Ġcre ate",
- "åģ¥ åº·",
- "Ġdes ign",
- "i ps",
- "åģ ļ",
- "èĬ ±",
- "in k",
- "èı ľ",
- "æī ¾",
- "æ® µ",
- "æµ ĭ",
- "Ġ V",
- "ĠB y",
- "å Ķ",
- "é¦ ĸ",
- "è¯ į",
- "Ġwhe re",
- "Ġdis c",
- "äºĨ è§£",
- "r ic",
- "ä¸ Ķ",
- "è¶ ³",
- "æĺ¯ ä¸Ģ个",
- "ar ch",
- "ç§ ¯",
- "å¸ ¦",
- "Ġwh ile",
- "Ġsignific ant",
- "çł ģ",
- "æĪ ¿",
- "Ġbe ing",
- "Ġlangu age",
- "it ive",
- "2 0",
- "Ġanalyz e",
- "æĻ ¯",
- "è Į",
- "ri b",
- "æ¨ ¡",
- "ĠS t",
- "è´ ¹",
- "' t",
- "Ġhealth care",
- "Ġexperi ence",
- "Ġ 5",
- "个 人",
- "ay s",
- "è± ¡",
- "p lo",
- "Ġw ould",
- "èĻ ij",
- "æĶ ¶",
- "é¢ Ħ",
- "é¢ Ĩ",
- "ä¿Ŀ æĮģ",
- "en ces",
- "åı ª",
- "èĩ ´",
- "æĪ ı",
- "Ġment al",
- "Ġfe w",
- "at es",
- "è¿ĩ ç¨ĭ",
- "å®ī åħ¨",
- "Ġs ustain",
- "Ġw ere",
- "å¤ ª",
- "ç Į",
- "Ġspec ific",
- "Ġwor ld",
- "çŃ Ķ",
- "`` `",
- "Ġt ake",
- "åħ »",
- "éĢ Ł",
- "e ver",
- "S S",
- "éĶ Ģ",
- "Ġb o",
- "he s",
- "Ġm us",
- "æľį åĬ¡",
- "è§ Ĵ",
- "t en",
- "æŀ IJ",
- "p ow",
- "d ict",
- "v ent",
- "1 0",
- "çļĦæ Ĺ",
- "ĸ çķ",
- "Ġpro t",
- "ç½ ®",
- "Ġh igh",
- "Ġb us",
- "Ġind ust",
- "åIJ ¦",
- "c ial",
- "人 们",
- "ĠA s",
- "åij Ĭ",
- "ad e",
- "æĶ ¹",
- "ç Ĺ",
- "Ġh ad",
- "Ġhe r",
- "Ġj ust",
- "ï¼ Ľ",
- "è´ Ń",
- "ç¬ ¬",
- "é ĵ",
- "Ġw ater",
- "Ġf ood",
- "éĺ Ł",
- "a us",
- "Ġchall eng",
- "åħ į",
- "æĸĩ åĮĸ",
- "Ġmo st",
- "é ¸",
- "ç½ ij",
- "çĽ ´",
- "Ġs m",
- "Ġact iv",
- "plo y",
- "O verall",
- "å¿ «",
- "ru ct",
- "Ġindividual s",
- "å§ ĭ",
- "g ies",
- "æŁ ¥",
- "çĪ ±",
- "i ety",
- "I n",
- "åĪĨ æŀIJ",
- "è§ Ĩ",
- "æ¸ ©",
- "ç» ´",
- "ol ut",
- "åŁ Ł",
- "omm end",
- "Ġcom ple",
- "æķ Ļ",
- "Ġb u",
- "Ġeduc ation",
- "at her",
- "Ġ 4",
- "t ing",
- "Ġf ind",
- "æ² ¡",
- "Ġh is",
- "ä¹ĭ éĹ´",
- "Ġeffect ive",
- "Ġat t",
- "Ġre se",
- "èĥ½ åĬĽ",
- "åŁ İ",
- "Ġal low",
- "Ġa v",
- "Ġpro mot",
- "æĻº èĥ½",
- "æ» ¡",
- "åħ ±",
- "ie w",
- "c ome",
- "ç³» 绣",
- "Ġrespon s",
- "äº Ĵ",
- "Ġc ult",
- "pow ered",
- "Ġrec ommend",
- "èIJ ¥",
- "O SS",
- "Ġch ange",
- "è¯ ģ",
- "v ed",
- "æİ Ĵ",
- "è§£ åĨ³",
- "ic i",
- "ĠH ow",
- "Ġfe el",
- "æľ Ī",
- "Ġwh at",
- "以 åıĬ",
- "Ġse e",
- "åŃ ©",
- "b s",
- "Ġs ur",
- "æ £",
- "al ity",
- "Ġv is",
- "ç¡® ä¿Ŀ",
- "p ect",
- "å®ŀ çݰ",
- "Ġc are",
- "å¹ ¿",
- "ill s",
- "åº Ń",
- "as es",
- "å¤ į",
- "åºĶ ç͍",
- "çļĦæ ĥ",
- "ard s",
- "Ġadd ress",
- "Ġcomp an",
- "Ġinv ol",
- "Ġcustom er",
- "åĽł 为",
- "Ġstud ents",
- "Ġin s",
- "注 æĦı",
- "æŀ Ħ",
- "æ¬ ¢",
- "æµ ·",
- "åı Ĥ",
- "èĩª çĦ¶",
- "é ©",
- "ĠThe se",
- "w n",
- "æĺ ĵ",
- "çĬ ¶",
- "re n",
- "Ġt reat",
- "Ġbenef its",
- "Ċ ĠĠĠĠĠĠĠ",
- "对 äºİ",
- "æĢ Ŀ",
- "id er",
- "ĠY es",
- "Ġ K",
- "åĸ ľ",
- "Ġ ke",
- "Ġen g",
- "Ġpo p",
- "o st",
- "p are",
- "Ġm on",
- "æ¬ ¾",
- "ĠM OSS",
- "Ġem ot",
- "Ġa c",
- "ç¼ ĸ",
- "f ore",
- "åı ¥",
- "Ġv al",
- "il y",
- "Ġis s",
- "èĤ ī",
- "èĩ ³",
- "游 æĪı",
- "we en",
- "Ġinclud e",
- "Ġprot ect",
- "åħ³ ç³»",
- "éĻ ©",
- "Ġse ver",
- "Ġth an",
- "éľĢ æ±Ĥ",
- "ç» ĥ",
- "ĠThe y",
- "is s",
- "y s",
- "Ġj ob",
- "éĺ ³",
- "æ IJ",
- "Ġbet ween",
- "Ġm ach",
- "---- ----",
- "èĢĥ èĻij",
- "è´¨ éĩı",
- "Ġbus iness",
- "w or",
- "ic k",
- "e g",
- "åħ ħ",
- "ç ¯",
- "æĿ ¡",
- "n er",
- "a pt",
- "Ġapp ro",
- "Ġpl ay",
- "没 æľī",
- "¤ IJ",
- "æľ ª",
- "æĪ ĺ",
- "å®¶ åºŃ",
- "ãĢ ĭ",
- "en cy",
- "ĠC h",
- "ãĢ Ĭ",
- "Ġprovid ing",
- "Ġres ources",
- "âĢ Ļ",
- "Ġass ist",
- "Ġnat ural",
- "è¯ Ħ",
- "ä¾ ¿",
- "Ġs af",
- "åħ· æľī",
- "è° ¢",
- "çĥ Ń",
- "s s",
- "et h",
- "ol d",
- "Ġper form",
- "Ġsever al",
- "é ¤IJ",
- "Ġe ach",
- "è½ ¬",
- "c i",
- "Ġt y",
- "Ġp ub",
- "æ´» åĬ¨",
- "oc us",
- "çī Į",
- "è¶ Ĭ",
- "åĽ ¢",
- "è½ »",
- "è¯Ń è¨Ģ",
- "Ġare as",
- "éĩ ĩ",
- "f t",
- "ri end",
- "å· ²",
- "å¸Ĥ åľº",
- "it ion",
- "i ents",
- "管 çIJĨ",
- "è® ¸",
- "人 类",
- "身 ä½ĵ",
- "iqu e",
- "Ġpart ic",
- "ç» Ń",
- "age ment",
- "v es",
- "ç¬ ¦",
- "l ine",
- "çº ¢",
- "åIJ ¸",
- "Ġpat ter",
- "00 0",
- "社 ä¼ļ",
- "åĨħ 容",
- "Ġorgan iz",
- "ou gh",
- "Ġ ve",
- "åŃ© åŃIJ",
- "æĸ ½",
- "æ¤ į",
- "åĩ ł",
- "ä½Ĩ æĺ¯",
- "Ġa ff",
- "Ġn um",
- "le ment",
- "èī º",
- "è ij",
- "Ġc ar",
- "ag es",
- "ab or",
- "æĺ¯ä¸Ģ ç§į",
- "Ġin st",
- "è Ľ",
- "ä¹ĭ ä¸Ģ",
- "è· ¯",
- "åį ³",
- "Ġm ain",
- "éļ ı",
- "H ow",
- "å¿ ħ",
- "ç¨ĭ åºı",
- "éŁ³ ä¹IJ",
- "re d",
- "æ² ¹",
- "Ġoff er",
- "et s",
- "ç ¢",
- "Ġd uring",
- "çļĦ 人",
- "æĽ´ å¤ļ",
- "Ġd i",
- "代 çłģ",
- "èİ ·",
- "åħ ĭ",
- "Ġgu id",
- "主 è¦ģ",
- "Ġf am",
- "æİ §",
- "éĢļ 常",
- "ĠA d",
- "å¤Ħ çIJĨ",
- "ur n",
- "ow er",
- "åij ½",
- "æı ı",
- "Ġsk ills",
- "Ġto ol",
- "w are",
- "æĸĩ æľ¬",
- "Ġpatter ns",
- "缮 æłĩ",
- "ac y",
- "æī ĵ",
- "åŁİ å¸Ĥ",
- "Ġe very",
- "r ies",
- "è¯ »",
- "éģ ¿",
- "çĻ ½",
- "éĢĤ åIJĪ",
- "Ġpat ient",
- "çľ Ł",
- "ot h",
- "å¥ ¹",
- "åĶ ®",
- "ä¸Ģ ç§į",
- "Ġm ade",
- "ä½ İ",
- "is e",
- "Ġre m",
- "æ¶ Ī",
- "åIJ «",
- "a ir",
- "Ġgen er",
- "o y",
- "ç² ¾",
- "æĥħ åĨµ",
- "ight s",
- "Ġexp l",
- "è§ ģ",
- "Ġpre dict",
- "ç± ³",
- "æĽ´ 好",
- "ä¿ ®",
- "Ġcl imate",
- "Ġf ocus",
- "Ġg row",
- "客 æĪ·",
- "ä¸į æĸŃ",
- "it or",
- "ĠE n",
- "çº ¦",
- "æĺ¯ åIJ¦",
- "ä» ħ",
- "æĪij们 çļĦ",
- "æľ Ľ",
- "o p",
- "Ġm aking",
- "y th",
- "cc ess",
- "Ġo wn",
- "gg est",
- "Ġt as",
- "ut ure",
- "Ġmod el",
- "p ut",
- "Ġrese arch",
- "ere st",
- "éļ ¾",
- "Ġ [",
- "i el",
- "ation al",
- "Ġcommun ic",
- "ç¥ ŀ",
- "ç© ¶",
- "Ġre st",
- "æĪIJ 为",
- "k ing",
- "p r",
- "åĮ »",
- "c ur",
- "èĤ ²",
- "Ġ '",
- "è¿Ļ ç§į",
- "ç¯ ĩ",
- "Ġc he",
- "ow n",
- "éĻ ħ",
- "Ġf in",
- "åζ ä½ľ",
- "Ġsu ggest",
- "å¢ŀ åĬł",
- "Ġmed ia",
- "rib ut",
- "çļĦæĥ ħ",
- "åĬł åħ¥",
- "Ġc le",
- "åij ¨",
- "ç« ł",
- "Ġth ink",
- "Ġloc al",
- "pport un",
- "ĠY ou",
- "Ġpl an",
- "Ġev en",
- "éĽ Ĩ",
- "å· §",
- "a x",
- "Ġchalleng es",
- "Ġpro f",
- "ĠC an",
- "Ġconc er",
- "Ġf uture",
- "åĬ ¿",
- "Ġre f",
- "èģ Ķ",
- "Ġs elf",
- "æĪĸ èĢħ",
- "b le",
- "åĽ ´",
- "è¿IJ åĬ¨",
- "Ġin f",
- "éĩ Ĭ",
- "Ġsustain able",
- "Ġte xt",
- "Ġg ra",
- "äº Į",
- "åĵģ çīĮ",
- "ä¸įåIJĮ çļĦ",
- "l ed",
- "çĭ ¬",
- "Ġo pportun",
- "Ġcont in",
- "y m",
- "Ġg et",
- "å¯ Ĩ",
- "éĻ ¤",
- "æ ħ",
- "éģ¿ åħį",
- "Ġ +",
- "è§ ī",
- "Ġre t",
- "å¸ ĥ",
- "Ġint erest",
- "Ġsoc iety",
- "ç»ĵ æŀľ",
- "åIJ ¬",
- "é¦ĸ åħĪ",
- "Ġb re",
- "Ġ2 0",
- "ĠHow ever",
- "è® °",
- "on s",
- "è¿ ij",
- "å¼Ģ å§ĭ",
- "Ġbu ild",
- "Ġbe h",
- "' m",
- "v ers",
- "Ġg ood",
- "çIJĨ è§£",
- "res ent",
- "ç¦ »",
- "åĬŁ èĥ½",
- "Ġeff ort",
- "l abor",
- "é» ij",
- "Ġbet ter",
- "Ġre ad",
- "å¾ ĭ",
- "èĽ ĭ",
- "he d",
- "ä¹ °",
- "导 èĩ´",
- "Ġimp lement",
- "ç ¿",
- "äº «",
- "å¤ ´",
- "en se",
- "Ġl ong",
- "ot her",
- "é¥ ®",
- "åŃĺ åľ¨",
- "çļĦæ Ħ",
- "ä¸Ģ 份",
- "yth on",
- "n ing",
- "åĩı å°ij",
- "åĢ Ļ",
- "ä¸ ĵ",
- "åIJĦ ç§į",
- "è ħ",
- "å° ½",
- "åį ĩ",
- "æĬ ¥",
- "Ġpub lic",
- "Ġl ar",
- "ä½ł çļĦ",
- "a ut",
- "é¢Ĩ åŁŁ",
- "æ ļ",
- "ol low",
- "èģ Į",
- "Ġch ang",
- "Ġb est",
- "h ip",
- "åĨ į",
- "ak es",
- "Ġch at",
- "it ed",
- "Ġp ower",
- "ä¿Ŀ æĬ¤",
- "ä¹ ¦",
- "计 åĪĴ",
- "éĩįè¦ģ çļĦ",
- "åıĺ åĮĸ",
- "il ities",
- "Ġcons ider",
- "æĪij们 åı¯ä»¥",
- "éĤ£ ä¹Ī",
- "Ġ ide",
- "æ¼ Ķ",
- "ag ing",
- "Ġb ased",
- "å® Ŀ",
- "Ġr ange",
- "Ġres ult",
- "Ġm em",
- "çħ §",
- "Ġle vel",
- "c ou",
- "Ġb r",
- "T h",
- "ä¼ ģ",
- "建 ç«ĭ",
- "Ġun ique",
- "è® Ń",
- "Ġm ark",
- "许 å¤ļ",
- "è¡Į 为",
- "Ķ ç©¶",
- "çļĦæ Ĭ",
- "Ġs et",
- "éª ¤",
- "t s",
- "Ġh ist",
- "Ġa round",
- "Ġre v",
- "åħ¶ ä¸Ń",
- "ï¼ ģ",
- "æıı è¿°",
- "æľĢ åIJİ",
- "Ġs im",
- "n ect",
- "åĽŀ çŃĶ",
- "éĺ ²",
- "èī ¯",
- "åΰ äºĨ",
- "ä¸ ĸçķ",
- "æĸ¹ æ¡Ī",
- "æĿIJ æĸĻ",
- "ä¸ĸçķ Į",
- "æĽ´å¥½ åľ°",
- "两 个",
- "Ġem ploy",
- "Ġtr y",
- "æ ĵ",
- "Ġb ack",
- "åĪ ĩ",
- "Ġsu ccess",
- "Ġdecis ions",
- "Ġth ose",
- "å¯ Į",
- "Ġf act",
- "æİ ¢",
- "è¶ £",
- "Ġpract ices",
- "åIJ Ĺ",
- "æī į",
- "çİ ©",
- "pt ion",
- "æĸĩ 竳",
- "Ġfe at",
- "Ġpre vent",
- "Ġwrit ing",
- "çļĦæ Ģ",
- "Ġn o",
- "ä» ĭ",
- "éĹ ¨",
- "Ġd el",
- "æ Ĵ",
- "Ġopt im",
- "in ation",
- "Ġ Ċ",
- "us ion",
- "Ġacc ount",
- "l ing",
- "Ġd ivers",
- ". \"",
- "at h",
- "èĭ ±",
- "ä¼ģ ä¸ļ",
- "Ġg rou",
- "åľ° çIJĥ",
- "å¤ ±",
- "Ġpersonal ized",
- "ĠH e",
- "表 达",
- "cur ity",
- "Ġf ollow",
- "产 çĶŁ",
- "Ġe ar",
- "åİ ĭ",
- "ver n",
- "Ġiss ues",
- "åĿ ĩ",
- "é ²",
- "Ġd r",
- "iv ing",
- "Ġtrain ing",
- "Ġris k",
- "åĩ ½",
- "åı ²",
- "æ ij",
- "çļĦæĹ ¶",
- "og n",
- "Ġrequ ire",
- "Ġenvironment al",
- "b ack",
- "éĶ ®",
- "çĸ Ĺ",
- "Ġinter act",
- "åĽ¢ éĺŁ",
- "æ¯ı 个",
- "çĦ¶ åIJİ",
- "Ġd ist",
- "ç͍ äºİ",
- "认 为",
- "åĩ½ æķ°",
- "Ġs ent",
- "Ċ ĠĠĠĠĠĠĠĠ",
- "Ġredu cing",
- "å¹ ²",
- "Ġre p",
- "Ġc aus",
- "Ġmus ic",
- "ç ª",
- "Ġmon itor",
- "Ġfor m",
- "é¢ ľ",
- "çĹ ħ",
- "é¦ Ļ",
- "Ġof ten",
- "åı¯èĥ½ ä¼ļ",
- "åijĺ å·¥",
- "Ġha nd",
- "æĬ ķ",
- "Ġneed s",
- "æŃ¤ å¤ĸ",
- "åı ĭ",
- "iv ity",
- "Ġactiv ities",
- "åĸľ 欢",
- "Ġp ur",
- "i an",
- "s elf",
- "åĬ¨ çī©",
- "com es",
- "å ©",
- "Ġpr iv",
- "a z",
- "Ġrel ations",
- "Ġmach ine",
- "çļĦæ °",
- "ä»· æł¼",
- "ä»· å̼",
- "ç´ ¢",
- "Ġfe ed",
- "ä¸Ģ ä¸ĭ",
- "Ġte am",
- "Ġindust ry",
- "è´ ¢",
- "ĠP ro",
- "Ġw ant",
- "ç§ °",
- "Ġcl ass",
- "Ġlo ve",
- "åħ³ äºİ",
- "è¾ĵ åħ¥",
- "Ġtrans port",
- "Ġcomple x",
- "Ġy ear",
- "éĶĢ åĶ®",
- "å¯ »",
- "i ence",
- "ist s",
- "æĶ¯ æĮģ",
- "Ġm ind",
- "Ġf un",
- "Ġch ar",
- "æĮ ī",
- "Ġconcer ns",
- "con om",
- "ç®Ģ åįķ",
- "以ä¸ĭ æĺ¯",
- "Ġst art",
- "å¹¶ ä¸Ķ",
- "av i",
- "ä¸Ń åĽ½",
- "åħĥ ç´ł",
- "Ġcon f",
- "Ġpos itive",
- "Ġc ur",
- "Ġc ount",
- "er y",
- "å ¡",
- "å® ¤",
- "Ġco st",
- "Ġe qu",
- "Ġpol ic",
- "ast e",
- "a w",
- "éħ Ĵ",
- "cou ra",
- "iv en",
- "pl ace",
- "ch ie",
- "çļĦæķ °",
- "åĽł ç´ł",
- "Ġf l",
- "is m",
- "Ġmed ical",
- "Ġhum ans",
- "Ġaut om",
- "ertain ly",
- "Ġ 0",
- "Ġoff ers",
- "Ġdet ect",
- "Ġ 6",
- "é£İ æł¼",
- "Ġsh ow",
- "çģ «",
- "Ġan im",
- "é¢ľ èī²",
- "le ase",
- "a ve",
- "åĵ ª",
- "ĠThe re",
- "以 ä¸Ĭ",
- "æľª æĿ¥",
- "X X",
- "çī ĩ",
- "u ch",
- "Ġtas ks",
- "åħ· ä½ĵ",
- "æ¤į çī©",
- "Ġm in",
- "èīº æľ¯",
- "ic ult",
- "Ġexperi ences",
- "æİ§ åζ",
- "b e",
- "Ġpat ients",
- "å ²",
- "ĠW e",
- "Ġrec ogn",
- "çĥ ¤",
- "Ġsm all",
- "åĿ Ĺ",
- "å Ħ",
- "太 éĺ³",
- "ct ion",
- "Ġ ent",
- "æį ¢",
- "Ġbe fore",
- "Ġbe come",
- "å·² ç»ı",
- "表 çݰ",
- "Ġexp lo",
- "Ġa chie",
- "ä»» åĬ¡",
- "大 çļĦ",
- "Ġd ay",
- "Ġf ound",
- "å± ±",
- "on d",
- "Ġtreat ment",
- "pe nd",
- "he n",
- "Ġcon dit",
- "ç¡® å®ļ",
- "Ġbusiness es",
- "ĠW h",
- "æīĢ æľī",
- "Ġdevelop ed",
- "ç» Ī",
- "æŃ¥ 骤",
- "Ġdiff icult",
- "åı ·",
- "ĠR e",
- "éĶ Ļ",
- "Ġch o",
- "Ġqu est",
- "Ġtrans pare",
- "Ġpro ject",
- "Ġcommun ity",
- "o v",
- "å¸ Ī",
- "å¼ ł",
- "åĪĨ ç±»",
- "人 çļĦ",
- "s is",
- "çĽ Ĭ",
- "o id",
- "ĠA n",
- "w ays",
- "Ġe as",
- "Ġaff ect",
- "Ġother s",
- "Ġreg ul",
- "æĢ§ åĴĮ",
- "åĸ Ħ",
- "ag n",
- "ä½ľ 为",
- "åı¯ä»¥ 帮åĬ©",
- "åĦ ¿",
- "Ġorganiz ations",
- "é¸ ¡",
- "åħ ´",
- "Ġf riend",
- "Ġ $",
- "Ġdet ail",
- "Ġtra ditional",
- "Ġdesign ed",
- "è´Ń ä¹°",
- "ä½ĵ éªĮ",
- "ç» į",
- "er m",
- "Ġcon nect",
- "è¿Ļ æł·",
- "Ġrecommend ations",
- "Ġb oth",
- "Ł éĢļ",
- "æ¯ į",
- "Ġs it",
- "ä½ľ ç͍",
- "ä»ĭ ç»į",
- "Ġst e",
- "ĠS ure",
- "åı °",
- "æĤ¨ çļĦ",
- "Ġs he",
- "Ġman agement",
- "j oy",
- "è´ Ł",
- "Ġpromot e",
- "Ġvari ous",
- "( \"",
- "p or",
- "Ġs ens",
- "Ġess ential",
- "get her",
- "ular ly",
- "äº ī",
- "ir st",
- "Ġo p",
- "Ġspec ies",
- "çݰ åľ¨",
- "ch o",
- "Ġbeh avi",
- "çŃ ij",
- "å¥ ³",
- "Ġqu ality",
- "Ġex t",
- "è ¥",
- "å®Į æĪIJ",
- "æĢ» ä¹ĭ",
- "éĥ¨ åĪĨ",
- "ä»İ èĢĮ",
- "åĽ ¾",
- "Ġty p",
- "Ġstr ate",
- "è¥ ¿",
- "Ġhe re",
- "ar s",
- "å¸ Į",
- "çļĦæ Ŀ",
- "å° Ŀ",
- "e e",
- "i er",
- "Ġe c",
- "ical ly",
- "er ing",
- "å¿ µ",
- "ĠD e",
- "Ġne g",
- "建 çŃij",
- "Ġserv ices",
- "Ġab le",
- "im es",
- "Ġopt ions",
- "缸 åħ³",
- "Ġsu b",
- "Ġdecis ion",
- "ĠC ertainly",
- "Ġ åľ¨",
- "æ ¢",
- "Ġserv ice",
- ") :",
- "带 æĿ¥",
- "Ġch ild",
- "è§£ éĩĬ",
- "ir t",
- "ç Ĩ",
- "ä¸į ä»ħ",
- "æĿ ¾",
- "积 æŀģ",
- "r on",
- "åı ¤",
- "çł Ķç©¶",
- "ç² ī",
- "h or",
- "Ġprof ess",
- "çļĦ éĹ®é¢ĺ",
- "Ġopportun ities",
- "åİĨ åı²",
- "Ġde f",
- "ĠA m",
- "Ġg r",
- "a ur",
- "å± Ĥ",
- "çŃ ĸ",
- "Ġpop ular",
- "æ´ ģ",
- "åıij çݰ",
- "Ġpo em",
- "èµ Ľ",
- "Ġo b",
- "Ġd on",
- "Ġs ound",
- "Ġtransport ation",
- "i ous",
- "åı ¦",
- "Ġro le",
- "Ġf iel",
- "ç§ij åѦ",
- "èĢ ģ",
- "re en",
- "æľī æķĪ",
- "Ġc or",
- "Ġfeed back",
- "Ġtechnolo gies",
- "交 éĢļ",
- "Ġad apt",
- "' re",
- "erv ation",
- "Ġcommun ities",
- "çݰ 代",
- "Ġlo ok",
- "Ġf ac",
- "ç͵ å½±",
- "Ġcol lect",
- "å¾Ĺ åΰ",
- "h ips",
- "Ġav ail",
- "ere n",
- "ä¸Ģ èµ·",
- "çī Ľ",
- "Ġpos s",
- "Ġwe ather",
- "Ġeffort s",
- "¿ Ģ",
- "æĹ ħ",
- "o h",
- "Ġcol labor",
- "æĭ ¥",
- "æĪIJ åĬŁ",
- "èİ· å¾Ĺ",
- "å± ħ",
- "Ġt re",
- "Ġs ources",
- "Ġstud y",
- "Ġprogra ms",
- "éĻ IJ",
- "Ġt ips",
- "Ġmark et",
- "al ly",
- "å® ³",
- "w ards",
- "æ£ Ģ",
- "ä¸Ģ ç¯ĩ",
- "ri or",
- "Ġto p",
- "Ġe nd",
- "å ĭ",
- "Ġlar ge",
- "ici ency",
- "Ġde c",
- "å®ļ çļĦ",
- "ic ient",
- "è¿ĩç¨ĭ ä¸Ń",
- "lic ations",
- "ç¼ º",
- "Ġto ur",
- "Ġto gether",
- "人 工",
- "Ġtool s",
- "æĸ ¯",
- "æ° ij",
- "æĬ Ĭ",
- "ä¹ĭéĹ´ çļĦ",
- "çī¹ çĤ¹",
- "Ġbe l",
- "ditional ly",
- "åĪ© ç͍",
- "è¾ ¹",
- "éĻ į",
- "ĠI f",
- "é¢ Ŀ",
- "åį ı",
- "å¾ Ģ",
- "l ish",
- "è¯ ī",
- "in s",
- "å¥ ¶",
- "Ġe conom",
- "Ġinv est",
- "ĠD o",
- "t ain",
- "åĩº çݰ",
- "çļĦ å½±åĵį",
- "ater ial",
- "Ġs ure",
- "Ġp ass",
- "çĶ »",
- "è´ £",
- "ç»ĵ æŀĦ",
- "æķ ħ",
- "æĥħ æĦŁ",
- "æ ¿Ģ",
- "ell ig",
- "ä¼ Ĺ",
- "æ¯Ķ è¾ĥ",
- "ter n",
- "Ġout comes",
- "u p",
- "Ġbe aut",
- "re ad",
- "çĶŁ æĪIJ",
- "æķ° åŃĹ",
- "Ġde m",
- "i res",
- "åı¯ä»¥ éĢļè¿ĩ",
- "æĸ° çļĦ",
- "Ġde ep",
- "å ¨",
- "çĭ Ĺ",
- "åħ³ 注",
- "çĶŁ åij½",
- "ä¼ł 绣",
- "Ġst ay",
- "æŃ Į",
- "åħ³ éĶ®",
- "Ġpl ace",
- "主 é¢ĺ",
- "å¾Ī å¤ļ",
- "èĪ Ĵ",
- "Ġprofess ional",
- "y le",
- "æĽ ²",
- "1 9",
- "Ġess ay",
- "Ġg ive",
- "ç³ ĸ",
- "Ġon ly",
- "æŁ IJ",
- "Ġph ys",
- "对 è¯Ŀ",
- "Ġcont ro",
- "Ġam ount",
- "ce pt",
- "iz ation",
- "ç¼ĸ åĨĻ",
- "åıĹ åΰ",
- "Ġal ways",
- "æ¯Ķ å¦Ĥ",
- "Ġpriv acy",
- "a u",
- "____ ____",
- "Ġrespons ible",
- "( )",
- "çŃī çŃī",
- "Ġm aterial",
- "Ġon line",
- "é ¼",
- "æĶ ¿",
- "åĽ Ľ",
- "Ġen joy",
- "åľ Ł",
- "Ġsaf ety",
- "Ġt w",
- "Ġcommunic ation",
- "ä¸ ½",
- "æĺ ¾",
- "olut ion",
- "er g",
- "į ä½ľ",
- "Ġus er",
- "Ġemot ional",
- "t ime",
- "é ¾",
- "Ġse curity",
- "Ġs ense",
- "el ines",
- "åĬ ±",
- "çī© è´¨",
- "u ra",
- "Ġsh are",
- "Ġanalyz ing",
- "it al",
- "é ±",
- "irt ual",
- "Ġvis it",
- "b ers",
- "Ġc our",
- "Ġpro ble",
- "设 å¤ĩ",
- "at ch",
- "l and",
- "é± ¼",
- "æĪij们 éľĢè¦ģ",
- "ç¨ ³",
- "ib ility",
- "Ġeff iciency",
- "å£ °",
- "è Ĵ",
- "æľº åύ",
- "Ġcle ar",
- "åζ å®ļ",
- "iz ing",
- "Ġcondit ions",
- "l usion",
- "Ġlo w",
- "Ġl im",
- "her s",
- "Ġris ks",
- "ç¿ »",
- "Ġle t",
- "åĴ ĸ",
- "å¿ĥ çIJĨ",
- "è¿ ľ",
- "pr int",
- "Ġchang es",
- "Ġme as",
- "Ġimpro ving",
- "Ġc rit",
- "5 0",
- "å¸Į æľĽ",
- "Ġa ud",
- "åį Ĺ",
- "æĹł æ³ķ",
- "Ġneg ative",
- "项 缮",
- "u nd",
- "at s",
- "Ġcompan ies",
- "æī¾ åΰ",
- "Ġcont ribut",
- "æŃ£ ç¡®",
- "é» Ħ",
- "å± ŀ",
- "Ġunderstand ing",
- "Ġm ult",
- "Ġc lo",
- "å¾ ģ",
- "Ġp rior",
- "r im",
- "人工 æĻºèĥ½",
- "Ġvari ety",
- "Ġt aking",
- "å Ĥ",
- "as ter",
- "od y",
- "Ġ {",
- "çļĦ éĩįè¦ģ",
- "Ġf ore",
- "èµĦ æºIJ",
- "è¦ģ æ±Ĥ",
- "Ġfeat ures",
- "èį ī",
- "m e",
- "èĮ ĥ",
- "Ġo per",
- "çº §",
- "é² ľ",
- "æĬĢ å·§",
- "ij æĪĺ",
- "ç±» åŀĭ",
- "æĿ ¿",
- "è½ ¯",
- "e w",
- "Ġrest aur",
- "Ġwith out",
- "ruct ure",
- "çļĦ æĺ¯",
- "ç ı",
- "Ġl ist",
- "ur ate",
- "Ġbo ok",
- "äº ²",
- "åº Ĺ",
- "ä¹Ł æĺ¯",
- "ä»» ä½ķ",
- "Ġc am",
- "ĠB e",
- "Ġgo vern",
- "Ġbehavi or",
- "è®Ń ç»ĥ",
- "Ġfam ily",
- "æĿ Ĥ",
- "Ġc ity",
- "Ġappro ach",
- "Ġacc urate",
- "Ġs om",
- "Ġe l",
- "èĪ ŀ",
- "è ŀ",
- "åŁº æľ¬",
- "Ġdis e",
- "Ġen coura",
- "ĠW hat",
- "å ĥ",
- "è¯ ¦",
- "¦ Ĥ",
- "å·¥ åħ·",
- "åķ ¡",
- "Ġst ill",
- "cho ol",
- "æĦŁ åΰ",
- "çĶŁ çī©",
- "åĴĸ åķ¡",
- "åĩĨ å¤ĩ",
- "Ġw aste",
- "Ġev ents",
- "æķĻ èĤ²",
- "Ġ 8",
- "Ġm ust",
- "i ed",
- "as ing",
- "å½¢ æĪIJ",
- "Ġproduct s",
- "åħ ¸",
- "è® ²",
- "f ter",
- "å· ®",
- "l ess",
- "Ġc ro",
- "Ġfin an",
- "åıį åºĶ",
- "åĪĽ éĢł",
- "Ġguid elines",
- "åĪ ¤",
- "ä½ľ åĵģ",
- "表 示",
- "å¼ Ĥ",
- "Ġknow n",
- "Ġt est",
- "è¯ ¯",
- "o pe",
- "Ġus ers",
- "A I",
- "å¾ ·",
- "ne w",
- "è¿ ½",
- "iqu es",
- "模 åŀĭ",
- "åĬĽ åĴĮ",
- "Ġhist ory",
- "ĠA l",
- "æĬķ èµĦ",
- "å°Ŀ è¯ķ",
- "an k",
- "Ġh ome",
- "éĴ Ł",
- "ä¸ °",
- "èĪĴ éĢĤ",
- "Ġincre ase",
- "Ġh ab",
- "åĪ »",
- "è¾ĵ åĩº",
- "Ġlead ing",
- "Ġ 7",
- "é£İ éĻ©",
- "Ġperform ance",
- "Ġha pp",
- "åŃ £",
- "Ġst and",
- "t y",
- "ç¦ ı",
- "Ġcustom ers",
- "åį İ",
- "Ġbel ie",
- "Ġcompan y",
- "å½ ķ",
- "é£Ł çī©",
- "ĠU n",
- "Ġsu mm",
- "re nt",
- "ĠC on",
- "éĢĤ éĩı",
- "an ced",
- "Ġ i",
- "Ġl ight",
- "Ġanaly sis",
- "å° Ĭ",
- "ĠU se",
- "ou se",
- "t ed",
- "Ġchar act",
- "Ġ #",
- "t o",
- "ç» ľ",
- "ä¸į æĺ¯",
- "Ġdevelop ing",
- "åŁ ¹",
- "Ġstrate gies",
- "Ġm ight",
- "çŁ Ń",
- "çļĦæ İ",
- "Ġf irst",
- "èĥ Į",
- "çĮ «",
- "Ġinclud es",
- "åĽ Ń",
- "Ġdi agn",
- "Ġgrow th",
- "ä¸ĵ ä¸ļ",
- "Ġdo es",
- "1 2",
- "ç» ¿",
- "Ġke ep",
- "详 ç»Ĩ",
- "åĥ ı",
- "åıij çĶŁ",
- "f act",
- "åı¯ä»¥ åľ¨",
- "ç« Ļ",
- "æĭ ī",
- "æµ İ",
- "Ġchat bots",
- "Ġbre ak",
- "è¡ ¡",
- "çŁ ³",
- "æĮģ ç»Ń",
- "l ife",
- "Ġ1 0",
- "æ´ Ĺ",
- "ĠAd ditionally",
- "å£ «",
- "em ber",
- "Ġgo als",
- "å¾ ®",
- "Ġv iew",
- "Â ·",
- "o ve",
- "åŁº ç¡",
- "Ġoptim ize",
- "Ġt em",
- "Ġd own",
- "åŁºç¡ Ģ",
- "è¶ ħ",
- "er cis",
- "Ġl ess",
- "e es",
- "æĿ ĥ",
- "Ġke y",
- "Ġwor ks",
- "è® ¨",
- "åı¥ åŃIJ",
- "Ġro bot",
- "us s",
- "åħ¨ çIJĥ",
- "ç»ı æµİ",
- "æīį èĥ½",
- "eg r",
- "ä»ĸ们 çļĦ",
- "äº Ķ",
- "èµ· æĿ¥",
- "ç ĵ",
- "Ġfact ors",
- "Ġcult ural",
- "æľ ¨",
- "Ġwork ing",
- "ä¼ ¼",
- "èIJ ½",
- "éĢŁ 度",
- "ä½ ı",
- "Ġeffect s",
- "å© ļ",
- "b r",
- "åİ ħ",
- "ra in",
- "\" )",
- "åѦ çĶŁ",
- "\" ,",
- "Ġp ar",
- "at form",
- "Ġens uring",
- "çͱ äºİ",
- "Ġm uch",
- "Ġwor ds",
- "Ġm ar",
- "ç»ı éªĮ",
- "为 äºĨ",
- "åIJĪ ä½ľ",
- "v en",
- "Ġ /",
- "Ġfinan cial",
- "wor k",
- "or ies",
- "æ² »",
- "Ġtechn iques",
- "æĭ¥ æľī",
- "ra p",
- "å° Ķ",
- "Ġ est",
- "Ġavail able",
- "Ġl it",
- "æ ¹",
- "Ġeff icient",
- "el s",
- "o ver",
- "Ġl and",
- "Ġare a",
- "Ġint ellig",
- "Ġpre f",
- "at ure",
- "çŁ¥ è¯Ĩ",
- "æĵ įä½ľ",
- "å¾ ħ",
- "ig ate",
- "çļĦæ Ķ",
- "Ġme an",
- "b o",
- "Ġcontro l",
- "éĩĩ ç͍",
- "ric ult",
- "Ġprogra mm",
- "Ġto wards",
- "th ing",
- "ä¸į è¦ģ",
- "Ġth ough",
- "å½ ©",
- "Ġc ertain",
- "Ġw ild",
- "ä» Ĭ",
- "Ġcons ervation",
- "çŁ¥ éģĵ",
- "Ġreal ly",
- "çļĦ åľ°",
- "i o",
- "é¥ °",
- "Ġf ul",
- "çݯ ä¿Ŀ",
- "Ġexplo re",
- "çļĦæ ¸",
- "Ġdivers e",
- "åĬł 强",
- "çļ ®",
- "Ġemot ions",
- "Ġav oid",
- "' ll",
- "çļĦæ ī",
- "åį ¡",
- "Ġpl atform",
- "an ces",
- "Ġsit u",
- "ä» ĺ",
- "ä½į ç½®",
- "or ing",
- "çĽ IJ",
- "ä¸ ĩ",
- "Ġde v",
- "n ov",
- "as h",
- "Ġtw o",
- "å® ł",
- "b on",
- "èµ °",
- "åĪĹ è¡¨",
- "Ġc y",
- "èį IJ",
- "ĠS ome",
- "Ġexpl ain",
- "Ġa ware",
- "社 交",
- "d ay",
- "åı Į",
- "æ² ŁéĢļ",
- "æ° §",
- "å¼Ģ åıij",
- "åħ¬åı¸ çļĦ",
- "Ġa ir",
- "åĩ »",
- "ar ing",
- "éĥ½ æĺ¯",
- "Ġlevel s",
- "od s",
- "Ġste ps",
- "Ġc ap",
- "æ´ ŀ",
- "é© ¬",
- "Ġret urn",
- "Ġm et",
- "çĶŁ æĢģ",
- "丰 å¯Į",
- "æŁ ĵ",
- "æīĢ ä»¥",
- "é¡ »",
- "Ġ er",
- "Ġf ra",
- "3 0",
- "è ĵ",
- "âĢ Ķ",
- "Ġ å½ĵ",
- "a h",
- "ä¿ ĥ",
- "Ġlike ly",
- "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ",
- "åĪ Ŀ",
- "Ġcreat ing",
- "Ġf arm",
- "Ġb al",
- "Ġl ives",
- "å®ĥ çļĦ",
- "Ġab ility",
- "ä¸Ĭ çļĦ",
- "Ġsent ence",
- "åĤ ¨",
- "Ġr out",
- "Ġprovid es",
- "Ġag ain",
- "å®ł çī©",
- "éĢ IJ",
- "Ġyear s",
- "èŀ į",
- "Ġphys ical",
- "P ython",
- "ĠE x",
- "it ing",
- "è°ĥ æķ´",
- "ç½ij 绾",
- "æħ ¢",
- "空 éĹ´",
- "åĽ °",
- "è± Ĩ",
- "æĽ´å¤ļ çļĦ",
- "ĠA r",
- "Ġmain tain",
- "å®ŀ éĻħ",
- "Ġtra vel",
- "Ġs at",
- "p ro",
- "ç͵ åŃIJ",
- "æ± ½",
- "e x",
- "åģ ĩ",
- "æIJ Ń",
- "éļı çĿĢ",
- "è¿ĺ æľī",
- "ç¤ ¼",
- "al e",
- "Ġcons um",
- "Ċ Ġ",
- "n cy",
- "Ġquest ions",
- "f ort",
- "m aking",
- "Ġdes c",
- "1 5",
- "Ġinvol ves",
- "Ġst ress",
- "åŃŠ符",
- "he re",
- "Ġimpact s",
- "Ġex ercis",
- "åĿ ļ",
- "led ge",
- "ç§ij æĬĢ",
- "oc i",
- "Ġeffective ly",
- "æ¶Ī è´¹",
- "Ġconc lusion",
- "éĺ ħ",
- "Ġst re",
- "iss ions",
- "æ· »",
- "I t",
- "éĿ Ļ",
- "Ġv irtual",
- "è¡ £",
- "Ġachie ve",
- "our ce",
- "è¿ ŀ",
- "ac ks",
- "表 æł¼",
- "Ġimport ance",
- "èĩª æĪij",
- "The se",
- "n um",
- "çļĦæ ł",
- "Ġrelations hips",
- "Ġwork ers",
- "g ical",
- "or por",
- "ers on",
- "åij ¢",
- "nd s",
- "æİ¨ èįIJ",
- "oh n",
- "å¿ħ é¡»",
- "容 æĺĵ",
- "ĠG o",
- "Ġt ell",
- "ĠR es",
- "on om",
- "Ġbe c",
- "æ³ Ľ",
- "p os",
- "Ġmo ve",
- "Ġst ory",
- "æŃ ¢",
- "Ġprior it",
- "Ġindust ries",
- "è ľ",
- "Ġposs ible",
- "ĠM an",
- "Ġexp ress",
- "ab ilities",
- "Ġint egr",
- "代 表",
- "Ġrespon d",
- "åĪĨ éĴŁ",
- "æľº ä¼ļ",
- "Ġth ings",
- "交 æµģ",
- "Ġm eth",
- "ur ther",
- "Ġw ide",
- "èij Ĺ",
- "æĪij çļĦ",
- "ĸçķ ¥",
- "id es",
- "eth ing",
- "ĠWh ile",
- "p an",
- "çŃ ĸçķ¥",
- "Ġc ent",
- "Ġp lease",
- "olo gy",
- "ura cy",
- "å¾ ª",
- "w ard",
- "n ce",
- "Ġthe n",
- "çª ģ",
- "å¥ ĩ",
- "Ġb lo",
- "a i",
- "æŀ Ĺ",
- "ç®Ĺ æ³ķ",
- "ç» ¼",
- "Ġpr int",
- "ac es",
- "l u",
- "ª æĸ½",
- "p re",
- "çļĦæĦ ı",
- "Ġs ol",
- "Ġover all",
- "h old",
- "Ġ es",
- "çļĦ ä¸Ģ",
- "éģ ĩ",
- "Ġpop ul",
- "å°ı 说",
- "æ³ ¢",
- "åį ģ",
- "ä¹Ł åı¯ä»¥",
- "é£Ł åĵģ",
- "Ġcont ent",
- "å° Ħ",
- "Ġrequ ires",
- "æ£Ģ æŁ¥",
- "ĊĠĠĠĠĠĠĠĠ ĠĠĠ",
- "Ġgrou ps",
- "Ġf air",
- "Ġb l",
- "å®ŀ éªĮ",
- "æĮī çħ§",
- "os p",
- "st r",
- "ä¸į èĥ½",
- "Ġh arm",
- "Ġpro du",
- "çļĦæĬ Ģ",
- "ç ĩ",
- "t le",
- "Ġanim als",
- "è§Ĵ èī²",
- "le v",
- "æ¸ IJ",
- "å¤į æĿĤ",
- "Ġde pend",
- "æĮ ijæĪĺ",
- "åĮħ åIJ«",
- "Ġhelp s",
- "Ġop en",
- "Ġn et",
- "ĠĠĠĠ Ġ",
- "Ġstr ong",
- "Ġj our",
- "广 æ³Ľ",
- "æķ´ 个",
- "Ġe lect",
- "Ġrespon se",
- "åįķ è¯į",
- "æľ ĭ",
- "Ġ <",
- "åĮĸ åѦ",
- "éĴ Ī",
- "Ġqu ick",
- "ual ly",
- "Ġsom ething",
- "Ġtra ck",
- "度 åĴĮ",
- "eren ces",
- "æł ij",
- "Ġacc uracy",
- "Ġex c",
- "é£ ŀ",
- "Ġfiel d",
- "寻 æī¾",
- "éħ ¸",
- "Ġh ope",
- "ç ij",
- "Ġin nov",
- "ç» ª",
- "al k",
- "Ġtyp es",
- "Ġd id",
- "åĬ ª",
- "Ġc all",
- "è¯ Ĺ",
- "Ġear ly",
- "ĠO ne",
- "a pp",
- "Ġcomm on",
- "æľĢ ç»Ī",
- "Ġche ck",
- "Ġs ym",
- "çĤ Ĵ",
- "æĬĢ èĥ½",
- "Ġen h",
- "Ġag ricult",
- "Ġim m",
- "ç» ĩ",
- "满 足",
- "Ġs chool",
- "b al",
- "Ġfollow ing",
- "b ased",
- "Ġwe bs",
- "Ġcult ure",
- "ĠC om",
- "w ay",
- "ä¸Ģ å®ļ",
- "åķĨ åĵģ",
- "ud e",
- "çļĦ åıijå±ķ",
- "çĶŁ 产",
- "os ystem",
- "Ġpl ant",
- "åı ¶",
- "åIJ ĥ",
- "ä»ĸ çļĦ",
- "d er",
- "è¯ ¢",
- "å®¶ åħ·",
- "Ġf ree",
- "ç§ »",
- "æİ Į",
- "Ġb ody",
- "Ġp resent",
- "Ġpartic ularly",
- "Ġchild ren",
- "Ġstud ent",
- ") .",
- "çī¹ å¾ģ",
- "è Ķ",
- "éĺħ 读",
- "æķĪ çİĩ",
- "Ġprogra m",
- "éħ ±",
- "åıĺ å¾Ĺ",
- "i x",
- "Ġcom e",
- "çļĦæ ²",
- "ĠT e",
- "ĠT o",
- "åħ± åIJĮ",
- "Ġemploy ees",
- "说 æĺİ",
- "Ġhe art",
- "Ġm ot",
- "æľĭ åıĭ",
- "er ic",
- "è¯ ij",
- "Ġcur rent",
- "æĪIJ æľ¬",
- "Ġto o",
- "çİ© å®¶",
- "åĪĽ æĸ°",
- "Ġec osystem",
- "常 è§ģ",
- "ä¸Ģ æŃ¥",
- "Ġp res",
- "Ġmult i",
- "åijĬ è¯ī",
- "ä¸ ¥",
- "Ġm it",
- "Ġact ion",
- "çĨ Ł",
- "Ġhab it",
- "åı£ æĦŁ",
- "ç® ±",
- "Ġus es",
- "å¢ŀ 强",
- "ç»Ļ åĩº",
- "Ġ 9",
- "Ġde p",
- "Ġeconom ic",
- "æĢ§ çļĦ",
- "1 8",
- "åĨ °",
- "Ġhelp ed",
- "åIJ¸ å¼ķ",
- "çİ ĭ",
- "Ġdiagn os",
- "å ł",
- "èģĶ ç³»",
- "ç¾ ¤",
- "ç»ĥ ä¹ł",
- "æĪIJ éķ¿",
- "Ġpo int",
- "å®ļ æľŁ",
- "åij ¼",
- "èį ¯",
- "æĿ ¯",
- "æ¤ Ĵ",
- "æķĪ æŀľ",
- "Ġspec ial",
- "æ· ·",
- "åĩł 个",
- "aus e",
- "é Ĩ",
- "æ¯Ķ èµĽ",
- "è· Ŀ",
- "W hat",
- "Ġt imes",
- "ic les",
- "Ġ *",
- "ç´ §",
- "å¦Ĥæŀľ ä½ł",
- "çĭ¬ çī¹",
- "çģ µ",
- "ç¨ İ",
- "Ġcar bon",
- "Ġbi as",
- "åĬ© äºİ",
- "Ġcon st",
- "èĩª çͱ",
- "æĿ¥ 说",
- "å°± æĺ¯",
- "åį °",
- "Ġme et",
- "è§Ħ åĪĴ",
- "çļĦç ¾",
- "èIJ¥ åħ»",
- "at ors",
- "稳 å®ļ",
- "od e",
- "çħ ®",
- "Ġass oci",
- "å¿ Ĺ",
- "è¡Į æĺŁ",
- "æĿ İ",
- "Ġrev iew",
- "åĩ Ģ",
- "ĠR o",
- "Ġknow ledge",
- "以 便",
- "æµĭ è¯ķ",
- "åIJĪ éĢĤ",
- "s c",
- "å½¢ å¼ı",
- "Ġfriend s",
- "Ġnat ure",
- "Ġcrit ical",
- "æ´ ĭ",
- "Ġa fter",
- "er ve",
- "Ġre ce",
- "çļĦæ Ń",
- "汽 车",
- "çķ Į",
- "Ġlo ss",
- "Ġapp lications",
- "å¤ļ ç§į",
- "éĶ ħ",
- "ä¸ ²",
- "Ġins p",
- "-- -",
- "ĠS h",
- "Ġv ol",
- "l ut",
- "o ks",
- "se qu",
- "Ġb ir",
- "åIJĪ çIJĨ",
- "Ġne cess",
- "æĪij æĥ³",
- "çŃī æĸ¹éĿ¢",
- "é¼ ĵ",
- "Ġso ft",
- "Ġl ive",
- "å°ı æĺİ",
- "ĠI nd",
- "Ġbr ing",
- "æĺ¯ æĮĩ",
- "Ġso il",
- "il ar",
- "ä¸ ľ",
- "æĿ¡ ä»¶",
- "Ġt ri",
- "äº ®",
- "Ġm om",
- "æı ¡",
- "ä¼ °",
- "ŀ äºī",
- "çĽ ij",
- "èĤ ¤",
- "è´¢ åĬ¡",
- "æ·» åĬł",
- "饮 é£Ł",
- "Ġallow ing",
- "åº ķ",
- "Ġr ight",
- "Ġexp ert",
- "Ġsu pp",
- "Ġin it",
- "çļĦæ µ",
- "ar get",
- "Ġexp ect",
- "Ġ1 9",
- "Ġmeas ures",
- "olut ions",
- "j ust",
- "ar c",
- "å° ļ",
- "Ġpract ice",
- "æľī åĬ©äºİ",
- "大 éĩı",
- "' ,",
- "im ent",
- "Ġcontin ue",
- "Ġdisc uss",
- "1 00",
- "éļ ľ",
- "çļĦæĦ Ł",
- "Ġref lect",
- "it ation",
- "åį «",
- "äºĨ ä¸Ģ",
- "ne y",
- "ĠL e",
- "is ed",
- "è¶ ĭ",
- "äºĨ ä¸Ģ个",
- "Ġincre asing",
- "çļĦæ Į",
- "Ġst ru",
- "æĢ» ç»ĵ",
- "e ly",
- "å® ĩ",
- "Ġaut hor",
- "表 éĿ¢",
- "Ġ x",
- "æķħ äºĭ",
- "em ic",
- "Ġrep resent",
- "g er",
- "Ġincre ased",
- "on es",
- "ain s",
- "Ġtrain ed",
- "Ġf ish",
- "Ġst ate",
- "åĨ ·",
- "çĶŁ éķ¿",
- "Ġre new",
- "ord ing",
- "åĮ Ĺ",
- "æİ ªæĸ½",
- "å¹³ è¡¡",
- "Ġsuccess ful",
- "ä¸ĭ éĿ¢",
- "Ġactiv ity",
- "èĮ ¶",
- "éĢĤ åºĶ",
- "èĦ ij",
- "æİ¢ ç´¢",
- "ff ic",
- "ç»Ħ æĪIJ",
- "at ives",
- "äº ļ",
- "Ġsc en",
- "æ² Ļ",
- "g ress",
- "使 å¾Ĺ",
- "æī ¿",
- "Ġdisc rim",
- "Ġassist ants",
- "Ġex ist",
- "çķ Ļ",
- "Ġsp ace",
- "æľĢ è¿ij",
- "Ġide as",
- "éĩĩ åıĸ",
- "l ight",
- "注 éĩį",
- "çļĦæĹ¶ éĹ´",
- "è¿ İ",
- "Ġcom b",
- "éĢĤ å½ĵ",
- "Ġyour self",
- "rit e",
- "as on",
- "åĮ Ģ",
- "åı¯ä»¥ 使ç͍",
- "åħħ 满",
- "Ġval ues",
- "æ ½",
- "Ġbi ases",
- "ä¿ĥ è¿Ľ",
- "åľº æĻ¯",
- "ro ss",
- "åį³ åı¯",
- "Ġc ru",
- "Ġnum ber",
- "Ġty pe",
- "r ast",
- "åĩĨ ç¡®",
- "Th is",
- "Ġp ast",
- "çģ ¯",
- "å®ļ ä¹ī",
- "Ġs olutions",
- "Ġt er",
- "ä¿Ŀ è¯ģ",
- "èĶ ¬",
- "å¹ ¸",
- "åī §",
- "åħ´ è¶£",
- "å ª",
- "ent ion",
- "av or",
- "Ġsc ient",
- "åĬª åĬĽ",
- "Ġprovid ers",
- "Ġpolic ies",
- "al u",
- "ĠI m",
- "Ġallow s",
- "Ġintellig ence",
- "çļĦ æĸ¹æ³ķ",
- "è¿Ļ æĺ¯",
- "Ġ `",
- "Ġem issions",
- "Ġ å°Ĩ",
- "Ġmean ing",
- "Ġst yle",
- "åİŁ åĽł",
- "Ġstru gg",
- "çļĦç¾ İ",
- "if ul",
- "dit ion",
- "éĥ½ æľī",
- "空 æ°Ķ",
- "å®ĥ们 çļĦ",
- "ä¼ĺ åĮĸ",
- "Ġinf lu",
- "åŁº äºİ",
- "Ġdetail s",
- "Ġtranspare ncy",
- "Ġm ess",
- "ĠC l",
- "Ġg ame",
- "p ri",
- "è¶ĭ åĬ¿",
- "å½ Ĵ",
- "ç¿» è¯ij",
- "æķ £",
- "B y",
- "é Ń",
- "ĠAm eric",
- "Ġproduct ion",
- "Ġinc orpor",
- "æĻ ļ",
- "Ġinvol ve",
- "Ġh ot",
- "æĻ ®",
- "b y",
- "Ġf low",
- "Ġem erg",
- "åº §",
- "Ġide a",
- "åİĭ åĬĽ",
- "éĿ Ĵ",
- "om s",
- "èģĮ ä¸ļ",
- "Ġre port",
- "Ġp ap",
- "Ġthe rap",
- "Ġs al",
- "åıĤ ä¸İ",
- "æĸĩ åѦ",
- "æIJŃ éħį",
- "o ot",
- ") ,",
- "Ġc r",
- "Ġprocess es",
- "g in",
- "å¹³ åı°",
- "å¯ Ł",
- "Ġpromot ing",
- "æļ ĸ",
- "ake hold",
- "ç» §",
- "iv er",
- "æ ¦Ĥ",
- "Ġmodel s",
- "Ġd ra",
- "è ĸ",
- "Ġgrou p",
- "è¶³ å¤Ł",
- "Ġg reen",
- "Ġhealth y",
- "Ġcom fort",
- "Ġad ditional",
- "ä¸Ģ 次",
- "é¤IJ åİħ",
- "Ġmaterial s",
- "Ġman age",
- "çļĦæ ¯",
- "ä¼ ¤",
- "åıĬ æĹ¶",
- "Ġg lo",
- "Ġst at",
- "å¿« éĢŁ",
- "Ġmonitor ing",
- "ail y",
- "ra nd",
- "o ice",
- "res h",
- "ç»Ħ ç»ĩ",
- "Ġund er",
- "Ġnecess ary",
- "Ġhelp ful",
- "ĠC ol",
- "é»ij æ´ŀ",
- "åģļ åĩº",
- "Ġcour se",
- "Ġm at",
- "Ġle g",
- "Ġf ace",
- "ä» ¤",
- "èī¯ å¥½çļĦ",
- "oc k",
- "åĮ» çĸĹ",
- "çĽ ĸ",
- "id ence",
- "Ġassoci ated",
- "Ġpro gress",
- "åľ Ĩ",
- "Ġevery one",
- "ç¼ ĵ",
- "ĠEn g",
- "w ord",
- "èĵ Ŀ",
- "天 æ°Ķ",
- "Ġact ions",
- "em s",
- "ĠP l",
- "å® Ļ",
- "us h",
- "é¡ ¾",
- "Ġcost s",
- "at or",
- "ç© ¿",
- "Ġamount s",
- "èͬ èıľ",
- ". .",
- "Ġman ner",
- "Ġcon sequ",
- "æ°Ķ åĢĻ",
- "Ġins ights",
- "be ing",
- "at ory",
- "en er",
- "le x",
- "Ġme ans",
- "Ġcollabor ation",
- "Ġpers pect",
- "or m",
- "pri ate",
- "å°Ĭ éĩį",
- "Ġt arget",
- "è®° å½ķ",
- "åĢ Ĵ",
- "Ġrenew able",
- "æĦ ¿",
- "èĥ½ æºIJ",
- "Ġin put",
- "å®ĩ å®Ļ",
- "a pe",
- "Ġad just",
- "er ies",
- "Ġd ire",
- "ä¾ Ŀ",
- "ust r",
- "f ect",
- "Ġbeaut iful",
- "Ġd ue",
- "re ci",
- "çĮ ®",
- "èĥĮ æĻ¯",
- "èĤ ¡",
- "Ġd am",
- "i k",
- "Ġadv anced",
- "缸 对",
- "åIJį ç§°",
- "Ġsh ort",
- "Ġob ject",
- "è¿Ļ éĩĮ",
- "éĢł æĪIJ",
- "èIJ¥ éĶĢ",
- "çļĦæĥħ æĦŁ",
- "ç¥ ¨",
- "Ġcount ries",
- "in ing",
- "ist ic",
- "Ġpl ans",
- "è´£ ä»»",
- "Ġst akehold",
- "t he",
- "Ġass ess",
- "æĢĿ èĢĥ",
- "e ch",
- "æĪIJ åijĺ",
- "2 1",
- "Ġd aily",
- "Ġcomp ut",
- "çļĦæĥħ åĨµ",
- "æıIJ åĩº",
- "Ġ âĢľ",
- "åª Ĵ",
- "ä¸Ń å¿ĥ",
- "is hed",
- "ĠS e",
- "onom ous",
- "er n",
- "ç»´ æĬ¤",
- "am es",
- "Ġpriorit ize",
- "çº ¸",
- "èĤ ¥",
- "Ġtem per",
- "æ¸ħ æ´ģ",
- "us e",
- "æ± ¡",
- "Ġmin im",
- "æĺ¯ åľ¨",
- "大 å°ı",
- "åĵª äºĽ",
- "Ġapp reci",
- "ren g",
- "Ġregul ations",
- "Ġ Z",
- "éĶĻ è¯¯",
- "r ans",
- "èĢĮ ä¸Ķ",
- "èĪ ¬",
- "èij ±",
- "è Ĩ",
- "æ°´ å¹³",
- "è´Ń çī©",
- "åŃĹ符 串",
- "对 æĸ¹",
- "Ġh im",
- "Ġconsequ ences",
- "å· ´",
- "é¼ĵ åĬ±",
- "Ġf il",
- "人 åijĺ",
- "è·Ŀ 离",
- "ĠW hen",
- "çļĦæ° ´",
- "çī© çIJĨ",
- "åIJĮæĹ¶ ä¹Ł",
- "åľ¨ è¿Ļ个",
- "åħ¶ 次",
- ", \"",
- "æ¶ ²",
- "çĶ ·",
- "iv al",
- "åı¯ä»¥ 让",
- "æĥ ¯",
- "Ġadv ance",
- "Ġve h",
- "å¦Ĥæŀľ æĤ¨",
- "Ġest ab",
- "ri pt",
- "ç« ¯",
- "ä¸į ä¼ļ",
- "Ġtranspare nt",
- "æķ° éĩı",
- "çĽ ĺ",
- "Ġspe ak",
- "Ġp ark",
- "Ġstakehold ers",
- "é º",
- "Ġev ent",
- "çļĦæķ° æį®",
- "èĩª åĬ¨",
- "ç»Ĩ èĬĤ",
- "è¯Ħ ä¼°",
- "æ¶ ¦",
- "Ġpref erences",
- "Ġve get",
- "æį Ł",
- "e qu",
- "Ġg l",
- "Ġp ain",
- "o gra",
- "Ġtra ffic",
- "Ġo ce",
- "ä¹ ĺ",
- "e xt",
- "âĢĿ ï¼Į",
- "Ġan other",
- "å¤ļ å°ij",
- "Ġagain st",
- "ç»ı åİĨ",
- "计ç®Ĺ æľº",
- "èĢ IJ",
- "软 件",
- "ĠP re",
- "Ġpl ants",
- "缸 äºĴ",
- "é¢ ij",
- "\\ _",
- "Ġs ame",
- "ru g",
- "Ġval u",
- "Ġo cc",
- "çļĦç ¤",
- "Ġsustain ability",
- "ĠS he",
- "d e",
- "ot e",
- "Ġd ig",
- "N A",
- "Ġcru cial",
- "æī §",
- "å± Ģ",
- "æĭ Ł",
- "æĭ Į",
- "Ġn on",
- "Ġeng aging",
- "Ġinter n",
- "L P",
- "温 度",
- "æł ¸",
- "æĬ¥ åijĬ",
- "æĿ¥ è¶Ĭ",
- "h ood",
- "ä¸ī 个",
- "å¦Ĥ ä¸ĭ",
- "çī© ä½ĵ",
- "for ce",
- "Ġneed ed",
- "Ġim ages",
- "Ġbuild ing",
- "ici ous",
- "Ġ æĪij",
- "è¶Ĭ æĿ¥è¶Ĭ",
- "æĶ¾ åħ¥",
- "g o",
- "éĻį ä½İ",
- "å½ĵ åľ°",
- "æ¶Īè´¹ èĢħ",
- "ç £",
- "ivers ity",
- "é¢Ħ ç®Ĺ",
- "ic le",
- "æ·· åIJĪ",
- "Ġpartic ip",
- "Ġdis hes",
- "Ġthrough out",
- "Ġwith in",
- "åı ³",
- "é«ĺ çļĦ",
- "Ġph ot",
- "Ġtr ust",
- "æĦı è¯Ĩ",
- "以 ç¡®ä¿Ŀ",
- "çĬ¶ æĢģ",
- "Ġautom ation",
- "1 1",
- "Ġpo st",
- "æīĭ æľº",
- "wor ks",
- "éĢ ı",
- "åº ĵ",
- "Ġw ind",
- "Ġ= =",
- "Ġprocess ing",
- "èĮĥ åĽ´",
- "æĦı ä¹ī",
- "追 æ±Ĥ",
- "Ã ©",
- "å¾ Ħ",
- "éĿ ł",
- "ä¸ ĸ",
- "èĻ ½",
- "ç« ŀäºī",
- "Ġappro priate",
- "æĽ´ 好çļĦ",
- "Ġcharact er",
- "c l",
- "ç§ ĺ",
- "it ude",
- "Ġte ac",
- "le ep",
- "ĠDe velop",
- "in ce",
- "å· ¦",
- "g round",
- "è¡Į ä¸ļ",
- "éĴΠ坹",
- "å¿ħ è¦ģ",
- "Ġdet erm",
- "-------- --------",
- "Ġst reng",
- "d o",
- "Ġchalleng ing",
- "or k",
- "Ġan x",
- "èī² çļĦ",
- "Ġh ard",
- "æĺİ ç¡®",
- "åĪĨ 享",
- "æĶ¹ åıĺ",
- "ä½ ³",
- "åıª æľī",
- "å±ķ 示",
- "Ġcam p",
- "çº ³",
- "a j",
- "et ic",
- "u ment",
- "ä½ł åı¯ä»¥",
- "Ġpol lut",
- "Ġh ig",
- "pp ing",
- "e ad",
- "çĦ¶ èĢĮ",
- "第 äºĮ",
- "é¸ Ł",
- "çī© åĵģ",
- "ä¸ ¾",
- "Ġencoura ge",
- "pe cial",
- "Ġac ross",
- "el ves",
- "äºĭ ä»¶",
- "c le",
- "æ ©",
- "åªĴ ä½ĵ",
- "n ers",
- "Ġc al",
- "èϽ çĦ¶",
- "åĽ º",
- "ä¹ł æĥ¯",
- "Ġsaf e",
- "èĥ½ éĩı",
- "ist ics",
- "ä¹ĭ åīį",
- "Ġiss ue",
- "å¤ļ 个",
- "åĨ³ çŃĸ",
- "è¾¾ åΰ",
- "æĹ ©",
- "ä¸į åı¯",
- "ä¸Ģ 缴",
- "å· ¨",
- "æĦŁ è°¢",
- "ĠN ew",
- "ä¸Ģ 段",
- "Ġmach ines",
- "å°Ĩ åħ¶",
- "ç»§ ç»Ń",
- "Ġwor d",
- "çī¹ åĪ«",
- "Ġagricult ure",
- "æĢ İ",
- "éĢIJ æ¸IJ",
- "éĵ ¾",
- "è¯ ¾",
- "Ġk ind",
- "å¢ Ļ",
- "è°¢ è°¢",
- "Ġalgorith m",
- "è£ħ 饰",
- "Ġal ong",
- "Ġeas y",
- "äº ij",
- "è§£åĨ³ æĸ¹æ¡Ī",
- "Ġaware ness",
- "' ve",
- "æĸ¹ åIJij",
- "Ġne ver",
- "Ġquick ly",
- "Ġres pect",
- "çļĦæ Ļ",
- "Ġam ong",
- "Ġaccount ability",
- "Ġl aw",
- "en ing",
- "Ġdef in",
- "Ġsur round",
- "éĵ ģ",
- "Ġpower ful",
- "A n",
- "Ġcaus e",
- "æ ¥",
- "æİĮ æı¡",
- "è¿ĺ æĺ¯",
- "Ġcreat ive",
- "è¡ Ģ",
- "Ġloc ated",
- "un ning",
- "åľ° åĮº",
- "éĿ¢ 积",
- "éĽ ¨",
- "Ġne ar",
- "Ġinit i",
- "ress ion",
- "ä¸ĭ æĿ¥",
- "2 5",
- "é© ¶",
- "¾ çĹħ",
- "ab les",
- "æľī è¶£",
- "循 çݯ",
- "çŃĶ æ¡Ī",
- "çł ´",
- "ic ation",
- "éĻ ¢",
- "æ²» çĸĹ",
- "Ġad dition",
- "äºĭ æĥħ",
- "Ġbec ause",
- "åı Ī",
- "èĤ Į",
- "çº ª",
- "s ide",
- "æĭ ħ",
- "æ¹ ¿",
- "åį Ĭ",
- "é¡ º",
- "ĠA nd",
- "Ġrestaur ant",
- "Ġv ide",
- "Ġproble m",
- "az ing",
- "Ġmem bers",
- "Ġn ut",
- "Ġc ou",
- "æµ ª",
- "Ġ è¿Ļ",
- "Ġhelp ing",
- "ĠI s",
- "æıIJ åįĩ",
- "ĠĠĠĠ ĠĠ",
- "Ġsh o",
- "Ġre lev",
- "Ġar g",
- "Ġbal ance",
- "ill ed",
- "æĺ¯ ä»Ģä¹Ī",
- "åĬĽ éĩı",
- "ire d",
- "å¤ ľ",
- "åı¯ æĮģç»Ń",
- "Ġper fect",
- "* *",
- "ific ation",
- "æ¶ ī",
- "Ġwild life",
- "an e",
- "Ġrel ated",
- "室 åĨħ",
- "åº ľ",
- "享 åıĹ",
- "our s",
- "è· ij",
- "åķĨ ä¸ļ",
- "ach ing",
- "Ġsu n",
- "Ġrecogn ition",
- "el t",
- "Ġor der",
- "å¹³ åĿĩ",
- "g ing",
- "ä¸ ´",
- "çĤ ¼",
- "Ġgo ing",
- "åij¼ åIJ¸",
- "Ġsoft ware",
- "Ġre mot",
- "èijĹ åIJį",
- "幸 ç¦ı",
- "Ġenh ance",
- "èĻ ļ",
- "Ġn ow",
- "Ġth reat",
- "Ġd est",
- "åĿĩ åĮĢ",
- "Ġac ad",
- "åºĶ 对",
- "çľĭ åΰ",
- "c ast",
- "è¾ Ĩ",
- "ific ial",
- "Ġ very",
- "o ok",
- "åĮº åŁŁ",
- "¹ ģ",
- "æĪ¿ éĹ´",
- "æıIJä¾Ľ äºĨ",
- "Ġmot iv",
- "Ġaccess ible",
- "åĨ³ å®ļ",
- "Ġh y",
- "å® Ī",
- "Ġf lo",
- "u g",
- "Ġinform ed",
- "åĵģ è´¨",
- "çļĦç Ł",
- "av es",
- "ar r",
- "ĠW ith",
- "le t",
- "è§Ĥ çĤ¹",
- "en ge",
- "è¡Į åĬ¨",
- "f riend",
- "ç³ ķ",
- "Ġf urther",
- "ĠE ns",
- "ç§ ģ",
- "Ġad o",
- "Ġcle an",
- "缸 åºĶ",
- "Ġf re",
- "pecial ly",
- "è Ĺ",
- "Ġc apt",
- "çļĦç ľ",
- "Ġsome one",
- "Ġc ell",
- "æĶ¾ åľ¨",
- "欢 è¿İ",
- "Ġ âĢ",
- "Ġdev ices",
- "çļĦ æĸ¹å¼ı",
- "Ġjob s",
- "au gh",
- "n ot",
- "æľī äºĽ",
- "åħ¬ åħ±",
- "g est",
- "çļĦ çĶŁæ´»",
- "çľ ¼",
- "çļĦ ä¿¡æģ¯",
- "ĠC ons",
- "æİĴ åºı",
- "Ġbenef it",
- "re ct",
- "å¤ ı",
- "un te",
- "符 åIJĪ",
- "ä¸Ģ ä½į",
- "åĨħ éĥ¨",
- "Ġlook ing",
- "d ing",
- "æĬ ĺ",
- "è¾ ij",
- "è¿Ļ个 éĹ®é¢ĺ",
- "Ġes pecially",
- "çľ ł",
- "âĢĿ ãĢĤ",
- "å¥ ı",
- "ra y",
- "è¿ĺ åı¯ä»¥",
- "åĪĽ ä½ľ",
- "com ing",
- "Ġmulti ple",
- "éļ IJ",
- "æ³ ¡",
- "æłĩ åĩĨ",
- "Ġm il",
- "éľĢè¦ģ 注æĦı",
- "Ġanx iety",
- "æĶ¹ è¿Ľ",
- "å± ĭ",
- "污 æŁĵ",
- "ç¼ĸ ç¨ĭ",
- "è´¹ ç͍",
- "Ġev alu",
- "imate ly",
- "Ġlit er",
- "ogra ph",
- "Ġse arch",
- "1 6",
- "en ced",
- "Ġmeth ods",
- "çĥ Ī",
- "模 å¼ı",
- "çĬ¶ åĨµ",
- "æĶ¹ åĸĦ",
- "å¤ļ æł·",
- "c er",
- "å¥ ĸ",
- "Ġsat is",
- "Ġwebs ite",
- "åĬ ŀ",
- "åģ¥ èº«",
- "Ġglo bal",
- "Ġas k",
- "Ġplatform s",
- "Ġdise ases",
- "çݰ 象",
- "t ics",
- "æ± ģ",
- "åΤ æĸŃ",
- "Ġcon vers",
- "Ġrelations hip",
- "设 置",
- "æ³ķ å¾ĭ",
- "Ġmind ful",
- "é¢Ħ æµĭ",
- "o very",
- "åģ ľ",
- "ç͵ è§Ĩ",
- "è§Ħ åĪĻ",
- "ak en",
- "Ġimplement ing",
- "is ing",
- "åıĤ åĬł",
- "æĥħ 绪",
- "Ġprovid ed",
- "æ·± åħ¥",
- "Ġprogramm ed",
- "Ġrelev ant",
- "çļĦç ĥ",
- "çĸ ¾çĹħ",
- "åĮ» çĶŁ",
- "åĪĽ 建",
- "Ġgener ate",
- "æĶ¶ åħ¥",
- "ä¼ ij",
- "iz es",
- "Ġtrans form",
- "éģ µ",
- "ast ic",
- "åij Ī",
- "æ¯ı 个人",
- "è¿ Ķ",
- "i et",
- "Ġv oice",
- "éĢ Ķ",
- "æĶ¾ æĿ¾",
- "åį ´",
- "èĥ ľ",
- "Ġst ructure",
- "æĹ¶ å°ļ",
- "Ġ Q",
- "Ġel se",
- "du c",
- "Ġem p",
- "èģ ļ",
- "è´ §",
- "ac hes",
- "ç§ Ģ",
- "an ks",
- "Ġn ight",
- "Ġprofessional s",
- "Ġb as",
- "è´ µ",
- "e c",
- "Ġdivers ity",
- "it es",
- "d r",
- "åĽ° éļ¾",
- "ĥ åľ",
- "åŀ ĥåľ",
- "åŀĥåľ ¾",
- "Ġd rug",
- "ç¢ ³",
- "Ġn ame",
- "åĮĸ çļĦ",
- "a id",
- "æľĢ 大",
- "æij Ħ",
- "ç®Ģåįķ çļĦ",
- "Ġw arm",
- "Ġd one",
- "Ġfun ction",
- "as c",
- "强 è°ĥ",
- "Ġdem and",
- "Ġvis ual",
- "Ġup d",
- "æŃ£ åľ¨",
- "Ġsim ilar",
- "éĢ Ĵ",
- "æ¯ Ľ",
- "éĶ »",
- "ent ly",
- "Ġvalu able",
- "Ġdis aster",
- "ä¸Ģ èά",
- "æ´ ²",
- "ĠR eg",
- "Ġdiscrim ination",
- "åĨĻ ä¸Ģç¯ĩ",
- "Ġgovern ment",
- "Ġ 好çļĦ",
- "5 00",
- "ly ing",
- "Ġpre v",
- "Ġpre pare",
- "Ġproble ms",
- "è· ³",
- "Ġpro m",
- "åĨ ²",
- "å®ī è£ħ",
- "éĶ» çĤ¼",
- "æµ ĵ",
- "è ¹",
- "åºĶç͍ ç¨ĭåºı",
- "n g",
- "Ġcomp et",
- "åĪĨ åĪ«",
- "olo gical",
- "å® ¡",
- "Ġtrans l",
- "Ġdire ct",
- "åī Ĥ",
- "Ġsuggest ions",
- "Ġpap er",
- "Ġrecogn ize",
- "t on",
- "Ġmit igate",
- "讨 论",
- "äºĴ åĬ¨",
- "ĠE ar",
- "Ġam azing",
- "c re",
- "é¦ Ī",
- "Ġinvol ved",
- "f ace",
- "æľī åħ³",
- ") )",
- "Ġex ce",
- "Ġproduct ivity",
- "è Ń",
- "é¦ Ĩ",
- "Ġsound s",
- "Ġidentify ing",
- "] ,",
- "é¾ Ļ",
- "Ġf it",
- "Ġcontribut e",
- "th s",
- "friend ly",
- "e le",
- "if ied",
- "iven ess",
- "ite ly",
- "Ġ X",
- "Ġl ed",
- "åĿ ı",
- "Ġhist or",
- "Ġd at",
- "Ġjour ney",
- "Ġ }",
- "Ġse lect",
- "æ¼ «",
- "Ġcon duct",
- "è¿Ľ ä¸ĢæŃ¥",
- "ç»Ļ æĪij",
- "Ġl if",
- "è£ħ ä¿®",
- "为 ä»Ģä¹Ī",
- "äº ¬",
- "Ġn av",
- "Ġwho le",
- "ç ¹ģ",
- "åĨ ľ",
- "æĶ »",
- "Ġb reat",
- "Ġm iss",
- "é¾ Ħ",
- "t t",
- "s w",
- "Ġb ar",
- "请 éĹ®",
- "èģĶ ç½ij",
- "Ġatt ract",
- "æĤ¨ åı¯ä»¥",
- "O ne",
- "åħħ åĪĨ",
- "r ing",
- "Ġå½ĵ çĦ¶",
- "re am",
- "Ġev ol",
- "Ġs n",
- "ĠE m",
- "m osp",
- "Ġcho ose",
- "v iew",
- "Ġar r",
- "Ġs leep",
- "end ed",
- "æŀ ¶",
- "Ġveh icles",
- "Ġf resh",
- "Ġorganiz ation",
- "è¿Ļ 段",
- "æ± ¤",
- "ĠI nt",
- "Ġcont ext",
- "åı¦ å¤ĸ",
- "Ġoce an",
- "æĦŁ åıĹ",
- "Ġpollut ion",
- "ur b",
- "æī§ è¡Į",
- "erson al",
- "ĠHe alth",
- "ä¼ĺ çĤ¹",
- "Ġatt ention",
- "æľī çĿĢ",
- "é£Ł æĿIJ",
- "Ġer r",
- "çļĦæĿ ¥",
- "çļĦç Ī",
- "èŃ ¦",
- "è· Ł",
- "æĹħ è¡Į",
- "èĴ ľ",
- "çļĦæĢ Ŀ",
- "Ġchat bot",
- "çļĦ éľĢæ±Ĥ",
- "çķ ¥",
- "Ġfeel ing",
- "Ġimplement ed",
- "社 åĮº",
- "çļĦ 建议",
- "æIJ ħ",
- "éĹ »",
- "åıį é¦Ī",
- "缴 æİ¥",
- "æĺ ¥",
- "it able",
- "æĪij ä¼ļ",
- "åį ±",
- "èī¯ å¥½",
- "Ġl iving",
- "åıĺ éĩı",
- "ĠB ut",
- "Ġcomple te",
- "Ġtre nds",
- "Ġm akes",
- "ä»Ĭ 天",
- "Ġdist ribut",
- "Ġcomm it",
- "Ġat mosp",
- "ä¼ ´",
- "Ġsens ors",
- "Ġs w",
- "æĹł 论",
- "om en",
- "æĶ¿ åºľ",
- "Ġchall enge",
- "Ġt urn",
- "çIJĨ 论",
- "p ar",
- "Ġwrit e",
- "ç»ı åħ¸",
- "em ember",
- "é¥ Ń",
- "æĸ¹ 便",
- "Ġc u",
- "Ġval ue",
- "Ġf und",
- "p ose",
- "è°ĥ æŁ¥",
- "çĿ ¡",
- "Ġcommunic ate",
- "Ġdise ase",
- "Ġrese arc",
- "Ġl ack",
- "arn ing",
- "ĠP ark",
- "çĦ ¦",
- "é«ĺ 度",
- "Ġr ather",
- "å® £",
- "çĪ ¶",
- "éĺ ¶",
- "è® ¢",
- "çĥ §",
- "Ġhig her",
- "Ġsumm ary",
- "ĠA ut",
- "çļĦæ ³",
- "Ġe le",
- "is ms",
- "Ġrel i",
- "ä¹Ł ä¼ļ",
- "f ra",
- "åijĬè¯ī æĪij",
- "æĬ ½",
- "Ġsitu ations",
- "Ġmar ine",
- "æĥ³ è¦ģ",
- "in ci",
- "in al",
- "Ġg ain",
- "Ġdiffere nce",
- "æľºåύ 人",
- "æµģ ç¨ĭ",
- "ĠC hat",
- "ç½ij ç«Ļ",
- "æľ «",
- "Ġcol or",
- "Ġas pect",
- "ç½ Ĺ",
- "ĠE duc",
- "Ġde ploy",
- "Ġbeaut y",
- "æĤ £",
- "ruct ion",
- "it ut",
- "æĿ Ł",
- "让 æĪij们",
- "éķ¿ åº¦",
- "ul es",
- "æ¶ī åıĬ",
- "Ġdig ital",
- "Ġexist ing",
- "ĠO r",
- "\\_ \\_",
- "Ġback ground",
- "çĹ ĩ",
- "æ¯ı 天",
- "p ython",
- "Ġfarm ers",
- "Ġcontin u",
- "\" :",
- "Ġg iven",
- "å°ı æĹ¶",
- "Ġmom ent",
- "2 00",
- "J ohn",
- "éĿ¢ 对",
- "Ġint ro",
- "Ġtherap y",
- "è¿Ķ åĽŀ",
- "å¹¶ åľ¨",
- "Ġ z",
- "Ġaff ord",
- "ä¸ Ŀ",
- "å® ½",
- "Ġ Ã",
- "ĠN ational",
- "èĥ ¡",
- "Ġexercis e",
- "æIJħ æĭĮ",
- "æĶ¯ ä»ĺ",
- "éĺ³ åħī",
- "è¯ ļ",
- "Ġs ect",
- "ĠS u",
- "å¢ŀ éķ¿",
- "ç¾İ 丽",
- "Ġw a",
- "以ä¸ĭæĺ¯ ä¸ĢäºĽ",
- "èĽĭ ç³ķ",
- "Ġ ill",
- "æ¸ħ æĻ",
- "et ry",
- "æ¢ ¦",
- "ç¾İ åĽ½",
- "ä» į",
- "one y",
- "Ġecosystem s",
- "æĮĩ 导",
- "d ef",
- "9 9",
- "æŁ Ķ",
- "pp ed",
- "Ġlim it",
- "çİ ī",
- "Ġacad emic",
- "Ġrestaur ants",
- "Ġhe ad",
- "ä¿¡ ä»»",
- "ast ers",
- "å² ģ",
- "ak ers",
- "1 4",
- "A s",
- "æł ¡",
- "é«ĺ æķĪ",
- "ph as",
- "y n",
- "ç¨ĭ 度",
- "è¾ £",
- "ä¸Ĭ éĿ¢",
- "å®¶ å±ħ",
- "ter m",
- "ç¾İ é£Ł",
- "Ġo vers",
- "å® ĺ",
- "Ġind ic",
- "ĠY our",
- "S t",
- "形 象",
- "è´ ¡",
- "åº Ĭ",
- "ĠS c",
- "ag ra",
- "羣 æŃ£",
- "o int",
- "id s",
- "are nt",
- "éĵ ¶",
- "èģ Ĭ",
- "Ġreg ular",
- "ä¼ĺ ç§Ģ",
- "Ġcol le",
- "çĸ ij",
- "Ġsub ject",
- "Ġgreat er",
- "Ġst ore",
- "åŁ¹ è®Ń",
- "Ġim ag",
- "Ġan sw",
- "ä½ Ļ",
- "Ġsp ot",
- "åĪĨ åŃIJ",
- "Ġaud ience",
- "p et",
- "Ġv ers",
- "Ġtra il",
- "åĭ ĩ",
- "er ous",
- "Ġguid ance",
- "Ġspe ech",
- "åĵ ²",
- "æĺ¯ çͱ",
- "è´¡ çĮ®",
- "åIJĪéĢĤ çļĦ",
- "设 æĸ½",
- "ä»ĸ 人",
- "ens ive",
- "åĢ ¾",
- "al ing",
- "Ġproject s",
- "å ³",
- "Ġt akes",
- "ç» ©",
- "T hat",
- "Ġb ro",
- "iv ed",
- "Ġ &",
- "åĿ IJ",
- "place ment",
- "è¿ŀ æİ¥",
- "çļĦç¤ ¾",
- "ĠT ra",
- "Ġrel ax",
- "u fact",
- "éģ į",
- "Ġsur v",
- "åı£ åij³",
- "Ġcreat ivity",
- "o f",
- "å¨ ģ",
- "çļĦç ł",
- "Ġbreat h",
- "Ġpl aces",
- "Ġdesc rib",
- "èĭ± è¯Ń",
- "Ġdam age",
- "or ation",
- "为 æĤ¨",
- "if t",
- "Ġc ase",
- "å¹´ é¾Ħ",
- "Ġp ress",
- "çĶ ľ",
- "éĩ İ",
- "æĹħ 游",
- "Ġt aken",
- "in ed",
- "Ġcon cept",
- "æĴ Ń",
- "Ġinterest ing",
- "è· µ",
- "Ġse a",
- "6 0",
- "Ġf oot",
- "ĠN ame",
- "Ġresearc hers",
- "éĢ ģ",
- "Ġwe e",
- ") ;",
- "çļĦ åħ³éĶ®",
- "ä¼ ½",
- "ele br",
- "å¡ ij",
- "W e",
- "ç»ı 常",
- "Ġpopul ations",
- "åħ¬ å¼ı",
- "or n",
- "çĩ ĥ",
- "人 çĶŁ",
- "1 7",
- "æİ¥ åıĹ",
- "Ġloc ation",
- "Ġin equ",
- "Ġinter vent",
- "Ġinterest ed",
- "Ġdefin itely",
- "Ġassist ance",
- "è¿Ļ ä¸Ģ",
- "åIJĪ åIJĮ",
- "ä¼ĺ åĬ¿",
- "çļĦ å·¥ä½ľ",
- "Ġ1 2",
- "Ġmo v",
- "åģ ı",
- "åŃĺ åĤ¨",
- "us ive",
- "æĹ ı",
- "ï¼ī ï¼Į",
- "Ġg as",
- "Ġinterest s",
- "æ¸ħæĻ °",
- "Ġg ard",
- "çĸ «",
- "Ġs ay",
- "å¤ «",
- "g es",
- "èIJ ¨",
- "ä¸ļ åĬ¡",
- "个 æĢ§",
- "åIJ ¯",
- "Ġeng agement",
- "Ġb ig",
- "éľĢè¦ģ èĢĥèĻij",
- "Ġpr inci",
- "åij¨ åĽ´",
- "Ġopportun ity",
- "çģ ¾",
- "èĹ ı",
- "re l",
- "缺 çĤ¹",
- "Ġhapp y",
- "åĴĮ åħ¶ä»ĸ",
- "av a",
- "Ġestab lish",
- "鸡 èĽĭ",
- "i king",
- "ĠT rans",
- "rast ructure",
- "fore st",
- "èİ· åıĸ",
- "èĦ ļ",
- "in ally",
- "èµ ı",
- "Ġdel icious",
- "Ġresult s",
- "è§Ĥ å¯Ł",
- "å®ŀ è·µ",
- "Ġl ast",
- "Ġpol it",
- "æĢ§ èĥ½",
- "F or",
- "b i",
- "缸 ä¿¡",
- "ff ee",
- "Ġph r",
- "Ġfore st",
- "ell ing",
- "æµģ è¡Į",
- "at ic",
- "大 家",
- "ĠIn st",
- "æķ° åѦ",
- "æī ©",
- "å®Į åħ¨",
- "å¼ķ èµ·",
- "es e",
- "转 æį¢",
- "Ġaffect ed",
- "Ġrobot ics",
- "综 ä¸Ĭ",
- "Ġpro p",
- "让 人",
- "æ² ³",
- "ä¸Ń æľĢ",
- "Ġaut onomous",
- "Ġha ving",
- "Ġtri p",
- "ur y",
- "Ġbi ased",
- "Ġconsider ations",
- "Ġpartic ular",
- "åį ł",
- "æİ¨ 广",
- "Ġiniti atives",
- "ial s",
- "åij³ éģĵ",
- "Ġtreat ments",
- "Ġem phas",
- "çĭ¬çī¹ çļĦ",
- "Ġl ay",
- "æĶ¿ çŃĸ",
- "æĢİ ä¹Ī",
- "ron ic",
- "pl ay",
- "Ġco ok",
- "è¿Ľ åħ¥",
- "è½ ®",
- "Ġvol unte",
- "Ġra in",
- "ĠM on",
- "Ġconsum ption",
- "èĽĭ çϽ",
- "ĠS oc",
- "å£ ¤",
- "Ġrout ine",
- "Ġimpro ved",
- "T o",
- "人 çī©",
- "读 èĢħ",
- "Ġgo al",
- "广 åijĬ",
- "éķ¿ æľŁ",
- "Ġe y",
- "H e",
- "Ġout do",
- "Ġcu is",
- "Ġa way",
- "Ġbo oks",
- "Ġtop ic",
- "大 åĪ©",
- "h ouse",
- "Ġon es",
- "ç§ Ł",
- "' :",
- "æĪ¿ å±ĭ",
- "ç§» åĬ¨",
- "Ġdis asters",
- "est s",
- "ill ing",
- "绿 èī²",
- "åĵ² åѦ",
- "æĪIJ åĪĨ",
- "Ġocc ur",
- "ľ ä¼½",
- "åľŁ 壤",
- "çļĦ 主è¦ģ",
- "çݰ å®ŀ",
- "Ġanim al",
- "é¢Ĩ 导",
- "Ġview s",
- "éĤ ®",
- "æ°§ åĮĸ",
- "ath y",
- "éģĵ å¾·",
- "社交 åªĴä½ĵ",
- "ĠP ersonal",
- "Ľ åĽ´",
- "Ġpur ch",
- "Ġcount ry",
- "Ġrem ind",
- "å¯ ¸",
- "Ġr ights",
- "çļĦ çݯå¢ĥ",
- "ĠP r",
- "Ġl ine",
- "ib r",
- "é© ¾",
- "Ġm aj",
- "Ġover come",
- "Ġne xt",
- "æīĢ è¿°",
- "è§Ħ å®ļ",
- "Ġinteract ions",
- "Ġconf lic",
- "Ġwh y",
- "ç³» åĪĹ",
- "å° ¼",
- "ib ly",
- "çīĽ å¥¶",
- "Ġrespons es",
- "s es",
- "åѦ ä¼ļ",
- "b ol",
- "Ġstand ards",
- "ul ner",
- "对è¯Ŀ åĨħ容",
- "l ished",
- "çļĦæĢ §",
- "çĶŁæĢģ ç³»ç»Ł",
- "an n",
- "æĥħåĨµ ä¸ĭ",
- "寻 æ±Ĥ",
- "Ġh old",
- "d en",
- "åį ĥ",
- "Ġment ion",
- "ĠMan y",
- "缴 åΰ",
- "éģ Ĺ",
- "he l",
- "Ġbelie ve",
- "ar ies",
- "æľī ä¸Ģ个",
- "1 3",
- "Ġatmosp here",
- "Ġm or",
- "æĹ¥ æľŁ",
- "ä¹ ħ",
- "ä½ł 好",
- "Ġaddress ing",
- "ĠâĢ ĵ",
- "çļĦåľ° æĸ¹",
- "m ing",
- "Ġcan not",
- "Ġman ufact",
- "Ġp ie",
- "ic ing",
- "Ġstud ies",
- "ç¾İ åij³",
- "ĠAmeric an",
- "ĠN LP",
- "Ġacc ording",
- "ms elves",
- "èĦ Ĥ",
- "èĩª ä¿¡",
- "æīĢ éľĢ",
- "Ġthe mselves",
- "Ġremot e",
- "åŁ¹ åħ»",
- "å®ī æİĴ",
- "ä½ł éľĢè¦ģ",
- "Ġreg ard",
- "ir ing",
- "è¯Ĩ åĪ«",
- "Ġart icle",
- "æģ Ĵ",
- "æĢ» çļĦæĿ¥",
- "Ġal ign",
- "æ± ł",
- "ten ance",
- "fact ion",
- "åĬ¨ ä½ľ",
- "çļĦç ©",
- "ç¼ ©",
- "æĢ ¥",
- "Ġ1 00",
- "Ġtest ing",
- "åŃĹ æ¯į",
- "å¹´ è½»",
- "åζ éĢł",
- "Ġs we",
- "å° º",
- "he ns",
- "æ°´ æŀľ",
- "Ġinf rastructure",
- "èī² å½©",
- "æĢ»çļĦæĿ¥ 说",
- "æľī ä»Ģä¹Ī",
- "te xt",
- "车 è¾Ĩ",
- "Ġp ay",
- "ro p",
- "Ċ ĠĠ",
- "Ġcaus ed",
- "Ġcor rect",
- "Ġ ì",
- "èĥ ŀ",
- "ĠM ed",
- "ç²¾ ç¥ŀ",
- "æ°ĶåĢĻ åıĺåĮĸ",
- "ĠR ed",
- "äºĴ èģĶç½ij",
- "Ġeng age",
- "åĪĨ 为",
- "ĠD ata",
- "Ġful l",
- "en c",
- "éĩį æĸ°",
- "æŃ£ç¡® çļĦ",
- "çļĦæ° Ķ",
- "åıĮ æĸ¹",
- "Ġcom es",
- "åı¤ 代",
- "æŁIJ äºĽ",
- "åijĪ çݰ",
- "Ġto day",
- "ag ed",
- "æĪij åı¯ä»¥",
- "æĹ¥ 常",
- "æ» ij",
- "Ġcl in",
- "Ġ \\",
- "Ġo bs",
- "Ġart ificial",
- "Ġexce ll",
- "çļĦç ¬",
- "all s",
- "Ġprodu ce",
- "ĠD es",
- "os s",
- "è¹ Ī",
- "Ġdra w",
- "Ġlet ter",
- "Ġadv ice",
- "Ġhigh ly",
- "çĬ ¯",
- "综ä¸Ĭ æīĢè¿°",
- "满 æĦı",
- "Ġprinci ples",
- "èĮ Ħ",
- "Ġfeel ings",
- "çļĦæ ´",
- "Ġh om",
- "Ġf ail",
- "Ġcro p",
- "å§ ľ",
- "Ġquest ion",
- "Ġdis abilities",
- "èĪŀ è¹Ī",
- "Ġimp lications",
- "r al",
- "Ġs ing",
- "4 0",
- "Ġfam il",
- "Ġgovern ments",
- "Ġrec ord",
- "å½¢ çĬ¶",
- "Ġbe gin",
- "is es",
- "çļĦæĥ ³",
- "ach ine",
- "è° ±",
- "Ġv ulner",
- "Ġpro per",
- "Ġovers ight",
- "è´Ł éĿ¢",
- "Ġem ail",
- "Ġnew s",
- "Ġexpl oring",
- "Ġf avor",
- "æ¥ ¼",
- "å® ľ",
- "Ġun ivers",
- "å·® å¼Ĥ",
- "ï¼ī ãĢĤ",
- "è§£åĨ³ éĹ®é¢ĺ",
- "Ġfam ous",
- "g n",
- "Ġmess age",
- "at itude",
- "Ġc ra",
- "Ġco ver",
- "æ·± åĪ»",
- "åı¯ä»¥ éĢīæĭ©",
- "çĶŁæ´» ä¸Ń",
- "ç§į ç±»",
- "Ġsm art",
- "on str",
- "ve y",
- "çĶ ²",
- "Ġreg ularly",
- "ĠS m",
- "æĦŁ è§ī",
- "Ġthough t",
- "Ġex h",
- "c ure",
- "ç» ĺ",
- "认 è¯Ĩ",
- "Ġo ld",
- "æĦ ī",
- "称 为",
- "Ġfiel ds",
- "Ġcons ist",
- "ã ģ",
- "ç»Ĩ èĥŀ",
- "Ġh ours",
- "8 0",
- "al king",
- "è§ī å¾Ĺ",
- "ç» Ŀ",
- "ä½ł 们",
- "ĠEng lish",
- "Ġsignificant ly",
- "Ġs ource",
- "Ġan t",
- "Ġeducation al",
- "Ġtas k",
- "Ġhand le",
- "æIJ ľ",
- "ĠS p",
- "Ġcall ed",
- "Ġter ms",
- "æ² ī",
- "Ġw in",
- "duct ion",
- "Ġmod ern",
- "Ġcuis ine",
- "å¥ Ĺ",
- "è§ ¦",
- "olut ely",
- "ç« ¥",
- "p ite",
- "Ġf elt",
- "Ġcomp re",
- "Ġw ond",
- "è¿IJ è¡Į",
- "Ġres il",
- "缸 ä¼¼",
- "éĩij èŀį",
- "çα æĥħ",
- "ç¬ Ķ",
- "èĪ ª",
- "è° Ī",
- "åĬĽ çļĦ",
- "æľī æīĢ",
- "æ½ ľ",
- "ul ate",
- "Ġdetect ion",
- "宣 ä¼ł",
- "Ġmat ter",
- "éĩı åŃIJ",
- "W rite",
- "ç»ĵ åIJĪ",
- "ç»ı è¿ĩ",
- "Ġdevelop ers",
- "è ª",
- "Ġ ---",
- "人 éĻħ",
- "çŃ ¾",
- "ï¼ļ âĢľ",
- "Ġinnov ative",
- "ãĢĤ âĢĿ",
- "å½ ¼",
- "é¥ ¼",
- "è¿ĩ 度",
- "Ġplan et",
- "åħ °",
- "å¸ ģ",
- "æķ ¬",
- "Ġleg al",
- "Ġlo t",
- "æĪIJ为 äºĨ",
- "i ate",
- "Ġm is",
- "åģĩ 设",
- "çļĦ æĸĩ竳",
- "ĠCom pan",
- "Ġd oc",
- "Ġcare ful",
- "Ġe ver",
- "æĪij们 å°Ĩ",
- "ä¾ĭ åŃIJ",
- "ä¹ ³",
- "ä½ľ èĢħ",
- "åIJ §",
- "æļ ´",
- "Ġrem ember",
- "缮 çļĦ",
- "Ġp ut",
- "常è§ģ çļĦ",
- "Ġf est",
- "建 设",
- "å®ŀ ç͍",
- "Ġact ive",
- "çª Ĺ",
- "ou th",
- "åİŁ çIJĨ",
- "Ġtry ing",
- "è¿ ·",
- "缸 åIJĮ",
- "éħĴ åºĹ",
- "An other",
- "æľĢ ä½³",
- "Ġanaly tics",
- "Ġper pet",
- "ip ment",
- "Ġ å¦Ĥæŀľ",
- "è§Ĥ ä¼Ĺ",
- "Ġc elebr",
- "Ġhe av",
- "Ġmed itation",
- "大 æ°Ķ",
- "A nd",
- "ä¸į éĶĻ",
- "Ġwhe ther",
- "s et",
- "Ġdem onstr",
- "ä¸Ģ 款",
- "æĶ¶ éĽĨ",
- "éĻIJ åζ",
- "Ġ ing",
- "Ġrev olution",
- "çľ ģ",
- "Ġsc ience",
- "缮 åīį",
- "Ġthink ing",
- "± ä¹IJ",
- "课 ç¨ĭ",
- "Ġp ack",
- "Ġim age",
- "lo c",
- "Ġst ories",
- "uc k",
- "Ġsatis faction",
- "Ġcollect ion",
- "h o",
- "èµ ŀ",
- "éĿ¢ 临",
- "Ġl a",
- "Ġsym bol",
- "Ġem b",
- "Ġhabit ats",
- "Ġlow er",
- "Ġcontin ues",
- "éľ ĩ",
- "åĵ Ī",
- "ĠT ake",
- "Ġenviron ments",
- "Ġth ree",
- "Ġen c",
- "ĠA cc",
- "æĦı åij³",
- "åİ ¨",
- "ch an",
- "ĠH um",
- "Ġtr ue",
- "åĪĩ æĪIJ",
- "s ing",
- "âĢĶ âĢĶ",
- "åĩº æĿ¥",
- "Ġreg ion",
- "Ġinter pre",
- "Ġdiagnos is",
- "é ŀ",
- "Ġdo ing",
- "Ġr un",
- "Ġco ffee",
- "Ġmaj or",
- "Ġmindful ness",
- "Ġafford able",
- "çĻ ¾",
- "Ġdetail ed",
- "éĿŀ常 éĩįè¦ģçļĦ",
- "çļĦæ² ŁéĢļ",
- "çļĦæķ ħ",
- "åĢĴ åħ¥",
- "Ġthem es",
- "Ġnet work",
- "ï¼ī ï¼ļ",
- "ĠUn ited",
- "çļĦæĮ ĩ",
- "ort s",
- "åį« çĶŁ",
- "Ġplan ning",
- "æĥ ł",
- "åī ª",
- "ĠPro v",
- "çļĦ åºĶç͍",
- "Ġp eri",
- "Ġaccount able",
- "çī Ļ",
- "çļĦç ģ",
- "Ġcho ice",
- "ĠC omm",
- "id ents",
- "çļĦ å®īåħ¨",
- "å¹¶ ä¸į",
- "太éĺ³ ç³»",
- "Ġrece ive",
- "Ġclo se",
- "çļĦæĹ¶ åĢĻ",
- "Ġchang ing",
- "ä»·å̼ è§Ĥ",
- "Ġperpet u",
- "Ġse ason",
- "Ġm en",
- "Ġlearn ed",
- "Ġsitu ation",
- "Ġre place",
- "he ad",
- "让 æĪij",
- "åľ¨ ä¸Ģèµ·",
- "çļĦç© º",
- "éľ ²",
- "Ġen ough",
- "å±ķ çݰ",
- "Ġlead ers",
- "an cing",
- "Ġtemper ature",
- "åı «",
- "Ġ3 0",
- "æĦıåij³ çĿĢ",
- "æ± ĩ",
- "ĠGo vern",
- "Ġfocus ed",
- "u ro",
- "Ġsim ple",
- "Ġh iking",
- "æ¯ Ĵ",
- "Ġcompre hens",
- "äº Ī",
- "Ġcreat ed",
- "con d",
- "é¡ µ",
- "ĠW or",
- "è¯ģ æį®",
- "Ġwork place",
- "Ġcharact ers",
- "çļĦ 设计",
- "Ġme chan",
- "ĠD is",
- "ç¥ŀ ç§ĺ",
- "å· ŀ",
- "ĠO n",
- "< /",
- "ç§į æ¤į",
- "Ġpat h",
- "Ġlim ited",
- "Ġsol ar",
- "çļĦæ ı",
- "2 2",
- "Ġappreci ate",
- "å¿« ä¹IJ",
- "æĦŁ åıĹåΰ",
- "èĢ Ĺ",
- "m ed",
- "ic ine",
- "Ġnot e",
- "å½ĵ åīį",
- "æĪij们 åºĶ该",
- "Ġse en",
- "ä¸Ģ åIJį",
- "å°½ åı¯èĥ½",
- "è¿IJ ç®Ĺ",
- "è§Ĵ 度",
- "Ġequ ipment",
- "Ġsp read",
- "è ¸",
- "è® ¿",
- "åı¥ è¯Ŀ",
- "æĮ ¥",
- "Ġpur pose",
- "请 ä½ł",
- "Y our",
- "ari an",
- "ä» ª",
- "Ġperspect ives",
- "åĩº äºĨ",
- "å©ļ 礼",
- "Ġexcell ent",
- "ĠEns uring",
- "Ġre ach",
- "éĺ¶ æ®µ",
- "ä¿Ŀ éļľ",
- "Ġemp athy",
- "ĠM y",
- "çij ľä¼½",
- "Ġ ver",
- "ab el",
- "ĠPre dict",
- "Ġmain tenance",
- "è¯Ħ ä»·",
- "Ġ ult",
- "åĴ ¨",
- "o x",
- "åĴ¨ 询",
- "Ġshare d",
- "in a",
- "l ist",
- "Ġoutdo or",
- "Ġthough ts",
- "in ating",
- "éĴ ±",
- "Ġfra me",
- "éĺ ¿",
- "åĪ© 润",
- "çļĦæİ ¨",
- "åį ļ",
- "Ġrec ent",
- "Ġal tern",
- "are d",
- "= =",
- "Ġro ad",
- "äºĭ 项",
- "g ed",
- "y nt",
- "Ġspe nd",
- "ç½ ª",
- "åıĸ å¾Ĺ",
- "é ¹",
- "l i",
- "æĹ¶ æľŁ",
- "严 éĩį",
- "å¿ Ĩ",
- "å© ´",
- "æİ¥ ä¸ĭæĿ¥",
- "ĠEar th",
- "ĠChat bots",
- "Ġset ting",
- "ç¥ Ŀ",
- "éĶĢåĶ® é¢Ŀ",
- "ä¼ ¦",
- "Ġread ing",
- "æİ¢ 讨",
- "a ign",
- "éŀ ĭ",
- "Ġyou ng",
- "Ġcare er",
- "Ġteac hers",
- "çļĦ è´¨éĩı",
- "å±ŀ äºİ",
- "Ġeas ier",
- "Ġscient ific",
- "ç¾İ åħĥ",
- "Ġsp ir",
- "åĬ ³",
- "çļĦæĶ ¯",
- "r ist",
- "èµĦ 产",
- "çĶŁ åŃĺ",
- "èĩ³ å°ij",
- "å§ ¿",
- "Ġvide o",
- "Ġa im",
- "å®Ŀ å®Ŀ",
- "çζ æ¯į",
- "________ ________",
- "al ities",
- "Ġb ud",
- "Ġstre et",
- "Ġ æĺ¯",
- "æĸ¹ ç¨ĭ",
- "ä¸ĸ 纪",
- "c hes",
- "ear ch",
- "æĴ °",
- "Ġeng ine",
- "Ġdis placement",
- "ĠRo bots",
- "erv ised",
- "é¡ ¶",
- "ou d",
- "Ġw alk",
- "Ġemerg ency",
- "èģ ĺ",
- "n al",
- "Ġdat as",
- "åĢ º",
- "åIJİ çļĦ",
- "å¾Ī 好",
- "Ġmy self",
- "çļĦæī ĭ",
- "Ġus age",
- "Ġsh own",
- "æ® Ĭ",
- "Ġtyp ically",
- "u ly",
- "æĸ° éĹ»",
- "æĽ ¿",
- "Ġor ig",
- "è½» æĿ¾",
- "æĺ¾ 示",
- "Ġado pt",
- "èĤ¡ 票",
- "Ġp arent",
- "a ps",
- "æĢĿ æĥ³",
- "Ġmarket ing",
- "èĻ «",
- "éĥ¨ éŨ",
- "çļĦæķ Ī",
- "Ġcomfort able",
- "åŃ¦ä¹ł åĴĮ",
- "Ġfore cast",
- "ict ion",
- "Ġget ting",
- "Ġtre es",
- "av ing",
- "çļĦ åŁºç¡Ģ",
- "read y",
- "æĸ° é²ľ",
- "go ing",
- "¹ é¥",
- "Ġev idence",
- "¹é¥ ª",
- "ç§ ĭ",
- "æľī å¾Īå¤ļ",
- "éĿ¢ è¯ķ",
- "éģĩ åΰ",
- "ç»Ļ å®ļ",
- "ir c",
- "åı¯ä»¥ æł¹æį®",
- "驾 驶",
- "å·§ åħĭ",
- "Ġst unning",
- "çļĦæ ¦Ĥ",
- "æ¡ Į",
- "ĠJ ohn",
- "ul ation",
- "åıĤ èĢĥ",
- "Ġf lex",
- "çĦ¦ èĻij",
- "ym akers",
- "Ġfor ms",
- "s h",
- "v al",
- "ĠS o",
- "c o",
- "æİ¨ åĬ¨",
- "èħ ¿",
- "çī¹ æ®Ĭ",
- "Ġen ab",
- "å°Ĩ ä¼ļ",
- "æĶ¯ åĩº",
- "åĿļ æĮģ",
- "红 èī²",
- "Ġopt ion",
- "Ġstart ed",
- "r ation",
- "Ġpo etry",
- "Ġp ort",
- "g en",
- "èª ī",
- "Ġdel iv",
- "çĶ ļ",
- "éĢ »",
- "éĢī 项",
- "Ġg round",
- "å½¼ æŃ¤",
- "an a",
- "çļĦæĹ ¥",
- "åľ¨ 线",
- "Ġse cure",
- "Ġ æł¹æį®",
- "饮 æĸĻ",
- "Ġgr atitude",
- "第 ä¸ī",
- "Ġs ong",
- "Ġpoint s",
- "Ġal ready",
- "çļĦçĪ ±",
- "ĠTe chn",
- "Ġreal ity",
- "çı Ń",
- "Ġs ince",
- "Ġpopul ation",
- "y ond",
- "b or",
- "ĠSoc ial",
- "æıIJ åıĸ",
- "å·¥ ç¨ĭ",
- "a ff",
- "交 æĺĵ",
- "Ġwor th",
- "å¡ «",
- "å¨ ±ä¹IJ",
- "Ġdo g",
- "ĠAr t",
- "ç¡ ¬",
- "æµ· æ´ĭ",
- "åĨ Ĵ",
- "çī Ī",
- "Ġprogramm ing",
- "ĠAs s",
- "ĠM achine",
- "å̼ å¾Ĺ",
- "请 è¾ĵåħ¥",
- "声 éŁ³",
- "Ġexercis es",
- "åħī 线",
- "æ³ķ åĴĮ",
- "Ġfeat ure",
- "e ff",
- "è¿Ľ æŃ¥",
- "女 æĢ§",
- "Ġefficient ly",
- "çļĦæĬĢ æľ¯",
- "Ġgen etic",
- "令 人",
- "è´ ¦",
- "çļĦ 产åĵģ",
- "åİ ļ",
- "åĴĮ æĸĩåĮĸ",
- "éĻ Ħ",
- "Ġmo b",
- "综 åIJĪ",
- "t ers",
- "æľī ä¸Ģ",
- "å¦ Ĩ",
- "åį Ī",
- "Ġout side",
- "Ġprop ert",
- "éĤ® ä»¶",
- "主 ä¹ī",
- "Ġpolic y",
- "èĩª 身",
- "Ġnav igate",
- "Ġst y",
- "ç͵ èĦij",
- "Ġab ilities",
- "Ġfac ed",
- "çļĦç ¼",
- "çļĦ å°ı",
- "è ķ",
- "Ġt one",
- "ig ation",
- "åıĤ æķ°",
- "èĽĭçϽ è´¨",
- "ä½ Ľ",
- "çĶļ èĩ³",
- "Ġsk in",
- "èĴ ¸",
- "æĭ Ľ",
- "éŃ Ķ",
- "ash ion",
- "Ġing red",
- "æĹ ĭ",
- "Ġcamp aign",
- "Ġm ount",
- "Ġcons id",
- "Ġmus e",
- "n ter",
- "w ater",
- "ä¼ļ è®®",
- "Ġprotect ion",
- "ä¿Ŀ éĻ©",
- "Ġcro ps",
- "og le",
- "éļı æĹ¶",
- "æļ Ĺ",
- "i um",
- "ä¹ ı",
- "Ġdi et",
- "l ies",
- "ç͍ æĿ¥",
- "ĠEn coura",
- "æĬ Ĺ",
- "ap an",
- "éĺ² æŃ¢",
- "W ow",
- "çļĦ åŁºæľ¬",
- "å¹³ æĸ¹",
- "Ġst ep",
- "åı¯ éĿł",
- "表 æĺİ",
- "Ġpredict ions",
- "Ġsym pt",
- "Ġdiagnos es",
- "åħ¬ åĽŃ",
- "Ġsupp ly",
- "Ġprev ious",
- "ç»Ħ åIJĪ",
- ". ,",
- "çļĦ è¿ĩç¨ĭ",
- "æķ ı",
- "s u",
- "ar is",
- "çķ ħ",
- "oc ol",
- "æIJľ ç´¢",
- "it le",
- "éĨ Ĵ",
- "顾 客",
- "éĢ» è¾ij",
- "éĿŀ常 éĩįè¦ģ",
- "ĠB i",
- "å·¦ åı³",
- "am m",
- "Ġevery thing",
- "æĺ ł",
- "Ġincre d",
- "Ġpe ace",
- "èľ ľ",
- "Ġmuse um",
- "çĭ¬ ç«ĭ",
- "Ġcomprehens ive",
- "Ġr ates",
- "/ /",
- "Ġra d",
- "åĦ¿ ç«¥",
- "çī¹ èī²",
- "ĠPredict ive",
- "å¼ķ åĬĽ",
- "l er",
- "å° ¤",
- "ic ro",
- "è¡ ¥",
- "Ġdeterm ine",
- "çļĦ åĨħ容",
- "Ġcom pl",
- "Ġgreen house",
- "èħ IJ",
- "Ġhigh light",
- "Ġpart ners",
- "Ġdo ct",
- "çļĦ 使ç͍",
- "æŃĮ æĽ²",
- "æĮĩ åįĹ",
- "ĠA f",
- "æľº æŀĦ",
- "éĢ Ģ",
- "Ġpoem s",
- "å¿ĥ åĴĮ",
- "Ġatt end",
- "çļĦæ¸ ¸",
- "Ġs ide",
- "al es",
- "Ġmention ed",
- "ĠA bs",
- "Ġhistor ical",
- "Ġle ft",
- "以ä¸ĭ åĩłä¸ª",
- "åıĹ æ¬¢è¿İ",
- "èıľ åĵģ",
- "Ġrem ain",
- "æ ĩ",
- "Ġtour s",
- "ł éģĵ",
- "Ġerr ors",
- "æľº åζ",
- "æ ¦",
- "æĤ£ èĢħ",
- "m ore",
- "Ġexpert s",
- "çļĦçł Ķç©¶",
- "ç»ĵ æĿŁ",
- "Ġwrit ten",
- "çł Ķ",
- "Ġe t",
- "in put",
- "æ°Ķ ä½ĵ",
- "è ļ",
- "æĥ Ĭ",
- "Ġa ge",
- "éĩį å¤į",
- "å¼ ¹",
- "åŃ ¤",
- "Ġsympt oms",
- "Ġbelie f",
- "' d",
- "i ol",
- "Ġ1 8",
- "åħħ è¶³",
- "çı į",
- "force ment",
- "æĸ Ĺ",
- "ª èĮĦ",
- "Ġ1 5",
- "ä¸Ģ个 人",
- "Ġapp lic",
- "è´ ¥",
- "ä½į äºİ",
- "éϤ äºĨ",
- "= \"",
- "ä¸ī è§Ĵ",
- "æĢĿ ç»´",
- "åį ·",
- "Ġf ru",
- "ĠCol labor",
- "Ġpr im",
- "Ġrequire d",
- "Ġw atch",
- "è°ĥ åij³",
- "ç»ĵ 论",
- "on y",
- "Ġgu ide",
- "Ġm ax",
- "ĠC ould",
- "Ġadv ent",
- "ĠO verall",
- "çļĦæĬ ķ",
- "Ġexp er",
- "å ĺ",
- "ic ial",
- "ost er",
- "çļĦ é¢ľèī²",
- "Ġoper ations",
- "éĥ ģ",
- "Ġm oney",
- "le y",
- "c ling",
- "Ġo il",
- "çļ® èĤ¤",
- "Ġg e",
- "Ġb at",
- "ĠP h",
- "Ġsc he",
- "Ġelect ric",
- "v est",
- "Ġch ain",
- "Ġcap abilities",
- "ir d",
- "è¯ģ æĺİ",
- "æľĢ 好",
- "iv il",
- "Ġdepend ing",
- "Ġs ave",
- "Ġpract ical",
- "Ġcult ures",
- "缸åºĶ çļĦ",
- "s y",
- "çļĦç ²",
- "Ġbeh ind",
- "æĹ¶éĹ´ åĴĮ",
- "å¹ ħ",
- "ĠA g",
- "Ġeffect iveness",
- "A d",
- "ĠO f",
- "Ġany thing",
- "å·§åħĭ åĬĽ",
- "Ġm ist",
- "Ġlangu ages",
- "ĠM ake",
- "å «",
- "æ£ ®",
- "ĠCon t",
- "ĠAbs olutely",
- "Ġinvest ment",
- "m at",
- "çļĦæķħ äºĭ",
- "æ¬ §",
- "Ġspe ed",
- "çļĦæ¸ ©",
- "Ġc ities",
- "åĨĻ ä½ľ",
- "Th anks",
- "Ġd ed",
- "åĪĨ éħį",
- "Ġd ark",
- "Ġsupport ing",
- "å¹ ķ",
- "ĠK e",
- "éĽ ¶",
- "Ġsh aring",
- "Ġh ouse",
- "认 çŁ¥",
- "Ġsurround ing",
- "Ġredu ced",
- "Ġf u",
- "Ġst or",
- "Ġab s",
- "T om",
- "c ent",
- "ĠEduc ation",
- "Ġth r",
- "ot t",
- "ĠTh at",
- "Ġhe ar",
- "un g",
- "Ġbe yond",
- "ĠC o",
- "ro om",
- "è¯Ĺ æŃĮ",
- "re me",
- "Ġlit tle",
- "Ġg ames",
- "ä¹ĭ åIJİ",
- "éĥ½ ä¼ļ",
- "è¯Ń éŁ³",
- "ç¬ ij",
- "çī¹ å®ļ",
- "第 ä¸Ģ",
- "Ġdep ression",
- "Ġinnov ation",
- "ĠF r",
- "Ġcomput er",
- "c an",
- "å³ °",
- "ç¼ĸåĨĻ ä¸Ģ个",
- "Ġintern ational",
- "Ġcan cer",
- "åѦ èĢħ",
- "Ġdisc over",
- "he t",
- "Ġcomp os",
- "Ġrec y",
- "Ġ2 00",
- "åIJ« æľī",
- "çĹ Ľ",
- "ç¼ĵ è§£",
- "Ġfre qu",
- "çĶ ³",
- "ĠM ar",
- "çļĦ éĢīæĭ©",
- "Ġun t",
- "Ġreg ions",
- "Ġop in",
- "ĠGovern ments",
- "æ¶ Ĥ",
- "åĨħ å¿ĥ",
- "ä¸Ĭ æľĢ",
- "ä»į çĦ¶",
- "l ier",
- "æ³ ³",
- "äºĴ 缸",
- "ĠSt ud",
- "az on",
- "Ġar ch",
- "Ġche m",
- "çļĦ èĥ½åĬĽ",
- "çļĦ ä¸Ģ个",
- "Ġa p",
- "Ġre d",
- "Ġw omen",
- "Ġpro te",
- "Ġfind ing",
- "å§ »",
- "éĢĤå½ĵ çļĦ",
- "Ġfor ward",
- "对 象",
- "Ġwa it",
- "Ġconsid ered",
- "du le",
- "b acks",
- "Ġclin ical",
- "åħ· å¤ĩ",
- "éº ¦",
- "Ġon going",
- "åĨ Ľ",
- "Ġf ar",
- "åĴĮ è°",
- "XX X",
- "Ġpolit ical",
- "Ġcam er",
- "çļĦ è¡Į为",
- "æĦı 大åĪ©",
- "Ġapp s",
- "åĩı è½»",
- "Ġread ers",
- "å©ļ å§»",
- "æ° ¸",
- "o res",
- "åħ¨ éĿ¢",
- "ĠAf ric",
- "Ġfavor ite",
- "Ġm ill",
- "Ġd ang",
- "ĠSt ates",
- "åĢ Ł",
- "å¯ ¿",
- "Ġl at",
- "è¿ĩ åİ»",
- "Ġtr uly",
- "åĽŀçŃĶ éĹ®é¢ĺ",
- "Ġco gn",
- "ä» °",
- "ĠJ apan",
- "iz z",
- "çļĦæĿ IJ",
- "x x",
- "é¢ĺ 缮",
- "ri ption",
- "éĤ£ äºĽ",
- "Ġbud get",
- "Ġv ast",
- "éļIJ ç§ģ",
- "Ġpolic ymakers",
- "è¿ĺ éľĢè¦ģ",
- "å¹¶ æıIJä¾Ľ",
- "Ġswe et",
- "Ġgener al",
- "æ» ¤",
- "Ġbir ds",
- "Ġpl astic",
- "Ċ ĉ",
- "åĪ º",
- "ment al",
- "Ġincl usive",
- "Ġtop ics",
- "Ġs low",
- "ä½ł èĥ½",
- "è¶³å¤Ł çļĦ",
- "è§Ĩ è§ī",
- "w w",
- "Ġ 使ç͍",
- "æī ¹",
- "æ¦Ĥ 念",
- "é£Ł ç͍",
- "èĢ ³",
- "c ks",
- "Ġfra ud",
- "Ġingred ients",
- "Ġf asc",
- "åĮĹ äº¬",
- "Ġf r",
- "Ġmanufact uring",
- "Ġ ä½ľä¸º",
- "Ġbe ach",
- "é¡ ¿",
- "eri ous",
- "å¤ĸ è§Ĥ",
- "é¢Ħ éĺ²",
- "æĿ¥ èĩª",
- "èĤĮ èĤī",
- "Ġd ays",
- "Ġass ign",
- "Ġadv ant",
- "Ġteam s",
- "é¢ Ĺ",
- "now n",
- "ĠP o",
- "} {",
- "Ġmin ut",
- "it ions",
- "Ġeas ily",
- "ĠB l",
- "n ame",
- "åѦ æł¡",
- "Ġrespons ibility",
- "åıij æĮ¥",
- "Ġsens itive",
- "çŃī äºİ",
- "ci ous",
- "Ġs ou",
- "å± ı",
- "Ġr ich",
- "å½ĵ çĦ¶",
- "m an",
- "Ġinterpre t",
- "2 4",
- "Ġshow s",
- "èģĮ åľº",
- "Ġf all",
- "è½ ½",
- "丰å¯Į çļĦ",
- "( '",
- "ä¿® æĶ¹",
- "æĽ´ æį¢",
- "A l",
- "åı¯èĥ½ æĺ¯",
- "Ġr ate",
- "Ġprotect ing",
- "f it",
- "Ġ5 0",
- "Ġmove ment",
- "è§ Ī",
- "Ġemploy ee",
- "Ġdis ord",
- "åĪĽ æĦı",
- "产åĵģ çļĦ",
- "æľ Ŀ",
- "ĊĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ",
- "Ġpre d",
- "Ġoffer ing",
- "åįģ åĪĨ",
- "èĢĮ ä¸įæĺ¯",
- "Th ank",
- "æĽ ¾",
- "Ġele ments",
- "ç² Ĵ",
- "Ġcour ses",
- "Ġintegr ated",
- "ĠC ar",
- "agra ph",
- "åŁº åĽł",
- "Ġinst ead",
- "èĦ ±",
- "åı¦ ä¸Ģ个",
- "å¯Ĩ çłģ",
- "Ġallow ed",
- "éĿ¢ åĮħ",
- "çķ ªèĮĦ",
- "åĴĮ åıijå±ķ",
- "å° ģ",
- "Ġconnect ion",
- "åľ¨ ä¸Ģ个",
- "Ġuse ful",
- "è¯Ń åı¥",
- "åĪĨ å¸ĥ",
- "表 æ¼Ķ",
- "æľī æĹ¶",
- "çļĦæĹ ħ",
- "çļĦæĢ »",
- "Ġf ashion",
- "èĭ ¦",
- "è¦ģ 注æĦı",
- "çĶŁ ç´ł",
- "Ġnut ri",
- "èĩª è¡Į",
- "çļĦç ĭ",
- "çIJĨè§£ åĴĮ",
- "Ġc at",
- "æľºåύ åŃ¦ä¹ł",
- "Ġexh ib",
- "åĴĮ æľįåĬ¡",
- "fra c",
- "e pend",
- "Ġimpact ed",
- "Ġ ut",
- "æķ° ç»Ħ",
- "ĠWor ld",
- "Ġansw er",
- "ers e",
- "éª ¨",
- "Ġart ists",
- "åŃ©åŃIJ çļĦ",
- "ä» Ķ",
- "çĻ »",
- "ĠA re",
- "Ġco ol",
- "Ġcogn itive",
- "åIJĦ 个",
- "l ike",
- "å©´ åĦ¿",
- "åĪĹ åĩº",
- "å¹ »",
- "ron t",
- "å®¶ éķ¿",
- "缺 ä¹ı",
- "Ġcy ber",
- "il t",
- "Ġcapt ure",
- "å Ĺ",
- "åľ¨ äºİ",
- "Ġthreat s",
- "åĴĮ 社ä¼ļ",
- "Ġcell s",
- "æ¸ħ åįķ",
- "ĠV is",
- "æİ ī",
- "Ġh ol",
- "åŃIJ çļĦ",
- "C h",
- "è Ŀ",
- "Ġs aid",
- "Ġd ream",
- "un ch",
- "un e",
- "ĠD on",
- "家 人",
- "ç± į",
- "æĦŁ åĴĮ",
- "Ġexperi enced",
- "çļĦéĩįè¦ģ æĢ§",
- "å¼ ĥ",
- "um p",
- "éĺ IJ",
- "Ġhabit at",
- "è¢ ĭ",
- "Ġj o",
- "ç®Ģ æ´ģ",
- "Ġb ur",
- "Ġvisit ors",
- "éĽ ħ",
- "çļĦçŁ ¥",
- "Ġent ire",
- "讲 述",
- "äºĨ ä¸ĢäºĽ",
- "åįı ä½ľ",
- "ĠB us",
- "å° ¾",
- "çļĦæķ Ļ",
- "olo g",
- "Ġsign s",
- "Ġspeak er",
- "çļĦ éŁ³ä¹IJ",
- "Ġno vel",
- "å±ħ æ°ij",
- "çļĦ åıĺåĮĸ",
- "å°½ éĩı",
- "Ġspir it",
- "å®Į ç¾İ",
- "è´ ·",
- "å¿ħè¦ģ çļĦ",
- "ie f",
- "示 ä¾ĭ",
- "Ġd iv",
- "æķ´ æķ°",
- "Ġeconom y",
- "Ġethical ly",
- "éĻ Ī",
- "Ġschool s",
- "Ġnet works"
- ]
- }
-}
\ No newline at end of file
diff --git a/中文逐行注释/model/minimind_tokenizer/tokenizer_config.json b/中文逐行注释/model/minimind_tokenizer/tokenizer_config.json
deleted file mode 100644
index 5f3fa2b..0000000
--- a/中文逐行注释/model/minimind_tokenizer/tokenizer_config.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "add_bos_token": false,
- "add_eos_token": false,
- "add_prefix_space": true,
- "added_tokens_decoder": {
- "0": {
- "content": "",
- "lstrip": false,
- "normalized": false,
- "rstrip": false,
- "single_word": false,
- "special": true
- },
- "1": {
- "content": "",
- "lstrip": false,
- "normalized": false,
- "rstrip": false,
- "single_word": false,
- "special": true
- },
- "2": {
- "content": "",
- "lstrip": false,
- "normalized": false,
- "rstrip": false,
- "single_word": false,
- "special": true
- }
- },
- "additional_special_tokens": [],
- "bos_token": "",
- "clean_up_tokenization_spaces": false,
- "eos_token": "",
- "legacy": true,
- "model_max_length": 1000000000000000019884624838656,
- "pad_token": null,
- "sp_model_kwargs": {},
- "spaces_between_special_tokens": false,
- "tokenizer_class": "PreTrainedTokenizerFast",
- "unk_token": "",
- "use_default_system_prompt": false,
- "chat_template": "{% if messages[0]['role'] == 'system' %}{% set system_message = messages[0]['content'] %}{% endif %}{% if system_message is defined %}{{ system_message }}{% endif %}{% for message in messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ 'user\\n' + content + '\\nassistant\\n' }}{% elif message['role'] == 'assistant' %}{{ content + '' + '\\n' }}{% endif %}{% endfor %}"
-}
\ No newline at end of file
diff --git a/中文逐行注释/model/minimind_tokenizer/vocab.json b/中文逐行注释/model/minimind_tokenizer/vocab.json
deleted file mode 100644
index e1318cc..0000000
--- a/中文逐行注释/model/minimind_tokenizer/vocab.json
+++ /dev/null
@@ -1 +0,0 @@
-{"":0,"":1,"":2,"!":3,"\"":4,"#":5,"$":6,"%":7,"&":8,"'":9,"(":10,")":11,"*":12,"+":13,",":14,"-":15,".":16,"/":17,"0":18,"1":19,"2":20,"3":21,"4":22,"5":23,"6":24,"7":25,"8":26,"9":27,":":28,";":29,"<":30,"=":31,">":32,"?":33,"@":34,"A":35,"B":36,"C":37,"D":38,"E":39,"F":40,"G":41,"H":42,"I":43,"J":44,"K":45,"L":46,"M":47,"N":48,"O":49,"P":50,"Q":51,"R":52,"S":53,"T":54,"U":55,"V":56,"W":57,"X":58,"Y":59,"Z":60,"[":61,"\\":62,"]":63,"^":64,"_":65,"`":66,"a":67,"b":68,"c":69,"d":70,"e":71,"f":72,"g":73,"h":74,"i":75,"j":76,"k":77,"l":78,"m":79,"n":80,"o":81,"p":82,"q":83,"r":84,"s":85,"t":86,"u":87,"v":88,"w":89,"x":90,"y":91,"z":92,"{":93,"|":94,"}":95,"~":96,"¡":97,"¢":98,"£":99,"¤":100,"¥":101,"¦":102,"§":103,"¨":104,"©":105,"ª":106,"«":107,"¬":108,"®":109,"¯":110,"°":111,"±":112,"²":113,"³":114,"´":115,"µ":116,"¶":117,"·":118,"¸":119,"¹":120,"º":121,"»":122,"¼":123,"½":124,"¾":125,"¿":126,"À":127,"Á":128,"Â":129,"Ã":130,"Ä":131,"Å":132,"Æ":133,"Ç":134,"È":135,"É":136,"Ê":137,"Ë":138,"Ì":139,"Í":140,"Î":141,"Ï":142,"Ð":143,"Ñ":144,"Ò":145,"Ó":146,"Ô":147,"Õ":148,"Ö":149,"×":150,"Ø":151,"Ù":152,"Ú":153,"Û":154,"Ü":155,"Ý":156,"Þ":157,"ß":158,"à":159,"á":160,"â":161,"ã":162,"ä":163,"å":164,"æ":165,"ç":166,"è":167,"é":168,"ê":169,"ë":170,"ì":171,"í":172,"î":173,"ï":174,"ð":175,"ñ":176,"ò":177,"ó":178,"ô":179,"õ":180,"ö":181,"÷":182,"ø":183,"ù":184,"ú":185,"û":186,"ü":187,"ý":188,"þ":189,"ÿ":190,"Ā":191,"ā":192,"Ă":193,"ă":194,"Ą":195,"ą":196,"Ć":197,"ć":198,"Ĉ":199,"ĉ":200,"Ċ":201,"ċ":202,"Č":203,"č":204,"Ď":205,"ď":206,"Đ":207,"đ":208,"Ē":209,"ē":210,"Ĕ":211,"ĕ":212,"Ė":213,"ė":214,"Ę":215,"ę":216,"Ě":217,"ě":218,"Ĝ":219,"ĝ":220,"Ğ":221,"ğ":222,"Ġ":223,"ġ":224,"Ģ":225,"ģ":226,"Ĥ":227,"ĥ":228,"Ħ":229,"ħ":230,"Ĩ":231,"ĩ":232,"Ī":233,"ī":234,"Ĭ":235,"ĭ":236,"Į":237,"į":238,"İ":239,"ı":240,"IJ":241,"ij":242,"Ĵ":243,"ĵ":244,"Ķ":245,"ķ":246,"ĸ":247,"Ĺ":248,"ĺ":249,"Ļ":250,"ļ":251,"Ľ":252,"ľ":253,"Ŀ":254,"ŀ":255,"Ł":256,"ł":257,"Ń":258,"Ġt":259,"Ġa":260,"in":261,"he":262,"re":263,"ï¼":264,"ä¸":265,"on":266,"at":267,"çļ":268,"çļĦ":269,"ï¼Į":270,"Ġs":271,"Ġc":272,"nd":273,"ãĢ":274,"er":275,"Ġthe":276,"es":277,"en":278,"or":279,"an":280,"Ġand":281,"ing":282,"Ġp":283,"it":284,"al":285,"ãĢĤ":286,"Ġo":287,"Ġw":288,"ä»":289,"Ġto":290,"is":291,"ou":292,"Ġm":293,"äº":294,"Ġin":295,"Ġf":296,"Ġb":297,"ed":298,"ion":299,"åı":300,"ic":301,"Ġd":302,"Ġof":303,"le":304,"ar":305,"ro":306,"ĠĠ":307,"åħ":308,"ent":309,"æľ":310,"Ġe":311,"åĴ":312,"è¿":313,"ä½":314,"åĴĮ":315,"æĪ":316,"å®":317,"åĪ":318,"ve":319,"us":320,"Ġre":321,"Ġh":322,"Ġth":323,"as":324,"ct":325,"çĶ":326,"om":327,"åľ":328,"å¤":329,"æĺ":330,"åĬ":331,"åIJ":332,"ä¸Ģ":333,"im":334,"è¯":335,"æĸ":336,"ation":337,"lo":338,"ç»":339,"Ġbe":340,"ãĢģ":341,"id":342,"Ġcan":343,"il":344,"æĺ¯":345,"ä¹":346,"è®":347,"ĠA":348,"Ġthat":349,"ĠT":350,"以":351,"ch":352,"Ġy":353,"ce":354,"ï¼ļ":355,"ot":356,"ers":357,"Ġn":358,"éĢ":359,"ra":360,"å°":361,"Ġg":362,"Ġyou":363,"åŃ":364,"Ġpro":365,"et":366,"åº":367,"åľ¨":368,"ly":369,"Ġis":370,"个":371,"Ġl":372,"ur":373,"Ġfor":374,"åı¯":375,"éĩ":376,"st":377,"çļĦæ":378,"ut":379,"Ġhe":380,"if":381,"ĥ½":382,"ä¼":383,"ĠI":384,"è¡":385,"ir":386,"ith":387,"å¹":388,"Ġare":389,"ig":390,"Ġst":391,"el":392,"ol":393,"å¸":394,"ul":395,"æĿ":396,"æĪij":397,"Ġon":398,"è¦":399,"æľī":400,"æĹ":401,"å¯":402,"è§":403,"è¦ģ":404,"Ġus":405,"ay":406,"æķ":407,"çī":408,"ow":409,"ment":410,"ç͍":411,"ess":412,"ä¸Ń":413,"们":414,"人":415,"åĩ":416,"Ġex":417,"ĠĠĠĠ":418,"åĽ":419,"åĮ":420,"å¼":421,"Ġcon":422,"se":423,"èĥ½":424,"çİ":425,"Ġan":426,"Ġwith":427,"为":428,"ate":429,"iv":430,"am":431,"Ġas":432,"ure":433,"è¿Ļ":434,"åĨ":435,"çŃ":436,"Ġor":437,"å·":438,"Ġal":439,"ies":440,"ç§":441,"Ġim":442,"æĢ":443,"ver":444,"ab":445,"äºĨ":446,"Ġsu":447,"Ġde":448,"ge":449,"th":450,"åı¯ä»¥":451,"èĢ":452,"ä¸į":453,"å¾":454,"ĠAI":455,"Ġen":456,"éĹ":457,"æī":458,"ak":459,"ive":460,"Ġmo":461,"å¥":462,"éĿ":463,"çĽ":464,"ity":465,"ä¿":466,"un":467,"è´":468,"åį":469,"Ġit":470,"Ġimp":471,"ect":472,"æł":473,"å½":474,"èĩ":475,"é¢":476,"åĵ":477,"æ³":478,"ort":479,"ad":480,"æŀ":481,"em":482,"Ġcom":483,"å¦":484,"her":485,"ere":486,"ĠS":487,"ial":488,"ĠC":489,"ĠThe":490,"çIJ":491,"çĶŁ":492,"æĦ":493,"pp":494,"æŃ":495,"æĸ¹":496,"qu":497,"Ġwh":498,"å¦Ĥ":499,"éľ":500,"ant":501,"Ġle":502,"Ġv":503,"æĭ":504,"æĬ":505,"ust":506,"æĹ¶":507,"çŃī":508,"åij":509,"对":510,"ter":511,"ld":512,"è¡Į":513,"Ġch":514,"ud":515,"éľĢ":516,"æ°":517,"æĪIJ":518,"Ġ|":519,"ac":520,"ain":521,"iz":522,"æı":523,"ions":524,"Ġha":525,"æĽ":526,"--":527,"æĿ¥":528,"ome":529,"å¿":530,"'s":531,"Ġne":532,"est":533,"ä¾":534,"um":535,"åΰ":536,"åľ°":537,"ist":538,"âĢ":539,"çī©":540,"ä¸Ģ个":541,"lp":542,"æİ":543,"èĩª":544,"Ġhelp":545,"Ġtheir":546,"æĶ":547,"ä½ľ":548,"ä¼ļ":549,"æĮ":550,"æĪij们":551,"nt":552,"äºİ":553,"åĪĨ":554,"res":555,"pe":556,"åĩº":557,"ide":558,"æĥ":559,"ĠH":560,"è¾":561,"ĠM":562,"ff":563,"æ¯":564,"od":565,"ical":566,"Ġwor":567,"ä¸Ĭ":568,"are":569,"æĽ´":570,"Ġyour":571,"ä¸ĭ":572,"èµ":573,"ations":574,"æķ°":575,"Ġte":576,"åİ":577,"çIJĨ":578,"ĠTh":579,"è¿ĩ":580,"å¹¶":581,"du":582,"éĿ¢":583,"Ġad":584,"ill":585,"æµ":586,"好":587,"oc":588,"act":589,"éľĢè¦ģ":590,"ä»ĸ":591,"å±":592,"Ġr":593,"Ġmore":594,"åѦ":595,"ç®":596,"igh":597,"äºĽ":598,"ĠB":599,"åĬ¨":600,"åĵģ":601,"èī":602,"ple":603,"Ġinc":604,"åIJĮ":605,"Ġexp":606,"ould":607,"ä½ł":608,"æį":609,"æıIJ":610,"大":611,"çݰ":612,"pt":613,"ĠP":614,"all":615,"åĬł":616,"ç§į":617,"Ġse":618,"åĬĽ":619,"out":620,"Ġhave":621,"çº":622,"ä½ĵ":623,"Ġprov":624,"åĮĸ":625,"å¤ļ":626,"å®ļ":627,"Ġused":628,"éĢļ":629,"cc":630,"è¿Ľ":631,"æ´":632,"Ġsh":633,"Ġab":634,"os":635,"Ġres":636,"ĠThis":637,"ç¨":638,"æĢ§":639,"age":640,"ri":641,"æ¸":642,"able":643,"åŃIJ":644,"Ġby":645,"åıij":646,"éĩı":647,"åºĶ":648,"Ġlo":649,"使":650,"åħ¶":651,"é«":652,"éĻ":653,"é«ĺ":654,"度":655,"è§£":656,"é£":657,"å°Ĩ":658,"æ³ķ":659,"and":660,"ä¿Ŀ":661,"ans":662,"for":663,"rom":664,"reat":665,"Ġpl":666,"çļĦç":667,"常":668,"è½":669,"Ġwe":670,"表":671,"ake":672,"æĪĸ":673,"é¢ĺ":674,"åŁ":675,"Ġme":676,"æĸĩ":677,"ther":678,"ke":679,"å®¶":680,"åIJĪ":681,"æľĢ":682,"ine":683,"Ġsome":684,"ç±":685,"éĩį":686,"æŀľ":687,"ĠW":688,"ĠE":689,"éĺ":690,"our":691,"rou":692,"çĤ":693,"æ±":694,"åħ³":695,"Ġint":696,"ance":697,"ä¹Ł":698,"éģ":699,"ĠĠĠ":700,"å®ĥ":701,"ag":702,"æ¬":703,"00":704,"è°":705,"ult":706,"yst":707,"éĹ´":708,"ç³":709,"Ġtr":710,"pl":711,"art":712,"æĦŁ":713,"æĤ":714,"ata":715,"ĠF":716,"form":717,"计":718,"Ġfrom":719,"ĠD":720,"éĹ®":721,"ight":722,"ces":723,"æį®":724,"lop":725,"ä¹ĭ":726,"Ġfe":727,"åģ":728,"velop":729,"Ġ1":730,"åĽł":731,"ks":732,"æ²":733,"Ġu":734,"å°ı":735,"ystem":736,"Ġdis":737,"ĠR":738,"gy":739,"å·¥":740,"ç¨ĭ":741,"å¢":742,"ence":743,"èĤ":744,"ç¡":745,"Ġtra":746,"å»":747,"åħ¥":748,"ign":749,"alth":750,"Ġsuch":751,"ach":752,"æĻ":753,"arn":754,"Ġdata":755,"è¶":756,"å®ŀ":757,"so":758,"Ġdevelop":759,"ç¤":760,"Ġacc":761,"ast":762,"èĢĮ":763,"Ġ\"":764,"Ġother":765,"建":766,"Ġeff":767,"ç«":768,"Ġman":769,"åħ¬":770,"åĢ":771,"çĦ":772,"ms":773,"å¼ı":774,"èī²":775,"å¾Ĺ":776,"ific":777,"Ġj":778,"Ġro":779,"Ġhas":780,"chn":781,"olo":782,"åζ":783,"èĬ":784,"使ç͍":785,"ous":786,"ual":787,"Ġat":788,"Ġem":789,"ell":790,"Ġsystem":791,"Ġhealth":792,"ities":793,"Ġexam":794,"ib":795,"éĶ":796,"Ġabout":797,"产":798,"åIJİ":799,"æĦı":800,"ç±»":801,"Ġpre":802,"æĤ¨":803,"Ġalso":804,"ents":805,"Ġind":806,"ind":807,"éĢĤ":808,"Ġtechn":809,"ress":810,"æĥħ":811,"éĹ®é¢ĺ":812,"Ġuse":813,"ï¼Ł":814,"Ġincl":815,"Ġspe":816,"ich":817,"ps":818,"æľº":819,"Ġthey":820,"ie":821,"Ġhow":822,"Ġwork":823,"ä¸ļ":824,"ç´":825,"Ġimpro":826,"Ġlearn":827,"æĸ°":828,"çĤ¹":829,"Ġcont":830,"ard":831,"çĦ¶":832,"æľ¬":833,"ç³»":834,"ç¡®":835,"设":836,"åħ·":837,"éĢī":838,"èĢħ":839,"éħ":840,"gh":841,"__":842,"Ġnot":843,"çľ":844,"缸":845,"Ġprovide":846,"åī":847,"ional":848,"Ġens":849,"ä¸İ":850,"è´¨":851,"ential":852,"ç»ı":853,"å¿ĥ":854,"ang":855,"æŃ¤":856,"end":857,"Ġpo":858,"è¿Ľè¡Į":859,"ice":860,"Ġ-":861,"Ġway":862,"å·±":863,"Ġ2":864,"ime":865,"ç½":866,"èĩªå·±":867,"Ġun":868,"bot":869,"Ġinclud":870,"ated":871,"æ°´":872,"éķ":873,"æĮģ":874,"代":875,"é¡":876,"æīĢ":877,"çĿ":878,"pport":879,"ood":880,"ike":881,"ru":882,"Ġcomm":883,"ĠL":884,"ä¿¡":885,"ĠG":886,"çŁ":887,"ç͵":888,"Ġwas":889,"low":890,"erv":891,"åĮħ":892,"ĠĠĠĠĠĠĠĠ":893,"Ġwhe":894,"dit":895,"Ġwhich":896,"Ġcomp":897,"éª":898,"ore":899,"ç¾":900,"Ġ=":901,"çī¹":902,"iff":903,"ert":904,"æģ":905,"rit":906,"Ġrec":907,"åĨħ":908,"æĺİ":909,"ors":910,"Ġpat":911,"----":912,"æŁ":913,"Ġapp":914,"ns":915,"åĬ¡":916,"aly":917,"ace":918,"æ´»":919,"ä¾Ľ":920,"av":921,"主":922,"Ġpers":923,"çĥ":924,"该":925,"Ġmy":926,"ç©":927,"eri":928,"让":929,"æĬĢ":930,"éķ¿":931,"ack":932,"ĠN":933,"Ġdiff":934,"Ġthis":935,"åĿ":936,"Ġensure":937,"å½ĵ":938,"Ġout":939,"Ġcl":940,"Ġk":941,"é¦":942,"ount":943,"çݯ":944,"åĬ©":945,"Ġtechnolo":946,"Ġthese":947,"ful":948,"éļ":949,"æ·":950,"ä¸ĢäºĽ":951,"Ġsoc":952,"å¼Ģ":953,"天":954,"Ġev":955,"Ġredu":956,"Ġthem":957,"Ġ(":958,"éĥ½":959,"æĪ·":960,"è·":961,"åľº":962,"æ°Ķ":963,"ĠY":964,"è¯Ń":965,"éĢļè¿ĩ":966,"å±ķ":967,"Ġco":968,"å½±":969,"ç¬":970,"Ġanaly":971,"æ¯Ķ":972,"åħ¨":973,"Ġimprove":974,"ç»ĵ":975,"å¹´":976,"çķ":977,"çĿĢ":978,"Ġhum":979,"Ġqu":980,"ç®Ĺ":981,"ĠO":982,"é£Ł":983,"ility":984,"Ġsystems":985,"åıĺ":986,"ail":987,"ç¼":988,"çł":989,"è¿Ļ个":990,"æıIJä¾Ľ":991,"ase":992,"åŀ":993,"ments":994,"Ġpot":995,"Ġany":996,"ä½Ĩ":997,"Ġcons":998,"ĠIt":999,"æł¼":1000,"Ġar":1001,"æľ¯":1002,"éĿŀ":1003,"Ġdo":1004,"Ġmay":1005,"æĭ©":1006,"ue":1007,"éĢīæĭ©":1008,"ry":1009,"éĥ":1010,"Ġlike":1011,"ong":1012,"èģ":1013,"``":1014,"ile":1015,"æ±Ĥ":1016,"Ġnew":1017,"ient":1018,"Ġimpact":1019,"è¿ĺ":1020,"注":1021,"ä¹Ī":1022,"缮":1023,"âĢľ":1024,"âĢĿ":1025,"ef":1026,"ä¾ĭ":1027,"Ġpotential":1028,"ok":1029,"åı¯èĥ½":1030,"Ġtrans":1031,"Ġact":1032,"ï¼ī":1033,"Ġspec":1034,"æ¶":1035,"Ġwill":1036,"交":1037,"ize":1038,"ç¾İ":1039,"å¸Ĥ":1040,"Ġstud":1041,"pon":1042,"èº":1043,"ä¸įåIJĮ":1044,"one":1045,"å¾Ī":1046,"åıĬ":1047,"å¦Ĥæŀľ":1048,"çIJĥ":1049,"ange":1050,"Ġneed":1051,"å¤ĸ":1052,"ety":1053,"aking":1054,"请":1055,"ater":1056,"Ġperson":1057,"ident":1058,"Ġso":1059,"Ġmake":1060,"å¹³":1061,"å¤Ł":1062,"身":1063,"ï¼Ī":1064,"Ġinform":1065,"æ¡":1066,"äºĭ":1067,"åıĹ":1068,"ased":1069,"ild":1070,"Ġoff":1071,"Ġthere":1072,"cis":1073,"è¢":1074,"éĥ¨":1075,"æ¯ı":1076,"ract":1077,"ass":1078,"Ġlearning":1079,"åĸ":1080,"å½¢":1081,"ire":1082,"ä»İ":1083,"bots":1084,"èĻ":1085,"帮":1086,"Ġdes":1087,"ĠIn":1088,"cess":1089,"Ġpe":1090,"ify":1091,"Ġwho":1092,"ä¹ł":1093,"æľŁ":1094,"Ġexperi":1095,"éĤ":1096,"Ġsc":1097,"ep":1098,"ä½ķ":1099,"Ġtime":1100,"éĿŀ常":1101,"æĭ¬":1102,"åķ":1103,"以ä¸ĭ":1104,"éģĵ":1105,"Ġcommun":1106,"Ġcould":1107,"ap":1108,"èIJ":1109,"è°ĥ":1110,"lic":1111,"duct":1112,"Ġits":1113,"cy":1114,"说":1115,"Ġmed":1116,"Ġcol":1117,"ular":1118,"éĩįè¦ģ":1119,"Ġsp":1120,"åĪ©":1121,"èµ·":1122,"Ġprovid":1123,"ices":1124,"åĻ":1125,"æĸĻ":1126,"Ġimport":1127,"ural":1128,"åŃĹ":1129,"Ġund":1130,"int":1131,"Ġover":1132,"åı¸":1133,"æł¹":1134,"é¥":1135,"ples":1136,"ä»ĸ们":1137,"gra":1138,"uring":1139,"now":1140,"åįķ":1141,"è¿ĻäºĽ":1142,"åīį":1143,"å®ī":1144,"Ġpr":1145,"åĮħæĭ¬":1146,"ç»Ļ":1147,"The":1148,"ä½į":1149,"å§":1150,"ç´ł":1151,"åijĺ":1152,"Ġident":1153,"åŀĭ":1154,"Ġadd":1155,"强":1156,"æĺ¯ä¸Ģ":1157,"ip":1158,"gor":1159,"Ġsupport":1160,"ne":1161,"Ġdiffere":1162,"åħĥ":1163,"Ġass":1164,"åĨ³":1165,"éĽ":1166,"åIJį":1167,"Ġgo":1168,"Ġtechnology":1169,"æĢ»":1170,"è®®":1171,"Ġinter":1172,"Ġinv":1173,"Ġour":1174,"æķĪ":1175,"ustom":1176,"Ġrel":1177,"ife":1178,"åύ":1179,"ings":1180,"ä»·":1181,"Ġpart":1182,"被":1183,"æīĭ":1184,"ary":1185,"Ġrespon":1186,"ĊĠĠĠ":1187,"好çļĦ":1188,"ative":1189,"帮åĬ©":1190,"绣":1191,"æĶ¾":1192,"ĠHere":1193,"çģ":1194,"Ġbut":1195,"æģ¯":1196,"æŃ£":1197,"ark":1198,"åħ¬åı¸":1199,"ory":1200,"å¢ĥ":1201,"lect":1202,"éŁ":1203,"æĥ³":1204,"é£İ":1205,"ating":1206,"Ġam":1207,"its":1208,"æ»":1209,"gorith":1210,"åĵį":1211,"ures":1212,"Ġeffect":1213,"Ġshould":1214,"Ġper":1215,"è±":1216,"ç²":1217,"ict":1218,"Ġalgorith":1219,"uc":1220,"rough":1221,"ä»»":1222,"ä»¶":1223,"Ġbet":1224,"ia":1225,"Ġanalyz":1226,"æł¹æį®":1227,"ized":1228,"æµģ":1229,"è§Ĥ":1230,"è£":1231,"æłĩ":1232,"iron":1233,"Ġcustom":1234,"Ġreg":1235,"Ġpersonal":1236,"èĥ½å¤Ł":1237,"ics":1238,"ivid":1239,"çĪ":1240,"èµĦ":1241,"æŃ¥":1242,"容":1243,"åĪĽ":1244,"èĪ":1245,"ä¹IJ":1246,"导":1247,"gan":1248,"èĬĤ":1249,"Ġall":1250,"ens":1251,"ame":1252,"ness":1253,"Ġup":1254,"ĠU":1255,"èĢĥ":1256,"elf":1257,"å̼":1258,"å°ij":1259,"æľį":1260,"ari":1261,"thical":1262,"viron":1263,"èĥ":1264,"ord":1265,"Ġsign":1266,"éĩĮ":1267,"ound":1268,"ople":1269,"åŁº":1270,"Ġinformation":1271,"Ġidentify":1272,"åĽŀ":1273,"Ġcre":1274,"éŁ³":1275,"ible":1276,"ub":1277,"è¿IJ":1278,"Ġlead":1279,"游":1280,"次":1281,"åĨĻ":1282,"éĤ£":1283,"get":1284,"èį":1285,"Ġexample":1286,"ä¼ĺ":1287,"å½±åĵį":1288,"ish":1289,"xt":1290,"æº":1291,"éªĮ":1292,"ob":1293,"客":1294,"å¤ĩ":1295,"åģ¥":1296,"车":1297,"社":1298,"ividual":1299,"ered":1300,"les":1301,"Ġenviron":1302,"Ġpeople":1303,"æĺŁ":1304,"çĸ":1305,"çĭ":1306,"Ġdet":1307,"æĹł":1308,"Ġif":1309,"ose":1310,"ite":1311,"å¢ŀ":1312,"éĴ":1313,"åIJĮæĹ¶":1314,"è¿°":1315,"æĸ¹å¼ı":1316,"åĽ½":1317,"é»":1318,"å¤Ħ":1319,"Ġexamples":1320,"æ®":1321,"Ġinto":1322,"æĮĩ":1323,"Ġhuman":1324,"åIJij":1325,"示":1326,"æķ°æį®":1327,"Ġ3":1328,"ĠJ":1329,"èı":1330,"çݯå¢ĥ":1331,"als":1332,"erst":1333,"Ġethical":1334,"ç»Ħ":1335,"ä¼ł":1336,"Ġdifferent":1337,"Ġknow":1338,"åºı":1339,"Ġindividual":1340,"æıIJé«ĺ":1341,"round":1342,"å°±":1343,"åıĸ":1344,"åŃĺ":1345,"两":1346,"çŁ¥":1347,"ources":1348,"ck":1349,"å£":1350,"ines":1351,"è¾¾":1352,"Ġmany":1353,"æķ´":1354,"æł·":1355,"ditional":1356,"omm":1357,"çͱ":1358,"éĢł":1359,"å®ĥ们":1360,"ues":1361,"Ġment":1362,"Ġimportant":1363,"Ġopt":1364,"Ġloc":1365,"ph":1366,"Ġprocess":1367,"Ġalgorithms":1368,"设计":1369,"Ġsocial":1370,"very":1371,"åĪĻ":1372,"ä¾ĭå¦Ĥ":1373,"认":1374,"Ġaut":1375,"Ġserv":1376,"gg":1377,"产åĵģ":1378,"è§Ħ":1379,"çľĭ":1380,"vel":1381,"æĸ¹æ³ķ":1382,"Ġben":1383,"åĽłæŃ¤":1384,"care":1385,"per":1386,"åĬŁ":1387,"建议":1388,"Ġpos":1389,"æ¤":1390,"we":1391,"åĮº":1392,"iqu":1393,"Ġreal":1394,"æĹ¥":1395,"Ġreduce":1396,"af":1397,"angu":1398,"Ġsk":1399,"Ġed":1400,"erstand":1401,"åĨµ":1402,"mot":1403,"åħĪ":1404,"ç¥":1405,"åºĶ该":1406,"Ġthrough":1407,"Ġconc":1408,"åıijå±ķ":1409,"è¯ķ":1410,"æ¡Ī":1411,"Ġenvironment":1412,"åı£":1413,"Ġadv":1414,"åĪ«":1415,"Ġbenef":1416,"æ¸ħ":1417,"åij³":1418,"åħī":1419,"Ġdevelopment":1420,"eng":1421,"å¦Ĥä½ķ":1422,"管":1423,"ivers":1424,"åIJĦ":1425,"Ġris":1426,"row":1427,"ergy":1428,"计ç®Ĺ":1429,"ä¿¡æģ¯":1430,"Ġproduct":1431,"è¾ĥ":1432,"论":1433,"èĩªå·±çļĦ":1434,"æĬ¤":1435,"åıį":1436,"åħ¶ä»ĸ":1437,"åĪĹ":1438,"ç»Ĩ":1439,"空":1440,"Ġgreat":1441,"ear":1442,"æºIJ":1443,"ject":1444,"çĶŁæ´»":1445,"ä¸ŃçļĦ":1446,"Ġunderstand":1447,"èĭ":1448,"hat":1449,"Ġprogra":1450,"çĬ":1451,"éĩij":1452,"Ġincluding":1453,"Ġaccess":1454,"ĠĠĠĠĠĠĠ":1455,"è¯Ĩ":1456,"ç¦":1457,"og":1458,"è£ħ":1459,"Ġart":1460,"Ġwrit":1461,"Ġincre":1462,"Ġph":1463,"æĸ¹éĿ¢":1464,"Ġpract":1465,"Ġusing":1466,"项":1467,"æİ¥":1468,"Ġways":1469,"Ġlangu":1470,"æĶ¯":1471,"Ġchall":1472,"åİ»":1473,"____":1474,"imate":1475,"æĸŃ":1476,"è¨":1477,"Ġwell":1478,"ll":1479,"Ġpol":1480,"æĢģ":1481,"Ġra":1482,"Can":1483,"åİŁ":1484,"ber":1485,"è¨Ģ":1486,"ç«ĭ":1487,"Ġgen":1488,"éħį":1489,"æ·±":1490,"te":1491,"ä¸ī":1492,"ç§ij":1493,"ĠFor":1494,"线":1495,"çħ":1496,"æ¼":1497,"åķĨ":1498,"æĿIJ":1499,"Ġsignific":1500,"Ġgu":1501,"Ġdecis":1502,"Ġtrain":1503,"Ġag":1504,"Ġcreat":1505,"å®Į":1506,"æĹ¶éĹ´":1507,"Ġone":1508,"èĦ":1509,"Ġnat":1510,"åŃ¦ä¹ł":1511,"çļĦæķ":1512,"ced":1513,"Ġwhen":1514,"Ġbi":1515,"èİ":1516,"æĽ´åĬł":1517,"ives":1518,"port":1519,"å·¥ä½ľ":1520,"ving":1521,"Ġbeen":1522,"æĻº":1523,"Ġlife":1524,"å¼ķ":1525,"arm":1526,"çİĩ":1527,"ç͍æĪ·":1528,"ä¹ī":1529,"份":1530,"è¯Ŀ":1531,"iness":1532,"com":1533,"康":1534,"åĩı":1535,"ä»Ģ":1536,"è¾ĵ":1537,"Ġvari":1538,"con":1539,"Ġmod":1540,"ä»Ģä¹Ī":1541,"Ġenergy":1542,"æĬĢæľ¯":1543,"ertain":1544,"mm":1545,"verall":1546,"åĪĴ":1547,"Ġrobots":1548,"Ġorgan":1549,"æİ¨":1550,"ants":1551,"åĩĨ":1552,"ds":1553,"æŀģ":1554,"çĻ":1555,"Ġrequ":1556,"Ġess":1557,"ç®Ģ":1558,"ustain":1559,"æ¨":1560,"Ġstr":1561,"cing":1562,"ability":1563,"ree":1564,"Ġeduc":1565,"åİĨ":1566,"Ġcreate":1567,"åģ¥åº·":1568,"Ġdesign":1569,"ips":1570,"åģļ":1571,"èĬ±":1572,"ink":1573,"èıľ":1574,"æī¾":1575,"段":1576,"æµĭ":1577,"ĠV":1578,"ĠBy":1579,"åĶ":1580,"é¦ĸ":1581,"è¯į":1582,"Ġwhere":1583,"Ġdisc":1584,"äºĨè§£":1585,"ric":1586,"ä¸Ķ":1587,"è¶³":1588,"æĺ¯ä¸Ģ个":1589,"arch":1590,"积":1591,"带":1592,"Ġwhile":1593,"Ġsignificant":1594,"çłģ":1595,"æĪ¿":1596,"Ġbeing":1597,"Ġlanguage":1598,"itive":1599,"20":1600,"Ġanalyze":1601,"æĻ¯":1602,"èĮ":1603,"rib":1604,"模":1605,"ĠSt":1606,"è´¹":1607,"'t":1608,"Ġhealthcare":1609,"Ġexperience":1610,"Ġ5":1611,"个人":1612,"ays":1613,"象":1614,"plo":1615,"Ġwould":1616,"èĻij":1617,"æĶ¶":1618,"é¢Ħ":1619,"é¢Ĩ":1620,"ä¿ĿæĮģ":1621,"ences":1622,"åıª":1623,"èĩ´":1624,"æĪı":1625,"Ġmental":1626,"Ġfew":1627,"ates":1628,"è¿ĩç¨ĭ":1629,"å®īåħ¨":1630,"Ġsustain":1631,"Ġwere":1632,"太":1633,"çĮ":1634,"Ġspecific":1635,"Ġworld":1636,"çŃĶ":1637,"```":1638,"Ġtake":1639,"åħ»":1640,"éĢŁ":1641,"ever":1642,"SS":1643,"éĶĢ":1644,"Ġbo":1645,"hes":1646,"Ġmus":1647,"æľįåĬ¡":1648,"è§Ĵ":1649,"ten":1650,"æŀIJ":1651,"pow":1652,"dict":1653,"vent":1654,"10":1655,"çļĦæĹ":1656,"ĸçķ":1657,"Ġprot":1658,"ç½®":1659,"Ġhigh":1660,"Ġbus":1661,"Ġindust":1662,"åIJ¦":1663,"cial":1664,"人们":1665,"ĠAs":1666,"åijĬ":1667,"ade":1668,"æĶ¹":1669,"çĹ":1670,"Ġhad":1671,"Ġher":1672,"Ġjust":1673,"ï¼Ľ":1674,"è´Ń":1675,"第":1676,"éĵ":1677,"Ġwater":1678,"Ġfood":1679,"éĺŁ":1680,"aus":1681,"Ġchalleng":1682,"åħį":1683,"æĸĩåĮĸ":1684,"Ġmost":1685,"é¸":1686,"ç½ij":1687,"缴":1688,"Ġsm":1689,"Ġactiv":1690,"ploy":1691,"Overall":1692,"å¿«":1693,"ruct":1694,"Ġindividuals":1695,"å§ĭ":1696,"gies":1697,"æŁ¥":1698,"çα":1699,"iety":1700,"In":1701,"åĪĨæŀIJ":1702,"è§Ĩ":1703,"温":1704,"ç»´":1705,"olut":1706,"åŁŁ":1707,"ommend":1708,"Ġcomple":1709,"æķĻ":1710,"Ġbu":1711,"Ġeducation":1712,"ather":1713,"Ġ4":1714,"ting":1715,"Ġfind":1716,"没":1717,"Ġhis":1718,"ä¹ĭéĹ´":1719,"Ġeffective":1720,"Ġatt":1721,"Ġrese":1722,"èĥ½åĬĽ":1723,"åŁİ":1724,"Ġallow":1725,"Ġav":1726,"Ġpromot":1727,"æĻºèĥ½":1728,"满":1729,"åħ±":1730,"iew":1731,"come":1732,"ç³»ç»Ł":1733,"Ġrespons":1734,"äºĴ":1735,"Ġcult":1736,"powered":1737,"Ġrecommend":1738,"èIJ¥":1739,"OSS":1740,"Ġchange":1741,"è¯ģ":1742,"ved":1743,"æİĴ":1744,"è§£åĨ³":1745,"ici":1746,"ĠHow":1747,"Ġfeel":1748,"æľĪ":1749,"Ġwhat":1750,"以åıĬ":1751,"Ġsee":1752,"åŃ©":1753,"bs":1754,"Ġsur":1755,"æ£":1756,"ality":1757,"Ġvis":1758,"ç¡®ä¿Ŀ":1759,"pect":1760,"å®ŀçݰ":1761,"Ġcare":1762,"广":1763,"ills":1764,"åºŃ":1765,"ases":1766,"å¤į":1767,"åºĶç͍":1768,"çļĦæĥ":1769,"ards":1770,"Ġaddress":1771,"Ġcompan":1772,"Ġinvol":1773,"Ġcustomer":1774,"åĽłä¸º":1775,"Ġstudents":1776,"Ġins":1777,"注æĦı":1778,"æŀĦ":1779,"欢":1780,"æµ·":1781,"åıĤ":1782,"èĩªçĦ¶":1783,"é©":1784,"ĠThese":1785,"wn":1786,"æĺĵ":1787,"çĬ¶":1788,"ren":1789,"Ġtreat":1790,"Ġbenefits":1791,"ĊĠĠĠĠĠĠĠ":1792,"对äºİ":1793,"æĢĿ":1794,"ider":1795,"ĠYes":1796,"ĠK":1797,"åĸľ":1798,"Ġke":1799,"Ġeng":1800,"Ġpop":1801,"ost":1802,"pare":1803,"Ġmon":1804,"款":1805,"ĠMOSS":1806,"Ġemot":1807,"Ġac":1808,"ç¼ĸ":1809,"fore":1810,"åı¥":1811,"Ġval":1812,"ily":1813,"Ġiss":1814,"èĤī":1815,"èĩ³":1816,"游æĪı":1817,"ween":1818,"Ġinclude":1819,"Ġprotect":1820,"åħ³ç³»":1821,"éĻ©":1822,"Ġsever":1823,"Ġthan":1824,"éľĢæ±Ĥ":1825,"ç»ĥ":1826,"ĠThey":1827,"iss":1828,"ys":1829,"Ġjob":1830,"éĺ³":1831,"æIJ":1832,"Ġbetween":1833,"Ġmach":1834,"--------":1835,"èĢĥèĻij":1836,"è´¨éĩı":1837,"Ġbusiness":1838,"wor":1839,"ick":1840,"eg":1841,"åħħ":1842,"ç¯":1843,"æĿ¡":1844,"ner":1845,"apt":1846,"Ġappro":1847,"Ġplay":1848,"没æľī":1849,"¤IJ":1850,"æľª":1851,"æĪĺ":1852,"å®¶åºŃ":1853,"ãĢĭ":1854,"ency":1855,"ĠCh":1856,"ãĢĬ":1857,"Ġproviding":1858,"Ġresources":1859,"âĢĻ":1860,"Ġassist":1861,"Ġnatural":1862,"è¯Ħ":1863,"便":1864,"Ġsaf":1865,"åħ·æľī":1866,"è°¢":1867,"çĥŃ":1868,"ss":1869,"eth":1870,"old":1871,"Ġperform":1872,"Ġseveral":1873,"é¤IJ":1874,"Ġeach":1875,"转":1876,"ci":1877,"Ġty":1878,"Ġpub":1879,"æ´»åĬ¨":1880,"ocus":1881,"çīĮ":1882,"è¶Ĭ":1883,"åĽ¢":1884,"è½»":1885,"è¯Ńè¨Ģ":1886,"Ġareas":1887,"éĩĩ":1888,"ft":1889,"riend":1890,"å·²":1891,"å¸Ĥåľº":1892,"ition":1893,"ients":1894,"管çIJĨ":1895,"许":1896,"人类":1897,"身ä½ĵ":1898,"ique":1899,"Ġpartic":1900,"ç»Ń":1901,"agement":1902,"ves":1903,"符":1904,"line":1905,"红":1906,"åIJ¸":1907,"Ġpatter":1908,"000":1909,"社ä¼ļ":1910,"åĨħ容":1911,"Ġorganiz":1912,"ough":1913,"Ġve":1914,"åŃ©åŃIJ":1915,"æĸ½":1916,"æ¤į":1917,"åĩł":1918,"ä½Ĩæĺ¯":1919,"Ġaff":1920,"Ġnum":1921,"lement":1922,"èīº":1923,"èij":1924,"Ġcar":1925,"ages":1926,"abor":1927,"æĺ¯ä¸Ģç§į":1928,"Ġinst":1929,"èĽ":1930,"ä¹ĭä¸Ģ":1931,"è·¯":1932,"åį³":1933,"Ġmain":1934,"éļı":1935,"How":1936,"å¿ħ":1937,"ç¨ĭåºı":1938,"éŁ³ä¹IJ":1939,"red":1940,"æ²¹":1941,"Ġoffer":1942,"ets":1943,"ç¢":1944,"Ġduring":1945,"çļĦ人":1946,"æĽ´å¤ļ":1947,"Ġdi":1948,"代çłģ":1949,"èİ·":1950,"åħĭ":1951,"Ġguid":1952,"主è¦ģ":1953,"Ġfam":1954,"æİ§":1955,"éĢļ常":1956,"ĠAd":1957,"å¤ĦçIJĨ":1958,"urn":1959,"ower":1960,"åij½":1961,"æıı":1962,"Ġskills":1963,"Ġtool":1964,"ware":1965,"æĸĩæľ¬":1966,"Ġpatterns":1967,"缮æłĩ":1968,"acy":1969,"æīĵ":1970,"åŁİå¸Ĥ":1971,"Ġevery":1972,"ries":1973,"读":1974,"éģ¿":1975,"çϽ":1976,"éĢĤåIJĪ":1977,"Ġpatient":1978,"羣":1979,"oth":1980,"她":1981,"åĶ®":1982,"ä¸Ģç§į":1983,"Ġmade":1984,"ä½İ":1985,"ise":1986,"Ġrem":1987,"æ¶Ī":1988,"åIJ«":1989,"air":1990,"Ġgener":1991,"oy":1992,"ç²¾":1993,"æĥħåĨµ":1994,"ights":1995,"Ġexpl":1996,"è§ģ":1997,"Ġpredict":1998,"ç±³":1999,"æĽ´å¥½":2000,"ä¿®":2001,"Ġclimate":2002,"Ġfocus":2003,"Ġgrow":2004,"客æĪ·":2005,"ä¸įæĸŃ":2006,"itor":2007,"ĠEn":2008,"约":2009,"æĺ¯åIJ¦":2010,"ä»ħ":2011,"æĪij们çļĦ":2012,"æľĽ":2013,"op":2014,"Ġmaking":2015,"yth":2016,"ccess":2017,"Ġown":2018,"ggest":2019,"Ġtas":2020,"uture":2021,"Ġmodel":2022,"put":2023,"Ġresearch":2024,"erest":2025,"éļ¾":2026,"Ġ[":2027,"iel":2028,"ational":2029,"Ġcommunic":2030,"ç¥ŀ":2031,"ç©¶":2032,"Ġrest":2033,"æĪIJ为":2034,"king":2035,"pr":2036,"åĮ»":2037,"cur":2038,"èĤ²":2039,"Ġ'":2040,"è¿Ļç§į":2041,"ç¯ĩ":2042,"Ġche":2043,"own":2044,"éĻħ":2045,"Ġfin":2046,"åĪ¶ä½ľ":2047,"Ġsuggest":2048,"å¢ŀåĬł":2049,"Ġmedia":2050,"ribut":2051,"çļĦæĥħ":2052,"åĬłåħ¥":2053,"Ġcle":2054,"åij¨":2055,"竳":2056,"Ġthink":2057,"Ġlocal":2058,"pportun":2059,"ĠYou":2060,"Ġplan":2061,"Ġeven":2062,"éĽĨ":2063,"å·§":2064,"ax":2065,"Ġchallenges":2066,"Ġprof":2067,"ĠCan":2068,"Ġconcer":2069,"Ġfuture":2070,"åĬ¿":2071,"Ġref":2072,"èģĶ":2073,"Ġself":2074,"æĪĸèĢħ":2075,"ble":2076,"åĽ´":2077,"è¿IJåĬ¨":2078,"Ġinf":2079,"éĩĬ":2080,"Ġsustainable":2081,"Ġtext":2082,"Ġgra":2083,"äºĮ":2084,"åĵģçīĮ":2085,"ä¸įåIJĮçļĦ":2086,"led":2087,"çĭ¬":2088,"Ġopportun":2089,"Ġcontin":2090,"ym":2091,"Ġget":2092,"å¯Ĩ":2093,"éϤ":2094,"æħ":2095,"éģ¿åħį":2096,"Ġ+":2097,"è§ī":2098,"Ġret":2099,"å¸ĥ":2100,"Ġinterest":2101,"Ġsociety":2102,"ç»ĵæŀľ":2103,"åIJ¬":2104,"é¦ĸåħĪ":2105,"Ġbre":2106,"Ġ20":2107,"ĠHowever":2108,"è®°":2109,"ons":2110,"è¿ij":2111,"å¼Ģå§ĭ":2112,"Ġbuild":2113,"Ġbeh":2114,"'m":2115,"vers":2116,"Ġgood":2117,"çIJĨè§£":2118,"resent":2119,"离":2120,"åĬŁèĥ½":2121,"Ġeffort":2122,"labor":2123,"é»ij":2124,"Ġbetter":2125,"Ġread":2126,"å¾ĭ":2127,"èĽĭ":2128,"hed":2129,"ä¹°":2130,"导èĩ´":2131,"Ġimplement":2132,"ç¿":2133,"享":2134,"头":2135,"ense":2136,"Ġlong":2137,"other":2138,"饮":2139,"åŃĺåľ¨":2140,"çļĦæĦ":2141,"ä¸Ģ份":2142,"ython":2143,"ning":2144,"åĩıå°ij":2145,"åĢĻ":2146,"ä¸ĵ":2147,"åIJĦç§į":2148,"èħ":2149,"å°½":2150,"åįĩ":2151,"æĬ¥":2152,"Ġpublic":2153,"Ġlar":2154,"ä½łçļĦ":2155,"aut":2156,"é¢ĨåŁŁ":2157,"æļ":2158,"ollow":2159,"èģĮ":2160,"Ġchang":2161,"Ġbest":2162,"hip":2163,"åĨį":2164,"akes":2165,"Ġchat":2166,"ited":2167,"Ġpower":2168,"ä¿ĿæĬ¤":2169,"书":2170,"计åĪĴ":2171,"éĩįè¦ģçļĦ":2172,"åıĺåĮĸ":2173,"ilities":2174,"Ġconsider":2175,"æĪij们åı¯ä»¥":2176,"éĤ£ä¹Ī":2177,"Ġide":2178,"æ¼Ķ":2179,"aging":2180,"Ġbased":2181,"å®Ŀ":2182,"Ġrange":2183,"Ġresult":2184,"Ġmem":2185,"çħ§":2186,"Ġlevel":2187,"cou":2188,"Ġbr":2189,"Th":2190,"ä¼ģ":2191,"建ç«ĭ":2192,"Ġunique":2193,"è®Ń":2194,"Ġmark":2195,"许å¤ļ":2196,"è¡Į为":2197,"Ķç©¶":2198,"çļĦæĬ":2199,"Ġset":2200,"骤":2201,"ts":2202,"Ġhist":2203,"Ġaround":2204,"Ġrev":2205,"åħ¶ä¸Ń":2206,"ï¼ģ":2207,"æııè¿°":2208,"æľĢåIJİ":2209,"Ġsim":2210,"nect":2211,"åĽŀçŃĶ":2212,"éĺ²":2213,"èī¯":2214,"åΰäºĨ":2215,"ä¸ĸçķ":2216,"æĸ¹æ¡Ī":2217,"æĿIJæĸĻ":2218,"ä¸ĸçķĮ":2219,"æĽ´å¥½åľ°":2220,"两个":2221,"Ġemploy":2222,"Ġtry":2223,"æĵ":2224,"Ġback":2225,"åĪĩ":2226,"Ġsuccess":2227,"Ġdecisions":2228,"Ġthose":2229,"å¯Į":2230,"Ġfact":2231,"æİ¢":2232,"è¶£":2233,"Ġpractices":2234,"åIJĹ":2235,"æīį":2236,"çİ©":2237,"ption":2238,"æĸĩ竳":2239,"Ġfeat":2240,"Ġprevent":2241,"Ġwriting":2242,"çļĦæĢ":2243,"Ġno":2244,"ä»ĭ":2245,"éŨ":2246,"Ġdel":2247,"æĴ":2248,"Ġoptim":2249,"ination":2250,"ĠĊ":2251,"usion":2252,"Ġaccount":2253,"ling":2254,"Ġdivers":2255,".\"":2256,"ath":2257,"èĭ±":2258,"ä¼ģä¸ļ":2259,"Ġgrou":2260,"åľ°çIJĥ":2261,"失":2262,"Ġpersonalized":2263,"ĠHe":2264,"表达":2265,"curity":2266,"Ġfollow":2267,"产çĶŁ":2268,"Ġear":2269,"åİĭ":2270,"vern":2271,"Ġissues":2272,"åĿĩ":2273,"é²":2274,"Ġdr":2275,"iving":2276,"Ġtraining":2277,"Ġrisk":2278,"åĩ½":2279,"åı²":2280,"æij":2281,"çļĦæĹ¶":2282,"ogn":2283,"Ġrequire":2284,"Ġenvironmental":2285,"back":2286,"éĶ®":2287,"çĸĹ":2288,"Ġinteract":2289,"åĽ¢éĺŁ":2290,"æ¯ı个":2291,"çĦ¶åIJİ":2292,"Ġdist":2293,"ç͍äºİ":2294,"认为":2295,"åĩ½æķ°":2296,"Ġsent":2297,"ĊĠĠĠĠĠĠĠĠ":2298,"Ġreducing":2299,"å¹²":2300,"Ġrep":2301,"Ġcaus":2302,"Ġmusic":2303,"çª":2304,"Ġmonitor":2305,"Ġform":2306,"é¢ľ":2307,"çĹħ":2308,"é¦Ļ":2309,"Ġoften":2310,"åı¯èĥ½ä¼ļ":2311,"åijĺå·¥":2312,"Ġhand":2313,"æĬķ":2314,"Ġneeds":2315,"æŃ¤å¤ĸ":2316,"åıĭ":2317,"ivity":2318,"Ġactivities":2319,"åĸľæ¬¢":2320,"Ġpur":2321,"ian":2322,"self":2323,"åĬ¨çī©":2324,"comes":2325,"å©":2326,"Ġpriv":2327,"az":2328,"Ġrelations":2329,"Ġmachine":2330,"çļĦæ°":2331,"ä»·æł¼":2332,"ä»·å̼":2333,"ç´¢":2334,"Ġfeed":2335,"ä¸Ģä¸ĭ":2336,"Ġteam":2337,"Ġindustry":2338,"è´¢":2339,"ĠPro":2340,"Ġwant":2341,"ç§°":2342,"Ġclass":2343,"Ġlove":2344,"åħ³äºİ":2345,"è¾ĵåħ¥":2346,"Ġtransport":2347,"Ġcomplex":2348,"Ġyear":2349,"éĶĢåĶ®":2350,"寻":2351,"ience":2352,"ists":2353,"æĶ¯æĮģ":2354,"Ġmind":2355,"Ġfun":2356,"Ġchar":2357,"æĮī":2358,"Ġconcerns":2359,"conom":2360,"ç®Ģåįķ":2361,"以ä¸ĭæĺ¯":2362,"Ġstart":2363,"å¹¶ä¸Ķ":2364,"avi":2365,"ä¸ŃåĽ½":2366,"åħĥç´ł":2367,"Ġconf":2368,"Ġpositive":2369,"Ġcur":2370,"Ġcount":2371,"ery":2372,"å¡":2373,"室":2374,"Ġcost":2375,"Ġequ":2376,"Ġpolic":2377,"aste":2378,"aw":2379,"éħĴ":2380,"coura":2381,"iven":2382,"place":2383,"chie":2384,"çļĦæķ°":2385,"åĽłç´ł":2386,"Ġfl":2387,"ism":2388,"Ġmedical":2389,"Ġhumans":2390,"Ġautom":2391,"ertainly":2392,"Ġ0":2393,"Ġoffers":2394,"Ġdetect":2395,"Ġ6":2396,"é£İæł¼":2397,"Ġshow":2398,"çģ«":2399,"Ġanim":2400,"é¢ľèī²":2401,"lease":2402,"ave":2403,"åĵª":2404,"ĠThere":2405,"以ä¸Ĭ":2406,"æľªæĿ¥":2407,"XX":2408,"çīĩ":2409,"uch":2410,"Ġtasks":2411,"åħ·ä½ĵ":2412,"æ¤įçī©":2413,"Ġmin":2414,"èīºæľ¯":2415,"icult":2416,"Ġexperiences":2417,"æİ§åζ":2418,"be":2419,"Ġpatients":2420,"å²":2421,"ĠWe":2422,"Ġrecogn":2423,"çĥ¤":2424,"Ġsmall":2425,"åĿĹ":2426,"åĦ":2427,"太éĺ³":2428,"ction":2429,"Ġent":2430,"æį¢":2431,"Ġbefore":2432,"Ġbecome":2433,"å·²ç»ı":2434,"表çݰ":2435,"Ġexplo":2436,"Ġachie":2437,"ä»»åĬ¡":2438,"大çļĦ":2439,"Ġday":2440,"Ġfound":2441,"å±±":2442,"ond":2443,"Ġtreatment":2444,"pend":2445,"hen":2446,"Ġcondit":2447,"ç¡®å®ļ":2448,"Ġbusinesses":2449,"ĠWh":2450,"æīĢæľī":2451,"Ġdeveloped":2452,"ç»Ī":2453,"æŃ¥éª¤":2454,"Ġdifficult":2455,"åı·":2456,"ĠRe":2457,"éĶĻ":2458,"Ġcho":2459,"Ġquest":2460,"Ġtranspare":2461,"Ġproject":2462,"Ġcommunity":2463,"ov":2464,"å¸Ī":2465,"å¼ł":2466,"åĪĨç±»":2467,"人çļĦ":2468,"sis":2469,"çĽĬ":2470,"oid":2471,"ĠAn":2472,"ways":2473,"Ġeas":2474,"Ġaffect":2475,"Ġothers":2476,"Ġregul":2477,"æĢ§åĴĮ":2478,"åĸĦ":2479,"agn":2480,"ä½ľä¸º":2481,"åı¯ä»¥å¸®åĬ©":2482,"åĦ¿":2483,"Ġorganizations":2484,"鸡":2485,"åħ´":2486,"Ġfriend":2487,"Ġ$":2488,"Ġdetail":2489,"Ġtraditional":2490,"Ġdesigned":2491,"è´Ńä¹°":2492,"ä½ĵéªĮ":2493,"ç»į":2494,"erm":2495,"Ġconnect":2496,"è¿Ļæł·":2497,"Ġrecommendations":2498,"Ġboth":2499,"ŁéĢļ":2500,"æ¯į":2501,"Ġsit":2502,"ä½ľç͍":2503,"ä»ĭç»į":2504,"Ġste":2505,"ĠSure":2506,"åı°":2507,"æĤ¨çļĦ":2508,"Ġshe":2509,"Ġmanagement":2510,"joy":2511,"è´Ł":2512,"Ġpromote":2513,"Ġvarious":2514,"(\"":2515,"por":2516,"Ġsens":2517,"Ġessential":2518,"gether":2519,"ularly":2520,"äºī":2521,"irst":2522,"Ġop":2523,"Ġspecies":2524,"çİ°åľ¨":2525,"cho":2526,"Ġbehavi":2527,"çŃij":2528,"女":2529,"Ġquality":2530,"Ġext":2531,"è¥":2532,"å®ĮæĪIJ":2533,"æĢ»ä¹ĭ":2534,"éĥ¨åĪĨ":2535,"ä»İèĢĮ":2536,"åĽ¾":2537,"Ġtyp":2538,"Ġstrate":2539,"西":2540,"Ġhere":2541,"ars":2542,"å¸Į":2543,"çļĦæĿ":2544,"å°Ŀ":2545,"ee":2546,"ier":2547,"Ġec":2548,"ically":2549,"ering":2550,"念":2551,"ĠDe":2552,"Ġneg":2553,"建çŃij":2554,"Ġservices":2555,"Ġable":2556,"imes":2557,"Ġoptions":2558,"缸åħ³":2559,"Ġsub":2560,"Ġdecision":2561,"ĠCertainly":2562,"Ġåľ¨":2563,"æ¢":2564,"Ġservice":2565,"):":2566,"带æĿ¥":2567,"Ġchild":2568,"è§£éĩĬ":2569,"irt":2570,"çĨ":2571,"ä¸įä»ħ":2572,"æĿ¾":2573,"积æŀģ":2574,"ron":2575,"åı¤":2576,"çłĶç©¶":2577,"ç²ī":2578,"hor":2579,"Ġprofess":2580,"çļĦéĹ®é¢ĺ":2581,"Ġopportunities":2582,"åİĨåı²":2583,"Ġdef":2584,"ĠAm":2585,"Ġgr":2586,"aur":2587,"å±Ĥ":2588,"çŃĸ":2589,"Ġpopular":2590,"æ´ģ":2591,"åıijçݰ":2592,"Ġpoem":2593,"èµĽ":2594,"Ġob":2595,"Ġdon":2596,"Ġsound":2597,"Ġtransportation":2598,"ious":2599,"åı¦":2600,"Ġrole":2601,"Ġfiel":2602,"ç§ijåѦ":2603,"èĢģ":2604,"reen":2605,"æľīæķĪ":2606,"Ġcor":2607,"Ġfeedback":2608,"Ġtechnologies":2609,"交éĢļ":2610,"Ġadapt":2611,"'re":2612,"ervation":2613,"Ġcommunities":2614,"çݰ代":2615,"Ġlook":2616,"Ġfac":2617,"ç͵影":2618,"Ġcollect":2619,"å¾Ĺåΰ":2620,"hips":2621,"Ġavail":2622,"eren":2623,"ä¸Ģèµ·":2624,"çīĽ":2625,"Ġposs":2626,"Ġweather":2627,"Ġefforts":2628,"¿Ģ":2629,"æĹħ":2630,"oh":2631,"Ġcollabor":2632,"æĭ¥":2633,"æĪIJåĬŁ":2634,"èİ·å¾Ĺ":2635,"å±ħ":2636,"Ġtre":2637,"Ġsources":2638,"Ġstudy":2639,"Ġprograms":2640,"éĻIJ":2641,"Ġtips":2642,"Ġmarket":2643,"ally":2644,"害":2645,"wards":2646,"æ£Ģ":2647,"ä¸Ģç¯ĩ":2648,"rior":2649,"Ġtop":2650,"Ġend":2651,"åĭ":2652,"Ġlarge":2653,"iciency":2654,"Ġdec":2655,"å®ļçļĦ":2656,"icient":2657,"è¿ĩç¨ĭä¸Ń":2658,"lications":2659,"缺":2660,"Ġtour":2661,"Ġtogether":2662,"人工":2663,"Ġtools":2664,"æĸ¯":2665,"æ°ij":2666,"æĬĬ":2667,"ä¹ĭéĹ´çļĦ":2668,"çī¹çĤ¹":2669,"Ġbel":2670,"ditionally":2671,"åĪ©ç͍":2672,"è¾¹":2673,"éĻį":2674,"ĠIf":2675,"é¢Ŀ":2676,"åįı":2677,"å¾Ģ":2678,"lish":2679,"è¯ī":2680,"ins":2681,"奶":2682,"Ġeconom":2683,"Ġinvest":2684,"ĠDo":2685,"tain":2686,"åĩºçݰ":2687,"çļĦå½±åĵį":2688,"aterial":2689,"Ġsure":2690,"Ġpass":2691,"çĶ»":2692,"è´£":2693,"ç»ĵæŀĦ":2694,"æķħ":2695,"æĥħæĦŁ":2696,"æ¿Ģ":2697,"ellig":2698,"ä¼Ĺ":2699,"æ¯Ķè¾ĥ":2700,"tern":2701,"Ġoutcomes":2702,"up":2703,"Ġbeaut":2704,"read":2705,"çĶŁæĪIJ":2706,"æķ°åŃĹ":2707,"Ġdem":2708,"ires":2709,"åı¯ä»¥éĢļè¿ĩ":2710,"æĸ°çļĦ":2711,"Ġdeep":2712,"å¨":2713,"çĭĹ":2714,"åħ³æ³¨":2715,"çĶŁåij½":2716,"ä¼łç»Ł":2717,"Ġstay":2718,"æŃĮ":2719,"åħ³éĶ®":2720,"Ġplace":2721,"主é¢ĺ":2722,"å¾Īå¤ļ":2723,"èĪĴ":2724,"Ġprofessional":2725,"yle":2726,"æĽ²":2727,"19":2728,"Ġessay":2729,"Ġgive":2730,"ç³ĸ":2731,"Ġonly":2732,"æŁIJ":2733,"Ġphys":2734,"对è¯Ŀ":2735,"Ġcontro":2736,"Ġamount":2737,"cept":2738,"ization":2739,"ç¼ĸåĨĻ":2740,"åıĹåΰ":2741,"Ġalways":2742,"æ¯Ķå¦Ĥ":2743,"Ġprivacy":2744,"au":2745,"________":2746,"Ġresponsible":2747,"()":2748,"çŃīçŃī":2749,"Ġmaterial":2750,"Ġonline":2751,"é¼":2752,"æĶ¿":2753,"åĽĽ":2754,"Ġenjoy":2755,"åľŁ":2756,"Ġsafety":2757,"Ġtw":2758,"Ġcommunication":2759,"丽":2760,"æĺ¾":2761,"olution":2762,"erg":2763,"įä½ľ":2764,"Ġuser":2765,"Ġemotional":2766,"time":2767,"é¾":2768,"Ġsecurity":2769,"Ġsense":2770,"elines":2771,"åĬ±":2772,"çī©è´¨":2773,"ura":2774,"Ġshare":2775,"Ġanalyzing":2776,"ital":2777,"é±":2778,"irtual":2779,"Ġvisit":2780,"bers":2781,"Ġcour":2782,"Ġproble":2783,"设å¤ĩ":2784,"atch":2785,"land":2786,"é±¼":2787,"æĪij们éľĢè¦ģ":2788,"稳":2789,"ibility":2790,"Ġefficiency":2791,"声":2792,"èĴ":2793,"æľºåύ":2794,"Ġclear":2795,"åζå®ļ":2796,"izing":2797,"Ġconditions":2798,"lusion":2799,"Ġlow":2800,"Ġlim":2801,"hers":2802,"Ġrisks":2803,"ç¿»":2804,"Ġlet":2805,"åĴĸ":2806,"å¿ĥçIJĨ":2807,"è¿ľ":2808,"print":2809,"Ġchanges":2810,"Ġmeas":2811,"Ġimproving":2812,"Ġcrit":2813,"50":2814,"å¸ĮæľĽ":2815,"Ġaud":2816,"åįĹ":2817,"æĹłæ³ķ":2818,"Ġnegative":2819,"é¡¹çĽ®":2820,"und":2821,"ats":2822,"Ġcompanies":2823,"æī¾åΰ":2824,"Ġcontribut":2825,"æŃ£ç¡®":2826,"é»Ħ":2827,"å±ŀ":2828,"Ġunderstanding":2829,"Ġmult":2830,"Ġclo":2831,"å¾ģ":2832,"Ġprior":2833,"rim":2834,"人工æĻºèĥ½":2835,"Ġvariety":2836,"Ġtaking":2837,"åĤ":2838,"aster":2839,"ody":2840,"Ġ{":2841,"çļĦéĩįè¦ģ":2842,"Ġfore":2843,"èµĦæºIJ":2844,"è¦ģæ±Ĥ":2845,"Ġfeatures":2846,"èįī":2847,"me":2848,"èĮĥ":2849,"Ġoper":2850,"级":2851,"é²ľ":2852,"æĬĢå·§":2853,"ijæĪĺ":2854,"ç±»åŀĭ":2855,"æĿ¿":2856,"软":2857,"ew":2858,"Ġrestaur":2859,"Ġwithout":2860,"ructure":2861,"çļĦæĺ¯":2862,"çı":2863,"Ġlist":2864,"urate":2865,"Ġbook":2866,"亲":2867,"åºĹ":2868,"ä¹Łæĺ¯":2869,"ä»»ä½ķ":2870,"Ġcam":2871,"ĠBe":2872,"Ġgovern":2873,"Ġbehavior":2874,"è®Ńç»ĥ":2875,"Ġfamily":2876,"æĿĤ":2877,"Ġcity":2878,"Ġapproach":2879,"Ġaccurate":2880,"Ġsom":2881,"Ġel":2882,"èĪŀ":2883,"èŀ":2884,"åŁºæľ¬":2885,"Ġdise":2886,"Ġencoura":2887,"ĠWhat":2888,"åĥ":2889,"详":2890,"¦Ĥ":2891,"å·¥åħ·":2892,"åķ¡":2893,"Ġstill":2894,"chool":2895,"æĦŁåΰ":2896,"çĶŁçī©":2897,"åĴĸåķ¡":2898,"åĩĨå¤ĩ":2899,"Ġwaste":2900,"Ġevents":2901,"æķĻèĤ²":2902,"Ġ8":2903,"Ġmust":2904,"ied":2905,"asing":2906,"å½¢æĪIJ":2907,"Ġproducts":2908,"åħ¸":2909,"讲":2910,"fter":2911,"å·®":2912,"less":2913,"Ġcro":2914,"Ġfinan":2915,"åıįåºĶ":2916,"åĪĽéĢł":2917,"Ġguidelines":2918,"åΤ":2919,"ä½ľåĵģ":2920,"表示":2921,"å¼Ĥ":2922,"Ġknown":2923,"Ġtest":2924,"误":2925,"ope":2926,"Ġusers":2927,"AI":2928,"å¾·":2929,"new":2930,"追":2931,"iques":2932,"模åŀĭ":2933,"åĬĽåĴĮ":2934,"Ġhistory":2935,"ĠAl":2936,"æĬķèµĦ":2937,"å°Ŀè¯ķ":2938,"ank":2939,"Ġhome":2940,"éĴŁ":2941,"丰":2942,"èĪĴéĢĤ":2943,"Ġincrease":2944,"Ġhab":2945,"åĪ»":2946,"è¾ĵåĩº":2947,"Ġleading":2948,"Ġ7":2949,"é£İéĻ©":2950,"Ġperformance":2951,"Ġhapp":2952,"åŃ£":2953,"Ġstand":2954,"ty":2955,"ç¦ı":2956,"Ġcustomers":2957,"åįİ":2958,"Ġbelie":2959,"Ġcompany":2960,"å½ķ":2961,"é£Łçī©":2962,"ĠUn":2963,"Ġsumm":2964,"rent":2965,"ĠCon":2966,"éĢĤéĩı":2967,"anced":2968,"Ġi":2969,"Ġlight":2970,"Ġanalysis":2971,"å°Ĭ":2972,"ĠUse":2973,"ouse":2974,"ted":2975,"Ġcharact":2976,"Ġ#":2977,"to":2978,"绾":2979,"ä¸įæĺ¯":2980,"Ġdeveloping":2981,"åŁ¹":2982,"Ġstrategies":2983,"Ġmight":2984,"çŁŃ":2985,"çļĦæİ":2986,"Ġfirst":2987,"èĥĮ":2988,"çĮ«":2989,"Ġincludes":2990,"åĽŃ":2991,"Ġdiagn":2992,"Ġgrowth":2993,"ä¸ĵä¸ļ":2994,"Ġdoes":2995,"12":2996,"绿":2997,"Ġkeep":2998,"详ç»Ĩ":2999,"åĥı":3000,"åıijçĶŁ":3001,"fact":3002,"åı¯ä»¥åľ¨":3003,"ç«Ļ":3004,"æĭī":3005,"æµİ":3006,"Ġchatbots":3007,"Ġbreak":3008,"è¡¡":3009,"çŁ³":3010,"æĮģç»Ń":3011,"life":3012,"Ġ10":3013,"æ´Ĺ":3014,"ĠAdditionally":3015,"士":3016,"ember":3017,"Ġgoals":3018,"å¾®":3019,"Ġview":3020,"·":3021,"ove":3022,"åŁºç¡":3023,"Ġoptimize":3024,"Ġtem":3025,"Ġdown":3026,"åŁºç¡Ģ":3027,"è¶ħ":3028,"ercis":3029,"Ġless":3030,"ees":3031,"æĿĥ":3032,"Ġkey":3033,"Ġworks":3034,"讨":3035,"åı¥åŃIJ":3036,"Ġrobot":3037,"uss":3038,"åħ¨çIJĥ":3039,"ç»ıæµİ":3040,"æīįèĥ½":3041,"egr":3042,"ä»ĸ们çļĦ":3043,"äºĶ":3044,"èµ·æĿ¥":3045,"çĵ":3046,"Ġfactors":3047,"Ġcultural":3048,"æľ¨":3049,"Ġworking":3050,"ä¼¼":3051,"èIJ½":3052,"éĢŁåº¦":3053,"ä½ı":3054,"Ġeffects":3055,"å©ļ":3056,"br":3057,"åİħ":3058,"rain":3059,"\")":3060,"åѦçĶŁ":3061,"\",":3062,"Ġpar":3063,"atform":3064,"Ġensuring":3065,"çͱäºİ":3066,"Ġmuch":3067,"Ġwords":3068,"Ġmar":3069,"ç»ıéªĮ":3070,"为äºĨ":3071,"åIJĪä½ľ":3072,"ven":3073,"Ġ/":3074,"Ġfinancial":3075,"work":3076,"ories":3077,"æ²»":3078,"Ġtechniques":3079,"æĭ¥æľī":3080,"rap":3081,"å°Ķ":3082,"Ġest":3083,"Ġavailable":3084,"Ġlit":3085,"æ¹":3086,"Ġefficient":3087,"els":3088,"over":3089,"Ġland":3090,"Ġarea":3091,"Ġintellig":3092,"Ġpref":3093,"ature":3094,"çŁ¥è¯Ĩ":3095,"æĵįä½ľ":3096,"å¾ħ":3097,"igate":3098,"çļĦæĶ":3099,"Ġmean":3100,"bo":3101,"Ġcontrol":3102,"éĩĩç͍":3103,"ricult":3104,"Ġprogramm":3105,"Ġtowards":3106,"thing":3107,"ä¸įè¦ģ":3108,"Ġthough":3109,"彩":3110,"Ġcertain":3111,"Ġwild":3112,"ä»Ĭ":3113,"Ġconservation":3114,"çŁ¥éģĵ":3115,"Ġreally":3116,"çļĦåľ°":3117,"io":3118,"饰":3119,"Ġful":3120,"çݯä¿Ŀ":3121,"Ġexplore":3122,"çļĦæ¸":3123,"Ġdiverse":3124,"åĬłå¼º":3125,"çļ®":3126,"Ġemotions":3127,"Ġavoid":3128,"'ll":3129,"çļĦæī":3130,"åį¡":3131,"Ġplatform":3132,"ances":3133,"Ġsitu":3134,"ä»ĺ":3135,"ä½įç½®":3136,"oring":3137,"çĽIJ":3138,"ä¸ĩ":3139,"Ġdev":3140,"nov":3141,"ash":3142,"Ġtwo":3143,"å®ł":3144,"bon":3145,"èµ°":3146,"åĪĹ表":3147,"Ġcy":3148,"èįIJ":3149,"ĠSome":3150,"Ġexplain":3151,"Ġaware":3152,"社交":3153,"day":3154,"åıĮ":3155,"æ²ŁéĢļ":3156,"æ°§":3157,"å¼Ģåıij":3158,"åħ¬åı¸çļĦ":3159,"Ġair":3160,"åĩ»":3161,"aring":3162,"éĥ½æĺ¯":3163,"Ġlevels":3164,"ods":3165,"Ġsteps":3166,"Ġcap":3167,"æ´ŀ":3168,"马":3169,"Ġreturn":3170,"Ġmet":3171,"çĶŁæĢģ":3172,"丰å¯Į":3173,"æŁĵ":3174,"æīĢ以":3175,"é¡»":3176,"Ġer":3177,"Ġfra":3178,"30":3179,"èĵ":3180,"âĢĶ":3181,"Ġå½ĵ":3182,"ah":3183,"ä¿ĥ":3184,"Ġlikely":3185,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":3186,"åĪĿ":3187,"Ġcreating":3188,"Ġfarm":3189,"Ġbal":3190,"Ġlives":3191,"å®ĥçļĦ":3192,"Ġability":3193,"ä¸ĬçļĦ":3194,"Ġsentence":3195,"åĤ¨":3196,"Ġrout":3197,"Ġprovides":3198,"Ġagain":3199,"å®łçī©":3200,"éĢIJ":3201,"Ġyears":3202,"èŀį":3203,"Ġphysical":3204,"Python":3205,"ĠEx":3206,"iting":3207,"è°ĥæķ´":3208,"ç½ij绾":3209,"æħ¢":3210,"空éĹ´":3211,"åĽ°":3212,"è±Ĩ":3213,"æĽ´å¤ļçļĦ":3214,"ĠAr":3215,"Ġmaintain":3216,"å®ŀéĻħ":3217,"Ġtravel":3218,"Ġsat":3219,"pro":3220,"ç͵åŃIJ":3221,"æ±½":3222,"ex":3223,"åģĩ":3224,"æIJŃ":3225,"éļıçĿĢ":3226,"è¿ĺæľī":3227,"礼":3228,"ale":3229,"Ġconsum":3230,"ĊĠ":3231,"ncy":3232,"Ġquestions":3233,"fort":3234,"making":3235,"Ġdesc":3236,"15":3237,"Ġinvolves":3238,"Ġstress":3239,"åŃĹ符":3240,"here":3241,"Ġimpacts":3242,"Ġexercis":3243,"åĿļ":3244,"ledge":3245,"ç§ijæĬĢ":3246,"oci":3247,"Ġeffectively":3248,"æ¶Īè´¹":3249,"Ġconclusion":3250,"éĺħ":3251,"Ġstre":3252,"issions":3253,"æ·»":3254,"It":3255,"éĿĻ":3256,"Ġvirtual":3257,"è¡£":3258,"Ġachieve":3259,"ource":3260,"è¿ŀ":3261,"acks":3262,"è¡¨æł¼":3263,"Ġimportance":3264,"èĩªæĪij":3265,"These":3266,"num":3267,"çļĦæł":3268,"Ġrelationships":3269,"Ġworkers":3270,"gical":3271,"orpor":3272,"erson":3273,"åij¢":3274,"nds":3275,"æİ¨èįIJ":3276,"ohn":3277,"å¿ħé¡»":3278,"容æĺĵ":3279,"ĠGo":3280,"Ġtell":3281,"ĠRes":3282,"onom":3283,"Ġbec":3284,"æ³Ľ":3285,"pos":3286,"Ġmove":3287,"Ġstory":3288,"æŃ¢":3289,"Ġpriorit":3290,"Ġindustries":3291,"èľ":3292,"Ġpossible":3293,"ĠMan":3294,"Ġexpress":3295,"abilities":3296,"Ġintegr":3297,"代表":3298,"Ġrespond":3299,"åĪĨéĴŁ":3300,"æľºä¼ļ":3301,"Ġthings":3302,"交æµģ":3303,"Ġmeth":3304,"urther":3305,"Ġwide":3306,"èijĹ":3307,"æĪijçļĦ":3308,"ĸçķ¥":3309,"ides":3310,"ething":3311,"ĠWhile":3312,"pan":3313,"çŃĸçķ¥":3314,"Ġcent":3315,"Ġplease":3316,"ology":3317,"uracy":3318,"循":3319,"ward":3320,"nce":3321,"Ġthen":3322,"çªģ":3323,"å¥ĩ":3324,"Ġblo":3325,"ai":3326,"æŀĹ":3327,"ç®Ĺæ³ķ":3328,"综":3329,"Ġprint":3330,"aces":3331,"lu":3332,"ªæĸ½":3333,"pre":3334,"çļĦæĦı":3335,"Ġsol":3336,"Ġoverall":3337,"hold":3338,"Ġes":3339,"çļĦä¸Ģ":3340,"éģĩ":3341,"Ġpopul":3342,"å°ı说":3343,"æ³¢":3344,"åįģ":3345,"ä¹Łåı¯ä»¥":3346,"é£Łåĵģ":3347,"Ġcontent":3348,"å°Ħ":3349,"Ġrequires":3350,"æ£ĢæŁ¥":3351,"ĊĠĠĠĠĠĠĠĠĠĠĠ":3352,"Ġgroups":3353,"Ġfair":3354,"Ġbl":3355,"å®ŀéªĮ":3356,"æĮīçħ§":3357,"osp":3358,"str":3359,"ä¸įèĥ½":3360,"Ġharm":3361,"Ġprodu":3362,"çļĦæĬĢ":3363,"çĩ":3364,"tle":3365,"Ġanimals":3366,"è§Ĵèī²":3367,"lev":3368,"æ¸IJ":3369,"å¤įæĿĤ":3370,"Ġdepend":3371,"æĮijæĪĺ":3372,"åĮħåIJ«":3373,"Ġhelps":3374,"Ġopen":3375,"Ġnet":3376,"ĠĠĠĠĠ":3377,"Ġstrong":3378,"Ġjour":3379,"å¹¿æ³Ľ":3380,"æķ´ä¸ª":3381,"Ġelect":3382,"Ġresponse":3383,"åįķè¯į":3384,"æľĭ":3385,"Ġ<":3386,"åĮĸåѦ":3387,"éĴĪ":3388,"Ġquick":3389,"ually":3390,"Ġsomething":3391,"Ġtrack":3392,"度åĴĮ":3393,"erences":3394,"æłij":3395,"Ġaccuracy":3396,"Ġexc":3397,"é£ŀ":3398,"Ġfield":3399,"寻æī¾":3400,"éħ¸":3401,"Ġhope":3402,"çij":3403,"Ġinnov":3404,"绪":3405,"alk":3406,"Ġtypes":3407,"Ġdid":3408,"åĬª":3409,"Ġcall":3410,"è¯Ĺ":3411,"Ġearly":3412,"ĠOne":3413,"app":3414,"Ġcommon":3415,"æľĢç»Ī":3416,"Ġcheck":3417,"Ġsym":3418,"çĤĴ":3419,"æĬĢèĥ½":3420,"Ġenh":3421,"Ġagricult":3422,"Ġimm":3423,"ç»ĩ":3424,"满足":3425,"Ġschool":3426,"bal":3427,"Ġfollowing":3428,"based":3429,"Ġwebs":3430,"Ġculture":3431,"ĠCom":3432,"way":3433,"ä¸Ģå®ļ":3434,"åķĨåĵģ":3435,"ude":3436,"çļĦåıijå±ķ":3437,"çĶŁäº§":3438,"osystem":3439,"Ġplant":3440,"åı¶":3441,"åIJĥ":3442,"ä»ĸçļĦ":3443,"der":3444,"询":3445,"å®¶åħ·":3446,"Ġfree":3447,"ç§»":3448,"æİĮ":3449,"Ġbody":3450,"Ġpresent":3451,"Ġparticularly":3452,"Ġchildren":3453,"Ġstudent":3454,").":3455,"çī¹å¾ģ":3456,"èĶ":3457,"éĺħ读":3458,"æķĪçİĩ":3459,"Ġprogram":3460,"éħ±":3461,"åıĺå¾Ĺ":3462,"ix":3463,"Ġcome":3464,"çļĦæ²":3465,"ĠTe":3466,"ĠTo":3467,"åħ±åIJĮ":3468,"Ġemployees":3469,"说æĺİ":3470,"Ġheart":3471,"Ġmot":3472,"æľĭåıĭ":3473,"eric":3474,"è¯ij":3475,"Ġcurrent":3476,"æĪIJæľ¬":3477,"Ġtoo":3478,"çݩ家":3479,"åĪĽæĸ°":3480,"Ġecosystem":3481,"常è§ģ":3482,"ä¸ĢæŃ¥":3483,"Ġpres":3484,"Ġmulti":3485,"åijĬè¯ī":3486,"严":3487,"Ġmit":3488,"Ġaction":3489,"çĨŁ":3490,"Ġhabit":3491,"åı£æĦŁ":3492,"ç®±":3493,"Ġuses":3494,"å¢ŀ强":3495,"ç»Ļåĩº":3496,"Ġ9":3497,"Ġdep":3498,"Ġeconomic":3499,"æĢ§çļĦ":3500,"18":3501,"åĨ°":3502,"Ġhelped":3503,"åIJ¸å¼ķ":3504,"çİĭ":3505,"Ġdiagnos":3506,"åł":3507,"èģĶç³»":3508,"群":3509,"ç»ĥä¹ł":3510,"æĪIJéķ¿":3511,"Ġpoint":3512,"å®ļæľŁ":3513,"åij¼":3514,"èį¯":3515,"æĿ¯":3516,"æ¤Ĵ":3517,"æķĪæŀľ":3518,"Ġspecial":3519,"æ··":3520,"åĩłä¸ª":3521,"ause":3522,"éĨ":3523,"æ¯ĶèµĽ":3524,"è·Ŀ":3525,"What":3526,"Ġtimes":3527,"icles":3528,"Ġ*":3529,"ç´§":3530,"å¦Ĥæŀľä½ł":3531,"çĭ¬çī¹":3532,"çģµ":3533,"ç¨İ":3534,"Ġcarbon":3535,"Ġbias":3536,"åĬ©äºİ":3537,"Ġconst":3538,"èĩªçͱ":3539,"æĿ¥è¯´":3540,"å°±æĺ¯":3541,"åį°":3542,"Ġmeet":3543,"è§ĦåĪĴ":3544,"çļĦç¾":3545,"èIJ¥åħ»":3546,"ators":3547,"稳å®ļ":3548,"ode":3549,"çħ®":3550,"Ġassoci":3551,"å¿Ĺ":3552,"è¡ĮæĺŁ":3553,"æĿİ":3554,"Ġreview":3555,"åĩĢ":3556,"ĠRo":3557,"Ġknowledge":3558,"以便":3559,"æµĭè¯ķ":3560,"åIJĪéĢĤ":3561,"sc":3562,"å½¢å¼ı":3563,"Ġfriends":3564,"Ġnature":3565,"Ġcritical":3566,"æ´ĭ":3567,"Ġafter":3568,"erve":3569,"Ġrece":3570,"çļĦæŃ":3571,"汽车":3572,"çķĮ":3573,"Ġloss":3574,"Ġapplications":3575,"å¤ļç§į":3576,"éĶħ":3577,"串":3578,"Ġinsp":3579,"---":3580,"ĠSh":3581,"Ġvol":3582,"lut":3583,"oks":3584,"sequ":3585,"Ġbir":3586,"åIJĪçIJĨ":3587,"Ġnecess":3588,"æĪijæĥ³":3589,"çŃīæĸ¹éĿ¢":3590,"é¼ĵ":3591,"Ġsoft":3592,"Ġlive":3593,"å°ıæĺİ":3594,"ĠInd":3595,"Ġbring":3596,"æĺ¯æĮĩ":3597,"Ġsoil":3598,"ilar":3599,"举":3600,"æĿ¡ä»¶":3601,"Ġtri":3602,"亮":3603,"Ġmom":3604,"æı¡":3605,"ä¼°":3606,"ŀäºī":3607,"çĽij":3608,"èĤ¤":3609,"è´¢åĬ¡":3610,"æ·»åĬł":3611,"é¥®é£Ł":3612,"Ġallowing":3613,"åºķ":3614,"Ġright":3615,"Ġexpert":3616,"Ġsupp":3617,"Ġinit":3618,"çļĦæµ":3619,"arget":3620,"Ġexpect":3621,"Ġ19":3622,"Ġmeasures":3623,"olutions":3624,"just":3625,"arc":3626,"å°ļ":3627,"Ġpractice":3628,"æľīåĬ©äºİ":3629,"大éĩı":3630,"',":3631,"iment":3632,"Ġcontinue":3633,"Ġdiscuss":3634,"100":3635,"éļľ":3636,"çļĦæĦŁ":3637,"Ġreflect":3638,"itation":3639,"åį«":3640,"äºĨä¸Ģ":3641,"ney":3642,"ĠLe":3643,"ised":3644,"è¶ĭ":3645,"äºĨä¸Ģ个":3646,"Ġincreasing":3647,"çļĦæĮ":3648,"Ġstru":3649,"æĢ»ç»ĵ":3650,"ely":3651,"å®ĩ":3652,"Ġauthor":3653,"表éĿ¢":3654,"Ġx":3655,"æķħäºĭ":3656,"emic":3657,"Ġrepresent":3658,"ger":3659,"Ġincreased":3660,"ones":3661,"ains":3662,"Ġtrained":3663,"Ġfish":3664,"Ġstate":3665,"åĨ·":3666,"çĶŁéķ¿":3667,"Ġrenew":3668,"ording":3669,"åĮĹ":3670,"æİªæĸ½":3671,"平衡":3672,"Ġsuccessful":3673,"ä¸ĭéĿ¢":3674,"Ġactivity":3675,"èĮ¶":3676,"éĢĤåºĶ":3677,"èĦij":3678,"æİ¢ç´¢":3679,"ffic":3680,"ç»ĦæĪIJ":3681,"atives":3682,"äºļ":3683,"Ġscen":3684,"æ²Ļ":3685,"gress":3686,"使å¾Ĺ":3687,"æī¿":3688,"Ġdiscrim":3689,"Ġassistants":3690,"Ġexist":3691,"çķĻ":3692,"Ġspace":3693,"æľĢè¿ij":3694,"Ġideas":3695,"éĩĩåıĸ":3696,"light":3697,"注éĩį":3698,"çļĦæĹ¶éĹ´":3699,"è¿İ":3700,"Ġcomb":3701,"éĢĤå½ĵ":3702,"Ġyourself":3703,"rite":3704,"ason":3705,"åĮĢ":3706,"åı¯ä»¥ä½¿ç͍":3707,"åħħ满":3708,"Ġvalues":3709,"æ½":3710,"Ġbiases":3711,"ä¿ĥè¿Ľ":3712,"åľºæĻ¯":3713,"ross":3714,"åį³åı¯":3715,"Ġcru":3716,"Ġnumber":3717,"Ġtype":3718,"rast":3719,"åĩĨç¡®":3720,"This":3721,"Ġpast":3722,"çģ¯":3723,"å®ļä¹ī":3724,"Ġsolutions":3725,"Ġter":3726,"ä¿Ŀè¯ģ":3727,"èͬ":3728,"幸":3729,"åī§":3730,"åħ´è¶£":3731,"åª":3732,"ention":3733,"avor":3734,"Ġscient":3735,"åĬªåĬĽ":3736,"Ġproviders":3737,"Ġpolicies":3738,"alu":3739,"ĠIm":3740,"Ġallows":3741,"Ġintelligence":3742,"çļĦæĸ¹æ³ķ":3743,"è¿Ļæĺ¯":3744,"Ġ`":3745,"Ġemissions":3746,"Ġå°Ĩ":3747,"Ġmeaning":3748,"Ġstyle":3749,"åİŁåĽł":3750,"Ġstrugg":3751,"çļĦç¾İ":3752,"iful":3753,"dition":3754,"éĥ½æľī":3755,"空æ°Ķ":3756,"å®ĥ们çļĦ":3757,"ä¼ĺåĮĸ":3758,"Ġinflu":3759,"åŁºäºİ":3760,"Ġdetails":3761,"Ġtransparency":3762,"Ġmess":3763,"ĠCl":3764,"Ġgame":3765,"pri":3766,"è¶ĭåĬ¿":3767,"å½Ĵ":3768,"ç¿»è¯ij":3769,"æķ£":3770,"By":3771,"éŃ":3772,"ĠAmeric":3773,"Ġproduction":3774,"Ġincorpor":3775,"æĻļ":3776,"Ġinvolve":3777,"Ġhot":3778,"æĻ®":3779,"by":3780,"Ġflow":3781,"Ġemerg":3782,"座":3783,"Ġidea":3784,"åİĭåĬĽ":3785,"éĿĴ":3786,"oms":3787,"èģĮä¸ļ":3788,"Ġreport":3789,"Ġpap":3790,"Ġtherap":3791,"Ġsal":3792,"åıĤä¸İ":3793,"æĸĩåѦ":3794,"æIJŃéħį":3795,"oot":3796,"),":3797,"Ġcr":3798,"Ġprocesses":3799,"gin":3800,"å¹³åı°":3801,"å¯Ł":3802,"Ġpromoting":3803,"æļĸ":3804,"akehold":3805,"ç»§":3806,"iver":3807,"æ¦Ĥ":3808,"Ġmodels":3809,"Ġdra":3810,"èĸ":3811,"Ġgroup":3812,"è¶³å¤Ł":3813,"Ġgreen":3814,"Ġhealthy":3815,"Ġcomfort":3816,"Ġadditional":3817,"ä¸Ģ次":3818,"é¤IJåİħ":3819,"Ġmaterials":3820,"Ġmanage":3821,"çļĦæ¯":3822,"伤":3823,"åıĬæĹ¶":3824,"Ġglo":3825,"Ġstat":3826,"å¿«éĢŁ":3827,"Ġmonitoring":3828,"aily":3829,"rand":3830,"oice":3831,"resh":3832,"ç»Ħç»ĩ":3833,"Ġunder":3834,"Ġnecessary":3835,"Ġhelpful":3836,"ĠCol":3837,"é»ijæ´ŀ":3838,"åģļåĩº":3839,"Ġcourse":3840,"Ġmat":3841,"Ġleg":3842,"Ġface":3843,"令":3844,"èī¯å¥½çļĦ":3845,"ock":3846,"åĮ»çĸĹ":3847,"çĽĸ":3848,"idence":3849,"Ġassociated":3850,"Ġprogress":3851,"åľĨ":3852,"Ġeveryone":3853,"ç¼ĵ":3854,"ĠEng":3855,"word":3856,"èĵĿ":3857,"天æ°Ķ":3858,"Ġactions":3859,"ems":3860,"ĠPl":3861,"å®Ļ":3862,"ush":3863,"顾":3864,"Ġcosts":3865,"ator":3866,"ç©¿":3867,"Ġamounts":3868,"èͬèıľ":3869,"..":3870,"Ġmanner":3871,"Ġconsequ":3872,"æ°ĶåĢĻ":3873,"Ġinsights":3874,"being":3875,"atory":3876,"ener":3877,"lex":3878,"Ġmeans":3879,"Ġcollaboration":3880,"Ġperspect":3881,"orm":3882,"priate":3883,"å°Ĭéĩį":3884,"Ġtarget":3885,"è®°å½ķ":3886,"åĢĴ":3887,"Ġrenewable":3888,"æĦ¿":3889,"èĥ½æºIJ":3890,"Ġinput":3891,"å®ĩå®Ļ":3892,"ape":3893,"Ġadjust":3894,"eries":3895,"Ġdire":3896,"ä¾Ŀ":3897,"ustr":3898,"fect":3899,"Ġbeautiful":3900,"Ġdue":3901,"reci":3902,"çĮ®":3903,"èĥĮæĻ¯":3904,"èĤ¡":3905,"Ġdam":3906,"ik":3907,"Ġadvanced":3908,"çĽ¸å¯¹":3909,"åIJįç§°":3910,"Ġshort":3911,"Ġobject":3912,"è¿ĻéĩĮ":3913,"éĢłæĪIJ":3914,"èIJ¥éĶĢ":3915,"çļĦæĥħæĦŁ":3916,"票":3917,"Ġcountries":3918,"ining":3919,"istic":3920,"Ġplans":3921,"责任":3922,"Ġstakehold":3923,"the":3924,"Ġassess":3925,"æĢĿèĢĥ":3926,"ech":3927,"æĪIJåijĺ":3928,"21":3929,"Ġdaily":3930,"Ġcomput":3931,"çļĦæĥħåĨµ":3932,"æıIJåĩº":3933,"ĠâĢľ":3934,"åªĴ":3935,"ä¸Ńå¿ĥ":3936,"ished":3937,"ĠSe":3938,"onomous":3939,"ern":3940,"ç»´æĬ¤":3941,"ames":3942,"Ġprioritize":3943,"纸":3944,"èĤ¥":3945,"Ġtemper":3946,"æ¸ħæ´ģ":3947,"use":3948,"污":3949,"Ġminim":3950,"æĺ¯åľ¨":3951,"大å°ı":3952,"åĵªäºĽ":3953,"Ġappreci":3954,"reng":3955,"Ġregulations":3956,"ĠZ":3957,"éĶĻ误":3958,"rans":3959,"èĢĮä¸Ķ":3960,"èά":3961,"èij±":3962,"èĨ":3963,"æ°´å¹³":3964,"è´Ńçī©":3965,"åŃĹ符串":3966,"对æĸ¹":3967,"Ġhim":3968,"Ġconsequences":3969,"å·´":3970,"é¼ĵåĬ±":3971,"Ġfil":3972,"人åijĺ":3973,"è·Ŀ离":3974,"ĠWhen":3975,"çļĦæ°´":3976,"çī©çIJĨ":3977,"åIJĮæĹ¶ä¹Ł":3978,"åľ¨è¿Ļ个":3979,"åħ¶æ¬¡":3980,",\"":3981,"æ¶²":3982,"çĶ·":3983,"ival":3984,"åı¯ä»¥è®©":3985,"æĥ¯":3986,"Ġadvance":3987,"Ġveh":3988,"å¦ĤæŀľæĤ¨":3989,"Ġestab":3990,"ript":3991,"端":3992,"ä¸įä¼ļ":3993,"Ġtransparent":3994,"æķ°éĩı":3995,"çĽĺ":3996,"Ġspeak":3997,"Ġpark":3998,"Ġstakeholders":3999,"éº":4000,"Ġevent":4001,"çļĦæķ°æį®":4002,"èĩªåĬ¨":4003,"ç»ĨèĬĤ":4004,"è¯Ħä¼°":4005,"润":4006,"Ġpreferences":4007,"Ġveget":4008,"æįŁ":4009,"equ":4010,"Ġgl":4011,"Ġpain":4012,"ogra":4013,"Ġtraffic":4014,"Ġoce":4015,"ä¹ĺ":4016,"ext":4017,"âĢĿï¼Į":4018,"Ġanother":4019,"å¤ļå°ij":4020,"Ġagainst":4021,"ç»ıåİĨ":4022,"计ç®Ĺæľº":4023,"èĢIJ":4024,"软件":4025,"ĠPre":4026,"Ġplants":4027,"缸äºĴ":4028,"é¢ij":4029,"\\_":4030,"Ġsame":4031,"rug":4032,"Ġvalu":4033,"Ġocc":4034,"çļĦç¤":4035,"Ġsustainability":4036,"ĠShe":4037,"de":4038,"ote":4039,"Ġdig":4040,"NA":4041,"Ġcrucial":4042,"æī§":4043,"å±Ģ":4044,"æĭŁ":4045,"æĭĮ":4046,"Ġnon":4047,"Ġengaging":4048,"Ġintern":4049,"LP":4050,"温度":4051,"æł¸":4052,"æĬ¥åijĬ":4053,"æĿ¥è¶Ĭ":4054,"hood":4055,"ä¸ī个":4056,"å¦Ĥä¸ĭ":4057,"çī©ä½ĵ":4058,"force":4059,"Ġneeded":4060,"Ġimages":4061,"Ġbuilding":4062,"icious":4063,"ĠæĪij":4064,"è¶ĬæĿ¥è¶Ĭ":4065,"æĶ¾åħ¥":4066,"go":4067,"éĻįä½İ":4068,"å½ĵåľ°":4069,"æ¶Īè´¹èĢħ":4070,"ç£":4071,"iversity":4072,"é¢Ħç®Ĺ":4073,"icle":4074,"æ··åIJĪ":4075,"Ġparticip":4076,"Ġdishes":4077,"Ġthroughout":4078,"Ġwithin":4079,"åı³":4080,"é«ĺçļĦ":4081,"Ġphot":4082,"Ġtrust":4083,"æĦıè¯Ĩ":4084,"以确ä¿Ŀ":4085,"çĬ¶æĢģ":4086,"Ġautomation":4087,"11":4088,"Ġpost":4089,"æīĭæľº":4090,"works":4091,"éĢı":4092,"åºĵ":4093,"Ġwind":4094,"Ġ==":4095,"Ġprocessing":4096,"èĮĥåĽ´":4097,"æĦıä¹ī":4098,"追æ±Ĥ":4099,"é":4100,"å¾Ħ":4101,"éĿł":4102,"ä¸ĸ":4103,"èϽ":4104,"ç«ŀäºī":4105,"Ġappropriate":4106,"æĽ´å¥½çļĦ":4107,"Ġcharacter":4108,"cl":4109,"ç§ĺ":4110,"itude":4111,"Ġteac":4112,"leep":4113,"ĠDevelop":4114,"ince":4115,"å·¦":4116,"ground":4117,"è¡Įä¸ļ":4118,"éĴĪ对":4119,"å¿ħè¦ģ":4120,"Ġdeterm":4121,"----------------":4122,"Ġstreng":4123,"do":4124,"Ġchallenging":4125,"ork":4126,"Ġanx":4127,"èī²çļĦ":4128,"Ġhard":4129,"æĺİç¡®":4130,"åĪĨ享":4131,"æĶ¹åıĺ":4132,"ä½³":4133,"åıªæľī":4134,"å±ķ示":4135,"Ġcamp":4136,"纳":4137,"aj":4138,"etic":4139,"ument":4140,"ä½łåı¯ä»¥":4141,"Ġpollut":4142,"Ġhig":4143,"pping":4144,"ead":4145,"çĦ¶èĢĮ":4146,"第äºĮ":4147,"鸣":4148,"çī©åĵģ":4149,"举":4150,"Ġencourage":4151,"pecial":4152,"Ġacross":4153,"elves":4154,"äºĭä»¶":4155,"cle":4156,"æ©":4157,"åªĴä½ĵ":4158,"ners":4159,"Ġcal":4160,"èϽçĦ¶":4161,"åĽº":4162,"ä¹łæĥ¯":4163,"Ġsafe":4164,"èĥ½éĩı":4165,"istics":4166,"ä¹ĭåīį":4167,"Ġissue":4168,"å¤ļ个":4169,"åĨ³çŃĸ":4170,"è¾¾åΰ":4171,"æĹ©":4172,"ä¸įåı¯":4173,"ä¸Ģ缴":4174,"å·¨":4175,"æĦŁè°¢":4176,"ĠNew":4177,"ä¸Ģ段":4178,"Ġmachines":4179,"å°Ĩåħ¶":4180,"ç»§ç»Ń":4181,"Ġword":4182,"çī¹åĪ«":4183,"Ġagriculture":4184,"æĢİ":4185,"éĢIJæ¸IJ":4186,"éĵ¾":4187,"课":4188,"Ġkind":4189,"å¢Ļ":4190,"谢谢":4191,"Ġalgorithm":4192,"è£ħ饰":4193,"Ġalong":4194,"Ġeasy":4195,"äºij":4196,"è§£åĨ³æĸ¹æ¡Ī":4197,"Ġawareness":4198,"'ve":4199,"æĸ¹åIJij":4200,"Ġnever":4201,"Ġquickly":4202,"Ġrespect":4203,"çļĦæĻ":4204,"Ġamong":4205,"Ġaccountability":4206,"Ġlaw":4207,"ening":4208,"Ġdefin":4209,"Ġsurround":4210,"éĵģ":4211,"Ġpowerful":4212,"An":4213,"Ġcause":4214,"æ¥":4215,"æİĮæı¡":4216,"è¿ĺæĺ¯":4217,"Ġcreative":4218,"è¡Ģ":4219,"Ġlocated":4220,"unning":4221,"åľ°åĮº":4222,"éĿ¢ç§¯":4223,"鼨":4224,"Ġnear":4225,"Ġiniti":4226,"ression":4227,"ä¸ĭæĿ¥":4228,"25":4229,"é©¶":4230,"¾çĹħ":4231,"ables":4232,"æľīè¶£":4233,"循çݯ":4234,"çŃĶæ¡Ī":4235,"çł´":4236,"ication":4237,"éĻ¢":4238,"æ²»çĸĹ":4239,"Ġaddition":4240,"äºĭæĥħ":4241,"Ġbecause":4242,"åıĪ":4243,"èĤĮ":4244,"纪":4245,"side":4246,"æĭħ":4247,"湿":4248,"åįĬ":4249,"顺":4250,"ĠAnd":4251,"Ġrestaurant":4252,"Ġvide":4253,"Ġproblem":4254,"azing":4255,"Ġmembers":4256,"Ġnut":4257,"Ġcou":4258,"浪":4259,"Ġè¿Ļ":4260,"Ġhelping":4261,"ĠIs":4262,"æıIJåįĩ":4263,"ĠĠĠĠĠĠ":4264,"Ġsho":4265,"Ġrelev":4266,"Ġarg":4267,"Ġbalance":4268,"illed":4269,"æĺ¯ä»Ģä¹Ī":4270,"åĬĽéĩı":4271,"ired":4272,"å¤ľ":4273,"åı¯æĮģç»Ń":4274,"Ġperfect":4275,"**":4276,"ification":4277,"æ¶ī":4278,"Ġwildlife":4279,"ane":4280,"Ġrelated":4281,"室åĨħ":4282,"åºľ":4283,"享åıĹ":4284,"ours":4285,"è·ij":4286,"åķĨä¸ļ":4287,"aching":4288,"Ġsun":4289,"Ġrecognition":4290,"elt":4291,"Ġorder":4292,"å¹³åĿĩ":4293,"ging":4294,"临":4295,"çĤ¼":4296,"Ġgoing":4297,"åij¼åIJ¸":4298,"Ġsoftware":4299,"Ġremot":4300,"èijĹåIJį":4301,"幸ç¦ı":4302,"Ġenhance":4303,"èĻļ":4304,"Ġnow":4305,"Ġthreat":4306,"Ġdest":4307,"åĿĩåĮĢ":4308,"Ġacad":4309,"åºĶ对":4310,"çľĭåΰ":4311,"cast":4312,"è¾Ĩ":4313,"ificial":4314,"Ġvery":4315,"ook":4316,"åĮºåŁŁ":4317,"¹ģ":4318,"æĪ¿éĹ´":4319,"æıIJä¾ĽäºĨ":4320,"Ġmotiv":4321,"Ġaccessible":4322,"åĨ³å®ļ":4323,"Ġhy":4324,"å®Ī":4325,"Ġflo":4326,"ug":4327,"Ġinformed":4328,"åĵģè´¨":4329,"çļĦçŁ":4330,"aves":4331,"arr":4332,"ĠWith":4333,"let":4334,"è§ĤçĤ¹":4335,"enge":4336,"è¡ĮåĬ¨":4337,"friend":4338,"ç³ķ":4339,"Ġfurther":4340,"ĠEns":4341,"ç§ģ":4342,"Ġado":4343,"Ġclean":4344,"缸åºĶ":4345,"Ġfre":4346,"pecially":4347,"èĹ":4348,"Ġcapt":4349,"çļĦçľ":4350,"Ġsomeone":4351,"Ġcell":4352,"æĶ¾åľ¨":4353,"欢è¿İ":4354,"ĠâĢ":4355,"Ġdevices":4356,"çļĦæĸ¹å¼ı":4357,"Ġjobs":4358,"augh":4359,"not":4360,"æľīäºĽ":4361,"åħ¬åħ±":4362,"gest":4363,"çļĦçĶŁæ´»":4364,"çľ¼":4365,"çļĦä¿¡æģ¯":4366,"ĠCons":4367,"æİĴåºı":4368,"Ġbenefit":4369,"rect":4370,"å¤ı":4371,"unte":4372,"符åIJĪ":4373,"ä¸Ģä½į":4374,"åĨħéĥ¨":4375,"Ġlooking":4376,"ding":4377,"æĬĺ":4378,"è¾ij":4379,"è¿Ļ个éĹ®é¢ĺ":4380,"Ġespecially":4381,"çľł":4382,"âĢĿãĢĤ":4383,"å¥ı":4384,"ray":4385,"è¿ĺåı¯ä»¥":4386,"åĪĽä½ľ":4387,"coming":4388,"Ġmultiple":4389,"éļIJ":4390,"泡":4391,"æłĩåĩĨ":4392,"Ġmil":4393,"éľĢè¦ģ注æĦı":4394,"Ġanxiety":4395,"æĶ¹è¿Ľ":4396,"å±ĭ":4397,"污æŁĵ":4398,"ç¼ĸç¨ĭ":4399,"è´¹ç͍":4400,"Ġevalu":4401,"imately":4402,"Ġliter":4403,"ograph":4404,"Ġsearch":4405,"16":4406,"enced":4407,"Ġmethods":4408,"çĥĪ":4409,"模å¼ı":4410,"çĬ¶åĨµ":4411,"æĶ¹åĸĦ":4412,"å¤ļæł·":4413,"cer":4414,"å¥ĸ":4415,"Ġsatis":4416,"Ġwebsite":4417,"åĬŀ":4418,"åģ¥èº«":4419,"Ġglobal":4420,"Ġask":4421,"Ġplatforms":4422,"Ġdiseases":4423,"çݰ象":4424,"tics":4425,"æ±ģ":4426,"åΤæĸŃ":4427,"Ġconvers":4428,"Ġrelationship":4429,"设置":4430,"æ³ķå¾ĭ":4431,"Ġmindful":4432,"é¢Ħæµĭ":4433,"overy":4434,"åģľ":4435,"ç͵è§Ĩ":4436,"è§ĦåĪĻ":4437,"aken":4438,"Ġimplementing":4439,"ising":4440,"åıĤåĬł":4441,"æĥħ绪":4442,"Ġprovided":4443,"æ·±åħ¥":4444,"Ġprogrammed":4445,"Ġrelevant":4446,"çļĦçĥ":4447,"çĸ¾çĹħ":4448,"åĮ»çĶŁ":4449,"åĪĽå»º":4450,"Ġgenerate":4451,"æĶ¶åħ¥":4452,"ä¼ij":4453,"izes":4454,"Ġtransform":4455,"éģµ":4456,"astic":4457,"åijĪ":4458,"æ¯ı个人":4459,"è¿Ķ":4460,"iet":4461,"Ġvoice":4462,"éĢĶ":4463,"æĶ¾æĿ¾":4464,"åį´":4465,"èĥľ":4466,"Ġstructure":4467,"æĹ¶å°ļ":4468,"ĠQ":4469,"Ġelse":4470,"duc":4471,"Ġemp":4472,"èģļ":4473,"è´§":4474,"aches":4475,"ç§Ģ":4476,"anks":4477,"Ġnight":4478,"Ġprofessionals":4479,"Ġbas":4480,"è´µ":4481,"ec":4482,"Ġdiversity":4483,"ites":4484,"dr":4485,"åĽ°éļ¾":4486,"ĥåľ":4487,"åŀĥåľ":4488,"åŀĥåľ¾":4489,"Ġdrug":4490,"碳":4491,"Ġname":4492,"åĮĸçļĦ":4493,"aid":4494,"æľĢ大":4495,"æijĦ":4496,"ç®ĢåįķçļĦ":4497,"Ġwarm":4498,"Ġdone":4499,"Ġfunction":4500,"asc":4501,"强è°ĥ":4502,"Ġdemand":4503,"Ġvisual":4504,"Ġupd":4505,"æŃ£åľ¨":4506,"Ġsimilar":4507,"éĢĴ":4508,"æ¯Ľ":4509,"éĶ»":4510,"ently":4511,"Ġvaluable":4512,"Ġdisaster":4513,"ä¸Ģèά":4514,"æ´²":4515,"ĠReg":4516,"Ġdiscrimination":4517,"åĨĻä¸Ģç¯ĩ":4518,"Ġgovernment":4519,"Ġ好çļĦ":4520,"500":4521,"lying":4522,"Ġprev":4523,"Ġprepare":4524,"Ġproblems":4525,"è·³":4526,"Ġprom":4527,"åĨ²":4528,"å®īè£ħ":4529,"éĶ»çĤ¼":4530,"æµĵ":4531,"è¹":4532,"åºĶç͍ç¨ĭåºı":4533,"ng":4534,"Ġcompet":4535,"åĪĨåĪ«":4536,"ological":4537,"审":4538,"Ġtransl":4539,"Ġdirect":4540,"åīĤ":4541,"Ġsuggestions":4542,"Ġpaper":4543,"Ġrecognize":4544,"ton":4545,"Ġmitigate":4546,"讨论":4547,"äºĴåĬ¨":4548,"ĠEar":4549,"Ġamazing":4550,"cre":4551,"é¦Ī":4552,"Ġinvolved":4553,"face":4554,"æľīåħ³":4555,"))":4556,"Ġexce":4557,"Ġproductivity":4558,"èŃ":4559,"é¦Ĩ":4560,"Ġsounds":4561,"Ġidentifying":4562,"],":4563,"é¾Ļ":4564,"Ġfit":4565,"Ġcontribute":4566,"ths":4567,"friendly":4568,"ele":4569,"ified":4570,"iveness":4571,"itely":4572,"ĠX":4573,"Ġled":4574,"åĿı":4575,"Ġhistor":4576,"Ġdat":4577,"Ġjourney":4578,"Ġ}":4579,"Ġselect":4580,"漫":4581,"Ġconduct":4582,"è¿Ľä¸ĢæŃ¥":4583,"ç»ĻæĪij":4584,"Ġlif":4585,"è£ħä¿®":4586,"为ä»Ģä¹Ī":4587,"京":4588,"Ġnav":4589,"Ġwhole":4590,"ç¹ģ":4591,"åĨľ":4592,"æĶ»":4593,"Ġbreat":4594,"Ġmiss":4595,"é¾Ħ":4596,"tt":4597,"sw":4598,"Ġbar":4599,"请éĹ®":4600,"èģĶç½ij":4601,"Ġattract":4602,"æĤ¨åı¯ä»¥":4603,"One":4604,"åħħåĪĨ":4605,"ring":4606,"Ġå½ĵçĦ¶":4607,"ream":4608,"Ġevol":4609,"Ġsn":4610,"ĠEm":4611,"mosp":4612,"Ġchoose":4613,"view":4614,"Ġarr":4615,"Ġsleep":4616,"ended":4617,"æŀ¶":4618,"Ġvehicles":4619,"Ġfresh":4620,"Ġorganization":4621,"è¿Ļ段":4622,"汤":4623,"ĠInt":4624,"Ġcontext":4625,"åı¦å¤ĸ":4626,"Ġocean":4627,"æĦŁåıĹ":4628,"Ġpollution":4629,"urb":4630,"æī§è¡Į":4631,"ersonal":4632,"ĠHealth":4633,"ä¼ĺçĤ¹":4634,"Ġattention":4635,"æľīçĿĢ":4636,"é£ŁæĿIJ":4637,"Ġerr":4638,"çļĦæĿ¥":4639,"çļĦçĪ":4640,"èѦ":4641,"è·Ł":4642,"æĹħè¡Į":4643,"èĴľ":4644,"çļĦæĢĿ":4645,"Ġchatbot":4646,"çļĦéľĢæ±Ĥ":4647,"çķ¥":4648,"Ġfeeling":4649,"Ġimplemented":4650,"社åĮº":4651,"çļĦ建议":4652,"æIJħ":4653,"éĹ»":4654,"åıįé¦Ī":4655,"缴æİ¥":4656,"æĺ¥":4657,"itable":4658,"æĪijä¼ļ":4659,"åį±":4660,"èī¯å¥½":4661,"Ġliving":4662,"åıĺéĩı":4663,"ĠBut":4664,"Ġcomplete":4665,"Ġtrends":4666,"Ġmakes":4667,"ä»Ĭ天":4668,"Ġdistribut":4669,"Ġcommit":4670,"Ġatmosp":4671,"ä¼´":4672,"Ġsensors":4673,"Ġsw":4674,"æĹłè®º":4675,"omen":4676,"æĶ¿åºľ":4677,"Ġchallenge":4678,"Ġturn":4679,"çIJĨ论":4680,"par":4681,"Ġwrite":4682,"ç»ıåħ¸":4683,"emember":4684,"é¥Ń":4685,"æĸ¹ä¾¿":4686,"Ġcu":4687,"Ġvalue":4688,"Ġfund":4689,"pose":4690,"è°ĥæŁ¥":4691,"çĿ¡":4692,"Ġcommunicate":4693,"Ġdisease":4694,"Ġresearc":4695,"Ġlack":4696,"arning":4697,"ĠPark":4698,"çĦ¦":4699,"é«ĺ度":4700,"Ġrather":4701,"宣":4702,"çζ":4703,"éĺ¶":4704,"订":4705,"çĥ§":4706,"Ġhigher":4707,"Ġsummary":4708,"ĠAut":4709,"çļĦæ³":4710,"Ġele":4711,"isms":4712,"Ġreli":4713,"ä¹Łä¼ļ":4714,"fra":4715,"åijĬè¯īæĪij":4716,"æĬ½":4717,"Ġsituations":4718,"Ġmarine":4719,"æĥ³è¦ģ":4720,"inci":4721,"inal":4722,"Ġgain":4723,"Ġdifference":4724,"æľºåĻ¨äºº":4725,"æµģç¨ĭ":4726,"ĠChat":4727,"ç½ijç«Ļ":4728,"æľ«":4729,"Ġcolor":4730,"Ġaspect":4731,"ç½Ĺ":4732,"ĠEduc":4733,"Ġdeploy":4734,"Ġbeauty":4735,"æĤ£":4736,"ruction":4737,"itut":4738,"æĿŁ":4739,"让æĪij们":4740,"éķ¿åº¦":4741,"ules":4742,"æ¶īåıĬ":4743,"Ġdigital":4744,"Ġexisting":4745,"ĠOr":4746,"\\_\\_":4747,"Ġbackground":4748,"çĹĩ":4749,"æ¯ı天":4750,"python":4751,"Ġfarmers":4752,"Ġcontinu":4753,"\":":4754,"Ġgiven":4755,"å°ıæĹ¶":4756,"Ġmoment":4757,"200":4758,"John":4759,"éĿ¢å¯¹":4760,"Ġintro":4761,"Ġtherapy":4762,"è¿ĶåĽŀ":4763,"å¹¶åľ¨":4764,"Ġz":4765,"Ġafford":4766,"ä¸Ŀ":4767,"宽":4768,"ĠÃ":4769,"ĠNational":4770,"èĥ¡":4771,"Ġexercise":4772,"æIJħæĭĮ":4773,"æĶ¯ä»ĺ":4774,"éĺ³åħī":4775,"è¯ļ":4776,"Ġsect":4777,"ĠSu":4778,"å¢ŀéķ¿":4779,"ç¾İ丽":4780,"Ġwa":4781,"以ä¸ĭæĺ¯ä¸ĢäºĽ":4782,"èĽĭç³ķ":4783,"Ġill":4784,"æ¸ħæĻ":4785,"etry":4786,"梦":4787,"ç¾İåĽ½":4788,"ä»į":4789,"oney":4790,"Ġecosystems":4791,"æĮĩ导":4792,"def":4793,"99":4794,"æŁĶ":4795,"pped":4796,"Ġlimit":4797,"çİī":4798,"Ġacademic":4799,"Ġrestaurants":4800,"Ġhead":4801,"ä¿¡ä»»":4802,"asters":4803,"å²ģ":4804,"akers":4805,"14":4806,"As":4807,"æł¡":4808,"é«ĺæķĪ":4809,"phas":4810,"yn":4811,"ç¨ĭ度":4812,"è¾£":4813,"ä¸ĬéĿ¢":4814,"å®¶å±ħ":4815,"term":4816,"ç¾İé£Ł":4817,"Ġovers":4818,"å®ĺ":4819,"Ġindic":4820,"ĠYour":4821,"St":4822,"形象":4823,"è´¡":4824,"åºĬ":4825,"ĠSc":4826,"agra":4827,"羣æŃ£":4828,"oint":4829,"ids":4830,"arent":4831,"éĵ¶":4832,"èģĬ":4833,"Ġregular":4834,"ä¼ĺç§Ģ":4835,"Ġcolle":4836,"çĸij":4837,"Ġsubject":4838,"Ġgreater":4839,"Ġstore":4840,"åŁ¹è®Ń":4841,"Ġimag":4842,"Ġansw":4843,"ä½Ļ":4844,"Ġspot":4845,"åĪĨåŃIJ":4846,"Ġaudience":4847,"pet":4848,"Ġvers":4849,"Ġtrail":4850,"åĭĩ":4851,"erous":4852,"Ġguidance":4853,"Ġspeech":4854,"åĵ²":4855,"æĺ¯çͱ":4856,"è´¡çĮ®":4857,"åIJĪéĢĤçļĦ":4858,"设æĸ½":4859,"ä»ĸ人":4860,"ensive":4861,"å̾":4862,"aling":4863,"Ġprojects":4864,"å³":4865,"Ġtakes":4866,"绩":4867,"That":4868,"Ġbro":4869,"ived":4870,"Ġ&":4871,"åĿIJ":4872,"placement":4873,"è¿ŀæİ¥":4874,"çļĦ社":4875,"ĠTra":4876,"Ġrelax":4877,"ufact":4878,"éģį":4879,"Ġsurv":4880,"åı£åij³":4881,"Ġcreativity":4882,"of":4883,"å¨ģ":4884,"çļĦçł":4885,"Ġbreath":4886,"Ġplaces":4887,"Ġdescrib":4888,"èĭ±è¯Ń":4889,"Ġdamage":4890,"oration":4891,"为æĤ¨":4892,"ift":4893,"Ġcase":4894,"å¹´é¾Ħ":4895,"Ġpress":4896,"çĶľ":4897,"éĩİ":4898,"æĹħ游":4899,"Ġtaken":4900,"ined":4901,"Ġconcept":4902,"æĴŃ":4903,"Ġinteresting":4904,"è·µ":4905,"Ġsea":4906,"60":4907,"Ġfoot":4908,"ĠName":4909,"Ġresearchers":4910,"éĢģ":4911,"Ġwee":4912,");":4913,"çļĦåħ³éĶ®":4914,"ä¼½":4915,"elebr":4916,"å¡ij":4917,"We":4918,"ç»ı常":4919,"Ġpopulations":4920,"åħ¬å¼ı":4921,"orn":4922,"çĩĥ":4923,"人çĶŁ":4924,"17":4925,"æİ¥åıĹ":4926,"Ġlocation":4927,"Ġinequ":4928,"Ġintervent":4929,"Ġinterested":4930,"Ġdefinitely":4931,"Ġassistance":4932,"è¿Ļä¸Ģ":4933,"åIJĪåIJĮ":4934,"ä¼ĺåĬ¿":4935,"çļĦå·¥ä½ľ":4936,"Ġ12":4937,"Ġmov":4938,"åģı":4939,"åŃĺåĤ¨":4940,"usive":4941,"æĹı":4942,"ï¼īï¼Į":4943,"Ġgas":4944,"Ġinterests":4945,"æ¸ħæĻ°":4946,"Ġgard":4947,"çĸ«":4948,"Ġsay":4949,"夫":4950,"ges":4951,"èIJ¨":4952,"ä¸ļåĬ¡":4953,"个æĢ§":4954,"åIJ¯":4955,"Ġengagement":4956,"Ġbig":4957,"éľĢè¦ģèĢĥèĻij":4958,"Ġprinci":4959,"åij¨åĽ´":4960,"Ġopportunity":4961,"çģ¾":4962,"èĹı":4963,"rel":4964,"缺çĤ¹":4965,"Ġhappy":4966,"åĴĮåħ¶ä»ĸ":4967,"ava":4968,"Ġestablish":4969,"鸡èĽĭ":4970,"iking":4971,"ĠTrans":4972,"rastructure":4973,"forest":4974,"èİ·åıĸ":4975,"èĦļ":4976,"inally":4977,"èµı":4978,"Ġdelicious":4979,"Ġresults":4980,"è§Ĥå¯Ł":4981,"å®ŀè·µ":4982,"Ġlast":4983,"Ġpolit":4984,"æĢ§èĥ½":4985,"For":4986,"bi":4987,"çĽ¸ä¿¡":4988,"ffee":4989,"Ġphr":4990,"Ġforest":4991,"elling":4992,"æµģè¡Į":4993,"atic":4994,"大家":4995,"ĠInst":4996,"æķ°åѦ":4997,"æī©":4998,"å®Įåħ¨":4999,"å¼ķèµ·":5000,"ese":5001,"转æį¢":5002,"Ġaffected":5003,"Ġrobotics":5004,"综ä¸Ĭ":5005,"Ġprop":5006,"让人":5007,"æ²³":5008,"ä¸ŃæľĢ":5009,"Ġautonomous":5010,"Ġhaving":5011,"Ġtrip":5012,"ury":5013,"Ġbiased":5014,"Ġconsiderations":5015,"Ġparticular":5016,"åįł":5017,"æİ¨å¹¿":5018,"Ġinitiatives":5019,"ials":5020,"åij³éģĵ":5021,"Ġtreatments":5022,"Ġemphas":5023,"çĭ¬çī¹çļĦ":5024,"Ġlay":5025,"æĶ¿çŃĸ":5026,"æĢİä¹Ī":5027,"ronic":5028,"play":5029,"Ġcook":5030,"è¿Ľåħ¥":5031,"è½®":5032,"Ġvolunte":5033,"Ġrain":5034,"ĠMon":5035,"Ġconsumption":5036,"èĽĭçϽ":5037,"ĠSoc":5038,"壤":5039,"Ġroutine":5040,"Ġimproved":5041,"To":5042,"人çī©":5043,"读èĢħ":5044,"Ġgoal":5045,"广åijĬ":5046,"éķ¿æľŁ":5047,"Ġey":5048,"He":5049,"Ġoutdo":5050,"Ġcuis":5051,"Ġaway":5052,"Ġbooks":5053,"Ġtopic":5054,"大åĪ©":5055,"house":5056,"Ġones":5057,"ç§Ł":5058,"':":5059,"æĪ¿å±ĭ":5060,"ç§»åĬ¨":5061,"Ġdisasters":5062,"ests":5063,"illing":5064,"绿èī²":5065,"åĵ²åѦ":5066,"æĪIJåĪĨ":5067,"Ġoccur":5068,"ľä¼½":5069,"åľŁå£¤":5070,"çļĦ主è¦ģ":5071,"çݰå®ŀ":5072,"Ġanimal":5073,"é¢Ĩ导":5074,"Ġviews":5075,"éĤ®":5076,"æ°§åĮĸ":5077,"athy":5078,"éģĵå¾·":5079,"社交åªĴä½ĵ":5080,"ĠPersonal":5081,"ĽåĽ´":5082,"Ġpurch":5083,"Ġcountry":5084,"Ġremind":5085,"寸":5086,"Ġrights":5087,"çļĦçݯå¢ĥ":5088,"ĠPr":5089,"Ġline":5090,"ibr":5091,"驾":5092,"Ġmaj":5093,"Ġovercome":5094,"Ġnext":5095,"æīĢè¿°":5096,"è§Ħå®ļ":5097,"Ġinteractions":5098,"Ġconflic":5099,"Ġwhy":5100,"ç³»åĪĹ":5101,"å°¼":5102,"ibly":5103,"çīĽå¥¶":5104,"Ġresponses":5105,"ses":5106,"åѦä¼ļ":5107,"bol":5108,"Ġstandards":5109,"ulner":5110,"对è¯ĿåĨħ容":5111,"lished":5112,"çļĦæĢ§":5113,"çĶŁæĢģç³»ç»Ł":5114,"ann":5115,"æĥħåĨµä¸ĭ":5116,"寻æ±Ĥ":5117,"Ġhold":5118,"den":5119,"åįĥ":5120,"Ġmention":5121,"ĠMany":5122,"缴åΰ":5123,"éģĹ":5124,"hel":5125,"Ġbelieve":5126,"aries":5127,"æľīä¸Ģ个":5128,"13":5129,"Ġatmosphere":5130,"Ġmor":5131,"æĹ¥æľŁ":5132,"ä¹ħ":5133,"ä½łå¥½":5134,"Ġaddressing":5135,"ĠâĢĵ":5136,"çļĦåľ°æĸ¹":5137,"ming":5138,"Ġcannot":5139,"Ġmanufact":5140,"Ġpie":5141,"icing":5142,"Ġstudies":5143,"ç¾İåij³":5144,"ĠAmerican":5145,"ĠNLP":5146,"Ġaccording":5147,"mselves":5148,"èĦĤ":5149,"èĩªä¿¡":5150,"æīĢéľĢ":5151,"Ġthemselves":5152,"Ġremote":5153,"åŁ¹åħ»":5154,"å®īæİĴ":5155,"ä½łéľĢè¦ģ":5156,"Ġregard":5157,"iring":5158,"è¯ĨåĪ«":5159,"Ġarticle":5160,"æģĴ":5161,"æĢ»çļĦæĿ¥":5162,"Ġalign":5163,"æ±ł":5164,"tenance":5165,"faction":5166,"åĬ¨ä½ľ":5167,"çļĦç©":5168,"缩":5169,"æĢ¥":5170,"Ġ100":5171,"Ġtesting":5172,"åŃĹæ¯į":5173,"å¹´è½»":5174,"åζéĢł":5175,"Ġswe":5176,"å°º":5177,"hens":5178,"æ°´æŀľ":5179,"Ġinfrastructure":5180,"èī²å½©":5181,"æĢ»çļĦæĿ¥è¯´":5182,"æľīä»Ģä¹Ī":5183,"text":5184,"车è¾Ĩ":5185,"Ġpay":5186,"rop":5187,"ĊĠĠ":5188,"Ġcaused":5189,"Ġcorrect":5190,"Ġì":5191,"èĥŀ":5192,"ĠMed":5193,"ç²¾ç¥ŀ":5194,"æ°ĶåĢĻåıĺåĮĸ":5195,"ĠRed":5196,"äºĴèģĶç½ij":5197,"Ġengage":5198,"åĪĨ为":5199,"ĠData":5200,"Ġfull":5201,"enc":5202,"éĩįæĸ°":5203,"æŃ£ç¡®çļĦ":5204,"çļĦæ°Ķ":5205,"åıĮæĸ¹":5206,"Ġcomes":5207,"åı¤ä»£":5208,"æŁIJäºĽ":5209,"åijĪçݰ":5210,"Ġtoday":5211,"aged":5212,"æĪijåı¯ä»¥":5213,"æĹ¥å¸¸":5214,"æ»ij":5215,"Ġclin":5216,"Ġ\\":5217,"Ġobs":5218,"Ġartificial":5219,"Ġexcell":5220,"çļĦç¬":5221,"alls":5222,"Ġproduce":5223,"ĠDes":5224,"oss":5225,"è¹Ī":5226,"Ġdraw":5227,"Ġletter":5228,"Ġadvice":5229,"Ġhighly":5230,"çĬ¯":5231,"综ä¸ĬæīĢè¿°":5232,"满æĦı":5233,"Ġprinciples":5234,"èĮĦ":5235,"Ġfeelings":5236,"çļĦæ´":5237,"Ġhom":5238,"Ġfail":5239,"Ġcrop":5240,"å§ľ":5241,"Ġquestion":5242,"Ġdisabilities":5243,"èĪŀè¹Ī":5244,"Ġimplications":5245,"ral":5246,"Ġsing":5247,"40":5248,"Ġfamil":5249,"Ġgovernments":5250,"Ġrecord":5251,"å½¢çĬ¶":5252,"Ġbegin":5253,"ises":5254,"çļĦæĥ³":5255,"achine":5256,"è°±":5257,"Ġvulner":5258,"Ġproper":5259,"Ġoversight":5260,"è´ŁéĿ¢":5261,"Ġemail":5262,"Ġnews":5263,"Ġexploring":5264,"Ġfavor":5265,"楼":5266,"å®ľ":5267,"Ġunivers":5268,"å·®å¼Ĥ":5269,"ï¼īãĢĤ":5270,"è§£åĨ³éĹ®é¢ĺ":5271,"Ġfamous":5272,"gn":5273,"Ġmessage":5274,"atitude":5275,"Ġcra":5276,"Ġcover":5277,"æ·±åĪ»":5278,"åı¯ä»¥éĢīæĭ©":5279,"çĶŁæ´»ä¸Ń":5280,"ç§įç±»":5281,"Ġsmart":5282,"onstr":5283,"vey":5284,"çͲ":5285,"Ġregularly":5286,"ĠSm":5287,"æĦŁè§ī":5288,"Ġthought":5289,"Ġexh":5290,"cure":5291,"ç»ĺ":5292,"认è¯Ĩ":5293,"Ġold":5294,"æĦī":5295,"称为":5296,"Ġfields":5297,"Ġconsist":5298,"ãģ":5299,"ç»Ĩèĥŀ":5300,"Ġhours":5301,"80":5302,"alking":5303,"è§īå¾Ĺ":5304,"ç»Ŀ":5305,"ä½łä»¬":5306,"ĠEnglish":5307,"Ġsignificantly":5308,"Ġsource":5309,"Ġant":5310,"Ġeducational":5311,"Ġtask":5312,"Ġhandle":5313,"æIJľ":5314,"ĠSp":5315,"Ġcalled":5316,"Ġterms":5317,"æ²ī":5318,"Ġwin":5319,"duction":5320,"Ġmodern":5321,"Ġcuisine":5322,"å¥Ĺ":5323,"触":5324,"olutely":5325,"ç«¥":5326,"pite":5327,"Ġfelt":5328,"Ġcompre":5329,"Ġwond":5330,"è¿IJè¡Į":5331,"Ġresil":5332,"çĽ¸ä¼¼":5333,"éĩijèŀį":5334,"çαæĥħ":5335,"ç¬Ķ":5336,"èĪª":5337,"è°Ī":5338,"åĬĽçļĦ":5339,"æľīæīĢ":5340,"æ½ľ":5341,"ulate":5342,"Ġdetection":5343,"å®£ä¼ł":5344,"Ġmatter":5345,"éĩıåŃIJ":5346,"Write":5347,"ç»ĵåIJĪ":5348,"ç»ıè¿ĩ":5349,"Ġdevelopers":5350,"èª":5351,"Ġ---":5352,"人éĻħ":5353,"çѾ":5354,"ï¼ļâĢľ":5355,"Ġinnovative":5356,"ãĢĤâĢĿ":5357,"å½¼":5358,"饼":5359,"è¿ĩ度":5360,"Ġplanet":5361,"åħ°":5362,"å¸ģ":5363,"æķ¬":5364,"Ġlegal":5365,"Ġlot":5366,"æĪIJ为äºĨ":5367,"iate":5368,"Ġmis":5369,"åģĩ设":5370,"çļĦæĸĩ竳":5371,"ĠCompan":5372,"Ġdoc":5373,"Ġcareful":5374,"Ġever":5375,"æĪij们å°Ĩ":5376,"ä¾ĭåŃIJ":5377,"ä¹³":5378,"ä½ľèĢħ":5379,"åIJ§":5380,"æļ´":5381,"Ġremember":5382,"缮çļĦ":5383,"Ġput":5384,"常è§ģçļĦ":5385,"Ġfest":5386,"建设":5387,"å®ŀç͍":5388,"Ġactive":5389,"çªĹ":5390,"outh":5391,"åİŁçIJĨ":5392,"Ġtrying":5393,"è¿·":5394,"缸åIJĮ":5395,"éħĴåºĹ":5396,"Another":5397,"æľĢä½³":5398,"Ġanalytics":5399,"Ġperpet":5400,"ipment":5401,"Ġå¦Ĥæŀľ":5402,"è§Ĥä¼Ĺ":5403,"Ġcelebr":5404,"Ġheav":5405,"Ġmeditation":5406,"大æ°Ķ":5407,"And":5408,"ä¸įéĶĻ":5409,"Ġwhether":5410,"set":5411,"Ġdemonstr":5412,"ä¸Ģ款":5413,"æĶ¶éĽĨ":5414,"éĻIJåζ":5415,"Ġing":5416,"Ġrevolution":5417,"çľģ":5418,"Ġscience":5419,"缮åīį":5420,"Ġthinking":5421,"±ä¹IJ":5422,"课ç¨ĭ":5423,"Ġpack":5424,"Ġimage":5425,"loc":5426,"Ġstories":5427,"uck":5428,"Ġsatisfaction":5429,"Ġcollection":5430,"ho":5431,"èµŀ":5432,"éĿ¢ä¸´":5433,"Ġla":5434,"Ġsymbol":5435,"Ġemb":5436,"Ġhabitats":5437,"Ġlower":5438,"Ġcontinues":5439,"éľĩ":5440,"åĵĪ":5441,"ĠTake":5442,"Ġenvironments":5443,"Ġthree":5444,"Ġenc":5445,"ĠAcc":5446,"æĦıåij³":5447,"åݨ":5448,"chan":5449,"ĠHum":5450,"Ġtrue":5451,"åĪĩæĪIJ":5452,"sing":5453,"âĢĶâĢĶ":5454,"åĩºæĿ¥":5455,"Ġregion":5456,"Ġinterpre":5457,"Ġdiagnosis":5458,"éŀ":5459,"Ġdoing":5460,"Ġrun":5461,"Ġcoffee":5462,"Ġmajor":5463,"Ġmindfulness":5464,"Ġaffordable":5465,"çϾ":5466,"Ġdetailed":5467,"éĿŀ常éĩįè¦ģçļĦ":5468,"çļĦæ²ŁéĢļ":5469,"çļĦæķħ":5470,"åĢĴåħ¥":5471,"Ġthemes":5472,"Ġnetwork":5473,"ï¼īï¼ļ":5474,"ĠUnited":5475,"çļĦæĮĩ":5476,"orts":5477,"åį«çĶŁ":5478,"Ġplanning":5479,"æĥł":5480,"åīª":5481,"ĠProv":5482,"çļĦåºĶç͍":5483,"Ġperi":5484,"Ġaccountable":5485,"çīĻ":5486,"çļĦçģ":5487,"Ġchoice":5488,"ĠComm":5489,"idents":5490,"çļĦå®īåħ¨":5491,"å¹¶ä¸į":5492,"太éĺ³ç³»":5493,"Ġreceive":5494,"Ġclose":5495,"çļĦæĹ¶åĢĻ":5496,"Ġchanging":5497,"ä»·å̼è§Ĥ":5498,"Ġperpetu":5499,"Ġseason":5500,"Ġmen":5501,"Ġlearned":5502,"Ġsituation":5503,"Ġreplace":5504,"head":5505,"让æĪij":5506,"åľ¨ä¸Ģèµ·":5507,"çļĦ空":5508,"éľ²":5509,"Ġenough":5510,"å±ķçݰ":5511,"Ġleaders":5512,"ancing":5513,"Ġtemperature":5514,"åı«":5515,"Ġ30":5516,"æĦıåij³çĿĢ":5517,"æ±ĩ":5518,"ĠGovern":5519,"Ġfocused":5520,"uro":5521,"Ġsimple":5522,"Ġhiking":5523,"æ¯Ĵ":5524,"Ġcomprehens":5525,"äºĪ":5526,"Ġcreated":5527,"cond":5528,"页":5529,"ĠWor":5530,"è¯ģæį®":5531,"Ġworkplace":5532,"Ġcharacters":5533,"çļĦ设计":5534,"Ġmechan":5535,"ĠDis":5536,"ç¥ŀç§ĺ":5537,"å·ŀ":5538,"ĠOn":5539,"":5540,"ç§įæ¤į":5541,"Ġpath":5542,"Ġlimited":5543,"Ġsolar":5544,"çļĦæı":5545,"22":5546,"Ġappreciate":5547,"å¿«ä¹IJ":5548,"æĦŁåıĹåΰ":5549,"èĢĹ":5550,"med":5551,"icine":5552,"Ġnote":5553,"å½ĵåīį":5554,"æĪij们åºĶ该":5555,"Ġseen":5556,"ä¸ĢåIJį":5557,"å°½åı¯èĥ½":5558,"è¿IJç®Ĺ":5559,"è§Ĵ度":5560,"Ġequipment":5561,"Ġspread":5562,"è¸":5563,"访":5564,"åı¥è¯Ŀ":5565,"æĮ¥":5566,"Ġpurpose":5567,"è¯·ä½ł":5568,"Your":5569,"arian":5570,"仪":5571,"Ġperspectives":5572,"åĩºäºĨ":5573,"å©ļ礼":5574,"Ġexcellent":5575,"ĠEnsuring":5576,"Ġreach":5577,"éĺ¶æ®µ":5578,"ä¿Ŀéļľ":5579,"Ġempathy":5580,"ĠMy":5581,"çijľä¼½":5582,"Ġver":5583,"abel":5584,"ĠPredict":5585,"Ġmaintenance":5586,"è¯Ħä»·":5587,"Ġult":5588,"åĴ¨":5589,"ox":5590,"åĴ¨è¯¢":5591,"Ġshared":5592,"ina":5593,"list":5594,"Ġoutdoor":5595,"Ġthoughts":5596,"inating":5597,"éĴ±":5598,"Ġframe":5599,"éĺ¿":5600,"åĪ©æ¶¦":5601,"çļĦæİ¨":5602,"åįļ":5603,"Ġrecent":5604,"Ġaltern":5605,"ared":5606,"==":5607,"Ġroad":5608,"äºĭ项":5609,"ged":5610,"ynt":5611,"Ġspend":5612,"罪":5613,"åıĸå¾Ĺ":5614,"é¹":5615,"li":5616,"æĹ¶æľŁ":5617,"严éĩį":5618,"å¿Ĩ":5619,"å©´":5620,"æİ¥ä¸ĭæĿ¥":5621,"ĠEarth":5622,"ĠChatbots":5623,"Ġsetting":5624,"ç¥Ŀ":5625,"éĶĢåĶ®é¢Ŀ":5626,"伦":5627,"Ġreading":5628,"æİ¢è®¨":5629,"aign":5630,"éŀĭ":5631,"Ġyoung":5632,"Ġcareer":5633,"Ġteachers":5634,"çļĦè´¨éĩı":5635,"å±ŀäºİ":5636,"Ġeasier":5637,"Ġscientific":5638,"ç¾İåħĥ":5639,"Ġspir":5640,"åĬ³":5641,"çļĦæĶ¯":5642,"rist":5643,"èµĦ产":5644,"çĶŁåŃĺ":5645,"èĩ³å°ij":5646,"å§¿":5647,"Ġvideo":5648,"Ġaim":5649,"å®Ŀå®Ŀ":5650,"çζæ¯į":5651,"________________":5652,"alities":5653,"Ġbud":5654,"Ġstreet":5655,"Ġæĺ¯":5656,"æĸ¹ç¨ĭ":5657,"ä¸ĸ纪":5658,"ches":5659,"earch":5660,"æĴ°":5661,"Ġengine":5662,"Ġdisplacement":5663,"ĠRobots":5664,"ervised":5665,"é¡¶":5666,"oud":5667,"Ġwalk":5668,"Ġemergency":5669,"èģĺ":5670,"nal":5671,"Ġdatas":5672,"åĢº":5673,"åIJİçļĦ":5674,"å¾Ī好":5675,"Ġmyself":5676,"çļĦæīĭ":5677,"Ġusage":5678,"Ġshown":5679,"æ®Ĭ":5680,"Ġtypically":5681,"uly":5682,"æĸ°éĹ»":5683,"æĽ¿":5684,"Ġorig":5685,"è½»æĿ¾":5686,"æĺ¾ç¤º":5687,"Ġadopt":5688,"èĤ¡ç¥¨":5689,"Ġparent":5690,"aps":5691,"æĢĿæĥ³":5692,"Ġmarketing":5693,"èĻ«":5694,"éĥ¨éŨ":5695,"çļĦæķĪ":5696,"Ġcomfortable":5697,"åŃ¦ä¹łåĴĮ":5698,"Ġforecast":5699,"iction":5700,"Ġgetting":5701,"Ġtrees":5702,"aving":5703,"çļĦåŁºç¡Ģ":5704,"ready":5705,"æĸ°é²ľ":5706,"going":5707,"¹é¥":5708,"Ġevidence":5709,"¹é¥ª":5710,"ç§ĭ":5711,"æľīå¾Īå¤ļ":5712,"éĿ¢è¯ķ":5713,"éģĩåΰ":5714,"ç»Ļå®ļ":5715,"irc":5716,"åı¯ä»¥æł¹æį®":5717,"驾驶":5718,"å·§åħĭ":5719,"Ġstunning":5720,"çļĦæ¦Ĥ":5721,"æ¡Į":5722,"ĠJohn":5723,"ulation":5724,"åıĤèĢĥ":5725,"Ġflex":5726,"çĦ¦èĻij":5727,"ymakers":5728,"Ġforms":5729,"sh":5730,"val":5731,"ĠSo":5732,"co":5733,"æİ¨åĬ¨":5734,"èħ¿":5735,"ç®Ĭ":5736,"Ġenab":5737,"å°Ĩä¼ļ":5738,"æĶ¯åĩº":5739,"åĿļæĮģ":5740,"红èī²":5741,"Ġoption":5742,"Ġstarted":5743,"ration":5744,"Ġpoetry":5745,"Ġport":5746,"gen":5747,"èªī":5748,"Ġdeliv":5749,"çĶļ":5750,"éĢ»":5751,"éĢī项":5752,"Ġground":5753,"å½¼æŃ¤":5754,"ana":5755,"çļĦæĹ¥":5756,"åľ¨çº¿":5757,"Ġsecure":5758,"Ġæł¹æį®":5759,"饮æĸĻ":5760,"Ġgratitude":5761,"第ä¸ī":5762,"Ġsong":5763,"Ġpoints":5764,"Ġalready":5765,"çļĦçα":5766,"ĠTechn":5767,"Ġreality":5768,"çıŃ":5769,"Ġsince":5770,"Ġpopulation":5771,"yond":5772,"bor":5773,"ĠSocial":5774,"æıIJåıĸ":5775,"å·¥ç¨ĭ":5776,"aff":5777,"交æĺĵ":5778,"Ġworth":5779,"å¡«":5780,"娱ä¹IJ":5781,"Ġdog":5782,"ĠArt":5783,"硬":5784,"æµ·æ´ĭ":5785,"åĨĴ":5786,"çīĪ":5787,"Ġprogramming":5788,"ĠAss":5789,"ĠMachine":5790,"å̼å¾Ĺ":5791,"请è¾ĵåħ¥":5792,"å£°éŁ³":5793,"Ġexercises":5794,"åħī线":5795,"æ³ķåĴĮ":5796,"Ġfeature":5797,"eff":5798,"è¿ĽæŃ¥":5799,"女æĢ§":5800,"Ġefficiently":5801,"çļĦæĬĢæľ¯":5802,"Ġgenetic":5803,"令人":5804,"è´¦":5805,"çļĦ产åĵģ":5806,"åİļ":5807,"åĴĮæĸĩåĮĸ":5808,"éĻĦ":5809,"Ġmob":5810,"综åIJĪ":5811,"ters":5812,"æľīä¸Ģ":5813,"å¦Ĩ":5814,"åįĪ":5815,"Ġoutside":5816,"Ġpropert":5817,"éĤ®ä»¶":5818,"主ä¹ī":5819,"Ġpolicy":5820,"èĩªèº«":5821,"Ġnavigate":5822,"Ġsty":5823,"ç͵èĦij":5824,"Ġabilities":5825,"Ġfaced":5826,"çļĦç¼":5827,"çļĦå°ı":5828,"èķ":5829,"Ġtone":5830,"igation":5831,"åıĤæķ°":5832,"èĽĭçĻ½è´¨":5833,"ä½Ľ":5834,"çĶļèĩ³":5835,"Ġskin":5836,"èĴ¸":5837,"æĭĽ":5838,"éŃĶ":5839,"ashion":5840,"Ġingred":5841,"æĹĭ":5842,"Ġcampaign":5843,"Ġmount":5844,"Ġconsid":5845,"Ġmuse":5846,"nter":5847,"water":5848,"ä¼ļè®®":5849,"Ġprotection":5850,"ä¿ĿéĻ©":5851,"Ġcrops":5852,"ogle":5853,"éļıæĹ¶":5854,"æļĹ":5855,"ium":5856,"ä¹ı":5857,"Ġdiet":5858,"lies":5859,"ç͍æĿ¥":5860,"ĠEncoura":5861,"æĬĹ":5862,"apan":5863,"éĺ²æŃ¢":5864,"Wow":5865,"çļĦåŁºæľ¬":5866,"å¹³æĸ¹":5867,"Ġstep":5868,"åı¯éĿł":5869,"表æĺİ":5870,"Ġpredictions":5871,"Ġsympt":5872,"Ġdiagnoses":5873,"åħ¬åĽŃ":5874,"Ġsupply":5875,"Ġprevious":5876,"ç»ĦåIJĪ":5877,".,":5878,"çļĦè¿ĩç¨ĭ":5879,"æķı":5880,"su":5881,"aris":5882,"çķħ":5883,"ocol":5884,"æIJľç´¢":5885,"itle":5886,"éĨĴ":5887,"顾客":5888,"éĢ»è¾ij":5889,"éĿŀ常éĩįè¦ģ":5890,"ĠBi":5891,"å·¦åı³":5892,"amm":5893,"Ġeverything":5894,"æĺł":5895,"Ġincred":5896,"Ġpeace":5897,"èľľ":5898,"Ġmuseum":5899,"çĭ¬ç«ĭ":5900,"Ġcomprehensive":5901,"Ġrates":5902,"//":5903,"Ġrad":5904,"åĦ¿ç«¥":5905,"çī¹èī²":5906,"ĠPredictive":5907,"å¼ķåĬĽ":5908,"ler":5909,"å°¤":5910,"icro":5911,"è¡¥":5912,"Ġdetermine":5913,"çļĦåĨħ容":5914,"Ġcompl":5915,"Ġgreenhouse":5916,"èħIJ":5917,"Ġhighlight":5918,"Ġpartners":5919,"Ġdoct":5920,"çļĦ使ç͍":5921,"æŃĮæĽ²":5922,"æĮĩåįĹ":5923,"ĠAf":5924,"æľºæŀĦ":5925,"éĢĢ":5926,"Ġpoems":5927,"å¿ĥåĴĮ":5928,"Ġattend":5929,"çļĦ游":5930,"Ġside":5931,"ales":5932,"Ġmentioned":5933,"ĠAbs":5934,"Ġhistorical":5935,"Ġleft":5936,"以ä¸ĭåĩłä¸ª":5937,"åıĹæ¬¢è¿İ":5938,"èıľåĵģ":5939,"Ġremain":5940,"æĩ":5941,"Ġtours":5942,"łéģĵ":5943,"Ġerrors":5944,"æľºåζ":5945,"æ¦":5946,"æĤ£èĢħ":5947,"more":5948,"Ġexperts":5949,"çļĦçłĶç©¶":5950,"ç»ĵæĿŁ":5951,"Ġwritten":5952,"çłĶ":5953,"Ġet":5954,"input":5955,"æ°Ķä½ĵ":5956,"èļ":5957,"æĥĬ":5958,"Ġage":5959,"éĩįå¤į":5960,"å¼¹":5961,"åѤ":5962,"Ġsymptoms":5963,"Ġbelief":5964,"'d":5965,"iol":5966,"Ġ18":5967,"åħħè¶³":5968,"çıį":5969,"forcement":5970,"æĸĹ":5971,"ªèĮĦ":5972,"Ġ15":5973,"ä¸Ģ个人":5974,"Ġapplic":5975,"è´¥":5976,"ä½įäºİ":5977,"éϤäºĨ":5978,"=\"":5979,"ä¸īè§Ĵ":5980,"æĢĿç»´":5981,"åį·":5982,"Ġfru":5983,"ĠCollabor":5984,"Ġprim":5985,"Ġrequired":5986,"Ġwatch":5987,"è°ĥåij³":5988,"ç»ĵ论":5989,"ony":5990,"Ġguide":5991,"Ġmax":5992,"ĠCould":5993,"Ġadvent":5994,"ĠOverall":5995,"çļĦæĬķ":5996,"Ġexper":5997,"åĺ":5998,"icial":5999,"oster":6000,"çļĦé¢ľèī²":6001,"Ġoperations":6002,"éĥģ":6003,"Ġmoney":6004,"ley":6005,"cling":6006,"Ġoil":6007,"çļ®èĤ¤":6008,"Ġge":6009,"Ġbat":6010,"ĠPh":6011,"Ġsche":6012,"Ġelectric":6013,"vest":6014,"Ġchain":6015,"Ġcapabilities":6016,"ird":6017,"è¯ģæĺİ":6018,"æľĢ好":6019,"ivil":6020,"Ġdepending":6021,"Ġsave":6022,"Ġpractical":6023,"Ġcultures":6024,"缸åºĶçļĦ":6025,"sy":6026,"çļĦç²":6027,"Ġbehind":6028,"æĹ¶éĹ´åĴĮ":6029,"å¹ħ":6030,"ĠAg":6031,"Ġeffectiveness":6032,"Ad":6033,"ĠOf":6034,"Ġanything":6035,"å·§åħĭåĬĽ":6036,"Ġmist":6037,"Ġlanguages":6038,"ĠMake":6039,"å«":6040,"森":6041,"ĠCont":6042,"ĠAbsolutely":6043,"Ġinvestment":6044,"mat":6045,"çļĦæķħäºĭ":6046,"欧":6047,"Ġspeed":6048,"çļĦ温":6049,"Ġcities":6050,"åĨĻä½ľ":6051,"Thanks":6052,"Ġded":6053,"åĪĨéħį":6054,"Ġdark":6055,"Ġsupporting":6056,"å¹ķ":6057,"ĠKe":6058,"鼶":6059,"Ġsharing":6060,"Ġhouse":6061,"è®¤çŁ¥":6062,"Ġsurrounding":6063,"Ġreduced":6064,"Ġfu":6065,"Ġstor":6066,"Ġabs":6067,"Tom":6068,"cent":6069,"ĠEducation":6070,"Ġthr":6071,"ott":6072,"ĠThat":6073,"Ġhear":6074,"ung":6075,"Ġbeyond":6076,"ĠCo":6077,"room":6078,"è¯ĹæŃĮ":6079,"reme":6080,"Ġlittle":6081,"Ġgames":6082,"ä¹ĭåIJİ":6083,"éĥ½ä¼ļ":6084,"è¯ŃéŁ³":6085,"ç¬ij":6086,"çī¹å®ļ":6087,"第ä¸Ģ":6088,"Ġdepression":6089,"Ġinnovation":6090,"ĠFr":6091,"Ġcomputer":6092,"can":6093,"å³°":6094,"ç¼ĸåĨĻä¸Ģ个":6095,"Ġinternational":6096,"Ġcancer":6097,"åѦèĢħ":6098,"Ġdiscover":6099,"het":6100,"Ġcompos":6101,"Ġrecy":6102,"Ġ200":6103,"åIJ«æľī":6104,"çĹĽ":6105,"ç¼ĵè§£":6106,"Ġfrequ":6107,"çͳ":6108,"ĠMar":6109,"çļĦéĢīæĭ©":6110,"Ġunt":6111,"Ġregions":6112,"Ġopin":6113,"ĠGovernments":6114,"æ¶Ĥ":6115,"åĨħå¿ĥ":6116,"ä¸ĬæľĢ":6117,"ä»įçĦ¶":6118,"lier":6119,"æ³³":6120,"äºĴ缸":6121,"ĠStud":6122,"azon":6123,"Ġarch":6124,"Ġchem":6125,"çļĦèĥ½åĬĽ":6126,"çļĦä¸Ģ个":6127,"Ġap":6128,"Ġred":6129,"Ġwomen":6130,"Ġprote":6131,"Ġfinding":6132,"å§»":6133,"éĢĤå½ĵçļĦ":6134,"Ġforward":6135,"对象":6136,"Ġwait":6137,"Ġconsidered":6138,"dule":6139,"backs":6140,"Ġclinical":6141,"åħ·å¤ĩ":6142,"麦":6143,"Ġongoing":6144,"åĨĽ":6145,"Ġfar":6146,"åĴĮè°":6147,"XXX":6148,"Ġpolitical":6149,"Ġcamer":6150,"çļĦè¡Į为":6151,"æĦı大åĪ©":6152,"Ġapps":6153,"åĩıè½»":6154,"Ġreaders":6155,"å©ļå§»":6156,"æ°¸":6157,"ores":6158,"åħ¨éĿ¢":6159,"ĠAfric":6160,"Ġfavorite":6161,"Ġmill":6162,"Ġdang":6163,"ĠStates":6164,"åĢŁ":6165,"寿":6166,"Ġlat":6167,"è¿ĩåİ»":6168,"Ġtruly":6169,"åĽŀçŃĶéĹ®é¢ĺ":6170,"Ġcogn":6171,"ä»°":6172,"ĠJapan":6173,"izz":6174,"çļĦæĿIJ":6175,"xx":6176,"é¢ĺ缮":6177,"ription":6178,"éĤ£äºĽ":6179,"Ġbudget":6180,"Ġvast":6181,"éļIJç§ģ":6182,"Ġpolicymakers":6183,"è¿ĺéľĢè¦ģ":6184,"å¹¶æıIJä¾Ľ":6185,"Ġsweet":6186,"Ġgeneral":6187,"滤":6188,"Ġbirds":6189,"Ġplastic":6190,"Ċĉ":6191,"åĪº":6192,"mental":6193,"Ġinclusive":6194,"Ġtopics":6195,"Ġslow":6196,"ä½łèĥ½":6197,"è¶³å¤ŁçļĦ":6198,"è§Ĩè§ī":6199,"ww":6200,"Ġ使ç͍":6201,"æī¹":6202,"æ¦Ĥ念":6203,"é£Łç͍":6204,"è̳":6205,"cks":6206,"Ġfraud":6207,"Ġingredients":6208,"Ġfasc":6209,"åĮĹ京":6210,"Ġfr":6211,"Ġmanufacturing":6212,"Ġä½ľä¸º":6213,"Ġbeach":6214,"é¡¿":6215,"erious":6216,"å¤ĸè§Ĥ":6217,"é¢Ħéĺ²":6218,"æĿ¥èĩª":6219,"èĤĮèĤī":6220,"Ġdays":6221,"Ġassign":6222,"Ġadvant":6223,"Ġteams":6224,"é¢Ĺ":6225,"nown":6226,"ĠPo":6227,"}{":6228,"Ġminut":6229,"itions":6230,"Ġeasily":6231,"ĠBl":6232,"name":6233,"åŃ¦æł¡":6234,"Ġresponsibility":6235,"åıijæĮ¥":6236,"Ġsensitive":6237,"çŃīäºİ":6238,"cious":6239,"Ġsou":6240,"å±ı":6241,"Ġrich":6242,"å½ĵçĦ¶":6243,"man":6244,"Ġinterpret":6245,"24":6246,"Ġshows":6247,"èģĮåľº":6248,"Ġfall":6249,"è½½":6250,"丰å¯ĮçļĦ":6251,"('":6252,"ä¿®æĶ¹":6253,"æĽ´æį¢":6254,"Al":6255,"åı¯èĥ½æĺ¯":6256,"Ġrate":6257,"Ġprotecting":6258,"fit":6259,"Ġ50":6260,"Ġmovement":6261,"è§Ī":6262,"Ġemployee":6263,"Ġdisord":6264,"åĪĽæĦı":6265,"产åĵģçļĦ":6266,"æľĿ":6267,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":6268,"Ġpred":6269,"Ġoffering":6270,"åįģåĪĨ":6271,"èĢĮä¸įæĺ¯":6272,"Thank":6273,"æĽ¾":6274,"Ġelements":6275,"ç²Ĵ":6276,"Ġcourses":6277,"Ġintegrated":6278,"ĠCar":6279,"agraph":6280,"åŁºåĽł":6281,"Ġinstead":6282,"èĦ±":6283,"åı¦ä¸Ģ个":6284,"å¯Ĩçłģ":6285,"Ġallowed":6286,"éĿ¢åĮħ":6287,"çķªèĮĦ":6288,"åĴĮåıijå±ķ":6289,"å°ģ":6290,"Ġconnection":6291,"åľ¨ä¸Ģ个":6292,"Ġuseful":6293,"è¯Ńåı¥":6294,"åĪĨå¸ĥ":6295,"表æ¼Ķ":6296,"æľīæĹ¶":6297,"çļĦæĹħ":6298,"çļĦæĢ»":6299,"Ġfashion":6300,"èĭ¦":6301,"è¦ģ注æĦı":6302,"çĶŁç´ł":6303,"Ġnutri":6304,"èĩªè¡Į":6305,"çļĦçĭ":6306,"çIJĨè§£åĴĮ":6307,"Ġcat":6308,"æľºåύåŃ¦ä¹ł":6309,"Ġexhib":6310,"åĴĮæľįåĬ¡":6311,"frac":6312,"epend":6313,"Ġimpacted":6314,"Ġut":6315,"æķ°ç»Ħ":6316,"ĠWorld":6317,"Ġanswer":6318,"erse":6319,"骨":6320,"Ġartists":6321,"åŃ©åŃIJçļĦ":6322,"ä»Ķ":6323,"çĻ»":6324,"ĠAre":6325,"Ġcool":6326,"Ġcognitive":6327,"åIJĦ个":6328,"like":6329,"å©´åĦ¿":6330,"åĪĹåĩº":6331,"å¹»":6332,"ront":6333,"å®¶éķ¿":6334,"缺ä¹ı":6335,"Ġcyber":6336,"ilt":6337,"Ġcapture":6338,"åĹ":6339,"åľ¨äºİ":6340,"Ġthreats":6341,"åĴĮ社ä¼ļ":6342,"Ġcells":6343,"æ¸ħåįķ":6344,"ĠVis":6345,"æİī":6346,"Ġhol":6347,"åŃIJçļĦ":6348,"Ch":6349,"èĿ":6350,"Ġsaid":6351,"Ġdream":6352,"unch":6353,"une":6354,"ĠDon":6355,"家人":6356,"ç±į":6357,"æĦŁåĴĮ":6358,"Ġexperienced":6359,"çļĦéĩįè¦ģæĢ§":6360,"å¼ĥ":6361,"ump":6362,"éĺIJ":6363,"Ġhabitat":6364,"è¢ĭ":6365,"Ġjo":6366,"ç®Ģæ´ģ":6367,"Ġbur":6368,"Ġvisitors":6369,"éĽħ":6370,"çļĦçŁ¥":6371,"Ġentire":6372,"讲述":6373,"äºĨä¸ĢäºĽ":6374,"åįıä½ľ":6375,"ĠBus":6376,"å°¾":6377,"çļĦæķĻ":6378,"olog":6379,"Ġsigns":6380,"Ġspeaker":6381,"çļĦéŁ³ä¹IJ":6382,"Ġnovel":6383,"å±ħæ°ij":6384,"çļĦåıĺåĮĸ":6385,"å°½éĩı":6386,"Ġspirit":6387,"å®Įç¾İ":6388,"è´·":6389,"å¿ħè¦ģçļĦ":6390,"ief":6391,"示ä¾ĭ":6392,"Ġdiv":6393,"æķ´æķ°":6394,"Ġeconomy":6395,"Ġethically":6396,"éĻĪ":6397,"Ġschools":6398,"Ġnetworks":6399}
\ No newline at end of file
diff --git a/中文逐行注释/model/model.py b/中文逐行注释/model/model.py
deleted file mode 100644
index 9716a87..0000000
--- a/中文逐行注释/model/model.py
+++ /dev/null
@@ -1,431 +0,0 @@
-import math
-import struct
-import inspect
-from .LMConfig import LMConfig
-from typing import Any, Optional, Tuple
-import numpy as np
-import torch
-import torch.nn.functional as F
-from torch import nn
-from transformers import PreTrainedModel
-from transformers.modeling_outputs import CausalLMOutputWithPast
-
-# 定义 RMSNorm 类,实现一种归一化方法,类似于 LayerNorm,但计算方式不同
-class RMSNorm(torch.nn.Module):
- def __init__(self, dim: int, eps: float):
- super().__init__()
- self.eps = eps # 设置 epsilon,防止除零错误
- self.weight = nn.Parameter(torch.ones(dim)) # 初始化权重参数
-
- def _norm(self, x):
- return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps) # 计算 RMSNorm
-
- def forward(self, x):
- output = self._norm(x.float()).type_as(x) # 应用 RMSNorm
- return output * self.weight # 乘以权重参数
-
-# 定义 precompute_pos_cis 函数,用于预计算位置编码的复数形式
-def precompute_pos_cis(dim: int, end: int, theta: float = 10000.0):
- freqs = 1.0 / (theta ** (torch.arange(0, dim, 2)[: (dim // 2)].float() / dim)) # 计算频率
- t = torch.arange(end, device=freqs.device) # 生成时间序列
- freqs = torch.outer(t, freqs).float() # 计算外积
- pos_cis = torch.polar(torch.ones_like(freqs), freqs) # 计算复数形式的位置编码
- return pos_cis
-
-# 定义 apply_rotary_emb 函数,用于应用旋转位置编码
-def apply_rotary_emb(xq, xk, pos_cis):
- def unite_shape(pos_cis, x):
- ndim = x.ndim
- assert 0 <= 1 < ndim
- assert pos_cis.shape == (x.shape[1], x.shape[-1])
- shape = [d if i == 1 or i == ndim - 1 else 1 for i, d in enumerate(x.shape)]
- return pos_cis.view(*shape)
-
- xq_ = torch.view_as_complex(xq.float().reshape(*xq.shape[:-1], -1, 2)) # 将 xq 转换为复数形式
- xk_ = torch.view_as_complex(xk.float().reshape(*xk.shape[:-1], -1, 2)) # 将 xk 转换为复数形式
- pos_cis = unite_shape(pos_cis, xq_) # 调整 pos_cis 的形状
- xq_out = torch.view_as_real(xq_ * pos_cis).flatten(3) # 应用旋转位置编码
- xk_out = torch.view_as_real(xk_ * pos_cis).flatten(3) # 应用旋转位置编码
- return xq_out.type_as(xq), xk_out.type_as(xk) # 返回结果
-
-# 定义 repeat_kv 函数,用于重复 KV 头的值
-def repeat_kv(x: torch.Tensor, n_rep: int) -> torch.Tensor:
- """torch.repeat_interleave(x, dim=2, repeats=n_rep)"""
- bs, slen, n_kv_heads, head_dim = x.shape
- if n_rep == 1:
- return x
- return (
- x[:, :, :, None, :]
- .expand(bs, slen, n_kv_heads, n_rep, head_dim)
- .reshape(bs, slen, n_kv_heads * n_rep, head_dim)
- )
-
-# 定义 Attention 类,实现自注意力机制
-class Attention(nn.Module):
- def __init__(self, args: LMConfig):
- super().__init__()
- self.n_kv_heads = args.n_heads if args.n_kv_heads is None else args.n_kv_heads # 设置 KV 头的数量
- assert args.n_heads % self.n_kv_heads == 0 # 确保 KV 头的数量是总头数的因数
- self.n_local_heads = args.n_heads # 设置本地头的数量
- self.n_local_kv_heads = self.n_kv_heads # 设置本地 KV 头的数量
- self.n_rep = self.n_local_heads // self.n_local_kv_heads # 计算重复次数
- self.head_dim = args.dim // args.n_heads # 计算每个头的维度
- self.wq = nn.Linear(args.dim, args.n_heads * self.head_dim, bias=False) # 初始化 Q 矩阵
- self.wk = nn.Linear(args.dim, self.n_kv_heads * self.head_dim, bias=False) # 初始化 K 矩阵
- self.wv = nn.Linear(args.dim, self.n_kv_heads * self.head_dim, bias=False) # 初始化 V 矩阵
- self.wo = nn.Linear(args.n_heads * self.head_dim, args.dim, bias=False) # 初始化输出矩阵
- self.k_cache, self.v_cache = None, None # 初始化 KV 缓存
- self.attn_dropout = nn.Dropout(args.dropout) # 初始化注意力 dropout
- self.resid_dropout = nn.Dropout(args.dropout) # 初始化残差 dropout
- self.dropout = args.dropout # 设置 dropout 概率
- self.flash = hasattr(torch.nn.functional, 'scaled_dot_product_attention') and args.flash_attn # 判断是否使用 Flash Attention
-
- if not self.flash:
- # print("WARNING: using slow attention. Flash Attention requires PyTorch >= 2.0")
- mask = torch.full((1, 1, args.max_seq_len, args.max_seq_len), float("-inf")) # 初始化掩码
- mask = torch.triu(mask, diagonal=1) # 生成上三角掩码
- self.register_buffer("mask", mask) # 注册掩码
-
- def forward(self, x: torch.Tensor, pos_cis: torch.Tensor, use_kv_cache=False):
- bsz, seqlen, _ = x.shape
- if use_kv_cache and self.eval(): # 如果使用 KV 缓存且在评估模式下
- if self.k_cache is None or self.k_cache.shape[1] != x.shape[1] - 1:
- xq, xk, xv = self.wq(x), self.wk(x), self.wv(x) # 计算 Q, K, V
- else:
- token = x[:, -1:, :] # 获取最后一个 token
- xq = torch.cat((torch.zeros_like(x[:, :-1, :]), self.wq(token)), dim=1) # 更新 Q
- xk = torch.cat((self.k_cache, self.wk(token)), dim=1) # 更新 K
- xv = torch.cat((self.v_cache, self.wv(token)), dim=1) # 更新 V
-
- self.k_cache, self.v_cache = xk, xv # 更新 KV 缓存
- else:
- xq, xk, xv = self.wq(x), self.wk(x), self.wv(x) # 计算 Q, K, V
-
- xq = xq.view(bsz, seqlen, self.n_local_heads, self.head_dim) # 调整 Q 的形状
- xk = xk.view(bsz, seqlen, self.n_local_kv_heads, self.head_dim) # 调整 K 的形状
- xv = xv.view(bsz, seqlen, self.n_local_kv_heads, self.head_dim) # 调整 V 的形状
-
- xq, xk = apply_rotary_emb(xq, xk, pos_cis) # 应用旋转位置编码
-
- xk = repeat_kv(xk, self.n_rep) # 重复 K 的值
- xv = repeat_kv(xv, self.n_rep) # 重复 V 的值
-
- xq = xq.transpose(1, 2) # 调整 Q 的形状
- xk = xk.transpose(1, 2) # 调整 K 的形状
- xv = xv.transpose(1, 2) # 调整 V 的形状
-
- if self.flash:
- output = torch.nn.functional.scaled_dot_product_attention(xq, xk, xv, attn_mask=None,
- dropout_p=self.dropout if self.training else 0.0,
- is_causal=True) # 使用 Flash Attention
- else:
- scores = torch.matmul(xq, xk.transpose(2, 3)) / math.sqrt(self.head_dim) # 计算注意力分数
- assert hasattr(self, 'mask')
- scores = scores + self.mask[:, :, :seqlen, :seqlen] # 应用掩码
- scores = F.softmax(scores.float(), dim=-1).type_as(xq) # 计算 softmax
- scores = self.attn_dropout(scores) # 应用注意力 dropout
- output = torch.matmul(scores, xv) # 计算输出
-
- output = output.transpose(1, 2).contiguous().view(bsz, seqlen, -1) # 调整输出的形状
-
- output = self.wo(output) # 应用输出矩阵
- output = self.resid_dropout(output) # 应用残差 dropout
- return output # 返回输出
-
-# 定义 FeedForward 类,实现前馈神经网络
-class FeedForward(nn.Module):
- def __init__(self, dim: int, hidden_dim: int, multiple_of: int, dropout: float):
- super().__init__()
- if hidden_dim is None:
- hidden_dim = 4 * dim # 设置隐藏层维度
- hidden_dim = int(2 * hidden_dim / 3) # 调整隐藏层维度
- hidden_dim = multiple_of * ((hidden_dim + multiple_of - 1) // multiple_of) # 调整隐藏层维度
- self.w1 = nn.Linear(dim, hidden_dim, bias=False) # 初始化第一层线性变换
- self.w2 = nn.Linear(hidden_dim, dim, bias=False) # 初始化第二层线性变换
- self.w3 = nn.Linear(dim, hidden_dim, bias=False) # 初始化第三层线性变换
- self.dropout = nn.Dropout(dropout) # 初始化 dropout
-
- def forward(self, x):
- return self.dropout(self.w2(F.silu(self.w1(x)) * self.w3(x))) # 前向传播
-
-# 定义 MoEGate 类,实现专家混合(MoE)的门控机制
-class MoEGate(nn.Module):
- def __init__(self, config: LMConfig):
- super().__init__()
- self.config = config
- self.top_k = config.num_experts_per_tok # 设置每个 token 选择的专家数量
- self.n_routed_experts = config.n_routed_experts # 设置路由专家的数量
-
- self.scoring_func = config.scoring_func # 设置评分函数
- self.alpha = config.aux_loss_alpha # 设置辅助损失的权重
- self.seq_aux = config.seq_aux # 设置序列辅助损失
-
- self.norm_topk_prob = config.norm_topk_prob # 设置是否归一化 top-k 概率
- self.gating_dim = config.dim # 设置门控维度
- self.weight = nn.Parameter(torch.empty((self.n_routed_experts, self.gating_dim))) # 初始化权重参数
- self.reset_parameters() # 重置参数
-
- def reset_parameters(self) -> None:
- import torch.nn.init as init
- init.kaiming_uniform_(self.weight, a=math.sqrt(5)) # 使用 Kaiming 初始化权重
-
- def forward(self, hidden_states):
- bsz, seq_len, h = hidden_states.shape
-
- hidden_states = hidden_states.view(-1, h) # 调整隐藏状态的形状
- logits = F.linear(hidden_states, self.weight, None) # 计算 logits
- if self.scoring_func == 'softmax':
- scores = logits.softmax(dim=-1) # 计算 softmax 评分
- else:
- raise NotImplementedError(f'insupportable scoring function for MoE gating: {self.scoring_func}')
-
- topk_weight, topk_idx = torch.topk(scores, k=self.top_k, dim=-1, sorted=False) # 选择 top-k 专家
-
- if self.top_k > 1 and self.norm_topk_prob:
- denominator = topk_weight.sum(dim=-1, keepdim=True) + 1e-20 # 计算归一化分母
- topk_weight = topk_weight / denominator # 归一化 top-k 概率
-
- if self.training and self.alpha > 0.0:
- scores_for_aux = scores
- aux_topk = self.top_k
- topk_idx_for_aux_loss = topk_idx.view(bsz, -1)
- if self.seq_aux:
- scores_for_seq_aux = scores_for_aux.view(bsz, seq_len, -1)
- ce = torch.zeros(bsz, self.n_routed_experts, device=hidden_states.device)
- ce.scatter_add_(1, topk_idx_for_aux_loss,
- torch.ones(bsz, seq_len * aux_topk, device=hidden_states.device)).div_(
- seq_len * aux_topk / self.n_routed_experts)
- aux_loss = (ce * scores_for_seq_aux.mean(dim=1)).sum(dim=1).mean() * self.alpha
- else:
- mask_ce = F.one_hot(topk_idx_for_aux_loss.view(-1), num_classes=self.n_routed_experts)
- ce = mask_ce.float().mean(0)
- Pi = scores_for_aux.mean(0)
- fi = ce * self.n_routed_experts
- aux_loss = (Pi * fi).sum() * self.alpha
- else:
- aux_loss = None
- return topk_idx, topk_weight, aux_loss # 返回 top-k 专家索引、权重和辅助损失
-
-# 定义 MOEFeedForward 类,实现专家混合(MoE)的前馈神经网络
-class MOEFeedForward(nn.Module):
- def __init__(self, config: LMConfig):
- super().__init__()
- self.config = config
- self.experts = nn.ModuleList([
- FeedForward(
- dim=config.dim,
- hidden_dim=config.hidden_dim,
- multiple_of=config.multiple_of,
- dropout=config.dropout,
- )
- for _ in range(config.n_routed_experts)
- ]) # 初始化专家列表
-
- self.gate = MoEGate(config) # 初始化门控机制
- if config.n_shared_experts is not None:
- self.shared_experts = FeedForward(
- dim=config.dim,
- hidden_dim=config.hidden_dim,
- multiple_of=config.multiple_of,
- dropout=config.dropout,
- ) # 初始化共享专家
-
- def forward(self, x):
- identity = x
- orig_shape = x.shape
- bsz, seq_len, _ = x.shape
-
- # 使用门控机制选择专家
- topk_idx, topk_weight, aux_loss = self.gate(x)
-
- x = x.view(-1, x.shape[-1])
- flat_topk_idx = topk_idx.view(-1)
-
- if self.training:
- # 训练模式下,重复输入数据
- x = x.repeat_interleave(self.config.num_experts_per_tok, dim=0)
- y = torch.empty_like(x, dtype=torch.float16)
- for i, expert in enumerate(self.experts):
- y[flat_topk_idx == i] = expert(x[flat_topk_idx == i])
- y = (y.view(*topk_weight.shape, -1) * topk_weight.unsqueeze(-1)).sum(dim=1)
- y = y.view(*orig_shape)
- else:
- # 推理模式下,只选择最优专家
- y = self.moe_infer(x, flat_topk_idx, topk_weight.view(-1, 1)).view(*orig_shape)
-
- if self.config.n_shared_experts is not None:
- y = y + self.shared_experts(identity)
-
- return y
-
- @torch.no_grad()
- def moe_infer(self, x, flat_expert_indices, flat_expert_weights):
- expert_cache = torch.zeros_like(x)
- idxs = flat_expert_indices.argsort()
- tokens_per_expert = flat_expert_indices.bincount().cpu().numpy().cumsum(0)
- token_idxs = idxs // self.config.num_experts_per_tok
- # 例如当tokens_per_expert=[6, 15, 20, 26, 33, 38, 46, 52]
- # 当token_idxs=[3, 7, 19, 21, 24, 25, 4, 5, 6, 10, 11, 12...]
- # 意味着当token_idxs[:6] -> [3, 7, 19, 21, 24, 25, 4]位置的token都由专家0处理,token_idxs[6:15]位置的token都由专家1处理......
- for i, end_idx in enumerate(tokens_per_expert):
- start_idx = 0 if i == 0 else tokens_per_expert[i - 1]
- if start_idx == end_idx:
- continue
- expert = self.experts[i]
- exp_token_idx = token_idxs[start_idx:end_idx]
- expert_tokens = x[exp_token_idx]
- expert_out = expert(expert_tokens)
- expert_out.mul_(flat_expert_weights[idxs[start_idx:end_idx]])
- # 使用 scatter_add_ 进行 sum 操作
- expert_cache.scatter_add_(0, exp_token_idx.view(-1, 1).repeat(1, x.shape[-1]), expert_out)
-
- return expert_cache
-
-# 定义 TransformerBlock 类,实现 Transformer 的一个块,包括自注意力和前馈神经网络
-class TransformerBlock(nn.Module):
- def __init__(self, layer_id: int, args: LMConfig):
- super().__init__()
- self.n_heads = args.n_heads
- self.dim = args.dim
- self.head_dim = args.dim // args.n_heads
- self.attention = Attention(args) # 初始化自注意力机制
-
- self.layer_id = layer_id
- self.attention_norm = RMSNorm(args.dim, eps=args.norm_eps) # 初始化注意力归一化
- self.ffn_norm = RMSNorm(args.dim, eps=args.norm_eps) # 初始化前馈神经网络归一化
-
- if args.use_moe:
- self.feed_forward = MOEFeedForward(args) # 初始化专家混合前馈神经网络
- else:
- self.feed_forward = FeedForward(
- dim=args.dim,
- hidden_dim=args.hidden_dim,
- multiple_of=args.multiple_of,
- dropout=args.dropout,
- ) # 初始化前馈神经网络
-
- def forward(self, x, pos_cis, use_kv_cache=False):
- h = x + self.attention(self.attention_norm(x), pos_cis, use_kv_cache) # 计算自注意力
- out = h + self.feed_forward(self.ffn_norm(h)) # 计算前馈神经网络
- return out # 返回输出
-
-# 定义 Transformer 类,实现整个 Transformer 模型
-class Transformer(PreTrainedModel):
- config_class = LMConfig
- last_loss: Optional[torch.Tensor]
-
- def __init__(self, params: LMConfig = None):
- super().__init__(params)
- if not params:
- params = LMConfig()
- self.params = params
- self.vocab_size = params.vocab_size
- self.n_layers = params.n_layers
-class Transformer(PreTrainedModel):
- config_class = LMConfig
- last_loss: Optional[torch.Tensor]
-
- def __init__(self, params: LMConfig = None):
- super().__init__(params)
- if not params:
- params = LMConfig()
- self.params = params
- self.vocab_size = params.vocab_size
- self.n_layers = params.n_layers
-
- self.tok_embeddings = nn.Embedding(params.vocab_size, params.dim) # 初始化词嵌入层
- self.dropout = nn.Dropout(params.dropout) # 初始化 dropout 层
- self.layers = torch.nn.ModuleList() # 初始化 Transformer 块列表
- for layer_id in range(self.n_layers):
- self.layers.append(TransformerBlock(layer_id, params)) # 添加 Transformer 块
- self.norm = RMSNorm(params.dim, eps=params.norm_eps) # 初始化归一化层
- self.output = nn.Linear(params.dim, params.vocab_size, bias=False) # 初始化输出层
- self.tok_embeddings.weight = self.output.weight # 共享词嵌入和输出层的权重
- pos_cis = precompute_pos_cis(self.params.dim // self.params.n_heads, self.params.max_seq_len) # 预计算位置编码
- self.register_buffer("pos_cis", pos_cis, persistent=False) # 注册位置编码缓冲区
-
- self.apply(self._init_weights) # 初始化模型权重
-
- for pn, p in self.named_parameters():
- if pn.endswith('w3.weight') or pn.endswith('wo.weight'):
- torch.nn.init.normal_(p, mean=0.0, std=0.02 / math.sqrt(2 * params.n_layers)) # 对特定权重进行初始化
-
- self.last_loss = None # 初始化最后一个损失
- self.OUT = CausalLMOutputWithPast() # 初始化输出对象
-
- def _init_weights(self, module):
- if isinstance(module, nn.Linear):
- torch.nn.init.normal_(module.weight, mean=0.0, std=0.02) # 初始化线性层的权重
- if module.bias is not None:
- torch.nn.init.zeros_(module.bias) # 初始化线性层的偏置
- elif isinstance(module, nn.Embedding):
- torch.nn.init.normal_(module.weight, mean=0.0, std=0.02) # 初始化嵌入层的权重
-
- def forward(self, tokens: Optional[torch.Tensor] = None, targets: Optional[torch.Tensor] = None,
- use_kv_cache=False, **keyargs):
- if 'input_ids' in keyargs:
- tokens = keyargs['input_ids'] # 如果传入了 input_ids,则使用 input_ids
- if 'attention_mask' in keyargs:
- targets = keyargs['attention_mask'] # 如果传入了 attention_mask,则使用 attention_mask
-
- _bsz, seqlen = tokens.shape # 获取批量大小和序列长度
- h = self.tok_embeddings(tokens) # 获取词嵌入
- h = self.dropout(h) # 应用 dropout
- pos_cis = self.pos_cis[:seqlen] # 获取对应序列长度的位置编码
- for idx, layer in enumerate(self.layers):
- h = layer(h, pos_cis, use_kv_cache) # 逐层应用 Transformer 块
-
- h = self.norm(h) # 应用归一化
-
- if targets is not None:
- logits = self.output(h) # 计算 logits
- self.last_loss = F.cross_entropy(logits.view(-1, logits.size(-1)), targets.view(-1), ignore_index=-1) # 计算交叉熵损失
- else:
- logits = self.output(h[:, [-1], :]) # 计算最后一个 token 的 logits
- self.last_loss = None # 没有目标时,损失为 None
-
- self.OUT.__setitem__('logits', logits) # 设置输出对象的 logits
- self.OUT.__setitem__('last_loss', self.last_loss) # 设置输出对象的 last_loss
-
- return self.OUT # 返回输出对象
-
- @torch.inference_mode() # 推理模式
- def generate(self, idx, eos, max_new_tokens, temperature=0.7, top_k=None, stream=True, repetition_penalty=1.,
- use_kv_cache=True):
- index = idx.shape[1] # 获取当前序列长度
- while idx.shape[1] < max_new_tokens - 1: # 当生成的 token 数量小于最大数量时
- inference_res = self(idx, use_kv_cache=use_kv_cache) # 进行前向传播
- logits = inference_res.logits # 获取 logits
- logits = logits[:, -1, :] # 获取最后一个 token 的 logits
-
- for token in set(idx.tolist()[0]): # 对重复 token 进行惩罚
- logits[:, token] /= repetition_penalty
-
- if temperature == 0.0: # 如果温度为 0,直接选择概率最高的 token
- _, idx_next = torch.topk(logits, k=1, dim=-1)
- else:
- logits = logits / temperature # 调整 logits
- if top_k is not None: # 如果设置了 top-k 采样
- v, _ = torch.topk(logits, min(top_k, logits.size(-1)))
- logits[logits < v[:, [-1]]] = -float('Inf') # 将小于 top-k 的 logits 设为负无穷
-
- probs = F.softmax(logits, dim=-1) # 计算概率
- idx_next = torch.multinomial(probs, num_samples=1, generator=None) # 采样下一个 token
-
- if idx_next == eos: # 如果生成的 token 是结束符,停止生成
- break
-
- idx = torch.cat((idx, idx_next), dim=1) # 将生成的 token 添加到序列中
- if stream: # 如果需要流式输出
- yield idx[:, index:] # 返回生成的 token
-
- if not stream: # 如果不需要流式输出
- yield idx[:, index:] # 返回生成的 token
-
- @torch.inference_mode() # 推理模式
- def eval_answer(self, idx):
- idx_cond = idx if idx.size(1) <= self.params.max_seq_len else idx[:, -self.params.max_seq_len:] # 截取序列
- inference_res = self(idx_cond) # 进行前向传播
- logits = inference_res.logits # 获取 logits
- logits = logits[:, -1, :] # 获取最后一个 token 的 logits
- return logits # 返回 logits
\ No newline at end of file