You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

117 lines
11 KiB

#zip file with Tcl loader prepended. Requires either builtin zipfs, or vfs::zip to mount while zipped.
#Alternatively unzip so that extracted #modpod-package-version folder is in same folder as .tm file.
#generated using: modpod::lib::make_zip_modpod -offsettype archive <zipfile> <tmfile>
if {[catch {file normalize [info script]}]} {
error "modpod zip stub error. Unable to determine module path. (possible safe interp restrictions?)"
}
apply {{modfile} {
if {$modfile eq "" || ![file exists $modfile]} {
error "modpod zip stub error. Unable to determine module path"
}
set moddir [file dirname $modfile]
set exedir [file dirname [file normalize [info nameofexecutable]]]
set mod_and_ver [file rootname [file tail $modfile]]
lassign [split $mod_and_ver -] moduletail version
set do_intersect {{A B} {
if {[llength $A] == 0} {return {}}
if {[llength $B] == 0} {return {}}
if {[llength $B] > [llength $A]} {
set res $A
set A $B
set B $res
}
set res {}
foreach x $A {set ($x) {}}
foreach x $B {
if {[info exists ($x)]} {
lappend res $x
}
}
return $res
}}
#determine module namespace so we can mount appropriately
set lcase_tmfile_segments [string tolower [file split $moddir]]
set lcase_modulepaths [string tolower [tcl::tm::list]]
foreach lc_mpath $lcase_modulepaths {
set mpath_segments [file split $lc_mpath]
if {[llength [apply $do_intersect $lcase_tmfile_segments $mpath_segments]] == [llength $mpath_segments]} {
set tail_segments [lrange [file split $moddir] [llength $mpath_segments] end] ;#use properly cased tail
break
}
}
if {[llength $tail_segments]} {
set fullpackage [join [concat $tail_segments $moduletail] ::] ;#full name of package as used in package require
set mount_at #modpod/[file join {*}$tail_segments]/#mounted-modpod-$mod_and_ver
} else {
set fullpackage $moduletail
set mount_at #modpod/#mounted-modpod-$mod_and_ver
}
if {[info commands tcl::zipfs::mount] ne ""} {
#argument order changed to be consistent with vfs::zip::Mount etc
#early versions: zipfs::Mount mountpoint zipname
#since 2023-09: zipfs::Mount zipname mountpoint
#don't use 'file exists' when testing mountpoints. (some versions at least give massive delays on windows platform for non-existance)
#This is presumably related to // being interpreted as a network path
set mountpoints [dict keys [tcl::zipfs::mount]]
if {"//zipfs:/$mount_at" ni $mountpoints} {
#despite API change tcl::zipfs package version was unfortunately not updated - so we don't know argument order without trying it
if {[catch {
#tcl::zipfs::mount $modfile //zipfs:/#mounted-modpod-$mod_and_ver ;#extremely slow if this is a wrong guess (artifact of aforementioned file exists issue ?)
#puts "tcl::zipfs::mount $modfile $mount_at"
tcl::zipfs::mount $modfile $mount_at
} errM]} {
#try old api
if {![catch {tcl::zipfs::mount //zipfs:/$mount_at $modfile}]} {
puts stderr "modpod stub>>> tcl::zipfs::mount <file> <mountpoint> failed.\nbut old api: tcl::zipfs::mount <mountpoint> <file> succeeded\n tcl::zipfs::mount //zipfs://$mount_at $modfile"
puts stderr "Consider upgrading tcl runtime to one with fixed zipfs API"
}
}
if {![file exists //zipfs:/$mount_at/#modpod-$mod_and_ver/$mod_and_ver.tm]} {
puts stderr "modpod stub>>> mount at //zipfs:/$mount_at/#modpod-$mod_and_ver/$mod_and_ver.tm failed\n zipfs mounts: [zipfs mount]"
#tcl::zipfs::unmount //zipfs:/$mount_at
error "Unable to find $mod_and_ver.tm in $modfile for module $fullpackage"
}
}
# #modpod-$mod_and_ver subdirectory always present in the archive so it can be conveniently extracted and run in that form
uplevel 1 [list source //zipfs:/$mount_at/#modpod-$mod_and_ver/$mod_and_ver.tm]
} else {
#fallback to slower vfs::zip
#NB. We don't create the intermediate dirs - but the mount still works
if {![file exists $exedir/$mount_at]} {
if {[catch {package require vfs::zip} errM]} {
set msg "Unable to load vfs::zip package to mount module $mod_and_ver (and zipfs not available either)"
append msg \n "If neither zipfs or vfs::zip are available - the module can still be loaded by manually unzipping the file $modfile in place."
append msg \n "The unzipped data will all be contained in a folder named #modpod-$mod_and_ver in the same parent folder as $modfile"
error $msg
} else {
set fd [vfs::zip::Mount $modfile $exedir/$mount_at]
if {![file exists $exedir/$mount_at/#modpod-$mod_and_ver/$mod_and_ver.tm]} {
vfs::zip::Unmount $fd $exedir/$mount_at
error "Unable to find $mod_and_ver.tm in $modfile for module $fullpackage"
}
}
}
uplevel 1 [list source $exedir/$mount_at/#modpod-$mod_and_ver/$mod_and_ver.tm]
}
}} [file normalize [info script]]
#zipped data follows
PK<EFBFBD>T<EFBFBD>8@1<EFBFBD><EFBFBD>*-'#modpod-treeobj-1.3.1/demo/demo-0.1.tcl<EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD>J1<EFBFBD>/<EFBFBD>?<<EFBFBD><EFBFBD><EFBFBD>k<EFBFBD>I*ҋ<EFBFBD>"<EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><EFBFBD><EFBFBD>f<EFBFBD><EFBFBD>̶<EFBFBD>|<EFBFBD><EFBFBD>.<EFBFBD>P%<EFBFBD><EFBFBD>Ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD>%<EFBFBD><EFBFBD>t <EFBFBD>wy<EFBFBD>a<EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD>,<EFBFBD>Ä<EFBFBD>7<EFBFBD>'<EFBFBD>Ï<EFBFBD><EFBFBD>
<EFBFBD>@<EFBFBD> <EFBFBD><EFBFBD> DY<EFBFBD><EFBFBD><EFBFBD><EFBFBD>><EFBFBD>QgL<EFBFBD><EFBFBD>X<EFBFBD>1?/f<EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>=y:<EFBFBD><EFBFBD>nQ<EFBFBD>#\
<EFBFBD>mI<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><EFBFBD>#mq<EFBFBD>3{<EFBFBD>֩<EFBFBD>P\<EFBFBD><EFBFBD>f<EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ak: <EFBFBD><EFBFBD>ZS%<EFBFBD>B<EFBFBD>td<EFBFBD><EFBFBD><EFBFBD>-٦ȱH<EFBFBD>آ<EFBFBD><EFBFBD><EFBFBD>) ȳ<EFBFBD><EFBFBD>yv<EFBFBD><EFBFBD><EFBFBD>^<EFBFBD><EFBFBD>N<EFBFBD>8<EFBFBD><EFBFBD>ej<EFBFBD> <EFBFBD>ȸ<EFBFBD>Jp3rbӿ^<EFBFBD><EFBFBD>E
<EFBFBD>m<EFBFBD><EFBFBD>ds<EFBFBD><EFBFBD><EFBFBD>¬ؿ><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD>w><EFBFBD><EFBFBD>q<EFBFBD><EFBFBD><EFBFBD>^X<EFBFBD><EFBFBD>7PK׎/\"<EFBFBD><EFBFBD>u'?&#modpod-treeobj-1.3.1/treeobj-1.3.1.tm<EFBFBD>ko<EFBFBD>F<EFBFBD><EFBFBD><EFBFBD>+6<EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>s<EFBFBD>C<EFBFBD><EFBFBD>Q<EFBFBD><EFBFBD>C/hs(<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H<EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD>~<EFBFBD><EFBFBD>].W$-<EFBFBD>bK<EFBFBD>3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<EFBFBD> <EFBFBD>/<EFBFBD>R<EFBFBD>\<EFBFBD>^<EFBFBD>\<EFBFBD>MX<EFBFBD>2O<EFBFBD><EFBFBD><EFBFBD>V<EFBFBD><EFBFBD> <EFBFBD>k<EFBFBD>󗓥2<EFBFBD>2*<EFBFBD>$<EFBFBD>;<EFBFBD>:NT*<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<EFBFBD>d1<EFBFBD><EFBFBD>w<EFBFBD> K)`<EFBFBD><EFBFBD>g <EFBFBD>Xd<EFBFBD><EFBFBD><EFBFBD>&<EFBFBD>6<EFBFBD><EFBFBD>y<EFBFBD> <EFBFBD>w<EFBFBD>bɟ<EFBFBD>y<EFBFBD>Ul<EFBFBD>Xܫrn<EFBFBD>=<EFBFBD><EFBFBD>̳*<EFBFBD><EFBFBD>,<EFBFBD>e<EFBFBD><EFBFBD><EFBFBD>r%<EFBFBD>n<EFBFBD><EFBFBD>"KK<EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD>짽P<EFBFBD>\;<EFBFBD>k<EFBFBD>2^.%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD>Rnx<EFBFBD><EFBFBD><EFBFBD>/2<EFBFBD>ܕ<EFBFBD> <EFBFBD>r<EFBFBD>D<EFBFBD><EFBFBD><EFBFBD><EFBFBD>تB<EFBFBD>'R<EFBFBD>
N<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*J<EFBFBD>؋<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD>e<EFBFBD>3<EFBFBD><EFBFBD>g<EFBFBD><EFBFBD><EFBFBD><EFBFBD>#H/<EFBFBD>/DA`bV<EFBFBD><EFBFBD>J<EFBFBD><EFBFBD>2KTQ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD> <EFBFBD>ej<EFBFBD><EFBFBD><EFBFBD>;<EFBFBD>)<EFBFBD>h<EFBFBD>NE<EFBFBD><EFBFBD>%-"<EFBFBD>@<EFBFBD><EFBFBD>ɊT \<EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>_s<EFBFBD><EFBFBD>f<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Yl<EFBFBD><EFBFBD>d<EFBFBD>B-+<EFBFBD><EFBFBD>3x#8<EFBFBD><EFBFBD>:<EFBFBD>-<EFBFBD>@<EFBFBD> <EFBFBD>1@<EFBFBD>X-2<EFBFBD>i<EFBFBD><EFBFBD><EFBFBD>>)l𘈑p<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sHnp<EFBFBD>Z<EFBFBD><EFBFBD>Gu?<EFBFBD>=<EFBFBD>yN0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD>P<EFBFBD><EFBFBD>%0<EFBFBD><EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>[B<EFBFBD>y<EFBFBD>`<EFBFBD>!<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>G<EFBFBD>\<EFBFBD><EFBFBD><EFBFBD>C<EFBFBD><EFBFBD><EFBFBD>"pQ<EFBFBD>Y<EFBFBD>m<EFBFBD><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD><EFBFBD>vY]A<EFBFBD><EFBFBD>GDjlA|<EFBFBD><EFBFBD><EFBFBD>*Ə<EFBFBD>\e<EFBFBD>(<EFBFBD>i<EFBFBD>ٕ<EFBFBD><EFBFBD>|<EFBFBD>*<EFBFBD>:<EFBFBD><[<EFBFBD>0<EFBFBD><EFBFBD> d <EFBFBD><EFBFBD>Q<EFBFBD>Ŗ<EFBFBD>J<EFBFBD><EFBFBD>V<EFBFBD>f2RY<EFBFBD>2
<EFBFBD><EFBFBD>)w<<EFBFBD>a0<EFBFBD><EFBFBD>X<EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD><EFBFBD>4q<EFBFBD>ڸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>&S)<EFBFBD><EFBFBD>2<EFBFBD>Ā<EFBFBD><EFBFBD>\<EFBFBD><EFBFBD>O`<EFBFBD><EFBFBD>.K<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>9?~<EFBFBD>a<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˆ<EFBFBD><EFBFBD>q<EFBFBD><EFBFBD>;fw&:<EFBFBD>Ӳ<EFBFBD>8 2<EFBFBD>ý 9<EFBFBD>y<EFBFBD>.<EFBFBD><EFBFBD><EFBFBD>=<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rlV<EFBFBD>($[C<EFBFBD>7ޭҚ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>c<EFBFBD>JЏ<EFBFBD><EFBFBD>)m<EFBFBD>/-<EFBFBD><EFBFBD>qڡ/<EFBFBD>-<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>y+<EFBFBD><EFBFBD>:<EFBFBD>0<EFBFBD>ݠ<EFBFBD><EFBFBD>2h<EFBFBD><EFBFBD>`<EFBFBD>`o<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD>Hgx<<EFBFBD><EFBFBD><EFBFBD>}<EFBFBD><EFBFBD>~<EFBFBD>F<EFBFBD>&]0<EFBFBD>f<EFBFBD>u?G^
k<EFBFBD>pмk<EFBFBD><EFBFBD>$rӡ<EFBFBD>F_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y7<EFBFBD>w<EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>7AE<EFBFBD>%Z<EFBFBD>z<EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><EFBFBD>J<EFBFBD>-}<EFBFBD>O:<EFBFBD>c<EFBFBD>
7<EFBFBD> ӣ<EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><EFBFBD>i:!<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>hQBHTX0 0f<EFBFBD><EFBFBD>DK<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H<EFBFBD><EFBFBD>E<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Jb<EFBFBD><EFBFBD><EFBFBD><EFBFBD>f<EFBFBD><EFBFBD><EFBFBD>#<EFBFBD>D<EFBFBD><EFBFBD>R<EFBFBD>;g0W<EFBFBD>M+\<EFBFBD>L<<EFBFBD>@<EFBFBD>ӱ.Q<EFBFBD><EFBFBD><EFBFBD><<EFBFBD><EFBFBD>-<EFBFBD>R<EFBFBD>U<EFBFBD><EFBFBD>|is"X<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>>|(7<EFBFBD>0fr<EFBFBD><EFBFBD>n<EFBFBD>EX%%<EFBFBD>Q<EFBFBD>d<EFBFBD>6<EFBFBD><EFBFBD>Nk<EFBFBD>C<EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD>ST<EFBFBD>=c<EFBFBD><EFBFBD>PӈFVWp<EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><EFBFBD><EFBFBD>\o0<EFBFBD>Wk0<EFBFBD><EFBFBD>t]<EFBFBD><EFBFBD><EFBFBD>E<EFBFBD>pTs <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<EFBFBD><EFBFBD><EFBFBD>#<EFBFBD>m
)<EFBFBD><EFBFBD>.<EFBFBD>-<EFBFBD>N]V]ae s<EFBFBD>b:<EFBFBD>ca<EFBFBD>!Oc<EFBFBD>EW<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>J<EFBFBD><EFBFBD><EFBFBD>M9<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>b<EFBFBD><EFBFBD>֩y<EFBFBD> k<EFBFBD>A]<EFBFBD><EFBFBD><EFBFBD>B<EFBFBD>K<EFBFBD><EFBFBD>
<EFBFBD>7 <EFBFBD><EFBFBD>I<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD><EFBFBD>p- <EFBFBD>uq <EFBFBD>FXΰa<EFBFBD>1m<EFBFBD>]<EFBFBD><EFBFBD><EFBFBD><EFBFBD>f<EFBFBD>io<EFBFBD><EFBFBD><EFBFBD>e<EFBFBD>J<EFBFBD>#F<EFBFBD>wW<EFBFBD><EFBFBD><EFBFBD> F<EFBFBD><EFBFBD><EFBFBD>en<EFBFBD><EFBFBD><EFBFBD>fX<EFBFBD>r<EFBFBD>97<EFBFBD>c&<EFBFBD>^n<EFBFBD>m<EFBFBD>+"<EFBFBD>8(<EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<EFBFBD>[<EFBFBD><EFBFBD>=V<EFBFBD>K<EFBFBD>7G<EFBFBD>*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ZU"<EFBFBD><EFBFBD>v$<EFBFBD>3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>F<EFBFBD>\<EFBFBD>V<EFBFBD><EFBFBD>w<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NY<EFBFBD>Nq<EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>Fw<EFBFBD>߉<EFBFBD>̃<EFBFBD>n<EFBFBD>EFւ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>KF
<EFBFBD><*<EFBFBD>5<EFBFBD> <EFBFBD>̴<EFBFBD> <EFBFBD><EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD>X<EFBFBD><EFBFBD>D <EFBFBD><EFBFBD><EFBFBD>lX<EFBFBD><EFBFBD>qm$ܓ4h<EFBFBD><EFBFBD>aG><EFBFBD><EFBFBD>gn[Fe8W<EFBFBD>{<EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD>*<EFBFBD>C<EFBFBD>]<EFBFBD>8q<EFBFBD>9<EFBFBD><EFBFBD>۫5<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>0%<EFBFBD><EFBFBD>#<EFBFBD><EFBFBD>
<EFBFBD>-<EFBFBD><EFBFBD>
N3<EFBFBD><EFBFBD>l<EFBFBD>qS<EFBFBD><EFBFBD>tg<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>c<EFBFBD>P<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>c <EFBFBD>#bZOr<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0T<EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>v=<EFBFBD>@<EFBFBD><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>(<EFBFBD>hENO<EFBFBD><EFBFBD>dO}5<EFBFBD>o4J<EFBFBD><EFBFBD>O<EFBFBD>1+2O{<EFBFBD>MWh
U<EFBFBD>{3!=<EFBFBD>҅-[:<EFBFBD>^<EFBFBD>BnrM`<EFBFBD><EFBFBD>M0<EFBFBD>s<EFBFBD>$<EFBFBD>ٴE<EFBFBD>)s<EFBFBD><EFBFBD>a<EFBFBD>Տ
M<EFBFBD>pH<EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><EFBFBD>E<EFBFBD>LN<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>9<EFBFBD>t<EFBFBD>$-<EFBFBD><EFBFBD><EFBFBD>rgSA<EFBFBD>*<EFBFBD>8<EFBFBD>JH<EFBFBD><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD><EFBFBD><EFBFBD>wq<EFBFBD><EFBFBD>[w֐^KIfh<EFBFBD>z<EFBFBD><EFBFBD>k<EFBFBD>s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˜<EFBFBD>&<EFBFBD>2T<EFBFBD>ή<EFBFBD>O<EFBFBD>U<EFBFBD><EFBFBD><EFBFBD>c1<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD>n<EFBFBD><EFBFBD>%<EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>uA@̊U<EFBFBD>h|<EFBFBD>A<EFBFBD> ;<EFBFBD><EFBFBD>QWK<EFBFBD>;<EFBFBD><EFBFBD>S<EFBFBD>8?<EFBFBD>!X<EFBFBD>Q<EFBFBD><EFBFBD>x(,N<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD>,U<EFBFBD><EFBFBD><EFBFBD>8]2<EFBFBD>PԳ9<EFBFBD>2<EFBFBD>c<EFBFBD>^<EFBFBD><EFBFBD><EFBFBD>o_<EFBFBD><EFBFBD>l<EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>>ʰm<EFBFBD>[<EFBFBD>yqy<EFBFBD>A<EFBFBD><EFBFBD>?<EFBFBD>O!<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!x<EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><EFBFBD><EFBFBD>@<EFBFBD>KQ<EFBFBD><EFBFBD>F<EFBFBD>FFj<EFBFBD>"m<EFBFBD>z <EFBFBD><EFBFBD><EFBFBD>!<EFBFBD>7WI<EFBFBD><EFBFBD><EFBFBD>E<EFBFBD>Cd_]<EFBFBD>!<EFBFBD>f)<EFBFBD>|0Jh<EFBFBD><EFBFBD>C<EFBFBD>.E<EFBFBD><EFBFBD>$J<EFBFBD>m<EFBFBD><EFBFBD><EFBFBD>! <EFBFBD> <EFBFBD>0<EFBFBD>v<EFBFBD>Wj<EFBFBD>J<EFBFBD>_ <EFBFBD>}IeQ\a<EFBFBD><EFBFBD>8ON<EFBFBD>P<EFBFBD>Wb<EFBFBD><EFBFBD>;fk@<EFBFBD>(W<EFBFBD><EFBFBD>5N$<EFBFBD><EFBFBD>ٖ<EFBFBD><EFBFBD>Ev<EFBFBD><EFBFBD><EFBFBD>7Жn<EFBFBD><EFBFBD>O<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<EFBFBD>oj<EFBFBD>;/<EFBFBD>w{<EFBFBD>oo<EFBFBD><EFBFBD>k<EFBFBD>x<EFBFBD><EFBFBD>$o2f<EFBFBD>h['<EFBFBD>nŗ<EFBFBD>t <EFBFBD><EFBFBD>{<EFBFBD>j<EFBFBD><EFBFBD><EFBFBD>uk<EFBFBD><EFBFBD><EFBFBD><EFBFBD>W16^<EFBFBD>1 <EFBFBD>p<EFBFBD><EFBFBD>1d<EFBFBD><EFBFBD><EFBFBD>ugf<EFBFBD> <EFBFBD><EFBFBD>N<EFBFBD>I<EFBFBD><EFBFBD> ,-s*<EFBFBD>r<EFBFBD>c<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ev7<EFBFBD> <EFBFBD> <EFBFBD>W<EFBFBD>Uk<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<EFBFBD><EFBFBD><EFBFBD>8<EFBFBD>VF+<EFBFBD><EFBFBD><EFBFBD>'<EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>n]<EFBFBD>v[%<EFBFBD>4><EFBFBD>Ә<EFBFBD><EFBFBD>d<EFBFBD>Õh<EFBFBD>!<EFBFBD><EFBFBD><EFBFBD><EFBFBD> .^"<EFBFBD><EFBFBD>qx<EFBFBD>+Y<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>98<EFBFBD><EFBFBD>XdQU)<EFBFBD>^<EFBFBD>öW [+<EFBFBD>: <EFBFBD>mB<EFBFBD><EFBFBD> a<EFBFBD>)<EFBFBD><EFBFBD><EFBFBD>B<EFBFBD>Z!<EFBFBD><EFBFBD><EFBFBD><EFBFBD>L!<EFBFBD><EFBFBD>.!<EFBFBD><EFBFBD><EFBFBD><EFBFBD>r<<EFBFBD>~r-<EFBFBD>#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<EFBFBD><EFBFBD>^p<EFBFBD><EFBFBD>W<EFBFBD>Q<EFBFBD>T<EFBFBD>ç<EFBFBD><EFBFBD>e/R<EFBFBD>Pt<EFBFBD>g<EFBFBD>X<EFBFBD>F<EFBFBD><EFBFBD>M <EFBFBD>٧<EFBFBD>N<EFBFBD>[<EFBFBD>Û<EFBFBD><EFBFBD>¤8 <EFBFBD>~<EFBFBD><EFBFBD>i<EFBFBD><EFBFBD>DQSe<EFBFBD><EFBFBD>ϣ=<EFBFBD>E<EFBFBD>;zS<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,q4<EFBFBD>y1{<EFBFBD><EFBFBD>s<EFBFBD> "20<EFBFBD>3(b<EFBFBD> ϥ<EFBFBD>taUf<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)O<EFBFBD><EFBFBD>%,<EFBFBD>̳3e<EFBFBD>`<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]B<EFBFBD><EFBFBD><EFBFBD>Ec1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>;<EFBFBD><EFBFBD>4_P<EFBFBD>6<EFBFBD>i<EFBFBD>Jw<EFBFBD><EFBFBD><EFBFBD>B<EFBFBD> <EFBFBD><EFBFBD>PP+<EFBFBD>R<EFBFBD> !(?<EFBFBD><EFBFBD><EFBFBD>%<EFBFBD>6r<EFBFBD>_~<EFBFBD><EFBFBD><EFBFBD>h<EFBFBD>;D^4&<EFBFBD><EFBFBD><EFBFBD><I<EFBFBD>ʌ<EFBFBD><EFBFBD> Ŭ<EFBFBD>9<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>պ<EFBFBD><EFBFBD>~<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD>$j<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>)V,#<EFBFBD>B<EFBFBD><EFBFBD><EFBFBD>J<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<<EFBFBD><EFBFBD>}<EFBFBD>ȶ<EFBFBD>z<EFBFBD>4%G)<EFBFBD><EFBFBD>"<EFBFBD><EFBFBD>I<EFBFBD>P<EFBFBD>ŊH<EFBFBD>H|Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѕ<EFBFBD>7<EFBFBD>8,<EFBFBD>1ך<EFBFBD>#<EFBFBD><<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?}<EFBFBD>u8+Er<EFBFBD><EFBFBD>/^<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>E`<EFBFBD>&>ץ<EFBFBD>L <EFBFBD><EFBFBD>><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>&KȐ<EFBFBD>3Jw<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD>E<EFBFBD><EFBFBD>$<EFBFBD>qF<EFBFBD>Mb5zZvb<EFBFBD>LgLH<EFBFBD>zS\<{<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>)<EFBFBD>٣8<EFBFBD><EFBFBD>M{&MmG&<EFBFBD><EFBFBD>v%<EFBFBD><EFBFBD>Oi(<EFBFBD><EFBFBD> SѪ<EFBFBD><EFBFBD>o<EFBFBD> w<EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>~#<EFBFBD>!<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ~<EFBFBD><EFBFBD>Ԙ<EFBFBD>!<EFBFBD>x<EFBFBD>T(<EFBFBD>GI}t<<EFBFBD><EFBFBD>L$!<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>].<EFBFBD>L0<EFBFBD><EFBFBD> _M<EFBFBD><EFBFBD><EFBFBD>3><EFBFBD>6<EFBFBD><EFBFBD>.<EFBFBD>:<EFBFBD>[ӻiȿ`xU<EFBFBD><EFBFBD><EFBFBD>@<EFBFBD>h<EFBFBD>n ]<EFBFBD><EFBFBD><EFBFBD>R5J<EFBFBD><EFBFBD>Ł<EFBFBD><EFBFBD><EFBFBD>vm<EFBFBD><EFBFBD>M;e<EFBFBD>!%V<EFBFBD>6L]<EFBFBD>"BC%D<EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><EFBFBD><EFBFBD>5ĩn,T<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>[nΗ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><EFBFBD><EFBFBD>h<EFBFBD>"<EFBFBD>" <EFBFBD>2<EFBFBD><EFBFBD><EFBFBD>]<EFBFBD><EFBFBD>",<EFBFBD> j$<EFBFBD>?'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<EFBFBD>u<EFBFBD><EFBFBD><EFBFBD><EFBFBD>E<EFBFBD>L<EFBFBD>r'$<EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD>ax A<EFBFBD><EFBFBD>b<EFBFBD><EFBFBD>W:Ҍ<EFBFBD><EFBFBD>Do<EFBFBD><EFBFBD><EFBFBD>~=rb<EFBFBD><EFBFBD>l<EFBFBD><EFBFBD><EFBFBD>E <EFBFBD>3M-<y<EFBFBD>ؐ֟<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<EFBFBD>E<EFBFBD>c0<EFBFBD>OP<EFBFBD>o<EFBFBD><EFBFBD><EFBFBD>!w6ґ <EFBFBD><EFBFBD>;~4<EFBFBD><EFBFBD><US9h<EFBFBD><EFBFBD>f<EFBFBD>fP%̏=n<EFBFBD><EFBFBD>u<EFBFBD><EFBFBD>n<EFBFBD>I<EFBFBD>:`<EFBFBD>v(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD>aų<EFBFBD><EFBFBD>L <EFBFBD>_wP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>iT<EFBFBD><EFBFBD>_<EFBFBD><EFBFBD>1<EFBFBD>Ά<EFBFBD><EFBFBD>0<EFBFBD>q<EFBFBD>,2<EFBFBD>:<EFBFBD> 5<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D-WXG<EFBFBD>O<EFBFBD>1Ľ<EFBFBD>E<EFBFBD><EFBFBD><EFBFBD>{<EFBFBD><EFBFBD> R#Ea<EFBFBD> <EFBFBD>N?<EFBFBD>Lw<EFBFBD><EFBFBD>^o%?<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD>`:<EFBFBD>eT<EFBFBD><EFBFBD><EFBFBD>.0<EFBFBD>6`<EFBFBD><EFBFBD>9"a<EFBFBD>M<EFBFBD><EFBFBD>i<EFBFBD><EFBFBD> q@<EFBFBD><j<EFBFBD><EFBFBD>4<EFBFBD>?<EFBFBD><EFBFBD>55~ծ<EFBFBD><EFBFBD>=<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`-Wk<EFBFBD><EFBFBD>f8f@<EFBFBD>':5 }<<EFBFBD><EFBFBD>a\p><EFBFBD>ؤ<EFBFBD>H<EFBFBD>*g<EFBFBD>' <EFBFBD><EFBFBD><EFBFBD><EFBFBD>y*<EFBFBD>A<EFBFBD>ks<EFBFBD>Fh <EFBFBD><EFBFBD>`<EFBFBD><EFBFBD>t<EFBFBD><EFBFBD> <EFBFBD>ˋޫ<EFBFBD><EFBFBD>| <EFBFBD>_<EFBFBD>Œf<EFBFBD><EFBFBD>D<EFBFBD>?U?Ðf$?<EFBFBD>:Q<EFBFBD><EFBFBD>\<EFBFBD>'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD><EFBFBD><EFBFBD><EFBFBD>u<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD>H.<EFBFBD>K{Υ<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>u<EFBFBD>)k<EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z7<EFBFBD>T<EFBFBD><EFBFBD>P<EFBFBD><EFBFBD>,<EFBFBD>;<EFBFBD>o<EFBFBD>7<EFBFBD>lO<EFBFBD><EFBFBD> <EFBFBD>H<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ui<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>9<EFBFBD>[2<EFBFBD>`<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӟl<EFBFBD><EFBFBD>E<EFBFBD>cN<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ψ<EFBFBD><EFBFBD>K<EFBFBD>8<EFBFBD><<EFBFBD>(<EFBFBD>:<EFBFBD><EFBFBD>n<EFBFBD><EFBFBD>^<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>Ia<EFBFBD>,cn<EFBFBD>l<EFBFBD>$<EFBFBD><EFBFBD>A"<EFBFBD>1}K.<EFBFBD>'<EFBFBD><EFBFBD>k;|R<EFBFBD>9<EFBFBD>p6<EFBFBD>h”~<EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD>`<EFBFBD>r 7M¢<<EFBFBD>I<EFBFBD>P<EFBFBD>:L]<EFBFBD>f<EFBFBD><EFBFBD> >i|<EFBFBD>SH<EFBFBD><EFBFBD>!Ԏ<EFBFBD>sZ{W<EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><EFBFBD>ه<EFBFBD> <EFBFBD>Nt<EFBFBD><EFBFBD>g<EFBFBD><EFBFBD>~<EFBFBD><EFBFBD>n'<EFBFBD>Oqo<EFBFBD>Mj!s2-<EFBFBD>p<EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><EFBFBD>v|<EFBFBD>x<EFBFBD><EFBFBD>c<EFBFBD>0NR<EFBFBD><EFBFBD><EFBFBD>{<EFBFBD><EFBFBD><EFBFBD>8<EFBFBD>8n<EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD>9<EFBFBD>F<EFBFBD>_<EFBFBD>2o<EFBFBD><EFBFBD>).<EFBFBD>V<EFBFBD><EFBFBD><EFBFBD>@<EFBFBD>A]<EFBFBD><EFBFBD>ܞ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><EFBFBD>J<EFBFBD><EFBFBD>L<EFBFBD>F][E<EFBFBD>;<EFBFBD>c<EFBFBD>ۢV~ѥaiSZ#<EFBFBD>N<EFBFBD><EFBFBD><EFBFBD><EFBFBD>F<EFBFBD><EFBFBD>j\\<EFBFBD> <EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ˉ\<EFBFBD>l<EFBFBD><EFBFBD>r+0<EFBFBD><EFBFBD>ۼ<EFBFBD>i<EFBFBD>h<EFBFBD><EFBFBD>F<EFBFBD> <EFBFBD><EFBFBD># ?<EFBFBD><EFBFBD><EFBFBD>Z#L <EFBFBD><EFBFBD><EFBFBD>}<EFBFBD><EFBFBD>s<EFBFBD>`=)<EFBFBD>@<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD><v<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<EFBFBD><EFBFBD>N<EFBFBD><EFBFBD><EFBFBD>{)<EFBFBD>/[<EFBFBD>rh<EFBFBD><EFBFBD><EFBFBD>3Y<EFBFBD>t<EFBFBD><EFBFBD>&<EFBFBD>Ⱥe<EFBFBD>>A<EFBFBD><EFBFBD>Ap%<EFBFBD><EFBFBD><EFBFBD><EFBFBD>jS<EFBFBD>"<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŧ<EFBFBD>G<EFBFBD>%<EFBFBD>>B<EFBFBD> p<EFBFBD><EFBFBD>v<EFBFBD>Go<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"Z<EFBFBD><EFBFBD><EFBFBD>psz<EFBFBD>J<EFBFBD><EFBFBD>D<EFBFBD>Yg<EFBFBD><EFBFBD>G<EFBFBD>M<EFBFBD><EFBFBD> <EFBFBD>)<EFBFBD><EFBFBD><EFBFBD>&<EFBFBD>8&<EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>z Z<EFBFBD><EFBFBD>0ڃ<EFBFBD>1<EFBFBD>@<EFBFBD>*<EFBFBD>5* <EFBFBD>%<EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>˫Thѥ<EFBFBD><EFBFBD>G.P0<EFBFBD><EFBFBD>;<EFBFBD>!<EFBFBD>:<EFBFBD>!b<EFBFBD>P<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;< <EFBFBD>E|<EFBFBD><EFBFBD><EFBFBD>v<EFBFBD><EFBFBD>B<EFBFBD>e<EFBFBD>B<EFBFBD><EFBFBD>}<EFBFBD>s<EFBFBD><EFBFBD><EFBFBD>]l<EFBFBD>ܲ<EFBFBD>F<EFBFBD><EFBFBD><EFBFBD>~<EFBFBD><EFBFBD>7&<EFBFBD>Dk<EFBFBD>C,<EFBFBD>*7<EFBFBD><EFBFBD><EFBFBD>ږU%U,<EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,1Ɵ<EFBFBD>_<EFBFBD>\<EFBFBD>a<EFBFBD>E<<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?)<EFBFBD>h<EFBFBD>U5<EFBFBD>{<EFBFBD>M3Ֆ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><EFBFBD>^<EFBFBD><EFBFBD><EFBFBD>$<EFBFBD><EFBFBD>#<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2[.<EFBFBD><EFBFBD>\<EFBFBD>J )<EFBFBD><EFBFBD>W} <EFBFBD><EFBFBD><EFBFBD> _<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m@<EFBFBD><EFBFBD><EFBFBD>CzX<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>?z<EFBFBD><EFBFBD>P1<EFBFBD>8<EFBFBD><EFBFBD>?PK<EFBFBD>T<EFBFBD>8@1<EFBFBD><EFBFBD>*-'#modpod-treeobj-1.3.1/demo/demo-0.1.tclPK׎/\"<EFBFBD><EFBFBD>u'?&t#modpod-treeobj-1.3.1/treeobj-1.3.1.tmPK<EFBFBD><EFBFBD>