#tarpack-Thread-2.6.3/ 777 0 0 0 10412757323 7376 5#tarpack-Thread-2.6.3/#tarpack-loadscript-Thread-2.6.3.tcl 777 0 0 1564 10427703133 15672 0 #If there is data above this line, then this is a tarpack. (otherwise it is an unpacked fragment of a tarpack) # A tarpack is a valid tar archive in which the first archived file consists of tcl script # containing a leading newline and a final ctrl-z to tell Tcl when it has reached the end of this initialisation # section (and thus to stop interpreting). # The tarball should have its contents within a single directory named #tarpack-- # package require tarpack tarpack::connect [info script] switch -- [tarpack::platform] { "Windows-x86" { tarpack::load Windows-x86/thread263.dll -from [info script] } "FreeBSD-x86" { tarpack::load FreeBSD-x86/libthread2.6.3.so -from [info script] } default { } } tarpack::source ttrace.tcl -from [info script] tarpack::disconnect [info script] #Do not remove the trailing comment character from this file ##tarpack-Thread-2.6.3/#z 777 0 0 73 10320643554 7656 0#do not remove trailing ctrl-z character from this file. #tarpack-Thread-2.6.3/FreeBSD-x86/ 777 0 0 0 10425075210 11223 5#tarpack-Thread-2.6.3/FreeBSD-x86/libthread2.6.3.so 777 0 0 201250 10413026463 14241 0ELF 4P4 (RR`` `   CL3G5=;4>8D)?:#@76,<9H*/K-E CIFB$+!&%'.120"A(J  8`     x  Nyqird8V$N4 TRVO;D~8!lBpCtH              " # % & ' ( )+,- .1467 8$9(:,;0<4A8D<E@GDIHJLK hhhhh h($h0(h8p,h@`0hHP4hP@8hX0<h` @hhDhpHhxLhPhThXh\h`hdhhhplh`phPth@xh0|h hhhhhhhh h(h0h8pUWVS[jP}WIu e[^_Ív!jR*RWt UPRQWu Eu.v0j|PZYPW뀃 jjP9PW R jj PHPW $ jjPUPW  jj PgPW  jjd PtPW  jj PPW l jj PPW > jjpPPW  jj,PPW  jjPPW  jjPPW  jj PPW R jj0 PPW $ jjPPW  jjTP PW  jj$PPW  jjP*PW l W <$<$ 9R?RWL2vUS[u]UWVS[êj(P‹@te[^_׹ E BR;XZ;PÍvUWVSH[2u EE]EU9UȉE}d}jU4Et-twuF;uuJMj}4EE9Ɖu| uujuu e[^_ËFPuju (Ԁx--vEĀxjtH-dUĀzpW[E uĉ׹ 7EEȍpPfωE E8EuMʍpωEE8EREȋE@;EMj}4EUWVS} [SuWE@tjjuW"e[^_ÉEQPEpW3uƐPujW(벉UWVS[uu EEN~V UrXt }wX8-t;EVPUru 93uujuu !e[^_à wXxwu wXsƉ׹8uEWPEpEuyPuju (rUWVSE} u[ÅEWN~#jujW(e[^_EEE }e[^_ USu [U$$1]ÐUWVS8[u }~&juju (e[^_Ð}WQ$>1XZ6jWZYPu 1뼐UWVS([Ku }~'juju (e[^_ÉPu ~ǃ1tك R19}GEȉv4i0XZF9|Ń>ZYPu X_P1 UWVSH[&u EEEJEwEE9EE|.Puju (e[^_ÉUjM4EtK<-EuBUȀza$}-u/EȀxhu&uMEE9E|aU9UUPEPMu4u /QEE9E EMPE4EU9UE jP@ @GXZEu@PR$?GXuuWuu NjE؃ tEu u $Pjuu  j WEY^Pu M1EEMPE4EE9EtZ jFƃ u h}~ ExuEԅ}~ UzetdEԅu u1e[^_à \jPuPu u뻀zruUԃ ~ 9ҍusEЋp Eԃt0uRu?vPu밋Uԃ~9ҍuEЋp Eԃt8uRuEԃ9Pu먀xvEEԃ ~ U9u׉EԅuvuuPEpP}W^XWuMԃ  uXZu u%UWVS81}[IMVuYu sE}~ u~e2}~ u~u}~ u~et u1e[^_É~ruڋUԃ ~ 9ҍuuPURuuEu}t EH 넋Ub x utUԃ~9ҍu*PURuuEuEt EH Ub v~vUԃ ~ 9ҍuPEPPuLH jPuPu v VXZu uYUVSuV[v u v he[^Ð v UWVS$[Òj(R@UR UEE U7rx$EEtv UREx}t.1} ыQRUBXYurw u_ue[^_É UrY^UruPXZUrj14!UVuS[7tFu VPe[^à PVUWVS [}P/9tP`99t1e[^_ÍvO t wXZwjԋGuG tƃ P1븃 P#݉UWVS[RE}Ej(PEt;t WP URXu^X;jPt)}ܐUF 9VE2E9FuuۋtUF9V EtzE9Ft#uu ue[^_Ãu1}QR$FF4$v둍vFt$UPVtFB VP͋E׃uE܋1}QR$TU܉FFF F4$F$t!UP V tF$B$ U܋VPЋE쉃ڐUS[0u&Pu k]ÉUWVS[ju uƍ&PV1Ht$ jRV,Ru e[^_ÐUVS(uVu [È@D$PVUPu e[^ÉUWVS[>u Yu $htju p$׃u jPXZu uXu e[^_ÐUWVSU1[ÛуQPPljPE GEG EGGtsv:fB:XZuwG 4$u)G Ve[^_ÉGِUWVS[j PNjEE G 4$u'G Ve[^_ÉGېUWVS[fj0uP 󥋓 E4$u*}G, Ve[^_ËUB,؉UWVS U[Ѿ}} )PWju(e[^_Ð wXEXwXEE uuuƃtPuPwXZYPVUt1q v jPu썃PuPu + Pp@Y_U2VV,t E눋U 0. jPu띍vUWVS} uW[SuXGpڿe[^_UWVSDj:[uEЍEEEEȋEu  V6XZFuPLt+@ t P u u׃ V*EԃE|}~E1t UЉG URtu6ct6v,u uEЃtU:E̍e[^_à WVFt j0PljE Ẽ@,딐u0۽ V71땍vUWVS$}u G[uPEEW@t F e[^_Ëwt&EPEPu vEEV tNEu.U1tEQPu uWD uPWF 딋uuԋEuuYuEV$댍vUWVS u U[ÔN1ҋytJte[^_Ðt?A<te@tbFE싃EPvuPuwW @t1밃 wW(Y^2jP_ZPu끋F@뜍vBjjvUWV}OAxut/QxBAxE z rBB te^_É QOvUVSuV[pt HV FtDVJt#R<tdBtaPqQ@t@ vBxFFrxFF F1ҍe[^Ë@띍v Ra RjTu $  j`u 舳e[^_ËFPP\PV@RR0F Fvd9t X u lXZjPLVWu W u`VH~;X tPƳF`FQZ҃ R`먐UWVSlu[+}EEEE((PWju (e[^_à wX jPu EE~E u lZYEPj5PPwu UԃpF9EnFE̍G EE4E}1;u}kv EЋ4X jPu?PNjH~[ Et GjWu u);u|Mt EpEE׃ R뎃 uyE5UBt pP(^_2jPZYPu lPjuu REPj\Pu E뻋EEЋPEPE4u iBmEjjEEEM؋EQPMLEvUB<@}EtuWt-0jW Puu }t> u Eruu bUz 1w良 Puu 딋My9 U4XEi}t EpuVj< vV @t# UrPMA vV(Y^2jP_ZPu vEEEtUBMȋQw M$E#ME؋EPEPLUzXZEu@PR$nUt6Pjv u - u uuMQuVwMW uW$ juuuuVwWtQjuu xEXZEu@PR$觫Un jRuRu  OVYjpPWju (Et*E1p,u $S0ju $-Et7U01zPu $1j؃1}2PvUWVS[ò}  UrX jPu EǺtr};u}N@EUU U4XZYPuEW@tD p u F;u| w被1ҍe[^_à w舫 wv EjPu썃PuPu 뾃 p;<$u놋}Puju ({vUWVSju $1QUWVSEjEEPEPuu[<u ѥ tEtK u lXZ>ju $ juu Ae[^_Ð u lY_>ju $1ÉUWVS$EjEEPEEP}WuV[su E t`E9ttuV<H~H WmFE@XZWu  Vuu Ze[^_à Ru랃 Ep1;utà u lYXjuuWVu 3 u3UWVS$EjEEPEPuuV} [TWE M9t%VEPE4WQURUrWukEE苋EPEp<$lXZ1uW$ juWe[^_PjvUWVSEjEEPEPuu[Lu uGME)ȅ~u;M|>0 EpL_ZPu  juu Pe[^_Ë 0E4YZPEpG;}|뒋PuQu ( j떐UWVS$EjEEPEPuuV[gu ǃ 4E HP@PUMU9 jujM4u  u@UH~ Mqde[^_à Rу u lY^1ju $댃uu ␋E@@\ pP(Y^2jP_ZPu ,v;uA u l_X>ju $1 UWVS$EjEEPEPuVu} [àW7 t e[^_Ð E4Xƃ UEJPVBPQDMɉEUJɉtPB@<@FptQvV@t7U rUEBP PjRW/= vV(^Z2jPZYPW Iw jRVRW ju뎍vUWVS\u[KG 2jPU2X PPu e[^_ÉPjUWrXZYPu A@EURVRPL_Ƌu  hVu EHt uEjE VpPuV詟 jVu v UrP|yUWVS [t e[^_Ð $Wt WjjLVP!jjVP jjd[PdPjj@VP Pߞ jjHYP4PŞjj\PP讞 jjZPxP蔞jj]PP} jjNP/PcjjWPPL jjt^PP2jj8`PP jjaPPǃvUWVS([juo)蠜$$$.$5$$t% jwwwu u݋ t e[^1_à UR t u뵃 hP uEv} 1}}EjPXZ}j@WE|NyPHM Q9US[Ðu蕜]UWVS<[n  URt$‰ rRPuǃt*‹v rRPuǃ ue[^_à UR EEEċE+Eԃ<WuRULt1 p v4$rXu uы WrW@$_uEԃ} W  Pǃ  ǃ uA WenUWVS,u[wEPj5PPMqu u?MEm~,Puju (e[^_ÃMjqt8-t 뭀xruE 8Eruˋ jPUEP MAAAXZQA P Y_E܍EPuuuPjE uu 1!vtEPMq}EPuujk EŠ@ XZEPVWuPjE Vu 1vtPWjLEPw}ECVuujx wt+ P j|Pu PEwLt WB RDu⋓j@RRu vu Ru Wv j[ R%o WA j& jPu荃Pu uP1҅@tWjv&UWVSu[E EPj5P0PEpu u2}~,APuju (e[^_Ë jP@@@ @Y^PjcPXZEPVWuPjEVu 1v\PujHURU܋Ur}EPuujaEGt WqF u܋Ur uPjEZt\x mt3 W4$ j\Pu gPuVW t VqM W`$RuRu  W) URUru  W|Y W [ jPu䍃nPu {uP$1҅g@tPj&%UWVSl[&}En }wXt wX8- (PE)u}MPuRL ƋhVu EH~i}t6Et (PEe[^_É uvPE pPuVa jVu 띃 V놉 U4P|> wXxl UrXƉ׹8EEEPMq uPjEEtWEx wt= u@OPhQURMqu v HUVRUr봐 TuWU념UWVST[ujDPEEEEԋEBEE9E`jỦMĐ Uu4XE-uRHdM-}nu}E8EEEE9E| UM4XXZEUPEtE܉<$E2M؃( MQMcU؋B9B j0P1 MuU؋@EFu܋E@PQ$tFEUF F XZuVE؃,$Xu}t 1e[^_à >uZYPu ׃ RXZuu t u맃 uM jEԃ8t uU؋z v uIM؋A9A}Qu # uX uu jEԃ8t uU؋r t jQWrQu Puju ( u}E8EEUWVSD[rDjRE}EЍGhEPEPEpu t e[^_à UrX$EpjjEW(EԉŰ$uȉUȋjj1;uE}VEEčvQuċU4u JuG0PW\t @ F;u|EuU؋H~] W ^UȋuE jUЃ:t Uȋu Uȋu덃 uM܃t jujuu  uu 1J@u.E܅PE4uu PE4Eu؃ u jRurRu Ӄ Ur XE܃|Puju (랉UWVS,UB[ ouE6EPEPvu t e[^_à vX$ EjjEXZjjUԃ(E؉UЋ$1Ƀ;MEEẺPUűM4u IEԋplt5E9FEtMPE4uu v(uEE;E| u}t jujuu  uu 1V,tVF(B(F(tAP,Vj] XvP4$P EM4uu OMԉQh뺋UԋF(BlV,뢃 jRVrRu  v XEPVju (뺍vUWVS }G[ÜluEv*PVju (e[^_ËQURvu uу vX$ 6 ~(WXZuF0PV\p Nu4 W jPu , R<$XZ~Vu b 4$PEtP 0j u Pjuu 1WY_Pu 1 W j' jRWrRu 8 v XEVUWVS [vj}Mt*PQju (e[^_É qXLljU$<$Bt2 P. YNju6<$_ZPu 1닃 u$PWrPu RUWVS [Îi}Mt*PQju (e[^_É qXLljU$<$Zt2 PV YNju6<$_ZPu 1닃 u$PWrPu RUWVST[æhjjLEĉU$HtW*E0EȉUEWuuujXZ0ju Puu xu‹ u_Xuu e[^1_UWVSX[g1} Pu 󫋻UREuE$jPEPEP, uk}tE u}t 1e[^_ÃuuE-ې,QjuV}t띉PjRu^u뵐UWVSh[fEP$PUMEEQEXuE@UzYMy #MAEt}EE}ċU, E@URXuM(M $}G E @ P }WunE̅ug WEuQ EP uuuE؋$MQtE+E9|E닋WEH uwMЅ uuЋEp puUЋrPXuMЋ QP}WEPuJU JRXuXu$e[^_jjpu뢍EQPEpE0PUR`MЉH d@9AgESujq u}wG uZYEP1}ыQR$dUBE,$Xu ue!}GUS [ÈcjDP]ÉUU BlMA(BltH,A,BhJluJhÐUVuVh1t0B,FhJ,t+B(A(J(tB,A,B,B(Ћ4$ÍvB(FlUVS[bjDPuPFtBVttABA@AFtFpuAFpe[^ÍvUVuVp1t0BFpJt+BAJtBABBЋ4$ÍvBFtUWVS[ bLWXuƋ<$e[^_US[üaEPPuc1HuHtU9t@xu‰Ћ]UWVS [jahuu uMɉtKEuBpti u1уuDUBe[^_ÉRQP$aUBPjPuE jPu}Et21} QRUBZYuP`}1} QRUBZYuP`UWVS } W[_tQ;Dut#0jRZYPu wPGt e[^_ÉWtEut#0jRZYPu wPGWtEtVjRu wPGdEQ ul5UUB$@B$ÐUWVSD[î^jDPUNjB$HB$~e[^_ÉыR|HAxBxMQxtA|B|U (E@UԋRMAA,EĐ u-ZuXu j?t uUB uEP PMQ1U؋M0RQUЉMLtduȐw Vt;Dt MȋRPv~ UȋVPMȋ<$XUȋu u uMqlt v vP4$Pv(u㋳ u(Xu$XuP1 VuVK MȋRP7 MȋRPЃ RP RPM,MlUBxHvUWVS[[ut3 jP ljP7X7e[^_ÍvUWVS[Ú[jDPHɉte[^_à j PG@G@wXZWPUS[[EpR]ÍvUVS[Z LVHt PHu Ve[^ÐUWVS[rZjjPPuV u e[^_Ð jjLPPV t˃ jjPPV t jj܍PPV s jj̐PPV E jjPP-PV  jj|P8PV  jjdPHPV @t1 LV@t VɃjP|ǃ@̐UWVS [ÂXTt e[^_Ð XWTt WjjPPZjjPPxZ jjPP^ZjjPPGZ jjlPP-ZjjTPPZ jjP PYjj̯PPY jj$PPYjj|PcPY\PpP$#ZǃTUWVS$EjEEPEP}WuV[Vu EEEfW ueM)ȃ.HPURUru E܅Mx;M|Vjuu We[^_ÍURQUru u6EjjjuEpu t#MH~Qj둃 Quu MHY QEEPEHPE4u 댉M+PWQu (vUWVS$EjEEPEPuuV} [0UWEU M)ȅQEPEpWuPU)փtw E4WEXZEPjjuEpW t8MH~PjuWUe[^_à Q׍vPjҍEPuEtWguExU9~UUUE#PuQW(뚉UWVSEjEEPEPuu[Su qT ME)ȅ;M}: E4Uǃ WEpu uDF;u|ȋ0 EpU_ZPu  juu Te[^_ËH~Vjۃ W䋃PuQu (ݍvUWVSDEjEEPEPuu[Ru ERS ME)H:PURUru EPEHPME4u n EPEHPUEtu H U܋RMU4E؋EEU҉Ut(9U|#U܃~9ҍQu؉&E;E|EHE9EE+E@EԋE+EEuuuuEpu }̃ t@t(u1;u}M)ΐE̋H~4GNu uPVjuu iRe[^_à R뵋EЃ PRu1;uE1 E4RFỦG;u|ju؍3Pu vQjXEEjNPuQu (vUWVS4EjEEPEP}WuV[Pu P u7M)΃t9gPWQu (Pjuu "Qe[^_ÉEPEPEpu uEPEHPE4u uEPEHPEtu t uME܋U9|BE9a)@ EPRu1;u܉E~G u l >uu؋u $XuPPj E4PFUԉG;u~1EUvUWVS$EjEEPEPuu[pNu EN ME)HnPEPEpu EPuEU4u E U9~UE+EHEE PRuF1;uEuujuEpu tmuF1;u}E)ƉE܋H~3GNu uPPjuu Ne[^_à R붃 uP j E42OFU܉G;u|1ErPuQu (hUWVS$EjEEPEPuuu [ÅLVM t e[^_ÉPURUrVtRjuVMu뵃 VlYXuEV$E뢍vUWVSDEjEEPEPuuV[÷Ku EEL M)ȃHMEPEPEpu E܋MPE4E1҃;UEE}+učvEtVE̋U;U|ۋ u lXZ>uЋu $ juu Le[^_ËEQMԋE4EM4u xzẺEzPj먍v^UăURM̋U4U܃;U49ҋ}ȉ랉Mċ1uȋEM4X$oPuQu (_vAɉE?EPjPHPE4u UWVS$EjEEPEPuuV} [PIWI u3M)Nt7PuQW(VjuWjJe[^_ÉEPEPEpWuEPEHPUE4WuUx;U|Pj땃 E64JZYPWܐUWVSEjEEPEP}WuV[^Hu H u;M)ʃ~oE@ tEPJRuu  ue[^_É 0u-J_ZPu  juu 1IPWQu ( jύvUWVS[ÖGEPujEu"UB u RPE e[^_Ð P1R;u}4UUuVujXuPIF;u|ԋQWuu <$PUWVS [F}u D4%@tFي<+<-<0t 1e[^_ËvЁw D5tFЁwFD4%@tFۀ>utPjPW 놃 RGFj RG:vUWVS$[EEPu E8ePEPu juEU1ҍe[^_ËEtV ulE<$Pu荃Pu$URDuu:뒋UU~9ҍQuC}E}WvUz-SPEPEPuEE}U:vUWVSE[sD} [UEUE1E؉U܋uuWuEGEPEHPE4u U;UEH9} E}F<덋uuWuuzEUH~V uEMUEGt%u UwWGuދUe[^_à R뙐12jPZYPuыEPEPE0u1҅uEvUWVS [B\t e[^_Ð `V\t VjjP`PDjjPhPD jjPpPDjjPxPDEǃ\jUWVSEjEEPEPuu[Au aB u@ME)ȃ~t<PuQu (Qjuu Be[^_Ív;M}F U4XXEtzCPVEpu jB u;}|Vj딉UWVS$EjEEPEPu}W[@u EErA u)9aI U4XƍEPVEpu UB   uBE܋Et{ u lY^7ju $XZEPuEuPjuu VAe[^_à jujuu  Ƀuu 볍vMt* u lXZ7ju $ǃ jRVRu  PjWUTUWjuu @7uVu u(!PuVu (떉UWVSEjEEPEPuu[>u a? ueME)ȅ;M}> U4X PNjEpu @t(Ht F;u|Pjuu ?e[^_Pj jRWRu  ы}PuQu (밉UWVS$EjEEPEP}Wu[=u EER>ƃ uhUE)ЃHEPuEpu w>ƋEtft7Nt/uu  juu >e[^_Pj jPu䍃Pu  uʃ tXERPWju (느USPMA [è<uI]Ð;dt EPQE̋REPQjUWVS[><u8} )tPjRVPHe[^_ÃjjXZVuƍvUWVS[ò;u^EXEPu YƋuljVXuPDE 8ue[^_ÍvjP'PuRDِUWVS U 1I[;;MutE ul>jPPu$WDe[^_Ð:t=Аu8.t @8u1܃ ul>jP랃 ul>jP tUS[H:j P@@]ÍvUWVS }1[:;w}{O 4POTH~8F;w|օu WPe[^_à QPՍv RO뮋O믐UWVS uЋM +F[]99})|Nu' PRF>e[^_ÐPQR֍vUWVS[8M} Q4PEpTH~@E@O9E}UrDT ΉTA9|EMHAe[^_à R멍vUWVSj.[X8u -;E+u 1E;x|HEtEt-E@UEtE0U1;zeH[ ^_ËUщPVu UB49uUB<tGE;x|1} эqcUWVS [Ê7EPEP} Wu}ta0jPjWP)Pjj1M;yE}Du䐃EMjA4ƃ UVuuuGE;x|UM 1҉e[^_ËH~'UH~ڃ MR MVʼnEPjVW7xuuUBtu},vUWVS uF[\+v$?WPE0u {e[^_ÍvMjqhjRu EtURMqjuPu ~ HjEPWuu w,I Mq uA 0hujMjq _ZPu   u lZY>ju $1uu t6 u lY^1ju $륃 j[PWPu )2vuju uHvUWVS[B)}~Et#PPE0u Ze[^_ÉUjrEhjuu  E8 uP|EEE;}}[UUvUu4juPu 6 HtPEtVuu )u6;}| hujuu  1҅Et UH~  RE-(EvUWVS [ö'}!PuPE0u e[^_ÃjUrNjhjWu  Et8;}}hEEUu4juPu HaPVuu j)Ct G;}|11 jPVPu [ uP|Ƌ$VjWu  Et09uH VH VjUWVSE[%}v!PP7u e[^_ÍvjwhjPu  Et}EkEPuuu y&ttuu 1l jPu䍃Pu DURwjuPu E Hc UWVS[$}Tp$d$h$jPhPWjjP`PWjj? arg ?arg...?"-exitcmdtpool%s%p-initcmd-idletime-maxworkers-minworkers-detached-nowaitcan not find threadpool "tpoolId jobIdList ?listVartpoolId jobId ?result?job not completedno such jobtpoolIdtpool%ptpool::createtpool::namestpool::posttpool::waittpool::canceltpool::gettpool::preservetpool::release?-minworkers count? ?-maxworkers count? ?-initcmd script? ?-exitcmd script? ?-idletime seconds??-detached? ?-nowait? tpoolId scriptlpoplpushlappendlreplacelinsertllengthlindexlrangelsearchelement ?index?list doesn't have element first last ?element ...?first lastindex element ?element ...?-exact-glob-regexp?mode? patternsearch modeindex ?index...? valuebad index "list index out of range (looks like invalid octal number)": must be integer or end?-integer?keylsetkeylgetkeyldelkeylkeyskey value ?key value ...?" not found?key? ?var??lkey?wrong # args: keyedListbinary stringkeyed list key may not be a empty stringkeyed list key may not be an element list, found "listvar ?key? ?retvar | {}?" not found in keyed listlistvar key ?key ...?key not found: "listvar ?key?it is used as a separator in key pathskeyed list key may not contain a "."; keyed list entry must be a two keyed list entry not a valid list, listvar key value ?key value...?This interpreter does not support stubs-enabled extensions.Tcltcl::tommathmissing stub table pointerepoch number mismatchrequires a later revision): , actual version (requested version error loading :cmkckcW29?^md   @  Xo! N^n~.>N^n~.>N^n~GCC: (GNU) 3.3.3 [FreeBSD] 20031106GCC: (GNU) 3.3.3 [FreeBSD] 20031106GCC: (GNU) 3.3.3 [FreeBSD] 20031106GCC: (GNU) 3.3.3 [FreeBSD] 20031106GCC: (GNU) 3.3.3 [FreeBSD] 20031106GCC: (GNU) 3.3.3 [FreeBSD] 20031106GCC: (GNU) 3.3.3 [FreeBSD] 20031106GCC: (GNU) 3.3.3 [FreeBSD] 20031106GCC: (GNU) 3.3.3 [FreeBSD] 20031106GCC: (GNU) 3.3.3 [FreeBSD] 20031106.shstrtab.hash.dynsym.dynstr.rel.dyn.rel.plt.text.rodata.data.dynamic.got.bss.comment D !  X*  @.88392 A` ` G P UxxZxrc#tarpack-Thread-2.6.3/ttrace.tcl 777 0 0 70372 10345100445 11470 0# # ttrace.tcl -- # # Copyright (C) 2003 Zoran Vasiljevic, Archiware GmbH. All Rights Reserved. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # Rcsid: @(#)$Id: ttrace.tcl,v 1.8 2005/12/05 18:04:21 vasiljevic Exp $ # ---------------------------------------------------------------------------- # # User level commands: # # ttrace::eval top-level wrapper (ttrace-savvy eval) # ttrace::enable activates registered Tcl command traces # ttrace::disable terminates tracing of Tcl commands # ttrace::isenabled returns true if ttrace is enabled # ttrace::cleanup bring the interp to a pristine state # ttrace::update update interp to the latest trace epoch # ttrace::config setup some configuration options # ttrace::getscript returns a script for initializing interps # # Commands used for/from trace callbacks: # # ttrace::atenable register callback to be done at trace enable # ttrace::atdisable register callback to be done at trace disable # ttrace::addtrace register user-defined tracer callback # ttrace::addscript register user-defined script generator # ttrace::addresolver register user-defined command resolver # ttrace::addcleanup register user-defined cleanup procedures # ttrace::addentry adds one entry into the named trace store # ttrace::getentry returns the entry value from the named store # ttrace::delentry removes the entry from the named store # ttrace::getentries returns all entries from the named store # ttrace::preload register procedures to be preloaded always # # # Limitations: # # o. [namespace forget] is still not implemented # o. [namespace origin cmd] breaks if cmd is not already defined # # I left this deliberately. I didn't want to override the # [namespace] command in order to avoid potential slowdown. # namespace eval ttrace { # Setup some compatibility wrappers if {[info commands nsv_set] != ""} { variable tvers 0 variable mutex ns_mutex variable elock [$mutex create traceepochmutex] variable store nsv_ } elseif {![catch {package require Thread} version]} { variable tvers $version variable mutex thread::mutex variable elock [$mutex create] variable store tsv:: } else { error "requires AOLserver or Tcl threading extension" } package provide Ttrace 1.1 # Package variables variable resolvers "" ; # List of registered resolvers variable tracers "" ; # List of registered cmd tracers variable scripts "" ; # List of registered script makers variable enables "" ; # List of trace-enable callbacks variable disables "" ; # List of trace-disable callbacks variable preloads "" ; # List of procedure names to preload variable enabled 0 ; # True if trace is enabled variable epoch -1 ; # The initialization epoch variable cleancnt 0 ; # Counter of registered cleaners # Package private namespaces namespace eval resolve "" ; # Commands for resolving commands namespace eval trace "" ; # Commands registered for tracing namespace eval enable "" ; # Commands invoked at trace enable namespace eval disable "" ; # Commands invoked at trace disable namespace eval script "" ; # Commands for generating scripts # Exported commands namespace export unknown # Initially, allow creation of epochs set config(-doepochs) 1 # Initialize ttrace shared state if {[${store}array exists ttrace] == 0} { ${store}set ttrace lastepoch $epoch ${store}set ttrace epochlist "" } proc eval {cmd args} { set nmsp [::uplevel namespace current] enable set code [catch {namespace eval $nmsp ::uplevel [list $cmd $args]} result] disable if {[info commands ns_ictl] == ""} { if {$code == 0} { variable tvers if {$tvers >= "2.6"} { thread::broadcast {package require Ttrace; ttrace::update} } } } else { if {$code == 0} { ns_ictl save [getscript] } else { ns_markfordelete } } return -code $code \ -errorinfo $::errorInfo -errorcode $::errorCode $result } proc config {args} { variable config if {[llength $args] == 0} { array get config } elseif {[llength $args] == 1} { set opt [lindex $args 0] set config($opt) } else { set opt [lindex $args 0] set val [lindex $args 1] set config($opt) $val } } proc enable {} { variable config variable tracers variable enables variable enabled incr enabled 1 if {$enabled > 0} { return } if {$config(-doepochs) != 0} { variable epoch [_newepoch] } set nsp [namespace current] foreach enabler $enables { enable::_$enabler } foreach trace $tracers { if {[info commands $trace] != ""} { trace add execution $trace leave ${nsp}::trace::_$trace } } } proc disable {} { variable enabled variable tracers variable disables incr enabled -1 if {$enabled > 0} { return } set nsp [namespace current] foreach disabler $disables { disable::_$disabler } foreach trace $tracers { if {[info commands $trace] != ""} { trace remove execution $trace leave ${nsp}::trace::_$trace } } } proc isenabled {} { variable enabled expr {$enabled > 0} } proc update {{from -1}} { variable store if {$from == -1} { variable epoch [${store}set ttrace lastepoch] } else { if {[lsearch [${store}set ttrace epochlist] $from] == -1} { error "no such epoch: $from" } variable epoch $from } uplevel [getscript] } proc getscript {} { variable preloads variable epoch variable scripts append script [_serializensp] \n append script "::namespace eval [namespace current] {" \n append script "::namespace export unknown" \n append script "_useepoch $epoch" \n append script "}" \n foreach cmd $preloads { append script [_serializeproc $cmd] \n } foreach maker $scripts { append script [script::_$maker] } return $script } proc cleanup {args} { foreach cmd [info commands resolve::cleaner_*] { uplevel $cmd $args } } proc preload {cmd} { variable preloads if {[lsearch $preloads $cmd] == -1} { lappend preloads $cmd } } proc atenable {cmd arglist body} { variable enables if {[lsearch $enables $cmd] == -1} { lappend enables $cmd set cmd [namespace current]::enable::_$cmd proc $cmd $arglist $body return $cmd } } proc atdisable {cmd arglist body} { variable disables if {[lsearch $disables $cmd] == -1} { lappend disables $cmd set cmd [namespace current]::disable::_$cmd proc $cmd $arglist $body return $cmd } } proc addtrace {cmd arglist body} { variable tracers if {[lsearch $tracers $cmd] == -1} { lappend tracers $cmd set tracer [namespace current]::trace::_$cmd proc $tracer $arglist $body if {[isenabled]} { trace add execution $cmd leave $tracer } return $tracer } } proc addscript {cmd body} { variable scripts if {[lsearch $scripts $cmd] == -1} { lappend scripts $cmd set cmd [namespace current]::script::_$cmd proc $cmd args $body return $cmd } } proc addresolver {cmd arglist body} { variable resolvers if {[lsearch $resolvers $cmd] == -1} { lappend resolvers $cmd set cmd [namespace current]::resolve::$cmd proc $cmd $arglist $body return $cmd } } proc addcleanup {body} { variable cleancnt set cmd [namespace current]::resolve::cleaner_[incr cleancnt] proc $cmd args $body return $cmd } proc addentry {cmd var val} { variable store variable epoch ${store}set ${epoch}-$cmd $var $val } proc delentry {cmd var} { variable store variable epoch set ei $::errorInfo set ec $::errorCode catch {${store}unset ${epoch}-$cmd $var} set ::errorInfo $ei set ::errorCode $ec } proc getentry {cmd var} { variable store variable epoch set ei $::errorInfo set ec $::errorCode if {[catch {${store}set ${epoch}-$cmd $var} val]} { set ::errorInfo $ei set ::errorCode $ec set val "" } return $val } proc getentries {cmd {pattern *}} { variable store variable epoch ${store}array names ${epoch}-$cmd $pattern } proc unknown {args} { set cmd [lindex $args 0] if {[uplevel ttrace::_resolve [list $cmd]]} { set c [catch {uplevel $cmd [lrange $args 1 end]} r] } else { set c [catch {::eval ::tcl::unknown $args} r] } return -code $c -errorcode $::errorCode -errorinfo $::errorInfo $r } proc _resolve {cmd} { variable resolvers foreach resolver $resolvers { if {[uplevel [info comm resolve::$resolver] [list $cmd]]} { return 1 } } return 0 } proc _getthread {} { if {[info commands ns_thread] == ""} { thread::id } else { ns_thread getid } } proc _getthreads {} { if {[info commands ns_thread] == ""} { return [thread::names] } else { foreach entry [ns_info threads] { lappend threads [lindex $entry 2] } return $threads } } proc _newepoch {} { variable store variable elock variable mutex $mutex lock $elock set old [${store}set ttrace lastepoch] set new [${store}incr ttrace lastepoch] ${store}lappend ttrace $new [_getthread] if {$old >= 0} { _copyepoch $old $new _delepochs } ${store}lappend ttrace epochlist $new $mutex unlock $elock return $new } proc _copyepoch {old new} { variable store foreach var [${store}names $old-*] { set cmd [lindex [split $var -] 1] ${store}array reset $new-$cmd [${store}array get $var] } } proc _delepochs {} { variable store set tlist [_getthreads] set elist "" foreach epoch [${store}set ttrace epochlist] { if {[_dropepoch $epoch $tlist] == 0} { lappend elist $epoch } else { ${store}unset ttrace $epoch } } ${store}set ttrace epochlist $elist } proc _dropepoch {epoch threads} { variable store set self [_getthread] foreach tid [${store}set ttrace $epoch] { if {$tid != $self && [lsearch $threads $tid] >= 0} { lappend alive $tid } } if {[info exists alive]} { ${store}set ttrace $epoch $alive return 0 } else { foreach var [${store}names $epoch-*] { ${store}unset $var } return 1 } } proc _useepoch {epoch} { variable store if {$epoch >= 0} { set tid [_getthread] if {[lsearch [${store}set ttrace $epoch] $tid] == -1} { ${store}lappend ttrace $epoch $tid } } } proc _serializeproc {cmd} { set dargs [info args $cmd] set pbody [info body $cmd] set pargs "" foreach arg $dargs { if {![info default $cmd $arg def]} { lappend pargs $arg } else { lappend pargs [list $arg $def] } } append res "::namespace eval $nsp {" \n append res "::proc [namespace tail $cmd] [list $pargs] [list $pbody]" \n append res "}" \n } proc _serializensp {{nsp ""} {result _}} { upvar $result res if {$nsp == ""} { set nsp [namespace current] } append res "::namespace eval $nsp {" \n foreach var [info vars ${nsp}::*] { set vname [namespace tail $var] if {[array exists $var] == 0} { append res "::variable $vname {[set $var]}" \n } else { append res "::variable $vname" \n append res "::array set $vname [list [array get $var]]" \n } } foreach cmd [info procs ${nsp}::*] { append res [_serializeproc $cmd] \n } append res } \n foreach nn [namespace children $nsp] { _serializensp $nn res } return $res } } # # The code below is ment to be run once during the application start. # It provides implementation of tracing callbacks for some Tcl commands. # Users can supply their own tracer implementations on-the-fly. # # The code below will create traces for the following Tcl commands: # "namespace", "variable", "load", "proc" and "rename" # # Also, the Tcl object extension XOTcl 1.1.0 is handled and all XOTcl # related things, like classes and objects are traced (many thanks to # Gustaf Neumann from XOTcl for his kind help and support). # eval { # # Register the "load" trace. This will create # the following key/value pair in the "load" store: # # --- key ---- --- value --- # # # We normally need only the name_of_the_init_proc for # being able to load the package in other interpreters, # but we store the path to the image file as well. # ttrace::addtrace load {cmdline code args} { if {$code != 0} { return } set image [lindex $cmdline 1] set initp [lindex $cmdline 2] if {$initp == ""} { foreach pkg [info loaded] { if {[lindex $pkg 0] == $image} { set initp [lindex $pkg 1] } } } ttrace::addentry load $image $initp } ttrace::addscript load { append res "\n" foreach entry [ttrace::getentries load] { set initp [ttrace::getentry load $entry] append res "::load {} $initp" \n } return $res } # # Register the "namespace" trace. This will create # the following key/value entry in "namespace" store: # # --- key ---- --- value --- # ::fully::qualified::namespace 1 # # It will also fill the "proc" store for procedures # and commands imported in this namespace with following: # # --- key ---- --- value --- # ::fully::qualified::proc [list "" ""] # # The is the name of the namespace where the # command or procedure is imported from. # ttrace::addtrace namespace {cmdline code args} { if {$code != 0} { return } set nop [lindex $cmdline 1] set cns [uplevel namespace current] if {$cns == "::"} { set cns "" } switch -glob $nop { eva* { set nsp [lindex $cmdline 2] if {![string match "::*" $nsp]} { set nsp ${cns}::$nsp } ttrace::addentry namespace $nsp 1 } imp* { # - parse import arguments (skip opt "-force") set opts [lrange $cmdline 2 end] if {[string match "-fo*" [lindex $opts 0]]} { set opts [lrange $cmdline 3 end] } # - register all imported procs and commands foreach opt $opts { if {![string match "::*" [::namespace qual $opt]]} { set opt ${cns}::$opt } # - first import procs foreach entry [ttrace::getentries proc $opt] { set cmd ${cns}::[::namespace tail $entry] set nsp [::namespace qual $entry] set done($cmd) 1 set entry [list 0 $nsp "" ""] ttrace::addentry proc $cmd $entry } # - then import commands foreach entry [info commands $opt] { set cmd ${cns}::[::namespace tail $entry] set nsp [::namespace qual $entry] if {[info exists done($cmd)] == 0} { set entry [list 0 $nsp "" ""] ttrace::addentry proc $cmd $entry } } } } } } ttrace::addscript namespace { append res \n foreach entry [ttrace::getentries namespace] { append res "::namespace eval $entry {}" \n } return $res } # # Register the "variable" trace. This will create # the following key/value entry in the "variable" store: # # --- key ---- --- value --- # ::fully::qualified::variable 1 # # The variable value itself is ignored at the time # of trace/collection. Instead, we take the real # value at the time of script generation. # ttrace::addtrace variable {cmdline code args} { if {$code != 0} { return } set opts [lrange $cmdline 1 end] if {[llength $opts]} { set cns [uplevel namespace current] if {$cns == "::"} { set cns "" } foreach {var val} $opts { if {![string match "::*" $var]} { set var ${cns}::$var } ttrace::addentry variable $var 1 } } } ttrace::addscript variable { append res \n foreach entry [ttrace::getentries variable] { set cns [namespace qual $entry] set var [namespace tail $entry] append res "::namespace eval $cns {" \n append res "::variable $var" if {[array exists $entry]} { append res "\n::array set $var [list [array get $entry]]" \n } elseif {[info exists $entry]} { append res " [list [set $entry]]" \n } else { append res \n } append res } \n } return $res } # # Register the "rename" trace. It will create # the following key/value pair in "rename" store: # # --- key ---- --- value --- # ::fully::qualified::old ::fully::qualified::new # # The "new" value may be empty, for commands that # have been deleted. In such cases we also remove # any traced procedure definitions. # ttrace::addtrace rename {cmdline code args} { if {$code != 0} { return } set cns [uplevel namespace current] if {$cns == "::"} { set cns "" } set old [lindex $cmdline 1] if {![string match "::*" $old]} { set old ${cns}::$old } set new [lindex $cmdline 2] if {$new != ""} { if {![string match "::*" $new]} { set new ${cns}::$new } ttrace::addentry rename $old $new } else { ttrace::delentry proc $old } } ttrace::addscript rename { append res \n foreach old [ttrace::getentries rename] { set new [ttrace::getentry rename $old] append res "::rename $old {$new}" \n } return $res } # # Register the "proc" trace. This will create # the following key/value pair in the "proc" store: # # --- key ---- --- value --- # ::fully::qualified::proc [list ] # # The chages anytime one (re)defines a proc. # The is the namespace where the command was imported # from. If empty, the and will hold the # actual procedure definition. See the "namespace" tracer # implementation also. # ttrace::addtrace proc {cmdline code args} { if {$code != 0} { return } set cns [uplevel namespace current] if {$cns == "::"} { set cns "" } set cmd [lindex $cmdline 1] if {![string match "::*" $cmd]} { set cmd ${cns}::$cmd } set dargs [info args $cmd] set pbody [info body $cmd] set pargs "" foreach arg $dargs { if {![info default $cmd $arg def]} { lappend pargs $arg } else { lappend pargs [list $arg $def] } } set pdef [ttrace::getentry proc $cmd] if {$pdef == ""} { set epoch -1 ; # never traced before } else { set epoch [lindex $pdef 0] } ttrace::addentry proc $cmd [list [incr epoch] "" $pargs $pbody] } ttrace::addscript proc { return { if {[info command ::tcl::unknown] == ""} { rename ::unknown ::tcl::unknown namespace import -force ::ttrace::unknown } if {[info command ::tcl::info] == ""} { rename ::info ::tcl::info } proc ::info args { set cmd [lindex $args 0] set hit [lsearch -glob {commands procs args default body} $cmd*] if {$hit > 1} { if {[catch {uplevel ::tcl::info $args}]} { uplevel ttrace::_resolve [list [lindex $args 1]] } return [uplevel ::tcl::info $args] } if {$hit == -1} { return [uplevel ::tcl::info $args] } set cns [uplevel namespace current] if {$cns == "::"} { set cns "" } set pat [lindex $args 1] if {![string match "::*" $pat]} { set pat ${cns}::$pat } set fns [ttrace::getentries proc $pat] if {[string match $cmd* commands]} { set fns [concat $fns [ttrace::getentries xotcl $pat]] } foreach entry $fns { if {$cns != [namespace qual $entry]} { set lazy($entry) 1 } else { set lazy([namespace tail $entry]) 1 } } foreach entry [uplevel ::tcl::info $args] { set lazy($entry) 1 } array names lazy } } } # # Register procedure resolver. This will try to # resolve the command in the current namespace # first, and if not found, in global namespace. # It also handles commands imported from other # namespaces. # ttrace::addresolver resolveprocs {cmd {export 0}} { set cns [uplevel namespace current] set name [namespace tail $cmd] if {$cns == "::"} { set cns "" } if {![string match "::*" $cmd]} { set ncmd ${cns}::$cmd set gcmd ::$cmd } else { set ncmd $cmd set gcmd $cmd } set pdef [ttrace::getentry proc $ncmd] if {$pdef == ""} { set pdef [ttrace::getentry proc $gcmd] if {$pdef == ""} { return 0 } set cmd $gcmd } else { set cmd $ncmd } set epoch [lindex $pdef 0] set pnsp [lindex $pdef 1] if {$pnsp != ""} { set nsp [namespace qual $cmd] if {$nsp == ""} { set nsp :: } set cmd ${pnsp}::$name if {[resolveprocs $cmd 1] == 0 && [info commands $cmd] == ""} { return 0 } namespace eval $nsp "namespace import -force $cmd" } else { uplevel 0 [list ::proc $cmd [lindex $pdef 2] [lindex $pdef 3]] if {$export} { set nsp [namespace qual $cmd] if {$nsp == ""} { set nsp :: } namespace eval $nsp "namespace export $name" } } variable resolveproc set resolveproc($cmd) $epoch return 1 } # # For XOTcl, the entire item introspection/tracing # is delegated to XOTcl itself (it shines here!). # The xotcl store is filled with this: # # --- key ---- --- value --- # ::fully::qualified::item # # The is the script used to generate the entire # item (class, object). Note that we do not fill in this # during code tracing. It is done during the script # generation. In this step, only the placeholder is set. # # NOTE: we assume all XOTcl commands are imported in global namespace # ttrace::atenable XOTclEnabler {args} { if {[info commands ::xotcl::Class] == ""} { return } if {[info commands ::xotcl::_creator] == ""} { ::xotcl::Class create ::xotcl::_creator -instproc create {args} { set result [next] if {![string match ::xotcl::_* $result]} { ttrace::addentry xotcl $result "" } return $result } } ::xotcl::Class instmixin ::xotcl::_creator } ttrace::atdisable XOTclDisabler {args} { if { [info commands ::xotcl::Class] == "" || [info commands ::xotcl::_creator] == ""} { return } ::xotcl::Class instmixin "" ::xotcl::_creator destroy } set resolver [ttrace::addresolver resolveclasses {name} { set cns [uplevel namespace current] set name [namespace tail $classname] if {$cns == "::"} { set cns "" } set ncmd ${cns}::$name set gcmd ::$name set script [ttrace::getentry xotcl $ncmd] if {$script == ""} { set script [ttrace::getentry xotcl $gcmd] if {$script == ""} { return 0 } } uplevel [list namespace eval $cns $script] return 1 }] ttrace::addscript xotcl [subst -nocommands { if {![catch {Serializer new} ss]} { foreach entry [ttrace::getentries xotcl] { if {[ttrace::getentry xotcl \$entry] == ""} { ttrace::addentry xotcl \$entry [\$ss serialize \$entry] } } \$ss destroy return {::xotcl::Class proc __unknown name {$resolver \$name}} } }] # # Register callback to be called on cleanup. # This will trash lazily loaded procs which # have changed since. # ttrace::addcleanup { variable resolveproc foreach cmd [array names resolveproc] { set def [ttrace::getentry proc $cmd] if {$def != ""} { set new [lindex $def 0] set old $resolveproc($cmd) if {[info command $cmd] != "" && $new != $old} { catch {rename $cmd ""} } } } } } # EOF #tarpack-Thread-2.6.3/Windows-x86/ 777 0 0 0 10412757336 11457 5#tarpack-Thread-2.6.3/Windows-x86/thread263.dll 777 0 0 215773 10412756512 14013 0MZ@ !L!This program cannot be run in DOS mode. $PELJ+D# 8`pZ @P`.textt``.data@.rdatap@@.bss00.edata@@@.idataP@.reloc`@BUS0t?0'9rtЋ09st&$1҉0$X[]UVSu tGt$ED$E$*à 1uGu 0uF1ۉ؍e[^] $]0t+0o벍  1먍v'U0D$0D$E$ɃÍU0D$0D$E$}ÐU]S1D$\$ D$$au[Ð$1ɉD$2T$L$ t4T$D$D$2$uD$uG&'$ D$2$D$2[É$1HD$1D$ 4D$2L$&$11҉D$ CD$WD$2T$$1dD$1D$ @(D$2L$$11҉D$ D$vD$2T${$1D$1D$ @,D$2L$B$11҉D$ 4D$D$2T$ $1D$1D$ 2D$2L$$11҉D$ @BD$D$2T$$1D$1D$ D$2L$^$11҉D$ pFD$D$2T$%$1D$1D$ D$2L$$11҉D$ AD$D$2T$$1D$1D$ @D$2L$z$11҉D$ ?D$ D$2T$A$1D$1D$ p;D$2L$$11҉D$ D$*D$2T$$19D$1D$ D$2L$$F_$.j$V$HOD$2T$LW t&'WVS1$002 0tv'R Cuu 1[^_Í$2P 01ɉƉ R Au$002[^_ÍvD$$@L$ T$D$D$ $2Ív',D$4\$|$$Xl$(l$0t$ pD$C$2NjC;t $2P|$ D$1D$2t$,$t{t1ҋ\$Ћt$ |$$l$(,ÐCu+C uX|$2,$,$281뷉D$2UL$t$ ,$C$2P롉D$2T$ _t$,$C $2Pqv¡ 0&9t @ u1ÉSá 0tX$C 2C$ 0[Í\$ø(D$2t$|$$@0Pƅu[ǹ Ѕ^tV$002]$002$ MD$2\$t$|$$@0(D$2닐,|$$|$4\$\$F P0V tF$B$$002^D$$2T$V$2T$ 4$2$F;t $2P4$2P$(2P@@@ x2FD$pFP0F tp$F$5P0$002D$tql$4D$\$t$ |$$D$0Ml$(,F B ^umF u^D$D$$2F $2P^D$E $2,l$2$J11ɉL$FD$D$$2F$2PaLl$Hl$T\$<\$\t$@|$D~|$Xt=\$2#L$ T$,$(\$$&'D$C|$D$ $29|׋D$ t$$$2t$,$D$2D$ $2D$$2P$,1$0$4$8<Ðt&L$8I }r ~ 9׉D$D1҉D$D$@T$D$TD$2$D$DL$8I [2\$P$\$T$L$T$u \$$T$21$22\$P$$\A$2X\$T$L$$T;u\$$T<$놋|$8g $002$T9|$8g c&S\$\$C $uC D$2h[C C D$2h[(2\$ t$t$ |$l$1L$$@0^ xF$2x$2t_$002st&,$般@$2PCl$C$z$2$002\$ t$|$l$Ð=tF$2F<$D$2PF1$D$2-v'S\$=.t=0Kt([ËCu`C uJ[ÍvS uԋC$2C$D$2뻉$[묉$L떍v'WV(S2\$ t$$@0ǡ2ۉt;t $2P$0021Z\$2$LP0t!v'9{s 9{tVu`0t* 9{ s9{u塐200L$ [^_$S-@$2PSL$$ C2CC C$VvC$t"p S tC$B$$2P*5P0$S裩@$2PST$$薩C2C$&Ct"pStCB$2P5`0ِD$,\$ \$ t$t$$|$|$(l$D$$$2PT$ō@EUu} Etsv:f@:\$E$EE2$H11u6-1EH1\$ t$D$ 2|$l$E-1̍'2\$\$ t$t$$|$$ Pljp2$H1(1u8=(12H1G\$T$ t$|$፶G2H1T$ \$=(1t$|$2\$t$t$ |$$0P $H1á281u7812H1C,\$L$ t$|$ᐍt&C,2H1L$ t$81|$\$,\$ӋT$0|$$1t$ ҉l$(KqtJt$t&'\$t$ |$$l$(,ÅtNA<@ ШukkD$D$C$2l$T$D$T$ F$V@t8\$1t$ |$$l$(,Ít&BtjCh듋F$V(\$$2<$D$2& T$\$\$t$D$$ƋC@$'\$t$ ÐVSËPt HC ~KtFCpt.@<@ ШtmAD$F$V@t:K $2CCC BxCCZx1҃[^É$2oA둉$2LUWV1S,ZD$ l$@:t&CʍƄuBD$)ЉT$T$ 0)ȉ))ȍ44$ +t*|$D$$D$F$V8NjD$$u'G ,[^_]É|$F$V4tS@ ,[^_]$L2PpÉx @1D$C$2_ ,[^_]É4$%t1냉|$1pD$D$ l$ $2t$ 1NS($2\$\$L@ u$2 u(1[Ã([Ð$1D$ E\$|$$։$T$D$$U@t'@ ‹\$|Ћ$$$ČË}t1t$11ɉD$(D$,D$ D$(D$GL$,$W 1|$ 1҅uT$ t$L$D$$D$ $UDNjED$@xt3L$QxBj AxD$ zB BtW )$ 21Pø D$1D$$غcX'pJƍ@ yL$EqxD$nD$,D$D$($2D$ D$($W$2D$ <|$4|$Lt$0t$Hl$8l$P\$,|$DAt$D$@|$ \$$2(\$,t$0|$4l$8<ËF$2XD$(F$2XET$TD$$D$@$T$(Å۸tF$2XT$T$‰^t@1\$,t$0|$4l$8<ÉX@$'$D$S,tcE1‹C$]"D$$1ɉT$T$(D$D$ D$D$@L$T$$2 $"1T$@D$D$2$'VSt$ 2N ɉA; 0; 0; 0; 0; 0(1 ;@uFu0F P t4$P v'FuC[^;0tF@$2PV҉C~FT$ $D$ԞVSCV[^ÉK FVCS$2Fuzv\$4$Q׉\$4$Pː&UWVSD$0l$4|$[ut$1D$D$ D$2,$ [^_]É|$<$11҉D$ D$D$2T$u< [^_$121$12돉<$1D$1D$ D$2t$t<$1ɉD$2T$1ۉ\$L$ V<$1D$1D$ 0D$D$21҅$21P111DD$$1D$v$1FD$2?~ 12\$ \$ t$|$l$;t}2_$t 9w $2G$2$2w 2$\$ t$|$l$$12+t$12;R$2Pljȉ$21늍& P mt rt1 Ã$ Ã$ Ít&' D$\$t$1u \$t$ á2s4$u4$2\$1t$ C 24$C$2\$t$ Í' P mt rt1 Ã$> Ã$o Ít&'\$|$$1$$$t$ $$G$2X$1|$(z)$$D$2PLøD$2\$,$ƋH$L$(S$1w\$|$$$ČÐt&G$2X8-2G$2XxlG$2XƸC1t$($D$,D$B$2D$$D$,T$$$D$ GD$ x w)D$ 1D$D$2,$ &\$|$$$ČËD$ $$2P|@$$2X1ɺ,L$T$ D$QD$,$2 et&E\$0$D$kD$?q|$2\$,$$21D$|$$1۹\$L$ |$T$_t$1\$ Él$Չ|$t9x2<$1u(<$2\$ t$|$l$Ít&9k ͐t&\1\$L\$ht$Pt$ll$Xl$d|$TD$<D$DD$1D$D$ PD$F,$D$2uDD$Dt}\$ t$2\$,$(v'\$LЋt$P|$Tl$X\øD$ t$2t$,$(뿃|$ ʍD$@D$F$2|$DD$,D$@T$,$QD$Ds1ҋ\$LЋt$P|$Tl$X\$2P‰@@@ @c`ÍD$@D$2$|$D$,D$@T$,$[\$2,$1]GIG$23D$@T$,$$ǡ2T$,G$T$W4X <$211҅@ 1D$D$ D$,D$ D$2,$ CT$@T$F $2ƋD$@$x m 1D$,D$2,$ OS Cg$2P4$2<$2L|$ 1D$mxlD$u8wtc$2$Vu*G\$t$ |$$l$(,@$2P\$$VG͉$D$D$2$ŸD$D$2D$t#,$[V@$2PGl$$PVL$$D$$(V@$2PT$GT$$Vt& 2T$$1 ÍvSPptsBApZukBAtJtBAB҉Bt?$2P1PL$D$$2$2[ËBC듍vU1WVSL\$`l$(2s$$22D$$$20C{V 4F1҉T$ FF,n(D$$2$22,$2^HF ^D$( Vh1t4B,FhJ,yB(A(J(tB,A,B,B(uwD$8$2l$D$ D$D$$2D$0$2VaD$0L$8)9O^D$(D$( FN uhT,$2W|$G $D$$G$2P,$2!<$2P^VNS,$2D$$$2$2L1[^_]D$@1D$@l$DD$ B(FlD$$$kC\$D$$$/KCD$$$2$aRs$D$$1ۉ\$F9F1D$(D$,D$GD$F0$V`^ۉx D$$$2$Q@$2P|$$QCF,$2$2t&T$T$T$$tQ1Hu1tT$9t@xu‰ЃÍ'D$,|$(t$t$$\$t6D$D$2T$ 4$(\$t$Ð@$2X$2á24tG[$2á2$24$D$2\$1t$$22\$1D$D$ 2L$4$ 6&D$,|$(t$t$$\$t6D$D$2T$ 4$(\$t$Ð@$2X$2á2$tGX$CX$2$2$24$D$2\$1t$$22\$1D$D$ 2L$4$ 6&S$22q$2á2[Í,t$ t$8l$(1F\$\$<|$$|$4v?\$D$ D$2<$(\$Ћt$ |$$l$(,ÍD$D$C<$D$2uăgC$2Xp(24$D$D$C0$S\X Su04$21l$t$<$2 0$24$2ډs$2PtR<$21\$1ɉL$l$D$ 2<$4$21<$D$24$21\$L$;t$1D$2l$ t$<$ OC $2Xv'U1WVS\$L‹t$P|$TЋl$X\ÍB҉D$,D$@1L$L$lBD$t$\$ ,$D$2_tL$,T$lD$D$<,$D$2 D\$(D$0D$D$<$2L$4;L$0s|$$9멍t&D$<$2XT$$$2T$uUWVS|$0$D$D$2|$D$u#T$4G <$T$PD$4[^_]1ۉ$2PƋD$9}Hl$&'\$2l$ |$$D$$薙D$C9|ʉD$T$42t$$4$2P[^_]Í'UWVS,D$ D$(D$2T$$8et<$D$$D$D$D$2u^D$$T$D1҃,[^_]Ë\$(~N9u T$@D$DÀ}-'L$ $D$ R`$2lT$ 2$t$1҉T$$2|$ l$PDt&PHt$FP:t߉ $\$8u+- ШtF0u|Pt&PHF:tމ $T$7PӀ>u0D$ t(1D$D$D$ $2 &,[^_]ÐPHtPF:t߉ $D$>7ڍD$$D$ED$D$ $2 T$$T$@.UWVSK ШF9|D$$|$D$D$D$~,[^_]É|$1T$DD$D$ D$2$ 뒉T$T$DD$ D$L$D$2(D$$T$Dt$D$$%~낍v<11҉D$ D$@t$0t$H|$4|$Ll$8l$DD$$1D$D$(D$D$$\$,T$D$ |$t$,$7Å۸D$()ƃD$ D$ D$D$D$$@,$D$ËD$ƒ1 uh,$D$ D$21҉T$,$D$$D$,}\$,t$0|$4l$8<É|$D$ D$2,$(t&D$멐t&,$1D$D$|$ D$2L$ ID$2XD$<1D$1D$ D$@t$0t$H|$4|$Ll$8l$DD$$D$D$(D$D$$\$,D$ |$t$,$褀\$()؃D9{e$2XÍD$ D$ D$$\$@,$D$S D$ $L$Å,$2l,$2T$$2D$D$D$$2D$&'1ۉ\$,$D$$D$*{‹\$,Ћt$0|$4l$8<ÉL$,$2l,$21҉T$$2뒉|$D$ 2\$,$(L$kt&DD$,$D$$1t$D$}zH|$ D$@\$l$$8)\$ D$1|$1t$D$2,$D$2,$\$21|$t$ \$,$ -WVS|$ 2t$$<$8~*D$2T$$PHu݃[^_$21ɉL$<$ÉD$2v,t$ Ɖ$2\$Ӊ|$$l$(l$0$ǍD$D$24$á2l\$1D$ <$D$2PD}u\$t$ |$$l$(,Él$21t$ \$<$PD\$t$ |$$l$(,É'\$Ӊt$Ɖ|$|$$$1;D$ t[4$2l4$21t$ \$L$$2PD\$t$|$Í&;t*'u:.tQB:u\$1t$|$É4$2l4$2|$1҉T$ t$o4$21l4$2\$ 4\L$T$6' 2$ P@@ ÍV1SË@~tK'$2PKTH~F9s܅u"$2PX[^É$2Kԉ $2P$2PX[^ËK뻍&щ\$Ét$s)9}$t Su)$2P3C\$t$Ít&$D$2P3CӍv\$ t$։|$ljl$@Љ$2P_TH~Fou9~ _'DT ˉTA9E\$ t$Gl$|$É$2몉UWVSD$.T$D$$D$NjD$)NjT$1ۋj~7rt&'|$D$D$މ$u ހ<tC9׋D$4tD$tFD$T$4@D$0t D$0T$8j9ݸ~؃[^_]ËD$$eT$4빐t&D$@t&UWVS 1ۋD$ p2$ PVŋUE$2PENjF~LV&ډ$@$2PVډ$T$ߋV}DDC9^D$$h@  [^_]Ð&UWV1S D$ x2$ PWŋUE$2PW҉ÉE~^v'G$b@$2PW$T$TG]D$yD]DF9wD$$h@  [^_]ÍUWVS,D$(D$ D$$T$@D$D$D$D$2t ,[^_]T$$1J;|$$V'D$(F\$,ЍD$ D$ D$@T$T$$2|$AD$D$D$ $21ډD$D$$D$@H$G@$2P\$$ED$ @$2P|EF@F;|$$/T$DB t HD$D1҉p@ ,[^_]ËT$@12$l$1D$2ËD$@$2l$|$\$ L$$2T$PD.N$P`$11D$2T$@á2$l$|$\$ L$늍&'UWVS$|$ pF 1ۃ~Xl$F؉$rD$F؉$2D$FDE2l$$C9^|$F$2ƍD$D$24$ËD$@$2P\$T$BT$$ $BD$BH~6D$ 9t <$2PĬ[^_]$2PNjF4$2뺉'S2:CC [É',\$ \$4|$(|$0D$2t$$t$<\$<$PPt\$ Ћt$$|$(,É[D$$T$8D$sxDD$uCD1҉\$ Ћt$$|$(,Ét$ D$CD<$D$Mu',D$D$4t$ t$0D$2l$(l$8\$|$$4$PPt\$Ћt$ |$$l$(,ËT$4D$zD$D$$ËD$G؉$2PwTHpD$@$2PދD$l$D$G؉$#G؋D$GT$;|$8}kvT$? arg ?arg...?"wrong # args: should be " ("eval" body line %d)wrong mutex type, must be exclusive or recursive"no such mutex "createdestroynotifywaitoptioncondHandle ?args?option ?args?no such condition variable "mutex not locked or wrong typecondHandle mutexHandle ?timeout?condition variable is in userlockwlockunlockmutexHandlewrong mutex type, must be readwritemutex is not lockedwrite-locking the same read-write mutex twice from the same threadmutex is in useread-locking already write-locked mutex from the same threadlock?-recursive?-recursivewrong mutex type, must be either exclusive or recursivecan't create a new thread?-minworkers count? ?-maxworkers count? ?-initcmd script? ?-exitcmd script? ?-idletime seconds?-exitcmdtpool%s%p-minworkers-maxworkers-idletime-initcmderrorCodeerrorInfotpool%ptpoolIdcan not find threadpool ""tpoolId jobId ?result?job not completedno such jobtpoolId jobIdList ?listVar-nowait-detached?-detached? ?-nowait? tpoolId scripttpool::createtpool::namestpool::posttpool::waittpool::canceltpool::gettpool::preservetpool::releaselpoplpushlappendlreplacelinsertllengthlindexlrangelsearchlsetlistvalue ?value ...?-exact-glob-regexp?mode? patternsearch modeendbad index "": must be integer or end?-integer? (looks like invalid octal number)index ?index...? valuelist index out of rangefirst lastindexindex element ?element ...?list doesn't have element first last ?element ...?element ?index??index?keylsetkeylgetkeyldelkeylkeyskey value ?key value ...?" not foundkey "key ?key ...??lkey??key? ?var?keyedListwrong # args: binary stringkeyed list key may not be a empty stringkeyed list key may not be an it is used as a separator in key pathskeyed list key may not contain a "."; "found "keyed list entry not a valid list, element list, found "keyed list entry must be a two listvar ?key?key not found: "listvar ?key? ?retvar | {}?key "" not found in keyed listlistvar key value ?key value...?listvar key ?key ...?liststringkeylgetkeylsetkeyldelkeylkeysThis interpreter does not support stubs-enabled extensions.Tcltcl::tommathmissing stub table pointerepoch number mismatch): , actual version (requested version error loading requires a later revision-LIBGCCW32-EH-2-SJLJ-GTHR-MINGW32w32_sharedptr->size == sizeof(W32_EH_SHARED)%s:%u: failed assertion `%s' ../../gcc/gcc/config/i386/w32-shared-ptr.cGetAtomNameA (atom, s, sizeof(s)) != 0p+DP@(@8@H@P`^@f@r@@thread263.dllSp_InitThread_InitThread_SafeInitTpool_Init@PlRPTPRP,Q8QDQTQdQtQQQQQQQQQQQQQR RR$R0R>+>0>@>E>c>h>|>>>>>> ?%?3?G?a?w???? <0080L0b0t000000011"1=1F1x1111$2W22222233B3K3d3m33333 4!4U4Z44444!5N5f5w555556$6/6S6g6l66666666707G7S7X777777!828n8s888899J99999 :%:7:L:::::;;3;H;W;a;l;;;;;;<<6> >H>q>>>>> ?$?+?>?E?_?h?{????????0c0h000 11)191O1V1z111111112/2=2w22=3{3333384T4v4444;5T5m55555555"6866667-72777S77777888889!919J9`9999999993:U:a:u::::::;6;?;H;;;;<,,>F>X>e>j>y>>>>>>>>?P??????@0001)1D1W122f2x2222223{334 44444 5&5V5q5555555#6M6]6667777>8C8~88888889A9999 :5:E:d:::; ;9;Z;y;;;;;;;;;&<7>(>0>D>>>>>>> ??f????????P0>0E0P0Z0_0d00000001 111D1I1]11d2v293x333j444444 5g66697N7x77788K8T8l888888999)9x999=:I:u:~::::;;;;;;X<< =u====>>+>>^?n???`0I0h00001e1w111112%292P2d2z2223L333333 4'4c4455"5g555556O6a66667W7777777D8[8n8888 9*9D9V99999::::*;:;L;;;<<&>>>>???p4 0)01Z1h1|111112*2=22E33333334C4T4]444445/5J5w55555555555555555"646G6L6W6b6g6y6~6666666666 77/7;7H7\7m77777777788"838S8c8t8~8888889=9P99999::,:2:::?:N:j::::;a;;;K>}>>>>>>>?$?K?{??????? 080W0o0x0000000000 111R1[1d11111112+2N2_2m2{2222222t3333z44445G5a5|5556'6~6666667 767F7O777-868I8n8{88889y999:::p:::::1;:;k;v;;;;;;<<<<h>>>>?T?_?m???00<00000-1X1{11112 2N2r222223 333\3p33334444Z4444k5v55555 66i6|66666 77x77777 8,8G8X8|8888899V9_9w9|99999W:x::;&;;;;;#<(<36>o>}>>>>>??!?=?G?l????????00*0F0M0Y0u0~0000001D1]1111111-2Y2d22222"3,393K33333:4X4j4444515C5U55P6i6666677G7T7[7x777777777$8-8W8d8k8888888888992999~9999 :A:H:^:q:::::::;;&;/;4;U;;;<'W>j>>>>$?1?s?? 0(0I0[0000000*1@1Y1111282X2}2223?3M3{33334,4K4a4~4444445,5D5K5]5f5o5555555 666:6?6H6w6666666667#7,7L7^7c7n7y7777777777788&8-8G8T8h8y888888888 99.959O9T9_9u9:H::::';d;r;;>[>m>>>???T????1060>0M0j000001/1?1a1t1123m33334=4K4]4u444`556*6@6R666677=889H99999:;F;; <8Y>b>>l???0B0a00001111#141E1U1b1v1111111S2c223444,4D4D5}5555556667,777777X8o8888889!9=9g9w99999):.:<:M:]::::::: ;;4;;;;;;"@>|>>>>>?w??0Q0r0000001 1 1S1X1i1{1112.2C2[2222223-333u444[5m5567666H7n77778S8o8*9B9z999-:U:^:::1;I;;<:>c>>%?U????F0f000001 11"1/14191M1X1a1j1z111111111 2/2U2p2}222222233333<3I3R3[3d333333344.494R4g4r4444455!5/5^5v5555555555:6F6K6W6f6o6w666666666677!7B7U7]7e7777788"828B8R8b8r88888888899"929B9d9L00000 0$0(0,000P0T0X0\0d0h0l0p0t0|000000000000000+8L[g v $$3BP^lzl __libmsvcrt_a_iname__imp__FindAtomA@4__imp__abort__imp____mb_cur_max__imp___pctype__imp___iob__imp__strncmp__imp___isctype__imp___errno__head_libmsvcrt_a__imp__sprintf__imp__strchr__imp__GetAtomNameA@12__imp____dllonexit__imp__memcpy__imp__strcmp__imp__atoi__imp__malloc__imp__strncpy__imp__fprintf__imp__memset__imp__strlen__imp__fflush__imp__strcpy__imp__free__imp__AddAtomA@4__head_libkernel32_a__imp__sscanf__libkernel32_a_iname__imp__strcat