PGDMP  8 ouscgisdb8.4.28.4.2K 00ENCODINGENCODINGSET client_encoding = 'UTF8'; false 00 STDSTRINGS STDSTRINGS)SET standard_conforming_strings = 'off'; false 1262426211uscgisdbDATABASEzCREATE DATABASE uscgisdb WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'it_IT.UTF-8' LC_CTYPE = 'it_IT.UTF-8'; DROP DATABASE uscgisdb; postgresfalse26152200publicSCHEMACREATE SCHEMA public; DROP SCHEMA public; postgresfalse 00 SCHEMA publicCOMMENT6COMMENT ON SCHEMA public IS 'standard public schema'; postgresfalse6 00publicACLREVOKE ALL ON SCHEMA public FROM PUBLIC; REVOKE ALL ON SCHEMA public FROM postgres; GRANT ALL ON SCHEMA public TO postgres; GRANT ALL ON SCHEMA public TO PUBLIC; postgresfalse6261216391plpgsqlPROCEDURAL LANGUAGE$CREATE PROCEDURAL LANGUAGE plpgsql; "DROP PROCEDURAL LANGUAGE plpgsql; postgresfalse00box2d SHELL TYPECREATE TYPE box2d; publicpostgresfalseT125516467st_box2d_in(cstring)FUNCTIONCREATE FUNCTION st_box2d_in(cstring) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_in'; +DROP FUNCTION public.st_box2d_in(cstring); publicpostgresfalse61027V125516469st_box2d_out(box2d)FUNCTIONCREATE FUNCTION st_box2d_out(box2d) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_out'; *DROP FUNCTION public.st_box2d_out(box2d); publicpostgresfalse61027124716445box2dTYPECREATE TYPE box2d ( INTERNALLENGTH = 16, INPUT = st_box2d_in, OUTPUT = st_box2d_out, ALIGNMENT = int4, STORAGE = plain ); DROP TYPE public.box2d CASCADE; publicpostgresfalse86684 00 TYPE box2dCOMMENTCOMMENT ON TYPE box2d IS 'postgis type: A box composed of x min, ymin, xmax, ymax. Often used to return the 2d enclosing box of a geometry.'; publicpostgresfalse102600box3d SHELL TYPECREATE TYPE box3d; publicpostgresfalse<125516437st_box3d_in(cstring)FUNCTION}CREATE FUNCTION st_box3d_in(cstring) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_in'; +DROP FUNCTION public.st_box3d_in(cstring); publicpostgresfalse61018=125516438st_box3d_out(box3d)FUNCTIONCREATE FUNCTION st_box3d_out(box3d) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_out'; *DROP FUNCTION public.st_box3d_out(box3d); publicpostgresfalse61018124716434box3dTYPECREATE TYPE box3d ( INTERNALLENGTH = 48, INPUT = st_box3d_in, OUTPUT = st_box3d_out, ALIGNMENT = double, STORAGE = plain ); DROP TYPE public.box3d CASCADE; publicpostgresfalse61660 00 TYPE box3dCOMMENTCOMMENT ON TYPE box3d IS 'postgis type: A box composed of x min, ymin, zmin, xmax, ymax, zmax. Often used to return the 3d extent of a geometry or collection of geometries.'; publicpostgresfalse101700 box3d_extent SHELL TYPECREATE TYPE box3d_extent; publicpostgresfalse>125516441box3d_extent_in(cstring)FUNCTIONCREATE FUNCTION box3d_extent_in(cstring) RETURNS box3d_extent LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_in'; /DROP FUNCTION public.box3d_extent_in(cstring); publicpostgresfalse61021?125516442box3d_extent_out(box3d_extent)FUNCTIONCREATE FUNCTION box3d_extent_out(box3d_extent) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_extent_out'; 5DROP FUNCTION public.box3d_extent_out(box3d_extent); publicpostgresfalse61021124716440 box3d_extentTYPECREATE TYPE box3d_extent ( INTERNALLENGTH = 48, INPUT = box3d_extent_in, OUTPUT = box3d_extent_out, ALIGNMENT = double, STORAGE = plain ); 'DROP TYPE public.box3d_extent CASCADE; publicpostgresfalse63662 00TYPE box3d_extentCOMMENTCOMMENT ON TYPE box3d_extent IS 'postgis type: A box composed of x min, ymin, zmin, xmax, ymax, zmax. Often used to return the extent of a geometry.'; publicpostgresfalse102000chip SHELL TYPECREATE TYPE chip; publicpostgresfalseP125516462st_chip_in(cstring)FUNCTIONzCREATE FUNCTION st_chip_in(cstring) RETURNS chip LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_in'; *DROP FUNCTION public.st_chip_in(cstring); publicpostgresfalse61024R125516464st_chip_out(chip)FUNCTION|CREATE FUNCTION st_chip_out(chip) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_out'; (DROP FUNCTION public.st_chip_out(chip); publicpostgresfalse61024124716460chipTYPECREATE TYPE chip ( INTERNALLENGTH = variable, INPUT = st_chip_in, OUTPUT = st_chip_out, ALIGNMENT = double, STORAGE = extended ); DROP TYPE public.chip CASCADE; publicpostgresfalse6808200geometry SHELL TYPECREATE TYPE geometry; publicpostgresfalse125516404st_geometry_analyze(internal)FUNCTIONCREATE FUNCTION st_geometry_analyze(internal) RETURNS boolean LANGUAGE c STRICT AS '$libdir/postgis-1.4', 'LWGEOM_analyze'; 4DROP FUNCTION public.st_geometry_analyze(internal); publicpostgresfalse6125516400st_geometry_in(cstring)FUNCTIONCREATE FUNCTION st_geometry_in(cstring) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_in'; .DROP FUNCTION public.st_geometry_in(cstring); publicpostgresfalse61015125516402st_geometry_out(geometry)FUNCTIONCREATE FUNCTION st_geometry_out(geometry) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_out'; 0DROP FUNCTION public.st_geometry_out(geometry); publicpostgresfalse61015125516406st_geometry_recv(internal)FUNCTIONCREATE FUNCTION st_geometry_recv(internal) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_recv'; 1DROP FUNCTION public.st_geometry_recv(internal); publicpostgresfalse61015!125516408st_geometry_send(geometry)FUNCTIONCREATE FUNCTION st_geometry_send(geometry) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_send'; 1DROP FUNCTION public.st_geometry_send(geometry); publicpostgresfalse61015124716398geometryTYPECREATE TYPE geometry ( INTERNALLENGTH = variable, INPUT = st_geometry_in, OUTPUT = st_geometry_out, RECEIVE = st_geometry_recv, SEND = st_geometry_send, ANALYZE = st_geometry_analyze, DELIMITER = ':', ALIGNMENT = int4, STORAGE = main ); #DROP TYPE public.geometry CASCADE; publicpostgresfalse29625273133 00 TYPE geometryCOMMENTGCOMMENT ON TYPE geometry IS 'postgis type: Planar spatial data type.'; publicpostgresfalse1014124716735 geometry_dumpTYPEBCREATE TYPE geometry_dump AS ( path integer[], geom geometry ); DROP TYPE public.geometry_dump; publicpostgresfalse62426 00TYPE geometry_dumpCOMMENTCOMMENT ON TYPE geometry_dump IS 'postgis type: A spatial datatype with two fields - geom (holding a geometry object) and path[] (a 1-d array holding the position of the geometry within the dumped object.)'; publicpostgresfalse102900pgis_abs SHELL TYPECREATE TYPE pgis_abs; publicpostgresfalse125516909pgis_abs_in(cstring)FUNCTIONCREATE FUNCTION pgis_abs_in(cstring) RETURNS pgis_abs LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'pgis_abs_in'; +DROP FUNCTION public.pgis_abs_in(cstring); publicpostgresfalse61038125516910pgis_abs_out(pgis_abs)FUNCTIONCREATE FUNCTION pgis_abs_out(pgis_abs) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'pgis_abs_out'; -DROP FUNCTION public.pgis_abs_out(pgis_abs); publicpostgresfalse61038 124716908pgis_absTYPECREATE TYPE pgis_abs ( INTERNALLENGTH = 8, INPUT = pgis_abs_in, OUTPUT = pgis_abs_out, ALIGNMENT = double, STORAGE = plain ); #DROP TYPE public.pgis_abs CASCADE; publicpostgresfalse435643400spheroid SHELL TYPECREATE TYPE spheroid; publicpostgresfalse125516394st_spheroid_in(cstring)FUNCTIONCREATE FUNCTION st_spheroid_in(cstring) RETURNS spheroid LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'ellipsoid_in'; .DROP FUNCTION public.st_spheroid_in(cstring); publicpostgresfalse61012125516396st_spheroid_out(spheroid)FUNCTIONCREATE FUNCTION st_spheroid_out(spheroid) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'ellipsoid_out'; 0DROP FUNCTION public.st_spheroid_out(spheroid); publicpostgresfalse61012124716392spheroidTYPECREATE TYPE spheroid ( INTERNALLENGTH = 65, INPUT = st_spheroid_in, OUTPUT = st_spheroid_out, ALIGNMENT = double, STORAGE = plain ); #DROP TYPE public.spheroid CASCADE; publicpostgresfalse621231255170002_st_asgeojson(integer, geometry, integer, integer)FUNCTIONCREATE FUNCTION _st_asgeojson(integer, geometry, integer, integer) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asGeoJson'; IDROP FUNCTION public._st_asgeojson(integer, geometry, integer, integer); publicpostgresfalse61014125516983._st_asgml(integer, geometry, integer, integer)FUNCTIONCREATE FUNCTION _st_asgml(integer, geometry, integer, integer) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asGML'; EDROP FUNCTION public._st_asgml(integer, geometry, integer, integer); publicpostgresfalse61014125516992%_st_askml(integer, geometry, integer)FUNCTIONCREATE FUNCTION _st_askml(integer, geometry, integer) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asKML'; <DROP FUNCTION public._st_askml(integer, geometry, integer); publicpostgresfalse61014125516953 _st_contains(geometry, geometry)FUNCTIONCREATE FUNCTION _st_contains(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'contains'; 7DROP FUNCTION public._st_contains(geometry, geometry); publicpostgresfalse610141014125516959(_st_containsproperly(geometry, geometry)FUNCTIONCREATE FUNCTION _st_containsproperly(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'containsproperly'; ?DROP FUNCTION public._st_containsproperly(geometry, geometry); publicpostgresfalse610141014125516955!_st_coveredby(geometry, geometry)FUNCTIONCREATE FUNCTION _st_coveredby(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'coveredby'; 8DROP FUNCTION public._st_coveredby(geometry, geometry); publicpostgresfalse101461014125516957_st_covers(geometry, geometry)FUNCTIONCREATE FUNCTION _st_covers(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'covers'; 5DROP FUNCTION public._st_covers(geometry, geometry); publicpostgresfalse610141014125516947_st_crosses(geometry, geometry)FUNCTIONCREATE FUNCTION _st_crosses(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'crosses'; 6DROP FUNCTION public._st_crosses(geometry, geometry); publicpostgresfalse1014101461255426236#_st_dumppoints(geometry, integer[])FUNCTIONCREATE FUNCTION _st_dumppoints(the_geom geometry, cur_path integer[]) RETURNS SETOF geometry_dump LANGUAGE plpgsql AS $$ DECLARE tmp geometry_dump; tmp2 geometry_dump; nb_points integer; nb_geom integer; i integer; j integer; g geometry; BEGIN RAISE DEBUG '%,%', cur_path, ST_GeometryType(the_geom); -- Special case (MULTI* OR GEOMETRYCOLLECTION) : iterate and return the DumpPoints of the geometries SELECT ST_NumGeometries(the_geom) INTO nb_geom; IF (nb_geom IS NOT NULL) THEN i = 1; FOR tmp2 IN SELECT (ST_Dump(the_geom)).* LOOP FOR tmp IN SELECT * FROM _ST_DumpPoints(tmp2.geom, cur_path || tmp2.path) LOOP RETURN NEXT tmp; END LOOP; i = i + 1; END LOOP; RETURN; END IF; -- Special case (POLYGON) : return the points of the rings of a polygon IF (ST_GeometryType(the_geom) = 'ST_Polygon') THEN FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_ExteriorRing(the_geom), cur_path || ARRAY[1]) LOOP RETURN NEXT tmp; END LOOP; j := ST_NumInteriorRings(the_geom); FOR i IN 1..j LOOP FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_InteriorRingN(the_geom, i), cur_path || ARRAY[i+1]) LOOP RETURN NEXT tmp; END LOOP; END LOOP; RETURN; END IF; -- Special case (POINT) : return the point IF (ST_GeometryType(the_geom) = 'ST_Point') THEN tmp.path = cur_path || ARRAY[1]; tmp.geom = the_geom; RETURN NEXT tmp; RETURN; END IF; -- Use ST_NumPoints rather than ST_NPoints to have a NULL value if the_geom isn't -- a LINESTRING or CIRCULARSTRING. SELECT ST_NumPoints(the_geom) INTO nb_points; -- This should never happen IF (nb_points IS NULL) THEN RAISE EXCEPTION 'Unexpected error while dumping geometry %', ST_AsText(the_geom); END IF; FOR i IN 1..nb_points LOOP tmp.path = cur_path || ARRAY[i]; tmp.geom := ST_PointN(the_geom, i); RETURN NEXT tmp; END LOOP; END $$; LDROP FUNCTION public._st_dumppoints(the_geom geometry, cur_path integer[]); publicpostgresfalse11996102910141255169411_st_dwithin(geometry, geometry, double precision)FUNCTIONCREATE FUNCTION _st_dwithin(geometry, geometry, double precision) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_dwithin'; HDROP FUNCTION public._st_dwithin(geometry, geometry, double precision); publicpostgresfalse101461014125516944"_st_intersects(geometry, geometry)FUNCTIONCREATE FUNCTION _st_intersects(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'intersects'; 9DROP FUNCTION public._st_intersects(geometry, geometry); publicpostgresfalse101410146125516880-_st_linecrossingdirection(geometry, geometry)FUNCTIONCREATE FUNCTION _st_linecrossingdirection(geometry, geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'ST_LineCrossingDirection'; DDROP FUNCTION public._st_linecrossingdirection(geometry, geometry); publicpostgresfalse610141014125516962 _st_overlaps(geometry, geometry)FUNCTIONCREATE FUNCTION _st_overlaps(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'overlaps'; 7DROP FUNCTION public._st_overlaps(geometry, geometry); publicpostgresfalse101461014125516939_st_touches(geometry, geometry)FUNCTIONCREATE FUNCTION _st_touches(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'touches'; 6DROP FUNCTION public._st_touches(geometry, geometry); publicpostgresfalse101410146125516950_st_within(geometry, geometry)FUNCTIONCREATE FUNCTION _st_within(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'within'; 5DROP FUNCTION public._st_within(geometry, geometry); publicpostgresfalse610141014125517168 addauth(text)FUNCTION:CREATE FUNCTION addauth(text) RETURNS boolean LANGUAGE plpgsql AS $_$ DECLARE lockid alias for $1; okay boolean; myrec record; BEGIN -- check to see if table exists -- if not, CREATE TEMP TABLE mylock (transid xid, lockcode text) okay := 'f'; FOR myrec IN SELECT * FROM pg_class WHERE relname = 'temp_lock_have_table' LOOP okay := 't'; END LOOP; IF (okay <> 't') THEN CREATE TEMP TABLE temp_lock_have_table (transid xid, lockcode text); -- this will only work from pgsql7.4 up -- ON COMMIT DELETE ROWS; END IF; -- INSERT INTO mylock VALUES ( $1) -- EXECUTE 'INSERT INTO temp_lock_have_table VALUES ( '|| -- quote_literal(getTransactionID()) || ',' || -- quote_literal(lockid) ||')'; INSERT INTO temp_lock_have_table VALUES (getTransactionID(), lockid); RETURN true::boolean; END; $_$; $DROP FUNCTION public.addauth(text); publicpostgresfalse11996 00FUNCTION addauth(text)COMMENTyCOMMENT ON FUNCTION addauth(text) IS 'args: auth_token - Add an authorization token to be used in current transaction.'; publicpostgresfalse685125516582addbbox(geometry)FUNCTIONCREATE FUNCTION addbbox(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_addBBOX'; (DROP FUNCTION public.addbbox(geometry); publicpostgresfalse101410146G125516780addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer)FUNCTION<CREATE FUNCTION addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer) RETURNS text LANGUAGE plpgsql STRICT AS $_$ DECLARE catalog_name alias for $1; schema_name alias for $2; table_name alias for $3; column_name alias for $4; new_srid alias for $5; new_type alias for $6; new_dim alias for $7; rec RECORD; sr varchar; real_schema name; sql text; BEGIN -- Verify geometry type IF ( NOT ( (new_type = 'GEOMETRY') OR (new_type = 'GEOMETRYCOLLECTION') OR (new_type = 'POINT') OR (new_type = 'MULTIPOINT') OR (new_type = 'POLYGON') OR (new_type = 'MULTIPOLYGON') OR (new_type = 'LINESTRING') OR (new_type = 'MULTILINESTRING') OR (new_type = 'GEOMETRYCOLLECTIONM') OR (new_type = 'POINTM') OR (new_type = 'MULTIPOINTM') OR (new_type = 'POLYGONM') OR (new_type = 'MULTIPOLYGONM') OR (new_type = 'LINESTRINGM') OR (new_type = 'MULTILINESTRINGM') OR (new_type = 'CIRCULARSTRING') OR (new_type = 'CIRCULARSTRINGM') OR (new_type = 'COMPOUNDCURVE') OR (new_type = 'COMPOUNDCURVEM') OR (new_type = 'CURVEPOLYGON') OR (new_type = 'CURVEPOLYGONM') OR (new_type = 'MULTICURVE') OR (new_type = 'MULTICURVEM') OR (new_type = 'MULTISURFACE') OR (new_type = 'MULTISURFACEM')) ) THEN RAISE EXCEPTION 'Invalid type name - valid ones are: POINT, MULTIPOINT, LINESTRING, MULTILINESTRING, POLYGON, MULTIPOLYGON, CIRCULARSTRING, COMPOUNDCURVE, MULTICURVE, CURVEPOLYGON, MULTISURFACE, GEOMETRY, GEOMETRYCOLLECTION, POINTM, MULTIPOINTM, LINESTRINGM, MULTILINESTRINGM, POLYGONM, MULTIPOLYGONM, CIRCULARSTRINGM, COMPOUNDCURVEM, MULTICURVEM CURVEPOLYGONM, MULTISURFACEM, or GEOMETRYCOLLECTIONM'; RETURN 'fail'; END IF; -- Verify dimension IF ( (new_dim >4) OR (new_dim <0) ) THEN RAISE EXCEPTION 'invalid dimension'; RETURN 'fail'; END IF; IF ( (new_type LIKE '%M') AND (new_dim!=3) ) THEN RAISE EXCEPTION 'TypeM needs 3 dimensions'; RETURN 'fail'; END IF; -- Verify SRID IF ( new_srid != -1 ) THEN SELECT SRID INTO sr FROM spatial_ref_sys WHERE SRID = new_srid; IF NOT FOUND THEN RAISE EXCEPTION 'AddGeometryColumns() - invalid SRID'; RETURN 'fail'; END IF; END IF; -- Verify schema IF ( schema_name IS NOT NULL AND schema_name != '' ) THEN sql := 'SELECT nspname FROM pg_namespace ' || 'WHERE text(nspname) = ' || quote_literal(schema_name) || 'LIMIT 1'; RAISE DEBUG '%', sql; EXECUTE sql INTO real_schema; IF ( real_schema IS NULL ) THEN RAISE EXCEPTION 'Schema % is not a valid schemaname', quote_literal(schema_name); RETURN 'fail'; END IF; END IF; IF ( real_schema IS NULL ) THEN RAISE DEBUG 'Detecting schema'; sql := 'SELECT n.nspname AS schemaname ' || 'FROM pg_catalog.pg_class c ' || 'JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace ' || 'WHERE c.relkind = ' || quote_literal('r') || ' AND n.nspname NOT IN (' || quote_literal('pg_catalog') || ', ' || quote_literal('pg_toast') || ')' || ' AND pg_catalog.pg_table_is_visible(c.oid)' || ' AND c.relname = ' || quote_literal(table_name); RAISE DEBUG '%', sql; EXECUTE sql INTO real_schema; IF ( real_schema IS NULL ) THEN RAISE EXCEPTION 'Table % does not occur in the search_path', quote_literal(table_name); RETURN 'fail'; END IF; END IF; -- Add geometry column to table sql := 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' ADD COLUMN ' || quote_ident(column_name) || ' geometry '; RAISE DEBUG '%', sql; EXECUTE sql; -- Delete stale record in geometry_columns (if any) sql := 'DELETE FROM geometry_columns WHERE f_table_catalog = ' || quote_literal('') || ' AND f_table_schema = ' || quote_literal(real_schema) || ' AND f_table_name = ' || quote_literal(table_name) || ' AND f_geometry_column = ' || quote_literal(column_name); RAISE DEBUG '%', sql; EXECUTE sql; -- Add record in geometry_columns sql := 'INSERT INTO geometry_columns (f_table_catalog,f_table_schema,f_table_name,' || 'f_geometry_column,coord_dimension,srid,type)' || ' VALUES (' || quote_literal('') || ',' || quote_literal(real_schema) || ',' || quote_literal(table_name) || ',' || quote_literal(column_name) || ',' || new_dim::text || ',' || new_srid::text || ',' || quote_literal(new_type) || ')'; RAISE DEBUG '%', sql; EXECUTE sql; -- Add table CHECKs sql := 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' ADD CONSTRAINT ' || quote_ident('enforce_srid_' || column_name) || ' CHECK (ST_SRID(' || quote_ident(column_name) || ') = ' || new_srid::text || ')' ; RAISE DEBUG '%', sql; EXECUTE sql; sql := 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' ADD CONSTRAINT ' || quote_ident('enforce_dims_' || column_name) || ' CHECK (ST_NDims(' || quote_ident(column_name) || ') = ' || new_dim::text || ')' ; RAISE DEBUG '%', sql; EXECUTE sql; IF ( NOT (new_type = 'GEOMETRY')) THEN sql := 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' ADD CONSTRAINT ' || quote_ident('enforce_geotype_' || column_name) || ' CHECK (GeometryType(' || quote_ident(column_name) || ')=' || quote_literal(new_type) || ' OR (' || quote_ident(column_name) || ') is null)'; RAISE DEBUG '%', sql; EXECUTE sql; END IF; RETURN real_schema || '.' || table_name || '.' || column_name || ' SRID:' || new_srid::text || ' TYPE:' || new_type || ' DIMS:' || new_dim::text || ' '; END; $_$; DROP FUNCTION public.addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer); publicpostgresfalse61199 00FUNCTION addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer)COMMENT*COMMENT ON FUNCTION addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer) IS 'args: catalog_name, schema_name, table_name, column_name, srid, type, dimension - Adds a geometry column to an existing table of attributes.'; publicpostgresfalse327H125516781oaddgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer)FUNCTION'CREATE FUNCTION addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer) RETURNS text LANGUAGE plpgsql STABLE STRICT AS $_$ DECLARE ret text; BEGIN SELECT AddGeometryColumn('',$1,$2,$3,$4,$5,$6) into ret; RETURN ret; END; $_$; DROP FUNCTION public.addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer); publicpostgresfalse61199 00xFUNCTION addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer)COMMENT COMMENT ON FUNCTION addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer) IS 'args: schema_name, table_name, column_name, srid, type, dimension - Adds a geometry column to an existing table of attributes.'; publicpostgresfalse328I125516782\addgeometrycolumn(character varying, character varying, integer, character varying, integer)FUNCTION CREATE FUNCTION addgeometrycolumn(character varying, character varying, integer, character varying, integer) RETURNS text LANGUAGE plpgsql STRICT AS $_$ DECLARE ret text; BEGIN SELECT AddGeometryColumn('','',$1,$2,$3,$4,$5) into ret; RETURN ret; END; $_$; sDROP FUNCTION public.addgeometrycolumn(character varying, character varying, integer, character varying, integer); publicpostgresfalse11996 00eFUNCTION addgeometrycolumn(character varying, character varying, integer, character varying, integer)COMMENTCOMMENT ON FUNCTION addgeometrycolumn(character varying, character varying, integer, character varying, integer) IS 'args: table_name, column_name, srid, type, dimension - Adds a geometry column to an existing table of attributes.'; publicpostgresfalse329125516714addpoint(geometry, geometry)FUNCTIONCREATE FUNCTION addpoint(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_addpoint'; 3DROP FUNCTION public.addpoint(geometry, geometry); publicpostgresfalse6101410141014125516716%addpoint(geometry, geometry, integer)FUNCTIONCREATE FUNCTION addpoint(geometry, geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_addpoint'; <DROP FUNCTION public.addpoint(geometry, geometry, integer); publicpostgresfalse6101410141014"125516410affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision)FUNCTIONYCREATE FUNCTION affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_affine'; DROP FUNCTION public.affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision); publicpostgresfalse610141014$125516412|affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)$_$; DROP FUNCTION public.affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision); publicpostgresfalse101410146125516631area(geometry)FUNCTIONCREATE FUNCTION area(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_area_polygon'; %DROP FUNCTION public.area(geometry); publicpostgresfalse61014125516629area2d(geometry)FUNCTIONCREATE FUNCTION area2d(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_area_polygon'; 'DROP FUNCTION public.area2d(geometry); publicpostgresfalse610142125517049asbinary(geometry)FUNCTIONCREATE FUNCTION asbinary(geometry) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asBinary'; )DROP FUNCTION public.asbinary(geometry); publicpostgresfalse610144125517051asbinary(geometry, text)FUNCTIONCREATE FUNCTION asbinary(geometry, text) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asBinary'; /DROP FUNCTION public.asbinary(geometry, text); publicpostgresfalse10146125516681asewkb(geometry)FUNCTION~CREATE FUNCTION asewkb(geometry) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'WKBFromLWGEOM'; 'DROP FUNCTION public.asewkb(geometry); publicpostgresfalse61014125516687asewkb(geometry, text)FUNCTIONCREATE FUNCTION asewkb(geometry, text) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'WKBFromLWGEOM'; -DROP FUNCTION public.asewkb(geometry, text); publicpostgresfalse61014125516679asewkt(geometry)FUNCTION}CREATE FUNCTION asewkt(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asEWKT'; 'DROP FUNCTION public.asewkt(geometry); publicpostgresfalse61014125516984asgml(geometry, integer)FUNCTIONCREATE FUNCTION asgml(geometry, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGML(2, $1, $2, 0)$_$; /DROP FUNCTION public.asgml(geometry, integer); publicpostgresfalse61014125516986asgml(geometry)FUNCTION|CREATE FUNCTION asgml(geometry) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGML(2, $1, 15, 0)$_$; &DROP FUNCTION public.asgml(geometry); publicpostgresfalse61014125516683ashexewkb(geometry)FUNCTIONCREATE FUNCTION ashexewkb(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asHEXEWKB'; *DROP FUNCTION public.ashexewkb(geometry); publicpostgresfalse61014125516685ashexewkb(geometry, text)FUNCTIONCREATE FUNCTION ashexewkb(geometry, text) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asHEXEWKB'; 0DROP FUNCTION public.ashexewkb(geometry, text); publicpostgresfalse61014125516993askml(geometry, integer)FUNCTIONCREATE FUNCTION askml(geometry, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsKML(2, transform($1,4326), $2)$_$; /DROP FUNCTION public.askml(geometry, integer); publicpostgresfalse61014125516995askml(geometry)FUNCTIONCREATE FUNCTION askml(geometry) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsKML(2, transform($1,4326), 15)$_$; &DROP FUNCTION public.askml(geometry); publicpostgresfalse61014125516996!askml(integer, geometry, integer)FUNCTIONCREATE FUNCTION askml(integer, geometry, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsKML($1, transform($2,4326), $3)$_$; 8DROP FUNCTION public.askml(integer, geometry, integer); publicpostgresfalse61014125516977!assvg(geometry, integer, integer)FUNCTIONCREATE FUNCTION assvg(geometry, integer, integer) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'assvg_geometry'; 8DROP FUNCTION public.assvg(geometry, integer, integer); publicpostgresfalse61014125516979assvg(geometry, integer)FUNCTIONCREATE FUNCTION assvg(geometry, integer) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'assvg_geometry'; /DROP FUNCTION public.assvg(geometry, integer); publicpostgresfalse61014125516981assvg(geometry)FUNCTION}CREATE FUNCTION assvg(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'assvg_geometry'; &DROP FUNCTION public.assvg(geometry); publicpostgresfalse610146125517053astext(geometry)FUNCTION}CREATE FUNCTION astext(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asText'; 'DROP FUNCTION public.astext(geometry); publicpostgresfalse61014125516643azimuth(geometry, geometry)FUNCTIONCREATE FUNCTION azimuth(geometry, geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_azimuth'; 2DROP FUNCTION public.azimuth(geometry, geometry); publicpostgresfalse101461014125517161bdmpolyfromtext(text, integer)FUNCTIONCREATE FUNCTION bdmpolyfromtext(text, integer) RETURNS geometry LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ DECLARE geomtext alias for $1; srid alias for $2; mline geometry; geom geometry; BEGIN mline := MultiLineStringFromText(geomtext, srid); IF mline IS NULL THEN RAISE EXCEPTION 'Input is not a MultiLinestring'; END IF; geom := multi(BuildArea(mline)); RETURN geom; END; $_$; 5DROP FUNCTION public.bdmpolyfromtext(text, integer); publicpostgresfalse101461199125517159bdpolyfromtext(text, integer)FUNCTIONCREATE FUNCTION bdpolyfromtext(text, integer) RETURNS geometry LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ DECLARE geomtext alias for $1; srid alias for $2; mline geometry; geom geometry; BEGIN mline := MultiLineStringFromText(geomtext, srid); IF mline IS NULL THEN RAISE EXCEPTION 'Input is not a MultiLinestring'; END IF; geom := BuildArea(mline); IF GeometryType(geom) != 'POLYGON' THEN RAISE EXCEPTION 'Input returns more then a single polygon, try using BdMPolyFromText instead'; END IF; RETURN geom; END; $_$; 4DROP FUNCTION public.bdpolyfromtext(text, integer); publicpostgresfalse611991014125516887boundary(geometry)FUNCTION~CREATE FUNCTION boundary(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'boundary'; )DROP FUNCTION public.boundary(geometry); publicpostgresfalse101410146g125516811 box(geometry)FUNCTIONyCREATE FUNCTION box(geometry) RETURNS box LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_BOX'; $DROP FUNCTION public.box(geometry); publicpostgresfalse61014m125516817 box(box3d)FUNCTIONuCREATE FUNCTION box(box3d) RETURNS box LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_to_BOX'; !DROP FUNCTION public.box(box3d); publicpostgresfalse61017c125516807box2d(geometry)FUNCTIONCREATE FUNCTION box2d(geometry) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_BOX2DFLOAT4'; &DROP FUNCTION public.box2d(geometry); publicpostgresfalse102661014 00FUNCTION box2d(geometry)COMMENTzCOMMENT ON FUNCTION box2d(geometry) IS 'args: geomA - Returns a BOX2D representing the maximum extents of the geometry.'; publicpostgresfalse355i125516813 box2d(box3d)FUNCTIONCREATE FUNCTION box2d(box3d) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_to_BOX2DFLOAT4'; #DROP FUNCTION public.box2d(box3d); publicpostgresfalse610261017_125516479box2d_contain(box2d, box2d)FUNCTIONCREATE FUNCTION box2d_contain(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_contain'; 2DROP FUNCTION public.box2d_contain(box2d, box2d); publicpostgresfalse102661026a125516481box2d_contained(box2d, box2d)FUNCTIONCREATE FUNCTION box2d_contained(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_contained'; 4DROP FUNCTION public.box2d_contained(box2d, box2d); publicpostgresfalse610261026S125516466box2d_in(cstring)FUNCTIONCREATE FUNCTION box2d_in(cstring) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_in'; (DROP FUNCTION public.box2d_in(cstring); publicpostgresfalse61026g125516487box2d_intersects(box2d, box2d)FUNCTIONCREATE FUNCTION box2d_intersects(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_intersects'; 5DROP FUNCTION public.box2d_intersects(box2d, box2d); publicpostgresfalse102661026[125516475box2d_left(box2d, box2d)FUNCTIONCREATE FUNCTION box2d_left(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_left'; /DROP FUNCTION public.box2d_left(box2d, box2d); publicpostgresfalse610261026U125516468box2d_out(box2d)FUNCTIONCREATE FUNCTION box2d_out(box2d) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_out'; 'DROP FUNCTION public.box2d_out(box2d); publicpostgresfalse61026c125516483box2d_overlap(box2d, box2d)FUNCTIONCREATE FUNCTION box2d_overlap(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_overlap'; 2DROP FUNCTION public.box2d_overlap(box2d, box2d); publicpostgresfalse102661026W125516471box2d_overleft(box2d, box2d)FUNCTIONCREATE FUNCTION box2d_overleft(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_overleft'; 3DROP FUNCTION public.box2d_overleft(box2d, box2d); publicpostgresfalse102610266Y125516473box2d_overright(box2d, box2d)FUNCTIONCREATE FUNCTION box2d_overright(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_overright'; 4DROP FUNCTION public.box2d_overright(box2d, box2d); publicpostgresfalse610261026]125516477box2d_right(box2d, box2d)FUNCTIONCREATE FUNCTION box2d_right(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_right'; 0DROP FUNCTION public.box2d_right(box2d, box2d); publicpostgresfalse102661026e125516485box2d_same(box2d, box2d)FUNCTIONCREATE FUNCTION box2d_same(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_same'; /DROP FUNCTION public.box2d_same(box2d, box2d); publicpostgresfalse102610266e125516809box3d(geometry)FUNCTIONCREATE FUNCTION box3d(geometry) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_BOX3D'; &DROP FUNCTION public.box3d(geometry); publicpostgresfalse101461017 00FUNCTION box3d(geometry)COMMENTzCOMMENT ON FUNCTION box3d(geometry) IS 'args: geomA - Returns a BOX3D representing the maximum extents of the geometry.'; publicpostgresfalse357k125516815 box3d(box2d)FUNCTIONCREATE FUNCTION box3d(box2d) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_to_BOX3D'; #DROP FUNCTION public.box3d(box2d); publicpostgresfalse610171026:125516435box3d_in(cstring)FUNCTIONzCREATE FUNCTION box3d_in(cstring) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_in'; (DROP FUNCTION public.box3d_in(cstring); publicpostgresfalse10176;125516436box3d_out(box3d)FUNCTION|CREATE FUNCTION box3d_out(box3d) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_out'; 'DROP FUNCTION public.box3d_out(box3d); publicpostgresfalse61017q125516821box3dtobox(box3d)FUNCTIONmCREATE FUNCTION box3dtobox(box3d) RETURNS box LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT box($1)$_$; (DROP FUNCTION public.box3dtobox(box3d); publicpostgresfalse61017125516874"buffer(geometry, double precision)FUNCTIONCREATE FUNCTION buffer(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'buffer'; 9DROP FUNCTION public.buffer(geometry, double precision); publicpostgresfalse101461014125516876+buffer(geometry, double precision, integer)FUNCTIONCREATE FUNCTION buffer(geometry, double precision, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'buffer'; BDROP FUNCTION public.buffer(geometry, double precision, integer); publicpostgresfalse101461014(125516726buildarea(geometry)FUNCTIONCREATE FUNCTION buildarea(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_buildarea'; *DROP FUNCTION public.buildarea(geometry); publicpostgresfalse101461014|125516832bytea(geometry)FUNCTIONCREATE FUNCTION bytea(geometry) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_bytea'; &DROP FUNCTION public.bytea(geometry); publicpostgresfalse61014125516693 cache_bbox()FUNCTIONhCREATE FUNCTION cache_bbox() RETURNS trigger LANGUAGE c AS '$libdir/postgis-1.4', 'cache_bbox'; #DROP FUNCTION public.cache_bbox(); publicpostgresfalse6125516967centroid(geometry)FUNCTION~CREATE FUNCTION centroid(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'centroid'; )DROP FUNCTION public.centroid(geometry); publicpostgresfalse610141014125517169checkauth(text, text, text)FUNCTIONzCREATE FUNCTION checkauth(text, text, text) RETURNS integer LANGUAGE plpgsql AS $_$ DECLARE schema text; BEGIN IF NOT LongTransactionsEnabled() THEN RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; END IF; if ( $1 != '' ) THEN schema = $1; ELSE SELECT current_schema() into schema; END IF; -- TODO: check for an already existing trigger ? EXECUTE 'CREATE TRIGGER check_auth BEFORE UPDATE OR DELETE ON ' || quote_ident(schema) || '.' || quote_ident($2) ||' FOR EACH ROW EXECUTE PROCEDURE CheckAuthTrigger(' || quote_literal($3) || ')'; RETURN 0; END; $_$; 2DROP FUNCTION public.checkauth(text, text, text); publicpostgresfalse11996 00$FUNCTION checkauth(text, text, text)COMMENTCOMMENT ON FUNCTION checkauth(text, text, text) IS 'args: a_schema_name, a_table_name, a_key_column_name - Creates trigger on a table to prevent/allow updates and deletes of rows based on authorization token.'; publicpostgresfalse686125517170checkauth(text, text)FUNCTIONtCREATE FUNCTION checkauth(text, text) RETURNS integer LANGUAGE sql AS $_$ SELECT CheckAuth('', $1, $2) $_$; ,DROP FUNCTION public.checkauth(text, text); publicpostgresfalse6 00FUNCTION checkauth(text, text)COMMENTCOMMENT ON FUNCTION checkauth(text, text) IS 'args: a_table_name, a_key_column_name - Creates trigger on a table to prevent/allow updates and deletes of rows based on authorization token.'; publicpostgresfalse687125517171checkauthtrigger()FUNCTIONwCREATE FUNCTION checkauthtrigger() RETURNS trigger LANGUAGE c AS '$libdir/postgis-1.4', 'check_authorization'; )DROP FUNCTION public.checkauthtrigger(); publicpostgresfalse6O125516461chip_in(cstring)FUNCTIONwCREATE FUNCTION chip_in(cstring) RETURNS chip LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_in'; 'DROP FUNCTION public.chip_in(cstring); publicpostgresfalse10236Q125516463chip_out(chip)FUNCTIONyCREATE FUNCTION chip_out(chip) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_out'; %DROP FUNCTION public.chip_out(chip); publicpostgresfalse10236125516897collect(geometry, geometry)FUNCTIONCREATE FUNCTION collect(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'LWGEOM_collect'; 2DROP FUNCTION public.collect(geometry, geometry); publicpostgresfalse1014610141014125516903collect_garray(geometry[])FUNCTIONCREATE FUNCTION collect_garray(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_collect_garray'; 1DROP FUNCTION public.collect_garray(geometry[]); publicpostgresfalse101461016125516895collector(geometry, geometry)FUNCTIONCREATE FUNCTION collector(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'LWGEOM_collect'; 4DROP FUNCTION public.collector(geometry, geometry); publicpostgresfalse10146101410143125516740combine_bbox(box2d, geometry)FUNCTIONCREATE FUNCTION combine_bbox(box2d, geometry) RETURNS box2d LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_combine'; 4DROP FUNCTION public.combine_bbox(box2d, geometry); publicpostgresfalse61026102610145125516742$combine_bbox(box3d_extent, geometry)FUNCTIONCREATE FUNCTION combine_bbox(box3d_extent, geometry) RETURNS box3d_extent LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'BOX3D_combine'; ;DROP FUNCTION public.combine_bbox(box3d_extent, geometry); publicpostgresfalse10201014102067125516746combine_bbox(box3d, geometry)FUNCTIONCREATE FUNCTION combine_bbox(box3d, geometry) RETURNS box3d LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'BOX3D_combine'; 4DROP FUNCTION public.combine_bbox(box3d, geometry); publicpostgresfalse6101710171014125516598compression(chip)FUNCTIONCREATE FUNCTION compression(chip) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getCompression'; (DROP FUNCTION public.compression(chip); publicpostgresfalse10236125516952contains(geometry, geometry)FUNCTIONCREATE FUNCTION contains(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'contains'; 3DROP FUNCTION public.contains(geometry, geometry); publicpostgresfalse610141014125516878convexhull(geometry)FUNCTIONCREATE FUNCTION convexhull(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'convexhull'; +DROP FUNCTION public.convexhull(geometry); publicpostgresfalse101461014125516946crosses(geometry, geometry)FUNCTIONCREATE FUNCTION crosses(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'crosses'; 2DROP FUNCTION public.crosses(geometry, geometry); publicpostgresfalse101410146125516596datatype(chip)FUNCTIONCREATE FUNCTION datatype(chip) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getDatatype'; %DROP FUNCTION public.datatype(chip); publicpostgresfalse10236125516885difference(geometry, geometry)FUNCTIONCREATE FUNCTION difference(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'difference'; 5DROP FUNCTION public.difference(geometry, geometry); publicpostgresfalse1014101461014125517015dimension(geometry)FUNCTIONCREATE FUNCTION dimension(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_dimension'; *DROP FUNCTION public.dimension(geometry); publicpostgresfalse61014125517175disablelongtransactions()FUNCTIONMCREATE FUNCTION disablelongtransactions() RETURNS text LANGUAGE plpgsql AS $$ DECLARE rec RECORD; BEGIN -- -- Drop all triggers applied by CheckAuth() -- FOR rec IN SELECT c.relname, t.tgname, t.tgargs FROM pg_trigger t, pg_class c, pg_proc p WHERE p.proname = 'checkauthtrigger' and t.tgfoid = p.oid and t.tgrelid = c.oid LOOP EXECUTE 'DROP TRIGGER ' || quote_ident(rec.tgname) || ' ON ' || quote_ident(rec.relname); END LOOP; -- -- Drop the authorization_table table -- FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorization_table' LOOP DROP TABLE authorization_table; END LOOP; -- -- Drop the authorized_tables view -- FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorized_tables' LOOP DROP VIEW authorized_tables; END LOOP; RETURN 'Long transactions support disabled'; END; $$; 0DROP FUNCTION public.disablelongtransactions(); publicpostgresfalse11996 00"FUNCTION disablelongtransactions()COMMENTCOMMENT ON FUNCTION disablelongtransactions() IS 'Disable long transaction support. This function removes the long transaction support metadata tables, and drops all triggers attached to lock-checked tables.'; publicpostgresfalse692125516936disjoint(geometry, geometry)FUNCTIONCREATE FUNCTION disjoint(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'disjoint'; 3DROP FUNCTION public.disjoint(geometry, geometry); publicpostgresfalse101410146125516637distance(geometry, geometry)FUNCTIONCREATE FUNCTION distance(geometry, geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_mindistance2d'; 3DROP FUNCTION public.distance(geometry, geometry); publicpostgresfalse610141014125516635#distance_sphere(geometry, geometry)FUNCTIONCREATE FUNCTION distance_sphere(geometry, geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_distance_sphere'; :DROP FUNCTION public.distance_sphere(geometry, geometry); publicpostgresfalse101461014125516633/distance_spheroid(geometry, geometry, spheroid)FUNCTIONCREATE FUNCTION distance_spheroid(geometry, geometry, spheroid) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_distance_ellipsoid_point'; FDROP FUNCTION public.distance_spheroid(geometry, geometry, spheroid); publicpostgresfalse1014610141011125516584dropbbox(geometry)FUNCTIONCREATE FUNCTION dropbbox(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_dropBBOX'; )DROP FUNCTION public.dropbbox(geometry); publicpostgresfalse610141014P125516783^dropgeometrycolumn(character varying, character varying, character varying, character varying)FUNCTIONCREATE FUNCTION dropgeometrycolumn(character varying, character varying, character varying, character varying) RETURNS text LANGUAGE plpgsql STRICT AS $_$ DECLARE catalog_name alias for $1; schema_name alias for $2; table_name alias for $3; column_name alias for $4; myrec RECORD; okay boolean; real_schema name; BEGIN -- Find, check or fix schema_name IF ( schema_name != '' ) THEN okay = 'f'; FOR myrec IN SELECT nspname FROM pg_namespace WHERE text(nspname) = schema_name LOOP okay := 't'; END LOOP; IF ( okay <> 't' ) THEN RAISE NOTICE 'Invalid schema name - using current_schema()'; SELECT current_schema() into real_schema; ELSE real_schema = schema_name; END IF; ELSE SELECT current_schema() into real_schema; END IF; -- Find out if the column is in the geometry_columns table okay = 'f'; FOR myrec IN SELECT * from geometry_columns where f_table_schema = text(real_schema) and f_table_name = table_name and f_geometry_column = column_name LOOP okay := 't'; END LOOP; IF (okay <> 't') THEN RAISE EXCEPTION 'column not found in geometry_columns table'; RETURN 'f'; END IF; -- Remove ref from geometry_columns table EXECUTE 'delete from geometry_columns where f_table_schema = ' || quote_literal(real_schema) || ' and f_table_name = ' || quote_literal(table_name) || ' and f_geometry_column = ' || quote_literal(column_name); -- Remove table column EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' DROP COLUMN ' || quote_ident(column_name); RETURN real_schema || '.' || table_name || '.' || column_name ||' effectively removed.'; END; $_$; uDROP FUNCTION public.dropgeometrycolumn(character varying, character varying, character varying, character varying); publicpostgresfalse61199! 00gFUNCTION dropgeometrycolumn(character varying, character varying, character varying, character varying)COMMENTCOMMENT ON FUNCTION dropgeometrycolumn(character varying, character varying, character varying, character varying) IS 'args: catalog_name, schema_name, table_name, column_name - Removes a geometry column from a spatial table.'; publicpostgresfalse336Q125516784Kdropgeometrycolumn(character varying, character varying, character varying)FUNCTIONCREATE FUNCTION dropgeometrycolumn(character varying, character varying, character varying) RETURNS text LANGUAGE plpgsql STRICT AS $_$ DECLARE ret text; BEGIN SELECT DropGeometryColumn('',$1,$2,$3) into ret; RETURN ret; END; $_$; bDROP FUNCTION public.dropgeometrycolumn(character varying, character varying, character varying); publicpostgresfalse61199" 00TFUNCTION dropgeometrycolumn(character varying, character varying, character varying)COMMENTCOMMENT ON FUNCTION dropgeometrycolumn(character varying, character varying, character varying) IS 'args: schema_name, table_name, column_name - Removes a geometry column from a spatial table.'; publicpostgresfalse337R1255167858dropgeometrycolumn(character varying, character varying)FUNCTIONCREATE FUNCTION dropgeometrycolumn(character varying, character varying) RETURNS text LANGUAGE plpgsql STRICT AS $_$ DECLARE ret text; BEGIN SELECT DropGeometryColumn('','',$1,$2) into ret; RETURN ret; END; $_$; ODROP FUNCTION public.dropgeometrycolumn(character varying, character varying); publicpostgresfalse61199# 00AFUNCTION dropgeometrycolumn(character varying, character varying)COMMENTCOMMENT ON FUNCTION dropgeometrycolumn(character varying, character varying) IS 'args: table_name, column_name - Removes a geometry column from a spatial table.'; publicpostgresfalse338S125516786Jdropgeometrytable(character varying, character varying, character varying)FUNCTIONCREATE FUNCTION dropgeometrytable(character varying, character varying, character varying) RETURNS text LANGUAGE plpgsql STRICT AS $_$ DECLARE catalog_name alias for $1; schema_name alias for $2; table_name alias for $3; real_schema name; BEGIN IF ( schema_name = '' ) THEN SELECT current_schema() into real_schema; ELSE real_schema = schema_name; END IF; -- Remove refs from geometry_columns table EXECUTE 'DELETE FROM geometry_columns WHERE ' || 'f_table_schema = ' || quote_literal(real_schema) || ' AND ' || ' f_table_name = ' || quote_literal(table_name); -- Remove table EXECUTE 'DROP TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name); RETURN real_schema || '.' || table_name ||' dropped.'; END; $_$; aDROP FUNCTION public.dropgeometrytable(character varying, character varying, character varying); publicpostgresfalse11996$ 00SFUNCTION dropgeometrytable(character varying, character varying, character varying)COMMENTCOMMENT ON FUNCTION dropgeometrytable(character varying, character varying, character varying) IS 'args: catalog_name, schema_name, table_name - Drops a table and all its references in geometry_columns.'; publicpostgresfalse339T1255167877dropgeometrytable(character varying, character varying)FUNCTIONCREATE FUNCTION dropgeometrytable(character varying, character varying) RETURNS text LANGUAGE sql STRICT AS $_$ SELECT DropGeometryTable('',$1,$2) $_$; NDROP FUNCTION public.dropgeometrytable(character varying, character varying); publicpostgresfalse6% 00@FUNCTION dropgeometrytable(character varying, character varying)COMMENTCOMMENT ON FUNCTION dropgeometrytable(character varying, character varying) IS 'args: schema_name, table_name - Drops a table and all its references in geometry_columns.'; publicpostgresfalse340U125516788$dropgeometrytable(character varying)FUNCTIONCREATE FUNCTION dropgeometrytable(character varying) RETURNS text LANGUAGE sql STRICT AS $_$ SELECT DropGeometryTable('','',$1) $_$; ;DROP FUNCTION public.dropgeometrytable(character varying); publicpostgresfalse6& 00-FUNCTION dropgeometrytable(character varying)COMMENTCOMMENT ON FUNCTION dropgeometrytable(character varying) IS 'args: table_name - Drops a table and all its references in geometry_columns.'; publicpostgresfalse341/125516736dump(geometry)FUNCTIONCREATE FUNCTION dump(geometry) RETURNS SETOF geometry_dump LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_dump'; %DROP FUNCTION public.dump(geometry); publicpostgresfalse1029101461125516738dumprings(geometry)FUNCTIONCREATE FUNCTION dumprings(geometry) RETURNS SETOF geometry_dump LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_dump_rings'; *DROP FUNCTION public.dumprings(geometry); publicpostgresfalse102961014125517173enablelongtransactions()FUNCTIONXCREATE FUNCTION enablelongtransactions() RETURNS text LANGUAGE plpgsql AS $$ DECLARE "query" text; exists bool; rec RECORD; BEGIN exists = 'f'; FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorization_table' LOOP exists = 't'; END LOOP; IF NOT exists THEN "query" = 'CREATE TABLE authorization_table ( toid oid, -- table oid rid text, -- row id expires timestamp, authid text )'; EXECUTE "query"; END IF; exists = 'f'; FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorized_tables' LOOP exists = 't'; END LOOP; IF NOT exists THEN "query" = 'CREATE VIEW authorized_tables AS ' || 'SELECT ' || 'n.nspname as schema, ' || 'c.relname as table, trim(' || quote_literal(chr(92) || '000') || ' from t.tgargs) as id_column ' || 'FROM pg_trigger t, pg_class c, pg_proc p ' || ', pg_namespace n ' || 'WHERE p.proname = ' || quote_literal('checkauthtrigger') || ' AND c.relnamespace = n.oid' || ' AND t.tgfoid = p.oid and t.tgrelid = c.oid'; EXECUTE "query"; END IF; RETURN 'Long transactions support enabled'; END; $$; /DROP FUNCTION public.enablelongtransactions(); publicpostgresfalse11996' 00!FUNCTION enablelongtransactions()COMMENTCOMMENT ON FUNCTION enablelongtransactions() IS 'Enable long transaction support. This function creates the required metadata tables, needs to be called once before using the other functions in this section. Calling it twice is harmless.'; publicpostgresfalse690(125517039endpoint(geometry)FUNCTIONCREATE FUNCTION endpoint(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_endpoint_linestring'; )DROP FUNCTION public.endpoint(geometry); publicpostgresfalse101461014125516665envelope(geometry)FUNCTIONCREATE FUNCTION envelope(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_envelope'; )DROP FUNCTION public.envelope(geometry); publicpostgresfalse610141014125516975equals(geometry, geometry)FUNCTIONCREATE FUNCTION equals(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'geomequals'; 1DROP FUNCTION public.equals(geometry, geometry); publicpostgresfalse6101410149125516750"estimated_extent(text, text, text)FUNCTIONCREATE FUNCTION estimated_extent(text, text, text) RETURNS box2d LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER AS '$libdir/postgis-1.4', 'LWGEOM_estimated_extent'; 9DROP FUNCTION public.estimated_extent(text, text, text); publicpostgresfalse10266;125516752estimated_extent(text, text)FUNCTIONCREATE FUNCTION estimated_extent(text, text) RETURNS box2d LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER AS '$libdir/postgis-1.4', 'LWGEOM_estimated_extent'; 3DROP FUNCTION public.estimated_extent(text, text); publicpostgresfalse10266125516659expand(box3d, double precision)FUNCTIONCREATE FUNCTION expand(box3d, double precision) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_expand'; 6DROP FUNCTION public.expand(box3d, double precision); publicpostgresfalse610171017125516661expand(box2d, double precision)FUNCTIONCREATE FUNCTION expand(box2d, double precision) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_expand'; 6DROP FUNCTION public.expand(box2d, double precision); publicpostgresfalse610261026125516663"expand(geometry, double precision)FUNCTIONCREATE FUNCTION expand(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_expand'; 9DROP FUNCTION public.expand(geometry, double precision); publicpostgresfalse610141014125517017exteriorring(geometry)FUNCTIONCREATE FUNCTION exteriorring(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_exteriorring_polygon'; -DROP FUNCTION public.exteriorring(geometry); publicpostgresfalse101461014125516592 factor(chip)FUNCTIONzCREATE FUNCTION factor(chip) RETURNS real LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getFactor'; #DROP FUNCTION public.factor(chip); publicpostgresfalse10236=125516754find_extent(text, text, text)FUNCTIONzCREATE FUNCTION find_extent(text, text, text) RETURNS box2d LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ DECLARE schemaname alias for $1; tablename alias for $2; columnname alias for $3; myrec RECORD; BEGIN FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || schemaname || '"."' || tablename || '"' LOOP return myrec.extent; END LOOP; END; $_$; 4DROP FUNCTION public.find_extent(text, text, text); publicpostgresfalse102611996?125516756find_extent(text, text)FUNCTIONCCREATE FUNCTION find_extent(text, text) RETURNS box2d LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ DECLARE tablename alias for $1; columnname alias for $2; myrec RECORD; BEGIN FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || tablename || '"' LOOP return myrec.extent; END LOOP; END; $_$; .DROP FUNCTION public.find_extent(text, text); publicpostgresfalse102611996Y125516792Bfind_srid(character varying, character varying, character varying)FUNCTIONtCREATE FUNCTION find_srid(character varying, character varying, character varying) RETURNS integer LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ DECLARE schem text; tabl text; sr int4; BEGIN IF $1 IS NULL THEN RAISE EXCEPTION 'find_srid() - schema is NULL!'; END IF; IF $2 IS NULL THEN RAISE EXCEPTION 'find_srid() - table name is NULL!'; END IF; IF $3 IS NULL THEN RAISE EXCEPTION 'find_srid() - column name is NULL!'; END IF; schem = $1; tabl = $2; -- if the table contains a . and the schema is empty -- split the table into a schema and a table -- otherwise drop through to default behavior IF ( schem = '' and tabl LIKE '%.%' ) THEN schem = substr(tabl,1,strpos(tabl,'.')-1); tabl = substr(tabl,length(schem)+2); ELSE schem = schem || '%'; END IF; select SRID into sr from geometry_columns where f_table_schema like schem and f_table_name = tabl and f_geometry_column = $3; IF NOT FOUND THEN RAISE EXCEPTION 'find_srid() - couldnt find the corresponding SRID - is the geometry registered in the GEOMETRY_COLUMNS table? Is there an uppercase/lowercase missmatch?'; END IF; return sr; END; $_$; YDROP FUNCTION public.find_srid(character varying, character varying, character varying); publicpostgresfalse11996( 00KFUNCTION find_srid(character varying, character varying, character varying)COMMENT>COMMENT ON FUNCTION find_srid(character varying, character varying, character varying) IS 'args: a_schema_name, a_table_name, a_geomfield_name - The syntax is find_srid(, , ) and the function returns the integer SRID of the specified column by searching through the GEOMETRY_COLUMNS table.'; publicpostgresfalse345C125516775fix_geometry_columns()FUNCTIONCREATE FUNCTION fix_geometry_columns() RETURNS text LANGUAGE plpgsql AS $$ DECLARE mislinked record; result text; linked integer; deleted integer; foundschema integer; BEGIN -- Since 7.3 schema support has been added. -- Previous postgis versions used to put the database name in -- the schema column. This needs to be fixed, so we try to -- set the correct schema for each geometry_colums record -- looking at table, column, type and srid. UPDATE geometry_columns SET f_table_schema = n.nspname FROM pg_namespace n, pg_class c, pg_attribute a, pg_constraint sridcheck, pg_constraint typecheck WHERE ( f_table_schema is NULL OR f_table_schema = '' OR f_table_schema NOT IN ( SELECT nspname::varchar FROM pg_namespace nn, pg_class cc, pg_attribute aa WHERE cc.relnamespace = nn.oid AND cc.relname = f_table_name::name AND aa.attrelid = cc.oid AND aa.attname = f_geometry_column::name)) AND f_table_name::name = c.relname AND c.oid = a.attrelid AND c.relnamespace = n.oid AND f_geometry_column::name = a.attname AND sridcheck.conrelid = c.oid AND sridcheck.consrc LIKE '(srid(% = %)' AND sridcheck.consrc ~ textcat(' = ', srid::text) AND typecheck.conrelid = c.oid AND typecheck.consrc LIKE '((geometrytype(%) = ''%''::text) OR (% IS NULL))' AND typecheck.consrc ~ textcat(' = ''', type::text) AND NOT EXISTS ( SELECT oid FROM geometry_columns gc WHERE c.relname::varchar = gc.f_table_name AND n.nspname::varchar = gc.f_table_schema AND a.attname::varchar = gc.f_geometry_column ); GET DIAGNOSTICS foundschema = ROW_COUNT; -- no linkage to system table needed return 'fixed:'||foundschema::text; END; $$; -DROP FUNCTION public.fix_geometry_columns(); publicpostgresfalse11996125516645force_2d(geometry)FUNCTIONCREATE FUNCTION force_2d(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_2d'; )DROP FUNCTION public.force_2d(geometry); publicpostgresfalse610141014125516649force_3d(geometry)FUNCTIONCREATE FUNCTION force_3d(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_3dz'; )DROP FUNCTION public.force_3d(geometry); publicpostgresfalse610141014125516651force_3dm(geometry)FUNCTIONCREATE FUNCTION force_3dm(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_3dm'; *DROP FUNCTION public.force_3dm(geometry); publicpostgresfalse610141014125516647force_3dz(geometry)FUNCTIONCREATE FUNCTION force_3dz(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_3dz'; *DROP FUNCTION public.force_3dz(geometry); publicpostgresfalse610141014125516653force_4d(geometry)FUNCTIONCREATE FUNCTION force_4d(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_4d'; )DROP FUNCTION public.force_4d(geometry); publicpostgresfalse610141014125516655force_collection(geometry)FUNCTIONCREATE FUNCTION force_collection(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_collection'; 1DROP FUNCTION public.force_collection(geometry); publicpostgresfalse610141014125516669forcerhr(geometry)FUNCTIONCREATE FUNCTION forcerhr(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_forceRHR_poly'; )DROP FUNCTION public.forcerhr(geometry); publicpostgresfalse610141014125516901 geom_accum(geometry[], geometry)FUNCTIONCREATE FUNCTION geom_accum(geometry[], geometry) RETURNS geometry[] LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'LWGEOM_accum'; 7DROP FUNCTION public.geom_accum(geometry[], geometry); publicpostgresfalse1016101410166i125517104geomcollfromtext(text, integer)FUNCTIONCREATE FUNCTION geomcollfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'GEOMETRYCOLLECTION' THEN GeomFromText($1,$2) ELSE NULL END $_$; 6DROP FUNCTION public.geomcollfromtext(text, integer); publicpostgresfalse10146k125517106geomcollfromtext(text)FUNCTIONCREATE FUNCTION geomcollfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'GEOMETRYCOLLECTION' THEN GeomFromText($1) ELSE NULL END $_$; -DROP FUNCTION public.geomcollfromtext(text); publicpostgresfalse61014125517155geomcollfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION geomcollfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'GEOMETRYCOLLECTION' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 6DROP FUNCTION public.geomcollfromwkb(bytea, integer); publicpostgresfalse61014125517157geomcollfromwkb(bytea)FUNCTIONCREATE FUNCTION geomcollfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'GEOMETRYCOLLECTION' THEN GeomFromWKB($1) ELSE NULL END $_$; -DROP FUNCTION public.geomcollfromwkb(bytea); publicpostgresfalse61014r125516822geometry(box2d)FUNCTIONCREATE FUNCTION geometry(box2d) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_to_LWGEOM'; &DROP FUNCTION public.geometry(box2d); publicpostgresfalse610141026t125516824geometry(box3d)FUNCTIONCREATE FUNCTION geometry(box3d) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_to_LWGEOM'; &DROP FUNCTION public.geometry(box3d); publicpostgresfalse101461017v125516826geometry(text)FUNCTIONCREATE FUNCTION geometry(text) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'parse_WKT_lwgeom'; %DROP FUNCTION public.geometry(text); publicpostgresfalse61014x125516828geometry(chip)FUNCTIONCREATE FUNCTION geometry(chip) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_to_LWGEOM'; %DROP FUNCTION public.geometry(chip); publicpostgresfalse610141023z125516830geometry(bytea)FUNCTIONCREATE FUNCTION geometry(bytea) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_bytea'; &DROP FUNCTION public.geometry(bytea); publicpostgresfalse61014125516530"geometry_above(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_above(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_above'; 9DROP FUNCTION public.geometry_above(geometry, geometry); publicpostgresfalse101410146125516403geometry_analyze(internal)FUNCTIONCREATE FUNCTION geometry_analyze(internal) RETURNS boolean LANGUAGE c STRICT AS '$libdir/postgis-1.4', 'LWGEOM_analyze'; 1DROP FUNCTION public.geometry_analyze(internal); publicpostgresfalse6125516532"geometry_below(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_below(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_below'; 9DROP FUNCTION public.geometry_below(geometry, geometry); publicpostgresfalse610141014s125516499 geometry_cmp(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_cmp(geometry, geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_cmp'; 7DROP FUNCTION public.geometry_cmp(geometry, geometry); publicpostgresfalse101410146125516534$geometry_contain(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_contain(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_contain'; ;DROP FUNCTION public.geometry_contain(geometry, geometry); publicpostgresfalse101410146125516536&geometry_contained(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_contained(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_contained'; =DROP FUNCTION public.geometry_contained(geometry, geometry); publicpostgresfalse101461014q125516497geometry_eq(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_eq(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_eq'; 6DROP FUNCTION public.geometry_eq(geometry, geometry); publicpostgresfalse101410146o125516495geometry_ge(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_ge(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_ge'; 6DROP FUNCTION public.geometry_ge(geometry, geometry); publicpostgresfalse101410146m125516493geometry_gt(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_gt(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_gt'; 6DROP FUNCTION public.geometry_gt(geometry, geometry); publicpostgresfalse101461014125516399geometry_in(cstring)FUNCTIONCREATE FUNCTION geometry_in(cstring) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_in'; +DROP FUNCTION public.geometry_in(cstring); publicpostgresfalse61014k125516491geometry_le(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_le(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_le'; 6DROP FUNCTION public.geometry_le(geometry, geometry); publicpostgresfalse101461014125516526!geometry_left(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_left(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_left'; 8DROP FUNCTION public.geometry_left(geometry, geometry); publicpostgresfalse101461014i125516489geometry_lt(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_lt(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_lt'; 6DROP FUNCTION public.geometry_lt(geometry, geometry); publicpostgresfalse101461014125516401geometry_out(geometry)FUNCTIONCREATE FUNCTION geometry_out(geometry) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_out'; -DROP FUNCTION public.geometry_out(geometry); publicpostgresfalse61014}125516522&geometry_overabove(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_overabove(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_overabove'; =DROP FUNCTION public.geometry_overabove(geometry, geometry); publicpostgresfalse101410146125516524&geometry_overbelow(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_overbelow(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_overbelow'; =DROP FUNCTION public.geometry_overbelow(geometry, geometry); publicpostgresfalse101410146125516538$geometry_overlap(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_overlap(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_overlap'; ;DROP FUNCTION public.geometry_overlap(geometry, geometry); publicpostgresfalse610141014y125516518%geometry_overleft(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_overleft(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_overleft'; <DROP FUNCTION public.geometry_overleft(geometry, geometry); publicpostgresfalse610141014{125516520&geometry_overright(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_overright(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_overright'; =DROP FUNCTION public.geometry_overright(geometry, geometry); publicpostgresfalse101410146125516405geometry_recv(internal)FUNCTIONCREATE FUNCTION geometry_recv(internal) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_recv'; .DROP FUNCTION public.geometry_recv(internal); publicpostgresfalse10146125516528"geometry_right(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_right(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_right'; 9DROP FUNCTION public.geometry_right(geometry, geometry); publicpostgresfalse101461014125516540!geometry_same(geometry, geometry)FUNCTIONCREATE FUNCTION geometry_same(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_same'; 8DROP FUNCTION public.geometry_same(geometry, geometry); publicpostgresfalse610141014 125516407geometry_send(geometry)FUNCTIONCREATE FUNCTION geometry_send(geometry) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_send'; .DROP FUNCTION public.geometry_send(geometry); publicpostgresfalse610148125517055geometryfromtext(text)FUNCTIONCREATE FUNCTION geometryfromtext(text) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_text'; -DROP FUNCTION public.geometryfromtext(text); publicpostgresfalse61014:125517057geometryfromtext(text, integer)FUNCTIONCREATE FUNCTION geometryfromtext(text, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_text'; 6DROP FUNCTION public.geometryfromtext(text, integer); publicpostgresfalse61014125517013geometryn(geometry, integer)FUNCTIONCREATE FUNCTION geometryn(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_geometryn_collection'; 3DROP FUNCTION public.geometryn(geometry, integer); publicpostgresfalse101461014125517025geometrytype(geometry)FUNCTIONCREATE FUNCTION geometrytype(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_getTYPE'; -DROP FUNCTION public.geometrytype(geometry); publicpostgresfalse61014) 00FUNCTION geometrytype(geometry)COMMENTCOMMENT ON FUNCTION geometrytype(geometry) IS 'args: geomA - Returns the type of the geometry as a string. Eg: LINESTRING, POLYGON, MULTIPOINT, etc.'; publicpostgresfalse538125516689geomfromewkb(bytea)FUNCTIONCREATE FUNCTION geomfromewkb(bytea) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOMFromWKB'; *DROP FUNCTION public.geomfromewkb(bytea); publicpostgresfalse61014125516691geomfromewkt(text)FUNCTIONCREATE FUNCTION geomfromewkt(text) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'parse_WKT_lwgeom'; )DROP FUNCTION public.geomfromewkt(text); publicpostgresfalse61014<125517059geomfromtext(text)FUNCTIONCREATE FUNCTION geomfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT geometryfromtext($1)$_$; )DROP FUNCTION public.geomfromtext(text); publicpostgresfalse61014>125517061geomfromtext(text, integer)FUNCTIONCREATE FUNCTION geomfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT geometryfromtext($1, $2)$_$; 2DROP FUNCTION public.geomfromtext(text, integer); publicpostgresfalse10146m125517108geomfromwkb(bytea)FUNCTIONCREATE FUNCTION geomfromwkb(bytea) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_WKB'; )DROP FUNCTION public.geomfromwkb(bytea); publicpostgresfalse61014o125517110geomfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION geomfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT setSRID(GeomFromWKB($1), $2)$_$; 2DROP FUNCTION public.geomfromwkb(bytea, integer); publicpostgresfalse10146125516893geomunion(geometry, geometry)FUNCTIONCREATE FUNCTION geomunion(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'geomunion'; 4DROP FUNCTION public.geomunion(geometry, geometry); publicpostgresfalse6101410141014125516966geosnoop(geometry)FUNCTIONtCREATE FUNCTION geosnoop(geometry) RETURNS geometry LANGUAGE c STRICT AS '$libdir/postgis-1.4', 'GEOSnoop'; )DROP FUNCTION public.geosnoop(geometry); publicpostgresfalse610141014Z125516793get_proj4_from_srid(integer)FUNCTIONCREATE FUNCTION get_proj4_from_srid(integer) RETURNS text LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ BEGIN RETURN proj4text::text FROM spatial_ref_sys WHERE srid= $1; END; $_$; 3DROP FUNCTION public.get_proj4_from_srid(integer); publicpostgresfalse61199125516587getbbox(geometry)FUNCTIONCREATE FUNCTION getbbox(geometry) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_BOX2DFLOAT4'; (DROP FUNCTION public.getbbox(geometry); publicpostgresfalse610141026125516586getsrid(geometry)FUNCTIONCREATE FUNCTION getsrid(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_getSRID'; (DROP FUNCTION public.getsrid(geometry); publicpostgresfalse61014125517172gettransactionid()FUNCTIONpCREATE FUNCTION gettransactionid() RETURNS xid LANGUAGE c AS '$libdir/postgis-1.4', 'getTransactionID'; )DROP FUNCTION public.gettransactionid(); publicpostgresfalse6125516675hasbbox(geometry)FUNCTIONCREATE FUNCTION hasbbox(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_hasBBOX'; (DROP FUNCTION public.hasbbox(geometry); publicpostgresfalse61014125516590 height(chip)FUNCTION}CREATE FUNCTION height(chip) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getHeight'; #DROP FUNCTION public.height(chip); publicpostgresfalse10236125517023 interiorringn(geometry, integer)FUNCTIONCREATE FUNCTION interiorringn(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_interiorringn_polygon'; 7DROP FUNCTION public.interiorringn(geometry, integer); publicpostgresfalse101461014125516872 intersection(geometry, geometry)FUNCTIONCREATE FUNCTION intersection(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'intersection'; 7DROP FUNCTION public.intersection(geometry, geometry); publicpostgresfalse1014101461014125516943intersects(geometry, geometry)FUNCTIONCREATE FUNCTION intersects(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'intersects'; 5DROP FUNCTION public.intersects(geometry, geometry); publicpostgresfalse101461014*125517041isclosed(geometry)FUNCTIONCREATE FUNCTION isclosed(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_isclosed_linestring'; )DROP FUNCTION public.isclosed(geometry); publicpostgresfalse61014,125517043isempty(geometry)FUNCTIONCREATE FUNCTION isempty(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_isempty'; (DROP FUNCTION public.isempty(geometry); publicpostgresfalse61014125516969isring(geometry)FUNCTIONyCREATE FUNCTION isring(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'isring'; 'DROP FUNCTION public.isring(geometry); publicpostgresfalse10146125516973issimple(geometry)FUNCTION}CREATE FUNCTION issimple(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'issimple'; )DROP FUNCTION public.issimple(geometry); publicpostgresfalse61014125516964isvalid(geometry)FUNCTION{CREATE FUNCTION isvalid(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'isvalid'; (DROP FUNCTION public.isvalid(geometry); publicpostgresfalse61014125516615length(geometry)FUNCTIONCREATE FUNCTION length(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length_linestring'; 'DROP FUNCTION public.length(geometry); publicpostgresfalse61014125516613length2d(geometry)FUNCTIONCREATE FUNCTION length2d(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length2d_linestring'; )DROP FUNCTION public.length2d(geometry); publicpostgresfalse61014125516621%length2d_spheroid(geometry, spheroid)FUNCTIONCREATE FUNCTION length2d_spheroid(geometry, spheroid) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length2d_ellipsoid_linestring'; <DROP FUNCTION public.length2d_spheroid(geometry, spheroid); publicpostgresfalse610141011125516611length3d(geometry)FUNCTIONCREATE FUNCTION length3d(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length_linestring'; )DROP FUNCTION public.length3d(geometry); publicpostgresfalse61014125516617%length3d_spheroid(geometry, spheroid)FUNCTIONCREATE FUNCTION length3d_spheroid(geometry, spheroid) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length_ellipsoid_linestring'; <DROP FUNCTION public.length3d_spheroid(geometry, spheroid); publicpostgresfalse101461011125516619#length_spheroid(geometry, spheroid)FUNCTIONCREATE FUNCTION length_spheroid(geometry, spheroid) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length_ellipsoid_linestring'; :DROP FUNCTION public.length_spheroid(geometry, spheroid); publicpostgresfalse1014610111255168622line_interpolate_point(geometry, double precision)FUNCTIONCREATE FUNCTION line_interpolate_point(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_line_interpolate_point'; IDROP FUNCTION public.line_interpolate_point(geometry, double precision); publicpostgresfalse101410146125516866%line_locate_point(geometry, geometry)FUNCTIONCREATE FUNCTION line_locate_point(geometry, geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_line_locate_point'; <DROP FUNCTION public.line_locate_point(geometry, geometry); publicpostgresfalse101410146125516864<line_substring(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION line_substring(geometry, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_line_substring'; SDROP FUNCTION public.line_substring(geometry, double precision, double precision); publicpostgresfalse610141014125516710linefrommultipoint(geometry)FUNCTIONCREATE FUNCTION linefrommultipoint(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_line_from_mpoint'; 3DROP FUNCTION public.linefrommultipoint(geometry); publicpostgresfalse101461014D125517067linefromtext(text)FUNCTIONCREATE FUNCTION linefromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'LINESTRING' THEN GeomFromText($1) ELSE NULL END $_$; )DROP FUNCTION public.linefromtext(text); publicpostgresfalse10146F125517069linefromtext(text, integer)FUNCTIONCREATE FUNCTION linefromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'LINESTRING' THEN GeomFromText($1,$2) ELSE NULL END $_$; 2DROP FUNCTION public.linefromtext(text, integer); publicpostgresfalse61014u125517116linefromwkb(bytea, integer)FUNCTIONCREATE FUNCTION linefromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'LINESTRING' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 2DROP FUNCTION public.linefromwkb(bytea, integer); publicpostgresfalse61014w125517118linefromwkb(bytea)FUNCTIONCREATE FUNCTION linefromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'LINESTRING' THEN GeomFromWKB($1) ELSE NULL END $_$; )DROP FUNCTION public.linefromwkb(bytea); publicpostgresfalse10146-125516731linemerge(geometry)FUNCTIONCREATE FUNCTION linemerge(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'linemerge'; *DROP FUNCTION public.linemerge(geometry); publicpostgresfalse610141014H125517071linestringfromtext(text)FUNCTIONCREATE FUNCTION linestringfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT LineFromText($1)$_$; /DROP FUNCTION public.linestringfromtext(text); publicpostgresfalse61014I125517072!linestringfromtext(text, integer)FUNCTIONCREATE FUNCTION linestringfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT LineFromText($1, $2)$_$; 8DROP FUNCTION public.linestringfromtext(text, integer); publicpostgresfalse61014y125517120!linestringfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION linestringfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'LINESTRING' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 8DROP FUNCTION public.linestringfromwkb(bytea, integer); publicpostgresfalse10146{125517122linestringfromwkb(bytea)FUNCTIONCREATE FUNCTION linestringfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'LINESTRING' THEN GeomFromWKB($1) ELSE NULL END $_$; /DROP FUNCTION public.linestringfromwkb(bytea); publicpostgresfalse101461255168700locate_along_measure(geometry, double precision)FUNCTIONCREATE FUNCTION locate_along_measure(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT locate_between_measures($1, $2, $2) $_$; GDROP FUNCTION public.locate_along_measure(geometry, double precision); publicpostgresfalse101461014125516868Elocate_between_measures(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION locate_between_measures(geometry, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_locate_between_m'; \DROP FUNCTION public.locate_between_measures(geometry, double precision, double precision); publicpostgresfalse101410146125517164<lockrow(text, text, text, text, timestamp without time zone)FUNCTIONcCREATE FUNCTION lockrow(text, text, text, text, timestamp without time zone) RETURNS integer LANGUAGE plpgsql STRICT AS $_$ DECLARE myschema alias for $1; mytable alias for $2; myrid alias for $3; authid alias for $4; expires alias for $5; ret int; mytoid oid; myrec RECORD; BEGIN IF NOT LongTransactionsEnabled() THEN RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; END IF; EXECUTE 'DELETE FROM authorization_table WHERE expires < now()'; SELECT c.oid INTO mytoid FROM pg_class c, pg_namespace n WHERE c.relname = mytable AND c.relnamespace = n.oid AND n.nspname = myschema; -- RAISE NOTICE 'toid: %', mytoid; FOR myrec IN SELECT * FROM authorization_table WHERE toid = mytoid AND rid = myrid LOOP IF myrec.authid != authid THEN RETURN 0; ELSE RETURN 1; END IF; END LOOP; EXECUTE 'INSERT INTO authorization_table VALUES ('|| quote_literal(mytoid::text)||','||quote_literal(myrid)|| ','||quote_literal(expires::text)|| ','||quote_literal(authid) ||')'; GET DIAGNOSTICS ret = ROW_COUNT; RETURN ret; END; $_$; SDROP FUNCTION public.lockrow(text, text, text, text, timestamp without time zone); publicpostgresfalse61199* 00EFUNCTION lockrow(text, text, text, text, timestamp without time zone)COMMENTCOMMENT ON FUNCTION lockrow(text, text, text, text, timestamp without time zone) IS 'args: a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt - Set lock/authorization for specific row in table'; publicpostgresfalse681125517165lockrow(text, text, text, text)FUNCTIONCREATE FUNCTION lockrow(text, text, text, text) RETURNS integer LANGUAGE sql STRICT AS $_$ SELECT LockRow($1, $2, $3, $4, now()::timestamp+'1:00'); $_$; 6DROP FUNCTION public.lockrow(text, text, text, text); publicpostgresfalse6125517166lockrow(text, text, text)FUNCTIONCREATE FUNCTION lockrow(text, text, text) RETURNS integer LANGUAGE sql STRICT AS $_$ SELECT LockRow(current_schema(), $1, $2, $3, now()::timestamp+'1:00'); $_$; 0DROP FUNCTION public.lockrow(text, text, text); publicpostgresfalse6+ 00"FUNCTION lockrow(text, text, text)COMMENTCOMMENT ON FUNCTION lockrow(text, text, text) IS 'args: a_table_name, a_row_key, an_auth_token - Set lock/authorization for specific row in table'; publicpostgresfalse6831255171676lockrow(text, text, text, timestamp without time zone)FUNCTIONCREATE FUNCTION lockrow(text, text, text, timestamp without time zone) RETURNS integer LANGUAGE sql STRICT AS $_$ SELECT LockRow(current_schema(), $1, $2, $3, $4); $_$; MDROP FUNCTION public.lockrow(text, text, text, timestamp without time zone); publicpostgresfalse6, 00?FUNCTION lockrow(text, text, text, timestamp without time zone)COMMENTCOMMENT ON FUNCTION lockrow(text, text, text, timestamp without time zone) IS 'args: a_table_name, a_row_key, an_auth_token, expire_dt - Set lock/authorization for specific row in table'; publicpostgresfalse684125517174longtransactionsenabled()FUNCTIONCREATE FUNCTION longtransactionsenabled() RETURNS boolean LANGUAGE plpgsql AS $$ DECLARE rec RECORD; BEGIN FOR rec IN SELECT oid FROM pg_class WHERE relname = 'authorized_tables' LOOP return 't'; END LOOP; return 'f'; END; $$; 0DROP FUNCTION public.longtransactionsenabled(); publicpostgresfalse61199125516555lwgeom_gist_compress(internal)FUNCTIONCREATE FUNCTION lwgeom_gist_compress(internal) RETURNS internal LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_compress'; 5DROP FUNCTION public.lwgeom_gist_compress(internal); publicpostgresfalse61255165543lwgeom_gist_consistent(internal, geometry, integer)FUNCTIONCREATE FUNCTION lwgeom_gist_consistent(internal, geometry, integer) RETURNS boolean LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_consistent'; JDROP FUNCTION public.lwgeom_gist_consistent(internal, geometry, integer); publicpostgresfalse61014125516560 lwgeom_gist_decompress(internal)FUNCTIONCREATE FUNCTION lwgeom_gist_decompress(internal) RETURNS internal LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_decompress'; 7DROP FUNCTION public.lwgeom_gist_decompress(internal); publicpostgresfalse61255165561lwgeom_gist_penalty(internal, internal, internal)FUNCTIONCREATE FUNCTION lwgeom_gist_penalty(internal, internal, internal) RETURNS internal LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_penalty'; HDROP FUNCTION public.lwgeom_gist_penalty(internal, internal, internal); publicpostgresfalse6125516557)lwgeom_gist_picksplit(internal, internal)FUNCTIONCREATE FUNCTION lwgeom_gist_picksplit(internal, internal) RETURNS internal LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_picksplit'; @DROP FUNCTION public.lwgeom_gist_picksplit(internal, internal); publicpostgresfalse6125516559(lwgeom_gist_same(box2d, box2d, internal)FUNCTIONCREATE FUNCTION lwgeom_gist_same(box2d, box2d, internal) RETURNS internal LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_same'; ?DROP FUNCTION public.lwgeom_gist_same(box2d, box2d, internal); publicpostgresfalse610261026125516558"lwgeom_gist_union(bytea, internal)FUNCTIONCREATE FUNCTION lwgeom_gist_union(bytea, internal) RETURNS internal LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_union'; 9DROP FUNCTION public.lwgeom_gist_union(bytea, internal); publicpostgresfalse6$125517035 m(geometry)FUNCTIONCREATE FUNCTION m(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_m_point'; "DROP FUNCTION public.m(geometry); publicpostgresfalse10146125516703makebox2d(geometry, geometry)FUNCTIONCREATE FUNCTION makebox2d(geometry, geometry) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_construct'; 4DROP FUNCTION public.makebox2d(geometry, geometry); publicpostgresfalse1014610141026125516705makebox3d(geometry, geometry)FUNCTIONCREATE FUNCTION makebox3d(geometry, geometry) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_construct'; 4DROP FUNCTION public.makebox3d(geometry, geometry); publicpostgresfalse1017101410146125516712makeline(geometry, geometry)FUNCTIONCREATE FUNCTION makeline(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makeline'; 3DROP FUNCTION public.makeline(geometry, geometry); publicpostgresfalse6101410141014125516707makeline_garray(geometry[])FUNCTIONCREATE FUNCTION makeline_garray(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makeline_garray'; 2DROP FUNCTION public.makeline_garray(geometry[]); publicpostgresfalse610141016 125516695-makepoint(double precision, double precision)FUNCTIONCREATE FUNCTION makepoint(double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoint'; DDROP FUNCTION public.makepoint(double precision, double precision); publicpostgresfalse10146 125516697?makepoint(double precision, double precision, double precision)FUNCTIONCREATE FUNCTION makepoint(double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoint'; VDROP FUNCTION public.makepoint(double precision, double precision, double precision); publicpostgresfalse10146 125516699Qmakepoint(double precision, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION makepoint(double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoint'; hDROP FUNCTION public.makepoint(double precision, double precision, double precision, double precision); publicpostgresfalse10146125516701@makepointm(double precision, double precision, double precision)FUNCTIONCREATE FUNCTION makepointm(double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoint3dm'; WDROP FUNCTION public.makepointm(double precision, double precision, double precision); publicpostgresfalse10146$125516722!makepolygon(geometry, geometry[])FUNCTIONCREATE FUNCTION makepolygon(geometry, geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoly'; 8DROP FUNCTION public.makepolygon(geometry, geometry[]); publicpostgresfalse1014101661014&125516724makepolygon(geometry)FUNCTIONCREATE FUNCTION makepolygon(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoly'; ,DROP FUNCTION public.makepolygon(geometry); publicpostgresfalse101461014125516639 max_distance(geometry, geometry)FUNCTIONCREATE FUNCTION max_distance(geometry, geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_maxdistance2d_linestring'; 7DROP FUNCTION public.max_distance(geometry, geometry); publicpostgresfalse101461014125516603mem_size(geometry)FUNCTIONCREATE FUNCTION mem_size(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_mem_size'; )DROP FUNCTION public.mem_size(geometry); publicpostgresfalse10146R125517081mlinefromtext(text, integer)FUNCTIONCREATE FUNCTION mlinefromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'MULTILINESTRING' THEN GeomFromText($1,$2) ELSE NULL END $_$; 3DROP FUNCTION public.mlinefromtext(text, integer); publicpostgresfalse61014T125517083mlinefromtext(text)FUNCTIONCREATE FUNCTION mlinefromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'MULTILINESTRING' THEN GeomFromText($1) ELSE NULL END $_$; *DROP FUNCTION public.mlinefromtext(text); publicpostgresfalse10146125517143mlinefromwkb(bytea, integer)FUNCTIONCREATE FUNCTION mlinefromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'MULTILINESTRING' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 3DROP FUNCTION public.mlinefromwkb(bytea, integer); publicpostgresfalse10146125517145mlinefromwkb(bytea)FUNCTIONCREATE FUNCTION mlinefromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTILINESTRING' THEN GeomFromWKB($1) ELSE NULL END $_$; *DROP FUNCTION public.mlinefromwkb(bytea); publicpostgresfalse10146Z125517089mpointfromtext(text, integer)FUNCTIONCREATE FUNCTION mpointfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1,$2)) = 'MULTIPOINT' THEN GeomFromText($1,$2) ELSE NULL END $_$; 4DROP FUNCTION public.mpointfromtext(text, integer); publicpostgresfalse10146\125517091mpointfromtext(text)FUNCTIONCREATE FUNCTION mpointfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'MULTIPOINT' THEN GeomFromText($1) ELSE NULL END $_$; +DROP FUNCTION public.mpointfromtext(text); publicpostgresfalse10146125517132mpointfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION mpointfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = 'MULTIPOINT' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 4DROP FUNCTION public.mpointfromwkb(bytea, integer); publicpostgresfalse61014125517134mpointfromwkb(bytea)FUNCTIONCREATE FUNCTION mpointfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOINT' THEN GeomFromWKB($1) ELSE NULL END $_$; +DROP FUNCTION public.mpointfromwkb(bytea); publicpostgresfalse61014a125517096mpolyfromtext(text, integer)FUNCTIONCREATE FUNCTION mpolyfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'MULTIPOLYGON' THEN GeomFromText($1,$2) ELSE NULL END $_$; 3DROP FUNCTION public.mpolyfromtext(text, integer); publicpostgresfalse61014c125517098mpolyfromtext(text)FUNCTIONCREATE FUNCTION mpolyfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'MULTIPOLYGON' THEN GeomFromText($1) ELSE NULL END $_$; *DROP FUNCTION public.mpolyfromtext(text); publicpostgresfalse61014125517147mpolyfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION mpolyfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'MULTIPOLYGON' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 3DROP FUNCTION public.mpolyfromwkb(bytea, integer); publicpostgresfalse61014125517149mpolyfromwkb(bytea)FUNCTIONCREATE FUNCTION mpolyfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOLYGON' THEN GeomFromWKB($1) ELSE NULL END $_$; *DROP FUNCTION public.mpolyfromwkb(bytea); publicpostgresfalse61014125516657multi(geometry)FUNCTIONCREATE FUNCTION multi(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_multi'; &DROP FUNCTION public.multi(geometry); publicpostgresfalse610141014125517140 multilinefromwkb(bytea, integer)FUNCTIONCREATE FUNCTION multilinefromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'MULTILINESTRING' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 7DROP FUNCTION public.multilinefromwkb(bytea, integer); publicpostgresfalse10146125517141multilinefromwkb(bytea)FUNCTIONCREATE FUNCTION multilinefromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTILINESTRING' THEN GeomFromWKB($1) ELSE NULL END $_$; .DROP FUNCTION public.multilinefromwkb(bytea); publicpostgresfalse10146V125517085multilinestringfromtext(text)FUNCTIONCREATE FUNCTION multilinestringfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT ST_MLineFromText($1)$_$; 4DROP FUNCTION public.multilinestringfromtext(text); publicpostgresfalse61014X125517087&multilinestringfromtext(text, integer)FUNCTIONCREATE FUNCTION multilinestringfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT MLineFromText($1, $2)$_$; =DROP FUNCTION public.multilinestringfromtext(text, integer); publicpostgresfalse10146^125517093!multipointfromtext(text, integer)FUNCTIONCREATE FUNCTION multipointfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT MPointFromText($1, $2)$_$; 8DROP FUNCTION public.multipointfromtext(text, integer); publicpostgresfalse61014_125517094multipointfromtext(text)FUNCTIONCREATE FUNCTION multipointfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT MPointFromText($1)$_$; /DROP FUNCTION public.multipointfromtext(text); publicpostgresfalse10146125517136!multipointfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION multipointfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = 'MULTIPOINT' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 8DROP FUNCTION public.multipointfromwkb(bytea, integer); publicpostgresfalse10146125517138multipointfromwkb(bytea)FUNCTIONCREATE FUNCTION multipointfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOINT' THEN GeomFromWKB($1) ELSE NULL END $_$; /DROP FUNCTION public.multipointfromwkb(bytea); publicpostgresfalse10146125517151 multipolyfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION multipolyfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'MULTIPOLYGON' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 7DROP FUNCTION public.multipolyfromwkb(bytea, integer); publicpostgresfalse61014125517153multipolyfromwkb(bytea)FUNCTIONCREATE FUNCTION multipolyfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOLYGON' THEN GeomFromWKB($1) ELSE NULL END $_$; .DROP FUNCTION public.multipolyfromwkb(bytea); publicpostgresfalse61014e125517100#multipolygonfromtext(text, integer)FUNCTIONCREATE FUNCTION multipolygonfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT MPolyFromText($1, $2)$_$; :DROP FUNCTION public.multipolygonfromtext(text, integer); publicpostgresfalse61014g125517102multipolygonfromtext(text)FUNCTIONCREATE FUNCTION multipolygonfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT MPolyFromText($1)$_$; 1DROP FUNCTION public.multipolygonfromtext(text); publicpostgresfalse61014125516677ndims(geometry)FUNCTIONCREATE FUNCTION ndims(geometry) RETURNS smallint LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_ndims'; &DROP FUNCTION public.ndims(geometry); publicpostgresfalse61014125516671noop(geometry)FUNCTIONsCREATE FUNCTION noop(geometry) RETURNS geometry LANGUAGE c STRICT AS '$libdir/postgis-1.4', 'LWGEOM_noop'; %DROP FUNCTION public.noop(geometry); publicpostgresfalse610141014125516607npoints(geometry)FUNCTIONCREATE FUNCTION npoints(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_npoints'; (DROP FUNCTION public.npoints(geometry); publicpostgresfalse61014125516609nrings(geometry)FUNCTIONCREATE FUNCTION nrings(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_nrings'; 'DROP FUNCTION public.nrings(geometry); publicpostgresfalse61014 125517011numgeometries(geometry)FUNCTIONCREATE FUNCTION numgeometries(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_numgeometries_collection'; .DROP FUNCTION public.numgeometries(geometry); publicpostgresfalse61014125517021numinteriorring(geometry)FUNCTIONCREATE FUNCTION numinteriorring(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_numinteriorrings_polygon'; 0DROP FUNCTION public.numinteriorring(geometry); publicpostgresfalse61014125517019numinteriorrings(geometry)FUNCTIONCREATE FUNCTION numinteriorrings(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_numinteriorrings_polygon'; 1DROP FUNCTION public.numinteriorrings(geometry); publicpostgresfalse61014 125517009numpoints(geometry)FUNCTIONCREATE FUNCTION numpoints(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_numpoints_linestring'; *DROP FUNCTION public.numpoints(geometry); publicpostgresfalse61014125516961overlaps(geometry, geometry)FUNCTIONCREATE FUNCTION "overlaps"(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'overlaps'; 5DROP FUNCTION public."overlaps"(geometry, geometry); publicpostgresfalse610141014125516627perimeter(geometry)FUNCTIONCREATE FUNCTION perimeter(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_perimeter_poly'; *DROP FUNCTION public.perimeter(geometry); publicpostgresfalse61014125516625perimeter2d(geometry)FUNCTIONCREATE FUNCTION perimeter2d(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_perimeter2d_poly'; ,DROP FUNCTION public.perimeter2d(geometry); publicpostgresfalse61014125516623perimeter3d(geometry)FUNCTIONCREATE FUNCTION perimeter3d(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_perimeter_poly'; ,DROP FUNCTION public.perimeter3d(geometry); publicpostgresfalse61014125516913%pgis_geometry_accum_finalfn(pgis_abs)FUNCTIONCREATE FUNCTION pgis_geometry_accum_finalfn(pgis_abs) RETURNS geometry[] LANGUAGE c AS '$libdir/postgis-1.4', 'pgis_geometry_accum_finalfn'; <DROP FUNCTION public.pgis_geometry_accum_finalfn(pgis_abs); publicpostgresfalse103761016125516912/pgis_geometry_accum_transfn(pgis_abs, geometry)FUNCTIONCREATE FUNCTION pgis_geometry_accum_transfn(pgis_abs, geometry) RETURNS pgis_abs LANGUAGE c AS '$libdir/postgis-1.4', 'pgis_geometry_accum_transfn'; FDROP FUNCTION public.pgis_geometry_accum_transfn(pgis_abs, geometry); publicpostgresfalse1037610141037125516915'pgis_geometry_collect_finalfn(pgis_abs)FUNCTIONCREATE FUNCTION pgis_geometry_collect_finalfn(pgis_abs) RETURNS geometry LANGUAGE c AS '$libdir/postgis-1.4', 'pgis_geometry_collect_finalfn'; >DROP FUNCTION public.pgis_geometry_collect_finalfn(pgis_abs); publicpostgresfalse101461037125516917(pgis_geometry_makeline_finalfn(pgis_abs)FUNCTIONCREATE FUNCTION pgis_geometry_makeline_finalfn(pgis_abs) RETURNS geometry LANGUAGE c AS '$libdir/postgis-1.4', 'pgis_geometry_makeline_finalfn'; ?DROP FUNCTION public.pgis_geometry_makeline_finalfn(pgis_abs); publicpostgresfalse101410376125516916*pgis_geometry_polygonize_finalfn(pgis_abs)FUNCTIONCREATE FUNCTION pgis_geometry_polygonize_finalfn(pgis_abs) RETURNS geometry LANGUAGE c AS '$libdir/postgis-1.4', 'pgis_geometry_polygonize_finalfn'; ADROP FUNCTION public.pgis_geometry_polygonize_finalfn(pgis_abs); publicpostgresfalse101461037125516914%pgis_geometry_union_finalfn(pgis_abs)FUNCTIONCREATE FUNCTION pgis_geometry_union_finalfn(pgis_abs) RETURNS geometry LANGUAGE c AS '$libdir/postgis-1.4', 'pgis_geometry_union_finalfn'; <DROP FUNCTION public.pgis_geometry_union_finalfn(pgis_abs); publicpostgresfalse101461037125516641Spoint_inside_circle(geometry, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION point_inside_circle(geometry, double precision, double precision, double precision) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_inside_circle_point'; jDROP FUNCTION public.point_inside_circle(geometry, double precision, double precision, double precision); publicpostgresfalse10146@125517063pointfromtext(text)FUNCTIONCREATE FUNCTION pointfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'POINT' THEN GeomFromText($1) ELSE NULL END $_$; *DROP FUNCTION public.pointfromtext(text); publicpostgresfalse61014B125517065pointfromtext(text, integer)FUNCTIONCREATE FUNCTION pointfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'POINT' THEN GeomFromText($1,$2) ELSE NULL END $_$; 3DROP FUNCTION public.pointfromtext(text, integer); publicpostgresfalse10146q125517112pointfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION pointfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'POINT' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 3DROP FUNCTION public.pointfromwkb(bytea, integer); publicpostgresfalse10146s125517114pointfromwkb(bytea)FUNCTIONCREATE FUNCTION pointfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POINT' THEN GeomFromWKB($1) ELSE NULL END $_$; *DROP FUNCTION public.pointfromwkb(bytea); publicpostgresfalse10146125517027pointn(geometry, integer)FUNCTIONCREATE FUNCTION pointn(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_pointn_linestring'; 0DROP FUNCTION public.pointn(geometry, integer); publicpostgresfalse101410146125516971pointonsurface(geometry)FUNCTIONCREATE FUNCTION pointonsurface(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'pointonsurface'; /DROP FUNCTION public.pointonsurface(geometry); publicpostgresfalse101461014J125517073polyfromtext(text)FUNCTIONCREATE FUNCTION polyfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'POLYGON' THEN GeomFromText($1) ELSE NULL END $_$; )DROP FUNCTION public.polyfromtext(text); publicpostgresfalse61014L125517075polyfromtext(text, integer)FUNCTIONCREATE FUNCTION polyfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'POLYGON' THEN GeomFromText($1,$2) ELSE NULL END $_$; 2DROP FUNCTION public.polyfromtext(text, integer); publicpostgresfalse10146}125517124polyfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION polyfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'POLYGON' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 2DROP FUNCTION public.polyfromwkb(bytea, integer); publicpostgresfalse61014125517126polyfromwkb(bytea)FUNCTIONCREATE FUNCTION polyfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POLYGON' THEN GeomFromWKB($1) ELSE NULL END $_$; )DROP FUNCTION public.polyfromwkb(bytea); publicpostgresfalse61014N125517077polygonfromtext(text, integer)FUNCTIONCREATE FUNCTION polygonfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT PolyFromText($1, $2)$_$; 5DROP FUNCTION public.polygonfromtext(text, integer); publicpostgresfalse10146P125517079polygonfromtext(text)FUNCTIONCREATE FUNCTION polygonfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT PolyFromText($1)$_$; ,DROP FUNCTION public.polygonfromtext(text); publicpostgresfalse10146125517128polygonfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION polygonfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1,$2)) = 'POLYGON' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 5DROP FUNCTION public.polygonfromwkb(bytea, integer); publicpostgresfalse10146125517130polygonfromwkb(bytea)FUNCTIONCREATE FUNCTION polygonfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POLYGON' THEN GeomFromWKB($1) ELSE NULL END $_$; ,DROP FUNCTION public.polygonfromwkb(bytea); publicpostgresfalse61014*125516728polygonize_garray(geometry[])FUNCTIONCREATE FUNCTION polygonize_garray(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'polygonize_garray'; 4DROP FUNCTION public.polygonize_garray(geometry[]); publicpostgresfalse101461016D125516776populate_geometry_columns()FUNCTIONQCREATE FUNCTION populate_geometry_columns() RETURNS text LANGUAGE plpgsql AS $$ DECLARE inserted integer; oldcount integer; probed integer; stale integer; gcs RECORD; gc RECORD; gsrid integer; gndims integer; gtype text; query text; gc_is_valid boolean; BEGIN SELECT count(*) INTO oldcount FROM geometry_columns; inserted := 0; EXECUTE 'TRUNCATE geometry_columns'; -- Count the number of geometry columns in all tables and views SELECT count(DISTINCT c.oid) INTO probed FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n WHERE (c.relkind = 'r' OR c.relkind = 'v') AND t.typname = 'geometry' AND a.attisdropped = false AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid AND n.nspname NOT ILIKE 'pg_temp%'; -- Iterate through all non-dropped geometry columns RAISE DEBUG 'Processing Tables.....'; FOR gcs IN SELECT DISTINCT ON (c.oid) c.oid, n.nspname, c.relname FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n WHERE c.relkind = 'r' AND t.typname = 'geometry' AND a.attisdropped = false AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid AND n.nspname NOT ILIKE 'pg_temp%' LOOP inserted := inserted + populate_geometry_columns(gcs.oid); END LOOP; -- Add views to geometry columns table RAISE DEBUG 'Processing Views.....'; FOR gcs IN SELECT DISTINCT ON (c.oid) c.oid, n.nspname, c.relname FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n WHERE c.relkind = 'v' AND t.typname = 'geometry' AND a.attisdropped = false AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid LOOP inserted := inserted + populate_geometry_columns(gcs.oid); END LOOP; IF oldcount > inserted THEN stale = oldcount-inserted; ELSE stale = 0; END IF; RETURN 'probed:' ||probed|| ' inserted:'||inserted|| ' conflicts:'||probed-inserted|| ' deleted:'||stale; END $$; 2DROP FUNCTION public.populate_geometry_columns(); publicpostgresfalse61199- 00$FUNCTION populate_geometry_columns()COMMENTCOMMENT ON FUNCTION populate_geometry_columns() IS 'Ensures geometry columns have appropriate spatial constraints and exist in the geometry_columns table.'; publicpostgresfalse324E125516777populate_geometry_columns(oid)FUNCTION%CREATE FUNCTION populate_geometry_columns(tbl_oid oid) RETURNS integer LANGUAGE plpgsql AS $$ DECLARE gcs RECORD; gc RECORD; gsrid integer; gndims integer; gtype text; query text; gc_is_valid boolean; inserted integer; BEGIN inserted := 0; -- Iterate through all geometry columns in this table FOR gcs IN SELECT n.nspname, c.relname, a.attname FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n WHERE c.relkind = 'r' AND t.typname = 'geometry' AND a.attisdropped = false AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid AND n.nspname NOT ILIKE 'pg_temp%' AND c.oid = tbl_oid LOOP RAISE DEBUG 'Processing table %.%.%', gcs.nspname, gcs.relname, gcs.attname; DELETE FROM geometry_columns WHERE f_table_schema = quote_ident(gcs.nspname) AND f_table_name = quote_ident(gcs.relname) AND f_geometry_column = quote_ident(gcs.attname); gc_is_valid := true; -- Try to find srid check from system tables (pg_constraint) gsrid := (SELECT replace(replace(split_part(s.consrc, ' = ', 2), ')', ''), '(', '') FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = gcs.nspname AND c.relname = gcs.relname AND a.attname = gcs.attname AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%srid(% = %'); IF (gsrid IS NULL) THEN -- Try to find srid from the geometry itself EXECUTE 'SELECT public.srid(' || quote_ident(gcs.attname) || ') FROM ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' INTO gc; gsrid := gc.srid; -- Try to apply srid check to column IF (gsrid IS NOT NULL) THEN BEGIN EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' ADD CONSTRAINT ' || quote_ident('enforce_srid_' || gcs.attname) || ' CHECK (srid(' || quote_ident(gcs.attname) || ') = ' || gsrid || ')'; EXCEPTION WHEN check_violation THEN RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not apply constraint CHECK (srid(%) = %)', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname), quote_ident(gcs.attname), gsrid; gc_is_valid := false; END; END IF; END IF; -- Try to find ndims check from system tables (pg_constraint) gndims := (SELECT replace(split_part(s.consrc, ' = ', 2), ')', '') FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = gcs.nspname AND c.relname = gcs.relname AND a.attname = gcs.attname AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%ndims(% = %'); IF (gndims IS NULL) THEN -- Try to find ndims from the geometry itself EXECUTE 'SELECT public.ndims(' || quote_ident(gcs.attname) || ') FROM ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' INTO gc; gndims := gc.ndims; -- Try to apply ndims check to column IF (gndims IS NOT NULL) THEN BEGIN EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' ADD CONSTRAINT ' || quote_ident('enforce_dims_' || gcs.attname) || ' CHECK (ndims(' || quote_ident(gcs.attname) || ') = '||gndims||')'; EXCEPTION WHEN check_violation THEN RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not apply constraint CHECK (ndims(%) = %)', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname), quote_ident(gcs.attname), gndims; gc_is_valid := false; END; END IF; END IF; -- Try to find geotype check from system tables (pg_constraint) gtype := (SELECT replace(split_part(s.consrc, '''', 2), ')', '') FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s WHERE n.nspname = gcs.nspname AND c.relname = gcs.relname AND a.attname = gcs.attname AND a.attrelid = c.oid AND s.connamespace = n.oid AND s.conrelid = c.oid AND a.attnum = ANY (s.conkey) AND s.consrc LIKE '%geometrytype(% = %'); IF (gtype IS NULL) THEN -- Try to find geotype from the geometry itself EXECUTE 'SELECT public.geometrytype(' || quote_ident(gcs.attname) || ') FROM ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' INTO gc; gtype := gc.geometrytype; --IF (gtype IS NULL) THEN -- gtype := 'GEOMETRY'; --END IF; -- Try to apply geometrytype check to column IF (gtype IS NOT NULL) THEN BEGIN EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' ADD CONSTRAINT ' || quote_ident('enforce_geotype_' || gcs.attname) || ' CHECK ((geometrytype(' || quote_ident(gcs.attname) || ') = ' || quote_literal(gtype) || ') OR (' || quote_ident(gcs.attname) || ' IS NULL))'; EXCEPTION WHEN check_violation THEN -- No geometry check can be applied. This column contains a number of geometry types. RAISE WARNING 'Could not add geometry type check (%) to table column: %.%.%', gtype, quote_ident(gcs.nspname),quote_ident(gcs.relname),quote_ident(gcs.attname); END; END IF; END IF; IF (gsrid IS NULL) THEN RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine the srid', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); ELSIF (gndims IS NULL) THEN RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine the number of dimensions', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); ELSIF (gtype IS NULL) THEN RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine the geometry type', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); ELSE -- Only insert into geometry_columns if table constraints could be applied. IF (gc_is_valid) THEN INSERT INTO geometry_columns (f_table_catalog,f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type) VALUES ('', gcs.nspname, gcs.relname, gcs.attname, gndims, gsrid, gtype); inserted := inserted + 1; END IF; END IF; END LOOP; -- Add views to geometry columns table FOR gcs IN SELECT n.nspname, c.relname, a.attname FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n WHERE c.relkind = 'v' AND t.typname = 'geometry' AND a.attisdropped = false AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid AND n.nspname NOT ILIKE 'pg_temp%' AND c.oid = tbl_oid LOOP RAISE DEBUG 'Processing view %.%.%', gcs.nspname, gcs.relname, gcs.attname; EXECUTE 'SELECT public.ndims(' || quote_ident(gcs.attname) || ') FROM ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' INTO gc; gndims := gc.ndims; EXECUTE 'SELECT public.srid(' || quote_ident(gcs.attname) || ') FROM ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' INTO gc; gsrid := gc.srid; EXECUTE 'SELECT public.geometrytype(' || quote_ident(gcs.attname) || ') FROM ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1' INTO gc; gtype := gc.geometrytype; IF (gndims IS NULL) THEN RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine ndims', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); ELSIF (gsrid IS NULL) THEN RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine srid', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); ELSIF (gtype IS NULL) THEN RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not determine gtype', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); ELSE query := 'INSERT INTO geometry_columns (f_table_catalog,f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type) ' || 'VALUES ('''', ' || quote_literal(gcs.nspname) || ',' || quote_literal(gcs.relname) || ',' || quote_literal(gcs.attname) || ',' || gndims || ',' || gsrid || ',' || quote_literal(gtype) || ')'; EXECUTE query; inserted := inserted + 1; END IF; END LOOP; RETURN inserted; END $$; =DROP FUNCTION public.populate_geometry_columns(tbl_oid oid); publicpostgresfalse61199. 00/FUNCTION populate_geometry_columns(tbl_oid oid)COMMENTCOMMENT ON FUNCTION populate_geometry_columns(tbl_oid oid) IS 'args: relation_oid - Ensures geometry columns have appropriate spatial constraints and exist in the geometry_columns table.'; publicpostgresfalse325b125516806postgis_full_version()FUNCTIONCREATE FUNCTION postgis_full_version() RETURNS text LANGUAGE plpgsql IMMUTABLE AS $$ DECLARE libver text; projver text; geosver text; usestats bool; dbproc text; relproc text; fullver text; BEGIN SELECT postgis_lib_version() INTO libver; SELECT postgis_proj_version() INTO projver; SELECT postgis_geos_version() INTO geosver; SELECT postgis_uses_stats() INTO usestats; SELECT postgis_scripts_installed() INTO dbproc; SELECT postgis_scripts_released() INTO relproc; fullver = 'POSTGIS="' || libver || '"'; IF geosver IS NOT NULL THEN fullver = fullver || ' GEOS="' || geosver || '"'; END IF; IF projver IS NOT NULL THEN fullver = fullver || ' PROJ="' || projver || '"'; END IF; IF usestats THEN fullver = fullver || ' USE_STATS'; END IF; -- fullver = fullver || ' DBPROC="' || dbproc || '"'; -- fullver = fullver || ' RELPROC="' || relproc || '"'; IF dbproc != relproc THEN fullver = fullver || ' (procs from ' || dbproc || ' need upgrade)'; END IF; RETURN fullver; END $$; -DROP FUNCTION public.postgis_full_version(); publicpostgresfalse61199/ 00FUNCTION postgis_full_version()COMMENTmCOMMENT ON FUNCTION postgis_full_version() IS 'Reports full postgis version and build configuration infos.'; publicpostgresfalse354K125516803postgis_geos_version()FUNCTIONCREATE FUNCTION postgis_geos_version() RETURNS text LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'postgis_geos_version'; -DROP FUNCTION public.postgis_geos_version(); publicpostgresfalse60 00FUNCTION postgis_geos_version()COMMENTaCOMMENT ON FUNCTION postgis_geos_version() IS 'Returns the version number of the GEOS library.'; publicpostgresfalse331w1255165167postgis_gist_joinsel(internal, oid, internal, smallint)FUNCTIONCREATE FUNCTION postgis_gist_joinsel(internal, oid, internal, smallint) RETURNS double precision LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_joinsel'; NDROP FUNCTION public.postgis_gist_joinsel(internal, oid, internal, smallint); publicpostgresfalse6u1255165142postgis_gist_sel(internal, oid, internal, integer)FUNCTIONCREATE FUNCTION postgis_gist_sel(internal, oid, internal, integer) RETURNS double precision LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_sel'; IDROP FUNCTION public.postgis_gist_sel(internal, oid, internal, integer); publicpostgresfalse6M125516805postgis_lib_build_date()FUNCTIONCREATE FUNCTION postgis_lib_build_date() RETURNS text LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'postgis_lib_build_date'; /DROP FUNCTION public.postgis_lib_build_date(); publicpostgresfalse61 00!FUNCTION postgis_lib_build_date()COMMENT^COMMENT ON FUNCTION postgis_lib_build_date() IS 'Returns build date of the PostGIS library.'; publicpostgresfalse333a125516800postgis_lib_version()FUNCTIONCREATE FUNCTION postgis_lib_version() RETURNS text LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'postgis_lib_version'; ,DROP FUNCTION public.postgis_lib_version(); publicpostgresfalse62 00FUNCTION postgis_lib_version()COMMENTcCOMMENT ON FUNCTION postgis_lib_version() IS 'Returns the version number of the PostGIS library.'; publicpostgresfalse353_125516798postgis_proj_version()FUNCTIONCREATE FUNCTION postgis_proj_version() RETURNS text LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'postgis_proj_version'; -DROP FUNCTION public.postgis_proj_version(); publicpostgresfalse63 00FUNCTION postgis_proj_version()COMMENTbCOMMENT ON FUNCTION postgis_proj_version() IS 'Returns the version number of the PROJ4 library.'; publicpostgresfalse351L125516804postgis_scripts_build_date()FUNCTIONCREATE FUNCTION postgis_scripts_build_date() RETURNS text LANGUAGE sql IMMUTABLE AS $$SELECT '2009-12-22 06:47:02'::text AS version$$; 3DROP FUNCTION public.postgis_scripts_build_date(); publicpostgresfalse64 00%FUNCTION postgis_scripts_build_date()COMMENTbCOMMENT ON FUNCTION postgis_scripts_build_date() IS 'Returns build date of the PostGIS scripts.'; publicpostgresfalse332`125516799postgis_scripts_installed()FUNCTIONCREATE FUNCTION postgis_scripts_installed() RETURNS text LANGUAGE sql IMMUTABLE AS $$SELECT '1.4.0'::text AS version$$; 2DROP FUNCTION public.postgis_scripts_installed(); publicpostgresfalse65 00$FUNCTION postgis_scripts_installed()COMMENTyCOMMENT ON FUNCTION postgis_scripts_installed() IS 'Returns version of the postgis scripts installed in this database.'; publicpostgresfalse352B125516801postgis_scripts_released()FUNCTIONCREATE FUNCTION postgis_scripts_released() RETURNS text LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'postgis_scripts_released'; 1DROP FUNCTION public.postgis_scripts_released(); publicpostgresfalse66 00#FUNCTION postgis_scripts_released()COMMENTCOMMENT ON FUNCTION postgis_scripts_released() IS 'Returns the version number of the postgis.sql script released with the installed postgis lib.'; publicpostgresfalse322J125516802postgis_uses_stats()FUNCTIONCREATE FUNCTION postgis_uses_stats() RETURNS boolean LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'postgis_uses_stats'; +DROP FUNCTION public.postgis_uses_stats(); publicpostgresfalse67 00FUNCTION postgis_uses_stats()COMMENT]COMMENT ON FUNCTION postgis_uses_stats() IS 'Returns TRUE if STATS usage has been enabled.'; publicpostgresfalse330^125516797postgis_version()FUNCTIONyCREATE FUNCTION postgis_version() RETURNS text LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'postgis_version'; (DROP FUNCTION public.postgis_version(); publicpostgresfalse68 00FUNCTION postgis_version()COMMENTeCOMMENT ON FUNCTION postgis_version() IS 'Returns PostGIS version number and compile-time options.'; publicpostgresfalse350F125516779probe_geometry_columns()FUNCTIONC CREATE FUNCTION probe_geometry_columns() RETURNS text LANGUAGE plpgsql AS $$ DECLARE inserted integer; oldcount integer; probed integer; stale integer; BEGIN SELECT count(*) INTO oldcount FROM geometry_columns; SELECT count(*) INTO probed FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n, pg_constraint sridcheck, pg_constraint typecheck WHERE t.typname = 'geometry' AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid AND sridcheck.connamespace = n.oid AND typecheck.connamespace = n.oid AND sridcheck.conrelid = c.oid AND sridcheck.consrc LIKE '(srid('||a.attname||') = %)' AND typecheck.conrelid = c.oid AND typecheck.consrc LIKE '((geometrytype('||a.attname||') = ''%''::text) OR (% IS NULL))' ; INSERT INTO geometry_columns SELECT ''::varchar as f_table_catalogue, n.nspname::varchar as f_table_schema, c.relname::varchar as f_table_name, a.attname::varchar as f_geometry_column, 2 as coord_dimension, trim(both ' =)' from replace(replace(split_part( sridcheck.consrc, ' = ', 2), ')', ''), '(', ''))::integer AS srid, trim(both ' =)''' from substr(typecheck.consrc, strpos(typecheck.consrc, '='), strpos(typecheck.consrc, '::')- strpos(typecheck.consrc, '=') ))::varchar as type FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n, pg_constraint sridcheck, pg_constraint typecheck WHERE t.typname = 'geometry' AND a.atttypid = t.oid AND a.attrelid = c.oid AND c.relnamespace = n.oid AND sridcheck.connamespace = n.oid AND typecheck.connamespace = n.oid AND sridcheck.conrelid = c.oid AND sridcheck.consrc LIKE '(st_srid('||a.attname||') = %)' AND typecheck.conrelid = c.oid AND typecheck.consrc LIKE '((geometrytype('||a.attname||') = ''%''::text) OR (% IS NULL))' AND NOT EXISTS ( SELECT oid FROM geometry_columns gc WHERE c.relname::varchar = gc.f_table_name AND n.nspname::varchar = gc.f_table_schema AND a.attname::varchar = gc.f_geometry_column ); GET DIAGNOSTICS inserted = ROW_COUNT; IF oldcount > probed THEN stale = oldcount-probed; ELSE stale = 0; END IF; RETURN 'probed:'||probed::text|| ' inserted:'||inserted::text|| ' conflicts:'||(probed-inserted)::text|| ' stale:'||stale::text; END $$; /DROP FUNCTION public.probe_geometry_columns(); publicpostgresfalse119969 00!FUNCTION probe_geometry_columns()COMMENTCOMMENT ON FUNCTION probe_geometry_columns() IS 'Scans all tables with PostGIS geometry constraints and adds them to the geometry_columns table if they are not there.'; publicpostgresfalse326125516932relate(geometry, geometry)FUNCTIONCREATE FUNCTION relate(geometry, geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'relate_full'; 1DROP FUNCTION public.relate(geometry, geometry); publicpostgresfalse101410146125516934 relate(geometry, geometry, text)FUNCTIONCREATE FUNCTION relate(geometry, geometry, text) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'relate_pattern'; 7DROP FUNCTION public.relate(geometry, geometry, text); publicpostgresfalse101410146 125516718removepoint(geometry, integer)FUNCTIONCREATE FUNCTION removepoint(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_removepoint'; 5DROP FUNCTION public.removepoint(geometry, integer); publicpostgresfalse610141014A125516774#rename_geometry_table_constraints()FUNCTIONCREATE FUNCTION rename_geometry_table_constraints() RETURNS text LANGUAGE sql IMMUTABLE AS $$ SELECT 'rename_geometry_table_constraint() is obsoleted'::text $$; :DROP FUNCTION public.rename_geometry_table_constraints(); publicpostgresfalse6125516667reverse(geometry)FUNCTIONCREATE FUNCTION reverse(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_reverse'; (DROP FUNCTION public.reverse(geometry); publicpostgresfalse610141014(125516416"rotate(geometry, double precision)FUNCTIONCREATE FUNCTION rotate(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT rotateZ($1, $2)$_$; 9DROP FUNCTION public.rotate(geometry, double precision); publicpostgresfalse610141014*125516418#rotatex(geometry, double precision)FUNCTIONCREATE FUNCTION rotatex(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)$_$; :DROP FUNCTION public.rotatex(geometry, double precision); publicpostgresfalse101461014,125516420#rotatey(geometry, double precision)FUNCTIONCREATE FUNCTION rotatey(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)$_$; :DROP FUNCTION public.rotatey(geometry, double precision); publicpostgresfalse610141014&125516414#rotatez(geometry, double precision)FUNCTIONCREATE FUNCTION rotatez(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)$_$; :DROP FUNCTION public.rotatez(geometry, double precision); publicpostgresfalse1014101462125516426Escale(geometry, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION scale(geometry, double precision, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, $2, 0, 0, 0, $3, 0, 0, 0, $4, 0, 0, 0)$_$; \DROP FUNCTION public.scale(geometry, double precision, double precision, double precision); publicpostgresfalse10141014641255164283scale(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION scale(geometry, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT scale($1, $2, $3, 1)$_$; JDROP FUNCTION public.scale(geometry, double precision, double precision); publicpostgresfalse101410146125517186)se_envelopesintersect(geometry, geometry)FUNCTIONCREATE FUNCTION se_envelopesintersect(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT $1 && $2 $_$; @DROP FUNCTION public.se_envelopesintersect(geometry, geometry); publicpostgresfalse101410146125517180se_is3d(geometry)FUNCTIONCREATE FUNCTION se_is3d(geometry) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE ST_zmflag($1) WHEN 0 THEN false WHEN 1 THEN false WHEN 2 THEN true WHEN 3 THEN true ELSE false END $_$; (DROP FUNCTION public.se_is3d(geometry); publicpostgresfalse61014125517181se_ismeasured(geometry)FUNCTIONCREATE FUNCTION se_ismeasured(geometry) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE ST_zmflag($1) WHEN 0 THEN false WHEN 1 THEN true WHEN 2 THEN false WHEN 3 THEN true ELSE false END $_$; .DROP FUNCTION public.se_ismeasured(geometry); publicpostgresfalse61014125517187*se_locatealong(geometry, double precision)FUNCTIONCREATE FUNCTION se_locatealong(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT locate_between_measures($1, $2, $2) $_$; ADROP FUNCTION public.se_locatealong(geometry, double precision); publicpostgresfalse101461014125517188>se_locatebetween(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION se_locatebetween(geometry, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_locate_between_m'; UDROP FUNCTION public.se_locatebetween(geometry, double precision, double precision); publicpostgresfalse101461014125517184se_m(geometry)FUNCTIONCREATE FUNCTION se_m(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_m_point'; %DROP FUNCTION public.se_m(geometry); publicpostgresfalse10146125517183se_z(geometry)FUNCTIONCREATE FUNCTION se_z(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_z_point'; %DROP FUNCTION public.se_z(geometry); publicpostgresfalse10146125516860&segmentize(geometry, double precision)FUNCTIONCREATE FUNCTION segmentize(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_segmentize2d'; =DROP FUNCTION public.segmentize(geometry, double precision); publicpostgresfalse101461014125516601setfactor(chip, real)FUNCTIONCREATE FUNCTION setfactor(chip, real) RETURNS chip LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_setFactor'; ,DROP FUNCTION public.setfactor(chip, real); publicpostgresfalse102361023"125516720%setpoint(geometry, integer, geometry)FUNCTIONCREATE FUNCTION setpoint(geometry, integer, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_setpoint_linestring'; <DROP FUNCTION public.setpoint(geometry, integer, geometry); publicpostgresfalse6101410141014125516600setsrid(chip, integer)FUNCTIONCREATE FUNCTION setsrid(chip, integer) RETURNS chip LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_setSRID'; -DROP FUNCTION public.setsrid(chip, integer); publicpostgresfalse6102310230125517047setsrid(geometry, integer)FUNCTIONCREATE FUNCTION setsrid(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_setSRID'; 1DROP FUNCTION public.setsrid(geometry, integer); publicpostgresfalse1014610148125516432shift_longitude(geometry)FUNCTIONCREATE FUNCTION shift_longitude(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_longitude_shift'; 0DROP FUNCTION public.shift_longitude(geometry); publicpostgresfalse610141014~125516850$simplify(geometry, double precision)FUNCTIONCREATE FUNCTION simplify(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_simplify2d'; ;DROP FUNCTION public.simplify(geometry, double precision); publicpostgresfalse610141014125516852\snaptogrid(geometry, double precision, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION snaptogrid(geometry, double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_snaptogrid'; sDROP FUNCTION public.snaptogrid(geometry, double precision, double precision, double precision, double precision); publicpostgresfalse1014610141255168548snaptogrid(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION snaptogrid(geometry, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT SnapToGrid($1, 0, 0, $2, $3)$_$; ODROP FUNCTION public.snaptogrid(geometry, double precision, double precision); publicpostgresfalse610141014N125516856&snaptogrid(geometry, double precision)FUNCTIONCREATE FUNCTION snaptogrid(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT SnapToGrid($1, 0, 0, $2, $2)$_$; =DROP FUNCTION public.snaptogrid(geometry, double precision); publicpostgresfalse610141014125516858fsnaptogrid(geometry, geometry, double precision, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_snaptogrid_pointoff'; }DROP FUNCTION public.snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision); publicpostgresfalse1014610141014125516393spheroid_in(cstring)FUNCTIONCREATE FUNCTION spheroid_in(cstring) RETURNS spheroid LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'ellipsoid_in'; +DROP FUNCTION public.spheroid_in(cstring); publicpostgresfalse10116125516395spheroid_out(spheroid)FUNCTIONCREATE FUNCTION spheroid_out(spheroid) RETURNS cstring LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'ellipsoid_out'; -DROP FUNCTION public.spheroid_out(spheroid); publicpostgresfalse10116125516588 srid(chip)FUNCTIONyCREATE FUNCTION srid(chip) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getSRID'; !DROP FUNCTION public.srid(chip); publicpostgresfalse10236.125517045srid(geometry)FUNCTIONCREATE FUNCTION srid(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_getSRID'; %DROP FUNCTION public.srid(geometry); publicpostgresfalse61014125516583st_addbbox(geometry)FUNCTIONCREATE FUNCTION st_addbbox(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_addBBOX'; +DROP FUNCTION public.st_addbbox(geometry); publicpostgresfalse101461014125516715st_addpoint(geometry, geometry)FUNCTIONCREATE FUNCTION st_addpoint(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_addpoint'; 6DROP FUNCTION public.st_addpoint(geometry, geometry); publicpostgresfalse6101410141014: 00(FUNCTION st_addpoint(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_addpoint(geometry, geometry) IS 'args: linestring, point - Adds a point to a LineString before point (0-based index).'; publicpostgresfalse285125516717(st_addpoint(geometry, geometry, integer)FUNCTIONCREATE FUNCTION st_addpoint(geometry, geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_addpoint'; ?DROP FUNCTION public.st_addpoint(geometry, geometry, integer); publicpostgresfalse6101410141014; 001FUNCTION st_addpoint(geometry, geometry, integer)COMMENTCOMMENT ON FUNCTION st_addpoint(geometry, geometry, integer) IS 'args: linestring, point, position - Adds a point to a LineString before point (0-based index).'; publicpostgresfalse287#125516411st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision)FUNCTION\CREATE FUNCTION st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_affine'; DROP FUNCTION public.st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision); publicpostgresfalse101410146< 00FUNCTION st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision) IS 'args: geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff - Applies a 3d affine transformation to the geometry to do things like translate, rotate, scale in one step.'; publicpostgresfalse35%125516413st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)$_$; DROP FUNCTION public.st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision); publicpostgresfalse610141014= 00FUNCTION st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision)COMMENT+COMMENT ON FUNCTION st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) IS 'args: geomA, a, b, d, e, xoff, yoff - Applies a 3d affine transformation to the geometry to do things like translate, rotate, scale in one step.'; publicpostgresfalse37125516632st_area(geometry)FUNCTIONCREATE FUNCTION st_area(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_area_polygon'; (DROP FUNCTION public.st_area(geometry); publicpostgresfalse61014> 00FUNCTION st_area(geometry)COMMENTCOMMENT ON FUNCTION st_area(geometry) IS 'args: g1 - Returns the area of the surface if it is a polygon or multi-polygon. For "geometry" type area is in SRID units. For "geography" area is in square meters.'; publicpostgresfalse2021255426282 st_area(text)FUNCTIONCREATE FUNCTION st_area(text) RETURNS double precision LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_Area($1::geometry); $_$; $DROP FUNCTION public.st_area(text); publicpostgresfalse6125516630st_area2d(geometry)FUNCTIONCREATE FUNCTION st_area2d(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_area_polygon'; *DROP FUNCTION public.st_area2d(geometry); publicpostgresfalse610143125517050st_asbinary(geometry)FUNCTIONCREATE FUNCTION st_asbinary(geometry) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asBinary'; ,DROP FUNCTION public.st_asbinary(geometry); publicpostgresfalse61014? 00FUNCTION st_asbinary(geometry)COMMENTCOMMENT ON FUNCTION st_asbinary(geometry) IS 'args: g1 - Return the Well-Known Binary (WKB) representation of the geometry/geography without SRID meta data.'; publicpostgresfalse5635125517052st_asbinary(geometry, text)FUNCTIONCREATE FUNCTION st_asbinary(geometry, text) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asBinary'; 2DROP FUNCTION public.st_asbinary(geometry, text); publicpostgresfalse61014@ 00$FUNCTION st_asbinary(geometry, text)COMMENTCOMMENT ON FUNCTION st_asbinary(geometry, text) IS 'args: g1, NDR_or_XDR - Return the Well-Known Binary (WKB) representation of the geometry/geography without SRID meta data.'; publicpostgresfalse5651255426284st_asbinary(text)FUNCTIONCREATE FUNCTION st_asbinary(text) RETURNS bytea LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_AsBinary($1::geometry); $_$; (DROP FUNCTION public.st_asbinary(text); publicpostgresfalse6125516682st_asewkb(geometry)FUNCTIONCREATE FUNCTION st_asewkb(geometry) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'WKBFromLWGEOM'; *DROP FUNCTION public.st_asewkb(geometry); publicpostgresfalse10146A 00FUNCTION st_asewkb(geometry)COMMENTCOMMENT ON FUNCTION st_asewkb(geometry) IS 'args: g1 - Return the Well-Known Binary (WKB) representation of the geometry with SRID meta data.'; publicpostgresfalse252125516688st_asewkb(geometry, text)FUNCTIONCREATE FUNCTION st_asewkb(geometry, text) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'WKBFromLWGEOM'; 0DROP FUNCTION public.st_asewkb(geometry, text); publicpostgresfalse10146B 00"FUNCTION st_asewkb(geometry, text)COMMENTCOMMENT ON FUNCTION st_asewkb(geometry, text) IS 'args: g1, NDR_or_XDR - Return the Well-Known Binary (WKB) representation of the geometry with SRID meta data.'; publicpostgresfalse258125516680st_asewkt(geometry)FUNCTIONCREATE FUNCTION st_asewkt(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asEWKT'; *DROP FUNCTION public.st_asewkt(geometry); publicpostgresfalse61014C 00FUNCTION st_asewkt(geometry)COMMENTCOMMENT ON FUNCTION st_asewkt(geometry) IS 'args: g1 - Return the Well-Known Text (WKT) representation of the geometry with SRID meta data.'; publicpostgresfalse250125517001st_asgeojson(geometry, integer)FUNCTIONCREATE FUNCTION st_asgeojson(geometry, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGeoJson(1, $1, $2, 0)$_$; 6DROP FUNCTION public.st_asgeojson(geometry, integer); publicpostgresfalse61014D 00(FUNCTION st_asgeojson(geometry, integer)COMMENTCOMMENT ON FUNCTION st_asgeojson(geometry, integer) IS 'args: g1, max_decimal_digits - Return the geometry as a GeoJSON element.'; publicpostgresfalse514125517002st_asgeojson(geometry)FUNCTIONCREATE FUNCTION st_asgeojson(geometry) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGeoJson(1, $1, 15, 0)$_$; -DROP FUNCTION public.st_asgeojson(geometry); publicpostgresfalse61014E 00FUNCTION st_asgeojson(geometry)COMMENTfCOMMENT ON FUNCTION st_asgeojson(geometry) IS 'args: g1 - Return the geometry as a GeoJSON element.'; publicpostgresfalse515125517003st_asgeojson(integer, geometry)FUNCTIONCREATE FUNCTION st_asgeojson(integer, geometry) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGeoJson($1, $2, 15, 0)$_$; 6DROP FUNCTION public.st_asgeojson(integer, geometry); publicpostgresfalse61014F 00(FUNCTION st_asgeojson(integer, geometry)COMMENTxCOMMENT ON FUNCTION st_asgeojson(integer, geometry) IS 'args: version, g1 - Return the geometry as a GeoJSON element.'; publicpostgresfalse516125517004(st_asgeojson(integer, geometry, integer)FUNCTIONCREATE FUNCTION st_asgeojson(integer, geometry, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGeoJson($1, $2, $3, 0)$_$; ?DROP FUNCTION public.st_asgeojson(integer, geometry, integer); publicpostgresfalse61014G 001FUNCTION st_asgeojson(integer, geometry, integer)COMMENTCOMMENT ON FUNCTION st_asgeojson(integer, geometry, integer) IS 'args: version, g1, max_decimal_digits - Return the geometry as a GeoJSON element.'; publicpostgresfalse517125517005(st_asgeojson(geometry, integer, integer)FUNCTIONCREATE FUNCTION st_asgeojson(geometry, integer, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGeoJson(1, $1, $2, $3)$_$; ?DROP FUNCTION public.st_asgeojson(geometry, integer, integer); publicpostgresfalse61014H 001FUNCTION st_asgeojson(geometry, integer, integer)COMMENTCOMMENT ON FUNCTION st_asgeojson(geometry, integer, integer) IS 'args: g1, max_decimal_digits, options - Return the geometry as a GeoJSON element.'; publicpostgresfalse5181255170061st_asgeojson(integer, geometry, integer, integer)FUNCTIONCREATE FUNCTION st_asgeojson(integer, geometry, integer, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGeoJson($1, $2, $3, $4)$_$; HDROP FUNCTION public.st_asgeojson(integer, geometry, integer, integer); publicpostgresfalse61014I 00:FUNCTION st_asgeojson(integer, geometry, integer, integer)COMMENTCOMMENT ON FUNCTION st_asgeojson(integer, geometry, integer, integer) IS 'args: version, g1, max_decimal_digits, options - Return the geometry as a GeoJSON element.'; publicpostgresfalse5191255426285st_asgeojson(text)FUNCTIONCREATE FUNCTION st_asgeojson(text) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_AsGeoJson($1::geometry); $_$; )DROP FUNCTION public.st_asgeojson(text); publicpostgresfalse6125516985st_asgml(geometry, integer)FUNCTIONCREATE FUNCTION st_asgml(geometry, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGML(2, $1, $2, 0)$_$; 2DROP FUNCTION public.st_asgml(geometry, integer); publicpostgresfalse61014J 00$FUNCTION st_asgml(geometry, integer)COMMENTCOMMENT ON FUNCTION st_asgml(geometry, integer) IS 'args: g1, precision - Return the geometry as a GML version 2 or 3 element.'; publicpostgresfalse498125516987st_asgml(geometry)FUNCTIONCREATE FUNCTION st_asgml(geometry) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGML(2, $1, 15, 0)$_$; )DROP FUNCTION public.st_asgml(geometry); publicpostgresfalse61014K 00FUNCTION st_asgml(geometry)COMMENTmCOMMENT ON FUNCTION st_asgml(geometry) IS 'args: g1 - Return the geometry as a GML version 2 or 3 element.'; publicpostgresfalse500125516988st_asgml(integer, geometry)FUNCTIONCREATE FUNCTION st_asgml(integer, geometry) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGML($1, $2, 15, 0)$_$; 2DROP FUNCTION public.st_asgml(integer, geometry); publicpostgresfalse61014L 00$FUNCTION st_asgml(integer, geometry)COMMENTCOMMENT ON FUNCTION st_asgml(integer, geometry) IS 'args: version, g1 - Return the geometry as a GML version 2 or 3 element.'; publicpostgresfalse501125516989$st_asgml(integer, geometry, integer)FUNCTIONCREATE FUNCTION st_asgml(integer, geometry, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGML($1, $2, $3, 0)$_$; ;DROP FUNCTION public.st_asgml(integer, geometry, integer); publicpostgresfalse61014M 00-FUNCTION st_asgml(integer, geometry, integer)COMMENTCOMMENT ON FUNCTION st_asgml(integer, geometry, integer) IS 'args: version, g1, precision - Return the geometry as a GML version 2 or 3 element.'; publicpostgresfalse502125516990$st_asgml(geometry, integer, integer)FUNCTIONCREATE FUNCTION st_asgml(geometry, integer, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGML(2, $1, $2, $3)$_$; ;DROP FUNCTION public.st_asgml(geometry, integer, integer); publicpostgresfalse61014125516991-st_asgml(integer, geometry, integer, integer)FUNCTIONCREATE FUNCTION st_asgml(integer, geometry, integer, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsGML($1, $2, $3, $4)$_$; DDROP FUNCTION public.st_asgml(integer, geometry, integer, integer); publicpostgresfalse61014N 006FUNCTION st_asgml(integer, geometry, integer, integer)COMMENTCOMMENT ON FUNCTION st_asgml(integer, geometry, integer, integer) IS 'args: version, g1, precision, options - Return the geometry as a GML version 2 or 3 element.'; publicpostgresfalse5041255426286st_asgml(text)FUNCTION~CREATE FUNCTION st_asgml(text) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_AsGML($1::geometry); $_$; %DROP FUNCTION public.st_asgml(text); publicpostgresfalse6125516684st_ashexewkb(geometry)FUNCTIONCREATE FUNCTION st_ashexewkb(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asHEXEWKB'; -DROP FUNCTION public.st_ashexewkb(geometry); publicpostgresfalse10146O 00FUNCTION st_ashexewkb(geometry)COMMENTCOMMENT ON FUNCTION st_ashexewkb(geometry) IS 'args: g1 - Returns a Geometry in HEXEWKB format (as text) using either little-endian (NDR) or big-endian (XDR) encoding.'; publicpostgresfalse254125516686st_ashexewkb(geometry, text)FUNCTIONCREATE FUNCTION st_ashexewkb(geometry, text) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asHEXEWKB'; 3DROP FUNCTION public.st_ashexewkb(geometry, text); publicpostgresfalse10146P 00%FUNCTION st_ashexewkb(geometry, text)COMMENTCOMMENT ON FUNCTION st_ashexewkb(geometry, text) IS 'args: g1, NDRorXDR - Returns a Geometry in HEXEWKB format (as text) using either little-endian (NDR) or big-endian (XDR) encoding.'; publicpostgresfalse256125516994st_askml(geometry, integer)FUNCTIONCREATE FUNCTION st_askml(geometry, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsKML(2, ST_Transform($1,4326), $2)$_$; 2DROP FUNCTION public.st_askml(geometry, integer); publicpostgresfalse61014Q 00$FUNCTION st_askml(geometry, integer)COMMENTCOMMENT ON FUNCTION st_askml(geometry, integer) IS 'args: g1, precision - Return the geometry as a KML element. Several variants. Default version=2, default precision=15'; publicpostgresfalse507125516997st_askml(geometry)FUNCTIONCREATE FUNCTION st_askml(geometry) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsKML(2, ST_Transform($1,4326), 15)$_$; )DROP FUNCTION public.st_askml(geometry); publicpostgresfalse61014R 00FUNCTION st_askml(geometry)COMMENTCOMMENT ON FUNCTION st_askml(geometry) IS 'args: g1 - Return the geometry as a KML element. Several variants. Default version=2, default precision=15'; publicpostgresfalse510125516998st_askml(integer, geometry)FUNCTIONCREATE FUNCTION st_askml(integer, geometry) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsKML($1, ST_Transform($2,4326), 15)$_$; 2DROP FUNCTION public.st_askml(integer, geometry); publicpostgresfalse61014S 00$FUNCTION st_askml(integer, geometry)COMMENTCOMMENT ON FUNCTION st_askml(integer, geometry) IS 'args: version, geom1 - Return the geometry as a KML element. Several variants. Default version=2, default precision=15'; publicpostgresfalse511125516999$st_askml(integer, geometry, integer)FUNCTIONCREATE FUNCTION st_askml(integer, geometry, integer) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_AsKML($1, ST_Transform($2,4326), $3)$_$; ;DROP FUNCTION public.st_askml(integer, geometry, integer); publicpostgresfalse61014T 00-FUNCTION st_askml(integer, geometry, integer)COMMENTCOMMENT ON FUNCTION st_askml(integer, geometry, integer) IS 'args: version, geom1, precision - Return the geometry as a KML element. Several variants. Default version=2, default precision=15'; publicpostgresfalse5121255426287st_askml(text)FUNCTION~CREATE FUNCTION st_askml(text) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_AsKML($1::geometry); $_$; %DROP FUNCTION public.st_askml(text); publicpostgresfalse6125516978$st_assvg(geometry, integer, integer)FUNCTIONCREATE FUNCTION st_assvg(geometry, integer, integer) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'assvg_geometry'; ;DROP FUNCTION public.st_assvg(geometry, integer, integer); publicpostgresfalse61014U 00-FUNCTION st_assvg(geometry, integer, integer)COMMENTCOMMENT ON FUNCTION st_assvg(geometry, integer, integer) IS 'args: g1, rel, maxdecimaldigits - Returns a Geometry in SVG path data given a geometry or geography object.'; publicpostgresfalse491125516980st_assvg(geometry, integer)FUNCTIONCREATE FUNCTION st_assvg(geometry, integer) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'assvg_geometry'; 2DROP FUNCTION public.st_assvg(geometry, integer); publicpostgresfalse61014V 00$FUNCTION st_assvg(geometry, integer)COMMENTCOMMENT ON FUNCTION st_assvg(geometry, integer) IS 'args: g1, rel - Returns a Geometry in SVG path data given a geometry or geography object.'; publicpostgresfalse493125516982st_assvg(geometry)FUNCTIONCREATE FUNCTION st_assvg(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'assvg_geometry'; )DROP FUNCTION public.st_assvg(geometry); publicpostgresfalse61014W 00FUNCTION st_assvg(geometry)COMMENTCOMMENT ON FUNCTION st_assvg(geometry) IS 'args: g1 - Returns a Geometry in SVG path data given a geometry or geography object.'; publicpostgresfalse4951255426291st_assvg(text)FUNCTION~CREATE FUNCTION st_assvg(text) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_AsSVG($1::geometry); $_$; %DROP FUNCTION public.st_assvg(text); publicpostgresfalse67125517054st_astext(geometry)FUNCTIONCREATE FUNCTION st_astext(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_asText'; *DROP FUNCTION public.st_astext(geometry); publicpostgresfalse61014X 00FUNCTION st_astext(geometry)COMMENTCOMMENT ON FUNCTION st_astext(geometry) IS 'args: g1 - Return the Well-Known Text (WKT) representation of the geometry/geography without SRID metadata.'; publicpostgresfalse5671255426293st_astext(text)FUNCTIONCREATE FUNCTION st_astext(text) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_AsText($1::geometry); $_$; &DROP FUNCTION public.st_astext(text); publicpostgresfalse6125516644st_azimuth(geometry, geometry)FUNCTIONCREATE FUNCTION st_azimuth(geometry, geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_azimuth'; 5DROP FUNCTION public.st_azimuth(geometry, geometry); publicpostgresfalse101461014Y 00'FUNCTION st_azimuth(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_azimuth(geometry, geometry) IS 'args: pointA, pointB - Returns the angle in radians from the horizontal of the vector defined by pointA and pointB'; publicpostgresfalse214125517162!st_bdmpolyfromtext(text, integer)FUNCTIONCREATE FUNCTION st_bdmpolyfromtext(text, integer) RETURNS geometry LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ DECLARE geomtext alias for $1; srid alias for $2; mline geometry; geom geometry; BEGIN mline := ST_MultiLineStringFromText(geomtext, srid); IF mline IS NULL THEN RAISE EXCEPTION 'Input is not a MultiLinestring'; END IF; geom := multi(ST_BuildArea(mline)); RETURN geom; END; $_$; 8DROP FUNCTION public.st_bdmpolyfromtext(text, integer); publicpostgresfalse119961014Z 00*FUNCTION st_bdmpolyfromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_bdmpolyfromtext(text, integer) IS 'args: WKT, srid - Construct a MultiPolygon given an arbitrary collection of closed linestrings as a MultiLineString text representation Well-Known text representation.'; publicpostgresfalse675125517160 st_bdpolyfromtext(text, integer)FUNCTION(CREATE FUNCTION st_bdpolyfromtext(text, integer) RETURNS geometry LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ DECLARE geomtext alias for $1; srid alias for $2; mline geometry; geom geometry; BEGIN mline := ST_MultiLineStringFromText(geomtext, srid); IF mline IS NULL THEN RAISE EXCEPTION 'Input is not a MultiLinestring'; END IF; geom := ST_BuildArea(mline); IF GeometryType(geom) != 'POLYGON' THEN RAISE EXCEPTION 'Input returns more then a single polygon, try using BdMPolyFromText instead'; END IF; RETURN geom; END; $_$; 7DROP FUNCTION public.st_bdpolyfromtext(text, integer); publicpostgresfalse611991014[ 00)FUNCTION st_bdpolyfromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_bdpolyfromtext(text, integer) IS 'args: WKT, srid - Construct a Polygon given an arbitrary collection of closed linestrings as a MultiLineString Well-Known text representation.'; publicpostgresfalse673125516888st_boundary(geometry)FUNCTIONCREATE FUNCTION st_boundary(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'boundary'; ,DROP FUNCTION public.st_boundary(geometry); publicpostgresfalse610141014\ 00FUNCTION st_boundary(geometry)COMMENTCOMMENT ON FUNCTION st_boundary(geometry) IS 'args: geomA - Returns the closure of the combinatorial boundary of this Geometry.'; publicpostgresfalse418h125516812st_box(geometry)FUNCTION|CREATE FUNCTION st_box(geometry) RETURNS box LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_BOX'; 'DROP FUNCTION public.st_box(geometry); publicpostgresfalse61014n125516818 st_box(box3d)FUNCTIONxCREATE FUNCTION st_box(box3d) RETURNS box LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_to_BOX'; $DROP FUNCTION public.st_box(box3d); publicpostgresfalse61017A125516446st_box2d(box3d_extent)FUNCTIONCREATE FUNCTION st_box2d(box3d_extent) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_to_BOX2DFLOAT4'; -DROP FUNCTION public.st_box2d(box3d_extent); publicpostgresfalse610201026d125516808st_box2d(geometry)FUNCTIONCREATE FUNCTION st_box2d(geometry) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_BOX2DFLOAT4'; )DROP FUNCTION public.st_box2d(geometry); publicpostgresfalse102610146j125516814st_box2d(box3d)FUNCTIONCREATE FUNCTION st_box2d(box3d) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_to_BOX2DFLOAT4'; &DROP FUNCTION public.st_box2d(box3d); publicpostgresfalse610261017`125516480st_box2d_contain(box2d, box2d)FUNCTIONCREATE FUNCTION st_box2d_contain(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_contain'; 5DROP FUNCTION public.st_box2d_contain(box2d, box2d); publicpostgresfalse610261026b125516482 st_box2d_contained(box2d, box2d)FUNCTIONCREATE FUNCTION st_box2d_contained(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_contained'; 7DROP FUNCTION public.st_box2d_contained(box2d, box2d); publicpostgresfalse102661026h125516488!st_box2d_intersects(box2d, box2d)FUNCTIONCREATE FUNCTION st_box2d_intersects(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_intersects'; 8DROP FUNCTION public.st_box2d_intersects(box2d, box2d); publicpostgresfalse102661026\125516476st_box2d_left(box2d, box2d)FUNCTIONCREATE FUNCTION st_box2d_left(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_left'; 2DROP FUNCTION public.st_box2d_left(box2d, box2d); publicpostgresfalse610261026d125516484st_box2d_overlap(box2d, box2d)FUNCTIONCREATE FUNCTION st_box2d_overlap(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_overlap'; 5DROP FUNCTION public.st_box2d_overlap(box2d, box2d); publicpostgresfalse610261026X125516472st_box2d_overleft(box2d, box2d)FUNCTIONCREATE FUNCTION st_box2d_overleft(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_overleft'; 6DROP FUNCTION public.st_box2d_overleft(box2d, box2d); publicpostgresfalse610261026Z125516474 st_box2d_overright(box2d, box2d)FUNCTIONCREATE FUNCTION st_box2d_overright(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_overright'; 7DROP FUNCTION public.st_box2d_overright(box2d, box2d); publicpostgresfalse610261026^125516478st_box2d_right(box2d, box2d)FUNCTIONCREATE FUNCTION st_box2d_right(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_right'; 3DROP FUNCTION public.st_box2d_right(box2d, box2d); publicpostgresfalse102661026f125516486st_box2d_same(box2d, box2d)FUNCTIONCREATE FUNCTION st_box2d_same(box2d, box2d) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2D_same'; 2DROP FUNCTION public.st_box2d_same(box2d, box2d); publicpostgresfalse610261026f125516810st_box3d(geometry)FUNCTIONCREATE FUNCTION st_box3d(geometry) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_BOX3D'; )DROP FUNCTION public.st_box3d(geometry); publicpostgresfalse610171014l125516816st_box3d(box2d)FUNCTIONCREATE FUNCTION st_box3d(box2d) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_to_BOX3D'; &DROP FUNCTION public.st_box3d(box2d); publicpostgresfalse610171026@125516444st_box3d_extent(box3d_extent)FUNCTIONCREATE FUNCTION st_box3d_extent(box3d_extent) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_extent_to_BOX3D'; 4DROP FUNCTION public.st_box3d_extent(box3d_extent); publicpostgresfalse101710206125516875%st_buffer(geometry, double precision)FUNCTIONCREATE FUNCTION st_buffer(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'buffer'; <DROP FUNCTION public.st_buffer(geometry, double precision); publicpostgresfalse610141014] 00.FUNCTION st_buffer(geometry, double precision)COMMENT COMMENT ON FUNCTION st_buffer(geometry, double precision) IS 'args: g1, radius_of_buffer - (T) For geometry: Returns a geometry that represents all points whose distance from this Geometry is less than or equal to distance. Calculations are in the Spatial Reference System of this Geometry. For geography: Uses a planar transform wrapper. Introduced in 1.5 support for different end cap and mitre settings to control shape. buffer_style options: quad_segs=#,endcap=round|flat|square,join=round|mitre|bevel,mitre_limit=#.#'; publicpostgresfalse405125516877.st_buffer(geometry, double precision, integer)FUNCTIONCREATE FUNCTION st_buffer(geometry, double precision, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'buffer'; EDROP FUNCTION public.st_buffer(geometry, double precision, integer); publicpostgresfalse101461014^ 007FUNCTION st_buffer(geometry, double precision, integer)COMMENT-COMMENT ON FUNCTION st_buffer(geometry, double precision, integer) IS 'args: g1, radius_of_buffer, num_seg_quarter_circle - (T) For geometry: Returns a geometry that represents all points whose distance from this Geometry is less than or equal to distance. Calculations are in the Spatial Reference System of this Geometry. For geography: Uses a planar transform wrapper. Introduced in 1.5 support for different end cap and mitre settings to control shape. buffer_style options: quad_segs=#,endcap=round|flat|square,join=round|mitre|bevel,mitre_limit=#.#'; publicpostgresfalse4071255426294+st_buffer(geometry, double precision, text)FUNCTIONCREATE FUNCTION st_buffer(geometry, double precision, text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT _ST_Buffer($1, $2, CAST( regexp_replace($3, '^[0123456789]+$', 'quad_segs='||$3) AS cstring) ) $_$; BDROP FUNCTION public.st_buffer(geometry, double precision, text); publicpostgresfalse610141014_ 004FUNCTION st_buffer(geometry, double precision, text)COMMENT+COMMENT ON FUNCTION st_buffer(geometry, double precision, text) IS 'args: g1, radius_of_buffer, buffer_style_parameters - (T) For geometry: Returns a geometry that represents all points whose distance from this Geometry is less than or equal to distance. Calculations are in the Spatial Reference System of this Geometry. For geography: Uses a planar transform wrapper. Introduced in 1.5 support for different end cap and mitre settings to control shape. buffer_style options: quad_segs=#,endcap=round|flat|square,join=round|mitre|bevel,mitre_limit=#.#'; publicpostgresfalse7151255426295!st_buffer(text, double precision)FUNCTIONCREATE FUNCTION st_buffer(text, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_Buffer($1::geometry, $2); $_$; 8DROP FUNCTION public.st_buffer(text, double precision); publicpostgresfalse61014)125516727st_buildarea(geometry)FUNCTIONCREATE FUNCTION st_buildarea(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_buildarea'; -DROP FUNCTION public.st_buildarea(geometry); publicpostgresfalse101461014` 00FUNCTION st_buildarea(geometry)COMMENTCOMMENT ON FUNCTION st_buildarea(geometry) IS 'args: A - Creates an areal geometry formed by the constituent linework of given geometry'; publicpostgresfalse297}125516833st_bytea(geometry)FUNCTIONCREATE FUNCTION st_bytea(geometry) RETURNS bytea LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_bytea'; )DROP FUNCTION public.st_bytea(geometry); publicpostgresfalse61014125516694st_cache_bbox()FUNCTIONkCREATE FUNCTION st_cache_bbox() RETURNS trigger LANGUAGE c AS '$libdir/postgis-1.4', 'cache_bbox'; &DROP FUNCTION public.st_cache_bbox(); publicpostgresfalse6125516968st_centroid(geometry)FUNCTIONCREATE FUNCTION st_centroid(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'centroid'; ,DROP FUNCTION public.st_centroid(geometry); publicpostgresfalse610141014a 00FUNCTION st_centroid(geometry)COMMENTgCOMMENT ON FUNCTION st_centroid(geometry) IS 'args: g1 - Returns the geometric center of a geometry.'; publicpostgresfalse481125516898st_collect(geometry, geometry)FUNCTIONCREATE FUNCTION st_collect(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'LWGEOM_collect'; 5DROP FUNCTION public.st_collect(geometry, geometry); publicpostgresfalse1014610141014b 00'FUNCTION st_collect(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_collect(geometry, geometry) IS 'args: g1, g2 - Return a specified ST_Geometry value from a collection of other geometries.'; publicpostgresfalse428125516905st_collect(geometry[])FUNCTIONCREATE FUNCTION st_collect(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_collect_garray'; -DROP FUNCTION public.st_collect(geometry[]); publicpostgresfalse101461016c 00FUNCTION st_collect(geometry[])COMMENTCOMMENT ON FUNCTION st_collect(geometry[]) IS 'args: g1_array - Return a specified ST_Geometry value from a collection of other geometries.'; publicpostgresfalse433125516904st_collect_garray(geometry[])FUNCTIONCREATE FUNCTION st_collect_garray(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_collect_garray'; 4DROP FUNCTION public.st_collect_garray(geometry[]); publicpostgresfalse101461016125516896 st_collector(geometry, geometry)FUNCTIONCREATE FUNCTION st_collector(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'LWGEOM_collect'; 7DROP FUNCTION public.st_collector(geometry, geometry); publicpostgresfalse10146101410144125516741 st_combine_bbox(box2d, geometry)FUNCTIONCREATE FUNCTION st_combine_bbox(box2d, geometry) RETURNS box2d LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_combine'; 7DROP FUNCTION public.st_combine_bbox(box2d, geometry); publicpostgresfalse10266102610146125516743'st_combine_bbox(box3d_extent, geometry)FUNCTIONCREATE FUNCTION st_combine_bbox(box3d_extent, geometry) RETURNS box3d_extent LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'BOX3D_combine'; >DROP FUNCTION public.st_combine_bbox(box3d_extent, geometry); publicpostgresfalse10141020610208125516747 st_combine_bbox(box3d, geometry)FUNCTIONCREATE FUNCTION st_combine_bbox(box3d, geometry) RETURNS box3d LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'BOX3D_combine'; 7DROP FUNCTION public.st_combine_bbox(box3d, geometry); publicpostgresfalse1017101410176125516599st_compression(chip)FUNCTIONCREATE FUNCTION st_compression(chip) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getCompression'; +DROP FUNCTION public.st_compression(chip); publicpostgresfalse61023125516954st_contains(geometry, geometry)FUNCTIONCREATE FUNCTION st_contains(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && $2 AND _ST_Contains($1,$2)$_$; 6DROP FUNCTION public.st_contains(geometry, geometry); publicpostgresfalse610141014d 00(FUNCTION st_contains(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_contains(geometry, geometry) IS 'args: geomA, geomB - Returns true if and only if no points of B lie in the exterior of A, and at least one point of the interior of B lies in the interior of A.'; publicpostgresfalse467125516960'st_containsproperly(geometry, geometry)FUNCTIONCREATE FUNCTION st_containsproperly(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && $2 AND _ST_ContainsProperly($1,$2)$_$; >DROP FUNCTION public.st_containsproperly(geometry, geometry); publicpostgresfalse610141014e 000FUNCTION st_containsproperly(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_containsproperly(geometry, geometry) IS 'args: geomA, geomB - Returns true if B intersects the interior of A but not the boundary (or exterior). A does not contain properly itself, but does contain itself.'; publicpostgresfalse473125516879st_convexhull(geometry)FUNCTIONCREATE FUNCTION st_convexhull(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'convexhull'; .DROP FUNCTION public.st_convexhull(geometry); publicpostgresfalse610141014f 00 FUNCTION st_convexhull(geometry)COMMENTCOMMENT ON FUNCTION st_convexhull(geometry) IS 'args: geomA - The convex hull of a geometry represents the minimum convex geometry that encloses all geometries within the set.'; publicpostgresfalse409125517178st_coorddim(geometry)FUNCTIONCREATE FUNCTION st_coorddim(geometry) RETURNS smallint LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_ndims'; ,DROP FUNCTION public.st_coorddim(geometry); publicpostgresfalse61014g 00FUNCTION st_coorddim(geometry)COMMENTxCOMMENT ON FUNCTION st_coorddim(geometry) IS 'args: geomA - Return the coordinate dimension of the ST_Geometry value.'; publicpostgresfalse695125516956 st_coveredby(geometry, geometry)FUNCTIONCREATE FUNCTION st_coveredby(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && $2 AND _ST_CoveredBy($1,$2)$_$; 7DROP FUNCTION public.st_coveredby(geometry, geometry); publicpostgresfalse101410146h 00)FUNCTION st_coveredby(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_coveredby(geometry, geometry) IS 'args: geomA, geomB - Returns 1 (TRUE) if no point in Geometry/Geography A is outside Geometry/Geography B'; publicpostgresfalse4691255426298st_coveredby(text, text)FUNCTIONCREATE FUNCTION st_coveredby(text, text) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$ SELECT ST_CoveredBy($1::geometry, $2::geometry); $_$; /DROP FUNCTION public.st_coveredby(text, text); publicpostgresfalse6125516958st_covers(geometry, geometry)FUNCTIONCREATE FUNCTION st_covers(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && $2 AND _ST_Covers($1,$2)$_$; 4DROP FUNCTION public.st_covers(geometry, geometry); publicpostgresfalse610141014i 00&FUNCTION st_covers(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_covers(geometry, geometry) IS 'args: geomA, geomB - Returns 1 (TRUE) if no point in Geometry B is outside Geometry A. For geography: if geography point B is not outside Polygon Geography A'; publicpostgresfalse4711255426299st_covers(text, text)FUNCTIONCREATE FUNCTION st_covers(text, text) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$ SELECT ST_Covers($1::geometry, $2::geometry); $_$; ,DROP FUNCTION public.st_covers(text, text); publicpostgresfalse6125516948st_crosses(geometry, geometry)FUNCTIONCREATE FUNCTION st_crosses(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && $2 AND _ST_Crosses($1,$2)$_$; 5DROP FUNCTION public.st_crosses(geometry, geometry); publicpostgresfalse101461014j 00'FUNCTION st_crosses(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_crosses(geometry, geometry) IS 'args: g1, g2 - Returns TRUE if the supplied geometries have some, but not all, interior points in common.'; publicpostgresfalse461125517189!st_curvetoline(geometry, integer)FUNCTIONCREATE FUNCTION st_curvetoline(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_curve_segmentize'; 8DROP FUNCTION public.st_curvetoline(geometry, integer); publicpostgresfalse101461014k 00*FUNCTION st_curvetoline(geometry, integer)COMMENTCOMMENT ON FUNCTION st_curvetoline(geometry, integer) IS 'args: curveGeom, segments_per_qtr_circle - Converts a CIRCULARSTRING/CURVEDPOLYGON to a LINESTRING/POLYGON'; publicpostgresfalse701125517190st_curvetoline(geometry)FUNCTIONCREATE FUNCTION st_curvetoline(geometry) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT ST_CurveToLine($1, 32)$_$; /DROP FUNCTION public.st_curvetoline(geometry); publicpostgresfalse101461014l 00!FUNCTION st_curvetoline(geometry)COMMENTCOMMENT ON FUNCTION st_curvetoline(geometry) IS 'args: curveGeom - Converts a CIRCULARSTRING/CURVEDPOLYGON to a LINESTRING/POLYGON'; publicpostgresfalse702125516597st_datatype(chip)FUNCTIONCREATE FUNCTION st_datatype(chip) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getDatatype'; (DROP FUNCTION public.st_datatype(chip); publicpostgresfalse1023612554263005st_dfullywithin(geometry, geometry, double precision)FUNCTIONCREATE FUNCTION st_dfullywithin(geometry, geometry, double precision) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_DFullyWithin(ST_ConvexHull($1), ST_ConvexHull($2), $3)$_$; LDROP FUNCTION public.st_dfullywithin(geometry, geometry, double precision); publicpostgresfalse610141014m 00>FUNCTION st_dfullywithin(geometry, geometry, double precision)COMMENTCOMMENT ON FUNCTION st_dfullywithin(geometry, geometry, double precision) IS 'args: g1, g2, distance - Returns true if all of the geometries are within the specified distance of one another'; publicpostgresfalse719125516886!st_difference(geometry, geometry)FUNCTIONCREATE FUNCTION st_difference(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'difference'; 8DROP FUNCTION public.st_difference(geometry, geometry); publicpostgresfalse1014610141014n 00*FUNCTION st_difference(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_difference(geometry, geometry) IS 'args: geomA, geomB - Returns a geometry that represents that part of geometry A that does not intersect with geometry B.'; publicpostgresfalse416125517016st_dimension(geometry)FUNCTIONCREATE FUNCTION st_dimension(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_dimension'; -DROP FUNCTION public.st_dimension(geometry); publicpostgresfalse61014o 00FUNCTION st_dimension(geometry)COMMENTCOMMENT ON FUNCTION st_dimension(geometry) IS 'args: g - The inherent dimension of this Geometry object, which must be less than or equal to the coordinate dimension.'; publicpostgresfalse529125516937st_disjoint(geometry, geometry)FUNCTIONCREATE FUNCTION st_disjoint(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'disjoint'; 6DROP FUNCTION public.st_disjoint(geometry, geometry); publicpostgresfalse101410146p 00(FUNCTION st_disjoint(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_disjoint(geometry, geometry) IS 'args: A, B - Returns TRUE if the Geometries do not "spatially intersect" - if they do not share any space together.'; publicpostgresfalse450125516638st_distance(geometry, geometry)FUNCTIONCREATE FUNCTION st_distance(geometry, geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_mindistance2d'; 6DROP FUNCTION public.st_distance(geometry, geometry); publicpostgresfalse610141014q 00(FUNCTION st_distance(geometry, geometry)COMMENT7COMMENT ON FUNCTION st_distance(geometry, geometry) IS 'args: g1, g2 - For geometry type Returns the 2-dimensional cartesian minimum distance (based on spatial ref) between two geometries in projected units. For geography type defaults to return spheroidal minimum distance between two geographies in meters.'; publicpostgresfalse2081255426301st_distance(text, text)FUNCTIONCREATE FUNCTION st_distance(text, text) RETURNS double precision LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_Distance($1::geometry, $2::geometry); $_$; .DROP FUNCTION public.st_distance(text, text); publicpostgresfalse6125516636&st_distance_sphere(geometry, geometry)FUNCTIONCREATE FUNCTION st_distance_sphere(geometry, geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_distance_sphere'; =DROP FUNCTION public.st_distance_sphere(geometry, geometry); publicpostgresfalse101461014r 00/FUNCTION st_distance_sphere(geometry, geometry)COMMENTJCOMMENT ON FUNCTION st_distance_sphere(geometry, geometry) IS 'args: geomlonlatA, geomlonlatB - Returns minimum distance in meters between two lon/lat geometries. Uses a spherical earth and radius of 6370986 meters. Faster than ST_Distance_Spheroid, but less accurate. PostGIS versions prior to 1.5 only implemented for points.'; publicpostgresfalse2061255166342st_distance_spheroid(geometry, geometry, spheroid)FUNCTIONCREATE FUNCTION st_distance_spheroid(geometry, geometry, spheroid) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_distance_ellipsoid_point'; IDROP FUNCTION public.st_distance_spheroid(geometry, geometry, spheroid); publicpostgresfalse1014610141011s 00;FUNCTION st_distance_spheroid(geometry, geometry, spheroid)COMMENTCOMMENT ON FUNCTION st_distance_spheroid(geometry, geometry, spheroid) IS 'args: geomlonlatA, geomlonlatB, measurement_spheroid - Returns the minimum distance between two lon/lat geometries given a particular spheroid. PostGIS versions prior to 1.5 only support points.'; publicpostgresfalse204125516585st_dropbbox(geometry)FUNCTIONCREATE FUNCTION st_dropbbox(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_dropBBOX'; ,DROP FUNCTION public.st_dropbbox(geometry); publicpostgresfalse6101410140125516737st_dump(geometry)FUNCTIONCREATE FUNCTION st_dump(geometry) RETURNS SETOF geometry_dump LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_dump'; (DROP FUNCTION public.st_dump(geometry); publicpostgresfalse101461029t 00FUNCTION st_dump(geometry)COMMENTCOMMENT ON FUNCTION st_dump(geometry) IS 'args: g1 - Returns a set of geometry_dump (geom,path) rows, that make up a geometry g1.'; publicpostgresfalse3041255426302st_dumppoints(geometry)FUNCTIONCREATE FUNCTION st_dumppoints(geometry) RETURNS SETOF geometry_dump LANGUAGE sql AS $_$ SELECT * FROM _ST_DumpPoints($1, NULL); $_$; .DROP FUNCTION public.st_dumppoints(geometry); publicpostgresfalse101461029u 00 FUNCTION st_dumppoints(geometry)COMMENTCOMMENT ON FUNCTION st_dumppoints(geometry) IS 'args: geom - Returns a set of geometry_dump (geom,path) rows of all points that make up a geometry.'; publicpostgresfalse7212125516739st_dumprings(geometry)FUNCTIONCREATE FUNCTION st_dumprings(geometry) RETURNS SETOF geometry_dump LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_dump_rings'; -DROP FUNCTION public.st_dumprings(geometry); publicpostgresfalse610291014v 00FUNCTION st_dumprings(geometry)COMMENTCOMMENT ON FUNCTION st_dumprings(geometry) IS 'args: a_polygon - Returns a set of geometry_dump rows, representing the exterior and interior rings of a polygon.'; publicpostgresfalse3061255169420st_dwithin(geometry, geometry, double precision)FUNCTIONCREATE FUNCTION st_dwithin(geometry, geometry, double precision) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3)$_$; GDROP FUNCTION public.st_dwithin(geometry, geometry, double precision); publicpostgresfalse101461014w 009FUNCTION st_dwithin(geometry, geometry, double precision)COMMENTCOMMENT ON FUNCTION st_dwithin(geometry, geometry, double precision) IS 'args: g1, g2, distance_of_srid - Returns true if the geometries are within the specified distance of one another. For geometry units are in those of spatial reference and For geography units are in meters and measurement is defaulted to use_spheroid=true (measure around spheroid), for faster check, use_spheroid=false to measure along sphere.'; publicpostgresfalse4551255426303(st_dwithin(text, text, double precision)FUNCTIONCREATE FUNCTION st_dwithin(text, text, double precision) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$ SELECT ST_DWithin($1::geometry, $2::geometry, $3); $_$; ?DROP FUNCTION public.st_dwithin(text, text, double precision); publicpostgresfalse6)125517040st_endpoint(geometry)FUNCTIONCREATE FUNCTION st_endpoint(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_endpoint_linestring'; ,DROP FUNCTION public.st_endpoint(geometry); publicpostgresfalse610141014x 00FUNCTION st_endpoint(geometry)COMMENTvCOMMENT ON FUNCTION st_endpoint(geometry) IS 'args: g - Returns the last point of a LINESTRING geometry as a POINT.'; publicpostgresfalse553125516666st_envelope(geometry)FUNCTIONCREATE FUNCTION st_envelope(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_envelope'; ,DROP FUNCTION public.st_envelope(geometry); publicpostgresfalse610141014y 00FUNCTION st_envelope(geometry)COMMENTCOMMENT ON FUNCTION st_envelope(geometry) IS 'args: g1 - Returns a geometry representing the double precision (float8) bounding box of the supplied geometry.'; publicpostgresfalse236125516976st_equals(geometry, geometry)FUNCTIONCREATE FUNCTION st_equals(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'geomequals'; 4DROP FUNCTION public.st_equals(geometry, geometry); publicpostgresfalse610141014z 00&FUNCTION st_equals(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_equals(geometry, geometry) IS 'args: A, B - Returns true if the given geometries represent the same geometry. Directionality is ignored.'; publicpostgresfalse489:125516751%st_estimated_extent(text, text, text)FUNCTIONCREATE FUNCTION st_estimated_extent(text, text, text) RETURNS box2d LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER AS '$libdir/postgis-1.4', 'LWGEOM_estimated_extent'; <DROP FUNCTION public.st_estimated_extent(text, text, text); publicpostgresfalse10266{ 00.FUNCTION st_estimated_extent(text, text, text)COMMENTCOMMENT ON FUNCTION st_estimated_extent(text, text, text) IS 'args: schema_name, table_name, geocolumn_name - Return the estimated extent of the given spatial table. The estimated is taken from the geometry columns statistics. The current schema will be used if not specified.'; publicpostgresfalse314<125516753st_estimated_extent(text, text)FUNCTIONCREATE FUNCTION st_estimated_extent(text, text) RETURNS box2d LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER AS '$libdir/postgis-1.4', 'LWGEOM_estimated_extent'; 6DROP FUNCTION public.st_estimated_extent(text, text); publicpostgresfalse61026| 00(FUNCTION st_estimated_extent(text, text)COMMENTCOMMENT ON FUNCTION st_estimated_extent(text, text) IS 'args: table_name, geocolumn_name - Return the estimated extent of the given spatial table. The estimated is taken from the geometry columns statistics. The current schema will be used if not specified.'; publicpostgresfalse316125516660"st_expand(box3d, double precision)FUNCTIONCREATE FUNCTION st_expand(box3d, double precision) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_expand'; 9DROP FUNCTION public.st_expand(box3d, double precision); publicpostgresfalse610171017} 00+FUNCTION st_expand(box3d, double precision)COMMENTCOMMENT ON FUNCTION st_expand(box3d, double precision) IS 'args: g1, units_to_expand - Returns bounding box expanded in all directions from the bounding box of the input geometry. Uses double-precision'; publicpostgresfalse230125516662"st_expand(box2d, double precision)FUNCTIONCREATE FUNCTION st_expand(box2d, double precision) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_expand'; 9DROP FUNCTION public.st_expand(box2d, double precision); publicpostgresfalse610261026~ 00+FUNCTION st_expand(box2d, double precision)COMMENTCOMMENT ON FUNCTION st_expand(box2d, double precision) IS 'args: g1, units_to_expand - Returns bounding box expanded in all directions from the bounding box of the input geometry. Uses double-precision'; publicpostgresfalse232125516664%st_expand(geometry, double precision)FUNCTIONCREATE FUNCTION st_expand(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_expand'; <DROP FUNCTION public.st_expand(geometry, double precision); publicpostgresfalse610141014 00.FUNCTION st_expand(geometry, double precision)COMMENTCOMMENT ON FUNCTION st_expand(geometry, double precision) IS 'args: g1, units_to_expand - Returns bounding box expanded in all directions from the bounding box of the input geometry. Uses double-precision'; publicpostgresfalse234125517018st_exteriorring(geometry)FUNCTIONCREATE FUNCTION st_exteriorring(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_exteriorring_polygon'; 0DROP FUNCTION public.st_exteriorring(geometry); publicpostgresfalse101461014 00"FUNCTION st_exteriorring(geometry)COMMENTCOMMENT ON FUNCTION st_exteriorring(geometry) IS 'args: a_polygon - Returns a line string representing the exterior ring of the POLYGON geometry. Return NULL if the geometry is not a polygon. Will not work with MULTIPOLYGON'; publicpostgresfalse531125516593st_factor(chip)FUNCTION}CREATE FUNCTION st_factor(chip) RETURNS real LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getFactor'; &DROP FUNCTION public.st_factor(chip); publicpostgresfalse10236>125516755 st_find_extent(text, text, text)FUNCTION}CREATE FUNCTION st_find_extent(text, text, text) RETURNS box2d LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ DECLARE schemaname alias for $1; tablename alias for $2; columnname alias for $3; myrec RECORD; BEGIN FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || schemaname || '"."' || tablename || '"' LOOP return myrec.extent; END LOOP; END; $_$; 7DROP FUNCTION public.st_find_extent(text, text, text); publicpostgresfalse119910266@125516757st_find_extent(text, text)FUNCTIONFCREATE FUNCTION st_find_extent(text, text) RETURNS box2d LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ DECLARE tablename alias for $1; columnname alias for $2; myrec RECORD; BEGIN FOR myrec IN EXECUTE 'SELECT extent("' || columnname || '") FROM "' || tablename || '"' LOOP return myrec.extent; END LOOP; END; $_$; 1DROP FUNCTION public.st_find_extent(text, text); publicpostgresfalse611991026125516646st_force_2d(geometry)FUNCTIONCREATE FUNCTION st_force_2d(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_2d'; ,DROP FUNCTION public.st_force_2d(geometry); publicpostgresfalse101461014 00FUNCTION st_force_2d(geometry)COMMENTCOMMENT ON FUNCTION st_force_2d(geometry) IS 'args: geomA - Forces the geometries into a "2-dimensional mode" so that all output representations will only have the X and Y coordinates.'; publicpostgresfalse216125516650st_force_3d(geometry)FUNCTIONCREATE FUNCTION st_force_3d(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_3dz'; ,DROP FUNCTION public.st_force_3d(geometry); publicpostgresfalse610141014 00FUNCTION st_force_3d(geometry)COMMENTCOMMENT ON FUNCTION st_force_3d(geometry) IS 'args: geomA - Forces the geometries into XYZ mode. This is an alias for ST_Force_3DZ.'; publicpostgresfalse220125516652st_force_3dm(geometry)FUNCTIONCREATE FUNCTION st_force_3dm(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_3dm'; -DROP FUNCTION public.st_force_3dm(geometry); publicpostgresfalse610141014 00FUNCTION st_force_3dm(geometry)COMMENTdCOMMENT ON FUNCTION st_force_3dm(geometry) IS 'args: geomA - Forces the geometries into XYM mode.'; publicpostgresfalse222125516648st_force_3dz(geometry)FUNCTIONCREATE FUNCTION st_force_3dz(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_3dz'; -DROP FUNCTION public.st_force_3dz(geometry); publicpostgresfalse101410146 00FUNCTION st_force_3dz(geometry)COMMENTCOMMENT ON FUNCTION st_force_3dz(geometry) IS 'args: geomA - Forces the geometries into XYZ mode. This is a synonym for ST_Force_3D.'; publicpostgresfalse218125516654st_force_4d(geometry)FUNCTIONCREATE FUNCTION st_force_4d(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_4d'; ,DROP FUNCTION public.st_force_4d(geometry); publicpostgresfalse101461014 00FUNCTION st_force_4d(geometry)COMMENTdCOMMENT ON FUNCTION st_force_4d(geometry) IS 'args: geomA - Forces the geometries into XYZM mode.'; publicpostgresfalse224125516656st_force_collection(geometry)FUNCTIONCREATE FUNCTION st_force_collection(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_collection'; 4DROP FUNCTION public.st_force_collection(geometry); publicpostgresfalse101461014 00&FUNCTION st_force_collection(geometry)COMMENTwCOMMENT ON FUNCTION st_force_collection(geometry) IS 'args: geomA - Converts the geometry into a GEOMETRYCOLLECTION.'; publicpostgresfalse226125516670st_forcerhr(geometry)FUNCTIONCREATE FUNCTION st_forcerhr(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_forceRHR_poly'; ,DROP FUNCTION public.st_forcerhr(geometry); publicpostgresfalse610141014 00FUNCTION st_forcerhr(geometry)COMMENTCOMMENT ON FUNCTION st_forcerhr(geometry) IS 'args: g - Forces the orientation of the vertices in a polygon to follow the Right-Hand-Rule.'; publicpostgresfalse240125517007st_geohash(geometry, integer)FUNCTIONCREATE FUNCTION st_geohash(geometry, integer) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'ST_GeoHash'; 4DROP FUNCTION public.st_geohash(geometry, integer); publicpostgresfalse61014 00&FUNCTION st_geohash(geometry, integer)COMMENTCOMMENT ON FUNCTION st_geohash(geometry, integer) IS 'args: g1, precision - Return a GeoHash representation (geohash.org) of the geometry.'; publicpostgresfalse520 125517008st_geohash(geometry)FUNCTION{CREATE FUNCTION st_geohash(geometry) RETURNS text LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT ST_GeoHash($1, 0)$_$; +DROP FUNCTION public.st_geohash(geometry); publicpostgresfalse61014 00FUNCTION st_geohash(geometry)COMMENTyCOMMENT ON FUNCTION st_geohash(geometry) IS 'args: g1 - Return a GeoHash representation (geohash.org) of the geometry.'; publicpostgresfalse521125516902#st_geom_accum(geometry[], geometry)FUNCTIONCREATE FUNCTION st_geom_accum(geometry[], geometry) RETURNS geometry[] LANGUAGE c IMMUTABLE AS '$libdir/postgis-1.4', 'LWGEOM_accum'; :DROP FUNCTION public.st_geom_accum(geometry[], geometry); publicpostgresfalse1016610161014j125517105"st_geomcollfromtext(text, integer)FUNCTIONCREATE FUNCTION st_geomcollfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'GEOMETRYCOLLECTION' THEN ST_GeomFromText($1,$2) ELSE NULL END $_$; 9DROP FUNCTION public.st_geomcollfromtext(text, integer); publicpostgresfalse61014 00+FUNCTION st_geomcollfromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_geomcollfromtext(text, integer) IS 'args: WKT, srid - Makes a collection Geometry from collection WKT with the given SRID. If SRID is not give, it defaults to -1.'; publicpostgresfalse618l125517107st_geomcollfromtext(text)FUNCTIONCREATE FUNCTION st_geomcollfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'GEOMETRYCOLLECTION' THEN ST_GeomFromText($1) ELSE NULL END $_$; 0DROP FUNCTION public.st_geomcollfromtext(text); publicpostgresfalse10146 00"FUNCTION st_geomcollfromtext(text)COMMENTCOMMENT ON FUNCTION st_geomcollfromtext(text) IS 'args: WKT - Makes a collection Geometry from collection WKT with the given SRID. If SRID is not give, it defaults to -1.'; publicpostgresfalse620125517156"st_geomcollfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_geomcollfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'GEOMETRYCOLLECTION' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 9DROP FUNCTION public.st_geomcollfromwkb(bytea, integer); publicpostgresfalse61014125517158st_geomcollfromwkb(bytea)FUNCTIONCREATE FUNCTION st_geomcollfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'GEOMETRYCOLLECTION' THEN ST_GeomFromWKB($1) ELSE NULL END $_$; 0DROP FUNCTION public.st_geomcollfromwkb(bytea); publicpostgresfalse61014B125516447st_geometry(box3d_extent)FUNCTIONCREATE FUNCTION st_geometry(box3d_extent) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_to_LWGEOM'; 0DROP FUNCTION public.st_geometry(box3d_extent); publicpostgresfalse101410206s125516823st_geometry(box2d)FUNCTIONCREATE FUNCTION st_geometry(box2d) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_to_LWGEOM'; )DROP FUNCTION public.st_geometry(box2d); publicpostgresfalse610141026u125516825st_geometry(box3d)FUNCTIONCREATE FUNCTION st_geometry(box3d) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_to_LWGEOM'; )DROP FUNCTION public.st_geometry(box3d); publicpostgresfalse610141017w125516827st_geometry(text)FUNCTIONCREATE FUNCTION st_geometry(text) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'parse_WKT_lwgeom'; (DROP FUNCTION public.st_geometry(text); publicpostgresfalse61014y125516829st_geometry(chip)FUNCTIONCREATE FUNCTION st_geometry(chip) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_to_LWGEOM'; (DROP FUNCTION public.st_geometry(chip); publicpostgresfalse610141023{125516831st_geometry(bytea)FUNCTIONCREATE FUNCTION st_geometry(bytea) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_bytea'; )DROP FUNCTION public.st_geometry(bytea); publicpostgresfalse61014125516531%st_geometry_above(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_above(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_above'; <DROP FUNCTION public.st_geometry_above(geometry, geometry); publicpostgresfalse610141014125516533%st_geometry_below(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_below(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_below'; <DROP FUNCTION public.st_geometry_below(geometry, geometry); publicpostgresfalse101461014t125516500#st_geometry_cmp(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_cmp(geometry, geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_cmp'; :DROP FUNCTION public.st_geometry_cmp(geometry, geometry); publicpostgresfalse101410146125516535'st_geometry_contain(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_contain(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_contain'; >DROP FUNCTION public.st_geometry_contain(geometry, geometry); publicpostgresfalse101461014125516537)st_geometry_contained(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_contained(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_contained'; @DROP FUNCTION public.st_geometry_contained(geometry, geometry); publicpostgresfalse101410146r125516498"st_geometry_eq(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_eq(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_eq'; 9DROP FUNCTION public.st_geometry_eq(geometry, geometry); publicpostgresfalse101410146p125516496"st_geometry_ge(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_ge(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_ge'; 9DROP FUNCTION public.st_geometry_ge(geometry, geometry); publicpostgresfalse101410146n125516494"st_geometry_gt(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_gt(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_gt'; 9DROP FUNCTION public.st_geometry_gt(geometry, geometry); publicpostgresfalse101461014l125516492"st_geometry_le(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_le(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_le'; 9DROP FUNCTION public.st_geometry_le(geometry, geometry); publicpostgresfalse101461014125516527$st_geometry_left(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_left(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_left'; ;DROP FUNCTION public.st_geometry_left(geometry, geometry); publicpostgresfalse101461014j125516490"st_geometry_lt(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_lt(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'lwgeom_lt'; 9DROP FUNCTION public.st_geometry_lt(geometry, geometry); publicpostgresfalse101461014~125516523)st_geometry_overabove(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_overabove(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_overabove'; @DROP FUNCTION public.st_geometry_overabove(geometry, geometry); publicpostgresfalse101410146125516525)st_geometry_overbelow(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_overbelow(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_overbelow'; @DROP FUNCTION public.st_geometry_overbelow(geometry, geometry); publicpostgresfalse101461014125516539'st_geometry_overlap(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_overlap(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_overlap'; >DROP FUNCTION public.st_geometry_overlap(geometry, geometry); publicpostgresfalse610141014z125516519(st_geometry_overleft(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_overleft(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_overleft'; ?DROP FUNCTION public.st_geometry_overleft(geometry, geometry); publicpostgresfalse101410146|125516521)st_geometry_overright(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_overright(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_overright'; @DROP FUNCTION public.st_geometry_overright(geometry, geometry); publicpostgresfalse101461014125516529%st_geometry_right(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_right(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_right'; <DROP FUNCTION public.st_geometry_right(geometry, geometry); publicpostgresfalse610141014125516541$st_geometry_same(geometry, geometry)FUNCTIONCREATE FUNCTION st_geometry_same(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_same'; ;DROP FUNCTION public.st_geometry_same(geometry, geometry); publicpostgresfalse6101410149125517056st_geometryfromtext(text)FUNCTIONCREATE FUNCTION st_geometryfromtext(text) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_text'; 0DROP FUNCTION public.st_geometryfromtext(text); publicpostgresfalse61014 00"FUNCTION st_geometryfromtext(text)COMMENTCOMMENT ON FUNCTION st_geometryfromtext(text) IS 'args: WKT - Return a specified ST_Geometry value from Well-Known Text representation (WKT). This is an alias name for ST_GeomFromText'; publicpostgresfalse569;125517058"st_geometryfromtext(text, integer)FUNCTIONCREATE FUNCTION st_geometryfromtext(text, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_text'; 9DROP FUNCTION public.st_geometryfromtext(text, integer); publicpostgresfalse61014 00+FUNCTION st_geometryfromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_geometryfromtext(text, integer) IS 'args: WKT, srid - Return a specified ST_Geometry value from Well-Known Text representation (WKT). This is an alias name for ST_GeomFromText'; publicpostgresfalse571125517014st_geometryn(geometry, integer)FUNCTIONCREATE FUNCTION st_geometryn(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_geometryn_collection'; 6DROP FUNCTION public.st_geometryn(geometry, integer); publicpostgresfalse101461014 00(FUNCTION st_geometryn(geometry, integer)COMMENTCOMMENT ON FUNCTION st_geometryn(geometry, integer) IS 'args: geomA, n - Return the 1-based Nth geometry if the geometry is a GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING, MULTICURVE or MULTIPOLYGON. Otherwise, return NULL.'; publicpostgresfalse527125517026st_geometrytype(geometry)FUNCTIONCREATE FUNCTION st_geometrytype(geometry) RETURNS text LANGUAGE plpgsql IMMUTABLE STRICT AS $_$ DECLARE gtype text := geometrytype($1); BEGIN IF (gtype IN ('POINT', 'POINTM')) THEN gtype := 'Point'; ELSIF (gtype IN ('LINESTRING', 'LINESTRINGM')) THEN gtype := 'LineString'; ELSIF (gtype IN ('POLYGON', 'POLYGONM')) THEN gtype := 'Polygon'; ELSIF (gtype IN ('MULTIPOINT', 'MULTIPOINTM')) THEN gtype := 'MultiPoint'; ELSIF (gtype IN ('MULTILINESTRING', 'MULTILINESTRINGM')) THEN gtype := 'MultiLineString'; ELSIF (gtype IN ('MULTIPOLYGON', 'MULTIPOLYGONM')) THEN gtype := 'MultiPolygon'; ELSE gtype := 'Geometry'; END IF; RETURN 'ST_' || gtype; END $_$; 0DROP FUNCTION public.st_geometrytype(geometry); publicpostgresfalse119961014 00"FUNCTION st_geometrytype(geometry)COMMENTrCOMMENT ON FUNCTION st_geometrytype(geometry) IS 'args: g1 - Return the geometry type of the ST_Geometry value.'; publicpostgresfalse539125516690st_geomfromewkb(bytea)FUNCTIONCREATE FUNCTION st_geomfromewkb(bytea) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOMFromWKB'; -DROP FUNCTION public.st_geomfromewkb(bytea); publicpostgresfalse10146 00FUNCTION st_geomfromewkb(bytea)COMMENTCOMMENT ON FUNCTION st_geomfromewkb(bytea) IS 'args: EWKB - Return a specified ST_Geometry value from Extended Well-Known Binary representation (EWKB).'; publicpostgresfalse260125516692st_geomfromewkt(text)FUNCTIONCREATE FUNCTION st_geomfromewkt(text) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'parse_WKT_lwgeom'; ,DROP FUNCTION public.st_geomfromewkt(text); publicpostgresfalse61014 00FUNCTION st_geomfromewkt(text)COMMENTCOMMENT ON FUNCTION st_geomfromewkt(text) IS 'args: EWKT - Return a specified ST_Geometry value from Extended Well-Known Text representation (EWKT).'; publicpostgresfalse262=125517060st_geomfromtext(text)FUNCTIONCREATE FUNCTION st_geomfromtext(text) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_text'; ,DROP FUNCTION public.st_geomfromtext(text); publicpostgresfalse61014 00FUNCTION st_geomfromtext(text)COMMENTCOMMENT ON FUNCTION st_geomfromtext(text) IS 'args: WKT - Return a specified ST_Geometry value from Well-Known Text representation (WKT).'; publicpostgresfalse573?125517062st_geomfromtext(text, integer)FUNCTIONCREATE FUNCTION st_geomfromtext(text, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_text'; 5DROP FUNCTION public.st_geomfromtext(text, integer); publicpostgresfalse10146 00'FUNCTION st_geomfromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_geomfromtext(text, integer) IS 'args: WKT, srid - Return a specified ST_Geometry value from Well-Known Text representation (WKT).'; publicpostgresfalse575n125517109st_geomfromwkb(bytea)FUNCTIONCREATE FUNCTION st_geomfromwkb(bytea) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_WKB'; ,DROP FUNCTION public.st_geomfromwkb(bytea); publicpostgresfalse10146 00FUNCTION st_geomfromwkb(bytea)COMMENTkCOMMENT ON FUNCTION st_geomfromwkb(bytea) IS 'args: geom - Makes a geometry from WKB with the given SRID'; publicpostgresfalse622p125517111st_geomfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_geomfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT ST_SetSRID(ST_GeomFromWKB($1), $2)$_$; 5DROP FUNCTION public.st_geomfromwkb(bytea, integer); publicpostgresfalse10146 00'FUNCTION st_geomfromwkb(bytea, integer)COMMENTzCOMMENT ON FUNCTION st_geomfromwkb(bytea, integer) IS 'args: geom, srid - Makes a geometry from WKB with the given SRID'; publicpostgresfalse624125517191st_hasarc(geometry)FUNCTIONCREATE FUNCTION st_hasarc(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_has_arc'; *DROP FUNCTION public.st_hasarc(geometry); publicpostgresfalse61014 00FUNCTION st_hasarc(geometry)COMMENTCOMMENT ON FUNCTION st_hasarc(geometry) IS 'args: geomA - Returns true if a geometry or geometry collection contains a circular string'; publicpostgresfalse703125516676st_hasbbox(geometry)FUNCTIONCREATE FUNCTION st_hasbbox(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_hasBBOX'; +DROP FUNCTION public.st_hasbbox(geometry); publicpostgresfalse10146125516591st_height(chip)FUNCTIONCREATE FUNCTION st_height(chip) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getHeight'; &DROP FUNCTION public.st_height(chip); publicpostgresfalse10236125517024#st_interiorringn(geometry, integer)FUNCTIONCREATE FUNCTION st_interiorringn(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_interiorringn_polygon'; :DROP FUNCTION public.st_interiorringn(geometry, integer); publicpostgresfalse101461014 00,FUNCTION st_interiorringn(geometry, integer)COMMENTCOMMENT ON FUNCTION st_interiorringn(geometry, integer) IS 'args: a_polygon, n - Return the Nth interior linestring ring of the polygon geometry. Return NULL if the geometry is not a polygon or the given N is out of range.'; publicpostgresfalse537125516873#st_intersection(geometry, geometry)FUNCTIONCREATE FUNCTION st_intersection(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'intersection'; :DROP FUNCTION public.st_intersection(geometry, geometry); publicpostgresfalse1014101461014 00,FUNCTION st_intersection(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_intersection(geometry, geometry) IS 'args: geomA, geomB - (T) Returns a geometry that represents the shared portion of geomA and geomB. The geography implementation does a transform to geometry to do the intersection and then transform back to WGS84.'; publicpostgresfalse4031255426312st_intersection(text, text)FUNCTIONCREATE FUNCTION st_intersection(text, text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_Intersection($1::geometry, $2::geometry); $_$; 2DROP FUNCTION public.st_intersection(text, text); publicpostgresfalse10146125516945!st_intersects(geometry, geometry)FUNCTIONCREATE FUNCTION st_intersects(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && $2 AND _ST_Intersects($1,$2)$_$; 8DROP FUNCTION public.st_intersects(geometry, geometry); publicpostgresfalse101461014 00*FUNCTION st_intersects(geometry, geometry)COMMENT?COMMENT ON FUNCTION st_intersects(geometry, geometry) IS 'args: geomA, geomB - Returns TRUE if the Geometries/Geography "spatially intersect" - (share any portion of space) and FALSE if they dont (they are Disjoint). For geography -- tolerance is 0.00001 meters (so any points that close are considered to intersect)'; publicpostgresfalse4581255426313st_intersects(text, text)FUNCTIONCREATE FUNCTION st_intersects(text, text) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$ SELECT ST_Intersects($1::geometry, $2::geometry); $_$; 0DROP FUNCTION public.st_intersects(text, text); publicpostgresfalse6+125517042st_isclosed(geometry)FUNCTIONCREATE FUNCTION st_isclosed(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_isclosed_linestring'; ,DROP FUNCTION public.st_isclosed(geometry); publicpostgresfalse10146 00FUNCTION st_isclosed(geometry)COMMENTCOMMENT ON FUNCTION st_isclosed(geometry) IS 'args: g - Returns TRUE if the LINESTRINGs start and end points are coincident.'; publicpostgresfalse555-125517044st_isempty(geometry)FUNCTIONCREATE FUNCTION st_isempty(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_isempty'; +DROP FUNCTION public.st_isempty(geometry); publicpostgresfalse61014 00FUNCTION st_isempty(geometry)COMMENTCOMMENT ON FUNCTION st_isempty(geometry) IS 'args: geomA - Returns true if this Geometry is an empty geometry . If true, then this Geometry represents the empty point set - i.e. GEOMETRYCOLLECTION(EMPTY).'; publicpostgresfalse557125516970st_isring(geometry)FUNCTION|CREATE FUNCTION st_isring(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'isring'; *DROP FUNCTION public.st_isring(geometry); publicpostgresfalse10146 00FUNCTION st_isring(geometry)COMMENTsCOMMENT ON FUNCTION st_isring(geometry) IS 'args: g - Returns TRUE if this LINESTRING is both closed and simple.'; publicpostgresfalse483125516974st_issimple(geometry)FUNCTIONCREATE FUNCTION st_issimple(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'issimple'; ,DROP FUNCTION public.st_issimple(geometry); publicpostgresfalse61014 00FUNCTION st_issimple(geometry)COMMENTCOMMENT ON FUNCTION st_issimple(geometry) IS 'args: geomA - Returns (TRUE) if this Geometry has no anomalous geometric points, such as self intersection or self tangency.'; publicpostgresfalse487125516965st_isvalid(geometry)FUNCTION~CREATE FUNCTION st_isvalid(geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'isvalid'; +DROP FUNCTION public.st_isvalid(geometry); publicpostgresfalse61014 00FUNCTION st_isvalid(geometry)COMMENTiCOMMENT ON FUNCTION st_isvalid(geometry) IS 'args: g - Returns true if the ST_Geometry is well formed.'; publicpostgresfalse478125516884st_isvalidreason(geometry)FUNCTIONCREATE FUNCTION st_isvalidreason(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'isvalidreason'; 1DROP FUNCTION public.st_isvalidreason(geometry); publicpostgresfalse61014 00#FUNCTION st_isvalidreason(geometry)COMMENTCOMMENT ON FUNCTION st_isvalidreason(geometry) IS 'args: geomA - Returns text stating if a geometry is valid or not and if not valid, a reason why.'; publicpostgresfalse414125516616st_length(geometry)FUNCTIONCREATE FUNCTION st_length(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length2d_linestring'; *DROP FUNCTION public.st_length(geometry); publicpostgresfalse61014 00FUNCTION st_length(geometry)COMMENTCOMMENT ON FUNCTION st_length(geometry) IS 'args: a_2dlinestring - Returns the 2d length of the geometry if it is a linestring or multilinestring. geometry are in units of spatial reference and geography are in meters (default spheroid)'; publicpostgresfalse1861255426315st_length(text)FUNCTIONCREATE FUNCTION st_length(text) RETURNS double precision LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT ST_Length($1::geometry); $_$; &DROP FUNCTION public.st_length(text); publicpostgresfalse6125516614st_length2d(geometry)FUNCTIONCREATE FUNCTION st_length2d(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length2d_linestring'; ,DROP FUNCTION public.st_length2d(geometry); publicpostgresfalse61014 00FUNCTION st_length2d(geometry)COMMENTCOMMENT ON FUNCTION st_length2d(geometry) IS 'args: a_2dlinestring - Returns the 2-dimensional length of the geometry if it is a linestring or multi-linestring. This is an alias for ST_Length'; publicpostgresfalse184125516622(st_length2d_spheroid(geometry, spheroid)FUNCTIONCREATE FUNCTION st_length2d_spheroid(geometry, spheroid) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length2d_ellipsoid_linestring'; ?DROP FUNCTION public.st_length2d_spheroid(geometry, spheroid); publicpostgresfalse101161014 001FUNCTION st_length2d_spheroid(geometry, spheroid)COMMENT(COMMENT ON FUNCTION st_length2d_spheroid(geometry, spheroid) IS 'args: a_linestring, a_spheroid - Calculates the 2D length of a linestring/multilinestring on an ellipsoid. This is useful if the coordinates of the geometry are in longitude/latitude and a length is desired without reprojection.'; publicpostgresfalse192125516612st_length3d(geometry)FUNCTIONCREATE FUNCTION st_length3d(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length_linestring'; ,DROP FUNCTION public.st_length3d(geometry); publicpostgresfalse61014 00FUNCTION st_length3d(geometry)COMMENTCOMMENT ON FUNCTION st_length3d(geometry) IS 'args: a_3dlinestring - Returns the 3-dimensional or 2-dimensional length of the geometry if it is a linestring or multi-linestring.'; publicpostgresfalse182125516618(st_length3d_spheroid(geometry, spheroid)FUNCTIONCREATE FUNCTION st_length3d_spheroid(geometry, spheroid) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length_ellipsoid_linestring'; ?DROP FUNCTION public.st_length3d_spheroid(geometry, spheroid); publicpostgresfalse101461011 001FUNCTION st_length3d_spheroid(geometry, spheroid)COMMENTCOMMENT ON FUNCTION st_length3d_spheroid(geometry, spheroid) IS 'args: a_linestring, a_spheroid - Calculates the length of a geometry on an ellipsoid, taking the elevation into account. This is just an alias for ST_Length_Spheroid.'; publicpostgresfalse188125516620&st_length_spheroid(geometry, spheroid)FUNCTIONCREATE FUNCTION st_length_spheroid(geometry, spheroid) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_length_ellipsoid_linestring'; =DROP FUNCTION public.st_length_spheroid(geometry, spheroid); publicpostgresfalse101161014 00/FUNCTION st_length_spheroid(geometry, spheroid)COMMENT,COMMENT ON FUNCTION st_length_spheroid(geometry, spheroid) IS 'args: a_linestring, a_spheroid - Calculates the 2D or 3D length of a linestring/multilinestring on an ellipsoid. This is useful if the coordinates of the geometry are in longitude/latitude and a length is desired without reprojection.'; publicpostgresfalse1901255168635st_line_interpolate_point(geometry, double precision)FUNCTIONCREATE FUNCTION st_line_interpolate_point(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_line_interpolate_point'; LDROP FUNCTION public.st_line_interpolate_point(geometry, double precision); publicpostgresfalse101410146 00>FUNCTION st_line_interpolate_point(geometry, double precision)COMMENTCOMMENT ON FUNCTION st_line_interpolate_point(geometry, double precision) IS 'args: a_linestring, a_fraction - Returns a point interpolated along a line. Second argument is a float8 between 0 and 1 representing fraction of total length of linestring the point has to be located.'; publicpostgresfalse393125516867(st_line_locate_point(geometry, geometry)FUNCTIONCREATE FUNCTION st_line_locate_point(geometry, geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_line_locate_point'; ?DROP FUNCTION public.st_line_locate_point(geometry, geometry); publicpostgresfalse610141014 001FUNCTION st_line_locate_point(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_line_locate_point(geometry, geometry) IS 'args: a_linestring, a_point - Returns a float between 0 and 1 representing the location of the closest point on LineString to the given Point, as a fraction of total 2d line length.'; publicpostgresfalse397125516865?st_line_substring(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION st_line_substring(geometry, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_line_substring'; VDROP FUNCTION public.st_line_substring(geometry, double precision, double precision); publicpostgresfalse610141014 00HFUNCTION st_line_substring(geometry, double precision, double precision)COMMENT?COMMENT ON FUNCTION st_line_substring(geometry, double precision, double precision) IS 'args: a_linestring, startfraction, endfraction - Return a linestring being a substring of the input one starting and ending at the given fractions of total 2d length. Second and third arguments are float8 values between 0 and 1.'; publicpostgresfalse395125516881,st_linecrossingdirection(geometry, geometry)FUNCTIONCREATE FUNCTION st_linecrossingdirection(geometry, geometry) RETURNS integer LANGUAGE sql IMMUTABLE AS $_$ SELECT CASE WHEN NOT $1 && $2 THEN 0 ELSE _ST_LineCrossingDirection($1,$2) END $_$; CDROP FUNCTION public.st_linecrossingdirection(geometry, geometry); publicpostgresfalse101410146 005FUNCTION st_linecrossingdirection(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_linecrossingdirection(geometry, geometry) IS 'args: linestringA, linestringB - Given 2 linestrings, returns a number between -3 and 3 denoting what kind of crossing behavior. 0 is no crossing.'; publicpostgresfalse411125516711st_linefrommultipoint(geometry)FUNCTIONCREATE FUNCTION st_linefrommultipoint(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_line_from_mpoint'; 6DROP FUNCTION public.st_linefrommultipoint(geometry); publicpostgresfalse101410146 00(FUNCTION st_linefrommultipoint(geometry)COMMENTCOMMENT ON FUNCTION st_linefrommultipoint(geometry) IS 'args: aMultiPoint - Creates a LineString from a MultiPoint geometry.'; publicpostgresfalse281E125517068st_linefromtext(text)FUNCTIONCREATE FUNCTION st_linefromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'LINESTRING' THEN ST_GeomFromText($1) ELSE NULL END $_$; ,DROP FUNCTION public.st_linefromtext(text); publicpostgresfalse61014 00FUNCTION st_linefromtext(text)COMMENTCOMMENT ON FUNCTION st_linefromtext(text) IS 'args: WKT - Makes a Geometry from WKT representation with the given SRID. If SRID is not given, it defaults to -1.'; publicpostgresfalse581G125517070st_linefromtext(text, integer)FUNCTIONCREATE FUNCTION st_linefromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'LINESTRING' THEN GeomFromText($1,$2) ELSE NULL END $_$; 5DROP FUNCTION public.st_linefromtext(text, integer); publicpostgresfalse61014 00'FUNCTION st_linefromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_linefromtext(text, integer) IS 'args: WKT, srid - Makes a Geometry from WKT representation with the given SRID. If SRID is not given, it defaults to -1.'; publicpostgresfalse583v125517117st_linefromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_linefromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'LINESTRING' THEN ST_GeomFromWKB($1, $2) ELSE NULL END $_$; 5DROP FUNCTION public.st_linefromwkb(bytea, integer); publicpostgresfalse10146 00'FUNCTION st_linefromwkb(bytea, integer)COMMENT{COMMENT ON FUNCTION st_linefromwkb(bytea, integer) IS 'args: WKB, srid - Makes a LINESTRING from WKB with the given SRID'; publicpostgresfalse630x125517119st_linefromwkb(bytea)FUNCTIONCREATE FUNCTION st_linefromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'LINESTRING' THEN ST_GeomFromWKB($1) ELSE NULL END $_$; ,DROP FUNCTION public.st_linefromwkb(bytea); publicpostgresfalse10146 00FUNCTION st_linefromwkb(bytea)COMMENTlCOMMENT ON FUNCTION st_linefromwkb(bytea) IS 'args: WKB - Makes a LINESTRING from WKB with the given SRID'; publicpostgresfalse632.125516732st_linemerge(geometry)FUNCTIONCREATE FUNCTION st_linemerge(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'linemerge'; -DROP FUNCTION public.st_linemerge(geometry); publicpostgresfalse101461014 00FUNCTION st_linemerge(geometry)COMMENTCOMMENT ON FUNCTION st_linemerge(geometry) IS 'args: amultilinestring - Returns a (set of) LineString(s) formed by sewing together a MULTILINESTRING.'; publicpostgresfalse302z125517121$st_linestringfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_linestringfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'LINESTRING' THEN ST_GeomFromWKB($1, $2) ELSE NULL END $_$; ;DROP FUNCTION public.st_linestringfromwkb(bytea, integer); publicpostgresfalse61014 00-FUNCTION st_linestringfromwkb(bytea, integer)COMMENTCOMMENT ON FUNCTION st_linestringfromwkb(bytea, integer) IS 'args: WKB, srid - Makes a geometry from WKB with the given SRID.'; publicpostgresfalse634|125517123st_linestringfromwkb(bytea)FUNCTIONCREATE FUNCTION st_linestringfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'LINESTRING' THEN GeomFromWKB($1) ELSE NULL END $_$; 2DROP FUNCTION public.st_linestringfromwkb(bytea); publicpostgresfalse10146 00$FUNCTION st_linestringfromwkb(bytea)COMMENTqCOMMENT ON FUNCTION st_linestringfromwkb(bytea) IS 'args: WKB - Makes a geometry from WKB with the given SRID.'; publicpostgresfalse636125517192st_linetocurve(geometry)FUNCTIONCREATE FUNCTION st_linetocurve(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_line_desegmentize'; /DROP FUNCTION public.st_linetocurve(geometry); publicpostgresfalse101410146 00!FUNCTION st_linetocurve(geometry)COMMENTCOMMENT ON FUNCTION st_linetocurve(geometry) IS 'args: geomANoncircular - Converts a LINESTRING/POLYGON to a CIRCULARSTRING, CURVED POLYGON'; publicpostgresfalse7041255168713st_locate_along_measure(geometry, double precision)FUNCTIONCREATE FUNCTION st_locate_along_measure(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT locate_between_measures($1, $2, $2) $_$; JDROP FUNCTION public.st_locate_along_measure(geometry, double precision); publicpostgresfalse101410146 00<FUNCTION st_locate_along_measure(geometry, double precision)COMMENTCOMMENT ON FUNCTION st_locate_along_measure(geometry, double precision) IS 'args: ageom_with_measure, a_measure - Return a derived geometry collection value with elements that match the specified measure. Polygonal elements are not supported.'; publicpostgresfalse401125516869Hst_locate_between_measures(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION st_locate_between_measures(geometry, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_locate_between_m'; _DROP FUNCTION public.st_locate_between_measures(geometry, double precision, double precision); publicpostgresfalse610141014 00QFUNCTION st_locate_between_measures(geometry, double precision, double precision)COMMENT$COMMENT ON FUNCTION st_locate_between_measures(geometry, double precision, double precision) IS 'args: geomA, measure_start, measure_end - Return a derived geometry collection value with elements that match the specified range of measures inclusively. Polygonal elements are not supported.'; publicpostgresfalse399125516882Hst_locatebetweenelevations(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION st_locatebetweenelevations(geometry, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'ST_LocateBetweenElevations'; _DROP FUNCTION public.st_locatebetweenelevations(geometry, double precision, double precision); publicpostgresfalse101410146 00QFUNCTION st_locatebetweenelevations(geometry, double precision, double precision)COMMENTKCOMMENT ON FUNCTION st_locatebetweenelevations(geometry, double precision, double precision) IS 'args: geom_mline, elevation_start, elevation_end - Return a derived geometry (collection) value with elements that intersect the specified range of elevations inclusively. Only 3D, 4D LINESTRINGS and MULTILINESTRINGS are supported.'; publicpostgresfalse4121255426316"st_longestline(geometry, geometry)FUNCTIONCREATE FUNCTION st_longestline(geometry, geometry) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_LongestLine(ST_ConvexHull($1), ST_ConvexHull($2))$_$; 9DROP FUNCTION public.st_longestline(geometry, geometry); publicpostgresfalse1014101461014 00+FUNCTION st_longestline(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_longestline(geometry, geometry) IS 'args: g1, g2 - Returns the 2-dimensional longest line points of two geometries. The function will only return the first longest line if more than one, that the function finds. The line returned will always start in g1 and end in g2. The length of the line this function returns will always be the same as st_maxdistance returns for g1 and g2.'; publicpostgresfalse726%125517036st_m(geometry)FUNCTIONCREATE FUNCTION st_m(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_m_point'; %DROP FUNCTION public.st_m(geometry); publicpostgresfalse10146 00FUNCTION st_m(geometry)COMMENTCOMMENT ON FUNCTION st_m(geometry) IS 'args: a_point - Return the M coordinate of the point, or NULL if not available. Input must be a point.'; publicpostgresfalse549125516704 st_makebox2d(geometry, geometry)FUNCTIONCREATE FUNCTION st_makebox2d(geometry, geometry) RETURNS box2d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX2DFLOAT4_construct'; 7DROP FUNCTION public.st_makebox2d(geometry, geometry); publicpostgresfalse1014610261014 00)FUNCTION st_makebox2d(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_makebox2d(geometry, geometry) IS 'args: pointLowLeft, pointUpRight - Creates a BOX2D defined by the given point geometries.'; publicpostgresfalse274125516706 st_makebox3d(geometry, geometry)FUNCTIONCREATE FUNCTION st_makebox3d(geometry, geometry) RETURNS box3d LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_construct'; 7DROP FUNCTION public.st_makebox3d(geometry, geometry); publicpostgresfalse1014101761014 00)FUNCTION st_makebox3d(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_makebox3d(geometry, geometry) IS 'args: point3DLowLeftBottom, point3DUpRightTop - Creates a BOX3D defined by the given 3d point geometries.'; publicpostgresfalse276125516709st_makeline(geometry[])FUNCTIONCREATE FUNCTION st_makeline(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makeline_garray'; .DROP FUNCTION public.st_makeline(geometry[]); publicpostgresfalse610141016 00 FUNCTION st_makeline(geometry[])COMMENTrCOMMENT ON FUNCTION st_makeline(geometry[]) IS 'args: point_array - Creates a Linestring from point geometries.'; publicpostgresfalse279125516713st_makeline(geometry, geometry)FUNCTIONCREATE FUNCTION st_makeline(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makeline'; 6DROP FUNCTION public.st_makeline(geometry, geometry); publicpostgresfalse1014101461014 00(FUNCTION st_makeline(geometry, geometry)COMMENT}COMMENT ON FUNCTION st_makeline(geometry, geometry) IS 'args: point1, point2 - Creates a Linestring from point geometries.'; publicpostgresfalse283125516708st_makeline_garray(geometry[])FUNCTIONCREATE FUNCTION st_makeline_garray(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makeline_garray'; 5DROP FUNCTION public.st_makeline_garray(geometry[]); publicpostgresfalse101610146 1255166960st_makepoint(double precision, double precision)FUNCTIONCREATE FUNCTION st_makepoint(double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoint'; GDROP FUNCTION public.st_makepoint(double precision, double precision); publicpostgresfalse61014 009FUNCTION st_makepoint(double precision, double precision)COMMENTCOMMENT ON FUNCTION st_makepoint(double precision, double precision) IS 'args: x, y - Creates a 2D,3DZ or 4D point geometry.'; publicpostgresfalse266 125516698Bst_makepoint(double precision, double precision, double precision)FUNCTIONCREATE FUNCTION st_makepoint(double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoint'; YDROP FUNCTION public.st_makepoint(double precision, double precision, double precision); publicpostgresfalse61014 00KFUNCTION st_makepoint(double precision, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_makepoint(double precision, double precision, double precision) IS 'args: x, y, z - Creates a 2D,3DZ or 4D point geometry.'; publicpostgresfalse268125516700Tst_makepoint(double precision, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION st_makepoint(double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoint'; kDROP FUNCTION public.st_makepoint(double precision, double precision, double precision, double precision); publicpostgresfalse10146 00]FUNCTION st_makepoint(double precision, double precision, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_makepoint(double precision, double precision, double precision, double precision) IS 'args: x, y, z, m - Creates a 2D,3DZ or 4D point geometry.'; publicpostgresfalse270125516702Cst_makepointm(double precision, double precision, double precision)FUNCTIONCREATE FUNCTION st_makepointm(double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoint3dm'; ZDROP FUNCTION public.st_makepointm(double precision, double precision, double precision); publicpostgresfalse10146 00LFUNCTION st_makepointm(double precision, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_makepointm(double precision, double precision, double precision) IS 'args: x, y, m - Creates a point geometry with an x y and m coordinate.'; publicpostgresfalse272%125516723$st_makepolygon(geometry, geometry[])FUNCTIONCREATE FUNCTION st_makepolygon(geometry, geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoly'; ;DROP FUNCTION public.st_makepolygon(geometry, geometry[]); publicpostgresfalse1014610141016 00-FUNCTION st_makepolygon(geometry, geometry[])COMMENTCOMMENT ON FUNCTION st_makepolygon(geometry, geometry[]) IS 'args: outerlinestring, interiorlinestrings - Creates a Polygon formed by the given shell. Input geometries must be closed LINESTRINGS.'; publicpostgresfalse293'125516725st_makepolygon(geometry)FUNCTIONCREATE FUNCTION st_makepolygon(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoly'; /DROP FUNCTION public.st_makepolygon(geometry); publicpostgresfalse101461014 00!FUNCTION st_makepolygon(geometry)COMMENTCOMMENT ON FUNCTION st_makepolygon(geometry) IS 'args: linestring - Creates a Polygon formed by the given shell. Input geometries must be closed LINESTRINGS.'; publicpostgresfalse295125516640#st_max_distance(geometry, geometry)FUNCTIONCREATE FUNCTION st_max_distance(geometry, geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_maxdistance2d_linestring'; :DROP FUNCTION public.st_max_distance(geometry, geometry); publicpostgresfalse1014610141255426318"st_maxdistance(geometry, geometry)FUNCTIONCREATE FUNCTION st_maxdistance(geometry, geometry) RETURNS double precision LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT _ST_MaxDistance(ST_ConvexHull($1), ST_ConvexHull($2))$_$; 9DROP FUNCTION public.st_maxdistance(geometry, geometry); publicpostgresfalse101461014 00+FUNCTION st_maxdistance(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_maxdistance(geometry, geometry) IS 'args: g1, g2 - Returns the 2-dimensional largest distance between two geometries in projected units.'; publicpostgresfalse727125516604st_mem_size(geometry)FUNCTIONCREATE FUNCTION st_mem_size(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_mem_size'; ,DROP FUNCTION public.st_mem_size(geometry); publicpostgresfalse10146 00FUNCTION st_mem_size(geometry)COMMENTyCOMMENT ON FUNCTION st_mem_size(geometry) IS 'args: geomA - Returns the amount of space (in bytes) the geometry takes.'; publicpostgresfalse174125517193+st_minimumboundingcircle(geometry, integer)FUNCTIONVCREATE FUNCTION st_minimumboundingcircle(inputgeom geometry, segs_per_quarter integer) RETURNS geometry LANGUAGE plpgsql IMMUTABLE STRICT AS $$ DECLARE hull GEOMETRY; ring GEOMETRY; center GEOMETRY; radius DOUBLE PRECISION; dist DOUBLE PRECISION; d DOUBLE PRECISION; idx1 integer; idx2 integer; l1 GEOMETRY; l2 GEOMETRY; p1 GEOMETRY; p2 GEOMETRY; a1 DOUBLE PRECISION; a2 DOUBLE PRECISION; BEGIN -- First compute the ConvexHull of the geometry hull = ST_ConvexHull(inputgeom); --A point really has no MBC IF ST_GeometryType(hull) = 'ST_Point' THEN RETURN hull; END IF; -- convert the hull perimeter to a linestring so we can manipulate individual points --If its already a linestring force it to a closed linestring ring = CASE WHEN ST_GeometryType(hull) = 'ST_LineString' THEN ST_AddPoint(hull, ST_StartPoint(hull)) ELSE ST_ExteriorRing(hull) END; dist = 0; -- Brute Force - check every pair FOR i in 1 .. (ST_NumPoints(ring)-2) LOOP FOR j in i .. (ST_NumPoints(ring)-1) LOOP d = ST_Distance(ST_PointN(ring,i),ST_PointN(ring,j)); -- Check the distance and update if larger IF (d > dist) THEN dist = d; idx1 = i; idx2 = j; END IF; END LOOP; END LOOP; -- We now have the diameter of the convex hull. The following line returns it if desired. -- RETURN MakeLine(PointN(ring,idx1),PointN(ring,idx2)); -- Now for the Minimum Bounding Circle. Since we know the two points furthest from each -- other, the MBC must go through those two points. Start with those points as a diameter of a circle. -- The radius is half the distance between them and the center is midway between them radius = ST_Distance(ST_PointN(ring,idx1),ST_PointN(ring,idx2)) / 2.0; center = ST_Line_interpolate_point(ST_MakeLine(ST_PointN(ring,idx1),ST_PointN(ring,idx2)),0.5); -- Loop through each vertex and check if the distance from the center to the point -- is greater than the current radius. FOR k in 1 .. (ST_NumPoints(ring)-1) LOOP IF(k <> idx1 and k <> idx2) THEN dist = ST_Distance(center,ST_PointN(ring,k)); IF (dist > radius) THEN -- We have to expand the circle. The new circle must pass trhough -- three points - the two original diameters and this point. -- Draw a line from the first diameter to this point l1 = ST_Makeline(ST_PointN(ring,idx1),ST_PointN(ring,k)); -- Compute the midpoint p1 = ST_line_interpolate_point(l1,0.5); -- Rotate the line 90 degrees around the midpoint (perpendicular bisector) l1 = ST_Translate(ST_Rotate(ST_Translate(l1,-X(p1),-Y(p1)),pi()/2),X(p1),Y(p1)); -- Compute the azimuth of the bisector a1 = ST_Azimuth(ST_PointN(l1,1),ST_PointN(l1,2)); -- Extend the line in each direction the new computed distance to insure they will intersect l1 = ST_AddPoint(l1,ST_Makepoint(X(ST_PointN(l1,2))+sin(a1)*dist,Y(ST_PointN(l1,2))+cos(a1)*dist),-1); l1 = ST_AddPoint(l1,ST_Makepoint(X(ST_PointN(l1,1))-sin(a1)*dist,Y(ST_PointN(l1,1))-cos(a1)*dist),0); -- Repeat for the line from the point to the other diameter point l2 = ST_Makeline(ST_PointN(ring,idx2),ST_PointN(ring,k)); p2 = ST_Line_interpolate_point(l2,0.5); l2 = ST_Translate(ST_Rotate(ST_Translate(l2,-X(p2),-Y(p2)),pi()/2),X(p2),Y(p2)); a2 = ST_Azimuth(ST_PointN(l2,1),ST_PointN(l2,2)); l2 = ST_AddPoint(l2,ST_Makepoint(X(ST_PointN(l2,2))+sin(a2)*dist,Y(ST_PointN(l2,2))+cos(a2)*dist),-1); l2 = ST_AddPoint(l2,ST_Makepoint(X(ST_PointN(l2,1))-sin(a2)*dist,Y(ST_PointN(l2,1))-cos(a2)*dist),0); -- The new center is the intersection of the two bisectors center = ST_Intersection(l1,l2); -- The new radius is the distance to any of the three points radius = ST_Distance(center,ST_PointN(ring,idx1)); END IF; END IF; END LOOP; --DONE!! Return the MBC via the buffer command RETURN ST_Buffer(center,radius,segs_per_quarter); END; $$; ]DROP FUNCTION public.st_minimumboundingcircle(inputgeom geometry, segs_per_quarter integer); publicpostgresfalse1014101411996 00OFUNCTION st_minimumboundingcircle(inputgeom geometry, segs_per_quarter integer)COMMENTCOMMENT ON FUNCTION st_minimumboundingcircle(inputgeom geometry, segs_per_quarter integer) IS 'args: geomA, num_segs_per_qt_circ - Returns the smallest circle polygon that can fully contain a geometry. Default uses 48 segments per quarter circle.'; publicpostgresfalse705125517195"st_minimumboundingcircle(geometry)FUNCTIONCREATE FUNCTION st_minimumboundingcircle(geometry) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT ST_MinimumBoundingCircle($1, 48)$_$; 9DROP FUNCTION public.st_minimumboundingcircle(geometry); publicpostgresfalse101461014 00+FUNCTION st_minimumboundingcircle(geometry)COMMENTCOMMENT ON FUNCTION st_minimumboundingcircle(geometry) IS 'args: geomA - Returns the smallest circle polygon that can fully contain a geometry. Default uses 48 segments per quarter circle.'; publicpostgresfalse706S125517082st_mlinefromtext(text, integer)FUNCTIONCREATE FUNCTION st_mlinefromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'MULTILINESTRING' THEN GeomFromText($1,$2) ELSE NULL END $_$; 6DROP FUNCTION public.st_mlinefromtext(text, integer); publicpostgresfalse61014 00(FUNCTION st_mlinefromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_mlinefromtext(text, integer) IS 'args: WKT, srid - Return a specified ST_MultiLineString value from WKT representation.'; publicpostgresfalse595U125517084st_mlinefromtext(text)FUNCTIONCREATE FUNCTION st_mlinefromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'MULTILINESTRING' THEN ST_GeomFromText($1) ELSE NULL END $_$; -DROP FUNCTION public.st_mlinefromtext(text); publicpostgresfalse61014 00FUNCTION st_mlinefromtext(text)COMMENTCOMMENT ON FUNCTION st_mlinefromtext(text) IS 'args: WKT - Return a specified ST_MultiLineString value from WKT representation.'; publicpostgresfalse597125517144st_mlinefromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_mlinefromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'MULTILINESTRING' THEN ST_GeomFromWKB($1, $2) ELSE NULL END $_$; 6DROP FUNCTION public.st_mlinefromwkb(bytea, integer); publicpostgresfalse10146125517146st_mlinefromwkb(bytea)FUNCTIONCREATE FUNCTION st_mlinefromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTILINESTRING' THEN ST_GeomFromWKB($1) ELSE NULL END $_$; -DROP FUNCTION public.st_mlinefromwkb(bytea); publicpostgresfalse61014[125517090 st_mpointfromtext(text, integer)FUNCTIONCREATE FUNCTION st_mpointfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromText($1, $2)) = 'MULTIPOINT' THEN GeomFromText($1, $2) ELSE NULL END $_$; 7DROP FUNCTION public.st_mpointfromtext(text, integer); publicpostgresfalse10146 00)FUNCTION st_mpointfromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_mpointfromtext(text, integer) IS 'args: WKT, srid - Makes a Geometry from WKT with the given SRID. If SRID is not give, it defaults to -1.'; publicpostgresfalse603]125517092st_mpointfromtext(text)FUNCTIONCREATE FUNCTION st_mpointfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'MULTIPOINT' THEN ST_GeomFromText($1) ELSE NULL END $_$; .DROP FUNCTION public.st_mpointfromtext(text); publicpostgresfalse61014 00 FUNCTION st_mpointfromtext(text)COMMENTCOMMENT ON FUNCTION st_mpointfromtext(text) IS 'args: WKT - Makes a Geometry from WKT with the given SRID. If SRID is not give, it defaults to -1.'; publicpostgresfalse605125517133 st_mpointfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_mpointfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1, $2)) = 'MULTIPOINT' THEN GeomFromWKB($1, $2) ELSE NULL END $_$; 7DROP FUNCTION public.st_mpointfromwkb(bytea, integer); publicpostgresfalse61014125517135st_mpointfromwkb(bytea)FUNCTIONCREATE FUNCTION st_mpointfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOINT' THEN ST_GeomFromWKB($1) ELSE NULL END $_$; .DROP FUNCTION public.st_mpointfromwkb(bytea); publicpostgresfalse61014b125517097st_mpolyfromtext(text, integer)FUNCTIONCREATE FUNCTION st_mpolyfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'MULTIPOLYGON' THEN ST_GeomFromText($1,$2) ELSE NULL END $_$; 6DROP FUNCTION public.st_mpolyfromtext(text, integer); publicpostgresfalse61014 00(FUNCTION st_mpolyfromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_mpolyfromtext(text, integer) IS 'args: WKT, srid - Makes a MultiPolygon Geometry from WKT with the given SRID. If SRID is not give, it defaults to -1.'; publicpostgresfalse610d125517099st_mpolyfromtext(text)FUNCTIONCREATE FUNCTION st_mpolyfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'MULTIPOLYGON' THEN ST_GeomFromText($1) ELSE NULL END $_$; -DROP FUNCTION public.st_mpolyfromtext(text); publicpostgresfalse61014 00FUNCTION st_mpolyfromtext(text)COMMENTCOMMENT ON FUNCTION st_mpolyfromtext(text) IS 'args: WKT - Makes a MultiPolygon Geometry from WKT with the given SRID. If SRID is not give, it defaults to -1.'; publicpostgresfalse612125517148st_mpolyfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_mpolyfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'MULTIPOLYGON' THEN ST_GeomFromWKB($1, $2) ELSE NULL END $_$; 6DROP FUNCTION public.st_mpolyfromwkb(bytea, integer); publicpostgresfalse61014125517150st_mpolyfromwkb(bytea)FUNCTIONCREATE FUNCTION st_mpolyfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOLYGON' THEN ST_GeomFromWKB($1) ELSE NULL END $_$; -DROP FUNCTION public.st_mpolyfromwkb(bytea); publicpostgresfalse61014125516658st_multi(geometry)FUNCTIONCREATE FUNCTION st_multi(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_force_multi'; )DROP FUNCTION public.st_multi(geometry); publicpostgresfalse101410146 00FUNCTION st_multi(geometry)COMMENTCOMMENT ON FUNCTION st_multi(geometry) IS 'args: g1 - Returns the geometry as a MULTI* geometry. If the geometry is already a MULTI*, it is returned unchanged.'; publicpostgresfalse228125517142st_multilinefromwkb(bytea)FUNCTIONCREATE FUNCTION st_multilinefromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTILINESTRING' THEN ST_GeomFromWKB($1) ELSE NULL END $_$; 1DROP FUNCTION public.st_multilinefromwkb(bytea); publicpostgresfalse10146W125517086 st_multilinestringfromtext(text)FUNCTIONCREATE FUNCTION st_multilinestringfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT ST_MLineFromText($1)$_$; 7DROP FUNCTION public.st_multilinestringfromtext(text); publicpostgresfalse61014Y125517088)st_multilinestringfromtext(text, integer)FUNCTIONCREATE FUNCTION st_multilinestringfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT MLineFromText($1, $2)$_$; @DROP FUNCTION public.st_multilinestringfromtext(text, integer); publicpostgresfalse10146`125517095st_multipointfromtext(text)FUNCTIONCREATE FUNCTION st_multipointfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT MPointFromText($1)$_$; 2DROP FUNCTION public.st_multipointfromtext(text); publicpostgresfalse10146125517137$st_multipointfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_multipointfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1,$2)) = 'MULTIPOINT' THEN ST_GeomFromWKB($1, $2) ELSE NULL END $_$; ;DROP FUNCTION public.st_multipointfromwkb(bytea, integer); publicpostgresfalse10146125517139st_multipointfromwkb(bytea)FUNCTIONCREATE FUNCTION st_multipointfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOINT' THEN ST_GeomFromWKB($1) ELSE NULL END $_$; 2DROP FUNCTION public.st_multipointfromwkb(bytea); publicpostgresfalse10146125517152#st_multipolyfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_multipolyfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'MULTIPOLYGON' THEN ST_GeomFromWKB($1, $2) ELSE NULL END $_$; :DROP FUNCTION public.st_multipolyfromwkb(bytea, integer); publicpostgresfalse61014125517154st_multipolyfromwkb(bytea)FUNCTIONCREATE FUNCTION st_multipolyfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOLYGON' THEN ST_GeomFromWKB($1) ELSE NULL END $_$; 1DROP FUNCTION public.st_multipolyfromwkb(bytea); publicpostgresfalse61014f125517101&st_multipolygonfromtext(text, integer)FUNCTIONCREATE FUNCTION st_multipolygonfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT MPolyFromText($1, $2)$_$; =DROP FUNCTION public.st_multipolygonfromtext(text, integer); publicpostgresfalse10146h125517103st_multipolygonfromtext(text)FUNCTIONCREATE FUNCTION st_multipolygonfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT MPolyFromText($1)$_$; 4DROP FUNCTION public.st_multipolygonfromtext(text); publicpostgresfalse61014125516678st_ndims(geometry)FUNCTIONCREATE FUNCTION st_ndims(geometry) RETURNS smallint LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_ndims'; )DROP FUNCTION public.st_ndims(geometry); publicpostgresfalse61014 00FUNCTION st_ndims(geometry)COMMENTCOMMENT ON FUNCTION st_ndims(geometry) IS 'args: g1 - Returns coordinate dimension of the geometry as a small int. Values are: 2,3 or 4.'; publicpostgresfalse248125516672st_noop(geometry)FUNCTIONvCREATE FUNCTION st_noop(geometry) RETURNS geometry LANGUAGE c STRICT AS '$libdir/postgis-1.4', 'LWGEOM_noop'; (DROP FUNCTION public.st_noop(geometry); publicpostgresfalse101461014125516608st_npoints(geometry)FUNCTIONCREATE FUNCTION st_npoints(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_npoints'; +DROP FUNCTION public.st_npoints(geometry); publicpostgresfalse61014 00FUNCTION st_npoints(geometry)COMMENTpCOMMENT ON FUNCTION st_npoints(geometry) IS 'args: g1 - Return the number of points (vertexes) in a geometry.'; publicpostgresfalse178125516610st_nrings(geometry)FUNCTIONCREATE FUNCTION st_nrings(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_nrings'; *DROP FUNCTION public.st_nrings(geometry); publicpostgresfalse61014 00FUNCTION st_nrings(geometry)COMMENTCOMMENT ON FUNCTION st_nrings(geometry) IS 'args: geomA - If the geometry is a polygon or multi-polygon returns the number of rings.'; publicpostgresfalse180 125517012st_numgeometries(geometry)FUNCTIONCREATE FUNCTION st_numgeometries(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_numgeometries_collection'; 1DROP FUNCTION public.st_numgeometries(geometry); publicpostgresfalse10146 00#FUNCTION st_numgeometries(geometry)COMMENTCOMMENT ON FUNCTION st_numgeometries(geometry) IS 'args: a_multi_or_geomcollection - If geometry is a GEOMETRYCOLLECTION (or MULTI*) return the number of geometries, otherwise return NULL.'; publicpostgresfalse525125517022st_numinteriorring(geometry)FUNCTIONCREATE FUNCTION st_numinteriorring(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_numinteriorrings_polygon'; 3DROP FUNCTION public.st_numinteriorring(geometry); publicpostgresfalse61014 00%FUNCTION st_numinteriorring(geometry)COMMENTCOMMENT ON FUNCTION st_numinteriorring(geometry) IS 'args: a_polygon - Return the number of interior rings of the first polygon in the geometry. Synonym to ST_NumInteriorRings.'; publicpostgresfalse535125517020st_numinteriorrings(geometry)FUNCTIONCREATE FUNCTION st_numinteriorrings(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_numinteriorrings_polygon'; 4DROP FUNCTION public.st_numinteriorrings(geometry); publicpostgresfalse61014 00&FUNCTION st_numinteriorrings(geometry)COMMENT%COMMENT ON FUNCTION st_numinteriorrings(geometry) IS 'args: a_polygon - Return the number of interior rings of the first polygon in the geometry. This will work with both POLYGON and MULTIPOLYGON types but only looks at the first polygon. Return NULL if there is no polygon in the geometry.'; publicpostgresfalse533 125517010st_numpoints(geometry)FUNCTIONCREATE FUNCTION st_numpoints(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_numpoints_linestring'; -DROP FUNCTION public.st_numpoints(geometry); publicpostgresfalse61014 00FUNCTION st_numpoints(geometry)COMMENTCOMMENT ON FUNCTION st_numpoints(geometry) IS 'args: g1 - Return the number of points in an ST_LineString or ST_CircularString value.'; publicpostgresfalse523125517179%st_orderingequals(geometry, geometry)FUNCTIONCREATE FUNCTION st_orderingequals(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT $1 && $2 AND $1 ~= $2 $_$; <DROP FUNCTION public.st_orderingequals(geometry, geometry); publicpostgresfalse101461014 00.FUNCTION st_orderingequals(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_orderingequals(geometry, geometry) IS 'args: A, B - Returns true if the given geometries represent the same geometry and points are in the same directional order.'; publicpostgresfalse696125516963st_overlaps(geometry, geometry)FUNCTIONCREATE FUNCTION st_overlaps(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && $2 AND _ST_Overlaps($1,$2)$_$; 6DROP FUNCTION public.st_overlaps(geometry, geometry); publicpostgresfalse610141014 00(FUNCTION st_overlaps(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_overlaps(geometry, geometry) IS 'args: A, B - Returns TRUE if the Geometries share space, are of the same dimension, but are not completely contained by each other.'; publicpostgresfalse476125516628st_perimeter(geometry)FUNCTIONCREATE FUNCTION st_perimeter(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_perimeter2d_poly'; -DROP FUNCTION public.st_perimeter(geometry); publicpostgresfalse61014 00FUNCTION st_perimeter(geometry)COMMENTCOMMENT ON FUNCTION st_perimeter(geometry) IS 'args: g1 - Return the length measurement of the boundary of an ST_Surface or ST_MultiSurface value. (Polygon, Multipolygon)'; publicpostgresfalse198125516626st_perimeter2d(geometry)FUNCTIONCREATE FUNCTION st_perimeter2d(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_perimeter2d_poly'; /DROP FUNCTION public.st_perimeter2d(geometry); publicpostgresfalse61014 00!FUNCTION st_perimeter2d(geometry)COMMENTCOMMENT ON FUNCTION st_perimeter2d(geometry) IS 'args: geomA - Returns the 2-dimensional perimeter of the geometry, if it is a polygon or multi-polygon. This is currently an alias for ST_Perimeter.'; publicpostgresfalse196125516624st_perimeter3d(geometry)FUNCTIONCREATE FUNCTION st_perimeter3d(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_perimeter_poly'; /DROP FUNCTION public.st_perimeter3d(geometry); publicpostgresfalse61014 00!FUNCTION st_perimeter3d(geometry)COMMENTCOMMENT ON FUNCTION st_perimeter3d(geometry) IS 'args: geomA - Returns the 3-dimensional perimeter of the geometry, if it is a polygon or multi-polygon.'; publicpostgresfalse194125517182,st_point(double precision, double precision)FUNCTIONCREATE FUNCTION st_point(double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_makepoint'; CDROP FUNCTION public.st_point(double precision, double precision); publicpostgresfalse10146 005FUNCTION st_point(double precision, double precision)COMMENTCOMMENT ON FUNCTION st_point(double precision, double precision) IS 'args: x_lon, y_lat - Returns an ST_Point with the given coordinate values. OGC alias for ST_MakePoint.'; publicpostgresfalse677125516642Vst_point_inside_circle(geometry, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION st_point_inside_circle(geometry, double precision, double precision, double precision) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_inside_circle_point'; mDROP FUNCTION public.st_point_inside_circle(geometry, double precision, double precision, double precision); publicpostgresfalse61014 00_FUNCTION st_point_inside_circle(geometry, double precision, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_point_inside_circle(geometry, double precision, double precision, double precision) IS 'args: a_point, center_x, center_y, radius - Is the point geometry insert circle defined by center_x, center_y , radius'; publicpostgresfalse212A125517064st_pointfromtext(text)FUNCTIONCREATE FUNCTION st_pointfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'POINT' THEN ST_GeomFromText($1) ELSE NULL END $_$; -DROP FUNCTION public.st_pointfromtext(text); publicpostgresfalse10146 00FUNCTION st_pointfromtext(text)COMMENTCOMMENT ON FUNCTION st_pointfromtext(text) IS 'args: WKT - Makes a point Geometry from WKT with the given SRID. If SRID is not given, it defaults to unknown.'; publicpostgresfalse577C125517066st_pointfromtext(text, integer)FUNCTIONCREATE FUNCTION st_pointfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'POINT' THEN ST_GeomFromText($1, $2) ELSE NULL END $_$; 6DROP FUNCTION public.st_pointfromtext(text, integer); publicpostgresfalse10146 00(FUNCTION st_pointfromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_pointfromtext(text, integer) IS 'args: WKT, srid - Makes a point Geometry from WKT with the given SRID. If SRID is not given, it defaults to unknown.'; publicpostgresfalse579r125517113st_pointfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_pointfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'POINT' THEN ST_GeomFromWKB($1, $2) ELSE NULL END $_$; 6DROP FUNCTION public.st_pointfromwkb(bytea, integer); publicpostgresfalse61014t125517115st_pointfromwkb(bytea)FUNCTIONCREATE FUNCTION st_pointfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'POINT' THEN ST_GeomFromWKB($1) ELSE NULL END $_$; -DROP FUNCTION public.st_pointfromwkb(bytea); publicpostgresfalse61014125517028st_pointn(geometry, integer)FUNCTIONCREATE FUNCTION st_pointn(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_pointn_linestring'; 3DROP FUNCTION public.st_pointn(geometry, integer); publicpostgresfalse101410146 00%FUNCTION st_pointn(geometry, integer)COMMENTCOMMENT ON FUNCTION st_pointn(geometry, integer) IS 'args: a_linestring, n - Return the Nth point in the first linestring or circular linestring in the geometry. Return NULL if there is no linestring in the geometry.'; publicpostgresfalse541125516972st_pointonsurface(geometry)FUNCTIONCREATE FUNCTION st_pointonsurface(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'pointonsurface'; 2DROP FUNCTION public.st_pointonsurface(geometry); publicpostgresfalse101461014 00$FUNCTION st_pointonsurface(geometry)COMMENTsCOMMENT ON FUNCTION st_pointonsurface(geometry) IS 'args: g1 - Returns a POINT guaranteed to lie on the surface.'; publicpostgresfalse485K125517074st_polyfromtext(text)FUNCTIONCREATE FUNCTION st_polyfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'POLYGON' THEN ST_GeomFromText($1) ELSE NULL END $_$; ,DROP FUNCTION public.st_polyfromtext(text); publicpostgresfalse61014M125517076st_polyfromtext(text, integer)FUNCTIONCREATE FUNCTION st_polyfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'POLYGON' THEN ST_GeomFromText($1, $2) ELSE NULL END $_$; 5DROP FUNCTION public.st_polyfromtext(text, integer); publicpostgresfalse61014~125517125st_polyfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_polyfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'POLYGON' THEN ST_GeomFromWKB($1, $2) ELSE NULL END $_$; 5DROP FUNCTION public.st_polyfromwkb(bytea, integer); publicpostgresfalse10146125517127st_polyfromwkb(bytea)FUNCTIONCREATE FUNCTION st_polyfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'POLYGON' THEN ST_GeomFromWKB($1) ELSE NULL END $_$; ,DROP FUNCTION public.st_polyfromwkb(bytea); publicpostgresfalse10146125517185st_polygon(geometry, integer)FUNCTIONCREATE FUNCTION st_polygon(geometry, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT setSRID(makepolygon($1), $2) $_$; 4DROP FUNCTION public.st_polygon(geometry, integer); publicpostgresfalse101410146 00&FUNCTION st_polygon(geometry, integer)COMMENTCOMMENT ON FUNCTION st_polygon(geometry, integer) IS 'args: aLineString, srid - Returns a polygon built from the specified linestring and SRID.'; publicpostgresfalse680O125517078!st_polygonfromtext(text, integer)FUNCTIONCREATE FUNCTION st_polygonfromtext(text, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT PolyFromText($1, $2)$_$; 8DROP FUNCTION public.st_polygonfromtext(text, integer); publicpostgresfalse10146 00*FUNCTION st_polygonfromtext(text, integer)COMMENTCOMMENT ON FUNCTION st_polygonfromtext(text, integer) IS 'args: WKT, srid - Makes a Geometry from WKT with the given SRID. If SRID is not give, it defaults to -1.'; publicpostgresfalse591Q125517080st_polygonfromtext(text)FUNCTIONCREATE FUNCTION st_polygonfromtext(text) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT ST_PolyFromText($1)$_$; /DROP FUNCTION public.st_polygonfromtext(text); publicpostgresfalse10146 00!FUNCTION st_polygonfromtext(text)COMMENTCOMMENT ON FUNCTION st_polygonfromtext(text) IS 'args: WKT - Makes a Geometry from WKT with the given SRID. If SRID is not give, it defaults to -1.'; publicpostgresfalse593125517129!st_polygonfromwkb(bytea, integer)FUNCTIONCREATE FUNCTION st_polygonfromwkb(bytea, integer) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1,$2)) = 'POLYGON' THEN ST_GeomFromWKB($1, $2) ELSE NULL END $_$; 8DROP FUNCTION public.st_polygonfromwkb(bytea, integer); publicpostgresfalse61014125517131st_polygonfromwkb(bytea)FUNCTIONCREATE FUNCTION st_polygonfromwkb(bytea) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$ SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POLYGON' THEN GeomFromWKB($1) ELSE NULL END $_$; /DROP FUNCTION public.st_polygonfromwkb(bytea); publicpostgresfalse61014,125516730st_polygonize(geometry[])FUNCTIONCREATE FUNCTION st_polygonize(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'polygonize_garray'; 0DROP FUNCTION public.st_polygonize(geometry[]); publicpostgresfalse101661014 00"FUNCTION st_polygonize(geometry[])COMMENTCOMMENT ON FUNCTION st_polygonize(geometry[]) IS 'args: geom_array - Aggregate. Creates a GeometryCollection containing possible polygons formed from the constituent linework of a set of geometries.'; publicpostgresfalse300+125516729 st_polygonize_garray(geometry[])FUNCTIONCREATE FUNCTION st_polygonize_garray(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'polygonize_garray'; 7DROP FUNCTION public.st_polygonize_garray(geometry[]); publicpostgresfalse101461016x125516517:st_postgis_gist_joinsel(internal, oid, internal, smallint)FUNCTIONCREATE FUNCTION st_postgis_gist_joinsel(internal, oid, internal, smallint) RETURNS double precision LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_joinsel'; QDROP FUNCTION public.st_postgis_gist_joinsel(internal, oid, internal, smallint); publicpostgresfalse6v1255165155st_postgis_gist_sel(internal, oid, internal, integer)FUNCTIONCREATE FUNCTION st_postgis_gist_sel(internal, oid, internal, integer) RETURNS double precision LANGUAGE c AS '$libdir/postgis-1.4', 'LWGEOM_gist_sel'; LDROP FUNCTION public.st_postgis_gist_sel(internal, oid, internal, integer); publicpostgresfalse6125516933st_relate(geometry, geometry)FUNCTIONCREATE FUNCTION st_relate(geometry, geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'relate_full'; 4DROP FUNCTION public.st_relate(geometry, geometry); publicpostgresfalse101461014 00&FUNCTION st_relate(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_relate(geometry, geometry) IS 'args: geomA, geomB - Returns true if this Geometry is spatially related to anotherGeometry, by testing for intersections between the Interior, Boundary and Exterior of the two geometries as specified by the values in the intersectionMatrixPattern. If no intersectionMatrixPattern is passed in, then returns the maximum intersectionMatrixPattern that relates the 2 geometries.'; publicpostgresfalse446125516935#st_relate(geometry, geometry, text)FUNCTIONCREATE FUNCTION st_relate(geometry, geometry, text) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'relate_pattern'; :DROP FUNCTION public.st_relate(geometry, geometry, text); publicpostgresfalse101410146 00,FUNCTION st_relate(geometry, geometry, text)COMMENTCOMMENT ON FUNCTION st_relate(geometry, geometry, text) IS 'args: geomA, geomB, intersectionMatrixPattern - Returns true if this Geometry is spatially related to anotherGeometry, by testing for intersections between the Interior, Boundary and Exterior of the two geometries as specified by the values in the intersectionMatrixPattern. If no intersectionMatrixPattern is passed in, then returns the maximum intersectionMatrixPattern that relates the 2 geometries.'; publicpostgresfalse448!125516719!st_removepoint(geometry, integer)FUNCTIONCREATE FUNCTION st_removepoint(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_removepoint'; 8DROP FUNCTION public.st_removepoint(geometry, integer); publicpostgresfalse610141014 00*FUNCTION st_removepoint(geometry, integer)COMMENTCOMMENT ON FUNCTION st_removepoint(geometry, integer) IS 'args: linestring, offset - Removes point from a linestring. Offset is 0-based.'; publicpostgresfalse289125516668st_reverse(geometry)FUNCTIONCREATE FUNCTION st_reverse(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_reverse'; +DROP FUNCTION public.st_reverse(geometry); publicpostgresfalse101410146 00FUNCTION st_reverse(geometry)COMMENTkCOMMENT ON FUNCTION st_reverse(geometry) IS 'args: g1 - Returns the geometry with vertex order reversed.'; publicpostgresfalse238)125516417%st_rotate(geometry, double precision)FUNCTIONCREATE FUNCTION st_rotate(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT rotateZ($1, $2)$_$; <DROP FUNCTION public.st_rotate(geometry, double precision); publicpostgresfalse610141014 00.FUNCTION st_rotate(geometry, double precision)COMMENT|COMMENT ON FUNCTION st_rotate(geometry, double precision) IS 'args: geomA, rotZRadians - This is a synonym for ST_RotateZ'; publicpostgresfalse41+125516419&st_rotatex(geometry, double precision)FUNCTIONCREATE FUNCTION st_rotatex(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)$_$; =DROP FUNCTION public.st_rotatex(geometry, double precision); publicpostgresfalse610141014 00/FUNCTION st_rotatex(geometry, double precision)COMMENTCOMMENT ON FUNCTION st_rotatex(geometry, double precision) IS 'args: geomA, rotRadians - Rotate a geometry rotRadians about the X axis.'; publicpostgresfalse43-125516421&st_rotatey(geometry, double precision)FUNCTIONCREATE FUNCTION st_rotatey(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)$_$; =DROP FUNCTION public.st_rotatey(geometry, double precision); publicpostgresfalse101410146 00/FUNCTION st_rotatey(geometry, double precision)COMMENTCOMMENT ON FUNCTION st_rotatey(geometry, double precision) IS 'args: geomA, rotRadians - Rotate a geometry rotRadians about the Y axis.'; publicpostgresfalse45'125516415&st_rotatez(geometry, double precision)FUNCTIONCREATE FUNCTION st_rotatez(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)$_$; =DROP FUNCTION public.st_rotatez(geometry, double precision); publicpostgresfalse610141014 00/FUNCTION st_rotatez(geometry, double precision)COMMENTCOMMENT ON FUNCTION st_rotatez(geometry, double precision) IS 'args: geomA, rotRadians - Rotate a geometry rotRadians about the Z axis.'; publicpostgresfalse393125516427Hst_scale(geometry, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION st_scale(geometry, double precision, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, $2, 0, 0, 0, $3, 0, 0, 0, $4, 0, 0, 0)$_$; _DROP FUNCTION public.st_scale(geometry, double precision, double precision, double precision); publicpostgresfalse101461014 00QFUNCTION st_scale(geometry, double precision, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_scale(geometry, double precision, double precision, double precision) IS 'args: geomA, XFactor, YFactor, ZFactor - Scales the geometry to a new size by multiplying the ordinates with the parameters. Ie: ST_Scale(geom, Xfactor, Yfactor, Zfactor).'; publicpostgresfalse5151255164296st_scale(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION st_scale(geometry, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT scale($1, $2, $3, 1)$_$; MDROP FUNCTION public.st_scale(geometry, double precision, double precision); publicpostgresfalse610141014 00?FUNCTION st_scale(geometry, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_scale(geometry, double precision, double precision) IS 'args: geomA, XFactor, YFactor - Scales the geometry to a new size by multiplying the ordinates with the parameters. Ie: ST_Scale(geom, Xfactor, Yfactor, Zfactor).'; publicpostgresfalse53125516861)st_segmentize(geometry, double precision)FUNCTIONCREATE FUNCTION st_segmentize(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_segmentize2d'; @DROP FUNCTION public.st_segmentize(geometry, double precision); publicpostgresfalse101410146 002FUNCTION st_segmentize(geometry, double precision)COMMENTCOMMENT ON FUNCTION st_segmentize(geometry, double precision) IS 'args: geomA, max_length - Return a modified geometry having no segment longer than the given distance. Distance computation is performed in 2d only.'; publicpostgresfalse391125516602st_setfactor(chip, real)FUNCTIONCREATE FUNCTION st_setfactor(chip, real) RETURNS chip LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_setFactor'; /DROP FUNCTION public.st_setfactor(chip, real); publicpostgresfalse102361023#125516721(st_setpoint(geometry, integer, geometry)FUNCTIONCREATE FUNCTION st_setpoint(geometry, integer, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_setpoint_linestring'; ?DROP FUNCTION public.st_setpoint(geometry, integer, geometry); publicpostgresfalse6101410141014 001FUNCTION st_setpoint(geometry, integer, geometry)COMMENTCOMMENT ON FUNCTION st_setpoint(geometry, integer, geometry) IS 'args: linestring, zerobasedposition, point - Replace point N of linestring with given point. Index is 0-based.'; publicpostgresfalse2911125517048st_setsrid(geometry, integer)FUNCTIONCREATE FUNCTION st_setsrid(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_setSRID'; 4DROP FUNCTION public.st_setsrid(geometry, integer); publicpostgresfalse101410146 00&FUNCTION st_setsrid(geometry, integer)COMMENTCOMMENT ON FUNCTION st_setsrid(geometry, integer) IS 'args: geom, srid - Sets the SRID on a geometry to a particular integer value.'; publicpostgresfalse5619125516433st_shift_longitude(geometry)FUNCTIONCREATE FUNCTION st_shift_longitude(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_longitude_shift'; 3DROP FUNCTION public.st_shift_longitude(geometry); publicpostgresfalse101410146 00%FUNCTION st_shift_longitude(geometry)COMMENTCOMMENT ON FUNCTION st_shift_longitude(geometry) IS 'args: geomA - Reads every point/vertex in every component of every feature in a geometry, and if the longitude coordinate is <0, adds 360 to it. The result would be a 0-360 version of the data to be plotted in a 180 centric map'; publicpostgresfalse57125516851'st_simplify(geometry, double precision)FUNCTIONCREATE FUNCTION st_simplify(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_simplify2d'; >DROP FUNCTION public.st_simplify(geometry, double precision); publicpostgresfalse610141014 000FUNCTION st_simplify(geometry, double precision)COMMENTCOMMENT ON FUNCTION st_simplify(geometry, double precision) IS 'args: geomA, tolerance - Returns a "simplified" version of the given geometry using the Douglas-Peuker algorithm.'; publicpostgresfalse3831255168837st_simplifypreservetopology(geometry, double precision)FUNCTIONCREATE FUNCTION st_simplifypreservetopology(geometry, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'topologypreservesimplify'; NDROP FUNCTION public.st_simplifypreservetopology(geometry, double precision); publicpostgresfalse610141014 00@FUNCTION st_simplifypreservetopology(geometry, double precision)COMMENTCOMMENT ON FUNCTION st_simplifypreservetopology(geometry, double precision) IS 'args: geomA, tolerance - Returns a "simplified" version of the given geometry using the Douglas-Peuker algorithm. Will avoid creating derived geometries (polygons in particular) that are invalid.'; publicpostgresfalse413125516853_st_snaptogrid(geometry, double precision, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION st_snaptogrid(geometry, double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_snaptogrid'; vDROP FUNCTION public.st_snaptogrid(geometry, double precision, double precision, double precision, double precision); publicpostgresfalse101410146 00hFUNCTION st_snaptogrid(geometry, double precision, double precision, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_snaptogrid(geometry, double precision, double precision, double precision, double precision) IS 'args: geomA, originX, originY, sizeX, sizeY - Snap all points of the input geometry to the grid defined by its origin and cell size. Remove consecutive points falling on the same cell, eventually returning NULL if output points are not enough to define a geometry of the given type. Collapsed geometries in a collection are stripped from it. Useful for reducing precision.'; publicpostgresfalse385125516855;st_snaptogrid(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION st_snaptogrid(geometry, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT ST_SnapToGrid($1, 0, 0, $2, $3)$_$; RDROP FUNCTION public.st_snaptogrid(geometry, double precision, double precision); publicpostgresfalse610141014 00DFUNCTION st_snaptogrid(geometry, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_snaptogrid(geometry, double precision, double precision) IS 'args: geomA, sizeX, sizeY - Snap all points of the input geometry to the grid defined by its origin and cell size. Remove consecutive points falling on the same cell, eventually returning NULL if output points are not enough to define a geometry of the given type. Collapsed geometries in a collection are stripped from it. Useful for reducing precision.'; publicpostgresfalse387O125516857)st_snaptogrid(geometry, double precision)FUNCTIONCREATE FUNCTION st_snaptogrid(geometry, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT ST_SnapToGrid($1, 0, 0, $2, $2)$_$; @DROP FUNCTION public.st_snaptogrid(geometry, double precision); publicpostgresfalse101461014 002FUNCTION st_snaptogrid(geometry, double precision)COMMENTCOMMENT ON FUNCTION st_snaptogrid(geometry, double precision) IS 'args: geomA, size - Snap all points of the input geometry to the grid defined by its origin and cell size. Remove consecutive points falling on the same cell, eventually returning NULL if output points are not enough to define a geometry of the given type. Collapsed geometries in a collection are stripped from it. Useful for reducing precision.'; publicpostgresfalse335125516859ist_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_snaptogrid_pointoff'; DROP FUNCTION public.st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision); publicpostgresfalse1014610141014 00rFUNCTION st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) IS 'args: geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM - Snap all points of the input geometry to the grid defined by its origin and cell size. Remove consecutive points falling on the same cell, eventually returning NULL if output points are not enough to define a geometry of the given type. Collapsed geometries in a collection are stripped from it. Useful for reducing precision.'; publicpostgresfalse389125516589 st_srid(chip)FUNCTION|CREATE FUNCTION st_srid(chip) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getSRID'; $DROP FUNCTION public.st_srid(chip); publicpostgresfalse61023/125517046st_srid(geometry)FUNCTIONCREATE FUNCTION st_srid(geometry) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_getSRID'; (DROP FUNCTION public.st_srid(geometry); publicpostgresfalse61014 00FUNCTION st_srid(geometry)COMMENTCOMMENT ON FUNCTION st_srid(geometry) IS 'args: g1 - Returns the spatial reference identifier for the ST_Geometry as defined in spatial_ref_sys table.'; publicpostgresfalse559'125517038st_startpoint(geometry)FUNCTIONCREATE FUNCTION st_startpoint(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_startpoint_linestring'; .DROP FUNCTION public.st_startpoint(geometry); publicpostgresfalse610141014 00 FUNCTION st_startpoint(geometry)COMMENT}COMMENT ON FUNCTION st_startpoint(geometry) IS 'args: geomA - Returns the first point of a LINESTRING geometry as a POINT.'; publicpostgresfalse551125516606st_summary(geometry)FUNCTIONCREATE FUNCTION st_summary(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_summary'; +DROP FUNCTION public.st_summary(geometry); publicpostgresfalse61014 00FUNCTION st_summary(geometry)COMMENTtCOMMENT ON FUNCTION st_summary(geometry) IS 'args: g - Returns a text summary of the contents of the ST_Geometry.'; publicpostgresfalse176125516890$st_symdifference(geometry, geometry)FUNCTIONCREATE FUNCTION st_symdifference(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'symdifference'; ;DROP FUNCTION public.st_symdifference(geometry, geometry); publicpostgresfalse6101410141014 00-FUNCTION st_symdifference(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_symdifference(geometry, geometry) IS 'args: geomA, geomB - Returns a geometry that represents the portions of A and B that do not intersect. It is called a symmetric difference because ST_SymDifference(A,B) = ST_SymDifference(B,A).'; publicpostgresfalse420125516892*st_symmetricdifference(geometry, geometry)FUNCTIONCREATE FUNCTION st_symmetricdifference(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'symdifference'; ADROP FUNCTION public.st_symmetricdifference(geometry, geometry); publicpostgresfalse1014101461014p125516820st_text(geometry)FUNCTIONCREATE FUNCTION st_text(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_text'; (DROP FUNCTION public.st_text(geometry); publicpostgresfalse61014125516940st_touches(geometry, geometry)FUNCTIONCREATE FUNCTION st_touches(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && $2 AND _ST_Touches($1,$2)$_$; 5DROP FUNCTION public.st_touches(geometry, geometry); publicpostgresfalse101410146 00'FUNCTION st_touches(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_touches(geometry, geometry) IS 'args: g1, g2 - Returns TRUE if the geometries have at least one point in common, but their interiors do not intersect.'; publicpostgresfalse453]125516796st_transform(geometry, integer)FUNCTIONCREATE FUNCTION st_transform(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'transform'; 6DROP FUNCTION public.st_transform(geometry, integer); publicpostgresfalse101461014 00(FUNCTION st_transform(geometry, integer)COMMENTCOMMENT ON FUNCTION st_transform(geometry, integer) IS 'args: g1, srid - Returns a new geometry with its coordinates transformed to the SRID referenced by the integer parameter.'; publicpostgresfalse349/125516423Lst_translate(geometry, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION st_translate(geometry, double precision, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)$_$; cDROP FUNCTION public.st_translate(geometry, double precision, double precision, double precision); publicpostgresfalse101410146 00UFUNCTION st_translate(geometry, double precision, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_translate(geometry, double precision, double precision, double precision) IS 'args: g1, deltax, deltay, deltaz - Translates the geometry to a new location using the numeric parameters as offsets. Ie: ST_Translate(geom, X, Y) or ST_Translate(geom, X, Y,Z).'; publicpostgresfalse471125516425:st_translate(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION st_translate(geometry, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT translate($1, $2, $3, 0)$_$; QDROP FUNCTION public.st_translate(geometry, double precision, double precision); publicpostgresfalse101410146 00CFUNCTION st_translate(geometry, double precision, double precision)COMMENTCOMMENT ON FUNCTION st_translate(geometry, double precision, double precision) IS 'args: g1, deltax, deltay - Translates the geometry to a new location using the numeric parameters as offsets. Ie: ST_Translate(geom, X, Y) or ST_Translate(geom, X, Y,Z).'; publicpostgresfalse497125516431_st_transscale(geometry, double precision, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION st_transscale(geometry, double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, $4, 0, 0, 0, $5, 0, 0, 0, 1, $2 * $4, $3 * $5, 0)$_$; vDROP FUNCTION public.st_transscale(geometry, double precision, double precision, double precision, double precision); publicpostgresfalse610141014 00hFUNCTION st_transscale(geometry, double precision, double precision, double precision, double precision)COMMENT(COMMENT ON FUNCTION st_transscale(geometry, double precision, double precision, double precision, double precision) IS 'args: geomA, deltaX, deltaY, XFactor, YFactor - Translates the geometry using the deltaX and deltaY args, then scales it using the XFactor, YFactor args, working in 2D only.'; publicpostgresfalse55125516894st_union(geometry, geometry)FUNCTIONCREATE FUNCTION st_union(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'geomunion'; 3DROP FUNCTION public.st_union(geometry, geometry); publicpostgresfalse6101410141014 00%FUNCTION st_union(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_union(geometry, geometry) IS 'args: g1, g2 - Returns a geometry that represents the point set union of the Geometries.'; publicpostgresfalse424125516924st_union(geometry[])FUNCTIONCREATE FUNCTION st_union(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'pgis_union_geometry_array'; +DROP FUNCTION public.st_union(geometry[]); publicpostgresfalse101661014 00FUNCTION st_union(geometry[])COMMENTCOMMENT ON FUNCTION st_union(geometry[]) IS 'args: g1_array - Returns a geometry that represents the point set union of the Geometries.'; publicpostgresfalse444125516923st_unite_garray(geometry[])FUNCTIONCREATE FUNCTION st_unite_garray(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'pgis_union_geometry_array'; 2DROP FUNCTION public.st_unite_garray(geometry[]); publicpostgresfalse101661014125516595st_width(chip)FUNCTION~CREATE FUNCTION st_width(chip) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getWidth'; %DROP FUNCTION public.st_width(chip); publicpostgresfalse10236125516951st_within(geometry, geometry)FUNCTIONCREATE FUNCTION st_within(geometry, geometry) RETURNS boolean LANGUAGE sql IMMUTABLE AS $_$SELECT $1 && $2 AND _ST_Within($1,$2)$_$; 4DROP FUNCTION public.st_within(geometry, geometry); publicpostgresfalse610141014 00&FUNCTION st_within(geometry, geometry)COMMENTCOMMENT ON FUNCTION st_within(geometry, geometry) IS 'args: A, B - Returns true if the geometry A is completely inside geometry B'; publicpostgresfalse464125517177st_wkbtosql(bytea)FUNCTIONCREATE FUNCTION st_wkbtosql(bytea) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_WKB'; )DROP FUNCTION public.st_wkbtosql(bytea); publicpostgresfalse10146 00FUNCTION st_wkbtosql(bytea)COMMENTCOMMENT ON FUNCTION st_wkbtosql(bytea) IS 'args: WKB - Return a specified ST_Geometry value from Well-Known Binary representation (WKB). This is an alias name for ST_GeomFromWKB that takes no srid'; publicpostgresfalse694125517176st_wkttosql(text)FUNCTIONCREATE FUNCTION st_wkttosql(text) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_from_text'; (DROP FUNCTION public.st_wkttosql(text); publicpostgresfalse10146 00FUNCTION st_wkttosql(text)COMMENTCOMMENT ON FUNCTION st_wkttosql(text) IS 'args: WKT - Return a specified ST_Geometry value from Well-Known Text representation (WKT). This is an alias name for ST_GeomFromText'; publicpostgresfalse693125517030st_x(geometry)FUNCTIONCREATE FUNCTION st_x(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_x_point'; %DROP FUNCTION public.st_x(geometry); publicpostgresfalse61014 00FUNCTION st_x(geometry)COMMENTCOMMENT ON FUNCTION st_x(geometry) IS 'args: a_point - Return the X coordinate of the point, or NULL if not available. Input must be a point.'; publicpostgresfalse543J125516455st_xmax(box3d)FUNCTIONCREATE FUNCTION st_xmax(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_xmax'; %DROP FUNCTION public.st_xmax(box3d); publicpostgresfalse61017 00FUNCTION st_xmax(box3d)COMMENTCOMMENT ON FUNCTION st_xmax(box3d) IS 'args: aGeomorBox2DorBox3D - Returns X maxima of a bounding box 2d or 3d or a geometry.'; publicpostgresfalse74D125516449st_xmin(box3d)FUNCTIONCREATE FUNCTION st_xmin(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_xmin'; %DROP FUNCTION public.st_xmin(box3d); publicpostgresfalse61017 00FUNCTION st_xmin(box3d)COMMENTCOMMENT ON FUNCTION st_xmin(box3d) IS 'args: aGeomorBox2DorBox3D - Returns X minima of a bounding box 2d or 3d or a geometry.'; publicpostgresfalse68!125517032st_y(geometry)FUNCTIONCREATE FUNCTION st_y(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_y_point'; %DROP FUNCTION public.st_y(geometry); publicpostgresfalse10146 00FUNCTION st_y(geometry)COMMENTCOMMENT ON FUNCTION st_y(geometry) IS 'args: a_point - Return the Y coordinate of the point, or NULL if not available. Input must be a point.'; publicpostgresfalse545L125516457st_ymax(box3d)FUNCTIONCREATE FUNCTION st_ymax(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_ymax'; %DROP FUNCTION public.st_ymax(box3d); publicpostgresfalse10176 00FUNCTION st_ymax(box3d)COMMENTCOMMENT ON FUNCTION st_ymax(box3d) IS 'args: aGeomorBox2DorBox3D - Returns Y maxima of a bounding box 2d or 3d or a geometry.'; publicpostgresfalse76F125516451st_ymin(box3d)FUNCTIONCREATE FUNCTION st_ymin(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_ymin'; %DROP FUNCTION public.st_ymin(box3d); publicpostgresfalse61017 00FUNCTION st_ymin(box3d)COMMENTCOMMENT ON FUNCTION st_ymin(box3d) IS 'args: aGeomorBox2DorBox3D - Returns Y minima of a bounding box 2d or 3d or a geometry.'; publicpostgresfalse70#125517034st_z(geometry)FUNCTIONCREATE FUNCTION st_z(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_z_point'; %DROP FUNCTION public.st_z(geometry); publicpostgresfalse10146 00FUNCTION st_z(geometry)COMMENTCOMMENT ON FUNCTION st_z(geometry) IS 'args: a_point - Return the Z coordinate of the point, or NULL if not available. Input must be a point.'; publicpostgresfalse547N125516459st_zmax(box3d)FUNCTIONCREATE FUNCTION st_zmax(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_zmax'; %DROP FUNCTION public.st_zmax(box3d); publicpostgresfalse10176 00FUNCTION st_zmax(box3d)COMMENTCOMMENT ON FUNCTION st_zmax(box3d) IS 'args: aGeomorBox2DorBox3D - Returns Z minima of a bounding box 2d or 3d or a geometry.'; publicpostgresfalse78125516674st_zmflag(geometry)FUNCTIONCREATE FUNCTION st_zmflag(geometry) RETURNS smallint LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_zmflag'; *DROP FUNCTION public.st_zmflag(geometry); publicpostgresfalse10146 00FUNCTION st_zmflag(geometry)COMMENTCOMMENT ON FUNCTION st_zmflag(geometry) IS 'args: geomA - Returns ZM (dimension semantic) flag of the geometries as a small int. Values are: 0=2d, 1=3dm, 2=3dz, 3=4d.'; publicpostgresfalse244H125516453st_zmin(box3d)FUNCTIONCREATE FUNCTION st_zmin(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_zmin'; %DROP FUNCTION public.st_zmin(box3d); publicpostgresfalse61017 00FUNCTION st_zmin(box3d)COMMENTCOMMENT ON FUNCTION st_zmin(box3d) IS 'args: aGeomorBox2DorBox3D - Returns Z minima of a bounding box 2d or 3d or a geometry.'; publicpostgresfalse72&125517037startpoint(geometry)FUNCTIONCREATE FUNCTION startpoint(geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_startpoint_linestring'; +DROP FUNCTION public.startpoint(geometry); publicpostgresfalse610141014125516605summary(geometry)FUNCTIONCREATE FUNCTION summary(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_summary'; (DROP FUNCTION public.summary(geometry); publicpostgresfalse10146125516889!symdifference(geometry, geometry)FUNCTIONCREATE FUNCTION symdifference(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'symdifference'; 8DROP FUNCTION public.symdifference(geometry, geometry); publicpostgresfalse1014101410146125516891'symmetricdifference(geometry, geometry)FUNCTIONCREATE FUNCTION symmetricdifference(geometry, geometry) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'symdifference'; >DROP FUNCTION public.symmetricdifference(geometry, geometry); publicpostgresfalse1014101410146o125516819text(geometry)FUNCTION|CREATE FUNCTION text(geometry) RETURNS text LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_to_text'; %DROP FUNCTION public.text(geometry); publicpostgresfalse61014125516938touches(geometry, geometry)FUNCTIONCREATE FUNCTION touches(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'touches'; 2DROP FUNCTION public.touches(geometry, geometry); publicpostgresfalse610141014\125516795transform(geometry, integer)FUNCTIONCREATE FUNCTION transform(geometry, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'transform'; 3DROP FUNCTION public.transform(geometry, integer); publicpostgresfalse101461014[1255167941transform_geometry(geometry, text, text, integer)FUNCTIONCREATE FUNCTION transform_geometry(geometry, text, text, integer) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'transform_geom'; HDROP FUNCTION public.transform_geometry(geometry, text, text, integer); publicpostgresfalse101461014.125516422Itranslate(geometry, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION translate(geometry, double precision, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)$_$; `DROP FUNCTION public.translate(geometry, double precision, double precision, double precision); publicpostgresfalse61014101401255164247translate(geometry, double precision, double precision)FUNCTIONCREATE FUNCTION translate(geometry, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT translate($1, $2, $3, 0)$_$; NDROP FUNCTION public.translate(geometry, double precision, double precision); publicpostgresfalse6101410146125516430\transscale(geometry, double precision, double precision, double precision, double precision)FUNCTIONCREATE FUNCTION transscale(geometry, double precision, double precision, double precision, double precision) RETURNS geometry LANGUAGE sql IMMUTABLE STRICT AS $_$SELECT affine($1, $4, 0, 0, 0, $5, 0, 0, 0, 1, $2 * $4, $3 * $5, 0)$_$; sDROP FUNCTION public.transscale(geometry, double precision, double precision, double precision, double precision); publicpostgresfalse101461014125516922unite_garray(geometry[])FUNCTIONCREATE FUNCTION unite_garray(geometry[]) RETURNS geometry LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'pgis_union_geometry_array'; /DROP FUNCTION public.unite_garray(geometry[]); publicpostgresfalse101610146125517163unlockrows(text)FUNCTIONCREATE FUNCTION unlockrows(text) RETURNS integer LANGUAGE plpgsql STRICT AS $_$ DECLARE ret int; BEGIN IF NOT LongTransactionsEnabled() THEN RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; END IF; EXECUTE 'DELETE FROM authorization_table where authid = ' || quote_literal($1); GET DIAGNOSTICS ret = ROW_COUNT; RETURN ret; END; $_$; 'DROP FUNCTION public.unlockrows(text); publicpostgresfalse11996 00FUNCTION unlockrows(text)COMMENTCOMMENT ON FUNCTION unlockrows(text) IS 'args: auth_token - Remove all locks held by specified authorization id. Returns the number of locks released.'; publicpostgresfalse676V125516789gupdategeometrysrid(character varying, character varying, character varying, character varying, integer)FUNCTIONCREATE FUNCTION updategeometrysrid(character varying, character varying, character varying, character varying, integer) RETURNS text LANGUAGE plpgsql STRICT AS $_$ DECLARE catalog_name alias for $1; schema_name alias for $2; table_name alias for $3; column_name alias for $4; new_srid alias for $5; myrec RECORD; okay boolean; cname varchar; real_schema name; BEGIN -- Find, check or fix schema_name IF ( schema_name != '' ) THEN okay = 'f'; FOR myrec IN SELECT nspname FROM pg_namespace WHERE text(nspname) = schema_name LOOP okay := 't'; END LOOP; IF ( okay <> 't' ) THEN RAISE EXCEPTION 'Invalid schema name'; ELSE real_schema = schema_name; END IF; ELSE SELECT INTO real_schema current_schema()::text; END IF; -- Find out if the column is in the geometry_columns table okay = 'f'; FOR myrec IN SELECT * from geometry_columns where f_table_schema = text(real_schema) and f_table_name = table_name and f_geometry_column = column_name LOOP okay := 't'; END LOOP; IF (okay <> 't') THEN RAISE EXCEPTION 'column not found in geometry_columns table'; RETURN 'f'; END IF; -- Update ref from geometry_columns table EXECUTE 'UPDATE geometry_columns SET SRID = ' || new_srid::text || ' where f_table_schema = ' || quote_literal(real_schema) || ' and f_table_name = ' || quote_literal(table_name) || ' and f_geometry_column = ' || quote_literal(column_name); -- Make up constraint name cname = 'enforce_srid_' || column_name; -- Drop enforce_srid constraint EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' DROP constraint ' || quote_ident(cname); -- Update geometries SRID EXECUTE 'UPDATE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' SET ' || quote_ident(column_name) || ' = setSRID(' || quote_ident(column_name) || ', ' || new_srid::text || ')'; -- Reset enforce_srid constraint EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' ADD constraint ' || quote_ident(cname) || ' CHECK (srid(' || quote_ident(column_name) || ') = ' || new_srid::text || ')'; RETURN real_schema || '.' || table_name || '.' || column_name ||' SRID changed to ' || new_srid::text; END; $_$; ~DROP FUNCTION public.updategeometrysrid(character varying, character varying, character varying, character varying, integer); publicpostgresfalse11996 00pFUNCTION updategeometrysrid(character varying, character varying, character varying, character varying, integer)COMMENT.COMMENT ON FUNCTION updategeometrysrid(character varying, character varying, character varying, character varying, integer) IS 'args: catalog_name, schema_name, table_name, column_name, srid - Updates the SRID of all features in a geometry column, geometry_columns metadata and srid table constraint'; publicpostgresfalse342W125516790Tupdategeometrysrid(character varying, character varying, character varying, integer)FUNCTIONCREATE FUNCTION updategeometrysrid(character varying, character varying, character varying, integer) RETURNS text LANGUAGE plpgsql STRICT AS $_$ DECLARE ret text; BEGIN SELECT UpdateGeometrySRID('',$1,$2,$3,$4) into ret; RETURN ret; END; $_$; kDROP FUNCTION public.updategeometrysrid(character varying, character varying, character varying, integer); publicpostgresfalse11996 00]FUNCTION updategeometrysrid(character varying, character varying, character varying, integer)COMMENT COMMENT ON FUNCTION updategeometrysrid(character varying, character varying, character varying, integer) IS 'args: schema_name, table_name, column_name, srid - Updates the SRID of all features in a geometry column, geometry_columns metadata and srid table constraint'; publicpostgresfalse343X125516791Aupdategeometrysrid(character varying, character varying, integer)FUNCTIONCREATE FUNCTION updategeometrysrid(character varying, character varying, integer) RETURNS text LANGUAGE plpgsql STRICT AS $_$ DECLARE ret text; BEGIN SELECT UpdateGeometrySRID('','',$1,$2,$3) into ret; RETURN ret; END; $_$; XDROP FUNCTION public.updategeometrysrid(character varying, character varying, integer); publicpostgresfalse61199 00JFUNCTION updategeometrysrid(character varying, character varying, integer)COMMENTCOMMENT ON FUNCTION updategeometrysrid(character varying, character varying, integer) IS 'args: table_name, column_name, srid - Updates the SRID of all features in a geometry column, geometry_columns metadata and srid table constraint'; publicpostgresfalse344125516594 width(chip)FUNCTION{CREATE FUNCTION width(chip) RETURNS integer LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'CHIP_getWidth'; "DROP FUNCTION public.width(chip); publicpostgresfalse10236125516949within(geometry, geometry)FUNCTIONCREATE FUNCTION within(geometry, geometry) RETURNS boolean LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'within'; 1DROP FUNCTION public.within(geometry, geometry); publicpostgresfalse610141014125517029 x(geometry)FUNCTIONCREATE FUNCTION x(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_x_point'; "DROP FUNCTION public.x(geometry); publicpostgresfalse10146I125516454 xmax(box3d)FUNCTIONCREATE FUNCTION xmax(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_xmax'; "DROP FUNCTION public.xmax(box3d); publicpostgresfalse61017C125516448 xmin(box3d)FUNCTIONCREATE FUNCTION xmin(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_xmin'; "DROP FUNCTION public.xmin(box3d); publicpostgresfalse61017 125517031 y(geometry)FUNCTIONCREATE FUNCTION y(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_y_point'; "DROP FUNCTION public.y(geometry); publicpostgresfalse61014K125516456 ymax(box3d)FUNCTIONCREATE FUNCTION ymax(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_ymax'; "DROP FUNCTION public.ymax(box3d); publicpostgresfalse10176E125516450 ymin(box3d)FUNCTIONCREATE FUNCTION ymin(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_ymin'; "DROP FUNCTION public.ymin(box3d); publicpostgresfalse61017"125517033 z(geometry)FUNCTIONCREATE FUNCTION z(geometry) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_z_point'; "DROP FUNCTION public.z(geometry); publicpostgresfalse61014M125516458 zmax(box3d)FUNCTIONCREATE FUNCTION zmax(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_zmax'; "DROP FUNCTION public.zmax(box3d); publicpostgresfalse61017125516673zmflag(geometry)FUNCTIONCREATE FUNCTION zmflag(geometry) RETURNS smallint LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'LWGEOM_zmflag'; 'DROP FUNCTION public.zmflag(geometry); publicpostgresfalse10146G125516452 zmin(box3d)FUNCTIONCREATE FUNCTION zmin(box3d) RETURNS double precision LANGUAGE c IMMUTABLE STRICT AS '$libdir/postgis-1.4', 'BOX3D_zmin'; "DROP FUNCTION public.zmin(box3d); publicpostgresfalse61017125516918accum(geometry) AGGREGATECREATE AGGREGATE accum(geometry) ( SFUNC = pgis_geometry_accum_transfn, STYPE = pgis_abs, FINALFUNC = pgis_geometry_accum_finalfn ); 'DROP AGGREGATE public.accum(geometry); publicpostgresfalse101643643710146125516920accum_old(geometry) AGGREGATE\CREATE AGGREGATE accum_old(geometry) ( SFUNC = st_geom_accum, STYPE = geometry[] ); +DROP AGGREGATE public.accum_old(geometry); publicpostgresfalse430610161014125516926collect(geometry) AGGREGATECREATE AGGREGATE collect(geometry) ( SFUNC = pgis_geometry_accum_transfn, STYPE = pgis_abs, FINALFUNC = pgis_geometry_collect_finalfn ); )DROP AGGREGATE public.collect(geometry); publicpostgresfalse436439101410146125516744extent(geometry) AGGREGATEdCREATE AGGREGATE extent(geometry) ( SFUNC = public.st_combine_bbox, STYPE = box3d_extent ); (DROP AGGREGATE public.extent(geometry); publicpostgresfalse101461020310125516748extent3d(geometry) AGGREGATE\CREATE AGGREGATE extent3d(geometry) ( SFUNC = public.combine_bbox, STYPE = box3d ); *DROP AGGREGATE public.extent3d(geometry); publicpostgresfalse101763111014125516930makeline(geometry) AGGREGATECREATE AGGREGATE makeline(geometry) ( SFUNC = pgis_geometry_accum_transfn, STYPE = pgis_abs, FINALFUNC = pgis_geometry_makeline_finalfn ); *DROP AGGREGATE public.makeline(geometry); publicpostgresfalse436610144411014125516899memcollect(geometry) AGGREGATE_CREATE AGGREGATE memcollect(geometry) ( SFUNC = public.st_collect, STYPE = geometry ); ,DROP AGGREGATE public.memcollect(geometry); publicpostgresfalse101461014428125516906memgeomunion(geometry) AGGREGATEYCREATE AGGREGATE memgeomunion(geometry) ( SFUNC = geomunion, STYPE = geometry ); .DROP AGGREGATE public.memgeomunion(geometry); publicpostgresfalse101461014423125516928polygonize(geometry) AGGREGATECREATE AGGREGATE polygonize(geometry) ( SFUNC = pgis_geometry_accum_transfn, STYPE = pgis_abs, FINALFUNC = pgis_geometry_polygonize_finalfn ); ,DROP AGGREGATE public.polygonize(geometry); publicpostgresfalse440101464361014125516919st_accum(geometry) AGGREGATECREATE AGGREGATE st_accum(geometry) ( SFUNC = pgis_geometry_accum_transfn, STYPE = pgis_abs, FINALFUNC = pgis_geometry_accum_finalfn ); *DROP AGGREGATE public.st_accum(geometry); publicpostgresfalse101661014436437 00AGGREGATE st_accum(geometry)COMMENTnCOMMENT ON AGGREGATE st_accum(geometry) IS 'args: geomfield - Aggregate. Constructs an array of geometries.'; publicpostgresfalse1209125516921st_accum_old(geometry) AGGREGATE_CREATE AGGREGATE st_accum_old(geometry) ( SFUNC = st_geom_accum, STYPE = geometry[] ); .DROP AGGREGATE public.st_accum_old(geometry); publicpostgresfalse101443010166125516927st_collect(geometry) AGGREGATECREATE AGGREGATE st_collect(geometry) ( SFUNC = pgis_geometry_accum_transfn, STYPE = pgis_abs, FINALFUNC = pgis_geometry_collect_finalfn ); ,DROP AGGREGATE public.st_collect(geometry); publicpostgresfalse101443943610146 00AGGREGATE st_collect(geometry)COMMENTCOMMENT ON AGGREGATE st_collect(geometry) IS 'args: g1field - Return a specified ST_Geometry value from a collection of other geometries.'; publicpostgresfalse1214125516745st_extent(geometry) AGGREGATEgCREATE AGGREGATE st_extent(geometry) ( SFUNC = public.st_combine_bbox, STYPE = box3d_extent ); +DROP AGGREGATE public.st_extent(geometry); publicpostgresfalse310101410206 00AGGREGATE st_extent(geometry)COMMENTCOMMENT ON AGGREGATE st_extent(geometry) IS 'args: geomfield - an aggregate function that returns the bounding box that bounds rows of geometries.'; publicpostgresfalse1201125516749st_extent3d(geometry) AGGREGATEbCREATE AGGREGATE st_extent3d(geometry) ( SFUNC = public.st_combine_bbox, STYPE = box3d ); -DROP AGGREGATE public.st_extent3d(geometry); publicpostgresfalse101763121014 00AGGREGATE st_extent3d(geometry)COMMENTCOMMENT ON AGGREGATE st_extent3d(geometry) IS 'args: geomfield - an aggregate function that returns the box3D bounding box that bounds rows of geometries.'; publicpostgresfalse1203125516931st_makeline(geometry) AGGREGATECREATE AGGREGATE st_makeline(geometry) ( SFUNC = pgis_geometry_accum_transfn, STYPE = pgis_abs, FINALFUNC = pgis_geometry_makeline_finalfn ); -DROP AGGREGATE public.st_makeline(geometry); publicpostgresfalse101464414361014 00AGGREGATE st_makeline(geometry)COMMENTpCOMMENT ON AGGREGATE st_makeline(geometry) IS 'args: pointfield - Creates a Linestring from point geometries.'; publicpostgresfalse1218125516900st_memcollect(geometry) AGGREGATEbCREATE AGGREGATE st_memcollect(geometry) ( SFUNC = public.st_collect, STYPE = geometry ); /DROP AGGREGATE public.st_memcollect(geometry); publicpostgresfalse428101461014125516907st_memunion(geometry) AGGREGATE^CREATE AGGREGATE st_memunion(geometry) ( SFUNC = public.st_union, STYPE = geometry ); -DROP AGGREGATE public.st_memunion(geometry); publicpostgresfalse101461014424 00AGGREGATE st_memunion(geometry)COMMENTCOMMENT ON AGGREGATE st_memunion(geometry) IS 'args: geomfield - Same as ST_Union, only memory-friendly (uses less memory and more processor time).'; publicpostgresfalse1207125516929st_polygonize(geometry) AGGREGATECREATE AGGREGATE st_polygonize(geometry) ( SFUNC = pgis_geometry_accum_transfn, STYPE = pgis_abs, FINALFUNC = pgis_geometry_polygonize_finalfn ); /DROP AGGREGATE public.st_polygonize(geometry); publicpostgresfalse101410144364406 00!AGGREGATE st_polygonize(geometry)COMMENTCOMMENT ON AGGREGATE st_polygonize(geometry) IS 'args: geomfield - Aggregate. Creates a GeometryCollection containing possible polygons formed from the constituent linework of a set of geometries.'; publicpostgresfalse1216125516925st_union(geometry) AGGREGATECREATE AGGREGATE st_union(geometry) ( SFUNC = pgis_geometry_accum_transfn, STYPE = pgis_abs, FINALFUNC = pgis_geometry_union_finalfn ); *DROP AGGREGATE public.st_union(geometry); publicpostgresfalse101410144386436 00AGGREGATE st_union(geometry)COMMENTCOMMENT ON AGGREGATE st_union(geometry) IS 'args: g1field - Returns a geometry that represents the point set union of the Geometries.'; publicpostgresfalse1212261716550&&OPERATORCREATE OPERATOR && ( PROCEDURE = st_geometry_overlap, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = &&, RESTRICT = st_postgis_gist_sel, JOIN = st_postgis_gist_joinsel ); .DROP OPERATOR public.&& (geometry, geometry); publicpostgresfalse118142101461014120261716545&<OPERATORCREATE OPERATOR &< ( PROCEDURE = st_geometry_overleft, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = &>, RESTRICT = positionsel, JOIN = positionjoinsel ); .DROP OPERATOR public.&< (geometry, geometry); publicpostgresfalse610141221014261716549&<|OPERATORCREATE OPERATOR &<| ( PROCEDURE = st_geometry_overbelow, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = |&>, RESTRICT = positionsel, JOIN = positionjoinsel ); /DROP OPERATOR public.&<| (geometry, geometry); publicpostgresfalse610141014128261716544&>OPERATORCREATE OPERATOR &> ( PROCEDURE = st_geometry_overright, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = &<, RESTRICT = positionsel, JOIN = positionjoinsel ); .DROP OPERATOR public.&> (geometry, geometry); publicpostgresfalse101412461014261716503<OPERATORCREATE OPERATOR < ( PROCEDURE = st_geometry_lt, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = >, NEGATOR = >=, RESTRICT = contsel, JOIN = contjoinsel ); -DROP OPERATOR public.< (geometry, geometry); publicpostgresfalse106101410146261716543<<OPERATORCREATE OPERATOR << ( PROCEDURE = st_geometry_left, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = >>, RESTRICT = positionsel, JOIN = positionjoinsel ); .DROP OPERATOR public.<< (geometry, geometry); publicpostgresfalse101410141306261716547<<|OPERATORCREATE OPERATOR <<| ( PROCEDURE = st_geometry_below, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = |>>, RESTRICT = positionsel, JOIN = positionjoinsel ); /DROP OPERATOR public.<<| (geometry, geometry); publicpostgresfalse101410141366261716504<=OPERATORCREATE OPERATOR <= ( PROCEDURE = st_geometry_le, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = >=, NEGATOR = >, RESTRICT = contsel, JOIN = contjoinsel ); .DROP OPERATOR public.<= (geometry, geometry); publicpostgresfalse101410810146261716505=OPERATORCREATE OPERATOR = ( PROCEDURE = st_geometry_eq, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = =, RESTRICT = contsel, JOIN = contjoinsel ); -DROP OPERATOR public.= (geometry, geometry); publicpostgresfalse101411461014261716501>OPERATORCREATE OPERATOR > ( PROCEDURE = st_geometry_gt, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = <, NEGATOR = <=, RESTRICT = contsel, JOIN = contjoinsel ); -DROP OPERATOR public.> (geometry, geometry); publicpostgresfalse101410141106261716502>=OPERATORCREATE OPERATOR >= ( PROCEDURE = st_geometry_ge, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = <=, NEGATOR = <, RESTRICT = contsel, JOIN = contjoinsel ); .DROP OPERATOR public.>= (geometry, geometry); publicpostgresfalse101410146112261716542>>OPERATORCREATE OPERATOR >> ( PROCEDURE = st_geometry_right, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = <<, RESTRICT = positionsel, JOIN = positionjoinsel ); .DROP OPERATOR public.>> (geometry, geometry); publicpostgresfalse132610141014261716553@OPERATORCREATE OPERATOR @ ( PROCEDURE = st_geometry_contained, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = ~, RESTRICT = contsel, JOIN = contjoinsel ); -DROP OPERATOR public.@ (geometry, geometry); publicpostgresfalse140101461014261716548|&>OPERATORCREATE OPERATOR |&> ( PROCEDURE = st_geometry_overabove, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = &<|, RESTRICT = positionsel, JOIN = positionjoinsel ); /DROP OPERATOR public.|&> (geometry, geometry); publicpostgresfalse612610141014261716546|>>OPERATORCREATE OPERATOR |>> ( PROCEDURE = st_geometry_above, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = <<|, RESTRICT = positionsel, JOIN = positionjoinsel ); /DROP OPERATOR public.|>> (geometry, geometry); publicpostgresfalse134610141014261716552~OPERATORCREATE OPERATOR ~ ( PROCEDURE = st_geometry_contain, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = @, RESTRICT = contsel, JOIN = contjoinsel ); -DROP OPERATOR public.~ (geometry, geometry); publicpostgresfalse101413810146261716551~=OPERATORCREATE OPERATOR ~= ( PROCEDURE = st_geometry_same, LEFTARG = geometry, RIGHTARG = geometry, COMMUTATOR = ~=, RESTRICT = eqsel, JOIN = eqjoinsel ); .DROP OPERATOR public.~= (geometry, geometry); publicpostgresfalse144610141014261616507btree_geometry_opsOPERATOR CLASSFCREATE OPERATOR CLASS btree_geometry_ops DEFAULT FOR TYPE geometry USING btree AS OPERATOR 1 <(geometry,geometry) , OPERATOR 2 <=(geometry,geometry) , OPERATOR 3 =(geometry,geometry) , OPERATOR 4 >=(geometry,geometry) , OPERATOR 5 >(geometry,geometry) , FUNCTION 1 geometry_cmp(geometry,geometry); ;DROP OPERATOR CLASS public.btree_geometry_ops USING btree; publicpostgresfalse610142159261616562gist_geometry_opsOPERATOR CLASSCREATE OPERATOR CLASS gist_geometry_ops DEFAULT FOR TYPE geometry USING gist AS STORAGE box2d , OPERATOR 1 <<(geometry,geometry) , OPERATOR 2 &<(geometry,geometry) , OPERATOR 3 &&(geometry,geometry) , OPERATOR 4 &>(geometry,geometry) , OPERATOR 5 >>(geometry,geometry) , OPERATOR 6 ~=(geometry,geometry) , OPERATOR 7 ~(geometry,geometry) , OPERATOR 8 @(geometry,geometry) , OPERATOR 9 &<|(geometry,geometry) , OPERATOR 10 <<|(geometry,geometry) , OPERATOR 11 |>>(geometry,geometry) , OPERATOR 12 |&>(geometry,geometry) , FUNCTION 1 lwgeom_gist_consistent(internal,geometry,integer) , FUNCTION 2 lwgeom_gist_union(bytea,internal) , FUNCTION 3 lwgeom_gist_compress(internal) , FUNCTION 4 lwgeom_gist_decompress(internal) , FUNCTION 5 lwgeom_gist_penalty(internal,internal,internal) , FUNCTION 6 lwgeom_gist_picksplit(internal,internal) , FUNCTION 7 lwgeom_gist_same(box2d,box2d,internal); 9DROP OPERATOR CLASS public.gist_geometry_ops USING gist; publicpostgresfalse1026621601014 260516838#CAST (public.box2d AS public.box3d)CASTdCREATE CAST (public.box2d AS public.box3d) WITH FUNCTION public.st_box3d(public.box2d) AS IMPLICIT; *DROP CAST (public.box2d AS public.box3d);  pg_catalogfalse36436410261017 260516839&CAST (public.box2d AS public.geometry)CASTjCREATE CAST (public.box2d AS public.geometry) WITH FUNCTION public.st_geometry(public.box2d) AS IMPLICIT; -DROP CAST (public.box2d AS public.geometry);  pg_catalogfalse37110261014371 260516840CAST (public.box3d AS box)CASTYCREATE CAST (public.box3d AS box) WITH FUNCTION public.st_box(public.box3d) AS IMPLICIT; !DROP CAST (public.box3d AS box);  pg_catalogfalse3663661017 260516837#CAST (public.box3d AS public.box2d)CASTdCREATE CAST (public.box3d AS public.box2d) WITH FUNCTION public.st_box2d(public.box3d) AS IMPLICIT; *DROP CAST (public.box3d AS public.box2d);  pg_catalogfalse36210173621026 260516841&CAST (public.box3d AS public.geometry)CASTjCREATE CAST (public.box3d AS public.geometry) WITH FUNCTION public.st_geometry(public.box3d) AS IMPLICIT; -DROP CAST (public.box3d AS public.geometry);  pg_catalogfalse37310173731014 260516848*CAST (public.box3d_extent AS public.box2d)CASTrCREATE CAST (public.box3d_extent AS public.box2d) WITH FUNCTION public.st_box2d(public.box3d_extent) AS IMPLICIT; 1DROP CAST (public.box3d_extent AS public.box2d);  pg_catalogfalse651026102065 260516847*CAST (public.box3d_extent AS public.box3d)CASTyCREATE CAST (public.box3d_extent AS public.box3d) WITH FUNCTION public.st_box3d_extent(public.box3d_extent) AS IMPLICIT; 1DROP CAST (public.box3d_extent AS public.box3d);  pg_catalogfalse646410201017 260516849-CAST (public.box3d_extent AS public.geometry)CASTxCREATE CAST (public.box3d_extent AS public.geometry) WITH FUNCTION public.st_geometry(public.box3d_extent) AS IMPLICIT; 4DROP CAST (public.box3d_extent AS public.geometry);  pg_catalogfalse666610141020# 260516845CAST (bytea AS public.geometry)CAST\CREATE CAST (bytea AS public.geometry) WITH FUNCTION public.st_geometry(bytea) AS IMPLICIT; &DROP CAST (bytea AS public.geometry);  pg_catalogfalse3791014379 260516844%CAST (public.chip AS public.geometry)CASThCREATE CAST (public.chip AS public.geometry) WITH FUNCTION public.st_geometry(public.chip) AS IMPLICIT; ,DROP CAST (public.chip AS public.geometry);  pg_catalogfalse37710233771014 260516836CAST (public.geometry AS box)CAST_CREATE CAST (public.geometry AS box) WITH FUNCTION public.st_box(public.geometry) AS IMPLICIT; $DROP CAST (public.geometry AS box);  pg_catalogfalse3603601014 260516834&CAST (public.geometry AS public.box2d)CASTjCREATE CAST (public.geometry AS public.box2d) WITH FUNCTION public.st_box2d(public.geometry) AS IMPLICIT; -DROP CAST (public.geometry AS public.box2d);  pg_catalogfalse35635610261014 260516835&CAST (public.geometry AS public.box3d)CASTjCREATE CAST (public.geometry AS public.box3d) WITH FUNCTION public.st_box3d(public.geometry) AS IMPLICIT; -DROP CAST (public.geometry AS public.box3d);  pg_catalogfalse35810173581014 260516846CAST (public.geometry AS bytea)CASTcCREATE CAST (public.geometry AS bytea) WITH FUNCTION public.st_bytea(public.geometry) AS IMPLICIT; &DROP CAST (public.geometry AS bytea);  pg_catalogfalse3813811014 260516843CAST (public.geometry AS text)CASTaCREATE CAST (public.geometry AS text) WITH FUNCTION public.st_text(public.geometry) AS IMPLICIT; %DROP CAST (public.geometry AS text);  pg_catalogfalse3683681014e 260516842CAST (text AS public.geometry)CASTZCREATE CAST (text AS public.geometry) WITH FUNCTION public.st_geometry(text) AS IMPLICIT; %DROP CAST (text AS public.geometry);  pg_catalogfalse3753751014| 125916766geometry_columnsTABLE^CREATE TABLE geometry_columns ( f_table_catalog character varying(256) NOT NULL, f_table_schema character varying(256) NOT NULL, f_table_name character varying(256) NOT NULL, f_geometry_column character varying(256) NOT NULL, coord_dimension integer NOT NULL, srid integer NOT NULL, type character varying(30) NOT NULL ); $DROP TABLE public.geometry_columns; publicpostgrestrue6} 1259426320lut_boundary_typeTABLE~CREATE TABLE lut_boundary_type ( buondary_type character varying(2) NOT NULL, boundary_type_desc character varying ); %DROP TABLE public.lut_boundary_type; publicpostgresfalse6~ 1259426326 lut_gruppiTABLEcCREATE TABLE lut_gruppi ( id_gruppo integer NOT NULL, gruppo character varying NOT NULL ); DROP TABLE public.lut_gruppi; publicpostgresfalse6 1259426332 lut_prioritaTABLEiCREATE TABLE lut_priorita ( id_priorita integer NOT NULL, priorita character varying NOT NULL ); DROP TABLE public.lut_priorita; publicpostgresfalse6 1259426338lut_sediTABLETCREATE TABLE lut_sedi ( id_sede integer NOT NULL, sede character varying ); DROP TABLE public.lut_sedi; publicpostgresfalse6 1259426344lut_stato_eventiTABLElCREATE TABLE lut_stato_eventi ( id_stato_evento integer NOT NULL, stato_evento character varying ); $DROP TABLE public.lut_stato_eventi; publicpostgresfalse6 1259426350 lut_statusTABLEcCREATE TABLE lut_status ( id_status integer NOT NULL, status character varying NOT NULL ); DROP TABLE public.lut_status; publicpostgresfalse6 1259426356lut_tipo_aeroportiTABLErCREATE TABLE lut_tipo_aeroporti ( id_tipo_aeroporto integer NOT NULL, tipo_aeroporto character varying ); &DROP TABLE public.lut_tipo_aeroporti; publicpostgresfalse6 1259426362lut_tipo_comunicazioniTABLE~CREATE TABLE lut_tipo_comunicazioni ( id_tipo_comunicazione integer NOT NULL, tipo_comunicazione character varying ); *DROP TABLE public.lut_tipo_comunicazioni; publicpostgresfalse6 1259426368 lut_tipo_entiTABLElCREATE TABLE lut_tipo_enti ( id_tipo_ente integer NOT NULL, tipo_ente character varying NOT NULL ); !DROP TABLE public.lut_tipo_enti; publicpostgresfalse6 1259426374lut_tipo_eventiTABLECREATE TABLE lut_tipo_eventi ( id_tipo_evento integer NOT NULL, tipo_evento character varying, id_priorita integer, id_flusso integer ); #DROP TABLE public.lut_tipo_eventi; publicpostgresfalse6 1259426380 lut_titoliTABLEZCREATE TABLE lut_titoli ( id_titolo integer NOT NULL, titolo character varying ); DROP TABLE public.lut_titoli; publicpostgresfalse6{ 125916758spatial_ref_sysTABLECREATE TABLE spatial_ref_sys ( srid integer NOT NULL, auth_name character varying(256), auth_srid integer, srtext character varying(2048), proj4text character varying(2048) ); #DROP TABLE public.spatial_ref_sys; publicpostgresfalse6 1259426386 usc_azioniTABLECREATE TABLE usc_azioni ( id_azione integer NOT NULL, id_evento integer, id_ente_mittente integer, azione_descrizione text, azione character varying, azione_data timestamp with time zone, id_tipo_comunicazione_ricevuta integer, destinatario character varying, id_tipo_comunicazione_inviata integer, id_tipo_evento_attuale integer, annullato boolean, id_utente integer, modifica timestamp with time zone ); DROP TABLE public.usc_azioni; publicpostgresfalse6 1259426392usc_azioni_id_azione_seqSEQUENCEzCREATE SEQUENCE usc_azioni_id_azione_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; /DROP SEQUENCE public.usc_azioni_id_azione_seq; publicpostgresfalse62440 00usc_azioni_id_azione_seqSEQUENCE OWNED BYGALTER SEQUENCE usc_azioni_id_azione_seq OWNED BY usc_azioni.id_azione; publicpostgresfalse2441 00usc_azioni_id_azione_seq SEQUENCE SET@SELECT pg_catalog.setval('usc_azioni_id_azione_seq', 1, false); publicpostgresfalse2441 1259448614usc_contatti_id_vcard_seqSEQUENCE}CREATE SEQUENCE usc_contatti_id_vcard_seq START WITH 243 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; 0DROP SEQUENCE public.usc_contatti_id_vcard_seq; publicpostgresfalse6 00usc_contatti_id_vcard_seq SEQUENCE SETCSELECT pg_catalog.setval('usc_contatti_id_vcard_seq', 243, false); publicpostgresfalse2500 1259426394 usc_contattiTABLE CREATE TABLE usc_contatti ( id_vcard integer DEFAULT nextval('usc_contatti_id_vcard_seq'::regclass) NOT NULL, titolo character varying(255), nome character varying(255), secondonome character varying(255), cognome character varying(255), societa character varying(255), reparto character varying(255), posizione character varying(255), viauff character varying(255), viauff2 character varying(255), cittauff character varying(255), provinciauff character varying(255), capuff character varying(255), paeseuff character varying(255), faxuff character varying(255), ufficio character varying(255), ufficio2 character varying(255), cellulare character varying(255), notes text, paginaweb character varying(255), indirizzopostaelettronica character varying(255), pec character varying, flagtelefoniriservati boolean, id_sede integer, id_utente integer, modifica timestamp with time zone, id_ente integer, id_tipo_ente integer ); DROP TABLE public.usc_contatti; publicpostgresfalse27996 1259426402usc_destinatariTABLECREATE TABLE usc_destinatari ( id_destinatario integer NOT NULL, destinatario character varying, ref_destinatario integer ); #DROP TABLE public.usc_destinatari; publicpostgresfalse6 1259426408usc_doc_eventiTABLECREATE TABLE usc_doc_eventi ( id_doc_evento integer NOT NULL, id_evento integer, id_documento integer, id_utente integer, modifica timestamp with time zone ); "DROP TABLE public.usc_doc_eventi; publicpostgresfalse6 1259426411 usc_documentiTABLECREATE TABLE usc_documenti ( id_documento integer NOT NULL, documento character varying, documento_descrizione text, doc_percorso character varying, id_utente integer, modifica timestamp with time zone ); !DROP TABLE public.usc_documenti; publicpostgresfalse6 1259426417usc_enav_ad2_ad3TABLELCREATE TABLE usc_enav_ad2_ad3 ( id_enav_ad2_ad3 integer NOT NULL, cod_localita character varying, t1_1 character varying, c2_1 character varying, c3_1 character varying, c4_1 character varying, c5_1 character varying, c6_1 character varying, c7_1 character varying, c8_1 character varying ); $DROP TABLE public.usc_enav_ad2_ad3; publicpostgresfalse6 1259426423$usc_enav_ad2_ad3_id_enav_ad2_ad3_seqSEQUENCECREATE SEQUENCE usc_enav_ad2_ad3_id_enav_ad2_ad3_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ;DROP SEQUENCE public.usc_enav_ad2_ad3_id_enav_ad2_ad3_seq; publicpostgresfalse62446 00$usc_enav_ad2_ad3_id_enav_ad2_ad3_seqSEQUENCE OWNED BY_ALTER SEQUENCE usc_enav_ad2_ad3_id_enav_ad2_ad3_seq OWNED BY usc_enav_ad2_ad3.id_enav_ad2_ad3; publicpostgresfalse2447 00$usc_enav_ad2_ad3_id_enav_ad2_ad3_seq SEQUENCE SETMSELECT pg_catalog.setval('usc_enav_ad2_ad3_id_enav_ad2_ad3_seq', 251, true); publicpostgresfalse2447 1259426425usc_enti_id_ente_seq1SEQUENCExCREATE SEQUENCE usc_enti_id_ente_seq1 START WITH 11 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ,DROP SEQUENCE public.usc_enti_id_ente_seq1; publicpostgresfalse6 00usc_enti_id_ente_seq1 SEQUENCE SET=SELECT pg_catalog.setval('usc_enti_id_ente_seq1', 36, true); publicpostgresfalse2448 1259426427usc_entiTABLEaCREATE TABLE usc_enti ( id_ente integer DEFAULT nextval('usc_enti_id_ente_seq1'::regclass) NOT NULL, cod_ente character varying, ente character varying, ente_descrizione text, id_utente integer, modifica timestamp with time zone, istat_reg integer, id_vcard_ente integer, vigente boolean, id_tipo_ente integer ); DROP TABLE public.usc_enti; publicpostgresfalse28016 1259426434usc_enti_eventiTABLECREATE TABLE usc_enti_eventi ( id_ente_evento integer NOT NULL, id_evento integer, id_ente integer, id_utente integer, modifica timestamp with time zone ); #DROP TABLE public.usc_enti_eventi; publicpostgresfalse6 1259426437"usc_enti_eventi_id_ente_evento_seqSEQUENCECREATE SEQUENCE usc_enti_eventi_id_ente_evento_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; 9DROP SEQUENCE public.usc_enti_eventi_id_ente_evento_seq; publicpostgresfalse62450! 00"usc_enti_eventi_id_ente_evento_seqSEQUENCE OWNED BY[ALTER SEQUENCE usc_enti_eventi_id_ente_evento_seq OWNED BY usc_enti_eventi.id_ente_evento; publicpostgresfalse2451" 00"usc_enti_eventi_id_ente_evento_seq SEQUENCE SETISELECT pg_catalog.setval('usc_enti_eventi_id_ente_evento_seq', 1, true); publicpostgresfalse2451 1259426439 usc_eventiTABLEWCREATE TABLE usc_eventi ( id_evento integer NOT NULL, id_tipo_evento integer, altro_tipo character varying, id_stato_evento integer, programmato boolean, programmato_inizio timestamp with time zone, programmato_fine timestamp with time zone, evento_inizio timestamp with time zone, evento_fine timestamp with time zone, evento character varying, descrizione text, id_vettore integer, numero_volo character varying, id_utente integer, modifica timestamp with time zone, marca character varying, tipo_aeromobile character varying ); DROP TABLE public.usc_eventi; publicpostgresfalse6 1259426445 usc_flussiTABLECREATE TABLE usc_flussi ( id_flusso integer NOT NULL, cod_flusso character varying, flusso character varying, flusso_descrizione text, tempo_attivazione interval, pdf_percorso text, id_utente integer, modifica timestamp with time zone ); DROP TABLE public.usc_flussi; publicpostgresfalse6 1259426451usc_icao_vettoriTABLECREATE TABLE usc_icao_vettori ( id_icao_vettore integer NOT NULL, id_vettore integer, cod_localita character varying, id_utente integer, modifica timestamp with time zone, tratta character varying ); $DROP TABLE public.usc_icao_vettori; publicpostgresfalse6 1259426457$usc_icao_vettori_id_icao_vettore_seqSEQUENCECREATE SEQUENCE usc_icao_vettori_id_icao_vettore_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ;DROP SEQUENCE public.usc_icao_vettori_id_icao_vettore_seq; publicpostgresfalse62454# 00$usc_icao_vettori_id_icao_vettore_seqSEQUENCE OWNED BY_ALTER SEQUENCE usc_icao_vettori_id_icao_vettore_seq OWNED BY usc_icao_vettori.id_icao_vettore; publicpostgresfalse2455$ 00$usc_icao_vettori_id_icao_vettore_seq SEQUENCE SETKSELECT pg_catalog.setval('usc_icao_vettori_id_icao_vettore_seq', 1, true); publicpostgresfalse2455 1259426459usc_localizzazioniTABLECREATE TABLE usc_localizzazioni ( id_localizzazione integer NOT NULL, id_evento integer, lon double precision, lat double precision, pro_com integer, cod_pro integer, cod_reg integer, cod_localita character varying, ats_key character varying(11), bdry_ident character varying(7), suas_par_key character varying(14), annullato boolean, id_utente integer, modifica timestamp with time zone, data_localizzazione timestamp with time zone ); &DROP TABLE public.usc_localizzazioni; publicpostgresfalse6 1259426465(usc_localizzazioni_id_localizzazione_seqSEQUENCECREATE SEQUENCE usc_localizzazioni_id_localizzazione_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ?DROP SEQUENCE public.usc_localizzazioni_id_localizzazione_seq; publicpostgresfalse6% 00(usc_localizzazioni_id_localizzazione_seq SEQUENCE SETPSELECT pg_catalog.setval('usc_localizzazioni_id_localizzazione_seq', 1, false); publicpostgresfalse2457 1259426467)usc_localizzazioni_id_localizzazione_seq1SEQUENCECREATE SEQUENCE usc_localizzazioni_id_localizzazione_seq1 START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; @DROP SEQUENCE public.usc_localizzazioni_id_localizzazione_seq1; publicpostgresfalse62456& 00)usc_localizzazioni_id_localizzazione_seq1SEQUENCE OWNED BYhALTER SEQUENCE usc_localizzazioni_id_localizzazione_seq1 OWNED BY usc_localizzazioni.id_localizzazione; publicpostgresfalse2458' 00)usc_localizzazioni_id_localizzazione_seq1 SEQUENCE SETPSELECT pg_catalog.setval('usc_localizzazioni_id_localizzazione_seq1', 1, true); publicpostgresfalse2458 1259426469 usc_vettoriTABLECREATE TABLE usc_vettori ( id_vettore integer NOT NULL, cod_vettore character varying, vettore character varying, vettore_descrizione text, id_utente integer, modifica timestamp with time zone ); DROP TABLE public.usc_vettori; publicpostgresfalse6 1259426475usc_vettori_id_vettore_seqSEQUENCE|CREATE SEQUENCE usc_vettori_id_vettore_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; 1DROP SEQUENCE public.usc_vettori_id_vettore_seq; publicpostgresfalse24596( 00usc_vettori_id_vettore_seqSEQUENCE OWNED BYKALTER SEQUENCE usc_vettori_id_vettore_seq OWNED BY usc_vettori.id_vettore; publicpostgresfalse2460) 00usc_vettori_id_vettore_seq SEQUENCE SETASELECT pg_catalog.setval('usc_vettori_id_vettore_seq', 3, true); publicpostgresfalse2460 1259426477utentiTABLECREATE TABLE utenti ( id_utente integer NOT NULL, id_gruppo integer, username character varying(20) NOT NULL, nome character varying(50) NOT NULL, passwd character varying(50) NOT NULL, email character varying(255) ); DROP TABLE public.utenti; publicpostgresfalse6* 00utentiACLyREVOKE ALL ON TABLE utenti FROM PUBLIC; REVOKE ALL ON TABLE utenti FROM postgres; GRANT ALL ON TABLE utenti TO postgres; publicpostgresfalse2461 1259426480utenti_id_utente_seqSEQUENCEvCREATE SEQUENCE utenti_id_utente_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; +DROP SEQUENCE public.utenti_id_utente_seq; publicpostgresfalse62461+ 00utenti_id_utente_seqSEQUENCE OWNED BY?ALTER SEQUENCE utenti_id_utente_seq OWNED BY utenti.id_utente; publicpostgresfalse2462, 00utenti_id_utente_seq SEQUENCE SET<SELECT pg_catalog.setval('utenti_id_utente_seq', 20, true); publicpostgresfalse2462 1259426482 wgs_aeroportiTABLECREATE TABLE wgs_aeroporti ( gid integer NOT NULL, cod_localita character varying(255), cod_iata character varying(255), nome character varying(255), referente_vcard integer, id_status integer, sito_web character varying(255), enac_direzione_aerop_vcard integer, enav_dirigente_caav_vcard integer, enav_resp_torre_controllo_vcard integer, societa_gestione_vcard integer, sg_capitale_soc double precision, sg_amministratore_unico_vcard integer, sg_dir_generale_vcard integer, resp_sala_crisi_vcard integer, pronto_soccorso_vcard integer, polizia_municipale_vcard integer, vvff_vcard integer, carabinieri_vcard integer, ospedale_vcard integer, lat_grad integer, lat_min integer, lat_sec integer, lon_grad integer, lon_min integer, lon_sec integer, lat double precision, lon double precision, id_tipo_aeroporto integer, altezza_slm_ft double precision, the_geom geometry, id_utente integer, modifica timestamp with time zone, enav_vcard integer, enav_aro_vcard integer, am_vcard integer, am_torre_controllo_vcard integer, am_aro_vcard integer, afis_vcard integer, polizia_vcard integer, dogana_vcard integer, sg_lost_found_vcard integer, sg_servizio_informazioni_vcard integer, sg_biglietteria_vcard integer, sg_capo_scalo_post_holder_vcard integer, corpo_forestale_vcard integer, sanita_vcard integer, guardia_finanza_vcard integer, polizia_frontiera_vcard integer, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'POINT'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((srid(the_geom) = 4326)) ); !DROP TABLE public.wgs_aeroporti; publicpostgresfalse28072808280910146 1259426576v_wgs_aeroportiVIEWuCREATE VIEW v_wgs_aeroporti AS SELECT wgs_aeroporti.gid, wgs_aeroporti.cod_localita, wgs_aeroporti.nome, wgs_aeroporti.lat, wgs_aeroporti.lon, lut_tipo_aeroporti.tipo_aeroporto, usc_enav_ad2_ad3.t1_1, usc_enav_ad2_ad3.c2_1, usc_enav_ad2_ad3.c3_1, usc_enav_ad2_ad3.c4_1, usc_enav_ad2_ad3.c5_1, usc_enav_ad2_ad3.c6_1, usc_enav_ad2_ad3.c7_1, usc_enav_ad2_ad3.c8_1, wgs_aeroporti.the_geom FROM ((wgs_aeroporti LEFT JOIN lut_tipo_aeroporti ON ((wgs_aeroporti.id_tipo_aeroporto = lut_tipo_aeroporti.id_tipo_aeroporto))) LEFT JOIN usc_enav_ad2_ad3 ON (((wgs_aeroporti.cod_localita)::text = (usc_enav_ad2_ad3.cod_localita)::text))); "DROP VIEW public.v_wgs_aeroporti; publicpostgresfalse258710146 1259426581wgs_atsTABLECREATE TABLE wgs_ats ( gid integer NOT NULL, ats_ident character varying(6), type character varying(1), icao character varying(4), direction character varying(1), seq_nbr character varying(4), bidirect character varying(1), freq_class character varying(1), level character varying(1), status character varying(1), wpt1_icao character varying(4), w1_nav_ty character varying(4), wpt1_ident character varying(5), wpt1_ctry character varying(2), w1_desc_1 character varying(1), w1_desc_2 character varying(1), w1_desc_3 character varying(1), w1_desc_4 character varying(1), w1_wgslat character varying(9), w1_wgsdlat character varying(10), w1_wgslon character varying(10), w1_wgsdlon character varying(11), wpt2_icao character varying(4), w2_navtype character varying(4), wpt2_ident character varying(5), wpt2_ctry character varying(2), w2_desc_1 character varying(1), w2_desc_2 character varying(1), w2_desc_3 character varying(1), w2_desc_4 character varying(1), w2_wgslat character varying(9), w2_wgsdlat character varying(10), w2_wgslon character varying(10), w2_wgsdlon character varying(11), outbd_crs character varying(5), distance character varying(5), inbd_crs character varying(5), min_alt character varying(5), up_limit character varying(5), lo_limit character varying(5), maa character varying(5), cruise_lv character varying(1), rnp character varying(3), cycle_date character varying(6), rvsm character varying(1), fix_turn character varying(4), fix_turn0 character varying(4), atsd character varying(1), id1 numeric(10,0), the_geom geometry, ats_key character varying, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTILINESTRING'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); DROP TABLE public.wgs_ats; publicpostgresfalse28232824282561014 1259426590 v_wgs_atsVIEWvCREATE VIEW v_wgs_ats AS SELECT CASE WHEN (((wgs_ats.type)::text ~~ 'W'::text) AND ((wgs_ats.level)::text ~~ 'L'::text)) THEN 'wgs_atsl_li_w'::text WHEN (((wgs_ats.type)::text ~~ 'W'::text) AND ((wgs_ats.level)::text ~~ 'H'::text)) THEN 'wgs_atsh_li_w'::text WHEN (((wgs_ats.type)::text ~~ 'R'::text) AND ((wgs_ats.level)::text ~~ 'L'::text)) THEN 'wgs_atsl_li_r'::text WHEN (((wgs_ats.type)::text ~~ 'R'::text) AND ((wgs_ats.level)::text ~~ 'H'::text)) THEN 'wgs_atsh_li_r'::text WHEN (((wgs_ats.type)::text ~~ 'C'::text) AND ((wgs_ats.level)::text ~~ 'L'::text)) THEN 'wgs_atsl_li_c'::text WHEN (((wgs_ats.type)::text ~~ 'C'::text) AND ((wgs_ats.level)::text ~~ 'H'::text)) THEN 'wgs_atsh_li_c'::text ELSE 'altro'::text END AS map_layer, wgs_ats.gid, wgs_ats.ats_ident, wgs_ats.type, wgs_ats.icao, wgs_ats.direction, wgs_ats.seq_nbr, wgs_ats.bidirect, wgs_ats.freq_class, wgs_ats.level, wgs_ats.status, wgs_ats.wpt1_icao, wgs_ats.w1_nav_ty, wgs_ats.wpt1_ident, wgs_ats.wpt1_ctry, wgs_ats.w1_desc_1, wgs_ats.w1_desc_2, wgs_ats.w1_desc_3, wgs_ats.w1_desc_4, wgs_ats.w1_wgslat, wgs_ats.w1_wgsdlat, wgs_ats.w1_wgslon, wgs_ats.w1_wgsdlon, wgs_ats.wpt2_icao, wgs_ats.w2_navtype, wgs_ats.wpt2_ident, wgs_ats.wpt2_ctry, wgs_ats.w2_desc_1, wgs_ats.w2_desc_2, wgs_ats.w2_desc_3, wgs_ats.w2_desc_4, wgs_ats.w2_wgslat, wgs_ats.w2_wgsdlat, wgs_ats.w2_wgslon, wgs_ats.w2_wgsdlon, wgs_ats.outbd_crs, wgs_ats.distance, wgs_ats.inbd_crs, wgs_ats.min_alt, wgs_ats.up_limit, wgs_ats.lo_limit, wgs_ats.maa, wgs_ats.cruise_lv, wgs_ats.rnp, wgs_ats.cycle_date, wgs_ats.rvsm, wgs_ats.fix_turn, wgs_ats.fix_turn0, wgs_ats.atsd, wgs_ats.id1, wgs_ats.the_geom FROM wgs_ats; DROP VIEW public.v_wgs_ats; publicpostgresfalse258810146 1259426595 wgs_bdry_parTABLE(CREATE TABLE wgs_bdry_par ( gid integer NOT NULL, bdry_ident character varying(7), type character varying(2), name character varying(38), icao character varying(4), con_auth character varying(38), loc_hdatum character varying(3), wgs_datum character varying(3), comm_name character varying(20), comm_freq1 character varying(9), comm_freq2 character varying(9), class character varying(1), class_exc character varying(1), cl_ex_rmk character varying(80), level character varying(1), upper_alt character varying(10), lower_alt character varying(9), rnp character varying(3), cycle_date character varying(6), up_rvsm character varying(10), lo_rvsm character varying(9), id1 numeric(10,0), the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTIPOLYGON'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); DROP TABLE public.wgs_bdry_par; publicpostgresfalse28272828282910146 1259426604v_wgs_bdry_parVIEWCREATE VIEW v_wgs_bdry_par AS SELECT CASE WHEN ((wgs_bdry_par.type)::text ~~ '08'::text) THEN 'wgs_bdrylp_li_fir'::text WHEN ((wgs_bdry_par.type)::text ~~ '11'::text) THEN 'wgs_bdrylp_li_tma'::text WHEN (((wgs_bdry_par.type)::text ~~ '07'::text) AND (((wgs_bdry_par.lower_alt)::text ~~ 'GND'::text) OR ((wgs_bdry_par.lower_alt)::text ~~ 'SURFACE'::text))) THEN 'wgs_bdrylp_li_ctr_fm_gnd'::text WHEN (((wgs_bdry_par.type)::text ~~ '07'::text) AND (((wgs_bdry_par.lower_alt)::text !~~ 'GND'::text) AND ((wgs_bdry_par.lower_alt)::text !~~ 'SURFACE'::text))) THEN 'wgs_bdrylp_li_ctr_no_gnd'::text ELSE 'altro'::text END AS map_layer, wgs_bdry_par.gid, wgs_bdry_par.bdry_ident, wgs_bdry_par.type, wgs_bdry_par.name, wgs_bdry_par.icao, wgs_bdry_par.con_auth, wgs_bdry_par.loc_hdatum, wgs_bdry_par.wgs_datum, wgs_bdry_par.comm_name, wgs_bdry_par.comm_freq1, wgs_bdry_par.comm_freq2, wgs_bdry_par.class, wgs_bdry_par.class_exc, wgs_bdry_par.cl_ex_rmk, wgs_bdry_par.level, wgs_bdry_par.upper_alt, wgs_bdry_par.lower_alt, wgs_bdry_par.rnp, wgs_bdry_par.cycle_date, wgs_bdry_par.up_rvsm, wgs_bdry_par.lo_rvsm, wgs_bdry_par.id1, wgs_bdry_par.the_geom FROM wgs_bdry_par; !DROP VIEW public.v_wgs_bdry_par; publicpostgresfalse258961014 1259426609 wgs_suas_parTABLECREATE TABLE wgs_suas_par ( gid integer NOT NULL, suas_ident character varying(12), sector character varying(2), type character varying(1), name character varying(38), icao character varying(4), con_agcy character varying(38), loc_hdatum character varying(3), wgs_datum character varying(3), comm_name character varying(20), freq1 character varying(9), freq2 character varying(9), level character varying(1), upper_alt character varying(10), lower_alt character varying(9), eff_times character varying(38), wx character varying(8), cycle_date character varying(6), eff_date character varying(9), id1 numeric(10,0), the_geom geometry, suas_par_key character varying, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTIPOLYGON'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); DROP TABLE public.wgs_suas_par; publicpostgresfalse28312832283310146 1259426618v_wgs_suas_parVIEW4CREATE VIEW v_wgs_suas_par AS SELECT CASE WHEN (((wgs_suas_par.type)::text ~~ 'R'::text) AND (((wgs_suas_par.level)::text ~~ 'L'::text) OR ((wgs_suas_par.level)::text ~~ 'B'::text))) THEN 'wgs_suaslp_li_r'::text WHEN (((wgs_suas_par.type)::text ~~ 'R'::text) AND ((wgs_suas_par.level)::text ~~ 'H'::text)) THEN 'wgs_suashp_li_r'::text WHEN (((wgs_suas_par.type)::text ~~ 'P'::text) AND ((wgs_suas_par.level)::text ~~ 'L'::text)) THEN 'wgs_suaslp_li_p'::text WHEN (((wgs_suas_par.type)::text ~~ 'P'::text) AND (((wgs_suas_par.level)::text ~~ 'H'::text) OR ((wgs_suas_par.level)::text ~~ 'B'::text))) THEN 'wgs_suashp_li_p'::text WHEN ((wgs_suas_par.type)::text ~~ 'M'::text) THEN 'wgs_suaslp_li_m_at'::text WHEN (((wgs_suas_par.type)::text ~~ 'D'::text) AND (((wgs_suas_par.level)::text ~~ 'L'::text) OR ((wgs_suas_par.level)::text ~~ 'B'::text))) THEN 'wgs_suaslp_li_d'::text WHEN (((wgs_suas_par.type)::text ~~ 'D'::text) AND ((wgs_suas_par.level)::text ~~ 'H'::text)) THEN 'wgs_suashp_li_d'::text WHEN ((wgs_suas_par.type)::text ~~ 'T'::text) THEN 'wgs_suashp_li_t'::text ELSE 'altro'::text END AS map_layer, wgs_suas_par.gid, wgs_suas_par.suas_ident, wgs_suas_par.sector, wgs_suas_par.type, wgs_suas_par.name, wgs_suas_par.icao, wgs_suas_par.con_agcy, wgs_suas_par.loc_hdatum, wgs_suas_par.wgs_datum, wgs_suas_par.comm_name, wgs_suas_par.freq1, wgs_suas_par.freq2, wgs_suas_par.level, wgs_suas_par.upper_alt, wgs_suas_par.lower_alt, wgs_suas_par.eff_times, wgs_suas_par.wx, wgs_suas_par.cycle_date, wgs_suas_par.eff_date, wgs_suas_par.id1, wgs_suas_par.the_geom FROM wgs_suas_par; !DROP VIEW public.v_wgs_suas_par; publicpostgresfalse259010146 1259426625wgs_ats_gid_seqSEQUENCEqCREATE SEQUENCE wgs_ats_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; &DROP SEQUENCE public.wgs_ats_gid_seq; publicpostgresfalse62468- 00wgs_ats_gid_seqSEQUENCE OWNED BY5ALTER SEQUENCE wgs_ats_gid_seq OWNED BY wgs_ats.gid; publicpostgresfalse2474. 00wgs_ats_gid_seq SEQUENCE SET9SELECT pg_catalog.setval('wgs_ats_gid_seq', 2495, true); publicpostgresfalse2474 1259426627wgs_bdry_par_gid_seqSEQUENCEvCREATE SEQUENCE wgs_bdry_par_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; +DROP SEQUENCE public.wgs_bdry_par_gid_seq; publicpostgresfalse24706/ 00wgs_bdry_par_gid_seqSEQUENCE OWNED BY?ALTER SEQUENCE wgs_bdry_par_gid_seq OWNED BY wgs_bdry_par.gid; publicpostgresfalse24750 00wgs_bdry_par_gid_seq SEQUENCE SET=SELECT pg_catalog.setval('wgs_bdry_par_gid_seq', 104, true); publicpostgresfalse2475 1259426629 wgs_buildingsTABLECREATE TABLE wgs_buildings ( gid integer NOT NULL, osm_id double precision, name character varying(48), type character varying(16), the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTIPOLYGON'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); !DROP TABLE public.wgs_buildings; publicpostgresfalse28352836283761014 1259426638wgs_buildings_gid_seqSEQUENCEwCREATE SEQUENCE wgs_buildings_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ,DROP SEQUENCE public.wgs_buildings_gid_seq; publicpostgresfalse247661 00wgs_buildings_gid_seqSEQUENCE OWNED BYAALTER SEQUENCE wgs_buildings_gid_seq OWNED BY wgs_buildings.gid; publicpostgresfalse24772 00wgs_buildings_gid_seq SEQUENCE SETASELECT pg_catalog.setval('wgs_buildings_gid_seq', 940872, true); publicpostgresfalse2477 1259426640 wgs_citiesTABLECREATE TABLE wgs_cities ( gid integer NOT NULL, geonameid integer, city_name character varying(200), asciiname character varying(200), iso2_code character varying(2), population integer, gtopo30 integer, the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'POINT'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); DROP TABLE public.wgs_cities; publicpostgresfalse28392840284110146 1259426649wgs_cities_gid_seqSEQUENCEtCREATE SEQUENCE wgs_cities_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; )DROP SEQUENCE public.wgs_cities_gid_seq; publicpostgresfalse624783 00wgs_cities_gid_seqSEQUENCE OWNED BY;ALTER SEQUENCE wgs_cities_gid_seq OWNED BY wgs_cities.gid; publicpostgresfalse24794 00wgs_cities_gid_seq SEQUENCE SET<SELECT pg_catalog.setval('wgs_cities_gid_seq', 8965, true); publicpostgresfalse2479 1259426500 wgs_com2010_sTABLE/CREATE TABLE wgs_com2010_s ( gid integer NOT NULL, objectid integer, cod_reg integer, cod_pro integer, cod_com integer, pro_com integer, nome_com character varying(254), nome_ita character varying(254), nome_ted character varying(254), the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTIPOLYGON'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((srid(the_geom) = 4326)) ); !DROP TABLE public.wgs_com2010_s; publicpostgresfalse28112812281361014 1259426651wgs_com2010_s_gid_seqSEQUENCEwCREATE SEQUENCE wgs_com2010_s_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ,DROP SEQUENCE public.wgs_com2010_s_gid_seq; publicpostgresfalse624645 00wgs_com2010_s_gid_seqSEQUENCE OWNED BYAALTER SEQUENCE wgs_com2010_s_gid_seq OWNED BY wgs_com2010_s.gid; publicpostgresfalse24806 00wgs_com2010_s_gid_seq SEQUENCE SET?SELECT pg_catalog.setval('wgs_com2010_s_gid_seq', 8094, true); publicpostgresfalse2480 1259426653 wgs_countriesTABLECREATE TABLE wgs_countries ( gid integer NOT NULL, isocode character varying(2), name_local character varying(53), name_en character varying(44), capital_en character varying(20), name_de character varying(46), capital_de character varying(26), name_it character varying(44), capital_it character varying(26), name_fr character varying(44), capital_fr character varying(26), name_br character varying(40), capital_br character varying(37), name_es character varying(45), capital_es character varying(30), population integer, area_km2 integer, iso_num smallint, the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTIPOLYGON'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); !DROP TABLE public.wgs_countries; publicpostgresfalse28432844284561014 1259426662wgs_countries_gid_seqSEQUENCEwCREATE SEQUENCE wgs_countries_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ,DROP SEQUENCE public.wgs_countries_gid_seq; publicpostgresfalse248167 00wgs_countries_gid_seqSEQUENCE OWNED BYAALTER SEQUENCE wgs_countries_gid_seq OWNED BY wgs_countries.gid; publicpostgresfalse24828 00wgs_countries_gid_seq SEQUENCE SET=SELECT pg_catalog.setval('wgs_countries_gid_seq', 54, true); publicpostgresfalse2482 1259426664 wgs_naturalTABLECREATE TABLE wgs_natural ( gid integer NOT NULL, osm_id double precision, name character varying(48), type character varying(16), the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTIPOLYGON'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); DROP TABLE public.wgs_natural; publicpostgresfalse28472848284910146 1259426673wgs_natural_gid_seqSEQUENCEuCREATE SEQUENCE wgs_natural_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; *DROP SEQUENCE public.wgs_natural_gid_seq; publicpostgresfalse248369 00wgs_natural_gid_seqSEQUENCE OWNED BY=ALTER SEQUENCE wgs_natural_gid_seq OWNED BY wgs_natural.gid; publicpostgresfalse2484: 00wgs_natural_gid_seq SEQUENCE SET>SELECT pg_catalog.setval('wgs_natural_gid_seq', 30399, true); publicpostgresfalse2484 1259426675 wgs_placesTABLECREATE TABLE wgs_places ( gid integer NOT NULL, osm_id double precision, name character varying(48), type character varying(16), population integer, the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'POINT'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); DROP TABLE public.wgs_places; publicpostgresfalse28512852285310146 1259426684wgs_places_gid_seqSEQUENCEtCREATE SEQUENCE wgs_places_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; )DROP SEQUENCE public.wgs_places_gid_seq; publicpostgresfalse24856; 00wgs_places_gid_seqSEQUENCE OWNED BY;ALTER SEQUENCE wgs_places_gid_seq OWNED BY wgs_places.gid; publicpostgresfalse2486< 00wgs_places_gid_seq SEQUENCE SET=SELECT pg_catalog.setval('wgs_places_gid_seq', 29312, true); publicpostgresfalse2486 1259426686 wgs_pointsTABLECREATE TABLE wgs_points ( gid integer NOT NULL, osm_id double precision, "timestamp" character varying(20), name character varying(48), type character varying(16), the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'POINT'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); DROP TABLE public.wgs_points; publicpostgresfalse28552856285710146 1259426695wgs_points_gid_seqSEQUENCEtCREATE SEQUENCE wgs_points_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; )DROP SEQUENCE public.wgs_points_gid_seq; publicpostgresfalse24876= 00wgs_points_gid_seqSEQUENCE OWNED BY;ALTER SEQUENCE wgs_points_gid_seq OWNED BY wgs_points.gid; publicpostgresfalse2488> 00wgs_points_gid_seq SEQUENCE SET>SELECT pg_catalog.setval('wgs_points_gid_seq', 131944, true); publicpostgresfalse2488 1259426530wgs_prov2010_sTABLECREATE TABLE wgs_prov2010_s ( gid integer NOT NULL, objectid integer, cod_pro integer, nome_pro character varying(50), sigla character varying(3), the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTIPOLYGON'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((srid(the_geom) = 4326)) ); "DROP TABLE public.wgs_prov2010_s; publicpostgresfalse28152816281761014 1259426697wgs_prov2010_s_gid_seqSEQUENCExCREATE SEQUENCE wgs_prov2010_s_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; -DROP SEQUENCE public.wgs_prov2010_s_gid_seq; publicpostgresfalse24656? 00wgs_prov2010_s_gid_seqSEQUENCE OWNED BYCALTER SEQUENCE wgs_prov2010_s_gid_seq OWNED BY wgs_prov2010_s.gid; publicpostgresfalse2489@ 00wgs_prov2010_s_gid_seq SEQUENCE SET?SELECT pg_catalog.setval('wgs_prov2010_s_gid_seq', 110, true); publicpostgresfalse2489 1259426710 wgs_railwaysTABLECREATE TABLE wgs_railways ( gid integer NOT NULL, osm_id double precision, name character varying(48), type character varying(16), the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTILINESTRING'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); DROP TABLE public.wgs_railways; publicpostgresfalse28592860286110146 1259426719wgs_railways_gid_seqSEQUENCEvCREATE SEQUENCE wgs_railways_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; +DROP SEQUENCE public.wgs_railways_gid_seq; publicpostgresfalse24906A 00wgs_railways_gid_seqSEQUENCE OWNED BY?ALTER SEQUENCE wgs_railways_gid_seq OWNED BY wgs_railways.gid; publicpostgresfalse2491B 00wgs_railways_gid_seq SEQUENCE SET?SELECT pg_catalog.setval('wgs_railways_gid_seq', 20374, true); publicpostgresfalse2491 1259426539 wgs_reg2010_sTABLECREATE TABLE wgs_reg2010_s ( gid integer NOT NULL, cod_reg integer, nome_reg character varying(50), the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTIPOLYGON'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((srid(the_geom) = 4326)) ); !DROP TABLE public.wgs_reg2010_s; publicpostgresfalse28192820282161014 1259426721wgs_reg2010_s_gid_seqSEQUENCEwCREATE SEQUENCE wgs_reg2010_s_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ,DROP SEQUENCE public.wgs_reg2010_s_gid_seq; publicpostgresfalse24666C 00wgs_reg2010_s_gid_seqSEQUENCE OWNED BYAALTER SEQUENCE wgs_reg2010_s_gid_seq OWNED BY wgs_reg2010_s.gid; publicpostgresfalse2492D 00wgs_reg2010_s_gid_seq SEQUENCE SET=SELECT pg_catalog.setval('wgs_reg2010_s_gid_seq', 20, true); publicpostgresfalse2492 1259426723 wgs_riversTABLEyCREATE TABLE wgs_rivers ( gid integer NOT NULL, name character varying(30), the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTILINESTRING'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); DROP TABLE public.wgs_rivers; publicpostgresfalse28632864286561014 1259426732wgs_rivers_gid_seqSEQUENCEtCREATE SEQUENCE wgs_rivers_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; )DROP SEQUENCE public.wgs_rivers_gid_seq; publicpostgresfalse24936E 00wgs_rivers_gid_seqSEQUENCE OWNED BY;ALTER SEQUENCE wgs_rivers_gid_seq OWNED BY wgs_rivers.gid; publicpostgresfalse2494F 00wgs_rivers_gid_seq SEQUENCE SET;SELECT pg_catalog.setval('wgs_rivers_gid_seq', 367, true); publicpostgresfalse2494 1259426734 wgs_roadsTABLE:CREATE TABLE wgs_roads ( gid integer NOT NULL, osm_id double precision, name character varying(48), ref character varying(16), type character varying(16), oneway smallint, bridge smallint, maxspeed smallint, the_geom geometry, type_new character varying(100), CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTILINESTRING'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); DROP TABLE public.wgs_roads; publicpostgresfalse28672868286910146 1259426743wgs_roads_gid_seqSEQUENCEsCREATE SEQUENCE wgs_roads_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; (DROP SEQUENCE public.wgs_roads_gid_seq; publicpostgresfalse24956G 00wgs_roads_gid_seqSEQUENCE OWNED BY9ALTER SEQUENCE wgs_roads_gid_seq OWNED BY wgs_roads.gid; publicpostgresfalse2496H 00wgs_roads_gid_seq SEQUENCE SET=SELECT pg_catalog.setval('wgs_roads_gid_seq', 856960, true); publicpostgresfalse2496 1259426745wgs_suas_par_gid_seqSEQUENCEvCREATE SEQUENCE wgs_suas_par_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; +DROP SEQUENCE public.wgs_suas_par_gid_seq; publicpostgresfalse62472I 00wgs_suas_par_gid_seqSEQUENCE OWNED BY?ALTER SEQUENCE wgs_suas_par_gid_seq OWNED BY wgs_suas_par.gid; publicpostgresfalse2497J 00wgs_suas_par_gid_seq SEQUENCE SET=SELECT pg_catalog.setval('wgs_suas_par_gid_seq', 368, true); publicpostgresfalse2497 1259426751 wgs_waterwaysTABLECREATE TABLE wgs_waterways ( gid integer NOT NULL, osm_id double precision, name character varying(48), type character varying(16), width smallint, the_geom geometry, CONSTRAINT enforce_dims_the_geom CHECK ((st_ndims(the_geom) = 2)), CONSTRAINT enforce_geotype_the_geom CHECK (((geometrytype(the_geom) = 'MULTILINESTRING'::text) OR (the_geom IS NULL))), CONSTRAINT enforce_srid_the_geom CHECK ((st_srid(the_geom) = 4326)) ); !DROP TABLE public.wgs_waterways; publicpostgresfalse28712872287310146 1259426760wgs_waterways_gid_seqSEQUENCEwCREATE SEQUENCE wgs_waterways_gid_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ,DROP SEQUENCE public.wgs_waterways_gid_seq; publicpostgresfalse24986K 00wgs_waterways_gid_seqSEQUENCE OWNED BYAALTER SEQUENCE wgs_waterways_gid_seq OWNED BY wgs_waterways.gid; publicpostgresfalse2499L 00wgs_waterways_gid_seq SEQUENCE SET@SELECT pg_catalog.setval('wgs_waterways_gid_seq', 71047, true); publicpostgresfalse2499 2604426762 id_azioneDEFAULTiALTER TABLE usc_azioni ALTER COLUMN id_azione SET DEFAULT nextval('usc_azioni_id_azione_seq'::regclass); CALTER TABLE public.usc_azioni ALTER COLUMN id_azione DROP DEFAULT; publicpostgresfalse24412440 2604426764id_enav_ad2_ad3DEFAULTALTER TABLE usc_enav_ad2_ad3 ALTER COLUMN id_enav_ad2_ad3 SET DEFAULT nextval('usc_enav_ad2_ad3_id_enav_ad2_ad3_seq'::regclass); OALTER TABLE public.usc_enav_ad2_ad3 ALTER COLUMN id_enav_ad2_ad3 DROP DEFAULT; publicpostgresfalse24472446 2604426765id_ente_eventoDEFAULT}ALTER TABLE usc_enti_eventi ALTER COLUMN id_ente_evento SET DEFAULT nextval('usc_enti_eventi_id_ente_evento_seq'::regclass); MALTER TABLE public.usc_enti_eventi ALTER COLUMN id_ente_evento DROP DEFAULT; publicpostgresfalse24512450 2604426766id_icao_vettoreDEFAULTALTER TABLE usc_icao_vettori ALTER COLUMN id_icao_vettore SET DEFAULT nextval('usc_icao_vettori_id_icao_vettore_seq'::regclass); OALTER TABLE public.usc_icao_vettori ALTER COLUMN id_icao_vettore DROP DEFAULT; publicpostgresfalse24552454 2604426767id_localizzazioneDEFAULTALTER TABLE usc_localizzazioni ALTER COLUMN id_localizzazione SET DEFAULT nextval('usc_localizzazioni_id_localizzazione_seq1'::regclass); SALTER TABLE public.usc_localizzazioni ALTER COLUMN id_localizzazione DROP DEFAULT; publicpostgresfalse24582456 2604426768 id_vettoreDEFAULTmALTER TABLE usc_vettori ALTER COLUMN id_vettore SET DEFAULT nextval('usc_vettori_id_vettore_seq'::regclass); EALTER TABLE public.usc_vettori ALTER COLUMN id_vettore DROP DEFAULT; publicpostgresfalse24602459 2604426769 id_utenteDEFAULTaALTER TABLE utenti ALTER COLUMN id_utente SET DEFAULT nextval('utenti_id_utente_seq'::regclass); ?ALTER TABLE public.utenti ALTER COLUMN id_utente DROP DEFAULT; publicpostgresfalse24622461 2604426771gidDEFAULTWALTER TABLE wgs_ats ALTER COLUMN gid SET DEFAULT nextval('wgs_ats_gid_seq'::regclass); :ALTER TABLE public.wgs_ats ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24742468 2604426772gidDEFAULTaALTER TABLE wgs_bdry_par ALTER COLUMN gid SET DEFAULT nextval('wgs_bdry_par_gid_seq'::regclass); ?ALTER TABLE public.wgs_bdry_par ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24752470 2604426773gidDEFAULTcALTER TABLE wgs_buildings ALTER COLUMN gid SET DEFAULT nextval('wgs_buildings_gid_seq'::regclass); @ALTER TABLE public.wgs_buildings ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24772476 2604426774gidDEFAULT]ALTER TABLE wgs_cities ALTER COLUMN gid SET DEFAULT nextval('wgs_cities_gid_seq'::regclass); =ALTER TABLE public.wgs_cities ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24792478 2604426775gidDEFAULTcALTER TABLE wgs_com2010_s ALTER COLUMN gid SET DEFAULT nextval('wgs_com2010_s_gid_seq'::regclass); @ALTER TABLE public.wgs_com2010_s ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24802464 2604426776gidDEFAULTcALTER TABLE wgs_countries ALTER COLUMN gid SET DEFAULT nextval('wgs_countries_gid_seq'::regclass); @ALTER TABLE public.wgs_countries ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24822481 2604426778gidDEFAULT_ALTER TABLE wgs_natural ALTER COLUMN gid SET DEFAULT nextval('wgs_natural_gid_seq'::regclass); >ALTER TABLE public.wgs_natural ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24842483" 2604426779gidDEFAULT]ALTER TABLE wgs_places ALTER COLUMN gid SET DEFAULT nextval('wgs_places_gid_seq'::regclass); =ALTER TABLE public.wgs_places ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24862485& 2604426780gidDEFAULT]ALTER TABLE wgs_points ALTER COLUMN gid SET DEFAULT nextval('wgs_points_gid_seq'::regclass); =ALTER TABLE public.wgs_points ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24882487 2604426781gidDEFAULTeALTER TABLE wgs_prov2010_s ALTER COLUMN gid SET DEFAULT nextval('wgs_prov2010_s_gid_seq'::regclass); AALTER TABLE public.wgs_prov2010_s ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24892465* 2604426783gidDEFAULTaALTER TABLE wgs_railways ALTER COLUMN gid SET DEFAULT nextval('wgs_railways_gid_seq'::regclass); ?ALTER TABLE public.wgs_railways ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24912490 2604426784gidDEFAULTcALTER TABLE wgs_reg2010_s ALTER COLUMN gid SET DEFAULT nextval('wgs_reg2010_s_gid_seq'::regclass); @ALTER TABLE public.wgs_reg2010_s ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24922466. 2604426785gidDEFAULT]ALTER TABLE wgs_rivers ALTER COLUMN gid SET DEFAULT nextval('wgs_rivers_gid_seq'::regclass); =ALTER TABLE public.wgs_rivers ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse249424932 2604426786gidDEFAULT[ALTER TABLE wgs_roads ALTER COLUMN gid SET DEFAULT nextval('wgs_roads_gid_seq'::regclass); <ALTER TABLE public.wgs_roads ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24962495 2604426787gidDEFAULTaALTER TABLE wgs_suas_par ALTER COLUMN gid SET DEFAULT nextval('wgs_suas_par_gid_seq'::regclass); ?ALTER TABLE public.wgs_suas_par ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse249724726 2604426790gidDEFAULTcALTER TABLE wgs_waterways ALTER COLUMN gid SET DEFAULT nextval('wgs_waterways_gid_seq'::regclass); @ALTER TABLE public.wgs_waterways ALTER COLUMN gid DROP DEFAULT; publicpostgresfalse24992498 016766geometry_columns TABLE DATACOPY geometry_columns (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type) FROM stdin; publicpostgresfalse2428. 0426320lut_boundary_type TABLE DATAGCOPY lut_boundary_type (buondary_type, boundary_type_desc) FROM stdin; publicpostgresfalse2429N/ 0426326 lut_gruppi TABLE DATA0COPY lut_gruppi (id_gruppo, gruppo) FROM stdin; publicpostgresfalse24300 0426332 lut_priorita TABLE DATA6COPY lut_priorita (id_priorita, priorita) FROM stdin; publicpostgresfalse24310 0426338lut_sedi TABLE DATA*COPY lut_sedi (id_sede, sede) FROM stdin; publicpostgresfalse24320 0426344lut_stato_eventi TABLE DATABCOPY lut_stato_eventi (id_stato_evento, stato_evento) FROM stdin; publicpostgresfalse24331 0426350 lut_status TABLE DATA0COPY lut_status (id_status, status) FROM stdin; publicpostgresfalse2434K1 0426356lut_tipo_aeroporti TABLE DATAHCOPY lut_tipo_aeroporti (id_tipo_aeroporto, tipo_aeroporto) FROM stdin; publicpostgresfalse24351 0426362lut_tipo_comunicazioni TABLE DATATCOPY lut_tipo_comunicazioni (id_tipo_comunicazione, tipo_comunicazione) FROM stdin; publicpostgresfalse24361 0426368 lut_tipo_enti TABLE DATA9COPY lut_tipo_enti (id_tipo_ente, tipo_ente) FROM stdin; publicpostgresfalse2437@2 0426374lut_tipo_eventi TABLE DATAWCOPY lut_tipo_eventi (id_tipo_evento, tipo_evento, id_priorita, id_flusso) FROM stdin; publicpostgresfalse24383 0426380 lut_titoli TABLE DATA0COPY lut_titoli (id_titolo, titolo) FROM stdin; publicpostgresfalse24393 016758spatial_ref_sys TABLE DATAQCOPY spatial_ref_sys (srid, auth_name, auth_srid, srtext, proj4text) FROM stdin; publicpostgresfalse2427#4 0426386 usc_azioni TABLE DATACOPY usc_azioni (id_azione, id_evento, id_ente_mittente, azione_descrizione, azione, azione_data, id_tipo_comunicazione_ricevuta, destinatario, id_tipo_comunicazione_inviata, id_tipo_evento_attuale, annullato, id_utente, modifica) FROM stdin; publicpostgresfalse24402 0426394 usc_contatti TABLE DATAICOPY usc_contatti (id_vcard, titolo, nome, secondonome, cognome, societa, reparto, posizione, viauff, viauff2, cittauff, provinciauff, capuff, paeseuff, faxuff, ufficio, ufficio2, cellulare, notes, paginaweb, indirizzopostaelettronica, pec, flagtelefoniriservati, id_sede, id_utente, modifica, id_ente, id_tipo_ente) FROM stdin; publicpostgresfalse2442 0426402usc_destinatari TABLE DATASCOPY usc_destinatari (id_destinatario, destinatario, ref_destinatario) FROM stdin; publicpostgresfalse2443: 0426408usc_doc_eventi TABLE DATA^COPY usc_doc_eventi (id_doc_evento, id_evento, id_documento, id_utente, modifica) FROM stdin; publicpostgresfalse2444A 0426411 usc_documenti TABLE DATAsCOPY usc_documenti (id_documento, documento, documento_descrizione, doc_percorso, id_utente, modifica) FROM stdin; publicpostgresfalse2445 0426417usc_enav_ad2_ad3 TABLE DATArCOPY usc_enav_ad2_ad3 (id_enav_ad2_ad3, cod_localita, t1_1, c2_1, c3_1, c4_1, c5_1, c6_1, c7_1, c8_1) FROM stdin; publicpostgresfalse2446e 0426427usc_enti TABLE DATACOPY usc_enti (id_ente, cod_ente, ente, ente_descrizione, id_utente, modifica, istat_reg, id_vcard_ente, vigente, id_tipo_ente) FROM stdin; publicpostgresfalse2449 0426434usc_enti_eventi TABLE DATA[COPY usc_enti_eventi (id_ente_evento, id_evento, id_ente, id_utente, modifica) FROM stdin; publicpostgresfalse2450F 0426439 usc_eventi TABLE DATACOPY usc_eventi (id_evento, id_tipo_evento, altro_tipo, id_stato_evento, programmato, programmato_inizio, programmato_fine, evento_inizio, evento_fine, evento, descrizione, id_vettore, numero_volo, id_utente, modifica, marca, tipo_aeromobile) FROM stdin; publicpostgresfalse2452l 0426445 usc_flussi TABLE DATACOPY usc_flussi (id_flusso, cod_flusso, flusso, flusso_descrizione, tempo_attivazione, pdf_percorso, id_utente, modifica) FROM stdin; publicpostgresfalse2453i 0426451usc_icao_vettori TABLE DATAkCOPY usc_icao_vettori (id_icao_vettore, id_vettore, cod_localita, id_utente, modifica, tratta) FROM stdin; publicpostgresfalse2454 0426459usc_localizzazioni TABLE DATACOPY usc_localizzazioni (id_localizzazione, id_evento, lon, lat, pro_com, cod_pro, cod_reg, cod_localita, ats_key, bdry_ident, suas_par_key, annullato, id_utente, modifica, data_localizzazione) FROM stdin; publicpostgresfalse2456 0426469 usc_vettori TABLE DATAjCOPY usc_vettori (id_vettore, cod_vettore, vettore, vettore_descrizione, id_utente, modifica) FROM stdin; publicpostgresfalse2459 0426477utenti TABLE DATANCOPY utenti (id_utente, id_gruppo, username, nome, passwd, email) FROM stdin; publicpostgresfalse2461. 0426482 wgs_aeroporti TABLE DATATCOPY wgs_aeroporti (gid, cod_localita, cod_iata, nome, referente_vcard, id_status, sito_web, enac_direzione_aerop_vcard, enav_dirigente_caav_vcard, enav_resp_torre_controllo_vcard, societa_gestione_vcard, sg_capitale_soc, sg_amministratore_unico_vcard, sg_dir_generale_vcard, resp_sala_crisi_vcard, pronto_soccorso_vcard, polizia_municipale_vcard, vvff_vcard, carabinieri_vcard, ospedale_vcard, lat_grad, lat_min, lat_sec, lon_grad, lon_min, lon_sec, lat, lon, id_tipo_aeroporto, altezza_slm_ft, the_geom, id_utente, modifica, enav_vcard, enav_aro_vcard, am_vcard, am_torre_controllo_vcard, am_aro_vcard, afis_vcard, polizia_vcard, dogana_vcard, sg_lost_found_vcard, sg_servizio_informazioni_vcard, sg_biglietteria_vcard, sg_capo_scalo_post_holder_vcard, corpo_forestale_vcard, sanita_vcard, guardia_finanza_vcard, polizia_frontiera_vcard) FROM stdin; publicpostgresfalse2463  0426581wgs_ats TABLE DATACOPY wgs_ats (gid, ats_ident, type, icao, direction, seq_nbr, bidirect, freq_class, level, status, wpt1_icao, w1_nav_ty, wpt1_ident, wpt1_ctry, w1_desc_1, w1_desc_2, w1_desc_3, w1_desc_4, w1_wgslat, w1_wgsdlat, w1_wgslon, w1_wgsdlon, wpt2_icao, w2_navtype, wpt2_ident, wpt2_ctry, w2_desc_1, w2_desc_2, w2_desc_3, w2_desc_4, w2_wgslat, w2_wgsdlat, w2_wgslon, w2_wgsdlon, outbd_crs, distance, inbd_crs, min_alt, up_limit, lo_limit, maa, cruise_lv, rnp, cycle_date, rvsm, fix_turn, fix_turn0, atsd, id1, the_geom, ats_key) FROM stdin; publicpostgresfalse2468  0426595 wgs_bdry_par TABLE DATACOPY wgs_bdry_par (gid, bdry_ident, type, name, icao, con_auth, loc_hdatum, wgs_datum, comm_name, comm_freq1, comm_freq2, class, class_exc, cl_ex_rmk, level, upper_alt, lower_alt, rnp, cycle_date, up_rvsm, lo_rvsm, id1, the_geom) FROM stdin; publicpostgresfalse24709  0426629 wgs_buildings TABLE DATACCOPY wgs_buildings (gid, osm_id, name, type, the_geom) FROM stdin; publicpostgresfalse2476  0426640 wgs_cities TABLE DATAmCOPY wgs_cities (gid, geonameid, city_name, asciiname, iso2_code, population, gtopo30, the_geom) FROM stdin; publicpostgresfalse2478 0426500 wgs_com2010_s TABLE DATA{COPY wgs_com2010_s (gid, objectid, cod_reg, cod_pro, cod_com, pro_com, nome_com, nome_ita, nome_ted, the_geom) FROM stdin; publicpostgresfalse2464; 0426653 wgs_countries TABLE DATACOPY wgs_countries (gid, isocode, name_local, name_en, capital_en, name_de, capital_de, name_it, capital_it, name_fr, capital_fr, name_br, capital_br, name_es, capital_es, population, area_km2, iso_num, the_geom) FROM stdin; publicpostgresfalse2481$ 0426664 wgs_natural TABLE DATAACOPY wgs_natural (gid, osm_id, name, type, the_geom) FROM stdin; publicpostgresfalse2483 0426675 wgs_places TABLE DATALCOPY wgs_places (gid, osm_id, name, type, population, the_geom) FROM stdin; publicpostgresfalse24856 0426686 wgs_points TABLE DATAMCOPY wgs_points (gid, osm_id, "timestamp", name, type, the_geom) FROM stdin; publicpostgresfalse2487Z 0426530wgs_prov2010_s TABLE DATATCOPY wgs_prov2010_s (gid, objectid, cod_pro, nome_pro, sigla, the_geom) FROM stdin; publicpostgresfalse2465&,b 0426710 wgs_railways TABLE DATABCOPY wgs_railways (gid, osm_id, name, type, the_geom) FROM stdin; publicpostgresfalse2490 0426539 wgs_reg2010_s TABLE DATABCOPY wgs_reg2010_s (gid, cod_reg, nome_reg, the_geom) FROM stdin; publicpostgresfalse2466@ 0426723 wgs_rivers TABLE DATA2COPY wgs_rivers (gid, name, the_geom) FROM stdin; publicpostgresfalse2493/ 0426734 wgs_roads TABLE DATAhCOPY wgs_roads (gid, osm_id, name, ref, type, oneway, bridge, maxspeed, the_geom, type_new) FROM stdin; publicpostgresfalse2495 0426609 wgs_suas_par TABLE DATACOPY wgs_suas_par (gid, suas_ident, sector, type, name, icao, con_agcy, loc_hdatum, wgs_datum, comm_name, freq1, freq2, level, upper_alt, lower_alt, eff_times, wx, cycle_date, eff_date, id1, the_geom, suas_par_key) FROM stdin; publicpostgresfalse2472 0426751 wgs_waterways TABLE DATAJCOPY wgs_waterways (gid, osm_id, name, type, width, the_geom) FROM stdin; publicpostgresfalse2498Þ = 260616773geometry_columns_pk CONSTRAINTALTER TABLE ONLY geometry_columns ADD CONSTRAINT geometry_columns_pk PRIMARY KEY (f_table_catalog, f_table_schema, f_table_name, f_geometry_column); NALTER TABLE ONLY public.geometry_columns DROP CONSTRAINT geometry_columns_pk; publicpostgresfalse24282428242824282428? 2606448259lut_boundary_type_pkey CONSTRAINTjALTER TABLE ONLY lut_boundary_type ADD CONSTRAINT lut_boundary_type_pkey PRIMARY KEY (buondary_type); RALTER TABLE ONLY public.lut_boundary_type DROP CONSTRAINT lut_boundary_type_pkey; publicpostgresfalse24292429A 2606448261lut_gruppi_pkey CONSTRAINTXALTER TABLE ONLY lut_gruppi ADD CONSTRAINT lut_gruppi_pkey PRIMARY KEY (id_gruppo); DALTER TABLE ONLY public.lut_gruppi DROP CONSTRAINT lut_gruppi_pkey; publicpostgresfalse24302430C 2606448263lut_priorita_pkey CONSTRAINT^ALTER TABLE ONLY lut_priorita ADD CONSTRAINT lut_priorita_pkey PRIMARY KEY (id_priorita); HALTER TABLE ONLY public.lut_priorita DROP CONSTRAINT lut_priorita_pkey; publicpostgresfalse24312431E 2606448265lut_sedi_id_sede_pkey CONSTRAINTZALTER TABLE ONLY lut_sedi ADD CONSTRAINT lut_sedi_id_sede_pkey PRIMARY KEY (id_sede); HALTER TABLE ONLY public.lut_sedi DROP CONSTRAINT lut_sedi_id_sede_pkey; publicpostgresfalse24322432G 2606448267lut_stato_eventi_pkey CONSTRAINTjALTER TABLE ONLY lut_stato_eventi ADD CONSTRAINT lut_stato_eventi_pkey PRIMARY KEY (id_stato_evento); PALTER TABLE ONLY public.lut_stato_eventi DROP CONSTRAINT lut_stato_eventi_pkey; publicpostgresfalse24332433I 2606448269lut_status_pkey CONSTRAINTXALTER TABLE ONLY lut_status ADD CONSTRAINT lut_status_pkey PRIMARY KEY (id_status); DALTER TABLE ONLY public.lut_status DROP CONSTRAINT lut_status_pkey; publicpostgresfalse24342434K 2606448271lut_tipo_aeroporti_pkey CONSTRAINTpALTER TABLE ONLY lut_tipo_aeroporti ADD CONSTRAINT lut_tipo_aeroporti_pkey PRIMARY KEY (id_tipo_aeroporto); TALTER TABLE ONLY public.lut_tipo_aeroporti DROP CONSTRAINT lut_tipo_aeroporti_pkey; publicpostgresfalse24352435M 2606448273lut_tipo_comunicazioni_pkey CONSTRAINT|ALTER TABLE ONLY lut_tipo_comunicazioni ADD CONSTRAINT lut_tipo_comunicazioni_pkey PRIMARY KEY (id_tipo_comunicazione); \ALTER TABLE ONLY public.lut_tipo_comunicazioni DROP CONSTRAINT lut_tipo_comunicazioni_pkey; publicpostgresfalse24362436O 2606448275lut_tipo_enti_pkey CONSTRAINTaALTER TABLE ONLY lut_tipo_enti ADD CONSTRAINT lut_tipo_enti_pkey PRIMARY KEY (id_tipo_ente); JALTER TABLE ONLY public.lut_tipo_enti DROP CONSTRAINT lut_tipo_enti_pkey; publicpostgresfalse24372437R 2606448277lut_tipo_eventi_pkey CONSTRAINTgALTER TABLE ONLY lut_tipo_eventi ADD CONSTRAINT lut_tipo_eventi_pkey PRIMARY KEY (id_tipo_evento); NALTER TABLE ONLY public.lut_tipo_eventi DROP CONSTRAINT lut_tipo_eventi_pkey; publicpostgresfalse24382438T 2606448279lut_titoli_pkey CONSTRAINTXALTER TABLE ONLY lut_titoli ADD CONSTRAINT lut_titoli_pkey PRIMARY KEY (id_titolo); DALTER TABLE ONLY public.lut_titoli DROP CONSTRAINT lut_titoli_pkey; publicpostgresfalse24392439; 260616765spatial_ref_sys_pkey CONSTRAINT]ALTER TABLE ONLY spatial_ref_sys ADD CONSTRAINT spatial_ref_sys_pkey PRIMARY KEY (srid); NALTER TABLE ONLY public.spatial_ref_sys DROP CONSTRAINT spatial_ref_sys_pkey; publicpostgresfalse24272427V 2606448281usc_azioni_pkey CONSTRAINTXALTER TABLE ONLY usc_azioni ADD CONSTRAINT usc_azioni_pkey PRIMARY KEY (id_azione); DALTER TABLE ONLY public.usc_azioni DROP CONSTRAINT usc_azioni_pkey; publicpostgresfalse24402440Z 2606448618usc_contatti_pkey CONSTRAINT[ALTER TABLE ONLY usc_contatti ADD CONSTRAINT usc_contatti_pkey PRIMARY KEY (id_vcard); HALTER TABLE ONLY public.usc_contatti DROP CONSTRAINT usc_contatti_pkey; publicpostgresfalse24422442\ 2606448285usc_destinatari_pkey CONSTRAINThALTER TABLE ONLY usc_destinatari ADD CONSTRAINT usc_destinatari_pkey PRIMARY KEY (id_destinatario); NALTER TABLE ONLY public.usc_destinatari DROP CONSTRAINT usc_destinatari_pkey; publicpostgresfalse24432443` 2606448287usc_doc_eventi_pkey CONSTRAINTdALTER TABLE ONLY usc_doc_eventi ADD CONSTRAINT usc_doc_eventi_pkey PRIMARY KEY (id_doc_evento); LALTER TABLE ONLY public.usc_doc_eventi DROP CONSTRAINT usc_doc_eventi_pkey; publicpostgresfalse24442444b 2606448289usc_documenti_pkey CONSTRAINTaALTER TABLE ONLY usc_documenti ADD CONSTRAINT usc_documenti_pkey PRIMARY KEY (id_documento); JALTER TABLE ONLY public.usc_documenti DROP CONSTRAINT usc_documenti_pkey; publicpostgresfalse24452445e 2606448291usc_enav_ad2_ad3_pkey CONSTRAINTjALTER TABLE ONLY usc_enav_ad2_ad3 ADD CONSTRAINT usc_enav_ad2_ad3_pkey PRIMARY KEY (id_enav_ad2_ad3); PALTER TABLE ONLY public.usc_enav_ad2_ad3 DROP CONSTRAINT usc_enav_ad2_ad3_pkey; publicpostgresfalse24462446l 2606448293usc_enti_eventi_pkey CONSTRAINTgALTER TABLE ONLY usc_enti_eventi ADD CONSTRAINT usc_enti_eventi_pkey PRIMARY KEY (id_ente_evento); NALTER TABLE ONLY public.usc_enti_eventi DROP CONSTRAINT usc_enti_eventi_pkey; publicpostgresfalse24502450h 2606448295 usc_enti_pkey CONSTRAINTRALTER TABLE ONLY usc_enti ADD CONSTRAINT usc_enti_pkey PRIMARY KEY (id_ente); @ALTER TABLE ONLY public.usc_enti DROP CONSTRAINT usc_enti_pkey; publicpostgresfalse24492449o 2606448297usc_eventi_pkey CONSTRAINTXALTER TABLE ONLY usc_eventi ADD CONSTRAINT usc_eventi_pkey PRIMARY KEY (id_evento); DALTER TABLE ONLY public.usc_eventi DROP CONSTRAINT usc_eventi_pkey; publicpostgresfalse24522452q 2606448299usc_flussi_pkey CONSTRAINTXALTER TABLE ONLY usc_flussi ADD CONSTRAINT usc_flussi_pkey PRIMARY KEY (id_flusso); DALTER TABLE ONLY public.usc_flussi DROP CONSTRAINT usc_flussi_pkey; publicpostgresfalse24532453u 2606448301usc_icao_vettori_pkey CONSTRAINTjALTER TABLE ONLY usc_icao_vettori ADD CONSTRAINT usc_icao_vettori_pkey PRIMARY KEY (id_icao_vettore); PALTER TABLE ONLY public.usc_icao_vettori DROP CONSTRAINT usc_icao_vettori_pkey; publicpostgresfalse24542454| 2606448303usc_localizzazioni_pkey CONSTRAINTpALTER TABLE ONLY usc_localizzazioni ADD CONSTRAINT usc_localizzazioni_pkey PRIMARY KEY (id_localizzazione); TALTER TABLE ONLY public.usc_localizzazioni DROP CONSTRAINT usc_localizzazioni_pkey; publicpostgresfalse24562456~ 2606448305usc_vettori_pkey CONSTRAINT[ALTER TABLE ONLY usc_vettori ADD CONSTRAINT usc_vettori_pkey PRIMARY KEY (id_vettore); FALTER TABLE ONLY public.usc_vettori DROP CONSTRAINT usc_vettori_pkey; publicpostgresfalse24592459 2606448307 utenti_pkey CONSTRAINTPALTER TABLE ONLY utenti ADD CONSTRAINT utenti_pkey PRIMARY KEY (id_utente); <ALTER TABLE ONLY public.utenti DROP CONSTRAINT utenti_pkey; publicpostgresfalse24612461 2606448309wgs_aeroporti_cod_localita_key CONSTRAINThALTER TABLE ONLY wgs_aeroporti ADD CONSTRAINT wgs_aeroporti_cod_localita_key UNIQUE (cod_localita); VALTER TABLE ONLY public.wgs_aeroporti DROP CONSTRAINT wgs_aeroporti_cod_localita_key; publicpostgresfalse24632463 2606448311wgs_aeroporti_pkey CONSTRAINTXALTER TABLE ONLY wgs_aeroporti ADD CONSTRAINT wgs_aeroporti_pkey PRIMARY KEY (gid); JALTER TABLE ONLY public.wgs_aeroporti DROP CONSTRAINT wgs_aeroporti_pkey; publicpostgresfalse24632463 2606448315wgs_ats_ats_ident_key CONSTRAINTjALTER TABLE ONLY wgs_ats ADD CONSTRAINT wgs_ats_ats_ident_key UNIQUE (ats_ident, seq_nbr, direction); GALTER TABLE ONLY public.wgs_ats DROP CONSTRAINT wgs_ats_ats_ident_key; publicpostgresfalse2468246824682468 2606448595wgs_ats_ats_key_key CONSTRAINTRALTER TABLE ONLY wgs_ats ADD CONSTRAINT wgs_ats_ats_key_key UNIQUE (ats_key); EALTER TABLE ONLY public.wgs_ats DROP CONSTRAINT wgs_ats_ats_key_key; publicpostgresfalse24682468 2606448317 wgs_ats_pkey CONSTRAINTLALTER TABLE ONLY wgs_ats ADD CONSTRAINT wgs_ats_pkey PRIMARY KEY (gid); >ALTER TABLE ONLY public.wgs_ats DROP CONSTRAINT wgs_ats_pkey; publicpostgresfalse24682468 2606448319wgs_bdry_par_bdry_ident_key CONSTRAINTbALTER TABLE ONLY wgs_bdry_par ADD CONSTRAINT wgs_bdry_par_bdry_ident_key UNIQUE (bdry_ident); RALTER TABLE ONLY public.wgs_bdry_par DROP CONSTRAINT wgs_bdry_par_bdry_ident_key; publicpostgresfalse24702470 2606448321wgs_bdry_par_pkey CONSTRAINTVALTER TABLE ONLY wgs_bdry_par ADD CONSTRAINT wgs_bdry_par_pkey PRIMARY KEY (gid); HALTER TABLE ONLY public.wgs_bdry_par DROP CONSTRAINT wgs_bdry_par_pkey; publicpostgresfalse24702470 2606448323wgs_buildings_pkey CONSTRAINTXALTER TABLE ONLY wgs_buildings ADD CONSTRAINT wgs_buildings_pkey PRIMARY KEY (gid); JALTER TABLE ONLY public.wgs_buildings DROP CONSTRAINT wgs_buildings_pkey; publicpostgresfalse24762476 2606448325wgs_cities_pkey CONSTRAINTRALTER TABLE ONLY wgs_cities ADD CONSTRAINT wgs_cities_pkey PRIMARY KEY (gid); DALTER TABLE ONLY public.wgs_cities DROP CONSTRAINT wgs_cities_pkey; publicpostgresfalse24782478 2606448327wgs_com2010_s_pkey CONSTRAINTXALTER TABLE ONLY wgs_com2010_s ADD CONSTRAINT wgs_com2010_s_pkey PRIMARY KEY (gid); JALTER TABLE ONLY public.wgs_com2010_s DROP CONSTRAINT wgs_com2010_s_pkey; publicpostgresfalse24642464 2606448329wgs_com2010_s_pro_com_key CONSTRAINT^ALTER TABLE ONLY wgs_com2010_s ADD CONSTRAINT wgs_com2010_s_pro_com_key UNIQUE (pro_com); QALTER TABLE ONLY public.wgs_com2010_s DROP CONSTRAINT wgs_com2010_s_pro_com_key; publicpostgresfalse24642464 2606448331wgs_countries_pkey CONSTRAINTXALTER TABLE ONLY wgs_countries ADD CONSTRAINT wgs_countries_pkey PRIMARY KEY (gid); JALTER TABLE ONLY public.wgs_countries DROP CONSTRAINT wgs_countries_pkey; publicpostgresfalse24812481 2606448335wgs_natural_pkey CONSTRAINTTALTER TABLE ONLY wgs_natural ADD CONSTRAINT wgs_natural_pkey PRIMARY KEY (gid); FALTER TABLE ONLY public.wgs_natural DROP CONSTRAINT wgs_natural_pkey; publicpostgresfalse24832483 2606448337wgs_places_pkey CONSTRAINTRALTER TABLE ONLY wgs_places ADD CONSTRAINT wgs_places_pkey PRIMARY KEY (gid); DALTER TABLE ONLY public.wgs_places DROP CONSTRAINT wgs_places_pkey; publicpostgresfalse24852485 2606448339wgs_points_pkey CONSTRAINTRALTER TABLE ONLY wgs_points ADD CONSTRAINT wgs_points_pkey PRIMARY KEY (gid); DALTER TABLE ONLY public.wgs_points DROP CONSTRAINT wgs_points_pkey; publicpostgresfalse24872487 2606448341wgs_prov2010_s_cod_pro_key CONSTRAINT`ALTER TABLE ONLY wgs_prov2010_s ADD CONSTRAINT wgs_prov2010_s_cod_pro_key UNIQUE (cod_pro); SALTER TABLE ONLY public.wgs_prov2010_s DROP CONSTRAINT wgs_prov2010_s_cod_pro_key; publicpostgresfalse24652465 2606448343wgs_prov2010_s_pkey CONSTRAINTZALTER TABLE ONLY wgs_prov2010_s ADD CONSTRAINT wgs_prov2010_s_pkey PRIMARY KEY (gid); LALTER TABLE ONLY public.wgs_prov2010_s DROP CONSTRAINT wgs_prov2010_s_pkey; publicpostgresfalse24652465 2606448347wgs_railways_pkey CONSTRAINTVALTER TABLE ONLY wgs_railways ADD CONSTRAINT wgs_railways_pkey PRIMARY KEY (gid); HALTER TABLE ONLY public.wgs_railways DROP CONSTRAINT wgs_railways_pkey; publicpostgresfalse24902490 2606448349wgs_reg2010_s_cod_reg_key CONSTRAINT^ALTER TABLE ONLY wgs_reg2010_s ADD CONSTRAINT wgs_reg2010_s_cod_reg_key UNIQUE (cod_reg); QALTER TABLE ONLY public.wgs_reg2010_s DROP CONSTRAINT wgs_reg2010_s_cod_reg_key; publicpostgresfalse24662466 2606448351wgs_reg2010_s_pkey CONSTRAINTXALTER TABLE ONLY wgs_reg2010_s ADD CONSTRAINT wgs_reg2010_s_pkey PRIMARY KEY (gid); JALTER TABLE ONLY public.wgs_reg2010_s DROP CONSTRAINT wgs_reg2010_s_pkey; publicpostgresfalse24662466 2606448353wgs_rivers_pkey CONSTRAINTRALTER TABLE ONLY wgs_rivers ADD CONSTRAINT wgs_rivers_pkey PRIMARY KEY (gid); DALTER TABLE ONLY public.wgs_rivers DROP CONSTRAINT wgs_rivers_pkey; publicpostgresfalse24932493 2606448355wgs_roads_pkey CONSTRAINTPALTER TABLE ONLY wgs_roads ADD CONSTRAINT wgs_roads_pkey PRIMARY KEY (gid); BALTER TABLE ONLY public.wgs_roads DROP CONSTRAINT wgs_roads_pkey; publicpostgresfalse24952495 2606448357wgs_suas_par_pkey CONSTRAINTVALTER TABLE ONLY wgs_suas_par ADD CONSTRAINT wgs_suas_par_pkey PRIMARY KEY (gid); HALTER TABLE ONLY public.wgs_suas_par DROP CONSTRAINT wgs_suas_par_pkey; publicpostgresfalse24722472 2606448359wgs_suas_par_suas_ident_key CONSTRAINTjALTER TABLE ONLY wgs_suas_par ADD CONSTRAINT wgs_suas_par_suas_ident_key UNIQUE (suas_ident, sector); RALTER TABLE ONLY public.wgs_suas_par DROP CONSTRAINT wgs_suas_par_suas_ident_key; publicpostgresfalse247224722472 2606448587wgs_suas_par_suas_par_key_key CONSTRAINTfALTER TABLE ONLY wgs_suas_par ADD CONSTRAINT wgs_suas_par_suas_par_key_key UNIQUE (suas_par_key); TALTER TABLE ONLY public.wgs_suas_par DROP CONSTRAINT wgs_suas_par_suas_par_key_key; publicpostgresfalse24722472 2606448365wgs_waterways_pkey CONSTRAINTXALTER TABLE ONLY wgs_waterways ADD CONSTRAINT wgs_waterways_pkey PRIMARY KEY (gid); JALTER TABLE ONLY public.wgs_waterways DROP CONSTRAINT wgs_waterways_pkey; publicpostgresfalse24982498W 1259448562 fki_id_enteINDEX@CREATE INDEX fki_id_ente ON usc_contatti USING btree (id_ente); DROP INDEX public.fki_id_ente; publicpostgresfalse2442P 1259448367"fki_lut_tipo_eventi_id_flusso_fkeyINDEX\CREATE INDEX fki_lut_tipo_eventi_id_flusso_fkey ON lut_tipo_eventi USING btree (id_flusso); 6DROP INDEX public.fki_lut_tipo_eventi_id_flusso_fkey; publicpostgresfalse2438X 1259448368fki_usc_contatti_id_sede_fkeyINDEXRCREATE INDEX fki_usc_contatti_id_sede_fkey ON usc_contatti USING btree (id_sede); 1DROP INDEX public.fki_usc_contatti_id_sede_fkey; publicpostgresfalse2442] 1259448369 fki_usc_doc_eventi_usc_documentiINDEX\CREATE INDEX fki_usc_doc_eventi_usc_documenti ON usc_doc_eventi USING btree (id_documento); 4DROP INDEX public.fki_usc_doc_eventi_usc_documenti; publicpostgresfalse2444^ 1259448370fki_usc_doc_eventi_usc_eventiINDEXVCREATE INDEX fki_usc_doc_eventi_usc_eventi ON usc_doc_eventi USING btree (id_evento); 1DROP INDEX public.fki_usc_doc_eventi_usc_eventi; publicpostgresfalse2444c 1259448371fki_usc_enav_wgs_aeroportiINDEXXCREATE INDEX fki_usc_enav_wgs_aeroporti ON usc_enav_ad2_ad3 USING btree (cod_localita); .DROP INDEX public.fki_usc_enav_wgs_aeroporti; publicpostgresfalse2446i 1259448372fki_usc_enti_eventi_usc_entiINDEXTCREATE INDEX fki_usc_enti_eventi_usc_enti ON usc_enti_eventi USING btree (id_ente); 0DROP INDEX public.fki_usc_enti_eventi_usc_enti; publicpostgresfalse2450j 1259448373fki_usc_enti_eventi_usc_eventiINDEXXCREATE INDEX fki_usc_enti_eventi_usc_eventi ON usc_enti_eventi USING btree (id_evento); 2DROP INDEX public.fki_usc_enti_eventi_usc_eventi; publicpostgresfalse2450f 1259448568fki_usc_enti_lut_tipo_entiINDEXPCREATE INDEX fki_usc_enti_lut_tipo_enti ON usc_enti USING btree (id_tipo_ente); .DROP INDEX public.fki_usc_enti_lut_tipo_enti; publicpostgresfalse2449m 1259448374fki_usc_eventi_usc_vettoriINDEXPCREATE INDEX fki_usc_eventi_usc_vettori ON usc_eventi USING btree (id_vettore); .DROP INDEX public.fki_usc_eventi_usc_vettori; publicpostgresfalse2452r 1259448378"fki_usc_icao_vettori_usc_documentiINDEX`CREATE INDEX fki_usc_icao_vettori_usc_documenti ON usc_icao_vettori USING btree (cod_localita); 6DROP INDEX public.fki_usc_icao_vettori_usc_documenti; publicpostgresfalse2454s 1259448379fki_usc_icao_vettori_usc_eventiINDEX[CREATE INDEX fki_usc_icao_vettori_usc_eventi ON usc_icao_vettori USING btree (id_vettore); 3DROP INDEX public.fki_usc_icao_vettori_usc_eventi; publicpostgresfalse2454v 1259448380(fki_usc_localizzazioni_cod_localita_fkeyINDEXhCREATE INDEX fki_usc_localizzazioni_cod_localita_fkey ON usc_localizzazioni USING btree (cod_localita); <DROP INDEX public.fki_usc_localizzazioni_cod_localita_fkey; publicpostgresfalse2456w 1259448381#fki_usc_localizzazioni_cod_pro_fkeyINDEX^CREATE INDEX fki_usc_localizzazioni_cod_pro_fkey ON usc_localizzazioni USING btree (cod_pro); 7DROP INDEX public.fki_usc_localizzazioni_cod_pro_fkey; publicpostgresfalse2456x 1259448382#fki_usc_localizzazioni_cod_reg_fkeyINDEX^CREATE INDEX fki_usc_localizzazioni_cod_reg_fkey ON usc_localizzazioni USING btree (cod_reg); 7DROP INDEX public.fki_usc_localizzazioni_cod_reg_fkey; publicpostgresfalse2456y 1259448383%fki_usc_localizzazioni_id_evento_fkeyINDEXbCREATE INDEX fki_usc_localizzazioni_id_evento_fkey ON usc_localizzazioni USING btree (id_evento); 9DROP INDEX public.fki_usc_localizzazioni_id_evento_fkey; publicpostgresfalse2456z 1259448384#fki_usc_localizzazioni_pro_com_fkeyINDEX^CREATE INDEX fki_usc_localizzazioni_pro_com_fkey ON usc_localizzazioni USING btree (pro_com); 7DROP INDEX public.fki_usc_localizzazioni_pro_com_fkey; publicpostgresfalse2456 1259448385fki_utenti_lut_gruppiINDEXFCREATE INDEX fki_utenti_lut_gruppi ON utenti USING btree (id_gruppo); )DROP INDEX public.fki_utenti_lut_gruppi; publicpostgresfalse2461 1259448386fki_wgs_aeroporti_lut_statusINDEXTCREATE INDEX fki_wgs_aeroporti_lut_status ON wgs_aeroporti USING btree (id_status); 0DROP INDEX public.fki_wgs_aeroporti_lut_status; publicpostgresfalse2463 1259448387$fki_wgs_aeroporti_lut_tipo_aeroportiINDEXdCREATE INDEX fki_wgs_aeroporti_lut_tipo_aeroporti ON wgs_aeroporti USING btree (id_tipo_aeroporto); 8DROP INDEX public.fki_wgs_aeroporti_lut_tipo_aeroporti; publicpostgresfalse2463 1259448388sidx_wgs_aeroportiINDEXHCREATE INDEX sidx_wgs_aeroporti ON wgs_aeroporti USING gist (the_geom); &DROP INDEX public.sidx_wgs_aeroporti; publicpostgresfalse20522463 1259448390wgs_ats_the_geom_gistINDEXECREATE INDEX wgs_ats_the_geom_gist ON wgs_ats USING gist (the_geom); )DROP INDEX public.wgs_ats_the_geom_gist; publicpostgresfalse20522468 1259448391wgs_bdry_par_the_geom_gistINDEXOCREATE INDEX wgs_bdry_par_the_geom_gist ON wgs_bdry_par USING gist (the_geom); .DROP INDEX public.wgs_bdry_par_the_geom_gist; publicpostgresfalse24702052 1259448392wgs_buildings_the_geom_gistINDEXQCREATE INDEX wgs_buildings_the_geom_gist ON wgs_buildings USING gist (the_geom); /DROP INDEX public.wgs_buildings_the_geom_gist; publicpostgresfalse20522476 1259448393wgs_cities_the_geom_gistINDEXKCREATE INDEX wgs_cities_the_geom_gist ON wgs_cities USING gist (the_geom); ,DROP INDEX public.wgs_cities_the_geom_gist; publicpostgresfalse24782052 1259448394wgs_com2010_s_the_geom_gistINDEXQCREATE INDEX wgs_com2010_s_the_geom_gist ON wgs_com2010_s USING gist (the_geom); /DROP INDEX public.wgs_com2010_s_the_geom_gist; publicpostgresfalse24642052 1259448395wgs_countries_the_geom_gistINDEXQCREATE INDEX wgs_countries_the_geom_gist ON wgs_countries USING gist (the_geom); /DROP INDEX public.wgs_countries_the_geom_gist; publicpostgresfalse20522481 1259448397wgs_natural_the_geom_gistINDEXMCREATE INDEX wgs_natural_the_geom_gist ON wgs_natural USING gist (the_geom); -DROP INDEX public.wgs_natural_the_geom_gist; publicpostgresfalse24832052 1259448398wgs_places_the_geom_gistINDEXKCREATE INDEX wgs_places_the_geom_gist ON wgs_places USING gist (the_geom); ,DROP INDEX public.wgs_places_the_geom_gist; publicpostgresfalse20522485 1259448399wgs_points_the_geom_gistINDEXKCREATE INDEX wgs_points_the_geom_gist ON wgs_points USING gist (the_geom); ,DROP INDEX public.wgs_points_the_geom_gist; publicpostgresfalse20522487 1259448400wgs_prov2010_s_the_geom_gistINDEXSCREATE INDEX wgs_prov2010_s_the_geom_gist ON wgs_prov2010_s USING gist (the_geom); 0DROP INDEX public.wgs_prov2010_s_the_geom_gist; publicpostgresfalse24652052 1259448402wgs_railways_the_geom_gistINDEXOCREATE INDEX wgs_railways_the_geom_gist ON wgs_railways USING gist (the_geom); .DROP INDEX public.wgs_railways_the_geom_gist; publicpostgresfalse20522490 1259448403wgs_reg2010_s_the_geom_gistINDEXQCREATE INDEX wgs_reg2010_s_the_geom_gist ON wgs_reg2010_s USING gist (the_geom); /DROP INDEX public.wgs_reg2010_s_the_geom_gist; publicpostgresfalse24662052 1259448404wgs_rivers_the_geom_gistINDEXKCREATE INDEX wgs_rivers_the_geom_gist ON wgs_rivers USING gist (the_geom); ,DROP INDEX public.wgs_rivers_the_geom_gist; publicpostgresfalse24932052 1259448405wgs_roads_the_geom_gistINDEXICREATE INDEX wgs_roads_the_geom_gist ON wgs_roads USING gist (the_geom); +DROP INDEX public.wgs_roads_the_geom_gist; publicpostgresfalse24952052 1259448406wgs_suas_par_the_geom_gistINDEXOCREATE INDEX wgs_suas_par_the_geom_gist ON wgs_suas_par USING gist (the_geom); .DROP INDEX public.wgs_suas_par_the_geom_gist; publicpostgresfalse20522472 1259448409wgs_waterways_the_geom_gistINDEXQCREATE INDEX wgs_waterways_the_geom_gist ON wgs_waterways USING gist (the_geom); /DROP INDEX public.wgs_waterways_the_geom_gist; publicpostgresfalse20522498 2606448410 lut_tipo_eventi_id_priorita_fkey FK CONSTRAINTALTER TABLE ONLY lut_tipo_eventi ADD CONSTRAINT lut_tipo_eventi_id_priorita_fkey FOREIGN KEY (id_priorita) REFERENCES lut_priorita(id_priorita); ZALTER TABLE ONLY public.lut_tipo_eventi DROP CONSTRAINT lut_tipo_eventi_id_priorita_fkey; publicpostgresfalse243124382882 2606448415usc_azioni_id_evento_fkey FK CONSTRAINTALTER TABLE ONLY usc_azioni ADD CONSTRAINT usc_azioni_id_evento_fkey FOREIGN KEY (id_evento) REFERENCES usc_eventi(id_evento); NALTER TABLE ONLY public.usc_azioni DROP CONSTRAINT usc_azioni_id_evento_fkey; publicpostgresfalse244024522926 2606448557usc_contatti_id_ente_fkey FK CONSTRAINTALTER TABLE ONLY usc_contatti ADD CONSTRAINT usc_contatti_id_ente_fkey FOREIGN KEY (id_ente) REFERENCES usc_enti(id_ente); PALTER TABLE ONLY public.usc_contatti DROP CONSTRAINT usc_contatti_id_ente_fkey; publicpostgresfalse244229192449 2606448420usc_contatti_id_sede_fkey FK CONSTRAINTALTER TABLE ONLY usc_contatti ADD CONSTRAINT usc_contatti_id_sede_fkey FOREIGN KEY (id_sede) REFERENCES lut_sedi(id_sede); PALTER TABLE ONLY public.usc_contatti DROP CONSTRAINT usc_contatti_id_sede_fkey; publicpostgresfalse244224322884 2606448425 usc_doc_eventi_id_documento_fkey FK CONSTRAINTALTER TABLE ONLY usc_doc_eventi ADD CONSTRAINT usc_doc_eventi_id_documento_fkey FOREIGN KEY (id_documento) REFERENCES usc_documenti(id_documento); YALTER TABLE ONLY public.usc_doc_eventi DROP CONSTRAINT usc_doc_eventi_id_documento_fkey; publicpostgresfalse244529132444 2606448430usc_doc_eventi_id_evento_fkey FK CONSTRAINTALTER TABLE ONLY usc_doc_eventi ADD CONSTRAINT usc_doc_eventi_id_evento_fkey FOREIGN KEY (id_evento) REFERENCES usc_eventi(id_evento); VALTER TABLE ONLY public.usc_doc_eventi DROP CONSTRAINT usc_doc_eventi_id_evento_fkey; publicpostgresfalse244429262452 2606448435"usc_enav_ad2_ad3_cod_localita_fkey FK CONSTRAINTALTER TABLE ONLY usc_enav_ad2_ad3 ADD CONSTRAINT usc_enav_ad2_ad3_cod_localita_fkey FOREIGN KEY (cod_localita) REFERENCES wgs_aeroporti(cod_localita); ]ALTER TABLE ONLY public.usc_enav_ad2_ad3 DROP CONSTRAINT usc_enav_ad2_ad3_cod_localita_fkey; publicpostgresfalse246329492446 2606448440usc_enti_eventi_id_ente_fkey FK CONSTRAINTALTER TABLE ONLY usc_enti_eventi ADD CONSTRAINT usc_enti_eventi_id_ente_fkey FOREIGN KEY (id_ente) REFERENCES usc_enti(id_ente); VALTER TABLE ONLY public.usc_enti_eventi DROP CONSTRAINT usc_enti_eventi_id_ente_fkey; publicpostgresfalse245029192449 2606448445usc_enti_eventi_id_evento_fkey FK CONSTRAINTALTER TABLE ONLY usc_enti_eventi ADD CONSTRAINT usc_enti_eventi_id_evento_fkey FOREIGN KEY (id_evento) REFERENCES usc_eventi(id_evento); XALTER TABLE ONLY public.usc_enti_eventi DROP CONSTRAINT usc_enti_eventi_id_evento_fkey; publicpostgresfalse245229262450 2606448563usc_enti_id_tipo_ente_fkey FK CONSTRAINTALTER TABLE ONLY usc_enti ADD CONSTRAINT usc_enti_id_tipo_ente_fkey FOREIGN KEY (id_tipo_ente) REFERENCES lut_tipo_enti(id_tipo_ente); MALTER TABLE ONLY public.usc_enti DROP CONSTRAINT usc_enti_id_tipo_ente_fkey; publicpostgresfalse244924372894 2606448465usc_eventi_id_stato_evento_fkey FK CONSTRAINTALTER TABLE ONLY usc_eventi ADD CONSTRAINT usc_eventi_id_stato_evento_fkey FOREIGN KEY (id_stato_evento) REFERENCES lut_stato_eventi(id_stato_evento); TALTER TABLE ONLY public.usc_eventi DROP CONSTRAINT usc_eventi_id_stato_evento_fkey; publicpostgresfalse243324522886 2606448470usc_eventi_id_tipo_evento_fkey FK CONSTRAINTALTER TABLE ONLY usc_eventi ADD CONSTRAINT usc_eventi_id_tipo_evento_fkey FOREIGN KEY (id_tipo_evento) REFERENCES lut_tipo_eventi(id_tipo_evento); SALTER TABLE ONLY public.usc_eventi DROP CONSTRAINT usc_eventi_id_tipo_evento_fkey; publicpostgresfalse245228972438 2606448475usc_eventi_id_vettore_fkey FK CONSTRAINTALTER TABLE ONLY usc_eventi ADD CONSTRAINT usc_eventi_id_vettore_fkey FOREIGN KEY (id_vettore) REFERENCES usc_vettori(id_vettore); OALTER TABLE ONLY public.usc_eventi DROP CONSTRAINT usc_eventi_id_vettore_fkey; publicpostgresfalse245229412459 2606448485usc_flussi_id_flusso_fkey FK CONSTRAINTALTER TABLE ONLY lut_tipo_eventi ADD CONSTRAINT usc_flussi_id_flusso_fkey FOREIGN KEY (id_flusso) REFERENCES usc_flussi(id_flusso); SALTER TABLE ONLY public.lut_tipo_eventi DROP CONSTRAINT usc_flussi_id_flusso_fkey; publicpostgresfalse245329282438 2606448490"usc_icao_vettori_cod_localita_fkey FK CONSTRAINTALTER TABLE ONLY usc_icao_vettori ADD CONSTRAINT usc_icao_vettori_cod_localita_fkey FOREIGN KEY (cod_localita) REFERENCES wgs_aeroporti(cod_localita); ]ALTER TABLE ONLY public.usc_icao_vettori DROP CONSTRAINT usc_icao_vettori_cod_localita_fkey; publicpostgresfalse246329492454 2606448495 usc_icao_vettori_id_vettore_fkey FK CONSTRAINTALTER TABLE ONLY usc_icao_vettori ADD CONSTRAINT usc_icao_vettori_id_vettore_fkey FOREIGN KEY (id_vettore) REFERENCES usc_vettori(id_vettore); [ALTER TABLE ONLY public.usc_icao_vettori DROP CONSTRAINT usc_icao_vettori_id_vettore_fkey; publicpostgresfalse245924542941 2606448500$usc_localizzazioni_cod_localita_fkey FK CONSTRAINTALTER TABLE ONLY usc_localizzazioni ADD CONSTRAINT usc_localizzazioni_cod_localita_fkey FOREIGN KEY (cod_localita) REFERENCES wgs_aeroporti(cod_localita); aALTER TABLE ONLY public.usc_localizzazioni DROP CONSTRAINT usc_localizzazioni_cod_localita_fkey; publicpostgresfalse246324562949 2606448505usc_localizzazioni_cod_pro_fkey FK CONSTRAINTALTER TABLE ONLY usc_localizzazioni ADD CONSTRAINT usc_localizzazioni_cod_pro_fkey FOREIGN KEY (cod_pro) REFERENCES wgs_prov2010_s(cod_pro); \ALTER TABLE ONLY public.usc_localizzazioni DROP CONSTRAINT usc_localizzazioni_cod_pro_fkey; publicpostgresfalse246524562958 2606448510usc_localizzazioni_cod_reg_fkey FK CONSTRAINTALTER TABLE ONLY usc_localizzazioni ADD CONSTRAINT usc_localizzazioni_cod_reg_fkey FOREIGN KEY (cod_reg) REFERENCES wgs_reg2010_s(cod_reg); \ALTER TABLE ONLY public.usc_localizzazioni DROP CONSTRAINT usc_localizzazioni_cod_reg_fkey; publicpostgresfalse246624562963 2606448515!usc_localizzazioni_id_evento_fkey FK CONSTRAINTALTER TABLE ONLY usc_localizzazioni ADD CONSTRAINT usc_localizzazioni_id_evento_fkey FOREIGN KEY (id_evento) REFERENCES usc_eventi(id_evento); ^ALTER TABLE ONLY public.usc_localizzazioni DROP CONSTRAINT usc_localizzazioni_id_evento_fkey; publicpostgresfalse245224562926 2606448520usc_localizzazioni_pro_com_fkey FK CONSTRAINTALTER TABLE ONLY usc_localizzazioni ADD CONSTRAINT usc_localizzazioni_pro_com_fkey FOREIGN KEY (pro_com) REFERENCES wgs_com2010_s(pro_com); \ALTER TABLE ONLY public.usc_localizzazioni DROP CONSTRAINT usc_localizzazioni_pro_com_fkey; publicpostgresfalse295524642456 2606448525utenti_id_gruppo_fkey FK CONSTRAINT{ALTER TABLE ONLY utenti ADD CONSTRAINT utenti_id_gruppo_fkey FOREIGN KEY (id_gruppo) REFERENCES lut_gruppi(id_gruppo); FALTER TABLE ONLY public.utenti DROP CONSTRAINT utenti_id_gruppo_fkey; publicpostgresfalse288024612430 2606448530wgs_aeroporti_id_status_fkey FK CONSTRAINTALTER TABLE ONLY wgs_aeroporti ADD CONSTRAINT wgs_aeroporti_id_status_fkey FOREIGN KEY (id_status) REFERENCES lut_status(id_status); TALTER TABLE ONLY public.wgs_aeroporti DROP CONSTRAINT wgs_aeroporti_id_status_fkey; publicpostgresfalse288824632434 2606448535$wgs_aeroporti_id_tipo_aeroporto_fkey FK CONSTRAINTALTER TABLE ONLY wgs_aeroporti ADD CONSTRAINT wgs_aeroporti_id_tipo_aeroporto_fkey FOREIGN KEY (id_tipo_aeroporto) REFERENCES lut_tipo_aeroporti(id_tipo_aeroporto); \ALTER TABLE ONLY public.wgs_aeroporti DROP CONSTRAINT wgs_aeroporti_id_tipo_aeroporto_fkey; publicpostgresfalse289024632435 2606448540wgs_bdry_par_type_fkey FK CONSTRAINTALTER TABLE ONLY wgs_bdry_par ADD CONSTRAINT wgs_bdry_par_type_fkey FOREIGN KEY (type) REFERENCES lut_boundary_type(buondary_type); MALTER TABLE ONLY public.wgs_bdry_par DROP CONSTRAINT wgs_bdry_par_type_fkey; publicpostgresfalse287824702429 #xN0uy370Ĥ)ЁC q#B.?-ĸZ@CnȻp=ג>緼e~*"j-C 㨍F +r.],FyVc3)Dk$fD' \y8-4t^wp&q& HAXA3Ď=G^39BN-4^4+EB-v,]A[Cujn%[F@UeTgBT! gx5 0 s2E'^x5JVjAx'z8y]!ΒMJeL⮒[8%v3a@qlvZ#9 }x5α @z)|eW=삶61`rp9nH}?ӌ ib#_^JaVcqηᶺ%VuL?KGq-jbJBø=M*Bn.j80^ 's x[w86|=߯ЪIg.;夒8i]]fq1c,nJJ&?px%H݇H %{oGāW'gԫWN&S B:x]T^||ÛeX$01$XC!俐|?`a_~lA1$@dq4N8[ W~x|/Fy'_yw)euq⛺bvv1l~Ni=h(9HjFiKhA#bM]bMClP4PАH ,C}8@Xaq#a%xhdڙCmwnv7oitdxƳ"*&/< >oQ_"z&7 Q9p <=U%:iM?v[Zyu>a)^$>78ͿIp$4_dT<[FxQ6G"ƒ ZA,(|$Օ'.aVv5\XqJŎX6RmBafPmhukdp'c&8z2Ny<\<&7IއqŸsΡ!y;Ld U!@z:C+O͎f%!d'nhW譮+\`X@Iș |-z $ @*/Ewy|~JU}[~q*qp*yb :i#C$1d緉܌ϡCP={o-(P@1R  )JPQX#oaMʝziɵ(qk\s5J5J;Fiŵ` a}o\IWnlvBsDΑrvԺĚ;yd&J,55Lc@RŨghd[pK̙zqH UAf|Cy8z2go`(~d' À R$DapI+O!YsBOy8z'9; '{M}_b5B+ i=f ԙ-MR lJ0@OCˋy%?كW &xh>X.@œiX3@5vT`p-՗$OҬF?V]2E3Kd  \撼\m,!RMO{ 0@pCԆI\Ft*JYd[_*x@`k`'vKXN&. 5=C-퐵TىCupp8ᕷ6E(% DkgzODLzs1>`햸 oqj8 {.ɗɪr7ج]Jl rɅj42=4'gq&1azc $!' Ȱ'F~3_&|MKhkqJŕOa3@NK 5<ċZ#t;@T"& w8#zQ5&%mB# -j.;4=oF?8'~]Rh_ᶸ|zv6pAz=]gb.XWԧ`oJ < V胣6:ZĪӖpB$0׈5ڃ=dNvCʇװ+YߺvHyXæԈX6brjMX0THTF#9?WIDgcS$WܰyKˇhti͔r: AءN#:*x Z~W%~F8|s1.5C=٫#`x>h0j߶q1|ר De&/'~ymM{ZxO:߈1@dnF.KIFwb%a ÒF$'} P" 4CH> }Ƙ<S"yßP#C>>Գ#!W˛x^;%=ZnՈ|la-%+  -^Bq PS*_=Pg觠 Pp}[VW@f[oC>䃫5l%l`Rim_]}[vcIĵ/"%B;q}ps =YZD!.VpOOAFw!EVozA{9II/Z=Ux{@ ^_(CҪa}p(Ǩ\c{C9kٙ/FmX-Qh ``ƪ%65.ETՉiHJ7D87F协\s [>5'wh=>z1t"툰t@R j nt9Dg_#$&H(DHH|PIT|iI|SMD̎쪉iZSR%e%>숤4^dKyZw$?^oŎZ2oL22REgi i2r.]:1~%ѯb%wQ*TU9wEœ@/VCB4 7ҨV|٭?0f3Qe\sbTv,f*_wa9氜޺׆An Nυ;O׊UxE]H<>վ:|Xj>ջ!"AKv}\ҕrfAu㑜z٘ဉ1* u7>qr6A?Pǀ 3p <; jcV۷hzeXfYOy/q$h2ݑ=h ތ:X"4bz,њZx=n%n&}~G8[SNǘuOn-כ5&2jF{黷xu){7͏wfS9C@ޙQLX>/o.-|OMFV4xg<(A09 &oT4>-K-ӄtQ6 :X1?҈c6zsyva ܠ;EfR.5¼̧*]VF*Ǣr1KuAmN:VHϧ~NӃ>DfQ@Ga+ R@MW_Uژf͊0^_4U7jl L6*Y̊,ѻkaYNR4%'jDsrh5KLчt*asAOy92]9[}@$q.ʦdʚab)< 0Nh(e1p2jSf\b[sy4s)QXȀjp+<R+o%WsOuF,t5Ïj!5,`e|"C h?Zt Ol3RKtFڈz+cӾ kQdF+Yu:@A=s0@Pby(ppPz3gC ]Vh+e)k&KnM3d¡o\Ҁ- Zk6@.~{0pqHF;(>GD["HdMC m b|5],Uc 9lPAX^_oZ^7*IV\IlUnpj>4æP5] yr4w!;FA( R?PxAm>m2O ]fhdle :%W!ʳ$p+67@m_Mg+4bށe9ctӂ%,fcqp[iAߚ >rV3d:ϖ$l%0MILJT<8yI{s@z,aVj3y+VQFjJ x)5 J=JFecQgT=N[C&l4P x4؉ԕdWE Vyؔ5q股.RzW;s`rV\Nh X=^[Ux+/F]UQmEe a#YR]PaA ebf_Vp4b7-rX:X3@ڦ#Zʁ X0ft g`p~SʯUb?V1@!YTݖÜKaNKQM+n7 cTٷ5+C3.gћѭ LR4+ېIhӸ0l bX *gJU G‡h.U=2BkY:ԃ%0*||AW4AMڒKgrH+(yo%f)Ǣrl(QVeARӷj>uEʖҸB2FPMR nҜ(]jmPANeeQYYGrǷj6(. :etlI8 2D vգ`v‡/^AtS)`Tp+qX$yjE2R ݤʝvt m S0\c=jۗc<?w8WH<9 (]C-T X>D8^3u4{,8MS ~?Cb}BM?)uvo~R- 6 V6z+ j$ |{z49vi4mM[{іǢH|h5m-K:%'SP\E,C*x !lDSYUƘZ s@f=/Te4лzH¡x|3asCޥOVVA/}@U}>הeryA, F2PT}I&4ɬJYS,~~ XPiRǶP| Lap E$8#NP bpt 4c-h z//11CCh;7_zТ^)f e" Ѩ \B_QV!bx{m_|@F \ 2<3 C@Ho x{l>@) Y]~hŏtD xR F0y>PBM@ U!]'Q  -[ja1C ` PjZTTc4Q98t;18>Prwh8 x]g=Pm5Q(_y"]t}%t9HC{5^q*^73*W{=~&^-YduAɨqڹ̶}Th[E@d4_6]Uw 6M5 X,?yrg h=|1P}Mk½ˡmO% Z_&I4֣ v*!Ѐ2|#9Fؙ%ɩ܎ VV`.ɋ[5 +a# }aSԦҊHo 3Yz!=v`Lڳs@]: meVKq49LHȨgo<YT>|{ݑ_FF"+:_"y!RxA>>"Xn;vf.#tޞnW8O+NWLF*f2 P>]ŔH Te;$躲37Htng5&93]֏င8`=!$qPLw=n8]"5|@]1N؞$ad5ɤ:>`n=`Z#:l/],tnѺZF&0PB(Pc:gnx`(iAoARMhA##` nXCAl"~WN\G.&N%&c}IekxMn3;"a r6Dv@"J8 85ܐz;~ Ɍm%’?˧91}tI.1TQ98D8+}GIw*nL˥FĠwٝQoɝC|=џC4(%[))goI]5hpI |.?}FH#>FCD! :Gγ|i;CB(sGzGM%zbf+P#Q92V *E~f_:,ߪBEegKRLP'0LiFw[I3-3ty1ń$W't$|S+U0v|:ЌaCaen-jpp<#;>a -jŗ[9t׫2R'M15Yȍq{9r9mwI֧oMFZA_P?IPiGX%%fI=/7R |:[4/ L}+nTcEjx4+rOPr 5QAV| mIsɯ1&(eqf j,ƆR? J5JJ,ڭE =%ΨFԠSaCa"ǨA}@zºMQ~*WwVG)ELj`-(C(5ՠrWDG壧Vmj9Z>9hV+SIz6c0al{4P%8؍Z|IQv0> ô[Di$ >oE.vr0*ViRS0%tWdAVa*e;dY2c翟bcqb[CG&3 sj\5 1sTK ye>`giT *>R/V_gR]fs;TJdy8F|Ӭ1"R]i >v2Ysn$N+*MP615kJY`T3?L^V:>ג͚!tٻ<E-5cܡU "$ ޱ>64c¢ދ߸M?IhCRƚqFjVOAd⭋*a mfVcq`p,\@dse2*&uu$0RSVVN c 1a|KP~̗Hw8Saq륣fyѭׁ3#qLJl4`ӱ;JA sߥP?x磲 Ǻ/qH|}i|'-Y5\ r0o`u FaܠF37Ox Հwd)ٮAjobݴ\zk R{ţWV`wHFZ_F_8/r:iMC]T44kC N$NgJH] Pl :[Y :0:k\[C[]YkdXf5ZFջGƒ*AwBkhRyM̐KTAel zWӨK ^wYj=6k3I,O)WѬ&_r2qI8.SS|fXG-mVT,EQ>Dsj~L NBxR|*WV쳂CfLOO!%3d62f˫wCj(P>D_PSKLxOmGrF[ @1!gDQDhCd.k|ZV)`2UAHS ˓EՕJ>r8|یj̃(ĚNy6scm\mT'U'@;G \q:7:ˑCؽˇ3MA+'˧I|E?_+W^ Qya0sz%ʇfB)jť%evu{E&=CI)hP X=,ƕ Q׎T(ݚCn0x_φś1 @V4?4=a%*ރH{4>ЕxbŽj&]# `W8{cR:oM/rL$Bc!$cLQ @Ѐ3,_+@j0dGe 18gdrMͺHI-Xii|H.qXեf*( D# ,` aw@neJ$Zu_N$Mnd nwT~-SױԵ[-BbR3DL{ xʇnơ$fYVSBkbT^()fTRZ궧XY>4GK5o-%ժzUI\ol$MCAA]|!e+eu^ĴSMEALjf P37Z?ap֒&ƪ T|7T{>_٬RB(ѨDM}phZvj5\ezhjp+uJz`-:JBMIs,fw(AcѨ-dL9^ݦz5s4IE\h FfWUXֲeb!%$bu!4=9;c}[D[#jȫC ϴiUQ#[oUFrԇ g0B9 @RRCK+[9phzX  TjP@AT Z@#9R/B!i`^pQ^) C_x,͢M[P8;n߂"TEP+,b\Vjh=:@[b GV8OQ˂>4Xr#V?%$i0vm, 3lnHN oRFx47XTmM</(%H}{alhI2_'w\E7ZYx(Ɓ@wq:ƁG/N&KWcIC_Rj䅬KFV_ Py@-rc2ըFPɎ,lD}:{ӈ1Ylc(R<#Q\fZ.5VD"}g{V$deiU7 p"H -t+ B;cQW`}VB,wE]Qwm1KXmϫIM[ra&202;}h5`^\,I!MJj7&`,"8W'uʋ H74[8j;R~GG$(zwD )֐C[ģ7d$UpH^)2)}@x![ ^&ޢ!Q5t؀:jGI+#>@@5pQၰ2"\D5P{;6u}b__3<:Vw*`ZXncr',f4:_}ND* T[D ? $hGe0&H4$1vG%UUBK6DÅwXRȐ?n%ƅ7sajAYX9S6zt';=DR*Aչx|: uH`P՛\ K"+HBJvÆ\?]5[*+;8VM#Av|D˥ƇT8.*.^]JilǒUmZ>WYTvnI|Gj(4cڙf1 |$\;>Q^oM|7T74e<E.T ># d}ak2DB"rpP><$*v` 2oGL3I>IֻP:ysqv<9&*wۡ)gC^5J;fd?M!*Ze)[NbAg+Ve9#0Tixю> Z^m֎t y*Kϕ̦rxN8A| r3CF wqa(D;rp>XC !4\e|p!v!5v:7U2T:: ;+5؊ݠc.g4e W?5g1CCT@rB* tO^*)"2C#\]nyon*VM 5Q9>Dj(i|DA;_/4;'sǫ<]*+ &0Q9>pi|;>rdlqG(ub,* _}B$!@ltYFc66#Xr6`w)5,͗n0"9@[CZАUZUɲ%UCFH'|@bZCB#Ka!,˓xčilB@%%BB|RHZRUI`@@z`[a3wYAQ^=G=@ Ey<-ZG:4Vu׶Ne€fvn*q(Ç 9 HuUR>V [C'_cSa㋑1[JOkE*^D7"N MwU #4Tzd5k V0d%CB`WumSp1tõ݊>65VʳpD7qflT4 r&}hpEw O nãoz̒JJ[DˊEqJd Sv>f"~DhTeZK@Yձ 0]\ p-\h }eea~cuD1i\310Oѱ * Fo2AŤ+ø |ӠLpXknd hX 6,+P*UQ98Ak&WB2xe":xd6fc i9lCNPA8jP[W:4_tX% }H.5`dAŖ quh] G'ʽ#;CYh5QL#)uugy).p`yGpo@usY,4P=+5W'+QyeKNU0 AS|>m\h@ =MltW1)D啨r=,[2t}/ĭ qd72w/,rM+ ;  bݺyPEYb6,%c5TyUKs-lQԥƬ`k%h9v@%@v9xmi ^ei2ŋy|I[%*HX^D~X,$RckDW(,,4u=:d%cܵMXao֬# X幭SXq sGZE}[rI.wɗ"00W Gj8*pD0F*u\EÌrA[d狛x6-1/ڦx'u>S0ˀ8;@PۙEEԌ$ cl [,%.A].2:>"LpwpP?fAyXjp3E*K=:>`XM[71"+vč/Ƕ'>UnƘ ]Ŭ3sɯQ+24J&zǘrNhHñ̢[cޚ tAo%NuS+sT@4: Lu'!V~?psquVz 9S7 e2-d{@>`T+mȞZ/3-٥H4ek{th<|U!@ w>`bָ\#wJKyvݫC Tw ]6 ֧< /iQS ]q/b9B/9}6%PT w(xa;jw)H6ɗJvRFr{X߭۶P۶t #iln"pzYI#.5$ Z >P Y?rU7CLty9miLI |wv ÐZQI4a:)o9p5p(7><,(욤TAgVNjk[gK!l2Όh`KFG%4Y-C ]KQ,iƳEmi8K /h7) D1*iF5ӰX˱ڂ.VͰ]>`LHUk0I b"Ik9q wr/_zO=:$> JrDI5Q*('ۻ8^"n(Mʇ.n$:P //&$ϔΣ$W/GaH2A"5 鱣,Lt7fcjpG.M4[cCj@F/"$RU6LT5e|B4Zk Ba=ܭh_ 0#WOk6yKqNs 5y3ΖE .U ׃[~kG !_J:AU,AQCglwS6(eSU9-׿v$RAI !qTxV!1$*ǷbW-KQuqqUA!`" X%/.e.I*C)"GJ峽#w?6Կ2~]#[5|%ӑd[zo5ZoWVZ(EBPSQEzjS !?jrY:M $3)@.qV# aSz^LDki*[miNJ |c;{è|m{W_bJE`U/5 n,\'P@6.I Z'd.Dyj+ikM73hvˋ5.ßju=upUx/EC*C<]o* |&Y!w |a9z\=DrH}E ˫7Ux$zW2w_u~PJn(TJ]Qg]"J*)tX\ų$_o' qn$bίP1MqKM%jTxr<_pߥ|яrQT}8ro*84r?y|яϸj.?ݹrKhz%`T-fS[Åx-P =Bݥl*KOjt *K1HƔ1HFT>/jQ@_ڂX#I +5?`?`T\)Kir ڈ?| ˖$5, E.[=n cDۻЃjۺuC!zLm\f~ oѨxODmK ,ZɧZ#Ve$|Ėbob+"]ă!Ԏ{_ԗuaB?Ea0jj~MƣH庩Ƈ@vc` `cp@HQzP3iወ:a=q^Oǧ89;cir}lYAMuy+]s YT8|XzPuڡI^,BҵPDBA!\(\/K_=׆zx:D"YL -袇gA>?@ЁkgA.'t+tgA>?BеNtttvA>gz:{RYtt CNނ!ڽ HAς} :}:A'{ :=ko.=]BgI.%]<ӽ%]Bҵ IgT jC`1ۃCPea~,# 6=򽥭<˷ގh* 6򽭤<  Ѓ((P;@tSw 8DKE/9֞AԘ"rS=Fa/1~?Ԙi<),m?KA/9^=x8zq2<:z )2ɓlb$tچYm>j[F' 5 ?!l}Oxgp]ȮY3qRm,=Փ.B~S.)v5NGv"ָl]y)=R{+@^R^d@`oW% Ldoy̤/ґ\nC cBvmxVcK$d];`S:##5ʺ}ZF0F˹рE_⽽_/ rvP<Tb=^;u1Y=$~ook'06NwoKX~\[%ebhɘ^yA| E^/ǂ .!Z- e)I˛,X.w]@`k1l^0KB*"~EpWπ1CjDl>m9x@+g)L>X J;QdϢŶDEWżCų(ED / (j'(5D>Xe}(~HWE/"mË" {v!ϰ" [)ڏF`(>Ö(>.l!(j7A [*=O"z-QD [)CH(>Ö(>2l!=EQ{[񶜼"D?* UXhׂWeX$2ǐ` (俐Zβ0t\1<$5! bHY Ó0^gIN7*K"O(iTA$l~`$GHgz'F%2:柳N|^E`G.an(Y0kc?vK4m1PL=p"(U#0l>OZF?~o )ʕr]) E;DqƟY2ǛHfƷJMk5 9oέ@Xe¦\@\cDڳ? OTAp>I +@ z՚F[@a!hw,ŝ PB~SeĊ <9rv$33ͳ/{-H Gr52́~Q{Q;HxDݮ60cqޣ0I}X9/4x>it3Kfd=r܋Lxq[PWTTXݷٱo3p]jg%c H{bV4ǐK2_gU{ Pz | 7$<ɕ`!eQ)Ĵ*qɲJ-ߋ,ߪ/(]YHlxHi4fy {b;hR?mH I<μu<,U[. 3X2VEa(V4ĒGO,8Lpe_fxre;ZelcwJ;#dX߾Frt0˓HķUOgzڻ-c+SjOߝ2ORL8궅J-I%GR;A.-2be:#ڡJEg\[K{ *bO.{!L;YY&Y}Na !fBbxeM.Kb}X;clb,ľ qgPB߽ l_!֎RڄR?ch_)1dU{.ŭ%pbýQ2*Y}'vd_)i'!Rw)~2pG1%&? BTOlo=Tض[)zSVٌjvAς껠v#u,F-\;*yT IAN4nh'7b>2TuZR&W˲lkxTGPRK}%D~Zi%r>&RXK`my4nix4Mf5,k۵T"s鐕{Tq1ci PZ?GnGuJ4, Vmt7oT3NԺ&65 xTG@v⎞tGū<_f2[&~]\r[2 (|BFVBMfS^ZJY}G璆4FM,:V1U^4'C$iT&Rx t5@4{6!TR6wwU.*Y)U Lra+nT*Ӝ֯*^^0`}Z)V*u s]8PҎm/͹ETs\P[חhϾns6ZWφs >aRCX){@ER;׹qh ԝ ЃbCx$Ow& tSZynJ\@SAl-Xt^YM<ϓ,QPB,'+م[# .O_.e/!OVm[{Ⱥ &,h4*b1zJmLiS5fm/ŭ*וb1bkr*#iY=?޺:`byxz~Utm)iX:@@<|@C:]:~@ؽaY*A ގ@Hk[PTRځj*$ygȽC`0AR6yiXګ+WWi |Uq6}UK(d?*.yO$ W7bSW+Tmj fpGax}{Y *tN;F /~.jDYe2o]*%g<]{AELHDDk^6˓x ޫŻzd4mݦŻӾ(N< q%={d!V7uqPN4JIIgn-rPf 6_UV-yޮ#~5r_K5_oUe++ B]q$8CQ9du2ϾTxt\Yfq TSoߝ@"D}H0 tm 7}vۃi DJ|Go*!pyg%Z.&\R*9;H>'y2Jɷ2)n'R~ZmaU>CSM1c1~o$TMRi\mE mhfjX(@/}ߪq_駲[UPݡJfAdL L  zN8"r$CVlu U|a഑2OS Bl_ϫ?g5f %N^, 0G.^@K?giИp_yȥakXxK]<> 1nצ HHay<('RiT':^Vg$R+jGjg1)$A%pOTq>{9>naƭkWH0J1_yݧ o6aI<H&iw1*:bc@݁ zaѺ26>>$K=bm1e:Ux pHXdcYm,iZ(W[Q3Qz^Oz{Ή{py۳7icC'[O㯷y9}7IRE]nWW:oƠU/BHuV/EKێFᎪ EKɚiu|RiSmNe'v2Mvz姻h31ami^GQ Ks2g fKmNd& 6]~n:7 BîHdWT`J 1[.,T!M)),lӄrbH"Z=ݽmNe&ll ,,MZAPV DGrSQi|7ADF7epvHN$af8O9 }B7QTbr*3A&3Xz>,ܔ`>7h"5;NcZ}mN'Aě6Lgb%P儕XBJjw_XrSY 1}dkvф 4JvTͩyjt&V$JH"tV%PJۜJv iL1pF c-Vb$n}eQr/ɾͩ9Ҙsxiҹ8IjπR:84Jv(jgq/蜳pNYǠ(ن&*T~m9uSd83DkhAĨ'ttC 3Uns*3Á6~iK,*\'ؐ߱ҭM30.o?m9(OZHDwT@m 4ϡx=eEyXJkϷ Mz+J4TކGۜRiW#<:+)74T.TVLm4f͗e& ɞc`;y%u9T9`yOK*JK=ta~Igfvf_~{mtnkޯlVه%R$͋l>?Λ/{=jo/ x:yXw !DM#be/ںm=,8X[DTtcqxHj&Hu`QQ nV㫟|=t &Бl§ $/8뷉6XlF&&*RmlDZI~ S2\DG\M|6#لMgpomr6Dd9M UMH}r>1D3O wu?:$Ë5Q޾|m?.'' >T]|ԓ6q:AjisOҚviZkZEq\bvi5_ b2\O&OHϼ6 s3zkT 3\>]1OaEqXnd noPL^xF?*j/urwo/(yA;2!>(_Ӣ.})a$ZԤJP#}ܐi G3E3ffڝc(ʙf&QR.hQDS2QIL0H0K/ZR7[kMl[$ٍgb yEK[J|ֽ!O6)+"A=S{QSDMBDҁ7Q(ؾ, O+kt"]>= 8Fޛh!Q}9[veo}j.^ec{j6~4j7=`:j &$(^_6hEoO&/*JRû{S|h* KՓ a2h=FyQOiՖϷvZ;Ҋ(rˇ|O5y<fidL+B/1ȏfxHti[>pfVv~a.We07nt)fݮ~#vo V}ppwMp;JEe'<a EِMmCT. GH[!]/EmL7.Bh[c-,m gm))ӿVY?m>dRcQb ߿wNgxv;Zg V {FX]1)*M8yvE3ʾÚCk_Xms \π@%%j{H,/ο{x'l2U Vw1m-W^=.7嗏wۏvʬ9YM1"#[( IUrvBQ̤ &[L$yP$\4F125p_2Q(C])qe/@𐣒ZTɘ؝q Oþ2 e&tӰ(=?r;wQ4/LI>{ɝ|.Br:()24ig:*ʇBV:\рy`[|0Xc pHߝ̇"eЩlwuE-on5 !pDab-bʔ7HIC!!.5Vn5!`w4!T "S j"iĊz` !dqC d[Ӭubpatg- ڿθcK zGb]jRPkq!| |km ٿ/Ϳ|ڬ7VjiT'?d'Ũ." ?JN X*e}c.$qxLVjeT٩wܣrPª\U.UP[A*WQr{G rTy^orr R*?;s5Br^WvU}n&g'ʾc5SdŀYLJ&,<:ۻٳ%)֩v?)~|6N^[qLW[1,J<"j3LMi{~#.fU%~fɘCy)Fdݧgtgthg\UgK-*WDK);~B>?]0v4$?mhM7Ai5A]-<)lWw3mQ77oN6{ƁkyZJ{K{O^ L7{?wW|Iy(!`-;.եciu&hBἺd](PuLtbiXn7d@ҕjv,=M-sʟݪU_FK[ׇ=\7@Xm]ϫowhgm4H^/Jj~u'ǛJ(r KOMϾ.-6UOkA)fEejfƫwO3v01 aƶ|ż΍+ i-Cٸjݶ[m@4$~R?M%+(16ТRĢ$tWPlA^o>?Gҽ X{²,|+J /@Tbqn*ݨQ}B sr8Tg1JͳP|thݵR}?o6>-Jdž_^d9{!Y~X>[}xzbsqhn?ؙϙjvWS(KhA+TcOWccHK770^+{\ >8Nw_FEfh@A$"T; DR XjwM]eAE$8TweL2ƶ%ؗ:ʘ؀iq22c- [ȘE*c^ĿW^W"cew/⟥ԃ1x0Mڡ.(Pex$e*)^Evʑ41S!w ˘sh)1)~n{߮cE?e{&ޖb{Sɡ+ɏ=VIOwuBVY=̳vYo|p˳|i)Ҧ$*"򰾅#a]6^cU ɿ~66ݫ7Vuz.ll4LҶ=RI+Nc H H͕#׋hMmI0BDZ|  ֛(}`|^-s3nBA(ZA([x*Y{Mct X#Q2eQʴs9L=Z2ed ٣yta\as%y¾6L]/5-kmfQTH IKM{un(U/Wa([TjpJóD7pZ, p> !`ʭl.?Y%Max~]Mb?4AMx^,~]oi._Gw?utk<~_]X q*Ie94dת Ƶ%v7<NBRkRMz6&U;Q. I&x^T+]Z3frB^h³1㞭3FC$m\Dƒ˒> p+ɼ`K>Cנ2l [lP_i4(-5ź+(fXzՇ>˽+Mh`8Hf~/h{.ikվ3IEa0EDO L[}&I~ R$j2)Ik!-pZ=6I%:B:rZBxcS=ȅ^۸WZqIUK~mc'r-$X=)auxw-{.R_.ͦnc㜹2WmɏTot7ـ4%DX=l0{_D 8C@yy|{ONj+F0 '}'kQpjT"w:Sb1F8pˏ8M5=cbp\rNic5E F`ǼΎb}N*e Gڞ'sWUTAh[zke+"uXQnsz \룯!)r|#+jU{TgKWq^O[{٠]UHsEH5zSgCDJK y=][yڲ@P}jʳҵG`OVU[G9Q!a [}{65& n.%H0a~ PuKosLlL4Y ^Z^nۏO6C9yD:&"Ȑ*BCc67Meѫ0BYy#+V'VSbtwd';ʮn=yV$ w$u dOe/2Rx==xIcѶ#s ) :"ёי>,ݜz5Gz8V,]l*и 1 ijo<ƫ>0^m׽ |ߪ]\X MD=h5B5H q]`k6oUcc>/7yU(8@yQ7x-#*jDzhцAِ75 0-ۍ/yU=a 3̦ ")wm/_bl |~|"|hw.2ek$=iNo%hK~O7VPx(p\kcm㘴q'cgpd-,3yQϫ^?<ɯ8 m:gZdTՇ͋x.2'֮Y9րAD%oV/^uw2aZ0;HS'j:v+#f!R nztI<v9VUv=%NSW.D&AB1B\Q),kRȮOeK|K\.Ta"!Vx4D7,<] aV #+PҘrQ"T^@VKP#N ]wG5Mik+-0甏%!W 0N]kȮ!k?+,To/L8 /ÇJ=PjGS+ORݭM]qJ@qNtX5[s)>>>bYN9x.,ɔXc/k LFcu,߾RH+$CSʙCzCށ.?1:(_]gGDqDͬy{>?eRY Y0azMqq(kb W}"`ODGz>Oˏϱ+;-!oD"qٟ%AԨ>tV&VO)ABBփ`X '@6uiYu, O?Շ> kW YwY}Xǣ¡ArN>t4=fjy~e2Pm[*ML Lje8=qs%h?[g4o|n<}Xm/^/zY~-͛7 }Yn߷_0bg8h4یyF__zdhFf22 soww1Sc)6ϝ %vFOp\($T=t(fEŐ"yp#7PsO& +R>䋁>F ѨW?[>=3["e"2 杨w +2R~\gciݼ+D/DT=bU2`ܣ8/qܣԌ~] )O)7=1!˥YHdHSPƻBIa`FjP4\! +U{.`6M*n {٫wِnW8ҝHdK3Ap[nb,so`,F 5l& kYw-qywvHwE>)V,v#h:UXYGixU. BK3X9s"s_ф#[fFfu{'wZQ~̚5%8awXWHjzRkss*lvjn8:5xV_۟)NE \}ZV~! I:gf봫CNq맧πuk >}kO[b5ї&ˬSmh31iMZ96`l1Kv;B{(5aJ5ooe&-i~!᝿?.?ƌg$oz(un:nҳ]6~$ڴHӾMj^قiGPL ih$R^݊297MHzg'&TwܶAHrnI$?0hHO [Ah]5!]H]A/:Of[n~.[+Գ{R`ho{Bf=M빭/y:8˾,Z? //=(vSQT# ]=ySCc->Gj13 qb8<wT^[`spZ|{(jZ,|]|{[mV7Vjސ?܉ '^^ؿtޠhFkrb̓_'^~V7?ИXhהi&"P򫟿.;WjmžݭXڍ$2 ?| ş~ɾRݧD\o@,Tb1_~{m׃<__}٬n@wHwLl nHc C2P+fwo^,{vs%{7_gn^]k?3?ͶjhH\說 *M׿jMIG-nxmśo:Ղ1g1g2Wr]3W?WCnɕWz3Ҷn glgcp } ,=nZ_L@R*;~&bs^~At&\؊djҨl)Zՙ~p5},h4@pQ,c6ӫ䂦Z 'TRI&3IӼ&itvHEUiXnü^߿X 5In4=!IWZN3ݣjJh${`P7|HI M3#R0`^I]>ITbdw=6ogYU쀿X~^|pqb KU^}~ayİ~Xg=Lș֙,) a'x%g $Ũ@2AowpزG$X0Mp/џX+`Gw~~n{fva6E/57s=Μz*䇋1.lz^>Dݍ",{1p8) 9na"I"=,V翼ό||^;Ë 4pٷrNg4vYȐ2 j$FG4"Cf= RU(nh ~^RpLR̗ߊtNUO=L}6A@Y?x))TەJHҴJ S,=RiT*KJHIRYTjJZNTU*C(" JQ* OTUD(`"e J5Q*kx*2R B)+Ө@ʻsS)#)BhPJ U]*JGdьڣp˯ ߾ɿ}="&gWTĈ "I$ϕ(,QB9"QB,"56V72c)R(M%є QZxO5$m*h%&&-v|%Ԟ@ܪe-éeMv<֋kY:҂:E{i~a9D?=x%5Nͨvkvil$I#"aCbQ1FcJyZ\ ՚%n3BG1%fMN={lH1kbLQ3T"9,1{s?<{~X1䏴)w3ҡbQAx"̰px%812ddUsXb& !f,?4^JpbP1(LRFIZZ1 葱r6Qaə BX]-g3O2>P4rLޫ@"䌥 r&Qaəz)A4LƐ3N&ʙF9&g 9KRprȆ@Y``r6w32, U(-< d@BQAٟl#E#;cltIqX:) W st<9V/ӱaQae#tfgt  Mq`:R?q^Kǀ"^z AJFt\$B?FH^PNqXA{|i\&ej2 /8)ϱC>:/-q)(U74^F]3)U̳հWB@0MXܙL@ˠq1&y3fW{ 4԰4c K :ƱTHZ4#.U󩁩Z{q>U`Ҷ8*Pf@ݥxP5,UG(⠪RxqPU͸Kj`ުFXXtww-T=yUZ4.UǃܪbR@qlU֜hCDUj! ,6vS6UH[4#.Ucڛ2)Vۥ(-viT]G! ,6vM\6YV[4.UCx3ęVEޥ3H(bc۰TMR QVbj`cԺ@3]d.koxQ`b9t,t 0J,`̮Qa΄E0bXX>`tf,2t 2JtU\bSF6e@3ed2koQڜ%pFy䌁zF}tڤA%FLy$5rjcF Q:FYch%PMQmδGq#GF9 [>o3o7k97JYF71x(y#14]{FKgtQoT.1>Ps>WÌ#;W h7>G Ks4FBcU=GU>8rGhQ\< :0A{sѧȂ\bWg_ 5 C cw4=Gw8?825@ #5$$b4=7#C P;0@Mπ5P;ԎCӴ[GƇvćg zj ڑ bp!jÑ!!blZg}p즵8v,r4iÑ9h\9blwgnwk##~fj0Uk))1{,Orx柫2Ӵ px5 &RT+07 1">MDKik"?|^8q#sѵESꙺh]?l4;."4>;?HQՀT5[Ŀ*Bx ;E5 Gcy4۔ E#vs蚨s?)YF=gOk 7Sј5~i?nYE=gԿ1n1Kj_~=s3ѳzUStAR~4YMszP4h4YY2Ƭ˪o@G$9T={e;4F .=kг3zUr:Sј}YsKl|̢Cճ?摩h5 CG=gDa__Nx0׈'@!dhoDRY#dhoHK2gJHJ"% V%}|T2gNHN"' Wޠ!@!?I!s&H!!,p i/sfX!a<`_̗#`!>-8wh!$UvVǻۛoOo/*$ue}2aje*MZPi^{^]k?3?R/ENC.1RE~jdYSd'U_|&,qߔT; ᬍ T6 p5AtA.OܙIk^_ @KGw4H&,%OilP܌} 0 @Q tkGęy WMe Oj[BN`ܸ ]f_Ox"\j+RgDE+ ɂm[)V( K럣&.)'RMQ YP7Dދy:?Z4B--^.zYeׅ_GyD)nB[!m%p0nY 9~g:U _]1uqN*3ӅJ/{4=Đ}p6zwuXD7u=Oν%\ʦK#v.]~mfe4|WQ :/z&@ q}~1a}Or} 58bRaXc sj0?7q}~1c}sj0?'i\_Ar` zv' t5c2" ѳ>EḺNrOg ]ƕXΰTX] -,]fXdպOhz0N',./"lOh z0Q'<./"|FW'\kz0T'<./"3,5gW}BW׃:q~1s,ױd=Zк։˱u,\Ϯuc9rM)@prb,X:rNU\_EX:r]7R?E\EfӚ&Q? دN:2@Mao,jb/FV>t*eCw ;iQ-塣~ P$Ѩ`@5M nF Q!(x`~z MӴ٨Q(x]9la4m?6*lTp &A׼D^~PpP7G7jk (iQ-eXP uUEXɉ﫵J A_e9UF3PpF2 @3&͔sڤ ZFf9UF PpӱfǕ\ c%=e1g%(x0k)g)T8@\KIͨGQAxuA\MQĀ`DV18P06(L F *f9YEF#A][( D<]mpF#Y][(Dn&ɝp֙pUl[#k @,7M1rg(Dd @s̴sҐ"LCZQ!x⍙vNVQpR18P'{t'+$b P- { vk1@e:*T4"@ij(s2Lc喚Qaxre"2L[2ڿe=6TsrbV5c3 1(P}ŬbƂf-1kg1hC&9T1{ϖ BXLɲq3g ;LҨ@R_5!gtԒJ `.=P gt)W;Iq=㣭K49T=Ko=SI[Yπh+3zU zƂR 3Z_ysz[_ 3YzzZ!`Esz3 A@Y+ ҳzU[g,ֳt3`AI䂡ٿIAA6 ę 2 ̇ ճ7$6ȰlPl8A8$$go:Hxa` q 4P, EAԙ2̇ճ7>Ȱ|:A|A`zJRg>Ȁ2>H# V|" R'9Ai䃡YyA3go>H|c`=u 4`)r,T6|>|F>[QX>XjG >} |0X={ALԙr܇ճ7>Gm-I >} |0T=o>|M|9A|A`z 93dgo>|c s ,`r,,f|P^~eϥ],_׋ޯlV^Š`{!?hNvŲ\&TF4i?xI-qpIvFBo2!ykF!w>IË$/ Ya_dޮ?^`z\a7]JipEY~3(斩Mʙ3)@YdhoT\;]3gV.- "+Wް!`@LmZΜi(|"̐Gf!G0CffܙJ`҇ U4f %rrgf(Jf#3 W̐#D3Cn3C %0C yd*ڛr3hfmfȝf(}0XE of(Ppfa"2p J4363P3>PDf@0Cff™*`ʇ U73fPP83CP0CaP B3Ci3C 0C Ed*ڛ 3Thf(mf(f|0\E{3C` 33T 3h *43T63P3T>PDf@0Cff™*`ʇ U73fPP83CP0CTK 47 j /A@ +'DD%Wl DeDk{^- QaUyb-!} 1`M{~HEXxUQF>QF%#j,G*oRKg$jGQҁJoQ iiU@#Ḁ̣޴rjGtKYE)+eMi)c!U)3Ԏ02KC2C`2#eRfQJ芿1jGJKYF)+e3+RBA&1R"`.eK H@v9RU S ?r)(`<[Hq~urR?/e,#e}ƝH,gw'" W3>}C >ND}JygO`hgi/X)h>}hq}2Ҿp<3X'13OFg}K$}ƝH• `i>ϸ>i_RV3>} Adz}WG)nz~޼{Xw"[ l {T?>-7ܼ|Z[ί^g>0q^ЌR6@:xO5F*痹&,w'zQK|&Z[Ϳ)| U~z z˔Q;\)zgJAe@PGw&!5z˔Q;\)zgJAe*@PGOO3 a2 ewTh"V;RAe@DOO3 a2 ewTh"WʧޙRFPo;*4z+SLBX)#$ @F7b&ނ)|~4<#辂)`~ĝ4B<#螂)~_j&3?'H0#䏐V 쏠{  #;#$ҿ<#>?0\5 AHwHhdyH-)ĝ1`j,̮fI`j, ̮f ,z@Y`jf3@f )@YdyH,aX H=X ,0`5)2  f> h1, ,Gg`9R`ԃV ,Y ǰ@ ,z@Y`j3@f)@EdyH,P`X H=X,0`5)  X E@a X `2p,g` %2`̃V ,Yİ@,y@Y`j24 Ȁ2" Wj,PaX E-XjZ+- hn-o"O[sd:>D!n B|aC|25@'_[1>Ap|dj/ O"ɿx|@,_>,F!n,"X|i|:5˧_[Y>E|eftj/ O#˿x|`,_>,F)nfKөY/|X>,BܢY>E|eftj/ O#˿x|`,_˗>,F)nf%+өY/}X>,BܢY>E|eftj/KO#˿x|`,_˗>,F)nf%kөY/}X>,BbY>C|eflj/K"˿x|`,_˗>,E)nf %峩Y/}X>,RK,76gS| ,_|Y0!`DNmϦh,7g/S糩y|x>Lb +tpbS}65W@g__>C`}4NlϦ + ʇH//h#оBwK6S}l_}sW~Ԧ|j+#ݿx} 25W__7||O}yo|_>>kڇ//|#F}f}>5__7||O5}yo|_>>kڇ//|#F}n}>5__7|_|_L5}Eo/|_kڇ//|_ F}a}15__@}bjk/"߿Ho/|_kڇ//|_ F}i}157__@}bjo/"߿(o/|ߠƇ//|_ A}e}157__@}bjo/WW_6][:ḄaLSaaR3~e+h#`iUyS~~q8{=#`yUyA#2qD%W-3957_cD0eWe(#q/^/(y sH,XOK'48(&R(Xp "(>3 (b(X^ (>7F7 sqBh0#ύQ.(g&\(NE$bqz2)iqB2Ow2/"@ ̋ydye2Od^ ĝH/(r2Od^ ĝH/(3y%d'd^F21F,'$=!;'iٖy:>x0 RJ&4\rEMpәfW쪰ta(peoM=jwp{&dZ< ˴?@TҕN٫ne+B*.]d]6o5~v;!_ڏ˩0&TOwW~`FHbH#r+hqsga=AM4Nxo`zojok*|XOKefpckS| nw'6'Z7bJ"̔D$Ճ)o@}CrV4z+ՌrD_ Br-$b},߯#m{i׈<DG٣OE!$T7ٮ0KNDyq0O {އ]h][BtOE11s% T]P`^빰k V-mFяmUj٪we_c)o#gY-Iauxwdzgp܂~0V Ka,y-6fFqt^y;d?v 8Z-~2Q]X[!"ǹ D5<\U х7Slw>\AJA:V^KT뼍ga jYl T[胸)~>j3gxqw<KmQ7,KMx*J M_ "(:8 pWp#ݩJ6l%}w<)ʩ5noc͵OFI=.Gu0Fk.;mPӶC<h긪 )Yvז5*7MI6$i$ &kJh굇͉L1MQGڇ?݆l =ZudL2pdW5Aؓ&_m,ζA< H 󜨪s{7Tye t }~qBCwݐ#,Ա-WL8m OZTxzռCcOt[%/-]1rxR..G8@t;"2˰:wg.Gb ؜ics=q6!Zw6y/3k KZ{+QƫFY%Zt5?XN2>1mcs0Nt1/6]tiQ}Tv}ƙcv>u^= ZL[>~#xP%ՀWwLxOd\үFX\[%!;O'!c1`8oS#Q2M(u-jƷFSѼFX\R (eoh-r#9WnۥC\΃clIҞ-wT帆{5*;ҷ7#)lFnCN -@Q+qa+MܗV^M."]ٹ-R#{VES_QpQ[a!rd%dE]c<{HmIfW@mIc"DSCmSڞ;iU^nφ`Xڑ8a;ꍟ2=z'nw`[Ps:R& N[Vr]~|ڮ&)d#e57A\/'܏F_&WDX.'HP[ LTe}F h$Fn_W7TtPm_m%*W[^uͻˇ*l>Xˋ]9Ƽ{4b++Q{H`Uʼۧ]Ltm) 0]ĐMLEi,ak_543Wh"Lð6Yu> ]gzm ^Kas@ 0wI5W^iox4iwtiKG{xXm׏1t"Ylv+fluPxpc+!Q{:3qGM (L瓡.πl>zhh}I[Ӽb-ZkY*~~i O$1l7vT'mth^;kJ[ `dI3bA83_ňR Z\ˮ|S*cRv;Y/KzcC0HkA*LgOgxWd6jwSc10M MAZ O8i&z _yHFmW4=9l;ּ q-)~dx6mk@@@~3  ^^5TCvh,]q6vGֶj[8wAd6Lklh]W'sM6ff=u4`'/ S'4mX;̹h#lN dVvX=vJT=0j5|f6~C\z#\{#ߞ G6: r#6~pD\|;ۤb=@kچ߬~_u]FCe^im>)݆FcԿ@5p5m׹3N L/e%K=u GzK[6n_wy&='LR^;Z әW'R[kr? v~ԚQk q|nU0rMVy&ʿ*\zjA7U^S27_7&{oW6.szJ6gUIʯc&\rAؐm ;nǵJ:j4|rf߾ r?'9)ֱKt@*r+#SpisZMr) 8X tAS>%{Sm͢+_nŃkA!>s43 az7 &`&kOALÇXr1L*=<ǜ<O̘_3Vcj 5lX@'|~]mtx4ڮ.I{J_sJdVSv7 Zbi K*±&n)i),\}E)zAXE~xcZ#3>=-6>?k<.B)֖B+fa+u^eFk=Q},V֯z SAY~tWa+ܑm4HD4W|3ʫD^z(kOSA䀵ETq T"jxh*ؽ|2y=#XIǪ7DX[:6w p|Hu{QڳA̯DQܾzfwcbkAdE&֊cY(:[m-_ 9R&"m)W< ]Ȇtla0=oz$F N(obFHcMfyI82޻mmd[ï±"~Թ"(nNJr]p 2lsK&$*( hGbÚs܄91Tk*t k+Y1J{yOB.K9Ǿ"c$u3fQ*lj :\#Mlb~eeuvͅ/3aZ4ıNvڸ"PĬdiю l_rrX̼më浫zL;6`r16"QsF)~ֆKrm|9qD `Ǚu]UjVo+t!6Vmwkŧeg<. lsi$< ;AO]xaE[&c7#Gu4ShdVlsS=p3 xΝaOd(:mcitfX!Hq7Gu2JCS )cjX?Q\禅{f4-VG2E'qĥ}쫾aZ$-"f}!yOvڅ;;{x1-"hL7Hu I1ܹ":PSm$!6#ɑ~9w L(+D;'3,CڛQy2Y~_BӨ>CS؜*G欉҆h,'h΀ N9&Zu oD)L-}n|q"4h bV[I+~ǧViY篈Bʛ[F %ڟ]SZ~soҘO/9_~?8qdjI`8O!r9> a@1qJQq2ze3J n,36BN羭l];qWŚv/\Qr| ˖ k~z(bsGi̼N7s8KXN3 3ZGyIh.p!>9n6$[H6vc G>9-Hsg r-rO.1h7 ͅ8:sHۊjvy3<5q[ p \c؟UCDm߿n?˷ Ogi$ڌɋ Mm=vgFWOQX*Th9,<𛴳s$vnZH("HkblfhC"2f#r fizl[\LP/a{#BVBx+?8P})x@<^ BRfrx~8I8N6S+:PZ~*gG]'_Amܲ{mt2Ass lMSm46Zaɇw'v{P?c!f:lbQE6-JXr D2LS9S̀ v*T^?OmF)yZk{^3fVߙM}ݭYɎ@kOS(b3(! i(h L 4d);q E U|P]jC Ldc݄{C8OE5HO'EHZ]4r~T &Wi =Mϖ^-+AbJTǬ)[jCH$~fTI<ϗħG%"Kms)h8vjS9"UP+t=_vKͭI]y0zv:L\- S1ׂټU:O# })u90 j!ga*ԇA%5AUma6sHS|N_bF3$|moA hVǠcz\v0no>^cU{TS++)e =Bn3U+m.$; q9%fo m.fw-g`6gX.GgjVC(h0&%hf3hF&]<ϖB-Ԍ]K~Xxn!fs Il{3'FFu^+hWkF6 )>^XV[e}jT<^/%C4qy|bO B|[5F,-HeϙR}'J1<]@cE?-}YsNzhL03L8]@%^T.#vp'N'NR"Q-6fɸŅӻ3z$9h#v;t5a! Y{cMFl`vps2>nru;K=LPXXj]+9=%m`6KFd Y>.hm)ӱI2R Hm6ѧ_bΒ0A X|3D[X-;/;]AltmEԻ0fE>nq$&0ܟS%ocRu,m"vc9@Ac+ _6Bư2 3k6Wbmd2z%J^wgNi9^qꥦɉ͹[:ӶhӗV(ͼ:fbi0&sB؜ (,Nj$ Z^;u$hcV:jyKۣۮ9B8:}S%=ϖ4fCf<-N6KT~HWuMt3qHk.+P?Mh?9^G}t~{zw0'fcpjn6n@Jb%4֓eB(*dӱq^QWSc$9v{ϗ{f'pcftlΆ:}ʜƦ&f4>K;ke_3VxNBI_߽NmҫCM8ڬG+ g9^nn#kq'CK1#lYגɒ.g '^FE?̂e7;sgTz-Am_.NY.:4"0T- 9cZK v1 Z6"&>5ݪTJЫD BdΑDN KFuVdqΆ$hŏp"QG-2c~m֩h*hV߻_0(ɚvqUJjy4%\ 9oB8+RN1HTV'v*SMH9i*ЎS8^fz|Y{oan ΢YCɁDHBr<'LEI7gLr NE?Eo)[3[]uNP2J5*ٶ^o7eoD]s]R\sUkVi>Tӡ鰡yXǀ|&m6m"46_UuՈqi4si\nB? |m ӱ$Mi m%V!Ҍ9 )0ijM#NM'ΓD9*B)b3(O1*?*j9A$'|ZMȗKTgpԏ?Df RĻߒ'{uuN]j`̚e;u%K '+!< 4OFL/1hwgrp {YBc~^b,?~A3)d.h 7>0ئu-S`N A&k,9?o7s{zvn;zƚCԡ˳`qZJ]TB<h6uҳaU9k($ny침Eܕkf&s22ѩ¦BR;<!+;Ю`s5X yg:vz&=.KNX7. A{3Dٳnl&aŇ6KYۻopVU65nH@bh6{E;7V__}w,x $HaaI_<<cGMb.%'(D86Wջx>#-wn Hs. r<ݎY+:Ťy#N-`sj}هچ}́a &$dI#:Uz~0S_E}EF4nI[mfn+\fHWg{{i>c; ;LDL[!Mz3vb'vP!scб-Y&!abT "bhs6j Kg CA~jJ:HUYs;ԗY>h+kMħ1&D\rǁgp[qQ;1t䢷/t0D&S C1CڹTGbR+05*ڼDw~S?lRUb|Th\5qsєl3I@]ڃm$MT0:svh-`mIn.%kqsq'63AhFP{%hQYkⰥDaN\y~Z}AʍBmg6;S~Y=s>2׊gk稶h:pڲhncUW͘U,~_j~_o/gOӋ8h0YnljCQ੥T A)gw =7I%GEv F'V4ݪd@t6+Yq!mB6P4e=s 7Uk#j;}㰙LYe#r̋Gyuzm];~ypQ̹,frdzs+r+$-ԶjrQ8O:b&~q] *n 182!@T)! 90CgF]{@jzu#AQK8$1cVObߣhwe~_|'/Xu*h^jl9SuK!c@| Wz\1A7lC.භzs{ca6}a;C_򛵠Z5izI`z`hA@s{ĩ+/VzzHm~_ |btpWߪO1L??z [N?[Alꠁ ?;:S}^-=n#J{'_8ȗ.g!U=9յ񚄿 +`!. SZHb>%hl'=:;$H  ;.>ƟrVWӈϮCވh:DSѽUD!c츚 _?۾G تOxO',DjV_|w&^]Yp8A yչ1?ڛ:}lZ8>|f%z9;Gf C!^?|@O]e~t^бVkX< 0@`P:&ՀN<x:jլЩ9@ t$Ib533:2? 0@ga-jV &: :Z$5 s:` NR-\:=b:Á.@8I8o^vq}~E_>oLBnc% ؅no3e;=u.2LrG>h=7w[U 5NJOFMB\V2ꎑfwH"F`JyU]-m)]*;ռZ0<MA S*D[1d]NڰٓfdU:HUǞUX:Zwa2 0 TMJU_L4 tl:65Q}^㔾ċVK-ZV~+uXj^<Μ_^7Jz(yGҋבlZXodRW␅qDbQ讋JbFQf[XQޑ`hPo9t 3^.Kjq++wgWCx@+ h#du sW]_RVjsT.*W-Z%V)fTU594U3k$S F2,3@„sT8-RU>R4?8Om g@̶M#.+M>L,W^xy"e5:8_]Q.nD|Z3l>b fVMb>p&/5WT\F:YU'DaVǕ4h9Bs+:6c-3R X*.v;~ꘙEm7j^z'䘖gHb>Pn:zgwjӱ]BZeD.>yZ!.8//㽓?hX]k "ΣhApHX"ʣh.阁 }9ᘌhqbıZd֦m+u}\ h^cԽX'`?kBr&^[z7k W׃n-0;DA.}`[н0 xe@ˀ϶6k MQxa.ޔ+,UrqPEqxT-!m9hf =2<-"ļ k!.Ҟ(= h[9hf*!ScXH̘6V+/V&DwnWk٤ԾNҏF\->t޲)" /z?\*4q6W< V0@!X@P: `&sh4[?t@:QsL[ɟĻñ39﷛ud!> tz0,ZBxɓ^T*@T ߴȦ]ЙPaʮ]*ٻȺ6&:آrr}Mv[, >jaŪ-*<_G,ެ[xH&v.Ujp~WV]HϘB3}D&yMVցYzF:$,ϥ׿a% (Əޚ+s-6HjZŁomf0}Gu[%:/#7XZ.{mݕg7Ps7DQ:eo5 M<:bm.{!a], X@FShn6X? lP:h{>\Lf;ڋQlIOy Z9V]Q<= % vNkʫw QcꉷZEPBQ@UqpXkM " YbB}UKT jsi;*<*UkM'Qc&ilqů:VNzy b|OHUzGʶ䖒 Kcxfr;)^ "x.^7 ڝE^Oq`<9>}ƽN~EA}.ovK KZ0HU( x B?A)!ؖ)`]` ֦npFPSW5w`a_)立hsj`iH|\Ubĉv[SjJwEՕ:t 5#zkSݱ0ꎅ{'qC[ؚ*?n7W1KQ0辻aaUE3 'AeY̢TnLd?LhPDŽ#3Sñ:#,hWcIWva0D,>#Q VJm{17na FwV2EUїk-<'JgtY Cgگ^4l[!5a*c+熸#xN]nߙ! HӴ0ᙩwNqhj6#guֲf;>qw.LV/%~aw|TQŏB,޽.(ҋr/jA F A}6Fk2 ּ/Q@F`?[ @ Bt}aMǘ0'5 k>XB<X}q{hk {h I5azoyUC[k}Ffڸ/8$1}>ڤF{Y['mN3k>>ֺ#0Y]+n0+=B0άG`P!AM3k= Ef߉pPm~+Քz_nMtbe0 5}Ov7b g]w%j"ޕ> 2= ( dbdð//Zlg6 Գ6}]}ӱX0P 2 ]!Dj+S䂖/!,s!TL<8  |}yP}~s.!2xla8خD?lkb#< g3}]}~%$d#na{si{pF 18!ɼB(Z g晃yQ:V(!+5p(aJp֪$e8sb|^BBap)g+<@ZxDi<[0 jF4Q5&mnś][\]|Z0@_*QxN&lϡ +х8X6b{@]E)h\We~zuWSAzwoU$8[f8 ":<xJ0[}WC(:#Ljz82Y$_H-4"ԒƐqIE c$M{"fbÀAu´Xhhw 5HX`%^s!)ٳG/w/qYwXk-mAs3U7PlӇBh3ylpr.A8T@ SSҤAU>VC鋧(@]?|h+:k*[ATlM Onbd.=7Nێzb nm-=7NQp VKr&I"stG2vbsd0_m6%gܩ_[#m3lΐ[l6+g+gg3F8#Z8#v y쀋:޺jnnvv%SHo ͈I]y_]ŇUr"sEMmնp&TMl=ɐbdD.4i4i@eB%yǴc|$XC){\D,$Y~?-V3hx}7K9Bߔ/*4 8 h(.rdŒ0r@0@a5db)h!<$f$15Vԣ}՚tK#@v[ p4tؼtLZ!kkux:#͞_ ĊZ:KӐe%"EcY>sA^Dsr x8K`^ߚGUK h5(?)ܴtDx%;H7]\GOK7j?X?X%aa4/ Ow.Ӯx +g]=vr<vtFo*pGF,f㙵:NA : *% {8N?{(9x0 ZΧ!~].W=T_ՠ vz}>D]\C0C6X Yd* 0GX}:'%p#t{:[+*ݽ6Нn|*x8Ρ]} %r+:渝2kq;nۡrα(u~;c?7dQ-L\|+M[օNscaI~u|sć3` Ϣ~Yan*obBCD?̅T.lk{eFu^B'/'OfRY̚T=G-x!͵ë!}n/e% =ho8qT Mao.r;N0ǁ` f p۔&)>|pFP.o )]NE(7w[J3'`6i!Est9j?e <\C|C-0,^hK!GʐӷWߝrk%nnwWkxkœ!72M.wSS"USa+r_zc֠(nyr}/cw|55QVQ6@~?^vD[؍#2A!C'ވN72_볌aS>9l>?u] Ze~60Z6_[G8#؊W`@րPK^)JڠL),:~(i6b۽U!!`m*"8 EPֶDuߢ/VϢc|64%4ٗIi"#ך8kO]a{-ۃtJ~%M p7 c^ڸ*}kz㞱to+6X^l/?UV6"/k/HQ[NE?0ζ])e jږ]h>DF_Y$vX'lOIZ8I^ ,mJ W !1,4Z<Psu/-nW^6z{!] pgN6𺹠̙w׺_}tx#ϙ8mJ#|Ɏs|PYȈw#Dqԓ2F͔-0WJMc>FhWN[v<{d_RAɣ]vk?}|sJA QA~J>48#r:yfUA5nbRmU|C\0lO Kfp'u*!4:No5@P)Dy,8 9fj|ևhV|tRMUr@P9v% 7A57Ė(t(N n*{=wG^uDZC1htheU«{^ǻ>C6q顛-%i#r=j,CbɚBD(Kc^^^Xd]=YXlgЬuV]["-HB#Vh\D*3 ,rhh>@-k 5ekO/S*FURGؐm6U u[ŕ*˧xU ё4L` CL,.b$?v'W\ۮl]!\UB|6ԃ9]wjΤ().oo Tr\|6V!u/5VsI|Z4smAP.M.`kj;l ̭*UfhD5Q{+M:MselUس0A{`yxZl7wkh5'{r;M^91^2drF_,1 B/݈rj,;Pe4O9}NR RbLl& f>Aϧ§L>'1!f>!ϧG'XIi4>jI% n|z,|j6ŧ Vm|BI" i|z,|jNRO{D&v?@ZSY^ǗW>H o3<Y C36z C84aZۇ9Bu C9Ahk= dІm8!mUpڡ<ڮxHF-F}emm<;&[@[+ڡM<ڮXo6m-"d6>Ghwv9ihka;9B Cdf}%PDm>Ρ@[ȮFBF%'P#Ѡj$F"F"yFhP5Q#V#]D^!}(F A8~\ZRbk1^Lwh+ʐ q([ d3h2>|Fo?f۸һ 1xoyM`Z0Mp XNObRN0Q\1ї~`R_&D;/Cb|`v H=@sj``KXu5Ypwi؉A%V.ɗʫ;dEIg_$S{(#uSc ~L@x5ON*v9Cgo˜> X'xj<:j`40?{-ϰ/<902'CY(q|Q!A&]98e *݁ќ>Č6IFj;*7杻b(E#YA4 % !Mt a,aá.!p(P\,9 (Xa_pG!f)6ۤ}f[GWBg'4**=j+?Qt4wPjo_(r7B~ၫԙMbNBXsA?33K5ySƑ’2ӖKzaHt!9Z{r$_=}ѓgo;65\YG  ӎ Ʀ%e K9DvPq_8jn$| JgΤ 鈪]oZ164#ܞNGFSr1o& =ǧ&*,y}B3eIeo&=R2u@LFhݓ˫g-dO\\-MF9=o}'HcgU;)%^e?"^ -H] `Jbj-aL%B&t)ָ:jyP}cÓQ>:]Jv.TTM.`MZol$UT<^Țo;*T @;Dٷ"햄P h= 3X҇5+w,^ə=BЗɉ ZK j틧 /H/]|.C$ kxUCLbL( wy3L1r:sԼM ݖ|xL6ka/,7B&9FFiv*SjCi,8e+˜ Ibl!A‹TVDIv)@jG=D j+ ~/*p!xE_œO4+y͞~"I&8;=My,{vziq)ZoOhWS\v9TBki{PPxmiimeD]'yHaùo$*|% DIr*\ǒ[Byah G| oݗOSKY|:N`%vilɪ5~ېj#WO\8% y) h|=ɧ$HJG$H ![n"!] U"!G43cԱ@Pv`vD015Tmp`A򸱋o ٨Kh3҇HΑܻj z%5DDtX{s67ugNcGb 7 B"0'QrQ)lΥ8T-,4ȅTj=6Y8<:}ܓ!Zqэi'lqhV,,,CĜVzβhOe3 ˴0ʨpm.^T50t|3w gMA/ Rc$Y.H|J~3 j !{4,aҋ%EW1a7fHbFhJ7d6V֋,AZNP6 @E,/ߊrbywrWG hXܹašoX)%1aP>#(өrY>:JiV,}KVwN yt,٥p8IIh QFPϐo!UFk-N 9Mq18G`_V=j8xL#Z8B#ZN#sHc4emJxhVFГ"tg<]+6x|K$iF#Iںf=kmYTS@Oo$=kZf Oo$ӝy_<]BH%qTO9L%ޢ9C2@4e[ƀ.r ʺ^ hw pU:k!D"/VY 8=Ӈ0AƆj, ڔBK'ywCʐ8j6f7j~ nwkiCY`uuZ°wR.B.PS$ruKHSt &ё8M2,@.d'a%=}x !gA?6%RUC5A:=Ӈ ( t݋q#k<(16>_mt?S:8WCNiۤlDD8IBOGN"l֍DӘ$=ID5DhvODDO Þ$bDE`h*2HX2|$lcvEYTqM#?ys*6> z&pȟ<9u$QSr=$Bl'&"_ɡg"~K7sB#,C?zB+B,=r pQih@n %GN!c:Z=) U&KL=7%=)4UzQH;ө̖؇9@8BIG)LnToPAۧ@Вc'!0OAUOipYVx$"#&)ȷG"} S lI|`᱓X[$v*@S-@KsSN"poCxYT{o|jt~Ci4P+cQ_jt~CI4aaXG Xxr eV2[Y*W<ɣ!92SoDhqTy/>r ] }!= QVx@&(u(P nGN1rdrBov(=F0n }D;ۡ½C᱓h$"2Cwv(Y=Q- juzޅ`T$H$ C: "ڳNt* 2ѹGO#<|q:W'p Tӭ.>e! =i{ˢڱ@w*;O~,=RYN;Ї;5~$b=kQZN;Ї;х!l Ho:} T>.I4B\aB/ *huz!=X,bP5H;ӱ1+Sh^{bگ~+9Fʱ }crL{۫p#ܩWbڧ>I Bc6.] RP%}@᱓hܥ1ǴK] $OlrBo6.t) |y$zvCwїOi58OsB9tūa;< _^]U j4ʘw![,v}]*5KW=0 qAv0 W|>|`4qAz3r+<{гƼAulk9_3<~`TQ!<8w*Bva! ;A lTU 6,?o?4 "ZwNWDp] 7(c~MֈS#U ?o?ɕ1?k=;_1]?)v= IWV_ X?C_^[{%Իvf^pr[`_>,\y%+w*ك^<0Zy@^+ܩfyh yWT^CGFx`ukU8u0Aʹw5uA65B©F}v,stZyNC~`?:ܵ* ovfm氾Y˿7{o:_eHLTxYfHhK7?*>{v/uxGx>ޯ}˟VrWՏ7zuz!)Ah& K3֟N"u|+v$ p "d :V#?H*}Oo2LKc[ f10>?c61;VaLOV˜y!0X71;Z] ca|~0vK0aL1R`bǟhxޯ7!^\ϋ @Q($2u!Ir >Wr06B 4=ӇJ*--WHx# ` 䯈0wA"6Hk̛:Ng'kVk'OQGOŲ@S.+SEf^pLr^3eAM\{yyEv)ݤYwRWWjNC]o7ѝ$ LCsI@f r'WsM|bIJ,Ect_dІ-J^[18 fa H! X"p ʘ\ 1x8 BfQ[ܣnPM]Ad ּwѧa`{7h$WVX.*}Y}U,O4Z,G lh7h&WV ;C@" B2B!Hb b*a@k%Q-hs@;hc&g{7YB5[reutE/ɥ4,aX3\j!#y΁pnX+Z+ (_ES?)U΁m˫x]7ʣH*Re7`A!C2߆2OCˆt'z\ZB *@!~:>lϫ(N:FfKb>حJ 5N\OĹ'S,W׿/r8jsS~1㇎kM !02@g~"%M,+$60t=>v_^;>#bI>}$|X~D]WOCu4~&"כuxz'?|tT MI)'whw/4! i%p C$n!,v7m$#ſ%b8 lRwFceNyK<*u8ʨK_3Cj2n) "Ea7E a EALǖ3)",o@O~zHnI~ZLE7_Woh*>ݎ@f'J_|1RD#@xv}IKCS͈gjW&ZAV"rcvQ( 38ɤ1#.3@39jKP V';;A}dc;K؀v<c9+2,@^ErI04bx>_&M*89C0Lك,ߘ@̀CLAR[fA'oQfeQ*]옝)NYXM4N5pӪð D["{ojE~<똌F@ GkcJζ 3Edh"/KUR`L$YP)1잽~CgaE۫:~%kI|aV0s9`p I6$z)bMz=|ZIwk* A Fpψo|bF*i`ZŶ7͈QkZ0ŸFL|CP+`?Y;d ;cG_V!iv1z94H}eH[0ŸFL}VdhȚa+C0bP w֚557w?>!\]z~FTo4H?XVjۿ_շn9xM@lsCt/ '"04MQVQ*Tpc\n*zd邩ց jn0`ZžUPCP ~|K.e U4؍tO5,R)4l#Ep54 ;z\׮״;Q. -5=ZHF#q ]f=pݾ f'Zv59]A}'y\þ\qE]G}[z F'Y+g@ P%חZǹ"Ռ( sBa}ŖUra;hp҇߆yUXB?S.޻M9=erLg 1޻39eOq.^Bifz^p|{pji:Xhw-cVrϢM>7\Oy_,sX#q( )kϗܞYM̈́Al\uN<2Vբ^ҔX *lj}Xk޸y?yvh|C-;/G7c{w&^]u&ԣ{⽧zHM=#۴sq]n\m<vv<ɽcK~^-5 !B~]Z(MKѬ1!WQ ٪ۮ2GXV7\x _pITM9Jc(94?0C>C<"M>t=B$ɉvHov:)5~ٍUG ᷷.z ~ Jrǯ_}㻟%?w~=+uU{V+yJݓj D;FXr{L.E8}Y8ED9m~ 3ʫmGK%3db # JrRn/E_?Ge, + jwj?Y%OFiMYDUN֨ &yKb͘>;Q0[wl0,<",))87V"o-G9GR9,=;ʨ.aNR:zJ) n񮊾ӛ]tu6x_x&',} MD]EZ'**4˞̙jBCACT&EYL YԂKP=^Q0kU/~Sh؛xpPzuu7R8 8/'Y2VT ]SªdgUdǍc2{q!f޽-g$yޚ0N?Ny@c"daLrt_ +jokU_/ R}\r?EB)`2{AYahhsUuxy\ <Č,U-yU+W{l-= NUvL#7rV;#hRU*vTc긩 L[ XJY8?m )CMed%jmT72#dπ4> estk=Z4 kyM mjEƲbL+ a[w=lgɦ ߴdnVcY`kTA}AcϬda6`k{R7j%篕70Q*כ]x{K! 5!=&]uV}#M @Ld_l叻cff+  r\KE]>Z=DA(]Pl:~(i6{ E?M<Ĕ-~'(-}}_q1yvFF S/ȲX,#(@PT\rfr zۊQ4 hRFF5L 3h k٢( DSн0 ԝwTKR|%_}sEl}Q2nu]Y 6L (+Waf71Q"$!5?Y 20nrz)\>MЌO9jk1#.@@5Tq0?p< T-L2+NI!9~6j+пS?>~63),LnDy{ԀӶ" ٳm<҇jtrh٬7rv ȉ<a{ +)#0Ex @nlA_ytO9 赦ˑѧM[=g"g6;0C9)x%(1_y"Krkcжn=gn,d"(@Δ!-N'RaqmQ.of*Xzez4yH?_k$Wz63$Qۥ)U B[y!s]9CBL_~bЦ6>{,r<`kWqS{L~q*Kno{yEj#Yw 5ﻻxnʀ )MB\+ L<ȕdp VçXK8MS}+Eܣ)-SI"@9q\wJ%'njk 2-.~jw1ewioй/ {L7{ZftA D :kg939R/^,CUM;F =-}y" x ;hUS䪦(Eɬ o*nUrq&gܶ5'o:! k=q<+y]̜ԒˊǕ#Uu:P$AA =ӭRQ6I7}co+DP\7> h${)hѽLrrح{t*qMQAU2Qy toɎ{ƍ DiO"~Dp1-9h- MeY⼏IlmI%ҙ7hEN)}U>l7 8wF_Pkf24"M"8ve1 hpUYV 1b]b;w M{;Jq>y{s=;aۛoлmeHxN̬z0zT~;fA_d~kۚPf-`^|=εZ[{aSG;mR [Uw<DZSOƍM/SPڮhtǕˌôýH-xʷIV 7%z7fð0Dm?ddnD_#%TP)2ޏ1`n]wR&Mڕ 'v줖 IECT~AǃZIӃxi')zzpAG~62w?esB^$q˫O7m^~]Λ]VEX)x`brHGok+_j\~|LL26Lm%qx:GWw\;zs^jۼ۞χݦqv67?;eVmV\ToH[Ro-F'ե -d$.%vR]A?bݙB)BȇFB nAb67BkÇG!sO>N祀xHi>&N[C%ߚ')?ʼn~5h I8 mVA#\P3M,<_pӯ ;z+?Cih7 q6cG8-EfP)\:yqބF J努+ZdYl*]~ec*vwۇ_vuUqϬHfOb0 '4aڹIjwӅMtoSJgP8qi qE> W38bLsڰ> 1_iaW1>=X0? trvQd적9H,Fhg9pF]0;%I!()<_f5?I i%[i Ms YRXfȀb5̫XQa9J)^{e9X9-$3 " 2 xl{ qa"ޛ@"ڏ@ T  G)_vI'ˋ9TâP`s ff cEQ8W9)tVԁ *&A j(aTjMp6^}ݤP rT@b$"j2I$$vKaq3FyWF^ܛiV|ޓ&i ٗxZ Og7zxH 'pT:Gڙ]V9& uBja4 ?X¹:IgH=Ij\8h)k@UlXjS/UPAƵeįoވ!Z ;a~ X: ;9Db5^+@'Mcf(7WKCG[IK s(PSK-|)gHrnILLVKH>dV -΁%?k4t+ҕ1Nv2r&!݊4vؙ_/55mٺxj +$=Y(6ceIO \u$u+G"#Cv:@x暮F٦FIWB%R^ῄ#O1S J\#W`\5.BOJOSHT> |# :c#ec2 ^f$M}i{vT[@fE I"XYӵXiⶏz.e.#{S`N)u޵M5mNn\bXw\`#0> ȭF>I4ſ4zo[ 78,$Z4 \h7ĘnbD)(!AH[[7WUgIɤeS&sV.?'=V(igX l-W;-u/c1I-ҕy'U܉x,j\iQM;W1﷿>}wsaQj5Jw6UPJ\«_\IOQI:Pۏӽxbue{Ñy8EUj"AS8bD}!Tz~y66~?ޜ"IVp✾z*\Zഌ/pBh5hezj8hGZ8xñt]8b]X'J`VbܣM&$!:63NK# n3drKK`{k,R;JFmzs:V.iL0=([esM`bII&] |E'6_–?Inҝ %aP+>hK0E cuO'l3g*] :nB'b m8BCP3.tXgG*vU]Fxk/l\ܡ$.'#1;o XpZg/`}߷Pnvz/P,fo7S$suYgt2 -)Lt%!ZF[K 5^)֥oeҧ漄=JlbiI\CDa^F@azl*s6'.f"- $61/G̴s1y!};YZHяIܞm؍ o>+ Lڅآq}L;;\8&nM3ˈ\h0R'm Һ@Je(fBnKҊ:@I.3T3t҉@J~Cب Yx`7 B2K"j34nij~[$¬J?igc.U#Un M -[ ]8~¸ܝtt"ԩDCzfes_\n qa)MYe,g[Üb)=SalKY>NMt. tkF:V=%9/'C\21Ĉg}g2uӸKrD[rD[duD=mSEH[9es x~qL9N2M&)-0Dy~fnH wn_wB.r'{b(,$=Zأ0$.zRoJPV0|.kdpH-0Uʤ]43ʥsBE&ȼؾ;oS-W<_P|)HgfyZ)R5I xb5@]1Vb ]ScČ``*3X݂ uo$$8Z/( T>_T‡ _:B#v/& 'Ejd]B׸޲]#GnH w,#]B{D5KGEV!Bamg8xE@ziXHUoަJ:aw߳.uj_Y7+Sè϶ą$.MKPW{6ćk; 5EٸV: ֣cH"I[#(-.Z"AP2 ;6m"d\ÊL'tӧwK L K%i<Zd38&]&ॄ8zC+@ *7ݶHNR&RVY(gD L'l+niR?=nzw&H U;W>OS A Q?Îo"n>>ӷ3H\Ƀl'j#Ynm{ƥֻ55}r%rX&z c0^tg1+Pg UPw2NcK@Pd$BID&iG 8J@j b_{t4 2O0!uľ4D; x,@d{P@  Gc@6 @6@hd$SMҩm@$m.}G au2$7PdI @V lPMҥ7ZxtfĸQCϽZ>6`lͩ@(]{ Pm K2Fq/ܶ\" }%n\gN7ԣZvv>5f{;C~ [ErDc"ն3`F@Rب Tf:Ub WՕ*]c:3{R4jXVJ?]J;Qi.c&sY})TZ@ q$y1%}[g)~ p&.}k[k0ƺk.$&#ircNTt4qy@,wb&@HӞב27SS `ׯ{0-}dk".jۻ /A\u0qGqy ǽ=khǸK7@갇ӨIowsDδy͑f޸8{K75,;[X nn_j MƎ:̡+Ix qZEcG=ìa~wdHNҜ-!:.Bc< $DB}Ed1 c+  ׂD8N%'HnIDWV/]a;9χ9ꀽPЇ ?f@'1p8nBI5s(ђ|j%ljp91d]%(ifLr#S^Sr.4=5%5LC^u7b-aku /QBhҠ8=.<k|<jH'~ ?T YzHwss9++Ee n>1SWlނ DBmtU!}!}t7شҩh?;<<wOF9RgW0am5 { l@gptt B9t rS%),ab&L`yp܉|ADڧ>~p؟hpwGL>^m]cJ(ϰF鵂&UV&'3 9d&!,a`? Y0B!ZJ:iiw dBȅLF d!@8 R/O KWj%}!!V†@՞@k-?l -jjˑfJSSy/Nܲ` ,LN :Zilaxvx˂ϗ/H\7nN)|t<|mn_l~<]IC`9Ę`jIkSsH'1`gxo~-Dѷ0AbCG=ej@_> 9(Ed(*LAٗ:(: LѤ 0qWßL"g$A4G1 FqGZ%hsQbphlk6T 9|CݿGД-d4lIHӐ 1s1 s`GI*-n- G7s^1Xڋ/>FZx(iߠoa苮^qڬj*o_v.p:оq$chH hnjdo0 ݳ,5[W\M)Lp\)b)&;s^Yf8ޔ6#~'ʆ .eҦM65xWx4@|F넵mdQu;LHV7l匇C2H*DM[Z-9oj56aN7uEmjQw捎6^7MWt0^~ 83};Β5vtY3ʈ[#AW4Wa gW:KR>=b4 d '1 I=K7O^z]CJ ̟CN(mRW9)Df($23o݋{/(^f@IzYy[Y~{$>Β$I8%A-1k՜8?9:BXu1L8k\iMzI.E|!wwVVd-6ʌYi\Ju+Qn{5Zvy0$e a̐euRG"ƱWbXJ 81o>Ǹxl,BOTXl(Fd*!6ȼIŐ4ӹ 1Ը֒EԀxi$/垆HE8Jl^ sk0s󁦅9A ]Zk1wd95x4 4=)[Xq8J9i3(K*D7L-bH[ N6?>{l67mjvTN\JbqH4-"La~^.g]<_$QV(Ri!c-J NiZQ{v-e:*_*he1-t:"f ~{:_^mMKO!Vin>>lYڬV0Z}* [RgT0P U_>Mutڇ?_t SSeՋg<鳧S̒ڳ݋;|*z>D p^kqoS=\z%dhzM'qmr֮]qNmF~YEڵ l ĬXcZPS>S/%9f~thuH@ p!Мy}ڳe4NP /F5vF2K7oo6ÔSKTDj0^0>ctL1em׿ɇ!2  즅ƭT6ѡFX@Ɛ-=i㘭30dEi"Da# -2LURLKηV@ˡ{n% 6fkJ2[foixڼ>"j /AA?ND "ۣɜjT7nt/^:؁ZP3Xd2p氺zm;!l_`,}|í0slpK0J#wcY7vp)i_dTdFAeߘ4C%f'z)(VxW7y!@rwr<(W!;G!Tbt1sez] CU=Dz#O8Ih[!Y9qM3>-FMt ?lBˣY8OlMO2#s"ζ 7P*n}ǩIz$AuXNփAՋMrӫa=0,nK4U9b iW461!m̔2(V~$[!a_q s>e`.p^W.L]䗻_D߄ }tqDw?v2ߊŪoa*D1-X#Uf!T}=~n>ڎ k+ˆ8Km|PiXgXRe|}zQYtX|]@ao}awGcظ32/ל-^<ԐYz cX3 W1d^ 8WMp(RZ 02Cn4v6QŬ«/FIln'GИe1[r7'azCkޖt/C]nH]}4 riP"u9e!-Iw(26Q/X;=&JsJ7$aBxd.YdZ'kC阸9wFZ27(n6@N}ߤ̀PS7Q4Mu4UzgWSfkg>6E-H77{K,k ;+ĺ +ud\=T.1^ucvWӀƒ0) a cc!Os-C"4{֒1/Tg6N>d:{zFYM X -);`,9ZŅ&}'خ `crhWE"o"bȸ48nFAXRAЌS09lA fV$JfURXX(JIV"rl\}ܧ"[}I~ͣO,?8kL^ Ja' D XH 8ҕLL׿{ˋf4uPq4 mVbK*| r0+`6X #mnmUSPS̞*0 F*YR7jCȒ5_ RuVja0&)'W=p5GU6UfeF kp{ 4i<4|24%o!ޑKp]k k>Yv=%L\N{de.sBBA FbDCvmaLî rXmn/B\Wyfr~5JJ-teveUB[a3ct0 1xB,]3a2cؒpIb(Ű+_, kkIc1cؕ1>S~>P8"i~ٳ #5vrwB\Z~r9ȳ#CB]dakҨkhز5霩TZ٨Xx uvY7A+=B zho Hze%U L|l/3Y,U*rcu}~5I4z v,eǒh9h g Hڲіބpbn>WwREj.s~DiĉM]ʈS׮"+L^>o?~k%UDegU5՛"_Ԥ DK6yH$ʓg6oV-,fNK6$aXJ"w"]₡HRZzEZig&;SiWiHOu6 iM&l6t}8:L"b2ePwaM}j}Oߋe<d.j9ބqvm &Jk1YX ӣ.qM h=pJ712BCYݕϴU b8•_gOpuY7Q&)P -}>AꐫkDL^&a9)ȵϚ%iV`k&ҙDLΤ ![,g#4d+#C`˓4he,PЄ|JL.-<;m^$ώ`ۚv}9ot? VSwGq:0Btf,U$Xn=(5JwLNĪW@ނt=bdzfOz*c/2ZCf^0jIaz"76lS a^yQMH"ftQ}Xo:oZd!5 j2gLEV{Uܸ#2Sp h-*]W캒hhLTԦZӺXc ɚ5&嵁 p|/>8= PR'v9Hfܪ)v~H5mc8.Z۩U!85%"n3V˩/kdQem.ιipڇBGq4 #N~;b'#[c7[σJg$59# cU׳m%~&h yh 1uEݚd2|k͍-@U/J(G٭݂Vhe3QG8shrϋU$[~r(9|G+\uäw.EwdsrZHw+7t-?e:/3Dp67[u͒Xo2mDjo+f2_UzՑz[κ|̭.ߘWc4p1)0^|̴PW.uuvqn=͞U-қ!+Tu@\At]qfk !Lqa7kՐer mո4OqyJ9Lfi6L%}Tm:Ir[5W֘|°Sqnë$7,;٭F{0-=Wuwz EmeͦnJFQ|aeb>qUT%-NU4Jء,#V~S"֩C4a.+nrYeBݫS)F\z[i{snHٍ|rTZqi&T0\sڔxmcԭjM0O\|4:}H?sD@qV~Jx8/= -J7ٝjĆ긺@}[%91݈4.+Us /\ 5"$̍܂^ܦظ'7歰s{ӧRVʎظBK Kny0Kc(1:.wRܚ@Hi}uE3uHc{@u'y$Sn+'vI X;M5NJ/MvY RI}R [<’+cz?\+2'09/g !QzxY1 7uCt?ҠĆC7=<6_SzqJk Ij^ε == !pS)c7BIJw. %+Ϥͅ jB3_jQU?k[X@X>W~<~{_@ T? _~~ U^2r'Uت~V}¢:T^XrX-Rw ƒXrحeuL6_YRƞR0l˽߫YiUPn~R([CrS46Ak?j hl+OW)fz˟x_f}U*ϦBoT5˴/J]B/BVy_F_(* BwO&z'~G/,3owÃ"BB;C7o7KY~xrGD; 1&NnN7lj'q9^AMA= T6i+U5ָt?X^8;lQ[_hJqݾ"P G_'{f3{!(VMY~x2ˢл@ykh[ ol@g7ĦD׭Me(5\$XQ-Н5˩UD}Q㯲dQ`UڰJi #cDM e-uMa,:]] iu4V/GZװ)mȦ>Z+Ų9D,)|54tIx+PR5t!-@،9# kjO81O/P|aZs,/O 0i Ob^k0_*rxjNZ>CgX, /|"֌/|'M&(i׽[qn -/`i jƸY8]ht\fю)tAE˜zm2B@ hžc=+uຯgoH {:n}_<?F pz򓘑M~ QؿBB=@Xp=MTp HPNW?>y'RJ HS۪1t:yW 19kZjKZOb>\\8?jM2z*bo;??iy\2i%w֕ # Hb./=O~iK[v ]/fCx}PHi3Z8BEU8ҎV9zW t-Fav:jC'Hq¢BRb\wd7xZ~f~-dPGЌ i6hZtǍ&1ǭ+- "dgĐ?$;yG, QhQhy %UG`iYIꖕ7oo*15\o7Zr}o~y+.Ox;O,h# |1I\~Nn3jҺ4b,1LA&%?^Ǐ7O9y?=7oN~|9y?m[V/Sg]V7H'qކwij A[&ޫ 1.(`ej<xO"$xH"TLdD䇘k'`z.d&#7ҷ,s3VgjJJxrPrwot2Lw/E2?6Qԛn}e5q -F$W#Shx$ś2cc)1eܪx# O=h.7!mf46Dy%Tj}jԘL2d]u >AM|wK|^?<p(Q-@H #߀|"8š$f.FoY&[yd-"\$W{S-9\Vp>|~7؟Yb4Z?Z2q[9"['U E7?RaG'bM0Ԑ'1p/ևٗ"]2B&_ŋ|$.bC}<MqTg:x1zQzꪅ0mfLW7ݧsŠp)AbŋuWgH\GZz1hvP9F*Bioe21͸_^ x |l<MRK.S<ֆgS+N4-.eD@d o<|c7e#!uW- c=x+7m  L2-AZZ尒:)A.5,G~!e%.>~]t!'ϟmϭwaO{ B԰E^8FW3=fDRP=_QY-4)Ϧi.<st 4q5$k'~'G, ]Mկ]2׸H #(S6|l($f'uww>ƪmpg^WIJ`v"ۇh6u-eZ77Qsa; {cLA򶽱D!)o;,%09PjzM 1͵T=$+ee<] O_?14 wAwkN.1)9 ע} J!8T] Aݽv,;>KFڡNة*dOZŞh.7"8WV$KJzzQ3kooHI 3k 9IxG)l0. @?m~ߧZz %ӭmCsE0 8hObN8 ЗӋB/x$3āe5]*/:֋ŏj;*Fhch5@ݶ6nU>񥻉0[beGfq^BDRJOģïK_Ӈ1{CddR=>~,BLΚk5P 3ֹ|tr߱[0PT?iLj"3C,׋V3'O*fH?1 yٸݻ2DAk+9Ue3rF9c9'rj [rQӸ]e{t@DףkoJoVKɈ9iT=U8Ӛ>Z/#kt=o]CS >(*}uP;A6r^ql.OgC2Cih6 yOsCw(MzZ&\pK¥S,:躩kԋe^;0nӻOf=U\+âQwCO++];f_@[2\ͯ/߾n]~ 74"?6ߟ"0ŋxhG48Po~]*9$'?Ղy!2sFYKetxֶAK 6;K-ThIi&ץЂBKv99".@)-ݷ$Fڭ8Mm`M蛿13!ny1Ω !ASO O|YYh^z P^!Zo+:yq0iqi{?gB./lz|܉׻_+ޕYSE7?R1XL/E9Pf_/cbmn|"+nr忊y\ ?Oз?>}\*Wg˂:*u_J>nاӨ-$>L f&Pgjp>Be-PrBAYmL*n"n!n9]<{&Kcqҫ{[/HL*wS߼wJB';u+*:C4VI\NG1L`oyT'ئ箝BGj\lDZyf4*3h3FBm4cݞ Ƞ47c&5:5 Sæivߠck]]]j& bE$}եa46AHw"q n"$ yqWIA [DbHWޛ n"HՇ t΂ %rg/XJ?GqKM*Ց#H魹};eO#ݞd$&YbAܢZJk<8MUk+Ar|elY 9$Kxn(J4n|=wm=y8~@'(O`̟Th\mZ;!R}ooZ,D$?NC1~z S̀\߼~|#NUj߼?އd# ?OǨ/xڀ5Ssb,#bm FïviJcPRwoK+Och%ZQqN[BbeqaSTNyis|}<{ߞ´wfv@Bi'(kWT40EbdBis{}mGGvlmxx[0UE'&F vV؊a+TKz$$6{s~W Fʼn"A7W73(匴Ův}7 Iբ։RK>Ȃ LZv79aIofgIsn{ՙv@OxWe[YFF{]`eE@SQY/Y`y`eM$Sbnc% +raSٵQYς/NJKϕjn6&7oiyb0~9=k(L\t̓&zjаEv mӯOkLQR=+ceDJK [V74nLAtB^BfǪ"j|NW=VAUz_7W;=!sK!~9Rt2rk:ώw;" .i]\/˙x Cz \V{?)(yr%wc}<ɠJޜ6v n7As*fӕP1sn}1)֖ɶ8a>%Ź]oZ*pmEeq6 F3pC4/C1 6h;>m[, em] ,cGV/j1˛}@:~}PwLvC H*`X<ДO-Exd*j%VT xMUT<&r XA0^϶TT5(bl{TL=]#϶XA0^϶5(8l;kPIlM bDEo'%;6;e<aqB߷ I. }tW\wWpBrBˡO[UP~(qw|ȋ;sbLHj&OO$+<_Dz}29`ʈϮy1 ,P'6}-]{q=`E z+?k0d8 _ǟ8IyKJ<[w^?yؤB?aw J pܞN?O\.,8br"b0Jo/ū3(X|o|7bW͟k ([vTj% Vi{HHd%>_HOvtH$@HÌ$>M%$j  BH萰f : 6:$C$뀄8Oܹ$NؐXBb{H@(Y %3w{`b_Lԩ{q*#rJN@N@d$Γw|8$89%''0pNp}9Q'ũ *9A=8AupBp<989)GJ8aγxwN xP&A<p>I,Iy蛔'^w=:)eVÐ_ )y:}7-:a=0WC$ob^JyXfa< g'5}S3z8zny#7Cn~-`=IC8qѳy!}Fyq*)a=0B q$TWI=C =쑡!CRg>)z蛢'2z9z#GC~-$3z='9zXa= 9Bg>9z蝣9zTQ= 9Ր9z䝣Geѣ_ )W>$oYzTfQ,= Y<C>iz䛦y>&vG|q'3`ƽ@/ɠGg?&vGXY%+u=XLج.VȊ{nV=:+e2A*YqNE2hY)]VȊ{nV=:+e2CYqʠ%fHjqeL12I풑X{=oX=:,e6e# )tВޣRnvۆ > Z{tX=݃_%,}`谔{j!{NX&Z{tX=ރ_%,}`谔{j!NX&Z{tX=߃_%,%}h踔)|j!N\~2lqaeea)flߣR]<:qq˰Gǥ3L> 2L [|t\\>Ð_'.}p踔|f͇!N\ 2l9q).C>L2&踔}fч!N\K2laq)s.CNL2:踔Y}fՇ!N\܋2lq).CVe:cˬ>꣐_).SLGǥs> YUS3܇+Lvy}kfl$s/g&/OK4K*%O `,|<g,PL(A`^J70#y2؅b_*k7T(T4-iIHEIĨ$t*5WJ;RԨRT:S2㪔zک*eFyX0w\2o2B,U*}"IFyi+-iϿ,tJ_vbV!Qhl$HmD0ַy0J"JQPT:bGJo JqRlP)*J=t{[ohW)GRꤌT'eUf&e}R&NSrA1A|^ʅ~gp*R$ pFӍtzAR,h=kAOӆ[I)YMI=YYA4Ҹ|BuysΝ+p=}d;WN N33F-5˖VӮJbSly9H],l$&|k\:nT4Ojw?W=>nS_/gNK6sBwiw/tYq*X(@qf4@ M')gf#h:?%'MB7?[TסUj*Z冑m!w-deL2B:L0_f_me˺սF!tǕ89 AJ`Iy^wo/Wq1zR9?+#>,60$,!?lb !"@Ċ? )#B8Oa3cpAQXčM5Vb^V>-;`bP8/%W;rOǧc6 Ju{jqC0R45n2}U>.Ql.)Np z%RɸqPL̜K0ddn*NIdC$(yJ6MJ&>J&JI%'JNgdnr7(9T2GJi%Ӡ*ٔ7+(*JJ%JfA3U9i228qUˬyeCZ>ZZYe(SKk-8hyZvC02TePj2ZmZ>ZZ̯8>Za-àjyչ_q.}\f`l پjزڬetM`|)L͆A3{CdдuIkb"f x"vYxЌuO U'7J.P+vޤF۟{!t;/ZU__VT{Ϫ=?$K?CI}H:<$5CY!9 "ݝ>"_ĥ ع R يy%GăZ 4@;1lUa:.ŃauƇpqXSLamu\;CcxձGZ4<$v,o:b kw2AX' auLKS;tV\1zN@<@Q-Fl1 EdƎbd-YjE<.'1)5/H2<*AKA$yrA5DA 9/CSiFP;k`A΋4 :G j<z,A'6K,0^]tM0;A$ 6} fg0z!bN&Q20"I lZC)TOCZě;>Ni7RnM 귻nt[,=j<-Vqw|(.|;bL]nZbpʩ jVf>? =cAs=P^yVrEL^/G(+=\1GyC%QYX̔tjp$A.7^^ŚilV8 nHЍ݇cC$̓+ + 琼 R!{mBA(Cf 5~ƪ a].-.9=ڷ08ЈVo pNo{e]t{WV~p+Hu'V}}F:Iq9IѾ%U )8R )M)rܢ7 Ѫ,mCL 7N)*KqR^R! EO{=)j")Pє&Ǎ pH%t&?}L;KF%~v+eUycN@$8Hj6 p+iTjCܰLfIRKZRM-NZ4xA@3 ph`940׸@کR5\Vܖmfe+//;_L3a=q0xleb{(jhNOmVZ ?X&?>7 1ү8.*ׅ)R[+&B8\(*B!+ui_* r8/^+"~R HB)"]ۉ'ƎƆkHW3?o@haG~ a}˙v{X2R?ؤ/w iw:""ٝYТSt{ nŬsl[N+7ֽ,5`cEp[`sn6I ă=?+ؤ ؎E2`sll `{~`;75]v< ׌جl{Y#Ȁڃl^6`ll.`;=`3[x6u[t۱165tKV`gzRv{Ԃ5aޒfTv&Щt}k;9Z`R&H bj֥(q-[ ]DiDYL#Һ4,E0Jnѵmqܢ ()GZr"FC!]DIYLOҺ,E0JR^&g"Heb*֥2(q2M@SӞ.E0K Ʌ:W/ūeU(}̬F[t~)?]Ĥ('.=nܴ VRy4TIfV IKEL<ӧyLVf>h-~U4CbhXE4OQ2w[fi$]7/ahC3M{2fivom I("R .a?5fs6^,N8C4P%#e3C<ēj!qYgYsC=STe*.1 11lĢ$iwxwmvT' bcVuo?dwo~na3—|͂/܁#_)_ Rk|9{||A,Q/<_s2*E,|,r="M_σ e=TMciYc_^˦{ {iYc_^ˆ{-ә[[PZO_鴾)pGnF9r:l )pjGOwn~ԯKtsfbI&1nԝc?9ď8;$j=_>ŵ pCu;[YwOO)@䶁=Tvx+H*`8◩ vn&&\`dљ$o/oy s$^}#fS 5Î''J܉_٣-}}џ3#1yg4:O}}џ1t|#Ο>iG蓑OՐuF>YG\p:kA_ɑ89zX>V1>2\L޻TGLq1RևND@9U2O꙯J6ixxiMIMP='{\?B"D"~߯O55 1MHЄ%f|\{i-6=DN*0@3X xܑ?N?=Q;#  Q)Dų՗>.@>,~RA5T(i*c/cPPƠ2>Qǜ yZ-[m <6yky| q5(?aIU{gUDV%nt.Lm,Ab]i@Ҿ ɚ$mgfDNWq`?*؎/ODiv&“椕4KT㓷 fdvI"Lebg8OgnQpƕfGgl6Ƴy4Sq=rvtڂMB,Od'/Sga F{CiǧgC54#8tӉnS|11MY۷Lg0U2:RZ"3$L%a)$N2DI9sVQg Eѩ": B=bOT m}'TP *ׄ"*:#* =)'vIx^A &4\x8 gձ&L4Mi /nmM$/ ś<xrC:BIX_!Cf`fV,+),Ы)4J"B>5+ iN~$;7B!~Y' =sve| U6ᓒsKm=e hIY)o/T@K8ڽm-uU-q-o菱6!@{˝^rqdc qA} iQB3 ?rڑ_юvaG;bfZ~3WM^Ab$cXPAc0jbj ڵ#r ڬCk3v. cP(Ǡ1l51z9\A/ǠPAchMybv. cP(Ǡ1l51z9\A/ǠPAy0KAcOQn *)P=x8K*9!Nj 9Om {IϹ 9:^ܖdOygD);Kmؖ2ۋWOԀ.{ɨt+2A)'V@%tH4}^-ABYazg UuRLth tA)t`TΠ@ ZY{Wϱ*|:{)=QR".'U'QU]`pI.!Eۇtx$$h ,x@({N04+߈$֟hEJ'Lj8Q=v>cs&>, bÐR&rr^#6. rr^W#񚩨CQ#LQ 4Njc1KPK<ԓzx Ӆ6u}:~y>&X}v̨04?}zsy|~V2 p?Xc 7!{IX)IUgq NN<$\\u&t 3ڟ{3NW] + ڬ=?LTڬ(>-{'r5~ " HJ6OO6ʞ^3xSqj]Ahzm\6HuL}NeY{9kc>3߷6 O9Q~vƕhcW ?D`aSp2ļFNA6!BL^%tWHX]!<8_"U#@NA^YǮ:vuFyzIX7_Yя2SI-Q)%3CT*Y+4k,q;NeRYrՆs v+(͡*Jg&9>y`g#YGsD_wf~ VdnT.G@Y,G Y0>aL|UIGzlJ ~CjzƕqcKt)Tmנfkblq0@GqQ|gK0 , -J6/ < 6vU7 ,JV쎯/, a3P RqiA \fFO%/*.yoy|DmwAIM[=Z&ʚ ;`/A?wv BS~5C! g_YHD\{'? 8J@˳ѕF B""1#rCV e]lT?׵g H;|yF͌x_mxmߣų,=Wo2h:d;|\ųV:'-B<92"[BqZ-߾۬D=N"yֆ 8ǏqPUNdu6 ?H8)+w0SgayG:|0^q\ɐrׅJ B;^u_i?s?}8Edž߾E?}֏˷8f%^r/wߘӱ;TS ֏=<uO %'\Df$Rjr2O)Qᔑ<ЃI.|@OG<{DU_+>>L}:` yӋ+p:s/PǡG}vf+8 uYw~xnfǎ?N1y>Geޏx)-'hZ5G"\ *r'wV䎶A* WU<"w*I\XKca\$7,΀ܱòŰ\*r'wV䲱zk: २m@3,Cc?Ȋu66)cj9.6Zg̀0emQ!ivƵuຽ(uU[P\>e<58o<_! 3:k/ *x^pAkpsy,W׸f;="n? $$aXY1b. -i[c=`<Əf}M< TSW}~\ߩ. WGxz'Gi7ѯ*qNqǎ'W}x}'BO~RB|7/_ա>o-oY(oT=GWfe962&C!/88]8ڪBڻo">~!{a$?aZugũ{2`?>*X]#7-$/_̏?NU~emqSZU~Y_W*_}r猸1}< "0d"6gO̙ {UUT=]:^fs;;"-&U0=Eh8|;[¤%,! -Mwq}wnb: rj0MKxEE[ e]wf|(_K\jg7SSYM q[1R4kMQ/yGMB\?,^GݽǀkO=G?RdPs u I@jaAZO9'ǰ5.4'K'<>c O_|-ie lݓlUPݠvcj4Lhh'Y;V$$D@B*c6x1MUL<@}JG V ESHzhB:5zhꡠZxUQ $l]:G:H'K臁~X~:g?|(܏j4߇i8C޳|p%/!u8D_R;s#u(g`yX#)Skc5ԟߔYDC!(daz cK,1(dxxY"Z7ny^QZ(o[*X'Hvhy^Psl|}%1\cWg_XK š֤=c`#B&CcwFBvz-ȦN:cr,?~GCڧ3(=Q< &S{gy+"bHTpb*f6};P}^}^=FOdz){ GG_r{ !7?ӂ2L.> NA7$w/YX&+0|U}ܔD {aWzEAqlB']G.ZΏ$/ŵ7KNݧ]yf1.tSXMrQ8:Wy~=uzЬI9:vnEf0+GygX\4B]fs@#=Aun(GXxgx\:jူe9#<x\DarGx>¹֨0EFãs5p0dCU7f1-C :C*:-9A >r0u¨Cީu:!pPSU7x1]g9Xu:Ta!͇a>^L٪C^Wxu{u3bxw갃UVV|ftS: NK睺1}{RCת_P<ʴVa8i hih,]KOYI1h<%2+GUQF":de@(JVSt zi\R?4w#Jӝ Dq AF6G} &"! 1 aAKom?lVucSb!EMvQ63EɎݿ(޵_͗ы˜A桀5E{cyIb0n{O~cuݵu;/ݴI pIהr 9OL,XPK5ȁɡAr`r`R 6BgX&Wˁ)EyD baڅYO.:n0J%*]H"f? HB+I$i(|'w1c*r41-^@ =)Лr^ -#:At/x47M$#M9H/x)كN@ArP^ -;Ĕ(x$RewvzjW;z~>[/w;(oW%9c}/f, њ_WPկXՇWY]EBwu#Ћ}9(>U#2xRPBD4%XY2ڬ5I #C2eM4Q)W!"" ,C^A S"JJCh4 CPv:$JdVY*_X͋O YnY4?U +XRTd*ᬁLEgZew jЧ6W˜ߛT;j  "HŚ 8#=cm2-IKoL"OE(AE9Xכۜc2hϘV%y)IKbN~qXxQ_I$TXv-@U8@"F3rl^aj3RmG d@PBU!EZ<{X}ٯorg\PT**r vA$ PkR_ȉƬ(04 :TyyKK7ÜxO b)fLx}s^3' D[ˀ2 ]mfr@Io0QB%QEmTsݬ} QcuNpZQePu,UWn=nvӇ DE^j]᪯[UFArU^oEb1K)Y>7K6)ĒezUף[5Jiu2eFEryhAIdu烫Ω"_RR.VnYɶHR\y RbjvwI VUJk7G HΜ &]paa A%+Vb}D_8"&kEDvP3ͱUhWSlS *X?r+fs|j+ύV= Ʊ0N8h\ &Vi:kƗi\f[ Ǫ hCi/653H(iU%!.E$7 Q0ii^LCܮvk^*nc^X(DY)~)w-JSQk 4'*(x}e:g-T-?QAx.qKqٞx Bx1p/be3 UZS(fk{p=UvT6SfWz[ni]#eUۦʃ."j* zT_ @TV~NNYm~aHH8]. "B^m[sQ (Yz?գϔG 3R~HӷvjNnLt=AXNҺq<|:.i!;-^2ٕ)P)Z6}Q}FU3nE i_E֤%`d/@ S AKNsS![;O]jumo[3V Fbi|Yj0ڶ紬oߵѶ`[]2ӋN/r Q,o4Ouʀ\_ۭSg5fbf}27[9M9 X7}?giTFeկ8{4!5M: DdN$բ/E dl:\BaJ”n[S7ʘ0KGmbBM,֤{ZOs)K:XګlCk;ᖵҭo>Vc1.:̲VB,VH\:3b4>à~e[)r>u75 Hr h)Be,VƼەOI^P<5XSd*`ܾ&FaZ0 n7uUfS=DZ00lhU^yv=A,Vɼoi>jSڂe;\O5j|NVxa@2Tu\AE,VļaxH3y/.i'][Z{(WcT:Gj E `TBq,d8;)ⶅjH?b$A&E}1Z)dzʂ(p T5xnWݣw BTRvʀUQ6סQP57 "m";(PEt黛O*ۮLMl}H8dыrr w#cp˗w6`˖2l w A9: !Uc3\keaf=jblaUx-n}{LY1c,ٻvO!vWŰ) ]bti~4ᰖV+]kHM]SJYLp|z/iv\ڗk_F;ZSyg+8jͱ}af]bۜUqh~o1RǫW^>;=J\ HNK b)<a.1#fF2],!o='\xziп~ oZmR,r= Q) )D^S\٤m$m[R,@s ;gd͕̕ыo2;p{*maCI%v ktEWYEV³ʞ_\%D@JVJ(k4$GאȌ(BCK=[9DԹ\Z/YZUd`>P}ڱV~܋T!ʍz0iBD<-?Txw,=WQzRVKQaֵdKf}%-DU6AK(?V&u罗FU+>͍%3VlH| 6}AmڀWڛ8frzCuP;I0 [67hcvt́>{F83ˮ\Ҷ\`buWoc0[>a^*YRY"SeIN\Y ̎NqiɰBWꔕZ_-i{p[;7ve- {UH0ɇxNY FPgzX[ $Ippqsջ}ty-NY0TYü\KSvnqxi5qKpɎ1J0-e-FΘԷ Z@ݱei?@*S J@d ۞+ڶ%re2SIGzɅCm0P/8f㷿t-,d>}z7ǯd_vV]9ެ(,8ȂWʢe1,mJaFCRVoL:()׼qˀOƞ+*/5;*HF]'VMs^ӑԲ"DZrzBJ«򪜎*ټ" 4?%r۸6]NNq']D'e)}7͋h2"zKP;f$oh拉SJ4vE~_-~?<>/GyN  R xܧf]SBof뇃/28JDp^T3ռ:{H(4d껨皭ndVzˁ-[x^sR&nąmVR ~$?HݜLVoSmG9i-Jf jQR'.4ott/P$ԫ18 ӣJ`*ͭڣ .v#GrqTRWpvQµ6`K%hFַf&qbŰ`ni4ʤMez]@GsL5A:AzJ/.vdۅ'QJ8ibּiWU;aDZG;g-GbMhz1N_sp TTh-O(a4.i:ӐJ,!وM5D lX%Ԧ/]1*С3PK} LC-jjxıCm ʱXWov1$J+ָcb#7DuNfrzH5nl3Vfmsk0V^Qc(̭3+j0JlwX Ƶ˅ ZLje9CYLgMRreG=T^sPܭ(k@\iPpˎhh;{AtWcDs*ތrʽg{Ϲ)3=3>^vFHc3 ޒN[ 2(䕍hV[[oV;ɭyqfueWuªf[ݼy4DۤXU3q"zFy۬>w5%WzC9lvԀkWȁQLzV6IZPoSj h)|1\^))p@$|[F^W)ɫwiS.m[+SjZIx{.A(#9Q|K:\ W#Gbb%Aw>g7~8D!Z jTf<ϑy4_Qwޡ@G tyNvbT(;ϑxwUƻ;T|Iwy!*wǪU؝wPj">Gkw ;wҝw(CP2">Gh~yy?^"^Iq0c?i9~}rXW=qyByr7gqrZvls6U( )҃;ypI:+= -뙂<w j .J◥Г;}rGkD®2En H@yt'.m tQ{t1[<$[[4O=-? 5L=p8&-HCCSnȷ >iB+UX{'t0r;[+*ɓ;^Xcoр\pP6yrxZg hFCG<|h|4\aM"4Fm4 6Ѱ&O.-BÝ]4E  {m&noa0p6yrh #o7ѻs9\w֓,X~P%̸eMģgPRN^H1; ѠGWQ9;y?F+ 9׉u 0#Byܒٺs;jf&P4ODge'ccܝ(Ą#mۯ׫eYNxQnٕם,vxx6_>F/ c;]Qz7wm-)FT/<Ӱ>9ɖ9)3<@Kv1g{lwo݅mc$3lZwd*LId;ϳ==sg+^mMYWGkPM <d[.l7?BҎlC*)Vly'ȶ-{fXId;γ==xdcJ}ǒPJ&ҳ=}Nj%Vv߱$8괦l+ŒΪɶ9`R S n'1Ru1~*%T/?* u:bp_GFJ :U&EeYx|m'%*2Fc~ ~.)םwn eWVsK#pTfQxQ|?F_ oZ)0^Qd@-9X;Kmsy(-I=~C4XQ|Ud&'r:92pH͋57Ӽ·79Uf$n'q Xܑ/̄q چU2]VDLY7$O eu$XG%X@+VjVI , # f+$USTۓ ,Rs&1(gr|Id$F)KbDX%.[x~]rfLoW*MI%?LI*2ad  3t; #B?X@ )?{(Ph n7ύ_40KIÉ|7|ؓb3&(;̲?|IQ">Bo&iZeLUaNdEap.'?kn6@MQ螉^kCUQ;s+3ߜTczvn1:ߔY|fv~hXkK<~~.dB(XB$q-ꜬmKU9 *Uh (E Vf1Xzكi)2&*\ĒZ涪$ KK(3 w+ Wf^ I˩L"+)j ي![,:#b۸NET[vWpݼ'p~/ !u/ӟ;[S }?Β+ ;\22 %g\r{A;Vlj}bFZY@ۙA [ѱ3@{~4W X?o>-Pԟn(BrD ㄶFW{T&beYޟ{ *ڄ @ )E$lZ*`@;tNm{q! #NE@Ewkϡ܁SUXXrڼP!3{jl9ep6Sv)/ڥӱP([.uP3sUܱwa4`M5i}~9@5߱wa|?h =y-h(86/ izvhݮvkJJ7tcp4X \a/gg}u>wB3S=ghz>~W7Ҵn-wRAxnBptl-2ۿpNx B)/zkGݹʤZat ݵ*a*)t lHeOtp\%VEXvxf虽lNPBo)3l+TuWyV^]CP~ S;iT#~FT6Pe Ƕ2)Z-7jjgKyknbo+鵴aa^vyT X˕aãʰ} OVOd]I^]MĊ$IfGY6V|#NaI dgI + ,j#-|PUQZrkjћQHS11#(2zEp)iyYݗӡN:Fϥ)9 XqߗCL|ܶiFJ,0lhX^֟9$j ltomRi+HBك,=֔?D[rҴXUuL*y.5]JC6ݭjbY,vH{LLoIZӃZJ|!ip !Ӳ,7T/r.ΚSPK4)U&6}FeDEF;L9U:RȺãDWA^a&&,pR:IمQbUo)h~'}vq96nO*MHƳ{Be~{wU;b/'7M^9QUrs*yH2DU} !_NJF,M"U {8V/AvB{֤ m',(Pߗ/k_U4 ?ްD[=Pa 'ߜ'XuE J't.Tضc]:tR( nA(K)OX:wO(HM9[; 9*RT8NBPl\>(.BVZp_ M@<[Y\ ʫSkRa:p<0R3ĬHe@<$/SD_V]ק0C Ƈ@77A/7jg}s*@iIrfC ǝG".'VUDՑ_:?cR8s&o!G e "obJVC+=S6Kf*VC]V41v}흤T@9"T=w=GA*EJxS;nlY&Zoj7!QFHJ֘s=$#N1#ÃfD rx{>.~xXm/!-Xd^Z 8^sdpl%嘸+?|Wn=LdQd?F_?^cW1p*Hxxsrߜ2Yc 45+*L6V 0!B+.G? 8<~u ,_>uxotjN0yxAu!laA]ჺrYb$M+>y]h` RJkUaPXa2Yam s>y]K%Ʃ TYw^Pb'eČq,1#N_{bנ1N5瘠1ҋa8{Ѣ^}Ȯ@da LcipCGr 8+a‚d)xuB֗Li-s ^8 7ꣲY_P,%畏D`R)1OZ(T!/&^*8 78{q KwOju(#[BЦ/00m^%KGa8{Tp Kn\p+ڸWSGlRQ~F]8{Vn KƷ~/^^W /.3iifB"IK*z0|3ʌ_ynC-%n{ы D?)M[U(ȹy׽bv2YdPā-E?>ן|)94@3hCOF~࠭t= 7ph~yQ]HƕQa}=@Zl#?|SZq,0(?v[9zT8ְ—ˀWȏ;W:uRqlFߦHʺe1;8K&9OF~g: lܸzZ%P( \GT0Lgٳr[*7~]O^_W/P}#q8o%c_no+3ΞRz>,~^EȮBd0l(Ѭ̅`gFY?Cg" l8co4~Mt: A{() SǑȌgAqueס13N՘O)9V]Rcsˍ_( b5,~ޭ}nJ&Gs[X2и[I?%Xf=K J:#ůzEe1DZu`Xp |gS⑿ -t)=^jW 5tBII&4OG~,f~"Գ| ,Y&VfJPew^+INX(Xb'jP0K4Xbs4x4\5!-T<f ~Zx糫x* _iV q}=?,ݭ!1@DQxVа4i8 Z%KlO2͝XPtP)Tk΄fN?IcψVq&E/%h/glw^UjfڣL?fCAB~Ԟ#0s޻}T.=lv~'Y2ԗm76EpXmwC8AǪSbX"+".a!\Th=OkQpYu'#%0msmxK]:O-rv0%{VYRR,NQ!SBZ/ǻY( Oo,zV[w5a2 @C#r^+j &9~>[/wg ~_i*bcAUdBڸi8G:JxHQܟ@B/ќ:N8Cīj 1cyfx5xʲeg?8@=SA\-·M]&H0r?HpodoePC+9>2#ĥOGa&b9ǻ=V X>z8*P(NFITZ'q-R #NbuڪVV>ypE1FC;B?H:JĦ[D6a&29b#/:Aֵk"H#v#d*k(ԈOW8ZTrSr4@SV1AeHAn ^W$D=+t^*JEjVC@RTqyH?.Q GsB@*Ph(ٷ\s,%^Fz^6U> (F)WDX 񫲩dn;\*F1nZw#YY.~6yN%\2qb'n"VG/)ӭQJm'x9Jm SMDLE갏V坟b'yN*%cG'&$L[oW7~e$8P*̗퇝%ǟ/O? c;vduIpzmY"Ć7>3޷h#TSoW~l!ha}˝1!g`eQhc@̉&ݔ&$S@L qVr5_]!2wI?#'~2*Ww'xB܁:[36G<yg<:";f QcW=s~@Ux'́'c1iOzxꁟ9t정g<yA+ <x ~уVx ܁=h=N+pZwZ<=h촲N+ Ӵd2y|{>5pӇtj'&}t8>><аD ?%3S8ONPժz&$TcN f(gֈOjN4Is'zDv%Ҥ Ҥ#qiW4i4isx b%ƴ ƴ#))ƴ= 0f1fb\ĘuuXs7ǘ{'1Uw11!Ƽ=01b.hesxSOvXvĘ!lUsx3OuXuĘ!j1J72/cBT9vPdv Η҆d$$#ODIaB]HFIfw$+"i_Oyi;D4| nu867uxvVxA% $gXK +F"e5Zj9.6fq;(0eB҄]l.؈׵icL!ۿ''OXQ a98Ψj9#Q ODIMhF]faf!P{ӌZ8[S%Y:!Pu@ff3ja6#6OdLDue&oF7~3TIV.38L&rF-,g=ɒu1QWYe"3pJrujϨ/dzF-gɲ\V.3> 7Yn?cq {y,;}qn@cpq {z,W6ëfZM[zn[FVd=}H*EI O" 7}uk4:3р<_m>{yW] hՀn>_;hށ,˕mkrG4'rejи /d -\h]잏bC6Lc,[Гea5]hՈF,hDcpq '{'z,~]hՊnދE^4^dYNXr/wy&kEcq /{/z, د;{" xѤM=]c?ŋ&ha~M&-h該\cUŌ&]mwDK珴pw&L2tHW& ?4f47vhtپ=cf>6,ςe]`qw{͜li k4͛y<xw6ޭi77sy4Bsݼ ~6og OlbQ~;B)) qo[@S(9;3ڽm]hNj1Bo@S9;K.D%=f^!^lcաzniˎ/z:A5o蛺Fŭe1|28yky| ~}\h˜b"X.G3̦0,Ø^1Fj,ME>b[3vlqdЩ#7HʃQƮeV՗qxu}apXi%E ( ?X"+z" ˟j +g߾۬Zja}W~qCvSC@s EXw?#:_n*ܸ@zG'wGK@?.ꫧOL?JǬt2Pbr:8^Q ǫ+qAsAJ0!LDX(ѫ@45VU)gU}=WZP?֛ϻ$NH>Jnq m}mGOR+(;ҷ- 0 K-ĦPb,&2)䬵#0ZTar)ƤBqF8?z_/"`2 ׻!+P9 |MӁU$SV,__(*蟭ݞdb*$;$S>=j2c^ !*-u,=Sٰ&bX6|wV .vѲòn"yu5Rу;IpaŝM'zL"\[H{ ɪ 2^y`'x1V@0&1-=`5B&0/=^5B%/-=\5 VTaŝ([PHtk^ϭV,rqj;;0>Pq/ɄCFATfQq/CNBV$<ƳxOh1Ic<'!Ѭcc  xNC.Qxn\[jXIJG.J %i%'iL{&dm3vEUeر=KqcFݢ^:n}~|Ax)1fKx߬ʼ2d7.SQP_ޭ$Z<ן'KQ-H쑑Z ѪJ V.}u7CB;F ePƢ^ NZk5㔵4e}?| Vnoֻ-R^kѵȔrPA$i|"VkKbii]K_Qs)$/3Ӿnu8iL 4nJ_obW{WHjL;.Sݺcs9X29pL?t7b%>_?0(Q>#ȵ\q#hO_~fWv;EE`gI2/J谽?<*>")uve>P]||ʮI} iHUIE}z!?3-iO56MOٿG(&)]|&U 6χSˋ9pg2y#^h}Od/VOe"˾zY nuW&eCy$ɳP^ᅨ[N"QtW뷷٫p_ydyhD,j^s8p/qRbBUuvXGӱ/Rh 1JJ:zxv3)ͮ~j>1]Bh!4ҹh2tɢRZZ-Љ ?=wD$?]Jf)*-WUm%e$`t,[:g$C\-r~k:{;c^Aba5Lt4ZEތq}2e˚d*~go.~~#ټTx cpy<. %_d^풏Q_7o֏7Vٻ'1"&86  O&1s?&|c?VVVYTrOw˫7%_Ƶ`U_fq0@g <A&A3gBS9k@d,jImw̅ӻDyϓwӽQ2X LM!Em2V&b"VD*>MRӉдrԴAMWp@ tuK~&QZQu5,UMku*h6o3H߼ PƇ ]҆&E18@1] T8K<@'~v ] uGA/,.[.UGhY7tƁȻM^M߈A(މ]CVtfjIۋHA4UeIˎDeI2BxTC bƃ/ Ϯe%!dG|(MSb x 8<K.v$%篜&d J c >t :ƃ0/ Cؑ dLƃX/ }3j#vD2j#F0 X{T8ҧ&m*dT>Yа}ziZ/4,? E| ctr-$ACXJ( ˤŽ[BԺ~CHcDF/Wܽ_P0v&yʎjwدYҵsMv]aq v){C$FGb F2C!UfobPYF4M&y/R;zb,A;,oirJnzޱ/7u.{+sh7)^ `>}q4  h*D,Pi>IrਗP!- 7Gss;]?_{ݻƬV7uTr߻o)EOX R֖j{qpfodYpvTWߏP'jZ7G"y~'nw/ګem;CR Z(4B,7P %[ u~t?e~5&;J:9*:<9T^y\UUe*mUza& YtxF5bK {Ÿ'.e1&gIJ-W*pYUX8#㇯JiE{X^D8q 噘q,H7wI~'VE(G*b_; M%`EN, X`_ױrI~%Wӯd^~m c~e/b^?NU.*_ŗ2OôMg݋10LmF0'S3\=R%47/+ԒR?d!znsenPBW7w3d"F^D8[Iyp$c; ^Ei(`Hwۓ_Rڱ?,d<5 kq)yn=zr/Bw뻇G'-gIO(t@~?xUdmIQkZ {M^D@ZUH"_r{xWMhB䝩[,틓v M#N!# pdzݛ셋^AᦲF<(ϒ55Sp77 K.qo4% U-tdz8$xtɫY<&?eקj??gCǔ[j{zn~={4Om /MOW3xtN؝b/dw oSDnlycB8t, 1@u _X3Q-PM Q0'mzNS5~ t/4h)dZ"}Bb1\T%CYT9WcD!òN YX2> X4zK{밥b{^*{9v,u ^eo[s []8[{LZsX}_A{m /&KddJn@7c^D8R4Yj3n61dU{㳛`T3^PWOKRƛl%ViLOҗL# 3ha;\`(v2T;9 SMf4)f;$k bbmd'L[jڢN Oe'碊bjrMErF;;݇-Oszn\"V"s: ç>8?lqS(|JTv9##A8C?S(JTv9D8'vԙE7^vԟQљJRsf&<tS95թ6$Sz*sI9X>;+OuUS~wabSI)W>0XgZ 1!IV>'.zjCpFO!LڎI?xRSSf)dIQ$U8jn!-WoV7ןVwٽ92{)KMZK\w.fOaɗP ɯֽ̲RxR"MD5H% ̔74H*Mȉ~Bw,S!*uK?wE,O앆Z;Z7Pǧdu,i,*9AsQ,YY>\!yGyf)y"WC϶#'u )VzJW>g2V)W){rW6g2V5)W5)|5l@M M5 @TTѵ_ޭy ?ȻhaJ)}21ZdZFǙ@4x! HU./bln^] n/k')Nk] 2,Ue;LnMiΝ$K$lLn&ܴkvR1W ]eK ݸ ]RN-0%K ]b_SW+ЩiI.t@C%Y ]HWEd,k$uR}ֿ}LnsNn%uR7vz{خ/A~v#cx<@%~ 7yoē%HӮ<-y]y"O\/B~iţ39E?,];ݝ\5n]_=m?nP`EBľ>K`[!*?nMNN0N;&=-:ARN'(vܝJɤ2W'(tB`' /*rnR)!4f#]JR6#6̍x chbxƢ1aF-ǎԒb$Av!a#`9&  :fn-X)F.#Ȉ0w#x c W) # \;de 2ΓNd[ N:lwȝ'l:R-fnNtق B蘠=<"W8\зiڐSQϠN0 f>,$B'+*ٸK"n&XOtSTZN% aIwuf[@" =-"Zdo:?jq^[8oË&$c Z$Z&fez`BIf lY^VA9`=ER`a^Fv0!LH"UPԌp00+#;K'(RHk55#4L`#ނ^,A9bDZgT6¬`BJ?O> 13C:4Pr3Fʣﯿe2ϟ0y̘,!:,81i"f\%-X^D@66i7^׻K):WWi}s`q^-VzΔ/V#I#U`3lA\1A+0ZF=ʶ-|W` XvV`4a[#I#h:ö-ecI:#h:ö-IE8٫ZVbV~!l= uWn4z`[~CW!6bZ@u?]-Xl}LH4^UUL٣ۛkywjfsw}҈|<2"_]QZȨ;b_NOnOݍ5  ]Þ ߸eET>/"|zxb7vvrWpdLI*aa8<{7_~ U vThGjǫ|e3^LLESNnF%;ٰ$,^]=|MT7vˤ}Kh7T&c==Q/3Uo@auMDN4NuҜ-MMTҜre:hlYOEwhEMZ-chVoV~zxM6LbNt߽ԟ5iDfJ . =sr auœ?7vMQ@P œ Dt|T/T:tS ig@,97ի7\D-,q?1jԟIrە B^$k^Q%p`N1KIk]@qJh&o6gpF`6X1ex#ؤrA1Yp5 ߋmxv=Ki& /J8 DΑT~p0 fsg(_3kT' rgxw6$Ʊ lLo,M|nu}sAnbYann٥= L'(E7(m^> q*͋Xj J [rޯ؅BF*\Tچؚ#a %ц/\OB$0ȆZ}<)"K"&˸W\OV(@><3ŒXƓ4"dCYDً|Ҽ}=WZ[g*̇ ׶S;k-d^-/ΡR,'8T a)>ȉ\^s!Be݀eq,Et:_1,NSz'RށX""%"}[|\Rےʼnх)4̃kKޖR 'nAAߤ$jY6)9P-Ӂ`N9pTiLhHfTz/J9KڟX"-m6>^;a8pQ M)7n}4( ]^&kT,R y4.n\ؿЦnoSgw!z?~[rxy^7;˴GVjqvtޜR4f+E/iU8^sH^/̑*A:3ҭzoJԤ4ZBGիq~xyԋ(dcv9BMrm'RroT%STu+QݲUTV1e yH"T5kdjH|V/H$kxUn|8<עꧧ} ҷ]jW.yj"Wubw){_G Z XcrT՛Q"ch&Ư:?q)Ri3PXºBcmPF>& hXpNSN\߯ų7Oq3x5/#1Fҝٲ7nZG 90Ɣߚ]wڮ5CJ#b~U?_=<-=ؽBV3cNdw7'7'렘+NKfMh:{ötдzSi<~>>-yzcjei^ @8cN˝` oyn;#e*?FU*JSYJnXPQ<157P)Ks[fY)mVMݍ>%̣XRWyFTRVĜ,BǴ[ˍ]1̀˙ćXJy4:bj9ig*p*ݨR{ڪxl߲\N֨Jcэ9ļX7깏c tN4*-qY YSKFWXhWܯ5:jRٗoO#ά,e_@EE/[?_*]!FILvճDH!U+u7j\F/Q@2ta[^uaKPj^Ug4] >yx5A+ iLDKK~}?r,gIY?2Kh:YS V6Zv/JqQKt+tB eZgQu=hЉNeYQj y[Ld8,2,4oJ/nr3XFWDxn}%j^+]>,~V4x:sm(!*Byv-Ϫ^vkpkw!Sni,­x#9ggŖSgwVzΊGçwbz!Y|&;kJnuT.L!, R%wfN2kuO}mT38*U)J_|j!׋goϸMeWPv, D 4Y@:CX~^F"ZJO>%FkC? ,hKjI0@c4&^^(]8mqqȵ? ]3o)창0X O6uzڲBVvFwSMJLK/lnr?z$NNv57k?]lJ3LJԲ?˻M?Ccggv:אIwJvPэ a>vH:yvp2=2a&v2'bb[zo HHĶ@1Gox*УU7f !Fz L`+0~6$9ߠ-ץ(Ǩ+!A^y]uZoZj݌uH|+NGv7l#~;xTPjY}`Al}IHJ>Gzߋ>~zx[Iײ^3-8`s[EĎerJӖ_%#@4?7 vWF3@" P',|—fqzW~5:{@_ LmpOhفAD*dQehN[k2dCMnja󸟔e9qy*NDdguY)6g/6gq)1sGbl(>b}WJ,~hF_''Ӑ}#ߕQجzKLd^rX=  ]T:`IqD9-L)мr.gʑ+^s_A9*S֭d305/e?UKPh/t|7a2A֓ }[|H+,G)˟=,WՙKtvW ?Ufd7aWn)(7>e:p}R4YտZlM*U5w{^rI0' I{&ծHVT/HVHZ"!Y/:xW<=<%{J)ATT OU/S),=ң(+0ge{+Z&s탋jĈAzTIs~(^/HˌNVPF:8JF]:ͩvz7J)k4)Poެ6"04>EI]%ʵkFB-4J%JXQ.h@ jp}kh۱EwOn*ouݗb9VYEiE:; tU^F3@ pڏSnw;_Wb6qq2JY,dMFK`7圠U~J9%.jLb`esT[_?<`(VSƶRZ{F+j3ZS儬j7Tn!q؀F3X:qwRv1TjUMn oZɉTnIh)Y2sxmMJUD%43Yt[iGkȥn3'hUY,-)`@tZzS-|UIK#,LD5 XQxjbp17x=MQ(\Nte?]-Xl}kNT6ORY-eei@Ʀ<8Ʈj 2e/OAQԿyË ^h[h8 i?,3R\fc^#,3"PTCT/kqNba ~suߥ}&JV8D6pgk cf ꛩņC[Kҥ챔$MKI-#\n-2rՌkZ':fw C?:/G9vÝeYy2"#KOjao7!?k|goTP(Xi*ӼyRߊ:NQ*E,AEk/3@w޻4 T^~muxmD!f qM==feR $X&dbdš EѸgdBdK)j2h2eMIIkBdJdG(kRD,`DmU"J6U Ve($q2U:=T)zR*MU*iq(tR*RRBU**2UFBXXTRJ@UM DĦQ:D DJaKT T#J9Q)ze*AQ( 2QvMN&Jr(M/Q(&ʘE(E:2%QƽDLGؘ`('L&J2@#lPG0 E_C:ՑHuH:[#PG:AP'Qjo$3ًHd:t$3`D-Бd#{!HGڐd([#DG":D'Q*o$ًH$:Ft$`D/!ًH$:Ft$PD):d#{DGڈd(:d#{DGڈd(@Ltd/#HёLtB8 td/(Q tBѤ0Gyse9yN 'I2QhBl4G1 DVnEf9Qr(f9H_(GB9 Q('MK)2QHBl$G1 Er rT/(Q rѤ?G8 9q'MqG8 1a'M+WSdzQG(b&*2Q( 8h[d( 8hI1 cq100 Eb sq980 Dz@/qq9N פzq@6qBѤq8`8'Mkd8 8h_C8Ћrq`&=v2ȁ^  PD>I"9I$'Qz s4^(G#6"J4^,G#6#Jo& h9s4ÜPDo:&݋h9Fs4ӜPD M9шsu7`D/Сs4m9yN(7p^t4m:N0萉Et4m#:N(42ѽFmDG3 E@Ltt/c1Lt@ǐCtTTek2M8(EԤMX|yz|Kj F] %S9D jm EӇ@] 7bP@ZBCQ.ҏ QFZ)+4NpR( QAڐa9eBd Qh BGJdLQh BR(%CBm(e鋉JH#-%D}JD4DH*1V Fӟ^(+ Jq%`),!dI Y6$-%ti$- [ B}f$JfKb\ . KH{DKb]H. KHt]%%1/ K†`$=^"%1/ KƗP$:}.&aL S(~@DɀI !L &Ʉ)$0!I"`6$0"]uI̗$/I%KHw$疆%xIdD%Q2]CD$mtI2] EO(.!tI"]6$.#Q.!tI"]6$."Q=\"%9.IKF$ӥ`$=\"%9.IKF$ӥP$*Kd$%tIdDGKd$%pIbB}K̖-)̖QwɒB%e#KR +2WRCB +"Pqb%eJR lRdP%TI٨bB}g*!PI!TR6*PS”2%ecJR( )"%eCJR ^DI !J %D)zbVd%@6LBQH D %@6LQt@FJ0)"%!%`B}GJ@fJ0)2%1%`Bwv2S!L )u3@=g, aJL lL )P)ȔƔR ިL 0%@6̔BQH̔`SdJ`cJL)dC TTJH S%B4R%mJR0,i2VCFmXI3V Ei2WCFm\I3W F%MKzX ,iKHLZM&KzYH,i&KH`oMFKzZ҈ -iFKH{DfKz[Ȗ-ifKHT{pIKᒶ%p)ztIK钶%t).!tI#]6."{DKz]2H.KHwdt Kt)x*/v2uU_ݻrxvzs]>_7~%ey2ETI!CXq"2Q?n!-hSDWթ%~.|Ѫz2^ TU?OoNU~t]gQFWIݩ5~.QAWߩ ~&p 8QUxU?f$2G (OUgKB[UO8OQUyU?O_ߪz2/MGQ(@jJ"\d-d+qttVtYƳs\[uOdzY|V`@;{ iЊq@B+V0o Ӫ{20ZV`H;O߰UdF+Ɓ!CZv.Ւ! Nicڙ~'SZ1i si8V vN+Dh=ӊq@@P+V0짟*{2ZVIdR;{ i%q@DP+V2짟o*{2pZVveN;{ i%8V"vL+DOo=q(DJ+V2앷V)JNi%Sڹ_HKrJ+J;Lig"{/%SZ9HiJsLi8V"vJ+D_HKrJ+J;Lig"{-q BHV1h8V!UvFCDO&jB*;ULh!zoEj>ϪFg!z9*ijʎgy_R*NgٙRd8Ɓ ᬲYpvWlVfYegLT/%Y5Uf*FPbcE&j2*;ULfz'K̪q, ;&3Qhd!ddCΌ8h͂ٙ[4 d6 Y@6 v6 fzݠfa6 fc-y_?ϠYY`6;flallCz8l͂ٙ_4Kf0d`glv8pƁppDƳ8tV#v:EZMƳz<j;Ռgg"{×5qF>|V3콅 h8V#v@D[HɄVCh5Zm' LdBZMFzDj;Ռh"{!-qFFV3쵿 i8V#vHEBZ2PZV)fJ;!-q(FJV3c!-q(AJk0콅Li(VGZ_gÓԯ#26ODṭex<@K;z1{`&> @q[L<0}cz@:.{`.quyxGA1aW7tyL{ͨv11ƣz Api'z Eip?2N(p"6\L;(dD,Q]XtbFsqػ\@GţbXY`X<Qi@Z,X0. `2.bXy``<L߽d^,Fcx.& $N#㙘`]& c1*2 fs1ȘŨX 3vf,O*2Q@h,X05 Re24RcXکdj<%QDh,X24 Me232cXv/ff<%|X"2vd,;0db,G%cx&&PcI&rTb,K;1Lb1QDb,X21 LX"1vb,c21cXډdb<1QDb,X21 d`,G cx&+2/VbXyb^<xQiBZX1-|QYBV:Q3+GĊދzTT+;*VQE&jTR+;)VLgߌLA+yx{"sb5*'Vȉ+3ըX!&VvL˧Q)BJX1%QdJFĀcb SbRbSb`J<x?YdL bb@L vL g1191ʉ91910'2'Q91 '̉M>xTN ȉΉ9L<=&&sbrbsb`N<xodN rb@N vN ̉g11èsyxd& bbb`P<xdR bXIfR<5QQFTX3* dVGeYbͬx.&k2,֣bXafX<(߁&b=*-Hk315QqF\X3. d^Gybͼx&&c20֣cXہf`<xXJ5cm'ƚLL`dbG%cx&&dbG%cx.&216cc8X6A'_: oj<^^:RinQ A&,%8[4l"2%f:fJԩTNCV҇שB*N40N$ތyNu 40Nk) pjԩTNCUt8\uj,:5t:=+o):QE144/uXtNU:%SdNSiji: Lh)u* ؕ?#jhBH 2p"V"H*4NUt$5I dRƤC-d(%S)TJب`,RvӪT2ù@.%l\J0 L&k*K`J 60%L&TLdJ 62%M& Lp4%M ̦Bhp6%M  4ZJfSb8 N S uGB%)1NISF$өЄ-d8%)pJd8P+*T2ٔD6%祘M&To$)iCST`Bo$)9LI$SF$SLp2%LILB`Lp2%LILLɔN$)i#SThBLɔN$)i#ST`B)2ɔD2%mdJ2 Lb)2B0l`J1 LB)ERj8RȥK)RaԟLTJ R Q)T*,z[ILJ!R&~̤’(J{ GR !)H*,KK)2RÉB"lDJ1 L p H)R ҩ?p (qp0 L( (Σyx0 KMGpȣ:TyTX:3(@6̣ө8̣`8Q`Q<*,k1 dy Q_EQ0G((`N=vA2@ H Ho 'R)D*4z 4IHJ#6$I&T4ILJ#6&I&To&C)=JiR4CoB&S)=JiRF4So&c)=KiRچ4cЄ/"s)=KiRƥ4sSd0)`Jf0PSd2)dJȔf2P`Lp2LiLj/")=L$SF Є-2d2e)d4U7wz޼ۮ>Vi%ӨC`ӨEZϮ:zFG2w77^.cׇCh4W^|fY<{]g)7znSgsb Q;~"_ՏR-KDL`0߾Zxx+dtxxcvyvAE&JM$HeXY6/@,M&n-ED'qjo#aHË#q0 ay͚4ӒTkդGxaN5a' jP5ēj9i ;ǬK<-G|LּPqTU @qł) @ْ+qD.͔yz|?4 #fՆJj㻝UPց T;=R-}pjUkmWê LWu޶YUkfՆɋ/TK/vVAJ 60N_ޥZrqVmǬT=#ΪMPbUj?٥ZrMqUk,NYv]%EqB"mh rutLXt;}.3DŽ dwH&ȀL82L`Dn=ڥ[2"ΌL #6F&{;wɖȄ3$Ʉ d{TFd™ dFcd;d.ْ)pd1a2,4zȘL8s2L8`Pl%[2'ΠL (6P&&ǖvɖ ʄ3)HʤI&ewH&ɠL:2L@dPlL9td9#cNl}d~Id҆$cd C2IdҙIdF$Sd|dLɤ3%HɤId{HFdҙIdF$Sd+ddJ&)DJ&mL2% MC22%ΔL"%6J&&[=$#S2L$R2id)Y`!td !A2Ő,0)gF)#SRwђ r&d 2ń,,(2S|L!SFXL,:1xLb<j')g:)SLSoʠpL91pLb8j#]Efcʙ)dcT=#11eCcXX^dL91dLȘb2jW+2Sd T;2g2HFƀXX~h  Fcw4d6l T뽛81@6!dRI@A0 Lޣ12g6ƀXXl  fc{4Ffc0 K3c`cp,0z/d:tL#6:&[&141mcX`>+1]Q慰>6{ef/m]R v^BO]mo3d/iپS!2ߵų7Oux3C9<_/lu.TG&}w]O߮:'WߔkqFX&v4[#N0˩'U5 v7?{R߾_y]__*M xN0g)nGE (Sba$G8U`]xs4EQF;8 P(Đ=U&pc`ANK=H~/}de1Cmz ZOGzΔD%HF@Ĕ8Ԝyeˈ<[|b# <Ӊ cA&41ϗjNnCDMikQb!,A#m&'h+.gmC,`@ɴYJ+1r&oQ]t56Q?ۺ"ۚ`s?ӊH 4X2ccs/T dhzP"TVY/|[S0"oϤ×>fc8v ;<,{7enmV.w< >x| x]vy^SOQ+T}7MQH$>ڔHcVyxG}%'8nr<`X:7 8a[.M>C9uoY:nl3.Րl%FJ<dqll0ʏM/s 7llA}+:|Lb8x<,_g)Yᘖ,Zo`3B(0*NY@y-%7GDn8'8%|%.Pu.tʾ0ٱ#%c]9vr讲`fa9דqҭE2bܺݶN' 3f Vl`V ǠZ* }An2RmZĵGYn? 'U 4T] |-@쌕t^﵄S}3Uw1 h]/oX1ů@V Gs.q+|0ѡ6|y3!YA/uxƩbE}8Z.}XސʏI=óˣy 9}Ea IO> 3h"J2Ħ-/b&s]z憜&+hu|G{x>!_]OyLqx1>_ d4ޑUY0Glvq. _e)B6} KF{N?%<;P=3lA_5̀\fb: =&PC%BN̈́M3Y0Sp~NNuٌgFLɷRy(ㆡ5Nfy֟%'9./F9pZ'LVtpw!ipOgfƥ"AӨu2O7kxTS>%`4eq;SLڍ?Q"D.ٍ?=s\vU1e;I(8k *t|c w jPt˼.R+7?Ą.Ͱ&ޒGV# ŀ@Acfev3Kp {,}nvkBjk=o8ve]_,9=xA!LCAl3ː*o<-Sv(do>t˒&7[dڦN,s2be0[dZei$ 6&d. Am$҆^?BH` Jmǿ*l2\nxMדx:GU0 B@ГDrgbI$T,¼VϰTw[^j*#&S?uF /=/ 'Yh "U?2Zy,]ئ،eǶ {kߐAog("B`gx?/nWP%[P6+{De㕚Òm(Lar,@B\'$0pTmYG6P-mgo `qkK rR&7g}ew-`D\F&.ǀF<"iI]'͚̰֜rlL xbWT[?QAq FJx!vow<'2yANek ysTgvmWo%PD-5!r:iZ;?n; [# ]@RаQbBmadH^u򷿵KH}LcRTG,﮽2~$j*o3-Ϥ0=ٱ^ IR)['"2f(ޔCQOnB)kħ $؅40u]B0n#>~=!#UɱKCF:,{8BP0CVEԊI;&3<:ܿ`c 4Xp8+sFA|$eiܮ!w!QVDO '47`"e 9HPOLEuBԂNB,"|l uv϶g^^ B.*. 5[ gQT76Ʒ~˚Knj+0 < t0]v N,0 QAao_}9煹){}< B7ʜ i/bgFpRu䒜8$aB皮'>igYH<|rWV?%!FՄUQ6kڅXRK?j>zxq[!⚍ea F]դA<:JnDnDnXs{|E5Lh4CviSUA?HJ$aHv_i:UNՒkpR3 {]FV{|J|@*s8tٹ H2"fSToxe~Gո{ 89B  dD`7B&~N>+?cPD`|PW1F8(*D0+X {@>Z"P &o@ :{a\ࢳrqQ<}=*u=)QC|&̼ +|>\)M~=ZW[T6O p$*%Tڀ++Oco2u"kn=/Xߓ)4=SWR:3iժ92/nSI BÐh y8c U "V{Q?:Ra:1/*XI6wUt)*"9P`rte G/~aWx|u/ec090zpgU)CۈÂX8*!bֱn"Tb2^P$&ϣeDX%Jёo *S{Vtd搕o+oYh4&wOwCl7e8|J[`f-x٠ r2dױw쫰7~c_Jaܲ2@"A6&{da{Aya0Pl.4td ?GO=6jo{qX1^e'=6~mEM4L܏J?0 !+Ā0 k`5("L"D1hQE8gvJ|#֩jazC*5xrZ++L@ +uͯ\2MaH.ZJZi8>=7kVk"TyX X&qKH󰀸?+ɆQ‖VRjϒ?~'պ{TV/TW-i*Hk2}zLLZo*kM*[p@ԳtJ4xƬp|U:%ISQSW߶ e͓CfgP_I~K"o+D yޙ^ ^t9O"1Sji/h` ) <Ƥ[Qo}n_/.*UGs|5jINJO]Yİ[QyKzf'짲 Cee6'QXr:Q{PLٌs 8F4ܪeT!st&e60`,Y Bw$,vKt0K@u.<]t m+]ZXf*\9yj3r;{6fFO-1 dvkwPZLjJ16u{jfu2%Zdn>+t ʆt *6f)E?`']<\fbm4 覠;uԢszH]¡Uk%$M>H򶈡f.ߝbp\2V=+C-їV;R:aI.p]9n4pʏeU弦j^,QD@mF^>>FmM>7@vD6")>o˧Ȝ,.ywBp6s٧Jt6Ho&OYɵֈӨ rhMlL0 3IpwʝA1f ,2X,@*JS2]ȴtXK]3Ӳ;K4SO7b)=6\x\ly\ 7MCO sU9sk/ok?sѲc1Rko J+O !!62!>'dFDSD+%X`SǦ3 BG}D?F唑Kui +5 G֐<A@ƿ%g$?xB=60[֫w,WŷnNY\`h=_WJ>U-䫠.D/%9-I 3JSn,SdΑt\"%QPl ePbM)'Zk<w<5ֲto7<%[& d"{UL;$7⡀l N]\ BX4b[Y}i6ZJgxnDF!?&KơN=BI۾EaEخ|c\ZV|}<*EsAM])qmYRiͲg op뇚KsД_GۧP>]kqOZ*2{αmvpHޓQ]0OP"qU; %]p9AO0}=C 8~E8o.,mhQ@ث4 )ޅ{91,(@Zo_pR sVG ddÕ"Κ_K$@:umSm{_օBbJ6o;K{Li[K\xbiZY|nq :{|%:]n5mxڹaq2 Se[$K[vӲ|Bu+Y}QGյqmM=>~5Ҽ nKSa6K!K$~P4aE)UVG ' x@T aFAo^),MVzmf֓QǞ ߿`J3l vw"WUk-lwW|;Ku]F [-^#)Y-zIZ*.=z@AMZG.VB3#Tm+%ET7mAG({ xmSK@]),-# kXeӲˤ$j*wr$'I?$ﺫޫE̾f`b"8&WۻĆ@|$֊<@n5`5uF*F:z)o Tmȭ%~CLk57SNmTK,4)DƑ+x!e>WO: 1x34? 2lcNM,(2̀l3(;F  O xѱ!} DO-+2\8/x6k$$_,Uƈ-zTNP -fRH4uv:.bL_\K1]Q>D_q2jV=DY{'<ءgdT쏨O}pɁ:d7_8Iz1@(™PWn3a|^'7i 3 D xMo\E{eI=أURKB6N2AA ?uWիzgW?O_|Ͽ}|~|/_{;?m[_KV~ʿkV~OgW@YbS@YeAP@YeAep[w o}C@7M#$GvpdGGvpdGqp$N@@@@@@@ %RaPX( u2 2 e(@ ן);&g<1O 'xhA-aLD1hLDMX0 P(L i4@9 9;9#rF3 g@' LA 1 1 1 9;ޙ|w3x 'zw#######OvNcG;vcG;v&N>2xd>#|\'=x`ix`a0@[G4444444:N`&2Ke,Y"(DPfAy&y2d,Y <@yZP41 `L41 `'`8De"2XLV&+:؜ܘܘܘܘܘܘܘܦ|9`'ٳ#`ώ=;س#`ώ=;` @Ha!B ),Rf z8%),RX @Ha!B 2AGY ~fV3̬gf?O̮]3fv 50k` f6phfá f6phfáylM(******`s c c c c c c c -u:@b XH$IN01` cvps'>p%8"l0D`a!C  9re@YPue@YPuv8LKKKKKKKLn]wX,X,X,X,X,X,X,f,v8v{=pg3`*TpgR;Kw ,g*v8)[@bo$[@bop;r>+X8<,p`y`89@fd@fd@fd@fwp|;1w 'PÕ+W6l<\xpᷛ|V9Xs`eʞ=Lkw^ W+xeN؂N`cN`cN`cN`cN`cN`cN`cN`MXcokEo^Nr/'x`85*vhU3ЪX/gU^@b|0%v Xt rn^X- x`8=:u:@gY0@ ja@ia@D 'P@Xua@Xu9 LZQ&˙D@/g"e@ pklAZт/g^@ "DxΆĦM{9`/g4|0@  a@0 lN&rZїC P/g/z`856V4 4 4 4J5pL@/gz95' P2 e(@ON`a, 0X [&06* r\u4Zc01` mY!6x9;І/gGm:8-|5-Y@½u-Y@½|0}=`3 =`3' 'P@0 9`8=@gt@gt@gt@g6'0x v v v v v v v [  { (5Pk@a^e'c+W ,^Y,Xxe:c lPhcBB 6 m,X(P6<ʎeG#@Pv<.o4h,X<@cy6CVpfVpfVpfVpfVpfVpfVpfVpVp%0 a@6'%;/  xa0^& ia@ia@N46rїCYˡ^ά`P/gV0rO/C  16bl0`c!6C.؏AY8pd:u# ŐآUТH/g-rТH/g- p[pADc "[؂D4 -hsAp%+x+Y@u+Y@|0@,-@[ao{ 64*3*3*3*3*3*3*34.PPPPPPPPp9@ ve@YPue@YP '>V(/g}4Y@rG|0 V ,ZY(PheBB ^n_ je@Pie@PD 'Ђ0ic0i;۞\\\\\\\\|5p䡢Gz9 ^NrئCGBѦP/Gt)m ϟ>}/Q }xUKn0]O]Wm#ߥ؁ *֦dRժwzޤ'cF:FA"=gG).5E1+4>2+V;SYf64xguxU f>,iCRɖnܩj6UE֘T@Y/NETӣc@ PᎵ>X6 #%Ko&k1(p\ߘF.K֖(i}`Ȝp j MH+noz:jkDjvGʱ v>b Xv_TCpA G$S\7 } 9rLX<~Tw~L(K9{h:wIBN ]j ݭHRm];5:뎼u2?#_k'* 1Pa L(`#R ~=NS2 <7ТXNVtMxbH vtyǚTIke=V~ yjwCZ\-l|l5>Q%u']r&lBZ͇e|8dRԫ5.&]0ECIYce)y0::YԊ*bZ,fk&ܙ][JQ>JcSi 8Cw$Ƴ_ZŻzъX^O|/ѯ/ u2 jt %-sL+$i++lQrזgK#*Ӧl/hrZ"zc@N6l` a|ԭ, AUOvwc&1É<^C6u&1GlIUOJ_{^3HN5sc`:dMpj#G乨 rmdd >gV "xhQ"%c 62gڜ۫30H%F"Ά1U.D OV*Uዘo4Ares{xsWѓ I٧"q[G0eW1rd h-,٦.xJ~m x$}r^(Qc 97So4Gw^! NJ7 b@p~x(?m cKABs:c:0@ҌAlT)<xiiZU8d ԝ ~jVN-CQ0#KЫZmQ2axN|AJ rٲ/'f {p Sx34tr|ļҴĒLԢҒLDĤ̜<*ǜԼDG=... x @ Dٯ.]2fAPwZÜhzx9& tN|yaikۦ-zd~QR Xԍj9|ew& %lُCRڽ#G+j(+COj ]x3tt,ILLI-N.ʬKUHIQ(K-)/J".#NGGNԢ<̢̼b99]= q.) xn6 :O'0H](iנfnvʆ9v`y'tNl_/;f]̷]]ϳ.53Crq-7ۨI*m~>cpL;iWޗXv#8zg Wg?tY6<'9_+޵S "rZ5 J8( ӮO5 VgjPpM&<ǿޅ(vU^>#OT̼[:O{ŒcƘKIi-b:E, /Ϋϓ!_8"jYl=7]8't/Wi.&i'Q::\X=^R %#ԢxD"Igڻ~eUiQJl- %̺o.9@HɚK-9ugSP2ky0- )Z;D!c25.ӵ_6aWu  hS6>>*W-ZjS6:2@RPJPk [r66[I?=Ώ}dtm x]YwF~aNڗ~+=\dRRO f;.5 8TxM4)wqV#tRhŌ .֒Y2$Lro>o!p<=<$V1A)&ga[^,E im X_-m>=< ^([hGPB3SZ"[qଶ󺶒# kQ>AP#S|Z,/66C\Zn"p]cUzhhsm-Z-U; Kgka2|u  $,v'gpKk(kZ'(nT%p^UX\//'ͧ[ [Yhy h,m xۊJ#ci#cɆ85\]/gӿ\6ϛ P7 _ 4s]A}iP ٰ -ɅUMP,VCAM$,V*vOaUBʟ"#j/ZoR8p VBb1 H~N@zy.çA|ɛromLI n*6r$_@1#_ dfDA5$+  LlJTӅ P&8pWeX8+U p/e/@^ YZ9 _rI+уD\%tj̡ıؕFoohaJ4Y\(YZ;n bcZQ)t.F)]Gr$xw7.C !֙I@[Q:eN:6*4`1vQF$K3:ZI W]hA:HZ>lH8 Q0EǦ/8BBe^!6bS7rXrE(ޮDY~0Cj4 {23gыW!*9'~YWcff5ì.94qvqu\hhR vΞ]i xejGGڠTۆ LDA 4Ƒ @4umk0%Di(LX#h+_?  5U䋸Ξ̤^UU1#eNSLK9~/m\ a0r:DP:c 2q F&@&F?|&d: _2e8Ě}΢gWBHƁD~t# eQr^Ep9}m7Kp5YX I>pW^뱀@ش CHD2˒D̄퍜:Q؁FE^aHt ]JgF_ ;  *BlxO@iht1$d'/0NhEy%J/=hyJXk^96&,Z;pdE .^^mDXo*!\ ŒA@m`Q\,?ȫ*Sb0sACH=?¾ b",k}Ë ujr"fwE}"./g_7wy)Px Ys ?+2W^VB:Js5=;zaN Dm`\M5Vasp,ϋwlӭ&&qk?֧8kZ5V>w@68iU1ÇMА,s(,5i]u\ڱi %x/X+IJg85/z̀gf0_Sna @ⱘ# Qрrb B,ًR΍`bj8eZњTANƒ b`UТn`bbbnHP@0E9:5E*XAK=f7u.7OOMfX/S/KTmO];yNp&M[SWUDl)9IhL;1A.2Ir gşqt`鄐׮n]R s춻81*ŋ'+sk#5PXexlj>^c;~=C^' wyaú,)[FKE1dPs\,/iXGy|J' D`"Up޲ Z*+UcA,qy/#j !aT/-LQxs8Dz4@650}^̦ՀJץ=>(#GA, *sSL(4 5p֑X99^rE]rC˨.?@ 6?Eh0pf.>&0 x7 "J+ }6@**Ne`$'0gUlnF!Y"%98g4<KnbOv5Z=lу@c:SLbY iָTw@vY-!RW_@?VӀhGMgUP7/\ޭn>[f"ȅǪv,y 9Ih, j&pSNJ70֧aV E"$ nps~H˭úٻ1)'i1. L!~yG f!eTꤽ*ȴ١AS:x6iP)#aGb$u=hA =pY(/P4^a,j^;F/V5 dyX͛|KRԪ^70gob&$i8ЌCCz(QČVqSY;Ҵ -S(89Ԇںt׀8<5GdX= Tlk>cAv wa.g_%4:n'.[=(V^Q&MwЕK}<XMڟ4.MA3N" {RxfM€3IXBu0b7jD Ei !BٝQ JA"࠹pކYjDDDM̃y#+MޑpԇFFh"&- US4H(:^n$hL;! #Y ޏ1c1J 8䐘Gv@ U3}u6XZͦ 67 k+APJ^8v7ݤlkG90z}܁QJd M*aAש!hTSAyJQ'^I %v8Pd+5Zd u-XXrs\uU+J6Yp`N&Ӗ- ;J];ڱxG5Bw=Y/jGi#BgS~*t!voN9-Lajz66_fyƽ"=Gn$pFlp`qUM˂X}.Ҝ:~Dy}v"ͮ IC&NCk;aU8ٛ톐^Yo!T6wHA,&E૊Ip… ݯۗ{Ƅ?i7'h Mߨ"c6}gr4R!pߵWD AB`Hb(K@ϻ;5; c}z&-X:c갮e^P,RCPD0)J!0<\\^ D]ք c֎85UR#0^Bi%O{I|++1˘lsϛL.&ߓd|m&ΑJ&UN9gSl }d$m1gkj9r֜17 fqrB"xqy}:=l Z[X0@3t0sΖin+nQ,3+"G~w>?7v?^“;Y@Ⱥ8:lEͯۇ݇m070%ֽLL3h!._1 k*E;HpergZjx>,,U& u )#*B{u憀; C*&k#Rs[cJk^b4RKlBiɿFVG{ܣWwh@@d׫5|M:^>{wqm?pQWG#c˯@~. 4'$MQ^Xž1<.ˣ_Eqn9fO / v.2%X/gݻI x̽rܸҶ{ !G-e~I"A[ѫeaIQ@9ʧS4O߷~}zw:כtZ0z |٧1 Z~K iV\qZ3e?f=qx +K/Wnz ˅,?6~?"w%bVq;̠d`Z1`49R`=yh.+<'³bm]}ڏ76]g.m"/뒧ÅZ2mȶ=} A_;m 'n[%+޴lw\j7絷Ј^RiʹKy92^1!l[iqJL\/*\+В9,06 _z+[ArNBEPs|c!E ݏ#kvUTXٮ+*+ǰT?uWS5fE)Yw{(zPZ'{ !{ GM.>l{5g2=af3-asr dܧ+0;y[15o힔)e=΀TY^cϗn5 :oFZ"|򴀱?25mˢ3vÉxsگR#Vj&H#}xJ3O!(`P [E/K6Zhf5QJ‹˙AfCvZ %#cX`}O]\X> `DP-3_sԺf-Y{T-RnC|]'E m.cn< R@5,Zf模nF۱uxB4\ZaꐪP !Ə;Φ[\~Wi@h3jftOvv zc{jtdm̀$ӅH %Asp8| \,/"9lmU;hNKscC$bՇrPeZ{1&kpuXC8лր F;s@A P ;9z|ֈsӨ-lEʶ !vAFh [k+&R)e:+iт7~HoY/`G?܀2=ko``ɯ~40 2㕗=sɷ+}BBnɪtրzyo׀ TṮ@Ey3"DT 2ŕײ\ւxn[>t=K.J.pw4W iv F'Bɼq?LwcQ:蘂LE%Iրݍ+YVa 7 id[DA|spWrԲǓPn;#$_f צpkLk|r܅5q,kX#\v-Sa9xh%HA㖂0Qc.pQ R5`5oMu{ 9Zw…5|иspX^ xI`:iH~njL-\b#7os ]c: MLP5Mpu92Mj:aƶE؊2y0zzo^3k;aV޸`Eu,Be,GLxN7}FP er+bir#TbYo?rKX«Ȗ7mvr7vjӊ2UC7pp r]V%V3m%og2KbMbZYk-]f:9e,Gρ22\u '|({ƅ.J3(~=y=ظ5^ߣ-f{E2a묩扣C$RĽX(czАe-vY{ԵMJj?5v-Xcu4x,-X?{?NcN- LԖ6bS L9C0B!0oMkNG,\cd9K¹L>ߒ@{hk`NUf2<BѕBej,9龱oqXc\1PfZ%u 7pD]&t;v*GT0v9e,Ziu]afB+.%K*0LEaEy6H40M i# b;>c gA#UeUe;9FVp޽FE}؆۹ƲS{{'i(RHq~۽pZNE,džq>5\ZU[up^_gZuHňn% $5^2,!C.TG9e*-o^]j!F拾\kRo5Ox}6Ol2J6$1sX1Mk`Ecg@ǡ5Ȇ~˔г5SFEd;Eኲߓ)1jpU &$/͛LjFF|Gƚk)bQ\)`]vJ ioN1,pуc}w'KLo?6nGÛI~>"nZ)]o2֨m{[M׵̊+o{(Cr~ W mD CS`Pެ_dg-Sg9tZLRpbvC vbӖ)UhY!v:\a^ӦJԱP"4q6@[ØAgF94S>WS5@6h,KS؎˘=勄||+|X"J< ?0nAgN?|NqF&fm o'9$N *l=6hbjkShYuWukN[Tbי Zd2*50smˡBuv}74mߴO_OZ 21LkHb~@֜ʤXR6lzE ]J~BLIyݎøChAB.:>G_o/B4Gq\ƄP^Jw"^cm΁6R3Iå;TAMg[q8ОRkRHSeij?;_GG40皮Ff4.TH2 pFǘb\/\ٖn'P@ ryjW`T=pU7{+T`n~"7ָ3 lW8-\-OW$ {)1rO8>>Pe5M|0= cwlzE?[ S뾵Ƈ#$E^{$ph4+bk |_d/}\^nj\؊x*ulʑ;K#C 6d-C%lP-4Y(,9O-0˜D^sޒZCeZ[D !52cR#L1p71[ ː7ַ=zZX\5$odw|5Tݻӆ=b7FbMk=Pǩv:ԛ(y2 _[يn|ݞŒze=qŔ$]vĩK=]I!i ,ax$J[猭 @) WXN8%oL '-\3ZT^~NS ٕ6$m, /!:ӰW nȿL| * >hÅqhZնv!B nޒ>JF9]91WLjI)7L؍5 0CTr-Md|֦lkк N$Tv6}tm;o;}v$Z_nӱk}:2a˶L؁l;ۊNze}kWli&SkhȌ,W<A8ґj Gޑ+0?7l<ݶg^-a9pGZ!ـWP^-a9pG! ݀Q uA٢uma #FPApI[#9"[ ؖi#ZLhb7lwRF)GT]~b A`7> T{j;&f΀cJDoȦ}^5Hf_bxYāJJ'pVlDl}yPrb[r쎄'܉\Yc[r$#jv'jsE<&ZRkCbG¸;q+5!ԞE[T1H$9H̃x">m ydI$ȸݠiIuALE"S0 29͗9%IܪVwsұ̻= ʴXܑDIZcK-Fe_(x} /lĉ՜Z, Y9L!e 'b0Z81a]!\Ʃ[-w,XC-vTlzv ?h|3, 1A3Ҿp5`võ<[fͪ=i ~#\C))'Y&ñ`mQ>7>~8oeWZja3Gߚw+RZ5ܑ"e-Sl9޷#GLm Rk &&\gZH<$|h*Ld4蠁FCK-Cwmc.2і׃3^x sM]'/6i|68I?1ha(K܀ ʥ] `r˄[`?xOqĖkF~LMnnټ~m?xȌi6ݑ. +8 v.o9|VcSb2T#DŽQZ,|yFC#~^&2wh"_h `cA\qX!DxY b;d!HXƌT> e.G@H'ş5B0`%wp<$$ agdr+#`%7I…äsmYy$ ag=5θxJ胄SG,Sr9H \Iڗ,/鸬1"^^|`iHo !D\ޡBD7S+Q{;72 w(MT6Cr}oa:dߡtyBw'e<,˸y-nD#٧L{/@ocCr6|x(\ūϝHk[Rez-.ْ^*aӹf _?$C 8XA\Bj!$ ,,[rX-ZAX\RkZ'p\ 8ݿ|&#ZOu*[YʇW䛞m3n`K=\{+$t"ؼ5[g6|~Kx~::` !|X{bsx ǚeYcٙC/WxIDy}+C)oR~B   U )||Yz<)~`Ӽu};7vb^#ŦIUcsSĩGKv{[ņK],0P{3&ؐi!7*f7ׁLVyAƪFPSd`4-NV~)D|Qj6& q5 -jÏUyo/{ p[Q= 65^\&_R*7 焄NU8aԓ=up,ٴ {|+e8@Wd[ߡ `cY=#f(SI W6Mqpa-P1e=x?d/IYXPjI0 KW7{̽_mMqPlUo]qʪor~mrgmס!"ߺ5 `3I* P˰O쩮wa 8|DTe-;pFqaVIY)8qϗa{Kr p>-5X  t[G;% >32L<<hf#"|p{7N,u ^[fz>?~͠ ybphNK90[&r\KjVtIYU歁Ck>!&9w߅_BK-n9z#8c9VtI9}nd^_燱A+3FCc"`=+魿0kps5 T?PDx`%x s%3m^ UEp/s|7-n9~ǎ^Ĉ|e÷z Pj;ǷLeCbD*UW5]Ja-n9 _䈀u xGW$%mqnc I"b 6; VW_+ߎ9 $")| OO {$.pY!'D.Ep:.St\1G0D>Eɕxq;@׳6YȨ3I181Lʴ\߱ bDk1 ab19!6w,$HoGT"RⳒnd$exgzHu:*aeD;Pro;ɃoPtr5}mޛ6E*fJi\4(=P|k43R\:|žj8Ut Mo*]\{v=9J6͌X"/| bsHTxEf2QA("ą 91Xo}`Kى։5b){BʉA\g>h~|=:P)q2trq( B-=7kl(yֈ)mKM_>ӊ8)Ne2QL%4P1ĎGe.5پᭀlIk`jKv{x&ҿۼmը-ǤV()". t܂A'ZxմkY>E,¢5@\kɹw]w]Ửq1 ?2x]̹#`IyX*W;1-+jpUKlM ݩ<-`,&Eۤ[rF6y|_;8? /)9.zǠ|?'QTC>jsBXIp?8"Ԁ2ZI-lOgQB|PV(pRSSK2kQAgZiӜ7Ìh@D30V !R+O.Sq9Z+/@y <:|sݙ^ [̀Iq#SgZi/X3'°"EMY؞!\&r'0j,`zAƩ~I>Q6N~Ψam``}fvPq =5o^x(2=㰁>HFZtS\z6}UD3 1hlbq0SsbF\-Lu O'NF2Kp%+f=8jL`[|k޵= 2 mYdUۇ/;_ް ;H8yz`tz:5b ]Et#Z15^fX(lٽ{ UQ&|wr![q(o0/;x3WDf"H6Jۑf@g٦>_2^ap8 3~H,Fq‡mZu>sC4{|˫h DVn֡Ng@ۄ."5$ * [;+G<7Zrn6!S;d+,G÷{zPc@Ohr6ŕW"۪[$vnQJ1ȗ6R:ݾ5p5ׯ42kL(t5Uq #s~.j9݈밹"oA`6)8W_ ;9r-0XqlIoKU܆BtCpcV *ٮG|"\K 4ewܽU1> 3O9^I? # f52o#{A9pK4s aP+.So9ZQMI.^QP]Њm%xኚ[/SGO`Q8 .C(&yBW˭ T|8x}EaE\1MQM{yVcC9e.Pp2c j7"e.DVo*3\˜`~o;Ql:3ʽS| @uvmtˡ;4U@+JM&6\1FVd5p:ÉOF1k;,5ʤ[ހl4y}3ܪVp+f;a 8_g*ŰN!'PU`C|[rˑq/`;yݷդۤKpfN=jL' KH]ڿ77 !7sp  AtX# /6Im~ZnZ'69ڪ)U]Ѳ\ߜ ` -P` (8l\i<ަl>L 7db`}:Q|Dy%D ,fgC :& $8%- +& ԃPvP\_z;wopr9ĒvB̪'7+byAqХ߼tYNmp{ Bۇ)rp? $9lrQ5};4;l ܰ^bdЀ=[JwZ ٫TKPcroR;:+S}xo^7{̤fL,]"D#\Sq eYZTE| s5MG vuɫzK,A8jLWCbbCLۼ[rWlܪɦr>LHr0 c/yxٲݩ:t/S-j9|{/%z50t[icX ^9qiPc?# 0x5Z9XCqR7Kgz[arpOY7 Ô9&Ar)ɱǝAtՔЫH֠5W@Up[a+ᷙ{oiN)t]V¾Nt⟪]%e>)+7`kD)_e CІ ?*GJUH03 Fo8za=3 lP0S'ͶTզ\DuF.17q*ݐ 7$5)柦vE`U<ˁk~k#oq>L'ͷ`uZ9\eZ[+L؞驼{~+:SlˤYq3C+-nŖز5).KTH0)DXCxjA|~|-ΰ-l(ae3ꖩp=,F/l)I-[21|$&|ttN(U5kڛ;dҴZk|YW7-_В?A-ZR8d[rJHz ֧>5}/l(B#d˴X܁  #IN2SU^-N< IŃ`5S{2oG_>fMG3bX-۸g t Cf{EtKʫO 1`L crD>Y 5\.ĝ!xE@ذ֭"BB a]8-CJCHwDR-Y{P;]@WxbǏ`l˄Z1"D2e[~6񖉵c~X'lTw')ڗ}.9mvr]rs0%JUyE,(Fv8yHnJS1 _QsһE>S<9Оj0“P ;S4eŷ?[4.o q;`-:|=b}aLW;lߓyN8AL ੩x?rG&Q}2oЃu4;Sk46kv+ؼt_pA~}oS 8R K H?ye-o¯NGKHRC%x=3}0^}%1ɨM1g^=OL7^ 817z[L͉!"Yz"kYy된+&d*(a6 m5,0ߎ0=t 7)l';߇KHR>5lfGq ef~,Rh&lo}~IZ8),tdKIxbnְYJ&|kh5o!a L+?$N_S&rO;݈ﳾ7tا~'iEʗ 6gx\ȩM+O옶+^$)e-s0qFRK/|)?ʔ;γNp͡![&r\*7g?~H4^pnJ87*f͐9fX«lna %oi0 #}غ+bSU]'H",X HX JcxbI(R]jfznXу]-QQ 3k`;f5]kv-b6Э!3=mD' | τ5@ҩKJXm-j9zV`\n?tIY5ޭ3T7_cN5zgi_VɵD0k;WIYPGv^fv7ϷxlS -p9_P:α-awH_OۓsZjBL(b"[4α=[K'l^Kj++г/2A[Ӳŕt~ܢTjJ>EZv@tՖ.q\bq!~oa:d1'fN'|w\8*ܘ* MLsrs&©tQrڼg;l7- NTƍ>׿'[r䎅89UW w 1+BFՎD\;Pp}>@X)e-X2CwB5lH7 P)Wm+i9~믽dȗGQ˿o9-i4%#"\6qGP>Cz7%d,s.Pa N9 &ë$HpL~]]ph IH륱 069K2<40SP@}oV`h Kԏ>sGc W"o8'\)hajX@xR./3~6l itlJ F\װ07bޚ ༘PAc;y/l+̭z':6% ]|'CE).?8ƗlDZb]ߴ;mjtk-f1jlV5l-V̫ߙnO?C98[#!vFLؓ?`؞Ʌ-9˽޲ݶ2Wx~IfJ0tHOJebE5Ima at|Ժ)lns+Lk4߿mP2ړ7!.M v#E`*PD+7ө\>Ӽy30F8.#݂ɉA3yN[:3גfhaRtkX8LN4vpEfKMm.%lK.Q]4-i9xQEIMޯrִaU1JC MaW,u(ևBaj%(-h9zy cCŮY+ڄ-7p `(5< 5|5<-݈*{N-pl74'J8ŋ0ײG@_~pTcaR=f b4vU3`IExgW (khg Ǡ4Լ5l# ઀53 a r3=ewCg<_AQ85W'xwԠ|'3]\٘ãy踱aIe-ozZLѸG^KxMwGՠRMaQ5obY=¹j|a UNѝ&8Xuw(4 ʹ-9`7ύL|nL-^wsIm#\0FI3Wx=u[xk$BaǧЄтPpHC=\m[&r SNg T7fu Fx}wci }۝tXò2`9[L3o}h#-Sm9|hvBQ;Y3fTg m/J4[}-ҢO݁.Ȗ [a{E诗珤Ah [iZ5Rej-Go)Ӣƶp2fWtIqHד;٥5t[ox[[;y/+SWlߚEl/K^۠JeuGoӈd[1I"b v;+.p%nj_$M_m+9e-|B"}LjxFp;aJc$]xǷ^炨]LO!>۾1D>E]r9#bvq˺9$ ,E3^ \㦏w]-|//s9~6 .Qa|| o ơbD"g [% \)y1C!d$ex^D?0Ax, I"b" &U%Tuo;ă&{׺U=e˲ (Iho;I W'[((wq!3I>4b/1l/#2-w"VT⩮ PeZ.XPh/%OMeC5]`,MYe)~ʭ/i9)RvgvPuCGnOvx@} @Zd7\~/h^ם]%!'e|?ټ4%<'G{&.>x*:ux}Aw܉(V4;\B[ziد񒈓*Vy Kt%o ,fcjA lDV.р!7y$\ؤ$Cqn쁋ހ ?\+&'A}@׏I1:Dð_ll+mh҈%ZM%M04ewnB6O Na8f6:1sz׶O$eEHźTdGa 1ub`̠%)҄«tQC2MuK\7~ F~Ù86jJn b87>mΆ%w63O43!ϡ- e-%c7^y?Ֆuhw&0Up?t 4 /meE Uα-j9v 2vzhÁcqR[;\kLk|NALyecToBZp R{nJkDH1i͈}4LfKyLt_f;؃'F<}m*1N0\q^xCۖj 1"K9|KYoT׀$4Ƀ GG<~2f&-g9xq=v؁ $s^q hj?1qia d0e-1KN-Sf9r۶Z B^{DXqY=抇#L7,Tf-IJ|w{th80–Ax S;+ߚ1p´ cC O("N|PcdC\ب$#ʦw_aVQY#\&rɶP.%/n:P%Y|!)OhZCG(^sh2wQCt⃬EsS ^] g弔\Ohop~P +٤ٰFeulA$-h`?—>n?FTat-c 6Vyw )|&bVlVx~|O!"ǘĂ[4-p9|iѐiыF7L[.x6rWA3mv,q 51?9tgO8).!ٮ6iePf٠8:ui@y -"Vpk@nW?h%~6Y[ʠ%qZ .6賡RoFQMN*k9z}ӈQ;5n=`uT~KЭ@37>u5Oqά*|3-jط42#Ǜ > 1 ʚ,E1  ѣvW$6C q(W G:av˔pmQ<8#MxtRe.JMJ>N~556n+=kL6=Y>=&Z#L8E|F)#@a枔ɎVR؈KְC$ُ)?fRZS7oQNc HqSp˔Z^7{}&{8ԻίRڇq9Jқmb*KWWl s 3㍶h=byηWl)Hl#[rdS0#6-i9x6.ypޢWn o#av=-h9t\E+a[y!t[&r 1vKw[sBSN / ɖi|I$!mQ09E047V`' ¢TS*w $)(_ְǦ gGW [.eVw}gZ=Lf#ABbQamCIgm1#:-Yԃ[ulkdHnYj-]ThɎ?-̖S2gZ[@J \qhLրyߚ!$ w֭DC>^ޠK ;w ה"'X>*4ӳ&,[&rye-=o ^2{ !5hK2 SW%lgrGvl^2 y&/jMH՞S<u:.CXBs-k9rp*b8T% !B┖Ěw Ys(|?~$E䱹iܭ"ݼ)\yk%A`\419؂k NXb$p]uPt {7fh0;lᑪxg1,.|ٷ[b=fy@o}ٹaO槝%\גZMm&y2-;a`5PmwcCհw”M?$MXfd/H{Ùa6|^B!^*~i /Xvhk'މ„H y44?Ah1mM\'Ypā ۦQKу4V7cL} E6tf?#^Mi&]L.q׳>M79%5 fRD!YQWYEx2f;-X$5|a#sP_p[ݛL#ORNl>Ӯ3'Hͷ$r0gxQ)?w%lT(G3MC=kZxK!Nn 0K{$Oi,ԺpX>pXr na<-2f-h!AfC5)0Kc>i "Q*24yT̈<ً6O$ma:(-\­HB c5FZ,Pʳ;Lfjo[읣Տu;Bv ZA)n 2aISRe--9\X?lm4 fC"\p̶É5t(5oXÆ:XB;[&ro2},s'3ѿ%Y}pK.QxD3eH[Ϯ-72h ;\w P#ޤԽH8Ҧ0!\2PY[ \8x{DJ&>tjwS3N79e-ݽH˫mz#OB /K)cov2E \#R"bAe-koݫ@BՈ9תcXuؤ+|5NfGfŪwoR;=|h89#bz8xt5l9愘rJ|t|bt昚h1nrOK?~#X8w, 1g!W\|2UZջqC2P#o%NSY&\R W *O]wƵa8 Vq+%=\a![9iOs55<7FSҡ&*;]kGZl7ʡ\%p?.!-3AI7a gRZy2U.u#t(3«u_`Kyx7y8ٖz5F6qdJK@iuDC_ru>` CeTn`YgQMf, XCitTt a=YGwpLn}ie*L`Od)8oG*XRauYnVx9 ޝ5h5^k Upd$*545z%ί k2[&TwogN{*rr}39rfQ2cg(ib4k|]RDIa[ez8M1lgX$6z5ȄW_=H2T\ǶE Ɗ"z:ݹ5pISA-8eU.So9ldU&zf'Y犰Sl4;p8[ࡨv&|B͛8L<a51)@Qro$/Jz',X_@ eOQV7mP6!՟ɍ9iW:%!.p9ǎPڢL2"ƛ2 Cx̔.ژ4T2-p~ P碸N?` ag^fK6|D\1I? *vJ2k17D6EvDWrC\&r9Ґ$"v b㫬s;}eA\(29$")o}Js d hxɥKL"QwL1Sy!<ԛ v_xwM}X&v vto(_  ,{jХDԛ+B˫\={tCʺ cu):k/N_ύ%Bb&.15@N77Fqe)Ž&oZ h kdC57^?4{X)ZU<5vjLb~0}PXH['m=~6%[8t{CniljM&& ( $ciӚrii eȝR InK @~ݳkp\a\yPe>R;Ù]` 3)gZqm~ˡ}cGz9n%eAEXUdAjnY%[8u;CP-%\vGQ\D# #7Ț }'v mU;hraK'lwDeHȐN!B/bj1Rq>y{q۪ShtZRFтqBj[+ YVh+̥2?ؙ p =_dBl[PeuQWؾyfV*e[fQxRoy+ YށH꽔oʃn>\Ckc4[SwM<,c]p5PdFS:>p)AIրTБ&c&GM~\\g)7i޸vҭeB 6[Cf_;gU(r)ed9c3D*ѓ֏Jtb[.|EdLdU?O&Jd@K`  n[&ruh 6I3ZRf2Qf||co/;Y̒:=,M'1 ckz=mZ {Ӭmqڭ88lC> Sv.К@hq#)qՔestY1e6-Ƅ QZ L2ScpHCEF}AO B(w4JٖAV0fdT,&c[grH,h/A3\Gc#؛R'W[r`goji+{AFS,A3=o_!#OVͻZ+dZ!mg><%xw^OG.FL4ҥkOn]YagjXbI#gz΋-4%z}Urymy^SLߧ: `[&r_jl:Bu+$Ҕ|d5 T? afoJ;uӜfCVm N8OamRe:-}ꔯM͆n CϾS d3bW3Cuw1? e3}$"ި6DYmֈW[8-lC%|V z]s)HNzZvO?vq 9Ƿpv1Y4KnW8j27*n9|ǜa<Żv[琏͜#\r+$)0ኚRJѠSt\`D2%˼"V X u;x۱P1rD*ϼ"X\TSLKt@XwB:TdH0!2XbD&Լ M"*@54S2 w, )"Tù[$Ur䶲pɱ*m mo9NfA+kUZc4!7[rF"Fj%GRW"C=i]y0+M s @%Ͽ 'Goh@K׆Q /m)t7{SAO-j9|mEcv}0!i4V~"lxj\^#0U#-j9|GK6ϩD͹<婁|_p&Q'r` .WN툖 `Cg5mܖֿPe5oqLpINc0&=Usiǂ/KٖI;,g'i)L`̖Ҧ߲q.ԠY(3,6_2s,kXz{&N-h9|=܍;#: Y%fY*#vZ+LkMx Zd:["V;הɴ`W~IַZ9M`!S#j̖]Ű@R;LE?N^}k$_;Grh<9ra>l̘\8-8ӏ5`lv#ٶ \񔤜 < l c[8ЭJ\sWs9iW:%!NNkǹ; \;p @AK"ҭIuW5_D9e.-*kS;]=\W"_c:.LU֥|:-W/%urxYZ-wF*S;BWt@q9LѰʱNBT'w1:*O!e.8UwZ\ qj?LdѰʉNRT]42R2Mw, *:uZ^ ;9RFŏ#MQt1KαJs &3s0 :j0[5;:Ѵ_?؉G-,^xRk*?*K /3A=.s^h ѩhiX[ԩY2p-_÷͜I`<%YH w!%ϙzb~R8a-5Zg R[no -؇;ֈ=n_uo;ҧ+#ޠr/l5w}cdؾrj D4ѺOo[1h5~- tK{D4J#pT[&ڦWzwitNi; ɶG1 " ~ >3 7o/ƀ!ގ W [ JTDٛ-px|h V s #Mn|0P5 7$* @ _ue-o `HC7z4p|d|]ll5~ aVWSg{#N&iJPpoaD.o߭}?.|0bp iU;_ E$¢ #}h2!wйоD<'ɷ#5Y}X%|AIs\T8/,CK8!Sх8L-3޷L6ZKM!%/ ^k):d( BKy"T',!BogA[r4by)LV|QYWsU_>߼?AFPe }n\$UGh˰_lQlp>LSwy|k8<ȕ)B]+Q-J+:a Q {ע 3"M>̵gd|%k*_67Bѿ7J I?#0ظш뤱m:q"_ʴ.aS Dsp K2~.Y{&Z_R1~`d|7{ѳ}hEm=2閃x%pjzVp17^Ԣl>?1S(Y fȍ˴[b ݲͤ-%<VWp  !/V# ;FP'*AjyzYȷLBqTGw JG;_KD`~vxx~{dZ13<ǜkpN6I #-n9~&iϤ7+G=yʑI|;PϽ[Ig|Ƕ/b H6W2j>-Sn9~ǎ_Ĉ|uwe%p-) N~{e-Iq֚UyvnnL_dpm w,0~d",=2іwL!CRf-mU|ﵺ1"_!xuN-n9~9np ׭`G}MSӈ`:0t6!|1m UX:+d~hEiϕDp0_ 2l׾gMoi=X}g0Ò=ߵ"J09O>dN5S=ʀ5bB7:Ͻ3{; |[n4#lYqb=v͗_5l+5? @Hi<< 9Ȩ斪ދ/|#Rg~] #BDsCi![W|e[gNMyiMZN'I.gȬX5ʷs\[oZƖ;x1z&,Z{=i߆_I)c߃P ]Q_ܫ|n<.tr&u5օ _f Q8m[ #݀fNVAW| ,w=wCbm"o"dV^\Y: S %:,[rk`:{W_}xbz=Nuܾ[xGYJLhNt5ѵ ݤP=5/I}8`NK`Zh9䪖- T,M?$1tx<ܭN)n6|4^Hķ}FvLQ3rKfZ;3KUWc&+u?'>s ; Lv|ZicW9c!6W<"'U6a÷Peڧ ^l&[^$.wxĽKl*£X1ͶdFO_&u|IW[e-GYe0MU kzi ]B$xNNT iS]+1Mr5d`a C/o9|\TQ4A~EBCB&j]$69[xX GtrP\#Ҝ&\&r`4|iuW/i{y}5t溮״qa =%$QVNէɷfkh#o%a_a V;kljc"04޳%o N!aP帡zmho=;J7~c˜StHdqB^nIoz:TKn*:^`-Tmz9ZK!6WY'>4I!k.MXX55Y #|m|#EitY&&j,%iцFS|TbD-)X/ a qrt(ױޢc}vF$d"D"*L~xmNJ|ff)'5Cqj Ѕ(!8%!n!;//)8(8鬞k2HkX5'PE( +,=E-Cµ/i"L N& N):SjisT_b*X#t Xzº @7n;F`e`[B"Ȃ4L4kp F14 3 pr*Ǝ7T[;4g|y7dwV:u+ZH'aGD e:,9.:߁2[Xw,:kh6 "G%Ps˴\ꮡO4:&* st ozШlN &?pNG>7Y8;CX$uЊoz{0%N'ΩhSvSA%Q59 d8!)p85WVUO[mBO$`yBw.Nfr-n;8- fPvє,6Ċ[R79܋J )JnъPe?t+`)bИЧMW'e[&rOMENtTlZ iӘbF:+ ac5/BC o\3M/8Glgyk—%U;Mj&mT" $ut/5^x6j7M+?i:1d!/1QKɒl5lCuO~M1yAI1UƜs|Z}ϛy83vÑ2Jễ/K*#M -}6=i*qpeM %o FG3jnh N)t]aD׌˶ \M΃;_4F=(n:}hǩ(ƩHėptZ^k\Q8l MǮ#<(j{K:*|CjŔ@5 'MƗ| eq98+/& dAuly9#ٷ1GK4|*&L}&#dˤ\H'1Q?ˀ |j XxvqB q?eb.;* G$5S;nC;kN+°p⋨3q%[ĻFGKkHNxMLg¾#k?*@+0t=i….CG羥'070y$H$j^sa HsCQ8}=1`<~FG%D]KRܢ/>%%a6'r(-%M'[e.w%_8: MJb5ג,H:&H:קT H;T#AR^68hє)͕4k$L4=d9S,2QCx%G8u~+*eY#ȾQ83W~AL>ɺA|;/: ߊ'YgSY3~>}6j񃠔s=\(7wq!\f:؉Q Ξ ;TuƔ N >a;Nߌ]v<2YC4{ӎM|FLΦ8g~LowQ, Sw`W3gl7(|:tB8FLΦȺ<Ѯ.id4Ej xJ㹜 a.{o oj3׃/i:j:v@:fu?o]Iˣ3 !` C "[e.ǯQv{1dp3 5s[MWg~O Վ`Sx`L@TZN ĶISnAa#ID:#jja6_0b5… V sUra{ (pxm\ب2NnplߚS&02=wNm8-K2F@;Ƕ0@aẁ[òx$m˱;fRgglnZ÷R--o9|pvwQytP؁)sxn¹-'·Q`*-Sn9|]holP[&r9,㟼\㨏<{kzc'wWD1jM0.Nx,zDvE$&`:m];O}"n&Wufgs2іw,"tfj3{usIxYwc3>m|+Yo]UR3[8;X>ZgsE`J pbGUgT+Ne.G/WYx pxm&Wf_;RrCIKơÅ1l_I-L9, nz 5~56;Pt[0Wt9]sԾz|RRfl@ Ґ@ Oʱ 9e-Ob r>jhK}  _9_gn|6>"ed|DF}}rhf=7b5@ZZB`8[&rj n]눯KsCEoϿBK+T K_go673|T[& (s7i:뉯Eb+p)KOބNt 'kZ.j@cN-m9~c<suA/|1;O`t`} O p"fnܼz+{xD<%/ ~dȷ웨[#o'CyNjzݶa9Mx)b3*LK>6%b:_bkSZkqRW4=w^۹,p<5@ \MpMVAf+u+m 7di2ZGe-GϻAz0(<Ķ ]Ct單ݡ[f^j%T93EiN!«Rez-Ǯ)Nhz<-%j=&̟m{V~-1/45WN'M 9e:-Ǎ7=]1jgq4񀾇,\q[ l ;C]> 0 RbXRQ%[ض$Cn۾8% !Ůjuy"kd+Ԫ\ N|ˠ;%.lm!yI:@$ ݝY5pḨSdZqO `v{Ӻ-|5ar /KJ cbD"SYg<xMYxUJL3~$)K(+s "3 8$UxAY%uv8BmũsZ w $N(5<6;BCwzk"'Z>2,):J'10bD6uRVMJ:B)s a H$R;Kg6qam[0D>E窼 W,{ɧ_;HF@X>\H)Lꈐeb.GX BD<"A%ʢcStˤ\6 X')DJ;sr0ܪ@-lKw, "ܠN29WyE| xml=ඝ~5/MD\tBb9TnԦǀe(Rqn85@s>m|]?-ۑǷ:CR[mk9GҒR1Tl.eTa tLDe'ɷ> ސ|twoLziG[1a]N(!prLPk?q8WeZ<>l#}4lŗ$|*+< }콱->>UzKZ0 SN-* Z9bbMkQnn6+yH@S68"NIS??[rMznpp;zeɫoօv[e-Oov `e7 b+vm~i/ea<`8NֳkNeB髎/KhﻶDZHw| ش pΆY8߰'߱複oDx@^7. $ZyXՃ=FS :*yZn,`3-;툧|;2Gc6^~*m9|vtBX^զyw'zQPO]踼nh!#XAFA°nO-l9vL\vwÊ-]kZ$l$+,~Ç+M;:J :E~1VP7v6ye)2Ŗc'?tO|߱wn~Ŗ4-;$+LK_/ipeOOL٩|$F[8-ontKfp+RUwg@ %2TJ gd M҃Ã4h* $<I;+Gy i]4|hNt%q -]lW˱uBX8ˆ.m9Kǒq\'{&:q 0%Vk&Yg#q Iٴ!**tam𦫓 Ifsk'>\`JpsSl&^%Unp78Vxie:.oo@ p=LJ;f3z{n7gP)o K2 &ĉj]r_i sto5^p&h8fhabBE`K(3=Õgql!}bR Ot҅189:9zۃǃ06sC_{ڶL7r7"%r%c3KLL1 2~\(N Pqg2t?B>J݀q|+5_fX* s2١-K(J%l(7Kv9Cln_a sx+黾o!Z92 ;7V<ݝ]ZmxYx2cwHK:xܒ[mmk \L< ;Z0nLb'_EM}͂VڳgU7jswqHrYEkv 4;'ڤ;r,^yhnh;v-wY nDL3B`;f/̚-ܝ)c \ J9eZ-/g.AT;ڦ}*ai4z)jWWD_mN]EtۥnR[a89lg7,k/xnbe07 zا&nlO.n8EK Lzpᴐ0vX-:il %WS-\LEApn=² #c_[.,8Lii'S-$ GpŹSoCOuM{R憮ΐ\emLNb}fuSٙ 8ua/k݀%0Fat~ a([|? 齎oJrՀ:ᅭ`'e4a!q./wwnεEmxƏrM_X-p%%:6ߪd3g7}Bq=fn=LA:7ټ%3(Yw`Jtڌ^'bgpP ۰+|h o\O-dAl *K*na\2ze $3_rYcJ0yƜJ5t6゜7N+[ru W-UIIqM(XJEjDޤrO^q #Q P&r鰜7Et+LBWÙvpMpfcx{ZÉ<2 w]{|N6Nk؊/%:5)6zz>0Gc jC9PFZ[Vгz¡G?(.5vCtv_oxd-?=3"EBQ3 Z~o:<>4`rrKjK ԰3{xʅd3 ̄ GN2 o8-e nЍs sm㑯_6RaM=i9q@="!@PC|]nc~vو+9Ȧp#v/6Ϸ|Kְϡ0[? O5>,g7>x-7blF's39(}"EwT&.q#-Nh-CZ&){LbWPEL}bL9ZtAsأY%evPCfALCSEpsr54(PtlbclGN<[K2C=UߍbbXz|EW ݝ<8K3pL93J*aBe3O.k9K-Ÿ.Q׼NTe{tK/9<0RP*a>>$[̀}XCG8a$O$+W ы.]f`64J[0_Յa,DԄf2gň}F8**yz^דt,hB^9MJ?[&r]uݫzڽGLJ{2ٖ_$}x暌ie- $E;VDח)c0bD<廭k􉔳H1nr;ܐ! \ڭRYϲDoEV8 AD+S?9[=:')c2tUbqǬޫ9#O-FwۋNʫٕmVeR ADkR8E}I9 ^he-X 1"T(fuߺHhjN6v,J K 1ď9u` ?0Ic)H%[mv_SfdA}\r):ǒ#,k9|ly=ȗ [bsGvh!Wm؞˄arvװ$EPsoF| 2ٖw(G9+|!y~$k1NÇ8 Ij)|͐\x+KGHϥ7mw~NRX6O+B|8eB+9UXSqotúߗ{u츅/gX'wƂY{O|B ۱0WDڨP8߉,B E[rN_{s?t95 ]䟞's`=nDe)Z CsuH&tV=vnȏT(NN JON'"Ѱat:8OƗ[v\Cj\&,K]<o$R}Bqgt|"\?CP| ; Q`;9߭+"39M\DA."+<7چcJaͮe-SJ7]s씊`v͈l‹!y+X7)xA3{?S2x6A95U̪В/Coh\2 1uI"o{]kϾӡzF$i 'C#w:-B8~074zq [5'r% lĊk Mҧ9ҟk>UMWN. e.*XǁID5p ?ܡ EE(S C-Mo"Qp-ܮ3gzގgRS_pSZFCOɛJa'u;L g}?y@ XPwG^тX`VN8vB ǿI⌨9C':4%Ip!ӱNMiVx:ZNOyz:O۱A-Sm9x =\/5\J}P:#,jLk|&M"~[ MG:7SJN-n9~ ;ak,^MmrkLwGV԰*_Av %LT1Bٖp}ό/%>(}lgơ7VT,[&r hco⥴M_Y=D$̌Wĺ?'=l cۗBoj?^R:N-l9z_k#)1 ]Uء$C@xͷtwEPc 3eЖc&/rkEWUB/b»reR'FEZntުin3tj jKwGJ\drŋsnad17E(.fgЖc]LhEmC]ڭws7G9Ϲ*h9t9z|'HzIRY1vb), S>dd4\Z|4 0\;2Pe埕JU؎dYtmmPPEm̲Ѹ[+Ml7@]ݖjZyJCTnFKY1x*o8kx;Gа2kad0]$v b,Xi~U&4z}NHmB/(;&* >,ܯeZ,Ύ ^8})A.VK @6`I/C*8$ K8eXX"V_Pxv2!C/F`{0|Vh+LK|ӞrRH:sӠQm6andIZ.Sb9vCV ת/l)`Dry;V`Je`%[u$3\pL;ɭbsxX߁Έ7*㣹`{+)IxlUXKjU GClBvxXʋq\wݑW'xwbl^>(%Kr: TJ'ohDL9Nz-y[w#ڝpY+fC~^аl 8x풡 WLW̲y螭Uۧ H WZ5` fXѥIe]ӭE3e[$q1!#Osr14ӊVd [,o*@Ѕ8 \ : ?n~OHܱm OѪ+7Kca*ٸ8 d;t#,p]s]!/nSMaܹ{h@wbUfCaK*;X"\rNB*.m9DrD2W)Q/*uVTV%O!s[h|ۨ[)l!BdS?Ux3'Gdm4g[;5j֤h^ <σݺMao c1Xfm v6.Q.z6ٳeB-X-TmHv[Z.t9A ͯI㯵=^i ]&AvKyrzˇ##zD[&Fii@Dƃ['qg99\ 2i*=P$ʁAk˄Y;mMKƾڍBkRwh=KIf iږpR<9yo ΘU 2j`R)k1 TLq3oBeZ-sSǛNSjؿUˈ78-kSﶧyZ{D+RZݱPw[b Q) <)s mFˡłLA}"w;&6N~}~=6`SBXʬ`o&T EUtٵec=Wpkl`?zX.3GŸ,_mn>yj}\ exfۦpʐ%ـ]w.^[P-lR5pON!Y詀oA(fp8]xY L/᱙M_p'.14WyW{k54 "XhZo 4<gƊGK/9Rn|ܶ+/sS3/s鶄\-W){f_ptJB9%P^áq"޹8knKN|? ˄\1S"԰:R;wDӈ mPNx(0kTKJ$]cuܤwrE][Z{;e۔v.pGo3LsYŽ2KBڿu^ψ='Z!<aŽ1O}W8+0.lџ!x, `)aq}T"R]^&rE"M-/UI7SS|m5Ѹ^tKbN1'VYv?5Vs%;0Xī\{ z 1OK{ <7AKp KBen8^&Ax7:27C˭jCݹiqv0CY4G0A"2041A#&(6,[&rT@G7n[ƵsKQ#Sۆҕx5G2U֐bjX2ϱʱi-^9+9pZ@?` mg֏׈)n$Lxt y{'g1 4؀$ bJ9LNwfD#trțnpk96Eϴ{L׆5- 6C<\5>Nr A)d7Vj !A SHcwi5t^~|“ k(.Pc kަ^R%/\!M\r5Òˌ`F$i5b  "~ݞ5]L ;E #pSˤ\-  lnC;~)|$ qZ y3mŔa f֐" >X¥dEMf2%Oo'Tu5\K&r(/)ԫ2w,Br<3.>_%P%mqvΓy7-;ys"`K;LKI$޴L !&i0 st[ޱJAM\]:euk;P,^Ny,XxzKWM*a;0lCx˭L岱PIMolď%]B㇈pv@zn ԷKݦX|3&?-/7mbo}㟧Ƕ8,QD1.o9k N{1`K =`owo>Ϗ纁< XωE4َm UF0Mqu mPق& M}7<Uj 1ud1seEVY#S=׺ `KۍyvNls:8A).hqӸc+UBst[T3ꆚo!,H=vEL3n{>Ԑ[MJXqzf+2.RՅ2aN Ѐ]a9BL3~3?~$.8#A_[8~;O "@c`@whsVxɹnLW`.|ı~Tzƫ!e-@pKucOz)ncgD_7L<#M?5 f{H`]o|0/6mddacs(ۖ;pc+-G 8؈Qx' 0ϸߒ2˾{;܇{QlbhP!НC/lxUHL gqS%iMYf1~KVddj<O"[rX,K&.{:ɓC5>3?/Sp`'mԷd͵c,Yg}5[ b眭 rmќK~v+ILJ"2CsSVUrw+TbEw ȼ6x1dXa:0΄3pY^t b _ߦ_+{X`.(AԔ[}/St qgm[ӺAq]*[*h3qQh妡MLhLBPV!9WxY_Ø5 o( vUX5;xkLk|6?8t)N},a C5D{2q7pp γa=8rl\ٸ*VI5hfkmN?FltL#3wO- eih0Z` ?f1ě3+Lk||zN\O BSpt֐.^}p(Sh9|]Mьht+lФ ՠ;) C #aJt*:Z56Jn܀ =W3] rETMTbty=GRt`t#%S^ J~3xˤZ(&FryI5H5w6o oxO&T͝V狸0R^[rƔԥWnVxÎ(*a ',N(Rp2zp`Eޔ ^QIIvjt-hRz) -۲-kCkMz̗V3=cMjE(izMV #ȵW.ݪ!ӄZ Z6M8O ]_?21tS*J/fVY̗<Cp?ROd ,mS"7 \DC9"qzz6߷AI>k_ Yu~ iJNoLXVdq AZɶm)ӓ b4X(#}Plj@<&뉰 &;k N~x(F`{P158 ?iUlbG(K^ptI|] PeU-jW4ψ.Ȕ<:p}j8f~C2a=NMTȗ{h?)eP]an`+r:,=s esom: PĈ|MwꪆM""5<@1c5&K4$ј f\#2Ֆ׍:oJ庑ίkWpCcԕ`1BpEZEHXn6H-Z >Ș43pdel#ۿ^IbV'+֊)UO?Dk:͏>;Qı\H$J m9ҫ3!+I` 8dȼjCM?l_oI Gja ^Nuת%yX|iV<;JУ&K8},-uN^WG2Co(MYpW 8gw/2A/xn<ͶZ6o]mf˱;vQ[6c69M}&+j9p1J?]j] "bN)%{p[1A^o쭓 U^ $[4Z^NESB[iz]]?ߟ?f쿱$`j䛵ܺZ8%Ûi[SzSo%z3ݺe"MvMӴBA[ǪR(Ņ5[C슚;':^¦0Aӯ61̯™xśJ sxRTػ-]Vf!m#9ɹĜfMU3cRs ^ {ŻS^fZm'K\cRqd* !E[$2ComcF5@ap6W<#&"Y__203޺.Cf(a7'Xv6 `篴,p5T\P=m`pv\*~h;: Mk⩽ox+ I0{ ꝥM -:|-o9z|auw$\+0d3Е[5dyOG1c_؄xG]f7EL-kv6o yBk;\Zqn=[ė\<[E׳v+<-ǒz:צ}`iR'`԰S ppW^U lGI:i6h9aUuiO`6<)R7c;Ǟʳx;RYfӞź4ohnz[މV:Zc kCtqnQfˇϯiCf(͔S;-'C™ovAGnc;_n2)BS+Qcbv HB`?%|.h2|hקvX"4p7Cŗ|[)'Gt}#W|V|Ap.PG[r7:WV[#"Ƭn7|D$ ʅXjRe-o`?`r|_;oy޶FbfZBďM9e٬AE ~p:jh; O{Ѵ:v1﹥?U[ W~<6n*'vҡn^u;I~;<"1saQ?,fNl9Y׽01j"դT]9! Ȓ/@w:~jZ΃a躩;*+zSj<ىG6Tx?Gh^ ͊.V%]0>m,*"X=y8}tj5D4~1S}x6jޔ(i^`xϿ_]7`mCaQ^zZBxzQW{O , %_kSq7^|</ ^>iS` k(M$kO9k d\n90j]xNTAWYkz)/FmW(|^BJaIѮia .}`%pd"ŏp{j a ёx1e^L7y4biK Ţ5gv)DKm+W,k^ފ_I :5wycjb ƻ i.,{̈́7t9 "ĦDK9+xap+TKS𢡊)?I``i~ m\ v?}ا9Xb["6tj@$zi60f9# )VčA\~#/áރobW"/^Jh(TgƑ op F AYI<?U95hbK}^M/E;cܒ XCs&^ݧ{*7֘퇈C(#vvӞ0Es*nb06xG+ݪ(rɶ$9{h~M𝳿"{`a{Z?6Ub|<JQjናaqo[ Ww V9PއfJ!ƊL%޶(\G}Zx1f#\-N^хT;Y|TlGqy >'j}7Ynhy:Y^x7]Ȋ jCXg-X.u$`pȘR]P qRAۜ:*[֡Oq9juPkSaz.RWg+Bv/lWmR#Ѩ,l~kס_e0E"NqZe<85On p綠-:aA~i?o> :X!T֋Ѓ(80GEMI#wl8 턛s6@od)cN֕V e?_e Nld B[maYtX  Q*BY',_e=ʲFVv:Tfmӆ=\S`s2:A_:Ii|k2;t/l-9Xz]9Fݑ s65U6Ux޽bYRٓzgA7Ϯ( 8I7X 6WW_dAծN/)K^93 %i܊1~S!0~O4K_iy|;}PM¥h jkB;th&SOнg:f\4%EH7>Yl9v븠׷|\P1E87/ 2dJP>k"כXݿ-ps=ĹrzԝG#Äq+ +;of;@(psqLfg**{xQ챼8i('0Wgkt䢶!Tk8G5@-ֵl5vw[a [rue{tE|5>DOn'pyeI(F'J1 mSg[tj ~ TR2jyjrq=Fjn7zTfY4Kb ש*5PS8()?뷏,&EAon*ը@/a5%]ڪ2[LaEP[˫n^GOCB:^`y{LFm]!W#O4S]ǨƁMG 2WƁ`·6>sݣy8}U 2>,.Q>eYSLMNN-&aی_( _]|ݙ.{tY~?Ƹ=M*sin֍.*-&Sjs7~0fVmR5\s e﷿)ziip"J{> IqL[NVG^[C+]-*ޜp ~FF,=I=L:j'Ӡb7MPDY^h;9"h,nY=k :R-t#m8QI =yaLvcL(bD!|5W19_r Wo|2-b;we#X=H?ʥCEl5~$֒Q#/\*i*i57>ܭTLX/]sp?mKW~WtǶƯvkjq鯷"p3ǘD3&M6$/4֢{e@- oXa˯[f^Fyfu=Q Kse7 ; `H1'#v.':g[Ԛ]MsI/` vipEJ^"('&ljWIO `A7Mvl*.Yx{7_LKeuy i9z>incZ \Py׻qnn 6{44v?י{]ְ$$k(?{E[gf@ɻwZqķ(A[ߠ5S8M?Yl#7b{w{өZ`^SZ_YNu-ȕ|ۏ翺|䟈2nQlX)WAhw;RPFbvKq;f#ryW([`e[_)FWXuz{`״vOY=6O}ϣh€݀ (Zn4% GBȸ,y˒D4(>Q"ɖ4\S?<1=@UB7 bF3 b1C2ֿ-_~RSwm jCcPoQylh5"CK\~͊vXZۥ:ΐ%5TՀ9i![#ght?wp`a2#k+`^?z[m|.X.;79mR;a{kOmjN ,Q|m7 n.5 ߶e|cf.z7$i $@_mEmdq$Y矃GX`C@,MBMg-@0 |s<Q$jJ%6^K M+ٴPlxf!kҟ/vt K訤(p694@m[E%|QFmDf4ΧNݧhek$)}K:ܴ҆#A4Ѩ?ih+,-s=@j0 5M # fzJOy9 ; Q2˛`4nl9{U3~=ʦr),8oOKXAcSȿ` hLGd;; b5 9`k3f+7,Rx_b@Ȫ#dq۶XnsΆީA¡n6Q&gkp,w ̱}72XF%+h6Οe/YSV%ewx-NU:"2mY oY35t.# lDϔY^ a 64K#J lս9d;Px86,4̎92ٹq:|ۢs{7N;jUj|fb4Q0c]2pFʸpg'j ֪& )Ņ3qǚqEDؖ_v=Bsr$®$|y@v)鰅~lv.spx åֹٖp[Wx.eԏP>< mv)ݻIC-<]*Ht, 2;?v4x1k0ǽa9++lb2C*5tF_H] -7j=T[nQ֌[G;4ۓl~$='yq[߹ͻTD8]>p.oVɒr[Wx/EΔ&> _9*,q1n VE8[2>VJܽ[߽¸š' G\8.ڷjwE'@X8"Vyur)ۣ ⏷=IhÊTBm1] lhy5fwF.@W.XCuච̭QXo\]y?*|5)a(+m`5"{4_޼ S% q`3|ke j~ rV̽*k #k#r@TZa:͒b#YO*Re'+č*{Y =MvL0ao|qu(v]):Ԑe!9qL^[pI"3I%7qNyC|sMNl t~vHsΓkmT:3QMx_^!$ª Z*BӽܧR_m jn$ gklE2nrVS8o% ߟ_˻ E./Plva'|%oiNH5cN-{uGγк m['T?v+oM׿Oq#ߙؐLRf_M36yVL٦%LX^xxxuOZpc# u-x-o.I ٘塞À^<+3u :{y/2)uX/wƘBf:'gvl6>odzTXQZkgC~y.5?֬6[8֢^.6Z 4YC ձWe;-^(Yt ~>)M^f8P;O<>j6$k3^X\,_\!͸dT`(Bߴ]U?nZZ螖fmAZ]}$ې=jz$s)t`D) $"5>b*5ڄ>vwn ?_na)n߰XdbG<*;ӌG>}Е8Ei5'zlHQZ9l?ʦPkѢH Lo:_?ÌqtFoḿZT9޷+p>tE>X !&[İ&>qZ+.za:9!FN}d˅Qt+dlڨe_NH ЂBzlm}(gi(kxx=Vx{`b53q[0Wcq8+cՇ#pA>;f\s0gqX;!Q^Hn}zƚ<`Gͭ''J;t9*+tZ\\l%lzDaW*ù =.ԪF~|XWNɉ-=h\s2cv!Z7^|pVo:aeed_lPrMWoW5*PVmِfuW|}eqĆ2.\TB(8 ({mjppRqcJ{0}toYewEK$/$d>ܰ{ړ|RAя}-/ZxuM{VhbtlyA3a礝 m[Vc'Y-;fܲ9fS\f\*Yl5x6.dh75H(QŤsO]ȴ^8)hm*9 k5pKv{vL:tBhdj F^C ?mn㸀 Z8~]sg3ڛ o=_)XB̋dv?IKWx'і6 )13؊-LSnὪμz (U>'d֓+T-2GC?Ic$i.Yӏ?<Šۂ4ps֨w] >7 S9]C3Le[^yu1pۆo9bFe5'jD=xLr`ؿeжhѩ1t;SL#}C gnS<:Flsy+\ֆױ+dwaRǚJ+I{RGHNvsmY V ~>EF!.]=fB2,7?װkN~8$*Fwmx4|ÌRz='5 b s) fmfr BkhtߣkXm_9~η-H ")}/G7Ɍ`7\cl@ Gsyۨ\RwBį] r F{o.a 'Rt I7g9V.2d1Jy. =;5{0G t2bq4~1Φ!P(g#OocV7wʩ>#~A'˹] #Yx{]VY#;}:[h޿>ZV'i&@֕L{ߌ&|nޯYmL +~)^"JJbO>m1[ ߦ1ufi悗V=w߁=E/HZ뿌2q:@ߩA!Gl+慑mn[VwrתG+cڻxG-r;:pAXk?c+F S/'yKWeר[>XrLY^k3!#B+a5# "(6 N%Xĺn.Õ3kỶn[Vw*a$gpt/'ˮd3U,x)t,HbC6 I]~-q&G&TݴEi5p ; c4Y35@3S%aCs*{>P 6tʼnp2]tMnS>1FۅNIayǐIcpm*㈟éMybKDI fu,70" & G4tB@^%ķm[V8yq 0ըn8[?;4{p#^_Z0GN|.mL6F@(y&,mjjr((X3ۯע}XXs&$xzbEg0]4Eh,6hI-p_JU7 Do8oww VbH|ؙQ:[{#4BYTHŁ5ճF7lj0T54z});>$gӭQOIzuDI-Lɜ@NM p[V S/Kc]{brGWi(MCTR$H:a5Oe_n j7)8mѠ+t5#>bX (65K %†E-~#MH8 1$%'r!vyDU' B-v1'|۹TdܴݯM?-3GaK:;'zۍhfpJQ-Jl6O-b/n %> 1VƮQ.^t,)Gw;djIXURvڝs e!J[Hc1NzN/=IS,SQ=q*Q _(,`_$ F~GKفa?~6\,f˄b:o.1kc[( 88"E9ߛԋh=Oto,ƎRNhB9z&,R)0K*\m j,`ƌz IpÛ[ 7ޯ{/.40u;S|!%5[{k%%+v#Ef㤕;]5隌E8EC=R[^C .BP¾B𜫶A:3|ѕj[O7*KV29-8{sI ffF;FN41Tpb}|ۂ? ?30vSL+_ f `x޿} R̉>k* Qsm);hu'0EMPY$zh Ʊ;$T췞d9+ˀo MBͬtjQ%J Zfi4OeO72 6Nk7ێvE8Iw:? /N!ι+ਧR_6 F22D@kr&Xlbˌq[4g8g'=RRG.t3.#~., tϑ=Yo?˘[ :/A NI\_ۋgpl j;! dAm9\84TK`ӼYkT*TFꃉ X[9lǶpy!Н>/=nf*\$/yąO4sޥò/76Ua:|Ԥw SN`ɬ`d0T.칋o㜷 (gdFO~ZKVq艙{Leu8f#S6"/81#Mp[.Vg=6Cu:y*q6oq~=c ldQKSȰєk=Kڽ p[Wy~Yo: èdta?ly&5SĪK.bk82pFS¦0jXT[c:N~%S܌1TVi;R49jk?B=Mo|lﴏWs@8e )JAN`S^v{Vg_$]îL"PɈh*&qVtK91fL[Ega*k fy'2.(NK}}k~'U˪0t_hDp o={GBWKLSI6zzS"Hw kk:e{O ގNC ߽#Mdr˭A!(vo*q_7wo7+-|} %FpFڭ=7h|y( :Kӆr˰2#K0H}d1Ӊ?2A[l/9]UmW7=1:^EB q8!ų^m[^7^ ^ flt9ϋdG1EkIU4$:STnce=6` \p-B ˯H/?faEo[Vwn2v%mI8b_ Z?6bx|JvpJ zDN'$S7nN  wqʼn63"ɤᷟZ] kf .pNBe.uUG62EX/AJQK/61>m +~%YOou=LWˌ:4& 0x{BagT3C6_Q (] ɶ-p vlH]Oy7A%v'iB_TZfD~(Z0sub\2xknet!v&~SH7ZPR;ɤC܄9j3lSEӻemAtNEYɜ5s+Y ֗[tTi &r0C~Ìr^6wp8N̝z32嬙9au$qN9N0BE^K eR '&}xar?z& CrN]op]OvsN_Ii2XP4Odbz\o[VçU?Ũ!xz{9}! m8*k#"F?kHRoN- [I-xُMFq \L 9ñ t8%8TBL-9ᣱ Wlx~%iMzR5dL]CDLIqw:ypԕ6¤n6YC? O63Sv}F*r! n . $(5s_4RY<9K`#K[ǜM|ۢ-t߭C/pFeNgGG%Wؚm\ -(13s[35W3͌o* a$I9Gwȵ{!h#^ȥL j_KmtMH;H@\zOFL>[H<E)ӹI q0a+2,Gc$I4$0tJAּH$wZ꤈f;RDKVm~ Ai9 8\ gR󫘯e &Đ!??axu\N%ѥ/R2 7mxJ.g8[Ƀ@.IGW(b‹Y_Be|h/pYx~K>.“(.GQ -[-9m!\î]kc}X&7fl,Bo c񞋊|jYKrڲNl%4VZiĮͥQEZJp_/~=!_ܿGC?/SnfEYYvY:>9MPA4+LةyqMHp>R-q СϷYY\a9ߣ^ p^>h}o6G5F-+\{7VIV 9Bw`rx 0 RعBg}K_w.S+8j]#Q4wh' Ep5y 2+ՠ=lrh_ɝv/yox1J/9zTU7A XAn/|e^(.H$#D'M6YeVo)4{ "a+wƍo?FF^>;)0#=FežJ+t.ot{p@ԇyhF &̕=.uwhvlϱy+_~l!j s8q!{%py^412n!~:a 8¯f@h:b{}<:&.malD}ƧOEFW'E<}[W÷'bmp݆Ϸ_Uv=û[_3/ݑD e$ @C9_ueϯ?ri8`)) ܧ %_m jF88qnf\q9]>~-0 ^òfi0D߽(s&S /6k(:P,"=~vCh Ѝ )0d&= Vv"*.xa@9ޣ6җ_m7Nj^d%`Y-,#Ni}7-B[Vuc? 5_q(3v/oz`ɟ}tz$c LٙB&]OuzI5E8ʼnG8HDy( o}o:.~O{YQzo!7ZR^bӐxJe8,{!YSsOUZyƚ&zpb*r#Dd 2ǟ_oт/͓]/~;u%@O>>1,Ǯ|]?Έ.ZD-;/I{fYڋ1"7@Y:eN>fh*)a]=77R|h-ЅR5{/n&Z I@ܗD y-`[O.=~jl mli!kҨk~`Y}1LF!lUYO}Mz?AI@/:ϑVGnQ#*-NI*X1ƺnp& ܛ2߷>>G #x&ϛ$~6oY>P^ h__?6n jkcn|NcW4\(1*ZF|1&s$dO-swc[uJ/%|12U.d sGי[ 17bN$ X;HIj>mZDNN3X Qw6Y_{ `Y_HR'e{c=+ӫmI!_Pp<=MvLHu'ar -t6'hj|C܂9޶XM-BZ` 2<>(B>T UtkmV9MP&T·eAvDf#p*b DNl fkFΫWzjR x97'M,T2` آ0G'ۚhսdh 3AVQ]_K9DV[\_% %4}-zbU3^Dwn|༣xf ]&8z-2}1uhrGqWlk)Լ7t\t(Ϙp[V#1UAoy#ηW,oT )lK>~1T}|yXOs%$gUr X9"Yv7uWl"'|43 S{--{и6SjJšiA#&pU`KF=8F7h_ 9ᣙ!W?__\ ֤[Y9$Ӽy/Ypu[CqMXYڍe*'v+pϷB>J8 p[W )8{3đ78kѧ:s7,k5j^Y`aZ&S?=-k;w\2~Vq3`>t~βOGj](z3RMDQ*8u|_ls7)p4Q{J1~z*l &=6hH5v\chjtgݬ+Ȁ]jfWIjbd|E<ߧkNדƒN&kA:TUh3čqۮ&|ٲjbdI]+x.?B =͐2Aԗ S_|4뙵l =|ci !oF2ܚ%ewB`'82Oep'mFq@⹭,*)zrؼ*YdDIu fL;!x5< DIM 9>ڷ2YrV-*>ҷ8!#Jl Qlu`X^.RT'X yBExiF3[G_Fy_adWwGsL$8@ۊ w--B@~9Jٮ|F#r6-vS L qpxz +¢JW8h4'[& )R*u[cb!(fz Ӄ ja=# yZ؁c$[#G)R*^?絵EuQf1%M{A5YgN Igǎ<А5D86+Zh)#d8zA*y|o = VK>'&'7g{XPvșY; ; 6bݽ4:pz6im|5b+|mR;_#N+qM|yā#WJ}_}Ёkw)U2'|ҹiTy倠ju*İt,)7?⟉/] ?/%IM陰Qv+{ϯU$L[ PG謴!ȕs2(UGkC)+ŽL ?_On: 9sBgAv@#\[d\ E)YPr^|=/ao &¨xR'\ ]Ef=nsO,^?N waLEĵ'a4(HE+A3‡ƒwf@{Ѭp9dyZ֘ޞe/c}^A%Ea)y5X\Mr-v=Kb4Շ#אԫ ր2,aqr+AC+ՄQ%TqzؗNV ʴD;Lsϧ~L w)BZ][8$jFEsnC`iD-8Q `.\:W"`?1bg=a6n)֡s}Bڦ[R`asIeQ:IoșC5ckguJK11cT:_c—Nޮ E:w2OV /y)MVrH R3NIk/MG7$Q Mu Aa$R-vFEV'JJ>ܢVhqq\ 59G_ONR]sJP)`hD爨*IkʾH z[)껤B^vN•^sS8{j\b\_GK0*Yik:N^&p'-VQ%!zcuhiK:d:g̃ }I.x>_ /;+N<nWJ88?aA/œ;n%!gHI1%LHNaJT= y}>A .aF=ݰUŨ8b~b:Ϝ%zf ukLMvR1078q6`+5=1%$IɲqvY钟ҪY4ާ[.S-aׇ~jvlT8g쪑9f'0)q~q%eD|mco|+7 ^GGizS}/2n#2*vޘ]3 :aZӱq 0pB9"MJaFąrDv60um+Z 7F 5Z_B e98uL8oaK#?ؿ;:xNT^ K}ZFR1]ߠ8):z]6~dKֱ@ n9ӗ}-Us>~Q]Aw#8 w# J( =M4Ǧ2rlHL3f«I0kql^yN[#ա^Xm"[,ԈOAe9\mxWR}oKzY}C, a aF-H P-Tspyp n:V{6x X[ळ>.$`G{t4[ޅyRH}2?~e;!^_cYը\V2׺l%zQNJ|sʍ.;=ͷw#$#FhhL"qCXeAd[N)azeAbJZ z_⁳agM\u:^dC-R7od+yn^N!iRxy-Fm(H6Y޺Ny%ΖKl%a s¤pYM2@F NX5@TŁj6ᾝ# w+Yzm(c#ˌh];Lʳple@tVDUON7:', ;^\>[Z0@I~tvdn kXYLg! flic hT /|y*+Gӡi1XeD01@$q;9S"!fYcbpί@TypC vBK?ǭIn Gn>  uUF^]opI whنSY Su]$w9`woCTppr8Ɇk'j/ n*F"p+n!?1ezɶt@3k%(bGfID&yt]b.1UCy+B9 Q5Ay1{:@avS,.u~  EK_ReVxC6 FG"GۂeYc>L0*N3O!Bƪ*V+:uNX^fεVZqD+s-X*|0,.aLL%:KlxZ)pΪNF,\%q{;[aOvGeOGa6\N]ٴVPLxٸ- HL:a+m;GF*/DɶˌɴeGt`ȅV `/eQ${rww$X|z9-I M_|g#  @2nz4^e XS>ceMf DO֙%r[5P@!XE4ɶP]>pkdO P`kL6'GZYu]uh;? &;&0N ٵu/Iͪtg*L©AX /G@X+\,Kf r_[Gf#Wo,?>N*]( T[){ث'pJ8[!e֙%t= z ՓcpB+hm*[ԁW~ENuh\0ڐI~m϶np1o ZKhѶ`Ymow$2d2L݊0R_[Bǭ DŽ}7<c#h[ON9Z!3i8V5#r"Zv Q{u^rfXhq ZOh-~).|'f`[-+:蚄*I"~l `|T[>Eqwl t͑IjQA+]a&třbO&^!q5;j1 N`-_8j=0_0ԍ['J\Н0cfP^ђKs[|/~>jˀ>jRҡ-$qohIF݁l+[˱oH {BxŸJ6)e6(dXLX7X{mLS~ neN~Ed8 ?1 mQyKLcƛ891s3gAwL(GFhA Bx"#@#A։P;W3C7LΩ+%4 iS6Zؼ$c.}&pgpN>HO{̚`3Ώ `a2QANsYBFG(iڳ+vje}ڕ*C&%t5.]>֫D +bHIhmVMY-f &EGKԩaDKR˥`ξ׏__Ǘq g 60?:[NYJ0Vt?_KP-)V=Ea%{1d)\Kf̿m3ڰFF &Be7+nE2}c+궥[Y]w')_w-a BVF sc+S'GtZ"novoGSYPw%_=IyD4%XLPC:Vw%_=IyD %ρ?a+&4iωW^<|s xWbO%m 7MyDRSݖNf$:V"w%.RQҥdOk3mLRop($Kû$G%6-6'[Hw[˼+g>ok)bKP++ J  rTc3o]ڌY(OSē[ ?d!=s3B7{(uC }'ž>.7a, -6Nݨ܀MY13QNݭhIj}@%2xAp,x 26Vwi.LH8oL[x$Y " FIaο?mclNDcq;:(~#+?O&IЕݙ » gP6tw_ŵgKfɌm\b>$cX8$ x1B۰i!fhJa`Y \8ظ 8b~ Xe߇~z{0uKKJf"xP~ɟe97uD['J蜳;^[+Zr*y.~ m(lۃ #1@,NL`!!*HUtyiV1a+@ ^#~>t0XH:<5OZ`?I1iQx #-BF6 yrs'(ylF82& q#KnE#d#k`r^ʥ\,(+m:#3/le%:yV"x]V{ѻʋKmIUI~)K’^gtF׮FÌb\1dl8ʜ8jZ0Zf#ݥ/Ñg%3wc#֚o^ީѥD%c2.F|{rkY%q}a IVD%55u pS’`LT?xᄐ/o]QsrllNݽùKzl1$&??\'J0#;6=Sff(LK. uh |pӁRaS̰.Bm_KgqB.&+㗷CSܓrԝ-)a)@>r4NuBm#l(Ucن)CaUjHQ̖Kb8WŸbç'8z&?bi%l)F '67Nt _ VjUcY>QKlC ^,5z@)i40YKI RHGtIJgHV-lOrn[,k|{+{?SfɠKxGOueJAB`k1mD+pI~feK sclO2?ZĘG"92Ў{ gǵ2fV֩G?ZY6VILfJVy;";א:b=hެNd+ MHTGlSP_dm++}Ț#ٳVk ~O/Jk 4a\X)h hÀhdX ';rB h>Aۂe${7 2f0#6PHׁ['Jl'=خ'B1I>v^R|gh ,kSe8P+ְli2BGW]n`%tBMMarJm݂bChz4ފBymeI^/ǎh ,G ]?vc.S.e iU"V&0m%|*M聹Lr'7&Ikv|-E␼x :2xWtpANkrDG3r~#{ÌG&O'lMB*a^SWawb_0Nۯ۟Bu fˤa& ?s F9sFS3'-@Q%T抟S+wє~_{u\ i .:X(_*CN`mCrl!G&`mAoƲe$biy,[m*qXu: Ը^ǔ1ɝ?"͞eBZJlMl/xN'TUC%-mu5'WO츄jxyrfh1 ̬g<%$':iBezᤐa ,Tbڇji\S V :QYl *yg^8idIW:Bep} k2pi|2&mÞi׮l*TjN؂b%Kʯ8l ~d-Y1*p` ibo*eH5BdA۳ɆrVe̐5-%ՑjUpd`Ġe!kLXՓNdY={?g>b] pǿ| YȖd@DkIAXGOR[DV X[k,|y71yJ*˛#T@md2`|+ip-N)hdZ`A{DACG<9 .$|kz`^jxfwק 52xA`,tgtZޕK^alO½ظ-  =+/{;m h۟٪c0u4dbg<)+ّ>i?k9O}ⱡs5`q.KPзV֔CآcL(M J~kN඀IUnk2M >:V"wEQW#4X ~ K|ű@^)XOMNfF|Ö +0C/'>&_X2 'dFQٸ@#Y~ N<ZY'J讄8eJ=? l[l+g] qRc&lO55%_bSh5$ƤKОay@!-m+J Ę [WI$_@YvWrl81iR'ra%p Xi WᆉS eRkZBq.*'ch+'=ٱ~{Lb +ZRbJ$hAmhz|~Ϯ%^R!-fq(z#]un+cn5piƋtI)=Ԁf5}~KPstBxZU&B?'I<<%u0j>,&g4.i2h2O6Yu?&:҉"أZƒr|Npsun4@:.̓]e2UJ'__vy$%?YonӺƷ& Zy@uxu)rӄY&j8kyim `|U2Z@Fhw0c M X;8 5 _ƷͲ?]yϫcœcOPnqm4Y⸶{xY zV*> oܾpf0NΆӷ5Z+MK Z|6VD*k5RC$"q -s+A>>yÒ<}Uc,`'MXeb:Ԫ33f㟇qbTV@Znӛ='Zŷk<0KK/2Zh)'qP8ʄ54 W&&*>z<9vpR^*.^ah5;X;P:. >Ot`y#h6͚Uap) iصTypD$*=f)\bHP0O#!`$z 4Kv.ӗQIfz[x kX:4{t+=)غqrr\r.s-h5~첤H&i ɖvn Yƣ۬'cWin8{;<#+؆ę)^76-[8xF=p ch+r1:_-uҬ qO qmWvtsE Kʄm u??%_FrkbN$X<̓oY5܌u?3Pg&Ug\ͲƯ߯y `]FϰѴ0G:da"։dl=l`0u2Dҡ]Um#`nj%8@>a6XvD5XeW/daCiq6{Xk S'؊F ,<ۿ/HIM@풫aX`EF7lhEPO+л$[X=q7mdƣݾuwY`U ]qnO|Ћ~ pn+ h $#4led)Lq%¶0x;v{\% wppcl7ʷF8ɷKy $RקNm i'r-MFlv+ѻ2>BNοmISrq{[ le˴7(kO#!]p[\e`!w٪[ʵdU"*B^J]F Wn)9;|n.HȏoG ~}vH!Z4زR;, 3\n 8 1SSr 52į0hFae Wx2[,k}aX5*I*sY?%GXOJ l(Rp>i3Ic1L3Rp e_~$5@XX,s|_p30Aqp|+^WF(2uzS#|Ab g/_ꣶ/?/Xez)ӂJ Q *Vi Ia,z /;rMߍ\ PF^x2I؞6ϥ  5I+'g١T2G:Z8F=y)LӫO–5tTKN0zgNLho8;d)ɹl҃~Zv뮥O'p+#m΃e&Yg̞*lakWH+ 9&owT X}yqb*x [{9qjAb()-lYbOXF8uïPNYIqz$}=ҍO~( yV|6YDZN__NZ=x:;&T8MuJÕϳrm٣jF"L8w>Cu,uIܦFעEruCCRJt#Lr")3d =_&A%\J/mb|'\ SFGUuD K'RDto(zcޭm%zHL ~D&:VxUGX-%`7WfH^Rp`v8~~k¬>V]=(Gpu ?vS%Z|LyBkGwce6y4YXN]jFxm$2mPD['JJvB mt5B5g}cƝ %p 7 x|['Jyp#.=SfqkZT\k^ߧ|nh eA+0 Ί/\|͎*k%~NVa8V%SϺ6YOoY-+rbYa BhYo\+/gfyfp\6ƗOgYEG;FzVtSҭkzs7\#szbf\(dh=3vAdDۥNta20\S<3鞬΄aH3i<2c.dY}iLX:楘GNXF>c>$',tfpL?"δidG$ӋLNTZ@\}b+g%p%Lv3z͂̃p( UT@Uep65e@#p2ҝ;ǎK:&-k+q3~nq8ffcV!kp=cYw'u$LJ`]3alʉtL=VO&# &[dXG@kYAw=_Z"+.'B%-^ًutr:tU/z׶)x!.܀^wۖېRi~{=1a)r/ZawV6~,d <,krl62;pTY %U.3ʬE/ ]O>V]"Ħ H'EIc't+g]}J#yF$࡜*ܮEzpB+,9#`JA]low(>~^|dd\C٥ fT!TDru"oy/ D/ѥK붣?fm1N踆VKO ygٽu2 qs6N ggxOb-h߀| k(! kDT-g|i fwk|;J{LoAӜDlda['Ja-ئ0JݍSr 5[RkXy4Rynec*PX1yoH+ᰪ{p=͍/4|rr.yzKʨZߥK1e'nBV],\'^GZgpR&^Ik/fJ.-ٶ:>Vt n|a]|3І},22A{i!}^bI}oK?ˁł TVjm& ILY JrlJ9kZ,kL0X1tOn\Ќ@ S A+7Oy֕C N;XMn)Ms9ő:iVW4AdM3lL |f#E;NH!t8_?[ @3|cu\ Ɲi~ގ=ѥ$\GGoM3͛=/cbA-TsHkxZiݹ R;03&4hc\ 8m`g=_d-zѱ,4aw׉@9l`,{K!ZS)M j3c^ЇKqV<A{WVί.Л14x./:%fYJ7ܴM?hyz_e)驆X=ޓFS5v~{?)wp]?ջ-i5S'bfڽݷ9䤀58rd *,n,D+xG <,\\\ih`kf9S5+8ltX.NmucOXh):7tJܸ%fw-ւfI,_UA?cЀw=B#{x$[ ADUoBAb0ÚNlxIY,ϹiAGv@ؓ_ ޸Y^nlX7q;r)iFfWd:ś6olD~9 Pv|H-B ٰPM|+ѵuDo~_c0l7 fMJ*^& 4av#2퓢t68H uolN:6$٬M|부i]JdFndMlrGW$KZͺloq}x;,}XP*4Ju2n{8?;$ӬOٞd>YoYL'4[xtZ `nxI9voOy;lKpj%~/r rp8ܢ['J.14Go˭(zc%Z%!2m2tD>#\9@𒽋 a>QÏx[4 a ^ uJ؝6. kP+&ecE% MDB<WE+ 3C1܆Oq׬ݱw1z%o"ۃ%/ ]8M@o|D#rE }drs%:zoḙR 1"_2iL-|ic5ݮDc3'15o"Wd@,2i{FK}DoKjv$iiվ।ugr[[zc]1 5V,Tn;)f&K.aXY1,2$WwTh}D5 sPdɸK5nqIsk)A3i Z-t+F 9Խ>B_}XOs XGy2Z/ɚ0vpeAia'X{Mc鳦/ьƿEkpn~+i7vqLk躔n~v_=v?-lb^Gv, (:7byuWexo3wZb~nGY(%Lƅx-Á8N2@,ϓ`SqbDt]{|S?t~mߐ%#Nqzuؾup/L-k񷇖K[98\*@Xؐe!-etv4qD .TCΎ#0bsF@SCa.s=sGtelkOɞ^MfsqNcid%&k=|uFm qހ[+z>~qvpܓk d%߯)}Lu(FYaO =؎N\TpMDetO߶Yx{ObʫjĒ^jCX/@ x[ _'NIkfTtpk0 k!>{VoAƠߟL ҭ7Emdp˜HW<[x[ g4H&cDRN= %C IP e׷<$ZysYt3ҽf%2[JzF {ܣKX h0:3'YR-hAVjq4t^Y:*̠ :VBשG9zyCoB١Vb?4`BQFoF-=LN]ڵ ~ۼcO+l2V`wV%lOuqض܇4\fwmed%[A[=QZL9lyB+dc퉀x BEqm>+ȩmD=<@5hgW{c%9sKǻvPrj儵3'$'.GA&ǣ w'1ұa%(3>>Դ8j`x ?6V73d!+G,!+R`5>G=*a 1<6Nm7\nQtcL\O-`5w'~ZXoaBI߀[J o6 jԨ7:fvg/S%45fO֐EpM &g p%K^?̲sQPqc=0EY *q|{nX:AV祘GqXaskIp*kN඀Y_ߢ sإ~11o%jh+m_`i4%KƼu_/cm1ޫfB?i`F{GyB;۷=~; hO\B!eh$ChhM'&e'>wZ^6YvB48>C|Sj9a8p/ =1`$tIBek-mڃ%qbQKKM -D.֫tDYubN` 8TW6N6YR^&^[5M X!Yugs,"}uDw#nxLwf%KH ~p޾NY*Tx05 kGqz:_\7JAϋA-h]gpNv6__ߦZS1l^q2a xUs?['J0[LJo۠KwxiJ=Ђ& =g)PLۘgy̞8I~ƚ7EDq[lY0On{s&G0[ KMG$pYoi3Ԓ'R./ W4:[OO{, x;M 1QJF 89PTXf .ѥMIh`2o -`M.0T\.@32ӭg%zN[4{?e':K1t)tApyjKOgcn<+uɱ U,[e۶+D3 +B:+tWAlz=m _2z?NeN]ȥ MB&Xh`݂[9XKNig [۝*xf%r3Iq:}vQ_~ҸC0 m 4[ԇ2]إחf^簆]=kpޗC WK5ke zg>ꝥŊ:v1fdXW: 5!XffϿ~isak .'hY z9yׇ#lMIyEK>/Zm2ߺxQw"'x(`~K63d +㬇td 6#}hɓ?{0xAp-tСN]ڹK-`ÅhTeNݥJ OnG[qh.ͯ:UVW"\a3caxA8Ve-քߝCBfndNq 'w.L0defR 3+fzH+ӤYgv5ܨ~E&S~a4 X'hEk[,VYNSf kX v\R=6m0]U'J gıֱʏTFltYZȬkLy& |s*a1EO5a"ѵO&ʰY`ϣJnlB]BׯZ׷]0Ds\bU' ϙ6.>­h%x/mF#y)¥rPKiK; CxhtORE?#-; g){C48&dqhE.PK⒪N^4 G[3%6T&dY~GEt̲AP>{ y<saJ33IUJȗb|OqC{z^9X?ycd3vISABy% ol%~V) &ԡ`o()_maPҴpbγ3k "f: `)?ԝ=6 ǼǁӼR>-R>eKͤ aتp•D54vC`B-uosG lIN TaK|Z&|JkZlߺJzxOJ,"A+4y2V'i dV={Ռikl5~LoKV%$ } wIpm!rZ`?h;x ufKMxuRc{ #ޑp+`zk(up+$I - a '=•B /2aq8[I{\%A.#,bSu*D aN{4=iR 3q%drDe̓6`mq jKEʆ-^xiT3?̄,!_3jУv)$2wWpJ]qu'\<>I#irT>,ZuZD}nKrB"a c#\J/Qf[:IVB7 3GG; HV?VhO? \ab[yx0VlOZf>oNpr]CHcIRP@nuRn\*al=S'-3[-M[o#R+p('wb%x'#G]t6\^Q*׳S*f' ʉk8Իq?hHgd&3_ruOZ?+1 dsX8- SHF0Q5`p: o^UZ_N" Z%b |mל8!k_A?{x+h|G˄ɡ¥'p*k%p|ex,*p|}yȋ] ~ebXAav['vlP+:|ۗ'` ٓO !"D:r{1oޅs&6g7:V[ D=#|:v=+\ x=ifyA|DJ8̮kh)qZ?ػzLJ;p+%Z6SؕHtNU< FQo'0[&_{O~l`@s--Z]nt}ZZ6owP ao;ɕ.}KxZ,OvZ9Rah o; -M 6=<3\wblK.o!8d=T $\"o%6QS!G[J4v9V՞6ʍ 4Ć6d!#+ւeuu?w|,I=4:pM|E[J薹Tp:\$; ZOhy&N< hbpX?d5mq 8lBK˞M3 F;Ânk6x9#4;f-l5n̼҂ G}-F{*()KԲ\{|+{@m1|>[L=r3~Zجu!,ֈVr("WJ~nw$ʗ -bb,-;},[6 F"\JO`یArLp]#\JO2v)aD8z0:i)s>gDgܴf7ED(1So%|RDexS/MkWq,:*Sq bE+ͭ(VJOΐd@,2AY{xEĕD OE~d@,3)ڢh'0~d'Ju8nJ\ @Xet.E;k+/ʻŮCgrroF\ͼJǖCgbΧbqK:_5O8)J%Ww!r~oNLupz)2̫ďEdcOVkxDGxCG}G33./8+.3^Du˲h)Ů8=tvy?z?O:Йeb@R6:}l╽F Y kǡB>lC m9i|!,wyl8uXf yNCqX 6^F>$.LqR9ʋmzeG5\g(+k.O)iwF [\g@:rB6=~ʂ9^ ztQ xt, #S|$['J䌜;mF![tg79r#now)>n_,׉R _Cʒ %4srC7V ;?lpOe /SuBE+۽Y@Gyh[) tEeS6!&{o)m8t<;{L;+ @ftsB?gsJ] \ӊ>_A.#|foAj z\'JKb#XRlCE>n?*SXdɇưG ccFU9\@x_nz خ!%9fw!H%wxJwٴL ɑuevTjIifݩ߀6~ҳ%GW _~Y"& z?B/SB!̈́k谣 R^%[J0{;Di!%WێgY:vIF ~聠71#i M~qUή!m%n|5 ޹_ye"C\E e~%B  .!/̺Y ,gRo7N=g ?ɤ{KuRn|ڹS~v/YJ~0! /ztVj[:{[Z Mr&y!܅;ܢ X :Gqt@o΁&Uߞ͎\9s!{i @WetQ,:5[:>'^riIK,xl`x[ iǡ Oؓ@Qݰ~]Q=ShxCR/xP3uޤI銻nu!2\b['JJؒv6e+Fwݗo3AjNoی^ <֢j]N1Ъr5?׬`M7$ۤK᪃.-l5ZE -tpC"Okh %,L;5 M;&%uDp|߳QMM-.I\h&q?:1o7OiN) pgFcL&ܬ _[JadV:Ap^x]A2h[d6HJF1VS ICϓm-lHT3py[ ߩl$e\fKʙtWդU+<|:pTߛo "jS$OLoK5I{Z utEn%pBKMf"u?Ϲ0 g FKHUշtx^Sc; Nmq1!+= 2A['ٖĶ [J+tz+P=qXLmy_h/"n%\pv1M:̿_3x)*ęAvtVvǀwbf QMƍ$jQx< KHץt":-p6E9f|ƛ(4-15{n׀}c-:V6%X~v6uKAZ?r[t\ N)K؄rӳ |GG_;/#@Y>IJkNe. I:Vc Fyvđ0<{dZ,k|0' ?gp\`B# Ly/V[q\y0"4Y=c;P|x+# F~$cyfp̰֧hd(ۂ^&GWkE Fv/8w :V·#CäExXH^77 `A0* Pٙ/ϙ] ݎ[.gO^im i69pK7*Ӎ]l sK(%c>;4vSn%vt^Ez7y-pR| |9Xî FAS!DTݓƷNi&1+Rޏ`%n7z.{pZJ'ݦ0D @1q J {?{QY,cUd? A8ys B(; !fpe?@PZuf3U,23w=;AX>h^-5CNIޙB>]Mǰ1>>VҭSn%z&[.5ұ"{I&[?,_p, 5s4[߀YQv8 JxNqʀՆcIA8S 3Iچ#@8rGݾ[,Ko).ۇ<W 0O$?&)яhvxϱRo@Sn8=:nؼ-&pnhS8=P6ߦBl=.uu @YIvŭlmt+;-gGZۨKi93ɶSn8=L"51 "{%۩]cq>{#"mSl%zgg ]~#j4-QɅ3V6');tALoK`>^3Uxp*ky=HޑhI,ENʺžf>UjGcȹ$FW^{oT8v6TZ9gԸKl++& N;Įf>jUk@Q'RJ[֝ 9{$OƦf>k@QRmQ_[9T:58PkwT\%xC^ ɵS,#\rE=\ںuZĮtDžrbj5]kwHn .8gc? T$$V/&>>qLne}dsA?(Q66Zh .6YuMQaobáv oeNOяb 9 zںa3B^U$٬L~NoHߐQ1'Kh݋b[/V[J6Xⷕy1qn*Soem/Lq%/s873&,flywikRoݘY'4aL-KdwA&_['J~ϵԃWjڔ='|>=_@g:IihĞ/N0]m^+fD!:Z@pi6آ^졝C3 { @bfŘ p:fAWyK׾C7:n< _LJi5 J֍ ($>c㻉Vnq$5j_p< Wpm?e @spkF+q;a% %XtUf2սd] >r)10dI Q!r`)gE# &Q:,Wwl͍{b?pf,M@hjJNKtZsv#&װ_|>N `Hn e'](fB !kҴu&($x+ L7 SbF}=L+^Mxex[lXzѲmܽXnlN}r蔙m!*k6o6g#WVLz/s0aoĝjίSg%vFHa 'm3(FcGyꄭKضpYv/YviS'UFS=F~. emM1uՙmTf9bkz[eR;k|'zcf.ЁyyJ*p|.2{{o兵̘l3e7nʗ38kꏑ&˿?a0"WQ2M\[@BUkLjK""6kl| cQXm`A <>~%I>jEs(۷#8fKZMZbjcYp)ឪ!$G*fgN`J" XߋrFFg+twH?l-d^k:B) , vDW։Wƽ^N{8~cKjMjr˪Ә$]>jd0SY~9$BQp~6$D*Rk֘<6yXc_C HR&\['Jzc1$Kf2 .4괣ڦ0kR/8b dyZ4m[JZáag9c$ģPooH/=>T0 j~6/rT0;o}i\JO^ A6.]@2Vwe@GNCG'cH#uR^=BˀZ )d4y\kQԄ5kl 2ᣑaMXϡ'@+j9N!@X1k k2V@x.멈W qZ2҈|Dl5ĕ O%-d@2qEKbEuBT 1󩒻#֒ФDŽo1)MJ{je&Qh5aO[J`/,,;xj_ࡡ&%nb'NΕ*0LH%; EUq8 \,ɷSfx):ZK i(HL@T9^erΧrRɆVTzRRLm92Jw-*OU^P6}med]:% 1-mIs)sa%.{=6\ =L 8fz-+ףtma|c8nq~#ݗRX>wͲį鯏)^pg&_a>GsU't+o9(ףF!ҥ M< qLڎt/߳#"X%AUo1gKK(e(FF-=MTuN rdb`|mBLϰy[HF$\o \^1ۍ`-g=qaZqmmwȯqGAdlIm46A Ԛ쁊m5! ΘK4iڰa s 퀸 ׁyaWV^_+ZyY5>W0 IL&vm@$ \%zDu=AuἊ -Nٱ~{> b;F: r%Էzf1X$( 0i@um)̍Qq7\_kָnLߋ.j {5gKj` VV7\Y4X6æ s8iƕ+Ukp}o,~[$;B,!R9Ŕ]a25*&x (V_˔A -Yk v-KWaȶ}J][Õϳ<*O2\XUi +._~hا45Oǁ?L[J󄩶Mf^RNa 4kYGZΖ5Z';E@_Z KxuԵ>7 bss5M&l/2(˲v6w#VXY+AڿKѓ7# Djc R]Fg&唌M"}pR+v0MW843 czYQ@ _YGN/{lecճ8^O͡A \oJX] T"K_  B/NZCKziH] (#@U"cZ[J춉p!oG+[*ɳ&alѬqWfUr=ė!m8S6  Yֵuʬor-x'4n`,mGi{+ pJk b"!5AGso4+c~?49Lŕ:0x4Ϻ񶠉.K V9 ^⻒aheVdV_ CUNyl3(-YM-\oo|_}&C(CV804i[Jםa=8]$\u+X%`\]{y-\y2ЛD?±8iΦ|mw[b{['JNM JR -ã*7Lj%|%Lx)CCGvZyxH:;䎃Sl%WTzwe3q Eu­蛝QK);E *+ IXEFvY/i=xMMISa|ˌo^i I"ڝI!O;s(ja:\6 χ#0DVz"k#l.2>~=['J΄͜!2kWYx5}qRuRg0)^*fOYh_J6ʆ:į L%*{mAu~\V"6-'0"!X4qʒ~?ؽuDoӳ]oD#:{vu}}봵|A$_kU-(BirC$p ID" {H,m9%,0DW]ܸUN_+=هdpնqC ,hSyu0 z7:>~9['JLqt)]q61}͊\l7q@ ɥ8C[yapK]e;QW8ko$)},Oe41X80  /Sm%~#&{Wvfa+_6>]VW,! @/3d.9}<粚 I!$b\%Y\ÇT*rpwbl0{=2s?t3ɶq*&ͱ# yVnAv"@ X+̗dz{%a`*i&ްJV8q2rwaGI6dHtiavx{L(K&tmXTO79>7uoPh(Znyb'q)߃TE [D`;(Ml%~gУ~=jgn:4B/$d@:MJuj m"Ug >) f+_p߼=tG&ۿ/m%bĘ$7ߣ~7*mԫP/HruڭGfyѢZ=~];N)mLuPץ|nR- =~}isaPx}`fksd矶aŸ5uTP/|p.tl.JWx*NP%b&֍z餤VI/͞` +6$-lir:V<0:6Mwa71I*F֦&`뤚G;عكMF3om; ؘ ,zPْ]LLm\pt5_:{181Lz>ᰘ3}o@;+Xrs%O-P5eJX`Sq{}s\7TpSK=qE=2U߲߭uD$wZ8::?1bG쁏B- WTH`Mё{+Nq3[ދ{dxl<qM{om#? b-lT ك-`5^~fm"nz;' vZ?)bW>ptY sA?odw.J}v z@[>\5:.HCCw#͋. Bp7gnr_R4 ܃)-`ĉ)|̢q0zBZ?lk{|n~ /f:f̶qrWGBsf+-dR}! Om%H.]X[!<\D\'JO_5ζO":VBxy8"C|0فhq"p{ʞ#~^: |y7춻MBo»4XN|jKdW V(ߔ&ޫNȮ߃ؘB88#[ ߩU*{mbSexR֭lY`W LFUܜ_]s*qڕk8:\olXm-FiAA˸Ǽ/֌P}>-ۑUdUe:ml&yXStfpSN3M_TDiLFVgd/ZWBIf`~"T)Bl):VB'; D4;Q6Ck2,EM_R.׍qK=]tn gB޷! {t:i]}QPIG;KS.񭼱VOw?3K2E p%~/]B;0>,`V4k-0O":V7ut9u &׫elU+wxT#>Z{y#_4Xa'd:O=rB$\N& {f?kb$x=-!7~6pq•'Q4-px~4oXTGYZvX9{;E|8.A|#n*X/N}2[wĩKD}r+LG|ŶN؝ں*a{hor`X:-Zk۶NЕCh <;up$.٧C(>?tB+V\I܎QhV7 Qkr\Mm!~jcp`` ҬA:7h^j4W (pJhb#5mᄆHkil+;1,iZC`khӮB_lTJGbJ$nzjw%ҍYR4TӔ>Wgʂ^Ճ1CߍßxS փ#z{y%y %,2@cquN6R~ 汷BFS ؃#,ܛli)PՏ)07X&0=ώs"ZJ1MF.W].J\Jcn F'\S?k/DX<NrT ~ d(Ce KNp :dX0nJciZsTX'^ efNTMz)2N p@-ܜ̍|QCc .q9Z ~\Ecb,O"J`a8B;4写Ki&ּ`Dր#8:Za޲l>"u9;7|ut4 Xl,eoy8sZCeG3A\lDWf CsnkAwղ0|os޿=LSk!ZH7BSɍvxe o*oir̘ހF¹zQ=t]z/IXFL}1B1'\9ں@^/Y"~ltVyp|s7^2|к7qx+oKVex M d4*{rv %Vgtb5otQJ\k+b%F[XM6:E> _zԿ^v*\"6c' |1KF? [nXM6lnVFt,/C(md+<]nX>( !f'>\12UVw*\"q,{iMA4$mH\[ي) ^\!q(kޗC^.`VCK}J*-sRU3:` kKe\3ӫ873G>>![9zvǞL&Į4ٙ;>JN$\Eµֲ֊HbS,d7 ]dO^ԮTÿt0H,BQ[&Dw+[H:=j^fYgvTxq {ESVdh]z,NQތ*ȌI+\J:=0V$+uD| `RRl¦G쮪Ģ>9t!Dk G_`7? YW'J"\m6vs$KiIg-lZ,kLϬAUFqs.u/P%SW`< :uV'@_a8uIp);l^C s.:4vn VY,83FB=`]0p)C\zt xԇ[a`[pt(/%m\ḁy#F1aoV}$ 5?+ ^6܄/?Hz|#YCPS삣CD/9Vf|#<6Ѿףp;;+Flʶ?j39g|qK*; _z:mVW"Gfz0;p}~r0Gl 4Z2K܋LNAq]#\YX x]b^e05-$nЦ:VwJ-s3G[u[nUX+Nع7}p-" c4:V"x*VϽ<yG!c,Rȯ .!t2`.='!~me_R=.pp{ W|_q>6Oϟ5_X+XciЧd.K |BvbC1l8 [77`Ŏe/>xoҒmWY=5_P|SAOw>w)r^xOn=Sl\Wwo M8fv!` )cu-H6vsf]╄W$x, s7}ya! C?E'%M;Q8SG_akl+[ճƽPu9fiWʄ޳mYy%p%ƻ(ѸF=5ŧIwvx2I:Ǝ@۩p̩VZ zOδd`mmc uf;id3d [ٵ@Fg z3ld $UGjۨ[FuDSe.F+E -` x $CF<" ^[UjMy8/w#7psG?w]0|"o9xIS;|KoƷrZ_ #ӰFYs;du:n ZPg.ëDm;i8KgxZ )!8^/x -.GF ޒGfYV+;X)_{.Jk_\}^2 "ݚ]VG(/"W8p"C.04Uƅk鬄MELDz] b>0ywj\>4t8n 娡yrr*Dlgz&#ix[X0%qb%[#Őx~S=VM"}$\'O?nF|P ܅),^̂?Hy*p x-upVw\x=+ 5އezbֺ̺ ZOzF7m!ރ^npok'"0͕3VZ|.p%z\ t0uvdtq0 ]܍qhx=sD s` k`i5{Aa_TNI p }F`M-p+[\:pe\Q8. [ۋ|T\X?%1)+_N|޷Hl/H5p,HʃW)ƫnAv?O\HHFEk:x%ڄ:V·t/V_1i;nxQ)^yjatyc*K+VD4[^0t7lZ|ͣqP)^uͲϹzyB"O`Q#P[JA~4< 7:ūW﷠Y^)_#k%vkGsC2j:VbWN]m:Qd/{6LuRѫ=6ɥ=|pϠeL6dt+SkzVz^S6ns=) 3Gce,k-jJN:Vf!&ʌ?q|jvhn r_? zZ%QMO]U'J2=z^C@ :V$I>Ʉ5qOb8 pp,EbvOadYt|aH}5dI*Z"ؽ5w82h_/S4k8Ir!Э1:x WM|[' 3ێzpUu!]6h6i9>` ,6scme_'dL0s)E5y|f4L{aVJcg[*SHD>o<e,݋o(K(煺޺YpSRNotO|WB }-閱N۰ݓn?_iOK5RCwbaRE鰵4l$¶ pGhX{.'oS~\f\l!Gad*KwK+-Բi^?['Jե/%ӴHlװ>jpN;1r|lmf'uoZ+{h["OR>M˔QԼs7ViOipD].ڰ:; 3p嬵@ X=Rqv:/F[" 95B/\CuDpMćJ?E1oTAy6^,iUhaq]|_ [y{Ma]'_Wj=W9o3 -N5Ey flk֗xpKԪ5] )_:vOf|P N.:&i[oYlk7F Cw=;B3'#ؗk!V[ܰ}yd~ +KڭÆ׼ -yF,t1/Kƨ i>h ٭ :V*͠?+ M$:{4r iF'hE^ԂeKr|'9?5xCb֥Y@\j;5yV1e45,A+C`4߲ Zy|)[`\C \[sh+?rUɖmaZ?;8K9[ ΥPK9}|ucNi'd^/~>lc밑*9F$Tux8Z …q 8OUM+zdZy1STK+;o`L8}m,1b.¹e0 OE3ֹkfwOHڼs{NeͿ3xskgu4(4>kW@_e%xtҚв mC6kΑo(^}v*%<+dQ2bĦ7ؘ:VWDThQI~LG3}&d#L^o%؁,Y; Nڎ!Q Y=s% 1;(GxӦٵvS'J [(ŬJܬ[ X4HGhW2Q9n^sѭSn%zn#lcɓc6Rpߏ<mg$_uO n%= pn25X[ ):6C#S17~aWs{;?H8(nsVm=9&mo>SA1܃e܆S+OJOmפJ[Jz?{Qv@걳8"ιD}fsvlSއVm¶wXryWm!=(g7æ6@ϱGi /KkΖ{6-bBPcCi[J!2[YXň!4 zӰ@%7=ԇC*ͯF+=}3u9Hɦ6lbCJ"b+ e%jRˁ*"jߔ&5p0#kIQ= gAU&f3 %LdYNxN, JЊm =o EkZ5J:u@7#Ŧɱ>rb0SҌV4 Zm^|{y;W&|05\뱢+$w.1s "iaKRיʳ-\{~)m5 [IJ4c2tCS-J V`7 p?`;%8(g+[qvc8.oek(}}Mi C7ԂSLBtV.:cǐ $>Wsnr_R=s ۇzv.~7,3LiI%ۛ WT19*E54bRk#&cf2_h7[* "D 42/Kgl+E,`'1b+)1l[m~템sSMLFz9M[ 8-g#a 5•"d~x KMx shBpˎ/ W/'|ޥ0ī5EۮKXE=LRlK~댰wT[^ C%Im K̛ w"T"!sot++E{"Hx}?o6%޷. 1HdVܤIz( GS'G Ʈ7Ot35ҁ2m6=^O }4r}x72=vӳF,Aƒr m?H?x~/aO8'6z\/3t~ܑԣ.j3ʚyrf#hX4W.'i͋M?keY2Sq椗*̆PJ`޹p:UBǯ۲ke#œn;73Kl٠N#HD ŗ9LSl&Y]Ven!?IF|ŵı ^bm`3f~fZ \` koe4#؆s± W+_2E# vJ0M9NA\%q\Ճhc^YS5ֱI'8 lUmGoNkl8b,;4A>G:Hy翿S\>da曶TK@bGǎ?sDV>>nrrKо[JNp&|{լXl=Eq=ckc$A0µ9vm9_1z|hN\:`%vgC$lݿ#oڱ͵WpTX 6s)\XFApLzCU.a+3 Jrz":̱Ϸ>@$ƞIkMZ9pKV'trE&B3T?E.$5,j?Lp{zm!S[tKП)rmZP1BBX hq[[G2['ɶ>`8VFvAftyNz߲7tLI/\WTORq}0)@CH^{j0;Nϸ%[vW݃4[BO>a!::g.,;X8^[J l26F NK03,K<σ:CA%by(uy>+:; owtK0n2*@fMzY|<6"մu(Nfk0O3q_ 7tKX5 )+tZ([&k]ڍvt)0]F!rӌfYb0۱yt:Y]vu֩=;Ls?߼nw ]m@ږ=9>NK"x=2\Ƃ8@fIU᭓i%|pLGqNY ݯ@gx]G^*5 ,7Xm|5Q·NmSaO/4Sd>P\#8+ ![uhzƶr(Z]0tyU0< GԎ9,l[G:VwjRAȍBm5~ )Sfb B%tcrN7i =2H_q\ݝ7*u:/qv5 qۤv: :VbwJQW؄W$ZSpaWޫN(+\BSTl \A[9 TX'hǛCbM] :uVbw*K_>m+¶N؝KE[i%KmUDoY)X`WJE@pQiqNXCǥqqOiə"}>ʧttϳjyBA]Sm4,4Xkt+82P"{Ptm8 )iIS.#Lȉ;܅~%K vgEҠ&ѭk%z$NH;Z&k P&{PtG%$ɡZc N(3lB9L cNuQLB։R2Bf/N^_Y"[-klc#^1x |)O;uqe>S܃jBu7u%H=s[lƼ#ou6n|+ED=%,v,3N`1e [k=r[lƯԙ5$5Ł58c]8m>+3݂ lʖ'l.?1D&q3-b,f2R@܋Nm7`y,8 \ k=q[ēWRAʕ j1>x !C!҄I]{W1N}?Jk֣ 1b-lS1`7bZ>A.bez&6CKf%v6B|h޸p p6+7@عvѵËoԽɇ~>^[Jz˙ w&=v 1R/,N-lBd,^8k^V2#70LjԔ\07 &OFD?vi-I]>ϝ4Z܅ī9Ja)f@i].JS-񮦦[Rd-[5&-6 hj$0c1=|ΩuNmu4t ᦵ3gv}1 =sEM%akP O<-_u?Z'J܊cy%)-/Q>- #bH45g?4ee%tn=; O\[McTh-Xn`FwlDY]Yi g#ۃ$7n[gsb{$+?k #ۃ<?OyS/_ۙ%GYl̔*:@H J 0JM)!!ȷHlޮŶ-pifG 'ol&]+hp-2, [A|{8fX>h|=`}c}c[*.za:SH`9;le{2i [kl:J,JYȅ!l8n(r6h夸G'+\5{ֺ^Mn}sWQښN]hb"ucoG7—a/| v.-~Z{)?E MP^asQ/H@^~ޖhðJ5 \ \yQ]jrJnjj4/!\{5p /Ewmj DùjC.(Ӈ/ăW,__ ~I5&OH[O|x X0(m=[rR< 9ཎfYOm*װnM58a LwXXW0Ovv_rN< /+hh n  Mwxw0E]Ve5n0. MVc>D8D uvvoG#<Ww_n۶!Gkr'+2%7>*9û%~@p\cb;gnh jnz"u9ܓlk JY]R%߶ r$>{{DJV-Ō}|[Kyy9ߓ#2W2 g|ݒ)_Cd-rP">mZ-5Ϛդ*fp{s|E-2ѲM#۴ 4pGfJ.Y6"C_>j ݶ FOσi38l4~G/b8ZL .{7yQf˯n(XwM7fpտqeZ6hx7^J>|;sҡvF کG<5Å 6q˯"{Q2:.#%駾]yT+7r[P$Q;Gb;WgnDz ֖\]9/RX4y`zTs+L!LFWC[llor/BOi5|5Sܳ2K;w^, (9@HvL$1@躏zR?ۢv@`G7l(Mliu׷h/1Ӎ/ANdCDR %u_ʛdy ҡ /a"=sk?JtiqnÑb "=S&И]&1zU Ӥ\E-躒4C7H6mYo<藭#M Q7}ҥ 7L8x,Ʊi+c7H?x/Ͱ+D,KӟRoIIV,mDZ5+#νmccJT>7 s~9cm(؞㟷/YXa DhSj]b?od 9ٓ+`Vձ{ᨈEݤ:&_$1ö-4a-z3 bcmٞ:_ᲖCbP5^ʥA56.ö.* h'3!^R?elOʜpyD~ܶx]aZI#z}Ƿq*&]{xkp83րDQ:"jwI]o|Aѻ(0np9cT Mq\vkGj氆v6햸%G:GOWՒ*0U `}֬~e<K-`]kN^aS)" \!,XoUkwm.&0IcPʗotW,k o}QkQ3aBB.Qop%3_Cʭwm j`góm|:Bx1{6C  T6U:t߄㠇2< &;`3PR;M|v"700YCF4XB *uPRPAIDVgͯJ0s"!\-6lib 4sQwt7$'=h#\?(#{35>Wxy#ܶ&m @ùȷIo){Q8 f^pz nI3Jq+b GN.wi W?J/\H!feQ7^) -=f6L~Y 4;@4^U{,o~2\st)^Xt>r B& -- ㊗}^82xu{I1$gnCyVܶp>Jh om sn%yhՋZ蚶`F轢´q/lދmXaScVAxMa sɰ 95ڮ^z?S *7qcYVD8ys=1O^<_&1kT!:HVg>4 eP8y<{<MJ2^~6H<iڢ57̓x=ehQσ9ǻ b1J7fdUF"e{q kBVh5u0Qam jv3㤕;x+[. 2]lxP}l5+ԬQ6lCcQFޠX- V< ]D ߶尿8Vÿؗ$~m&wnX.n/85N69VՎD] ![m.w]2!%!91f".O-7I695]kIY^$OuM+=̮6:,d1a9ά5yDqqh8#ݳ;+d/_7mk\K-2CT.!;ڶFAK4=o\rI]}2/  ֈAfMXi b4< nQ۶xyP"Mvtb -Yd{6 ڿufB·><#[@4$4qm*QA?(ƀ̕ lx%ܙ>SÊÕbWg`&2aU>8*H.. ]$)BK-pϞqr ma Ͷ#x^Y\ iǡ7tqH_~ ; m-O1hoHj^.g.v rrt4kf{  azm-VфAYNV>M#J8T"3` ՜zR ;)53})]BHpXTq߾,[8!HDo%b )ˠp$Pƻ5#z,p`'C ^h;*Ɵl^ .P0[ Y6BVθvzջ)}K#[`pL#I;]&gLX"(#O$/4QbN8bݼo_A`I8`mZk܂>I%޷Z{_\+WFrni#o}i@[y?p| 6kPAhH_6uma S90")x? ¡0첋С&ioSGp1czaq=`o|Z.<3XW%bR~<n~(Kp}Hp/cHm:{.|g)"̄VIvs7nv4nhsqd V)KLxKh\3=mVz'dߖpB|⹤jpW4ݷ~Ul]TP[0|eVY#k`8p d ] ob)+VpjLM?cOW‚B-:)"N^!NymIrq$aH7D4`u=lۢ;ڞrs*E^I,5%gp<%u?[?hwK4=1\.( /x3}G@u g7$8q|hy7Enjk:c0m8N'TS"ݑcܻb[MGMALϾGپ(6Yr7W`aI(ỵH)桱qt84gj>bq2FЉ)py&Keޏ.|<+]gu VLZ<F;^BsB mj.mˁE: )S u=)48g{h48K {t@sHMUWJB[>Jqt8`} 'TFFI2 FG~! QzjIاk'M;'p*m^IWiYd#:4ۜ,\ B^c@hbYi5={0C,"jY:#Ԑdwp]!ch 1PrGO "@$ 5'P/*d4&d\%DGd^]2ч‘lԶƬ69r1Jz}s,9< gR2 RFԏ[~ViE @H s elhUۄ1` &kAO,Hi0@TA T6oov鸂%bKsIJ}l[V#C ;G>X˕,g,o]_f)L>e i5H8ɸPfm j%?=zAD3i^r! )^};Q/T 0ы ϋ> h$y^b#+nrw3ٽ 9y4Y- ,$h{ƶȫ*4Y- #2G[H^(ʎXkxG:⮻lml*贝8@Zd< -E=Q|mcwضxz$96g;(;QyēqA/+%`9ư-1{2hU`4 wn jo2c>9arL7W* G, ɽ.\*bwnH]x *msuD*wn jo ђ Xpw´ A4CaR}lvSr!i=)]M02?S[G5m/nvIh#H͋ϕWM_7 GM钗fSDP?|rO!)M FmVk]Dkv7 *&˄t V`<&4=q ދYG[!e~ :ȹoZ<{5 53&A-ؽvl|B )߶Oȱf4|6RW1_٬0K=67{9/@XCԞ$9ϒY@Jr}/F3YBKIir`I]*س{vLq?MbGiO6NC vߛ]U 7fp$ٚߋvI+HâֲiFqe{L6ïSb˯68B$-s8' ;ҥ@w/)Z;_Ek[ Bk sk0 kb܏sM>>cw.lj݃c(2"dw3]Q#wgi6A\a$kxƭ4L~{{9dqqRc Sec*,{%Dcv]BYQ)尴LH/&r1UءjI|iE /Y$eZܷM`+N70 e;܆X6د&܄<8p#MNd#^_o 2@88pxr6+B6 M0 3 pmd0)~ ~FGY;լpRL.Z#YM&m8:׉b@ɺ=rF(ٱ;7hF [6m:(=hc [-Ǿ2ўvN'aڵ|݃-B/Fm|[S= ^ߊh6MAŊ+ZCqV+nV- W6/Zsm٠G!]X;L,R<$ yOꯗoETI,%=̬èa zA®67M hz &(wNMZwzaSh\"X &2{֕z?EZ7 ]gDe(T{߶/?r@8WlwO:g5/u&Տz}QRh|vf "yep׽ñV!{vקJX#a d8PO6n/$"=ֶ8O7^jo0Y/@Jzfm ٚц<"6왫X2H5nO |t):6%k#DnC?@a:K ]7N^ݭq]IbYlPm;vQ @3 d%~͛?*:J"h mV[N/[ٶP~n:}0KعeK Vo?}T˅Sk_˙`U韵kњn"k[xtM4ArzL.n}84O-;k+sm܍)L_b3a%a1/P޹_,8,0]kRcI5>"f^_{ < x*˽!PfM&WPeMݶ7ZNz9`Ӫ%s~Dс:,hN k 4DB ?( dž1䶂 郍[oW}xR5eQhl`k˟]Oz;m=^vK~)Av{1j i_= >"\k ѹjc;v߾fHpX+Z%Gr@|rQ=Rrb6ƽVmn&}r?{;Aq+5z&m2Djɋ]UMmL L["^p?5Oߺ_(|:ॱZJAуw`O4 &VԆ+p *6_UUbW7LPiSuHQ÷F K;`JhU/A璯Ѯ{r{NzDIJ $:a [? JdL/5~3J+a#X_N؀{vg7y肗_V5 1ZM7 !{r{uQ~5 nkrsx5A>Q2*,t$y 3 N,}!MD#ދJ-l6Wn9`mAů*n Ϝ/vL!%|3HwKɞܳ_s!4-Iϥϰ >񔤜{N 99ϝ4CLaSYvČ!W,O;/)`4_JhC7Tmjğh²:=MvLVә-'rPߣ-l67|`.\pb@ }ٕ2$T)$]Hg0)Qfv)埗WhO6޺0`fB3j'Lش#Bό-Sy#Ra˯.#ʷ8K~ˣe3D#k]Ti9Ww_^_۠RkI+(`pIEFnTm{OM[>2_aT?D90E+X|<~ K8ŮKhn*:TFWg`ezY ij#=;wpdeFD2yd!`w^SD-wT#\!vS)/?C=^|f\a*IY9H[K) q>7^Ahͤl,"4nR=AC0 |ӂN}51`KWlSm=X.rpW0W-pܝb­BWM{콉#;zb^jh%3K-\jU|~{})Mu0v5@48ECj3w_`^cѳp# q^!ްE7r΂ `uҶzޭqf<ǻp57aNX>p~$`So[ W76~21/'"oW$Y_[Am&/US܃vfٻMǶ- T ԣC\r҆"Ay$C{G<WZ<݀-i.)J 4E`<˸/&$Ҝ(|{ > Dj;"nm[_u"ea*{ͭ{M𽵤 lJJ֢QNJ|@5E<4|i%;9S)4tyQgA[(l[g-:4ˣ֦z o*D_?LIwz?A>Ne +p֞)ͭ:6Qo*֑*X!)#7PmJvxmj7qέمp:O_=^b/)QFs=5,&GJ-z|A>a]]?ϘyaN3ȿ]K|5~K}먧arCJE41D,'?ovyRn"$l?ƮL;1Ϻ!b w?T? %T4O1(sgwUv6$el) %/Ÿ4D3.  ep%TD.cY\x][UM}ٗ_Š;= B%$=.L1.L0/yJݫIosr>L&j=#f ]{`7=N*]y=+=LtO0]cd^5tUF(FfW"I,/Ɛ'4?'t[\>w1Yctr˷m^gt h%}+KD%Qlo|6& ÀdwܶHn~*\U7[{enDxVmZ ^Uy@o32fvx{~ϖ*m#,^$pt[-youTۉhapiMK'ٍJo*3-ZSÄ'US{30guEh F:'ij|FڮU1]]^ Y-40}1f3@L0^Ve1Bz bqCµjvl> GmX&aGW=c Îd0ὦl7LAP \ ǠH) B0aȃ&!?*C;wZ r4D'ٰKV8s] S8Wpxэ0~).PE``̡y2uA!7 en[4JMVzL^a =%-X^;9u[Sg;5 .LW<}w-l٭e|_7zMn-&V󋫢Wk^dv'{<#3~Rf軛$;`Xx~dYs[PK6< 4 x}Yv]Irwb\+3F: :u}ȗȪVJ;Ex`~3?˷??ڙ~߿YW>×\._16>=S?&85s7.E 9gMcR }[\Ez !8 l vJ{gMyRR!}mvIc(8һ+e+ϟ2OkvҪ ڛ?S龍ٺ;Hl3MdžG/Y}kQly{ŧrag*xZV?oR{KM͂mp Hk}G]+Xm3qC *BWhevFR/Mß&}:yuIΧיzyOKΡNx ߷y3Dٿ)%G\ _{$_̤":=W2 дcQGVhgkLV{4]: rl8,SHmĉ.6;~r7۞V~lȆݲ )>OoA~dC'N[wEMsI4]>Ӕ[l뵕ߓWQ+5;?נw,VzӾ|;XؓZ9>xn߿ koed[2f0j19ؼ]!QZA2eVZiS1am` {7=W;\tO<Xx0A7uPpsqpI/;EEC9뿇o=Ee* so+1 GX>-_>1-8ID'8oqӳ#o 5F:VwTcAXr Q"ъ+xTl0Ąİ#>lEЍP6Yi3n9!U<y,l6oMM+LXNB>0 =҄НCYV}j ZCփVUA<&uasC>UxWnawe|Z s0Uwn"WV"㐐GǸEz~o` >%F0DOYO}Y}{Ï~9K/JE?wvIqް0D'c( pl8Bms^l]iDtYF 6R,`YRa0pUMeu0<愱UXdro%g,b6(Ztؐ ^G m #^qY"p%Y1Mћ8cY+PQS [ezjIlYƟ5`bO!gHπ;HPg&9_J s)ol~^eA4%/`+]h:7ӫeKlCm&A`x"Ã` =w.}ڈC &C֖tɡ)|сà&Dpz;HN9Em#y`, q3LM?1 u'=kN C|@c* r| ʿVz*)Jo>5֙Sd+"2/8/r^>g(r%ωjrh`fqERL9zyD"xL`&FYwC{B:5LUoO)tk6XA)wldEC1IOvL8rn& pVWgmDs eZP8TJ(}q&H}[0te9~/.a1B.?'E.@k  ^wlִahy8ܸBjTN>]+xx/gHƆ,30yZ~rnvu[ qB3gё?d-z\߀UÛî b'_vi.mr;ѰZ֧ }?^b 9hxY;yoX\lH y:W?9vUG@(zvam&,o<ƞ`Cr=™7NF{Ai,reOo+4?N𺋍CA우qNe:X *d ٬tWiAau ?/SQNMrcyԗDa>Fxѳ.«qL !}tǞܴV=@0uVu8;F>" Dדۙqw'kU,C AuCfZa 0-!Yc]_k9;}ϰ[ ˫ꢛM)𥤨{S@0 )Y`Z(fMd\KKGDB b|?b~Z5I^R89 J Ҏ B,#BR*Bʺq+:rl݀q IֶϤ{%W ["Kۊ;TGc͈M:;LHHV@ cjtaH-s 20vJ[*N$=)ny?zCAmQz  { 2]A/5}tf:F ^YST80G^3- -A#Hfn>!'=⸁ fHm M/!*w`Uy˕E~7 +zڈD`W] .aKFaC>!Dj8}}!ӯy*1shfJM+(>.fN8崎!w=I*a}0Zɻ;Jf+W}E/uh+^CR&ak>- ,."')gZz3o`.*F.*àZhֈ܄r*[O*%)_\Dض CVMePX-۬ &g`fa#ֳJ`~*M$^|>] .V{R:_7vPW&qS1r-'5cl7A_;`D2 H)-WtK$ kr[; _ t-_l|; |5Ƈu~gWpzrX0U}_>?'o5/vFaYZBOkwE4HI2Z.Jg:msEvHP}2@_$ >Q.z(uqaCњ]j:whF ]r= L>hYpiE%DX2VNv'7Otfwek`  .o R/}lͮt1JՙR!GVԥKds8ku1߳ET繷l%1eҠ|/Zx%_3$X40Q xsбXM} r=hqM /KS`E&Dΰ6naE+w=Cs[VJ'$AuimvcR55z2<ͳ͊=ao%mz 9ڐO&v-3wrCS`*& P)-`'Ci2UOC5NgEDhiprqS1!l{fV[dva.dfhIK?uн7!8l]M.~.S-l (npIgvo}7c%ߡF^]2%Wh>ބDS;K\Pghf/9n5%ptH6Y),:+:qҕ]*'Pd KaSKsLz7X,#e+bc h&>.CbCr1&h]o}o_gs,17FC'zϘC1YoQ,fڎr_NJ~n0y;k|J_C E@5:6IT7 4<:ONR9?"h~,-JV)psϜCqIW{h(2|k8jbHd-N:x9JY&Xy Sj5&& mq V$ص{g@\ճ_mT18N=%Vy~:->^lᶀƊ)ajGd"3i$TiBd5IqZSfK\JבсىyBQ¬֩_ǗoВBśJ_ qzl=q%p7-j2B#žGd=Kh{'3Gބib@FB,oX[I ~e+Id/$f.'x! !2Yv U$N60@R BF*v$MJgO&Q$O Ԡ;@]~j,Fm V idXl#>rWbZ r^D$Y QTPy-cQte:-^W۩SlH $Ne#Z}Y|-΄vE@jw6ߌcp#V)' *=Tfv, SX,tz ymUZ 8Gu: AƐ Q:6xANXg3FuPYBB&kɨېR*8a؈C#"8m6ےzWѡE ~SǚId}LhJfXHZIwma[;wS+{JE|!:o,e8/y*[/oXoA}48!終5jӚ]eĨ7t?ٔMo)lKF/C۔X?Kzr\O`YA/01C W\yJL(MB&(Vf+qE x"uf*^eįgɂ@ `AF`f;n9X=^ZO*GjX-+<B/`e+kK*B <) C7Re=?0`^@f*=WJLrtݠsf6;ux`x@s%W:LLx=Џ==Up r @)B?Dc3p>T*TuJ`k$K :@ד>ZT}?SИWc d->`ї`\ϙV-K*ߗw}`"IRٝr]S\d5^KXo" LfTPIFnG<+݀/1XR#" z /aUPVxBgK eM ]qp $ P ʃܛ$X#4 +3uTG< C䦊 `EUw!IB7u5)g:w8#p1Md_3U|D*Fԕ} [?vfլP~Fh5I dYb`H/SZg'q = TH~k6ҭak; & IbgK-f+I&P $I'$B26NdL,~̉[@` *"B7H`DsxwZa>7x_l VLYYx!9 HUE*1fSY(BqtoY QCKJ/X9#=$Uv Łmiq3NwC6NiolE[LMX>lC|ZXVQT` v90(2m_l[#^$1)|`luYwJ_j7s\r/WkV@nae?Wm)eUC#ZؼB Ts)h*\R! TK(*+H@g8V*`mC(y> |cnДn'4!#Qt~-&fX?>m^{OA+^f3}0nb:3k;+ J|:9ŇlXlm%3Qfr=(X'_+Gز{gG#|j%voҤS~K76N٤ؚb!949^/].׿~G47 k3Ə}y>iIQJ_%}y'khEIodǨ>Xش" iJ5CeәW_0mRڅicw4O`([9AkNiMxHcΪy&+TKJca7>c W-d@6yM,څ am}9GHV:*,kV c0t#Äu1ܙDf`m-di['z;Ga.ԺA {ú̋<K'/}?U0 _?ުl2"!I%7"`n3DO P^4-Ah.S@C@Ee`% uZ_5OxfMgzƔKP TH} tQ,hQ(ʚr}V& vIhe K~DYSMݲ'D*1-^b`/+f5cyy%3jʹr|'\+cbIkHs.סE'VZʪZLJ>Ot(0$&$?:,Y&,l 4|7XM)j2Rl!8d6+},쀘g-,ҧaFL䜍#N^Ʈ )ؼ)ʉ2#rE'k0/_O}/Q}|5uΌe^A=m6q.5MlLdROpi["6t/\N] ̦bG&FV xeF8LPؾ_'UjĖ$7riN`<̣쪿QRǚh}f x}{o]/=ϟ7V q7c}=}_/~~|۟q#{g!wo8E[ѷ 5ͳu+(}ɶj(yF=ڡG0 },"kQzɐ]n ˤl-bC3 bG?mEoBtA'`, O3dIu( -y4ijoH4 %oʹ ]e!-̰*TWiﺲ-'`.5*g`ȼo 5_gYg }em|( w @ gk(^ٍsiL|װ]aiBHew6eFb{ X=qGǦz5лv:k %XԘsLLs\d`z`.[p 70Livlz~l"۔WolI`C&449c!Cq]n^R$#4A>ȉM`>oN@iAE $gWf\NtiPx~i5*kt&x^a#1>Hgo3IJdz77ֿkaLld{` e!f00/` 7t'c]u}d+ǓI) X@;>Ad}=g'mĎN2Sj[f+,9VfXv6!+TYu80g*} !CBep),:>}3"{gz骺ƦH+=9y _=dd^@}y9~f{ZoMcwvbbC]r g<6K<ևTYXu ݻ4Wv]@fn3 3V8k \Q7 q,qU8U@+nF(3G nLvYKu I]G*dӢ%l6IK%8Rk,gB;DԐlXL y.!z}Jl 6MnewLV O07cez=g9vd:3S Te}p k l9 {+7cHaم,)P7ACROբ-G3cx ]?Wğk"^8h/o3MHw⽦G%gT2 „$|}ӨTT.,\bwO6Ɠ' +@ [:r`/jd}F2!cp\&3jZUKY!6[Fol?&g]hRXݲpS[NPFQL6׈;KyC*3,ׯ|~=lc!m6{PLC:r_o:D>QZA#7$kY6XP EA`fqJȧjlQm-L'tS d샜  3}u%6.GHX` ,谁3O8l_̳,LL^2gf,āaW5qz-jfZt$:,MrxyyfUx _y3A; d.HKz5"4|dF lgx>| .yXy,c&#K!0BԲD߀,&稜My:4i_: ~'2%j>"*UՏ_8#|haR<6|}9Hj缳 CJ1PêPմZ3"⋋뙝[GėYӀg 1QϢf<F7Vs M/6y>։I 7jg`~M7~!y]ϊ/:_FdWzkciNr^qP kZW<;`sZA=_^ =D/w556 lT3%x]+1r|~U$nq(=1@n 1w9]o9DB֩ lqr=,+v4GwEؒ\ƂT~vD0Js0!c"} `{!QO+2nV39K#3dva7,l|)04ez Vi?3dc(36~˵5DqDXuc`נ+F#Zw^"e[+(T߱b "Jx}Cz=_ SΡδa1&o Sa;SeмVr-`OOBVs K5k͍>1Ɣ r~[b.r>6G-o9s)l8hAuͰ8]OB{6)L*!U ^ ~tƴʶz>Fi"Ux6ݻŨt6~gy-u pȇoTlVC,;upXaLgTateceZ&|d3SƱu=/ӧ> 7Ηu,_YK;lxYt@" ~3Ncޮ㥲Z>D )<.<,5T:W0`&#Jެ+x%sDVMb/6~ j%5$',y9CTJ՝>B`ddJel̸>gR8X'N|#0Si̾@&2aI{c 1c֮$ n451\E*Y1MVs Eie7Y4d0>qƔ ,OY kTo'kٺFmK#3AO'S*<'Pdr]B W.Qw:Z}&z:*h HZyNꀄ5Eyr`n.VT gd%F. %{Sv@fmiTs\è6HU^g:':b/U_WIzXX(h}&KU LYO}1*̅ͅ: < 2 Y`9МW3%rYۄ"E4z@#owVtHȓvf+}C}L 3L 4\WZGgcbW{Zҍͫ 5>ѬN݆µ.kdp-UՅ qRI@Y0Y "B2n]M9{9eep⌤}15O7?u,MO~.cz|i2;w3:yICH'vhp~)h.P:>x^!_9:Ϻ|gM 9(:w*ZͯB Z,7F:"!ZVrɍ7v]f"LB2zgA8_͂x_Զ-pK͂x4K,S>k[=e-؛Q򫒖wc[79~T2)I@ $ʴdbk ʱ4Fo7nYugIiǡ3UaзY@L=q)=lX@?W#Cհ*BBkp^@4C*EئS@JAKXX\"Gϓ-H0^&kyXïJ6}Gco6E!=D|>I9"=CMɅ+hJ䦳Ӳێ0*}Xπ{.`f|/,x'J4L6 I48{Gf%؜3M6S&$ڕتϧ[-f{(ZNߤd6uK|e*Ls\[y@٩)=V\D/uX"χEX5 T}[ͩ3=D3%c.G6y G+$ {Y6`1M`il[ ?B5zJi 7/1x Ry{)sA:u?l-὜_6\ۉ)dXKE6x-e 3a`6̺AX cTܕhx)b~dJ$_S=߁(^;~_>i!:aFޙBu8/hIK[654og٢>N &-&bk9E4섲RVu)w5x|QAag(8#Qrkz,Y3hMw 54(X*r+;49F.b>d(04D 4.2.|}G4cߜbϞې GB)N58]覘cg*>ugJ9vr4tH+Ψ Tʚu7Qag;@1y˲i1z/6ҶB)Wy8HzBqq1/ =eWFLU< d4b9٪t,mHl "l#Sjp%XG:Rmm-$.=:OOǩ_~u/)Br/]2A*cxs'^Bץ/QZx~YnOs4]InstCC 흇^G m,p.|\=h e t)4pa76#p8MaxC)&j>ΣebsYL ? ƬYZj+d}-5a(a[HjSʁ_s0 [&Y34>ZrR}G2U=& iP-B?&t ;/5e&h#uvO&̽/X y8I<u?Mz=5D;%󏗣 }inxY?B=wv:Lu|sbB]†lÜ[Σ#NrO><#L(C}!snP, ( `ߘ^sqmӬ69,zz|"**yV_,G'TEӔ`W5"&l:bU0k6% 593&b<~/G3* O]o3}:ysg<3۵:{0|^y83o{z$a6Se3,?`.*ST : \l, ,>+ݲ #v/ .%E709*<[Rw=l5'nEg .Pzf@OKz`^1V%nAJZ4i'9 |$Wf7crX缁v5?'T[\x'l(:{bvtĞ ɤHߞaRR֨J/BJ , *,-K8ٺyřI:[Wr\n%;Ǐ:ɗ yh^}/!WtxԻqlWqB)CEI.UTXՔi4KqmU&܌(]3ң6]crGո ܡ;țۏZ{ 7$Wg~OA^`_΄\Q&#Y`j≋׷hye՚;󞧥ӃOluʩ^tד o7Furk{/yd=5vq7~FH}77yz}f>x:=Bl  '(QSo'+{htvjh 9 aNmdze6]r0#:It6h3'L\t1멟ud=IFHPg ;42u\hJ5 V$uf.=zq??ONڷ!slEtNI[܂MԢ{EB{JҝOM{Cxn5vdfsج]EZ]Bo@a[%f2$-O| N:/N$$߷#SI1 uف;:pf%Z)]zYlW⪴ BW'_8%It}X =Ҳ%,ҌJ*9gSZ-'XpY-:i"gNr\9WRnHxu MwtkŝV| J>J=bh+l3=q׸9G!?@sClF Dg7XJ`.sg:]6ܡ5ahW4!m0sUpv8zFHn}hΕak!is>+1Q=uUxoxn6C0p@ݓxpNީ[Gm7Lkf~&оP2 m1ۣJه+G=VNM<ҕ۱8~lNP%XQ2OKLƪ! eܚ[ oS1 z` WmOȮXS;p\Β#q{t\-Gڱf+|%d[Gx~MijAD8ٱ ԃpה Nh1f8{)[Ąlb2v>e= zh].pACSUp艺 Ч&3/abzev Dr;ĺ9BMQH>?2Ƀ-V.}h)Xn"`QXgt {L-&2Frg!5qJe5?ގ0$Ul\Gpڕ t!F[a!_QOQ{Ro>ŲLY~xj'$b֣hNy:ˀ.Y_9B52!7|H z܆;DxU-n!zKⵍ=.V7#uK'6w}/sb,|N Z] Nή,UX$s2J\#e2⁾INBi d^\ƎIR_HI}IE:wN~OQ^&_oї3}o?pDCxS2#/e3W-sH]z33oaE=iS)€̅=t13b)W (M+wh8PJ*̮:eq#FNki<29H nhHjKdP7r_ 0u9pLn-6ظRޯY _+̙9Jcȕ2{L)ٍjZenqTI ?l8e)'0eXnnFFb՝UΎnDz>N6%x;&NNB=NV.k\HPPkN op|F@cJ{zAapOY^QC8s֧nU}YPΆ \G+/lHKBf:[{9Z^ JfU?rOKnqFoƲ'9¡wiV ?v=ǻ͜=؉8S,GL_83[O3/+aӱ)10b<{jqЁǨȜX,|G{98Ð<9v67 (dViC7y9ӒXĞ:qqJWʩEE :܂mڹ(Uay*C3Ob&Ç-pCw%W<x%qs7RX+W>64 L*h6[lŵlf#1)c[Ilw -ҋVpYtvAsEXY?K?FX޳֡/m8i%IcMlQ4'j%pƌ$⸗9XH7ҹ\SԘWT{r=i_AOϟ?4a?;o@xz L|$?j+;݆O}C;CdGT4-$oZ㯥 #9ς pT5*q@Q|8$49(3.@ *G&$n&lP>Ow`UdQdłҧұEg„t2q t,s%&q38 'k. EҲ # b3OWT㰺+m~*]~(p^GY:PT ENLg D6FNDqzڜVMz]&LI.1u7q&!Eav$>˶$y}Q$_]͜mTg,$ʮ$Lj!I<=D2 2K ظ |0CF0I:|m ''E Ye| ?ݎl5՞'Gs|NMЈDӉ2%3dKH<umk^)wGxGd9tcHdif"ՆI/DðH20e~x,D|ј:a NWbԾ34תUßKu}Qt?Y>VtXQnclgf?7A WoM2aVVLL #, %S3p(x:Us3f:"VrWpq<0eAJc}?id">ֳvϽm-Id;`'dVFMնÜx-RWKj_`;?~s,/_ΆZ >|y5$g)qOܬNv'5{2 ȝ_=-h^)hdG\oօo t_dm`|.(0s" a2t=ڛ MR,J4m^(IT^a6$rx9$^i;ZMd?؄#z;Mi 6;Bh!7/y^.߫iNA/Ǧjv b9Y8"Luq=bYZMY0kN ?7T=mg)-5}EE)7nMӰeRq6txoAG!ߦRT|qZ?y6LiE2d+aRr.MNif-Kdcyb+6Y6gnd[$r :I0:3S^;M+ե$BRǥkcVޟ|'Y} n|hVեF8{= .Zo< ZUߕ$7G(^ڔj_k7LU`<%oNO-̭TlC"dYrzaLdc(XCY/10a`a"C&w됄mV卌?^Vw]W-h%j=өTE3u6f4K|Vq^YLVS l9$)V ѱrb&X_jt([FSrJPScERȺ25qeч,`cL#RHLKgfގɲh)u[ ) ˒j!u%*DZCnc+V]3HBlv4e] )ִI\`W)VO4g@#A&*Q#R.`4 4%Y~0% D+$u|? 0T>HlP1ثUPdoi2"QD^Y dD\?th$PU8{]t8>AcTj"1lS(nցH`I(#V+A@j"}$+Ŋm \,%wd1PB3:>LavYޯc=`rKx~0IϳTq`@I_OKNn#8O:>Kbzh%`+ZRI $bfB֎Dz ՂcHu XyLIb٧"/ zt< >~d}r=F(/hLeqJQ¢mz}0f[4WpD$/$ _(RW1\"KWc6N_7B)Xً!Aazl<.[ԔXtZ} .<xP٨Lxm6j2QxǢkj3&5`;4QW{D 37tJVdz|w5H|H CioEM(E|e|)vɻ0k!U^(AT<;h)ADZVJ4-,t11x&UaIU:TZ9Of"LE {NXEFHBb e#hDG%)  vk@ Cz ,pVXE&lekbhbדhtv4 mţ9 $K?*T<T ;k/_ҕ TBiK:4`m E᪃"{[t4v`M>7Bl8Jc4RE8FZJ<ߴʢ024kqfɩ%2;y`?5](=:/?x2 &^)'61ݲvv56=߫ :=euY`r {oU@c$r LWq٣yU ,& 'SS64i0gJ«3"q؃ՓpRA9p,+r{Pua2]\z|<䂓F ma1Lsքl[+S;dJ{kDI%ֿ8ŵܖUADҏ+CNVjzv=%W<8'n?taP<=o% {cbQ;"1cj<0CXY:g1;^Wu ^'xbA\wUgm!N5Gc<nޑ+t++߭p~R"8g翵||hŃ>9w6>}O|}Pwk_?H[Vhva²F{6{HC:M%&BZT=`ٙʱech!vYwXPl4R$dNI]+KLyJJk`/[*'#თ1)\&N /GHjnĤ!? YuE{ l;<}qr,^\7mWX+NOj0V5!a$JT3ܒj՛$8colL͛ع3}pr$O;5%&gTm\aFeč+Fn=CȀ&- q5mlx{fUx$jFRʢI셅3 %A:K&h|U8{hzU3 ֪)O*GE [>U,wnT ֟O^5Z`"'؞$㏩ ~zB C#|vY%Iswޟo1lɿRNR9ie'd?A[.MSx*>m{$P=Th1~닠#<mzMܻIj7ͨ|2*IEKz B rK)VG' S 6C$;6ƒ jfFZZ'EקU|/Q~OD'BU'pC59m71f_Z01UtBh`*E!kpa^P$,(,|ṟZfB̦ABr< 獝īR! An>! O$a=D/̪2Lcnd$@J3tpl] 4y=?GRʶoO)/Km;>((b/ZQ,{*Р DmwXw9']QE*ΊzWTs%)Ȩy(3WjF{m-E)/+#YYt #qCɾǼX#R&J*^0M*=lȱcF|7_ ]e4C"2DYQA ςQQEZ-Tn"p! "x1" U>F in",Fh>U$֛ښ*B,iWe^m0n"6_!D#NGTT*~hf2 co" n2&QicPTa0ӲnKQ=`6JGg{h*BYsebSTS91Y(<|Bm"#X:σ]k\폷d7]࿯ _ S=5ܺYZBm DD, ͬ/Bw2[vQVj e/Xt6!Swև>.I'lY\bYόiFš a91͢&FXUY'_?6w O;ӫ$IZ, /.67xA8!&xȴ1?mfQ>Hq51'D#d}m -Zmz(QRjK|%F4VA5??蟲L#a\qz"r0HY[+Khq%u!GDFW-d4iJFRhQ 7p5sY:]DM)K!cBMԶ o0[ɩaUhUH:P=š-DH2fhKqnYXn261tZatr}PJVdaY{/RFU".πºLl֋?S- ViF8ƒzi{ބZ)tr^:Ά֍UCIIlQJQ>1DR1Z B^i,SMu+3g~ kB0־Xi+R`f]Q\Q<4Im*  j2G-^|Y2AT  "L/1R,܆ yKZ;niwLKt\!(יl*&'՗?2WKqauѰ>밺6n|vn܁ɠ{Wx};$8¨426nu٦kO}|ehL<{x&&JT>{z(l8=!3!=d=ǎu{|2~xtW<篯_ 3ek!7m[Tg Vx9o Bl50?;np.yB8Jq,r(8ruۜ&ZRbgTpBPXtu9y-wrE){0n"n\(8 \Nqyʄ)Dy KM$8H =2<[ 4k84M Z.z/rIh*['`C*w%-biTPr\2DG  :#$r8ޕr_XA /nP3Ec`|Br\廲ZL]E>Xz4'g*s79Ezq6_[p,>^R&!EY qNvGiW3[$e{~%+$Z5RmǨ+ؼ'v|Zp޲:<\Fd֘0Kk<+Ïr2f{I|KYU}r?rT7??+%n\ lB,?dg?0Y~RMۏZfc}uٻ-d/Eh\Az{!uȒAa!c-꺮+-SPD`vkQ9"#9bu'n,kHÈ% 5D2YUfC 3>'B%3JV&Dۣ^HԎm\㓡l(VV\K 5fƊhk!CRO6*á.Zǯ (p< 2x0 B7#.{K5:#Xoظ۲zLs&aӊ@󦴎&r@oE:〪;#o+sA `KP !q1YCsw#;x :4``!aI954en)l8r" ö֤\Xg.C{X9,F{o W-WiWϿQI^e 4zun0=~JǨ2g gI:L 3^#74֮r[{ڟd<_^cGV{Ir7et GTI-4!$qlP0*LÂD 0ٞ/Cr'D"6[̫q 1aߋܪŬpZXM4 ԙ#hC*mqF {)+6Ti< ƒ˓;ѵuF<~wxb~B;fiegSQKTs,Т۹v`/+1-<>蔼}͐daP8<`|>W,&:XQpNrG"3Kn9w=&ܵtX:]^9i"=S`ym=5 &q~|y#ﯵHmZ$mZ}-r3X>mgS>FS}՗9a|lGu瞮1W:^W ϋ=ڞyc4q]N#i-gzR܉b;6Z8q;F4#G^ཡ(?s|dT%SWr|&ɉ8>#ϧo{BGE}J0MB>mo,dS dR=hI%_ӪĔǿw_^Ál9>?G۳=w'3fc.񻏏k?菠-ͧ1e)o,l0bfhO0S6Yı1?OϊiCmm:_p<~CCSV*YDcUvn5{!O1N|a4q>Msp}x䧓4=9o>ZU~:h/<>D ZN1|Z(ǔe]⩅{yɼ_p9 ߕY3G1l&;ԏ2P|G`7,?3E||;Jm?~z*^VYwd#e ynxlM~/DM{084b wz=}q|}O}qw_0xLG6|/-i=쇰_s`=g:'>>)=}/Ge̱La~=Om"*Y*Н>s^KGO[`祴iEP@*7 4iu ܠ،% NJ. aYs$uJOOTx&/l6ɒ!M'4kj5 ZfqMO.}fliVbBq ~J)=ЦGx9F u!Ci(v~؀)-̥KiY3ISvaMڏ 5Ʒ2 זŢM+-̩ ~K 6y-ietgbWjImk05[V%HGXU4^ojŁ߯"U*v{^WqǟWqʳ`' ?"o3Hǿ 9u~޲0h̞e6St*4/~ 3,E?ǷOǷA>x Zde,5Ц|7BD15B$$ nHH&1G#N Y:Vtaqıxh^#K#P1rol~c%lOK@AkݔRSqF)S$;sNiL Kv6q"? 6^f"QBwu Y8]`t612ZM LPӐ&lW$38n8 1$ʱ0v83 T7Az -+FF"fXmu~WU5BZw(VrԦx/Ă0qI#!3hVJbЈVө7Ck{XjJy 9 ֥8 b}3>z鎬1Ru_Q;Z43o GsҞ69sCi [4L6$l`f^F|J b< gЄWvjnQW6jO?46÷$8ecQ60άj\膱R«7q{ezB4@E]S P6NHIOH)m_`&?Cze ' Zs*W8IT0PN٦a`M/g@మ>cEnGt[_' do%4 c%Dڲ;~7a_4 - K|*+5a2~++ }nIx攲J".Ԃ=n]Մmԡizbi/q+ )L]mG#KSwZ ('"$9 [e/9PiH-ŧf%` Ggk´52~PݱBٺqqS%3N%2g;ͅCЄw~{6ݗQ>nͻ/0HqOG/?VvS%W+Рr HLs_QL=_8#F_$ Gp=hiR~oBt_%EfjE\?fLLx9c-[3 f*M|fJS_aF 5g.so]Bؒ۠DEx|5:kk'ޛ3lgbCU|*kUs ]ىGةGҿg]Wp@?A[>!Bq­Ixr}ԖyIj_hst2 0<΅=|6OO5s7rLd0!sa:wkH\Ek8\}J\jJUOknxcM[^*+Touw )EBI ,'1by:GY;̥1+#y7WZ^--ՙp,ysr=K[qmS{p8rX NcVڢ3vN>NY1 #PKy`_ s&(ie=̧Fx'ߏnId9?֭wyj V A|k(=uГuINUzk/@pJ^] n:<Р'%W6/UC',r}5>Cӥgj |FC0ƌOY{{')'EŎ |ҏ6dzmQQ ɃPGa&;:T*lIcLOPϫx{{ma x xͲ8&f>v= I$o(KR: YƎҥt=_w(]fл2)Ռ媦6|НF<(-͒4jV×aaݪ"6(N?|ҸͥҞ>bu*Yԁy ð0>"!|6|7긪:d6q,s:J͓,^ðZݏQu,*KtFDZ*`|bQ:/EUmV)UaӲ3IZwqn:YuCmы EET621ۮmV@&qjQ_cwȣMKeW@WֺYJ Vq ]O-@'*6BS.T^ybV5)&q&kTnH[`~ZϫM^aFe@< m 0Lٲ*KR7ULXu c'ɢjY+b9-]eTe5M׎_o]o@+5MKӲuumikBplF.zb늂\0]W1UO] &'y[5~՟;?Dϧb]ֺ-;(,ˢQض$ 1Tu+pkl-Xv&.Km֙(3`l븲jtf5``q|o_sɳ(M*u^$eƅǵ6K:4$3@F 8& =dY|E]#&i Cx 8 dLmgLM׸HA[ô c03sn?N9H~:zyG͊T mnK*,@iQE[dn:LJ<0IU^in*--E@AYce15oP |C\:LYoBI՝iEGW(Tx*WS5D!BJӤb ۱\K lg;uLTP <2:7հW<6L.O'銪' @8e *osL]:>7з_o ) q),*` !NA:~Xn!հ U~[RMk&"6V4;+0|U98vIޕ2HUovôKPB$ct[2Iz oĠM}џ;d4GNҊYZAX&=b"1 ?e:y ,!9G*Y|Έ5#Gs4BBfM9txj v_ j~A 6i2ez@.en>_Ɔ)rJ-y 2~2֌,,*77[(POzrB .e@o 6W)^- ͷ!*ƂwP -LP]C:kϘ=O[V $b0Q T7 aؾ'}V7MRA p[շG ? @Q U*k$! Tdm5!#~Y; ,ÿKڪP6mR- ۿ@K&mf60m\PRϤ+F8Ǥ_ ` CaB tsޕu [Ae/oDQ&'X 8T}Eeb]iunb&۱Ne!H I4N;-eBpb~YwP/ÎC*OeMK,'X"PTvVz*Ъh'k0'_aagFq#9֮Hu{iE2iVI]ݪ:vzlWDikM 嵅v\YFni9rX%T@ԦaDA\y&R^>`A<nVM"@}5uAҲes eA1OkJ#` x P m `X(1vB B21-Vʴ]L:vmU jodQØ= qAS'hKE[]ԁvK76tɚʔ eJ oaBuCDU~6&l~Jަv&5Mu0"#lX5MfxNZ:o7I\Gj EYeZ ف4z-qdr#bdWTmKe f ɇ` 1(U(w6*LY"|8@oJp'Ul@9R#U8AN~`!&MGˤT-pJWMI_Df\  k/:Ȗ xVt%k['̋/ofxt\/*nq<Ӻ A3Qr(8Zo@*P(7ޭoWKQT")4@ .=^!  5^%K9-_qгBFv`{]TPl70vygLY@v:z) adQ52ܓ ,=Z )]g:頩V-A*_F6Q*픥I^5"Ϡ;~ZI9_aa0Rm@uUMi cL{2 ggoa15XKYR;L& X0o`amX itҜ`M.]O{'=O5`aeN͢jĶ 0В1j3RÂTݳ.c(ɁZkDRn( AG.+!:uK xNoawe(ZnboiPZ&ayKY?0 o iԑv2琰}~63Bʯ4`'Sg&y(dXO)Os_e1:K ZqA0n @8e dA5aX_wn HY.jv q(҆G?9,DfDܳK7uka$ݮ?nxV<Qyԁrj Ө򅸶mgM-W -ݰ۬V(:aZ b'б>ϿqiO{7v Qh>>>V( {P{Y f;$ϴI]Ұ͜|PgV`)~Yz$FMVLa~:ۧ-axfǹ'[@MRu^bP_(c=Nu\@A M;/ cΠC%4i"auu3GVEgy06tK% 7 &U5Ng􁺑\oI8|0khN?nCZ3imĽ;xN(77o4A`Ad)$Ҵn*B=~p׏PoNAZ1DS hI, \ Pa}CQ ioa_ * YWzYp"q5p'yAmYѷ a=GuX=m ;d]WXX=l7ްҠW,q჌\um1(Ǧ}yuR*!D[` ؂:z/7szZJey@K+9z,@&Ί)TR2(1|!,랫6wӮ,P.(L&Mb#;'@$lHQ` SGV:Kde @_Av`)!y$̨acE]ƙ\8i-`5,GqC R v0HMV467I.psqwm77ĒS$G:}LY4.o0 )<33Eh͛4['{;w}Fv,(Z&kMɻ=JH+}w@5y}P Z:<[mO -YP'b06^Йsb,]$YD V݂b9A􁚬  jdaۜ;4T4lB9yE3Z3w79hFF0rLTY{jTu9+z#WЎ,MKe%erwy[u-eFA΄SF0{(@an%ץıpa;f.vEGfq~;UHY0z>7P2 [v-N#dM5tdžsii ! &u]$#h '0]WǕ)Cg'~K?2#L<ێ !f@\Mqcur[kUJF%lRhp? ] o}߻UČ-,¦g윰j 7mq,>:IVW:ˊSILs%lH=vÇ$NWY#CAo:X#]RiC`Oh +$fcE_7SKT#4 Ë2Q ^n%l&hug3&O)W[}a.[hf燽txdAV(_;C[S.:\~ōsIfz&׬/< ᐲؕUAB9թʦxǽGDlY(@t0,gI~?7e"* !:UTe/OxC)ᦐQ?wOMhkE-wMUQu=%:|ʢr[(bymb/:Be. ;kHf-x}pyjCW=O_] -SN|QZ2R~MZwn@$Mdd?w/#V(e W !f9X,Zܡ!qnU_ܩS{B" hUEX@WJh5cZGi!IJꚚ UwsJ[ͽhN<ȅtAi]tvsHL:ષNsXY4 4m PH3b|@RQ:F/sE-A_67aOXo6Xgf}Jj9-i[2'y?w;UZUfR>65pdUrΠI4"O1 jtFyp`Ytq89a a&==aa`2 /tt8`]߻>|pmUf 3 b#I |ٿa08q(qVFM+:@Çvv,&I=GIJ氿_}sG%Nna6l;ڤ5xIkΡOt9RPIfǨ _~!(g-ҵ&e]H4vT[|O㎋4vd,S lËȖ޳n=wq`(kdVeŔ#[v_Wwc#.쒺T0PNxvkHFc#YlƧbBIi(BLa fx.BY#Q ݞ;!`fP #݂\:A*% qjIE9 zF` b eOSO%HR~8,œ29"GCrLF_2Ӥ`yI\d%z!3Ӿ,a*,xf"yLлCݤ'I^/ۿVyP+XIb`SMH7v`aa<#Oh-tµK% Ovw3LzD\ιyIEQOL1.LR7N,x u@J'r=`딹0S֚y*LF3$8A eE$ s x7#} p&dt`S8U\ BO%oɰ:Br.c LNfLFV")r wn}+!).D2:EնE0AsuHJJr6OKmƆRCKH$)sB\S̿:]е?3yʐ."HFj64f$,qpuMa h7Izw! ^ SI_hpQ,B%BE Glb`gп4F2 c#+Y &03n)Gw0|s1A: EQh5a/00RI52qlrU _.('=Ho0R3!Ҏr$ :ˆ=VEq% J_vp8uI3*R}% ^s/cu0aDCZ^*HO,(]BQjY sGw&RiT`wE،ޮ6vǕ xA9xb.(Qa+9L4Ycgˌ&A!jۿ쎿GvsbL3QZZox[2gjφ.7n!hkT/:BJd:L8_ NI`frӒ_?c0恠iͳY=k8w f}y~xξp5L7 ? bSbay@T]Q*ֹ\)E2M(oq6{e0Ktsbe%[Ill[KFMzus3 0닑>iypԄq&=w! WA9M])HIVp|$8|P7Zjg%5*#@xL|C ٧ D甤!<6)!xF Q>*-/ fP66\I^AnpF(Ι{rlK!{ 'Oa|$g@.O;u(41D`ZGŎyFj χ6!KnySfxNM6al .O6.Oy}_n3u!]^H23\184{,t8 :&K\J}h~~;[f\UӒ0?/*CWs0 ]U VwV ;? g"$+ɦݾ:߳kDE}$+Ր_?c\0$f82SIbMy~=..D<麸+O./&ar$[xl_W.ցh$+dj{'&c+Eͣs#6B)Wۏ]AYtIL)+A֫KpB.ُK.YIIϡ$ DRRT樵sG2.Y<$Q#B~epIg-fa!#Xަ&{.\l8Fwj~{ Ċ_s_2#sԊw*؊aB1љzd(%YF菏byFS+`g dл<+/>B]L?ep!Uq ˓ @vp/gI.EHI>b9ɲg][DŽX8΋'-$Wq_ 04x!-iEwdy2OG`zPJ[b»sC<|猖+M҈(?l/_S++PZ4"f)||ef^O̢Y5fq*a/k7],gA al0z8bԄ%Q@kPdu\"4.R3O]:$4\f$baQ84Hn&:9B o2=<%W.0[qj]WJp.Hg&<s9Fn_>%uQ4j恣iʥFm "x8$HN$1sdxwW~]yw @ \dc+wQJU 6ȀK<2,麧c16$KN%X5VvؙQVQ|#+ Z*8oqM*-S)2EVD-o[= `.>QW|"&FϷ(HeZfD>Gzwo?uȆqE1Es?1]r1"LJq&:Pש0u l"OCc*kSW.YSnǝ{^ et~Ԭ`w"}2E6t7sCf+ Or *lVkI[ ٍeg+*"K3YywI fkM<K\.%4٥5kaQ.Yoo,od.|Ym INf A3<Ֆ L1DI ͣUvvs`huw37QPb<)dٞY*TNw& ! $t:%K]t#oVH;OISOHR!s]aS}Tb@g"r|& Tm C.=oj[EzE|-Hß{#$4Mّ)!d^U[ k>EB)!`^S0O"93~ D&/ l\ŋ.O\_*sp ow{ɘϾIZ1FGi7 `9Ӳ4A^G]ι܏qvZw.L刔ժ-hHCwV=y #x"5 [BAi'vjzy85\0$=CP씗 dH7w.kX|q'9q dO+E7oSӺ["2R9rk LT7pfQ5b8/jxs{pXyQԪXd$s4xdc>ou|;#t}vx$ɂ:~c#dHNldR(9ʼn, yV-ΤrF043@徝: ϕ 9 Fw"8gr\((׽ޯvV+"T, uu3 + #< ̓JgmSkӺWn-!dj>ؒ`1ݦIti9Cbk $l2 m7,p9dMCz"Ѵ[?Yr},д+$ūõꦟ*DjzR8}rEd0xquBek>$xɴ*i,Ylxd}#jyF)諘Z"pIײ~@S0m9 N0ث' +1sʴuDhavIӦ5"IdjYYhAQuC%6lzP+ RwveiH_uPYW1&/[+*[E/PNnɕ ~g 4a۰<|mo]Mi;(8h/oCey:9ɠx^ {ā&Yݯ0bN̾(jOIv|H^iT$W ul9b%&W7yR4Ж9,yVϋo Sj!զ_ޮ{0~;IAQ,80Y,0a̋|CӖe~[𢡄&zV#V,'k3oɳ$c.vWNXU@txJ5lҥM*|QVy;)^f`kˇvni g} ͅsPI*/ԤKdȤ@ٶi`$ќ8v{H4Y{Q0%eׇo;Lz c ״HMXm LŖk^YyrUokc)W2sA] #}moW˯2=$gAB 3]]%E^Jځ{~rr+ {jlkۢKM33턖!xx}ɆN+LGoR]Z=xfu?6r;O6 Ό~ޭPT s-26Ug[cuW'_ CLۯW#O=$OؙEr7qll7my8w22|PugMj֗r2`a WƄ /r QeIQb֭KNbeDf!`yrr-|.C7]@2*!;?eҧ*07uj;xp&-vK8eRhF)/[G+.t' bwLqM^Q)3dv?5k,~r‚mN,'9f~ux{t#fN=f\Rm O:0]YǴ8P녫ݽ@vw]y ̐j@v$Mr˯LJ )\3 5 %]j^z:^%S i1}I=hC@"Tܹdb%Q@~{xzjI34Z UXdxn.in\<1G(P}Y}AQ)V[ a^ /Y|}e$xԽ֪钮hyK:skդx<.=҂ram7q.<+]V,J6]fIOzuI3xuAR!;[7IW) vO,SPYobs3ѳ/q]h%MT Ϣnia$~rjNd*m]9fFCB=Hы6o8g >hPXBF4bq1sANdVIъ+ *UkԬt-KȍAx0éob̠9SLjuYޝZYgv ˡwi W WGC{IN;!,ԀJI% 3mRL;-8f߮j9X澄XՠK[03AX nCe:oO(r̐NZ[?iC*~4U 1%`uMS演26ܿiLSЙ Do6ظ6 8V]Te&yu@fyϫ tyZH.G0=47{[Kpucy따 5uPa:oYP eUUw)H Ɓem }=ݴ,ƕ8z؏Wkmko.)RpL. Sy0 =ǟo/wjLݳY><nVw[qd ,f#MSMgLY߰,un6 p8< SS8<ר AVq`z'zptqa <<QIE7~jJO= $%"7ų@7yVڏa aЏ=ATn 5uu`s`4mVc7@"dnZ{ zpy!\cK# IFקV47/2%F xu7cy0lagY SK"'Qi>lqB6Gn{ ',Ev4GHEhu\§dU]SAQ %um-k, 㾻=nP\<<:Êvqבh6k:oT^XSwFG+UjHRPy~oçO+wMմ/G^ى6$GLyf_vfwIܔä"+PFI2jxO^: 2D"u4IzK~8v6qywI'X,2i0U-xJoΫ"O?/@1Sa4^M$w ]ߩ'|RʧBٖRa4Yjf~'[u<#ݏ!H,ΤK( 'eb/d63~O ͲԲ ]ֱzyyt^?hL QSx'$B_K\7v@,_c15~D&.j1OW*s3aXo;GK^z7ИDw&,l3iPn,cKf{簔-FP5qOQa›iQ"uz2O_Tܓ`u,\ŸpDk˜fWY?V"bՉNGaҺNY)v2GͼÎT6an+s?`a+6$vQtAu4L~8z|9?LG8-LS]p-SGWuYQP"Y8%gZ0Zu8~B%l%ciSA[*qDM3oŒ짯(p9Ȏi|1F:uL3 &GjTKv$ʣVW5l̂0fU-vX~wX}<yUeE r+Uڑ*uWǏܨ[Ǖq5BU5TXQу~9#q*\ , 2ZV030h<V֙¥ħ?wBV;JTVC,BS.%qÑ(obz" ,ȵE&N9>k[fIc]yךvt⺯gX ޹=vK =Ypv6xYqZnܷgq*=%gcck,7r8tXlnkVbL#aIiGr q[ ^龜*e.KLՖmם^&uB{/㎟e KXnF(reϜPALU7`5mȝZ/c?$aV]SSDf5k`e0σA:\.Uu0'mGVwvͨ3*'qܭhr΂9_H\xXp|\;>틦Iޕ#VM:O(?qco٬yJPy 34mVu zK7άndFqicw 4Cu7Jq^0iMj6T8BNݯtzy鲂Vr n8+FqtJZ1=/L1ϟ/ ɚQ ל)ZmC]+Vf+<]f6~4LW=;B-M6˛‘-D01۷ %'؃QӥS09|y4uzļ4.jmZ|Jq;݊5O[UU(4`͂%~4X!!1a y8J ֞ a&ܩL{ PĔPFO۶:ӘvY(y Y)e9'E5q7pMT}7"䑍~`UYY ^ij F?$O0xO &&.; YZ>2:[Q`j҃u)#XZߧ3ʈ*HEog'-4JbAxf0sgax .Xؾ..iT7)ni[d ̿N ]փuհH|44=ZKJ;dvSKryKnlvqv$II?r ]`;bg|6 {jO;RJޒۯne]RVA{ Q^ŭK V#8,pʮb2(gyp#B&07N' ٢AqDɫaO~-јGDf^n(t61R.ƅI]2r78\zO^+E([X-9K<đ(˗7kcGl+mmb =$vjOw&qٔrYYU¡Yv=obݽWrp p]46s9+0*v;Gatв]E3YT|896<< R zO/\on5%zmԇei8bLrA_՗;\rG,8BpLm=&mmU"n&zӧ-+a_,VuJ{=jsBZ+ŒNS]‚~"L˙߳XŤKgL:[b*!l8K^v@jwǪ2Z~*Je׈5boBGr?2-ao."c0̵n U"2V]C~.ӛBO!|vF6`\iI" 6K*-;?LfJ«b1+KYtlugkpK&X/ M⅏@I䠠T骬LJ} 僛&#Os?E,^u9ˮH`єwuтA!seK\ЌuV=7xzwlɫSL{_!E] ԜAԜTN$JɂClIK:eӜw\V{{o'N,~ON%wcbO ؕ eB~n|H8h-Ǥ&R]Xn|c.1.Ŝ&O .\;4c܌R~,z 1=z PRNFmʣUG7uܐg_?tXׅ_+0zBy.hK],/cqǸe@,DmFrd ozSÙC~]LLOHM/J.WU=GyDH9 ,5TMGU۲.yHʢʻJ哩":aDP2r lc[VrP vM3̇LyBxEZ?Mvjr ger/u;|0_9Ih^<)RNjub:KӀ&pRC&s+{72:}=xJ,|]Ӡ˸omR9ps->xŃ n6u-Vvѥ]^. 35$9!#ok/|]]&v9V8 ;<9Tb(Ry89QukEޯ諉۫݅Pj0Z ܓ֠ 5 M뒔 \m"Z*\ Y1;7!v5xS.Nduɒl)jT]P'J$Yx_\7|]}W?]o+Ld7ơ3 'Ol?Sh`(DywnDYd:M8%Lmu7L3P#oV*v)"eE!Jb4(&k4mmv/ PQ[&lS Ne;1՜h^i|_vӻ/wܴi-&Ehb&btMVhYD ݿ+1z7E3WgnfB(WV B,#R(>b YM;p}D(yve^ș3xUy{!|1 C^" !M|Ql]{ް -zؿ٬%ֺ%4o(&q؎L BB?lVSx 6;#Cb۴+NمI6_^0F=9߭g_qJTJF,beR>'$?~7ܦov+M#x)v]\zJbE↭ڋÂl^:0vw-E_}m(+Kx]UwN" c#2e\iHhMTdv{~~'~[Eș?dkRº"ڡoj7錟N'iӁ P4z# ,i8p3C*b?,hs~ 4C,.:k5HɧM%\ 5T۳`g6jUbB\.˸KTa|z/wwݨ_( }hPN4m#{}b/UA^.\xGQjbb#'-2 (SxG '54\BzXs%M[(Jګ~VQH^e#@D,(]V8 9Bz| F۵'"wq`Z2!Owwl2[2 #(dr`n!E\CmDY{Ƒas*or9J⑜ 2Mߊil{!zIuR]e]~O+(KTh$ վ/!Chx}ш~{Aͱk.i-r EAeyqȕVRWw[yHyyꌭR1 E3mDS?yӢ,oі\`"7 H"K^^tD JrʻĻ-2V[h [2Y]-D g~]w8^/&2UéejKQt/(K2E7 z+͑ Qh}/XɺN?~zu}{+}-'*➼'K%f#vuZmI/x;^ 'JQ+rZF)’E//O,ЗV\B4 Rn@oO_<#DžbI!XZQ{tMY^Wd~Xm{~MP,V+w8Zم}Coʯhv/† -eL6]YԢ-LX/L'0TǏBD 0_WWHU=NtEŭHɺ#Ywy=ʕ_>*-ÄlH<+zSI-K3,LTaKEXҮ\WGuʮlM$kEvMㄛ 9G ^Ehm [=~YŸ D0E+6Y',kQNã:ncq:b%YgʘG;34{d^VҪ0,,DujEȯ% ʗ =KD6]yJZeX,$Q7\ծC_MsHoJga{?["%Z1W-SvE }' L)PSBiҷHE '?,]~{_LK N%V"rߝ^5D^Lɧ^J?sܼ*tT\4Y*"fa-jjQ^lHiI^'hԂD4omt*iltm@ԃH3U+԰|*,ェ~V+&FEI3hФ`N4\O\,'riS\(OV zӢ8vfڕث~uc2ԳI4TVՐ*cmH"C) ?X%hw7+^RVVȺ~pZh@xPI$-(UdH\Ոly ;uh:RK/gtPV$Ms.kc[u͈kB\1SKNʐw׿t[콎kRmY` +ʙ!韦"qozY]ˣ4xج>~ue6v͊:mDLBJ +jMХE 74hc#s%{I6X1jeKw*V"C3Q[ݵ9k݈)%;n!7vGy'Acef1wl+\6u-#J W'<ܓ@TDt@'9ι>U:ˊFvMv_olɧ%GgubN9bb!_-Dc O)Q 7;INRAmxԫ*uH0^sXUv(Y;E3?ߎx6dpNTNx.=4Ee\t\}Kﻴn$Sr0|iC,`{rmtZ!!B} RԳţrSX64Q9ymҤJWǻ?]/+n!*6{G,‚W6E>hȢĬ}?~BNbfȪdҺr 6bY̰P۽_UM5V,:K=d[|ɷ!NcZb 6d"?VENvҐG3tA9~Bmë)6"j #_2*d\t۸vI3}2!}H0ԭ>.Ҕ-n!#ݷ;Iy4 6'M ɲZ9CDNXMnrkBɴpP\}tedqxºD[E'gm "?en;`Ga˽ҫ=`DZLrB4$DEBDO':XTBz  o"IS>) \r߮r`25|  U\Ń7Y0Ы^ 1}sOʅ2u:5GcZ^XL|eM-톢m!6YOH強wr9npEwOQ/0n&ʆۤ$s%FJ* 'yj+u~㲭]L](2=m`)u/j(fMwu-m]TXfZu8ѲdG={|hhGAR~8J\.XDx9Cx{@?xZF5@#Q'Z Fr:(@Zi_HzQ5F4 emjqyg%0]>5q ̡p!tspr&\-5De%m/'\i?' h\&܊dfmbaD;7IQo{c{-jt9ΐP eܔ9Ȑ9Q* zPĵC_9a[sHdXf܊`R)+J筘"2B)S$/-lj99{OLi~X#wy[D!HCefwEȚ;5 ;*q"\_ꃷ"O#8@qm9N::li s9~+׷uk74xF+=QxernΰƦnuN%_v;"4$ >Upk CNء,~_~}oy!V;}:<@nn9:HOoy}vPn,uT2XsH-S4؋E{6] Lm uja>q~EQӀo|r J=Uћp7^Ɯ.hwև-)qf%ƄtՃ[N(< ^edޢ`O{z)"U^:ӫm2n|>Py-?lTJ bzDB js/ꃟDGD1'Aa)(f4Uaa;y}tR.ج.TpP642v~edc9QqT!`У48kCBvh DF˙~-C+71nj ME&q{}6XU7Vک9 [9S%*)u#O#=GC"`va'Jz1-5@ţjLBB:(J6\(R8֢Љe-Y#mnCu>ܮ"5͋nn!ˢ(>^zs㑖m-z8_E dXxz!5BBɧB:r.@1BVyv"-{&_蝺<[< SLE2,W.EE(sKU.5Ο99#T7HAPFg L*yRFpW.a_4 ǻ EPws$ɼ{T]y5wwN=MƔeF]MC!"GtlweS<㲙yEW!"aȵɟdfS SQ N)YۥNvP? iR?]5z=U4c)Wk  Os}{3țNyQgD)iˡ T+%S ~ǍscAeiއEu_)0y@>6JjZOPc_idFK6h}ՅN(zCЋ!EKo,X< t :jdL;o>rI.o 7q׬ŰXTuiݏtyff"0go׵WFPjtBF.:}+gK Y+#ʑoQIHnձ4BAf_%6J6ȸFxEvY:bg^'uW4k_Y|u셰,ȗ8:b9:rSUu2 6ou81%cJPU$7ڼ~:o(Ck7NB,o`9C/An|5H{(Kk|*>39<98"Ai4k&8\R*g#|>kV_-U! Eonl,^o9v~E39{_-\:kR'P4^Z*Qt#hk(ڬDz JSI l#6K- ,i-yһWwnLfvggFJgf# IJV3>Jߧ^o(ipc v Wd b!_ev _iGL>J}ɷA;  oOfګظy*̷53Q9pl D(vnͧWDqrOGuM[hG_܌' ǤsBAuSGy[- '(jeK#`V:^ 9MPV]eu9̐a׋ޛBv.BCiF^J Vt!} vkawtv?`&6&:=4!K\Kӡѐ),RaJ'hi$*XMb:°+Zqrh՛͇8.vC4]h,UsMy`;^@Ug.`hp!s>tvɩzAD Jiq3;*(gըgʅbar\.0POVǘTu)DŅ! hZa"rJ,`L%Eֆ9‘_[o/UZ\p U~<L)Iy4g;6Ao+jDi Bps@4'Q1fGE0=K(7nƍB{E3mƕزi뒚IL9u qZ{2(Ы1Hy(fOl*Rɘ:hzOOI̙d0d}S%m,o=ٷ_7~Sdqq[ӢN̘uUZxyȈ eY?)nػE]xe̋$?>ȁ WGG {Cv) $i 5>Cf [VLFCsC::S Tp$ JH| d\gX麰Do6\@JOғf\:bƼw7w'jrh+,QF`aզO@O,({2'^b|_~س%dE٘Zر3@C+KpGT?NCXh(2~ 7!:1 2>LFDQ(}ϧO^49XފsjĈF[yMu>a.\R)æۦjd~青É3n9mX(3R ͘ȏh '/Yu֡C~Լ3{4͕,p((6`3kpK҅h?;Rܝ,T҂>OYX KTAt"_'އkbZ(󢇺Pt8Qgm-2Swpntv(2բYm=Ңj)亶K#zJ*p F7LtlHr@@FA8nY7Q3S/~X)( / lzԠX퀚k`XR#aS?5@@1b:zeO)ZG!]1^3nKIX;ŧFĈϜ=K&Ef~M?C%0^`D` I=•\l=Y'1y w*^A7~Un+z=-3\BP9}'+ũ?8Jm6acߏ/A%[*<3h\*e w_c9n"mk(c.e?)WdJ#]?(rW&AuʷE)C.-=Ggע<6lXR(?JaKQn;ӹ|L_g2ljf*7RsQWD 52Zs#kwm$M%MI?ʉ?(Hia 1Jb;z5ٝzB1^vf m.h6q.f"7 ]#f]dQb26+#9Q#x~զAG pJWn2DDYF5fjQHO@FFw;MWŪE72=˚WAYnBsEY: ~~]S@q\i QO7hHխOmqsҋk%WQLR*$?܍x1F6.Z6ɮx 41vJ ೥A`YSK.7NV(N,1`'#Ee7']BW~-{|j z-c?2L6fyftv$ #r2oљ/d!&'+_"i"Qdfm$Q}wܟHHt_:t)}WGuɅ"3ɞ.@/, akQ&OP#jti{ֻM 2 B=l JU= 9{H^JPXͭ/Ll);\_`um˧-Fù3ϲqDざ{z>$n9rEzUb j>$%hoi!Id«7ޢL`F)#e AMzOn>ZScX:$oZ(z@(z1X6]C&~"G 5ǧvꉨ\OsWi$Oo/- *hc? 䅧NE7]pN&OeA$ |Rc19ʞ!RK0~ N+>]DDpxʹR|@9YB}C[Y-Ѹ,s[D&벑\F#mt8<#]`4NV7ov^f2j!fL.f_teɢnۄʤ){6h ml8-D"- $f˟Ϛf7%KWX^T;#դ4.t#E,5}\ khy^B.UiS=VO8Mdk3y ߲E@0.mҬo۪IJ EބCH/Fv )@-`*9Quo%az{u ,P@!)\b8OB_;j"-&ҔH.('dəR5X EV)gh,T&Hq4+kvH.-DUTG$X$OHEaIxu;Kf>ݏ*npřJi` lǟ)74EY`0aE҅gR+%Ul<^ԛİ?L0A$N ]V[JaM*Z΋Wl O gaBNT5qSd.JY!7bl2a@1L=2E +/>M4N.*nC5`Gr1b0}RɁYU0)ho'''<ɨ<p5_I=F3T>.6+-(z]#\*2l.̖ٲlHt : .?0*O!lSB3AUCjE+fzT$kJIex;)Ex,FՄ`Q߽=ubY'/fbqVg~*~mɘ j  LhN}/rC9mʀ"Kx W C=Pi=dV< =Mt =cibQD7,)ˬ'1 y;Tˆz2:1 S㨉e$e27 )ޏk?~laDoQ2\x뫇ҎOvpSda V@@gXH N 5T&lXrdbN,-7.XZU5/i! r֡t4: Q^FtIr{fm6>!A&BȸktBG3kĤ5$@fXĻ^DQdaʓ\?(8E'K91@VF ,i6G?,,HZŷ!vu"GQkaX-\E'cK'&#{Mhy5S_װ9UDu>YHZ {WD8!uK\ [WFϊ?9GܣzxGytc=P{~Tr 1U\6E4lY&unz7TbcV}T~!l.jPCر1MlIJ\3${>q]Mx`Ȉ\Ne8yڶg8!jFؚl7=VQm};Yrqk@-;touM47s dž87#+V+_x b.>,lUGB[p؞2ࢦl6QDPZJ $y' i'fĞ |@ "]A SSʈ͈?QS hӶnW/[2NT$T8"plW?l1U2 /-gsx{~ qcrLX*CPL*/OCQ"B(_'5wq8-u" ,*\ Ȑ"f0hزbɓɺ3L1jBߤ[!5[ŀ[-"EקJNsv7)P6mlgi(2T2xZ72VfWڧ6! 6(!ׇɈ, o^5!k!k8}%#ǔs*f:M8d4Nj> %gШs~f Q_=1l9j ^ܣwK,@G U&Xkcu9cC; sǐTuL^nj1M('ӚfqGr~ 3Yv FEF7hxۨ;mKc)^D6"I9EoNAN= f<^|p $yB~,J6K+R&CD3Γ1t^Ss7#-oz4D'[˔?=ԿrIy;ޱaO]M0LjN͍,~)r_VaόdCƶU`$"D`/?7׫K_{]4ڻcKNלڝ瘌@ L,"tPՎJdsti Cgvƫ!+ψ\ C`&(g.g'91FƦc+ӞdjCf平é@9q.(l{ynJ(쥢݇]JE>9<(|Up:]kW*ЊV{2:jRyS( '-),.-ʪ}qO׫d䃡yZP kZz$Bgv7.qBG⎕}ɱf|.M K,ϊ0/Bgx ! v ]V|7$ 3Ȧ|M1Ad"{"I3MK.\eh* M,FeêE"Pfy ^oD8\D %e M/@zBhpU} !\a?a857!N(I}:COܪ#ӌ(;/-j- }Qڤ1˚YR8\i_զA_r44yf{T_bgBMW|-: ?޽;.or2Da'xHY~z#R35syGpJ؁OT3+B4Λ7u#mA 6OKPȧW0޶YS=\9ep'sTV OśCϐ7uV!-gx9caB5ĺ; Vhaå{ 548QԖjE2} %fu^^}>XVKQe*:zk8 XzgAf0`^yr8 QjoQې8V!}Gsކ_<MWw_Ghjݫ2VQf#DǏgJmY>β&Mh[rU9"^b$N=mGUK l"W74bQIX zqgRrigdPEEDqjB^nh=("rK_ø`fcMY,UF`c 0Q,[>O5'VUxBr2+9hZ|M8HVr;ʔ] CGKX}9+ֽ,>ɓS f 1mfc(ҙE-abbh >9h:{Ӻ]̊#1Ԟh`q+EM 7w w4$bB7^͊g/(Zr10W OpED@Ï2MϚIX\i.> TG5;`{>NF<5sV|y*X. ~BnHQ@''QEL(BƑfKxK}Lx<$1Li@nDud 7DxR7Doy= ߱b3hR'M5.DG=zxVLc^Veww^ݞ*aGGkWrPVې[nbsjw8lu>eUEٛ2ޏ7-@9SLf*DY$1L#Z&DMf "O 涇4A .6PIk Yċ J׫1 ʫhXd&o"?c-@ǚ`zyӕ6y  ҫ!?& /:%ZCŵX"~xg)ep8pXd}u1C[ڤ9=nG9߅z9acIsbwwwlOWC hl.&WOq/vaxi4'X1Aބ> 1V4\ Ebl9Jಒ,j5SH!nO*q)(EF UyA8_NcIV9c _*9uф l{^g?yOKIY(u3+cE\hɵl4;~+L% 4~s{h.^7yy(<7B- Gݨ %Ch.CS.Jiwuzcvb3z0gubIttEː?|JNֲwo:.NN};R/xa]~o 'x[h'e:Q2dx=ީЪ@dW@8o>_m>/xYgf+&,g~Ҥj8̬ 2)쏇qOo:vY!kfFU1PnpQ&\;"YiTCCv M6I\?[Rm TGE@!? l3@Ⱦ%$@yoyt q}A[Ud΂,.2'$Nnoڒ9' WLDD4'-J AuE\|_m = 7i~_S39SoM={5uS MfHj> T P^oVzK=s$jr/" RS9mJ`;^A]tv3@pԬ}\G9!SqiNߥl;zϽ `)Aè-Nw=/<&…KzvO9Ҽ=1o0%@T0`!_&^'ujoX ȧLzRT{g(ee*ba*pnQIcV]Mc-'p=vr\a>3T <=;Pě1HH]A/Н/h@@9="743)ǻuGU"3l|ͩPK%,X-Ќs| UΆ >'?XG^* DTއQVE e-Y(?rx%99; xeѲ[,-J O_=7e eï6yjf~B30 P(^FlVZ,GJ0*{4K%3KtϏCU2@[v :5ى.V=1;'\lwrZWT?׺ʧe(=U$CR1{hXMޞ\| q>PߟQ"Q&â|_2tX:Q 2P^1YEU뛴 ~.Ge,!v3'V=44Ptv5`+*wۻq?_p4=B ;r@ۏWB>[["센mw*N#d3g_lYd  ;<"?lV)Vx*g1o̢WůpGgl8ԕ+}4|~j[2F^3}.p: ô1|&h{ ms Yx'ڐԀ#Lf^soN+^0!<_3z5L44?VV9 Ȏ? x#2dy~GA_su4UEb#ɢK𢧜*eX% 鵇z,:zF;hD XE-r.E~<˧͢rrrB^P=IѤaƳ%ZΥ؅?d!89(s?+רID_X 4 چoͶfMKxXBuu!\fBpKDSR/ϔQZhy r'"Elteb8*`ҙB'1q.CZl?|=dh~G-v[%"N&؊,k/ ,5Q>.`~S/ ^\۷?oP t5"8BQ.'+Mu&7ټ@zHPDZ|@9"o4j~}yEЍ8@,!#S^qF'cVnCk$FK1 oبm[[=ވۙEcOU)x3F4xK%D OT4Uw^1DO,9#xZ,ҌHfTeVXeNYPBJBYUWMy֋ŋ]\q戠Ap R#g/Vx,U:Fsvo?8ζhϹ8HSU1MtwVa`d /6}Nb ZP2)$WL|q5: ȯjFV2+/v~Y8pp{Jɐ1(A)y!?x5ZHO`L DаDu5OYPΟOU qhuMN#T7c #t|D ٲs<9=xhAN dOc9TKZ!hYIʫde˶ۺ›A sFh:%HL^{s3j͈$M@&B(o΋wnJ9QPmzژBzihd2 9Ơ;y!ѺP" 듿!P} $HCl[okuv#G2*[je|ހr*hshhso.lk'pY(ANw`ڨ̎mʉFM)KF BjD4Y)2Jn&)SC,ǫV`PIl Rs˰͠WQښ{.-{ # ;SŌJ#JK.r`rR5Mxbq(I~ܗ<,-%=3Ty^&)^ĊX|؍Sp8i@$f`W]$>H!s]Ua#5Կs!Dt+` n-u%L췏0v& R.b6uY+C{scnQUc㓄yԻgΐK K׻ >`ɦͤ5h#Y%C ]yzS2Y%DPLC^Tecr˒qZJn,|` 0*& .`NC^*ca ABVPU NCd ӁZJ%$Bu%nܢ)q 1bhWmy$:a5pQ!Cb%Y6|q"N0Olߒ=% Ĝ|3\1 hʇ8SyqTPihR`hlմEŲc1yGM^20Oe@3~<=sw埧/-r&L5;ŁtఠDT%ƞ*Aqy;>|{$zBUzRۚ&bD_UH`| ;L]J_0v-sדjcbJ_8 Z+`^Qύ8Pp,^w*)u ҷ P ˀtw 5H3@@W^po,`,dG{ yKc)~LN^ 0NF!rJQ`'uKk(`0 b$?W{ISͬRzOzmI%ͷpMmT ƧĴ>pX.j&7Z(CTVS ̂"GK)͍~0e%xl4J_ȯ3Zqf(h#ĬF{̾M9#KC0*~EkIg 2}:=8ΣRT"/p7y)T7?H *ƋY\UAbԩ_鲽*0+y9cui<m-,TkP^@BxL> wZ1f$4_yhI'WYZ^CjA˷QZݔ^KʋU.GHp榠o&*m7q\eSI4sySDȽx G$hw<\s:C*mQT44Ms5OD (pyTнr+}a Y4/*]Ajѡc&ECbOt%Xp¿ F)?>b0u=+0Np>ęgH!U ӯ0mVd1mSuE[ 8&"xbTcL@L.Am'4}~2gT:~d#ٹBRԮO˶y]1\'O\_LZ} R5&d]P4Qul;S٤_WnDP߬FSQ]?&h3R@ Ef 2`cnìZӕct3RiEVbE_Eۧ0&`s~9 F,T]6Ap֤Kû-wzc-Z^RӥZԌKá(: s>,HL'ECy!z *A %eZ¶CT|aEŲfn}(M zg2n1f [[4=@Mg˿0pk٬&w8;xԷJLǗ)ZY0.ZP[7PUC!5SfjL{`Fȕ(W0ǸLcsd>}~ܙOstijAOzshȊadj"~̈́\$X'ҲjAuW)p}TP2rx>υ';cG6+p^5l^W$obrg:y [{V_lq z}.ҏd D} ݚds\\Q<`k/|CRw/⻕qQ]qcE}3iǹ⑑U\r5i͠/OKG.zrO0Wm'.@|ON5,K{u_EōY.i%YmDaT1NE3f+(wW&EѫlvL\3bӪyvl*.֟[VCՌ(pǗc$mo]S]j lAԐaF X>QbhebiUekyoUy hCH0HWj^zo5b^ 'LMakqrO0NtD`O Z>t؄g6/H/[\d4 JҪ w x>?;E;ڒܻQ>x6.HzqB J.&=/׵ ܖѡU PFN&Р|6o )uRj|YCw_:h3drvN[3 1%~i7whgR1HijFY  w ~paQ5J;۹ڦ KW|Y5cAn/Iݒt5TdGv> 5AE Lt Y­TgYk/?nR_1{ N^BXNx.BO~g3-fԗnۯnH`&m9j{! US cMl>IŃE, +Yr8SFQd+!GOm"]:hVW5\UҥMm1bĂ*] YK^> +g7-őп}KqPXZ=9srHrq Q>94hP\rAn*9J8~)C%t9>))).e4/%.n vp_[jNhB 9 wzdA~szGʩcsn]UǨ ț? ptӒkk]&m*}Jv'frgUڥ_x{lEO)9g7~Їj S<͟d#154[ 7w .rӄi#(5]SuW͖ k:X|][a>)7=J)6Wu;m2¦$y;O1idvU+3?OvM*rĻQRMo$\L vL@ѱvi#7 dSeh¨w!]mؤN/=*UnP_B/Jg  hݥZ\lzOTR:1dK6wwHMtfqfΘ?%+aQ:x:&&L\u~^ۤ6ta3tTO?~Y)^:<MJϬŐt媳4/`{Qhs;>? ܒ |N}HtG &nWVܪLL}6u=Hʝ@k^'0'ט-(1_Uֈ,oZ@ۨnIt 2X\Ocs+B/d[@SOY`Kr_͓E-; +SS?=/o]h]/rB- OrȞVtWas֘SjF-7f+ ڊ)ju$]R^rl Y1`9=-ܮq8Bӕ=yk5JˠGzhv˜hP}e0IKjyu}+߅X0Ó>crQ1c-'J3OteR$*R#sxcک{ fG/D70UtVptwf⢞԰jKVleҪ 1/]W<{?.X/h)&a@vŖPJWpX66] l8SVΔ[u(;nJ7LU4t+S.9aDO@_B}n_ ?lv|rCpM7L<0>rERї<]?U9wd`jɻf}n} Ѥȇo?>`h -UcFs+sj>y?ɷZTmw鞜ռF}[ڣ-X6QI"?t萺ͽ;6F+T0j#WJF:܋a*P:Q\8jr/9wEKΠѠsʪڂ MeŦ Ȇ^=& 7QޤF)HwnsSNؕu ޑh$Ud0jLj_R~&x9W/ a>h=DdUY)A+V+rY JeݎwS`nJp.r>3=XMf3^-&Ʌc Ꜥd,/ߘn͋5/vdyW\MA -4M]X؊۵/>;8B?a:*Y% OnEp(<NJNEH:mR{ lAz~v\nX@Ԧ%x\=LfEy9qX#:x~&bJf7*;psuy؎%Ӗr'vd!`\$㸏Dnv3[z P;c_H8Ȃ\5L- e;#\ %C"q 0tFAhx&W>=Lzm֬"o=7\̞ntj.3аMiNCgi!Nށ:wo Sϣ/RrD:k3E#P8m 3kXk.n0Ĵ3St*}tQP'O*`kaeylܸ1)iAtxspΓE0z\$qX?F,,* 2$WM2.xeȣ3gA)ѭGR[?bÙD4$7`r >Ye!B,j\M#Z[n㛟ƓℷlA!Xj B>vHp f[P"l?Ɏ6Xmx*ls7:&=\mxU0 P(n&ITf,E_xs=O'61Cš*3sɍ_yIj O; CF fe<>s˃w'O f8H\71#nD/rqpb[ƃ x %,. <0GHYz-2*9ƀ(Os;z`kku 7_'o3Q2WK''Fyih0 CUME!Ip_ (IV0 g0k8L! SiR%BlC OMKaNzĠjܙkr uc7ȓMW94aڕr nPTʖoL,}n^t2@FazW#qV{GkKD%G,a-qN06 {?@44*Q.  a *ŷ{B#j*/pgz(8Hoqxg!?c2(N_6~Z[0o T!Ϋ쪾(NmX.ưYzeyEsZ'tQ,[hV\yE`vTZieHT / G]ZPjlE3x[&7:7Ũ7P4ʃw]=" jܷݝ*o X9ʦZR"1*\|lA{䰵+ ~ZFne\=-`l}#hSE ZK8񵈧! Jpnյ.92,ߌq5)3Žiކe(YGBasBP I ůuS$W4ܣ E[ h8پ=Gj2Fie 5ߎq~zMgئ85"J+{Oځi6gQ')O FQi<]n E%rG,rLGV1yMEDrw.48r/,wquXFb{xeø*Zmbhftv;]' f10G+̯?Pd]F:eLѷA(>orure@ #Mb QRE!׸[JDz7ZF\R qi=5Q192b+JDׇø5H-:K\9]WO*[7<]y?؏sܹ-D$ddGd-| rj ܘ6:8tZZfGm9D,G F:Ëij:]UPH'w4!Xe*͚GIj2=uY`[ ^*N ;UDEi}3ib8Pp=2I[&bh-H6AOz]vUKXoʬLZQ ʘ\26b#]umh+GC4ia`Z {U0,Gw@ds1O`*X5m^+I0eW#)g8m֨g55$p#G\ "d*Xd$Qa&/۶Mֳ[zC] op91S@P*iu +qBSO gN*NU ²@x0.-ZzX&ӉUYaBp Ebaﮧ4+ȯ@V,a(H|ρr%29P, a4XVLٲF|V D y3,gMvtJW VE(YPŲŎD]4T,սM̑-!cYdķINK^8-ĹJdb8)U"4s` oVC ߼T8"7V{!Hl%ڎ~f:hr"{ꚧn JԱ&Xek#}w+@mtC\ Nj5jt6Cv}zm\.)mH}F-58Pw*,+N*`I.oE>MHx+ {+’{˸1D$nJq!MT8D:#Բ~#AarTշl>pX>6幜 4o1yֈetz,OXJ2.]bFG Urnc kɪPIwRI+mс@7CEznmpIױ1)O綵>cuRq&|].41Hv,=EuZEqDmтad Cb}& ϧ?``(-J~y@^nqQiY%tpK|jM(ˠwb'qjQĴ,JkE>kx 4lIyp {<죍p`P$H&wQHq4,cӲ7x5 WN=Qnd.18 L/e>VQPd&5˫ ?]Ǭi jV`<0@-eL ^J,DQJE6$0mZOeiꗤ*z"q(ff(ܒhT{X3_=Sw~h} =F**bF0$YE8jnLմSQa]qQن> #6>ncv_ B3*ڊ$}t2Zc ][#2dXDX.Du8b<u@NNo6sKHhyHՈB\'m"KCx`jQ%7zJW]X zX~+^QXKS֔/Z4ţϋ{8O<`ypt&~C Tխ`jX,1]{? VP?5!X =gf2Ԑ0HfׄŃj?UV4 =6(lV][`bʦ/}M,r/dX*&_8W:D]U6C-9;k/11uȊl:Ke՟"Kf)&CQ#r(DiU@,UEeѶ~j';@.rCz"ljC BVU;F>g;l ΈLt,eNE`jn]vPd NXOKk"FFԸ*H O юW-J%0~+jf=WT&c_}:2jH욼S5/x9!~Oܰ䢬ۭ ̭S.Pic"&bVgABҳ&~3E7h5W8wu4l* dYI5yތ[ܩ07[ y;#Xs %S3XB}=٠CE3[f|ZbeݘZΪE9TQIWХPHt|@>/al|6~jd- ^K|$.$,'mոPt̳)Ҫ*ϐ50U7#Ob47M^4 ֺmْ#^v,2cpE)HHKA}!C)r9}?N fxeu[ה*U͒+<˿|r:P- b0)ܸ"Gk:(rkuod& .ق٪hJ F˹Twoh27.PY1* eE]n3Nh(}mL+b~ܠ%a] 2׏zOFQU-rT J9bW(]" .˫c>_tTYǬS+AO˖RXt#EM/#KsF ܮq=56nT/# IX(PH`nNnsL'آ#0 ;"EʈJQz-@CoV 邔l Nx.|k2u]빏eGd ՛#Lˢ yjs>ĘyT!8FUי)trbkK0I|Q062TQӏb3T&u^#:FP(uKJȌF\:~]4GV'DgY\BeMW,2f~:1߸͜RSc 8˶啪*RZWMBޡΪ^#W2dj'R/MZF EiH o F^wRB]2RM"-hAߍ^uMx<@YrA!"ww#Zl%ז׹h2D:>͢jxJ qu"zZ /~>t#6 _H}=Aa*PF1q@EL jBuo0w 1˱,x/HeYg`R Bҽ޹f,z =j^M C}"b dNH=77"5Dz23_ӥ}Eˢxnq5rQ6\dPάqSM'qr ɬR´_ ]ڳj rxy?)H4׫okN 93lԒ>oV":mٲs7+pn Ga8BF<6˙pu\4] \D2_b _l%nh2|%- u+Vʠܢjt$uYlOJ5 :#W㯛{QwGM U`^ш=+BM 6-TKj ®H̜-a샙D"Eoݣ*_T"7P ֫{? %;?8 y㤑%*4(5Vf0>@I:5x3FK'eԎxpkN*V>|&WmQ]*c2ǴZ2 ;1}bE <fPuȥyZ7?OѢݲMw`L:sbIow, X^V$u8a)#k7#-ZR7Gmƫ4B 8K%gsSD8jJ_O)tAf=<>E zlqs՞ 7+i== `lʵFJ['+#Ӵr+9N7-CXٞC=e&)kF6YYE"J3QY='!09F3 bmn:Z;FdH_hM[:a|;0$v٭mg5@H}V{2̻ݢŚb6 OR:D^hr_Jl2zp?aAvkò!eEZc>::nԚo@rzK\cͭ 2;%1) >![FalFJYVp G)KQqZM]y+]f]go 2lte#}0\1q`Xs3 6b}~8\[,c T?uT^OD{(r5[sʯՇ@V[p7.2n7xpRyNl{88 _(%);Apz&&vuzlRESҁ]gZ0Hč%߳N3EQgP[%([x+0 dK [zR p\o=Rf?1v}H"F R(յq*:"9nXIf c/T Ul$'U܂lD)1kd@H6QʟxFQ5U\83k%M$ʿV5Y!甭BZ@4!<@UU2pWz>/t7!rik5Ev~Q'Vb˶dcWB`Da\;A$9+ m?l'?7~g02 ߰=b# 0+ 14(mk2Ϝ^~ȁ)Ϯ![J]IFݰbdEK,8u2=18!,zw?|8#w!A K[%tVp6f5c{X-79e5'PGX%6‡#Xpxcj|t#- wl: ܧuM_Ӫ iOK=MĊ!~jkKuUi鸈/!xU?`3Ӡ8PRF7Ɉ;tdWLBAF*82rBJ#:)< nT hFNr!i=ʸxPLQ)# teo  ,m0Jv^vdc@>sKF4⺳셋(,/q_$!Dwrs.,._NmD,|o;~蝯֑~MMY)+d.WoDTI sj1@I}xzEbjd )ģb䍓:Y'lO=\6ChXZ8%\EhwfP[`ܬuӓp,jI86u2Pdvӕ)~5*,f$)cHvxɷ[<P2V6]fh0'nnJ5pbƉE<- rů9k#2VMm"=Jʨ`7k|VmYL1>!O۽טjw&}v}_WmH) Iǖm>Ր^pg&WbCp"+: Zv>}9phoJ%- \KKT H[ٷav^fy 봁KۂH[MT|t`VNE=A~򪅒mzh?$hg* Wrf8s7-eMbE]ۢpxU`8Q5ۤ.!)rQG8pE7rDAL۔Y%ۂ*qE^] §f'lX^]+,um2srק!QT^be+ou3FsPT Oym~e 5&/hWuTfta Vs7l1:}P Ɲ1@ [4-r%T_H8?oR=lʀv]G]e a h s^$[y($K&YQqf7vts79qWk?Wh}3 ppY07; -^g0cpXa+?,y=SCwD>6 uYiFoe<>S寲*֠8pp\$Tc ӫwQƸ0R~[s}4BcsNSBad3+!n +>⢈ªlH2 _0VbLlrQ] 78%w㚣S(oW(1`Ctu;+#+!x.pd CʮanZ+r%cpXh! 'GB bRMlEu3Er@Mp yLh2if;-KYԙ@ՇĚU[i޹X82x f9Sx3s~eskX,c@f}l=W[T[!ןV?x?3cD2[3F3Jd솼,D\G'_?E4NH󱦖쨰~ h3}v&T5:mgW߻0$%s:Cp0/¤jp^%Wm'MW#ثfdf%֧rW_W}g#X/rSnڬ_jh]`>aʾ v,G4N4+'B,lwT?FǸJ(-Y@{GpGa"ʄu]f\G(Ye@^Q5*\YnxL]auHRRu"DE3i w[ޫk/DI>y乮yjl`c!ٳ]Z\ CJ m|;L T cL<#F^hZn),XJDrfJ^g {K{:>O8{d3=lz;~I]j)Ьt4OeG|02C{Wr!mj妥.VZ*g}l|7>¿g_zDVQSK˷Q~vVnIU"nq{ lZq̠" D\.uGYNoa+e j8O @gJ.mר+x%5`kVqnK4K}z )i߄T43NL\Ms[1wj0/E0mۛŹ>(KD'@!g@@Ps*ʶPҕQ>V5;05\L\UѲrFxeWkbZ'z6Hxtza%Zk2<8g_ Mp2iPh+Igh"lqIpx&}%Ӝ68&;u7<8ƃ_Pi \0~@#|KЫ^J+OF(G{yёۗ ][4fXb-6Ӡ]JB#|Wb7W0ljV5HI9A.hS*7p^r@bb ˉg-aЊEt t&r yc|\`}%*61}*_c-֛a`mvG1b*vЫ-F7ODeId3[/{ =T_n+|Do r1+h"boa*Ҩ5 \>`5՚m  T2 > ÎOe'*%xUsu]VS5]ǖ͸9L1_U~J3X\姞q31/Z{ 诪N7ۯC@Et pإeP4O .Yn} _PӁ.~ϝc!.$H%L`ڱ}~ ϖ{iuy1X;js(䲽.k=|39;8 DFaM]K/ gfm3I?TuG"YVΩq)M?FeQYŮe~j`k;\$S\iweנSՐ]їm۷B.AªN8marie \4gQK&cnNx- _9PY>NVIՍQ'bv.KР0}Ei@@mt+{QK;6ϼ+=Jr*FolƼJ*1eFpM@,FT579]^8oiM7 ,7Qg"TA A}ζ H˪ijh$)r^vMVǁ᳕i}'| bV8b[.N dGιdp} H,J5GZl@F NX ?T\Grh5O䀙PQ6'7/[/ U9Q7ۧaJl;td2qFJ?2X1E3so濕W)ZY)n>x}{=ʿʿW>wT8cZw 7Ɂ\ M^ɟ3boƵy4-*/dL#}Uダ|`:[(I$w?)~|S߽EǓb-4AR9}TW~c;Ǒv";):Ճ=mH dZ߯cj״V^1(xSNz椛J/rꗣa{~G~E5QzC0 w7.d.@ G}`UfKs%SA3 骫8}`ai}l٨֊KogEM?Bҩ@ΥYfWzZU~s|]pׅ-D6v]ٛi< ^q.)~`<ښ֍vUF"u"~*oJg_ej`u5Ug/sOWI '|<_cgykYf*Ƭh[q0$M`pkP{ؾ~:fVЦ}Gr!+mz ޮ&wLj\dE,9hZ d D3|>ݭ~m]j?VT%s':}eDh[aoқa !/ WBNnEueM,NmKUyp9_mk{JEtyn}$H3=8MqwUOLA>#k{Gx mЙ[}bj  OZ^$Q};'\k$F"ײ\ ,ì|\R#u,@V!;wsvzPO8+hC?No+ι ӎjX5`sg7@q`j+)`])#|p|'e]0*r/Xژw~T  lۗGi>9J$3ers D|xB22CCnч'E]@'?췇u/3!7}6ơ ^]h,Pv ̙SVv%;鬛yqet)Jf7ʪIk|Z"D:PG҇e5͇q4jj2nʣN>jQ?>b$gc`+ssi=JS&Zra]m-:HGix|&5{ƜhʒqCp|eS ^UkE\5ju=(CHQť".vX*5s;Aw_eTJ2GF_#ɽN/nG,5Cq̹Ne}H`lma55@C{MeJxY]dZTxޞh\ *:pZ^w\gિQ5P)roU'u,J]\Q#[{d+Ba$-l ^C*4fNk&7sh!1ԐzΌoix/Z%@iu,etHǗ}z|d(Qڦݣ"hylȴU^2&B W#W,t!ۿO V։Y<0M=]wVs%n_X2J=VU ;͙CI,ZWz]ja0 t7pc$7 uRH'Z#6@ʊ"}8Ҫ݉w]]ء 2Az맖~:I~XEwl+pG*̺~tC['zdoqzQDv^9ktf?2v4nY>'rU&p N6ҦIa ɿ ׳azId%ǿ_Itʹ*z>{| a׽ߘѰ\rb`PIgF8=w SҒk.0M懇HSG뗴?oP$\}ACWUORFϭs枛u6]e8*:aB'L{@ ȝUȈrM#{_`Epҙ~$oG!4дԑԒ|޿nc37zϙ3IYY_t"{)HlGn[ӯV4w&in5?nwynv3e,z!)mrLhZe;@N埣kG~ mjnJ&;is/$׏_8]Y4H`J=y%vQfEW ;=Zmnd%Jcʀ%iʾlrɑdӛև/kIbˍ4Ks͚.-Lx Hq>ܝE_'^\` ξ;Ď&k%R]2i I@OY7DWIǃ(D;4_n:=br-) `HKLa& *eZo~x_67?sٻ4ɍ$i#%MvS$zPUh'eMdv6_\k>f1wdgm{dnI- /ܳB*ڨ(DyGuWnvtC=]:R5aCĤ])Qsh(Oq"i*[3$U&ڳHc!0au@9Bz0b@lXuNpCna=yԋLZ13!nXdot3gǏ}LYYԉ;?dep;t D&W1@Iv t|?EO#Dȭ</~*ߝٛa>v_.%_k?ɲ dfnZ_{ tՁSV;&}VG܆,H5r^,Ȭ};$Ӣ;Ssu1~6v;q9.Ě6$ Rz=J@0YaP9*&k+mɳݼN[ /T-;Jd ?g]i ;I 샚vZLe;#\ I 8zw~0DX-giFai]D7Wo㔿[jhHc5d&^tqЈ(biHW#`In]a(قܐa@n!Ee~Q}FD?me5D"Cf ӣ߱'T6@HwHI.$[!t{: 4.gAz9ZjZΗXMQύ ɷ qLR-B_S.51>dw{?euwrEd>1FTgml Y|ƊovY-jv, /A>:@yY O|o1Wқ$$'HPHba.t@az̵r= [$YSGbCGٖ?&%ْWF+eLm< 4S@ou?aS8|L:m/?,B$j0d O "t6q>F% # n4Α0-qin"T:PQ$XCw3eߝ0S-$KwɜTӸJG09_rcF~ ӑӑmrϿCޤz)ߥjMbDfwZn@&iy':C[fg2L;x81r\Oln.;Ue`\H򻛑=gļLEƏami*Q퉌~Gޫ4,$*j ,OvˑM&&aKj(VqA4*,JH)8+IL8 S7Qzj "-Jk{s˫F[\ #sdPB!!ٶ!+7Ne gvq"N8e;Y1A=L+#H ~+KfE/eqT zi`+h.[YP~e+ OWf^ d`B+KOU3n^䦔aYFaxs;b j(^@ l׀0cW[ër;+d+vAɻ)$:KJwh\o+qd)QYLr=k_9DULvjd 2$md\b~\((d`neAO}vճ<*gm\9Y^ &S?Vq7!3k6t I 6LQl;LA&jZ0ۃkXX^Fl0zMoU(u}D\ߪʤiH}Xԅ˙E6Fp0(iqr5mgdUIHYd C@;Oz v>q"^t:?pD\!zy| m7QѬ.Zab5$۠s /#p}퀠_K(ITgK3[-p15i?'JgeɱIUن5EוJ+BЧm$~|w3զ̺Ґ[vEywsxc2TZ.yt.q wsJ|ZL4-)fMKK;.G$jh4tg8f3# _J.+:mzq!ԍ?+kiD6Co̕3a` M$y)6>1L\C.>nBk[Ehm<@u~fkυ)kUN{{`Y˜ te͎'ېB"C8G3_amkO$6<گ"cy6X GqVCkh_ɒe 33=s;c§ArBa P(o4E㗹UĘd(7i0 yB>&=/A= 8 5U# i7m 2P蓂k@^EQe_J?Ʃw0ɸcْEH`wmTH5L, $u9b7_]GH鐪H?h ;A:9VY@ KGV&+e@RsVv!{|"oɉ|2y#qFe,L-陸,-١ o~V+,\>GJ#npA=\ cB%זtKz-K:;GMmrSI_WwEDvX1IIh z_B1"H]B>7ڒ#IsǠ7q7-N#=ԋX{љ5Ӿ_&c76xJsODRHɓi;zVDbqJ׷$rrOA"Gfia[ .Jh)DWydX"X OcUbM:Ȑx΋A_ ` @ ^Rafwؽ!gVǒM #\ 'VqTsQ]7/WEn.߳Zu[35q 0sgS˦ GGO~/=%̜EO9񯲭C$̶h di;-iT>BQc0f8=$85vYL >i6EXę9R In]-g zR d8LWT,JlP%{'Xxrf>ߞF? dF!`RtJ.g^͑s0I#%r8pr8gfE:„t-GnK`^@rxMư8Ihwm"rn̮WJdX6>\7jy8YM9ȑQپ]*nax{}Frx*g2IGr/Č[ϝA=UOюJ5sf{%p!J" &dCV&l͵d"\r[Fb,ɤd&Zqv☽(A7挣%^,1ϣu@ynX9܄_ʑ9Qq&{ Sg6Pn/?0 ji+Oa 3|;O5DPm0Ʉj1 Rk416 lB'K|Kwe4" 2T{{#:U/-\3Tu *DRФ!&ȩnh~xU~醙v#:gϚqj2y [ qo7FAX#7"Ak%8QUfE>7ӧQsG\H||.a 7=iRJOlڡX7`%]޶QRpK`%F32擑>|H_.apfӳ=(bi;D{*:rK\D>ns-Tc~p=W:h`@y7HܻW;OvVL5[1fZcdN PYG/O TyM^:TB Oqу -j;YfTy_0e9EO_o(Қ܌KK c>) d6p| TgPR@-s:{[LC\Ny?Ye|=[pm] |^ JQFr^s6-s}dlmeVpOޯL5FFMɔx' lL1DyY8KurEQh#"&!ԻM*c! F/,)YTO0J}]E&g` k۷^ ADz& o'A| ̟9J&"A҂9";ܒg$y! 78s9_úWěxym2}3 :nIDWE^}c!Y=?]ȇg˰C[wٞMtMq]Hg,^ ƮխV1esnZr ܑw 1d~\`بݕd$:$j*R e9Q#C oieN}na5mO,*th$5i\e#.6?Bď9A!␊[ oH:I0汀Cwz?>NrM l\ [lvsuY-1WKepQhx/ k>r2 3;vLã#Ig۱E69u>+q1J(DԇamBxǵ"833}rw?*._7? x<,? &Rǘ7vyy4MBLgG8-5ۣh[Nx# JɐbO[@BIn`rܹɠrL뤊3N1E,; Q@ƒK9:$n6[ղ#2 H \᎗?Cw2C3QdU@q Uw3X3, Bk>ݜ_A O}{$>|zԨK~dBf^Yzn疨k~"*WW!&uSeZ3"f&_g%g=ys<̹̏ ~\r]^Q H z86ů$^ovaEIH]6ă\=D6± A@ѵK`99gfތP5x¥avq(Q3kFH>&^+DDQݙZa |h`N YxE_X&LQ 1~}^]UK0Jic؃ݓQDLmתC4iMJb2Hh),GӴdq;VsjFy$ro9 5YYʲ}\)n봄1ihs(;;gę\9Ϝt;qUJnyq?G8D a.&h[WQдJ hO]q@qY˥0J0b\ A&j-0z?*Gz>@+sF@y0~BKWJ v$_vBZk^\]?,[ .!G-Ÿ;NcXtkŞ5.]4 3/llFj֜ E_mo $"]3wLffNPiUi;qmaC/ItOV&/3]\mFZ उ?h;n^UѬL[!gdrV8iW٫e3$zeh!ΰ;Tg?Hf̐*ug`LC˾OyLbYTsAё͏[OaʼnH ʗJх $;w&HԤ5iUT̜#=~ f[r!q]N J6 9Q5kFum'qMk#hS\mTEX8j&,$}j[qB]BSQ郄g1taы-w^_BjZym_P0FFt9a85֖2˩"4xC"4psc>eW0 Co|/2Q: XgÑc." BNL\]){¡h)oNpg%U:,舯KʘXՔ# " ˸s8@t C&6I7C[jT㵆1mQY; ZNh:KDP]uiV(,-+G4cnmt$@I_.ÍAK.ijsbF7R }o[Xu$6E=a\_DWp2t I k ͐li ִWgF9!mGrWЮQ^f0": 7#H(PA-P#鄪VJSeADMcb-K9ۜHj}L'L ?aXXT`Ginٛ(Sk`crH:V՘ $g+?Y`l8y,Q[NpL}ᶉFpira|SJEHJ_ dPC%gSi簀Zv I@H2wx6(Ѣe!wz~hG\R 9NlD{rňF]5#œiD|NiKZ!/ʸeWB(F].ӲEj2vM3OilH6?nLJa?@37ǜ3A2ȟ=PoLs #1ĿndѢ˖=X 铎Wzq8/zDy} (%S(J|G5GI2yP} >_WݦӜ2i?8R{xcyTKBl?}0 acx+JX,?23dI7a8{iwrW;=< -!;ZPUf6l ӧڗ0S)j'ar ?4ҨN5I~?'7õ'fμY wMݢAY;#]6Q[Qx#]W rI|Y=i8׶gTPjl2A'"ʃ{Id e@ڧ`Rj@O䫬B6 ,}Xʶ%Bdtk%ɩ4\{2#85EzV }('GT C2a OZ2ZaAy93sKO$DF?fb}:aD^30[ԴvVXF@R4#= >R7 _5pH5|.~O'G_NeN'pNZDEm dlie|?5hO^6bZy`?\#-v[,^t3g<w*$^{Q$>֮pdߓܲ)'mZ?O떣L,#D}.=PKnxLIL{dʟ/zA_ɫbgx, @JGUˀC}( 5{d4q-s+1%֩+ɳ|J. (h*ܪa("e4w>{ty5LӂIQst:t"CT?\*oL"GwӰ;{7FM56慮G=pg ;%]}YHư{x/<]O:y/zl#).g(gE 'n+@_SX#Qz|t^ѲFҵmq˺lČ!?{`GnԤw}viݿދ;ȡq;\.qO F͐w#2l]15U'#8 Ho??(]YIL W9YFq>5Gofky[ȳνXm(a{`=wAjs/7:"ON+M8S7L&[1“ۖU@<i()o!pmr7 c& KěFQ9T=+^n p)WEo8 D=g+`W=|&K+Nrӡ >'PDɢˆF_O$-E/UI#c$#řipcg;[:\>f|pi=eMVŸ9V&~z0K2ϻAβw=`Gw*IźPv<"X=(ċՒu=(/eU^#b )C=;Er8,5kN@n"@.W3i@}5 !R}I(A5FHL }y?}~jԽa/g#1iC6<0/"E!HϝLl,''&CBw{aM [E ߾nJű_'M\ܻi?|4̭L?ۉ_ ↉ջi$~xW{bn8rpOПs$ɿn C^;ݹHGFHδpZ[/Ubah ip5 fBOLB׈qUh-d[YƸú8 ?0 fMԤUkSUcf2D8bGUJVɈ@, I#;X3)PX>^n0+iw.RuL\ĽJ *_XH(4FwS4zGnB$vth'y=3vfH‚*g+f%jQo֫C9ciP@fi^@ȣGYYYtr 0)ScȤӺ"8)D,X(i!c-t 6u~J,! ~x~4X6;n֮6gQΘ v sB2Pܢ\rCW,eYcp6 Lxa8&j?̲q@&<@ 9#/[2aر2aGM[yL[Df87~!jCG7>_wG s "v9!w)&3|dd{C><'# d _jR4y83Rċ]W48H)[PvJpf'l[QJԳ^pU%N]*c;ϿA@Wvynτ8bViabd' wee,/<&n<.w҈\ɮ<'R# 9f_%-u\ֵahT#wsw^~mMD"ar wo~\Q" 5×N;ɗ0@z3!zEanGdw2e4 k}SUB.I>em˙v.fus\&B`8Da~ PU/[R$ h IV?/dz,k2hg1*s#i;݁ !M$;u]j >I%f#'<][!JOi_E@"WX2p7ʍ%#wieI;I?5S/#;[ |ou+}jQan9ĝj]*'`ks+5-β2=V LO@E. a2D6O53gqˍł #c4/zDuc9;7#2`΍HT  sD߻tEv'OSe ĩ%mj'o\,lrɞRrʳ+f0T_nrA1B[O8O֊b$8gZJa!@vogƓ:x.Sv-KـT/\C.QQhFIEF MY_v8a_N|av.]15Wb+ޮ-a\d#O75MnCd#)0i$05,nh]gE{v̩0R7o=K7r.gV6'z| ۞{7s=0Լ0dVEqw"J!f8A+*D5.BuqH4n@ U-VauJ0ʆ) Bۧ "_ OIcssG7qJK&UUUQE;%0MN' MT\'àfk" 8n,%gr[̭1[a뉝)n]!JY2nޜ&0wXdHdPP87Td QjwX p.boRn8x216On۲c#'?;2W,@={: R%~Z;-9J ooxJ-ea[(3}IF8~Fv?#IZJzl^;بPhW]ʾso{O 3F _r vċjȜd$KȠ$ C4>??N+Ct_M!c0rC&3HY}me}<ܼ& {T8oר{' BW Gl+b4V{Y ˑwӝkPʓH=o HHy@f77ka).ԇ| i2~w҆W2/%c,@ #,= pt^`I#B1;>&($U;o^ f2nqyu8Y=&`nrj nǃkx?/.( Fi_Wco;,+TKެίZ)5DΝ\J Npڴ #-6l2ajh|9^8# S\6on?ޅlc7YA  L]v^ B!Y'  HOxh!ch4Z8Ig}|5$TWzz'(x8an'Xrξ3ۜSZ_11j;¾ة{ӟO{`sC~IKPNq ykîz,y2,=Ղ\lɢS$ξw*FU7<0~FN"ޟd߻`8(RӉA.d3E[!}4B嗮 E7#BFm]wg@ל%9COZ5y*IUT4h<7\f+f{sL?1!҈>tOjZ9`C(l[/؝b 9˳MhkykVvE47dS 3C =#y Oۇ}2;SР[>zyD5U,H2+)L]u85 Пvy)5\Vwb a&O'l*VWE)&˰6X p5#@@m.cJ .Q\6\ۑ ؖ/J^#Mwo[\jHm\ myeBG\l9"ѮZɳU H !=yK`oY/WnfWt)2Ew0;ՙ}AQU]zDBߠ.e- Ta鮰_dpU Rֆ r$`/Gۥͯe _W5 /|> 0w~[۲HY[9aJ7D r9\tĿ ["^g{­>Hzjѳ6#M1FC3Xi?+6#dS3XN)11e`t8vr[>eD fhPu$yoߴPnBr%.6؝ PaknrWLSKwWg 3,^|raaH QpPw]Nd>w}& z0 ik@7?j\SYُ1ax9F6*> d+ =a"&kFBD8Q L>K0D Ҕ2HRu# T%Lv}jvˋ\/.+W9t2 @-kk]Šo"^@nĘH<,#3l'? `co9 D >Ki=q)\^~X'YXG>vu#Fddv?nuugNTLf|&6(ֿ`j(Obz &{܎_C9}NBIa5zI^aHNq_WlT$/wY"|nyŸdf oôK:Or 4!T#/\QÉfѿ; Yglrr1~KVE0p׌ӗe.tכ'td`g4Y]rX ~a>%_OwkÊLyjd{cpanbf^^&R|rddIlGww,*@zѥ4. u]zHО׺j[<;y`Fi7u{r |PR&saAî:qZڋmE%.L,nI8Zh]95#<ndx=JHw&R hzg Nacv{aB`8V Uȗ S9wxKB'6ǫ$喼0lᩇ`?eY 2x 6K:w(%wz@._D{!xl ۢ6kzN!<_%u)ǎE"gp`YOfiKD. Txr˺؍Z`P|%+:UE 5I7.ٲϰ,G9ҪmёJ0FA{|۲x/VgiV;b0*,yt8{%7$MoN(f~pfw3$(}tF8#ЉX!3}F2"{}ʼj03( 378j 8nJU]bkm' s]bofxO~D矨xLQӉRnԌՂBʉGlD(gmlYѰ2H-'݁|(#k@WsE%y)8p>۾xGJ6&j{]tWyYDE@/*yA?Hx1-㥉BQPX4Q7`kmwZsԖ첆so0>`&ѧM%T_EBhrGT>u:(w@U?DGO4_92(dȑBA7VIVdNRӠrt &ڼPg%Qot:1*# h3iBNaDms8: JpiȍV`ԥmh 찃dE՛Mܲ`)y?;)G.߇+":ojӭH[ZH0(?~:p-iУ)aIK!;Q)5ي좦"]̀CFRpxC6;~+V/ Q чaׯ&Z%iьyg"2/a؄CLt iaBOqwOe8( _{;v+ꀷyU#'nѷV{rm [:H\eG=p nIzz8h,*J21rbZǂፖ+/8q$3.dGsSGklF;n;9nT;(3;˻gyh/2Bи;D>⠬O\ˉWoͫOdkg&ܥ[L Y_^dx Ciފt^ m.Lw[KF.Z`nC,\7Ïz & nō-~x]Y@PjȽB{V-Gނ~$7~lW;-z- 4h"ͻf31]ٷBl97W)<ۖͻa%WVfvݵ҆>W "Ϣ+z _ki]/Xo8m~Ju}t,5^Y>xo#jGD>,xXBݷ>LW^)CDx5(W뇿X}q;0Ї0J̵h$SPB+R q-Y>X &Jm.֢@;xlz.J'ށ |x/j /l9_,hznN^{'P5OE~KwʤLJLHl$Hh^JJUNw$F#]4bH?&\6D8n6/m}Z ;݊A u=6`ؗeC?")}IIiSzffxIԋܼsۂ˲_-hyRPjgStbz]H&d[W>@aĝ*t}fr96D,ƻ C 3qLK͊Xtx*7WҖg7XzzTF,?FVn(s~CWt c%tV/ψ27HoٖK;`v!CI_+o~ G*Ek5.]_-!;1~,)I:~.?"YNîd,Uf[ƋR8¯\+=?PUtڵIpu]ѦWVZOѲt5gajШ3ۛe)|jHu|"*8=*0CZD+_NqJ MpMY 䎬iDs1ƛ8-a]D{9%}+B/귗jsoGc? D!EdtMbU< @FǫV%ûZdݸ+_Uj74']}fݻF J`U_׎*h5su =&1W/-}R:b X P溟o?[*\u覭ϳzʺv3VɌݖ қ_~e-r";=Q0TSo3=DBiO=3[Ȁ 7́G&{Cܴ癜H +Aa9֐;Hܨi/qE7 ioBͅԶl릖3q ԟο<.b W68-:x2J= r,^TI/hk˚5iv<Ͼ&C=rRU^c@e=MWj^ew+4$oWxteV쪴n%cmT1Oqd wLDC !}!zqH83!s8]YLLtA;+ j@t ! _md2 % eo=Ĩ\Xy!f<"9%./J@X6{Hqyȩ)B8p$Vݎn[kQ꒒)7׭37;0}9rJZ9]G{kV-o9g%7x^+l[(Ïi?GAAa=4%9;]D `ꡗzqΏ1VNgk2Ob8*<Ր"TA߹[W@eHT;&yTN?A۟ %כ\՘^"4B3sytyx pm2#h*g&/W嶹eA+Hrt=`@"_\s7f&vF*mX%Ӳ*FX;o}pM!U1 xwjnǽ'>]8 Iwa8vLl6T@]2 uVgDtw?+s6k}_D5?p`tRS ~낝љ= iGDt~*AtT:GQqƕEe%F4W+EoV,J@S蛷^>+ !6qm 8 -D-3w}$H+בi4ws%(e! h63뷋p&BDI BmQYM&+"̉t~=#T}W/x']HBM`G3luWQ `B9TeK@%MRayFg*TY+ D"b{x*SYuxBx0Kq/[T1.P |ښVd|ןrh24MQkW~C{`7эb.٘}[o+~[ܐQaOnJRKZyLr{ܱ9c& =VUU-ρtK<:샑uUj: !|O\l/3 lETWpw pZuyLM1SPV3#W X^{<:#y1F 8,yJ'`$`تǷ'_WCWT&xHA5f~MtwLn:kyAKe{&3 "wH‘W)LDm~`O#?g-".ĦVFC0 jĭqVSe޳lkwXRQ3o^BGґnek{ .1jXO&+N\Oxol=<if"\欳oϫ^=%GIqޮjD31F߸ zӞ4nr^NjDN(@8ÔӉVDԔQ.<ߦ+yDä"E%Rߢb[W6D19h4cհ)J@Ozϰd i =<4<]5,x&v!Wr\uN ͍^#RDC)"i{0(6'2%YD#1wPY[-S??Ȱl(rZc3+HcuӱX!1~{-HziE1Q{ KNG`^UpbjR( Üϕ.Yn^ p5`j%ۢ.f <1}F3P=We@tnwv*.`մ ;'n8CVkO%ťja<^'ez%wKUE@3E ׷WX0xuq­X"Ԉ&g/全G>Q1Ú1QE[&*|xmVg.\E!<-cuX`{{uBCt >VVUSCvKS ꌁǂ(%vvE}q[(88yAh g7SV[f4ظ8ԳvA97nBW)u=$ޣ*v Wjr}*.]42=@c_, =9 dKqڟ襠lsATJp-vusz3޴Q-:R/ThfP+;;pީ(0ܴ-s1-; (A*K=ֲ@dмG5NCt?xx[do>a*X2W R1E?;Cyy; #Uc~Ћk[w zp _sT;tE=ŹN;tJuƂaD;+kmv\з-bhQ 49q6_`$U+/ZK-nI*?p81{1ݦ/=ZQ$y Ir.w] ^RF5y4~pWBE2Y"u|gzSJhFji9hȮh5t qd8ON$NIP\_Ph*i~%[G* =2v{DA&6Pˍ_Nȵݠzm{w{LG_4p. >Ј 2}CI]#v;VBisG`|m܃]X/ +pі~I%_#U#"vKn8 ˰sk2ރTPG55*a^,8 Gg`DN>+p27?wF%#IWm$"7pK.e˨pR.GU^pǴ2g]>ɴ4`ZKX/^+D 2 ȔWY1]H7KP)QrJi$6!R)5poH@F#jUyLR}{D/_@mpӫ5֗ϻ.Dt:{n}cB@QF+%)W7HӞiCkSӊKS0s_Oi Way/d*/L"GSKEo;KN3b!\_E `@]ReePis6L ?w@Zʰ25[ͭ쨹Iu唊KI̓f2yŅT?֊% "4bǥ&Nӹѯ:xHb?Y¯SWs5BAWuYTyâwHkF3Jӱd{Nj&9=;le1~ z{8}&ˋ wDVs/3+*TXDBTYԗrE0&N/ o<}Z z}R=4|C>Sѐwi;:kb6;kf °TszX80 e 2UoQ>og ŎU'D*v9ʅ  (|M43zUF6_ffH "=«AP͑vH`K!Baдyd S6)v>&PWR"]r-,嘦KV_o<k@`N:*CHI"ȕma/KwB" U逳|s2霽lܨlT5v[mNZ){b_c^G~Hp5K рR(͎AwӜxE?S&jkR(z< חFZgPZ O>|\(D]MJ[DD-#R 4Jl4@$D&B&lS5rؗKTO%"ҢJF(qjV #7#!E|FHW=鑫LfYi:e߬BzI(ffJjf0ZvoV_$ Dk*@ƯzsՃH9l7+2xCMHHN Z?A8~$:x^3+à8˸90j LTT<5 J$Qɗew Ҩ(80xŃy!*5#hk@yػOA׭9b7'nF<7n B3i_lyS,Z˲,Z3`-Ƨ@󑎢YiK]-pD*ݰ{yb_GҠ?~`j k#lF.oݟѾ&‰6 a]Dt(FO2-N JCkFҢ³o|2j[JöFض%句'`)_u.mœkmߍOC0SZQyrt k"{V $Rkaj4KS 11(FXdA鹫6F|wqӓ=]gKȱjViU]rCTewܷ\reo_xIð5"Oo'X8fIK*hZ5Py Xih/=pN?jZ)y^fD΍(3;Uj k;EbeD0JjI&3I~k܌z|ݯ#Z(+~st;:3UpT;WEMcefPi̧YؤtMjۺ߶/oAuRTs0IeFfDwM2lw1^ }%ꉻpB0UL֑f>Gڛw)\8[ܐ$-4‡.N{$3F-=~a'5x)^0tLG̰|޳o_8AkQ4R6%1.>džU_n=Б.4?2nra_/z?Fg-Jܥ˷,0"> W_Z~ O_8_YHR#su#p«pCl?*Qn\8w}QCf)uBzuBf&-ԎnQñ"d> ۑdΩ+[!],J 8Nfbi,0yGQ㰩s^^aNAU ޸qi> $܃0V ´vse)%kJlsEhB L,mweh2Tg^24%yx\>-ߑ? *-}9_ml>ږ0YbD=6}j_`-r[ʅ5=C:R<xx-mW.moy24xT$8q5 XHQN‹n#j#oSi2jD{(m8BLɧ$q^t!Tp N/ՃuX40j."m_-Lժf8 r[D w/|=)\D #H>k E\ZO6tKS4`wWnت%Biipm. wA2[|\60-t tf% L uHg aTW2TD`8C#6 B'/e}]zMC QUydB9 .tÒ "(B Jn k-lMe VKGa)ƥ]y%p5 u"ۍd^k>ϊw XHuI[ZOJ_ jC jKD[#i-\V =Z;εgr C ql|>g-3V`r] Y SWkL̓J8Vru8쾢bLn\j knS ;jb=]:QMS +[2/K ېFd"N:Nȫ!!~?E%EOaS0 "t8bCќz:USWt)N毮ZaѥB:܀0iz2)Vf*L("ɏtw겏`UsFq䪇`q`fDefͥiH{ͫ>fԬbFF?ƷysͪҨ¼ C#Q_yڒYHZc<ƞ5 iOnHj9U\G!`ۉq/,{PCiH{pEMH 2Gm bZgyfP=l"qwmř鿷D =>xuI% (M|>\ӷK(^0hr  ;̿^fcLF?2;MCw7nQt`w?Y4Ȏz?8+Wt at^&ڌ/B>ut?8TG*rT<7zÉޞpKL.ue2[Ohhtky.hECZ4j4 " TdVsf)d<Lj W5<Ir͢yM;R)ҊT.pL~@~U9ˋ$&f^S;,VT:wLe\ri$55z:ݨkJ@>('~v#ߠnslF;*.Fz,E Do7?^R=Q-=WE} %N’S9oU%F,l}:a\\a*V?AuG L5I*yZ~Ұ>qLS~>7[ DAxMđ ru^)ù6/0ݪY72Tfܼ8!^Q0Ua猶n6p[`$#jy.Vi`,8|mW϶4 i#qx'2;:{{FwmB8L6³tbW&VBW$vb1W[8At\n5#CJnjFn<ų$7vq~CX0IDFyМ{!*01nloigSxqHb^o!ܗ3( ޡ_x@ZO% ([F{;_x[8/RQ9%9C ǣXh\5se:5;M/>AYԿ '= ilrUHrP :^i$[ntC F~WRQV'rLL2ӱ/k˔ Vv*oDw\XM%5SZ&"Cf;ag{i]ErBїU&8%Q4j0X^>tHVDqW)v Ry":Cm>M G%_!.MpSܕS1 C˛Ri ?,q_𗗉u_2y?UW8AÿQj750Џk?,fs Jp? ~!?B"}iϨs ij<z2#@uͽVjIBG((y'+e¯?1>lE^*Zdm J.=!h}vvBDE@D06I #09CU +^R4 F9|4]!,yqoBoD|\vA4؊d1TfXj4a y%A+V82bWͷ0(_RO rѕ.˪<1${@RG |SW*-cD*Ras>-lHљaG6reBZD>Ԡ.1D4  Tl$_]p̊=l_ t,bMB; sӨJ?܆0V4LP1d.0T(K3`,Co1M,b h{ϴD^ÏӠl m>/3,`@Z>Y`.@aUjR0I{5h#+ޟ~"3+:0w(cӗ-MF?;jGs;~Ƈ/ h? ? ) >i4t$&i@!1ԓ6;-CЉumiZzIM]:fNg[8uTi1i(>]̎(,cPY&WB6Ee&gv<7DM36=츓 [ a oJZ|G}☏<5J.8;g7f34FTۙ^s eheD~Pd%<jH#Z2ZFzN+nNjd9 teډP ⁷ka?ݔ4 2k_/ Z" i[FbwS7Ç`}-KQk4AYFW\^6_2 ,SFuJVI<8e^(M)P5T oMu7:&A(z"kS@vߜqh\H[gi@mj5Fm/0q)ϖXڄ6de%0ˇR x :n/SL?ZIb4Alf ɎV${ok(m˶Z..1vC. %s'WTCM@gxp.< ͵jHL߸ /o|?ɿ?9tSUu?,X7˺Zd-"0h:G^A 5BՔl%w}!#2?m"vWˀ6"I|= DiCΨR>Z2S]ZvZM4h)/`{(=@4\!8Dw*[ [SI9ې ]EW^wb ")n^p/ JV㚗{F_j ;wJmp]O#v"Rsh};.̺{e%i:3;jjd#/ T/‰|6[ UlB/wJ@ԎfZJ+3~?F7" C-+E=+[XʙT SU<3 +rqpFS71h~"t35VNt$f͑}PV%75:R` ƕt0K!/Ofbc)"0rsU`X3&R I$p8=0-ڸ̞>sƠ Ǧ72G pϽ,`2RUJ ##V,NS 5q;Pł̐D 4cJ=eW+UfL̀S5,=+cFa!p,b3[zdϠѧKD:Z|z$-{-tIEIbBe@qyuM]aㄵ}c+p0|\!k_c#b4f-lQõ 5X2V&1#/;X{F* ,3z>ݭӕ\sصiEFJW9Ƒx.ת,tėEWFY,8j9C2 ŜfmR?.oHpagd4B[ĸ05)֫rT {å"]'Eݲ#a}v lүq] E#З.b;oO#6+baܟ%Y:sx6?f)wznBezh_ jPXt:~-JtA:jGގWY~L Mz2|!KҎ䁐o'$<ߐ09@j6lQ-̋曦mYm'  6aX?wC8|3_j9] ^Rl M߶d CJ%i<%6qK{_tٓj#cer2ɌOO9*0i ^d{J6(}lrk C)1 :I:/ ~Y"fl &&yۯ.|Ld፣]2Mzif 9s_0VR\&2A܍ø FጺPs"L`:=9l;oܢlVJtɫhwnu0Cie;/2E~/2c.╟Oi迭P0] ۧ۸Cy7I/MFn&hfbFظkWaa4j6-&*GuTwiILH C#!3],J.Q"GY8DWD.\袨Ht1G>we>Hz/-U1nD (G'c8G.n:/NO~~z>k=cPzKç2)WQ}mI' }]ڨ(󰋕gGW%U&.Tp4]u="!wXjK>[T͢gY vNAl3fN2h<^E!@~N} ?-3%<}&6DSmH\E,iHϖ'42P]t xyU!^0Ԅ䋮Kj.8ߧr#97ՒhHZ0fdZIŝՍHehr ¯cwn Wo6uq)7q36)"cPQ^emy WŒeߕp<}򞃋D,YKd}YDZ6ImօB$A["!.(' J*r7t?ow^W,R  "ǧoj?:|_IXyvKgPMm@Dt}|J[>a+M_[$v93,@p":ۭxo4QSwzR汹6pfNZ-dEyDFaiIVvC]Ȍ_@GFdg?6aGt6}B#HjW xTd,22GkvlN\qlntԊ O%}6_QO[uYmI%m,`Aam $-t@h_ٯ}rU`؀;|0w^|<?tR  F(ʿQ"=:peKhtz?nOȋ^p. [D&1em:R Á ^GPW]0sgܣ C4PaRWS2g=vVd;w-\ uW07 }V>,^YW5ޘf1=,teV.ubG|agkcFL eAuQHD޸gB)n{4]Au;B6jxn4b7<lȊFU/s )*W4CܒqUu]Mn\|ތF̮25fIO%P}_],Bȓy}?b FnC{]}$}w[ pw:̏h=Y:$.TBwR rӋr.3v{V[2C'FO Yr"[-z#kz8'sQV",sJ[p]aU{dzWJa72piCGv ^g lM}n( oyB[Kk/¿.i(-kaQe^T*D{LK8¤jq{**`"F<WSsH>¦(qEGDwq)¥\?wӕ%/-Eתh`$HyfՔ>>nw+?6Ir箺hO}|wpSL^eTf\'|ZFӛ$Ox 4z5&>I;LǽPBم1$tf{qqGigU^8VheZ÷d2FrRR-Qom9_t qꯓ $]!)2q , E6/;:li37qxi RGW0"07ُtSWģu8A=z鈗Bd¡("yhI# L3Ȣb[%3\U Z~^-ppRuz<9dv/дn,咿r =*gZjR?v㽿p| m_EƢo&w[f^U\ 05:QH&ǝO1G3 Pc)K^4H"¿~D+^79˫9_Y}q,~sq 6x.;F/ϗ܍:r  D];PIBR(uIBز;t¿ .(S$0tB+jFbyzع cQBZũ2d|:n6O."zu\QRL밾5zZh_Ʈm8E6 rV>n_ĵV. R Nv^?a*HwvvБ!K ?l~GүUUԑ`f蚮Pؼ±Ĕ˚+QB?HX'c|4WcC(B+knMѠ*ä.l*lc>9.|U`R<Ʌߛ8r="@be ~G#dݕe9TLKNBq4z0 nx׬QsU&01#Fi  ZET(au80~]oi~M s#au/i ؿ(fy=@!ο&CM;ܙ]M;g~ݍ\N~q뾢9QrOܙPCq?){8 ΍LSf|l kWVrȢ6,*]V~LD|8I WMH6)uG*Ҳ@k~xӀrt 1l.!{LbDe_Ń ]șgrt?Z,-¿Zf0;mFjjOxNlC#3yǝi$\?"*F"k> yzUƪײv9??O,>ɝjܲ0me'I|ugYWu)bt·KR*ے% c8A[̄faèP<,,wC±/hNlijk/f8Zt,WnF"tO'HïwF, j24»_wU <++&Uy|Q+uWDcҴ38+wN#x(jA;~qbA*/a-Jbg6bqWPm@,"ܜկifB*TA,+߲k\Qȩ*p&I|8=3Ӱ"ŔgGt]'i5eiLr=W,.ky1eOIxŰ j*Sy?Ӳ/BZթfLV40mnyiX| P-˼.!/ oϱKLSgJ+L o|.sp)E?jHͽ=p`s5v%I^a!t^ p^y| ߉aٛjm˶8l1pDY}w42 &~`$H$Sk-3*7md सƙrS_M|z17e~y.;s"+oۻG>㧁@ gSQX&M) էۤP2ԣ2; WL=2~1X/'ZXh@OpҮva|i:2 eGpM z-c 7C ^O^m=պ i@)/% O ՞]=+~c[ :7g#_,Y)05U&P/Ԯy-XBсE/] vtqw|>(wxM1? y0]t9TTE;EF qBtœPNTFTW/WI3Zq0/!SEe<'s ԫE>oXXM?L4­5iy:8 ` jd5KU ZT d Ltv*0`F'`IKMa&+z עTo0eB2Ւ z-`ZBB9 Y;ɹfZUrMnm7aGf4`s"5وCzU|Z"y&lZ`TJK+4"ulLe}-τ3QjO5ml,-U}V͖ȅ)Q;&@rUW+*M:-T|7,rx*([j3UJW ( CٻӀYUc6Z (υ'i -pKUX$uCeiRܼ[s1[waNW=W{e_"gTT\.&N 枌!]VDeHWKG硛=nc|Bpߪ=C V3bXүjC uZe&0JMf$Eܭ?DWM$jDzxD5ɸlR<:_;vu8ȚQ2ɲ0֊.EGOݍ 0U\gi%D8t3U7khj7!ij,p+tg68iMeNsd&-7%E6XF_Uh!<moQݩQHk,2[*7IqЪI('v!"_w`bl!/4utjaZ9DVk/ [ XΊt]!57qtuUfJ*/DpD7nQm|cɹ^!ۑ+t9^&jiZ jiհs~^ C2{vn;#VPG푹&2wsCChLY*/E '#h Mr,6'D;1I\B⟾ttSJ?Ԑ^|(k4="{$?.~%xrK >}0L]-W= /÷,?WKX%hQ̚Y9ErO#> KdO-ӛ7ٝ|B~8KưKGR"R[ɰd.9m,ڹƳ^IpHxioBݪQW4Kkg[J8atr Rq:<^YJi3Gs3]C[Ti(qnQW2qEB(j>}ZDxDo1PU>iҡE ߫_X`M3*d'h{.l"ӰQreRn|"i4$p& CG;2xf@,W}L,%{rΠ\r^:=nnK_Z$ډ8~3* r gXG4". K>g @$'(TU봤[ /$Ft ԿB r${MGGnN4'f NRg@ "=8}0РHd!dO,9I+J9F@_6>"sţ#6vyC*]\O˭;t"yl OnLQ]'C`b%Vr FDL`U,]hr Hq.UhX= ҏ~͚X\pb%jxӕ- [[ZYZ%>;xXƷ)~k_T*R#fyɵ8/EJK7^ IPG)am.u{/ VVmvv8!A6 rEGB*^U||˨iHU$^"TXY~?&/30_´N$vۭ{-?cX|rA  *;4%pZ%q6#I9n{jI瑟RYo3fo)E)!D2[y{OviX h,3s[?dcίp];茪2g813&1 eu~BOB_.Mݟ=Ȓ4[wE EDO`Rv$xWRU"~ai^YXe_0d(eql8Bu{^'zLc[g~/Ia$@#P6hF&<:-LTD, L"o;]k淬'چ@PJ xVD^V]gVpdTI6GY G9,nxBR&ETpf4g^VQBNư2EϦa;-LTT9Z8PiۏFbҩe$#ѕ63 nN; !NPh8Ssax[F2oG#vx-?Z>)` Usxൢ^>""|$@3R ,.>8r~ER5#!5IJvn ~gJAFf) cB"G`+DH\@w A QSő{FhQ-=5@tz0RPiTS2ԏ[WV:_siw(ZC]?3 R!D".4v뗎r͍->6Z~U5i^IvϲmfBWʪ126v)OZVeRՄyX'8Zq`w;* 9nv2)3HnbK<9Xlbb\h}E8C:Պ,7#5ѩt6cU9´gۣJf_DnTA:;F xA&G!YLp')2m0DV̩ftHeV^~YL f'0R6c9`FhL X8&WQf* $LG/P our#9yOtD › ˇ1 fOLGġ Ͼ'U0m&"!M1H޴[p\yjǑ "T'S<_1L%ܺ=ϰF݅!@hȨV.t@o!%tU#LoXohĐ@1GyC`4^ڵ /YJx m,{N`f& J1PNPNI5~N:o3'*H{!n .L$"Hqԏاc[m'eCa4d 5fݓ&r:`hdsDBI KoGv>s׫;^ -l o`p{\z8 ӨYkG!o|} |0"iyNb9È%$y`$0 _<&#_Ey6V( Mlʊ^iUi,2XU|&OfƭO KP* %\Y >1oStx?y`iLtK#cuܕB$/R5G#5U~W -kM/F#S~ \ÞDWJLm#Rz{"KgMJt+w t,jR '{EEJ#t,TFA.劽L+86u 3ٷEޛs\$ 5~C؋`鹻lbXʒAS*Ső`[ԅ!Kt-\T?ǵ&)s-}%]=:`_xǑ-Dpɇ*1{ +ĸ{s-7͞C"r)3<OȊ~B2KAEB TuK# ӎ+臗} 9-)NdـEE*PLD'=|g_ړ.uØG1aYxj.;淢|l]TJZ%q*J?R\aH]& Q\[#knJ9aMp^ D^nF1tsIAC!GJGDYwW~j\!Il3* 0i^čD삇T9]Ywځ-O+9b4UM~݆Eǟ.3Ag~k0Jb3==U"qNSet?oJ*&uIitm CrRa3{4,9o$Ą`>ݕW& ͖x$XsW(Wj00iE'6zi+zy׭Ǖ>Ѵ*׊71b\I:[§(kwEzdrjM~i0ŕf.x>t˾{_"s$:\][|jp_*K%M , `R4NB1٭Rٹ8V`TX8ݕ]j[D-F Mbl%Wgk!w;@zf^st:{UZ)W0z{Xu̻wEA$gTH۲;;E(Iع,ΛƑ R+_u⊽V|!4tBZ׬BsY`8>k+n@]u7澛 7:Jh *KSJ.C6̾ȥ:+np(^_P9^og-m3v*󶋙$ cHwW*SOARUW߮2^Q>o6y\\^xߠ$MĹeI CcY&-t,X+SҔ`Rx@ށ#l*UYbIobP"$4lz4cNх~}^ %E$UNV+Agh?ei/ǀS$\ i2k122s](ЬTjÀ_8a!CHJz .l3DsHvDv[g5ϫ+gȄԏXdG^H'QivAؔY"k ƶ7H\/dxhf{$8©nL7beм88?`8c|h y'^- & "W`Z)zs0b\6ze^ i3j߰.idH? %4N>k}^:],@䦵մ,LaM=  Taf"{nM<ekQ|j_Jـ ʝOJHD S7vq0cO'XxV +,m8m@0Ʊfv~a%,~l{`@UpVW/ɩKǓ>]Q4ݻ|K#'~hf ) ޮEF(KAbF5*]] Bskge¦|D?b_| Ġڞ.`Bnwz$uUˢɴ2ap(jzh%-W(hw4K ,b`#;IH{-;`ӿNۊaUBK;;8wDaoYئey"u6d0D!1Av]"shGɍG_]6Tz+Dsw쀂F8qk`ЕBJYa\;`pBIao8vDo;LJ1^dyCfcI[y_cģ/O!*AImol9 %H,(u$;@sG*NdmXa?"ytEam^NmvP#PXX=mU"!+T=p1Ki7oȸw#yj))EUIo_>o> 'e=v@D]q #^*^1p!s$+Vr?ѐj#`S;q8\N{LTڗxEP)8OQ ͣGRc_{e4}Auh蕁yI֜o 4]۩^< \!jK?`)b}ecGk |(%0o[la6OSN>nt$1Uf%zI!v` iRHD+.ayR4p 0 ɮ`Y?`Z0 jU^Ag|͢eЩ鲥ɰp=&I⃓)fq2e F0Q-heԛ,{=ciTE71\L{JYZ6 `}-TtCo0Tī=cDHR+0+(}/V $+C)QEj%o?q`qRw5&s_jLV*W pI@d !Nč@p2Y>+?< 3t$#==u2Tk$ Pbov"n@ezJ0XY3Hp>Mx5fu *KHwhNÈ y- ;# j%P+ej<مU4bAΛJQPv;JaN-IRl2#ӛ7ڊ+`Tk gM#s]_HǕ}BJ Ċ(6N?2y%I$uyQ:Sգ<7Z+ۣ$U*Ze rtW^tz{]0𙀬2d@G[%Y85~Bq"w'hfVj&q'KYx^zIvɘ5nP z옊lb/]vbv6;y(◗Id➋aEig??0}[d> RBĄm#Bp8iEZ*HtI˝'AVuAE\h(U$Bfg?ِq2% 3mT{̽\43f'J0b',YDE:1&EЙgc繫SDb}}'i8z 1~&+&c"ӥl9\hp΅ •Sş;gMnxձW'#T&ܪ2e˵)]i xI@N*J ‹fEU7RX$CKd7Zf¹hä/|ٮX]`Ʉc9tՉ 2=ɋQ0*S _ m$6Xh>Ɓp84IݕMCHx`8  Uq ubImBL*BYί^j{M<=e\i!;-'7GdoHjK|5%J+gLo?@8;%IT?u-cv?ze q4R&N5O:waTZWOHcu3iiu˝oQ 0> q lH 7; \<p]Кg6q ,lZ6~GMj3ړձqJ\U00xGT|gK?U:U}4,Pp5KP8"6È6 7} b{lOsc֢i\qlduZ!WtU{' }bFViXJ <3ܟZE3 Z7È\xkROBf e3pgYOD^M瞣c}T(^u_. Bpr@j]t}cFTuR+z)3tqOg g)5R{njҨC$'D?4{3J1l#$8FIЅ]C%(ռJV P!|Za<7(S%&BQ4-&^fIze( k (MdOW'1H&LhȠGZE9*A)]k6#JfXkG]Q/ׇv_IUMFyV)c*ZVLő's ':c̑ z'(ƫ{(U4b- ި&,<, J-+GCG h OnLe $:x *Ʉ=4>K5?$ݗ~2T$Z{cK]"1U 3ϭ1RD }p 57oyI2{}#D9c<w):+}UbFJi^"lq?n.g>Gi&}&K0bY[rH5F`e|!5Cwg2Lh<:W %l7D 1ctusf b]U!-9mC,NGѝw#wWv W1*5syx("ໍk24 X(2mP B .iK$PK杓)7.rLP6&kZb$դYLF66OG5*yX z}-s@y2@ &V[g)E:+H-zw+ߒt0!1!O~ _:9Ip¹R\ރdo'o?|ְ<(fdF/핋aqb^j&3dM?H2J+/柶ݟ>#h"t5Y!s7G)fӎx'7lp&K~y+]G8,psnjFGiм{ڝHz#%.#u5z~qmg z8@\PO^S5)NQa ylCQ(P`Шs2SN_Vk s(&ꄽ(,n(\<H%KX3 2]SjsMDMcrVvhcq?؂6=Yn}}(!8ie~ jiqkXKNOD#XoIѼN%b#01 Χd>Nl)k+;?g2--. [~rxSҦ{ۚc)Vp utܠ#̥mw<^\!frW"+eW|@L--OR]+{$'ubl$PаBfr w!F]BACx^kCX ply~9 w̱Mr9YЂb7Q}޻@EBo%y}wa7 9 ΈD`^l_? 4ZZ(xj7d8ԝ]zcöI}# bÆ++ o}|DB7Rz7[yM^v=gFNRՆmeL~[jg^" E xMCReGIyckM; SVI?hpih4 7e AsqA"@x 5^IkJՂ芑0BmUo&v'`6Fɹ"&ʺT "2/-,ѐ FqtB҈H7G,pA Bchȇ/pލ+49%W@]Z@^1BpjFld0y+7 +HjU? 'fR(|)G*K;/5H LB 7ԁM15 y2m u {9jԳz."'BCBz O/ /:S" XKzй[Y K`[? 6:r<弣Pfc9,U1琞k̋nj4Ji۹ ázF`ol-.~~{v4o`e4`moT]+;+9?E1݅Kzl3yut-/xDG~A—7=go{|N}.a Yrvsz-|MCdeF bJ"Oll ,ϫ 2LW.ݢ_ƺKK5WbKJhYoh,'Zʍ6|-Q~/${9ow*mYa*ix7 Dz@.в5 >[l,&0VƜZP`8VE7.MGFxnSE K#l\tSs?`l}1zK KYt(~_nJ@߉+Nfu  $9Yʼf VK"H5-#^\-UÞy素h1Ѿd7b6 v^Sڮp0JO_w:@x3gi3{+:@F ̕ ZtRH]Σ.)^u.ò,suzjB73#OD7z̨O EgFMu 7I9a8@>Ghu%!߭HhDoIfâ9Y{[RSW ] :;n8熵jz2 - &P_֜?eaᜠJ,#TƘ#A[r+Cӂ9b+ U]J cXhm~<2mI] w (E[N1y=GW5Blz_@P draGtmc%(3F#@q]l|FJco8譲9\:6ۉ`hBc}޻ȸK6)j"+V2+4LV_oqN^3EMzb^uts_Hy>0P#P)Бl!`>qœ";C]mdĦT(H>HhJȣvq$J.%@ {IgӱODX) Jy?`C2B &JFؙa.x)xQB3%.h=Txm7}-(o/M*hV\|bC-xIyAD0Y)dN Vk!8? YAn@Xl~0] Hʭ*R²#iP8<3kj^'Ō%jk#+ 0[,۟ uPb@eDnW<$V 8et q]IqxjZh[[6x(J4eL*%^W)(v-g?(_-IU"Ji&؋hza 8^DW)x+豻ʎqT2p测& ]aXm0Ps~஠I򛛃u#P:qT2 h;I8?m7 {F'4%;*y?sׇ4.-hWG `8l<VJ˯a-d}jxc`'&UI;:nCk")WN2cҜDEBJW enm7 XW1yͥ~w"C(ɘ soy/D XQ ] &@Q"E'C7 ؙ$>eEU64 $h49((lʸ l!?Ɠ\6[f$h9.@L.ʫqعQaQY* PBG".fP?1 +(#ǗvCQ V&V/{XunJ4mi+qr!< fr Qx P3X꯭]0TP ]h_˯z?mIt+_{P*;!=0;lV?% V^cejPvsFXdVhJ+X-Ej )I]#aI[zsDD]CQPhF:TfB!I2)M4_NLŕ*-ބ"ϣ\p+ܓ<iai5o=4"Q tA&a4UK2P'VZ}{s,y& [(SrT7:XgQfI=x=Z Ysne3 xySv%T D^˯Gkne$K Ƃ~tz܈= R+ڧMt8WF<Ҽ= }%3O/Z\7;Y(?KxʓvܿsCy0ȸ7k&|Ec{xsAWO4+x~IhzOvgVn߯*$@biʔI79ӱspו2 B@eNf_H,_N:DbS/ P7!N3;yq@. 1;$Rr+%*ſg|z (}\y#B;Ȩ7Ju/Q)"Dj}<54)rʀt[Mz"=#=5U-v%`m` gh8cQDC]4/߶|7șkJI/(4_I]$o -/2{ѿE uÍ#&Sa8 (_7oNj˷jߴe!{EfH4 b3s qoq"WK' ( Q@@/A{Qy1u Zo/9HH<{毢ݟ2M1vP H&.LOka?:bILMAOSh($l1E7C3DG4m{e{ѫ&+VKE2Y$Շкdo-$7ku4(L0~|qٯ~l!ޝ6ΛP2(Y)39HU2!i<_ؼ)!||ڈH䑕tL/T/S8ŗ"ߒD7{",lbI^eyT94N:z#؁F Ri݇BtNE"O/@hX5B@GqD<;!Q[r« YmRJ➬NGXi`b^5)GfB:0m&nRPvbfjB_y$F\f XcMfioHQ|c- eKAz 422lh Z(B1fdb/ȭr#sb5r}_ L,W:$CF<̃q0):HI|9!j0sL 7'?'^FTonmtRJkB&HQ((ma2/ī1%$ *GѺqޚ#ޓ:gi f.ehDFGn/[m֎6 u5=pdmdcGLN7D%67nZ; ȋ~/fT> oȊ8q a$)fH;>gTAIAz/HVa9Rwƒ&nZgMTlZIӹVRx%DtФxaZK,4'hR!՗_?oڋw$ɌW7OVPka A/Fb8b#Bdf3ޒG' eZAC*kUA'ABH(aPϘzSsO#W\@y!U!7-{6†(O "_cKʘ[<toH<4R:eU'z#@r'qcH.$%Ս_q`J,?IpaLI+TRIiPi`;ؑza+#C8