ELF>9@@8 @**000))```K[[8wp{PKP[P[ $$Std PtdzzzQtdRtdK[[GNUGNUl˫LCoPZ>CP 0  JH(d m `,Pa 1Cf4 !,PRTVXZ\^abcdfhijmopqstuxyz|~2 FHB_bޘ0\ꦸ_2ΘOscF a,r C3R*=;?sj5kN7R›W㷶xNЊ sF,Ĭ~T͑}ݬq ﱮ\\0?l)2`MBs2BaEhi`w~NΧ vAC,{ 7-5sN&4A9B޴ĎHHbhIU; 便&7Vct _`-RDP-VgCa'GK/XiH٦, 1 4kyf< 5N  Ifznc<<fNL >u|VE m Vp =@ , ( F"&D)  ={@=pN=@<SDpcmG 0KB=@GVo8BY I?_h@L~}}p2lTS_0g Ц'=p +B)vbN b`6J  0=,@>w `=8`'f Hzt=0T =MPTUP:.( ?AM3(@pBJNSY0`6 p=8 x PIgL*_Yw t P=IQM/ = 8PN& %&1S*e<K U EA0N3]b$RQ__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizedyn_CreateServercalloc__strcpy_chkstrlen__strncpy_chkvrf_verifyCATFilestrncasecmp__sprintf_chkmuse_accessvpf_open_tablevrf_initRegionWithDefaultvrf_initTilingecs_SetErrorecs_SetSuccess__stack_chk_faildyn_SelectLayerecs_GetLayerecs_SetLayermallocvrf_parsePathstrcasecmpvrf_getFileNameFromFcsvpf_close_table_closeLayerTableecs_FreeLayertable_posquery_table2dyn_ReleaseLayerset_nukevrf_releaseAllLayersdyn_DestroyServervrf_freePathRegexvrf_free_ObjAttributeBufferdyn_SelectRegionvrf_IsOutsideRegiondyn_GetDictionaryecs_SetTextdyn_GetAttributesFormatecs_SetObjAttributeFormatecs_AddAttributeFormatdyn_GetNextObjectlayerMethoddyn_GetObjectdyn_GetObjectIdFromCoorddyn_UpdateDictionaryecs_AddTextget_rowget_table_elementjustifyfree_rowvrf_AllFClassvrf_build_capabilitiesvrf_GetMetadatavrf_feature_class_dictionarydyn_GetServerProjectiondyn_GetGlobalBoundecs_SetGeoRegiondyn_SetServerLanguagedyn_SetCompression_getNextObjectArea_getObjectArea_getObjectIdArea_selectTileArea_getNextObjectLine_getObjectLine_getObjectIdLine_selectTileLine_getNextObjectPoint_getObjectPoint_getObjectIdPoint_selectTilePoint_getNextObjectText_getObjectText_getObjectIdText_selectTileText__vsprintf_chkstrcpystrncmpis_joinstrcmpvrf_parsePathValuestrncpystrchrmemcpy__stpcpy_chkstderr__fprintf_chkread_next_rowrightjustecs_SetErrorShouldStopmemsetnamed_table_element__memcpy_chkread_rowvrf_get_line_mbr_selectTileLineWithRetvrf_get_lines_mbrvrf_next_face_edgevrf_get_ring_coordsNOPROJread_edgenext_edge_coordinatereallocvrf_get_area_mbrvrf_get_xyvrf_get_ObjAttributesstpcpyvrf_checkLayerTablesvrf_get_line_featureecs_SetGeomLinevrf_get_merged_line_featureecs_CleanUpvrf_get_text_featureecs_SetGeomTextvrf_get_point_featureecs_SetGeomPointvrf_get_area_featureread_faceread_ringread_next_ringfeofecs_SetGeomAreaecs_SetGeomAreaRing_getTileAndPrimId_getPrimListset_memberecs_ShouldStopOnErrorstrdupecs_SetObjectIdecs_SetObjectAttrstrtolecs_DistanceObjectWithTolerance_openAreaLayer_closeAreaLayer_rewindAreaLayer_openLineLayer_closeLineLayer_rewindLineLayer_openPointLayer_closePointLayer_rewindPointLayer_openTextLayer_closeTextLayer_rewindTextLayerswq_expr_freeswq_error__strncat_chkstrtodswq_expr_compileswq_expr_evaluateswq_expr_dumpvrf_swq_evaluatorset_initset_onset_insertindex_posfseeklibogdi.so.4.1libvpf.so.4.1libc.so.6GLIBC_2.14GLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5  ti  ii  ui  [@:[: [ m([%m0[*m8[/m@[4mH[9m``P    %)+ @p2H`6P8X._a_ __$__D_J_Mh]p]x]]]]]]] ] ] ] ]]]]]]]^^^^ ^(^0^8^@^H^P^X^ `^!h^"p^#x^%^&^'^(^)^*^+^,^-^.^/^0^1^2^3^4^5_6_7_8_9 _:(_;0_<8_=@_>H_?P_@X_A`_Bh_Cp_Ex_F_G_H_I_K_L_N_OHH/HtH52-%3-hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQ% +D%}(D%u(D%m(D%e(D%](D%U(D%M(D%E(D%=(D%5(D%-(D%%(D%(D%(D% (D%(D%'D%'D%'D%'D%'D%'D%'D%'D%'D%'D%'D%'D%'D%'D%'D%'D%}'D%u'D%m'D%e'D%]'D%U'D%M'D%E'D%='D%5'D%-'D%%'D%'D%'D% 'D%'D%&D%&D%&D%&D%&D%&D%&D%&D%&D%&D%&D%&D%&D%&D%&D%&D%}&D%u&D%m&D%e&D%]&D%U&D%M&D%E&D%=&D%5&D1fH=HH9tH&Ht H=H5zH)HH?HHHtH%HtfD=Uu+UH=%Ht H=%d-]wAWAVAUATIUSHdH%(H$1I$HI$HD$HvI$ǃHǃxǃpǃ>~:L^LLPLcB;/hHcH+f.HHcꀸ/UuLcLLHG B;HH+YL!BM$E1ǃL=%L5hK<.LID9޾1IغH$H $Hx11H1E1H|$H $HoD$oL$ oT$0o\$@od$Pol$`ot$pH$o$o$o$o$o$o$HHX(8HL6 tLfH$dH3%(HD$H[]A\A]A^A_fHLof.ǃSH|$H"IH #H1IDHH|$ID$:f.H|$H"DHc.H!H_f.AWIAVAUATUHSH(L7dH%(H$1Hc؃tbHcEHu]HLDLCH$dH3%(H(L[]A\A]A^A_EDLHLD$tHULc`ILHT$,HT$HHBHeHǀLHHHǀHǀHǀHǀHǀHǀHǀHǀHǀAp"JLH5!L@ǃHH"L$H1ILLMH B7-1L1^_HD$0E1LHD$HH S 1QoD$0oL$@KoT$PH{S o\$`[0od$pc@o$kPo$s`o${po$o$o$o$o$H$H?HHHMLPL1H 61L1yZYH|$E1LH ##ot$0o|$@ot$PHo|$`ot$po$(o$8o$Ho$Xo$ho$xo$o$H$HHpLH1sxspshs`sXsPsHs@s8s0s(s sss3HfHcHHHHEHfHHHHu'H5|LaH5mLTEDHLH@H4H(HHHHHHEJ|(t$HzDHH=1xph`XPH@80( $HHH|$Hsxspshs`sXsPsHs@s8s0s(s sss3 Lmo$H$H$HA}EAEǃ}HAmǃHcH<@HHH~$MHPH IHDDH H9uLi@HHHHH|HpHdHXHLHEJ|(>t$HbHSLfk AmǃH1HHǃHtC ǃAEǃuHL{RHLfAVAUATIUHM$HdH%(H$1X_HcIt$AIcD$HHl HtH1H1H1H1HHtHHt}HHtlH`HTHHHfD~E1AAfH6E1DDLDD$ HŘ]A9\$DD$ LHL[]A\A]A^A_E1AAA AA @E1A Al@E1AKf.AAA 9fE1A"fHcwSH1HHwVHHH[ÐHHcwSH1HHwNHH QH[ff.fHHcwSH1HHwNHH qQH[ff.fAWAVAUIATLUHSH(HdH%(HD$1MtA}uTH5LuH LLHD$dH3%(H(L[]A\A]A^A_H=;L"H=/LH=*L&H5LSHD$AHD$fHD1xAph`XPH@80( H1xHƿph`XPH@80( L$H$L1HH1^HL1Iƿ1xph`XPH@80( L$LIHH1HxI1ph`XPH@80( L$LmHH5LLL H59LLLH5LLHH5KLLLD9\LH-wz ,eǃ$@LH7:CATLH5 LtLLA\fDATLGXgx_pWhO`L LLA\ff.ATLLLA\DATLLLA\DAUIATIUHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1eLIຐHH$$HD$HHD$ D$0HD$HLA6HHD$dH3%(uHD]A\A]fAWIH AVAUATUSHH|$ H$Ht$(dH%(H$1HHHHD$1I11HuB1H1D$tVH$dH3%( HĨ[]A\A]A^A_DLL$(IغHH 1%H|$@E1HH d dot$@o|$Pod$`ol$p)$0$<o$)$@o$o${H$o$)$Po$)$`Hco$o$)$pHo$)$o$H$)$)$)$)$)$)$)$Iƅ=H$,E1HD$DLpHH1$$$$$$$$$$$$$$$$$$$$$$$$$$$HD;$<8HA1$D$$$$$$$$$$$$$$$$$$$$$$$$$$H1ҿ$HH1$$$$$$$$$$$$$$$$$$$$$$$$$$H$HHH1]H1H$IHٿ$1$$$$$$$$$$$$$$$$$$$$$$$$$5HLILLH5}LL1D$7D$tAD`If.I|L#HI9u;D$AE<.f.tATILIH.ut$.yALL¹LLT$8L$L$LL\$0uHc\$HD$ H5ƄHHL\$0L1LL$(H ML\$LHeH5HVLT$8L1H MLH(L\$L1LL$(H MLHHD$ LH @pXXPhH`>LHHD$ LH G@phxXXPhH`LHdH5HUHcD$M,ƍ@D$LHH1H$1$$$$$$$$$$$$$$$$$$$$$$$$$$H$HI1H$0yD$t"LIlfDH;H$H9uH$dH3%(HĨL[]A\A]A^A_.ya.nyLL.Tyl.AypL.'yTLry. ytfLE16H$01v",ff.AWAVIAUATIUSHHH|$HHL$LD$dH%(H$81HÉ1fAxH(A9E1IHIcLHHA/A9H)H{HHD$HHLDHHIt.H)HD$ LHL$(LLD$ HL$(L@L HHBIHM)I~OLLI$HHB0HPHHT$ HT$ HHHD$HHHI$8t@9t;LH$8dH3 %(HH[]A\A]A^A_DH\$Ld$01LH LHLL HD$H81v@HcDLH|$H Hk1>@Ld$0M1LH  H|$HgLH|$HH1[ff.IHHLI1 ff.ff.AWH IAVAUATUHSHLdH%(H$1HL$LHHD$(IH1$11Lt9ML1IؾH 11LsS1H|$@E1H LoD$@HD$@oL$PoT$`o\$po$AH$Ao$o$o$Ao$A o$o$A0o$o$IA@APA`ApAAAAHGHAH=1AAAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAAHAH=A1AAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAAH=>$H1AAAAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAAH=p$H1AAAAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAAH=$H1AAAAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAAAA$HLt$0L$,Hl$݉fHA1AAAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAA6H1҉AHLIA1AAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAAHH1MHHD$LFH|$)HL1AAAAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAAvHA;BI1Hl$OHHE1Ld$MH$0Lt$0\$LHLd$(H|$ IdHHH3H)HHdgH1UMMH L1L1aZYHHH9uHAL1A1AAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAAH$$HHH1HL1AHAI1AAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAA$HH1HL1AHAIAILJAILJAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAA1HH1IH|$ ANHA1AAAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAAH$HI1H$dH3%( HĸD[]A\A]A^A_DHAL1AA1AAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAAH$$HHH1HL1AHAI1AAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAAAAA$HH1IHI$ADHAH=o1AAAAAAAAAAAAAxApAhA`AXAPAHA@A8A0A(A AAQ>HHAH1AH1AAAAAAAAAAAAxApAhA`AXAPAHA@A8A0A(A AA=HH1=LLH5nIH1[L-LHAH=O1AAAAAAAAAAAAAAAAAAxApAhA`AXAPAHA@A8HHAH=N1AAAAAAAAAAAAAAAAAAxApAhA`AXAPAHA@A8H1HHA1AAAAAAAAAAAAAAAAAAxApAhA`AXAPAHA@A8?HH1~LLH5XMIH1D41A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`cH1HHA01A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HH1LLH52IH1#LKHA0H=21A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HHA0H=11A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`H1HHA01A(A AAAAAAAAAAAAAAAAAAAAAxApAhA` HH1HLLH50IH1!LHA0H=/1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HHA0H= /1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HHHL$H1A0LA(A AAAAAAAAAAAAAAAAAAAAAxApAhA`GLLLHH5e-1YHA0H=b-1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`*HHA0H=,1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`LH1HHA01A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HH1LLH5*IH1L4HA0H=*1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`uHHA0H=)1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`H1HHA01A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HH11LLH5Q(IH1LHA0H=@(1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HHA0H=b'1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HHHL$H1A0LA(A AAAAAAAAAAAAAAAAAAAAAxApAhA`0LLLHH5%1BHA0H=%1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HHA0H=$1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`5H1HHA01A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HH1LLH58#IH1LHA0H=#1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`^HHA0H=%"1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`H1HHA01A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HH1LLH5 IH1LhHA0H= 1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HHA0H=1A(A AAAAAAAAAAAAAAAAAAAAAxApAhA`HHHL$H1A0LA(A AAAAAAAAAAAAAAAAAAAAAxApAhA`LLLHH51+HA0H1A(AA AAAAAAAAAAAAAAAAAAAAAxApAhA`HE9lW9ff.AWAAVAUIATUSH(HdH%(HD$1Lt$HHD$lHXD1PH@80( 1LHXHHP1H@80( @HH1Ht$HILAHH1XPH@80( KHD9IH(1ZL|$HLHXLPH@80( bfLLZ$HAEXHX1PH@80( fLLZ$HAE`HX1PH@80( fLLZ$HAEhHX1PH@80( fLZ$HAEpH1HXPH@80(  AEhAMpHf/vX<%AEh6%IuXLAExASHL$dH3 %(uH([]A\A]A^A_Zf.AWH 2AVAUATIUSHHdH%(H$1H$LHMw11Ht2H1MH I11H IE1H 1ǃpHL1oo $oT$o\$ od$0ol$@)$Lc$ot$Po|$`)$oD$pH$)$Io$)$ o$Lo$)$0o$o$H$)$@)$P)$`)$p)$)$)$)$HxHH. 1LH1MH 11HpL1E11H "HE1o4$o|$L$oD$ H$L$)$ot$0oL$P)$o|$@oT$`o\$pH$o$$)$o$o$)$)$o$o$)$ )$0)$@)$P)$`)$p)$)$fD$HL1$H=1L$HI$$$$$$$$$$$$$$$$$$$$$$$$$LxHH1IHLHxI1H=$$H$H$$$$$$$$$$$$$$$$$$$$$$$$$ HL1Hx$H=$$H$H $$$$$$$$$$$$$$$$$$$$$$$$!HL1Hx$H=$$H$H$$$$$$$$$$$$$$$$$$$$$$$$7HL1Hx$H=$$H$H$$$$$$$$$$$$$$$$$$$$$$$$MHxHD(D9HH=Am1$$$$$$$$$$$$$$$$$$$$$$$$$$$HOHLL$H=1$$$$$$$$$$$$$$$$$$$$$$$$$$pHs@H$11H$H$dH3 %(H[]A\A]A^A_@H1MH r11H6H$1OI$H@1rǃp 4fHxAZD$`@fAZD$X@ fAZD$p@f@AZD$hH@ǃfH$1I$H1gf/sf/sGf/s 1f/_AWIH AVAUATUHSH(H|$8dH%(H$1HALTPaltpH$HHD$HH$HHD$0II111Lu;H|$011ptNH$dH3%(H([]A\A]A^A_H|$0IIغH <1Ht$0H|$@E1H oD$@oL$PoT$`o\$p)$0$<o$o$o$)$@{H$o$)$Po$)$`o$Hco$)$pHo$o$H$)$)$)$)$)$)$)$)$YD$HD$CH$,HD$HL$ HD$(fDD$HŃD$1$$$$$$$$$$$$$$$$$$$$$$$$$$$ H1ҿ$HI1$$$$$$$$$$$$$$$$$$$$$$$$$$L$LVHH1HL1$LHÿ$1$$$$$$$$$$$$$$$$$$$$$$$$$mHHIHxI_LLIHNLHILDd$EHHL$(L|$HAD$L$DIM9I7HHuLH1L$$$$$$$$$$$$$$$$$$$$$$$$$$$HD$;$<H$01L$ Ll$8H5H$ILTHD$HL$(L|$ Ld$0HD$8D$H,H5L!T$Lt$t3@M>L1C<.AI9rIL9uH5T LHH;\$ uD$H\$8tf.H;HH9uH$dH3%(H|$H([]A\A]A^A_}DA:t :ClLʹLLLL$ILL$LLBƄ !H5LL9#@$,xQHL$LHNjD$HLL$@H1L$L1$$$$$$$$$$$$$$$$$$$$$$$$$$$ԾL$ H$HIHD$@H 1LL$HHt$H|$ 9LD$@LL$H_LLL$@*LL$@DLLL$@LL1H$6H$$$$$$$$$$$$$$$$$$$$$$$$$$$$nL$ D$HH H|$1iHt$H|$ ڿLL$@DH$HD$ǻH$P躻H$X譻D$c@LL$@LL1H$<H$$$$$$$$$$$$$$$$$$$$$$$$$$$$HH ;LL$@D$<fDLL$@LL1H$8H$$$$$$$$$$$$$$$$$$$$$$$$$$$$HLL$@H|$fMH MZ$8|DL$PL1IؾH d躽11L>H|$ H谹H$HH$PH$X1fH\$H$@1 L|$$&H$1L$`HL$&H 611H~8H|$ LƄ$f$DtH|$81E1H Hod$Pol$`ot$pH$ )$ o$o$)$0o$)$@o$)$Po$)$`o$)$po$H$$,)$o$)$o$)$o$)$)$)$)$L$@H-LHL1$$$$$$$$$$$$$$$$$$$$$$$$$$$|H9$,H1$$$$$$$$$$$$$$$$$$$$$$$$$$$1LHHI1$$$$$$$$$$$$$$$$$$$$$$$$$$$յHHI1L1MH麀׸H|$ LJ0uH$ 1n1H$`_H$H"H$PH$XfAWAVAUATIH5UHSH(HH<$HdH%(HT$1H5WH菷H=Lu=H5HfHD$dH3%( H([]A\A]A^A_fDH5H)HD$AHD$HD1xph`XPH@80( xH1xHIƿp1h`XPH@80( L$LHH1HL1ILx1ph`XPH@80( HH1QHLxI1ph`XPH@80( >HH5HH5HٳLHγH5H迳H5H谳LH襳H5H薳H<$L L蒯L芯H5uHkAD9RH5WHKAAWAVAUATUSH(dH%(HD$1H|$xHD$HHIb H1II$8IM$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8螰HHH{H$H1H=h$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8THHHHP|{FHH=1$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8iHLHH\$H1$8H$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8躬HH=1$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8踫HLHH1$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8HH=01$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8HLHH1$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8jHH=1$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8hHLHH1$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8§HH1H$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8Hf1H\$dH3%('H([]A\A]A^A_HH=1$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8蹥HHHL$H\$H$8H1$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8H$fH=1Z$HA$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8HHH$81$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8H$AfH=b1Z$HA$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8-HHH$81$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8H$股fH=1Z$HAE$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8mHHH$81$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8$8H$ŸfZ$HA$Nff.AUMATMUSHH^΃HLL1xph`XPH@80( L$H$HH[]A\A]ff.@AWIAVIAUATMUHSHxAT$H$H$L$HD$HT$ MdH4%(Ht$h1LD$LMRUP^_D\$LT$AACIZHIDBLL$XHD$8HD$`LD$HHD$0HD$PHD$(w@D$HA $LD$LL$f/vA$D$XAMf/vAEHD$D$Pf/vHD$ D$`f/vHHH;\$8tU t$0LLUt$0LL$ LD$ZY`H|$hdH3<%(uHx[]A\A]A^A_f蔜@G9W t$O9t5W9t<9upG-GfDO9t1G+GG-GfDG+GfDW9t9uG-GÐG+GfDf.AWAVAUATUHSHH|$hH|$pHT$@L$dH%(H$1HnH|$XH@HHD$PH1$$$$$$$$$$$$$$$$$$$$$$$$$$$衚D$po$Po$o$)$o$`)$)$o$p)$)$HET$\$8L$Ƅ$+LD$ډ$$D$H$HHD$XA9$ID$g+HD$HD$ HD$(ZHEIH: ;IHHHc$PL<LT$0HT$(HT$(L$0HHCd$-1ۅ~:1LƛHEZZHH@HHH9$H$HtT$9T$$HD$(AAD$HD$HHD$9\$cD;$$D$tuH|$tt HD$H D$ tEYIcIHD}H}JHHEAH$dH3%([HĨD[]A\A]A^A_DD$0H1D$$$$$$$$$$$$$$$$$$$$$$$$$$$H$(H$0(D$po$Po$`o$po$)$o$)$)$)$)$HEDD$0 T$8Ht$XLDD$0@DD$0AHc$;$H|$t$Ht$ HL$1H9HDH9HEHt$ HT$LMH9\$(|DD$HEZZJ0H@JIHD9$H$Ht荔HDŽ$HAA9\$DD$8x1$L$ H L貘Lc $CEaI)McJIDHEJ HxHEJ< IL9uH}HEH|$hLE1H\PT$g8$H$EHt虓HDŽ$IcHEAAHH\$0I)N@D$L1HL$$HT$H$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$xI$HMu  l(H=%L$Hc+L$HH%I H‹ H!%tLL$DHJHDщ@ǿ{ HL)fA<I|ΈL$ } LIĘA91fD$HL1$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x-L ^$HH$XdH3%(P HhL[]A\A]A^A_D$L1HL$$HT$H$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x!HDD$1Lt$PH WL$L H!%tDHJHDщ@H="HL)lHc&H"IHH!ʁ tL€DHHHD@HIĘHׅ fA9N!D$L1HL$$HT$(H$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$xQHLt$PD$(H LQL H!%tDHJHDщ@H=!HL)lHcSH IHH!ʁ t(D$L1HL$$HT$ H$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$xH1DD$ Lt$PH LņL H!%tDHJHDщ@H=HL)lHcDŽHhIHH!ʁ tD$L1HL$$HT$H$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x1HfLt$PZD$H ]L-L H!%tDHJHDщ@H=HL)lHc/HIHH!ʁ tD$L1HL$$Lt$0H$xL$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x薀I‹$Hu MH=L$DHcہL$HHuIiH‹ H!%tLL$DHJHDѹ{ @HIĘL)fA I|tL$ } L~A9@H=Hc.HIHLL$PM1LϺLL$H ˼裂HHH$H${ LL$f4H|L~ } fDH=QHc螀H?IH!DD$Lt$P1H BLHHH$r~H$A{ LfDH|F~ } L $H$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$xL1HL $HD$HL1$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x~L$HL{LL$HD$HL1$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x$x}L$HLzLL$L $H6HH$s{H=Ht HgzHHff.@HFHVttw:uXHHHfDu'HuHHTz1HDHuHH!z1DHtnHtDHtzH\HH,y1=HH׷y1HHy1HHhy1AWAAVMAUAATIUHSH(H^dH%(HD$1Vu*1HL$dH3 %( H([]A\A]A^A_DAHL]tHD1xph`XPH@80( zHHHHH=˶1xph`XPH@80( wHH&ǃHHL$PH@IBD {@IDAULHD$8HD$XdH3%(Hh[]A\A]A^A_HD$8\$4ID~HD$AHLLH$HuAE\$4L<$IDI?AIL|$I? AIAEo|$oD$ oL$0oT$@o\$Pod$`(ol$p8o$Ho$Xo$ho$xo$o$H$DHH$dH3%( H[]A\A]A^A_uH$L1HMHMH }?Ll$ E1HH fL1<MHoD$ LH |oL$0oT$@ o\$P0od$`@ol$pPo$`o$po$o$o$o$o$H$H1z>1H1T$(LHOf/E@v0M8f/v%f/E0vM(f/AGPAWA9WsHHPk,fDH<$HP 멐H<$HO뉐 HH<$HD$LD$H<$LLD$LD$D$L= D$$AGD$(Ll$0H KLD@L1hLL=Hsxspshs`sXsPsHs@s8s0s(s sss3$ _HHHtJL( L0HPX`&H5C AVAUATIԺ UHSHHL7LnLdH%(H$11 9EHL$LL$ HLD$HD$ffAЅt_Af~9~OLt$HA1QDEH %NLLHGZYT$HHT$ HHިHLHHAAAAAAAAAAAAuxAupAuhAu`AuXAuPAuHAu@Au8Au0Au(Au AuAuAuAu$'HHHH H fHHLx H$dH3%(uaHĠ[]A\A]A^DHHL8 fDHHK fDH5%A`_ ff.@AWAVAUATUHSHhH^HT$dH%(H$X1H~HD$HD$LILt$HE1MHD$Ll$FHD$$HD$8\$0rDLHT$HLH軦+HD$H|$8H T$0D$$f/]AGD$0D$$AE9|$HL$MMDLHH1|$l? H tHD$FffDȅ#Ht$f~ D9LT$PHH J1RED$L׺LT$8# LT$8LLL ZYDH$XdH3%(NHh[]A\A]A^A_Ht$HL$HfHxHDZHf/fZH f/AfZHf/fZHf/AE9|$qf.DD$$HA~Ld$PH IE1L HLHw fHHJIHHHHHIHff.AVAUATUSHH^L'dH%(H$1w9BLM$L$L1MH =H 11Ls1HE1H "1Lo$oL$oT$  o\$00od$@@ol$PPot$``o|$ppo$o$o$o$o$H$HH$dH3%(H[]A\A]A^@uLH F1H$HHM$H|$1E1H /Hol$ot$ o|$0 ol$@0ot$P@o|$`Pol$p`o$po$o$o$o$o$H$ǃHXZfDHcMLHI$xpH fE1RY^pH1 DLML1H hE +AWAVAUATUSHHHHnVdH%(H$81HHD$9VHILt$,H$Ll$&Ld$(MMLLH茱H1|$H H GHD$&HDfwffЅHL$f~9L\$0HA1QEGH DLߺL\$ L\$ H|$LZYH$8dH3%(HH[]A\A]A^A_f.HL$HHx@taLHT$,LH/f/C@v0K8f/v% f/C0vK(f/AGPAWA9WcHHHBHHBH<$fH7H<$HD$LD$H<$LLD$>LD$D$LD$4AGDD$(1Ll$0H _>LLLLHuxupuhu`uXuPuHu@u8u0u(u uuuu$tHHHtJLL HPX`%H5]6f.AVAUATIԺ UHSHHL7LnLdH%(H$11[9EHL$ LL$HLD$H螭D$ffAЅt_Af~9~OLt$HA1QDEH @L;LHZYT$HHT$HHΔHLHHAAAAAAAAAAAAuxAupAuhAu`AuXAuPAuHAu@Au8Au0Au(Au AuAuAuAu$qHHHHHfHHj?(H$dH3%(uaHĠ[]A\A]A^DHH:?fDHH>fDH53`ff.@AWAVAUATUHSHhH^HT$dH%(H$X1H~HD$HD$LILt$HE1?HD$Ll$FHD$$HD$8\$0rDLHjT$HLH諒+HD$H|$8HT$0D$$f/]AGD$0D$$AE9|$HL$MMDLHpH1|$lH tHD$FffDȅ#Ht$f~ D9LT$PHH z=1RED$L׺LT$8LT$8LLLZYDH$XdH3%(NHh[]A\A]A^A_Ht$HL$HfHxHDZHf/fZH f/AfZHf/fZHf/AE9|$qf.DD$$HA~Ld$PH 71LHLH'fHH;HHD;HH<Hhff.SH^t:Ft;w4tGu&H1H1ǃ[fuH1H1zH1lH1^H1Pf.@ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.ff.f.߃AvO14wHHATH5M%E1UHH'H5;HA H5:HAH5:HAH5:HAtzH5:HAtaH5:HAtHH5:Hnt5H5t:HAUtH5Y:HE1?AAHD]A\f.Ht7UHHHtH}HtH} HtH]ff.@AWAVAUATIUSHXHHL$dH%(HD$H1AIHHHA8MH$LH$@Iǀ:(HcEH D$$HHL$(HD$EAF1HD$HBH9T$HIA t A ufDE~IA tA tEZA"ALHxIHfDDIHA>AIuMMHHTHL$HT$MLt$ IELL$,HDŽ$0 If.1fDIHt)Mw\uAO"t.A?MH@~uHMLAO"IIHLM/ff.@AUIATIUHtt3]LHA\A]fDHAEt]A\A]@HtH}LL]A\A]fDAUATIUHSHXdH%(HD$H1IHHt$H@HH= HcH9uH}HSLIEL[tL7/uUDLLHj/1H}HSL/HD$HdH3%(HX[]A\A]Ãu L.뢃u L.딃upL.fDIDEH.1LL@<LE LH.1LgfD<1Ly.u LH.u L6.u L".H.LDf.USHHoVLo^of(dH%(H$1on8ovH)T$ o~XoNh)\$0oFxo)d$@oo)l$P)t$`oo)|$p)$)$)$)$)$)$)$HHVHH$HcGH HHHHH{pAL1t%H$dH3%(H[]@HT$`SbIHL$THT$HL1$$$$$$$$$$$$$$$$$$$$$$$$$$$HH(-fHcZD$H>@HT$`HL$EH11L$$$$$$$$$$$$$$$$$$$$$$$$$$$HHHnxHDDHx| tHs H;HD$ CD$ uf.HT$HL1$$$$$$$$$$$$$$$$$$$$$$$$$$$f*$$HfDHT$H1L$$$$$$$$$$$$$$$$$$$$$$$$$$$H;HC \$8mfHL$HT$HL$$$$$$$$$$$$$$$$$$$$$$$$$$$$f*$HK01f/XDK01f/@D1f/C0,1f.C0Ef1f.C0Ef1f/C08~ff.AWAVAUATUHSHHHH|$D$H|$0D$L$DdH%(H$81;*uC{u=H1t$Ht$Ht$H6foL$PHD$`H HEMf.Lc$J<Dd$J<Ht$Ią~sLDF1AHHH˜I9tPHH HLJ{yt΀FISAHHH˜I9uLD$(LHHHthH\$HD$@foD$0HCH$8dH3%(HD$HH[]A\A]A^A_A3A#H|$(tA|o$o$D$o$o$o$H$PT$Xo$\$ho$o$d$xo$@o$$o$$o$ $o$0H$($$$$$$$EQAFD$HD$PHD$DD$H1L$$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$XH$0HHT$H5H|$(aD$H1D$L$$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$XH$0H;\$-D$AL$H1DŽ$$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X@H$0H@H1t$Ht$Ht$H_H fDLXHPH|$(FHt$foD$0HD$@HF!H1DŽ$$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$XH$xH1HcHHCould not create VRF server, not enough memoryCould not create VRF server, invalid URLNot enough memory to allocate layer private dataUnable to open the feature tabledcw%s/lat%s/LATrbUnable to open the LAT tabletilerefgazettelibrefUnable to open the join tableTILE_IDCan't open this feature classInvalid layer %sogdi_capabilitiesogdi_server_capabilitiescat_list+proj=longlat +datum=wgs848888888888$Id$TextAreaLinePoint%s/%s/fcs%s/%s/FCS %s not enough memoryFEATURE_CLASSTABLE1TABLE1_KEYTABLE2TABLE2_KEY%s/cat%s/CAT%s%sdhtDATABASE_NAME%sDatabase_name: %s DATABASE_DESC%sDatabase_description: %s MEDIA_STANDARD%sMedia_Standard: %s ORIGINATOR%sOriginator: %s ADDRESSEE%sAddressee: %s DOWNGRADE_DATE%sDowngrade_date: %s RELEASABILITY%sReleasability: %s OTHER_STD_NAME%sOther_STD_name: %s OTHER_STD_DATE%sOther_std_date: %s OTHER_STD_VER%sOther_STD_ver: %s %sEdition_number: %s EDITION_DATE%sEdition_date: %s %s } { %s%slht%sCoverage name: %s %sXMIN: %f %sYMIN: %f %sXMAX: %f %sYMAX: %f PRODUCT_TYPE%sProduct_type: %s LIBRARY_NAME%sLibrary_name: %s DESCRIPTION%sDescription: %s SOURCE_SERIES%sSource_series: %s SOURCE_ID%sSource_ID: %s SOURCE_EDITION%sSource_edition: %s SOURCE_NAME%sSource_name: %s SOURCE_DATE%sSource_date: %s DOWNGRADING%sDowngrading: %s DOWNGRADING_DATE%sDowngrading_date: %s %s%sgrt%sCoverage_name: %s %sLevel: %d %s%sdqtDATA_TYPE%sData_type: %s %sUnits: %s ELLIPSOID%sEllipsoid: %s ELLIPSOID_DETAIL%sEllipsoid_detail: %s VERT_DATUM_REF%sVert_datum_ref: %s VERT_DATUM_CODE%sVert_datum_code: %s SOUND_DATUM_NAME%sSound_datum_name: %s SOUND_DATUM_CODE%sSound_datum_code: %s GEO_DATUM_NAME%sGeo_datum_name: %s GEO_DATUM_CODE%sGeo_datum_code: %s PROJECTION NAME%sProjection_name: %s %s} } } { VPF_LEVEL%sVpf_level: %s VPF_LEVEL_NAME%sVpf_level_name: %s FEATURE_COMPLETE%sFeature_complete: %s ATTRIB_COMPLETE%sAttrib_complete: %s LOGICAL_CONSIST%sLogical_consist: %s EDITION_NUM%sEdition_num: %s CREATION_DATE%sCration date: %s REVISION_DATE%sRevision date: %s SPEC_NAME%sSpec_name: %s SPEC_DATE%sSpecification date: %s EARLIEST_SOURCE%sEarliest source: %s LATEST_SOURCE%sLatest source: %s QUANT_ATT_ACC%sQuant_att_acc: %s QUAL_ATT_ACC%sQual_att_acc: %s COLLECTION_SPEC%sCollection_spec: %s SOURCE_FILE_NAME%sSource_file_name: %s ABS_HORIZ_ACC%sAbs_horiz_acc: %s ABS_HORIZ_UNITS%sAbs_horiz_units: %s ABS_VERT_ACC%sAbs_vert_acc: %s ABS_VERT_UNITS%sAbs_vert_units: %s REL_HORIZ_ACC%s:Rel_horiz_acc: %s REL_HORIZ_UNITS%s:Rel_horiz_units: %s REL_VERT_ACC%s:Rel_vert_acc %s REL_VERT_UNITS%s:Rel_vert_units: %s COMMENTS%sComments: %s %s }%s {%s family %s class%s {%s} {%s/%s/fcaFCLASSDESCR%s { %s { %s } } %s%s%s%s%s.vdtTABLEVALUEATTRIBUTEchar %s = %s %s%s %12ld = %s float %12f = %s %snodata%s} } } %s/tileref/tileref.aft%s/TILEREF/TILEREF.AFT%s/tileref/fbr%s/TILEREF/FBRCan't open tileref/fbr fileFAC_IDTILE_NAMEXMINXMAXYMINYMAX %s - %s %s\%s\ %12d = %s %d = %s .pjt.ajt.ljt.rjt.njt.tjt %s@%s(*) PROJ4:+proj=longlat +datum=wgs84 no expressions set in this requestBadly formed pathname: %s, must be fclass@coverage(expression)Can't open the FCS table, invalid VRF coverageInvalid join table structure for feature %s Can't open CAT file, invalid VRF database{displaymetada { { CURRENT DATABASE:%s DATA HEADER TABLE(DHT): %s LIBRARY ATTRIBUTE TABLE(LAT): %s COVERAGE ATTRIBUTE TABLE(CAT): %sCURRENT DATABASE:%s LIBRARY LIBRARY HEADER TABLE(LHT): %s GEOGRAPHIC REFERENCE TABLE(GRT): %s DATA QUALITY TABLE(DQT): Can't open the FCS table of '%s', invalid VRF coverage%s Cannot open %s/%s/fcs%sdisplaymetadata {%sdisplaymetadata { }%s VALUE DESCRIPTION TABLE (%s.vdt) Can't find entry in LAT table, invalid VRF libraryCan't allocate enough memory to read tile referenceFEATURE CLASS: %s COVERAGE : %s ogdi_unique_identity ,$TT$Id$v@{Gz?%c%20s%f%dVRF table fac not openVRF table mbr not openVRF table rng not openVRF table edg not openVRF table end or cnd not openVRF table txt not openUnable to extract the edgeCOORDINATESNo COORDINATE columnUndefined VRF table typeptr1 == NULLptr2 == NULLptr3 == NULLptr4 == NULLUnable to get rowSTRINGSHAPE_LINEUnable to get coordinatesCOORDINATENo enough memoryUnable to read the edge %d in the face %dUnable to allocate memory in vrf_get_ring_coords() for face %dCycle detected in the edges of face %dUnable to read the edge %d in the face %d, segment %dLine %d: Memory allocation failure for segment %d in the face %dOnly one coordinate found for a lineError in vrf_get_merged_line_featureH>6<66 ;66566666975$Id$%s/%s/%s/fac%s/%s/%s/FAC%s/%s/%s/edg%s/%s/%s/EDG%s/%s/%s/rng%s/%s/%s/RNG%s/%s/%s/fbr%s/%s/%s/FBREnd of selectionThe join table is emptyInvalid area idUnable to open mbr%s/%s/%s/%s%s/%s/%s/ebr%s/%s/%s/EBRInvalid point id%s/%s/txt%s/%s/TXTInvalid text idThe VRF tiles are badly definedObject index=%d references incorrect tile_id=%d (nbTile=%d)Can't find any area at this locationNo primitives identified for this feature.Can't find any line at this locationCan't find any point at this locationCan't find any text at this location$Id$$Id$ANDNOT<=>=!=<><Syntax error, %d extra tokensunknown%s Field %d %s%s %s %s Attempt to use STRING field `%s' with numeric comparison `%s'.Attempt to compare numeric field `%s' to non-numeric value `%s' is illegal.$Id$Not enough tokens to complete exUnclosed brackets, or incompleteFailed to identiUsed logical operation with non-logical operand.pX@$Id$;Zp 08о̾PpP `Lh@ 00 L h h 0 Hlr,vy@y\|`( 0LPБP+L ,ēP/̔?$@<A`K0QȞPX ]ȣiXv`y`\Dx`` l0p`ص@h@4@ȹPܹ`p,@Th|0̺P` 8zRx $pFJ w?:*3$"D\LtHFGB B(I0A8G 8A0A(B BBBC w FEB B(A0D8Gp 8D0A(B BBBH 1MrALgAFHFFFFFFFFFCCCCCCCCCCCCCCCBLFOFFFFFFFFFFFFFFFFFFFFFFFFFLYFFFFFFFFFFFCCCCCCCCCCCCCCCBv<FBB D(RA (D BBBE ,8QPDD qABD(hFDA AB<0NOBB D(A0 (D BBBC p *FcH ~FBB I(A0A8DP 8D0A(B BBBH T/Ieh3Lf3Lf,=FBB E(H0D8D`k 8D0A(B BBBI hFpKxJFFFFFFFFFFFFFFFFFFFFFFFFLhFpHxNFFFFFFFFFFFFFFFFFFFFFFFFa`NhKpPxFFFFFFFFFFFFFFFFFFFFFFFFFW`NhFpFxKFFFFFFFFFFFFFFFFFFFFFFFFW`8*FcTDF}p,FT0FT00BED G  DBBA T BQB B(A0A8G  8A0A(B BBBF l L G G G G G G G G G G G G G G G G G G G G G G G G G G L R M J G G G G G G G G G G G G G G G G G G G G G G G G G L N O G G G G G G G G G G G G G G G G G G G G G G G G G W N L R I G G G G G G G G G G G G G G G G G G G G G G G G L  L N G G G G G G G G G G G G G G G G G G G G G G G G G T f 8D0A(B BBBE L FBE B(D0A8G 8A0A(B BBBF  0$ L$  HFQB B(A0D8GGPGGGGGGGGGGGGGGG G G G G G G G G G G LGNKGGGGGGGGGGGGGG G G G G G G G G G G ZIGGGGGGGGGGGGGGGG G G G G G G G G G G ZIGGGGGGGGGGGGGGGG G G G G G G G G G G ZIGGGGGGGGGGGGGGGG G G G G G G G G G G ZpGKGGGGGGGGGGGGGGG G G G G G G G G G G LKPIGGGGGGGGGGGGGG G G G G G G G G G G LwLJGGGGGGGGGGGGGGG G G G G G G G G G G LHkA\GLIGGGGGGGGGGGGGG G G G G G G G G G G ^NLJPGGGGGGGGGGGGGG G G G G G G G G G G SNLJNRRGGGGGGGGGGGG G G G G G G G G G G SeGIGGGGGGGGGGGGGGG G G G G G G G G G G Tl 8D0A(B BBBF DGLLGGGGGGGGGGGGGG G G G G G G G G G G ^NLJPGGGGGGGGGGGGGG G G G G G G G G G G S JIRRGGGGGGGGGGGGG G G G G G G G G G G S lLIRGGGGGGGGGGGGGG G G G G G G G G G G ^NMIPGGGGGGGGGGGGGG G G G G G G G G G G SNMIPGGGGGGGGGGGGGG G G G G G G G G G G SPLGGGGGGGGGGGGGGGG G G G G G G G G G G L_GKGGGGGGGGGGGGGGG G G G G G G G G G G LLOGGGGGGGGGGGGGGG G G G G G G G G G G SNLOGGGGGGGGGGGGGGG G G G G G G G G G G SGLLGGGGGGGGGGGGGG G G G G G G G G G G SNLJPGGGGGGGGGGGGGG G G G G G G G G G G S<,FSD A(G (A ABBD ZlFKB B(A0A8G 6 G L G G G G G G G G G G G G G G G G G G G G G G G G G ^ O G G G G G G G G G G G G G G G G G G G G G G G G G G L p M Q G G G G G G G G G G G G G G G G G G G G G G G G G V ^ M Q G G G G G G G G G G G G G G G G G G G G G G G G G V ^ M Q G G G G G G G G G G G G G G G G G G G G G G G G G V ^ M Q G G G G G G G G G G G G G G G G G G G G G G G G G V ^ L G G G G G G G G G G G G G G G G G G G G G G G G G G T  L J G G G G G G G G G G G G G G G G G G G G G G G G G L T _ G G G G G G G G G G G G G G G G G G G G G G G G G G V O G G G G G G G G G G G G G G G G G G G G G G G G G G L p L Q G G G G G G G G G G G G G G G G G G G G G G G G G L V G L G G G G G G G G G G G G G G G G G G G G G G G G G S I G L O G G G G G G G G G G G G G G G G G G G G G G G G c  G I G G G G G G G G G G G G G G G G G G G G G G G G G m Q L Q G G G G G G G G G G G G G G G G G G G G G G G G G L m L Q G G G G G G G G G G G G G G G G G G G G G G G G G L  G L Q G G G G G G G G G G G G G G G G G G G G G G G G L [ N G G G G G G G G G G G G G G G G G G G G G G G G G G L x G I G G G G G G G G G G G G G G G G G G G G G G G G G T I G G G G G G G G G G G G G G G G G G G G G G G G G G c Q G I G G G G G G G G G G G G G G G G G G G G G G G G G ` L G G G G G G G G G G G G G G G G G G G G G G G G G G T M G L N G G G G G G G G G G G G G G G G G G G G G G G G W N L R I G G G G G G G G G G G G G G G G G G G G G G G G L L G L J G G G G G G G G G G G G G G G G G G G G G G G G L a G K G G G G G G G G G G G G G G G G G G G G G G G G G L G N L G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L N G N L G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L  L S D N [ G I G G G G G G G G G G G G G G G G G G G G G G G G G c X 8D0A(B BBBF |  G G G G G G G G G G G G G G G G G G G G G G G G G G Z I G G G G G G G G G G G G G G G G G G G G G G G G G G Z I G G G G G G G G G G G G G G G G G G G G G G G G G G Z I G G G G G G G G G G G G G G G G G G G G G G G G G G Z  L G G G G G G G G G G G G G G G G G G G G G G G G G G [ Q I G G G G G G G G G G G G G G G G G G G G G G G G G G L L O G G G G G G G G G G G G G G G G G G G G G G G G G S Q L L G G G G G G G G G G G G G G G G G G G G G G G G G S Q L L G G G G G G G G G G G G G G G G G G G G G G G G G S c O G G G G G G G G G G G G G G G G G G G G G G G G G G ^ X M G G G G G G G G G G G G G G G G G G G G G G G G G G f w O G G G G G G G G G G G G G G G G G G G G G G G G G G m N G G G G G G G G G G G G G G G G G G G G G G G G G G G k  G I G G G G G G G G G G G G G G G G G G G G G G G G G T J G L G G G G G G G G G G G G G G G G G G G G G G G G G L G N L G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G L R K J G G G G G G G G G G G G G G G G G G G G G G G G G U R G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G L R K J G G G G G G G G G G G G G G G G G G G G G G G G G U R G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G L R K J G G G G G G G G G G G G G G G G G G G G G G G G G U R G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G L R K J G G G G G G G G G G G G G G G G G G G G G G G G G U R G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G L R K J G G G G G G G G G G G G G G G G G G G G G G G G G U R G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G L K G G G G G G G G G G G G G G G G G G G G G G G G L ` G L G G G G G G G G G G G G G G G G G G G G G G G G G L G N L G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G L N G G G G G G G G G G G G G G G G G G G G G G G G L p G L K G G G G G G G G G G G G G G G G G G G G G G G G L \ G L G G G G G G G G G G G G G G G G G G G G G G G G G L G N L G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G L R K J G G G G G G G G G G G G G G G G G G G G G G G G G U R G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G L R K J G G G G G G G G G G G G G G G G G G G G G G G G G U R G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G L K G G G G G G G G G G G G G G G G G G G G G G G G L F G L G G G G G G G G G G G G G G G G G G G G G G G G G L G N L G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G L R K J G G G G G G G G G G G G G G G G G G G G G G G G G U R G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G L R K J G G G G G G G G G G G G G G G G G G G G G G G G G U R G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G T G K G G G G G G G G G G G G G G G G G G G G G G G G G L p G P G G G G G G G G G G G G G G G G G G G G G G G G G L L G P G G G G G G G G G G G G G G G G G G G G G G G G G L R K J G G G G G G G G G G G G G G G G G G G G G G G G G U R G L K G G G G G G G G G G G G G G G G G G G G G G G G L oZVFHB E(A0A8D`yhFpKxFFFFFFFFFFFFFFFFFFFFFFFFFVhFpLxHFFFFFFFFFFFFFFFFFFFFFFFFL`rhKpFxFFFFFFFFFFFFFFFFFFFFFFFFFL`}hLpNxFFFFFFFFFFFFFFFFFFFFFFFFF_hOpMxFFFFFFFFFFFFFFFFFFFFFFFFF_hOpMxFFFFFFFFFFFFFFFFFFFFFFFFF_hOpMxFFFFFFFFFFFFFFFFFFFFFFFFF\`OhKpFxFFFFFFFFFFFFFFFFFFFFFFFFFX`P 8A0A(B BBBA lPs] FSB B(D0A8GNSOGGGGGGGGGGGG G G G G G G G G G G G G SQ]GJKGGGGGGGGGGG G G G G G G G G G G G G SSNGJKGGGGGGGGGG G G G G G G G G G G G G SSNGJKGGGGGGGGGG G G G G G G G G G G G G SSNGJKGGGGGGGGGG G G G G G G G G G G G G ZYTGGGGGGGGGGGGGG G G G G G G G G G G G G LMOPGGGGGGGGGGGGG G G G G G G G G G G G G LJ 8A0A(B BBBE vle0vew FQB B(A0I8G 8A0A(B BBBA {TGGGGGGGGGGGGGGGGGGGGGGGGGGLNOGGGGGGGGGGGGGGGGGGGGGGGGGWNLRIGGGGGGGGGGGGGGGGGGGGGGGGLLGGGGGGGGGGGGGGGGGGGGGGGGGGL# 8A0A(B BBBJ LNGGGGGGGGGGGGGGGGGGGGGGGGGT y\lFBB B(A0D8G U 8A0A(B BBBI  L G G G G G G G GGGGGGGGGGGGGGGGGGGL Q K G G G G G G G GGGGGGGGGGGGGGGGGGGV O G G G G G G G GGGGGGGGGGGGGGGGGGGL i O L G G G G G G GGGGGGGGGGGGGGGGGGGL N I t G J I G G G G G GGGGGGGGGGGGGGGGGGGL   G G G G G G G GGGGGGGGGGGGGGGGGGGZ I G G G G G G G GGGGGGGGGGGGGGGGGGGZ I G G G G G G G GGGGGGGGGGGGGGGGGGGZ I G G G G G G G GGGGGGGGGGGGGGGGGGGS  L G G G G G G G GGGGGGGGGGGGGGGGGGGL R I G G G G G G G GGGGGGGGGGGGGGGGGGGL L O G G G G G G GGGGGGGGGGGGGGGGGGGS s O K G G G G G G GGGGGGGGGGGGGGGGGGGL J O G G G G G G G GGGGGGGGGGGGGGGGGGG[  L L G G G G G G GGGGGGGGGGGGGGGGGGGc  G G G G G G G G GGGGGGGGGGGGGGGGGGGd  G G G G G G G G GGGGGGGGGGGGGGGGGGGS x G G G G G G G G GGGGGGGGGGGGGGGGGGGS  L G G G G G G G GGGGGGGGGGGGGGGGGGGL Q I G G G G G G G GGGGGGGGGGGGGGGGGGGV O G G G G G G G GGGGGGGGGGGGGGGGGGGL L0FBB B(K0H8D`o 8F0A(B BBBG thFpKxFFFFFFFFFFFFFFFFFFFFFFFFFLhFpHxQHFFFFFFFFFFFFFFFFFFFFFFFW`NhKpQxHFFFFFFFFFFFFFFFFFFFFFFFFL`NhFpIxKFFFFFFFFFFFFFFFFFFFFFFFFL`tTȂBBB B(A0A8D`DhOpMxGGGGGGGGGGGGGGGGGGGGGGGGGL`XhPpGxGGGGGGGGGGGGGGGGGGGGGGGGGL`YhPpGxGGGGGGGGGGGGGGGGGGGGGGGGGL`OhKpJxGGGGGGGGGGGGGGGGGGGGGGGGGLhPpGxGGGGGGGGGGGGGGGGGGGGGGGGGUhKpGxGGGGGGGGGGGGGGGGGGGGGGGGGLhPpGxGGGGGGGGGGGGGGGGGGGGGGGGGUhKpGxGGGGGGGGGGGGGGGGGGGGGGGGGLhPpGxGGGGGGGGGGGGGGGGGGGGGGGGGUhKpGxGGGGGGGGGGGGGGGGGGGGGGGGGL`DhLpGxGGGGGGGGGGGGGGGGGGGGGGGGGL`c 8A0A(B BBBD DhPpGxGGGGGGGGGGGGGGGGGGGGGGGGGL`QhIpLxGGGGGGGGGGGGGGGGGGGGGGGGGjhLpGxGGGGGGGGGGGGGGGGGGGGGGGGGLhMpKxGGGGGGGGGGGGGGGGGGGGGGGGGjhLpGxGGGGGGGGGGGGGGGGGGGGGGGGGLhMpKxGGGGGGGGGGGGGGGGGGGGGGGGGjhMpGxGGGGGGGGGGGGGGGGGGGGGGGGGLhMpKxGGGGGGGGGGGGGGGGGGGGGGGGGa`̍PFED F(D0U8F@LHJPFXF`FhFpFxFFFFFFFFFFFFFFFFFFF\0D(A ABBlpFEE B(D0D8DIDFAMPA\ 8A0A(B BBBJ xx FBB B(A0F8GN|GGGGGGGGGGGGGGGGGGGGGGGGGGi$ 8D0A(B BBBD ILGGGGGGGGGGGGGGGGGGGGGGGGGGyBNbBOHAuYHAYVEtpKX F(F0F8F@FHFPFXF`FhFpFxFFFFFFFFFFFFFFFNT'EIGP_XI`JhGpGxGGGGGGGGGGGGGGGGGGGGGGGVPa AAA NXI`JhGpGxGGGGGGGGGGGGGGGGGGGGGGGVPT|}FBB B(A0C8G{KGGGGGGGGGGGGGGGGGGGGGGGGGGL~GGGGGGGGGGGGGGGGGGGGGGGGGGGVLGGGGGGGGGGGGGGGGGGGGGGGGGGS^ 8D0A(B BBBD ]GGGGGGGGGGGGGGGGGGGGGGGGGGGLGGGGGGGGGGGGGGGGGGGGGGGGGGGVGGGGGGGGGGGGGGGGGGGGGGGGGGGLGGGGGGGGGGGGGGGGGGGGGGGGGGGLGJGGGGGGGGGGGGGGGGGGGGGGGGGVGGGGGGGGGGGGGGGGGGGGGGGGGGGQRLGGGGGGGGGGGGGGGGGGGGGGGGGGT[LGGGGGGGGGGGGGGGGGGGGGGGGGGT] W H1TT `̥oHA G r F g FEE E(D0D8D`w 8A0A(B BBBF WhFpKxFFFFFFFFFFFFFFFFFFFFFFFFFL`PhFpOxFFFFFFFFFFFFFFFFFFFFFFFFFL`ThKpKxFFFFFFFFFFFFFFFFFFFFFFFFFL`XhFpKxFFFFFFFFFFFFFFFFFFFFFFFFFS`hKpNxFFFFFFFFFFFFFFFFFFFFFFFFFT`hKpFxFFFFFFFFFFFFFFFFFFFFFFFFFL`hKpNxFFFFFFFFFFFFFFFFFFFFFFFFFT`]hKpKxFFFFFFFFFFFFFFFFFFFFFFFFFL`TFEB B(D0D8De 8A0A(B BBBF  8A0A(B BBBF j 8A0A(B BBBD L 8H0A(B BBBE FBE A(D0J} 0D(A BBBD HGGGGGGGGGGGGGGGGGGGGGGGGGGLPPGGGGGGGGGGGGGGGGGGGGGGGGGGLNKGGGGGGGGGGGGGGGGGGGGGGGGGGLNLGGGGGGGGGGGGGGGGGGGGGGGGGLQIGGGGGGGGGGGGGGGGGGGGGGGGGGLdFKFFFFFFFFFFFFFFFFFFFFFFFFFLFEA D(J} (D ABBH HGGGGGGGGGGGGGGGGGGGGGGGGGGLNLGGGGGGGGGGGGGGGGGGGGGGGGGLWJGGGGGGGGGGGGGGGGGGGGGGGGGGLdFKFFFFFFFFFFFFFFFFFFFFFFFFFLP FEB B(A0D8I} 8D0A(B BBBI HGGGGGGGGGGGGGGGGGGGGGGGGGGTGKLGGGGGGGGGGGGGGGGGGGGGGGGtxSMGGGGGGGGGGGGGGGGGGGGGGGGGLBNGGGGGGGGGGGGGGGGGGGGGGGGGGd TGGGGGGGGGGGGGGGGGGGGGGGGGGT|` FBB E(D0D8D` 8A0A(B BBBB chOpFxFFFFFFFFFFFFFFFFFFFFFFFFFL`MhFpHxFFFFFFFFFCCCCCCCCCCCCCCCB]`ShFpOxFFFFFFFFFCCCCCCCCCCCCCCCBL`ThLpHxFFFFFFFFFCCCCCCCCCCCCCCCBL`DhOpFxFFFFFFFFFCCCCCCCCCCCCCCCBL`ThLpHxFFFFFFFFFCCCCCCCCCCCCCCCBLhFpIxHFFFFFFFFCCCCCCCCCCCCCCCBL`nhFpHxFFFFFFFFFFFFFFFFFFFFFFFFFZ`PhFpHxFFFFFFFFFFFFFFFFFFFFFFFFFL`ThLpHxFFFFFFFFFFFFFFFFFFFFFFFFFL`PhFpOxFFFFFFFFFFFFFFFFFFFFFFFFFL`YhFpKxFFFFFFFFFCCCCCCCCCCCCCCCBL`ahFpOxFFFFFFFFFFFFFFFFFFFFFFFFFL`bhLpHxFFFFFFFFFFFFFFFFFFFFFFFFFL`DhOpFxFFFFFFFFFFFFFFFFFFFFFFFFFL`ThLpHxFFFFFFFFFFFFFFFFFFFFFFFFFLhFpIxHFFFFFFFFFFFFFFFFFFFFFFFFL`L4FEB E(D0D8D 8A0A(B BBBH ?FBB B(A0A8GyV[Am\Bh[Ah\B 8A0A(B BBBH ZFCAWF/AgPBOgOAQgOBPgPB= 0} { setbuttons [$widget get $s_nearest] } } # set the buttons on/off based on the current selection's value method setbuttons {entry} { if {[string compare $entry ""] == 0} { disablebuttons return } if [regexp "^\\$userchar" $entry] { #puts "je suis dans enable" enablebuttons } else { disablebuttons } } # change the title of the listbox method mapListbox {} { previous mapListbox $window.center.right.layers configure -label "Features" $mapList subwidget listbox configure -height 5 } # ----------------------------------------------------------- # enablebuttons # # enable the "delete" & "edit" buttons, enable the "add" buttons # # ----------------------------------------------------------- method enablebuttons {} { if {[string compare [getListSelection] ""] != 0} { $w(add) configure -state disabled } else { $w(add) configure -state enabled } $w(add) configure -state disabled $w(del) configure -state normal $w(edit) configure -state normal } # ----------------------------------------------------------- # disablebuttons # # disable the "delete" and "edit" buttons, enable the "add" # if there is something selected. # ----------------------------------------------------------- method disablebuttons {} { if {[string compare [getListSelection] ""] != 0} { $w(add) configure -state normal } else { $w(add) configure -state disabled } $w(del) configure -state disabled $w(edit) configure -state disabled } # ----------------------------------------------------------- # addSelection # # open the query window for the current selection # # ----------------------------------------------------------- method addSelection {} { query_create [getSelectedCoverage] [getSelectedClass] {} [getListSelection] # curselection } # ----------------------------------------------------------- # delSelection # # remove the user-defined expression at the current selection # # ----------------------------------------------------------- method delSelection {} { removeExpression [getSelectedCoverage] [getSelectedClass] [getListSelection] updateListBox [getSelectedClass] $obj_librarian informBookmarksChanged $url $this } # ----------------------------------------------------------- # editSelection # # open the query window with the user-defined query in # the current selection # # ----------------------------------------------------------- method editSelection {} { set s_lsel [string trimleft [getListSelection] $userchar] query_create [getSelectedCoverage] [getSelectedClass] $s_lsel {} } # ----------------------------------------------------------- # removeExpression # # cleans up the private data arrays associated with a # user defined expression (called only from delSelection) # # ----------------------------------------------------------- method removeExpression {coverage class name} { set i 0 set index "$coverage $class" set name [string trimleft $name $userchar] if [info exists privdata(expression,$index)] { foreach name_expr $privdata(expression,$index) { if {[string compare [string trimleft [getNameFromExpression \ $name_expr] $userchar] $name] == 0} { set privdata(expression,$index) [lreplace $privdata(expression,$index) $i $i] if {[string compare [string trim $privdata(expression,$index)] ""] == 0} { unset privdata(expression,$index) } return {} } incr i } } } # ----------------------------------------------------------- # getListSelection # # return the highlighted *string* in the listbox (if any). # returns {} if nothing highlighted. # # ----------------------------------------------------------- method getListSelection {} { set where [$mapList subwidget listbox curselection] if {$where < 0} {return {} } #return [$mapList subwidget listbox get $where] set toret [$mapList subwidget listbox get $where] set pointplace [lsearch -exact $toret : ] if {$pointplace >= 0} { incr pointplace -1 set toret [lrange $toret 0 $pointplace] set toret [ lindex $toret 0] } #puts "$toret" return $toret } method menus {} { previous menus tixLabelFrame $window.menu.frame \ -label "Options" \ -labelside acrosstop set path [$window.menu.frame subwidget frame] #yk $obj_Environment resetTixLabelFrameOptions $window.menu.frame set mapOptions $path.coverage tixOptionMenu $path.coverage -label "Coverage: " \ -command "$this updateCoverageSelection" \ -options { label width 10 label anchor w menubutton.width 12 } #yk $obj_Environment resetTixOptionMenuOptions $path.coverage set classOptions $path.class tixOptionMenu $path.class -label "Feature Class: " \ -command "$this updateListBox" \ -options { label width 10 label anchor w menubutton.width 12 } #yk $obj_Environment resetTixOptionMenuOptions $path.class pack append $path \ $path.coverage { left } \ $path.class { right } pack append $window.menu \ $window.menu.frame {top expand fillx} } method updatedict {} { foreach coverage $coverageData { $mapOptions delete [lindex $coverage 0] } set coverageData [ecs_UpdateDictionary $url cat_list] #puts "updatedict url: $url" $mapOptions config -disablecallback 1 $classOptions config -disablecallback 1 foreach coverage $coverageData { set s_covlabel [lindex $coverage 1] if {[string compare $s_covlabel ""] == 0} { set s_covlabel [lindex $coverage 0] } $mapOptions add command $s_covlabel -label $s_covlabel #index the coverage name by its label name e.g. a_s_label(something)==SO set a_s_label([lindex $coverage 1]) [lindex $coverage 0] } foreach class $coverageOrder { catch { $classOptions add command $class -label $class } } $classOptions config -disablecallback 0 $mapOptions config -disablecallback 0 updateCoverageSelection [getSelectedCoverage] } method updateCoverageSelection {args} { updateListBox [getSelectedClass] } # ----------------------------------------------------------- # getSelectedCoverage # # returns the label of the coverage associated with the # Option menu's selection. e.g. if "Political Lines" is selected, # this returns e.g. "POLINE" # # ----------------------------------------------------------- method getSelectedCoverage {} { return $a_s_label([$mapOptions cget -value]) } method getSelectedClass {} { return [$classOptions cget -value] #puts "class option :$classOptions" } # ----------------------------------------------------------- # updateListbox # # updates the listbox with the selected coverage and class. # pre: protected variable coverageData has been set with list # ----------------------------------------------------------- method updateListBox {selectedClass} { #puts "selected class: $selectedClass" $mapList subwidget listbox delete 0 [$mapList subwidget listbox size] # puts "coverageData is $coverageData" foreach coverage $coverageData { set coverageOrder "Area Line Text Point" if {[lindex $coverage 0] == [getSelectedCoverage]} { set maps [lindex $coverage [expr [lsearch $coverageOrder $selectedClass] + 2]] break } } set maps [concat $maps [getUserDefined [getSelectedCoverage] $selectedClass]] foreach map [lsort $maps] { appendMapItem $map } setbuttons {} } # ----------------------------------------------------------- # appendMapItem # append something to the list of map items. # # ----------------------------------------------------------- method appendMapItem {item} { set metatext [ecs_UpdateDictionary $url] set nb [llength $metatext] set dblibmeta [lindex $metatext 0] set allcovstring [lindex $metatext 1] set dblibmeta2 [lindex $dblibmeta 1] set ddbmetadata [lindex $dblibmeta2 0] #extraction library metadonnees set libmetadata [lindex $dblibmeta2 1] #extraction coverage metadonnees. #verifie si le coverage est celui demande par l'utilisateur. foreach covstring $allcovstring { set namecov [lindex $covstring 1] set selectcov [getSelectedCoverage] if {[string compare $namecov [getSelectedCoverage]] ==0} { set covcomplete [lindex $covstring 4] set covmetadata [lindex $covcomplete 1] foreach feature $covmetadata { set featurename [lindex $feature 0] set featuredesc [lindex $feature 1] if {[string compare $featurename $item] ==0} { set item [concat $item : $featuredesc] } } } } $mapList subwidget listbox insert end $item } # ----------------------------------------------------------- # getUserDefined # # return a list of the userdefined expressions # ----------------------------------------------------------- method getUserDefined {coverage class} { # expressions are in the form {EXPRESSION { } {} {} {}} # where is supplied by the user. set x "$coverage $class" if [info exists privdata(expression,$x)] { set tmp "" foreach name_expr $privdata(expression,$x) { lappend tmp [getNameFromExpression $name_expr] } return $tmp } else { return {} } } # ----------------------------------------------------------- # getExpression # # return a list of the userdefined expressions # ----------------------------------------------------------- method getExpression {coverage class name} { set x "$coverage $class" if [info exists privdata(expression,$x)] { foreach data $privdata(expression,$x) { if {[string compare [lindex $data 0] $name] == 0} { return [lindex $data 2] } } } return {} } # ----------------------------------------------------------- # getOriginal # # return the original expression. # ----------------------------------------------------------- method getOriginal {coverage class name} { set x "$coverage $class" if [info exists privdata(expression,$x)] { foreach data $privdata(expression,$x) { if {[string compare [lindex $data 0] $name] == 0} { return [lindex $data 1] } } } return {} } # ----------------------------------------------------------- # getOriginalName # # return the original name for an expression for when # user edits name, then cancels. # ----------------------------------------------------------- method getOriginalName {coverage class name} { set x "$coverage $class" if [info exists privdata(expression,$x)] { foreach data $privdata(expression,$x) { if {[string compare [lindex $data 0] $name] == 0} { return [lindex $data 1] } } } set pointplace [lsearch -exact $name : ] if {$pointplace >=0} { incr pointplace -1 set name [lrange $name 0 $pointplace] } return $name } # ----------------------------------------------------------- # getPathname # # construct a pathname. If there is no expression, (*) is # appended as a query. # ----------------------------------------------------------- method getPathname {coverage class name} { set name [string trimleft $name $userchar] set expression [getExpression $coverage $class $name] if {[string compare $expression ""] == 0} { set expression {*} } set retour [getOriginalName $coverage $class $name]@${coverage}($expression) return $retour } # ------------------------------------------------------------ # getNameFromExpression # returns a string that can be displayed in the listbox. # A star is appended. # ------------------------------------------------------------ method getNameFromExpression {expression} { return ${userchar}[lindex $expression 0] } #--------------------------------------------------------- # _insertElement insert the operators in the comboBox of # the #--------------------------------------------------------- method query_destroy {} { if [winfo exists $w(query)] { releaseGrab destroy $w(query) } dict_destroy } method query_dobuttons {s_coverage s_class s_orig w_bfr} { update idletasks update getGrab $w(query) if ![winfo exists $w_bfr.ok] { button $w_bfr.ok \ -text [$obj_Environment GetString MESSAGE-OK] \ -width 10 button $w_bfr.datadict \ -text "Dictionary"\ -width 10 button $w_bfr.cancel \ -text [$obj_Environment GetString MESSAGE-CANCEL] \ -command "$this query_cancel" \ -width 10 pack append $w_bfr \ $w_bfr.ok { left padx 1 expand } \ $w_bfr.datadict { left padx 1 expand } \ $w_bfr.cancel { left padx 1 expand } } $w_bfr.ok configure -command [list $this query_save $s_coverage $s_class $s_orig [$w(entry) get]] $w_bfr.datadict configure -command "$this dict_showdict; $this dict_update $s_coverage $s_class $s_orig"\ } method query_save {s_coverage s_class s_orig s_oldname} { set s_name [string trim [$w(entry) get]] set s_name [string trimleft $s_name $userchar] if {[string compare $s_name ""] == 0} { $obj_Environment errorMsg "You must specify a name for this expression." return } set s_text [string trim [$w(text) get]] ;#yk 1.0 if {[string compare $s_text ""] == 0} { $obj_Environment errorMsg "You must enter an expression." return } foreach s_existing [$mapList subwidget listbox get 0 end] { if {[string compare $s_name [string trimleft $s_existing $userchar]] == 0} { if {[string compare $s_oldname $s_name] != 0} { $obj_Environment errorMsg "Something with this name already exists." return } } } if {[string compare $s_oldname ""] != 0} { removeExpression $s_coverage $s_class $s_oldname } appendExpression $s_coverage $s_class [list $s_name $s_orig $s_text] # if this coverage/class is still visible, show it if {([string compare $s_coverage [getSelectedCoverage]] == 0) && ([string compare $s_class [getSelectedClass]] == 0)} { #appendMapItem ${userchar}$s_name updateListBox [getSelectedClass] } $obj_librarian informBookmarksChanged $url $this query_destroy } method query_cancel {} { query_destroy } method query_initialize {s_str} { $w(text) delete 1.0 end $w(text) insert end $s_str } # -------------------------------- # the data dictionary window.... # -------------------------------- method dict_showdict {} { set w(dd) .dict_${this} if [winfo exists $w(dd)] { wm deiconify $w(dd) raise $w(dd) return } dict_layoutdict } method dict_layoutdict {} { toplevel $w(dd) wm title $w(dd) "Data Dictionary" pack [tixLabelFrame $w(dd).fr -label "Data Dictionary"] \ -side top \ -expand true \ -fill both #yk $obj_Environment resetTixLabelFrameOptions $w(dd).fr set w(ddfr) [$w(dd).fr subwidget frame] pack [set w(ddtext) [text $w(ddfr).text \ -height 24 \ -width 80\ -yscrollcommand "$w(ddfr).sby set"]] \ -side left \ -expand true\ -fill both pack [scrollbar $w(ddfr).sby \ -orient vertical \ -command [list $w(ddtext) yview]] \ -side right \ -fill y pack [set w_bfr [frame $w(dd).bfr]] \ -side top \ -fill x \ -pady 2 \ -expand false pack [button $w_bfr.ok -text OK -command "$this dict_killdict" -width 10] \ -side top \ -expand false set x [expr [winfo screenwidth $w(dd)]/2 - [winfo reqwidth $w(dd)]/2 \ - [winfo vrootx [winfo parent $w(query)]]] if {$x < 0} {set x 0} set y [expr [winfo screenheight $w(dd)]/2 - [winfo reqheight $w(dd)]/2 \ - [winfo vrooty [winfo parent $w(dd)]]] if {$y < 0} {set y 0} wm geom $w(dd) +$x+$y update idletasks update getGrab $w(dd) } method dict_destroy {} { if [::info exists w(dd)] { if [winfo exists $w(dd)] { releaseGrab destroy $w(dd) } } } method dict_update {s_coverage s_class s_orig} { #$w(ddtext) delete 1.0 end if [catch {$w(ddtext) insert end [ecs_UpdateDictionary $url [getPathname $s_coverage $s_class $s_orig]]} s_result] { $obj_Environment errorMsg "Could not retrieve the dictionary" } } method dict_killdict {} { #yk releaseGrab destroy $w(dd) } # SOME OVERRIDDEN PROCEDURES: method parseExpression {s_string} { # expressions are in the form {{EXPRESSION {{ } { } ...} \ #{{ } { } ... } ...}} # where is supplied by the user. foreach cov_class [lindex $s_string 1] { foreach name_expr [lindex $cov_class 1] { eval appendExpression [lindex $cov_class 0] {[list [lindex $name_expr 0] [lindex $name_expr 1] [lindex $name_expr 2]]} } } } method setMBR {s_string} { # maximum bounding rectangle is in the form {MBR N E S W}. set privdata(mbr) [lindex $s_string 1] } # sets the data structure for the private data method setPrivateData {l_string} { previous setPrivateData $l_string foreach s_string $l_string { set s_type [string tolower [lindex $s_string 0]] switch -- $s_type { expression { parseExpression $s_string } mbr { setMBR $s_string } default { #puts "couldn't understand $s_type" } } } } # expression is in the form { } method appendExpression {coverage class expression} { set x "$coverage $class" lappend privdata(expression,$x) $expression } # ------------------------------------------------------- # getBookmarkEntry # # returns the current state of the bookmark. This is # called by the librarian as soon as the dd informs # it that the bookmarks have changed. # # ------------------------------------------------------- method getBookmarkEntry {} { set tmp "" set allfields "" foreach priv [array names privdata] { if [regsub {expression,} $priv {} index] { lappend tmp [list $index $privdata($priv)] } } if {[llength $tmp] > 0} { lappend allfields [list EXPRESSION $tmp] } # if there is no mbr, figure out what it is. if ![::info exists privdata(mbr)] { if ![catch {set l_ggb [lrange [ecs_GetGlobalBound $url] 0 3]}] { lappend allfields [list MBR $l_ggb] } } else { lappend allfields [list MBR $privdata(mbr)] } #puts "allfields is >$allfields<" return $allfields } method getall {} { foreach pr [array names privdata] { puts "privdata($pr)=>$privdata($pr)" } } #-------------------------------------------------------------- # # # #--------------------------------------------------------------- method _insertAttributes { w_comboboxAttr} { set x [ecs_UpdateDictionary $url [$this getCurrentPathname]] set p [$this getCurrentSelection] set l [split $x \n] set classe [virtual getSelectedClass] foreach x $l { # set attribute [string match $x [=]] set attribute [regexp -nocase {^ } $x tmp] if {$attribute == 1 } { set attribute2 [string match "*=*" $x] if {$attribute2 == 0} { $w_comboboxAttr insert end [string trim $x " "] } } } } #-------------------------------------------------------------- # _insertValues insert the values in the list of values. # # #--------------------------------------------------------------- method _insertValues { w_comboboxValues attribute} { set x [ecs_UpdateDictionary $url [$this getCurrentPathname]] if {$attribute == "" } { return } set combo [$w_comboboxValues subwidget listbox] $combo delete 0 end #puts "attribute $attribute" set p $x set l [split $x \n] set gg [string range $l [string last $attribute $l] end ] if { $gg == "" } { } else { set gg2 [string range $gg [expr [string length $attribute] + 2] end] foreach y $gg2 { set attribute3 [string match "*-*" $y] if { $attribute3 == 1 } { return } else { $w_comboboxValues insert end [string trim $y " "] } } } } #--------------------------------------------------------------------- # _updateQuery allow to modify the field of the query # # Returned values : nothing #--------------------------------------------------------------------- method _updateQuery {} { global attr1 op1 value1 global attr2 op2 value2 global attr3 op3 value3 global requete1 requete2 requete3 queryvrf global andor1 andor2 if {$value1 == "" || $attr1 == "" || $op1 == ""} { set requete1 "" } if {$value2 == "" || $attr2 == "" || $op2 == ""} { set requete2 "" } if {$value3 == "" || $attr3 == "" || $op3 == ""} { set requete3 "" } switch $andor1 { 1 { switch $andor2 { 1 { set cond1 "AND" set cond2 "AND" } 0 { set cond1 "AND" set cond2 "OR" } default { } } } 0 { switch $andor2 { 1 { set cond1 "OR" set cond2 "AND" } 0 { set cond1 "OR" set cond2 "OR" } default { } } } default { } } set queryvrf "" if {$requete1 != "" } { lappend queryvrf [eval concat $requete1] if {$requete2 != "" } { lappend queryvrf $cond1 lappend queryvrf [eval concat $requete2] if {$requete3 != ""} { lappend queryvrf $cond2 lappend queryvrf [eval concat $requete3] } } else { if {$requete3 != ""} { lappend queryvrf $cond1 lappend queryvrf [eval concat $requete3] } } } else { if {$requete2 != "" } { #lappend queryvrf $cond lappend queryvrf $requete2 if {$requete3 != ""} { lappend queryvrf $cond2 lappend queryvrf [eval concat $requete3] } } } $w(text) delete 0 end $w(text) insert end [eval concat $queryvrf] } #-------------------------------------------------------------- # _insertOperator insert the operators in the list of operators # # #--------------------------------------------------------------- method _insertOperator { w_comboboxOp} { set list_op {= > < >= <= !=} foreach var $list_op { $w_comboboxOp insert end $var } } #####Edit metadadata code add by pc # ----------------------------------------------------------- # metadata # # open the metadata window # # ----------------------------------------------------------- method f_metadata {} { $w(button) configure -state disabled meta_showdict meta_update } # -------------------------------- # the metadata window.... # -------------------------------- method meta_showdict {} { set w(dd) .meta_${this} if [winfo exists $w(dd)] { wm deiconify $w(dd) raise $w(dd) return } meta_layoutdict } method meta_update { } { set metatext [ecs_UpdateDictionary $url] set nb [llength $metatext] set dblibmeta [lindex $metatext 0] set allcovstring [lindex $metatext 1] set dblibmeta2 [lindex $dblibmeta 1] # extraction ddb metadonnees set ddbmetadata [lindex $dblibmeta2 0] set libmetadata [lindex $dblibmeta2 1] foreach covstring $allcovstring { set namecov [lindex $covstring 1] set selectcov [getSelectedCoverage] if {[string compare $namecov [getSelectedCoverage]] ==0} { set covcomplete [lindex $covstring 4] set covmetadata [lindex $covcomplete 2] } } if [catch {$w(ddtext) insert end $ddbmetadata} s_result] { $obj_Environment errorMsg "Could not retrieve the metadata" } if [catch {$w(ddtext1) insert end $libmetadata} s_result] { $obj_Environment errorMsg "Could not retrieve the metadata" } if [catch {$w(ddtext2) insert end $covmetadata} s_result] { $obj_Environment errorMsg "Could not retrieve the metadata" } } method meta_layoutdict {} { toplevel $w(dd) wm title $w(dd) [$obj_Environment GetString MESSAGE-METADATA] pack [tixLabelFrame $w(dd).fr -label [$obj_Environment GetString MESSAGE-METADATA]] \ -side top \ -expand true \ -fill both #yk $obj_Environment resetTixLabelFrameOptions $w(dd).fr set w(ddfr) [$w(dd).fr subwidget frame] frame $w(ddfr).groove \ -borderwidth 2 \ -relief groove frame $w(ddfr).groove.sunken \ -borderwidth 2 \ -relief sunken set m_notebook [tixNoteBook $w(ddfr).groove.sunken.notebook] pack append $w(ddfr).groove.sunken \ $w(ddfr).groove.sunken.notebook {top expand fillx filly} pack append $w(ddfr).groove \ $w(ddfr).groove.sunken {top expand fillx filly} pack append $w(ddfr)\ $w(ddfr).groove {top expand fillx filly} $m_notebook add ddbtab \ -label Database_table $m_notebook add libtab \ -label Library_table $m_notebook add covtab \ -label Coverage_table #cree une variable utilisable set pathddbtab [$m_notebook subwidget ddbtab] set pathlibtab [$m_notebook subwidget libtab] set pathcovtab [$m_notebook subwidget covtab] #cree la fenetre a l'interieur de la carte pack [set w(ddtext) [text $pathddbtab.text \ -height 20 \ -width 80\ -yscrollcommand "$pathddbtab.sby set"]] \ -side left \ -expand true\ -fill both pack [scrollbar $pathddbtab.sby \ -orient vertical \ -command [list $w(ddtext) yview]] \ -side right \ -fill y pack [set w(ddtext1) [text $pathlibtab.text \ -height 20 \ -width 80\ -yscrollcommand "$pathlibtab.sby set"]] \ -side left \ -expand true\ -fill both pack [scrollbar $pathlibtab.sby \ -orient vertical \ -command [list $w(ddtext1) yview]] \ -side right \ -fill y pack [set w(ddtext2) [text $pathcovtab.text \ -height 20 \ -width 80\ -yscrollcommand "$pathcovtab.sby set"]] \ -side left \ -expand true\ -fill both pack [scrollbar $pathcovtab.sby \ -orient vertical \ -command [list $w(ddtext2) yview]] \ -side right \ -fill y ### pack [set w_bfr [frame $w(dd).bfr]] \ -side top \ -fill x \ -pady 2 \ -expand false pack [button $w_bfr.ok -text OK -command "$this meta_killdict" -width 10] \ -side top \ -expand false set x [expr [winfo screenwidth $w(dd)]/2 - [winfo reqwidth $w(dd)]/2 \ - [winfo vrootx [winfo parent $w(dd)]]] if {$x < 0} {set x 0} set y [expr [winfo screenheight $w(dd)]/2 - [winfo reqheight $w(dd)]/2 \ - [winfo vrooty [winfo parent $w(dd)]]] if {$y < 0} {set y 0} wm geom $w(dd) +$x+$y update idletasks update getGrab $w(dd) } method meta_destroy {} { if [::info exists w(dd)] { if [winfo exists $w(dd)] { releaseGrab destroy $w(dd) } } } method meta_killdict {} { releaseGrab destroy $w(dd) $w(button) configure -state normal } #*********************************************************************** # PROCEDURE: setCurrent # ARGUMENTS: location # RETURNED VALUES: none # ACCESS: private # DESCRIPTION: #*********************************************************************** method setCurrent {location} { set s_ddbtable $location } ################### protected a_s_label ;# the index between labels and names. ;# e.g. a_s_label(Political Boundaries)=PO protected userchar "*" ;# character that prefixes maps defined by expr protected coverageOrder {Area Line Text Point} } P    %)+ p2`68.Decimal Degrees 0e6cfccbab4c1843b96f8150a3b6879e5a3e92.debug"!.shstrtab.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.data.bss.gnu_debuglink  $1o; HC KoFXo@ @ Pg qB##{00v 0 0444499Q YY ``zz}}P[K[K [ K0 P[PKP]PM`PHr `H  H4|