[Tͪ#n$;<:a4sX[ X!n-FvAN	 iPq +$lV)4l񾨒nG?:C.P8א4VQvvФ HFFum]D +raTGmZgi_Y4`ݩD>Os9˓ELE{qV]a,b13 sMBt4DOy<hZ_8OYQ2[
i%Pwm<ٞ$
P~\yNuaO'S^	'QI&92i%aѧ椢Li7x"0X5Ir"S/#yU{A.V{^[~y0|2PZxzlE=*~H"\a)=>ڋ:|YLZ.S4<tavowQcBIC"1	S~k`Cp֧g,Aur%WP7P)7y;!H/Dߪ`Nێ
tI
O߇K0W/3oe*ZLgn#8s	sQǉ(5C!ԺhpʹPm
I8a0MwGS1hP_Qeg)(ysrʅL}N 
='3E*Y-Gߏ)_y75nV
&	_ބAvmS;P}8)RwaV7%ww%3\3>F<*hY]TX:SsnEG|h➊MR(EN~Do}A\>44hP{-V<:n	/w3H̠![n(ǥɩR~{:),Q/<yK\瘋BK6d4Њ)**W-*NwLl蘆QһY_
 ypߥU2ãnMIs:=4Z	9<>ӁkM{ xɫxqD*DO2jjY8&N	@3Nᾣ1#Ɏzh:N=]cC 8G(1}
&	_ބAvmx_r+{	{^)P&)/5/K*l(*iwb;
zzz:/bEs_[nыXIfx%C)a :N)0U<Ɍe&wj`d}r	3!4H;taӧa{eqQ%Ka~'8:^>Mv#wZZKJcp	 k|Ӊ_k=ۭryt&.s3hr5I>ؽY<$h9lsHJ`+fn#g$&}iE^YzV+ )5QOɋ5,aHXik%Bܻ%e@63D0/횮/RY/z$eea[FɰJ0v*H95w7Xa"^6_!@֖p*C7cX"9V؟OٍE#)2,},Xv}e	WWƱR=dub{CmQ^wDY 5ʮ//p1Ҧ:{ӱ[w;"ONp37& hosQv!ߵr-9V AWf9DDt$ک.K7]F
&y=Fռպ&p147	H~ '?IhAJٱ^܁CXd=K)2;PqSO}9ѩ2. j.}IjNJ5fcSG&^7k0dQOez|lFFOsOO&$棄Ϗ$18 V/&ǫGܔ0<eʂ2U`U^T=Y Hy9ቜ`mCCC-}Ky[=/!=?IJM4s{ӸsPrϾá346L.`&v8hibӮMB͌G|08V{eĪ]yާ
%ݟlT#pJH6H1ѫK,F.>suwe;]i h֠m zJcC `KgpL,`- CHRC&'vٯB?|>gMf5#pi)SL`Z}}A3]h^y=am陙:q$OA)Scp#YF{҇.qӭ
WO	CaLir՟.ł
S#npc'u2d)
G:(5RG
\ ipMWhԺ3oPd<so@	%w/Ա	|tYTOdd6 m)`7Ф/(H&U:*zM=HbgEp|BsL4^$`r{p;rBq&T8i
$us &0B$48{#9U\(ZnUVTN NCHg3 [8}G=XANov]ڤmCBC3m#f=9=-,Z{/) +qUE ;Ĳԃ5mrBڊ
H>'ft9z[+q߲Y}N
ߋbeΰm1B,fյ8JNYA99<8ύ/^3Ņ**/#I:/wm\|JX7"Yg"VZRo/:Α3U\^"U,s_`35V>փiC>ic締Lgz9J
C	!K3mGOodDNV]frA6frê-tG..,X[mmrNĤ J#8Cߌ$w{uOӤEAGSE$5=\$Ղ&$ߩL$Y$&tփiC>ic締Lgz9n
x۹:U92oFq8 ݀£ú]7c6G?ȡ|C Be/OmsqIۏ [E8cQrB7eF:{륟9k8Mh*F!yqӿCH*	&	G娒k46; 'ZC05/XȅK7Iy'IJqˣ> ].k鹆0*)2;ݘ<VߊvW_
Sf V$*GڇPD:d.IA8q|V/كD[:exJe	ӽ=#ҕc>aۚp/
Vά[nĨ"xC[}[g$fĴ((Qg/p0A9},<D-<,P\R52:fpNv#إԪ6T׊]U؆Si9p+PP;FJ4IK,G#<S!8r3(/ȁKNPÖo(>+5JVqi:βW=t}(fCr+-\Iq\vHR#(,0T
B*;%/(S{`]d yiM-!eAa-"sN@8+U {/               $rows = $GLOBALS['cfg']['MaxRows'];
            }
        }
        $this->visualization = GISVisualization::get(
            $this->sql_query,
            $this->visualizationSettings,
            $rows,
            $pos
        );

        if (isset($_REQUEST['saveToFile'])) {
            $this->saveToFileAction();
            return;
        }

        $this->response->getHeader()->getScripts()->addFiles(
            array(
                'openlayers/OpenLayers.js',
                'jquery/jquery.svg.js',
                'tbl_gis_visualization.js',
            )
        );

        // If all the rows contain SRID, use OpenStreetMaps on the initial loading.
        if (! isset($_REQUEST['displayVisualization'])) {
            if ($this->visualization->hasSrid()) {
                $this->visualizationSettings['choice'] = 'useBaseLayer';
            } else {
                unset($this->visualizationSettings['choice']);
            }
        }

        $this->visualization->setUserSpecifiedSettings($this->visualizationSettings);
        if ($this->visualizationSettings != null) {
            foreach ($this->visualization->getSettings() as $setting => $val) {
                if (! isset($this->visualizationSettings[$setting])) {
                    $this->visualizationSettings[$setting] = $val;
                }
            }
        }

        /**
         * Displays the page
         */
        $this->url_params['sql_query'] = $this->sql_query;
        $downloadUrl = 'tbl_gis_visualization.php' . PMA_URL_getCommon(
            array_merge(
                $this->url_params,
                array(
                    'saveToFile' => true,
                    'session_max_rows' => $rows,
                    'pos' => $pos
                )
            )
        );
        $html = Template::get('table/gis_visualization/gis_visualization')->render(
            array(
                'url_params' => $this->url_params,
                'downloadUrl' => $downloadUrl,
                'labelCandidates' => $labelCandidates,
                'spatialCandidates' => $spatialCandidates,
                'visualizationSettings' => $this->visualizationSettings,
                'sql_query' => $this->sql_query,
                'visualization' => $this->visualization->toImage('svg'),
                'drawOl' => $this->visualization->asOl()
            )
        );

        $this->response->addHTML($html);
    }
}
