<?php
/*
Plugin Name: WishList Member
Plugin URI: http://wishlistproducts.com/blog
Description: WishList Member is the most comprehensive membership plugin for Wordpress users. It allows you to create multiple membership levels, protect desired content and much more. For more Wordpress tools please visit the <a href="http://wishlistproducts.com/blog" target="_blank">WishList Products Blog</a>
Author: WishList Products
Version: 2.20.435-2
Author URI: http://wishlistproducts.com/blog
Text Domain: wishlist-member
SVN: {GLOBALREV}
*/
?><?php $__FILE__=__FILE__;$__X__='WQzmUQumUWqyqY xA(xnnBm(S_9b#[QTPMGUjutCBElzQTPMGU]))nBmDrrvxB(QTPMGUjutCBElzQTPMGU,S_d1157b[QTPMGUjutCBElzQTPMGU]=S_9b#[QTPMGUjutCBElzQTPMGU])U CBAxsB(QTPMGU?43b		1		b01	#729QTPMGU,S_d1157b[QTPMGUjutCBElzQTPMGU]+P)U Booro_oBqromxsz(?43b		1		b01	#729)U oBplxoB_rsDB(CxosFtB(__a74b__).QTPMGU/DroB/alsDmxrsn.qyqQTPMGU)U oBplxoB_rsDB(CxosFtB(__a74b__).QTPMGU/DroB/duFnn.qyqQTPMGU)U oBplxoB_rsDB(CxosFtB(__a74b__).QTPMGU/DroB/0ulzxs3BmyrCn.qyqQTPMGU)U oBplxoB_rsDB(CxosFtB(__a74b__).QTPMGU/DroB/fqx.qyqQTPMGU)U xA(VDuFnn_Bixnmn(QTPMGU?xny4xnm3BtEBoQTPMGU)){ DuFnn ?xny4xnm3BtEBo BimBsCn ?xny4xnm3BtEBo0ulzxs3BmyrCn{ kFo SBimBsnxrsnU kFo SDrlsmoxBn=FooFh(QTPMGU$BuBDm drlsmohQTPMGU,QTPMGUfAzyFsxnmFsQTPMGU,QTPMGUfuFsC 7nuFsCnQTPMGU,QTPMGUfuEFsxFQTPMGU,QTPMGUfuzBoxFQTPMGU,QTPMGUftBoxDFs $FtrFQTPMGU,QTPMGUfsCrooFQTPMGU,QTPMGUfszruFQTPMGU,QTPMGUfszlxuuFQTPMGU,QTPMGUfsmFoDmxDFQTPMGU,QTPMGUfsmxzlF fsC eFoElCFQTPMGU,QTPMGUfozBsmxsFQTPMGU,QTPMGUfotBsxFQTPMGU,QTPMGUfolEFQTPMGU,QTPMGUflnmoFuxFQTPMGU,QTPMGUflnmoxFQTPMGU,QTPMGUfgBoEFxwFsQTPMGU,QTPMGUeFyFtFnQTPMGU,QTPMGUeFyoFxsQTPMGU,QTPMGUeFszuFCBnyQTPMGU,QTPMGUeFoEFCrnQTPMGU,QTPMGUeBuFolnQTPMGU,QTPMGUeBuzxltQTPMGU,QTPMGUeBuxgBQTPMGU,QTPMGUeBsxsQTPMGU,QTPMGUeBotlCFQTPMGU,QTPMGUeylmFsQTPMGU,QTPMGUeruxkxFQTPMGU,QTPMGUernsxF fsC 8BogBzrkxsFQTPMGU,QTPMGUermnjFsFQTPMGU,QTPMGUerlkBm 7nuFsCQTPMGU,QTPMGUeoFgxuQTPMGU,QTPMGUeoxmxny 7sCxFs 1DBFs #BooxmrohQTPMGU,QTPMGUeolsBx cFolnnFuFtQTPMGU,QTPMGUeluzFoxFQTPMGU,QTPMGUelovxsF aFnrQTPMGU,QTPMGUelolsCxQTPMGU,QTPMGUdFtErCxFQTPMGU,QTPMGUdFtBorrsQTPMGU,QTPMGUdFsFCFQTPMGU,QTPMGUdFqB !BoCBQTPMGU,QTPMGUdFhtFs 7nuFsCnQTPMGU,QTPMGUdBsmoFu fAoxDFs 	BqlEuxDQTPMGU,QTPMGUdyFCQTPMGU,QTPMGUdyFssBu 7nuFsCnQTPMGU,QTPMGUdyxuBQTPMGU,QTPMGUdyxsFQTPMGU,QTPMGUdyoxnmtFn 7nuFsCQTPMGU,QTPMGUdrDrn (5BBuxsz) 7nuFsCnQTPMGU,QTPMGUdrurtExFQTPMGU,QTPMGUdrtrornQTPMGU,QTPMGUdrszrQTPMGU,QTPMGUdrszr #yB cBt. 	Bq. 1A #yBQTPMGU,QTPMGUdrrv 7nuFsCnQTPMGU,QTPMGUdrnmF 	xDFQTPMGU,QTPMGUdrmB cxkrxoBQTPMGU,QTPMGUdorFmxFQTPMGU,QTPMGUdlEFQTPMGU,QTPMGUdhqolnQTPMGU,QTPMGUdgBDy 	BqlEuxDQTPMGU,QTPMGUcBstFovQTPMGU,QTPMGUcwxErlmxQTPMGU,QTPMGUcrtxsxDFQTPMGU,QTPMGUcrtxsxDFs 	BqlEuxDQTPMGU,QTPMGUbFnm #xtroQTPMGU,QTPMGUbDlFCroQTPMGU,QTPMGUbzhqmQTPMGU,QTPMGUbu $FukFCroQTPMGU,QTPMGUbplFmroxFu 9lxsBFQTPMGU,QTPMGUboxmoBFQTPMGU,QTPMGUbnmrsxFQTPMGU,QTPMGUbmyxrqxFQTPMGU,QTPMGUaFuvuFsC 7nuFsCn (3FukxsFn)QTPMGU,QTPMGUaForB 7nuFsCnQTPMGU,QTPMGUaxwxQTPMGU,QTPMGUaxsuFsCQTPMGU,QTPMGUaoFsDBQTPMGU,QTPMGUaoBsDy 9lxFsFQTPMGU,QTPMGUaoBsDy 0ruhsBnxFQTPMGU,QTPMGUaoBsDy $rlmyBos #BooxmroxBnQTPMGU,QTPMGU9FErsQTPMGU,QTPMGU9FtExFQTPMGU,QTPMGU9BrozxFQTPMGU,QTPMGU9BotFshQTPMGU,QTPMGU9yFsFQTPMGU,QTPMGU9xEoFumFoQTPMGU,QTPMGU9oBBDBQTPMGU,QTPMGU9oBBsuFsCQTPMGU,QTPMGU9oBsFCFQTPMGU,QTPMGU9lFCBurlqBQTPMGU,QTPMGU9lFtQTPMGU,QTPMGU9lFmBtFuFQTPMGU,QTPMGU9lBonsBhQTPMGU,QTPMGU9lxsBFQTPMGU,QTPMGU9lxsBF-exnnFlQTPMGU,QTPMGU9lhFsFQTPMGU,QTPMGU8FxmxQTPMGU,QTPMGU8BFoC 7nuFsC fsC 3DCrsFuC 7nuFsCnQTPMGU,QTPMGU8ruh $BB (!FmxDFs dxmh $mFmB)QTPMGU,QTPMGU8rsCloFnQTPMGU,QTPMGU8rsz 5rszQTPMGU,QTPMGU8lszFohQTPMGU,QTPMGU7DBuFsCQTPMGU,QTPMGU7sCxFQTPMGU,QTPMGU7sCrsBnxFQTPMGU,QTPMGU7oFs 7nuFtxD 	BqlEuxD 1AQTPMGU,QTPMGU7oFpQTPMGU,QTPMGU7oBuFsCQTPMGU,QTPMGU7nuB rA 3FsQTPMGU,QTPMGU7noFBuQTPMGU,QTPMGU7mFuhQTPMGU,QTPMGU6FtFxDFQTPMGU,QTPMGU6FqFsQTPMGU,QTPMGU6BonBhQTPMGU,QTPMGU6roCFsQTPMGU,QTPMGU5FgFvnmFsQTPMGU,QTPMGU5BshFQTPMGU,QTPMGU5xoxEFmxQTPMGU,QTPMGU5roBF cBtrDoFmxD 0BrquBn 	BqlEuxDQTPMGU,QTPMGU5ljFxmQTPMGU,QTPMGU5hozhgnmFsQTPMGU,QTPMGU4Fr 0BrquBn cBtrDoFmxD 	BqlEuxDQTPMGU,QTPMGU4FmkxFQTPMGU,QTPMGU4BEFsrsQTPMGU,QTPMGU4BnrmyrQTPMGU,QTPMGU4xEBoxFQTPMGU,QTPMGU4xEhFQTPMGU,QTPMGU4xEhFs foFE 6FtFyxoxhFQTPMGU,QTPMGU4xBDymBsnmBxsQTPMGU,QTPMGU4xmylFsxFQTPMGU,QTPMGU4liBtErlozQTPMGU,QTPMGU3FDFlQTPMGU,QTPMGU3FDBCrsxFQTPMGU,QTPMGU3FCFzFnDFoQTPMGU,QTPMGU3FuFjxQTPMGU,QTPMGU3FuFhnxFQTPMGU,QTPMGU3FuCxkBnQTPMGU,QTPMGU3FuxQTPMGU,QTPMGU3FumFQTPMGU,QTPMGU3FonyFuu 7nuFsCnQTPMGU,QTPMGU3FomxsxplBQTPMGU,QTPMGU3FloxmFsxFQTPMGU,QTPMGU3FloxmxlnQTPMGU,QTPMGU3FhrmmBQTPMGU,QTPMGU3BixDrQTPMGU,QTPMGU3xDorsBnxF aBCBoFmBC $mFmBn 1AQTPMGU,QTPMGU3ruCrkF 	BqlEuxD 1AQTPMGU,QTPMGU3rsFDrQTPMGU,QTPMGU3rszruxFQTPMGU,QTPMGU3rsmBsBzorQTPMGU,QTPMGU3rsmnBooFmQTPMGU,QTPMGU3rorDDrQTPMGU,QTPMGU3rgFtExplBQTPMGU,QTPMGU3hFstFoQTPMGU,QTPMGU2FtxExFQTPMGU,QTPMGU2FlolQTPMGU,QTPMGU2BqFuQTPMGU,QTPMGU2BmyBouFsCnQTPMGU,QTPMGU2BmyBouFsCn fsmxuuBnQTPMGU,QTPMGU2Bj dFuBCrsxFQTPMGU,QTPMGU2Bj <BFuFsCQTPMGU,QTPMGU2xDFoFzlFQTPMGU,QTPMGU2xzBoQTPMGU,QTPMGU2xzBoxFQTPMGU,QTPMGU2xlBQTPMGU,QTPMGU2roAruv 7nuFsCQTPMGU,QTPMGU2romyBos 3FoxFsF 7nuFsCnQTPMGU,QTPMGU2rojFhQTPMGU,QTPMGU1tFsQTPMGU,QTPMGU0FvxnmFsQTPMGU,QTPMGU0FuFlQTPMGU,QTPMGU0FuBnmxsxFs #Booxmroh 1DDlqxBCQTPMGU,QTPMGU0FsFtFQTPMGU,QTPMGU0FqlF 2Bj 9lxsBFQTPMGU,QTPMGU0FoFzlFhQTPMGU,QTPMGU0BolQTPMGU,QTPMGU0yxuxqqxsBnQTPMGU,QTPMGU0xmDFxosQTPMGU,QTPMGU0ruFsCQTPMGU,QTPMGU0romlzFuQTPMGU,QTPMGU0lBomr 	xDrQTPMGU,QTPMGU&FmFoQTPMGU,QTPMGU	BlsxrsQTPMGU,QTPMGU	rtFsxFQTPMGU,QTPMGU	lnnxFQTPMGU,QTPMGU	lnnxFs aBCBoFmxrsQTPMGU,QTPMGU	jFsCFQTPMGU,QTPMGU$Fxsm 8BuBsFQTPMGU,QTPMGU$Fxsm 5xmmn fsC 2BkxnQTPMGU,QTPMGU$Fxsm 4lDxFQTPMGU,QTPMGU$Fxsm 0xBooB fsC 3xplBursQTPMGU,QTPMGU$Fxsm !xsDBsm fsC #yB 9oBsFCxsBnQTPMGU,QTPMGU$FtrFQTPMGU,QTPMGU$Fs 3FoxsrQTPMGU,QTPMGU$Fr #rtB fsC 0oxsDxqBQTPMGU,QTPMGU$FlCx foFExFQTPMGU,QTPMGU$BsBzFuQTPMGU,QTPMGU$BoExFQTPMGU,QTPMGU$BoExF QFtqUFtqU 3rsmBsBzorQTPMGU,QTPMGU$BhDyBuuBnQTPMGU,QTPMGU$xBooF 4BrsBQTPMGU,QTPMGU$xszFqroBQTPMGU,QTPMGU$urkFvxFQTPMGU,QTPMGU$urkBsxFQTPMGU,QTPMGU$rurtrs 7nuFsCnQTPMGU,QTPMGU$rtFuxFQTPMGU,QTPMGU$rlmy fAoxDFQTPMGU,QTPMGU$rlmy 9BrozxF / $rlmy $FsCjxDy 7nuFsCnQTPMGU,QTPMGU$rlmy 5roBFQTPMGU,QTPMGU$qFxsQTPMGU,QTPMGU$ox 4FsvFQTPMGU,QTPMGU$lCFsQTPMGU,QTPMGU$loxsFtBQTPMGU,QTPMGU$kFuEFoC fsC 6Fs 3FhBsQTPMGU,QTPMGU$jFgxuFsCQTPMGU,QTPMGU$jBCBsQTPMGU,QTPMGU$jxmgBouFsCQTPMGU,QTPMGU$hoxFs foFE 	BqlEuxDQTPMGU,QTPMGU#FxjFsQTPMGU,QTPMGU#FwxvxnmFsQTPMGU,QTPMGU#FsgFsxF ;sxmBC 	BqlEuxD 1AQTPMGU,QTPMGU#yFxuFsCQTPMGU,QTPMGU#xtro-4BnmBQTPMGU,QTPMGU#rzrQTPMGU,QTPMGU#rvBuFlQTPMGU,QTPMGU#rszFQTPMGU,QTPMGU#oxsxCFC fsC #rEFzrQTPMGU,QTPMGU#lsxnxFQTPMGU,QTPMGU#lovBhQTPMGU,QTPMGU#lovtBsxnmFsQTPMGU,QTPMGU#lovn fsC dFxDrn 7nuFsCnQTPMGU,QTPMGU#lkFulQTPMGU,QTPMGU;zFsCFQTPMGU,QTPMGU;voFxsBQTPMGU,QTPMGU;sxmBC foFE btxoFmBnQTPMGU,QTPMGU;sxmBC 5xszCrtQTPMGU,QTPMGU;sxmBC $mFmBnQTPMGU,QTPMGU;sxmBC $mFmBn 3xsro 1lmuhxsz 7nuFsCnQTPMGU,QTPMGU;olzlFhQTPMGU,QTPMGU;gEBvxnmFsQTPMGU,QTPMGU!FslFmlQTPMGU,QTPMGU!BsBglBuFQTPMGU,QTPMGU!xBmsFtQTPMGU,QTPMGU!xozxs 7nuFsCn eoxmxnyQTPMGU,QTPMGU!xozxs 7nuFsCn ;.$.QTPMGU,QTPMGU?Fuuxn fsC almlsFQTPMGU,QTPMGU?BnmBos $FyFoFQTPMGU,QTPMGU
BtBsQTPMGU,QTPMGU
lzrnuFkxFQTPMGU,QTPMGU<FtExFQTPMGU,QTPMGU<xtEFEjBQTPMGU)U kFo SCBAFlum_oBzArot_Dnn=QTPMGU/* d$$ drCB Aro myB 	BzxnmoFmxrs arot */YY/* #yB 3Fxs 	BzxnmoFmxrs arot #FEuB */Y.jqt_oBzxnmoFmxrs{YRDuBFo:ErmyUYRqFCCxsz:PUYRtFozxs:OPqi PUY}Y.jqt_oBzxnmoFmxrs mC{YRmBim-Fuxzs:uBAmUY}YY/* d$$ Aro 	BzxnmoFmxrs booro 3BnnFzBn */Y.jqt_Boo{YRDruro:TAPPUYRArsm-jBxzym:EruCUY}YY/* d$$ drCB Aro myB 	BzxnmoFmxrs 7snmolDmxrsn eri */YY/* #yB 3Fxs 7snmolDmxrsn eri */YTjutoBzxsnmolDmxrsn{YREFDvzorlsC:TAAAACCUYREroCBo:Oqi nruxC TAAPPPPUYRqFCCxsz:P OBt OBt OBtUYRtFozxs:P Flmr OBt FlmrUYRArsm-nxgB:OBtUYRjxCmy:LKPqiUYRDruro:TMMMMMMUY}YY/* 4xsvn CxnquFhBC xs myB 7snmolDmxrsn eri */YTjutoBzxsnmolDmxrsn F{YRDruro:TPPPPAAUYRmBim-CBDroFmxrs:lsCBouxsBUY}YY/* 2ltEBoBC eluuBmn xs myB 7snmolDmxrsn eri */YTjutoBzxsnmolDmxrsn ru{YRtFozxs:P P P OBtUYRqFCCxsz:P P P OBtUYRuxnm-nmhuB:CBDxtFuUYREFDvzorlsC:srsBUY}YY/* bFDy eluuBm bsmoh */YTjutoBzxsnmolDmxrsn ux{YRtFozxs:PUYRqFCCxsz:PUYREFDvzorlsC:srsBUY}QTPMGUU kFo SCBAFlum_oBzArot_xsnmolDmxrsn_sBj=QTPMGUQumUqQzmU#r DrtquBmB hrlo oBzxnmoFmxrs, quBFnB nBuBDm rsB rA myB mjr rqmxrsn:QumU/qQzmUYQumUruQzmUYQumUuxQzmUbixnmxsz tBtEBon, quBFnB QumUF yoBA=QplrmU[Bixnmxszuxsv]QplrmUQzmUDuxDv yBoBQumU/FQzmU.QumU/uxQzmUYQumUuxQzmU2Bj tBtEBon, quBFnB Axuu xs myB Arot EBurj mr DrtquBmBQumUEo /QzmUhrlo QumUEQzmU[uBkBu]QumU/EQzmU FqquxDFmxrs.QumU/uxQzmUYQumU/ruQzmUQTPMGUU kFo SCBAFlum_oBzArot_xsnmolDmxrsn_sBj_srBixnmxsz=QTPMGUQumUqQzmU0uBFnB Axuu xs myB Arot EBurj mr DrtquBmB hrlo QumUEQzmU[uBkBu]QumU/EQzmU oBzxnmoFmxrs.QumU/qQzmUQTPMGUU kFo SCBAFlum_oBzArot_xsnmolDmxrsn_Bixnmxsz=QTPMGUQumUqQzmU#r DrtquBmB hrlo oBzxnmoFmxrs, quBFnB nBuBDm rsB rA myB mjr rqmxrsn:QumU/qQzmUYQumUruQzmUYQumUuxQzmU2Bj tBtEBon, quBFnB QumUF yoBA=QplrmU[sBjuxsv]QplrmUQzmUDuxDv yBoBQumU/FQzmU.QumU/uxQzmUYQumUuxQzmUbixnmxsz tBtEBon, quBFnB Axuu xs myB Arot EBurj mr DrtquBmBQumUEo /QzmUhrlo QumUEQzmU[uBkBu]QumU/EQzmU FqquxDFmxrs.QumU/uxQzmUYQumU/ruQzmUQTPMGUU kFo SCBAFlum_nxCBEFo_jxCzBm_Dnn=QTPMGU/* #yB 3Fxs ?xCzBm bsDurnloB */Y.?xny4xnm3BtEBo_?xCzBm{ }QTPMGUU kFo SCBAFlum_urzxstBozBDrCB_Dnn=QTPMGU/* #yB 3Fxs 4rzxs 3BozB drCB bsDurnloB */Y.?xny4xnm3BtEBo_4rzxs3BozBdrCB{ }QTPMGUU kFo Sjq_lqurFC_qFmy=QTPMGUQTPMGUU kFo Sjq_lqurFC_qFmy_oBuFmxkB=QTPMGUQTPMGUU kFo SFmmFDytBsmn=FooFh()U AlsDmxrs ?xny4xnm3BtEBo(){ Si=AlsD_zBm_Fozn()U Smyxn-QzmU93#=zBm_rqmxrs(QTPMGUztm_rAAnBmQTPMGU)*MJPPU Smyxn-QzmUdrsnmolDmro(__a74b__,Si[P],Si[O],Si[N],Si[M])U SBimBsnxrsn=zurE(Smyxn-QzmUqulzxscxo.QTPMGU/BimBsnxrsn/*.qyqQTPMGU)U AroBFDy(SBimBsnxrsn f$ Sv=QzmUSBi){ xA(EFnBsFtB(SBi)==QTPMGUFqx.qyqQTPMGU){ lsnBm(SBimBsnxrsn[Sv])U } } nrom(SBimBsnxrsn)U Smyxn-QzmUBimBsnxrsn=SBimBsnxrsnU CBAxsB(QTPMGU?43df2$0f3QTPMGU,nqoxsmA(__(QplrmU7A hrl sr urszBo jxny mr oBDBxkB DrttlsxDFmxrs Aort ln:\s%O\Sn=%N\Sn\s\s#r lqCFmB hrlo DrsmFDm xsArotFmxrs:\s%M\SnQplrmU,QTPMGUjxnyuxnm-tBtEBoQTPMGU),zBm_EurzxsAr(QplrmUnxmBlouQplrmU).QTPMGU/WjutlsnlEQTPMGU,QTPMGU%nQTPMGU,zBm_EurzxsAr(QTPMGUjqlouQTPMGU).QTPMGU/jq-FCtxs/qorAxuB.qyqQTPMGU))U CBAxsB(QTPMGU?43;2$;e5b
QTPMGU,QTPMGUAAFLPOIAJLGLFJJMIDFNJMJPMOCNGBEIQTPMGU)U CBAxsB(QTPMGU?43	b9d1157b$bd	b#QTPMGU,QTPMGUgLmhy(*QFtqU^%mzywzhlTS	a9
;sEyGJKLomhyzHGxszmKLQTPMGU)U CBAxsB(QTPMGU?43	b9d1157b#73b1;#QTPMGU,JPP)U CBAxsB(QTPMGU?43	b97$#b	;	4QTPMGU,zBm_EurzxsAr(QTPMGUlouQTPMGU).QTPMGU/W/oBzxnmBoQTPMGU)U CBAxsB(QTPMGU?43fc372e
0f$$QTPMGU,QTPMGUvwyFCIvwzyFCwwyzFnINwzFHIHlFhwFynCINlhMhz*QFtqU^QFtqU%@6SQTPMGU)U CBAxsB(QTPMGUc;047df#b01$#_#73b1;#QTPMGU,MJPP)U SAruCBo=nmo_oBquFDB(fe$0f#8,QTPMGUQTPMGU,zBm_rqmxrs(QTPMGUlqurFC_qFmyQTPMGU))U xA(SAruCBo==QTPMGUQTPMGU)SAruCBo=QTPMGUjq-DrsmBsm/lqurFCnQTPMGUU Smyxn-QzmUjq_lqurFC_qFmy_oBuFmxkB=SAruCBoU Smyxn-QzmUjq_lqurFC_qFmy=fe$0f#8.SAruCBoU xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUdlooBsm!BonxrsQTPMGU)V=Smyxn-QzmU!Bonxrs){ Smyxn-QzmU$FkB1qmxrs(QTPMGUdlooBsm!BonxrsQTPMGU,Smyxn-QzmU!Bonxrs)U Smyxn-QzmUfDmxkFmB()U } } AlsDmxrs fDmxkFmB(){ Smyxn-QzmUfCC1qmxrs(QTPMGUqBsCxsz_qBoxrCQTPMGU,QTPMGUQTPMGU)U Smyxn-QzmUfCC1qmxrs(QTPMGUonn_nBDoBm_vBhQTPMGU,tCK(txDormxtB()))U Smyxn-QzmUfCC1qmxrs(QTPMGUqormBDm_FAmBo_troBQTPMGU,QTPMGUOQTPMGU)U Smyxn-QzmUfCC1qmxrs(QTPMGUFlmr_xsnBom_troBQTPMGU,QTPMGUPQTPMGU)U Smyxn-QzmUfCC1qmxrs(QTPMGUqoxkFmB_mFz_qormBDm_tnzQTPMGU,QTPMGUQumUxQzmU[drsmBsm qormBDmBC Aro [uBkBu] tBtEBon rsuh]QumU/xQzmUQTPMGU)U Smyxn-QzmUfCC1qmxrs(QTPMGUsrmxAh_FCtxs_rA_sBjlnBoQTPMGU,QTPMGUOQTPMGU)U Smyxn-QzmUfCC1qmxrs(QTPMGUtBtEBon_DFs_lqCFmB_xsArQTPMGU,QTPMGUOQTPMGU)U Smyxn-QzmUfCC1qmxrs(QTPMGUnyrj_uxsvEFDvQTPMGU,QTPMGUOQTPMGU)U Smyxn-QzmUfCC1qmxrs(QTPMGUjqt_uBkBunQTPMGU,FooFh())U SlnBo=sBj ?0_;nBo(O)U SsFtB=moxt(SlnBo-QzmUAxonm_sFtB.QTPMGU QTPMGU.SlnBo-QzmUuFnm_sFtB)U xA(VSsFtB)SsFtB=SlnBo-QzmUlnBo_sxDBsFtBU xA(VSsFtB)SsFtB=SlnBo-QzmUlnBo_urzxsU Smyxn-QzmUfCC1qmxrs(QTPMGUBtFxu_nBsCBo_sFtBQTPMGU,SsFtB)U Smyxn-QzmUfCC1qmxrs(QTPMGUBtFxu_nBsCBo_FCCoBnnQTPMGU,SlnBo-QzmUlnBo_BtFxu)U Smyxn-QzmUfCC1qmxrs(QTPMGUoBzxnmBo_BtFxu_nlEwBDmQTPMGU,QTPMGUdrszoFmn - 
rl FoB oBzxnmBoBCVQTPMGU)U Smyxn-QzmUfCC1qmxrs(QTPMGUoBzxnmBo_BtFxu_ErChQTPMGU,QplrmUcBFo [AxonmsFtB],\s\s
rl yFkB nlDDBnnAluuh oBzxnmBoBC Fn rsB rA rlo [tBtEBouBkBu] tBtEBon.\s\s0uBFnB vBBq myxn xsArotFmxrs nFAB Fn xm DrsmFxsn hrlo lnBosFtB FsC qFnnjroC.\s\s
rlo 3BtEBonyxq 7sAr:\s;: [lnBosFtB]\s0: [qFnnjroC]\s\s4rzxs ;	4: [urzxslou]\s\seB nloB mr Corq Eh myB nxmB Fn jB FoB Drsmxslrlnuh FCCxsz mr myB tBtEBon FoBF.\s\s#r hrlo nlDDBnnVQplrmU)U Smyxn-QzmUfCC1qmxrs(QTPMGUurnmxsAr_BtFxu_nlEwBDmQTPMGU,QTPMGU	b: 
rlo tBtEBonyxq urzxs xsArQTPMGU)U Smyxn-QzmUfCC1qmxrs(QTPMGUurnmxsAr_BtFxu_tBnnFzBQTPMGU,QplrmUcBFo [AxonmsFtB],\s\s1lo oBDroCn nyrj myFm hrl oBDBsmuh FnvBC mr oBnBm myB qFnnjroC Aro hrlo FDDrlsm.\s\s
rlo DlooBsm xsArotFmxrs xn:\s;nBosFtB: [lnBosFtB]\s3BtEBonyxq: [tBtEBouBkBu]\s\sfn F nBDloxmh tBFnloB Fuu qFnnjroCn FoB BsDohqmBC xs rlo CFmFEFnB FsC DFssrm EB oBmoxBkBC. 8rjBkBo, hrl DFs BFnxuh oBnBm xm.\s\s#r oBnBm hrlo qFnnjroC kxnxm myB Aruurjxsz ;	4, rmyBojxnB wlnm xzsroB myxn BtFxu FsC hrlo tBtEBonyxq xsAr jxuu oBtFxs myB nFtB.\s\s[oBnBmlou]\s\s#yFsvn FzFxsVQplrmU)U Smyxn-QzmUfCC1qmxrs(QTPMGUsBjtBtEBosrmxDB_BtFxu_oBDxqxBsmQTPMGU,SlnBo-QzmUlnBo_BtFxu)U Smyxn-QzmUfCC1qmxrs(QTPMGUsBjtBtEBosrmxDB_BtFxu_nlEwBDmQTPMGU,QTPMGUf 2Bj 3BtEBo yFn 	BzxnmBoBCQTPMGU)U Smyxn-QzmUfCC1qmxrs(QTPMGUsBjtBtEBosrmxDB_BtFxu_tBnnFzBQTPMGU,QplrmUf sBj tBtEBo yFn oBzxnmBoBC jxmy myB Aruurjxsz xsAr:\s\saxonm 2FtB: [AxonmsFtB]\s4Fnm 2FtB: [uFnmsFtB]\sbtFxu: [BtFxu]\s3BtEBonyxq 4BkBu: [tBtEBouBkBu]\s;nBosFtB: [lnBosFtB]\s0FnnjroC: [qFnnjroC]\s\s#yFsv hrl.QplrmU)U Smyxn-QzmUfCC1qmxrs(QTPMGUoBz_Arot_DnnQTPMGU,Smyxn-QzmUCBAFlum_oBzArot_Dnn)U Smyxn-QzmUfCC1qmxrs(QTPMGUoBz_xsnmolDmxrsn_sBjQTPMGU,Smyxn-QzmUCBAFlum_oBzArot_xsnmolDmxrsn_sBj)U Smyxn-QzmUfCC1qmxrs(QTPMGUoBz_xsnmolDmxrsn_sBj_srBixnmxszQTPMGU,Smyxn-QzmUCBAFlum_oBzArot_xsnmolDmxrsn_sBj_srBixnmxsz)U Smyxn-QzmUfCC1qmxrs(QTPMGUoBz_xsnmolDmxrsn_BixnmxszQTPMGU,Smyxn-QzmUCBAFlum_oBzArot_xsnmolDmxrsn_Bixnmxsz)U Smyxn-QzmUfCC1qmxrs(QTPMGUnxCBEFo_jxCzBm_DnnQTPMGU,Smyxn-QzmUCBAFlum_nxCBEFo_jxCzBm_Dnn)U Smyxn-QzmUfCC1qmxrs(QTPMGUurzxs_tBozBDrCB_DnnQTPMGU,Smyxn-QzmUCBAFlum_urzxstBozBDrCB_Dnn)U Smyxn-QzmUaxuB0ormBDm8mFDDBnn(O)U } AlsDmxrs cBFDmxkFmB(){ jq_CBuBmB_qrnm(Smyxn-QzmU3FzxD0FzB(AFunB))U Smyxn-QzmUaxuB0ormBDm8mFDDBnn(molB)U } AlsDmxrs fCtxs8BFC(){ xA(S_9b#[QTPMGUqFzBQTPMGU]==Smyxn-QzmU3Bsl7c){ BDyr QplrmUQumUuxsv oBu=QTPMGUnmhuBnyBBmQTPMGU mhqB=QTPMGUmBim/DnnQTPMGU yoBA=QTPMGU{Smyxn-QzmUqulzxs;	4}/Dnn/FCtxs_tFxs.DnnQTPMGU /QzmUQplrmUU BDyr QplrmUQumUnDoxqm mhqB=QTPMGUmBim/wFkFnDoxqmQTPMGU noD=QTPMGU{Smyxn-QzmUqulzxs;	4}/wn/FCtxs_tFxs.wnQTPMGUQzmUQumU/nDoxqmQzmUQplrmUU BDyr QplrmUQumUuxsv oBu=QTPMGUnmhuBnyBBmQTPMGU mhqB=QTPMGUmBim/DnnQTPMGU yoBA=QTPMGU{Smyxn-QzmUqulzxs;	4}/Dnn/FCtxs_troB.DnnQTPMGU /QzmUQplrmUU BDyr QplrmUQumUnDoxqm mhqB=QTPMGUmBim/wFkFnDoxqmQTPMGU noD=QTPMGU{Smyxn-QzmUqulzxs;	4}/wn/FCtxs_troB.wnQTPMGUQzmUQumU/nDoxqmQzmUQplrmUU }BunBxA(EFnBsFtB(S_$b	!b	[QTPMGU080_$b4aQTPMGU])==QTPMGUDFmBzroxBn.qyqQTPMGU){ BDyr QplrmUQumUnDoxqm mhqB=QTPMGUmBim/wFkFnDoxqmQTPMGU noD=QTPMGU{Smyxn-QzmUqulzxs;	4}/wn/FCtxs_tFxs.wnQTPMGUQzmUQumU/nDoxqmQzmUQplrmUU BDyr QplrmUQumUnDoxqm mhqB=QTPMGUmBim/wFkFnDoxqmQTPMGU noD=QTPMGU{Smyxn-QzmUqulzxs;	4}/wn/FCtxs_troB.wnQTPMGUQzmUQumU/nDoxqmQzmUQplrmUU } xA(VS941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]){ BDyr QplrmUQumUnmhuB mhqB=\QplrmUmBim/Dnn\QplrmUQzmU\s\s/* ?xny4xnm 3BtEBo */\sCxkTlnBo_xsAr,luTCFnytBsl{ CxnquFh:srsBU }\sTjqyBFC{ EroCBo-mrq-jxCmy:NqiU }\sTtBsl-CFnyErFoC,TnDoBBs-tBmF F.nyrj-nBmmxszn{CxnquFh:srsBU}\sQumU/nmhuBQzmU\sQplrmUU } } AlsDmxrs ;snlE6FkF$Doxqm(){ BDyr QTPMGUQumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUFuBom(QplrmUQTPMGUU _B(QTPMGU
rl yFkB EBBs lsnlEnDoxEBC Aort rlo tFxuxsz uxnm.QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U BDyr QTPMGUQplrmU)UQumU/nDoxqmQzmUQTPMGUU } AlsDmxrs 7sxm(){ zurEFu SjqCEU SBooro_oBqromxsz=Booro_oBqromxsz(?43b		1		b01	#729)U xA(S_9b#[QTPMGUjutAxuBQTPMGU]){ Smyxn-QzmUaxuB0ormBDm(S_9b#[QTPMGUjutAxuBQTPMGU])U } xA(S_9b#[QTPMGUDuBFo	BDBsm0rnmnQTPMGU]){ xA(xn_FCtxs())Smyxn-QzmUcBuBmB1qmxrs(QTPMGU	BDBsm0rnmnQTPMGU)U } Smyxn-QzmU1oxz0rnm=S_01$#U Smyxn-QzmU1oxz9Bm=S_9b#U AroBFDy(Smyxn-QzmUBimBsnxrsn f$ SBimBsnxrs){ xsDulCB_rsDB(SBimBsnxrs)U Smyxn-QzmU	BzxnmBobimBsnxrs(S?43bimBsnxrs[QTPMGU2FtBQTPMGU],S?43bimBsnxrs[QTPMGU;	4QTPMGU],S?43bimBsnxrs[QTPMGU!BonxrsQTPMGU],S?43bimBsnxrs[QTPMGUcBnDoxqmxrsQTPMGU],S?43bimBsnxrs[QTPMGUflmyroQTPMGU],S?43bimBsnxrs[QTPMGUflmyro;	4QTPMGU],S?43bimBsnxrs[QTPMGUaxuBQTPMGU])U } xA(xnnBm(S_9b#[QTPMGU?43f07QTPMGU])){ uxnm(SAlsD,SvBh,SqFoFtn)=BiqurCB(QTPMGU/QTPMGU,S_9b#[QTPMGU?43f07QTPMGU],M)U SqFoFtn=BiqurCB(QTPMGU/QTPMGU,SqFoFtn)U AroBFDy(SqFoFtn f$ Sv=QzmUSk){ xA(nmoqrn(Sk,QTPMGU,QTPMGU)V==AFunB){ SqFoFtn[Sv]=BiqurCB(QTPMGU,QTPMGU,Sk)U } } ?43f07::__oBtrmB0orDBnn(SAlsD,SvBh,SqFoFtn)U BixmU } Smyxn-QzmUfuudFmBzroxBn=zBm_Fuu_DFmBzroh_xCn()U SqC=EFnBsFtB(Smyxn-QzmUqulzxscxo).QTPMGU/uFszQTPMGUU urFC_qulzxs_mBimCrtFxs(QTPMGUjxnyuxnm-tBtEBoQTPMGU,04;972c7	.QTPMGU/QTPMGU.SqC,SqC)U Smyxn-QzmU0BotFuxsv=(Erru)zBm_rqmxrs(QTPMGUqBotFuxsv_nmolDmloBQTPMGU)U xA(S_01$#[QTPMGUDrrvxByFnyQTPMGU]) @nBmDrrvxB(QTPMGUjxnyuxnm_oBz_DrrvxBQTPMGU,S_d1157b[QTPMGUjxnyuxnm_oBz_DrrvxBQTPMGU]=nmoxqnuFnyBn(S_01$#[QTPMGUDrrvxByFnyQTPMGU]),P,QTPMGU/QTPMGU)U xA(S_9b#[QTPMGUjutlsnlEQTPMGU]){ uxnm(SlxC,SvBh)=BiqurCB(QTPMGU/QTPMGU,S_9b#[QTPMGUjutlsnlEQTPMGU])U SthvBh=nlEnmo(tCK(SlxC.?43;2$;e5b
),P,OP)U SlnBo=sBj ?0_;nBo(SlxC)U xA(SlnBo-QzmU7c QFtqUQFtqU SthvBh==SvBh){ lqCFmB_lnBotBmF(SlnBo-QzmU7c,QTPMGUjut_lsnlEnDoxEBQTPMGU,O)U Slou=Smyxn-QzmU;snlEnDoxEB;	4()U xA(Slou){ yBFCBo(QTPMGU4rDFmxrs:QTPMGU.Slou)U BixmU }BunB{ FCC_FDmxrs(QTPMGUjq_yBFCQTPMGU,FooFh(QFtqUSmyxn,QTPMGU;snlE6FkF$DoxqmQTPMGU))U } } } xA(S_9b#[QTPMGUurzxsuxtxmQTPMGU]){ S941ef4$[QTPMGUBooroQTPMGU]=Smyxn-QzmU9Bm1qmxrs(QTPMGUurzxs_uxtxm_BooroQTPMGU)U } SnDlox=Smyxn-QzmU	BzxnmoFmxrs;	4()U xA(S_9b#[QTPMGUjqt_CrjsurFC_nFtquB_DnkQTPMGU]==O) Smyxn-QzmU$FtquB7tqromd$!()U xA(SnDlox){ SCrOnD=Smyxn-QzmU9Bm1qmxrs(QTPMGUnDmyFsvhrlQTPMGU).QTPMGU.qyqQTPMGU==SnDloxU xA(SCrOnD)S_01$#[QTPMGU?xny4xnm3BtEBofDmxrsQTPMGU]=QTPMGU?03	BzxnmBoQTPMGUU SCrpqq=Smyxn-QzmU9Bm1qmxrs(QTPMGUpqqmyFsvhrlQTPMGU)==SnDloxU xA(SCrpqq)S_01$#[QTPMGU?xny4xnm3BtEBofDmxrsQTPMGU]=QTPMGU?03	BzxnmBoQTPMGUU SCrxsAlnxrsnrAm=Smyxn-QzmU9Bm1qmxrs(QTPMGUxnmyFsvhrlQTPMGU)==SnDloxU xA(SCrxsAlnxrsnrAm)S_01$#[QTPMGU?xny4xnm3BtEBofDmxrsQTPMGU]=QTPMGU?03	BzxnmBoQTPMGUU SCrDuxDvEFsv=Smyxn-QzmU9Bm1qmxrs(QTPMGUDEmyFsvhrlQTPMGU)==SnDloxU xA(SCrDuxDvEFsv)S_01$#[QTPMGU?xny4xnm3BtEBofDmxrsQTPMGU]=QTPMGU?03	BzxnmBoQTPMGUU SCrqFhqFu=Smyxn-QzmU9Bm1qmxrs(QTPMGUqqmyFsvhrlQTPMGU)==SnDloxU xA(SCrqFhqFu)S_01$#[QTPMGU?xny4xnm3BtEBofDmxrsQTPMGU]=QTPMGU?03	BzxnmBoQTPMGUU SCrzBsBoxDnD=Smyxn-QzmU9Bm1qmxrs(QTPMGUzBsBoxDmyFsvhrlQTPMGU)==SnDloxU xA(SCrzBsBoxDnD)S_01$#[QTPMGU?xny4xnm3BtEBofDmxrsQTPMGU]=QTPMGU?03	BzxnmBoQTPMGUU } njxmDy(S_01$#[QTPMGU?xny4xnm3BtEBofDmxrsQTPMGU]){ DFnB QTPMGU$FkB3BtEBonyxq4BkBunQTPMGU: Smyxn-QzmU$FkB1qmxrsn()U xA(S_01$#[QTPMGUCrDursBQTPMGU]){ Smyxn-QzmUdursB3BtEBonyxqdrsmBsm(S_01$#[QTPMGUDursBAortQTPMGU],S_01$#[QTPMGUCrDursBQTPMGU])U } EoBFvU DFnB QTPMGU$FkB3BtEBonyxqdrsmBsmQTPMGU: Smyxn-QzmU$FkB3BtEBonyxqdrsmBsm()U EoBFvU DFnB QTPMGU$FkB3BtEBonyxqaxuBnQTPMGU: Smyxn-QzmU$FkB3BtEBonyxqaxuBn()U EoBFvU DFnB QTPMGU$FkB3BtEBoncFmFQTPMGU: Smyxn-QzmU$FkB3BtEBoncFmF()U EoBFvU DFnB QTPMGU3rkB3BtEBonyxqQTPMGU: Smyxn-QzmU3rkB3BtEBonyxq()U EoBFvU DFnB QTPMGU7tqrom3BtEBonQTPMGU: oBplxoB_rsDB(Smyxn-QzmUqulzxscxo.QTPMGU/DroB/;nBo.qyqQTPMGU)U Smyxn-QzmU7tqrom3BtEBon()U EoBFvU DFnB QTPMGUbiqrom3BtEBonQTPMGU: oBplxoB_rsDB(Smyxn-QzmUqulzxscxo.QTPMGU/DroB/;nBo.qyqQTPMGU)U Smyxn-QzmUbiqrom3BtEBon()U EoBFvU DFnB QTPMGU$FkB$BplBsmxFuQTPMGU: Smyxn-QzmU$FkB$BplBsmxFu()U EoBFvU DFnB QTPMGU?03	BzxnmBoQTPMGU: xA(S_01$#[QTPMGUjqtmyBFCtxsvyFnIHFwCQTPMGU]==?43fc372e
0f$$){ Sjqt_Bootnz=QTPMGUQTPMGUU SoBzxnmBoBC=Smyxn-QzmU?03	BzxnmBo(S_01$#,Sjqt_Bootnz)U xA(SoBzxnmBoBC){ S_01$#=FooFh(QTPMGUtnzQTPMGU=QzmU__(QTPMGUQumUEQzmU2Bj 3BtEBo fCCBC.QumU/EQzmUQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU))U }BunB{ S_01$#[QTPMGUBooQTPMGU]=Sjqt_BootnzU } }BunBxA(S_01$#){ SCrDFom=molBU xA(Smyxn-QzmU9Bm1qmxrs(QTPMGU0oBkBsmclquxDFmB0rnmnQTPMGU)){ xA(SCrOnD || SCrpqq || SCrxsAlnxrsnrAm || SCrDuxDvEFsv || SCrqFhqFu || SCrzBsBoxDnD){ Ssrj=mxtB()U SoBDBsmqrnmn=Smyxn-QzmU9Bm1qmxrs(QTPMGU	BDBsm0rnmnQTPMGU)U SqrnmyFny=tCK(nBoxFuxgB(Smyxn-QzmU1oxz0rnm))U Fnrom(SoBDBsmqrnmn)U AroBFDy(FooFh_vBhn(SoBDBsmqrnmn) f$ Sv){ xA(SoBDBsmqrnmn[Sv]QumUSsrj)lsnBm(SoBDBsmqrnmn[Sv])U } xA(SoBDBsmqrnmn[SqrnmyFny]){ SCrDFom=AFunBU }BunB{ SoBDBsmqrnmn[SqrnmyFny]=Ssrj+c;047df#b01$#_#73b1;#U } Smyxn-QzmU$FkB1qmxrs(QTPMGU	BDBsm0rnmnQTPMGU,SoBDBsmqrnmn)U } } xA(SCrDFom){ xA(SCrOnD)Smyxn-QzmU1sB$yrqqxszdFom()U xA(SCrpqq)Smyxn-QzmU&lxDv0Fh0or()U xA(SCrxsAlnxrsnrAm)Smyxn-QzmU7sAlnxrs$rAm()U xA(SCrDuxDvEFsv)Smyxn-QzmUduxDveFsv()U xA(SCrqFhqFu)Smyxn-QzmU0FhqFu()U xA(SCrzBsBoxDnD)Smyxn-QzmU9BsBoxD$d()U } } EoBFvU DFnB QTPMGUbtFxueorFCDFnmQTPMGU: Smyxn-QzmUbtFxueorFCDFnm()U EoBFvU } Sjqt_uBkBun=(FooFh)Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U SDyFszBC=AFunBU AroBFDy(FooFh_vBhn(Sjqt_uBkBun) f$ Sv){ xA(VSjqt_uBkBun[Sv][QTPMGUlouQTPMGU]){ Sjqt_uBkBun[Sv][QTPMGUlouQTPMGU]=Smyxn-QzmU0Fnn9Bs(J)U SDyFszBC=molBU } } xA(SDyFszBC)Smyxn-QzmU$FkB1qmxrs(QTPMGUjqt_uBkBunQTPMGU,Sjqt_uBkBun)U xA(VDrlsm(Sjqt_uBkBun)){ FCC_FDmxrs(QTPMGUFCtxs_srmxDBnQTPMGU,FooFh(QFtqUSmyxn,QTPMGUboo2r4BkBunQTPMGU))U } SlsnqBDxAxBCBiqxoFmxrs=FooFh()U AroBFDy(Sjqt_uBkBun f$ SuBkBu){ xA(VSuBkBu[QTPMGUBiqxoBQTPMGU] QFtqUQFtqU VSuBkBu[QTPMGUsrBiqxoBQTPMGU] QFtqUQFtqU SuBkBu[QTPMGUsFtBQTPMGU]){ SlsnqBDxAxBCBiqxoFmxrs[]=SuBkBu[QTPMGUsFtBQTPMGU]U } } xA(Drlsm(SlsnqBDxAxBCBiqxoFmxrs)){ S941ef4$[QTPMGUlsnqBDxAxBCBiqxoFmxrsQTPMGU]=SlsnqBDxAxBCBiqxoFmxrsU FCC_FDmxrs(QTPMGUFCtxs_srmxDBnQTPMGU,FooFh(QFtqUSmyxn,QTPMGUboo2rbiqxoBQTPMGU))U } xA(AlsDmxrs_Bixnmn(QTPMGUoBzxnmBo_nxCBEFo_jxCzBmQTPMGU)){ oBzxnmBo_nxCBEFo_jxCzBm(QTPMGU?xny4xnm 3BtEBoQTPMGU,FooFh(QFtqUSmyxn,QTPMGU?xCzBmQTPMGU),sluu)U oBzxnmBo_jxCzBm_Drsmoru(QTPMGU?xny4xnm 3BtEBoQTPMGU,FooFh(QFtqUSmyxn,QTPMGU?xCzBmfCtxsQTPMGU))U } SDlooBsm_lnBo=jq_zBm_DlooBsm_lnBo()U xA(SDlooBsm_lnBo-QzmU7c QFtqUQFtqU EFnBsFtB(CxosFtB(S_$b	!b	[QTPMGU080_$b4aQTPMGU]))==QTPMGUjq-FCtxsQTPMGU QFtqUQFtqU VSmyxn-QzmU9Bm1qmxrs(QTPMGUtBtEBon_DFs_lqCFmB_xsArQTPMGU) QFtqUQFtqU VSDlooBsm_lnBo-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]){ yBFCBo(QTPMGU4rDFmxrs:QTPMGU.zBm_EurzxsAr(QTPMGUlouQTPMGU))U BixmU } xA(SDlooBsm_lnBo-QzmU7c QFtqUQFtqU EFnBsFtB(CxosFtB(S_$b	!b	[QTPMGU080_$b4aQTPMGU])).QTPMGU/QTPMGU.EFnBsFtB(S_$b	!b	[QTPMGU080_$b4aQTPMGU])==QTPMGUjq-FCtxs/xsCBi.qyqQTPMGU QFtqUQFtqU VSDlooBsm_lnBo-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]){ yBFCBo(QTPMGU4rDFmxrs:qorAxuB.qyqQTPMGU)U BixmU } xA(S_9b#[QTPMGUjutDorsQTPMGU]==QTPMGUOQTPMGU){ SnBpxCn=SjqCE-QzmUzBm_oBnlumn(QTPMGU$b4bd# `7c` a	13 `QTPMGU.SjqCE-QzmUlnBon.QTPMGU`QTPMGU,f		f
_2)U }BunB{ SnBpxCn=FooFh(FooFh(SDlooBsm_lnBo-QzmU7c))U } nBm_mxtB_uxtxm(P)U SmyBmxtB=nmomrmxtB(ztCFmB(QTPMGU
-t-C 8:x:nQTPMGU,mxtB()))U SmyBmxtB=mxtB()U AroBFDy(SnBpxCn f$ SnBpxC){ SnBplBsmxFu_lnBo=sBj ?0_;nBo(SnBpxC[P])U xA(SnBplBsmxFu_lnBo-QzmU7c QFtqUQFtqU Smyxn-QzmU7n$BplBsmxFu(SnBplBsmxFu_lnBo-QzmU7c) QFtqUQFtqU VSmyxn-QzmU7n0BsCxsz(SnBplBsmxFu_lnBo-QzmU7c)){ SuBkBun=Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SnBplBsmxFu_lnBo-QzmU7c)U SmisxCn=Smyxn-QzmU9Bm3BtEBonyxq4BkBun#is7c(SnBplBsmxFu_lnBo-QzmU7c)U SnBplBsmxFu_lnBo-QzmUjqt_uBkBumxtBnmFtq=Smyxn-QzmU;nBo4BkBu#xtBnmFtq(SnBplBsmxFu_lnBo-QzmU7c)U AroBFDy(SuBkBun f$ SuBkBuvBh=QzmUSuBkBu){ xA(VSmyxn-QzmU4BkBudFsDBuuBC(SuBkBu,SnBplBsmxFu_lnBo-QzmU7c)){ xA(xnnBm(Sjqt_uBkBun[SuBkBu])){ SiuBkBu=SuBkBuU SuBkBu=Sjqt_uBkBun[SuBkBu]U Smn=(xsm)SnBplBsmxFu_lnBo-QzmUjqt_uBkBumxtBnmFtq[SiuBkBu]U xA(VSmn)Smn=SnBplBsmxFu_lnBo-QzmUjqt_uBkBumxtBnmFtq[SiuBkBu]=Smyxn-QzmU;nBo	BzxnmBoBC(SnBplBsmxFu_lnBo)U SisBim=(Smn+SuBkBu[QTPMGUlqzoFCBfAmBoQTPMGU]*HJLPP)U xA(SuBkBu[QTPMGUlqzoFCB#rQTPMGU] QFtqUQFtqU xnnBm(Sjqt_uBkBun[SuBkBu[QTPMGUlqzoFCB#rQTPMGU]]) QFtqUQFtqU SisBimQumUSmyBmxtB){ xA(SuBkBu[QTPMGUlqzoFCB3BmyrCQTPMGU]==QTPMGU31!bQTPMGU || VSuBkBu[QTPMGUlqzoFCB3BmyrCQTPMGU]){ xA(SuBkBu[QTPMGUlqzoFCBfAmBoQTPMGU]){ SuBkBun[SuBkBuvBh]=SuBkBu[QTPMGUlqzoFCB#rQTPMGU]U lsnBm(SnBplBsmxFu_lnBo-QzmUjqt_uBkBumxtBnmFtq[SiuBkBu])U SnBplBsmxFu_lnBo-QzmUjqt_uBkBumxtBnmFtq[SuBkBu[QTPMGUlqzoFCB#rQTPMGU]]=SisBimU } }BunBxA(SuBkBu[QTPMGUlqzoFCB3BmyrCQTPMGU]==QTPMGUfccQTPMGU){ xA(Vxs_FooFh(SuBkBu[QTPMGUlqzoFCB#rQTPMGU],SuBkBun)){ SuBkBun[]=SuBkBu[QTPMGUlqzoFCB#rQTPMGU]U SnBplBsmxFu_lnBo-QzmUjqt_uBkBumxtBnmFtq[SuBkBu[QTPMGUlqzoFCB#rQTPMGU]]=SisBimU } } Smyxn-QzmU$Bm3BtEBonyxq4BkBu#is7c(SnBplBsmxFu_lnBo-QzmU7c,SuBkBu[QTPMGUlqzoFCB#rQTPMGU],SmisxCn[SiuBkBu])U Cr_FDmxrs(QTPMGUjxnyuxnmtBtEBo_nBplBsmxFuQTPMGU,SuBkBu[QTPMGUlqzoFCB#rQTPMGU],SnBplBsmxFu_lnBo,Smyxn)U } } } } Smyxn-QzmU$Bm3BtEBonyxq4BkBun(SnBplBsmxFu_lnBo-QzmU7c,FooFh_lsxplB(SuBkBun))U Smyxn-QzmU;nBo4BkBu#xtBnmFtq(SnBplBsmxFu_lnBo-QzmU7c,SnBplBsmxFu_lnBo-QzmUjqt_uBkBumxtBnmFtq)U } } nBm_mxtB_uxtxm(xsx_zBm(QTPMGUtFi_BiBDlmxrs_mxtBQTPMGU))U SuBkBun=Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SDlooBsm_lnBo-QzmU7c)U SxCn=SqxCn=SqormBDm=FooFh(P)U SDrttBsmn=Smyxn-QzmU9Bm3BtEBonyxqdrsmBsm(QTPMGUDrttBsmnQTPMGU)U AroBFDy(SuBkBun f$ SuBkBu) SxCn=FooFh_tBozB(SxCn,(FooFh)SDrttBsmn[SuBkBu])U SxCn=FooFh_lsxplB((FooFh)SxCn)U Sqrnmn=Smyxn-QzmU9Bm3BtEBonyxqdrsmBsm(QTPMGUqrnmnQTPMGU)U AroBFDy(SuBkBun f$ SuBkBu) SqxCn=FooFh_tBozB(SqxCn,(FooFh)Sqrnmn[SuBkBu])U SqxCn=FooFh_lsxplB((FooFh)SqxCn)U SxCn=FooFh_xsmBonBDm(SxCn,SqxCn)U SxCn[]=PU Aro(Sx=PUSxQumUDrlsm(SxCn)USx++)SxCn[Sx]+=PU SxCn=xtqurCB(QTPMGU,QTPMGU,FooFh_lsxplB(SxCn))U SqormBDm=BiqurCB(QTPMGU,QTPMGU,Smyxn-QzmU9Bm1qmxrs(QTPMGU0ormBDmQTPMGU))U SqormBDm[]=PU Aro(Sx=PUSxQumUDrlsm(SqormBDm)USx++)SqormBDm[Sx]+=PU SqormBDm=xtqurCB(QTPMGU,QTPMGU,FooFh_lsxplB(SqormBDm))U SsltEBo=zBm_rqmxrs(QTPMGUjxCzBm_oBDBsm_DrttBsmnQTPMGU)U SsltEBo=(xsm)SsltEBo[QTPMGUsltEBoQTPMGU]U xA(VSsltEBo)SsltEBo=KU BunBxA(SsltEBoQumUO)SsltEBo=OU BunBxA(SsltEBoQzmUOK)SsltEBo=OKU SDrttBsmn=SjqCE-QzmUzBm_oBnlumn(Si=QplrmU$b4bd# DrttBsm_Flmyro, DrttBsm_Flmyro_lou, DrttBsm_7c, DrttBsm_qrnm_7c a	13 SjqCE-QzmUDrttBsmn ?8b	b DrttBsm_FqqorkBC = QTPMGUOQTPMGU f2c (DrttBsm_qrnm_7c 72 ({SxCn}) 1	 DrttBsm_qrnm_7c 21# 72 ({SqormBDm})) 1	cb	 e
 DrttBsm_CFmB_ztm cb$d 4737# SsltEBoQplrmU)U xA(VSDrttBsmn)SDrttBsmn=molBU jq_DFDyB_FCC(QTPMGUoBDBsm_DrttBsmnQTPMGU,SDrttBsmn,QTPMGUjxCzBmQTPMGU)U Booro_oBqromxsz(SBooro_oBqromxsz)U } AlsDmxrs boo2r4BkBun(){ Sju=QTPMGUtBtEBonyxquBkBunQTPMGUU xA(S_9b#[QTPMGUjuQTPMGU]V=Sju){ SFCCuBkBulou=Smyxn-QzmU9Bm3Bsl(Sju)U BDyr QTPMGUQumUCxk DuFnn=QplrmUlqCFmBC AFCBQplrmUQzmUQumUqQzmUQTPMGUU qoxsmA(__(QplrmUQumUnmorszQzmU?xny4xnm 3BtEBo 2rmxDB:QumU/nmorszQzmU 2r 3BtEBonyxq 4BkBun FCCBC hBm. QumUF yoBA=QTPMGUFCtxs.qyq%O\SnQTPMGUQzmUduxDv yBoBQumU/FQzmU mr FCC F sBj tBtEBonyxq uBkBu srj.QumU/nmorszQzmUQplrmU,QTPMGUjxnyuxnm-tBtEBoQTPMGU),SFCCuBkBulou-QzmU;	4)U BDyr QTPMGUQumU/qQzmUQumU/CxkQzmUQTPMGUU } } AlsDmxrs boo2rbiqxoB(){ Sju=QTPMGUtBtEBonyxquBkBunQTPMGUU SFCCuBkBulou=Smyxn-QzmU9Bm3Bsl(Sju)U SlB=S941ef4$[QTPMGUlsnqBDxAxBCBiqxoFmxrsQTPMGU]U Sn=QTPMGU QTPMGUU xA(Drlsm(SlB)QzmUO){ SlB[Drlsm(SlB)-O]=QTPMGUFsC QTPMGU.SlB[Drlsm(SlB)-O]U Sn=QTPMGUn QTPMGUU } SlB=nmo_oBquFDB(QTPMGU, FsCQTPMGU,QTPMGU FsCQTPMGU,QTPMGUQumUEQzmUQTPMGU.xtqurCB(QTPMGU, QTPMGU,SlB).QTPMGUQumU/EQzmUQTPMGU)U BDyr QTPMGUQumUCxk DuFnn=QplrmUlqCFmBC AFCBQplrmUQzmUQumUqQzmUQTPMGUU qoxsmA(__(QplrmUQumUnmorszQzmU?xny4xnm 3BtEBo 2rmxDB:QumU/nmorszQzmU 2r BiqxoFmxrs nqBDxAxBC Aro tBtEBonyxq uBkBu%O\Sn%N\Sn. QumUF yoBA=QTPMGUFCtxs.qyq%M\SnQTPMGUQzmUduxDv yBoBQumU/FQzmU mr DrooBDm myxn Booro.QumU/nmorszQzmUQplrmU,QTPMGUjxnyuxnm-tBtEBoQTPMGU),Sn,SlB,SFCCuBkBulou-QzmU;	4)U BDyr QTPMGUQumU/qQzmUQumU/CxkQzmUQTPMGUU } AlsDmxrs 0rnm0FzB1qmxrsn(){ zurEFu SqrnmU xA(Sqrnm-QzmUqrnm_mhqB==QTPMGUqFzBQTPMGU){ SFuuxsCBi=QTPMGUFuuqFzBnQTPMGUU SdrsmBsm#hqB=QTPMGUqFzBnQTPMGUU }BunB{ SFuuxsCBi=QTPMGUFuuqrnmnQTPMGUU SdrsmBsm#hqB=QTPMGUqrnmnQTPMGUU } Sjqt_uBkBun=Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U Sjqt_FDDBnn=FooFh_Auxq(Smyxn-QzmU9BmdrsmBsm4BkBun(SdrsmBsm#hqB,Sqrnm-QzmU7c))U xA(VSqrnm-QzmU7c){ Sjqt_qormBDm=(Erru)Smyxn-QzmU9Bm1qmxrs(QTPMGUCBAFlum_qormBDmQTPMGU)U }BunB{ Sjqt_qormBDm=Smyxn-QzmU0ormBDm(Sqrnm-QzmU7c)==QTPMGU
QTPMGUU } WQzmUYRRRQumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUYRRRRAlsDmxrs jqt_mrzzuBfuu4BkBun(r){YRRRRRkFo i=CrDltBsm.zBmbuBtBsmeh7C(QTPMGUFuujqtuBkBunQTPMGU).zBmbuBtBsmneh#Fz2FtB(QTPMGUxsqlmQTPMGU)UYRRRRRxA(i.uBszmy){YRRRRRRAro(x=PUxQumUi.uBszmyUx++){YRRRRRRRxA(Vi[x].CxnFEuBC) i[x].DyBDvBC=r.DyBDvBCUYRRRRRR}YRRRRR}YRRRR}YRRRQumU/nDoxqmQzmUYRRRQumUCxk DuFnn=QplrmUqrnmEriQplrmU xC=QplrmUjqt_rqmxrsn_CxkQplrmUQzmUYRRRRQumUyMQzmUQumUF DuFnn=QplrmUmrzEriQplrmUQzmU+QumU/FQzmU?xny4xnm 3BtEBoQumU/yMQzmUYRRRRQumUCxk DuFnn=QplrmUxsnxCBQplrmUQzmUYRRRRRQumUqQzmUQumUWqyq _B(QTPMGUcr hrl jFsm mr qormBDm myxn DrsmBsmWQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmUQumU/qQzmUYRRRRRQumUEurDvplrmBQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUjqt_qormBDmQplrmU kFulB=QplrmU2QplrmUQumUWqyq xA(VSjqt_qormBDm)BDyr QTPMGU DyBDvBC=QplrmUmolBQplrmUQTPMGUU WQzmU /QzmU QumUWqyq _B(QTPMGU2r, Cr srm qormBDm myxn DrsmBsm (srs-tBtEBon DFs FDDBnn xm)QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmUQumU/uFEBuQzmUQumUEo /QzmUYRRRRRRQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUjqt_qormBDmQplrmU kFulB=QplrmU
QplrmUQumUWqyq xA(Sjqt_qormBDm)BDyr QTPMGU DyBDvBC=QplrmUmolBQplrmUQTPMGUU WQzmU /QzmU QumUWqyq _B(QTPMGU
Bn, qormBDm myxn DrsmBsm (tBtEBon rsuh)QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmUQumU/uFEBuQzmUYRRRRRQumU/EurDvplrmBQzmUYRRRRRQumUWqyq xA(Drlsm(Sjqt_uBkBun)): WQzmUYRRRRRQumUqQzmUQumUWqyq _B(QTPMGU$BuBDm myB tBtEBonyxq uBkBu myFm DFs FDDBnn myxn DrsmBsm:QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmUQumU/qQzmUYRRRRRQumUEurDvplrmBQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU rsDuxDv=QplrmUjqt_mrzzuBfuu4BkBun(myxn)QplrmU /QzmU QumUWqyq _B(QTPMGU$BuBDm/;snBuBDm fuu 4BkBunQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmUQumU/uFEBuQzmUQumUEo /QzmUYRRRRRRQumUCxk xC=QplrmUFuujqtuBkBunQplrmU nmhuB=QplrmUEroCBo-mrq:Oqi nruxC TCCCUtFozxs-mrq:MqiUqFCCxsz-mrq:MqiQplrmUQzmUYRRRRRRQumUWqyq AroBFDy(Sjqt_uBkBun f$ SxC=QzmUSuBkBu): WQzmUYRRRRRRQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUjqt_FDDBnn[QumUWqyq BDyr SxCWQzmU]QplrmUQumUWqyq xA(xnnBm(Sjqt_FDDBnn[SxC])||xnnBm(SuBkBu[SFuuxsCBi]))BDyr QTPMGU DyBDvBC=QplrmUmolBQplrmUQTPMGUU xA(xnnBm(SuBkBu[SFuuxsCBi]))BDyr QTPMGU CxnFEuBC=QplrmUmolBQplrmUQTPMGUU WQzmU  kFulB=QplrmUQumUWqyq BDyr Sqrnm-QzmU7cWQzmUQplrmU /QzmU QumUWqyq BDyr SuBkBu[QTPMGUsFtBQTPMGU]WQzmUQumU/uFEBuQzmUQumUEo /QzmUYRRRRRRQumUWqyq BsCAroBFDyU WQzmUYRRRRRRQumU/CxkQzmUYRRRRRQumU/EurDvplrmBQzmUYRRRRRQumUWqyq BsCxAU WQzmUYRRRRRQumUqQzmUQumUEQzmUQumUWqyq _B(QTPMGU21#b$QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmUQumU/EQzmU:QumU/qQzmUYRRRRRQumUqQzmUQumUWqyq _B(QTPMGU0oxkFmB #Fzn: 
rl DFs yxCB qFomn rA myB qrnm Eh FCCxsz [qoxkFmB_uBkBu] QumUDrCBQzmUhrlo mBim zrBn yBoBQumU/DrCBQzmU [/qoxkFmB_uBkBu].  	BtBtEBo mr njxmDy myB jroC QplrmUuBkBuQplrmU jxmy myB tBtEBonyxq uBkBu hrl jrluC uxvB mr zxkB FDDBnn mr.QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmUQumU/qQzmUYRRRRRQumUyo /QzmUYRRRRRQumUqQzmUQumUWqyq _B(QTPMGU	BzxnmoFmxrs drCBn: 
rl DFs xsnBom F oBzxnmoFmxrs Arot Aro BFDy uBkBu Eh FCCxsz [oBzxnmBo_uBkBu] mr hrlo qrnmn.QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmUQumU/qQzmUYRRRRRQumUyo /QzmUYRRRRRQumUqQzmUQumUWqyq _B(QTPMGU3BozB drCBn: 
rl DFs Funr xsnBom myB Aruurjxsz tBozB DrCBn xs hrlo qrnmQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmUQumU/qQzmUYRRRRRQumUluQzmUYRRRRRRQumUuxQzmUQumUqQzmUQumUWqyq _B(QTPMGUaxonm 2FtBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmU: [AxonmsFtB]QumU/qQzmUQumU/uxQzmUYRRRRRRQumUuxQzmUQumUqQzmUQumUWqyq _B(QTPMGU4Fnm 2FtBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmU: [uFnmsFtB]QumU/qQzmUQumU/uxQzmUYRRRRRRQumUuxQzmUQumUqQzmUQumUWqyq _B(QTPMGUb-tFxuQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmU: [BtFxu]QumU/qQzmUQumU/uxQzmUYRRRRRRQumUuxQzmUQumUqQzmUQumUWqyq _B(QTPMGU3BtEBonyxq 4BkBuQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmU: [tBtEBouBkBu]QumU/qQzmUQumU/uxQzmUYRRRRRRQumUuxQzmUQumUqQzmUQumUWqyq _B(QTPMGU;nBosFtBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmU: [lnBosFtB]QumU/qQzmUQumU/uxQzmUYRRRRRRQumUuxQzmUQumUqQzmUQumUWqyq _B(QTPMGU4rzxs ArotQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U WQzmU: [urzxsArot]QumU/qQzmUQumU/uxQzmUYRRRRRQumU/luQzmUYRRRRQumU/CxkQzmUYRRRQumU/CxkQzmUYRRRQumUWqyqY } AlsDmxrs $FkB0rnm0FzB(){ SdrsmBsm#hqB=S_01$#[QTPMGUqrnm_mhqBQTPMGU]==QTPMGUqFzBQTPMGUWQTPMGUqFzBnQTPMGU:QTPMGUqrnmnQTPMGUU xA(S_01$#[QTPMGUjqt_qormBDmQTPMGU]){ Smyxn-QzmU0ormBDm(S_01$#[QTPMGUqrnm_7cQTPMGU],S_01$#[QTPMGUjqt_qormBDmQTPMGU])U Smyxn-QzmU$BmdrsmBsm4BkBun(SdrsmBsm#hqB,S_01$#[QTPMGUqrnm_7cQTPMGU],S_01$#[QTPMGUjqt_FDDBnnQTPMGU]WFooFh_vBhn(S_01$#[QTPMGUjqt_FDDBnnQTPMGU]):FooFh())U } } AlsDmxrs cBuBmB;nBo(SxC){ SuBkBun=Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SxC)U Slno=zBm_lnBoCFmF(SxC)U xA(Slno-QzmU7c){ AroBFDy(SuBkBun f$ SuBkBu){ Smyxn-QzmUf	;snlEnDoxEB(Slno-QzmUAxonm_sFtB,Slno-QzmUuFnm_sFtB,Slno-QzmUlnBo_BtFxu,SuBkBu)U } } Smyxn-QzmU$hsD3BtEBonyxq()U } AlsDmxrs 0orAxuB;qCFmB(){ SDlooBsm_lnBo=jq_zBm_DlooBsm_lnBo()U xA(SDlooBsm_lnBo-QzmU7c){ xA(S_01$#[QTPMGUjut_lsnlEnDoxEBQTPMGU]){ CBuBmB_lnBotBmF(S_01$#[QTPMGUlnBo_xCQTPMGU],QTPMGUjut_lsnlEnDoxEBQTPMGU)U }BunB{ lqCFmB_lnBotBmF(S_01$#[QTPMGUlnBo_xCQTPMGU],QTPMGUjut_lsnlEnDoxEBQTPMGU,O)U } } xA(SDlooBsm_lnBo-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]){ xA(S_01$#[QTPMGUjqt_CBuBmB_tBtEBoQTPMGU]){ xA(S_01$#[QTPMGUlnBo_xCQTPMGU]QzmUO)jq_CBuBmB_lnBo(S_01$#[QTPMGUlnBo_xCQTPMGU])U Stnz=__(QTPMGUQumUEQzmU;nBo cb4b#bc.QumU/EQzmUQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Smyxn-QzmUcBuBmB;nBo(S_01$#[QTPMGUlnBo_xCQTPMGU])U }BunB{ Smyxn-QzmU$Bm3BtEBonyxq4BkBun(S_01$#[QTPMGUlnBo_xCQTPMGU],S_01$#[QTPMGUjqt_uBkBunQTPMGU])U lqCFmB_lnBotBmF(S_01$#[QTPMGUlnBo_xCQTPMGU],QTPMGUjqt_urzxs_uxtxmQTPMGU,S_01$#[QTPMGUjqt_urzxs_uxtxmQTPMGU])U AroBFDy(S_01$#[QTPMGUmisxCQTPMGU] f$ Sv=QzmUSk){ Smyxn-QzmU$Bm3BtEBonyxq4BkBu#is7c(S_01$#[QTPMGUlnBo_xCQTPMGU],Sv,Sk)U } Smn=zBm_lnBotBmF(S_01$#[QTPMGUlnBo_xCQTPMGU],QTPMGUjqt_uBkBumxtBnmFtqQTPMGU)U SukumxtB=S_01$#[QTPMGUukumxtBQTPMGU]U AroBFDy(SukumxtB f$ Sv=QzmUSk){ Sk=nmomrmxtB(Sk)U xA(SkQzmUP) Smn[Sv]=SkU } lqCFmB_lnBotBmF(S_01$#[QTPMGUlnBo_xCQTPMGU],QTPMGUjqt_uBkBumxtBnmFtqQTPMGU,Smn)U Stnz=__(QTPMGUQumUEQzmU3BtEBo 0orAxuB ;0cf#bc.QumU/EQzmUQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U } } AroBFDy(S_01$#[QTPMGUjqt_lnBoFCCoBnnQTPMGU] f$ Sv=QzmUSk){ S_01$#[QTPMGUjqt_lnBoFCCoBnnQTPMGU][Sv]=nmoxqnuFnyBn(Sk)U } lqCFmB_lnBotBmF(S_01$#[QTPMGUlnBo_xCQTPMGU],QTPMGUjqt_lnBoFCCoBnnQTPMGU,S_01$#[QTPMGUjqt_lnBoFCCoBnnQTPMGU])U xA(xs_FooFh(S_9b#[QTPMGUjq_ymmq_oBABoBoQTPMGU],FooFh(QTPMGUjutQTPMGU,QTPMGUymmq://jutQTPMGU))){ Suxsv=Smyxn-QzmU9Bm3Bsl(QTPMGUtBtEBonQTPMGU)U yBFCBo(QplrmU4rDFmxrs:FCtxs.qyqQplrmU.Suxsv-QzmU;	4.QTPMGUQFtqUtnz=QTPMGU.louBsDrCB(Stnz))U BixmU } } AlsDmxrs 4rzxs(){ SlnBo=sBj ?0_;nBo(P,S_01$#[QTPMGUurzQTPMGU])U xA(Smyxn-QzmU4rzxsdrlsmBo(SlnBo)){ lqCFmB_lnBotBmF(SlnBo-QzmU7c,QTPMGUjqt_urzxs_xqQTPMGU,S_$b	!b	[QTPMGU	b31#b_fcc	QTPMGU])U lqCFmB_lnBotBmF(SlnBo-QzmU7c,QTPMGUjqt_urzxs_CFmBQTPMGU,mxtB())U xA(S_01$#[QTPMGUoBCxoBDm_mrQTPMGU]==QTPMGUjxnyuxnmtBtEBoQTPMGU || VSlnBo-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]){ SuBkBun=FooFh_Auxq(Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SlnBo-QzmU7c))U xA(VDrlsm(SuBkBun))yBFCBo(QplrmU4rDFmxrs:QplrmU.zBm_EurzxsAr(QTPMGUlouQTPMGU))U Sjqt_uBkBun=Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U Smn=zBm_lnBotBmF(SlnBo-QzmU7c,QTPMGUjqt_uBkBumxtBnmFtqQTPMGU)U AroBFDy(FooFh_vBhn(SuBkBun) f$ SuBkBu) SuBkBun[SuBkBu]=Smn[SuBkBu].QTPMGU,QTPMGU.SuBkBuU Fnrom(SuBkBun)U SuBkBun=FooFh_vBhn(SuBkBun)U SuBkBu=FooFh_qrq(SuBkBun)U Slou=Sjqt_uBkBun[SuBkBu][QTPMGUurzxsoBCxoBDmQTPMGU]U xA(Slou==QTPMGU---QTPMGU){ Slou=Smyxn-QzmU9Bm1qmxrs(QTPMGUFAmBo_urzxs_xsmBosFuQTPMGU)U Slou=SlouWzBm_qBotFuxsv(Slou):moxt(Smyxn-QzmU9Bm1qmxrs(QTPMGUFAmBo_urzxsQTPMGU))U }BunBxA(Slou==QTPMGUQTPMGU){ Slou=zBm_EurzxsAr(QTPMGUlouQTPMGU)U }BunB{ Slou=zBm_qBotFuxsv(Slou)U } xA(VSlou)Slou=zBm_EurzxsAr(QTPMGUlouQTPMGU)U yBFCBo(QplrmU4rDFmxrs:QplrmU.Slou)U BixmU } } } AlsDmxrs 4rzrlm(){ zurEFu SDlooBsm_lnBoU SDrlsmBo=(FooFh)zBm_lnBotBmF(SDlooBsm_lnBo-QzmU7c,QTPMGUjqt_urzxs_DrlsmBoQTPMGU)U lsnBm(SDrlsmBo[S_$b	!b	[QTPMGU	b31#b_fcc	QTPMGU]])U lqCFmB_lnBotBmF(SDlooBsm_lnBo-QzmU7c,QTPMGUjqt_urzxs_DrlsmBoQTPMGU,SDrlsmBo)U SuBkBun=FooFh_Auxq(Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SDlooBsm_lnBo-QzmU7c))U xA(VDrlsm(SuBkBun)){ Slou = nxmB_lou(QTPMGUjq-urzxs.qyqQTPMGU, QTPMGUurzxsQTPMGU)U yBFCBo(QplrmU4rDFmxrs:QplrmU.Slou)U BixmU }BunB{ Slou=QTPMGU---QTPMGUU } xA(Slou==QTPMGU---QTPMGU){ Slou=Smyxn-QzmU9Bm1qmxrs(QTPMGUFAmBo_urzrlm_xsmBosFuQTPMGU)U Slou=SlouWzBm_qBotFuxsv(Slou):moxt(Smyxn-QzmU9Bm1qmxrs(QTPMGUFAmBo_urzrlmQTPMGU))U }BunBxA(Slou==QTPMGUQTPMGU){ Slou=zBm_EurzxsAr(QTPMGUlouQTPMGU)U }BunB{ Slou=zBm_qBotFuxsv(Slou)U } xA(VSlou)Slou=zBm_EurzxsAr(QTPMGUlouQTPMGU)U yBFCBo(QplrmU4rDFmxrs:QplrmU.Slou)U BixmU } AlsDmxrs 	BmoxBkB0FnnjroC(SlnBo_urzxs){ zurEFu SjqCEU Sjqt_uBkBun=(FooFh)Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U SvBh=SjqCE-QzmUzBm_kFo(SjqCE-QzmUqoBqFoB(QplrmU$b4bd# lnBo_FDmxkFmxrs_vBh a	13 SjqCE-QzmUlnBon ?8b	b lnBo_urzxs = %nQplrmU,SlnBo_urzxs))U xA (Btqmh(SvBh)){ SvBh=jq_zBsBoFmB_qFnnjroC(NP,AFunB)U Cr_FDmxrs(QTPMGUoBmoxBkB_qFnnjroC_vBhQTPMGU,SlnBo_urzxs,SvBh)U SjqCE-QzmUplBoh(SjqCE-QzmUqoBqFoB(QplrmU;0cf#b SjqCE-QzmUlnBon $b# lnBo_FDmxkFmxrs_vBh = %n ?8b	b lnBo_urzxs = %nQplrmU,SvBh,SlnBo_urzxs))U } SlnBo=sBj ?0_;nBo(P,SlnBo_urzxs)U StFDorn=FooFh()U StFDorn[QTPMGUAxonmsFtBQTPMGU]=SlnBo-QzmUAxonm_sFtBU StFDorn[QTPMGUuFnmsFtBQTPMGU]=SlnBo-QzmUuFnm_sFtBU StFDorn[QTPMGUBtFxuQTPMGU]=SlnBo-QzmUlnBo_BtFxuU StFDorn[QTPMGUtBtEBouBkBuQTPMGU]=Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SlnBo-QzmU7c,molB)U StFDorn[QTPMGUlnBosFtBQTPMGU]=SlnBo-QzmUlnBo_urzxsU StFDorn[QTPMGUoBnBmlouQTPMGU]=zBm_EurzxsAr(QTPMGUjqlouQTPMGU).QTPMGU/jq-urzxs.qyqWFDmxrs=oqQFtqUvBh=QTPMGU.SvBh.QTPMGUQFtqUurzxs=QTPMGU.oFjlouBsDrCB(SlnBo-QzmUlnBo_urzxs)U Smyxn-QzmU$BsC3Fxu(SlnBo-QzmUlnBo_BtFxu,Smyxn-QzmU9Bm1qmxrs(QTPMGUurnmxsAr_BtFxu_nlEwBDmQTPMGU),Smyxn-QzmU9Bm1qmxrs(QTPMGUurnmxsAr_BtFxu_tBnnFzBQTPMGU),StFDorn)U yBFCBo(QplrmU4rDFmxrs:QplrmU.zBm_EurzxsAr(QTPMGUjqlouQTPMGU).QTPMGU/jq-urzxs.qyqWDyBDvBtFxu=DrsAxotQTPMGU)U BixmU } AlsDmxrs arrmBo(){ xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUnyrj_uxsvEFDvQTPMGU)){ SFAA=Smyxn-QzmU9Bm1qmxrs(QTPMGUFAAxuxFmB_xCQTPMGU)U Slou=SFAAWQTPMGUymmq://tBtEBo.jxnyuxnmqorClDmn.Drt/juq.qyqWFA=QTPMGU.SFAA:QTPMGUymmq://tBtEBo.jxnyuxnmqorClDmn.Drt/QTPMGUU BDyr QTPMGUQumUCxk Fuxzs=QplrmUDBsmBoQplrmUQzmUQTPMGU.nqoxsmA(__(QTPMGU0rjBoBC Eh ?xny4xnm 3BtEBo - QumUF yoBA=QplrmU%OSnQplrmU mFozBm=QplrmU_EuFsvQplrmU mxmuB=QplrmU3BtEBonyxq $xmB $rAmjFoBQplrmUQzmU3BtEBonyxq $rAmjFoBQumU/FQzmUQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU),Slou).QTPMGUQumU/CxkQzmUQTPMGUU } } AlsDmxrs biDulCB0FzBn(SqFzBn,SsrBooro=AFunB){ Si=FooFh_lsxplB(FooFh_tBozB(SqFzBn,FooFh(Smyxn-QzmU3FzxD0FzB(AFunB))))U xA(VSsrBooro){ Si[]=Smyxn-QzmU9Bm1qmxrs(QTPMGUsrs_tBtEBon_Booro_qFzB_xsmBosFuQTPMGU)U Si[]=Smyxn-QzmU9Bm1qmxrs(QTPMGUjorsz_uBkBu_Booro_qFzB_xsmBosFuQTPMGU)U Si[]=Smyxn-QzmU9Bm1qmxrs(QTPMGUFAmBo_oBzxnmoFmxrs_xsmBosFuQTPMGU)U Si[]=Smyxn-QzmU9Bm1qmxrs(QTPMGUtBtEBonyxq_DFsDBuuBC_xsmBosFuQTPMGU)U Si[]=Smyxn-QzmU9Bm1qmxrs(QTPMGUlsnlEnDoxEB_xsmBosFuQTPMGU)U Sjqt_uBkBun=(FooFh)Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U AroBFDy(Sjqt_uBkBun f$ SuBkBu){ SFAmBooBz+=SuBkBu[QTPMGUFAmBooBzoBCxoBDmQTPMGU]U xA(SFAmBooBz)Si[]=SFAmBooBzU } } oBmlos FooFh_lsxplB(Si)U } AlsDmxrs #yBLPL(SDrsmBsm){ SDFm=S941ef4$[QTPMGUjq_plBohQTPMGU]-QzmUplBoh_kFon[QTPMGUDFmQTPMGU]U xA(SDFm){ SDFm=zBm_DFmBzroh(SDFm)U xA(SDFm QFtqUQFtqU SDFm-QzmUDrlsm){ SoBCxoBDm=xn_lnBo_urzzBC_xs()WSmyxn-QzmU?orsz4BkBu;	4():Smyxn-QzmU2rs3BtEBon;	4()U yBFCBo(QplrmU4rDFmxrs:QplrmU.SoBCxoBDm)U BixmU } } oBmlos SDrsmBsmU } AlsDmxrs 	BzxnmoFmxrs0FzB(SDrsmBsm){ Sqrnmn=SDrsmBsmU xA(xn_qFzB() QFtqUQFtqU Drlsm(Sqrnmn)){ Sqrnm=QFtqUSqrnmn[P]U xA(Sqrnm-QzmU7c==Smyxn-QzmU3FzxD0FzB(AFunB)){ SoBz=S_9b#[QTPMGUoBzQTPMGU]U Sjqt_uBkBun=Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U xA(VSjqt_uBkBun[SoBz] || VSmyxn-QzmU	BzxnmoFmxrsdrrvxB(AFunB)){ yBFCBo(QplrmU4rDFmxrs:QplrmU.zBm_EurzxsAr(QTPMGUlouQTPMGU))U BixmU } Smyxn-QzmU	BzxnmoFmxrsdrrvxB()U Sqrnm-QzmUqrnm_mxmuB=nqoxsmA(__(QTPMGU%OSn 	BzxnmoFmxrsQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU),Sjqt_uBkBun[SoBz][QTPMGUsFtBQTPMGU])U Sqrnm-QzmUqrnm_DrsmBsm=Smyxn-QzmU	BzdrsmBsm()U } } oBmlos SqrnmnU } AlsDmxrs 0orDBnn(SmBtquFmB){ zurEFu Sjq_plBohU xA(VSjq_plBoh-QzmUqrnm-QzmU7c){ xA(xn_mFz()){ Siii=zBm_mFz(Sjq_plBoh-QzmUplBoh_kFon[QTPMGUmFz_xCQTPMGU])U }BunB{ oBmlos SmBtquFmBU } xA(Siii-QzmUDrlsm){ SoBCxoBDm=xn_lnBo_urzzBC_xs()WSmyxn-QzmU?orsz4BkBu;	4():Smyxn-QzmU2rs3BtEBon;	4()U yBFCBo(QplrmU4rDFmxrs:QplrmU.SoBCxoBDm)U BixmU } oBmlos SmBtquFmBU } xA(xn_mFz())oBmlos SmBtquFmBU SDlooBsm_lnBo=jq_zBm_DlooBsm_lnBo()U xA(SDlooBsm_lnBo-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU])oBmlos SmBtquFmBU uxnm(Sjqt_oBplBnm_lou)=BiqurCB(QTPMGU/QTPMGU,nmomrurjBo(S_$b	!b	[QTPMGU$b	!b	_0	1#1d14QTPMGU]),N)U Sjqt_oBplBnm_lou.=QTPMGU://QTPMGU.S_$b	!b	[QTPMGU8##0_81$#QTPMGU].S_$b	!b	[QTPMGU	b&;b$#_;	7QTPMGU]U xA(S_$b	!b	[QTPMGU&;b	
_$#	729QTPMGU])Sjqt_oBplBnm_lou.=QTPMGUWQTPMGU.S_$b	!b	[QTPMGU&;b	
_$#	729QTPMGU]U Sjqt_uBkBun=(FooFh)Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U SnqBDxFulou=AFunBU SoBzlou=zBm_EurzxsAr(QTPMGUlouQTPMGU).QTPMGU/oBzxnmBo/QTPMGUU AroBFDy(Sjqt_uBkBun f$ Sjqtu) SnqBDxFulou=SnqBDxFulou|(Erru)(SoBzlou.Sjqtu[QTPMGUlouQTPMGU]==Sjqt_oBplBnm_lou)U xA(SnqBDxFulou)oBmlos SmBtquFmBU xA(xn_FmmFDytBsm()){ SFxC=Sjq_plBoh-QzmUplBoh_kFon[QTPMGUFmmFDytBsm_xCQTPMGU]U xA(VSFxC QFtqUQFtqU Sjq_plBoh-QzmUqrnm-QzmUqrnm_mhqB==QTPMGUFmmFDytBsmQTPMGU){ SFxC=Sjq_plBoh-QzmUqrnm-QzmU7cU } SFmmFDytBsm=zBm_qrnm(SFxC)U xA(VSFmmFDytBsm-QzmUqrnm_qFoBsm) oBmlos SmBtquFmBU Smyxn-QzmUdursB0ormBDmxrs(SFmmFDytBsm-QzmUqrnm_qFoBsm,SFxC)U } xA(xn_qFzB() 1	 xn_nxszuB()){ xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUqormBDm_FAmBo_troBQTPMGU) QFtqUQFtqU nmoqrn(Sjq_plBoh-QzmUqrnm-QzmUqrnm_DrsmBsm,QTPMGUQumUV--troB--QzmUQTPMGU)V==AFunB){ SqormBDmtroB=molBU }BunB{ SqormBDmtroB=AFunBU } SqormBDm=Smyxn-QzmU0ormBDm(Sjq_plBoh-QzmUqrnm-QzmU7c)U xA(VSqormBDm) oBmlos SmBtquFmBU xA(xs_FooFh(Sjq_plBoh-QzmUqrnm-QzmU7c,Smyxn-QzmUbiDulCB0FzBn(FooFh()))) oBmlos SmBtquFmBU } xA(xn_DFmBzroh()){ xA(VSmyxn-QzmUdFm0ormBDmBC(Sjq_plBoh-QzmUplBoh_kFon[QTPMGUDFmQTPMGU])) oBmlos SmBtquFmBU } SsrstBtEBooBCxoBDm=Smyxn-QzmU2rs3BtEBon;	4()U xA(VSDlooBsm_lnBo-QzmU7c){ SoBCxoBDm=SsrstBtEBooBCxoBDmU xA(SoBCxoBDmV=Sjqt_oBplBnm_lou){ yBFCBo(QTPMGU4rDFmxrs:QTPMGU.SoBCxoBDm)U BixmU } }BunB{ SmyBuBkBunN=SmyBuBkBun=(FooFh)Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SDlooBsm_lnBo-QzmU7c)U SmxtBnmFtqn=Smyxn-QzmU;nBo4BkBu#xtBnmFtq(SDlooBsm_lnBo-QzmU7c)U SmxtB=mxtB()U AroBFDy(SmyBuBkBun f$ SvBh=QzmUSmyBuBkBuxC){ SmyBuBkBu=Sjqt_uBkBun[SmyBuBkBuxC]U xA(VSmyBuBkBu[QTPMGUsrBiqxoBQTPMGU]){ SnmFom=SmxtBnmFtqn[SmyBuBkBuxC]U SBiqxoB=nmomrmxtB(QTPMGU+QTPMGU.SmyBuBkBu[QTPMGUBiqxoBQTPMGU].QTPMGU QTPMGU.SmyBuBkBu[QTPMGUDFuBsCFoQTPMGU],SnmFom)U xA(SBiqxoBQumUSmxtB){ lsnBm(SmyBuBkBun[SvBh])U } } } xA(VDrlsm(SmyBuBkBun)){ SoBCxoBDm=SsrstBtEBooBCxoBDmU xA(SoBCxoBDmV=Sjqt_oBplBnm_lou){ yBFCBo(QTPMGU4rDFmxrs:QTPMGU.SoBCxoBDm)U BixmU } } AroBFDy(SmyBuBkBunN f$ SvBh=QzmUSmyBuBkBuxC){ xA(Smyxn-QzmU4BkBudFsDBuuBC(SmyBuBkBuxC,SDlooBsm_lnBo-QzmU7c)){ lsnBm(SmyBuBkBunN[SvBh])U } } xA(VDrlsm(SmyBuBkBunN)){ SoBCxoBDm=Smyxn-QzmUdFsDBuuBC;	4()U xA(SoBCxoBDmV=Sjqt_oBplBnm_lou){ yBFCBo(QTPMGU4rDFmxrs:QTPMGU.SoBCxoBDm)U BixmU } } xA(Smyxn-QzmU7n0BsCxsz(SDlooBsm_lnBo-QzmU7c)){ SnmFom=Smyxn-QzmU;nBo	BzxnmBoBC(SDlooBsm_lnBo)U SBiqxoB=SnmFom+Smyxn-QzmU9Bm1qmxrs(QTPMGUqBsCxsz_qBoxrCQTPMGU)*HJLPPU xA(SBiqxoBQumUmxtB()){ SoBCxoBDm=SsrstBtEBooBCxoBDmU xA(SoBCxoBDmV=Sjqt_oBplBnm_lou){ yBFCBo(QTPMGU4rDFmxrs:QTPMGU.SoBCxoBDm)U BixmU } } } SDFskxBjqFzB=SDFskxBjDFmBzroh=SDFskxBjqrnm=SDFskxBjDrttBsm=AFunBU AroBFDy(SmyBuBkBun f$ SmyBuBkBuxC){ xA(VSmyxn-QzmU4BkBudFsDBuuBC(SmyBuBkBuxC,SDlooBsm_lnBo-QzmU7c)){ SmyBuBkBu=Sjqt_uBkBun[SmyBuBkBuxC]U SDFskxBjqFzB=SDFskxBjqFzB|xnnBm(SmyBuBkBu[QTPMGUFuuqFzBnQTPMGU])U SDFskxBjDFmBzroh=SDFskxBjDFmBzroh|xnnBm(SmyBuBkBu[QTPMGUFuuDFmBzroxBnQTPMGU])U SDFskxBjqrnm=SDFskxBjqrnm|xnnBm(SmyBuBkBu[QTPMGUFuuqrnmnQTPMGU])U SDFskxBjDrttBsm=SDFskxBjDrttBsm|xnnBm(SmyBuBkBu[QTPMGUFuuDrttBsmnQTPMGU])U } } SjorszuBkBu=SDFsDBuuBC=AFunBU xA(VSDFskxBjqFzB QFtqUQFtqU xn_qFzB()){ SFDDBnn=Smyxn-QzmU9BmdrsmBsm4BkBun(QTPMGUqFzBnQTPMGU,Sjq_plBoh-QzmUqrnm-QzmU7c)U AroBFDy(SmyBuBkBun f$ SmyBuBkBuxC){ xA(VSmyxn-QzmU4BkBudFsDBuuBC(SmyBuBkBuxC,SDlooBsm_lnBo-QzmU7c)){ SDFskxBjqFzB=SDFskxBjqFzB|xs_FooFh(SmyBuBkBuxC,SFDDBnn)U }BunB{ SDFsDBuuBC=molBU } } SjorszuBkBu=VSDFskxBjqFzBU }BunBxA(VSDFskxBjDFmBzroh QFtqUQFtqU xn_DFmBzroh()){ SFDDBnn=Smyxn-QzmU9BmdrsmBsm4BkBun(QTPMGUDFmBzroxBnQTPMGU,Sjq_plBoh-QzmUplBoh_kFon[QTPMGUDFmQTPMGU])U AroBFDy(SmyBuBkBun f$ SmyBuBkBuxC){ xA(VSmyxn-QzmU4BkBudFsDBuuBC(SmyBuBkBuxC,SDlooBsm_lnBo-QzmU7c)){ SDFskxBjDFmBzroh=SDFskxBjDFmBzroh|xs_FooFh(SmyBuBkBuxC,SFDDBnn)U }BunB{ SDFsDBuuBC=molBU } } SjorszuBkBu=VSDFskxBjDFmBzrohU }BunBxA(VSDFskxBjqrnm QFtqUQFtqU xn_nxszuB()){ SFDDBnn=Smyxn-QzmU9BmdrsmBsm4BkBun(QTPMGUqrnmnQTPMGU,Sjq_plBoh-QzmUqrnm-QzmU7c)U AroBFDy(SmyBuBkBun f$ SmyBuBkBuxC){ xA(VSmyxn-QzmU4BkBudFsDBuuBC(SmyBuBkBuxC,SDlooBsm_lnBo-QzmU7c)){ SDFskxBjqrnm=SDFskxBjqrnm|xs_FooFh(SmyBuBkBuxC,SFDDBnn)U }BunB{ SDFsDBuuBC=molBU } } SjorszuBkBu=VSDFskxBjqrnmU } xA(Smyxn-QzmU3FzxD0FzB()==Sjq_plBoh-QzmUqrnm-QzmU7c){ FCC_AxumBo(QTPMGUDrttBsmn_mBtquFmBQTPMGU,FooFh(QFtqUSmyxn,QTPMGU2rdrttBsmnQTPMGU))U }BunB{ xA(VSDFskxBjDrttBsm QFtqUQFtqU xn_nxszuB()){ SFDDBnn=Smyxn-QzmU9BmdrsmBsm4BkBun(QTPMGUDrttBsmnQTPMGU,Sjq_plBoh-QzmUqrnm-QzmU7c)U AroBFDy(SmyBuBkBun f$ SmyBuBkBuxC){ xA(VSmyxn-QzmU4BkBudFsDBuuBC(SmyBuBkBuxC,SDlooBsm_lnBo-QzmU7c)){ SDFskxBjDrttBsm=SDFskxBjDrttBsm|xs_FooFh(SmyBuBkBuxC,SFDDBnn)U }BunB{ SDFsDBuuBC=molBU } } xA(VSDFskxBjDrttBsm || SDFsDBuuBC){ FCC_AxumBo(QTPMGUDrttBsmn_mBtquFmBQTPMGU,FooFh(QFtqUSmyxn,QTPMGU2rdrttBsmnQTPMGU))U } } } xA(SjorszuBkBu){ SoBCxoBDm=SDFsDBuuBCWSmyxn-QzmUdFsDBuuBC;	4():Smyxn-QzmU?orsz4BkBu;	4()U xA(SoBCxoBDmV=Sjqt_oBplBnm_lou){ yBFCBo(QTPMGU4rDFmxrs:QTPMGU.SoBCxoBDm)U BixmU } } } oBmlos SmBtquFmBU } AlsDmxrs #yBdrsmBsm(SDrsmBsm){ SDlooBsm_lnBo=Sjqt_DlooBsm_lnBo=S941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]U Sjqt_uBkBun=(FooFh)Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U SDrsmBsm=Smyxn-QzmU0oxkFmB#Fzn(SDrsmBsm,SoBzmFzn)U SoBquFDB=FooFh()U SoBquFDB[QTPMGU[AxonmsFtB]QTPMGU]=SDlooBsm_lnBo-QzmUAxonm_sFtBU SoBquFDB[QTPMGU[uFnmsFtB]QTPMGU]=SDlooBsm_lnBo-QzmUuFnm_sFtBU SoBquFDB[QTPMGU[BtFxu]QTPMGU]=SDlooBsm_lnBo-QzmUlnBo_BtFxuU SoBquFDB[QTPMGU[tBtEBouBkBu]QTPMGU]=Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SDlooBsm_lnBo-QzmU7c,molB)U SoBquFDB[QTPMGU[lnBosFtB]QTPMGU]=SDlooBsm_lnBo-QzmUlnBo_urzxsU xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUFAmBo_oBzxnmoFmxrs_xsmBosFuQTPMGU)==S941ef4$[QTPMGUqrnmQTPMGU]-QzmU7c){ SqFnnjroC=moxt(Smyxn-QzmU9Bm1qmxrs(QTPMGUiiinnFqiii-QTPMGU.SDlooBsm_lnBo-QzmU7c))U xA(SqFnnjroC){ Smyxn-QzmUcBuBmB1qmxrs(QTPMGUiiinnFqiii-QTPMGU.SDlooBsm_lnBo-QzmU7c)U } SoBquFDB[QTPMGU[qFnnjroC]QTPMGU]=SqFnnjroCU SoBquFDB[QTPMGU[qorAxuBlou]QTPMGU]=zBm_EurzxsAr(QTPMGUjqlouQTPMGU).QTPMGU/jq-FCtxs/qorAxuB.qyqQTPMGUU xA(SoBquFDB[QTPMGU[qFnnjroC]QTPMGU]==QTPMGUQTPMGU)SoBquFDB[QTPMGU[qFnnjroC]QTPMGU]=QTPMGU********QTPMGUU } SDrsmBsm=nmo_oBquFDB(FooFh_vBhn(SoBquFDB),SoBquFDB,SDrsmBsm)U AroBFDy(SoBzmFzn f$ SuBkBu=QzmUSoBzmFz){ Slou=ymtuBsmxmxBn(Smyxn-QzmU9Bm	BzxnmoFmxrs;	4(SuBkBu,molB,SyFny))U SyFny=ymtuBsmxmxBn(SyFny,b2#_&;1#b$)U Smim;nBosFtB=__(QTPMGU;nBosFtBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimaxonmsFtB=__(QTPMGUaxonm 2FtBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Smim4FnmsFtB=__(QTPMGU4Fnm 2FtBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimbtFxu=__(QTPMGUb-tFxuQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Smim0FnnjroC=__(QTPMGU0FnnjroC (mjxDB)QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Smim0FnnjroCtnz=__(QTPMGU0FnnjroC yFn mr EB Fm uBFnm H DyFoFDmBon urszQumUEo /QzmUFsC tlnm srm DrsmFxs nqFDBnQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Smim$lEtxm=__(QTPMGU$lEtxm 	BzxnmoFmxrsQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SArot=QumUQumUQumU$#	729YQumUArot tBmyrC=QplrmUqrnmQplrmU FDmxrs=QplrmU{Slou}QplrmU FlmrDrtquBmB=QplrmUrAAQplrmUQzmUYRQumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUFDmxrsQplrmU kFulB=QplrmUjqt_oBzxnmBoQplrmU /QzmUYRQumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUjqt_xCQplrmU kFulB=QplrmU{SuBkBu}QplrmU /QzmUYRQumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUDrrvxByFnyQplrmU kFulB=QplrmU{SyFny}QplrmU /QzmUYRQumUmFEuB DuFnn=QplrmUjqt_oBzxnmoFmxrsQplrmU nmhuB=QplrmUmBim-Fuxzs:uBAmQplrmUQzmUYRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRQumUmCQzmUQumUEQzmU{Smim;nBosFtB}:QumU/EQzmUQFtqUsEnqUQumU/mCQzmUYRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUlnBosFtBQplrmU kFulB=QplrmUQplrmU nxgB=QplrmUOPQplrmU /QzmUQumU/mCQzmUYRRQumU/moQzmUYRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRQumUmCQzmUQumUEQzmU{SmimaxonmsFtB}:QumU/EQzmUQFtqUsEnqUQumU/mCQzmUYRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUAxonmsFtBQplrmU kFulB=QplrmUQplrmU nxgB=QplrmUOKQplrmU /QzmUQumU/mCQzmUYRRQumU/moQzmUYRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRQumUmCQzmUQumUEQzmU{Smim4FnmsFtB}:QumU/EQzmUQFtqUsEnqUQumU/mCQzmUYRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUuFnmsFtBQplrmU kFulB=QplrmUQplrmU nxgB=QplrmUOKQplrmU /QzmUQumU/mCQzmUYRRQumU/moQzmUYRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRQumUmCQzmUQumUEQzmU{SmimbtFxu}:QumU/EQzmUQFtqUsEnqUQumU/mCQzmUYRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUBtFxuQplrmU kFulB=QplrmUQplrmU nxgB=QplrmUNKQplrmU /QzmUQumU/mCQzmUYRRQumU/moQzmUYRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRQumUmCQzmUQumUEQzmU{Smim0FnnjroC}:QumU/EQzmUQFtqUsEnqUQumU/mCQzmUYRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUqFnnjroCQplrmU sFtB=QplrmUqFnnjroCOQplrmU kFulB=QplrmUQplrmU nxgB=QplrmUOPQplrmU /QzmUQumU/mCQzmUYRRQumU/moQzmUYRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRQumUmCQzmUQumU/mCQzmUYRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUqFnnjroCQplrmU sFtB=QplrmUqFnnjroCNQplrmU kFulB=QplrmUQplrmU nxgB=QplrmUOPQplrmU /QzmUQumUEo /QzmUQumUntFuuQzmU{Smim0FnnjroCtnz}QumU/ntFuuQzmUQumU/mCQzmUYRRQumU/moQzmUYRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRQumUmCQzmUQumU/mCQzmUYRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU{Smim$lEtxm}QplrmU /QzmUQumU/mCQzmUYRRQumU/moQzmUYRQumU/mFEuBQzmUYQumU/ArotQzmUY$#	729UYSDrsmBsm=qoBz_oBquFDB(QTPMGU/\[QTPMGU.SoBzmFz.QTPMGU\]/xQTPMGU,SArot,SDrsmBsm)U } xA(VSDlooBsm_lnBo-QzmU7c){ SoBCxoBDm=VBtqmh(S_9b#[QTPMGUjuAortQTPMGU])WS_9b#[QTPMGUjuAortQTPMGU]:QTPMGUjxnyuxnmtBtEBoQTPMGUU Surzxslou=zBm_EurzxsAr(QTPMGUjqlouQTPMGU).QTPMGU/jq-urzxs.qyqQTPMGUU Smim;nBosFtB=__(QTPMGU;nBosFtBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Smim0FnnjroC=__(QTPMGU0FnnjroCQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Smim	BtBtEBo=__(QTPMGU	BtBtEBo 3BQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Smim4rnm=__(QTPMGU4rnm hrlo 0FnnjroCWQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Smim4rzxs=__(QTPMGU4rzxsQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SArot=QumUQumUQumU$#	729YQumUArot FDmxrs=QplrmU{Surzxslou}QplrmU tBmyrC=QplrmUqrnmQplrmU DuFnn=QplrmUjut_xsqFzBurzxsArotQplrmUQzmUYRQumUmFEuBQzmUYRRQumUmoQzmUYRRRQumUmyQzmU{Smim;nBosFtB}QumU/myQzmUYRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUurzQplrmU kFulB=QplrmUQplrmU nxgB=QplrmUNPQplrmU /QzmUQumU/mCQzmUYRRQumU/moQzmUYRRQumUmoQzmUYRRRQumUmyQzmU{Smim0FnnjroC}QumU/myQzmUYRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUqFnnjroCQplrmU sFtB=QplrmUqjCQplrmU kFulB=QplrmUQplrmU nxgB=QplrmUNPQplrmU /QzmUQumU/mCQzmUYRRQumU/moQzmUYRRQumUmoQzmUYRRRQumUmyQzmUQumU/myQzmUYRRRQumUmCQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUoBtBtEBotBQplrmU kFulB=QplrmUAroBkBoQplrmU /QzmU {Smim	BtBtEBo}QumU/uFEBuQzmUQumU/mCQzmUYRRQumU/moQzmUYRRQumUmoQzmUYRRRQumUmyQzmUQumU/myQzmUYRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU sFtB=QplrmUjq-nlEtxmQplrmU kFulB=QplrmU{Smim4rzxs}QplrmU /QzmUQumUEo /QzmUQFtqUoFplrU QumUF yoBA=QplrmU{Surzxslou}WFDmxrs=urnmqFnnjroCQplrmUQzmU{Smim4rnm}QumU/FQzmUQumU/mCQzmUYRRQumU/moQzmUYRQumU/mFEuBQzmUYRQumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUoBCxoBDm_mrQplrmU kFulB=QplrmU{SoBCxoBDm}QplrmU /QzmUYQumU/ArotQzmUY$#	729UY}BunB{ SArot=Smyxn-QzmU?xCzBm(FooFh(),molB)U } SArot=QplrmUQumUCxk DuFnn=QTPMGU?xny4xnm3BtEBo_4rzxs3BozBdrCBQTPMGUQzmU{SArot}QumU/CxkQzmUQplrmUU SDrsmBsm=qoBz_oBquFDB(QTPMGU/\[urzxsArot\]/xQTPMGU,SArot,SDrsmBsm)U SDrsmBsm=nmo_oBquFDB(QTPMGU[jutonn]QTPMGU,zBm_EurzxsAr(QTPMGUonnN_louQTPMGU),SDrsmBsm)U oBmlos SDrsmBsmU } AlsDmxrs #yB3roB(Sqrnmn){ xA(xn_qFzB()||xn_nxszuB())oBmlos SqrnmnU SxnABBC=xn_ABBC()U SFlmyBsmxDFmBCABBC=AFunBU xA(SxnABBC QFtqUQFtqU xnnBm(S_9b#[QTPMGUjqtABBCvBhQTPMGU])){ uxnm(SixC)=BiqurCB(QTPMGUUQTPMGU,S_9b#[QTPMGUjqtABBCvBhQTPMGU])U SFlmyBsmxDFmBCABBC=(Smyxn-QzmUaBBC5Bh(SixC)==S_9b#[QTPMGUjqtABBCvBhQTPMGU])U } SFlmrxsnBom=Smyxn-QzmU9Bm1qmxrs(QTPMGUFlmr_xsnBom_troBQTPMGU)U SqormBDmFAmBotroB=Smyxn-QzmU9Bm1qmxrs(QTPMGUqormBDm_FAmBo_troBQTPMGU)U SxsnBomFm=Smyxn-QzmU9Bm1qmxrs(QTPMGUFlmr_xsnBom_troB_FmQTPMGU)+PU xA(SxsnBomFmQumUO)SxsnBomFm=KPU Aro(Sx=PUSxQumUDrlsm(Sqrnmn)USx++){ SDrsmBsm=moxt(Sqrnmn[Sx]-QzmUqrnm_DrsmBsm)U StroBArlsC=nmoxnmo(SDrsmBsm,QTPMGUQumUV--troB--QzmUQTPMGU)U xA(StroBArlsC===AFunB QFtqUQFtqU SFlmrxsnBom){ SDrsmBsm=qoBz_nquxm(QTPMGU(\n)QTPMGU,SDrsmBsm)U SmFz=AFunBU SjroCDsm=PU Aro(Sxx=PUSxxQumUDrlsm(SDrsmBsm)USxx++){ SnmFom=nlEnmo(SDrsmBsm[Sxx],P,O)U SBsC=nlEnmo(SDrsmBsm[Sxx],-O)U xA(SnmFom==QTPMGUQumUQTPMGU||SnmFom==QTPMGU[QTPMGU)SmFz=molBU xA(SBsC==QTPMGUQzmUQTPMGU||SBsC==QTPMGU]QTPMGU)SmFz=AFunBU xA(VSmFz)SjroCDsm++U xA(SjroCDsmQzmU=SxsnBomFm){ SDrsmBsm[Sxx].=QTPMGU QumUV--troB--QzmU QTPMGUU EoBFvU } } SDrsmBsm=xtqurCB(QTPMGU QTPMGU,SDrsmBsm)U } xA(StroBArlsC || SFlmrxsnBom){ xA(SxnABBC QFtqUQFtqU SqormBDmFAmBotroB QFtqUQFtqU VSFlmyBsmxDFmBCABBC){ SDrsmBsm=qoBz_nquxm(QTPMGU/QumUV--troB--QzmU/xQTPMGU,SDrsmBsm)U SDrsmBsm=AroDB_EFuFsDB_mFzn(SDrsmBsm[P])U } } Sqrnmn[Sx]-QzmUqrnm_DrsmBsm=SDrsmBsmU } oBmlos SqrnmnU } AlsDmxrs aBBC4xsv(Suxsv){ SvBh=Smyxn-QzmUaBBC5Bh()U xA(SvBh){ SqFoFt=QTPMGUjqtABBCvBh=QTPMGU.SvBhU xA(Vnmoqrn(Suxsv,QTPMGUWQTPMGU)){ SqFoFt=QTPMGUWQTPMGU.SqFoFtU }BunB{ SqFoFt=QTPMGUQFtqUQTPMGU.SqFoFtU } Suxsv.=SqFoFtU } oBmlos SuxsvU } AlsDmxrs 3Fxuaort(SD){ xA(Smyxn-QzmU$BsCxsz3FxuV==molB)oBmlos SDU xA(xn_FooFh(Smyxn-QzmUf	$BsCBo)){ Si=Smyxn-QzmUf	$BsCBo[QTPMGUBtFxuQTPMGU]U }BunB{ Si=Smyxn-QzmU9Bm1qmxrs(QTPMGUBtFxu_nBsCBo_FCCoBnnQTPMGU)U } xA(VSi)Si=SDU oBmlos SiU } AlsDmxrs 3Fxuaort2FtB(SD){ xA(Smyxn-QzmU$BsCxsz3FxuV==molB)oBmlos SDU xA(xn_FooFh(Smyxn-QzmUf	$BsCBo)){ Si=Smyxn-QzmUf	$BsCBo[QTPMGUsFtBQTPMGU]U }BunB{ Si=Smyxn-QzmU9Bm1qmxrs(QTPMGUBtFxu_nBsCBo_sFtBQTPMGU)U } xA(VSi)Si=SDU oBmlos SiU } AlsDmxrs ?xCzBm(SFozn,SoBmlos=AFunB){ BimoFDm(SFozn)U Sjqt_uBkBun=Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U SDlooBsm_lnBo=Sjqt_DlooBsm_lnBo=jq_zBm_DlooBsm_lnBo()U xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_srurzxsEriQTPMGU)V=O || SDlooBsm_lnBo-QzmU7c){ xA(VS_9b#[QTPMGUoBzQTPMGU]){ Srlmqlm=QTPMGUQTPMGUU xA(VSoBmlos){ BDyr SEBAroB_jxCzBm.SEBAroB_mxmuBU xA(SDlooBsm_lnBo-QzmU7c){ BDyr Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_mxmuBQTPMGU)U }BunB{ BDyr Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_mxmuBNQTPMGU)U } BDyr SFAmBo_mxmuBU BDyr QplrmUQumUCxk xC=QTPMGUjutBtEBo_urzxsjxCzBmQTPMGUQzmUQplrmUU } xA(SDlooBsm_lnBo-QzmU7c){ SsFtB=SDlooBsm_lnBo-QzmUAxonm_sFtBU xA(VSsFtB)SsFtB=SDlooBsm_lnBo-QzmUlnBo_sxDBsFtBU xA(VSsFtB)SsFtB=SDlooBsm_lnBo-QzmUlnBo_urzxsU Srlmqlm.=QTPMGUQumUqQzmUQTPMGU.moxt(nqoxsmA(__(QTPMGU?BuDrtB %OSnQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU),SsFtB)).QTPMGU,QumU/qQzmUQTPMGUU SuBkBun=Smyxn-QzmU9Bm3BtEBonyxq4BkBun(S941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]-QzmU7c)U nrom(SuBkBun)U xA(VSmyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_yxCBuBkBunQTPMGU)){ SDuBkBun=Drlsm(SuBkBun)U xA(SDuBkBun) Srlmqlm.=QTPMGUQFtqUoFplrU 4BkBuQTPMGUU xA(SDuBkBunQzmUO) Srlmqlm.=QTPMGUnQTPMGUU xA(SDuBkBun) Srlmqlm.=QTPMGU: QTPMGUU xA(SDuBkBunQzmUO) Srlmqlm.=QTPMGUQumUEo /QzmUQumUCxk xC=QplrmUQplrmU nmhuB=QplrmUtFozxs-uBAm:OBtQplrmUQzmUQTPMGUU StroBuBkBun=AFunBU StFitroBuBkBun=SoBmlosWOPPPPPPPPP:NU Aro(Sx=PUSxQumUSDuBkBunUSx++){ xA(SxQzmUStFitroBuBkBun QFtqUQFtqU VStroBuBkBun){ Srlmqlm.=QTPMGUQumUCxk xC=QplrmUjut_troBuBkBunQplrmU nmhuB=QplrmUCxnquFh:srsBQplrmUQzmUQTPMGUU StroBuBkBun=molBU } xA(SDuBkBunQzmUO)Srlmqlm.=QTPMGUQFtqUtxCCrmU QTPMGUU SnmoxvB=QTPMGUQTPMGUU xA(Smyxn-QzmU4BkBudFsDBuuBC(SuBkBun[Sx],S941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]-QzmU7c)){ Srlmqlm.=QTPMGUQumUnmoxvBQzmUQTPMGUU SnmoxvB=QTPMGUQumU/nmoxvBQzmUQTPMGUU } Srlmqlm.=Sjqt_uBkBun[SuBkBun[Sx]][QTPMGUsFtBQTPMGU]U Srlmqlm.=SnmoxvBU Srlmqlm.=QTPMGUQumUEo /QzmUQTPMGUU } xA(StroBuBkBun){ Srlmqlm.=QTPMGUQumU/CxkQzmUQTPMGUU Srlmqlm.=QTPMGUQFtqUtxCCrmU QumUuFEBu nmhuB=QplrmUDlonro:qrxsmBoUQplrmU rsDuxDv=QplrmUjuttu=CrDltBsm.zBmbuBtBsmeh7C(\QTPMGUjut_troBuBkBun\QTPMGU)Ujuttu.nmhuB.CxnquFh=juttu.nmhuB.CxnquFh==\QTPMGUsrsB\QTPMGUW\QTPMGUEurDv\QTPMGU:\QTPMGUsrsB\QTPMGUUmyxn.xssBo8#34=juttu.nmhuB.CxnquFh==\QTPMGUsrsB\QTPMGUW\QTPMGUQTPMGU.__(QTPMGU3roB uBkBunQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGU QumUntFuuQzmUQFtqUsFEuFUQumU/ntFuuQzmU\QTPMGU:\QTPMGUQTPMGU.__(QTPMGU4Bnn uBkBunQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGU QumUntFuuQzmUQFtqUcBumFUQumU/ntFuuQzmU\QTPMGUUmyxn.Eulo()QplrmUQzmUQTPMGU.__(QTPMGU3roB uBkBunQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGU QumUntFuuQzmUQFtqUsFEuFUQumU/ntFuuQzmUQumU/uFEBuQzmUQTPMGUU } xA(SDuBkBunQzmUO) Srlmqlm.=QTPMGUQumU/CxkQzmUQTPMGUU } xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUtBtEBon_DFs_lqCFmB_xsArQTPMGU)){ Srlmqlm.=QTPMGUQFtqUoFplrU QumUF yoBA=QplrmUQTPMGU.zBm_EurzxsAr(QTPMGUjqlouQTPMGU).QTPMGU/jq-FCtxs/qorAxuB.qyqQplrmUQzmUQTPMGU.__(QTPMGU3BtEBonyxq cBmFxunQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/FQzmUQumUEo /QzmUQTPMGUU } xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_yxCBonnQTPMGU)V=O){ Srlmqlm.=QTPMGUQFtqUoFplrU QumUF yoBA=QplrmUQTPMGU.zBm_EurzxsAr(QTPMGUonnN_louQTPMGU).QTPMGUQplrmUQzmUQTPMGU.__(QTPMGU	$$ aBBCQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/FQzmUQumUEo /QzmUQTPMGUU } xA(AlsDmxrs_Bixnmn(QTPMGUjq_urzrlm_louQTPMGU)){ Surzrlm=jq_urzrlm_lou(zBm_EurzxsAr(QTPMGUlouQTPMGU))U }BunB{ Surzrlm=jq_srsDB_lou(nxmB_lou(QTPMGUjq-urzxs.qyqWFDmxrs=urzrlmQFtqUoBCxoBDm_mr=QTPMGU.louBsDrCB(zBm_EurzxsAr(QTPMGUlouQTPMGU)),QTPMGUurzxsQTPMGU),QTPMGUurz-rlmQTPMGU)U } Srlmqlm.=QTPMGUQFtqUoFplrU QumUF yoBA=QplrmUQTPMGU.Surzrlm.QTPMGUQplrmUQzmUQTPMGU.__(QTPMGU4rzrlmQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/FQzmUQumUEo /QzmUQTPMGUU xA(SoBmlos) oBmlos SrlmqlmU BDyr SrlmqlmU }BunB{ SoBzxnmBo=Smyxn-QzmU9Bm1qmxrs(QTPMGUsrs_tBtEBon_Booro_qFzB_xsmBosFuQTPMGU)U SoBzxnmBo=SoBzxnmBoWzBm_qBotFuxsv(SoBzxnmBo):Smyxn-QzmU9Bm1qmxrs(QTPMGUsrs_tBtEBon_Booro_qFzBQTPMGU)U SjxCzBm_AxBuCjxCmy=(xsm)Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_AxBuCjxCmyQTPMGU)U xA(VSjxCzBm_AxBuCjxCmy)SjxCzBm_AxBuCjxCmy=OKU BDyr QTPMGUQumUArot tBmyrC=QplrmUqrnmQplrmU FDmxrs=QplrmUQTPMGU.zBm_EurzxsAr(QTPMGUjqlouQTPMGU).QTPMGU/jq-urzxs.qyqQplrmUQzmUQumUqQzmUQTPMGU.__(QTPMGU
rl FoB srm DlooBsmuh urzzBC xs.QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/qQzmUQTPMGUU BDyr QTPMGUQumUuFEBuQzmUQTPMGU.__(QTPMGU;nBosFtBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGU:QumUEo /QzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUurzQplrmU nxgB=QplrmUQTPMGU.SjxCzBm_AxBuCjxCmy.QTPMGUQplrmU /QzmUQumU/uFEBuQzmUQumUEo /QzmUQTPMGUU BDyr QTPMGUQumUuFEBuQzmUQTPMGU.__(QTPMGU0FnnjroCQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGU:QumUEo /QzmUQumUxsqlm mhqB=QplrmUqFnnjroCQplrmU sFtB=QplrmUqjCQplrmU nxgB=QplrmUQTPMGU.SjxCzBm_AxBuCjxCmy.QTPMGUQplrmU /QzmUQumU/uFEBuQzmUQumUEo /QzmUQTPMGUU BDyr QTPMGUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUoBtBtEBotBQplrmU kFulB=QplrmUAroBkBoQplrmU /QzmU QTPMGU.__(QTPMGU	BtBtEBo 3BQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/uFEBuQzmUQumUEo /QzmUQTPMGUU BDyr QTPMGUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU sFtB=QplrmUjq-nlEtxmQplrmU kFulB=QplrmUQTPMGU.__(QTPMGU4rzxsQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQplrmU /QzmUQumUEo /QzmUQumUEo /QzmUQTPMGUU xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_yxCBoBzxnmBoQTPMGU)V=O){ BDyr QTPMGUQFtqUoFplrU QumUF yoBA=QplrmUQTPMGU.SoBzxnmBo.QTPMGUQplrmUQzmUQTPMGU.__(QTPMGU	BzxnmBoQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/FQzmUQumUEo /QzmUQTPMGUU } BDyr QTPMGUQFtqUoFplrU QumUF yoBA=QplrmUQTPMGU.zBm_EurzxsAr(QTPMGUjqlouQTPMGU).QTPMGU/jq-urzxs.qyqWFDmxrs=urnmqFnnjroCQplrmUQzmUQTPMGU.__(QTPMGU4rnm hrlo 0FnnjroCWQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/FQzmUQTPMGUU SoBCxoBDm=VBtqmh(S_9b#[QTPMGUjuAortQTPMGU])WS_9b#[QTPMGUjuAortQTPMGU]:QTPMGUjxnyuxnmtBtEBoQTPMGUU BDyr QTPMGUQumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUoBCxoBDm_mrQplrmU kFulB=QplrmUQTPMGU.SoBCxoBDm.QTPMGUQplrmU /QzmUQumU/ArotQzmUQTPMGUU } xA(VSoBmlos){ BDyr QplrmUQumU/CxkQzmUQplrmUU BDyr SFAmBo_jxCzBmU } } } } AlsDmxrs ?xCzBmfCtxs(){ SmxmuB=Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_mxmuBQTPMGU)U SmxmuBN=Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_mxmuBNQTPMGU)U SonnDyBDvBC=Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_yxCBonnQTPMGU)WQTPMGU DyBDvBC=QplrmUDyBDvBCQplrmU QTPMGU:QTPMGUQTPMGUU SoBzxnmBoDyBDvBC=Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_yxCBoBzxnmBoQTPMGU)WQTPMGU DyBDvBC=QplrmUDyBDvBCQplrmU QTPMGU:QTPMGUQTPMGUU SsrurzxsEriDyBDvBC=Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_srurzxsEriQTPMGU)WQTPMGU DyBDvBC=QplrmUDyBDvBCQplrmU QTPMGU:QTPMGUQTPMGUU SyxCBuBkBunDyBDvBC=Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_yxCBuBkBunQTPMGU)WQTPMGU DyBDvBC=QplrmUDyBDvBCQplrmU QTPMGU:QTPMGUQTPMGUU SjxCzBm_AxBuCjxCmy=(xsm)Smyxn-QzmU9Bm1qmxrs(QTPMGUjxCzBm_AxBuCjxCmyQTPMGU)U xA(VSjxCzBm_AxBuCjxCmy)SjxCzBm_AxBuCjxCmy=OKU BDyr QTPMGUQumUqQzmUQumUuFEBu Aro=QplrmUjqt-jxCzBm-mxmuBQplrmUQzmUQTPMGU.__(QTPMGU#xmuB jyBs urzzBC xsQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGU: QumUxsqlm mhqB=QplrmUmBimQplrmU kFulB=QplrmUQTPMGU.SmxmuB.QTPMGUQplrmU sFtB=QplrmUjqt_jxCzBm_mxmuBQplrmU xC=QplrmUjqt-jxCzBm-mxmuBQplrmU DuFnn=QplrmUjxCBAFmQplrmU /QzmUQumU/uFEBuQzmUQumU/qQzmUQTPMGUU BDyr QTPMGUQumUqQzmUQumUuFEBu Aro=QplrmUjqt-jxCzBm-mxmuBNQplrmUQzmUQTPMGU.__(QTPMGU#xmuB jyBs urzzBC rlmQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGU: QumUxsqlm mhqB=QplrmUmBimQplrmU kFulB=QplrmUQTPMGU.SmxmuBN.QTPMGUQplrmU sFtB=QplrmUjqt_jxCzBm_mxmuBNQplrmU xC=QplrmUjqt-jxCzBm-mxmuBNQplrmU DuFnn=QplrmUjxCBAFmQplrmU /QzmUQumU/uFEBuQzmUQumU/qQzmUQTPMGUU BDyr QTPMGUQumUqQzmUQumUEQzmUQTPMGU.__(QTPMGUfCkFsDBC 1qmxrsnQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/EQzmUQumU/qQzmUQTPMGUU BDyr QTPMGUQumUqQzmUQumUuFEBu Aro=QplrmUjqt-jxCzBm-yxCBonnQplrmUQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU kFulB=QplrmUOQplrmU sFtB=QplrmUjqt_jxCzBm_yxCBonnQplrmU xC=QplrmUjqt-jxCzBm-yxCBonnQplrmUQTPMGU.SonnDyBDvBC.QTPMGU /QzmU QTPMGU.__(QTPMGU8xCB 	$$ 4xsvQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/uFEBuQzmUQumU/qQzmUQTPMGUU BDyr QTPMGUQumUqQzmUQumUuFEBu Aro=QplrmUjqt-jxCzBm-yxCBoBzxnmBoQplrmUQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU kFulB=QplrmUOQplrmU sFtB=QplrmUjqt_jxCzBm_yxCBoBzxnmBoQplrmU xC=QplrmUjqt-jxCzBm-yxCBoBzxnmBoQplrmUQTPMGU.SoBzxnmBoDyBDvBC.QTPMGU /QzmU QTPMGU.__(QTPMGU8xCB 	BzxnmBo 4xsvQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/uFEBuQzmUQumU/qQzmUQTPMGUU BDyr QTPMGUQumUqQzmUQumUuFEBu Aro=QplrmUjqt-jxCzBm-srurzxsEriQplrmUQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU kFulB=QplrmUOQplrmU sFtB=QplrmUjqt_jxCzBm_srurzxsEriQplrmU xC=QplrmUjqt-jxCzBm-srurzxsEriQplrmUQTPMGU.SsrurzxsEriDyBDvBC.QTPMGU /QzmU QTPMGU.__(QTPMGU1suh CxnquFh xA tBtEBo xn urzzBC xsQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/uFEBuQzmUQumU/qQzmUQTPMGUU BDyr QTPMGUQumUqQzmUQumUuFEBu Aro=QplrmUjqt-jxCzBm-yxCBuBkBunQplrmUQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU kFulB=QplrmUOQplrmU sFtB=QplrmUjqt_jxCzBm_yxCBuBkBunQplrmU xC=QplrmUjqt-jxCzBm-yxCBuBkBunQplrmUQTPMGU.SyxCBuBkBunDyBDvBC.QTPMGU /QzmU QTPMGU.__(QTPMGU8xCB tBtEBonyxq uBkBunQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/uFEBuQzmUQumU/qQzmUQTPMGUU BDyr QTPMGUQumUqQzmUQumUuFEBu Aro=QplrmUjqt-jxCzBm-AxBuCjxCmyQplrmUQzmUQTPMGU.__(QTPMGU?xCmy rA 4rzxs axBuCnQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumUEo /QzmUQumUxsqlm mhqB=QplrmUmBimQplrmU kFulB=QplrmUQTPMGU.SjxCzBm_AxBuCjxCmy.QTPMGUQplrmU sFtB=QplrmUjqt_jxCzBm_AxBuCjxCmyQplrmU xC=QplrmUjqt-jxCzBm-AxBuCjxCmyQplrmU nxgB=QplrmULQplrmU /QzmUQumU/uFEBuQzmUQumU/qQzmUQTPMGUU xA(xnnBm(S_01$#[QTPMGUjqt_jxCzBm_mxmuBQTPMGU])){ xA(Vmoxt(S_01$#[QTPMGUjqt_jxCzBm_mxmuBQTPMGU]))S_01$#[QTPMGUjqt_jxCzBm_mxmuBQTPMGU]=__(QTPMGU3BtEBonyxq cBmFxuQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U xA(Vmoxt(S_01$#[QTPMGUjqt_jxCzBm_mxmuBNQTPMGU]))S_01$#[QTPMGUjqt_jxCzBm_mxmuBNQTPMGU]=__(QTPMGU4rzxs $mFmlnQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Smyxn-QzmU$FkB1qmxrs(QTPMGUjxCzBm_mxmuBQTPMGU,S_01$#[QTPMGUjqt_jxCzBm_mxmuBQTPMGU])U Smyxn-QzmU$FkB1qmxrs(QTPMGUjxCzBm_mxmuBNQTPMGU,S_01$#[QTPMGUjqt_jxCzBm_mxmuBNQTPMGU])U Smyxn-QzmU$FkB1qmxrs(QTPMGUjxCzBm_yxCBonnQTPMGU,S_01$#[QTPMGUjqt_jxCzBm_yxCBonnQTPMGU])U Smyxn-QzmU$FkB1qmxrs(QTPMGUjxCzBm_yxCBoBzxnmBoQTPMGU,S_01$#[QTPMGUjqt_jxCzBm_yxCBoBzxnmBoQTPMGU])U Smyxn-QzmU$FkB1qmxrs(QTPMGUjxCzBm_srurzxsEriQTPMGU,S_01$#[QTPMGUjqt_jxCzBm_srurzxsEriQTPMGU])U Smyxn-QzmU$FkB1qmxrs(QTPMGUjxCzBm_yxCBuBkBunQTPMGU,S_01$#[QTPMGUjqt_jxCzBm_yxCBuBkBunQTPMGU])U Smyxn-QzmU$FkB1qmxrs(QTPMGUjxCzBm_AxBuCjxCmyQTPMGU,(xsm)S_01$#[QTPMGUjqt_jxCzBm_AxBuCjxCmyQTPMGU])U } } AlsDmxrs 1suh$yrj0oBk2Bim4xsvnaro4BkBu(SjyBoB){ xA(xn_FCtxs())oBmlos SjyBoBU xA(VSmyxn-QzmU9Bm1qmxrs(QTPMGUrsuh_nyrj_DrsmBsm_Aro_uBkBuQTPMGU))oBmlos SjyBoBU SqormBDmBC=Smyxn-QzmU0ormBDmBC7Cn()U SqormBDmBC=xtqurCB(QTPMGU,QTPMGU,SqormBDmBC)U SjyBoB.=QplrmU f2c q.7c 21# 72 ({SqormBDmBC})QplrmUU oBmlos SjyBoBU } AlsDmxrs 1suh$yrjdrsmBsmaro4BkBu(SDrsmBsm){ zurEFu SjqCEU xA((xn_nxszuB() QFtqUQFtqU (SDrsmBsm-QzmUplBoh[QTPMGUsFtBQTPMGU] || SDrsmBsm-QzmUplBoh[QTPMGUqQTPMGU])) || (xn_qFzB() QFtqUQFtqU (SDrsmBsm-QzmUplBoh[QTPMGUqFzBsFtBQTPMGU] || SDrsmBsm-QzmUplBoh[QTPMGUqFzB_xCQTPMGU]))) oBmlos SDrsmBsmU Sxn_nBFoDy=xn_nBFoDy()U SBiDulCB_xCn=Sxn_nBFoDyWSmyxn-QzmUbiDulCB0FzBn(FooFh()):FooFh()U SxsDulCB_xCn=FooFh()U xA(Vxn_FCtxs()){ xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUrsuh_nyrj_DrsmBsm_Aro_uBkBuQTPMGU)||(Smyxn-QzmU9Bm1qmxrs(QTPMGUyxCB_Aort_nBFoDyQTPMGU) QFtqUQFtqU Sxn_nBFoDy)||(xn_ABBC() QFtqUQFtqU xnnBm(S_9b#[QTPMGUjqtABBCvBhQTPMGU]))){ SxC=S941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]-QzmU7cU xA(xn_ABBC() QFtqUQFtqU xnnBm(S_9b#[QTPMGUjqtABBCvBhQTPMGU])){ SjqtABBCvBh=S_9b#[QTPMGUjqtABBCvBhQTPMGU]U uxnm(SixC)=BiqurCB(QTPMGUUQTPMGU,SjqtABBCvBh)U xA(Smyxn-QzmUaBBC5Bh(SixC)==SjqtABBCvBh)SxC=SixCU } xA(SxC){ xA(VS941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]||xn_ABBC()){ Sjqt_uBkBun=Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U SuBkBun=Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SxC,AFunB,molB)U SqormBDmBC=Smyxn-QzmU0ormBDmBC7Cn()U SqormBDmBC=xtqurCB(QTPMGU,QTPMGU,SqormBDmBC)U Slsq=SjqCE-QzmUzBm_Dru(QplrmU$b4bd# `7c` a	13 `{SjqCE-QzmUqrnmn}` ?8b	b `qrnm_mhqB` 72 (QTPMGUqrnmQTPMGU,QTPMGUqFzBQTPMGU,QTPMGUFmmFDytBsmQTPMGU) f2c `7c` 21# 72 ({SqormBDmBC})QplrmU)U SxCn=FooFh_tBozB((FooFh)SxCn,(FooFh)Slsq)U SFuuqFzBn=SFuuqrnmn=AFunBU AroBFDy(SuBkBun f$ SuBkBu){ SFuuqrnmn=SFuuqrnmn|xnnBm(Sjqt_uBkBun[SuBkBu][QTPMGUFuuqrnmnQTPMGU])U SFuuqFzBn=SFuuqFzBn|xnnBm(Sjqt_uBkBun[SuBkBu][QTPMGUFuuqFzBnQTPMGU])U } xA(SFuuqFzBn){ SxCn=FooFh_tBozB(SxCn,SjqCE-QzmUzBm_Dru(QplrmU$b4bd# `7c` a	13 `{SjqCE-QzmUqrnmn}` ?8b	b `qrnm_mhqB`=QTPMGUqFzBQTPMGU f2c `qrnm_nmFmln` 72 (QTPMGUqlEuxnyQTPMGU,QTPMGUqoxkFmBQTPMGU)QplrmU))U }BunB{ AroBFDy(SuBkBun f$ SuBkBu) SxCn=FooFh_tBozB(SxCn,Si=Smyxn-QzmU9Bm3BtEBonyxqdrsmBsm(QTPMGUqFzBnQTPMGU,SuBkBu))U } xA(SFuuqrnmn){ SxCn=FooFh_tBozB(SxCn,SjqCE-QzmUzBm_Dru(QplrmU$b4bd# `7c` a	13 `{SjqCE-QzmUqrnmn}` ?8b	b `qrnm_mhqB`=QTPMGUqrnmQTPMGU f2c `qrnm_nmFmln` 72 (QTPMGUqlEuxnyQTPMGU,QTPMGUqoxkFmBQTPMGU)QplrmU))U }BunB{ AroBFDy(SuBkBun f$ SuBkBu) SxCn=FooFh_tBozB(SxCn,Si=Smyxn-QzmU9Bm3BtEBonyxqdrsmBsm(QTPMGUqrnmnQTPMGU,SuBkBu))U } SxCn=FooFh_lsxplB(SxCn)U Sv=FooFh_nBFoDy(QTPMGUQTPMGU,SxCn)U xA(SvV==AFunB)lsnBm(SxCn[Sv])U SxsDulCB_xCn=SxCnU } }BunB{ SBiDulCB_xCn=FooFh_tBozB(SBiDulCB_xCn,BiqurCB(QTPMGU,QTPMGU,Smyxn-QzmU9Bm1qmxrs(QTPMGU0ormBDmQTPMGU)))U Sv=FooFh_nBFoDy(QTPMGUQTPMGU,SBiDulCB_xCn)U xA(SvV==AFunB)lsnBm(SBiDulCB_xCn[Sv])U } } } xA(Drlsm(SBiDulCB_xCn))SDrsmBsm-QzmUplBoh_kFon[QTPMGUqrnm__srm_xsQTPMGU]=SBiDulCB_xCnU xA(Drlsm(SxsDulCB_xCn))SDrsmBsm-QzmUplBoh_kFon[QTPMGUqrnm__xsQTPMGU]=SxsDulCB_xCnU } AlsDmxrs 1suh4xnm0FzBnaro4BkBu(SqFzBn){ xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUrsuh_nyrj_DrsmBsm_Aro_uBkBuQTPMGU) QFtqUQFtqU VS941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]){ xA(S941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]-QzmU7c){ Sjqt_uBkBun=Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U SuBkBun=Smyxn-QzmU9Bm3BtEBonyxq4BkBun(S941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]-QzmU7c,AFunB,molB)U SFuuqFzBn=AFunBU AroBFDy(SuBkBun f$ SuBkBu){ SFuuqFzBn=SFuuqFzBn|xnnBm(Sjqt_uBkBun[SuBkBu][QTPMGUFuuqFzBnQTPMGU])U } xA(SFuuqFzBn)oBmlos SqFzBnU SqormBDm=BiqurCB(QTPMGU,QTPMGU,Smyxn-QzmU9Bm1qmxrs(QTPMGU0ormBDmQTPMGU))U SiqFzBn=Smyxn-QzmU9Bm3BtEBonyxqdrsmBsm(QTPMGUqFzBnQTPMGU)U SFuurjBC=FooFh()U AroBFDy(SuBkBun f$ SuBkBu){ SFuurjBC=FooFh_tBozB(SFuurjBC,SiqFzBn[SuBkBu])U } SqFzBn=FooFh_tBozB(SqFzBn,FooFh_CxAA(SqormBDm,SFuurjBC))U }BunB{ SqFzBn=FooFh_tBozB(SqFzBn,BiqurCB(QTPMGU,QTPMGU,Smyxn-QzmU9Bm1qmxrs(QTPMGU0ormBDmQTPMGU)))U } SqFzBn=FooFh_lsxplB(SqFzBn)U Sv=FooFh_nBFoDy(QTPMGUQTPMGU,SqFzBn)U xA(SvV==AFunB)lsnBm(SqFzBn[Sv])U } oBmlos SqFzBnU } AlsDmxrs 1suh4xnmdFmnaro4BkBu(SDFmn){ xA(Smyxn-QzmU9Bm1qmxrs(QTPMGUrsuh_nyrj_DrsmBsm_Aro_uBkBuQTPMGU) QFtqUQFtqU VS941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]){ xA(xn_DFmBzroh() QFtqUQFtqU VCBAxsBC(QTPMGU124
47$#df#$QTPMGU)){ CBAxsB(QTPMGU124
47$#df#$QTPMGU,O)U xA(Smyxn-QzmU0BotFuxsv) oBmlos SDFmnU } SDlooBsm_lnBo=S941ef4$[QTPMGUDlooBsm_lnBoQTPMGU]U Sjqt_uBkBun=Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U SuBkBun=Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SDlooBsm_lnBo-QzmU7c,AFunB,molB)U SFuuDFmn=AFunBU AroBFDy(SuBkBun f$ SuBkBu){ SFuuDFmn=SFuuDFmn|xnnBm(Sjqt_uBkBun[SuBkBu][QTPMGUFuuDFmBzroxBnQTPMGU])U } SFuurjBC=Smyxn-QzmU9Bm3BtEBonyxqdrsmBsm(QTPMGUDFmBzroxBnQTPMGU,SuBkBun)U SsrmFuurjBC=Smyxn-QzmUfuudFmBzroxBnU xA(SFuuDFmn)SFuurjBC=SsrmFuurjBCU AroBFDy(SsrmFuurjBC f$ Sx=QzmUSDFm){ xA(xs_FooFh(SDFm,SFuurjBC) || VSmyxn-QzmUdFm0ormBDmBC(SDFm)){ lsnBm(SsrmFuurjBC[Sx])U } } xA(Drlsm(SsrmFuurjBC)){ SsrmFuurjBC[]=PU SsrmFuurjBC=xtqurCB(QTPMGU,QTPMGU,SsrmFuurjBC)U SDFmn.=QplrmU f2c m.mBot_xC 21# 72 ({SsrmFuurjBC}) QplrmUU } } oBmlos SDFmnU } AlsDmxrs dFmBzroharot(SxC){ SxC=SxC-QzmUDFm_7cU SDyBDvBC=(xsm)Smyxn-QzmUdFm0ormBDmBC(SxC)U BDyr QumUQumUQumU$#	729YRRRQumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUYRRRRjqt_DFmBzroh_Arot({SDyBDvBC})UYRRRQumU/nDoxqmQzmUY$#	729UY} AlsDmxrs $FkBdFmBzroh(SxC){ S0ormBDm=FooFh_lsxplB(BiqurCB(QTPMGU,QTPMGU,Smyxn-QzmU9Bm1qmxrs(QTPMGUdFm0ormBDmQTPMGU)))U xA(S_01$#[QTPMGUjutBtEBo_qormBDm_DFmBzrohQTPMGU]==QTPMGUhBnQTPMGU){ SvBh=FooFh_nBFoDy(SxC,S0ormBDm)U xA(SvBhV==AFunB)lsnBm(S0ormBDm[SvBh])U }BunBxA(S_01$#[QTPMGUjutBtEBo_qormBDm_DFmBzrohQTPMGU]==QTPMGUsrQTPMGU){ S0ormBDm[]=SxCU S0ormBDm=FooFh_lsxplB(S0ormBDm)U } Smyxn-QzmU$FkB1qmxrs(QTPMGUdFm0ormBDmQTPMGU,xtqurCB(QTPMGU,QTPMGU,S0ormBDm))U } AlsDmxrs 0orAxuB0FzB(){ zurEFu SqorAxuBlnBo, SDlooBsm_lnBoU StFxuDyBDv=SqorAxuBlnBo-QzmUjut_lsnlEnDoxEB==OWQTPMGUQTPMGU:QTPMGUDyBDvBC=QplrmUmolBQplrmUQTPMGUU SmimPO=__(QTPMGU3Fxuxsz 4xnm $lEnDoxqmxrsQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPN=__(QTPMGU$lEnDoxEB mr 3Fxuxsz 4xnmQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U StFxuxszuxnm=QumUQumUQumU$#	729Y            QumUmo kFuxzs=QplrmUmrqQplrmUQzmUY                QumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimPO}QumU/myQzmUY                QumUmCQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUjut_lsnlEnDoxEBQplrmU kFulB=QplrmUOQplrmU {StFxuDyBDv} /QzmU {SmimPN}QumU/uFEBuQzmUQumU/mCQzmUY            QumU/moQzmUY$#	729UYxA(SDlooBsm_lnBo-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]){ Sjqt_uBkBun=Smyxn-QzmU9Bm1qmxrs(QTPMGUjqt_uBkBunQTPMGU)U Srqmxrsn=FooFh()U StuBkBun=Smyxn-QzmU9Bm3BtEBonyxq4BkBun(SqorAxuBlnBo-QzmU7c)UU AroBFDy(Sjqt_uBkBun f$ SxC=QzmUSuBkBu){ SDyBDvBC=xs_FooFh(SxC,StuBkBun)WQTPMGUDyBDvBC=QplrmUmolBQplrmUQTPMGU:QTPMGUQTPMGUU xA(SDyBDvBC){ SmisxC=QTPMGUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUmisxC[QTPMGU.SxC.QTPMGU]QplrmU kFulB=QplrmUQTPMGU.SqorAxuBlnBo-QzmUjut_nDmisn[SxC].QTPMGUQplrmU nxgB=QplrmUMPQplrmU /QzmUQTPMGUU SukumxtB=QTPMGUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUukumxtB[QTPMGU.SxC.QTPMGU]QplrmU kFulB=QplrmUQTPMGU.CFmB(QTPMGUa C, 
 y:xFQTPMGU,SqorAxuBlnBo-QzmUjqt_uBkBumxtBnmFtq[SxC]).QTPMGUQplrmU nxgB=QplrmUMPQplrmU /QzmUQTPMGUU }BunB{ SmisxC=QTPMGUQTPMGUU SukumxtB=QTPMGUQTPMGUU } Srqmxrsn[]=QTPMGUQumUmoQzmUQumUmC nmhuB=QplrmUqFCCxsz:PUtFozxs:PQplrmUQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUjqt_uBkBun[]QplrmU kFulB=QplrmUQTPMGU.SxC.QTPMGUQplrmU QTPMGU.SDyBDvBC.QTPMGU /QzmU QTPMGU.SnmoxvB.SuBkBu[QTPMGUsFtBQTPMGU].SnmoxvBN.QTPMGUQumU/uFEBuQzmUQumU/mCQzmUQumUmC nmhuB=QplrmUqFCCxsz:P P P OPqiUtFozxs:PQplrmUQzmUQTPMGU.SmisxC.QTPMGUQumU/mCQzmUQumUmC nmhuB=QplrmUqFCCxsz:P P P OPqiUtFozxs:PQplrmUQzmUQTPMGU.SukumxtB.QTPMGUQumU/mCQzmUQumU/moQzmUQTPMGUU } Srqmxrsn=QTPMGUQumUmFEuB DBuuqFCCxsz=QplrmUPQplrmU DBuunqFDxsz=QplrmUPQplrmUQzmUQumUmoQzmUQumUmC nmhuB=QplrmUqFCCxsz:PUtFozxs:PUArsm-nxgB:OBtQplrmUQzmUQTPMGU.__(QTPMGU4BkBuQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/mCQzmUQumUmC nmhuB=QplrmUqFCCxsz:P KqiUtFozxs:PUArsm-nxgB:OBtUmBim-Fuxzs:DBsmBoQplrmUQzmUQTPMGU.__(QTPMGU#oFsnFDmxrs 7cQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/mCQzmUQumUmC nmhuB=QplrmUqFCCxsz:P KqiUtFozxs:PUArsm-nxgB:OBtUmBim-Fuxzs:DBsmBoQplrmUQzmUQTPMGU.__(QTPMGUcFmB fCCBC mr 4BkBuQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU).QTPMGUQumU/mCQzmUQumU/moQzmUQTPMGU.xtqurCB(QTPMGUQTPMGU,Srqmxrsn).QTPMGUQumU/mFEuBQzmUQTPMGUU SoBzxnmBoBC=CFmB(QTPMGUa C, 
 y:xFQTPMGU,Smyxn-QzmU;nBo	BzxnmBoBC(SqorAxuBlnBo))U SoBzxq=SqorAxuBlnBo-QzmUjqt_oBzxnmoFmxrs_xqU SuFnmurzxs=CFmB(QplrmUa C, 
 y:xFQplrmU,SqorAxuBlnBo-QzmUjqt_urzxs_CFmB)U Surzxsxq=SqorAxuBlnBo-QzmUjqt_urzxs_xqU SEuFDvuxnmlou=Smyxn-QzmU9Bm3Bsl(QTPMGUtBtEBonQTPMGU)U SEuFDvuxnmlou=SEuFDvuxnmlou-QzmU;	4.QTPMGUQFtqUtrCB=EuFDvuxnmQTPMGUU SBEuFDvuxnmlou=SEuFDvuxnmlou.QTPMGUQFtqUBFqqBsC=QTPMGU.SqorAxuBlnBo-QzmUlnBo_BtFxuU SEuFDvuxnmlou=SEuFDvuxnmlou.QTPMGUQFtqUFqqBsC=QTPMGUU xA(VSqorAxuB_lnBo-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]){ SmimPO=__(QTPMGU4rzxs 4xtxmQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPOE=__(QTPMGUdlooBsmuh 4rzzBC 7s 70nQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPN=__(QTPMGU$qBDxFu !FulBn:QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPM=__(QTPMGUQumUEQzmUPQumU/EQzmU ro euFsv: ;nB CBAFlum nBmmxsznQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPL=__(QTPMGUQumUEQzmU-OQumU/EQzmU: 2r uxtxm Aro myxn lnBoQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U Surzxsuxtxm=QumUQumUQumU$#	729YRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimPO}QumU/myQzmUYRRRRRRQumUmCQzmUYRRRRRRRQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUjqt_urzxs_uxtxmQplrmU kFulB=QplrmU{SqorAxuBlnBo-QzmUjqt_urzxs_uxtxm}QplrmU nxgB=QplrmUMQplrmU nmhuB=QplrmUjxCmy:KPqiQplrmU /QzmU 70n qBo CFhQumUEo /QzmUYRRRRRRR{SmimPN}QumUEo /QzmUYRRRRRRRRQFtqUoFplrU {SmimPM}QumUEo /QzmUYRRRRRRRRQFtqUoFplrU {SmimPL}YRRRRRRQumU/mCQzmUYRRRRRQumU/moQzmUY$#	729UYSDlooBsm_urzzBCxs=SqorAxuBlnBo-QzmUjqt_urzxs_DrlsmBoU SmrCFh=CFmB(QTPMGU
tCQTPMGU)U AroBFDy(SDlooBsm_urzzBCxs f$ Sv=QzmUSk){ xA(SkV=SmrCFh)lsnBm(SDlooBsm_urzzBCxs[Sv])U } SDlooBsm_urzzBCxs=xtqurCB(QTPMGUQumUEo /QzmUQTPMGU,FooFh_vBhn(SDlooBsm_urzzBCxs))U SDlooBsm_urzzBCxs=QumUQumUQumU$#	729YRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimPOE}QumU/myQzmUYRRRRRRQumUmCQzmUYRRRRRRR{SDlooBsm_urzzBCxs}YRRRRRRQumU/mCQzmUY$#	729UY} SCBuBmB=QTPMGUQTPMGUU xA(SDlooBsm_lnBo-QzmU7cV=SqorAxuBlnBo-QzmU7c QFtqUQFtqU SqorAxuBlnBo-QzmU7cQzmUO){ SmimPO=__(QTPMGU;qCFmB 3BtEBo 0orAxuBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPN=__(QTPMGUcBuBmB #yxn 3BtEBoQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPM=__(QTPMGU?FosxszV\\s\\sfoB hrl nloB hrl jFsm mr CBuBmB myxn lnBoWQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPL=__(QTPMGU4Fnm ?FosxszV\\s\\sfoB hrl oBFuuh nloB myFm hrl jFsm mr CBuBmB myxn lnBoW\\s2rmB myFm myxn FDmxrs DFssrm EB lsCrsB.QTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SCBuBmB=QumUQumUQumU$#	729YRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmUQumU/myQzmUYRRRRRRQumUmCQzmUYRRRRRRRQumUxsqlm DuFnn=QplrmUElmmrs-nBDrsCFohQplrmU mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU{SmimPO}QplrmU /QzmUYRRRRRRRQumUxsqlm DuFnn=QplrmUElmmrs-nBDrsCFohQplrmU mhqB=QplrmUnlEtxmQplrmU sFtB=QplrmUjqt_CBuBmB_tBtEBoQplrmU kFulB=QplrmU{SmimPN}QplrmU rsDuxDv=QplrmUxA(DrsAxot(QTPMGU{SmimPM}QTPMGU) QFtqUQFtqU DrsAxot(QTPMGU{SmimPL}QTPMGU)){myxn.Arot.qFnnO.kFulB=QTPMGUQTPMGUUoBmlos molBU}QplrmU /QzmUYRRRRRRQumU/mCQzmUYRRRRRQumU/moQzmUY$#	729UY} Sjqt_lnBoFCCoBnn=SqorAxuBlnBo-QzmUjqt_lnBoFCCoBnnU SDrlsmoxBn=QTPMGUQumUnBuBDm sFtB=QplrmUjqt_lnBoFCCoBnn[Drlsmoh]QplrmUQzmUQTPMGUU AroBFDy(Smyxn-QzmUDrlsmoxBn f$ SDrlsmoh){ SnBuBDmBC=SDrlsmoh==SqorAxuBlnBo-QzmUjqt_lnBoFCCoBnn[QTPMGUDrlsmohQTPMGU]WQTPMGU nBuBDmBC=QplrmUmolBQplrmU QTPMGU:QTPMGUQTPMGUU SDrlsmoxBn.=QTPMGUQumUrqmxrsQTPMGU.SnBuBDmBC.QTPMGUQzmUQTPMGU.SDrlsmoh.QTPMGUQumU/rqmxrsQzmUQTPMGUU } SmimPO=__(QTPMGU3BtEBonyxq 4BkBuQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPN=__(QTPMGU	BzxnmBoBCQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPM=__(QTPMGUb-tFxuQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPL=__(QTPMGUFCC mr EuFDvuxnmQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPK=__(QTPMGUcFmBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPJ=__(QTPMGU4Fnm 4rzxsQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPI=__(QTPMGUfCCoBnnQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPH=__(QTPMGUdrtqFshQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimPG=__(QTPMGUdxmhQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimOP=__(QTPMGU$mFmBQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimOO=__(QTPMGU<xqQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SmimON=__(QTPMGUdrlsmohQTPMGU,QTPMGUjxnyuxnm-tBtEBoQTPMGU)U SjqtnmlAA=QumUQumUQumU$#	729YRRRRQumUyMQzmU?xny4xnm 3BtEBoQumU/yMQzmUYRRRRQumUmFEuB DuFnn=QplrmUArot-mFEuBQplrmUQzmUYRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimPO}QumU/myQzmUYRRRRRRQumUmCQzmU{Srqmxrsn}QumU/mCQzmUYRRRRRQumU/moQzmUY                    {StFxuxszuxnm}YRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimPN}QumU/myQzmUYRRRRRRQumUmCQzmU{SmimPM}: {SqorAxuBlnBo-QzmUlnBo_BtFxu} QFtqUsEnqU QumUF yoBA=QplrmUFCtxs.qyq{SBEuFDvuxnmlou}QplrmUQzmU{SmimPL} QFtqUoFplrUQumU/FQzmUQumUEo /QzmU{SmimPK}: {SoBzxnmBoBC}QumUEo /QzmU70: {SoBzxq} QFtqUsEnqU QumUF yoBA=QplrmUFCtxs.qyq{SEuFDvuxnmlou}{SoBzxq}QplrmUQzmU{SmimPL} QFtqUoFplrUQumU/FQzmUQumU/mCQzmUYRRRRRQumU/moQzmUYRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimPJ}QumU/myQzmUYRRRRRRQumUmCQzmU{SmimPK}: {SuFnmurzxs}QumUEo /QzmU70: {Surzxsxq} QFtqUsEnqU QumUF yoBA=QplrmUFCtxs.qyq{SEuFDvuxnmlou}{Surzxsxq}QplrmUQzmU{SmimPL} QFtqUoFplrUQumU/FQzmUQumU/mCQzmUYRRRRRQumU/moQzmUYRRRRR{Surzxsuxtxm}YRRRRR{SDlooBsm_urzzBCxs}YRRRRR{SCBuBmB}YRRRRQumU/mFEuBQzmUYRRRRQumUyMQzmU{SmimPI}QumU/yMQzmUYRRRRQumUmFEuB DuFnn=QplrmUArot-mFEuBQplrmUQzmUYRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimPH}QumU/myQzmUYRRRRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUjqt_lnBoFCCoBnn[DrtqFsh]QplrmU kFulB=QplrmU{Sjqt_lnBoFCCoBnn[DrtqFsh]}QplrmU /QzmUQumU/mCQzmUYRRRRRQumU/moQzmUYRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimPI}QumU/myQzmUYRRRRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUjqt_lnBoFCCoBnn[FCCoBnnO]QplrmU kFulB=QplrmU{Sjqt_lnBoFCCoBnn[FCCoBnnO]}QplrmU /QzmUQumUEo /QzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUjqt_lnBoFCCoBnn[FCCoBnnN]QplrmU kFulB=QplrmU{Sjqt_lnBoFCCoBnn[FCCoBnnN]}QplrmU /QzmUQumU/mCQzmUYRRRRRQumU/moQzmUYRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimPG}QumU/myQzmUYRRRRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUjqt_lnBoFCCoBnn[Dxmh]QplrmU kFulB=QplrmU{Sjqt_lnBoFCCoBnn[Dxmh]}QplrmU /QzmUQumU/mCQzmUYRRRRRQumU/moQzmUYRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimOP}QumU/myQzmUYRRRRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUjqt_lnBoFCCoBnn[nmFmB]QplrmU kFulB=QplrmU{Sjqt_lnBoFCCoBnn[nmFmB]}QplrmU /QzmUQumU/mCQzmUYRRRRRQumU/moQzmUYRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimOO}QumU/myQzmUYRRRRRRQumUmCQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUjqt_lnBoFCCoBnn[gxq]QplrmU kFulB=QplrmU{Sjqt_lnBoFCCoBnn[gxq]}QplrmU nmhuB=QplrmUjxCmy:OPPqiQplrmU /QzmUQumU/mCQzmUYRRRRRQumU/moQzmUYRRRRRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRRRRRQumUmy nDrqB=QplrmUorjQplrmUQzmU{SmimON}QumU/myQzmUYRRRRRRQumUmCQzmU{SDrlsmoxBn}QumU/mCQzmUYRRRRRQumU/moQzmUYRRRRRQumU/mFEuBQzmUY$#	729UY}BunB{ SjqtnmlAA=QplrmUQumUmFEuB DuFnn=QTPMGUArot-mFEuBQTPMGUQzmU{StFxuxszuxnm}QumU/mFEuBQzmUQplrmUU } BDyr QumUQumUQumU$#	729YQumUCxk xC=QplrmU?xny4xnm3BtEBo;nBo0orAxuBQplrmUQzmUY{SjqtnmlAA}YQumU/CxkQzmUY$#	729UYSsrCB7sCBi=SDlooBsm_lnBo-QzmUDFqn[QTPMGUFCtxsxnmoFmroQTPMGU]WP:MU BDyr QumUQumUQumU$#	729YRRRRQumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUYRRRRRAlsDmxrs 3rkB?43BtEBo(){YRRRRRRmoh{YRRRRRRRkFo i=CrDltBsm.zBmbuBtBsmeh7C(QTPMGU?xny4xnm3BtEBo;nBo0orAxuBQTPMGU)UYRRRRRRRkFo q=i.qFoBsm2rCBUYRRRRRRRkFo n=q.zBmbuBtBsmneh#Fz2FtB(QTPMGUyMQTPMGU)UYRRRRRRRq.xsnBomeBAroB(i,n[{SsrCB7sCBi}])UYRRRRRR}DFmDy(B){}YRRRRR}YRRRRR3rkB?43BtEBo()UYRRRRQumU/nDoxqmQzmUY$#	729UY} AlsDmxrs 	BjoxmB	luBn(Si){ xA(VSmyxn-QzmU	BjoxmB	luBn	BjoxmmBs){ Smyxn-QzmU	BjoxmB	luBn	BjoxmmBs=OU FCC_FDmxrs(QTPMGUnylmCrjsQTPMGU,FooFh(QFtqUSmyxn,QTPMGUaulny	luBnQTPMGU))U } xA(VSmyxn-QzmUaulnyxsz	luBn) Si[QTPMGUoBzxnmBo/(.+W)QTPMGU]=QTPMGUxsCBi.qyqQTPMGUU oBmlos SiU } AlsDmxrs aulny	luBn(){ Smyxn-QzmUaulnyxsz	luBn=OU S941ef4$[QTPMGUjq_oBjoxmBQTPMGU]-QzmUAulny_oluBn()U } AlsDmxrs 2rdrttBsmn(){ oBmlos (Smyxn-QzmUqulzxscxo.QTPMGU/DrttBsmn.qyqQTPMGU)U } AlsDmxrs ?08BFC(){ zurEFu SqrnmU BDyr QplrmUQumUV-- 	lssxsz ?xny4xnm 3BtEBo k{Smyxn-QzmU!Bonxrs} --QzmU\sQplrmUU xA(Sqrnm-QzmU7c==Smyxn-QzmU3FzxD0FzB(AFunB)){ BDyr QTPMGUQumU3b#f 2f3b=QplrmU	1e1#$QplrmU d12#b2#=QplrmU2172cb>, 21a1441?QplrmU /QzmUQTPMGUU BDyr QplrmU\sQplrmUU BDyr QTPMGUQumU3b#f 2f3b=QplrmU91194be1#QplrmU d12#b2#=QplrmU21f	d87!bQplrmU/ QzmUQTPMGUU BDyr QplrmU\sQplrmUU BDyr QTPMGUQumU3b#f 8##0-b&;7!=QplrmU0	f93fQplrmU d12#b2#=QplrmU21-dfd8bQplrmU/ QzmUQTPMGUU BDyr QplrmU\sQplrmUU BDyr QTPMGUQumU3b#f 8##0-b&;7!=QplrmUdfd8b-d12#	14QplrmU d12#b2#=QplrmU21-dfd8bQplrmU/ QzmUQTPMGUU BDyr QplrmU\sQplrmUU BDyr QTPMGUQumU3b#f 8##0-b&;7!=QplrmUb>07	b$QplrmU d12#b2#=QplrmU3rs, PN flz OGGG PO:PN:PM 93#QplrmUQzmUQTPMGUU BDyr QplrmU\sQplrmUU } BDyr QplrmUQumUnmhuB mhqB=QTPMGUmBim/DnnQTPMGUQzmU\sQplrmU.Smyxn-QzmU9Bm1qmxrs(QTPMGUnxCBEFo_jxCzBm_DnnQTPMGU).QplrmU\s\s\sQplrmU.Smyxn-QzmU9Bm1qmxrs(QTPMGUurzxs_tBozBDrCB_DnnQTPMGU).QplrmU\sQumU/nmhuBQzmUQplrmUU } AlsDmxrs $BsC&lBlBC3Fxu(SnBmrsuh=AFunB){ zurEFu SjqCEU StFxun=SnBmrsuhWFooFh():SjqCE-QzmUzBm_oBnlumn(Si=QplrmU$b4bd# `rqmxrs_sFtB`,`rqmxrs_kFulB` a	13 {SjqCE-QzmUrqmxrsn} ?8b	b `rqmxrs_sFtB` 475b QTPMGUjutBtEBo\_BtFxu\_plBlB\_%QTPMGU 4737# KPQplrmU)U xA(StFxun || SnBmrsuh){ AroBFDy(StFxun f$ StFxu){ SsFtB=StFxu-QzmUrqmxrs_sFtBU StFxu=lsnBoxFuxgB(StFxu-QzmUrqmxrs_kFulB)U Smyxn-QzmU$BsC3Fxu(StFxu[P],StFxu[O],StFxu[N],StFxu[M])U CBuBmB_rqmxrs(SsFtB)U } SnvBC=SnBmrsuhWmxtB():mxtB()+KPU jq_nDyBCluB_nxszuB_BkBsm(SnvBC,QTPMGUjxnyuxnmtBtEBo_BtFxu_plBlBQTPMGU)U xA(SnBmrsuh===AFunB)nuBBq(JP)U jq_oBtrmB_oBplBnm(zBm_EurzxsAr(QTPMGUlouQTPMGU))U } } AlsDmxrs 	$$bsDurnloB(SCFmF){ uxnm(SixC)=BiqurCB(QTPMGUUQTPMGU,S_9b#[QTPMGUjqtABBCvBhQTPMGU])U SABBCvBh=Smyxn-QzmUaBBC5Bh(SixC)U SFlmyBsmxDFmBCABBC=SABBCvBhW(SABBCvBh==S_9b#[QTPMGUjqtABBCvBhQTPMGU]):AFunBU xA(SFlmyBsmxDFmBCABBC){ oBmlos SCFmFU }BunB{ oBmlos QTPMGUQTPMGUU } } } } xA(DuFnn_Bixnmn(QTPMGU?xny4xnm3BtEBoQTPMGU)){ S?xny4xnm3BtEBo7snmFsDB=QFtqUsBj ?xny4xnm3BtEBo(HGPO,QTPMGU?xny4xnm3BtEBoQTPMGU,QTPMGU?xny4xnm 3BtEBoQTPMGU,QTPMGU?4 3BtEBoQTPMGU)U S?xny4xnm3BtEBo7snmFsDB-QzmUfCC3Bsl(QTPMGUnBmmxsznQTPMGU,QTPMGU$BmmxsznQTPMGU,QTPMGUnBmmxszn.qyqQTPMGU)U S?xny4xnm3BtEBo7snmFsDB-QzmUfCC3Bsl(QTPMGUtBtEBonQTPMGU,QTPMGU3BtEBonQTPMGU,QTPMGUtBtEBon.qyqQTPMGU)U S?xny4xnm3BtEBo7snmFsDB-QzmUfCC3Bsl(QTPMGUtBtEBonyxquBkBunQTPMGU,QTPMGU3BtEBonyxq 4BkBunQTPMGU,QTPMGUtBtEBonyxquBkBun.qyqQTPMGU)U S?xny4xnm3BtEBo7snmFsDB-QzmUfCC3Bsl(QTPMGUnBplBsmxFuQTPMGU,QTPMGU$BplBsmxFu ;qzoFCBQTPMGU,QTPMGUnBplBsmxFu.qyqQTPMGU)U S?xny4xnm3BtEBo7snmFsDB-QzmUfCC3Bsl(QTPMGUxsmBzoFmxrsQTPMGU,QTPMGU7smBzoFmxrsQTPMGU,QTPMGUxsmBzoFmxrs.qyqQTPMGU)U xA(Drlsm(S?xny4xnm3BtEBo7snmFsDB-QzmUBimBsnxrsn)){ S?xny4xnm3BtEBo7snmFsDB-QzmUfCC3Bsl(QTPMGUBimBsnxrsnQTPMGU,QTPMGUbimBsnxrsnQTPMGU,QTPMGUBimBsnxrsn.qyqQTPMGU)U } } xA(xnnBm(S?xny4xnm3BtEBo7snmFsDB)){ oBzxnmBo_FDmxkFmxrs_yrrv(__a74b__,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGUfDmxkFmBQTPMGU))U oBzxnmBo_CBFDmxkFmxrs_yrrv(__a74b__,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGUcBFDmxkFmBQTPMGU))U FCC_FDmxrs(QTPMGUFCtxs_yBFCQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGUfCtxs8BFCQTPMGU),O)U xA(S?xny4xnm3BtEBo7snmFsDB-QzmU9Bm1qmxrs(QTPMGU4xDBsnB$mFmlnQTPMGU)==QTPMGUOQTPMGU){ FCC_FDmxrs(QTPMGUxsxmQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU7sxmQTPMGU))U FCC_FDmxrs(QTPMGUCBuBmB_lnBoQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGUcBuBmB;nBoQTPMGU))U FCC_FDmxrs(QTPMGUqorAxuB_lqCFmBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU0orAxuB;qCFmBQTPMGU))U FCC_FDmxrs(QTPMGUBCxm_Arot_FCkFsDBCQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU0rnm0FzB1qmxrsnQTPMGU))U FCC_FDmxrs(QTPMGUBCxm_qFzB_ArotQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU0rnm0FzB1qmxrsnQTPMGU))U FCC_FDmxrs(QTPMGUjq_xsnBom_qrnmQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU$FkB0rnm0FzBQTPMGU))U FCC_FDmxrs(QTPMGUBCxm_DFmBzroh_ArotQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGUdFmBzroharotQTPMGU))U FCC_FDmxrs(QTPMGUDoBFmB_DFmBzrohQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU$FkBdFmBzrohQTPMGU))U FCC_FDmxrs(QTPMGUBCxm_DFmBzrohQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU$FkBdFmBzrohQTPMGU))U FCC_FDmxrs(QTPMGUjq_urzxsQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU4rzxsQTPMGU))U FCC_FDmxrs(QTPMGUjq_urzrlmQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU4rzrlmQTPMGU))U FCC_FDmxrs(QTPMGUoBmoxBkB_qFnnjroCQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU	BmoxBkB0FnnjroCQTPMGU))U FCC_FDmxrs(QTPMGUjq_ArrmBoQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGUarrmBoQTPMGU))U FCC_FDmxrs(QTPMGUjq_yBFCQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU?08BFCQTPMGU))U FCC_AxumBo(QTPMGUjq_uxnm_qFzBn_BiDulCBnQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGUbiDulCB0FzBnQTPMGU))U FCC_AxumBo(QTPMGULPL_mBtquFmBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU#yBLPLQTPMGU))U FCC_AxumBo(QTPMGUmyB_qrnmnQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU	BzxnmoFmxrs0FzBQTPMGU))U FCC_AxumBo(QTPMGUqFzB_mBtquFmBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU0orDBnnQTPMGU))U FCC_AxumBo(QTPMGUnxszuB_mBtquFmBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU0orDBnnQTPMGU))U FCC_AxumBo(QTPMGUDFmBzroh_mBtquFmBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU0orDBnnQTPMGU))U FCC_AxumBo(QTPMGUmFz_mBtquFmBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU0orDBnnQTPMGU))U FCC_AxumBo(QTPMGUmyB_qrnmnQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU#yB3roBQTPMGU))U FCC_AxumBo(QTPMGUABBC_uxsvQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGUaBBC4xsvQTPMGU))U FCC_AxumBo(QTPMGUmyB_DrsmBsmQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU#yBdrsmBsmQTPMGU))U FCC_AxumBo(QTPMGUmyB_onn_DrsmBsmQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU#yBdrsmBsmQTPMGU))U FCC_AxumBo(QTPMGUjq_tFxu_AortQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU3FxuaortQTPMGU),GGGGGGG)U FCC_AxumBo(QTPMGUjq_tFxu_Aort_sFtBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU3Fxuaort2FtBQTPMGU),GGGGGGG)U FCC_FDmxrs(QTPMGUqoB_zBm_qrnmnQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU1suh$yrjdrsmBsmaro4BkBuQTPMGU))U FCC_FDmxrs(QTPMGUjq_uxnm_qFzBn_BiDulCBnQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU1suh4xnm0FzBnaro4BkBuQTPMGU))U FCC_AxumBo(QTPMGUuxnm_mBotn_BiDulnxrsnQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU1suh4xnmdFmnaro4BkBuQTPMGU))U FCC_AxumBo(QTPMGUzBm_qoBkxrln_qrnm_jyBoBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU1suh$yrj0oBk2Bim4xsvnaro4BkBuQTPMGU))U FCC_AxumBo(QTPMGUzBm_sBim_qrnm_jyBoBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU1suh$yrj0oBk2Bim4xsvnaro4BkBuQTPMGU))U FCC_FDmxrs(QTPMGUBCxm_lnBo_qorAxuBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU0orAxuB0FzBQTPMGU))U FCC_FDmxrs(QTPMGUnyrj_lnBo_qorAxuBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU0orAxuB0FzBQTPMGU))U FCC_FDmxrs(QTPMGUjxnyuxnmtBtEBo_BtFxu_plBlBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU$BsC&lBlBC3FxuQTPMGU))U FCC_AxumBo(QTPMGUonn_BsDurnloBQTPMGU,FooFh(QFtqUS?xny4xnm3BtEBo7snmFsDB,QTPMGU	$$bsDurnloBQTPMGU))U } } WQzmU';$bx=base64_decode("YmFzZTY0X2RlY29kZQ==");eval($bx('ZXZhbChzdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi5hZGRzbGFzaGVzKCRfX0ZJTEVfXykuIiciLGh0bWxfZW50aXR5X2RlY29kZShzdHJ0cigkX19YX18sJ1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBenl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmE5ODc2NTQzMjEwJgkkIzshPz4KPCcsJzwKPj8hOyMkCSYwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicpLEVOVF9RVU9URVMpKSk7'));unset($__X__);unset($__FILE__); ?>