Upgrade to jquery mobile 1.1.0-rc.1
Upgrade to jquery mobile 1.1.0-rc.1

file:b/.gitmodules (new)
--- /dev/null
+++ b/.gitmodules
@@ -1,1 +1,16 @@
+[submodule "js/flotr2"]
+	path = js/flotr2
+	url = https://github.com/HumbleSoftware/Flotr2.git
+[submodule "js/FlashCanvas"]
+	path = js/FlashCanvas
+	url = https://github.com/timcameronryan/FlashCanvas
+[submodule "lib/amon-php"]
+	path = lib/amon-php
+	url = https://github.com/martinrusev/amon-php.git
+[submodule "javascripts/tesseract"]
+	path = javascripts/tesseract
+	url = https://github.com/square/tesseract.git
+[submodule "javascripts/d3"]
+	path = javascripts/d3
+	url = https://github.com/mbostock/d3.git
 

file:a/about.php -> file:b/about.php
--- a/about.php
+++ b/about.php
@@ -20,8 +20,8 @@
 <p>
     Busness Time - An ACT bus timetable webapp<br />
     Based on the maxious-canberra-transit-feed (<a 
-        href="http://s3-ap-southeast-1.amazonaws.com/busresources/cbrfeed.zip">download</a>, 
-    last updated <?php echo date("F d Y.", @filemtime('cbrfeed.zip')); ?>)<br />
+        href="http://busresources.lambdacomplex.org/cbrfeed.zip">download</a>, 
+    last updated <?php echo date("F d Y.", @filemtime('../busresources/cbrfeed.zip')); ?>)<br />
     Source code for the <a 
         href="https://github.com/maxious/ACTBus-data">transit 
         feed</a> and <a href="https://github.com/maxious/ACTBus-ui">this 
@@ -36,7 +36,7 @@
     Native clients also available for iPhone(<a href="http://itunes.apple.com/au/app/cbrtimetable/id444287349?mt=8">cbrTimetable by Sandor Kolotenko</a>
     , <a href="http://itunes.apple.com/au/app/act-buses/id376634797?mt=8">ACT Buses by David Sullivan</a>, <a href="http://itunes.apple.com/app/bus-trips-act/id489146525?mt=8">Bus Trips ACT by Molson Chengalath</a>) 
     , Android (<a href="https://market.android.com/details?id=com.action">MyBus 2.0 by Imagine Team</a>, <A href="https://market.android.com/details?id=GetMe2CanberraFree.source">GetMe2 Canberra by
-Colin Thompson </a>) 
+Colin Thompson </a>, <a href="https://market.android.com/details?id=au.com.transittimes.android">TransitTimes+ by Zervaas Enterprises</a>) 
     and Windows Phone 7 (<a href="http://www.windowsphone.com/en-AU/apps/d840375e-429c-4aa4-a358-80eec6ea9e66">TransHub Canberra by Soul Solutions</a>) Other web clients include <a href="http://canberra.itranzit.com/option.html">iTranzit</a>.
     <br />
     GTFS-realtime API:

file:a/aws/awsStartup.sh (deleted)
--- a/aws/awsStartup.sh
+++ /dev/null
@@ -1,13 +1,1 @@
-#!/bin/bash
-#this script should be run from a fresh git checkout from github
-#ami base must have yum install lighttpd-fastcgi, git, tomcat6 
-#php-cli php-gd tomcat6-webapps tomcat6-admin-webapps svn maven2
-#postgres postgres-server php-pg
-#http://www.how2forge.org/installing-lighttpd-with-php5-and-mysql-support-on-fedora-12
 
-sh busuiphp.sh
-sh busuidb.sh
-sh busuiotp.sh
-
-
-

file:a/aws/busuidb.sh (deleted)
--- a/aws/busuidb.sh
+++ /dev/null
@@ -1,17 +1,1 @@
-createdb transitdata
-createlang -d transitdata plpgsql
-psql -d transitdata -f /var/www/lib/postgis.sql
-# curl https://github.com/maxious/ACTBus-ui/raw/master/transitdata.cbrfeed.sql.gz -o transitdata.cbrfeed.sql.gz 
-#made with pg_dump transitdata | gzip -c >  transitdata.cbrfeed.sql.gz
-gunzip /var/www/transitdata.cbrfeed.sql.gz
-psql -d transitdata -f /var/www/transitdata.cbrfeed.sql
-#createuser transitdata -SDRP
-#password transitdata
-#psql -d transitdata -c "GRANT SELECT ON TABLE agency,calendar,calendar_dates,routes,stop_times,stops,trips TO transitdata;"
-#psql -d transitdata -c "GRANT SELECT,INSERT ON	TABLE myway_observations,myway_routes,myway_stops,myway_timingdeltas TO transitdata;"
-#psql -d transitdata -c	"GRANT SELECT,INSERT,UPDATE ON TABLE myway_routes,myway_stops TO transitdata;"
-##psql -d transitdata -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO transitdata;"
-## INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
-##SELECT '', 'public', 'shapes', 'shape_pt', ST_CoordDim(shape_pt), ST_SRID(shape_pt), GeometryType(shape_pt)
-##FROM shapes LIMIT 1;
-php /var/www/updatedb.php
+

file:a/aws/busuiotp.sh (deleted)
--- a/aws/busuiotp.sh
+++ /dev/null
@@ -1,10 +1,1 @@
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/Graph.obj \
--O /tmp/Graph.obj
-/etc/init.d/tomcat6 stop
-rm -rfv /usr/share/tomcat6/webapps/opentripplanner*
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/opentripplanner-webapp.war \
--O /usr/share/tomcat6/webapps/opentripplanner-webapp.war
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/opentripplanner-api-webapp.war \
--O /usr/share/tomcat6/webapps/opentripplanner-api-webapp.war
-/etc/init.d/tomcat6 restart
 

file:a/aws/busuiotp.testing.sh (deleted)
--- a/aws/busuiotp.testing.sh
+++ /dev/null
@@ -1,10 +1,1 @@
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/testing/Graph.obj \
--O /tmp/Graph.obj
-/etc/init.d/tomcat6 stop
-rm -rfv /usr/share/tomcat6/webapps/opentripplanner*
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/testing/opentripplanner-webapp.war \
--O /usr/share/tomcat6/webapps/opentripplanner-webapp.war
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/testing/opentripplanner-api-webapp.war \
--O /usr/share/tomcat6/webapps/opentripplanner-api-webapp.war
-/etc/init.d/tomcat6 restart
 

file:a/aws/busuiphp.sh (deleted)
--- a/aws/busuiphp.sh
+++ /dev/null
@@ -1,12 +1,1 @@
-cp /root/aws.php /tmp/
-chmod  777 /var/cache/lighttpd/compress/
 
-chcon -h system_u:object_r:httpd_sys_content_t /var/www
-chcon -R -h root:object_r:httpd_sys_content_t /var/www/*
-
-chcon -R -t httpd_sys_content_rw_t /var/www/labs/tiles
-chmod -R 777 /var/www/labs/tiles
-
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/cbrfeed.zip \
--O /var/www/cbrfeed.zip
-

file:a/aws/compress.conf (deleted)
--- a/aws/compress.conf
+++ /dev/null
@@ -1,33 +1,1 @@
-#######################################################################
-##
-##  Output Compression 
-## --------------------
-##
-## see http://www.lighttpd.net/documentation/compress.html
-##
-server.modules += ( "mod_compress" )
 
-##
-## where should the compressed files be cached?
-## see the base config for the declaration of the variable.
-##
-## This directory should be changed per vhost otherwise you can
-## run into trouble with overlapping filenames
-##
-compress.cache-dir         = cache_dir + "/compress"
-
-##
-## FileTypes to compress.
-## 
-#compress.filetype          = ("text/plain", "text/html")
-compress.filetype = ("text/plain", "text/html", "text/javascript", "text/css", "text/xml")
-
-##
-## Maximum filesize that will be compressed.
-## Default is 0, which means unlimited file size.
-## 
-#compress.max-filesize = 0
-
-##
-#######################################################################
-

file:a/aws/data-sources.xml (deleted)
--- a/aws/data-sources.xml
+++ /dev/null
@@ -1,13 +1,1 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
-        <!-- Single graph -->
-        <import resource="classpath:org/opentripplanner/api/application-context.xml" />
-
-        <bean id="graphBundle" class="org.opentripplanner.model.GraphBundle">
-                <property name="path" value="/tmp/" />
-        </bean>
-
-</beans>
-

file:a/aws/expire.conf (deleted)
--- a/aws/expire.conf
+++ /dev/null
@@ -1,29 +1,1 @@
-#######################################################################
-##
-##  Expire Module 
-## --------------- 
-##
-## See http://www.lighttpd.net/documentation/expire.html
-##
-server.modules += ( "mod_expire" )
 
-##
-##  assignes a expiration to all files below the specified path. The
-##  specification of the time is made up of:
-##
-##    <access|modification> <number> <years|months|days|hours|minutes|seconds>
-##    
-#expire.url = (
-#  "/buggy/"  => "access 2 hours",
-#  "/images/" => "access plus 1 seconds 2 minutes"
-#)
-etag.use-mtime = "enable"
-etag.use-inode = "disable"
-static-file.etags = "enable"
-$HTTP["url"] =~ "\.(css|js|png|jpg|ico|gif)$" {
-	expire.url = ( "" => "access 7 days" )
-}
-
-##
-#######################################################################
-

file:a/aws/fastcgi.conf (deleted)
--- a/aws/fastcgi.conf
+++ /dev/null
@@ -1,144 +1,1 @@
-#######################################################################
-##
-##  FastCGI Module 
-## --------------- 
-##
-## http://www.lighttpd.net/documentation/fastcgi.html
-##
-server.modules += ( "mod_fastcgi" )
-fastcgi.server             = ( ".php" =>
-                               ( "localhost" =>
-                                 (
-                                   "socket" => 
-"/var/run/lighttpd/php-fastcgi.socket",
-                                   "bin-path" => "/usr/bin/php-cgi"
-                                 )
-                               )
-                            )
-##
-## PHP Example
-## For PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini.
-##
-## The number of php processes you will get can be easily calculated:
-##
-## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN )
-##
-## for the php-num-procs example it means you will get 17*5 = 85 php
-## processes. you always should need this high number for your very
-## busy sites. And if you have a lot of RAM. :)
-##
-#fastcgi.server = ( ".php" =>
-#                   ( "php-local" =>
-#                     (
-#                       "socket" => socket_dir + "/php-fastcgi-1.socket",
-#                       "bin-path" => server_root + "/php-cgi",
-#                       "max-procs" => 1,
-#                       "broken-scriptfilename" => "enable",
-#                     )
-#                   ),
-#                   ( "php-tcp" =>
-#                     (
-#                       "host" => "127.0.0.1",
-#                       "port" => 9999,
-#                       "check-local" => "disable",
-#                       "broken-scriptfilename" => "enable",
-#                     )
-#                   ),
-#
-#                   ( "php-num-procs" =>
-#                     (
-#                       "socket" => socket_dir + "/php-fastcgi-2.socket",
-#                       "bin-path" => server_root + "/php-cgi",
-#                       "bin-environment" => (
-#                         "PHP_FCGI_CHILDREN" => "16",
-#                         "PHP_FCGI_MAX_REQUESTS" => "10000",
-#                       ),
-#                       "max-procs" => 5,
-#                       "broken-scriptfilename" => "enable",
-#                     )
-#                   ),
-#                )
 
-##
-## Ruby on Rails Example
-##
-## Normally you only run one Rails application on one vhost.
-##
-#$HTTP["host"] == "rails1.example.com" {
-#  server.document-root  = server_root + "/rails/someapp/public"
-#  server.error-handler-404 = "/dispatch.fcgi"
-#  fastcgi.server = ( ".fcgi" =>
-#    ("someapp" =>
-#      ( "socket" => socket_dir + "/someapp-fcgi.socket",
-#        "bin-path" => server_root + "/rails/someapp/public/dispatch.fcgi",
-#        "bin-environment" => (
-#              "RAILS_ENV" => "production",
-#              "TMP" => home_dir + "/rails/someapp",
-#        ),
-#      )
-#    )
-#  )
-#}
-
-##
-## Another example with multiple rails applications on one vhost.
-##
-## http://blog.lighttpd.net/articles/2005/11/23/lighttpd-1-4-8-and-multiple-rails-apps
-##
-#$HTTP["host"] == "rails2.example.com" {
-#  $HTTP["url"] =~ "^/someapp1" {
-#    server.document-root  = server_root + "/rails/someapp1/public"
-#    server.error-handler-404 = "/dispatch.fcgi"
-#    fastcgi.server = ( ".fcgi" =>
-#      ("someapp1" =>
-#        ( "socket" => socket_dir + "/someapp1-fcgi.socket",
-#          "bin-path" => server_root + "/rails/someapp1/public/dispatch.fcgi",
-#          "bin-environment" => (
-#                "RAILS_ENV" => "production",
-#                "TMP" => home_dir + "/rails/someapp1",
-#          ),
-#          "strip-request-uri" => "/someapp1/"
-#        )
-#      )
-#    )
-#  }
-#
-#  $HTTP["url"] =~ "^/someapp2" {
-#    server.document-root  = server_root + "/rails/someapp2/public"
-#    server.error-handler-404 = "/dispatch.fcgi"
-#    fastcgi.server = ( ".fcgi" =>
-#      ("someapp2" =>
-#        ( "socket" => socket_dir + "/someapp2-fcgi.socket",
-#          "bin-path" => server_root + "/rails/someapp2/public/dispatch.fcgi",
-#          "bin-environment" => (
-#                "RAILS_ENV" => "production",
-#                "TMP" => home_dir + "/rails/someapp2",
-#          ),
-#          "strip-request-uri" => "/someapp2/"
-#        )
-#      )
-#    )
-#  }
-#}
-
-## chrooted webserver + external PHP
-##
-## $ spawn-fcgi -f /usr/bin/php-cgi -p 2000 -a 127.0.0.1 -C 8
-##
-## webserver chrooted to /srv/www/
-## php running outside the chroot
-#
-#fastcgi.server = ( 
-#  ".php" => (( 
-#    "host" => "127.0.0.1",
-#    "port" => "2000",
-#    "docroot" => "/srv/www/servers/www.example.org/htdocs/"
-#  )))
-#
-#server.chroot = "/srv/www"
-#server.document-root = "/servers/wwww.example.org/htdocs/"
-#
-
-##
-#######################################################################
-

file:a/aws/modules.conf (deleted)
--- a/aws/modules.conf
+++ /dev/null
@@ -1,173 +1,1 @@
-#######################################################################
-##
-##  Modules to load
-## -----------------
-##
-## at least mod_access and mod_accesslog should be loaded
-## all other module should only be loaded if really neccesary
-##
-## - saves some time
-## - saves memory
-##
-## the default module set contains:
-##
-## "mod_indexfile", "mod_dirlisting", "mod_staticfile"
-##
-## you dont have to include those modules in your list
-##
-## Modules, which are pulled in via conf.d/*.conf
-##
-## NOTE: the order of modules is important.
-##
-## - mod_accesslog     -> conf.d/access_log.conf
-## - mod_compress      -> conf.d/compress.conf
-## - mod_status        -> conf.d/status.conf
-## - mod_webdav        -> conf.d/webdav.conf
-## - mod_cml           -> conf.d/cml.conf
-## - mod_evhost        -> conf.d/evhost.conf
-## - mod_simple_vhost  -> conf.d/simple_vhost.conf
-## - mod_mysql_vhost   -> conf.d/mysql_vhost.conf
-## - mod_trigger_b4_dl -> conf.d/trigger_b4_dl.conf
-## - mod_userdir       -> conf.d/userdir.conf
-## - mod_rrdtool       -> conf.d/rrdtool.conf
-## - mod_ssi           -> conf.d/ssi.conf
-## - mod_cgi           -> conf.d/cgi.conf
-## - mod_scgi          -> conf.d/scgi.conf
-## - mod_fastcgi       -> conf.d/fastcgi.conf
-## - mod_proxy         -> conf.d/proxy.conf
-## - mod_secdownload   -> conf.d/secdownload.conf
-## - mod_expire        -> conf.d/expire.conf
-##
 
-server.modules = (
-  "mod_access",
-#  "mod_alias",
-#  "mod_auth",
-#  "mod_evasive",
-#  "mod_redirect",
-#  "mod_rewrite",
-#  "mod_setenv",
-#  "mod_usertrack",
-)
-
-##
-#######################################################################
-
-#######################################################################
-##
-##  Config for various Modules
-##
-
-##
-## mod_ssi
-##
-#include "conf.d/ssi.conf"
-
-##
-## mod_status
-##
-#include "conf.d/status.conf"
-
-##
-## mod_webdav
-##
-#include "conf.d/webdav.conf"
-
-##
-## mod_compress
-##
-include "conf.d/compress.conf"
-
-##
-## mod_userdir
-##
-#include "conf.d/userdir.conf"
-
-##
-## mod_magnet
-##
-#include "conf.d/magnet.conf"
-
-##
-## mod_cml
-##
-#include "conf.d/cml.conf"
-
-##
-## mod_rrdtool
-##
-#include "conf.d/rrdtool.conf"
-
-##
-## mod_proxy
-##
-#include "conf.d/proxy.conf"
-
-##
-## mod_expire
-##
-include "conf.d/expire.conf"
-
-##
-## mod_secdownload
-##
-#include "conf.d/secdownload.conf"
-
-##
-#######################################################################
-
-#######################################################################
-##
-## CGI modules
-##
-
-##
-## SCGI (mod_scgi)
-##
-#include "conf.d/scgi.conf"
-
-##
-## FastCGI (mod_fastcgi)
-##
-include "conf.d/fastcgi.conf"
-
-##
-## plain old CGI (mod_cgi)
-##
-#include "conf.d/cgi.conf"
-
-##
-#######################################################################
-
-#######################################################################
-##
-## VHost Modules
-##
-##  Only load ONE of them!
-## ========================
-##
-
-##
-## You can use conditionals for vhosts aswell.
-## 
-## see http://www.lighttpd.net/documentation/configuration.html
-##
-
-##
-## mod_evhost
-##
-#include "conf.d/evhost.conf"
-
-##
-## mod_simple_vhost
-##
-#include "conf.d/simple_vhost.conf"
-
-##
-## mod_mysql_vhost
-##
-#include "conf.d/mysql_vhost.conf"
-
-##
-#######################################################################
-

file:a/aws/pg_hba.conf (deleted)
--- a/aws/pg_hba.conf
+++ /dev/null
@@ -1,77 +1,1 @@
-# PostgreSQL Client Authentication Configuration File
-# ===================================================
-#
-# Refer to the "Client Authentication" section in the
-# PostgreSQL documentation for a complete description
-# of this file.  A short synopsis follows.
-#
-# This file controls: which hosts are allowed to connect, how clients
-# are authenticated, which PostgreSQL user names they can use, which
-# databases they can access.  Records take one of these forms:
-#
-# local      DATABASE  USER  METHOD  [OPTIONS]
-# host       DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTIONS]
-# hostssl    DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTIONS]
-# hostnossl  DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTIONS]
-#
-# (The uppercase items must be replaced by actual values.)
-#
-# The first field is the connection type: "local" is a Unix-domain socket,
-# "host" is either a plain or SSL-encrypted TCP/IP socket, "hostssl" is an
-# SSL-encrypted TCP/IP socket, and "hostnossl" is a plain TCP/IP socket.
-#
-# DATABASE can be "all", "sameuser", "samerole", a database name, or
-# a comma-separated list thereof.
-#
-# USER can be "all", a user name, a group name prefixed with "+", or
-# a comma-separated list thereof.  In both the DATABASE and USER fields
-# you can also write a file name prefixed with "@" to include names from
-# a separate file.
-#
-# CIDR-ADDRESS specifies the set of hosts the record matches.
-# It is made up of an IP address and a CIDR mask that is an integer
-# (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that specifies
-# the number of significant bits in the mask.  Alternatively, you can write
-# an IP address and netmask in separate columns to specify the set of hosts.
-#
-# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi", "krb5",
-# "ident", "pam", "ldap" or "cert".  Note that "password" sends passwords
-# in clear text; "md5" is preferred since it sends encrypted passwords.
-#
-# OPTIONS are a set of options for the authentication in the format
-# NAME=VALUE. The available options depend on the different authentication
-# methods - refer to the "Client Authentication" section in the documentation
-# for a list of which options are available for which authentication methods.
-#
-# Database and user names containing spaces, commas, quotes and other special
-# characters must be quoted. Quoting one of the keywords "all", "sameuser" or
-# "samerole" makes the name lose its special character, and just match a
-# database or username with that name.
-#
-# This file is read on server startup and when the postmaster receives
-# a SIGHUP signal.  If you edit the file on a running system, you have
-# to SIGHUP the postmaster for the changes to take effect.  You can use
-# "pg_ctl reload" to do that.
 
-# Put your actual configuration here
-# ----------------------------------
-#
-# If you want to allow non-local connections, you need to add more
-# "host" records. In that case you will also need to make PostgreSQL listen
-# on a non-local interface via the listen_addresses configuration parameter,
-# or via the -i or -h command line switches.
-#
-
-
-
-# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
-
-# "local" is for Unix domain socket connections only
-local   all         all                               trust
-# IPv4 local connections:
-host    all         all         127.0.0.1/32          trust
-# IPv6 local connections:
-host    all         all         ::1/128               trust
-#Allow any IP to connect, with a password:
-host    all         all         0.0.0.0          0.0.0.0      md5
-

file:a/aws/php.ini (deleted)
--- a/aws/php.ini
+++ /dev/null
@@ -1,1662 +1,1 @@
-[PHP]
 
-date.timezone = "Australia/Sydney"
-
-;;;;;;;;;;;;;;;;;;;
-; About php.ini   ;
-;;;;;;;;;;;;;;;;;;;
-; PHP's initialization file, generally called php.ini, is responsible for
-; configuring many of the aspects of PHP's behavior.
-
-; PHP attempts to find and load this configuration from a number of locations.
-; The following is a summary of its search order:
-; 1. SAPI module specific location.
-; 2. The PHPRC environment variable. (As of PHP 5.2.0)
-; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
-; 4. Current working directory (except CLI)
-; 5. The web server's directory (for SAPI modules), or directory of PHP
-; (otherwise in Windows)
-; 6. The directory from the --with-config-file-path compile time option, or the
-; Windows directory (C:\windows or C:\winnt)
-; See the PHP docs for more specific information.
-; http://www.php.net/manual/en/configuration.file.php
-
-; The syntax of the file is extremely simple.  Whitespace and Lines
-; beginning with a semicolon are silently ignored (as you probably guessed).
-; Section headers (e.g. [Foo]) are also silently ignored, even though
-; they might mean something in the future. 
-
-; Directives following the section heading [PATH=/www/mysite] only
-; apply to PHP files in the /www/mysite directory.  Directives
-; following the section heading [HOST=www.example.com] only apply to
-; PHP files served from www.example.com.  Directives set in these
-; special sections cannot be overridden by user-defined INI files or
-; at runtime. Currently, [PATH=] and [HOST=] sections only work under
-; CGI/FastCGI.
-; http://www.php.net/manual/en/ini.sections.php
-
-; Directives are specified using the following syntax:
-; directive = value
-; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
-; Directives are variables used to configure PHP or PHP extensions.
-; There is no name validation.  If PHP can't find an expected
-; directive because it is not set or is mistyped, a default value will be used.
-
-; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
-; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
-; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
-; previously set variable or directive (e.g. ${foo})
-
-; Expressions in the INI file are limited to bitwise operators and parentheses:
-; |  bitwise OR
-; ^  bitwise XOR
-; &  bitwise AND
-; ~  bitwise NOT
-; !  boolean NOT
-
-; Boolean flags can be turned on using the values 1, On, True or Yes.
-; They can be turned off using the values 0, Off, False or No.
-
-; An empty string can be denoted by simply not writing anything after the equal
-; sign, or by using the None keyword:
-
-;  foo =         ; sets foo to an empty string
-;  foo = None    ; sets foo to an empty string
-;  foo = "None"  ; sets foo to the string 'None'
-
-; If you use constants in your value, and these constants belong to a
-; dynamically loaded extension (either a PHP extension or a Zend extension),
-; you may only use these constants *after* the line that loads the extension.
-
-;;;;;;;;;;;;;;;;;;;
-; About this file ;
-;;;;;;;;;;;;;;;;;;;
-; PHP comes packaged with two INI files. One that is recommended to be used
-; in production environments and one that is recommended to be used in
-; development environments.
-
-; php.ini-production contains settings which hold security, performance and
-; best practices at its core. But please be aware, these settings may break
-; compatibility with older or less security conscience applications. We
-; recommending using the production ini in production and testing environments.
-
-; php.ini-development is very similar to its production variant, except it's
-; much more verbose when it comes to errors. We recommending using the
-; development version only in development environments as errors shown to
-; application users can inadvertently leak otherwise secure information.
-
-; This 2 files are provided, by RPM, in /usr/share/doc/php-common-*/
-; File used by RPM (the /etc/php.ini) is mainly the php.ini-production
-
-;;;;;;;;;;;;;;;;;;;
-; Quick Reference ;
-;;;;;;;;;;;;;;;;;;;
-; The following are all the settings which are different in either the production
-; or development versions of the INIs with respect to PHP's default behavior.
-; Please see the actual settings later in the document for more details as to why
-; we recommend these changes in PHP's behavior.
-
-; allow_call_time_pass_reference
-;   Default Value: On
-;   Development Value: Off
-;   Production Value: Off
-
-; display_errors
-;   Default Value: On
-;   Development Value: On
-;   Production Value: Off
-
-; display_startup_errors
-;   Default Value: Off
-;   Development Value: On
-;   Production Value: Off
-
-; error_reporting
-;   Default Value: E_ALL & ~E_NOTICE
-;   Development Value: E_ALL | E_STRICT
-;   Production Value: E_ALL & ~E_DEPRECATED
-
-; html_errors
-;   Default Value: On
-;   Development Value: On
-;   Production value: Off
-
-; log_errors
-;   Default Value: Off
-;   Development Value: On
-;   Production Value: On
-
-; magic_quotes_gpc
-;   Default Value: On
-;   Development Value: Off
-;   Production Value: Off
-
-; max_input_time
-;   Default Value: -1 (Unlimited)
-;   Development Value: 60 (60 seconds)
-;   Production Value: 60 (60 seconds)
-
-; output_buffering
-;   Default Value: Off
-;   Development Value: 4096
-;   Production Value: 4096
-
-; register_argc_argv
-;   Default Value: On
-;   Development Value: Off
-;   Production Value: Off
-
-; register_long_arrays
-;   Default Value: On
-;   Development Value: Off
-;   Production Value: Off
-
-; request_order
-;   Default Value: None
-;   Development Value: "GP"
-;   Production Value: "GP"
-
-; session.bug_compat_42
-;   Default Value: On
-;   Development Value: On
-;   Production Value: Off
-
-; session.bug_compat_warn
-;   Default Value: On
-;   Development Value: On
-;   Production Value: Off
-
-; session.gc_divisor
-;   Default Value: 100
-;   Development Value: 1000
-;   Production Value: 1000
-
-; session.hash_bits_per_character
-;   Default Value: 4
-;   Development Value: 5
-;   Production Value: 5
-
-; short_open_tag
-;   Default Value: On
-;   Development Value: Off
-;   Production Value: Off
-
-; track_errors
-;   Default Value: Off
-;   Development Value: On
-;   Production Value: Off
-
-; url_rewriter.tags
-;   Default Value: "a=href,area=href,frame=src,form=,fieldset="
-;   Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
-;   Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
-
-; variables_order
-;   Default Value: "EGPCS"
-;   Development Value: "GPCS"
-;   Production Value: "GPCS"
-
-;;;;;;;;;;;;;;;;;;;;
-; php.ini Options  ;
-;;;;;;;;;;;;;;;;;;;;
-; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
-;user_ini.filename = ".user.ini"
-
-; To disable this feature set this option to empty value
-;user_ini.filename =
-
-; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
-;user_ini.cache_ttl = 300
-
-;;;;;;;;;;;;;;;;;;;;
-; Language Options ;
-;;;;;;;;;;;;;;;;;;;;
-
-; Enable the PHP scripting language engine under Apache.
-; http://www.php.net/manual/en/apache.configuration.php#ini.engine
-engine = On
-
-; This directive determines whether or not PHP will recognize code between
-; <? and ?> tags as PHP source which should be processed as such. It's been
-; recommended for several years that you not use the short tag "short cut" and
-; instead to use the full <?php and ?> tag combination. With the wide spread use
-; of XML and use of these tags by other languages, the server can become easily
-; confused and end up parsing the wrong code in the wrong context. But because
-; this short cut has been a feature for such a long time, it's currently still
-; supported for backwards compatibility, but we recommend you don't use them.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://www.php.net/manual/en/ini.core.php#ini.short-open-tag
-short_open_tag = Off
-
-; Allow ASP-style <% %> tags.
-; http://www.php.net/manual/en/ini.core.php#ini.asp-tags
-asp_tags = Off
-
-; The number of significant digits displayed in floating point numbers.
-; http://www.php.net/manual/en/ini.core.php#ini.precision
-precision = 14
-
-; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
-; http://www.php.net/manual/en/ini.core.php#ini.y2k-compliance
-y2k_compliance = On
-
-; Output buffering is a mechanism for controlling how much output data
-; (excluding headers and cookies) PHP should keep internally before pushing that
-; data to the client. If your application's output exceeds this setting, PHP
-; will send that data in chunks of roughly the size you specify.
-; Turning on this setting and managing its maximum buffer size can yield some
-; interesting side-effects depending on your application and web server.
-; You may be able to send headers and cookies after you've already sent output
-; through print or echo. You also may see performance benefits if your server is
-; emitting less packets due to buffered output versus PHP streaming the output
-; as it gets it. On production servers, 4096 bytes is a good setting for performance
-; reasons.
-; Note: Output buffering can also be controlled via Output Buffering Control
-;   functions.
-; Possible Values:
-;   On = Enabled and buffer is unlimited. (Use with caution)
-;   Off = Disabled
-;   Integer = Enables the buffer and sets its maximum size in bytes.
-; Default Value: Off
-; Development Value: 4096
-; Production Value: 4096
-; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-buffering
-output_buffering = 4096
-
-; You can redirect all of the output of your scripts to a function.  For
-; example, if you set output_handler to "mb_output_handler", character
-; encoding will be transparently converted to the specified encoding.
-; Setting any output handler automatically turns on output buffering.
-; Note: People who wrote portable scripts should not depend on this ini
-;   directive. Instead, explicitly set the output handler using ob_start().
-;   Using this ini directive may cause problems unless you know what script
-;   is doing.
-; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
-;   and you cannot use both "ob_gzhandler" and "zlib.output_compression".
-; Note: output_handler must be empty if this is set 'On' !!!!
-;   Instead you must use zlib.output_handler.
-; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-handler
-;output_handler =
-
-; Transparent output compression using the zlib library
-; Valid values for this option are 'off', 'on', or a specific buffer size
-; to be used for compression (default is 4KB)
-; Note: Resulting chunk size may vary due to nature of compression. PHP
-;   outputs chunks that are few hundreds bytes each as a result of
-;   compression. If you prefer a larger chunk size for better
-;   performance, enable output_buffering in addition.
-; Note: You need to use zlib.output_handler instead of the standard
-;   output_handler, or otherwise the output will be corrupted.
-; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression
-zlib.output_compression = on
-
-; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression-level
-;zlib.output_compression_level = -1
-
-; You cannot specify additional output handlers if zlib.output_compression
-; is activated here. This setting does the same as output_handler but in
-; a different order.
-; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-handler
-;zlib.output_handler =
-
-; Implicit flush tells PHP to tell the output layer to flush itself
-; automatically after every output block.  This is equivalent to calling the
-; PHP function flush() after each and every call to print() or echo() and each
-; and every HTML block.  Turning this option on has serious performance
-; implications and is generally recommended for debugging purposes only.
-; http://www.php.net/manual/en/outcontrol.configuration.php#ini.implicit-flush
-implicit_flush = Off
-
-; The unserialize callback function will be called (with the undefined class'
-; name as parameter), if the unserializer finds an undefined class
-; which should be instantiated. A warning appears if the specified function is
-; not defined, or if the function doesn't include/implement the missing class.
-; So only set this entry, if you really want to implement such a
-; callback-function.
-unserialize_callback_func =
-
-; When floats & doubles are serialized store serialize_precision significant
-; digits after the floating point. The default value ensures that when floats
-; are decoded with unserialize, the data will remain the same.
-serialize_precision = 100
-
-; This directive allows you to enable and disable warnings which PHP will issue
-; if you pass a value by reference at function call time. Passing values by
-; reference at function call time is a deprecated feature which will be removed
-; from PHP at some point in the near future. The acceptable method for passing a
-; value by reference to a function is by declaring the reference in the functions
-; definition, not at call time. This directive does not disable this feature, it
-; only determines whether PHP will warn you about it or not. These warnings
-; should enabled in development environments only.
-; Default Value: On (Suppress warnings)
-; Development Value: Off (Issue warnings)
-; Production Value: Off (Issue warnings)
-; http://www.php.net/manual/en/ini.core.php#ini.allow-call-time-pass-reference
-allow_call_time_pass_reference = Off
-
-; Safe Mode
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode
-safe_mode = Off
-
-; By default, Safe Mode does a UID compare check when
-; opening files. If you want to relax this to a GID compare,
-; then turn on safe_mode_gid.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-gid
-safe_mode_gid = Off
-
-; When safe_mode is on, UID/GID checks are bypassed when
-; including files from this directory and its subdirectories.
-; (directory must also be in include_path or full path must
-; be used when including)
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-include-dir
-safe_mode_include_dir =
-
-; When safe_mode is on, only executables located in the safe_mode_exec_dir
-; will be allowed to be executed via the exec family of functions.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-exec-dir
-safe_mode_exec_dir =
-
-; Setting certain environment variables may be a potential security breach.
-; This directive contains a comma-delimited list of prefixes.  In Safe Mode,
-; the user may only alter environment variables whose names begin with the
-; prefixes supplied here.  By default, users will only be able to set
-; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
-; Note:  If this directive is empty, PHP will let the user modify ANY
-;   environment variable!
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-allowed-env-vars
-safe_mode_allowed_env_vars = PHP_
-
-; This directive contains a comma-delimited list of environment variables that
-; the end user won't be able to change using putenv().  These variables will be
-; protected even if safe_mode_allowed_env_vars is set to allow to change them.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-protected-env-vars
-safe_mode_protected_env_vars = LD_LIBRARY_PATH
-
-; open_basedir, if set, limits all file operations to the defined directory
-; and below.  This directive makes most sense if used in a per-directory
-; or per-virtualhost web server configuration file. This directive is
-; *NOT* affected by whether Safe Mode is turned On or Off.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.open-basedir
-;open_basedir =
-
-; This directive allows you to disable certain functions for security reasons.
-; It receives a comma-delimited list of function names. This directive is
-; *NOT* affected by whether Safe Mode is turned On or Off.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-functions
-disable_functions =
-
-; This directive allows you to disable certain classes for security reasons.
-; It receives a comma-delimited list of class names. This directive is
-; *NOT* affected by whether Safe Mode is turned On or Off.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-classes
-disable_classes =
-
-; Colors for Syntax Highlighting mode.  Anything that's acceptable in
-; <span style="color: ???????"> would work.
-; http://www.php.net/manual/en/misc.configuration.php#ini.syntax-highlighting
-;highlight.string  = #DD0000
-;highlight.comment = #FF9900
-;highlight.keyword = #007700
-;highlight.bg      = #FFFFFF
-;highlight.default = #0000BB
-;highlight.html    = #000000
-
-; If enabled, the request will be allowed to complete even if the user aborts
-; the request. Consider enabling it if executing long requests, which may end up
-; being interrupted by the user or a browser timing out. PHP's default behavior
-; is to disable this feature.
-; http://www.php.net/manual/en/misc.configuration.php#ini.ignore-user-abort
-;ignore_user_abort = On
-
-; Determines the size of the realpath cache to be used by PHP. This value should
-; be increased on systems where PHP opens many files to reflect the quantity of
-; the file operations performed.
-; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-size
-;realpath_cache_size = 16k
-
-; Duration of time, in seconds for which to cache realpath information for a given
-; file or directory. For systems with rarely changing files, consider increasing this
-; value.
-; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-ttl
-;realpath_cache_ttl = 120
-
-;;;;;;;;;;;;;;;;;
-; Miscellaneous ;
-;;;;;;;;;;;;;;;;;
-
-; Decides whether PHP may expose the fact that it is installed on the server
-; (e.g. by adding its signature to the Web server header).  It is no security
-; threat in any way, but it makes it possible to determine whether you use PHP
-; on your server or not.
-; http://www.php.net/manual/en/ini.core.php#ini.expose-php
-expose_php = On
-
-;;;;;;;;;;;;;;;;;;;
-; Resource Limits ;
-;;;;;;;;;;;;;;;;;;;
-
-; Maximum execution time of each script, in seconds
-; http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time
-max_execution_time = 30     
-
-; Maximum amount of time each script may spend parsing request data. It's a good
-; idea to limit this time on productions servers in order to eliminate unexpectedly
-; long running scripts. 
-; Default Value: -1 (Unlimited)
-; Development Value: 60 (60 seconds)
-; Production Value: 60 (60 seconds)
-; http://www.php.net/manual/en/info.configuration.php#ini.max-input-time
-max_input_time = 60
-
-; Maximum input variable nesting level
-; http://www.php.net/manual/en/info.configuration.php#ini.max-input-nesting-level
-;max_input_nesting_level = 64
-
-; Maximum amount of memory a script may consume (128MB)
-; http://www.php.net/manual/en/ini.core.php#ini.memory-limit
-memory_limit = 128M
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Error handling and logging ;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-; This directive informs PHP of which errors, warnings and notices you would like
-; it to take action for. The recommended way of setting values for this
-; directive is through the use of the error level constants and bitwise
-; operators. The error level constants are below here for convenience as well as
-; some common settings and their meanings.
-; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
-; those related to E_NOTICE and E_STRICT, which together cover best practices and
-; recommended coding standards in PHP. For performance reasons, this is the
-; recommend error reporting setting. Your production server shouldn't be wasting
-; resources complaining about best practices and coding standards. That's what
-; development servers and development settings are for.
-; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This
-; means it pretty much reports everything which is exactly what you want during
-; development and early testing.
-;
-; Error Level Constants:
-; E_ALL             - All errors and warnings (includes E_STRICT as of PHP 6.0.0)
-; E_ERROR           - fatal run-time errors
-; E_RECOVERABLE_ERROR  - almost fatal run-time errors
-; E_WARNING         - run-time warnings (non-fatal errors)
-; E_PARSE           - compile-time parse errors
-; E_NOTICE          - run-time notices (these are warnings which often result
-;                     from a bug in your code, but it's possible that it was
-;                     intentional (e.g., using an uninitialized variable and
-;                     relying on the fact it's automatically initialized to an
-;                     empty string)
-; E_STRICT          - run-time notices, enable to have PHP suggest changes
-;                     to your code which will ensure the best interoperability
-;                     and forward compatibility of your code
-; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
-; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
-;                     initial startup
-; E_COMPILE_ERROR   - fatal compile-time errors
-; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
-; E_USER_ERROR      - user-generated error message
-; E_USER_WARNING    - user-generated warning message
-; E_USER_NOTICE     - user-generated notice message
-; E_DEPRECATED      - warn about code that will not work in future versions
-;                     of PHP
-; E_USER_DEPRECATED - user-generated deprecation warnings
-;
-; Common Values:
-;   E_ALL & ~E_NOTICE  (Show all errors, except for notices and coding standards warnings.)
-;   E_ALL & ~E_NOTICE | E_STRICT  (Show all errors, except for notices)
-;   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)
-;   E_ALL | E_STRICT  (Show all errors, warnings and notices including coding standards.)
-; Default Value: E_ALL & ~E_NOTICE
-; Development Value: E_ALL | E_STRICT
-; Production Value: E_ALL & ~E_DEPRECATED
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
-error_reporting = E_ALL & ~E_DEPRECATED
-
-; This directive controls whether or not and where PHP will output errors,
-; notices and warnings too. Error output is very useful during development, but
-; it could be very dangerous in production environments. Depending on the code
-; which is triggering the error, sensitive information could potentially leak
-; out of your application such as database usernames and passwords or worse.
-; It's recommended that errors be logged on production servers rather than
-; having the errors sent to STDOUT.
-; Possible Values:
-;   Off = Do not display any errors 
-;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)   
-;   On or stdout = Display errors to STDOUT
-; Default Value: On
-; Development Value: On
-; Production Value: Off
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors
-display_errors = Off
-
-; The display of errors which occur during PHP's startup sequence are handled
-; separately from display_errors. PHP's default behavior is to suppress those
-; errors from clients. Turning the display of startup errors on can be useful in
-; debugging configuration problems. But, it's strongly recommended that you
-; leave this setting off on production servers.
-; Default Value: Off
-; Development Value: On
-; Production Value: Off
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-startup-errors
-display_startup_errors = Off
-
-; Besides displaying errors, PHP can also log errors to locations such as a
-; server-specific log, STDERR, or a location specified by the error_log
-; directive found below. While errors should not be displayed on productions
-; servers they should still be monitored and logging is a great way to do that.
-; Default Value: Off
-; Development Value: On
-; Production Value: On
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors
-log_errors = On
-
-; Set maximum length of log_errors. In error_log information about the source is
-; added. The default is 1024 and 0 allows to not apply any maximum length at all.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors-max-len
-log_errors_max_len = 1024
-
-; Do not log repeated messages. Repeated errors must occur in same file on same
-; line unless ignore_repeated_source is set true.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-errors
-ignore_repeated_errors = Off
-
-; Ignore source of message when ignoring repeated messages. When this setting
-; is On you will not log errors with repeated messages from different files or
-; source lines.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-source
-ignore_repeated_source = Off
-
-; If this parameter is set to Off, then memory leaks will not be shown (on
-; stdout or in the log). This has only effect in a debug compile, and if
-; error reporting includes E_WARNING in the allowed list
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.report-memleaks
-report_memleaks = On
-
-; This setting is on by default.
-;report_zend_debug = 0
-
-; Store the last error/warning message in $php_errormsg (boolean). Setting this value
-; to On can assist in debugging and is appropriate for development servers. It should
-; however be disabled on production servers.
-; Default Value: Off
-; Development Value: On
-; Production Value: Off
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.track-errors
-track_errors = Off
-
-; Turn off normal error reporting and emit XML-RPC error XML
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.xmlrpc-errors
-;xmlrpc_errors = 0
-
-; An XML-RPC faultCode
-;xmlrpc_error_number = 0
-
-; When PHP displays or logs an error, it has the capability of inserting html
-; links to documentation related to that error. This directive controls whether
-; those HTML links appear in error messages or not. For performance and security
-; reasons, it's recommended you disable this on production servers.
-; Default Value: On
-; Development Value: On
-; Production value: Off
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.html-errors
-html_errors = Off
-
-; If html_errors is set On PHP produces clickable error messages that direct
-; to a page describing the error or function causing the error in detail.
-; You can download a copy of the PHP manual from http://www.php.net/docs.php
-; and change docref_root to the base URL of your local copy including the
-; leading '/'. You must also specify the file extension being used including
-; the dot. PHP's default behavior is to leave these settings empty.
-; Note: Never use this feature for production boxes.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-root
-; Examples
-;docref_root = "/phpmanual/"
-
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-ext
-;docref_ext = .html
-
-; String to output before an error message. PHP's default behavior is to leave
-; this setting blank.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-prepend-string
-; Example:
-;error_prepend_string = "<font color=#ff0000>"
-
-; String to output after an error message. PHP's default behavior is to leave
-; this setting blank.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-append-string
-; Example:
-;error_append_string = "</font>"
-
-; Log errors to specified file. PHP's default behavior is to leave this value
-; empty.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log
-; Example:
-;error_log = php_errors.log
-; Log errors to syslog (Event Log on NT, not valid in Windows 95).
-;error_log = syslog
-
-;;;;;;;;;;;;;;;;;
-; Data Handling ;
-;;;;;;;;;;;;;;;;;
-
-; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
-
-; The separator used in PHP generated URLs to separate arguments.
-; PHP's default setting is "&".
-; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.output
-; Example:
-;arg_separator.output = "&amp;"
-
-; List of separator(s) used by PHP to parse input URLs into variables.
-; PHP's default setting is "&".
-; NOTE: Every character in this directive is considered as separator!
-; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.input
-; Example:
-;arg_separator.input = ";&"
-
-; This directive determines which super global arrays are registered when PHP
-; starts up. If the register_globals directive is enabled, it also determines
-; what order variables are populated into the global space. G,P,C,E & S are
-; abbreviations for the following respective super globals: GET, POST, COOKIE,
-; ENV and SERVER. There is a performance penalty paid for the registration of
-; these arrays and because ENV is not as commonly used as the others, ENV is
-; is not recommended on productions servers. You can still get access to
-; the environment variables through getenv() should you need to.
-; Default Value: "EGPCS"
-; Development Value: "GPCS"
-; Production Value: "GPCS";
-; http://www.php.net/manual/en/ini.core.php#ini.variables-order
-variables_order = "GPCS"
-
-; This directive determines which super global data (G,P,C,E & S) should
-; be registered into the super global array REQUEST. If so, it also determines
-; the order in which that data is registered. The values for this directive are
-; specified in the same manner as the variables_order directive, EXCEPT one.
-; Leaving this value empty will cause PHP to use the value set in the 
-; variables_order directive. It does not mean it will leave the super globals
-; array REQUEST empty.
-; Default Value: None
-; Development Value: "GP"
-; Production Value: "GP"
-; http://www.php.net/manual/en/ini.core.php#ini.request-order
-request_order = "GP"
-
-; Whether or not to register the EGPCS variables as global variables.  You may
-; want to turn this off if you don't want to clutter your scripts' global scope
-; with user data.  This makes most sense when coupled with track_vars - in which
-; case you can access all of the GPC variables through the $HTTP_*_VARS[],
-; variables.
-; You should do your best to write your scripts so that they do not require
-; register_globals to be on;  Using form variables as globals can easily lead
-; to possible security problems, if the code is not very well thought of.
-; http://www.php.net/manual/en/ini.core.php#ini.register-globals
-register_globals = Off
-
-; Determines whether the deprecated long $HTTP_*_VARS type predefined variables
-; are registered by PHP or not. As they are deprecated, we obviously don't
-; recommend you use them. They are on by default for compatibility reasons but
-; they are not recommended on production servers.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://www.php.net/manual/en/ini.core.php#ini.register-long-arrays
-register_long_arrays = Off
-
-; This directive determines whether PHP registers $argv & $argc each time it
-; runs. $argv contains an array of all the arguments passed to PHP when a script
-; is invoked. $argc contains an integer representing the number of arguments
-; that were passed when the script was invoked. These arrays are extremely
-; useful when running scripts from the command line. When this directive is
-; enabled, registering these variables consumes CPU cycles and memory each time
-; a script is executed. For performance reasons, this feature should be disabled
-; on production servers.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://www.php.net/manual/en/ini.core.php#ini.register-argc-argv
-register_argc_argv = Off
-
-; When enabled, the SERVER and ENV variables are created when they're first
-; used (Just In Time) instead of when the script starts. If these variables
-; are not used within a script, having this directive on will result in a
-; performance gain. The PHP directives register_globals, register_long_arrays,
-; and register_argc_argv must be disabled for this directive to have any affect.
-; http://www.php.net/manual/en/ini.core.php#ini.auto-globals-jit
-auto_globals_jit = On
-
-; Maximum size of POST data that PHP will accept.
-; http://www.php.net/manual/en/ini.core.php#ini.post-max-size
-post_max_size = 8M
-
-; Magic quotes are a preprocessing feature of PHP where PHP will attempt to
-; escape any character sequences in GET, POST, COOKIE and ENV data which might
-; otherwise corrupt data being placed in resources such as databases before
-; making that data available to you. Because of character encoding issues and
-; non-standard SQL implementations across many databases, it's not currently
-; possible for this feature to be 100% accurate. PHP's default behavior is to
-; enable the feature. We strongly recommend you use the escaping mechanisms
-; designed specifically for the database your using instead of relying on this
-; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is
-; scheduled for removal in PHP 6.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc
-magic_quotes_gpc = Off
-
-; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
-; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-runtime
-magic_quotes_runtime = Off
-
-; Use Sybase-style magic quotes (escape ' with '' instead of \').
-; http://www.php.net/manual/en/sybase.configuration.php#ini.magic-quotes-sybase
-magic_quotes_sybase = Off
-
-; Automatically add files before PHP document.
-; http://www.php.net/manual/en/ini.core.php#ini.auto-prepend-file
-auto_prepend_file =
-
-; Automatically add files after PHP document.
-; http://www.php.net/manual/en/ini.core.php#ini.auto-append-file
-auto_append_file =
-
-; As of 4.0b4, PHP always outputs a character encoding by default in
-; the Content-type: header.  To disable sending of the charset, simply
-; set it to be empty.
-;
-; PHP's built-in default is text/html
-; http://www.php.net/manual/en/ini.core.php#ini.default-mimetype
-default_mimetype = "text/html"
-
-; PHP's default character set is set to empty.
-; http://www.php.net/manual/en/ini.core.php#ini.default-charset
-;default_charset = "iso-8859-1"
-
-; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is
-; to disable this feature.
-; http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data
-;always_populate_raw_post_data = On
-
-;;;;;;;;;;;;;;;;;;;;;;;;;
-; Paths and Directories ;
-;;;;;;;;;;;;;;;;;;;;;;;;;
-
-; UNIX: "/path1:/path2"
-;include_path = ".:/php/includes"
-;
-; Windows: "\path1;\path2"
-;include_path = ".;c:\php\includes"
-;
-; PHP's default setting for include_path is ".;/path/to/php/pear"
-; http://www.php.net/manual/en/ini.core.php#ini.include-path
-
-; The root of the PHP pages, used only if nonempty.
-; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
-; if you are running php as a CGI under any web server (other than IIS)
-; see documentation for security issues.  The alternate is to use the
-; cgi.force_redirect configuration below
-; http://www.php.net/manual/en/ini.core.php#ini.doc-root
-doc_root =
-
-; The directory under which PHP opens the script using /~username used only
-; if nonempty.
-; http://www.php.net/manual/en/ini.core.php#ini.user-dir
-user_dir =
-
-; Directory in which the loadable extensions (modules) reside.
-; http://www.php.net/manual/en/ini.core.php#ini.extension-dir
-; extension_dir = "./"
-
-; Whether or not to enable the dl() function.  The dl() function does NOT work
-; properly in multithreaded servers, such as IIS or Zeus, and is automatically
-; disabled on them.
-; http://www.php.net/manual/en/info.configuration.php#ini.enable-dl
-enable_dl = Off
-
-; cgi.force_redirect is necessary to provide security running PHP as a CGI under
-; most web servers.  Left undefined, PHP turns this on by default.  You can
-; turn it off here AT YOUR OWN RISK
-; **You CAN safely turn this off for IIS, in fact, you MUST.**
-; http://www.php.net/manual/en/ini.core.php#ini.cgi.force-redirect
-;cgi.force_redirect = 1
-
-; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
-; every request. PHP's default behavior is to disable this feature.
-;cgi.nph = 1
-
-; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
-; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
-; will look for to know it is OK to continue execution.  Setting this variable MAY
-; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
-; http://www.php.net/manual/en/ini.core.php#ini.cgi.redirect-status-env
-;cgi.redirect_status_env = ;
-
-; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
-; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
-; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
-; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
-; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
-; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
-; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
-cgi.fix_pathinfo=1
-
-; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
-; security tokens of the calling client.  This allows IIS to define the
-; security context that the request runs under.  mod_fastcgi under Apache
-; does not currently support this feature (03/17/2002)
-; Set to 1 if running under IIS.  Default is zero.
-; http://www.php.net/manual/en/ini.core.php#ini.fastcgi.impersonate
-;fastcgi.impersonate = 1;
-
-; Disable logging through FastCGI connection. PHP's default behavior is to enable
-; this feature.
-;fastcgi.logging = 0
-
-; cgi.rfc2616_headers configuration option tells PHP what type of headers to
-; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
-; is supported by Apache. When this option is set to 1 PHP will send
-; RFC2616 compliant header.
-; Default is zero.
-; http://www.php.net/manual/en/ini.core.php#ini.cgi.rfc2616-headers
-;cgi.rfc2616_headers = 0
-
-;;;;;;;;;;;;;;;;
-; File Uploads ;
-;;;;;;;;;;;;;;;;
-
-; Whether to allow HTTP file uploads.
-; http://www.php.net/manual/en/ini.core.php#ini.file-uploads
-file_uploads = On
-
-; Temporary directory for HTTP uploaded files (will use system default if not
-; specified).
-; http://www.php.net/manual/en/ini.core.php#ini.upload-tmp-dir
-;upload_tmp_dir =
-
-; Maximum allowed size for uploaded files.
-; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize
-upload_max_filesize = 2M
-
-;;;;;;;;;;;;;;;;;;
-; Fopen wrappers ;
-;;;;;;;;;;;;;;;;;;
-
-; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen
-allow_url_fopen = On
-
-; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include
-allow_url_include = Off
-
-; Define the anonymous ftp password (your email address). PHP's default setting
-; for this is empty.
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.from
-;from="john@doe.com"
-
-; Define the User-Agent string. PHP's default setting for this is empty.
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.user-agent
-;user_agent="PHP"
-
-; Default timeout for socket based streams (seconds)
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout
-default_socket_timeout = 60
-
-; If your scripts have to deal with files from Macintosh systems,
-; or you are running on a Mac and need to deal with files from
-; unix or win32 systems, setting this flag will cause PHP to
-; automatically detect the EOL character in those files so that
-; fgets() and file() will work regardless of the source of the file.
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.auto-detect-line-endings
-;auto_detect_line_endings = Off
-
-;;;;;;;;;;;;;;;;;;;;;;
-; Dynamic Extensions ;
-;;;;;;;;;;;;;;;;;;;;;;
-
-; If you wish to have an extension loaded automatically, use the following
-; syntax:
-;
-;   extension=modulename.extension
-;
-; For example
-;
-;   extension=msql.so
-;
-; ... or with a path:
-;
-;   extension=/path/to/extension/msql.so
-;
-; If you only provide the name of the extension, PHP will look for it in its
-; default extension directory.
-
-;;;;
-; Note: packaged extension modules are now loaded via the .ini files
-; found in the directory /etc/php.d; these are loaded by default.
-;;;;
-
-
-;;;;;;;;;;;;;;;;;;;
-; Module Settings ;
-;;;;;;;;;;;;;;;;;;;
-
-[Date]
-; Defines the default timezone used by the date functions
-; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
-;date.timezone =
-
-; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-latitude
-;date.default_latitude = 31.7667
-
-; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-longitude
-;date.default_longitude = 35.2333
-
-; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunrise-zenith
-;date.sunrise_zenith = 90.583333
-
-; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunset-zenith
-;date.sunset_zenith = 90.583333
-
-[filter]
-; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default
-;filter.default = unsafe_raw
-
-; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default-flags
-;filter.default_flags =
-
-[iconv]
-;iconv.input_encoding = ISO-8859-1
-;iconv.internal_encoding = ISO-8859-1
-;iconv.output_encoding = ISO-8859-1
-
-[intl]
-;intl.default_locale = 
-
-[sqlite]
-; http://www.php.net/manual/en/sqlite.configuration.php#ini.sqlite.assoc-case
-;sqlite.assoc_case = 0
-
-[sqlite3]
-;sqlite3.extension_dir =
-
-[Pcre]
-;PCRE library backtracking limit.
-; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.backtrack-limit
-;pcre.backtrack_limit=100000
-
-;PCRE library recursion limit. 
-;Please note that if you set this value to a high number you may consume all 
-;the available process stack and eventually crash PHP (due to reaching the 
-;stack size limit imposed by the Operating System).
-; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit
-;pcre.recursion_limit=100000
-
-[Pdo]
-; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
-; http://www.php.net/manual/en/ref.pdo-odbc.php#ini.pdo-odbc.connection-pooling
-;pdo_odbc.connection_pooling=strict
-
-[Phar]
-; http://www.php.net/manual/en/phar.configuration.php#ini.phar.readonly
-;phar.readonly = On
-
-; http://www.php.net/manual/en/phar.configuration.php#ini.phar.require-hash
-;phar.require_hash = On
-
-;phar.cache_list =
-
-[Syslog]
-; Whether or not to define the various syslog variables (e.g. $LOG_PID,
-; $LOG_CRON, etc.).  Turning it off is a good idea performance-wise.  In
-; runtime, you can define these variables by calling define_syslog_variables().
-; http://www.php.net/manual/en/network.configuration.php#ini.define-syslog-variables
-define_syslog_variables  = Off
-
-[mail function]
-; For Win32 only.
-; http://www.php.net/manual/en/mail.configuration.php#ini.smtp
-SMTP = localhost
-; http://www.php.net/manual/en/mail.configuration.php#ini.smtp-port
-smtp_port = 25
-
-; For Win32 only.
-; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-from
-;sendmail_from = me@example.com
-
-; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
-; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-path
-sendmail_path = /usr/sbin/sendmail -t -i
-
-; Force the addition of the specified parameters to be passed as extra parameters
-; to the sendmail binary. These parameters will always replace the value of
-; the 5th parameter to mail(), even in safe mode.
-;mail.force_extra_parameters =
-
-; Add X-PHP-Originaiting-Script: that will include uid of the script followed by the filename
-mail.add_x_header = On
-
-; Log all mail() calls including the full path of the script, line #, to address and headers
-;mail.log =
-
-[SQL]
-; http://www.php.net/manual/en/ini.core.php#ini.sql.safe-mode
-sql.safe_mode = Off
-
-[ODBC]
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-db
-;odbc.default_db    =  Not yet implemented
-
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-user
-;odbc.default_user  =  Not yet implemented
-
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-pw
-;odbc.default_pw    =  Not yet implemented
-
-; Allow or prevent persistent links.
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.allow-persistent
-odbc.allow_persistent = On
-
-; Check that a connection is still valid before reuse.
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.check-persistent
-odbc.check_persistent = On
-
-; Maximum number of persistent links.  -1 means no limit.
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-persistent
-odbc.max_persistent = -1
-
-; Maximum number of links (persistent + non-persistent).  -1 means no limit.
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-links
-odbc.max_links = -1
-
-; Handling of LONG fields.  Returns number of bytes to variables.  0 means
-; passthru.
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultlrl
-odbc.defaultlrl = 4096
-
-; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.
-; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
-; of uodbc.defaultlrl and uodbc.defaultbinmode
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultbinmode
-odbc.defaultbinmode = 1
-
-;birdstep.max_links = -1
-
-[MySQL]
-; Allow or prevent persistent links.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.allow-persistent
-mysql.allow_persistent = On
-
-; Maximum number of persistent links.  -1 means no limit.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-persistent
-mysql.max_persistent = -1
-
-; Maximum number of links (persistent + non-persistent).  -1 means no limit.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-links
-mysql.max_links = -1
-
-; Default port number for mysql_connect().  If unset, mysql_connect() will use
-; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
-; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
-; at MYSQL_PORT.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-port
-mysql.default_port =
-
-; Default socket name for local MySQL connects.  If empty, uses the built-in
-; MySQL defaults.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-socket
-mysql.default_socket =
-
-; Default host for mysql_connect() (doesn't apply in safe mode).
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-host
-mysql.default_host =
-
-; Default user for mysql_connect() (doesn't apply in safe mode).
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-user
-mysql.default_user =
-
-; Default password for mysql_connect() (doesn't apply in safe mode).
-; Note that this is generally a *bad* idea to store passwords in this file.
-; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
-; and reveal this password!  And of course, any users with read access to this
-; file will be able to reveal the password as well.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-password
-mysql.default_password =
-
-; Maximum time (in seconds) for connect timeout. -1 means no limit
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.connect-timeout
-mysql.connect_timeout = 60
-
-; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
-; SQL-Errors will be displayed.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.trace-mode
-mysql.trace_mode = Off
-
-[MySQLi]
-
-; Maximum number of links.  -1 means no limit.
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.max-links
-mysqli.max_links = -1
-
-; Default port number for mysqli_connect().  If unset, mysqli_connect() will use
-; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
-; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
-; at MYSQL_PORT.
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-port
-mysqli.default_port = 3306
-
-; Default socket name for local MySQL connects.  If empty, uses the built-in
-; MySQL defaults.
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-socket
-mysqli.default_socket =
-
-; Default host for mysql_connect() (doesn't apply in safe mode).
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-host
-mysqli.default_host =
-
-; Default user for mysql_connect() (doesn't apply in safe mode).
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-user
-mysqli.default_user =
-
-; Default password for mysqli_connect() (doesn't apply in safe mode).
-; Note that this is generally a *bad* idea to store passwords in this file.
-; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
-; and reveal this password!  And of course, any users with read access to this
-; file will be able to reveal the password as well.
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-pw
-mysqli.default_pw =
-
-; Allow or prevent reconnect
-mysqli.reconnect = Off
-
-[PostgresSQL]
-; Allow or prevent persistent links.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.allow-persistent
-pgsql.allow_persistent = On
-
-; Detect broken persistent links always with pg_pconnect().
-; Auto reset feature requires a little overheads.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.auto-reset-persistent
-pgsql.auto_reset_persistent = Off
-
-; Maximum number of persistent links.  -1 means no limit.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-persistent
-pgsql.max_persistent = -1
-
-; Maximum number of links (persistent+non persistent).  -1 means no limit.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-links
-pgsql.max_links = -1
-
-; Ignore PostgreSQL backends Notice message or not.
-; Notice message logging require a little overheads.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.ignore-notice
-pgsql.ignore_notice = 0
-
-; Log PostgreSQL backends Noitce message or not.
-; Unless pgsql.ignore_notice=0, module cannot log notice message.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.log-notice
-pgsql.log_notice = 0
-
-[Sybase-CT]
-; Allow or prevent persistent links.
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.allow-persistent
-sybct.allow_persistent = On
-
-; Maximum number of persistent links.  -1 means no limit.
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-persistent
-sybct.max_persistent = -1
-
-; Maximum number of links (persistent + non-persistent).  -1 means no limit.
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-links
-sybct.max_links = -1
-
-; Minimum server message severity to display.
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-server-severity
-sybct.min_server_severity = 10
-
-; Minimum client message severity to display.
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-client-severity
-sybct.min_client_severity = 10
-
-; Set per-context timeout
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.timeout
-;sybct.timeout=
-
-;sybct.packet_size
-
-[bcmath]
-; Number of decimal digits for all bcmath functions.
-; http://www.php.net/manual/en/bc.configuration.php#ini.bcmath.scale
-bcmath.scale = 0
-
-[browscap]
-; http://www.php.net/manual/en/misc.configuration.php#ini.browscap
-;browscap = extra/browscap.ini
-
-[Session]
-; Handler used to store/retrieve data.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.save-handler
-session.save_handler = files
-
-; Argument passed to save_handler.  In the case of files, this is the path
-; where data files are stored. Note: Windows users have to change this
-; variable in order to use PHP's session functions.
-;
-; As of PHP 4.0.1, you can define the path as:
-;
-;     session.save_path = "N;/path"
-;
-; where N is an integer.  Instead of storing all the session files in
-; /path, what this will do is use subdirectories N-levels deep, and
-; store the session data in those directories.  This is useful if you
-; or your OS have problems with lots of files in one directory, and is
-; a more efficient layout for servers that handle lots of sessions.
-;
-; NOTE 1: PHP will not create this directory structure automatically.
-;         You can use the script in the ext/session dir for that purpose.
-; NOTE 2: See the section on garbage collection below if you choose to
-;         use subdirectories for session storage
-;
-; The file storage module creates files using mode 600 by default.
-; You can change that by using
-;
-;     session.save_path = "N;MODE;/path"
-;
-; where MODE is the octal representation of the mode. Note that this
-; does not overwrite the process's umask.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.save-path
-session.save_path = "/tmp"
-
-; Whether to use cookies.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.use-cookies
-session.use_cookies = 1
-
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-secure
-;session.cookie_secure =
-
-; This option forces PHP to fetch and use a cookie for storing and maintaining
-; the session id. We encourage this operation as it's very helpful in combatting
-; session hijacking when not specifying and managing your own session id. It is
-; not the end all be all of session hijacking defense, but it's a good start.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.use-only-cookies
-session.use_only_cookies = 1
-
-; Name of the session (used as cookie name).
-; http://www.php.net/manual/en/session.configuration.php#ini.session.name
-session.name = PHPSESSID
-
-; Initialize session on request startup.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.auto-start
-session.auto_start = 0
-
-; Lifetime in seconds of cookie or, if 0, until browser is restarted.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime
-session.cookie_lifetime = 0
-
-; The path for which the cookie is valid.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-path
-session.cookie_path = /
-
-; The domain for which the cookie is valid.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain
-session.cookie_domain =
-
-; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-httponly
-session.cookie_httponly = 
-
-; Handler used to serialize data.  php is the standard serializer of PHP.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.serialize-handler
-session.serialize_handler = php
-
-; Defines the probability that the 'garbage collection' process is started
-; on every session initialization. The probability is calculated by using
-; gc_probability/gc_divisor. Where session.gc_probability is the numerator
-; and gc_divisor is the denominator in the equation. Setting this value to 1
-; when the session.gc_divisor value is 100 will give you approximately a 1% chance
-; the gc will run on any give request.
-; Default Value: 1
-; Development Value: 1
-; Production Value: 1
-; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability
-session.gc_probability = 1
-
-; Defines the probability that the 'garbage collection' process is started on every
-; session initialization. The probability is calculated by using the following equation: 
-; gc_probability/gc_divisor. Where session.gc_probability is the numerator and
-; session.gc_divisor is the denominator in the equation. Setting this value to 1
-; when the session.gc_divisor value is 100 will give you approximately a 1% chance
-; the gc will run on any give request. Increasing this value to 1000 will give you
-; a 0.1% chance the gc will run on any give request. For high volume production servers,
-; this is a more efficient approach.
-; Default Value: 100
-; Development Value: 1000
-; Production Value: 1000
-; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisor
-session.gc_divisor = 1000
-
-; After this number of seconds, stored data will be seen as 'garbage' and
-; cleaned up by the garbage collection process.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime
-session.gc_maxlifetime = 1440
-
-; NOTE: If you are using the subdirectory option for storing session files
-;       (see session.save_path above), then garbage collection does *not*
-;       happen automatically.  You will need to do your own garbage
-;       collection through a shell script, cron entry, or some other method.
-;       For example, the following script would is the equivalent of
-;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
-;          cd /path/to/sessions; find -cmin +24 | xargs rm
-
-; PHP 4.2 and less have an undocumented feature/bug that allows you to
-; to initialize a session variable in the global scope, even when register_globals
-; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
-; You can disable the feature and the warning separately. At this time,
-; the warning is only displayed, if bug_compat_42 is enabled. This feature
-; introduces some serious security problems if not handled correctly. It's
-; recommended that you do not use this feature on production servers. But you
-; should enable this on development servers and enable the warning as well. If you
-; do not enable the feature on development servers, you won't be warned when it's
-; used and debugging errors caused by this can be difficult to track down.
-; Default Value: On
-; Development Value: On
-; Production Value: Off
-; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-42
-session.bug_compat_42 = Off
-
-; This setting controls whether or not you are warned by PHP when initializing a
-; session value into the global space. session.bug_compat_42 must be enabled before
-; these warnings can be issued by PHP. See the directive above for more information.
-; Default Value: On
-; Development Value: On
-; Production Value: Off
-; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-warn
-session.bug_compat_warn = Off
-
-; Check HTTP Referer to invalidate externally stored URLs containing ids.
-; HTTP_REFERER has to contain this substring for the session to be
-; considered as valid.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.referer-check
-session.referer_check =
-
-; How many bytes to read from the file.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length
-session.entropy_length = 0
-
-; Specified here to create the session id.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-file
-;session.entropy_file = /dev/urandom
-session.entropy_file =
-
-; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length
-;session.entropy_length = 16
-
-; Set to {nocache,private,public,} to determine HTTP caching aspects
-; or leave this empty to avoid sending anti-caching headers.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-limiter
-session.cache_limiter = nocache
-
-; Document expires after n minutes.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-expire
-session.cache_expire = 180
-
-; trans sid support is disabled by default.
-; Use of trans sid may risk your users security.
-; Use this option with caution.
-; - User may send URL contains active session ID
-;   to other person via. email/irc/etc.
-; - URL that contains active session ID may be stored
-;   in publically accessible computer.
-; - User may access your site with the same session ID
-;   always using URL stored in browser's history or bookmarks.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid
-session.use_trans_sid = 0
-
-; Select a hash function for use in generating session ids.
-; Possible Values 
-;   0  (MD5 128 bits)
-;   1  (SHA-1 160 bits)
-; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-function
-session.hash_function = 0
-
-; Define how many bits are stored in each character when converting
-; the binary hash data to something readable.
-; Possible values:
-;   4  (4 bits: 0-9, a-f)
-;   5  (5 bits: 0-9, a-v)
-;   6  (6 bits: 0-9, a-z, A-Z, "-", ",")
-; Default Value: 4
-; Development Value: 5
-; Production Value: 5
-; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-bits-per-character
-session.hash_bits_per_character = 5
-
-; The URL rewriter will look for URLs in a defined set of HTML tags.
-; form/fieldset are special; if you include them here, the rewriter will
-; add a hidden <input> field with the info which is otherwise appended
-; to URLs.  If you want XHTML conformity, remove the form entry.
-; Note that all valid entries require a "=", even if no value follows.
-; Default Value: "a=href,area=href,frame=src,form=,fieldset="
-; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
-; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
-; http://www.php.net/manual/en/session.configuration.php#ini.url-rewriter.tags
-url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
-
-[MSSQL]
-; Allow or prevent persistent links.
-mssql.allow_persistent = On
-
-; Maximum number of persistent links.  -1 means no limit.
-mssql.max_persistent = -1
-
-; Maximum number of links (persistent+non persistent).  -1 means no limit.
-mssql.max_links = -1
-
-; Minimum error severity to display.
-mssql.min_error_severity = 10
-
-; Minimum message severity to display.
-mssql.min_message_severity = 10
-
-; Compatibility mode with old versions of PHP 3.0.
-mssql.compatability_mode = Off
-
-; Connect timeout
-;mssql.connect_timeout = 5
-
-; Query timeout
-;mssql.timeout = 60
-
-; Valid range 0 - 2147483647.  Default = 4096.
-;mssql.textlimit = 4096
-
-; Valid range 0 - 2147483647.  Default = 4096.
-;mssql.textsize = 4096
-
-; Limits the number of records in each batch.  0 = all records in one batch.
-;mssql.batchsize = 0
-
-; Specify how datetime and datetim4 columns are returned
-; On => Returns data converted to SQL server settings
-; Off => Returns values as YYYY-MM-DD hh:mm:ss
-;mssql.datetimeconvert = On
-
-; Use NT authentication when connecting to the server
-mssql.secure_connection = Off
-
-; Specify max number of processes. -1 = library default
-; msdlib defaults to 25
-; FreeTDS defaults to 4096
-;mssql.max_procs = -1
-
-; Specify client character set. 
-; If empty or not set the client charset from freetds.comf is used
-; This is only used when compiled with FreeTDS
-;mssql.charset = "ISO-8859-1"
-
-[Assertion]
-; Assert(expr); active by default.
-; http://www.php.net/manual/en/info.configuration.php#ini.assert.active
-;assert.active = On
-
-; Issue a PHP warning for each failed assertion.
-; http://www.php.net/manual/en/info.configuration.php#ini.assert.warning
-;assert.warning = On
-
-; Don't bail out by default.
-; http://www.php.net/manual/en/info.configuration.php#ini.assert.bail
-;assert.bail = Off
-
-; User-function to be called if an assertion fails.
-; http://www.php.net/manual/en/info.configuration.php#ini.assert.callback
-;assert.callback = 0
-
-; Eval the expression with current error_reporting().  Set to true if you want
-; error_reporting(0) around the eval().
-; http://www.php.net/manual/en/info.configuration.php#ini.assert.quiet-eval
-;assert.quiet_eval = 0
-
-[COM]
-; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
-; http://www.php.net/manual/en/com.configuration.php#ini.com.typelib-file
-;com.typelib_file =
-
-; allow Distributed-COM calls
-; http://www.php.net/manual/en/com.configuration.php#ini.com.allow-dcom
-;com.allow_dcom = true
-
-; autoregister constants of a components typlib on com_load()
-; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-typelib
-;com.autoregister_typelib = true
-
-; register constants casesensitive
-; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-casesensitive
-;com.autoregister_casesensitive = false
-
-; show warnings on duplicate constant registrations
-; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-verbose
-;com.autoregister_verbose = true
-
-[mbstring]
-; language for internal character representation.
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.language
-;mbstring.language = Japanese
-
-; internal/script encoding.
-; Some encoding cannot work as internal encoding.
-; (e.g. SJIS, BIG5, ISO-2022-*)
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding
-;mbstring.internal_encoding = EUC-JP
-
-; http input encoding.
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-input
-;mbstring.http_input = auto
-
-; http output encoding. mb_output_handler must be
-; registered as output buffer to function
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-output
-;mbstring.http_output = SJIS
-
-; enable automatic encoding translation according to
-; mbstring.internal_encoding setting. Input chars are
-; converted to internal encoding by setting this to On.
-; Note: Do _not_ use automatic encoding translation for
-;       portable libs/applications.
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.encoding-translation
-;mbstring.encoding_translation = Off
-
-; automatic encoding detection order.
-; auto means
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.detect-order
-;mbstring.detect_order = auto
-
-; substitute_character used when character cannot be converted
-; one from another
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.substitute-character
-;mbstring.substitute_character = none;
-
-; overload(replace) single byte functions by mbstring functions.
-; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
-; etc. Possible values are 0,1,2,4 or combination of them.
-; For example, 7 for overload everything.
-; 0: No overload
-; 1: Overload mail() function
-; 2: Overload str*() functions
-; 4: Overload ereg*() functions
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.func-overload
-;mbstring.func_overload = 0
-
-; enable strict encoding detection.
-;mbstring.strict_detection = Off
-
-; This directive specifies the regex pattern of content types for which mb_output_handler()
-; is activated.
-; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
-;mbstring.http_output_conv_mimetype=
-
-[gd]
-; Tell the jpeg decode to ignore warnings and try to create
-; a gd image. The warning will then be displayed as notices
-; disabled by default
-; http://www.php.net/manual/en/image.configuration.php#ini.image.jpeg-ignore-warning
-;gd.jpeg_ignore_warning = 0
-
-[exif]
-; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
-; With mbstring support this will automatically be converted into the encoding
-; given by corresponding encode setting. When empty mbstring.internal_encoding
-; is used. For the decode settings you can distinguish between motorola and
-; intel byte order. A decode setting cannot be empty.
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-unicode
-;exif.encode_unicode = ISO-8859-15
-
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-motorola
-;exif.decode_unicode_motorola = UCS-2BE
-
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-intel
-;exif.decode_unicode_intel    = UCS-2LE
-
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-jis
-;exif.encode_jis =
-
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-motorola
-;exif.decode_jis_motorola = JIS
-
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-intel
-;exif.decode_jis_intel    = JIS
-
-[Tidy]
-; The path to a default tidy configuration file to use when using tidy
-; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.default-config
-;tidy.default_config = /usr/local/lib/php/default.tcfg
-
-; Should tidy clean and repair output automatically?
-; WARNING: Do not use this option if you are generating non-html content
-; such as dynamic images
-; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.clean-output
-tidy.clean_output = Off
-
-[soap]
-; Enables or disables WSDL caching feature.
-; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-enabled
-soap.wsdl_cache_enabled=1
-
-; Sets the directory name where SOAP extension will put cache files.
-; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-dir
-soap.wsdl_cache_dir="/tmp"
-
-; (time to live) Sets the number of second while cached file will be used 
-; instead of original one.
-; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-ttl
-soap.wsdl_cache_ttl=86400
-
-[sysvshm]
-; A default size of the shared memory segment
-;sysvshm.init_mem = 10000
-
-
-; Local Variables:
-; tab-width: 4
-; End:
-

file:a/aws/postgresql.conf (deleted)
--- a/aws/postgresql.conf
+++ /dev/null
@@ -1,502 +1,1 @@
-# -----------------------------
-# PostgreSQL configuration file
-# -----------------------------
-#
-# This file consists of lines of the form:
-#
-#   name = value
-#
-# (The "=" is optional.)  Whitespace may be used.  Comments are introduced with
-# "#" anywhere on a line.  The complete list of parameter names and allowed
-# values can be found in the PostgreSQL documentation.
-#
-# The commented-out settings shown in this file represent the default values.
-# Re-commenting a setting is NOT sufficient to revert it to the default value;
-# you need to reload the server.
-#
-# This file is read on server startup and when the server receives a SIGHUP
-# signal.  If you edit the file on a running system, you have to SIGHUP the
-# server for the changes to take effect, or use "pg_ctl reload".  Some
-# parameters, which are marked below, require a server shutdown and restart to
-# take effect.
-#
-# Any parameter can also be given as a command-line option to the server, e.g.,
-# "postgres -c log_connections=on".  Some parameters can be changed at run time
-# with the "SET" SQL command.
-#
-# Memory units:  kB = kilobytes        Time units:  ms  = milliseconds
-#                MB = megabytes                     s   = seconds
-#                GB = gigabytes                     min = minutes
-#                                                   h   = hours
-#                                                   d   = days
 
-
-#------------------------------------------------------------------------------
-# FILE LOCATIONS
-#------------------------------------------------------------------------------
-
-# The default values of these variables are driven from the -D command-line
-# option or PGDATA environment variable, represented here as ConfigDir.
-
-#data_directory = 'ConfigDir'		# use data in another directory
-					# (change requires restart)
-#hba_file = 'ConfigDir/pg_hba.conf'	# host-based authentication file
-					# (change requires restart)
-#ident_file = 'ConfigDir/pg_ident.conf'	# ident configuration file
-					# (change requires restart)
-
-# If external_pid_file is not explicitly set, no extra PID file is written.
-#external_pid_file = '(none)'		# write an extra PID file
-					# (change requires restart)
-
-
-#------------------------------------------------------------------------------
-# CONNECTIONS AND AUTHENTICATION
-#------------------------------------------------------------------------------
-
-# - Connection Settings -
-
-listen_addresses = '*'		# what IP address(es) to listen on;
-					# comma-separated list of addresses;
-					# defaults to 'localhost', '*' = all
-					# (change requires restart)
-#port = 5432				# (change requires restart)
-max_connections = 100			# (change requires restart)
-# Note:  Increasing max_connections costs ~400 bytes of shared memory per 
-# connection slot, plus lock space (see max_locks_per_transaction).
-#superuser_reserved_connections = 3	# (change requires restart)
-#unix_socket_directory = ''		# (change requires restart)
-#unix_socket_group = ''			# (change requires restart)
-#unix_socket_permissions = 0777		# begin with 0 to use octal notation
-					# (change requires restart)
-#bonjour_name = ''			# defaults to the computer name
-					# (change requires restart)
-
-# - Security and Authentication -
-
-#authentication_timeout = 1min		# 1s-600s
-#ssl = off				# (change requires restart)
-#ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH'	# allowed SSL ciphers
-					# (change requires restart)
-#ssl_renegotiation_limit = 512MB	# amount of data between renegotiations
-#password_encryption = on
-#db_user_namespace = off
-
-# Kerberos and GSSAPI
-#krb_server_keyfile = ''
-#krb_srvname = 'postgres'		# (Kerberos only)
-#krb_caseins_users = off
-
-# - TCP Keepalives -
-# see "man 7 tcp" for details
-
-#tcp_keepalives_idle = 0		# TCP_KEEPIDLE, in seconds;
-					# 0 selects the system default
-#tcp_keepalives_interval = 0		# TCP_KEEPINTVL, in seconds;
-					# 0 selects the system default
-#tcp_keepalives_count = 0		# TCP_KEEPCNT;
-					# 0 selects the system default
-
-
-#------------------------------------------------------------------------------
-# RESOURCE USAGE (except WAL)
-#------------------------------------------------------------------------------
-
-# - Memory -
-
-shared_buffers = 32MB			# min 128kB
-					# (change requires restart)
-#temp_buffers = 8MB			# min 800kB
-#max_prepared_transactions = 0		# zero disables the feature
-					# (change requires restart)
-# Note:  Increasing max_prepared_transactions costs ~600 bytes of shared memory
-# per transaction slot, plus lock space (see max_locks_per_transaction).
-# It is not advisable to set max_prepared_transactions nonzero unless you
-# actively intend to use prepared transactions.
-#work_mem = 1MB				# min 64kB
-#maintenance_work_mem = 16MB		# min 1MB
-#max_stack_depth = 2MB			# min 100kB
-
-# - Kernel Resource Usage -
-
-#max_files_per_process = 1000		# min 25
-					# (change requires restart)
-#shared_preload_libraries = ''		# (change requires restart)
-
-# - Cost-Based Vacuum Delay -
-
-#vacuum_cost_delay = 0ms		# 0-100 milliseconds
-#vacuum_cost_page_hit = 1		# 0-10000 credits
-#vacuum_cost_page_miss = 10		# 0-10000 credits
-#vacuum_cost_page_dirty = 20		# 0-10000 credits
-#vacuum_cost_limit = 200		# 1-10000 credits
-
-# - Background Writer -
-
-#bgwriter_delay = 200ms			# 10-10000ms between rounds
-#bgwriter_lru_maxpages = 100		# 0-1000 max buffers written/round
-#bgwriter_lru_multiplier = 2.0		# 0-10.0 multipler on buffers scanned/round
-
-# - Asynchronous Behavior -
-
-#effective_io_concurrency = 1		# 1-1000. 0 disables prefetching
-
-
-#------------------------------------------------------------------------------
-# WRITE AHEAD LOG
-#------------------------------------------------------------------------------
-
-# - Settings -
-
-#fsync = on				# turns forced synchronization on or off
-#synchronous_commit = on		# immediate fsync at commit
-#wal_sync_method = fsync		# the default is the first option 
-					# supported by the operating system:
-					#   open_datasync
-					#   fdatasync
-					#   fsync
-					#   fsync_writethrough
-					#   open_sync
-#full_page_writes = on			# recover from partial page writes
-#wal_buffers = 64kB			# min 32kB
-					# (change requires restart)
-#wal_writer_delay = 200ms		# 1-10000 milliseconds
-
-#commit_delay = 0			# range 0-100000, in microseconds
-#commit_siblings = 5			# range 1-1000
-
-# - Checkpoints -
-
-#checkpoint_segments = 3		# in logfile segments, min 1, 16MB each
-#checkpoint_timeout = 5min		# range 30s-1h
-#checkpoint_completion_target = 0.5	# checkpoint target duration, 0.0 - 1.0
-#checkpoint_warning = 30s		# 0 disables
-
-# - Archiving -
-
-#archive_mode = off		# allows archiving to be done
-				# (change requires restart)
-#archive_command = ''		# command to use to archive a logfile segment
-#archive_timeout = 0		# force a logfile segment switch after this
-				# number of seconds; 0 disables
-
-
-#------------------------------------------------------------------------------
-# QUERY TUNING
-#------------------------------------------------------------------------------
-
-# - Planner Method Configuration -
-
-#enable_bitmapscan = on
-#enable_hashagg = on
-#enable_hashjoin = on
-#enable_indexscan = on
-#enable_mergejoin = on
-#enable_nestloop = on
-#enable_seqscan = on
-#enable_sort = on
-#enable_tidscan = on
-
-# - Planner Cost Constants -
-
-#seq_page_cost = 1.0			# measured on an arbitrary scale
-#random_page_cost = 4.0			# same scale as above
-#cpu_tuple_cost = 0.01			# same scale as above
-#cpu_index_tuple_cost = 0.005		# same scale as above
-#cpu_operator_cost = 0.0025		# same scale as above
-#effective_cache_size = 128MB
-
-# - Genetic Query Optimizer -
-
-#geqo = on
-#geqo_threshold = 12
-#geqo_effort = 5			# range 1-10
-#geqo_pool_size = 0			# selects default based on effort
-#geqo_generations = 0			# selects default based on effort
-#geqo_selection_bias = 2.0		# range 1.5-2.0
-
-# - Other Planner Options -
-
-#default_statistics_target = 100	# range 1-10000
-#constraint_exclusion = partition	# on, off, or partition
-#cursor_tuple_fraction = 0.1		# range 0.0-1.0
-#from_collapse_limit = 8
-#join_collapse_limit = 8		# 1 disables collapsing of explicit 
-					# JOIN clauses
-
-
-#------------------------------------------------------------------------------
-# ERROR REPORTING AND LOGGING
-#------------------------------------------------------------------------------
-
-# - Where to Log -
-
-#log_destination = 'stderr'		# Valid values are combinations of
-					# stderr, csvlog, syslog and eventlog,
-					# depending on platform.  csvlog
-					# requires logging_collector to be on.
-
-# This is used when logging to stderr:
-logging_collector = on			# Enable capturing of stderr and csvlog
-					# into log files. Required to be on for
-					# csvlogs.
-					# (change requires restart)
-
-# These are only used if logging_collector is on:
-log_directory = 'pg_log'		# directory where log files are written,
-					# can be absolute or relative to PGDATA
-log_filename = 'postgresql-%a.log'	# log file name pattern,
-					# can include strftime() escapes
-log_truncate_on_rotation = on		# If on, an existing log file of the
-					# same name as the new log file will be
-					# truncated rather than appended to.
-					# But such truncation only occurs on
-					# time-driven rotation, not on restarts
-					# or size-driven rotation.  Default is
-					# off, meaning append to existing files
-					# in all cases.
-log_rotation_age = 1d			# Automatic rotation of logfiles will
-					# happen after that time.  0 disables.
-log_rotation_size = 0			# Automatic rotation of logfiles will 
-					# happen after that much log output.
-					# 0 disables.
-
-# These are relevant when logging to syslog:
-#syslog_facility = 'LOCAL0'
-#syslog_ident = 'postgres'
-
-#silent_mode = off			# Run server silently.
-					# DO NOT USE without syslog or
-					# logging_collector
-					# (change requires restart)
-
-
-# - When to Log -
-
-#client_min_messages = notice		# values in order of decreasing detail:
-					#   debug5
-					#   debug4
-					#   debug3
-					#   debug2
-					#   debug1
-					#   log
-					#   notice
-					#   warning
-					#   error
-
-#log_min_messages = warning		# values in order of decreasing detail:
-					#   debug5
-					#   debug4
-					#   debug3
-					#   debug2
-					#   debug1
-					#   info
-					#   notice
-					#   warning
-					#   error
-					#   log
-					#   fatal
-					#   panic
-
-#log_error_verbosity = default		# terse, default, or verbose messages
-
-#log_min_error_statement = error	# values in order of decreasing detail:
-				 	#   debug5
-					#   debug4
-					#   debug3
-					#   debug2
-					#   debug1
-				 	#   info
-					#   notice
-					#   warning
-					#   error
-					#   log
-					#   fatal
-					#   panic (effectively off)
-
-#log_min_duration_statement = -1	# -1 is disabled, 0 logs all statements
-					# and their durations, > 0 logs only
-					# statements running at least this number
-					# of milliseconds
-
-
-# - What to Log -
-
-#debug_print_parse = off
-#debug_print_rewritten = off
-#debug_print_plan = off
-#debug_pretty_print = on
-#log_checkpoints = off
-#log_connections = off
-#log_disconnections = off
-#log_duration = off
-#log_hostname = off
-#log_line_prefix = ''			# special values:
-					#   %u = user name
-					#   %d = database name
-					#   %r = remote host and port
-					#   %h = remote host
-					#   %p = process ID
-					#   %t = timestamp without milliseconds
-					#   %m = timestamp with milliseconds
-					#   %i = command tag
-					#   %c = session ID
-					#   %l = session line number
-					#   %s = session start timestamp
-					#   %v = virtual transaction ID
-					#   %x = transaction ID (0 if none)
-					#   %q = stop here in non-session
-					#        processes
-					#   %% = '%'
-					# e.g. '<%u%%%d> '
-#log_lock_waits = off			# log lock waits >= deadlock_timeout
-#log_statement = 'none'			# none, ddl, mod, all
-#log_temp_files = -1			# log temporary files equal or larger
-					# than the specified size in kilobytes;
-					# -1 disables, 0 logs all temp files
-#log_timezone = unknown			# actually, defaults to TZ environment
-					# setting
-
-
-#------------------------------------------------------------------------------
-# RUNTIME STATISTICS
-#------------------------------------------------------------------------------
-
-# - Query/Index Statistics Collector -
-
-#track_activities = on
-#track_counts = on
-#track_functions = none			# none, pl, all
-#track_activity_query_size = 1024
-#update_process_title = on
-#stats_temp_directory = 'pg_stat_tmp'
-
-
-# - Statistics Monitoring -
-
-#log_parser_stats = off
-#log_planner_stats = off
-#log_executor_stats = off
-#log_statement_stats = off
-
-
-#------------------------------------------------------------------------------
-# AUTOVACUUM PARAMETERS
-#------------------------------------------------------------------------------
-
-#autovacuum = on			# Enable autovacuum subprocess?  'on' 
-					# requires track_counts to also be on.
-#log_autovacuum_min_duration = -1	# -1 disables, 0 logs all actions and
-					# their durations, > 0 logs only
-					# actions running at least this number
-					# of milliseconds.
-#autovacuum_max_workers = 3		# max number of autovacuum subprocesses
-#autovacuum_naptime = 1min		# time between autovacuum runs
-#autovacuum_vacuum_threshold = 50	# min number of row updates before
-					# vacuum
-#autovacuum_analyze_threshold = 50	# min number of row updates before 
-					# analyze
-#autovacuum_vacuum_scale_factor = 0.2	# fraction of table size before vacuum
-#autovacuum_analyze_scale_factor = 0.1	# fraction of table size before analyze
-#autovacuum_freeze_max_age = 200000000	# maximum XID age before forced vacuum
-					# (change requires restart)
-#autovacuum_vacuum_cost_delay = 20ms	# default vacuum cost delay for
-					# autovacuum, in milliseconds;
-					# -1 means use vacuum_cost_delay
-#autovacuum_vacuum_cost_limit = -1	# default vacuum cost limit for
-					# autovacuum, -1 means use
-					# vacuum_cost_limit
-
-
-#------------------------------------------------------------------------------
-# CLIENT CONNECTION DEFAULTS
-#------------------------------------------------------------------------------
-
-# - Statement Behavior -
-
-#search_path = '"$user",public'		# schema names
-#default_tablespace = ''		# a tablespace name, '' uses the default
-#temp_tablespaces = ''			# a list of tablespace names, '' uses
-					# only default tablespace
-#check_function_bodies = on
-#default_transaction_isolation = 'read committed'
-#default_transaction_read_only = off
-#session_replication_role = 'origin'
-#statement_timeout = 0			# in milliseconds, 0 is disabled
-#vacuum_freeze_min_age = 50000000
-#vacuum_freeze_table_age = 150000000
-#xmlbinary = 'base64'
-#xmloption = 'content'
-
-# - Locale and Formatting -
-
-datestyle = 'iso, mdy'
-#intervalstyle = 'postgres'
-#timezone = unknown			# actually, defaults to TZ environment
-					# setting
-#timezone_abbreviations = 'Default'     # Select the set of available time zone
-					# abbreviations.  Currently, there are
-					#   Default
-					#   Australia
-					#   India
-					# You can create your own file in
-					# share/timezonesets/.
-#extra_float_digits = 0			# min -15, max 2
-#client_encoding = sql_ascii		# actually, defaults to database
-					# encoding
-
-# These settings are initialized by initdb, but they can be changed.
-lc_messages = 'en_US.UTF-8'			# locale for system error message
-					# strings
-lc_monetary = 'en_US.UTF-8'			# locale for monetary formatting
-lc_numeric = 'en_US.UTF-8'			# locale for number formatting
-lc_time = 'en_US.UTF-8'				# locale for time formatting
-
-# default configuration for text search
-default_text_search_config = 'pg_catalog.english'
-
-# - Other Defaults -
-
-#dynamic_library_path = '$libdir'
-#local_preload_libraries = ''
-
-
-#------------------------------------------------------------------------------
-# LOCK MANAGEMENT
-#------------------------------------------------------------------------------
-
-#deadlock_timeout = 1s
-#max_locks_per_transaction = 64		# min 10
-					# (change requires restart)
-# Note:  Each lock table slot uses ~270 bytes of shared memory, and there are
-# max_locks_per_transaction * (max_connections + max_prepared_transactions)
-# lock table slots.
-
-
-#------------------------------------------------------------------------------
-# VERSION/PLATFORM COMPATIBILITY
-#------------------------------------------------------------------------------
-
-# - Previous PostgreSQL Versions -
-
-#add_missing_from = off
-#array_nulls = on
-#backslash_quote = safe_encoding	# on, off, or safe_encoding
-#default_with_oids = off
-#escape_string_warning = on
-#regex_flavor = advanced		# advanced, extended, or basic
-#sql_inheritance = on
-#standard_conforming_strings = off
-#synchronize_seqscans = on
-
-# - Other Platforms and Clients -
-
-#transform_null_equals = off
-
-
-#------------------------------------------------------------------------------
-# CUSTOMIZED OPTIONS
-#------------------------------------------------------------------------------
-
-#custom_variable_classes = ''		# list of custom variable class names
-

file:a/aws/rc.local (deleted)
--- a/aws/rc.local
+++ /dev/null
@@ -1,14 +1,1 @@
-#!/bin/sh
-#
-# This script will be executed *after* all the other init scripts.
-# You can put your own initialization stuff in here if you don't
-# want to do the full Sys V style init stuff.
 
-touch /var/lock/subsys/local
-cd /tmp
-rm -rfv busui
-git clone http://maxious.lambdacomplex.org/busui/git
-sh busui/aws/awsStartup.sh
-
-
-

file:a/aws/transitdata.sql (deleted)
--- a/aws/transitdata.sql
+++ /dev/null
@@ -1,13723 +1,1 @@
---
--- PostgreSQL database dump
---
 
--- Dumped from database version 9.0.4
--- Dumped by pg_dump version 9.0.4
--- Started on 2011-10-11 23:16:11
-
-SET statement_timeout = 0;
-SET client_encoding = 'UTF8';
-SET standard_conforming_strings = off;
-SET check_function_bodies = false;
-SET client_min_messages = warning;
-SET escape_string_warning = off;
-
---
--- TOC entry 1168 (class 2612 OID 11574)
--- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: postgres
---
-
-CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql;
-
-
-ALTER PROCEDURAL LANGUAGE plpgsql OWNER TO postgres;
-
-SET search_path = public, pg_catalog;
-
---
--- TOC entry 1088 (class 0 OID 0)
--- Name: box2d; Type: SHELL TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE box2d;
-
-
---
--- TOC entry 15 (class 1255 OID 18351)
--- Dependencies: 6 1088
--- Name: box2d_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box2d_in(cstring) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_in';
-
-
-ALTER FUNCTION public.box2d_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 19 (class 1255 OID 18352)
--- Dependencies: 6 1088
--- Name: box2d_out(box2d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box2d_out(box2d) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_out';
-
-
-ALTER FUNCTION public.box2d_out(box2d) OWNER TO postgres;
-
---
--- TOC entry 1087 (class 1247 OID 18350)
--- Dependencies: 6 15 19
--- Name: box2d; Type: TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE box2d (
-    INTERNALLENGTH = 16,
-    INPUT = box2d_in,
-    OUTPUT = box2d_out,
-    ALIGNMENT = int4,
-    STORAGE = plain
-);
-
-
-ALTER TYPE public.box2d OWNER TO postgres;
-
---
--- TOC entry 1091 (class 0 OID 0)
--- Name: box3d; Type: SHELL TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE box3d;
-
-
---
--- TOC entry 20 (class 1255 OID 18355)
--- Dependencies: 6 1091
--- Name: box3d_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box3d_in(cstring) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_in';
-
-
-ALTER FUNCTION public.box3d_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 21 (class 1255 OID 18356)
--- Dependencies: 6 1091
--- Name: box3d_out(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box3d_out(box3d) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_out';
-
-
-ALTER FUNCTION public.box3d_out(box3d) OWNER TO postgres;
-
---
--- TOC entry 1090 (class 1247 OID 18354)
--- Dependencies: 6 21 20
--- Name: box3d; Type: TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE box3d (
-    INTERNALLENGTH = 48,
-    INPUT = box3d_in,
-    OUTPUT = box3d_out,
-    ALIGNMENT = double,
-    STORAGE = plain
-);
-
-
-ALTER TYPE public.box3d OWNER TO postgres;
-
---
--- TOC entry 1094 (class 0 OID 0)
--- Name: box3d_extent; Type: SHELL TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE box3d_extent;
-
-
---
--- TOC entry 22 (class 1255 OID 18359)
--- Dependencies: 6 1094
--- Name: box3d_extent_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box3d_extent_in(cstring) RETURNS box3d_extent
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_in';
-
-
-ALTER FUNCTION public.box3d_extent_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 23 (class 1255 OID 18360)
--- Dependencies: 6 1094
--- Name: box3d_extent_out(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box3d_extent_out(box3d_extent) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_extent_out';
-
-
-ALTER FUNCTION public.box3d_extent_out(box3d_extent) OWNER TO postgres;
-
---
--- TOC entry 1093 (class 1247 OID 18358)
--- Dependencies: 6 23 22
--- Name: box3d_extent; Type: TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE box3d_extent (
-    INTERNALLENGTH = 48,
-    INPUT = box3d_extent_in,
-    OUTPUT = box3d_extent_out,
-    ALIGNMENT = double,
-    STORAGE = plain
-);
-
-
-ALTER TYPE public.box3d_extent OWNER TO postgres;
-
---
--- TOC entry 1097 (class 0 OID 0)
--- Name: chip; Type: SHELL TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE chip;
-
-
---
--- TOC entry 24 (class 1255 OID 18363)
--- Dependencies: 6 1097
--- Name: chip_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION chip_in(cstring) RETURNS chip
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_in';
-
-
-ALTER FUNCTION public.chip_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 25 (class 1255 OID 18364)
--- Dependencies: 6 1097
--- Name: chip_out(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION chip_out(chip) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_out';
-
-
-ALTER FUNCTION public.chip_out(chip) OWNER TO postgres;
-
---
--- TOC entry 1096 (class 1247 OID 18362)
--- Dependencies: 6 25 24
--- Name: chip; Type: TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE chip (
-    INTERNALLENGTH = variable,
-    INPUT = chip_in,
-    OUTPUT = chip_out,
-    ALIGNMENT = double,
-    STORAGE = extended
-);
-
-
-ALTER TYPE public.chip OWNER TO postgres;
-
---
--- TOC entry 1100 (class 0 OID 0)
--- Name: geography; Type: SHELL TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE geography;
-
-
---
--- TOC entry 26 (class 1255 OID 18367)
--- Dependencies: 6
--- Name: geography_analyze(internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_analyze(internal) RETURNS boolean
-    LANGUAGE c STRICT
-    AS '$libdir/postgis-1.5', 'geography_analyze';
-
-
-ALTER FUNCTION public.geography_analyze(internal) OWNER TO postgres;
-
---
--- TOC entry 27 (class 1255 OID 18368)
--- Dependencies: 6 1100
--- Name: geography_in(cstring, oid, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_in(cstring, oid, integer) RETURNS geography
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_in';
-
-
-ALTER FUNCTION public.geography_in(cstring, oid, integer) OWNER TO postgres;
-
---
--- TOC entry 28 (class 1255 OID 18369)
--- Dependencies: 6 1100
--- Name: geography_out(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_out(geography) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_out';
-
-
-ALTER FUNCTION public.geography_out(geography) OWNER TO postgres;
-
---
--- TOC entry 29 (class 1255 OID 18370)
--- Dependencies: 6
--- Name: geography_typmod_in(cstring[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_typmod_in(cstring[]) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_typmod_in';
-
-
-ALTER FUNCTION public.geography_typmod_in(cstring[]) OWNER TO postgres;
-
---
--- TOC entry 30 (class 1255 OID 18371)
--- Dependencies: 6
--- Name: geography_typmod_out(integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_typmod_out(integer) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_typmod_out';
-
-
-ALTER FUNCTION public.geography_typmod_out(integer) OWNER TO postgres;
-
---
--- TOC entry 1099 (class 1247 OID 18366)
--- Dependencies: 26 6 27 28 29 30
--- Name: geography; Type: TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE geography (
-    INTERNALLENGTH = variable,
-    INPUT = geography_in,
-    OUTPUT = geography_out,
-    TYPMOD_IN = geography_typmod_in,
-    TYPMOD_OUT = geography_typmod_out,
-    ANALYZE = geography_analyze,
-    ALIGNMENT = double,
-    STORAGE = main
-);
-
-
-ALTER TYPE public.geography OWNER TO postgres;
-
---
--- TOC entry 1103 (class 0 OID 0)
--- Name: geometry; Type: SHELL TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE geometry;
-
-
---
--- TOC entry 31 (class 1255 OID 18374)
--- Dependencies: 6
--- Name: geometry_analyze(internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_analyze(internal) RETURNS boolean
-    LANGUAGE c STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_analyze';
-
-
-ALTER FUNCTION public.geometry_analyze(internal) OWNER TO postgres;
-
---
--- TOC entry 32 (class 1255 OID 18375)
--- Dependencies: 6 1103
--- Name: geometry_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_in(cstring) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_in';
-
-
-ALTER FUNCTION public.geometry_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 33 (class 1255 OID 18376)
--- Dependencies: 6 1103
--- Name: geometry_out(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_out(geometry) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_out';
-
-
-ALTER FUNCTION public.geometry_out(geometry) OWNER TO postgres;
-
---
--- TOC entry 34 (class 1255 OID 18377)
--- Dependencies: 6 1103
--- Name: geometry_recv(internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_recv(internal) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_recv';
-
-
-ALTER FUNCTION public.geometry_recv(internal) OWNER TO postgres;
-
---
--- TOC entry 35 (class 1255 OID 18378)
--- Dependencies: 6 1103
--- Name: geometry_send(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_send(geometry) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_send';
-
-
-ALTER FUNCTION public.geometry_send(geometry) OWNER TO postgres;
-
---
--- TOC entry 1102 (class 1247 OID 18373)
--- Dependencies: 33 34 35 31 6 32
--- Name: geometry; Type: TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE geometry (
-    INTERNALLENGTH = variable,
-    INPUT = geometry_in,
-    OUTPUT = geometry_out,
-    RECEIVE = geometry_recv,
-    SEND = geometry_send,
-    ANALYZE = geometry_analyze,
-    DELIMITER = ':',
-    ALIGNMENT = int4,
-    STORAGE = main
-);
-
-
-ALTER TYPE public.geometry OWNER TO postgres;
-
---
--- TOC entry 1105 (class 1247 OID 18382)
--- Dependencies: 6 2408
--- Name: geometry_dump; Type: TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE geometry_dump AS (
-	path integer[],
-	geom geometry
-);
-
-
-ALTER TYPE public.geometry_dump OWNER TO postgres;
-
---
--- TOC entry 1108 (class 0 OID 0)
--- Name: gidx; Type: SHELL TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE gidx;
-
-
---
--- TOC entry 36 (class 1255 OID 18384)
--- Dependencies: 6 1108
--- Name: gidx_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION gidx_in(cstring) RETURNS gidx
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'gidx_in';
-
-
-ALTER FUNCTION public.gidx_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 37 (class 1255 OID 18385)
--- Dependencies: 6 1108
--- Name: gidx_out(gidx); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION gidx_out(gidx) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'gidx_out';
-
-
-ALTER FUNCTION public.gidx_out(gidx) OWNER TO postgres;
-
---
--- TOC entry 1107 (class 1247 OID 18383)
--- Dependencies: 37 36 6
--- Name: gidx; Type: TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE gidx (
-    INTERNALLENGTH = variable,
-    INPUT = gidx_in,
-    OUTPUT = gidx_out,
-    ALIGNMENT = double,
-    STORAGE = plain
-);
-
-
-ALTER TYPE public.gidx OWNER TO postgres;
-
---
--- TOC entry 1111 (class 0 OID 0)
--- Name: pgis_abs; Type: SHELL TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE pgis_abs;
-
-
---
--- TOC entry 38 (class 1255 OID 18388)
--- Dependencies: 6 1111
--- Name: pgis_abs_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pgis_abs_in(cstring) RETURNS pgis_abs
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'pgis_abs_in';
-
-
-ALTER FUNCTION public.pgis_abs_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 39 (class 1255 OID 18389)
--- Dependencies: 6 1111
--- Name: pgis_abs_out(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pgis_abs_out(pgis_abs) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'pgis_abs_out';
-
-
-ALTER FUNCTION public.pgis_abs_out(pgis_abs) OWNER TO postgres;
-
---
--- TOC entry 1110 (class 1247 OID 18387)
--- Dependencies: 38 6 39
--- Name: pgis_abs; Type: TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE pgis_abs (
-    INTERNALLENGTH = 8,
-    INPUT = pgis_abs_in,
-    OUTPUT = pgis_abs_out,
-    ALIGNMENT = double,
-    STORAGE = plain
-);
-
-
-ALTER TYPE public.pgis_abs OWNER TO postgres;
-
---
--- TOC entry 1114 (class 0 OID 0)
--- Name: spheroid; Type: SHELL TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE spheroid;
-
-
---
--- TOC entry 40 (class 1255 OID 18392)
--- Dependencies: 6 1114
--- Name: spheroid_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION spheroid_in(cstring) RETURNS spheroid
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'ellipsoid_in';
-
-
-ALTER FUNCTION public.spheroid_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 41 (class 1255 OID 18393)
--- Dependencies: 6 1114
--- Name: spheroid_out(spheroid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION spheroid_out(spheroid) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'ellipsoid_out';
-
-
-ALTER FUNCTION public.spheroid_out(spheroid) OWNER TO postgres;
-
---
--- TOC entry 1113 (class 1247 OID 18391)
--- Dependencies: 41 6 40
--- Name: spheroid; Type: TYPE; Schema: public; Owner: postgres
---
-
-CREATE TYPE spheroid (
-    INTERNALLENGTH = 65,
-    INPUT = spheroid_in,
-    OUTPUT = spheroid_out,
-    ALIGNMENT = double,
-    STORAGE = plain
-);
-
-
-ALTER TYPE public.spheroid OWNER TO postgres;
-
---
--- TOC entry 42 (class 1255 OID 18395)
--- Dependencies: 6 1102
--- Name: _st_asgeojson(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_asgeojson(integer, geometry, integer, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asGeoJson';
-
-
-ALTER FUNCTION public._st_asgeojson(integer, geometry, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 43 (class 1255 OID 18396)
--- Dependencies: 6 1099
--- Name: _st_asgeojson(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_asgeojson(integer, geography, integer, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_as_geojson';
-
-
-ALTER FUNCTION public._st_asgeojson(integer, geography, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 44 (class 1255 OID 18397)
--- Dependencies: 6 1102
--- Name: _st_asgml(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_asgml(integer, geometry, integer, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asGML';
-
-
-ALTER FUNCTION public._st_asgml(integer, geometry, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 45 (class 1255 OID 18398)
--- Dependencies: 6 1099
--- Name: _st_asgml(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_asgml(integer, geography, integer, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_as_gml';
-
-
-ALTER FUNCTION public._st_asgml(integer, geography, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 46 (class 1255 OID 18399)
--- Dependencies: 1102 6
--- Name: _st_askml(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_askml(integer, geometry, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asKML';
-
-
-ALTER FUNCTION public._st_askml(integer, geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 47 (class 1255 OID 18400)
--- Dependencies: 6 1099
--- Name: _st_askml(integer, geography, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_askml(integer, geography, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_as_kml';
-
-
-ALTER FUNCTION public._st_askml(integer, geography, integer) OWNER TO postgres;
-
---
--- TOC entry 49 (class 1255 OID 18402)
--- Dependencies: 1099 6
--- Name: _st_bestsrid(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_bestsrid(geography) RETURNS integer
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_BestSRID($1,$1)$_$;
-
-
-ALTER FUNCTION public._st_bestsrid(geography) OWNER TO postgres;
-
---
--- TOC entry 48 (class 1255 OID 18401)
--- Dependencies: 6 1099 1099
--- Name: _st_bestsrid(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_bestsrid(geography, geography) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_bestsrid';
-
-
-ALTER FUNCTION public._st_bestsrid(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 50 (class 1255 OID 18403)
--- Dependencies: 1102 6 1102
--- Name: _st_buffer(geometry, double precision, cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_buffer(geometry, double precision, cstring) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'buffer';
-
-
-ALTER FUNCTION public._st_buffer(geometry, double precision, cstring) OWNER TO postgres;
-
---
--- TOC entry 51 (class 1255 OID 18404)
--- Dependencies: 6 1102 1102
--- Name: _st_contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_contains(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'contains';
-
-
-ALTER FUNCTION public._st_contains(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 52 (class 1255 OID 18405)
--- Dependencies: 6 1102 1102
--- Name: _st_containsproperly(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_containsproperly(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'containsproperly';
-
-
-ALTER FUNCTION public._st_containsproperly(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 53 (class 1255 OID 18406)
--- Dependencies: 6 1102 1102
--- Name: _st_coveredby(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_coveredby(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'coveredby';
-
-
-ALTER FUNCTION public._st_coveredby(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 54 (class 1255 OID 18407)
--- Dependencies: 1102 1102 6
--- Name: _st_covers(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_covers(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'covers';
-
-
-ALTER FUNCTION public._st_covers(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 55 (class 1255 OID 18408)
--- Dependencies: 1099 1099 6
--- Name: _st_covers(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_covers(geography, geography) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'geography_covers';
-
-
-ALTER FUNCTION public._st_covers(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 56 (class 1255 OID 18409)
--- Dependencies: 1102 1102 6
--- Name: _st_crosses(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_crosses(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'crosses';
-
-
-ALTER FUNCTION public._st_crosses(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 57 (class 1255 OID 18410)
--- Dependencies: 1102 6 1102
--- Name: _st_dfullywithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_dfullywithin(geometry, geometry, double precision) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_dfullywithin';
-
-
-ALTER FUNCTION public._st_dfullywithin(geometry, geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 58 (class 1255 OID 18411)
--- Dependencies: 1099 6 1099
--- Name: _st_distance(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_distance(geography, geography, double precision, boolean) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'geography_distance';
-
-
-ALTER FUNCTION public._st_distance(geography, geography, double precision, boolean) OWNER TO postgres;
-
---
--- TOC entry 59 (class 1255 OID 18412)
--- Dependencies: 6 1168 1105 1102
--- Name: _st_dumppoints(geometry, integer[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-$$;
-
-
-ALTER FUNCTION public._st_dumppoints(the_geom geometry, cur_path integer[]) OWNER TO postgres;
-
---
--- TOC entry 60 (class 1255 OID 18413)
--- Dependencies: 1102 6 1102
--- Name: _st_dwithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_dwithin(geometry, geometry, double precision) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_dwithin';
-
-
-ALTER FUNCTION public._st_dwithin(geometry, geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 61 (class 1255 OID 18414)
--- Dependencies: 1099 6 1099
--- Name: _st_dwithin(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_dwithin(geography, geography, double precision, boolean) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'geography_dwithin';
-
-
-ALTER FUNCTION public._st_dwithin(geography, geography, double precision, boolean) OWNER TO postgres;
-
---
--- TOC entry 62 (class 1255 OID 18415)
--- Dependencies: 1102 6 1102
--- Name: _st_equals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_equals(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'geomequals';
-
-
-ALTER FUNCTION public._st_equals(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 63 (class 1255 OID 18416)
--- Dependencies: 1099 1099 6
--- Name: _st_expand(geography, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_expand(geography, double precision) RETURNS geography
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_expand';
-
-
-ALTER FUNCTION public._st_expand(geography, double precision) OWNER TO postgres;
-
---
--- TOC entry 64 (class 1255 OID 18417)
--- Dependencies: 6 1102 1102
--- Name: _st_intersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_intersects(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'intersects';
-
-
-ALTER FUNCTION public._st_intersects(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 65 (class 1255 OID 18418)
--- Dependencies: 6 1102 1102
--- Name: _st_linecrossingdirection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_linecrossingdirection(geometry, geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'ST_LineCrossingDirection';
-
-
-ALTER FUNCTION public._st_linecrossingdirection(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 66 (class 1255 OID 18419)
--- Dependencies: 1102 1102 1102 6
--- Name: _st_longestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_longestline(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_longestline2d';
-
-
-ALTER FUNCTION public._st_longestline(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 67 (class 1255 OID 18420)
--- Dependencies: 6 1102 1102
--- Name: _st_maxdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_maxdistance(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_maxdistance2d_linestring';
-
-
-ALTER FUNCTION public._st_maxdistance(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 68 (class 1255 OID 18421)
--- Dependencies: 6 1102 1102
--- Name: _st_orderingequals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_orderingequals(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_same';
-
-
-ALTER FUNCTION public._st_orderingequals(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 69 (class 1255 OID 18422)
--- Dependencies: 1102 1102 6
--- Name: _st_overlaps(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_overlaps(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'overlaps';
-
-
-ALTER FUNCTION public._st_overlaps(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 70 (class 1255 OID 18423)
--- Dependencies: 6 1099 1099
--- Name: _st_pointoutside(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_pointoutside(geography) RETURNS geography
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_point_outside';
-
-
-ALTER FUNCTION public._st_pointoutside(geography) OWNER TO postgres;
-
---
--- TOC entry 71 (class 1255 OID 18424)
--- Dependencies: 6 1102 1102
--- Name: _st_touches(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_touches(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'touches';
-
-
-ALTER FUNCTION public._st_touches(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 72 (class 1255 OID 18425)
--- Dependencies: 6 1102 1102
--- Name: _st_within(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION _st_within(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'within';
-
-
-ALTER FUNCTION public._st_within(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 73 (class 1255 OID 18426)
--- Dependencies: 6 1168
--- Name: addauth(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-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;
-$_$;
-
-
-ALTER FUNCTION public.addauth(text) OWNER TO postgres;
-
---
--- TOC entry 74 (class 1255 OID 18427)
--- Dependencies: 6 1102 1102
--- Name: addbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION addbbox(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_addBBOX';
-
-
-ALTER FUNCTION public.addbbox(geometry) OWNER TO postgres;
-
---
--- TOC entry 79 (class 1255 OID 18430)
--- Dependencies: 6 1168
--- Name: addgeometrycolumn(character varying, character varying, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-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;
-$_$;
-
-
-ALTER FUNCTION public.addgeometrycolumn(character varying, character varying, integer, character varying, integer) OWNER TO postgres;
-
---
--- TOC entry 78 (class 1255 OID 18429)
--- Dependencies: 6 1168
--- Name: addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-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;
-$_$;
-
-
-ALTER FUNCTION public.addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer) OWNER TO postgres;
-
---
--- TOC entry 77 (class 1255 OID 18428)
--- Dependencies: 6 1168
--- Name: addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-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;
-$_$;
-
-
-ALTER FUNCTION public.addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer) OWNER TO postgres;
-
---
--- TOC entry 80 (class 1255 OID 18431)
--- Dependencies: 6 1102 1102 1102
--- Name: addpoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION addpoint(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_addpoint';
-
-
-ALTER FUNCTION public.addpoint(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 81 (class 1255 OID 18432)
--- Dependencies: 6 1102 1102 1102
--- Name: addpoint(geometry, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION addpoint(geometry, geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_addpoint';
-
-
-ALTER FUNCTION public.addpoint(geometry, geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 83 (class 1255 OID 18434)
--- Dependencies: 1102 6 1102
--- Name: affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 82 (class 1255 OID 18433)
--- Dependencies: 1102 1102 6
--- Name: 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); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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.5', 'LWGEOM_affine';
-
-
-ALTER 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) OWNER TO postgres;
-
---
--- TOC entry 84 (class 1255 OID 18435)
--- Dependencies: 1102 6
--- Name: area(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION area(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon';
-
-
-ALTER FUNCTION public.area(geometry) OWNER TO postgres;
-
---
--- TOC entry 85 (class 1255 OID 18436)
--- Dependencies: 1102 6
--- Name: area2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION area2d(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon';
-
-
-ALTER FUNCTION public.area2d(geometry) OWNER TO postgres;
-
---
--- TOC entry 86 (class 1255 OID 18437)
--- Dependencies: 1102 6
--- Name: asbinary(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION asbinary(geometry) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asBinary';
-
-
-ALTER FUNCTION public.asbinary(geometry) OWNER TO postgres;
-
---
--- TOC entry 87 (class 1255 OID 18438)
--- Dependencies: 1102 6
--- Name: asbinary(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION asbinary(geometry, text) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asBinary';
-
-
-ALTER FUNCTION public.asbinary(geometry, text) OWNER TO postgres;
-
---
--- TOC entry 88 (class 1255 OID 18439)
--- Dependencies: 6 1102
--- Name: asewkb(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION asewkb(geometry) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'WKBFromLWGEOM';
-
-
-ALTER FUNCTION public.asewkb(geometry) OWNER TO postgres;
-
---
--- TOC entry 89 (class 1255 OID 18440)
--- Dependencies: 1102 6
--- Name: asewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION asewkb(geometry, text) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'WKBFromLWGEOM';
-
-
-ALTER FUNCTION public.asewkb(geometry, text) OWNER TO postgres;
-
---
--- TOC entry 90 (class 1255 OID 18441)
--- Dependencies: 1102 6
--- Name: asewkt(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION asewkt(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asEWKT';
-
-
-ALTER FUNCTION public.asewkt(geometry) OWNER TO postgres;
-
---
--- TOC entry 92 (class 1255 OID 18443)
--- Dependencies: 6 1102
--- Name: asgml(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION asgml(geometry) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML(2, $1, 15, 0)$_$;
-
-
-ALTER FUNCTION public.asgml(geometry) OWNER TO postgres;
-
---
--- TOC entry 91 (class 1255 OID 18442)
--- Dependencies: 1102 6
--- Name: asgml(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION asgml(geometry, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML(2, $1, $2, 0)$_$;
-
-
-ALTER FUNCTION public.asgml(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 93 (class 1255 OID 18444)
--- Dependencies: 6 1102
--- Name: ashexewkb(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION ashexewkb(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asHEXEWKB';
-
-
-ALTER FUNCTION public.ashexewkb(geometry) OWNER TO postgres;
-
---
--- TOC entry 94 (class 1255 OID 18445)
--- Dependencies: 1102 6
--- Name: ashexewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION ashexewkb(geometry, text) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asHEXEWKB';
-
-
-ALTER FUNCTION public.ashexewkb(geometry, text) OWNER TO postgres;
-
---
--- TOC entry 96 (class 1255 OID 18447)
--- Dependencies: 1102 6
--- Name: askml(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION askml(geometry) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML(2, transform($1,4326), 15)$_$;
-
-
-ALTER FUNCTION public.askml(geometry) OWNER TO postgres;
-
---
--- TOC entry 95 (class 1255 OID 18446)
--- Dependencies: 1102 6
--- Name: askml(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION askml(geometry, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML(2, transform($1,4326), $2)$_$;
-
-
-ALTER FUNCTION public.askml(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 97 (class 1255 OID 18448)
--- Dependencies: 6 1102
--- Name: askml(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION askml(integer, geometry, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML($1, transform($2,4326), $3)$_$;
-
-
-ALTER FUNCTION public.askml(integer, geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 100 (class 1255 OID 18451)
--- Dependencies: 6 1102
--- Name: assvg(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION assvg(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'assvg_geometry';
-
-
-ALTER FUNCTION public.assvg(geometry) OWNER TO postgres;
-
---
--- TOC entry 99 (class 1255 OID 18450)
--- Dependencies: 6 1102
--- Name: assvg(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION assvg(geometry, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'assvg_geometry';
-
-
-ALTER FUNCTION public.assvg(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 98 (class 1255 OID 18449)
--- Dependencies: 6 1102
--- Name: assvg(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION assvg(geometry, integer, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'assvg_geometry';
-
-
-ALTER FUNCTION public.assvg(geometry, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 101 (class 1255 OID 18452)
--- Dependencies: 1102 6
--- Name: astext(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION astext(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asText';
-
-
-ALTER FUNCTION public.astext(geometry) OWNER TO postgres;
-
---
--- TOC entry 102 (class 1255 OID 18453)
--- Dependencies: 6 1102 1102
--- Name: azimuth(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION azimuth(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_azimuth';
-
-
-ALTER FUNCTION public.azimuth(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 103 (class 1255 OID 18454)
--- Dependencies: 1102 1168 6
--- Name: bdmpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.bdmpolyfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 75 (class 1255 OID 18455)
--- Dependencies: 6 1168 1102
--- Name: bdpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.bdpolyfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 76 (class 1255 OID 18456)
--- Dependencies: 6 1102 1102
--- Name: boundary(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION boundary(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'boundary';
-
-
-ALTER FUNCTION public.boundary(geometry) OWNER TO postgres;
-
---
--- TOC entry 104 (class 1255 OID 18457)
--- Dependencies: 6 1102
--- Name: box(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box(geometry) RETURNS box
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX';
-
-
-ALTER FUNCTION public.box(geometry) OWNER TO postgres;
-
---
--- TOC entry 105 (class 1255 OID 18458)
--- Dependencies: 6 1090
--- Name: box(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box(box3d) RETURNS box
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_to_BOX';
-
-
-ALTER FUNCTION public.box(box3d) OWNER TO postgres;
-
---
--- TOC entry 106 (class 1255 OID 18459)
--- Dependencies: 6 1087 1093
--- Name: box2d(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box2d(box3d_extent) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4';
-
-
-ALTER FUNCTION public.box2d(box3d_extent) OWNER TO postgres;
-
---
--- TOC entry 107 (class 1255 OID 18460)
--- Dependencies: 6 1087 1102
--- Name: box2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box2d(geometry) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX2DFLOAT4';
-
-
-ALTER FUNCTION public.box2d(geometry) OWNER TO postgres;
-
---
--- TOC entry 108 (class 1255 OID 18461)
--- Dependencies: 1087 1090 6
--- Name: box2d(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box2d(box3d) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4';
-
-
-ALTER FUNCTION public.box2d(box3d) OWNER TO postgres;
-
---
--- TOC entry 109 (class 1255 OID 18462)
--- Dependencies: 6 1090 1102
--- Name: box3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box3d(geometry) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX3D';
-
-
-ALTER FUNCTION public.box3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 110 (class 1255 OID 18463)
--- Dependencies: 6 1090 1087
--- Name: box3d(box2d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box3d(box2d) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_to_BOX3D';
-
-
-ALTER FUNCTION public.box3d(box2d) OWNER TO postgres;
-
---
--- TOC entry 111 (class 1255 OID 18464)
--- Dependencies: 6 1090 1093
--- Name: box3d_extent(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box3d_extent(box3d_extent) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_extent_to_BOX3D';
-
-
-ALTER FUNCTION public.box3d_extent(box3d_extent) OWNER TO postgres;
-
---
--- TOC entry 112 (class 1255 OID 18465)
--- Dependencies: 6 1090
--- Name: box3dtobox(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION box3dtobox(box3d) RETURNS box
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT box($1)$_$;
-
-
-ALTER FUNCTION public.box3dtobox(box3d) OWNER TO postgres;
-
---
--- TOC entry 113 (class 1255 OID 18466)
--- Dependencies: 6 1102 1102
--- Name: buffer(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION buffer(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'buffer';
-
-
-ALTER FUNCTION public.buffer(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 114 (class 1255 OID 18467)
--- Dependencies: 6 1102 1102
--- Name: buffer(geometry, double precision, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION buffer(geometry, double precision, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_Buffer($1, $2, $3)$_$;
-
-
-ALTER FUNCTION public.buffer(geometry, double precision, integer) OWNER TO postgres;
-
---
--- TOC entry 115 (class 1255 OID 18468)
--- Dependencies: 6 1102 1102
--- Name: buildarea(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION buildarea(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_buildarea';
-
-
-ALTER FUNCTION public.buildarea(geometry) OWNER TO postgres;
-
---
--- TOC entry 116 (class 1255 OID 18469)
--- Dependencies: 6 1102
--- Name: bytea(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION bytea(geometry) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_bytea';
-
-
-ALTER FUNCTION public.bytea(geometry) OWNER TO postgres;
-
---
--- TOC entry 117 (class 1255 OID 18470)
--- Dependencies: 6 1102 1102
--- Name: centroid(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION centroid(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'centroid';
-
-
-ALTER FUNCTION public.centroid(geometry) OWNER TO postgres;
-
---
--- TOC entry 119 (class 1255 OID 18472)
--- Dependencies: 6
--- Name: checkauth(text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION checkauth(text, text) RETURNS integer
-    LANGUAGE sql
-    AS $_$ SELECT CheckAuth('', $1, $2) $_$;
-
-
-ALTER FUNCTION public.checkauth(text, text) OWNER TO postgres;
-
---
--- TOC entry 118 (class 1255 OID 18471)
--- Dependencies: 6 1168
--- Name: checkauth(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.checkauth(text, text, text) OWNER TO postgres;
-
---
--- TOC entry 120 (class 1255 OID 18473)
--- Dependencies: 6
--- Name: checkauthtrigger(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION checkauthtrigger() RETURNS trigger
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'check_authorization';
-
-
-ALTER FUNCTION public.checkauthtrigger() OWNER TO postgres;
-
---
--- TOC entry 121 (class 1255 OID 18474)
--- Dependencies: 6 1102 1102 1102
--- Name: collect(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION collect(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'LWGEOM_collect';
-
-
-ALTER FUNCTION public.collect(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 122 (class 1255 OID 18475)
--- Dependencies: 6 1087 1087 1102
--- Name: combine_bbox(box2d, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION combine_bbox(box2d, geometry) RETURNS box2d
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_combine';
-
-
-ALTER FUNCTION public.combine_bbox(box2d, geometry) OWNER TO postgres;
-
---
--- TOC entry 123 (class 1255 OID 18476)
--- Dependencies: 6 1093 1093 1102
--- Name: combine_bbox(box3d_extent, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION combine_bbox(box3d_extent, geometry) RETURNS box3d_extent
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'BOX3D_combine';
-
-
-ALTER FUNCTION public.combine_bbox(box3d_extent, geometry) OWNER TO postgres;
-
---
--- TOC entry 124 (class 1255 OID 18477)
--- Dependencies: 6 1090 1090 1102
--- Name: combine_bbox(box3d, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION combine_bbox(box3d, geometry) RETURNS box3d
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'BOX3D_combine';
-
-
-ALTER FUNCTION public.combine_bbox(box3d, geometry) OWNER TO postgres;
-
---
--- TOC entry 125 (class 1255 OID 18478)
--- Dependencies: 6 1096
--- Name: compression(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION compression(chip) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getCompression';
-
-
-ALTER FUNCTION public.compression(chip) OWNER TO postgres;
-
---
--- TOC entry 126 (class 1255 OID 18479)
--- Dependencies: 6 1102 1102
--- Name: contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION contains(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'contains';
-
-
-ALTER FUNCTION public.contains(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 127 (class 1255 OID 18480)
--- Dependencies: 6 1102 1102
--- Name: convexhull(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION convexhull(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'convexhull';
-
-
-ALTER FUNCTION public.convexhull(geometry) OWNER TO postgres;
-
---
--- TOC entry 128 (class 1255 OID 18481)
--- Dependencies: 6 1102 1102
--- Name: crosses(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION crosses(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'crosses';
-
-
-ALTER FUNCTION public.crosses(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 129 (class 1255 OID 18482)
--- Dependencies: 6 1096
--- Name: datatype(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION datatype(chip) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getDatatype';
-
-
-ALTER FUNCTION public.datatype(chip) OWNER TO postgres;
-
---
--- TOC entry 130 (class 1255 OID 18483)
--- Dependencies: 6 1102 1102 1102
--- Name: difference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION difference(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'difference';
-
-
-ALTER FUNCTION public.difference(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 131 (class 1255 OID 18484)
--- Dependencies: 6 1102
--- Name: dimension(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION dimension(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_dimension';
-
-
-ALTER FUNCTION public.dimension(geometry) OWNER TO postgres;
-
---
--- TOC entry 132 (class 1255 OID 18485)
--- Dependencies: 6 1168
--- Name: disablelongtransactions(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$$;
-
-
-ALTER FUNCTION public.disablelongtransactions() OWNER TO postgres;
-
---
--- TOC entry 133 (class 1255 OID 18486)
--- Dependencies: 6 1102 1102
--- Name: disjoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION disjoint(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'disjoint';
-
-
-ALTER FUNCTION public.disjoint(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 134 (class 1255 OID 18487)
--- Dependencies: 6 1102 1102
--- Name: distance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION distance(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_mindistance2d';
-
-
-ALTER FUNCTION public.distance(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 135 (class 1255 OID 18488)
--- Dependencies: 6 1102 1102
--- Name: distance_sphere(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION distance_sphere(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_distance_sphere';
-
-
-ALTER FUNCTION public.distance_sphere(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 136 (class 1255 OID 18489)
--- Dependencies: 6 1102 1102 1113
--- Name: distance_spheroid(geometry, geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION distance_spheroid(geometry, geometry, spheroid) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_distance_ellipsoid';
-
-
-ALTER FUNCTION public.distance_spheroid(geometry, geometry, spheroid) OWNER TO postgres;
-
---
--- TOC entry 137 (class 1255 OID 18490)
--- Dependencies: 6 1102 1102
--- Name: dropbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION dropbbox(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_dropBBOX';
-
-
-ALTER FUNCTION public.dropbbox(geometry) OWNER TO postgres;
-
---
--- TOC entry 140 (class 1255 OID 18493)
--- Dependencies: 6 1168
--- Name: dropgeometrycolumn(character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.dropgeometrycolumn(character varying, character varying) OWNER TO postgres;
-
---
--- TOC entry 139 (class 1255 OID 18492)
--- Dependencies: 6 1168
--- Name: dropgeometrycolumn(character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.dropgeometrycolumn(character varying, character varying, character varying) OWNER TO postgres;
-
---
--- TOC entry 138 (class 1255 OID 18491)
--- Dependencies: 6 1168
--- Name: dropgeometrycolumn(character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.dropgeometrycolumn(character varying, character varying, character varying, character varying) OWNER TO postgres;
-
---
--- TOC entry 143 (class 1255 OID 18496)
--- Dependencies: 6
--- Name: dropgeometrytable(character varying); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION dropgeometrytable(character varying) RETURNS text
-    LANGUAGE sql STRICT
-    AS $_$ SELECT DropGeometryTable('','',$1) $_$;
-
-
-ALTER FUNCTION public.dropgeometrytable(character varying) OWNER TO postgres;
-
---
--- TOC entry 142 (class 1255 OID 18495)
--- Dependencies: 6
--- Name: dropgeometrytable(character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION dropgeometrytable(character varying, character varying) RETURNS text
-    LANGUAGE sql STRICT
-    AS $_$ SELECT DropGeometryTable('',$1,$2) $_$;
-
-
-ALTER FUNCTION public.dropgeometrytable(character varying, character varying) OWNER TO postgres;
-
---
--- TOC entry 141 (class 1255 OID 18494)
--- Dependencies: 6 1168
--- Name: dropgeometrytable(character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.dropgeometrytable(character varying, character varying, character varying) OWNER TO postgres;
-
---
--- TOC entry 144 (class 1255 OID 18497)
--- Dependencies: 6 1105 1102
--- Name: dump(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION dump(geometry) RETURNS SETOF geometry_dump
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_dump';
-
-
-ALTER FUNCTION public.dump(geometry) OWNER TO postgres;
-
---
--- TOC entry 145 (class 1255 OID 18498)
--- Dependencies: 6 1105 1102
--- Name: dumprings(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION dumprings(geometry) RETURNS SETOF geometry_dump
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_dump_rings';
-
-
-ALTER FUNCTION public.dumprings(geometry) OWNER TO postgres;
-
---
--- TOC entry 146 (class 1255 OID 18499)
--- Dependencies: 6 1168
--- Name: enablelongtransactions(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$$;
-
-
-ALTER FUNCTION public.enablelongtransactions() OWNER TO postgres;
-
---
--- TOC entry 147 (class 1255 OID 18500)
--- Dependencies: 6 1102 1102
--- Name: endpoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION endpoint(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_endpoint_linestring';
-
-
-ALTER FUNCTION public.endpoint(geometry) OWNER TO postgres;
-
---
--- TOC entry 148 (class 1255 OID 18501)
--- Dependencies: 6 1102 1102
--- Name: envelope(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION envelope(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_envelope';
-
-
-ALTER FUNCTION public.envelope(geometry) OWNER TO postgres;
-
---
--- TOC entry 149 (class 1255 OID 18502)
--- Dependencies: 6 1102 1102
--- Name: equals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION equals(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geomequals';
-
-
-ALTER FUNCTION public.equals(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 151 (class 1255 OID 18504)
--- Dependencies: 6 1087
--- Name: estimated_extent(text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION estimated_extent(text, text) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER
-    AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent';
-
-
-ALTER FUNCTION public.estimated_extent(text, text) OWNER TO postgres;
-
---
--- TOC entry 150 (class 1255 OID 18503)
--- Dependencies: 6 1087
--- Name: estimated_extent(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION estimated_extent(text, text, text) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER
-    AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent';
-
-
-ALTER FUNCTION public.estimated_extent(text, text, text) OWNER TO postgres;
-
---
--- TOC entry 152 (class 1255 OID 18505)
--- Dependencies: 6 1090 1090
--- Name: expand(box3d, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION expand(box3d, double precision) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_expand';
-
-
-ALTER FUNCTION public.expand(box3d, double precision) OWNER TO postgres;
-
---
--- TOC entry 153 (class 1255 OID 18506)
--- Dependencies: 6 1087 1087
--- Name: expand(box2d, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION expand(box2d, double precision) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_expand';
-
-
-ALTER FUNCTION public.expand(box2d, double precision) OWNER TO postgres;
-
---
--- TOC entry 154 (class 1255 OID 18507)
--- Dependencies: 6 1102 1102
--- Name: expand(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION expand(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_expand';
-
-
-ALTER FUNCTION public.expand(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 155 (class 1255 OID 18508)
--- Dependencies: 6 1102 1102
--- Name: exteriorring(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION exteriorring(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_exteriorring_polygon';
-
-
-ALTER FUNCTION public.exteriorring(geometry) OWNER TO postgres;
-
---
--- TOC entry 156 (class 1255 OID 18509)
--- Dependencies: 6 1096
--- Name: factor(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION factor(chip) RETURNS real
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getFactor';
-
-
-ALTER FUNCTION public.factor(chip) OWNER TO postgres;
-
---
--- TOC entry 158 (class 1255 OID 18511)
--- Dependencies: 6 1168 1087
--- Name: find_extent(text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.find_extent(text, text) OWNER TO postgres;
-
---
--- TOC entry 157 (class 1255 OID 18510)
--- Dependencies: 6 1168 1087
--- Name: find_extent(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.find_extent(text, text, text) OWNER TO postgres;
-
---
--- TOC entry 159 (class 1255 OID 18512)
--- Dependencies: 6 1168
--- Name: find_srid(character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.find_srid(character varying, character varying, character varying) OWNER TO postgres;
-
---
--- TOC entry 160 (class 1255 OID 18513)
--- Dependencies: 6 1168
--- Name: fix_geometry_columns(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$$;
-
-
-ALTER FUNCTION public.fix_geometry_columns() OWNER TO postgres;
-
---
--- TOC entry 161 (class 1255 OID 18514)
--- Dependencies: 6 1102 1102
--- Name: force_2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION force_2d(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_2d';
-
-
-ALTER FUNCTION public.force_2d(geometry) OWNER TO postgres;
-
---
--- TOC entry 162 (class 1255 OID 18515)
--- Dependencies: 6 1102 1102
--- Name: force_3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION force_3d(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz';
-
-
-ALTER FUNCTION public.force_3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 163 (class 1255 OID 18516)
--- Dependencies: 6 1102 1102
--- Name: force_3dm(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION force_3dm(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_3dm';
-
-
-ALTER FUNCTION public.force_3dm(geometry) OWNER TO postgres;
-
---
--- TOC entry 164 (class 1255 OID 18517)
--- Dependencies: 6 1102 1102
--- Name: force_3dz(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION force_3dz(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz';
-
-
-ALTER FUNCTION public.force_3dz(geometry) OWNER TO postgres;
-
---
--- TOC entry 165 (class 1255 OID 18518)
--- Dependencies: 6 1102 1102
--- Name: force_4d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION force_4d(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_4d';
-
-
-ALTER FUNCTION public.force_4d(geometry) OWNER TO postgres;
-
---
--- TOC entry 166 (class 1255 OID 18519)
--- Dependencies: 6 1102 1102
--- Name: force_collection(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION force_collection(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_collection';
-
-
-ALTER FUNCTION public.force_collection(geometry) OWNER TO postgres;
-
---
--- TOC entry 167 (class 1255 OID 18520)
--- Dependencies: 6 1102 1102
--- Name: forcerhr(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION forcerhr(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_forceRHR_poly';
-
-
-ALTER FUNCTION public.forcerhr(geometry) OWNER TO postgres;
-
---
--- TOC entry 169 (class 1255 OID 18522)
--- Dependencies: 6 1099 1102
--- Name: geography(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography(geometry) RETURNS geography
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_from_geometry';
-
-
-ALTER FUNCTION public.geography(geometry) OWNER TO postgres;
-
---
--- TOC entry 168 (class 1255 OID 18521)
--- Dependencies: 6 1099 1099
--- Name: geography(geography, integer, boolean); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography(geography, integer, boolean) RETURNS geography
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_enforce_typmod';
-
-
-ALTER FUNCTION public.geography(geography, integer, boolean) OWNER TO postgres;
-
---
--- TOC entry 170 (class 1255 OID 18523)
--- Dependencies: 6 1099 1099
--- Name: geography_cmp(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_cmp(geography, geography) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_cmp';
-
-
-ALTER FUNCTION public.geography_cmp(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 171 (class 1255 OID 18524)
--- Dependencies: 6 1099 1099
--- Name: geography_eq(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_eq(geography, geography) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_eq';
-
-
-ALTER FUNCTION public.geography_eq(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 172 (class 1255 OID 18525)
--- Dependencies: 6 1099 1099
--- Name: geography_ge(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_ge(geography, geography) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_ge';
-
-
-ALTER FUNCTION public.geography_ge(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 173 (class 1255 OID 18526)
--- Dependencies: 6
--- Name: geography_gist_compress(internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_gist_compress(internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'geography_gist_compress';
-
-
-ALTER FUNCTION public.geography_gist_compress(internal) OWNER TO postgres;
-
---
--- TOC entry 174 (class 1255 OID 18527)
--- Dependencies: 6 1102
--- Name: geography_gist_consistent(internal, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_gist_consistent(internal, geometry, integer) RETURNS boolean
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'geography_gist_consistent';
-
-
-ALTER FUNCTION public.geography_gist_consistent(internal, geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 175 (class 1255 OID 18528)
--- Dependencies: 6
--- Name: geography_gist_decompress(internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_gist_decompress(internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'geography_gist_decompress';
-
-
-ALTER FUNCTION public.geography_gist_decompress(internal) OWNER TO postgres;
-
---
--- TOC entry 176 (class 1255 OID 18529)
--- Dependencies: 6
--- Name: geography_gist_join_selectivity(internal, oid, internal, smallint); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_gist_join_selectivity(internal, oid, internal, smallint) RETURNS double precision
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'geography_gist_join_selectivity';
-
-
-ALTER FUNCTION public.geography_gist_join_selectivity(internal, oid, internal, smallint) OWNER TO postgres;
-
---
--- TOC entry 177 (class 1255 OID 18530)
--- Dependencies: 6
--- Name: geography_gist_penalty(internal, internal, internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_gist_penalty(internal, internal, internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'geography_gist_penalty';
-
-
-ALTER FUNCTION public.geography_gist_penalty(internal, internal, internal) OWNER TO postgres;
-
---
--- TOC entry 178 (class 1255 OID 18531)
--- Dependencies: 6
--- Name: geography_gist_picksplit(internal, internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_gist_picksplit(internal, internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'geography_gist_picksplit';
-
-
-ALTER FUNCTION public.geography_gist_picksplit(internal, internal) OWNER TO postgres;
-
---
--- TOC entry 179 (class 1255 OID 18532)
--- Dependencies: 6 1087 1087
--- Name: geography_gist_same(box2d, box2d, internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_gist_same(box2d, box2d, internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'geography_gist_same';
-
-
-ALTER FUNCTION public.geography_gist_same(box2d, box2d, internal) OWNER TO postgres;
-
---
--- TOC entry 180 (class 1255 OID 18533)
--- Dependencies: 6
--- Name: geography_gist_selectivity(internal, oid, internal, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_gist_selectivity(internal, oid, internal, integer) RETURNS double precision
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'geography_gist_selectivity';
-
-
-ALTER FUNCTION public.geography_gist_selectivity(internal, oid, internal, integer) OWNER TO postgres;
-
---
--- TOC entry 181 (class 1255 OID 18534)
--- Dependencies: 6
--- Name: geography_gist_union(bytea, internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_gist_union(bytea, internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'geography_gist_union';
-
-
-ALTER FUNCTION public.geography_gist_union(bytea, internal) OWNER TO postgres;
-
---
--- TOC entry 182 (class 1255 OID 18535)
--- Dependencies: 6 1099 1099
--- Name: geography_gt(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_gt(geography, geography) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_gt';
-
-
-ALTER FUNCTION public.geography_gt(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 183 (class 1255 OID 18536)
--- Dependencies: 6 1099 1099
--- Name: geography_le(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_le(geography, geography) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_le';
-
-
-ALTER FUNCTION public.geography_le(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 184 (class 1255 OID 18537)
--- Dependencies: 6 1099 1099
--- Name: geography_lt(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_lt(geography, geography) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_lt';
-
-
-ALTER FUNCTION public.geography_lt(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 185 (class 1255 OID 18538)
--- Dependencies: 6 1099 1099
--- Name: geography_overlaps(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_overlaps(geography, geography) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_overlaps';
-
-
-ALTER FUNCTION public.geography_overlaps(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 186 (class 1255 OID 18539)
--- Dependencies: 6
--- Name: geography_typmod_dims(integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_typmod_dims(integer) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_typmod_dims';
-
-
-ALTER FUNCTION public.geography_typmod_dims(integer) OWNER TO postgres;
-
---
--- TOC entry 187 (class 1255 OID 18540)
--- Dependencies: 6
--- Name: geography_typmod_srid(integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_typmod_srid(integer) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_typmod_srid';
-
-
-ALTER FUNCTION public.geography_typmod_srid(integer) OWNER TO postgres;
-
---
--- TOC entry 188 (class 1255 OID 18541)
--- Dependencies: 6
--- Name: geography_typmod_type(integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geography_typmod_type(integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_typmod_type';
-
-
-ALTER FUNCTION public.geography_typmod_type(integer) OWNER TO postgres;
-
---
--- TOC entry 190 (class 1255 OID 18543)
--- Dependencies: 6 1102
--- Name: geomcollfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geomcollfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE
-	WHEN geometrytype(GeomFromText($1)) = 'GEOMETRYCOLLECTION'
-	THEN GeomFromText($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.geomcollfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 189 (class 1255 OID 18542)
--- Dependencies: 6 1102
--- Name: geomcollfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.geomcollfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 192 (class 1255 OID 18545)
--- Dependencies: 6 1102
--- Name: geomcollfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geomcollfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE
-	WHEN geometrytype(GeomFromWKB($1)) = 'GEOMETRYCOLLECTION'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.geomcollfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 191 (class 1255 OID 18544)
--- Dependencies: 6 1102
--- Name: geomcollfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.geomcollfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 193 (class 1255 OID 18546)
--- Dependencies: 6 1102 1093
--- Name: geometry(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry(box3d_extent) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_to_LWGEOM';
-
-
-ALTER FUNCTION public.geometry(box3d_extent) OWNER TO postgres;
-
---
--- TOC entry 194 (class 1255 OID 18547)
--- Dependencies: 6 1102 1087
--- Name: geometry(box2d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry(box2d) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_to_LWGEOM';
-
-
-ALTER FUNCTION public.geometry(box2d) OWNER TO postgres;
-
---
--- TOC entry 195 (class 1255 OID 18548)
--- Dependencies: 6 1102 1090
--- Name: geometry(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry(box3d) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_to_LWGEOM';
-
-
-ALTER FUNCTION public.geometry(box3d) OWNER TO postgres;
-
---
--- TOC entry 196 (class 1255 OID 18549)
--- Dependencies: 6 1102
--- Name: geometry(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'parse_WKT_lwgeom';
-
-
-ALTER FUNCTION public.geometry(text) OWNER TO postgres;
-
---
--- TOC entry 197 (class 1255 OID 18550)
--- Dependencies: 6 1102 1096
--- Name: geometry(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry(chip) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_to_LWGEOM';
-
-
-ALTER FUNCTION public.geometry(chip) OWNER TO postgres;
-
---
--- TOC entry 198 (class 1255 OID 18551)
--- Dependencies: 6 1102
--- Name: geometry(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry(bytea) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_bytea';
-
-
-ALTER FUNCTION public.geometry(bytea) OWNER TO postgres;
-
---
--- TOC entry 199 (class 1255 OID 18552)
--- Dependencies: 6 1102 1099
--- Name: geometry(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry(geography) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geometry_from_geography';
-
-
-ALTER FUNCTION public.geometry(geography) OWNER TO postgres;
-
---
--- TOC entry 200 (class 1255 OID 18553)
--- Dependencies: 6 1102 1102
--- Name: geometry_above(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_above(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_above';
-
-
-ALTER FUNCTION public.geometry_above(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 201 (class 1255 OID 18554)
--- Dependencies: 6 1102 1102
--- Name: geometry_below(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_below(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_below';
-
-
-ALTER FUNCTION public.geometry_below(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 202 (class 1255 OID 18555)
--- Dependencies: 6 1102 1102
--- Name: geometry_cmp(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_cmp(geometry, geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_cmp';
-
-
-ALTER FUNCTION public.geometry_cmp(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 203 (class 1255 OID 18556)
--- Dependencies: 6 1102 1102
--- Name: geometry_contain(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_contain(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_contain';
-
-
-ALTER FUNCTION public.geometry_contain(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 204 (class 1255 OID 18557)
--- Dependencies: 6 1102 1102
--- Name: geometry_contained(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_contained(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_contained';
-
-
-ALTER FUNCTION public.geometry_contained(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 205 (class 1255 OID 18558)
--- Dependencies: 6 1102 1102
--- Name: geometry_eq(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_eq(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_eq';
-
-
-ALTER FUNCTION public.geometry_eq(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 206 (class 1255 OID 18559)
--- Dependencies: 6 1102 1102
--- Name: geometry_ge(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_ge(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_ge';
-
-
-ALTER FUNCTION public.geometry_ge(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 207 (class 1255 OID 18560)
--- Dependencies: 6
--- Name: geometry_gist_joinsel(internal, oid, internal, smallint); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_gist_joinsel(internal, oid, internal, smallint) RETURNS double precision
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_joinsel';
-
-
-ALTER FUNCTION public.geometry_gist_joinsel(internal, oid, internal, smallint) OWNER TO postgres;
-
---
--- TOC entry 208 (class 1255 OID 18561)
--- Dependencies: 6
--- Name: geometry_gist_sel(internal, oid, internal, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_gist_sel(internal, oid, internal, integer) RETURNS double precision
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_sel';
-
-
-ALTER FUNCTION public.geometry_gist_sel(internal, oid, internal, integer) OWNER TO postgres;
-
---
--- TOC entry 209 (class 1255 OID 18562)
--- Dependencies: 1102 6 1102
--- Name: geometry_gt(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_gt(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_gt';
-
-
-ALTER FUNCTION public.geometry_gt(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 210 (class 1255 OID 18563)
--- Dependencies: 1102 6 1102
--- Name: geometry_le(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_le(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_le';
-
-
-ALTER FUNCTION public.geometry_le(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 211 (class 1255 OID 18564)
--- Dependencies: 1102 6 1102
--- Name: geometry_left(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_left(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_left';
-
-
-ALTER FUNCTION public.geometry_left(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 212 (class 1255 OID 18565)
--- Dependencies: 1102 6 1102
--- Name: geometry_lt(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_lt(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_lt';
-
-
-ALTER FUNCTION public.geometry_lt(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 213 (class 1255 OID 18566)
--- Dependencies: 1102 6 1102
--- Name: geometry_overabove(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_overabove(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_overabove';
-
-
-ALTER FUNCTION public.geometry_overabove(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 214 (class 1255 OID 18567)
--- Dependencies: 1102 6 1102
--- Name: geometry_overbelow(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_overbelow(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_overbelow';
-
-
-ALTER FUNCTION public.geometry_overbelow(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 215 (class 1255 OID 18568)
--- Dependencies: 1102 6 1102
--- Name: geometry_overlap(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_overlap(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_overlap';
-
-
-ALTER FUNCTION public.geometry_overlap(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 216 (class 1255 OID 18569)
--- Dependencies: 1102 6 1102
--- Name: geometry_overleft(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_overleft(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_overleft';
-
-
-ALTER FUNCTION public.geometry_overleft(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 217 (class 1255 OID 18570)
--- Dependencies: 1102 6 1102
--- Name: geometry_overright(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_overright(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_overright';
-
-
-ALTER FUNCTION public.geometry_overright(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 218 (class 1255 OID 18571)
--- Dependencies: 1102 6 1102
--- Name: geometry_right(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_right(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_right';
-
-
-ALTER FUNCTION public.geometry_right(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 219 (class 1255 OID 18572)
--- Dependencies: 1102 6 1102
--- Name: geometry_same(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_same(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_samebox';
-
-
-ALTER FUNCTION public.geometry_same(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 220 (class 1255 OID 18573)
--- Dependencies: 1102 6 1102
--- Name: geometry_samebox(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometry_samebox(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_samebox';
-
-
-ALTER FUNCTION public.geometry_samebox(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 221 (class 1255 OID 18574)
--- Dependencies: 6 1102
--- Name: geometryfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometryfromtext(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_text';
-
-
-ALTER FUNCTION public.geometryfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 222 (class 1255 OID 18575)
--- Dependencies: 1102 6
--- Name: geometryfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometryfromtext(text, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_text';
-
-
-ALTER FUNCTION public.geometryfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 223 (class 1255 OID 18576)
--- Dependencies: 6 1102 1102
--- Name: geometryn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometryn(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_geometryn_collection';
-
-
-ALTER FUNCTION public.geometryn(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 224 (class 1255 OID 18577)
--- Dependencies: 1102 6
--- Name: geometrytype(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geometrytype(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_getTYPE';
-
-
-ALTER FUNCTION public.geometrytype(geometry) OWNER TO postgres;
-
---
--- TOC entry 225 (class 1255 OID 18578)
--- Dependencies: 6 1102
--- Name: geomfromewkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geomfromewkb(bytea) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOMFromWKB';
-
-
-ALTER FUNCTION public.geomfromewkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 226 (class 1255 OID 18579)
--- Dependencies: 6 1102
--- Name: geomfromewkt(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geomfromewkt(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'parse_WKT_lwgeom';
-
-
-ALTER FUNCTION public.geomfromewkt(text) OWNER TO postgres;
-
---
--- TOC entry 227 (class 1255 OID 18580)
--- Dependencies: 6 1102
--- Name: geomfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geomfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT geometryfromtext($1)$_$;
-
-
-ALTER FUNCTION public.geomfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 228 (class 1255 OID 18581)
--- Dependencies: 6 1102
--- Name: geomfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geomfromtext(text, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT geometryfromtext($1, $2)$_$;
-
-
-ALTER FUNCTION public.geomfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 229 (class 1255 OID 18582)
--- Dependencies: 6 1102
--- Name: geomfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geomfromwkb(bytea) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_WKB';
-
-
-ALTER FUNCTION public.geomfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 230 (class 1255 OID 18583)
--- Dependencies: 6 1102
--- Name: geomfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geomfromwkb(bytea, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT setSRID(GeomFromWKB($1), $2)$_$;
-
-
-ALTER FUNCTION public.geomfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 231 (class 1255 OID 18584)
--- Dependencies: 1102 6 1102 1102
--- Name: geomunion(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION geomunion(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geomunion';
-
-
-ALTER FUNCTION public.geomunion(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 232 (class 1255 OID 18585)
--- Dependencies: 6 1168
--- Name: get_proj4_from_srid(integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.get_proj4_from_srid(integer) OWNER TO postgres;
-
---
--- TOC entry 233 (class 1255 OID 18586)
--- Dependencies: 1087 6 1102
--- Name: getbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION getbbox(geometry) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX2DFLOAT4';
-
-
-ALTER FUNCTION public.getbbox(geometry) OWNER TO postgres;
-
---
--- TOC entry 234 (class 1255 OID 18587)
--- Dependencies: 1102 6
--- Name: getsrid(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION getsrid(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_getSRID';
-
-
-ALTER FUNCTION public.getsrid(geometry) OWNER TO postgres;
-
---
--- TOC entry 235 (class 1255 OID 18588)
--- Dependencies: 6
--- Name: gettransactionid(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION gettransactionid() RETURNS xid
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'getTransactionID';
-
-
-ALTER FUNCTION public.gettransactionid() OWNER TO postgres;
-
---
--- TOC entry 236 (class 1255 OID 18589)
--- Dependencies: 1102 6
--- Name: hasbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION hasbbox(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_hasBBOX';
-
-
-ALTER FUNCTION public.hasbbox(geometry) OWNER TO postgres;
-
---
--- TOC entry 237 (class 1255 OID 18590)
--- Dependencies: 6 1096
--- Name: height(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION height(chip) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getHeight';
-
-
-ALTER FUNCTION public.height(chip) OWNER TO postgres;
-
---
--- TOC entry 238 (class 1255 OID 18591)
--- Dependencies: 1102 1102 6
--- Name: interiorringn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION interiorringn(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_interiorringn_polygon';
-
-
-ALTER FUNCTION public.interiorringn(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 239 (class 1255 OID 18592)
--- Dependencies: 1102 6 1102 1102
--- Name: intersection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION intersection(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'intersection';
-
-
-ALTER FUNCTION public.intersection(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 240 (class 1255 OID 18593)
--- Dependencies: 1102 6 1102
--- Name: intersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION intersects(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'intersects';
-
-
-ALTER FUNCTION public.intersects(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 241 (class 1255 OID 18594)
--- Dependencies: 6 1102
--- Name: isclosed(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION isclosed(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_isclosed_linestring';
-
-
-ALTER FUNCTION public.isclosed(geometry) OWNER TO postgres;
-
---
--- TOC entry 242 (class 1255 OID 18595)
--- Dependencies: 6 1102
--- Name: isempty(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION isempty(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_isempty';
-
-
-ALTER FUNCTION public.isempty(geometry) OWNER TO postgres;
-
---
--- TOC entry 243 (class 1255 OID 18596)
--- Dependencies: 1102 6
--- Name: isring(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION isring(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'isring';
-
-
-ALTER FUNCTION public.isring(geometry) OWNER TO postgres;
-
---
--- TOC entry 244 (class 1255 OID 18597)
--- Dependencies: 6 1102
--- Name: issimple(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION issimple(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'issimple';
-
-
-ALTER FUNCTION public.issimple(geometry) OWNER TO postgres;
-
---
--- TOC entry 245 (class 1255 OID 18598)
--- Dependencies: 6 1102
--- Name: isvalid(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION isvalid(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'isvalid';
-
-
-ALTER FUNCTION public.isvalid(geometry) OWNER TO postgres;
-
---
--- TOC entry 246 (class 1255 OID 18599)
--- Dependencies: 1102 6
--- Name: length(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION length(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_length_linestring';
-
-
-ALTER FUNCTION public.length(geometry) OWNER TO postgres;
-
---
--- TOC entry 247 (class 1255 OID 18600)
--- Dependencies: 6 1102
--- Name: length2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION length2d(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_length2d_linestring';
-
-
-ALTER FUNCTION public.length2d(geometry) OWNER TO postgres;
-
---
--- TOC entry 248 (class 1255 OID 18601)
--- Dependencies: 1102 6 1113
--- Name: length2d_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION length2d_spheroid(geometry, spheroid) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_length2d_ellipsoid';
-
-
-ALTER FUNCTION public.length2d_spheroid(geometry, spheroid) OWNER TO postgres;
-
---
--- TOC entry 249 (class 1255 OID 18602)
--- Dependencies: 1102 6
--- Name: length3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION length3d(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_length_linestring';
-
-
-ALTER FUNCTION public.length3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 250 (class 1255 OID 18603)
--- Dependencies: 6 1102 1113
--- Name: length3d_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION length3d_spheroid(geometry, spheroid) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_length_ellipsoid_linestring';
-
-
-ALTER FUNCTION public.length3d_spheroid(geometry, spheroid) OWNER TO postgres;
-
---
--- TOC entry 251 (class 1255 OID 18604)
--- Dependencies: 1113 6 1102
--- Name: length_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION length_spheroid(geometry, spheroid) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_length_ellipsoid_linestring';
-
-
-ALTER FUNCTION public.length_spheroid(geometry, spheroid) OWNER TO postgres;
-
---
--- TOC entry 252 (class 1255 OID 18605)
--- Dependencies: 6 1102 1102
--- Name: line_interpolate_point(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION line_interpolate_point(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_line_interpolate_point';
-
-
-ALTER FUNCTION public.line_interpolate_point(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 253 (class 1255 OID 18606)
--- Dependencies: 6 1102 1102
--- Name: line_locate_point(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION line_locate_point(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_line_locate_point';
-
-
-ALTER FUNCTION public.line_locate_point(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 254 (class 1255 OID 18607)
--- Dependencies: 6 1102 1102
--- Name: line_substring(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION line_substring(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_line_substring';
-
-
-ALTER FUNCTION public.line_substring(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 255 (class 1255 OID 18608)
--- Dependencies: 6 1102 1102
--- Name: linefrommultipoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION linefrommultipoint(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_line_from_mpoint';
-
-
-ALTER FUNCTION public.linefrommultipoint(geometry) OWNER TO postgres;
-
---
--- TOC entry 256 (class 1255 OID 18609)
--- Dependencies: 6 1102
--- Name: linefromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION linefromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'LINESTRING'
-	THEN GeomFromText($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.linefromtext(text) OWNER TO postgres;
-
---
--- TOC entry 257 (class 1255 OID 18610)
--- Dependencies: 6 1102
--- Name: linefromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.linefromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 259 (class 1255 OID 18612)
--- Dependencies: 6 1102
--- Name: linefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION linefromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'LINESTRING'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.linefromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 258 (class 1255 OID 18611)
--- Dependencies: 6 1102
--- Name: linefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.linefromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 260 (class 1255 OID 18613)
--- Dependencies: 6 1102 1102
--- Name: linemerge(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION linemerge(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'linemerge';
-
-
-ALTER FUNCTION public.linemerge(geometry) OWNER TO postgres;
-
---
--- TOC entry 261 (class 1255 OID 18614)
--- Dependencies: 6 1102
--- Name: linestringfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION linestringfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT LineFromText($1)$_$;
-
-
-ALTER FUNCTION public.linestringfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 262 (class 1255 OID 18615)
--- Dependencies: 6 1102
--- Name: linestringfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION linestringfromtext(text, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT LineFromText($1, $2)$_$;
-
-
-ALTER FUNCTION public.linestringfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 264 (class 1255 OID 18617)
--- Dependencies: 6 1102
--- Name: linestringfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION linestringfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'LINESTRING'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.linestringfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 263 (class 1255 OID 18616)
--- Dependencies: 6 1102
--- Name: linestringfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.linestringfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 265 (class 1255 OID 18618)
--- Dependencies: 6 1102 1102
--- Name: locate_along_measure(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION locate_along_measure(geometry, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT locate_between_measures($1, $2, $2) $_$;
-
-
-ALTER FUNCTION public.locate_along_measure(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 266 (class 1255 OID 18619)
--- Dependencies: 1102 1102 6
--- Name: locate_between_measures(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION locate_between_measures(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_locate_between_m';
-
-
-ALTER FUNCTION public.locate_between_measures(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 269 (class 1255 OID 18622)
--- Dependencies: 6
--- Name: lockrow(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION lockrow(text, text, text) RETURNS integer
-    LANGUAGE sql STRICT
-    AS $_$ SELECT LockRow(current_schema(), $1, $2, $3, now()::timestamp+'1:00'); $_$;
-
-
-ALTER FUNCTION public.lockrow(text, text, text) OWNER TO postgres;
-
---
--- TOC entry 268 (class 1255 OID 18621)
--- Dependencies: 6
--- Name: lockrow(text, text, text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION lockrow(text, text, text, text) RETURNS integer
-    LANGUAGE sql STRICT
-    AS $_$ SELECT LockRow($1, $2, $3, $4, now()::timestamp+'1:00'); $_$;
-
-
-ALTER FUNCTION public.lockrow(text, text, text, text) OWNER TO postgres;
-
---
--- TOC entry 270 (class 1255 OID 18623)
--- Dependencies: 6
--- Name: lockrow(text, text, text, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION lockrow(text, text, text, timestamp without time zone) RETURNS integer
-    LANGUAGE sql STRICT
-    AS $_$ SELECT LockRow(current_schema(), $1, $2, $3, $4); $_$;
-
-
-ALTER FUNCTION public.lockrow(text, text, text, timestamp without time zone) OWNER TO postgres;
-
---
--- TOC entry 267 (class 1255 OID 18620)
--- Dependencies: 6 1168
--- Name: lockrow(text, text, text, text, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.lockrow(text, text, text, text, timestamp without time zone) OWNER TO postgres;
-
---
--- TOC entry 271 (class 1255 OID 18624)
--- Dependencies: 1168 6
--- Name: longtransactionsenabled(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$$;
-
-
-ALTER FUNCTION public.longtransactionsenabled() OWNER TO postgres;
-
---
--- TOC entry 272 (class 1255 OID 18625)
--- Dependencies: 6
--- Name: lwgeom_gist_compress(internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION lwgeom_gist_compress(internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_compress';
-
-
-ALTER FUNCTION public.lwgeom_gist_compress(internal) OWNER TO postgres;
-
---
--- TOC entry 273 (class 1255 OID 18626)
--- Dependencies: 6 1102
--- Name: lwgeom_gist_consistent(internal, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION lwgeom_gist_consistent(internal, geometry, integer) RETURNS boolean
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_consistent';
-
-
-ALTER FUNCTION public.lwgeom_gist_consistent(internal, geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 274 (class 1255 OID 18627)
--- Dependencies: 6
--- Name: lwgeom_gist_decompress(internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION lwgeom_gist_decompress(internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_decompress';
-
-
-ALTER FUNCTION public.lwgeom_gist_decompress(internal) OWNER TO postgres;
-
---
--- TOC entry 275 (class 1255 OID 18628)
--- Dependencies: 6
--- Name: lwgeom_gist_penalty(internal, internal, internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION lwgeom_gist_penalty(internal, internal, internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_penalty';
-
-
-ALTER FUNCTION public.lwgeom_gist_penalty(internal, internal, internal) OWNER TO postgres;
-
---
--- TOC entry 276 (class 1255 OID 18629)
--- Dependencies: 6
--- Name: lwgeom_gist_picksplit(internal, internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION lwgeom_gist_picksplit(internal, internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_picksplit';
-
-
-ALTER FUNCTION public.lwgeom_gist_picksplit(internal, internal) OWNER TO postgres;
-
---
--- TOC entry 277 (class 1255 OID 18630)
--- Dependencies: 6 1087 1087
--- Name: lwgeom_gist_same(box2d, box2d, internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION lwgeom_gist_same(box2d, box2d, internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_same';
-
-
-ALTER FUNCTION public.lwgeom_gist_same(box2d, box2d, internal) OWNER TO postgres;
-
---
--- TOC entry 278 (class 1255 OID 18631)
--- Dependencies: 6
--- Name: lwgeom_gist_union(bytea, internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION lwgeom_gist_union(bytea, internal) RETURNS internal
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_union';
-
-
-ALTER FUNCTION public.lwgeom_gist_union(bytea, internal) OWNER TO postgres;
-
---
--- TOC entry 279 (class 1255 OID 18632)
--- Dependencies: 6 1102
--- Name: m(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION m(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_m_point';
-
-
-ALTER FUNCTION public.m(geometry) OWNER TO postgres;
-
---
--- TOC entry 280 (class 1255 OID 18633)
--- Dependencies: 1102 6 1087 1102
--- Name: makebox2d(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION makebox2d(geometry, geometry) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_construct';
-
-
-ALTER FUNCTION public.makebox2d(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 281 (class 1255 OID 18634)
--- Dependencies: 1090 6 1102 1102
--- Name: makebox3d(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION makebox3d(geometry, geometry) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_construct';
-
-
-ALTER FUNCTION public.makebox3d(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 282 (class 1255 OID 18635)
--- Dependencies: 6 1102 1102 1102
--- Name: makeline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION makeline(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makeline';
-
-
-ALTER FUNCTION public.makeline(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 283 (class 1255 OID 18636)
--- Dependencies: 6 1102 1104
--- Name: makeline_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION makeline_garray(geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makeline_garray';
-
-
-ALTER FUNCTION public.makeline_garray(geometry[]) OWNER TO postgres;
-
---
--- TOC entry 284 (class 1255 OID 18637)
--- Dependencies: 6 1102
--- Name: makepoint(double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION makepoint(double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoint';
-
-
-ALTER FUNCTION public.makepoint(double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 285 (class 1255 OID 18638)
--- Dependencies: 6 1102
--- Name: makepoint(double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION makepoint(double precision, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoint';
-
-
-ALTER FUNCTION public.makepoint(double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 286 (class 1255 OID 18639)
--- Dependencies: 6 1102
--- Name: makepoint(double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION makepoint(double precision, double precision, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoint';
-
-
-ALTER FUNCTION public.makepoint(double precision, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 287 (class 1255 OID 18640)
--- Dependencies: 6 1102
--- Name: makepointm(double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION makepointm(double precision, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoint3dm';
-
-
-ALTER FUNCTION public.makepointm(double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 289 (class 1255 OID 18642)
--- Dependencies: 6 1102 1102
--- Name: makepolygon(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION makepolygon(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoly';
-
-
-ALTER FUNCTION public.makepolygon(geometry) OWNER TO postgres;
-
---
--- TOC entry 288 (class 1255 OID 18641)
--- Dependencies: 1104 6 1102 1102
--- Name: makepolygon(geometry, geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION makepolygon(geometry, geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoly';
-
-
-ALTER FUNCTION public.makepolygon(geometry, geometry[]) OWNER TO postgres;
-
---
--- TOC entry 290 (class 1255 OID 18643)
--- Dependencies: 1102 1102 6
--- Name: max_distance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION max_distance(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_maxdistance2d_linestring';
-
-
-ALTER FUNCTION public.max_distance(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 291 (class 1255 OID 18644)
--- Dependencies: 6 1102
--- Name: mem_size(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION mem_size(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_mem_size';
-
-
-ALTER FUNCTION public.mem_size(geometry) OWNER TO postgres;
-
---
--- TOC entry 293 (class 1255 OID 18646)
--- Dependencies: 6 1102
--- Name: mlinefromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION mlinefromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'MULTILINESTRING'
-	THEN GeomFromText($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.mlinefromtext(text) OWNER TO postgres;
-
---
--- TOC entry 292 (class 1255 OID 18645)
--- Dependencies: 6 1102
--- Name: mlinefromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.mlinefromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 295 (class 1255 OID 18648)
--- Dependencies: 6 1102
--- Name: mlinefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION mlinefromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTILINESTRING'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.mlinefromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 294 (class 1255 OID 18647)
--- Dependencies: 1102 6
--- Name: mlinefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.mlinefromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 297 (class 1255 OID 18650)
--- Dependencies: 6 1102
--- Name: mpointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION mpointfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'MULTIPOINT'
-	THEN GeomFromText($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.mpointfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 296 (class 1255 OID 18649)
--- Dependencies: 6 1102
--- Name: mpointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.mpointfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 299 (class 1255 OID 18652)
--- Dependencies: 6 1102
--- Name: mpointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION mpointfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOINT'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.mpointfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 298 (class 1255 OID 18651)
--- Dependencies: 6 1102
--- Name: mpointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.mpointfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 301 (class 1255 OID 18654)
--- Dependencies: 6 1102
--- Name: mpolyfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION mpolyfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'MULTIPOLYGON'
-	THEN GeomFromText($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.mpolyfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 300 (class 1255 OID 18653)
--- Dependencies: 1102 6
--- Name: mpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.mpolyfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 303 (class 1255 OID 18656)
--- Dependencies: 1102 6
--- Name: mpolyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION mpolyfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOLYGON'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.mpolyfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 302 (class 1255 OID 18655)
--- Dependencies: 1102 6
--- Name: mpolyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.mpolyfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 304 (class 1255 OID 18657)
--- Dependencies: 1102 6 1102
--- Name: multi(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION multi(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_multi';
-
-
-ALTER FUNCTION public.multi(geometry) OWNER TO postgres;
-
---
--- TOC entry 306 (class 1255 OID 18659)
--- Dependencies: 1102 6
--- Name: multilinefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION multilinefromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTILINESTRING'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.multilinefromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 305 (class 1255 OID 18658)
--- Dependencies: 1102 6
--- Name: multilinefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.multilinefromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 307 (class 1255 OID 18660)
--- Dependencies: 1102 6
--- Name: multilinestringfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION multilinestringfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_MLineFromText($1)$_$;
-
-
-ALTER FUNCTION public.multilinestringfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 308 (class 1255 OID 18661)
--- Dependencies: 1102 6
--- Name: multilinestringfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION multilinestringfromtext(text, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT MLineFromText($1, $2)$_$;
-
-
-ALTER FUNCTION public.multilinestringfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 310 (class 1255 OID 18663)
--- Dependencies: 1102 6
--- Name: multipointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION multipointfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT MPointFromText($1)$_$;
-
-
-ALTER FUNCTION public.multipointfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 309 (class 1255 OID 18662)
--- Dependencies: 1102 6
--- Name: multipointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION multipointfromtext(text, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT MPointFromText($1, $2)$_$;
-
-
-ALTER FUNCTION public.multipointfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 312 (class 1255 OID 18665)
--- Dependencies: 1102 6
--- Name: multipointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION multipointfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOINT'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.multipointfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 311 (class 1255 OID 18664)
--- Dependencies: 6 1102
--- Name: multipointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.multipointfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 314 (class 1255 OID 18667)
--- Dependencies: 6 1102
--- Name: multipolyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION multipolyfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'MULTIPOLYGON'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.multipolyfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 313 (class 1255 OID 18666)
--- Dependencies: 6 1102
--- Name: multipolyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.multipolyfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 316 (class 1255 OID 18669)
--- Dependencies: 1102 6
--- Name: multipolygonfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION multipolygonfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT MPolyFromText($1)$_$;
-
-
-ALTER FUNCTION public.multipolygonfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 315 (class 1255 OID 18668)
--- Dependencies: 6 1102
--- Name: multipolygonfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION multipolygonfromtext(text, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT MPolyFromText($1, $2)$_$;
-
-
-ALTER FUNCTION public.multipolygonfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 317 (class 1255 OID 18670)
--- Dependencies: 6 1102
--- Name: ndims(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION ndims(geometry) RETURNS smallint
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_ndims';
-
-
-ALTER FUNCTION public.ndims(geometry) OWNER TO postgres;
-
---
--- TOC entry 318 (class 1255 OID 18671)
--- Dependencies: 6 1102 1102
--- Name: noop(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION noop(geometry) RETURNS geometry
-    LANGUAGE c STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_noop';
-
-
-ALTER FUNCTION public.noop(geometry) OWNER TO postgres;
-
---
--- TOC entry 319 (class 1255 OID 18672)
--- Dependencies: 6 1102
--- Name: npoints(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION npoints(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_npoints';
-
-
-ALTER FUNCTION public.npoints(geometry) OWNER TO postgres;
-
---
--- TOC entry 320 (class 1255 OID 18673)
--- Dependencies: 6 1102
--- Name: nrings(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION nrings(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_nrings';
-
-
-ALTER FUNCTION public.nrings(geometry) OWNER TO postgres;
-
---
--- TOC entry 321 (class 1255 OID 18674)
--- Dependencies: 6 1102
--- Name: numgeometries(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION numgeometries(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_numgeometries_collection';
-
-
-ALTER FUNCTION public.numgeometries(geometry) OWNER TO postgres;
-
---
--- TOC entry 322 (class 1255 OID 18675)
--- Dependencies: 6 1102
--- Name: numinteriorring(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION numinteriorring(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_numinteriorrings_polygon';
-
-
-ALTER FUNCTION public.numinteriorring(geometry) OWNER TO postgres;
-
---
--- TOC entry 323 (class 1255 OID 18676)
--- Dependencies: 6 1102
--- Name: numinteriorrings(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION numinteriorrings(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_numinteriorrings_polygon';
-
-
-ALTER FUNCTION public.numinteriorrings(geometry) OWNER TO postgres;
-
---
--- TOC entry 324 (class 1255 OID 18677)
--- Dependencies: 6 1102
--- Name: numpoints(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION numpoints(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_numpoints_linestring';
-
-
-ALTER FUNCTION public.numpoints(geometry) OWNER TO postgres;
-
---
--- TOC entry 325 (class 1255 OID 18678)
--- Dependencies: 6 1102 1102
--- Name: overlaps(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION "overlaps"(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'overlaps';
-
-
-ALTER FUNCTION public."overlaps"(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 326 (class 1255 OID 18679)
--- Dependencies: 6 1102
--- Name: perimeter(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION perimeter(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_perimeter_poly';
-
-
-ALTER FUNCTION public.perimeter(geometry) OWNER TO postgres;
-
---
--- TOC entry 327 (class 1255 OID 18680)
--- Dependencies: 1102 6
--- Name: perimeter2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION perimeter2d(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_perimeter2d_poly';
-
-
-ALTER FUNCTION public.perimeter2d(geometry) OWNER TO postgres;
-
---
--- TOC entry 328 (class 1255 OID 18681)
--- Dependencies: 6 1102
--- Name: perimeter3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION perimeter3d(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_perimeter_poly';
-
-
-ALTER FUNCTION public.perimeter3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 329 (class 1255 OID 18682)
--- Dependencies: 1104 6 1110
--- Name: pgis_geometry_accum_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pgis_geometry_accum_finalfn(pgis_abs) RETURNS geometry[]
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'pgis_geometry_accum_finalfn';
-
-
-ALTER FUNCTION public.pgis_geometry_accum_finalfn(pgis_abs) OWNER TO postgres;
-
---
--- TOC entry 330 (class 1255 OID 18683)
--- Dependencies: 1110 6 1110 1102
--- Name: pgis_geometry_accum_transfn(pgis_abs, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pgis_geometry_accum_transfn(pgis_abs, geometry) RETURNS pgis_abs
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'pgis_geometry_accum_transfn';
-
-
-ALTER FUNCTION public.pgis_geometry_accum_transfn(pgis_abs, geometry) OWNER TO postgres;
-
---
--- TOC entry 331 (class 1255 OID 18684)
--- Dependencies: 1102 6 1110
--- Name: pgis_geometry_collect_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pgis_geometry_collect_finalfn(pgis_abs) RETURNS geometry
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'pgis_geometry_collect_finalfn';
-
-
-ALTER FUNCTION public.pgis_geometry_collect_finalfn(pgis_abs) OWNER TO postgres;
-
---
--- TOC entry 332 (class 1255 OID 18685)
--- Dependencies: 1102 6 1110
--- Name: pgis_geometry_makeline_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pgis_geometry_makeline_finalfn(pgis_abs) RETURNS geometry
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'pgis_geometry_makeline_finalfn';
-
-
-ALTER FUNCTION public.pgis_geometry_makeline_finalfn(pgis_abs) OWNER TO postgres;
-
---
--- TOC entry 333 (class 1255 OID 18686)
--- Dependencies: 1110 6 1102
--- Name: pgis_geometry_polygonize_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pgis_geometry_polygonize_finalfn(pgis_abs) RETURNS geometry
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'pgis_geometry_polygonize_finalfn';
-
-
-ALTER FUNCTION public.pgis_geometry_polygonize_finalfn(pgis_abs) OWNER TO postgres;
-
---
--- TOC entry 334 (class 1255 OID 18687)
--- Dependencies: 1110 1102 6
--- Name: pgis_geometry_union_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pgis_geometry_union_finalfn(pgis_abs) RETURNS geometry
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'pgis_geometry_union_finalfn';
-
-
-ALTER FUNCTION public.pgis_geometry_union_finalfn(pgis_abs) OWNER TO postgres;
-
---
--- TOC entry 335 (class 1255 OID 18688)
--- Dependencies: 1102 6
--- Name: point_inside_circle(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION point_inside_circle(geometry, double precision, double precision, double precision) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_inside_circle_point';
-
-
-ALTER FUNCTION public.point_inside_circle(geometry, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 336 (class 1255 OID 18689)
--- Dependencies: 6 1102
--- Name: pointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pointfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'POINT'
-	THEN GeomFromText($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.pointfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 337 (class 1255 OID 18690)
--- Dependencies: 6 1102
--- Name: pointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.pointfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 339 (class 1255 OID 18692)
--- Dependencies: 6 1102
--- Name: pointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pointfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POINT'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.pointfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 338 (class 1255 OID 18691)
--- Dependencies: 1102 6
--- Name: pointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.pointfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 340 (class 1255 OID 18693)
--- Dependencies: 6 1102 1102
--- Name: pointn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pointn(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_pointn_linestring';
-
-
-ALTER FUNCTION public.pointn(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 341 (class 1255 OID 18694)
--- Dependencies: 6 1102 1102
--- Name: pointonsurface(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION pointonsurface(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'pointonsurface';
-
-
-ALTER FUNCTION public.pointonsurface(geometry) OWNER TO postgres;
-
---
--- TOC entry 342 (class 1255 OID 18695)
--- Dependencies: 6 1102
--- Name: polyfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION polyfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromText($1)) = 'POLYGON'
-	THEN GeomFromText($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.polyfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 343 (class 1255 OID 18696)
--- Dependencies: 6 1102
--- Name: polyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.polyfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 345 (class 1255 OID 18698)
--- Dependencies: 6 1102
--- Name: polyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION polyfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POLYGON'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.polyfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 344 (class 1255 OID 18697)
--- Dependencies: 1102 6
--- Name: polyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.polyfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 347 (class 1255 OID 18700)
--- Dependencies: 6 1102
--- Name: polygonfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION polygonfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT PolyFromText($1)$_$;
-
-
-ALTER FUNCTION public.polygonfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 346 (class 1255 OID 18699)
--- Dependencies: 6 1102
--- Name: polygonfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION polygonfromtext(text, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT PolyFromText($1, $2)$_$;
-
-
-ALTER FUNCTION public.polygonfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 349 (class 1255 OID 18702)
--- Dependencies: 1102 6
--- Name: polygonfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION polygonfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POLYGON'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.polygonfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 348 (class 1255 OID 18701)
--- Dependencies: 6 1102
--- Name: polygonfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.polygonfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 350 (class 1255 OID 18703)
--- Dependencies: 6 1102 1104
--- Name: polygonize_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION polygonize_garray(geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'polygonize_garray';
-
-
-ALTER FUNCTION public.polygonize_garray(geometry[]) OWNER TO postgres;
-
---
--- TOC entry 351 (class 1255 OID 18704)
--- Dependencies: 6 1168
--- Name: populate_geometry_columns(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-
-$$;
-
-
-ALTER FUNCTION public.populate_geometry_columns() OWNER TO postgres;
-
---
--- TOC entry 352 (class 1255 OID 18705)
--- Dependencies: 6 1168
--- Name: populate_geometry_columns(oid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-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 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 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 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 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 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 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
-
-$$;
-
-
-ALTER FUNCTION public.populate_geometry_columns(tbl_oid oid) OWNER TO postgres;
-
---
--- TOC entry 353 (class 1255 OID 18707)
--- Dependencies: 6 1102 1102
--- Name: postgis_addbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_addbbox(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_addBBOX';
-
-
-ALTER FUNCTION public.postgis_addbbox(geometry) OWNER TO postgres;
-
---
--- TOC entry 354 (class 1255 OID 18708)
--- Dependencies: 6
--- Name: postgis_cache_bbox(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_cache_bbox() RETURNS trigger
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'cache_bbox';
-
-
-ALTER FUNCTION public.postgis_cache_bbox() OWNER TO postgres;
-
---
--- TOC entry 355 (class 1255 OID 18709)
--- Dependencies: 1102 1102 6
--- Name: postgis_dropbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_dropbbox(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_dropBBOX';
-
-
-ALTER FUNCTION public.postgis_dropbbox(geometry) OWNER TO postgres;
-
---
--- TOC entry 356 (class 1255 OID 18710)
--- Dependencies: 6 1168
--- Name: postgis_full_version(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_full_version() RETURNS text
-    LANGUAGE plpgsql IMMUTABLE
-    AS $$
-DECLARE
-	libver text;
-	projver text;
-	geosver text;
-	libxmlver 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_libxml_version() INTO libxmlver;
-	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  libxmlver IS NOT NULL THEN
-		fullver = fullver || ' LIBXML="' || libxmlver || '"';
-	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
-$$;
-
-
-ALTER FUNCTION public.postgis_full_version() OWNER TO postgres;
-
---
--- TOC entry 357 (class 1255 OID 18711)
--- Dependencies: 6
--- Name: postgis_geos_version(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_geos_version() RETURNS text
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'postgis_geos_version';
-
-
-ALTER FUNCTION public.postgis_geos_version() OWNER TO postgres;
-
---
--- TOC entry 358 (class 1255 OID 18712)
--- Dependencies: 1102 6 1087
--- Name: postgis_getbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_getbbox(geometry) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX2DFLOAT4';
-
-
-ALTER FUNCTION public.postgis_getbbox(geometry) OWNER TO postgres;
-
---
--- TOC entry 359 (class 1255 OID 18713)
--- Dependencies: 6
--- Name: postgis_gist_joinsel(internal, oid, internal, smallint); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_gist_joinsel(internal, oid, internal, smallint) RETURNS double precision
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_joinsel';
-
-
-ALTER FUNCTION public.postgis_gist_joinsel(internal, oid, internal, smallint) OWNER TO postgres;
-
---
--- TOC entry 360 (class 1255 OID 18714)
--- Dependencies: 6
--- Name: postgis_gist_sel(internal, oid, internal, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_gist_sel(internal, oid, internal, integer) RETURNS double precision
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_sel';
-
-
-ALTER FUNCTION public.postgis_gist_sel(internal, oid, internal, integer) OWNER TO postgres;
-
---
--- TOC entry 361 (class 1255 OID 18715)
--- Dependencies: 1102 6
--- Name: postgis_hasbbox(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_hasbbox(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_hasBBOX';
-
-
-ALTER FUNCTION public.postgis_hasbbox(geometry) OWNER TO postgres;
-
---
--- TOC entry 362 (class 1255 OID 18716)
--- Dependencies: 6
--- Name: postgis_lib_build_date(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_lib_build_date() RETURNS text
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'postgis_lib_build_date';
-
-
-ALTER FUNCTION public.postgis_lib_build_date() OWNER TO postgres;
-
---
--- TOC entry 363 (class 1255 OID 18717)
--- Dependencies: 6
--- Name: postgis_lib_version(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_lib_version() RETURNS text
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'postgis_lib_version';
-
-
-ALTER FUNCTION public.postgis_lib_version() OWNER TO postgres;
-
---
--- TOC entry 364 (class 1255 OID 18718)
--- Dependencies: 6
--- Name: postgis_libxml_version(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_libxml_version() RETURNS text
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'postgis_libxml_version';
-
-
-ALTER FUNCTION public.postgis_libxml_version() OWNER TO postgres;
-
---
--- TOC entry 365 (class 1255 OID 18719)
--- Dependencies: 1102 6 1102
--- Name: postgis_noop(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_noop(geometry) RETURNS geometry
-    LANGUAGE c STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_noop';
-
-
-ALTER FUNCTION public.postgis_noop(geometry) OWNER TO postgres;
-
---
--- TOC entry 366 (class 1255 OID 18720)
--- Dependencies: 6
--- Name: postgis_proj_version(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_proj_version() RETURNS text
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'postgis_proj_version';
-
-
-ALTER FUNCTION public.postgis_proj_version() OWNER TO postgres;
-
---
--- TOC entry 367 (class 1255 OID 18721)
--- Dependencies: 6
--- Name: postgis_scripts_build_date(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_scripts_build_date() RETURNS text
-    LANGUAGE sql IMMUTABLE
-    AS $$SELECT '2010-03-11 19:15:17'::text AS version$$;
-
-
-ALTER FUNCTION public.postgis_scripts_build_date() OWNER TO postgres;
-
---
--- TOC entry 368 (class 1255 OID 18722)
--- Dependencies: 6
--- Name: postgis_scripts_installed(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_scripts_installed() RETURNS text
-    LANGUAGE sql IMMUTABLE
-    AS $$SELECT '1.5 r5385'::text AS version$$;
-
-
-ALTER FUNCTION public.postgis_scripts_installed() OWNER TO postgres;
-
---
--- TOC entry 369 (class 1255 OID 18723)
--- Dependencies: 6
--- Name: postgis_scripts_released(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_scripts_released() RETURNS text
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'postgis_scripts_released';
-
-
-ALTER FUNCTION public.postgis_scripts_released() OWNER TO postgres;
-
---
--- TOC entry 370 (class 1255 OID 18724)
--- Dependencies: 1102 6 1102
--- Name: postgis_transform_geometry(geometry, text, text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_transform_geometry(geometry, text, text, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'transform_geom';
-
-
-ALTER FUNCTION public.postgis_transform_geometry(geometry, text, text, integer) OWNER TO postgres;
-
---
--- TOC entry 371 (class 1255 OID 18725)
--- Dependencies: 6
--- Name: postgis_uses_stats(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_uses_stats() RETURNS boolean
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'postgis_uses_stats';
-
-
-ALTER FUNCTION public.postgis_uses_stats() OWNER TO postgres;
-
---
--- TOC entry 372 (class 1255 OID 18726)
--- Dependencies: 6
--- Name: postgis_version(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION postgis_version() RETURNS text
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'postgis_version';
-
-
-ALTER FUNCTION public.postgis_version() OWNER TO postgres;
-
---
--- TOC entry 373 (class 1255 OID 18727)
--- Dependencies: 6 1168
--- Name: probe_geometry_columns(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-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
-
-$$;
-
-
-ALTER FUNCTION public.probe_geometry_columns() OWNER TO postgres;
-
---
--- TOC entry 374 (class 1255 OID 18728)
--- Dependencies: 6 1102 1102
--- Name: relate(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION relate(geometry, geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'relate_full';
-
-
-ALTER FUNCTION public.relate(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 375 (class 1255 OID 18729)
--- Dependencies: 1102 6 1102
--- Name: relate(geometry, geometry, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION relate(geometry, geometry, text) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'relate_pattern';
-
-
-ALTER FUNCTION public.relate(geometry, geometry, text) OWNER TO postgres;
-
---
--- TOC entry 376 (class 1255 OID 18730)
--- Dependencies: 1102 6 1102
--- Name: removepoint(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION removepoint(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_removepoint';
-
-
-ALTER FUNCTION public.removepoint(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 377 (class 1255 OID 18731)
--- Dependencies: 6
--- Name: rename_geometry_table_constraints(); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION rename_geometry_table_constraints() RETURNS text
-    LANGUAGE sql IMMUTABLE
-    AS $$
-SELECT 'rename_geometry_table_constraint() is obsoleted'::text
-$$;
-
-
-ALTER FUNCTION public.rename_geometry_table_constraints() OWNER TO postgres;
-
---
--- TOC entry 378 (class 1255 OID 18732)
--- Dependencies: 1102 6 1102
--- Name: reverse(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION reverse(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_reverse';
-
-
-ALTER FUNCTION public.reverse(geometry) OWNER TO postgres;
-
---
--- TOC entry 379 (class 1255 OID 18733)
--- Dependencies: 1102 6 1102
--- Name: rotate(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION rotate(geometry, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT rotateZ($1, $2)$_$;
-
-
-ALTER FUNCTION public.rotate(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 380 (class 1255 OID 18734)
--- Dependencies: 1102 6 1102
--- Name: rotatex(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.rotatex(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 381 (class 1255 OID 18735)
--- Dependencies: 1102 6 1102
--- Name: rotatey(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.rotatey(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 382 (class 1255 OID 18736)
--- Dependencies: 1102 6 1102
--- Name: rotatez(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.rotatez(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 384 (class 1255 OID 18738)
--- Dependencies: 6 1102 1102
--- Name: scale(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION scale(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT scale($1, $2, $3, 1)$_$;
-
-
-ALTER FUNCTION public.scale(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 383 (class 1255 OID 18737)
--- Dependencies: 6 1102 1102
--- Name: scale(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.scale(geometry, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 385 (class 1255 OID 18739)
--- Dependencies: 1102 6 1102
--- Name: se_envelopesintersect(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION se_envelopesintersect(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ 
-	SELECT $1 && $2
-	$_$;
-
-
-ALTER FUNCTION public.se_envelopesintersect(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 386 (class 1255 OID 18740)
--- Dependencies: 6 1102
--- Name: se_is3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION se_is3d(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_hasz';
-
-
-ALTER FUNCTION public.se_is3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 387 (class 1255 OID 18741)
--- Dependencies: 6 1102
--- Name: se_ismeasured(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION se_ismeasured(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_hasm';
-
-
-ALTER FUNCTION public.se_ismeasured(geometry) OWNER TO postgres;
-
---
--- TOC entry 388 (class 1255 OID 18742)
--- Dependencies: 1102 6 1102
--- Name: se_locatealong(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION se_locatealong(geometry, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT locate_between_measures($1, $2, $2) $_$;
-
-
-ALTER FUNCTION public.se_locatealong(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 389 (class 1255 OID 18743)
--- Dependencies: 1102 6 1102
--- Name: se_locatebetween(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION se_locatebetween(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_locate_between_m';
-
-
-ALTER FUNCTION public.se_locatebetween(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 390 (class 1255 OID 18744)
--- Dependencies: 6 1102
--- Name: se_m(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION se_m(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_m_point';
-
-
-ALTER FUNCTION public.se_m(geometry) OWNER TO postgres;
-
---
--- TOC entry 391 (class 1255 OID 18745)
--- Dependencies: 6 1102
--- Name: se_z(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION se_z(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_z_point';
-
-
-ALTER FUNCTION public.se_z(geometry) OWNER TO postgres;
-
---
--- TOC entry 392 (class 1255 OID 18746)
--- Dependencies: 1102 6 1102
--- Name: segmentize(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION segmentize(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_segmentize2d';
-
-
-ALTER FUNCTION public.segmentize(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 393 (class 1255 OID 18747)
--- Dependencies: 1096 6 1096
--- Name: setfactor(chip, real); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION setfactor(chip, real) RETURNS chip
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_setFactor';
-
-
-ALTER FUNCTION public.setfactor(chip, real) OWNER TO postgres;
-
---
--- TOC entry 394 (class 1255 OID 18748)
--- Dependencies: 1102 6 1102 1102
--- Name: setpoint(geometry, integer, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION setpoint(geometry, integer, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_setpoint_linestring';
-
-
-ALTER FUNCTION public.setpoint(geometry, integer, geometry) OWNER TO postgres;
-
---
--- TOC entry 395 (class 1255 OID 18749)
--- Dependencies: 1096 6 1096
--- Name: setsrid(chip, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION setsrid(chip, integer) RETURNS chip
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_setSRID';
-
-
-ALTER FUNCTION public.setsrid(chip, integer) OWNER TO postgres;
-
---
--- TOC entry 396 (class 1255 OID 18750)
--- Dependencies: 1102 6 1102
--- Name: setsrid(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION setsrid(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_setSRID';
-
-
-ALTER FUNCTION public.setsrid(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 397 (class 1255 OID 18751)
--- Dependencies: 6 1102 1102
--- Name: shift_longitude(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION shift_longitude(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_longitude_shift';
-
-
-ALTER FUNCTION public.shift_longitude(geometry) OWNER TO postgres;
-
---
--- TOC entry 398 (class 1255 OID 18752)
--- Dependencies: 6 1102 1102
--- Name: simplify(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION simplify(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_simplify2d';
-
-
-ALTER FUNCTION public.simplify(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 401 (class 1255 OID 18755)
--- Dependencies: 1102 6 1102
--- Name: snaptogrid(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION snaptogrid(geometry, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT SnapToGrid($1, 0, 0, $2, $2)$_$;
-
-
-ALTER FUNCTION public.snaptogrid(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 400 (class 1255 OID 18754)
--- Dependencies: 1102 6 1102
--- Name: snaptogrid(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION snaptogrid(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT SnapToGrid($1, 0, 0, $2, $3)$_$;
-
-
-ALTER FUNCTION public.snaptogrid(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 399 (class 1255 OID 18753)
--- Dependencies: 6 1102 1102
--- Name: snaptogrid(geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION snaptogrid(geometry, double precision, double precision, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_snaptogrid';
-
-
-ALTER FUNCTION public.snaptogrid(geometry, double precision, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 402 (class 1255 OID 18756)
--- Dependencies: 1102 6 1102 1102
--- Name: snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_snaptogrid_pointoff';
-
-
-ALTER FUNCTION public.snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 403 (class 1255 OID 18757)
--- Dependencies: 6 1096
--- Name: srid(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION srid(chip) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getSRID';
-
-
-ALTER FUNCTION public.srid(chip) OWNER TO postgres;
-
---
--- TOC entry 404 (class 1255 OID 18758)
--- Dependencies: 6 1102
--- Name: srid(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION srid(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_getSRID';
-
-
-ALTER FUNCTION public.srid(geometry) OWNER TO postgres;
-
---
--- TOC entry 405 (class 1255 OID 18759)
--- Dependencies: 6 1102 1102
--- Name: st_addmeasure(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_addmeasure(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'ST_AddMeasure';
-
-
-ALTER FUNCTION public.st_addmeasure(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 406 (class 1255 OID 18760)
--- Dependencies: 6 1102 1102 1102
--- Name: st_addpoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_addpoint(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_addpoint';
-
-
-ALTER FUNCTION public.st_addpoint(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 407 (class 1255 OID 18761)
--- Dependencies: 6 1102 1102 1102
--- Name: st_addpoint(geometry, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_addpoint(geometry, geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_addpoint';
-
-
-ALTER FUNCTION public.st_addpoint(geometry, geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 409 (class 1255 OID 18763)
--- Dependencies: 6 1102 1102
--- Name: st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 408 (class 1255 OID 18762)
--- Dependencies: 6 1102 1102
--- Name: 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); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-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.5', 'LWGEOM_affine';
-
-
-ALTER 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) OWNER TO postgres;
-
---
--- TOC entry 410 (class 1255 OID 18764)
--- Dependencies: 6 1102
--- Name: st_area(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_area(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon';
-
-
-ALTER FUNCTION public.st_area(geometry) OWNER TO postgres;
-
---
--- TOC entry 412 (class 1255 OID 18766)
--- Dependencies: 6 1099
--- Name: st_area(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_area(geography) RETURNS double precision
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_Area($1, true)$_$;
-
-
-ALTER FUNCTION public.st_area(geography) OWNER TO postgres;
-
---
--- TOC entry 413 (class 1255 OID 18767)
--- Dependencies: 6
--- Name: st_area(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_area(text) RETURNS double precision
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_Area($1::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_area(text) OWNER TO postgres;
-
---
--- TOC entry 411 (class 1255 OID 18765)
--- Dependencies: 6 1099
--- Name: st_area(geography, boolean); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_area(geography, boolean) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'geography_area';
-
-
-ALTER FUNCTION public.st_area(geography, boolean) OWNER TO postgres;
-
---
--- TOC entry 414 (class 1255 OID 18768)
--- Dependencies: 6 1102
--- Name: st_area2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_area2d(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_area_polygon';
-
-
-ALTER FUNCTION public.st_area2d(geometry) OWNER TO postgres;
-
---
--- TOC entry 415 (class 1255 OID 18769)
--- Dependencies: 6 1102
--- Name: st_asbinary(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asbinary(geometry) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asBinary';
-
-
-ALTER FUNCTION public.st_asbinary(geometry) OWNER TO postgres;
-
---
--- TOC entry 417 (class 1255 OID 18771)
--- Dependencies: 6 1099
--- Name: st_asbinary(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asbinary(geography) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_as_binary';
-
-
-ALTER FUNCTION public.st_asbinary(geography) OWNER TO postgres;
-
---
--- TOC entry 418 (class 1255 OID 18772)
--- Dependencies: 6
--- Name: st_asbinary(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asbinary(text) RETURNS bytea
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_AsBinary($1::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_asbinary(text) OWNER TO postgres;
-
---
--- TOC entry 416 (class 1255 OID 18770)
--- Dependencies: 6 1102
--- Name: st_asbinary(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asbinary(geometry, text) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asBinary';
-
-
-ALTER FUNCTION public.st_asbinary(geometry, text) OWNER TO postgres;
-
---
--- TOC entry 419 (class 1255 OID 18773)
--- Dependencies: 6 1102
--- Name: st_asewkb(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asewkb(geometry) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'WKBFromLWGEOM';
-
-
-ALTER FUNCTION public.st_asewkb(geometry) OWNER TO postgres;
-
---
--- TOC entry 420 (class 1255 OID 18774)
--- Dependencies: 6 1102
--- Name: st_asewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asewkb(geometry, text) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'WKBFromLWGEOM';
-
-
-ALTER FUNCTION public.st_asewkb(geometry, text) OWNER TO postgres;
-
---
--- TOC entry 421 (class 1255 OID 18775)
--- Dependencies: 6 1102
--- Name: st_asewkt(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asewkt(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asEWKT';
-
-
-ALTER FUNCTION public.st_asewkt(geometry) OWNER TO postgres;
-
---
--- TOC entry 423 (class 1255 OID 18777)
--- Dependencies: 6 1102
--- Name: st_asgeojson(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(geometry) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson(1, $1, 15, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(geometry) OWNER TO postgres;
-
---
--- TOC entry 429 (class 1255 OID 18783)
--- Dependencies: 6 1099
--- Name: st_asgeojson(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(geography) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson(1, $1, 15, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(geography) OWNER TO postgres;
-
---
--- TOC entry 430 (class 1255 OID 18784)
--- Dependencies: 6
--- Name: st_asgeojson(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(text) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_AsGeoJson($1::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_asgeojson(text) OWNER TO postgres;
-
---
--- TOC entry 422 (class 1255 OID 18776)
--- Dependencies: 6 1102
--- Name: st_asgeojson(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(geometry, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson(1, $1, $2, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 424 (class 1255 OID 18778)
--- Dependencies: 6 1102
--- Name: st_asgeojson(integer, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(integer, geometry) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson($1, $2, 15, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(integer, geometry) OWNER TO postgres;
-
---
--- TOC entry 428 (class 1255 OID 18782)
--- Dependencies: 6 1099
--- Name: st_asgeojson(geography, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(geography, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson(1, $1, $2, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(geography, integer) OWNER TO postgres;
-
---
--- TOC entry 431 (class 1255 OID 18785)
--- Dependencies: 6 1099
--- Name: st_asgeojson(integer, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(integer, geography) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson($1, $2, 15, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(integer, geography) OWNER TO postgres;
-
---
--- TOC entry 425 (class 1255 OID 18779)
--- Dependencies: 6 1102
--- Name: st_asgeojson(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(integer, geometry, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson($1, $2, $3, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(integer, geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 426 (class 1255 OID 18780)
--- Dependencies: 6 1102
--- Name: st_asgeojson(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(geometry, integer, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson(1, $1, $2, $3)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(geometry, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 432 (class 1255 OID 18786)
--- Dependencies: 6 1099
--- Name: st_asgeojson(integer, geography, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(integer, geography, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson($1, $2, $3, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(integer, geography, integer) OWNER TO postgres;
-
---
--- TOC entry 433 (class 1255 OID 18787)
--- Dependencies: 6 1099
--- Name: st_asgeojson(geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(geography, integer, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson(1, $1, $2, $3)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(geography, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 427 (class 1255 OID 18781)
--- Dependencies: 6 1102
--- Name: st_asgeojson(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(integer, geometry, integer, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson($1, $2, $3, $4)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(integer, geometry, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 434 (class 1255 OID 18788)
--- Dependencies: 6 1099
--- Name: st_asgeojson(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgeojson(integer, geography, integer, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGeoJson($1, $2, $3, $4)$_$;
-
-
-ALTER FUNCTION public.st_asgeojson(integer, geography, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 436 (class 1255 OID 18790)
--- Dependencies: 6 1102
--- Name: st_asgml(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(geometry) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML(2, $1, 15, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgml(geometry) OWNER TO postgres;
-
---
--- TOC entry 442 (class 1255 OID 18796)
--- Dependencies: 6 1099
--- Name: st_asgml(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(geography) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML(2, $1, 15, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgml(geography) OWNER TO postgres;
-
---
--- TOC entry 443 (class 1255 OID 18797)
--- Dependencies: 6
--- Name: st_asgml(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(text) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_AsGML($1::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_asgml(text) OWNER TO postgres;
-
---
--- TOC entry 435 (class 1255 OID 18789)
--- Dependencies: 6 1102
--- Name: st_asgml(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(geometry, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML(2, $1, $2, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgml(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 437 (class 1255 OID 18791)
--- Dependencies: 6 1102
--- Name: st_asgml(integer, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(integer, geometry) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML($1, $2, 15, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgml(integer, geometry) OWNER TO postgres;
-
---
--- TOC entry 441 (class 1255 OID 18795)
--- Dependencies: 6 1099
--- Name: st_asgml(geography, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(geography, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML(2, $1, $2, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgml(geography, integer) OWNER TO postgres;
-
---
--- TOC entry 444 (class 1255 OID 18798)
--- Dependencies: 6 1099
--- Name: st_asgml(integer, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(integer, geography) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML($1, $2, 15, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgml(integer, geography) OWNER TO postgres;
-
---
--- TOC entry 438 (class 1255 OID 18792)
--- Dependencies: 6 1102
--- Name: st_asgml(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(integer, geometry, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML($1, $2, $3, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgml(integer, geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 439 (class 1255 OID 18793)
--- Dependencies: 6 1102
--- Name: st_asgml(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(geometry, integer, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML(2, $1, $2, $3)$_$;
-
-
-ALTER FUNCTION public.st_asgml(geometry, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 445 (class 1255 OID 18799)
--- Dependencies: 6 1099
--- Name: st_asgml(integer, geography, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(integer, geography, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML($1, $2, $3, 0)$_$;
-
-
-ALTER FUNCTION public.st_asgml(integer, geography, integer) OWNER TO postgres;
-
---
--- TOC entry 446 (class 1255 OID 18800)
--- Dependencies: 6 1099
--- Name: st_asgml(geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(geography, integer, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML(2, $1, $2, $3)$_$;
-
-
-ALTER FUNCTION public.st_asgml(geography, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 440 (class 1255 OID 18794)
--- Dependencies: 6 1102
--- Name: st_asgml(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(integer, geometry, integer, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML($1, $2, $3, $4)$_$;
-
-
-ALTER FUNCTION public.st_asgml(integer, geometry, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 447 (class 1255 OID 18801)
--- Dependencies: 6 1099
--- Name: st_asgml(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_asgml(integer, geography, integer, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsGML($1, $2, $3, $4)$_$;
-
-
-ALTER FUNCTION public.st_asgml(integer, geography, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 448 (class 1255 OID 18802)
--- Dependencies: 6 1102
--- Name: st_ashexewkb(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_ashexewkb(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asHEXEWKB';
-
-
-ALTER FUNCTION public.st_ashexewkb(geometry) OWNER TO postgres;
-
---
--- TOC entry 449 (class 1255 OID 18803)
--- Dependencies: 6 1102
--- Name: st_ashexewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_ashexewkb(geometry, text) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asHEXEWKB';
-
-
-ALTER FUNCTION public.st_ashexewkb(geometry, text) OWNER TO postgres;
-
---
--- TOC entry 451 (class 1255 OID 18805)
--- Dependencies: 6 1102
--- Name: st_askml(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_askml(geometry) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML(2, ST_Transform($1,4326), 15)$_$;
-
-
-ALTER FUNCTION public.st_askml(geometry) OWNER TO postgres;
-
---
--- TOC entry 455 (class 1255 OID 18809)
--- Dependencies: 6 1099
--- Name: st_askml(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_askml(geography) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML(2, $1, 15)$_$;
-
-
-ALTER FUNCTION public.st_askml(geography) OWNER TO postgres;
-
---
--- TOC entry 456 (class 1255 OID 18810)
--- Dependencies: 6
--- Name: st_askml(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_askml(text) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_AsKML($1::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_askml(text) OWNER TO postgres;
-
---
--- TOC entry 450 (class 1255 OID 18804)
--- Dependencies: 6 1102
--- Name: st_askml(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_askml(geometry, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML(2, ST_Transform($1,4326), $2)$_$;
-
-
-ALTER FUNCTION public.st_askml(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 452 (class 1255 OID 18806)
--- Dependencies: 6 1102
--- Name: st_askml(integer, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_askml(integer, geometry) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML($1, ST_Transform($2,4326), 15)$_$;
-
-
-ALTER FUNCTION public.st_askml(integer, geometry) OWNER TO postgres;
-
---
--- TOC entry 454 (class 1255 OID 18808)
--- Dependencies: 1099 6
--- Name: st_askml(geography, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_askml(geography, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML(2, $1, $2)$_$;
-
-
-ALTER FUNCTION public.st_askml(geography, integer) OWNER TO postgres;
-
---
--- TOC entry 457 (class 1255 OID 18811)
--- Dependencies: 6 1099
--- Name: st_askml(integer, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_askml(integer, geography) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML($1, $2, 15)$_$;
-
-
-ALTER FUNCTION public.st_askml(integer, geography) OWNER TO postgres;
-
---
--- TOC entry 453 (class 1255 OID 18807)
--- Dependencies: 6 1102
--- Name: st_askml(integer, geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_askml(integer, geometry, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML($1, ST_Transform($2,4326), $3)$_$;
-
-
-ALTER FUNCTION public.st_askml(integer, geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 458 (class 1255 OID 18812)
--- Dependencies: 6 1099
--- Name: st_askml(integer, geography, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_askml(integer, geography, integer) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_AsKML($1, $2, $3)$_$;
-
-
-ALTER FUNCTION public.st_askml(integer, geography, integer) OWNER TO postgres;
-
---
--- TOC entry 461 (class 1255 OID 18815)
--- Dependencies: 6 1102
--- Name: st_assvg(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_assvg(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'assvg_geometry';
-
-
-ALTER FUNCTION public.st_assvg(geometry) OWNER TO postgres;
-
---
--- TOC entry 464 (class 1255 OID 18818)
--- Dependencies: 6 1099
--- Name: st_assvg(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_assvg(geography) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_as_svg';
-
-
-ALTER FUNCTION public.st_assvg(geography) OWNER TO postgres;
-
---
--- TOC entry 465 (class 1255 OID 18819)
--- Dependencies: 6
--- Name: st_assvg(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_assvg(text) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_AsSVG($1::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_assvg(text) OWNER TO postgres;
-
---
--- TOC entry 460 (class 1255 OID 18814)
--- Dependencies: 6 1102
--- Name: st_assvg(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_assvg(geometry, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'assvg_geometry';
-
-
-ALTER FUNCTION public.st_assvg(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 463 (class 1255 OID 18817)
--- Dependencies: 6 1099
--- Name: st_assvg(geography, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_assvg(geography, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_as_svg';
-
-
-ALTER FUNCTION public.st_assvg(geography, integer) OWNER TO postgres;
-
---
--- TOC entry 459 (class 1255 OID 18813)
--- Dependencies: 6 1102
--- Name: st_assvg(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_assvg(geometry, integer, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'assvg_geometry';
-
-
-ALTER FUNCTION public.st_assvg(geometry, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 462 (class 1255 OID 18816)
--- Dependencies: 6 1099
--- Name: st_assvg(geography, integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_assvg(geography, integer, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_as_svg';
-
-
-ALTER FUNCTION public.st_assvg(geography, integer, integer) OWNER TO postgres;
-
---
--- TOC entry 466 (class 1255 OID 18820)
--- Dependencies: 6 1102
--- Name: st_astext(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_astext(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_asText';
-
-
-ALTER FUNCTION public.st_astext(geometry) OWNER TO postgres;
-
---
--- TOC entry 467 (class 1255 OID 18821)
--- Dependencies: 6 1099
--- Name: st_astext(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_astext(geography) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_as_text';
-
-
-ALTER FUNCTION public.st_astext(geography) OWNER TO postgres;
-
---
--- TOC entry 468 (class 1255 OID 18822)
--- Dependencies: 6
--- Name: st_astext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_astext(text) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_AsText($1::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_astext(text) OWNER TO postgres;
-
---
--- TOC entry 469 (class 1255 OID 18823)
--- Dependencies: 6 1102 1102
--- Name: st_azimuth(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_azimuth(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_azimuth';
-
-
-ALTER FUNCTION public.st_azimuth(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 470 (class 1255 OID 18824)
--- Dependencies: 6 1168 1102
--- Name: st_bdmpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.st_bdmpolyfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 471 (class 1255 OID 18825)
--- Dependencies: 6 1168 1102
--- Name: st_bdpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-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;
-$_$;
-
-
-ALTER FUNCTION public.st_bdpolyfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 472 (class 1255 OID 18826)
--- Dependencies: 6 1102 1102
--- Name: st_boundary(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_boundary(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'boundary';
-
-
-ALTER FUNCTION public.st_boundary(geometry) OWNER TO postgres;
-
---
--- TOC entry 473 (class 1255 OID 18827)
--- Dependencies: 6 1102
--- Name: st_box(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box(geometry) RETURNS box
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX';
-
-
-ALTER FUNCTION public.st_box(geometry) OWNER TO postgres;
-
---
--- TOC entry 474 (class 1255 OID 18828)
--- Dependencies: 6 1090
--- Name: st_box(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box(box3d) RETURNS box
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_to_BOX';
-
-
-ALTER FUNCTION public.st_box(box3d) OWNER TO postgres;
-
---
--- TOC entry 475 (class 1255 OID 18829)
--- Dependencies: 6 1087 1102
--- Name: st_box2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box2d(geometry) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX2DFLOAT4';
-
-
-ALTER FUNCTION public.st_box2d(geometry) OWNER TO postgres;
-
---
--- TOC entry 476 (class 1255 OID 18830)
--- Dependencies: 6 1087 1090
--- Name: st_box2d(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box2d(box3d) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4';
-
-
-ALTER FUNCTION public.st_box2d(box3d) OWNER TO postgres;
-
---
--- TOC entry 477 (class 1255 OID 18831)
--- Dependencies: 6 1087 1093
--- Name: st_box2d(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box2d(box3d_extent) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_to_BOX2DFLOAT4';
-
-
-ALTER FUNCTION public.st_box2d(box3d_extent) OWNER TO postgres;
-
---
--- TOC entry 478 (class 1255 OID 18832)
--- Dependencies: 6 1087
--- Name: st_box2d_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box2d_in(cstring) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_in';
-
-
-ALTER FUNCTION public.st_box2d_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 479 (class 1255 OID 18833)
--- Dependencies: 6 1087
--- Name: st_box2d_out(box2d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box2d_out(box2d) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_out';
-
-
-ALTER FUNCTION public.st_box2d_out(box2d) OWNER TO postgres;
-
---
--- TOC entry 480 (class 1255 OID 18834)
--- Dependencies: 6 1090 1102
--- Name: st_box3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box3d(geometry) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_BOX3D';
-
-
-ALTER FUNCTION public.st_box3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 481 (class 1255 OID 18835)
--- Dependencies: 6 1090 1087
--- Name: st_box3d(box2d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box3d(box2d) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_to_BOX3D';
-
-
-ALTER FUNCTION public.st_box3d(box2d) OWNER TO postgres;
-
---
--- TOC entry 482 (class 1255 OID 18836)
--- Dependencies: 6 1090 1093
--- Name: st_box3d_extent(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box3d_extent(box3d_extent) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_extent_to_BOX3D';
-
-
-ALTER FUNCTION public.st_box3d_extent(box3d_extent) OWNER TO postgres;
-
---
--- TOC entry 483 (class 1255 OID 18837)
--- Dependencies: 6 1090
--- Name: st_box3d_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box3d_in(cstring) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_in';
-
-
-ALTER FUNCTION public.st_box3d_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 484 (class 1255 OID 18838)
--- Dependencies: 6 1090
--- Name: st_box3d_out(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_box3d_out(box3d) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_out';
-
-
-ALTER FUNCTION public.st_box3d_out(box3d) OWNER TO postgres;
-
---
--- TOC entry 485 (class 1255 OID 18839)
--- Dependencies: 6 1102 1102
--- Name: st_buffer(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_buffer(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'buffer';
-
-
-ALTER FUNCTION public.st_buffer(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 488 (class 1255 OID 18842)
--- Dependencies: 6 1099 1099
--- Name: st_buffer(geography, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_buffer(geography, double precision) RETURNS geography
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), _ST_BestSRID($1)), $2), 4326))$_$;
-
-
-ALTER FUNCTION public.st_buffer(geography, double precision) OWNER TO postgres;
-
---
--- TOC entry 489 (class 1255 OID 18843)
--- Dependencies: 6 1102
--- Name: st_buffer(text, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_buffer(text, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_Buffer($1::geometry, $2);  $_$;
-
-
-ALTER FUNCTION public.st_buffer(text, double precision) OWNER TO postgres;
-
---
--- TOC entry 486 (class 1255 OID 18840)
--- Dependencies: 6 1102 1102
--- Name: st_buffer(geometry, double precision, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_buffer(geometry, double precision, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT _ST_Buffer($1, $2,
-		CAST('quad_segs='||CAST($3 AS text) as cstring))
-	   $_$;
-
-
-ALTER FUNCTION public.st_buffer(geometry, double precision, integer) OWNER TO postgres;
-
---
--- TOC entry 487 (class 1255 OID 18841)
--- Dependencies: 6 1102 1102
--- Name: st_buffer(geometry, double precision, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)
-		)
-	   $_$;
-
-
-ALTER FUNCTION public.st_buffer(geometry, double precision, text) OWNER TO postgres;
-
---
--- TOC entry 490 (class 1255 OID 18844)
--- Dependencies: 6 1102 1102
--- Name: st_buildarea(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_buildarea(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_buildarea';
-
-
-ALTER FUNCTION public.st_buildarea(geometry) OWNER TO postgres;
-
---
--- TOC entry 491 (class 1255 OID 18845)
--- Dependencies: 6 1102
--- Name: st_bytea(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_bytea(geometry) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_bytea';
-
-
-ALTER FUNCTION public.st_bytea(geometry) OWNER TO postgres;
-
---
--- TOC entry 492 (class 1255 OID 18846)
--- Dependencies: 6 1102 1102
--- Name: st_centroid(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_centroid(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'centroid';
-
-
-ALTER FUNCTION public.st_centroid(geometry) OWNER TO postgres;
-
---
--- TOC entry 493 (class 1255 OID 18847)
--- Dependencies: 6 1096
--- Name: st_chip_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_chip_in(cstring) RETURNS chip
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_in';
-
-
-ALTER FUNCTION public.st_chip_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 494 (class 1255 OID 18848)
--- Dependencies: 6 1096
--- Name: st_chip_out(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_chip_out(chip) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_out';
-
-
-ALTER FUNCTION public.st_chip_out(chip) OWNER TO postgres;
-
---
--- TOC entry 495 (class 1255 OID 18849)
--- Dependencies: 6 1102 1102 1102
--- Name: st_closestpoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_closestpoint(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_closestpoint';
-
-
-ALTER FUNCTION public.st_closestpoint(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 497 (class 1255 OID 18851)
--- Dependencies: 6 1102 1104
--- Name: st_collect(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_collect(geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_collect_garray';
-
-
-ALTER FUNCTION public.st_collect(geometry[]) OWNER TO postgres;
-
---
--- TOC entry 496 (class 1255 OID 18850)
--- Dependencies: 6 1102 1102 1102
--- Name: st_collect(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_collect(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'LWGEOM_collect';
-
-
-ALTER FUNCTION public.st_collect(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 498 (class 1255 OID 18852)
--- Dependencies: 6 1102 1102
--- Name: st_collectionextract(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_collectionextract(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'ST_CollectionExtract';
-
-
-ALTER FUNCTION public.st_collectionextract(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 499 (class 1255 OID 18853)
--- Dependencies: 6 1087 1087 1102
--- Name: st_combine_bbox(box2d, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_combine_bbox(box2d, geometry) RETURNS box2d
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_combine';
-
-
-ALTER FUNCTION public.st_combine_bbox(box2d, geometry) OWNER TO postgres;
-
---
--- TOC entry 500 (class 1255 OID 18854)
--- Dependencies: 6 1093 1093 1102
--- Name: st_combine_bbox(box3d_extent, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_combine_bbox(box3d_extent, geometry) RETURNS box3d_extent
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'BOX3D_combine';
-
-
-ALTER FUNCTION public.st_combine_bbox(box3d_extent, geometry) OWNER TO postgres;
-
---
--- TOC entry 501 (class 1255 OID 18855)
--- Dependencies: 6 1090 1090 1102
--- Name: st_combine_bbox(box3d, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_combine_bbox(box3d, geometry) RETURNS box3d
-    LANGUAGE c IMMUTABLE
-    AS '$libdir/postgis-1.5', 'BOX3D_combine';
-
-
-ALTER FUNCTION public.st_combine_bbox(box3d, geometry) OWNER TO postgres;
-
---
--- TOC entry 502 (class 1255 OID 18856)
--- Dependencies: 6 1096
--- Name: st_compression(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_compression(chip) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getCompression';
-
-
-ALTER FUNCTION public.st_compression(chip) OWNER TO postgres;
-
---
--- TOC entry 503 (class 1255 OID 18857)
--- Dependencies: 6 1102 1102
--- Name: st_contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_contains(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT $1 && $2 AND _ST_Contains($1,$2)$_$;
-
-
-ALTER FUNCTION public.st_contains(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 504 (class 1255 OID 18858)
--- Dependencies: 6 1102 1102
--- Name: st_containsproperly(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_containsproperly(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT $1 && $2 AND _ST_ContainsProperly($1,$2)$_$;
-
-
-ALTER FUNCTION public.st_containsproperly(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 505 (class 1255 OID 18859)
--- Dependencies: 6 1102 1102
--- Name: st_convexhull(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_convexhull(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'convexhull';
-
-
-ALTER FUNCTION public.st_convexhull(geometry) OWNER TO postgres;
-
---
--- TOC entry 506 (class 1255 OID 18860)
--- Dependencies: 6 1102
--- Name: st_coorddim(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_coorddim(geometry) RETURNS smallint
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_ndims';
-
-
-ALTER FUNCTION public.st_coorddim(geometry) OWNER TO postgres;
-
---
--- TOC entry 507 (class 1255 OID 18861)
--- Dependencies: 6 1102 1102
--- Name: st_coveredby(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_coveredby(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT $1 && $2 AND _ST_CoveredBy($1,$2)$_$;
-
-
-ALTER FUNCTION public.st_coveredby(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 508 (class 1255 OID 18862)
--- Dependencies: 6 1099 1099
--- Name: st_coveredby(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_coveredby(geography, geography) RETURNS boolean
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT $1 && $2 AND _ST_Covers($2, $1)$_$;
-
-
-ALTER FUNCTION public.st_coveredby(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 509 (class 1255 OID 18863)
--- Dependencies: 6
--- Name: st_coveredby(text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_coveredby(text, text) RETURNS boolean
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_CoveredBy($1::geometry, $2::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_coveredby(text, text) OWNER TO postgres;
-
---
--- TOC entry 510 (class 1255 OID 18864)
--- Dependencies: 6 1102 1102
--- Name: st_covers(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_covers(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT $1 && $2 AND _ST_Covers($1,$2)$_$;
-
-
-ALTER FUNCTION public.st_covers(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 511 (class 1255 OID 18865)
--- Dependencies: 6 1099 1099
--- Name: st_covers(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_covers(geography, geography) RETURNS boolean
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT $1 && $2 AND _ST_Covers($1, $2)$_$;
-
-
-ALTER FUNCTION public.st_covers(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 512 (class 1255 OID 18866)
--- Dependencies: 6
--- Name: st_covers(text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_covers(text, text) RETURNS boolean
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_Covers($1::geometry, $2::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_covers(text, text) OWNER TO postgres;
-
---
--- TOC entry 513 (class 1255 OID 18867)
--- Dependencies: 6 1102 1102
--- Name: st_crosses(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_crosses(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT $1 && $2 AND _ST_Crosses($1,$2)$_$;
-
-
-ALTER FUNCTION public.st_crosses(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 515 (class 1255 OID 18869)
--- Dependencies: 6 1102 1102
--- Name: st_curvetoline(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_curvetoline(geometry) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_CurveToLine($1, 32)$_$;
-
-
-ALTER FUNCTION public.st_curvetoline(geometry) OWNER TO postgres;
-
---
--- TOC entry 514 (class 1255 OID 18868)
--- Dependencies: 6 1102 1102
--- Name: st_curvetoline(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_curvetoline(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_curve_segmentize';
-
-
-ALTER FUNCTION public.st_curvetoline(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 516 (class 1255 OID 18870)
--- Dependencies: 6 1096
--- Name: st_datatype(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_datatype(chip) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getDatatype';
-
-
-ALTER FUNCTION public.st_datatype(chip) OWNER TO postgres;
-
---
--- TOC entry 517 (class 1255 OID 18871)
--- Dependencies: 6 1102 1102
--- Name: st_dfullywithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.st_dfullywithin(geometry, geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 518 (class 1255 OID 18872)
--- Dependencies: 6 1102 1102 1102
--- Name: st_difference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_difference(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'difference';
-
-
-ALTER FUNCTION public.st_difference(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 519 (class 1255 OID 18873)
--- Dependencies: 6 1102
--- Name: st_dimension(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_dimension(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_dimension';
-
-
-ALTER FUNCTION public.st_dimension(geometry) OWNER TO postgres;
-
---
--- TOC entry 520 (class 1255 OID 18874)
--- Dependencies: 6 1102 1102
--- Name: st_disjoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_disjoint(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'disjoint';
-
-
-ALTER FUNCTION public.st_disjoint(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 521 (class 1255 OID 18875)
--- Dependencies: 6 1102 1102
--- Name: st_distance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_distance(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_mindistance2d';
-
-
-ALTER FUNCTION public.st_distance(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 523 (class 1255 OID 18877)
--- Dependencies: 6 1099 1099
--- Name: st_distance(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_distance(geography, geography) RETURNS double precision
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_Distance($1, $2, 0.0, true)$_$;
-
-
-ALTER FUNCTION public.st_distance(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 524 (class 1255 OID 18878)
--- Dependencies: 6
--- Name: st_distance(text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_distance(text, text) RETURNS double precision
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_Distance($1::geometry, $2::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_distance(text, text) OWNER TO postgres;
-
---
--- TOC entry 522 (class 1255 OID 18876)
--- Dependencies: 6 1099 1099
--- Name: st_distance(geography, geography, boolean); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_distance(geography, geography, boolean) RETURNS double precision
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_Distance($1, $2, 0.0, $3)$_$;
-
-
-ALTER FUNCTION public.st_distance(geography, geography, boolean) OWNER TO postgres;
-
---
--- TOC entry 525 (class 1255 OID 18879)
--- Dependencies: 6 1102 1102
--- Name: st_distance_sphere(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_distance_sphere(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_distance_sphere';
-
-
-ALTER FUNCTION public.st_distance_sphere(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 526 (class 1255 OID 18880)
--- Dependencies: 6 1102 1102 1113
--- Name: st_distance_spheroid(geometry, geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_distance_spheroid(geometry, geometry, spheroid) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_distance_ellipsoid';
-
-
-ALTER FUNCTION public.st_distance_spheroid(geometry, geometry, spheroid) OWNER TO postgres;
-
---
--- TOC entry 527 (class 1255 OID 18881)
--- Dependencies: 6 1105 1102
--- Name: st_dump(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_dump(geometry) RETURNS SETOF geometry_dump
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_dump';
-
-
-ALTER FUNCTION public.st_dump(geometry) OWNER TO postgres;
-
---
--- TOC entry 528 (class 1255 OID 18882)
--- Dependencies: 6 1105 1102
--- Name: st_dumppoints(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_dumppoints(geometry) RETURNS SETOF geometry_dump
-    LANGUAGE sql
-    AS $_$
-  SELECT * FROM _ST_DumpPoints($1, NULL);
-$_$;
-
-
-ALTER FUNCTION public.st_dumppoints(geometry) OWNER TO postgres;
-
---
--- TOC entry 529 (class 1255 OID 18883)
--- Dependencies: 6 1105 1102
--- Name: st_dumprings(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_dumprings(geometry) RETURNS SETOF geometry_dump
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_dump_rings';
-
-
-ALTER FUNCTION public.st_dumprings(geometry) OWNER TO postgres;
-
---
--- TOC entry 530 (class 1255 OID 18884)
--- Dependencies: 6 1102 1102
--- Name: st_dwithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.st_dwithin(geometry, geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 532 (class 1255 OID 18886)
--- Dependencies: 6 1099 1099
--- Name: st_dwithin(geography, geography, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_dwithin(geography, geography, 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, true)$_$;
-
-
-ALTER FUNCTION public.st_dwithin(geography, geography, double precision) OWNER TO postgres;
-
---
--- TOC entry 533 (class 1255 OID 18887)
--- Dependencies: 6
--- Name: st_dwithin(text, text, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_dwithin(text, text, double precision) RETURNS boolean
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_DWithin($1::geometry, $2::geometry, $3);  $_$;
-
-
-ALTER FUNCTION public.st_dwithin(text, text, double precision) OWNER TO postgres;
-
---
--- TOC entry 531 (class 1255 OID 18885)
--- Dependencies: 6 1099 1099
--- Name: st_dwithin(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_dwithin(geography, geography, double precision, boolean) RETURNS boolean
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT $1 && _ST_Expand($2,$3) AND $2 && _ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3, $4)$_$;
-
-
-ALTER FUNCTION public.st_dwithin(geography, geography, double precision, boolean) OWNER TO postgres;
-
---
--- TOC entry 534 (class 1255 OID 18888)
--- Dependencies: 6 1102 1102
--- Name: st_endpoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_endpoint(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_endpoint_linestring';
-
-
-ALTER FUNCTION public.st_endpoint(geometry) OWNER TO postgres;
-
---
--- TOC entry 535 (class 1255 OID 18889)
--- Dependencies: 6 1102 1102
--- Name: st_envelope(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_envelope(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_envelope';
-
-
-ALTER FUNCTION public.st_envelope(geometry) OWNER TO postgres;
-
---
--- TOC entry 536 (class 1255 OID 18890)
--- Dependencies: 6 1102 1102
--- Name: st_equals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_equals(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT $1 && $2 AND _ST_Equals($1,$2)$_$;
-
-
-ALTER FUNCTION public.st_equals(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 538 (class 1255 OID 18892)
--- Dependencies: 1087 6
--- Name: st_estimated_extent(text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_estimated_extent(text, text) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER
-    AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent';
-
-
-ALTER FUNCTION public.st_estimated_extent(text, text) OWNER TO postgres;
-
---
--- TOC entry 537 (class 1255 OID 18891)
--- Dependencies: 6 1087
--- Name: st_estimated_extent(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_estimated_extent(text, text, text) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER
-    AS '$libdir/postgis-1.5', 'LWGEOM_estimated_extent';
-
-
-ALTER FUNCTION public.st_estimated_extent(text, text, text) OWNER TO postgres;
-
---
--- TOC entry 539 (class 1255 OID 18893)
--- Dependencies: 6 1090 1090
--- Name: st_expand(box3d, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_expand(box3d, double precision) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_expand';
-
-
-ALTER FUNCTION public.st_expand(box3d, double precision) OWNER TO postgres;
-
---
--- TOC entry 540 (class 1255 OID 18896)
--- Dependencies: 1087 1087 6
--- Name: st_expand(box2d, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_expand(box2d, double precision) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_expand';
-
-
-ALTER FUNCTION public.st_expand(box2d, double precision) OWNER TO postgres;
-
---
--- TOC entry 541 (class 1255 OID 18897)
--- Dependencies: 6 1102 1102
--- Name: st_expand(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_expand(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_expand';
-
-
-ALTER FUNCTION public.st_expand(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 542 (class 1255 OID 18898)
--- Dependencies: 6 1102 1102
--- Name: st_exteriorring(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_exteriorring(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_exteriorring_polygon';
-
-
-ALTER FUNCTION public.st_exteriorring(geometry) OWNER TO postgres;
-
---
--- TOC entry 543 (class 1255 OID 18899)
--- Dependencies: 6 1096
--- Name: st_factor(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_factor(chip) RETURNS real
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getFactor';
-
-
-ALTER FUNCTION public.st_factor(chip) OWNER TO postgres;
-
---
--- TOC entry 545 (class 1255 OID 18901)
--- Dependencies: 1087 1168 6
--- Name: st_find_extent(text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.st_find_extent(text, text) OWNER TO postgres;
-
---
--- TOC entry 544 (class 1255 OID 18900)
--- Dependencies: 1168 6 1087
--- Name: st_find_extent(text, text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-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;
-$_$;
-
-
-ALTER FUNCTION public.st_find_extent(text, text, text) OWNER TO postgres;
-
---
--- TOC entry 546 (class 1255 OID 18902)
--- Dependencies: 1102 1102 6
--- Name: st_force_2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_force_2d(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_2d';
-
-
-ALTER FUNCTION public.st_force_2d(geometry) OWNER TO postgres;
-
---
--- TOC entry 547 (class 1255 OID 18903)
--- Dependencies: 6 1102 1102
--- Name: st_force_3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_force_3d(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz';
-
-
-ALTER FUNCTION public.st_force_3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 548 (class 1255 OID 18904)
--- Dependencies: 6 1102 1102
--- Name: st_force_3dm(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_force_3dm(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_3dm';
-
-
-ALTER FUNCTION public.st_force_3dm(geometry) OWNER TO postgres;
-
---
--- TOC entry 549 (class 1255 OID 18905)
--- Dependencies: 1102 6 1102
--- Name: st_force_3dz(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_force_3dz(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_3dz';
-
-
-ALTER FUNCTION public.st_force_3dz(geometry) OWNER TO postgres;
-
---
--- TOC entry 550 (class 1255 OID 18906)
--- Dependencies: 1102 1102 6
--- Name: st_force_4d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_force_4d(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_4d';
-
-
-ALTER FUNCTION public.st_force_4d(geometry) OWNER TO postgres;
-
---
--- TOC entry 551 (class 1255 OID 18907)
--- Dependencies: 6 1102 1102
--- Name: st_force_collection(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_force_collection(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_collection';
-
-
-ALTER FUNCTION public.st_force_collection(geometry) OWNER TO postgres;
-
---
--- TOC entry 552 (class 1255 OID 18908)
--- Dependencies: 1102 1102 6
--- Name: st_forcerhr(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_forcerhr(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_forceRHR_poly';
-
-
-ALTER FUNCTION public.st_forcerhr(geometry) OWNER TO postgres;
-
---
--- TOC entry 553 (class 1255 OID 18909)
--- Dependencies: 1099 6
--- Name: st_geogfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geogfromtext(text) RETURNS geography
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_from_text';
-
-
-ALTER FUNCTION public.st_geogfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 554 (class 1255 OID 18910)
--- Dependencies: 1099 6
--- Name: st_geogfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geogfromwkb(bytea) RETURNS geography
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_from_binary';
-
-
-ALTER FUNCTION public.st_geogfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 555 (class 1255 OID 18911)
--- Dependencies: 6 1099
--- Name: st_geographyfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geographyfromtext(text) RETURNS geography
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geography_from_text';
-
-
-ALTER FUNCTION public.st_geographyfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 557 (class 1255 OID 18913)
--- Dependencies: 6 1102
--- Name: st_geohash(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geohash(geometry) RETURNS text
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_GeoHash($1, 0)$_$;
-
-
-ALTER FUNCTION public.st_geohash(geometry) OWNER TO postgres;
-
---
--- TOC entry 556 (class 1255 OID 18912)
--- Dependencies: 1102 6
--- Name: st_geohash(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geohash(geometry, integer) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'ST_GeoHash';
-
-
-ALTER FUNCTION public.st_geohash(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 559 (class 1255 OID 18915)
--- Dependencies: 6 1102
--- Name: st_geomcollfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_geomcollfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 558 (class 1255 OID 18914)
--- Dependencies: 1102 6
--- Name: st_geomcollfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_geomcollfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 561 (class 1255 OID 18917)
--- Dependencies: 6 1102
--- Name: st_geomcollfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_geomcollfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 560 (class 1255 OID 18916)
--- Dependencies: 6 1102
--- Name: st_geomcollfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_geomcollfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 562 (class 1255 OID 18918)
--- Dependencies: 1087 6 1102
--- Name: st_geometry(box2d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry(box2d) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_to_LWGEOM';
-
-
-ALTER FUNCTION public.st_geometry(box2d) OWNER TO postgres;
-
---
--- TOC entry 563 (class 1255 OID 18919)
--- Dependencies: 6 1102 1090
--- Name: st_geometry(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry(box3d) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_to_LWGEOM';
-
-
-ALTER FUNCTION public.st_geometry(box3d) OWNER TO postgres;
-
---
--- TOC entry 564 (class 1255 OID 18920)
--- Dependencies: 6 1102
--- Name: st_geometry(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'parse_WKT_lwgeom';
-
-
-ALTER FUNCTION public.st_geometry(text) OWNER TO postgres;
-
---
--- TOC entry 565 (class 1255 OID 18921)
--- Dependencies: 1102 1096 6
--- Name: st_geometry(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry(chip) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_to_LWGEOM';
-
-
-ALTER FUNCTION public.st_geometry(chip) OWNER TO postgres;
-
---
--- TOC entry 566 (class 1255 OID 18922)
--- Dependencies: 6 1102
--- Name: st_geometry(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry(bytea) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_bytea';
-
-
-ALTER FUNCTION public.st_geometry(bytea) OWNER TO postgres;
-
---
--- TOC entry 567 (class 1255 OID 18923)
--- Dependencies: 6 1093 1102
--- Name: st_geometry(box3d_extent); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry(box3d_extent) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_to_LWGEOM';
-
-
-ALTER FUNCTION public.st_geometry(box3d_extent) OWNER TO postgres;
-
---
--- TOC entry 568 (class 1255 OID 18924)
--- Dependencies: 1102 1102 6
--- Name: st_geometry_above(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_above(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_above';
-
-
-ALTER FUNCTION public.st_geometry_above(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 569 (class 1255 OID 18925)
--- Dependencies: 6
--- Name: st_geometry_analyze(internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_analyze(internal) RETURNS boolean
-    LANGUAGE c STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_analyze';
-
-
-ALTER FUNCTION public.st_geometry_analyze(internal) OWNER TO postgres;
-
---
--- TOC entry 570 (class 1255 OID 18926)
--- Dependencies: 1102 1102 6
--- Name: st_geometry_below(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_below(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_below';
-
-
-ALTER FUNCTION public.st_geometry_below(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 571 (class 1255 OID 18927)
--- Dependencies: 6 1102 1102
--- Name: st_geometry_cmp(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_cmp(geometry, geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_cmp';
-
-
-ALTER FUNCTION public.st_geometry_cmp(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 572 (class 1255 OID 18928)
--- Dependencies: 1102 6 1102
--- Name: st_geometry_contain(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_contain(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_contain';
-
-
-ALTER FUNCTION public.st_geometry_contain(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 573 (class 1255 OID 18929)
--- Dependencies: 6 1102 1102
--- Name: st_geometry_contained(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_contained(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_contained';
-
-
-ALTER FUNCTION public.st_geometry_contained(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 574 (class 1255 OID 18930)
--- Dependencies: 6 1102 1102
--- Name: st_geometry_eq(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_eq(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_eq';
-
-
-ALTER FUNCTION public.st_geometry_eq(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 575 (class 1255 OID 18931)
--- Dependencies: 1102 6 1102
--- Name: st_geometry_ge(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_ge(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_ge';
-
-
-ALTER FUNCTION public.st_geometry_ge(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 576 (class 1255 OID 18932)
--- Dependencies: 6 1102 1102
--- Name: st_geometry_gt(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_gt(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_gt';
-
-
-ALTER FUNCTION public.st_geometry_gt(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 577 (class 1255 OID 18933)
--- Dependencies: 6 1102
--- Name: st_geometry_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_in(cstring) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_in';
-
-
-ALTER FUNCTION public.st_geometry_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 578 (class 1255 OID 18934)
--- Dependencies: 1102 6 1102
--- Name: st_geometry_le(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_le(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_le';
-
-
-ALTER FUNCTION public.st_geometry_le(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 579 (class 1255 OID 18935)
--- Dependencies: 1102 1102 6
--- Name: st_geometry_left(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_left(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_left';
-
-
-ALTER FUNCTION public.st_geometry_left(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 580 (class 1255 OID 18936)
--- Dependencies: 1102 6 1102
--- Name: st_geometry_lt(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_lt(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'lwgeom_lt';
-
-
-ALTER FUNCTION public.st_geometry_lt(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 581 (class 1255 OID 18937)
--- Dependencies: 1102 6
--- Name: st_geometry_out(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_out(geometry) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_out';
-
-
-ALTER FUNCTION public.st_geometry_out(geometry) OWNER TO postgres;
-
---
--- TOC entry 582 (class 1255 OID 18938)
--- Dependencies: 1102 1102 6
--- Name: st_geometry_overabove(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_overabove(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_overabove';
-
-
-ALTER FUNCTION public.st_geometry_overabove(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 583 (class 1255 OID 18939)
--- Dependencies: 6 1102 1102
--- Name: st_geometry_overbelow(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_overbelow(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_overbelow';
-
-
-ALTER FUNCTION public.st_geometry_overbelow(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 584 (class 1255 OID 18940)
--- Dependencies: 6 1102 1102
--- Name: st_geometry_overlap(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_overlap(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_overlap';
-
-
-ALTER FUNCTION public.st_geometry_overlap(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 585 (class 1255 OID 18941)
--- Dependencies: 1102 6 1102
--- Name: st_geometry_overleft(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_overleft(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_overleft';
-
-
-ALTER FUNCTION public.st_geometry_overleft(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 586 (class 1255 OID 18942)
--- Dependencies: 6 1102 1102
--- Name: st_geometry_overright(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_overright(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_overright';
-
-
-ALTER FUNCTION public.st_geometry_overright(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 587 (class 1255 OID 18943)
--- Dependencies: 1102 6
--- Name: st_geometry_recv(internal); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_recv(internal) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_recv';
-
-
-ALTER FUNCTION public.st_geometry_recv(internal) OWNER TO postgres;
-
---
--- TOC entry 588 (class 1255 OID 18944)
--- Dependencies: 1102 6 1102
--- Name: st_geometry_right(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_right(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_right';
-
-
-ALTER FUNCTION public.st_geometry_right(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 589 (class 1255 OID 18945)
--- Dependencies: 1102 6 1102
--- Name: st_geometry_same(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_same(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_samebox';
-
-
-ALTER FUNCTION public.st_geometry_same(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 590 (class 1255 OID 18946)
--- Dependencies: 6 1102
--- Name: st_geometry_send(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometry_send(geometry) RETURNS bytea
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_send';
-
-
-ALTER FUNCTION public.st_geometry_send(geometry) OWNER TO postgres;
-
---
--- TOC entry 591 (class 1255 OID 18947)
--- Dependencies: 1102 6
--- Name: st_geometryfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometryfromtext(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_text';
-
-
-ALTER FUNCTION public.st_geometryfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 592 (class 1255 OID 18948)
--- Dependencies: 1102 6
--- Name: st_geometryfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometryfromtext(text, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_text';
-
-
-ALTER FUNCTION public.st_geometryfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 593 (class 1255 OID 18949)
--- Dependencies: 1102 6 1102
--- Name: st_geometryn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometryn(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_geometryn_collection';
-
-
-ALTER FUNCTION public.st_geometryn(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 594 (class 1255 OID 18950)
--- Dependencies: 6 1102
--- Name: st_geometrytype(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geometrytype(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geometry_geometrytype';
-
-
-ALTER FUNCTION public.st_geometrytype(geometry) OWNER TO postgres;
-
---
--- TOC entry 595 (class 1255 OID 18951)
--- Dependencies: 1102 6
--- Name: st_geomfromewkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geomfromewkb(bytea) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOMFromWKB';
-
-
-ALTER FUNCTION public.st_geomfromewkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 596 (class 1255 OID 18952)
--- Dependencies: 1102 6
--- Name: st_geomfromewkt(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geomfromewkt(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'parse_WKT_lwgeom';
-
-
-ALTER FUNCTION public.st_geomfromewkt(text) OWNER TO postgres;
-
---
--- TOC entry 597 (class 1255 OID 18953)
--- Dependencies: 6 1102
--- Name: st_geomfromgml(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geomfromgml(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geom_from_gml';
-
-
-ALTER FUNCTION public.st_geomfromgml(text) OWNER TO postgres;
-
---
--- TOC entry 598 (class 1255 OID 18954)
--- Dependencies: 6 1102
--- Name: st_geomfromkml(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geomfromkml(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geom_from_kml';
-
-
-ALTER FUNCTION public.st_geomfromkml(text) OWNER TO postgres;
-
---
--- TOC entry 599 (class 1255 OID 18955)
--- Dependencies: 6 1102
--- Name: st_geomfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geomfromtext(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_text';
-
-
-ALTER FUNCTION public.st_geomfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 600 (class 1255 OID 18956)
--- Dependencies: 1102 6
--- Name: st_geomfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geomfromtext(text, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_text';
-
-
-ALTER FUNCTION public.st_geomfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 601 (class 1255 OID 18957)
--- Dependencies: 1102 6
--- Name: st_geomfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geomfromwkb(bytea) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_WKB';
-
-
-ALTER FUNCTION public.st_geomfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 602 (class 1255 OID 18958)
--- Dependencies: 1102 6
--- Name: st_geomfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_geomfromwkb(bytea, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_SetSRID(ST_GeomFromWKB($1), $2)$_$;
-
-
-ALTER FUNCTION public.st_geomfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 603 (class 1255 OID 18959)
--- Dependencies: 1102 6
--- Name: st_gmltosql(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_gmltosql(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geom_from_gml';
-
-
-ALTER FUNCTION public.st_gmltosql(text) OWNER TO postgres;
-
---
--- TOC entry 604 (class 1255 OID 18960)
--- Dependencies: 1102 6
--- Name: st_hasarc(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_hasarc(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_has_arc';
-
-
-ALTER FUNCTION public.st_hasarc(geometry) OWNER TO postgres;
-
---
--- TOC entry 605 (class 1255 OID 18961)
--- Dependencies: 1102 6 1102
--- Name: st_hausdorffdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_hausdorffdistance(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'hausdorffdistance';
-
-
-ALTER FUNCTION public.st_hausdorffdistance(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 606 (class 1255 OID 18962)
--- Dependencies: 1102 1102 6
--- Name: st_hausdorffdistance(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_hausdorffdistance(geometry, geometry, double precision) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'hausdorffdistancedensify';
-
-
-ALTER FUNCTION public.st_hausdorffdistance(geometry, geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 607 (class 1255 OID 18963)
--- Dependencies: 6 1096
--- Name: st_height(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_height(chip) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getHeight';
-
-
-ALTER FUNCTION public.st_height(chip) OWNER TO postgres;
-
---
--- TOC entry 608 (class 1255 OID 18964)
--- Dependencies: 6 1102 1102
--- Name: st_interiorringn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_interiorringn(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_interiorringn_polygon';
-
-
-ALTER FUNCTION public.st_interiorringn(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 609 (class 1255 OID 18965)
--- Dependencies: 6 1102 1102 1102
--- Name: st_intersection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_intersection(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'intersection';
-
-
-ALTER FUNCTION public.st_intersection(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 610 (class 1255 OID 18966)
--- Dependencies: 6 1099 1099 1099
--- Name: st_intersection(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_intersection(geography, geography) RETURNS geography
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT geography(ST_Transform(ST_Intersection(ST_Transform(geometry($1), _ST_BestSRID($1, $2)), ST_Transform(geometry($2), _ST_BestSRID($1, $2))), 4326))$_$;
-
-
-ALTER FUNCTION public.st_intersection(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 611 (class 1255 OID 18967)
--- Dependencies: 6 1102
--- Name: st_intersection(text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_intersection(text, text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_Intersection($1::geometry, $2::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_intersection(text, text) OWNER TO postgres;
-
---
--- TOC entry 612 (class 1255 OID 18968)
--- Dependencies: 6 1102 1102
--- Name: st_intersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_intersects(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT $1 && $2 AND _ST_Intersects($1,$2)$_$;
-
-
-ALTER FUNCTION public.st_intersects(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 613 (class 1255 OID 18969)
--- Dependencies: 6 1099 1099
--- Name: st_intersects(geography, geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_intersects(geography, geography) RETURNS boolean
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT $1 && $2 AND _ST_Distance($1, $2, 0.0, false) < 0.00001$_$;
-
-
-ALTER FUNCTION public.st_intersects(geography, geography) OWNER TO postgres;
-
---
--- TOC entry 614 (class 1255 OID 18970)
--- Dependencies: 6
--- Name: st_intersects(text, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_intersects(text, text) RETURNS boolean
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_Intersects($1::geometry, $2::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_intersects(text, text) OWNER TO postgres;
-
---
--- TOC entry 615 (class 1255 OID 18971)
--- Dependencies: 6 1102
--- Name: st_isclosed(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_isclosed(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_isclosed_linestring';
-
-
-ALTER FUNCTION public.st_isclosed(geometry) OWNER TO postgres;
-
---
--- TOC entry 616 (class 1255 OID 18972)
--- Dependencies: 6 1102
--- Name: st_isempty(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_isempty(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_isempty';
-
-
-ALTER FUNCTION public.st_isempty(geometry) OWNER TO postgres;
-
---
--- TOC entry 617 (class 1255 OID 18973)
--- Dependencies: 6 1102
--- Name: st_isring(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_isring(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'isring';
-
-
-ALTER FUNCTION public.st_isring(geometry) OWNER TO postgres;
-
---
--- TOC entry 618 (class 1255 OID 18974)
--- Dependencies: 6 1102
--- Name: st_issimple(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_issimple(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'issimple';
-
-
-ALTER FUNCTION public.st_issimple(geometry) OWNER TO postgres;
-
---
--- TOC entry 619 (class 1255 OID 18975)
--- Dependencies: 6 1102
--- Name: st_isvalid(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_isvalid(geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'isvalid';
-
-
-ALTER FUNCTION public.st_isvalid(geometry) OWNER TO postgres;
-
---
--- TOC entry 620 (class 1255 OID 18976)
--- Dependencies: 6 1102
--- Name: st_isvalidreason(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_isvalidreason(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'isvalidreason';
-
-
-ALTER FUNCTION public.st_isvalidreason(geometry) OWNER TO postgres;
-
---
--- TOC entry 621 (class 1255 OID 18977)
--- Dependencies: 6 1102
--- Name: st_length(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_length(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_length2d_linestring';
-
-
-ALTER FUNCTION public.st_length(geometry) OWNER TO postgres;
-
---
--- TOC entry 623 (class 1255 OID 18979)
--- Dependencies: 6 1099
--- Name: st_length(geography); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_length(geography) RETURNS double precision
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT ST_Length($1, true)$_$;
-
-
-ALTER FUNCTION public.st_length(geography) OWNER TO postgres;
-
---
--- TOC entry 624 (class 1255 OID 18980)
--- Dependencies: 6
--- Name: st_length(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_length(text) RETURNS double precision
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT ST_Length($1::geometry);  $_$;
-
-
-ALTER FUNCTION public.st_length(text) OWNER TO postgres;
-
---
--- TOC entry 622 (class 1255 OID 18978)
--- Dependencies: 6 1099
--- Name: st_length(geography, boolean); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_length(geography, boolean) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'geography_length';
-
-
-ALTER FUNCTION public.st_length(geography, boolean) OWNER TO postgres;
-
---
--- TOC entry 625 (class 1255 OID 18981)
--- Dependencies: 6 1102
--- Name: st_length2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_length2d(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_length2d_linestring';
-
-
-ALTER FUNCTION public.st_length2d(geometry) OWNER TO postgres;
-
---
--- TOC entry 626 (class 1255 OID 18982)
--- Dependencies: 6 1102 1113
--- Name: st_length2d_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_length2d_spheroid(geometry, spheroid) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_length2d_ellipsoid';
-
-
-ALTER FUNCTION public.st_length2d_spheroid(geometry, spheroid) OWNER TO postgres;
-
---
--- TOC entry 627 (class 1255 OID 18983)
--- Dependencies: 6 1102
--- Name: st_length3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_length3d(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_length_linestring';
-
-
-ALTER FUNCTION public.st_length3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 628 (class 1255 OID 18984)
--- Dependencies: 6 1102 1113
--- Name: st_length3d_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_length3d_spheroid(geometry, spheroid) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_length_ellipsoid_linestring';
-
-
-ALTER FUNCTION public.st_length3d_spheroid(geometry, spheroid) OWNER TO postgres;
-
---
--- TOC entry 629 (class 1255 OID 18985)
--- Dependencies: 6 1102 1113
--- Name: st_length_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_length_spheroid(geometry, spheroid) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'LWGEOM_length_ellipsoid_linestring';
-
-
-ALTER FUNCTION public.st_length_spheroid(geometry, spheroid) OWNER TO postgres;
-
---
--- TOC entry 630 (class 1255 OID 18986)
--- Dependencies: 6 1102 1102
--- Name: st_line_interpolate_point(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_line_interpolate_point(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_line_interpolate_point';
-
-
-ALTER FUNCTION public.st_line_interpolate_point(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 631 (class 1255 OID 18987)
--- Dependencies: 6 1102 1102
--- Name: st_line_locate_point(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_line_locate_point(geometry, geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_line_locate_point';
-
-
-ALTER FUNCTION public.st_line_locate_point(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 632 (class 1255 OID 18988)
--- Dependencies: 6 1102 1102
--- Name: st_line_substring(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_line_substring(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_line_substring';
-
-
-ALTER FUNCTION public.st_line_substring(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 633 (class 1255 OID 18989)
--- Dependencies: 6 1102 1102
--- Name: st_linecrossingdirection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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 $_$;
-
-
-ALTER FUNCTION public.st_linecrossingdirection(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 634 (class 1255 OID 18990)
--- Dependencies: 6 1102 1102
--- Name: st_linefrommultipoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_linefrommultipoint(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_line_from_mpoint';
-
-
-ALTER FUNCTION public.st_linefrommultipoint(geometry) OWNER TO postgres;
-
---
--- TOC entry 635 (class 1255 OID 18991)
--- Dependencies: 6 1102
--- Name: st_linefromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_linefromtext(text) OWNER TO postgres;
-
---
--- TOC entry 636 (class 1255 OID 18992)
--- Dependencies: 6 1102
--- Name: st_linefromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_linefromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 638 (class 1255 OID 18994)
--- Dependencies: 6 1102
--- Name: st_linefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_linefromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 637 (class 1255 OID 18993)
--- Dependencies: 6 1102
--- Name: st_linefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_linefromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 639 (class 1255 OID 18995)
--- Dependencies: 6 1102 1102
--- Name: st_linemerge(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_linemerge(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'linemerge';
-
-
-ALTER FUNCTION public.st_linemerge(geometry) OWNER TO postgres;
-
---
--- TOC entry 641 (class 1255 OID 18997)
--- Dependencies: 6 1102
--- Name: st_linestringfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_linestringfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'LINESTRING'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.st_linestringfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 640 (class 1255 OID 18996)
--- Dependencies: 6 1102
--- Name: st_linestringfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_linestringfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 642 (class 1255 OID 18998)
--- Dependencies: 6 1102 1102
--- Name: st_linetocurve(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_linetocurve(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_line_desegmentize';
-
-
-ALTER FUNCTION public.st_linetocurve(geometry) OWNER TO postgres;
-
---
--- TOC entry 643 (class 1255 OID 18999)
--- Dependencies: 6 1102 1102
--- Name: st_locate_along_measure(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_locate_along_measure(geometry, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ SELECT locate_between_measures($1, $2, $2) $_$;
-
-
-ALTER FUNCTION public.st_locate_along_measure(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 644 (class 1255 OID 19000)
--- Dependencies: 6 1102 1102
--- Name: st_locate_between_measures(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_locate_between_measures(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_locate_between_m';
-
-
-ALTER FUNCTION public.st_locate_between_measures(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 645 (class 1255 OID 19001)
--- Dependencies: 6 1102 1102
--- Name: st_locatebetweenelevations(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_locatebetweenelevations(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'ST_LocateBetweenElevations';
-
-
-ALTER FUNCTION public.st_locatebetweenelevations(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 646 (class 1255 OID 19002)
--- Dependencies: 6 1102 1102 1102
--- Name: st_longestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_longestline(geometry, geometry) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_LongestLine(ST_ConvexHull($1), ST_ConvexHull($2))$_$;
-
-
-ALTER FUNCTION public.st_longestline(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 647 (class 1255 OID 19003)
--- Dependencies: 6 1102
--- Name: st_m(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_m(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_m_point';
-
-
-ALTER FUNCTION public.st_m(geometry) OWNER TO postgres;
-
---
--- TOC entry 648 (class 1255 OID 19004)
--- Dependencies: 6 1087 1102 1102
--- Name: st_makebox2d(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makebox2d(geometry, geometry) RETURNS box2d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX2DFLOAT4_construct';
-
-
-ALTER FUNCTION public.st_makebox2d(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 649 (class 1255 OID 19005)
--- Dependencies: 6 1090 1102 1102
--- Name: st_makebox3d(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makebox3d(geometry, geometry) RETURNS box3d
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_construct';
-
-
-ALTER FUNCTION public.st_makebox3d(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 650 (class 1255 OID 19006)
--- Dependencies: 6 1102
--- Name: st_makeenvelope(double precision, double precision, double precision, double precision, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makeenvelope(double precision, double precision, double precision, double precision, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'ST_MakeEnvelope';
-
-
-ALTER FUNCTION public.st_makeenvelope(double precision, double precision, double precision, double precision, integer) OWNER TO postgres;
-
---
--- TOC entry 651 (class 1255 OID 19007)
--- Dependencies: 6 1102 1104
--- Name: st_makeline(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makeline(geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makeline_garray';
-
-
-ALTER FUNCTION public.st_makeline(geometry[]) OWNER TO postgres;
-
---
--- TOC entry 652 (class 1255 OID 19008)
--- Dependencies: 6 1102 1102 1102
--- Name: st_makeline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makeline(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makeline';
-
-
-ALTER FUNCTION public.st_makeline(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 653 (class 1255 OID 19009)
--- Dependencies: 6 1102 1104
--- Name: st_makeline_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makeline_garray(geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makeline_garray';
-
-
-ALTER FUNCTION public.st_makeline_garray(geometry[]) OWNER TO postgres;
-
---
--- TOC entry 654 (class 1255 OID 19010)
--- Dependencies: 1102 6
--- Name: st_makepoint(double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makepoint(double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoint';
-
-
-ALTER FUNCTION public.st_makepoint(double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 655 (class 1255 OID 19011)
--- Dependencies: 6 1102
--- Name: st_makepoint(double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makepoint(double precision, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoint';
-
-
-ALTER FUNCTION public.st_makepoint(double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 656 (class 1255 OID 19012)
--- Dependencies: 6 1102
--- Name: st_makepoint(double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makepoint(double precision, double precision, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoint';
-
-
-ALTER FUNCTION public.st_makepoint(double precision, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 657 (class 1255 OID 19013)
--- Dependencies: 6 1102
--- Name: st_makepointm(double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makepointm(double precision, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoint3dm';
-
-
-ALTER FUNCTION public.st_makepointm(double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 659 (class 1255 OID 19015)
--- Dependencies: 6 1102 1102
--- Name: st_makepolygon(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makepolygon(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoly';
-
-
-ALTER FUNCTION public.st_makepolygon(geometry) OWNER TO postgres;
-
---
--- TOC entry 658 (class 1255 OID 19014)
--- Dependencies: 6 1102 1102 1104
--- Name: st_makepolygon(geometry, geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_makepolygon(geometry, geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoly';
-
-
-ALTER FUNCTION public.st_makepolygon(geometry, geometry[]) OWNER TO postgres;
-
---
--- TOC entry 660 (class 1255 OID 19016)
--- Dependencies: 6 1102 1102
--- Name: st_maxdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_maxdistance(geometry, geometry) RETURNS double precision
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT _ST_MaxDistance(ST_ConvexHull($1), ST_ConvexHull($2))$_$;
-
-
-ALTER FUNCTION public.st_maxdistance(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 661 (class 1255 OID 19017)
--- Dependencies: 6 1102
--- Name: st_mem_size(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_mem_size(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_mem_size';
-
-
-ALTER FUNCTION public.st_mem_size(geometry) OWNER TO postgres;
-
---
--- TOC entry 663 (class 1255 OID 19020)
--- Dependencies: 6 1102 1102
--- Name: st_minimumboundingcircle(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_minimumboundingcircle(geometry) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_MinimumBoundingCircle($1, 48)$_$;
-
-
-ALTER FUNCTION public.st_minimumboundingcircle(geometry) OWNER TO postgres;
-
---
--- TOC entry 662 (class 1255 OID 19018)
--- Dependencies: 6 1168 1102 1102
--- Name: st_minimumboundingcircle(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$$;
-
-
-ALTER FUNCTION public.st_minimumboundingcircle(inputgeom geometry, segs_per_quarter integer) OWNER TO postgres;
-
---
--- TOC entry 665 (class 1255 OID 19022)
--- Dependencies: 6 1102
--- Name: st_mlinefromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mlinefromtext(text) OWNER TO postgres;
-
---
--- TOC entry 664 (class 1255 OID 19021)
--- Dependencies: 6 1102
--- Name: st_mlinefromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mlinefromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 667 (class 1255 OID 19024)
--- Dependencies: 6 1102
--- Name: st_mlinefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mlinefromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 666 (class 1255 OID 19023)
--- Dependencies: 6 1102
--- Name: st_mlinefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mlinefromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 669 (class 1255 OID 19026)
--- Dependencies: 6 1102
--- Name: st_mpointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mpointfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 668 (class 1255 OID 19025)
--- Dependencies: 6 1102
--- Name: st_mpointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mpointfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 672 (class 1255 OID 19028)
--- Dependencies: 6 1102
--- Name: st_mpointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mpointfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 671 (class 1255 OID 19027)
--- Dependencies: 6 1102
--- Name: st_mpointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mpointfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 674 (class 1255 OID 19030)
--- Dependencies: 6 1102
--- Name: st_mpolyfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mpolyfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 673 (class 1255 OID 19029)
--- Dependencies: 6 1102
--- Name: st_mpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mpolyfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 676 (class 1255 OID 19032)
--- Dependencies: 6 1102
--- Name: st_mpolyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mpolyfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 675 (class 1255 OID 19031)
--- Dependencies: 6 1102
--- Name: st_mpolyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_mpolyfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 677 (class 1255 OID 19033)
--- Dependencies: 6 1102 1102
--- Name: st_multi(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_multi(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_force_multi';
-
-
-ALTER FUNCTION public.st_multi(geometry) OWNER TO postgres;
-
---
--- TOC entry 678 (class 1255 OID 19034)
--- Dependencies: 6 1102
--- Name: st_multilinefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_multilinefromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 679 (class 1255 OID 19035)
--- Dependencies: 6 1102
--- Name: st_multilinestringfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_multilinestringfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_MLineFromText($1)$_$;
-
-
-ALTER FUNCTION public.st_multilinestringfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 680 (class 1255 OID 19036)
--- Dependencies: 6 1102
--- Name: st_multilinestringfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_multilinestringfromtext(text, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT MLineFromText($1, $2)$_$;
-
-
-ALTER FUNCTION public.st_multilinestringfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 681 (class 1255 OID 19037)
--- Dependencies: 6 1102
--- Name: st_multipointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_multipointfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT MPointFromText($1)$_$;
-
-
-ALTER FUNCTION public.st_multipointfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 683 (class 1255 OID 19039)
--- Dependencies: 1102 6
--- Name: st_multipointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_multipointfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 682 (class 1255 OID 19038)
--- Dependencies: 6 1102
--- Name: st_multipointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_multipointfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 685 (class 1255 OID 19041)
--- Dependencies: 6 1102
--- Name: st_multipolyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_multipolyfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 684 (class 1255 OID 19040)
--- Dependencies: 6 1102
--- Name: st_multipolyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_multipolyfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 687 (class 1255 OID 19043)
--- Dependencies: 6 1102
--- Name: st_multipolygonfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_multipolygonfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT MPolyFromText($1)$_$;
-
-
-ALTER FUNCTION public.st_multipolygonfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 686 (class 1255 OID 19042)
--- Dependencies: 6 1102
--- Name: st_multipolygonfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_multipolygonfromtext(text, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT MPolyFromText($1, $2)$_$;
-
-
-ALTER FUNCTION public.st_multipolygonfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 688 (class 1255 OID 19044)
--- Dependencies: 6 1102
--- Name: st_ndims(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_ndims(geometry) RETURNS smallint
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_ndims';
-
-
-ALTER FUNCTION public.st_ndims(geometry) OWNER TO postgres;
-
---
--- TOC entry 689 (class 1255 OID 19045)
--- Dependencies: 6 1102
--- Name: st_npoints(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_npoints(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_npoints';
-
-
-ALTER FUNCTION public.st_npoints(geometry) OWNER TO postgres;
-
---
--- TOC entry 690 (class 1255 OID 19046)
--- Dependencies: 6 1102
--- Name: st_nrings(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_nrings(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_nrings';
-
-
-ALTER FUNCTION public.st_nrings(geometry) OWNER TO postgres;
-
---
--- TOC entry 691 (class 1255 OID 19047)
--- Dependencies: 6 1102
--- Name: st_numgeometries(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_numgeometries(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_numgeometries_collection';
-
-
-ALTER FUNCTION public.st_numgeometries(geometry) OWNER TO postgres;
-
---
--- TOC entry 692 (class 1255 OID 19048)
--- Dependencies: 6 1102
--- Name: st_numinteriorring(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_numinteriorring(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_numinteriorrings_polygon';
-
-
-ALTER FUNCTION public.st_numinteriorring(geometry) OWNER TO postgres;
-
---
--- TOC entry 693 (class 1255 OID 19049)
--- Dependencies: 6 1102
--- Name: st_numinteriorrings(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_numinteriorrings(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_numinteriorrings_polygon';
-
-
-ALTER FUNCTION public.st_numinteriorrings(geometry) OWNER TO postgres;
-
---
--- TOC entry 694 (class 1255 OID 19050)
--- Dependencies: 6 1102
--- Name: st_numpoints(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_numpoints(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_numpoints_linestring';
-
-
-ALTER FUNCTION public.st_numpoints(geometry) OWNER TO postgres;
-
---
--- TOC entry 695 (class 1255 OID 19051)
--- Dependencies: 6 1102 1102
--- Name: st_orderingequals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_orderingequals(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ 
-	SELECT $1 ~= $2 AND _ST_OrderingEquals($1, $2)
-	$_$;
-
-
-ALTER FUNCTION public.st_orderingequals(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 696 (class 1255 OID 19052)
--- Dependencies: 6 1102 1102
--- Name: st_overlaps(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_overlaps(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT $1 && $2 AND _ST_Overlaps($1,$2)$_$;
-
-
-ALTER FUNCTION public.st_overlaps(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 697 (class 1255 OID 19053)
--- Dependencies: 6 1102
--- Name: st_perimeter(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_perimeter(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_perimeter2d_poly';
-
-
-ALTER FUNCTION public.st_perimeter(geometry) OWNER TO postgres;
-
---
--- TOC entry 698 (class 1255 OID 19054)
--- Dependencies: 6 1102
--- Name: st_perimeter2d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_perimeter2d(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_perimeter2d_poly';
-
-
-ALTER FUNCTION public.st_perimeter2d(geometry) OWNER TO postgres;
-
---
--- TOC entry 699 (class 1255 OID 19055)
--- Dependencies: 6 1102
--- Name: st_perimeter3d(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_perimeter3d(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_perimeter_poly';
-
-
-ALTER FUNCTION public.st_perimeter3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 700 (class 1255 OID 19056)
--- Dependencies: 6 1102
--- Name: st_point(double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_point(double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_makepoint';
-
-
-ALTER FUNCTION public.st_point(double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 701 (class 1255 OID 19057)
--- Dependencies: 6 1102
--- Name: st_point_inside_circle(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_point_inside_circle(geometry, double precision, double precision, double precision) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_inside_circle_point';
-
-
-ALTER FUNCTION public.st_point_inside_circle(geometry, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 702 (class 1255 OID 19058)
--- Dependencies: 6 1102
--- Name: st_pointfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_pointfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 703 (class 1255 OID 19059)
--- Dependencies: 6 1102
--- Name: st_pointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_pointfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 706 (class 1255 OID 19061)
--- Dependencies: 6 1102
--- Name: st_pointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_pointfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 705 (class 1255 OID 19060)
--- Dependencies: 6 1102
--- Name: st_pointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_pointfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 707 (class 1255 OID 19062)
--- Dependencies: 6 1102 1102
--- Name: st_pointn(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_pointn(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_pointn_linestring';
-
-
-ALTER FUNCTION public.st_pointn(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 708 (class 1255 OID 19063)
--- Dependencies: 6 1102 1102
--- Name: st_pointonsurface(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_pointonsurface(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'pointonsurface';
-
-
-ALTER FUNCTION public.st_pointonsurface(geometry) OWNER TO postgres;
-
---
--- TOC entry 709 (class 1255 OID 19064)
--- Dependencies: 6 1102
--- Name: st_polyfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_polyfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 710 (class 1255 OID 19065)
--- Dependencies: 6 1102
--- Name: st_polyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_polyfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 712 (class 1255 OID 19067)
--- Dependencies: 6 1102
--- Name: st_polyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_polyfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 711 (class 1255 OID 19066)
--- Dependencies: 6 1102
--- Name: st_polyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_polyfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 713 (class 1255 OID 19068)
--- Dependencies: 6 1102 1102
--- Name: st_polygon(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_polygon(geometry, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$ 
-	SELECT setSRID(makepolygon($1), $2)
-	$_$;
-
-
-ALTER FUNCTION public.st_polygon(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 715 (class 1255 OID 19070)
--- Dependencies: 1102 6
--- Name: st_polygonfromtext(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_polygonfromtext(text) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_PolyFromText($1)$_$;
-
-
-ALTER FUNCTION public.st_polygonfromtext(text) OWNER TO postgres;
-
---
--- TOC entry 714 (class 1255 OID 19069)
--- Dependencies: 6 1102
--- Name: st_polygonfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_polygonfromtext(text, integer) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT PolyFromText($1, $2)$_$;
-
-
-ALTER FUNCTION public.st_polygonfromtext(text, integer) OWNER TO postgres;
-
---
--- TOC entry 717 (class 1255 OID 19072)
--- Dependencies: 6 1102
--- Name: st_polygonfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_polygonfromwkb(bytea) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$
-	SELECT CASE WHEN geometrytype(GeomFromWKB($1)) = 'POLYGON'
-	THEN GeomFromWKB($1)
-	ELSE NULL END
-	$_$;
-
-
-ALTER FUNCTION public.st_polygonfromwkb(bytea) OWNER TO postgres;
-
---
--- TOC entry 716 (class 1255 OID 19071)
--- Dependencies: 1102 6
--- Name: st_polygonfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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
-	$_$;
-
-
-ALTER FUNCTION public.st_polygonfromwkb(bytea, integer) OWNER TO postgres;
-
---
--- TOC entry 718 (class 1255 OID 19073)
--- Dependencies: 1102 6 1104
--- Name: st_polygonize(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_polygonize(geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'polygonize_garray';
-
-
-ALTER FUNCTION public.st_polygonize(geometry[]) OWNER TO postgres;
-
---
--- TOC entry 719 (class 1255 OID 19074)
--- Dependencies: 1102 6 1104
--- Name: st_polygonize_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_polygonize_garray(geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'polygonize_garray';
-
-
-ALTER FUNCTION public.st_polygonize_garray(geometry[]) OWNER TO postgres;
-
---
--- TOC entry 720 (class 1255 OID 19075)
--- Dependencies: 6
--- Name: st_postgis_gist_joinsel(internal, oid, internal, smallint); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_postgis_gist_joinsel(internal, oid, internal, smallint) RETURNS double precision
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_joinsel';
-
-
-ALTER FUNCTION public.st_postgis_gist_joinsel(internal, oid, internal, smallint) OWNER TO postgres;
-
---
--- TOC entry 721 (class 1255 OID 19076)
--- Dependencies: 6
--- Name: st_postgis_gist_sel(internal, oid, internal, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_postgis_gist_sel(internal, oid, internal, integer) RETURNS double precision
-    LANGUAGE c
-    AS '$libdir/postgis-1.5', 'LWGEOM_gist_sel';
-
-
-ALTER FUNCTION public.st_postgis_gist_sel(internal, oid, internal, integer) OWNER TO postgres;
-
---
--- TOC entry 722 (class 1255 OID 19077)
--- Dependencies: 1102 6 1102
--- Name: st_relate(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_relate(geometry, geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'relate_full';
-
-
-ALTER FUNCTION public.st_relate(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 723 (class 1255 OID 19078)
--- Dependencies: 1102 6 1102
--- Name: st_relate(geometry, geometry, text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_relate(geometry, geometry, text) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'relate_pattern';
-
-
-ALTER FUNCTION public.st_relate(geometry, geometry, text) OWNER TO postgres;
-
---
--- TOC entry 724 (class 1255 OID 19079)
--- Dependencies: 1102 6 1102
--- Name: st_removepoint(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_removepoint(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_removepoint';
-
-
-ALTER FUNCTION public.st_removepoint(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 725 (class 1255 OID 19080)
--- Dependencies: 1102 6 1102
--- Name: st_reverse(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_reverse(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_reverse';
-
-
-ALTER FUNCTION public.st_reverse(geometry) OWNER TO postgres;
-
---
--- TOC entry 726 (class 1255 OID 19081)
--- Dependencies: 1102 6 1102
--- Name: st_rotate(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_rotate(geometry, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT rotateZ($1, $2)$_$;
-
-
-ALTER FUNCTION public.st_rotate(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 727 (class 1255 OID 19082)
--- Dependencies: 1102 6 1102
--- Name: st_rotatex(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.st_rotatex(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 728 (class 1255 OID 19083)
--- Dependencies: 1102 6 1102
--- Name: st_rotatey(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.st_rotatey(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 729 (class 1255 OID 19084)
--- Dependencies: 1102 6 1102
--- Name: st_rotatez(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.st_rotatez(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 731 (class 1255 OID 19086)
--- Dependencies: 1102 1102 6
--- Name: st_scale(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_scale(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT scale($1, $2, $3, 1)$_$;
-
-
-ALTER FUNCTION public.st_scale(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 730 (class 1255 OID 19085)
--- Dependencies: 1102 6 1102
--- Name: st_scale(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.st_scale(geometry, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 732 (class 1255 OID 19087)
--- Dependencies: 1102 1102 6
--- Name: st_segmentize(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_segmentize(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_segmentize2d';
-
-
-ALTER FUNCTION public.st_segmentize(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 733 (class 1255 OID 19088)
--- Dependencies: 6 1096 1096
--- Name: st_setfactor(chip, real); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_setfactor(chip, real) RETURNS chip
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_setFactor';
-
-
-ALTER FUNCTION public.st_setfactor(chip, real) OWNER TO postgres;
-
---
--- TOC entry 734 (class 1255 OID 19089)
--- Dependencies: 6 1102 1102 1102
--- Name: st_setpoint(geometry, integer, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_setpoint(geometry, integer, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_setpoint_linestring';
-
-
-ALTER FUNCTION public.st_setpoint(geometry, integer, geometry) OWNER TO postgres;
-
---
--- TOC entry 735 (class 1255 OID 19090)
--- Dependencies: 1102 6 1102
--- Name: st_setsrid(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_setsrid(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_setSRID';
-
-
-ALTER FUNCTION public.st_setsrid(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 736 (class 1255 OID 19091)
--- Dependencies: 1102 6 1102
--- Name: st_shift_longitude(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_shift_longitude(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_longitude_shift';
-
-
-ALTER FUNCTION public.st_shift_longitude(geometry) OWNER TO postgres;
-
---
--- TOC entry 737 (class 1255 OID 19092)
--- Dependencies: 1102 1102 1102 6
--- Name: st_shortestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_shortestline(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_shortestline2d';
-
-
-ALTER FUNCTION public.st_shortestline(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 738 (class 1255 OID 19093)
--- Dependencies: 6 1102 1102
--- Name: st_simplify(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_simplify(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_simplify2d';
-
-
-ALTER FUNCTION public.st_simplify(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 739 (class 1255 OID 19094)
--- Dependencies: 1102 6 1102
--- Name: st_simplifypreservetopology(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_simplifypreservetopology(geometry, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT COST 100
-    AS '$libdir/postgis-1.5', 'topologypreservesimplify';
-
-
-ALTER FUNCTION public.st_simplifypreservetopology(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 740 (class 1255 OID 19097)
--- Dependencies: 1102 6 1102
--- Name: st_snaptogrid(geometry, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_snaptogrid(geometry, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_SnapToGrid($1, 0, 0, $2, $2)$_$;
-
-
-ALTER FUNCTION public.st_snaptogrid(geometry, double precision) OWNER TO postgres;
-
---
--- TOC entry 704 (class 1255 OID 19096)
--- Dependencies: 6 1102 1102
--- Name: st_snaptogrid(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_snaptogrid(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT ST_SnapToGrid($1, 0, 0, $2, $3)$_$;
-
-
-ALTER FUNCTION public.st_snaptogrid(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 670 (class 1255 OID 19095)
--- Dependencies: 6 1102 1102
--- Name: st_snaptogrid(geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_snaptogrid(geometry, double precision, double precision, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_snaptogrid';
-
-
-ALTER FUNCTION public.st_snaptogrid(geometry, double precision, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 741 (class 1255 OID 19098)
--- Dependencies: 1102 1102 1102 6
--- Name: st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_snaptogrid_pointoff';
-
-
-ALTER FUNCTION public.st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 742 (class 1255 OID 19099)
--- Dependencies: 6 1113
--- Name: st_spheroid_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_spheroid_in(cstring) RETURNS spheroid
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'ellipsoid_in';
-
-
-ALTER FUNCTION public.st_spheroid_in(cstring) OWNER TO postgres;
-
---
--- TOC entry 743 (class 1255 OID 19100)
--- Dependencies: 6 1113
--- Name: st_spheroid_out(spheroid); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_spheroid_out(spheroid) RETURNS cstring
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'ellipsoid_out';
-
-
-ALTER FUNCTION public.st_spheroid_out(spheroid) OWNER TO postgres;
-
---
--- TOC entry 744 (class 1255 OID 19101)
--- Dependencies: 1096 6
--- Name: st_srid(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_srid(chip) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getSRID';
-
-
-ALTER FUNCTION public.st_srid(chip) OWNER TO postgres;
-
---
--- TOC entry 745 (class 1255 OID 19102)
--- Dependencies: 6 1102
--- Name: st_srid(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_srid(geometry) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_getSRID';
-
-
-ALTER FUNCTION public.st_srid(geometry) OWNER TO postgres;
-
---
--- TOC entry 746 (class 1255 OID 19103)
--- Dependencies: 6 1102 1102
--- Name: st_startpoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_startpoint(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_startpoint_linestring';
-
-
-ALTER FUNCTION public.st_startpoint(geometry) OWNER TO postgres;
-
---
--- TOC entry 747 (class 1255 OID 19104)
--- Dependencies: 6 1102
--- Name: st_summary(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_summary(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_summary';
-
-
-ALTER FUNCTION public.st_summary(geometry) OWNER TO postgres;
-
---
--- TOC entry 748 (class 1255 OID 19105)
--- Dependencies: 1102 1102 1102 6
--- Name: st_symdifference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_symdifference(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'symdifference';
-
-
-ALTER FUNCTION public.st_symdifference(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 749 (class 1255 OID 19106)
--- Dependencies: 1102 1102 1102 6
--- Name: st_symmetricdifference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_symmetricdifference(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'symdifference';
-
-
-ALTER FUNCTION public.st_symmetricdifference(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 750 (class 1255 OID 19107)
--- Dependencies: 6 1102
--- Name: st_text(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_text(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_text';
-
-
-ALTER FUNCTION public.st_text(geometry) OWNER TO postgres;
-
---
--- TOC entry 751 (class 1255 OID 19108)
--- Dependencies: 1102 6 1102
--- Name: st_touches(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_touches(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT $1 && $2 AND _ST_Touches($1,$2)$_$;
-
-
-ALTER FUNCTION public.st_touches(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 752 (class 1255 OID 19109)
--- Dependencies: 6 1102 1102
--- Name: st_transform(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_transform(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'transform';
-
-
-ALTER FUNCTION public.st_transform(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 754 (class 1255 OID 19111)
--- Dependencies: 1102 6 1102
--- Name: st_translate(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_translate(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT translate($1, $2, $3, 0)$_$;
-
-
-ALTER FUNCTION public.st_translate(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 753 (class 1255 OID 19110)
--- Dependencies: 1102 6 1102
--- Name: st_translate(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.st_translate(geometry, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 755 (class 1255 OID 19112)
--- Dependencies: 6 1102 1102
--- Name: st_transscale(geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.st_transscale(geometry, double precision, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 757 (class 1255 OID 19114)
--- Dependencies: 6 1104 1102
--- Name: st_union(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_union(geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'pgis_union_geometry_array';
-
-
-ALTER FUNCTION public.st_union(geometry[]) OWNER TO postgres;
-
---
--- TOC entry 756 (class 1255 OID 19113)
--- Dependencies: 6 1102 1102 1102
--- Name: st_union(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_union(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'geomunion';
-
-
-ALTER FUNCTION public.st_union(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 758 (class 1255 OID 19115)
--- Dependencies: 1104 6 1102
--- Name: st_unite_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_unite_garray(geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'pgis_union_geometry_array';
-
-
-ALTER FUNCTION public.st_unite_garray(geometry[]) OWNER TO postgres;
-
---
--- TOC entry 759 (class 1255 OID 19116)
--- Dependencies: 6 1096
--- Name: st_width(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_width(chip) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getWidth';
-
-
-ALTER FUNCTION public.st_width(chip) OWNER TO postgres;
-
---
--- TOC entry 760 (class 1255 OID 19117)
--- Dependencies: 1102 1102 6
--- Name: st_within(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_within(geometry, geometry) RETURNS boolean
-    LANGUAGE sql IMMUTABLE
-    AS $_$SELECT $1 && $2 AND _ST_Within($1,$2)$_$;
-
-
-ALTER FUNCTION public.st_within(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 761 (class 1255 OID 19118)
--- Dependencies: 1102 6
--- Name: st_wkbtosql(bytea); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_wkbtosql(bytea) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_WKB';
-
-
-ALTER FUNCTION public.st_wkbtosql(bytea) OWNER TO postgres;
-
---
--- TOC entry 762 (class 1255 OID 19119)
--- Dependencies: 6 1102
--- Name: st_wkttosql(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_wkttosql(text) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_from_text';
-
-
-ALTER FUNCTION public.st_wkttosql(text) OWNER TO postgres;
-
---
--- TOC entry 763 (class 1255 OID 19120)
--- Dependencies: 1102 6
--- Name: st_x(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_x(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_x_point';
-
-
-ALTER FUNCTION public.st_x(geometry) OWNER TO postgres;
-
---
--- TOC entry 764 (class 1255 OID 19121)
--- Dependencies: 6 1090
--- Name: st_xmax(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_xmax(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_xmax';
-
-
-ALTER FUNCTION public.st_xmax(box3d) OWNER TO postgres;
-
---
--- TOC entry 765 (class 1255 OID 19122)
--- Dependencies: 6 1090
--- Name: st_xmin(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_xmin(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_xmin';
-
-
-ALTER FUNCTION public.st_xmin(box3d) OWNER TO postgres;
-
---
--- TOC entry 766 (class 1255 OID 19123)
--- Dependencies: 1102 6
--- Name: st_y(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_y(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_y_point';
-
-
-ALTER FUNCTION public.st_y(geometry) OWNER TO postgres;
-
---
--- TOC entry 767 (class 1255 OID 19124)
--- Dependencies: 1090 6
--- Name: st_ymax(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_ymax(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_ymax';
-
-
-ALTER FUNCTION public.st_ymax(box3d) OWNER TO postgres;
-
---
--- TOC entry 768 (class 1255 OID 19125)
--- Dependencies: 6 1090
--- Name: st_ymin(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_ymin(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_ymin';
-
-
-ALTER FUNCTION public.st_ymin(box3d) OWNER TO postgres;
-
---
--- TOC entry 769 (class 1255 OID 19126)
--- Dependencies: 1102 6
--- Name: st_z(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_z(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_z_point';
-
-
-ALTER FUNCTION public.st_z(geometry) OWNER TO postgres;
-
---
--- TOC entry 770 (class 1255 OID 19127)
--- Dependencies: 6 1090
--- Name: st_zmax(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_zmax(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_zmax';
-
-
-ALTER FUNCTION public.st_zmax(box3d) OWNER TO postgres;
-
---
--- TOC entry 771 (class 1255 OID 19128)
--- Dependencies: 6 1102
--- Name: st_zmflag(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_zmflag(geometry) RETURNS smallint
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_zmflag';
-
-
-ALTER FUNCTION public.st_zmflag(geometry) OWNER TO postgres;
-
---
--- TOC entry 772 (class 1255 OID 19129)
--- Dependencies: 1090 6
--- Name: st_zmin(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION st_zmin(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_zmin';
-
-
-ALTER FUNCTION public.st_zmin(box3d) OWNER TO postgres;
-
---
--- TOC entry 773 (class 1255 OID 19130)
--- Dependencies: 1102 6 1102
--- Name: startpoint(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION startpoint(geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_startpoint_linestring';
-
-
-ALTER FUNCTION public.startpoint(geometry) OWNER TO postgres;
-
---
--- TOC entry 774 (class 1255 OID 19131)
--- Dependencies: 6 1102
--- Name: summary(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION summary(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_summary';
-
-
-ALTER FUNCTION public.summary(geometry) OWNER TO postgres;
-
---
--- TOC entry 775 (class 1255 OID 19132)
--- Dependencies: 1102 6 1102 1102
--- Name: symdifference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION symdifference(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'symdifference';
-
-
-ALTER FUNCTION public.symdifference(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 776 (class 1255 OID 19133)
--- Dependencies: 1102 6 1102 1102
--- Name: symmetricdifference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION symmetricdifference(geometry, geometry) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'symdifference';
-
-
-ALTER FUNCTION public.symmetricdifference(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 777 (class 1255 OID 19134)
--- Dependencies: 6 1102
--- Name: text(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION text(geometry) RETURNS text
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_to_text';
-
-
-ALTER FUNCTION public.text(geometry) OWNER TO postgres;
-
---
--- TOC entry 778 (class 1255 OID 19135)
--- Dependencies: 1102 6 1102
--- Name: touches(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION touches(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'touches';
-
-
-ALTER FUNCTION public.touches(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 779 (class 1255 OID 19136)
--- Dependencies: 1102 6 1102
--- Name: transform(geometry, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION transform(geometry, integer) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'transform';
-
-
-ALTER FUNCTION public.transform(geometry, integer) OWNER TO postgres;
-
---
--- TOC entry 781 (class 1255 OID 19138)
--- Dependencies: 1102 6 1102
--- Name: translate(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION translate(geometry, double precision, double precision) RETURNS geometry
-    LANGUAGE sql IMMUTABLE STRICT
-    AS $_$SELECT translate($1, $2, $3, 0)$_$;
-
-
-ALTER FUNCTION public.translate(geometry, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 780 (class 1255 OID 19137)
--- Dependencies: 1102 6 1102
--- Name: translate(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.translate(geometry, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 782 (class 1255 OID 19139)
--- Dependencies: 6 1102 1102
--- Name: transscale(geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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)$_$;
-
-
-ALTER FUNCTION public.transscale(geometry, double precision, double precision, double precision, double precision) OWNER TO postgres;
-
---
--- TOC entry 783 (class 1255 OID 19140)
--- Dependencies: 1104 6 1102
--- Name: unite_garray(geometry[]); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION unite_garray(geometry[]) RETURNS geometry
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'pgis_union_geometry_array';
-
-
-ALTER FUNCTION public.unite_garray(geometry[]) OWNER TO postgres;
-
---
--- TOC entry 784 (class 1255 OID 19141)
--- Dependencies: 6 1168
--- Name: unlockrows(text); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.unlockrows(text) OWNER TO postgres;
-
---
--- TOC entry 787 (class 1255 OID 19144)
--- Dependencies: 6 1168
--- Name: updategeometrysrid(character varying, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.updategeometrysrid(character varying, character varying, integer) OWNER TO postgres;
-
---
--- TOC entry 786 (class 1255 OID 19143)
--- Dependencies: 6 1168
--- Name: updategeometrysrid(character varying, character varying, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.updategeometrysrid(character varying, character varying, character varying, integer) OWNER TO postgres;
-
---
--- TOC entry 785 (class 1255 OID 19142)
--- Dependencies: 1168 6
--- Name: updategeometrysrid(character varying, character varying, character varying, character varying, integer); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE 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;
-$_$;
-
-
-ALTER FUNCTION public.updategeometrysrid(character varying, character varying, character varying, character varying, integer) OWNER TO postgres;
-
---
--- TOC entry 788 (class 1255 OID 19145)
--- Dependencies: 6 1096
--- Name: width(chip); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION width(chip) RETURNS integer
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'CHIP_getWidth';
-
-
-ALTER FUNCTION public.width(chip) OWNER TO postgres;
-
---
--- TOC entry 789 (class 1255 OID 19146)
--- Dependencies: 1102 1102 6
--- Name: within(geometry, geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION within(geometry, geometry) RETURNS boolean
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'within';
-
-
-ALTER FUNCTION public.within(geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 790 (class 1255 OID 19147)
--- Dependencies: 6 1102
--- Name: x(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION x(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_x_point';
-
-
-ALTER FUNCTION public.x(geometry) OWNER TO postgres;
-
---
--- TOC entry 791 (class 1255 OID 19148)
--- Dependencies: 6 1090
--- Name: xmax(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION xmax(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_xmax';
-
-
-ALTER FUNCTION public.xmax(box3d) OWNER TO postgres;
-
---
--- TOC entry 792 (class 1255 OID 19149)
--- Dependencies: 1090 6
--- Name: xmin(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION xmin(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_xmin';
-
-
-ALTER FUNCTION public.xmin(box3d) OWNER TO postgres;
-
---
--- TOC entry 793 (class 1255 OID 19150)
--- Dependencies: 6 1102
--- Name: y(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION y(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_y_point';
-
-
-ALTER FUNCTION public.y(geometry) OWNER TO postgres;
-
---
--- TOC entry 794 (class 1255 OID 19151)
--- Dependencies: 1090 6
--- Name: ymax(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION ymax(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_ymax';
-
-
-ALTER FUNCTION public.ymax(box3d) OWNER TO postgres;
-
---
--- TOC entry 795 (class 1255 OID 19152)
--- Dependencies: 1090 6
--- Name: ymin(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION ymin(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_ymin';
-
-
-ALTER FUNCTION public.ymin(box3d) OWNER TO postgres;
-
---
--- TOC entry 796 (class 1255 OID 19153)
--- Dependencies: 1102 6
--- Name: z(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION z(geometry) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_z_point';
-
-
-ALTER FUNCTION public.z(geometry) OWNER TO postgres;
-
---
--- TOC entry 797 (class 1255 OID 19154)
--- Dependencies: 1090 6
--- Name: zmax(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION zmax(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_zmax';
-
-
-ALTER FUNCTION public.zmax(box3d) OWNER TO postgres;
-
---
--- TOC entry 798 (class 1255 OID 19155)
--- Dependencies: 6 1102
--- Name: zmflag(geometry); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION zmflag(geometry) RETURNS smallint
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'LWGEOM_zmflag';
-
-
-ALTER FUNCTION public.zmflag(geometry) OWNER TO postgres;
-
---
--- TOC entry 799 (class 1255 OID 19156)
--- Dependencies: 1090 6
--- Name: zmin(box3d); Type: FUNCTION; Schema: public; Owner: postgres
---
-
-CREATE FUNCTION zmin(box3d) RETURNS double precision
-    LANGUAGE c IMMUTABLE STRICT
-    AS '$libdir/postgis-1.5', 'BOX3D_zmin';
-
-
-ALTER FUNCTION public.zmin(box3d) OWNER TO postgres;
-
---
--- TOC entry 1173 (class 1255 OID 19157)
--- Dependencies: 1104 1102 330 329 6
--- Name: accum(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE accum(geometry) (
-    SFUNC = pgis_geometry_accum_transfn,
-    STYPE = pgis_abs,
-    FINALFUNC = pgis_geometry_accum_finalfn
-);
-
-
-ALTER AGGREGATE public.accum(geometry) OWNER TO postgres;
-
---
--- TOC entry 1174 (class 1255 OID 19158)
--- Dependencies: 331 6 1102 1102 330
--- Name: collect(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE collect(geometry) (
-    SFUNC = pgis_geometry_accum_transfn,
-    STYPE = pgis_abs,
-    FINALFUNC = pgis_geometry_collect_finalfn
-);
-
-
-ALTER AGGREGATE public.collect(geometry) OWNER TO postgres;
-
---
--- TOC entry 1175 (class 1255 OID 19159)
--- Dependencies: 6 1102 500 1093
--- Name: extent(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE extent(geometry) (
-    SFUNC = public.st_combine_bbox,
-    STYPE = box3d_extent
-);
-
-
-ALTER AGGREGATE public.extent(geometry) OWNER TO postgres;
-
---
--- TOC entry 1176 (class 1255 OID 19160)
--- Dependencies: 124 1102 1090 6
--- Name: extent3d(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE extent3d(geometry) (
-    SFUNC = public.combine_bbox,
-    STYPE = box3d
-);
-
-
-ALTER AGGREGATE public.extent3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 1177 (class 1255 OID 19161)
--- Dependencies: 1102 6 1102 330 332
--- Name: makeline(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE makeline(geometry) (
-    SFUNC = pgis_geometry_accum_transfn,
-    STYPE = pgis_abs,
-    FINALFUNC = pgis_geometry_makeline_finalfn
-);
-
-
-ALTER AGGREGATE public.makeline(geometry) OWNER TO postgres;
-
---
--- TOC entry 1178 (class 1255 OID 19162)
--- Dependencies: 1102 496 1102 6
--- Name: memcollect(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE memcollect(geometry) (
-    SFUNC = public.st_collect,
-    STYPE = geometry
-);
-
-
-ALTER AGGREGATE public.memcollect(geometry) OWNER TO postgres;
-
---
--- TOC entry 1179 (class 1255 OID 19163)
--- Dependencies: 231 1102 1102 6
--- Name: memgeomunion(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE memgeomunion(geometry) (
-    SFUNC = geomunion,
-    STYPE = geometry
-);
-
-
-ALTER AGGREGATE public.memgeomunion(geometry) OWNER TO postgres;
-
---
--- TOC entry 1180 (class 1255 OID 19164)
--- Dependencies: 6 333 330 1102 1102
--- Name: polygonize(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE polygonize(geometry) (
-    SFUNC = pgis_geometry_accum_transfn,
-    STYPE = pgis_abs,
-    FINALFUNC = pgis_geometry_polygonize_finalfn
-);
-
-
-ALTER AGGREGATE public.polygonize(geometry) OWNER TO postgres;
-
---
--- TOC entry 1181 (class 1255 OID 19165)
--- Dependencies: 329 330 1102 1104 6
--- Name: st_accum(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE st_accum(geometry) (
-    SFUNC = pgis_geometry_accum_transfn,
-    STYPE = pgis_abs,
-    FINALFUNC = pgis_geometry_accum_finalfn
-);
-
-
-ALTER AGGREGATE public.st_accum(geometry) OWNER TO postgres;
-
---
--- TOC entry 1182 (class 1255 OID 19166)
--- Dependencies: 331 330 1102 1102 6
--- Name: st_collect(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE st_collect(geometry) (
-    SFUNC = pgis_geometry_accum_transfn,
-    STYPE = pgis_abs,
-    FINALFUNC = pgis_geometry_collect_finalfn
-);
-
-
-ALTER AGGREGATE public.st_collect(geometry) OWNER TO postgres;
-
---
--- TOC entry 1183 (class 1255 OID 19167)
--- Dependencies: 500 1102 1093 6
--- Name: st_extent(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE st_extent(geometry) (
-    SFUNC = public.st_combine_bbox,
-    STYPE = box3d_extent
-);
-
-
-ALTER AGGREGATE public.st_extent(geometry) OWNER TO postgres;
-
---
--- TOC entry 1169 (class 1255 OID 19168)
--- Dependencies: 501 1102 1090 6
--- Name: st_extent3d(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE st_extent3d(geometry) (
-    SFUNC = public.st_combine_bbox,
-    STYPE = box3d
-);
-
-
-ALTER AGGREGATE public.st_extent3d(geometry) OWNER TO postgres;
-
---
--- TOC entry 1170 (class 1255 OID 19169)
--- Dependencies: 1102 6 330 332 1102
--- Name: st_makeline(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE st_makeline(geometry) (
-    SFUNC = pgis_geometry_accum_transfn,
-    STYPE = pgis_abs,
-    FINALFUNC = pgis_geometry_makeline_finalfn
-);
-
-
-ALTER AGGREGATE public.st_makeline(geometry) OWNER TO postgres;
-
---
--- TOC entry 1171 (class 1255 OID 19170)
--- Dependencies: 6 496 1102 1102
--- Name: st_memcollect(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE st_memcollect(geometry) (
-    SFUNC = public.st_collect,
-    STYPE = geometry
-);
-
-
-ALTER AGGREGATE public.st_memcollect(geometry) OWNER TO postgres;
-
---
--- TOC entry 1172 (class 1255 OID 19171)
--- Dependencies: 756 6 1102 1102
--- Name: st_memunion(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE st_memunion(geometry) (
-    SFUNC = public.st_union,
-    STYPE = geometry
-);
-
-
-ALTER AGGREGATE public.st_memunion(geometry) OWNER TO postgres;
-
---
--- TOC entry 1184 (class 1255 OID 19172)
--- Dependencies: 330 333 1102 1102 6
--- Name: st_polygonize(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE st_polygonize(geometry) (
-    SFUNC = pgis_geometry_accum_transfn,
-    STYPE = pgis_abs,
-    FINALFUNC = pgis_geometry_polygonize_finalfn
-);
-
-
-ALTER AGGREGATE public.st_polygonize(geometry) OWNER TO postgres;
-
---
--- TOC entry 1185 (class 1255 OID 19173)
--- Dependencies: 330 334 1102 1102 6
--- Name: st_union(geometry); Type: AGGREGATE; Schema: public; Owner: postgres
---
-
-CREATE AGGREGATE st_union(geometry) (
-    SFUNC = pgis_geometry_accum_transfn,
-    STYPE = pgis_abs,
-    FINALFUNC = pgis_geometry_union_finalfn
-);
-
-
-ALTER AGGREGATE public.st_union(geometry) OWNER TO postgres;
-
---
--- TOC entry 1891 (class 2617 OID 19174)
--- Dependencies: 215 6 1102 1102 208 207
--- Name: &&; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR && (
-    PROCEDURE = geometry_overlap,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = &&,
-    RESTRICT = geometry_gist_sel,
-    JOIN = geometry_gist_joinsel
-);
-
-
-ALTER OPERATOR public.&& (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1892 (class 2617 OID 19175)
--- Dependencies: 6 176 180 185 1099 1099
--- Name: &&; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR && (
-    PROCEDURE = geography_overlaps,
-    LEFTARG = geography,
-    RIGHTARG = geography,
-    COMMUTATOR = &&,
-    RESTRICT = geography_gist_selectivity,
-    JOIN = geography_gist_join_selectivity
-);
-
-
-ALTER OPERATOR public.&& (geography, geography) OWNER TO postgres;
-
---
--- TOC entry 1893 (class 2617 OID 19177)
--- Dependencies: 1102 6 1102 216
--- Name: &<; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR &< (
-    PROCEDURE = geometry_overleft,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = &>,
-    RESTRICT = positionsel,
-    JOIN = positionjoinsel
-);
-
-
-ALTER OPERATOR public.&< (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1894 (class 2617 OID 19179)
--- Dependencies: 1102 214 1102 6
--- Name: &<|; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR &<| (
-    PROCEDURE = geometry_overbelow,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = |&>,
-    RESTRICT = positionsel,
-    JOIN = positionjoinsel
-);
-
-
-ALTER OPERATOR public.&<| (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1895 (class 2617 OID 19176)
--- Dependencies: 1102 217 6 1102
--- Name: &>; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR &> (
-    PROCEDURE = geometry_overright,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = &<,
-    RESTRICT = positionsel,
-    JOIN = positionjoinsel
-);
-
-
-ALTER OPERATOR public.&> (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1896 (class 2617 OID 19182)
--- Dependencies: 6 1102 1102 212
--- Name: <; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR < (
-    PROCEDURE = geometry_lt,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = >,
-    NEGATOR = >=,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.< (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1899 (class 2617 OID 19185)
--- Dependencies: 1099 6 1099 184
--- Name: <; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR < (
-    PROCEDURE = geography_lt,
-    LEFTARG = geography,
-    RIGHTARG = geography,
-    COMMUTATOR = >,
-    NEGATOR = >=,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.< (geography, geography) OWNER TO postgres;
-
---
--- TOC entry 1900 (class 2617 OID 19187)
--- Dependencies: 1102 6 1102 211
--- Name: <<; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR << (
-    PROCEDURE = geometry_left,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = >>,
-    RESTRICT = positionsel,
-    JOIN = positionjoinsel
-);
-
-
-ALTER OPERATOR public.<< (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1901 (class 2617 OID 19189)
--- Dependencies: 6 1102 1102 201
--- Name: <<|; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR <<| (
-    PROCEDURE = geometry_below,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = |>>,
-    RESTRICT = positionsel,
-    JOIN = positionjoinsel
-);
-
-
-ALTER OPERATOR public.<<| (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1902 (class 2617 OID 19190)
--- Dependencies: 1102 6 210 1102
--- Name: <=; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR <= (
-    PROCEDURE = geometry_le,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = >=,
-    NEGATOR = >,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.<= (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1903 (class 2617 OID 19191)
--- Dependencies: 183 1099 1099 6
--- Name: <=; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR <= (
-    PROCEDURE = geography_le,
-    LEFTARG = geography,
-    RIGHTARG = geography,
-    COMMUTATOR = >=,
-    NEGATOR = >,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.<= (geography, geography) OWNER TO postgres;
-
---
--- TOC entry 1904 (class 2617 OID 19192)
--- Dependencies: 205 6 1102 1102
--- Name: =; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR = (
-    PROCEDURE = geometry_eq,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = =,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.= (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1905 (class 2617 OID 19193)
--- Dependencies: 1099 171 1099 6
--- Name: =; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR = (
-    PROCEDURE = geography_eq,
-    LEFTARG = geography,
-    RIGHTARG = geography,
-    COMMUTATOR = =,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.= (geography, geography) OWNER TO postgres;
-
---
--- TOC entry 1897 (class 2617 OID 19180)
--- Dependencies: 209 6 1102 1102
--- Name: >; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR > (
-    PROCEDURE = geometry_gt,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = <,
-    NEGATOR = <=,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.> (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1906 (class 2617 OID 19183)
--- Dependencies: 1099 1099 6 182
--- Name: >; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR > (
-    PROCEDURE = geography_gt,
-    LEFTARG = geography,
-    RIGHTARG = geography,
-    COMMUTATOR = <,
-    NEGATOR = <=,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.> (geography, geography) OWNER TO postgres;
-
---
--- TOC entry 1907 (class 2617 OID 19181)
--- Dependencies: 206 1102 1102 6
--- Name: >=; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR >= (
-    PROCEDURE = geometry_ge,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = <=,
-    NEGATOR = <,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.>= (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1908 (class 2617 OID 19184)
--- Dependencies: 6 1099 1099 172
--- Name: >=; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR >= (
-    PROCEDURE = geography_ge,
-    LEFTARG = geography,
-    RIGHTARG = geography,
-    COMMUTATOR = <=,
-    NEGATOR = <,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.>= (geography, geography) OWNER TO postgres;
-
---
--- TOC entry 1909 (class 2617 OID 19186)
--- Dependencies: 6 218 1102 1102
--- Name: >>; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR >> (
-    PROCEDURE = geometry_right,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = <<,
-    RESTRICT = positionsel,
-    JOIN = positionjoinsel
-);
-
-
-ALTER OPERATOR public.>> (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1910 (class 2617 OID 19195)
--- Dependencies: 1102 6 204 1102
--- Name: @; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR @ (
-    PROCEDURE = geometry_contained,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = ~,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.@ (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1898 (class 2617 OID 19178)
--- Dependencies: 1102 1102 213 6
--- Name: |&>; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR |&> (
-    PROCEDURE = geometry_overabove,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = &<|,
-    RESTRICT = positionsel,
-    JOIN = positionjoinsel
-);
-
-
-ALTER OPERATOR public.|&> (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1911 (class 2617 OID 19188)
--- Dependencies: 200 1102 6 1102
--- Name: |>>; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR |>> (
-    PROCEDURE = geometry_above,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = <<|,
-    RESTRICT = positionsel,
-    JOIN = positionjoinsel
-);
-
-
-ALTER OPERATOR public.|>> (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1912 (class 2617 OID 19194)
--- Dependencies: 6 1102 1102 203
--- Name: ~; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR ~ (
-    PROCEDURE = geometry_contain,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = @,
-    RESTRICT = contsel,
-    JOIN = contjoinsel
-);
-
-
-ALTER OPERATOR public.~ (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 1913 (class 2617 OID 19196)
--- Dependencies: 1102 220 6 1102
--- Name: ~=; Type: OPERATOR; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR ~= (
-    PROCEDURE = geometry_samebox,
-    LEFTARG = geometry,
-    RIGHTARG = geometry,
-    COMMUTATOR = ~=,
-    RESTRICT = eqsel,
-    JOIN = eqjoinsel
-);
-
-
-ALTER OPERATOR public.~= (geometry, geometry) OWNER TO postgres;
-
---
--- TOC entry 2026 (class 2616 OID 19198)
--- Dependencies: 2137 6 1099
--- Name: btree_geography_ops; Type: OPERATOR CLASS; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR CLASS btree_geography_ops
-    DEFAULT FOR TYPE geography USING btree AS
-    OPERATOR 1 <(geography,geography) ,
-    OPERATOR 2 <=(geography,geography) ,
-    OPERATOR 3 =(geography,geography) ,
-    OPERATOR 4 >=(geography,geography) ,
-    OPERATOR 5 >(geography,geography) ,
-    FUNCTION 1 geography_cmp(geography,geography);
-
-
-ALTER OPERATOR CLASS public.btree_geography_ops USING btree OWNER TO postgres;
-
---
--- TOC entry 2027 (class 2616 OID 19206)
--- Dependencies: 1102 2138 6
--- Name: btree_geometry_ops; Type: OPERATOR CLASS; Schema: public; Owner: postgres
---
-
-CREATE 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);
-
-
-ALTER OPERATOR CLASS public.btree_geometry_ops USING btree OWNER TO postgres;
-
---
--- TOC entry 2028 (class 2616 OID 19214)
--- Dependencies: 1099 1107 6 2139
--- Name: gist_geography_ops; Type: OPERATOR CLASS; Schema: public; Owner: postgres
---
-
-CREATE OPERATOR CLASS gist_geography_ops
-    DEFAULT FOR TYPE geography USING gist AS
-    STORAGE gidx ,
-    OPERATOR 3 &&(geography,geography) ,
-    FUNCTION 1 geography_gist_consistent(internal,geometry,integer) ,
-    FUNCTION 2 geography_gist_union(bytea,internal) ,
-    FUNCTION 3 geography_gist_compress(internal) ,
-    FUNCTION 4 geography_gist_decompress(internal) ,
-    FUNCTION 5 geography_gist_penalty(internal,internal,internal) ,
-    FUNCTION 6 geography_gist_picksplit(internal,internal) ,
-    FUNCTION 7 geography_gist_same(box2d,box2d,internal);
-
-
-ALTER OPERATOR CLASS public.gist_geography_ops USING gist OWNER TO postgres;
-
---
--- TOC entry 2029 (class 2616 OID 19224)
--- Dependencies: 2140 6 1087 1102
--- Name: gist_geometry_ops; Type: OPERATOR CLASS; Schema: public; Owner: postgres
---
-
-CREATE 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);
-
-
-ALTER OPERATOR CLASS public.gist_geometry_ops USING gist OWNER TO postgres;
-
-SET search_path = pg_catalog;
-
---
--- TOC entry 2708 (class 2605 OID 19244)
--- Dependencies: 110 110 1087 1090
--- Name: CAST (public.box2d AS public.box3d); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.box2d AS public.box3d) WITH FUNCTION public.box3d(public.box2d) AS IMPLICIT;
-
-
---
--- TOC entry 2709 (class 2605 OID 19245)
--- Dependencies: 194 194 1102 1087
--- Name: CAST (public.box2d AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.box2d AS public.geometry) WITH FUNCTION public.geometry(public.box2d) AS IMPLICIT;
-
-
---
--- TOC entry 2710 (class 2605 OID 19246)
--- Dependencies: 105 1090 105
--- Name: CAST (public.box3d AS box); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.box3d AS box) WITH FUNCTION public.box(public.box3d) AS IMPLICIT;
-
-
---
--- TOC entry 2711 (class 2605 OID 19247)
--- Dependencies: 108 1087 1090 108
--- Name: CAST (public.box3d AS public.box2d); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.box3d AS public.box2d) WITH FUNCTION public.box2d(public.box3d) AS IMPLICIT;
-
-
---
--- TOC entry 2712 (class 2605 OID 19248)
--- Dependencies: 195 1102 1090 195
--- Name: CAST (public.box3d AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.box3d AS public.geometry) WITH FUNCTION public.geometry(public.box3d) AS IMPLICIT;
-
-
---
--- TOC entry 2713 (class 2605 OID 19249)
--- Dependencies: 106 106 1087 1093
--- Name: CAST (public.box3d_extent AS public.box2d); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.box3d_extent AS public.box2d) WITH FUNCTION public.box2d(public.box3d_extent) AS IMPLICIT;
-
-
---
--- TOC entry 2714 (class 2605 OID 19250)
--- Dependencies: 111 1093 1090 111
--- Name: CAST (public.box3d_extent AS public.box3d); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.box3d_extent AS public.box3d) WITH FUNCTION public.box3d_extent(public.box3d_extent) AS IMPLICIT;
-
-
---
--- TOC entry 2715 (class 2605 OID 19251)
--- Dependencies: 193 1093 1102 193
--- Name: CAST (public.box3d_extent AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.box3d_extent AS public.geometry) WITH FUNCTION public.geometry(public.box3d_extent) AS IMPLICIT;
-
-
---
--- TOC entry 2519 (class 2605 OID 19252)
--- Dependencies: 198 1102 198
--- Name: CAST (bytea AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (bytea AS public.geometry) WITH FUNCTION public.geometry(bytea) AS IMPLICIT;
-
-
---
--- TOC entry 2716 (class 2605 OID 19253)
--- Dependencies: 197 197 1096 1102
--- Name: CAST (public.chip AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.chip AS public.geometry) WITH FUNCTION public.geometry(public.chip) AS IMPLICIT;
-
-
---
--- TOC entry 2717 (class 2605 OID 19254)
--- Dependencies: 168 1099 168 1099
--- Name: CAST (public.geography AS public.geography); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.geography AS public.geography) WITH FUNCTION public.geography(public.geography, integer, boolean) AS IMPLICIT;
-
-
---
--- TOC entry 2718 (class 2605 OID 19255)
--- Dependencies: 199 1102 199 1099
--- Name: CAST (public.geography AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.geography AS public.geometry) WITH FUNCTION public.geometry(public.geography);
-
-
---
--- TOC entry 2721 (class 2605 OID 19256)
--- Dependencies: 104 1102 104
--- Name: CAST (public.geometry AS box); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.geometry AS box) WITH FUNCTION public.box(public.geometry) AS IMPLICIT;
-
-
---
--- TOC entry 2722 (class 2605 OID 19257)
--- Dependencies: 107 1087 1102 107
--- Name: CAST (public.geometry AS public.box2d); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.geometry AS public.box2d) WITH FUNCTION public.box2d(public.geometry) AS IMPLICIT;
-
-
---
--- TOC entry 2723 (class 2605 OID 19258)
--- Dependencies: 109 1090 1102 109
--- Name: CAST (public.geometry AS public.box3d); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.geometry AS public.box3d) WITH FUNCTION public.box3d(public.geometry) AS IMPLICIT;
-
-
---
--- TOC entry 2719 (class 2605 OID 19259)
--- Dependencies: 116 1102 116
--- Name: CAST (public.geometry AS bytea); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.geometry AS bytea) WITH FUNCTION public.bytea(public.geometry) AS IMPLICIT;
-
-
---
--- TOC entry 2724 (class 2605 OID 19260)
--- Dependencies: 169 1099 1102 169
--- Name: CAST (public.geometry AS public.geography); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.geometry AS public.geography) WITH FUNCTION public.geography(public.geometry) AS IMPLICIT;
-
-
---
--- TOC entry 2720 (class 2605 OID 19261)
--- Dependencies: 777 1102 777
--- Name: CAST (public.geometry AS text); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (public.geometry AS text) WITH FUNCTION public.text(public.geometry) AS IMPLICIT;
-
-
---
--- TOC entry 2585 (class 2605 OID 19262)
--- Dependencies: 196 196 1102
--- Name: CAST (text AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: 
---
-
-CREATE CAST (text AS public.geometry) WITH FUNCTION public.geometry(text) AS IMPLICIT;
-
-
-SET search_path = public, pg_catalog;
-
-SET default_tablespace = '';
-
-SET default_with_oids = false;
-
---
--- TOC entry 2423 (class 1259 OID 40481)
--- Dependencies: 6
--- Name: agency; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE agency (
-    agency_name text NOT NULL,
-    agency_url text,
-    agency_timezone text,
-    agency_lang text,
-    agency_phone text
-);
-
-
-ALTER TABLE public.agency OWNER TO postgres;
-
---
--- TOC entry 2409 (class 1259 OID 19269)
--- Dependencies: 6
--- Name: calendar; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE calendar (
-    service_id text NOT NULL,
-    start_date text,
-    end_date text,
-    monday integer,
-    tuesday integer,
-    wednesday integer,
-    thursday integer,
-    friday integer,
-    saturday integer,
-    sunday integer
-);
-
-
-ALTER TABLE public.calendar OWNER TO postgres;
-
---
--- TOC entry 2410 (class 1259 OID 19275)
--- Dependencies: 6
--- Name: calendar_dates; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE calendar_dates (
-    service_id text NOT NULL,
-    date text NOT NULL,
-    exception_type text
-);
-
-
-ALTER TABLE public.calendar_dates OWNER TO postgres;
-
---
--- TOC entry 2411 (class 1259 OID 19281)
--- Dependencies: 2514 6
--- Name: geography_columns; Type: VIEW; Schema: public; Owner: postgres
---
-
-CREATE VIEW geography_columns AS
-    SELECT current_database() AS f_table_catalog, n.nspname AS f_table_schema, c.relname AS f_table_name, a.attname AS f_geography_column, geography_typmod_dims(a.atttypmod) AS coord_dimension, geography_typmod_srid(a.atttypmod) AS srid, geography_typmod_type(a.atttypmod) AS type FROM pg_class c, pg_attribute a, pg_type t, pg_namespace n WHERE ((((((c.relkind = ANY (ARRAY['r'::"char", 'v'::"char"])) AND (t.typname = 'geography'::name)) AND (a.attisdropped = false)) AND (a.atttypid = t.oid)) AND (a.attrelid = c.oid)) AND (c.relnamespace = n.oid));
-
-
-ALTER TABLE public.geography_columns OWNER TO postgres;
-
-SET default_with_oids = true;
-
---
--- TOC entry 2412 (class 1259 OID 19286)
--- Dependencies: 6
--- Name: geometry_columns; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-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
-);
-
-
-ALTER TABLE public.geometry_columns OWNER TO postgres;
-
-SET default_with_oids = false;
-
---
--- TOC entry 2413 (class 1259 OID 19292)
--- Dependencies: 6
--- Name: myway_observations; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE myway_observations (
-    observation_id text NOT NULL,
-    myway_stop text,
-    "time" timestamp with time zone,
-    myway_route text
-);
-
-
-ALTER TABLE public.myway_observations OWNER TO postgres;
-
---
--- TOC entry 2427 (class 1259 OID 40519)
--- Dependencies: 6
--- Name: myway_routes; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE myway_routes (
-    myway_route text NOT NULL,
-    route_short_name text,
-    trip_headsign text
-);
-
-
-ALTER TABLE public.myway_routes OWNER TO postgres;
-
---
--- TOC entry 2424 (class 1259 OID 40489)
--- Dependencies: 6
--- Name: myway_stops; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE myway_stops (
-    myway_stop text NOT NULL,
-    stop_id text
-);
-
-
-ALTER TABLE public.myway_stops OWNER TO postgres;
-
---
--- TOC entry 2425 (class 1259 OID 40498)
--- Dependencies: 6
--- Name: myway_timingdeltas; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE myway_timingdeltas (
-    observation_id text NOT NULL,
-    route_id text,
-    stop_id text,
-    timing_delta integer,
-    "time" time with time zone,
-    date date,
-    timing_period text,
-    stop_sequence integer,
-    myway_stop text,
-    route_name text
-);
-
-
-ALTER TABLE public.myway_timingdeltas OWNER TO postgres;
-
---
--- TOC entry 2426 (class 1259 OID 40504)
--- Dependencies: 6 2425
--- Name: myway_timingdeltas_timing_period_seq; Type: SEQUENCE; Schema: public; Owner: postgres
---
-
-CREATE SEQUENCE myway_timingdeltas_timing_period_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
-ALTER TABLE public.myway_timingdeltas_timing_period_seq OWNER TO postgres;
-
---
--- TOC entry 2771 (class 0 OID 0)
--- Dependencies: 2426
--- Name: myway_timingdeltas_timing_period_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
---
-
-ALTER SEQUENCE myway_timingdeltas_timing_period_seq OWNED BY myway_timingdeltas.timing_period;
-
-
---
--- TOC entry 2420 (class 1259 OID 40443)
--- Dependencies: 6
--- Name: routes; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE routes (
-    route_id text NOT NULL,
-    route_short_name text,
-    route_long_name text,
-    route_desc text,
-    route_type integer,
-    route_url text,
-    route_text_color text,
-    route_color text
-);
-
-
-ALTER TABLE public.routes OWNER TO postgres;
-
---
--- TOC entry 2414 (class 1259 OID 19328)
--- Dependencies: 6
--- Name: servicealerts_alerts; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE servicealerts_alerts (
-    id integer NOT NULL,
-    url text,
-    description text,
-    start timestamp with time zone,
-    "end" timestamp with time zone,
-    cause text,
-    effect text,
-    header text
-);
-
-
-ALTER TABLE public.servicealerts_alerts OWNER TO postgres;
-
---
--- TOC entry 2415 (class 1259 OID 19334)
--- Dependencies: 2414 6
--- Name: servicealerts_alerts_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
---
-
-CREATE SEQUENCE servicealerts_alerts_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
-ALTER TABLE public.servicealerts_alerts_id_seq OWNER TO postgres;
-
---
--- TOC entry 2772 (class 0 OID 0)
--- Dependencies: 2415
--- Name: servicealerts_alerts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
---
-
-ALTER SEQUENCE servicealerts_alerts_id_seq OWNED BY servicealerts_alerts.id;
-
-
---
--- TOC entry 2416 (class 1259 OID 19336)
--- Dependencies: 6
--- Name: servicealerts_informed; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE servicealerts_informed (
-    servicealert_id integer NOT NULL,
-    informed_class text NOT NULL,
-    informed_id text NOT NULL,
-    informed_action text
-);
-
-
-ALTER TABLE public.servicealerts_informed OWNER TO postgres;
-
---
--- TOC entry 2417 (class 1259 OID 19342)
--- Dependencies: 6
--- Name: shapes; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE shapes (
-    shape_id text NOT NULL,
-    shape_pt_lat double precision,
-    shape_pt_lon double precision,
-    shape_pt_sequence integer NOT NULL,
-    shape_dist_traveled integer,
-    shape_pt geography,
-);
-
-
-ALTER TABLE public.shapes OWNER TO postgres;
-
---
--- TOC entry 2418 (class 1259 OID 19348)
--- Dependencies: 6
--- Name: spatial_ref_sys; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE spatial_ref_sys (
-    srid integer NOT NULL,
-    auth_name character varying(256),
-    auth_srid integer,
-    srtext character varying(2048),
-    proj4text character varying(2048)
-);
-
-
-ALTER TABLE public.spatial_ref_sys OWNER TO postgres;
-
---
--- TOC entry 2419 (class 1259 OID 20682)
--- Dependencies: 6
--- Name: stop_times; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE stop_times (
-    trip_id text NOT NULL,
-    arrival_time time without time zone,
-    departure_time time without time zone,
-    stop_id text,
-    stop_sequence integer NOT NULL,
-    stop_headsign text,
-    pickup_type text,
-    drop_off_type text,
-    shape_dist_travelled text
-);
-
-
-ALTER TABLE public.stop_times OWNER TO postgres;
-
---
--- TOC entry 2421 (class 1259 OID 40452)
--- Dependencies: 6 1099
--- Name: stops; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE stops (
-    stop_id text NOT NULL,
-    stop_code text,
-    stop_name text,
-    stop_desc text,
-    stop_lat double precision,
-    stop_lon double precision,
-    zone_id text,
-    stop_url text,
-    location_type integer,
-    "position" geography
-);
-
-
-ALTER TABLE public.stops OWNER TO postgres;
-
---
--- TOC entry 2422 (class 1259 OID 40466)
--- Dependencies: 6
--- Name: trips; Type: TABLE; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE TABLE trips (
-    route_id text,
-    service_id text,
-    trip_id text NOT NULL,
-    trip_headsign text,
-    direction_id text,
-    block_id text,
-    shape_id text
-);
-
-
-ALTER TABLE public.trips OWNER TO postgres;
-
---
--- TOC entry 2725 (class 2604 OID 19372)
--- Dependencies: 2415 2414
--- Name: id; Type: DEFAULT; Schema: public; Owner: postgres
---
-
-ALTER TABLE servicealerts_alerts ALTER COLUMN id SET DEFAULT nextval('servicealerts_alerts_id_seq'::regclass);
-
-
---
--- TOC entry 2758 (class 2606 OID 40488)
--- Dependencies: 2423 2423
--- Name: agency_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY agency
-    ADD CONSTRAINT agency_pkey PRIMARY KEY (agency_name);
-
-
---
--- TOC entry 2729 (class 2606 OID 19376)
--- Dependencies: 2410 2410 2410
--- Name: calendar_dates_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY calendar_dates
-    ADD CONSTRAINT calendar_dates_pkey PRIMARY KEY (service_id, date);
-
-
---
--- TOC entry 2727 (class 2606 OID 19378)
--- Dependencies: 2409 2409
--- Name: calendar_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY calendar
-    ADD CONSTRAINT calendar_pkey PRIMARY KEY (service_id);
-
-
---
--- TOC entry 2731 (class 2606 OID 19380)
--- Dependencies: 2412 2412 2412 2412 2412
--- Name: geometry_columns_pk; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY geometry_columns
-    ADD CONSTRAINT geometry_columns_pk PRIMARY KEY (f_table_catalog, f_table_schema, f_table_name, f_geometry_column);
-
-
---
--- TOC entry 2733 (class 2606 OID 19382)
--- Dependencies: 2413 2413
--- Name: myway_observations_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY myway_observations
-    ADD CONSTRAINT myway_observations_pkey PRIMARY KEY (observation_id);
-
-
---
--- TOC entry 2764 (class 2606 OID 40526)
--- Dependencies: 2427 2427
--- Name: myway_routes_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY myway_routes
-    ADD CONSTRAINT myway_routes_pkey PRIMARY KEY (myway_route);
-
-
---
--- TOC entry 2762 (class 2606 OID 40507)
--- Dependencies: 2425 2425
--- Name: myway_timingdeltas_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY myway_timingdeltas
-    ADD CONSTRAINT myway_timingdeltas_pkey PRIMARY KEY (observation_id);
-
-
---
--- TOC entry 2760 (class 2606 OID 40496)
--- Dependencies: 2424 2424
--- Name: mywaystops_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY myway_stops
-    ADD CONSTRAINT mywaystops_pkey PRIMARY KEY (myway_stop);
-
-
---
--- TOC entry 2749 (class 2606 OID 40450)
--- Dependencies: 2420 2420
--- Name: routes_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY routes
-    ADD CONSTRAINT routes_pkey PRIMARY KEY (route_id);
-
-
---
--- TOC entry 2735 (class 2606 OID 19392)
--- Dependencies: 2414 2414
--- Name: servicealerts_alerts_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY servicealerts_alerts
-    ADD CONSTRAINT servicealerts_alerts_pkey PRIMARY KEY (id);
-
-
---
--- TOC entry 2737 (class 2606 OID 19394)
--- Dependencies: 2416 2416 2416 2416
--- Name: servicealerts_informed_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY servicealerts_informed
-    ADD CONSTRAINT servicealerts_informed_pkey PRIMARY KEY (servicealert_id, informed_class, informed_id);
-
-
---
--- TOC entry 2739 (class 2606 OID 19396)
--- Dependencies: 2417 2417 2417
--- Name: shapes_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY shapes
-    ADD CONSTRAINT shapes_pkey PRIMARY KEY (shape_id, shape_pt_sequence);
-
-
---
--- TOC entry 2741 (class 2606 OID 19398)
--- Dependencies: 2418 2418
--- Name: spatial_ref_sys_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY spatial_ref_sys
-    ADD CONSTRAINT spatial_ref_sys_pkey PRIMARY KEY (srid);
-
-
---
--- TOC entry 2744 (class 2606 OID 40421)
--- Dependencies: 2419 2419 2419
--- Name: stop_times_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY stop_times
-    ADD CONSTRAINT stop_times_pkey PRIMARY KEY (trip_id, stop_sequence);
-
-
---
--- TOC entry 2751 (class 2606 OID 40459)
--- Dependencies: 2421 2421
--- Name: stops_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY stops
-    ADD CONSTRAINT stops_pkey PRIMARY KEY (stop_id);
-
-
---
--- TOC entry 2753 (class 2606 OID 40461)
--- Dependencies: 2421 2421
--- Name: stops_stop_code_key; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY stops
-    ADD CONSTRAINT stops_stop_code_key UNIQUE (stop_code);
-
-
---
--- TOC entry 2756 (class 2606 OID 40473)
--- Dependencies: 2422 2422
--- Name: trips_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace: 
---
-
-ALTER TABLE ONLY trips
-    ADD CONSTRAINT trips_pkey PRIMARY KEY (trip_id);
-
-
---
--- TOC entry 2747 (class 1259 OID 40451)
--- Dependencies: 2420
--- Name: routenumber; Type: INDEX; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE INDEX routenumber ON routes USING btree (route_short_name);
-
-
---
--- TOC entry 2754 (class 1259 OID 40474)
--- Dependencies: 2422
--- Name: routetrips; Type: INDEX; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE INDEX routetrips ON trips USING btree (route_id);
-
-
---
--- TOC entry 2742 (class 1259 OID 40418)
--- Dependencies: 2419 2419 2419
--- Name: starttime; Type: INDEX; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE UNIQUE INDEX starttime ON stop_times USING btree (trip_id, stop_id, stop_sequence);
-
-
---
--- TOC entry 2745 (class 1259 OID 40406)
--- Dependencies: 2419 2419
--- Name: stoptimes; Type: INDEX; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE INDEX stoptimes ON stop_times USING btree (arrival_time, stop_id);
-
-
---
--- TOC entry 2746 (class 1259 OID 40419)
--- Dependencies: 2419 2419
--- Name: triptimes; Type: INDEX; Schema: public; Owner: postgres; Tablespace: 
---
-
-CREATE INDEX triptimes ON stop_times USING btree (trip_id, arrival_time);
-
-
---
--- TOC entry 2765 (class 2606 OID 19412)
--- Dependencies: 2734 2414 2416
--- Name: servicealerts_alertid; Type: FK CONSTRAINT; Schema: public; Owner: postgres
---
-
-ALTER TABLE ONLY servicealerts_informed
-    ADD CONSTRAINT servicealerts_alertid FOREIGN KEY (servicealert_id) REFERENCES servicealerts_alerts(id);
-
-
---
--- TOC entry 2770 (class 0 OID 0)
--- Dependencies: 6
--- Name: public; Type: ACL; Schema: -; Owner: postgres
---
-
-REVOKE 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;
-
-
--- Completed on 2011-10-11 23:16:12
-
---
--- PostgreSQL database dump complete
---
-
-

--- a/css/local.css.php
+++ b/css/local.css.php
@@ -55,7 +55,7 @@
     visibility: hidden;
     display: none;
     }
-    #servicewarning {
+    .servicewarning {
     padding: 1em;
     margin-bottom: 0.5em;
     text-size: 0.2em;

--- a/feedback.php
+++ b/feedback.php
@@ -5,25 +5,11 @@
 function sendEmail($topic, $message)
 {
 	$address = "maxious@lambdacomplex.org";
-	if (file_exists("/tmp/aws.php")) {
-		include_once ("lib/ses.php");
-		include_once ("/tmp/aws.php");
-		$con = new SimpleEmailService($accessKey, $secretKey);
-		//$con->verifyEmailAddress($address);
-		//$con->listVerifiedEmailAddresses();
-		$m = new SimpleEmailServiceMessage();
-		$m->addTo($address);
-		$m->setFrom($address);
-		$m->setSubject($topic);
-		$m->setMessageFromString($message);
-		$con->sendEmail($m);
-	}
-	else {
 		// In case any of our lines are larger than 70 characters, we should use wordwrap()
 		$message = wordwrap($message, 70);
 		// Send
 		mail($address, $topic, $message);
-	}
+
 }
 if (isset($_REQUEST['feedback']) || isset($_REQUEST['newlocation'])){
 	sendEmail("bus.lambda feedback",print_r($_REQUEST,true));
@@ -67,7 +53,7 @@
   echo "\nServer host/IP: ".php_uname("n");
   echo "\nCurrent date/time: ". date("c");
   echo "\nCurrent code revision: ".exec("git rev-parse --short HEAD");
-  echo "\nCurrent timetables version: ".date("c",@filemtime('cbrfeed.zip'));
+  echo "\nCurrent timetables version: ".date("c",@filemtime('../busresources/cbrfeed.zip'));
   echo "\nDump of session: ".print_r($_SESSION,true);
 ?>
 </textarea>

--- a/geo/route.kml.php
+++ b/geo/route.kml.php
@@ -1,30 +1,105 @@
 <?php
 header('Content-Type: application/vnd.google-earth.kml+xml');
 include ('../include/common.inc.php');
+header('Content-Disposition: attachment; filename="route.' . urlencode($routeid) . '.kml"');
+$debugOkay = Array(); // disable debugging output even on dev server
 echo '<?xml version="1.0" encoding="UTF-8"?>
 <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"><Document>';
 echo '
-    <Style id="yellowLineGreenPoly">
+     <Style id="ylw-pushpin">
+    <IconStyle>
+      <Icon>
+        <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
+        
+      </Icon>
+    </IconStyle>
+    
+  </Style>
+          <Style id="blue-pushpin">
+    <IconStyle>
+      <Icon>
+        <href>http://maps.google.com/mapfiles/kml/pushpin/blue-pushpin.png</href>
+        
+      </Icon>
+    </IconStyle>
+    
+  </Style>
+          <Style id="grn-pushpin">
+    <IconStyle>
+      <Icon>
+        <href>http://maps.google.com/mapfiles/kml/pushpin/grn-pushpin.png</href>
+        
+      </Icon>
+    </IconStyle>
+  </Style>
+    <Style id="yellowLineYellowPoly">
       <LineStyle>
-        <color>7f00ff00</color>
+        <color>7f00ebff</color>
         <width>4</width>
       </LineStyle>
       <PolyStyle>
-        <color>7f00ffff</color>
+        <color>7f00ebff</color>
       </PolyStyle>
-	</Style>';
+	</Style>
+            <Style id="blueLineBluePoly">
+      <LineStyle>
+        <color>7fff0000</color>
+        <width>4</width>
+      </LineStyle>
+      <PolyStyle>
+        <color>7fff0000</color>
+      </PolyStyle>
+	</Style>
+        ';
 $route = getRoute($routeid);
- echo "\n<Placemark>\n";
- $link = curPageURL()."/../trip.php?routeid=".htmlspecialchars ($route["route_id"]);
- echo "<name>".$route['route_short_name']."</name>";
-  echo '<atom:link href="'.$link.'"/>';
- echo '<description><![CDATA[ <a href="'.$link.'">'.$route['route_short_name']." ".$route['route_long_name']."</a>]]> </description>";
-echo "<styleUrl>#yellowLineGreenPoly</styleUrl>";
+echo "\n<Placemark>\n";
+$_REQUEST['time'] = "12:00";
+$trip = getRouteNextTrip($routeid, 0);
+$link = curPageURL() . "/../trip.php?routeid=" . htmlspecialchars($route["route_id"]. "&directionid=0&tripid=".$trip['trip_id']) ;
+echo "<name>" . $route['route_short_name'] . " Direction 0 </name>";
+echo '<atom:link rel="related" href="' . $link . '"/>';
+echo '<description><![CDATA[ <a href="' . $link . '">' . $route['route_short_name'] . " Direction 0</a>]]> </description>";
+echo "<styleUrl>#yellowLineYellowPoly</styleUrl>";
 
-	$trip = getRouteNextTrip($routeid);
-	echo getTripShape($trip['trip_id']);
+echo getTripShape($trip['trip_id']);
+    echo "</Placemark>\n";
+$stops = Array();
+foreach (getTripStops($trip['trip_id']) as $stop) {
+    $stop['style'] = "#ylw-pushpin";
+    $stops[$stop['stop_id']] = $stop;
+}
 
-echo "</Placemark>\n</Document></kml>\n";
+
+echo "\n<Placemark>\n";
+$trip = getRouteNextTrip($routeid, 1);
+$link = curPageURL() . "/../trip.php?routeid=" . htmlspecialchars($route["route_id"]. "&directionid=1&tripid=".$trip['trip_id']) ;
+echo "<name>" . $route['route_short_name'] . " Direction 1 </name>";
+echo '<atom:link rel="related" href="' . $link . '"/>';
+echo '<description><![CDATA[ <a href="' . $link . '">' . $route['route_short_name'] . " Direction 1</a>]]> </description>";
+echo "<styleUrl>#blueLineBluePoly</styleUrl>";
+
+echo getTripShape($trip['trip_id']);
+    echo "</Placemark>\n";
+foreach (getTripStops($trip['trip_id']) as $stop) {
+    if (isset($stops[$stop['stop_id']])) {
+        $stop['style'] = "#grn-pushpin";
+    } else {
+        $stop['style'] = "#blue-pushpin";
+    }
+    $stops[$stop['stop_id']] = $stop;
+}
+foreach ($stops as $stop) {
+    echo "\n<Placemark>\n";
+    $link = curPageURL() . '/../stop.php?stopid=' . htmlspecialchars($stop['stop_id']);
+    echo "<name>" . htmlspecialchars($stop['stop_name']) . "</name>";
+    echo '<atom:link rel="related" href="' . $link . '"/>';
+    echo '<description><![CDATA[ <a href="' . $link . '">' . htmlspecialchars($stop['stop_name']) . "</a>]]> </description>";
+    echo "<styleUrl>" . $stop['style'] . "</styleUrl>";
+    echo $stop['positionkml'];
+    echo "</Placemark>\n";
+}
+
+echo "</Document></kml>\n";
 ?>
 
 

--- a/geo/stops.kml.php
+++ b/geo/stops.kml.php
@@ -1,11 +1,13 @@
 <?php

+header('Content-type: application/vnd.google-earth.kml+xml');

 include ('../include/common.inc.php');

-header('Content-type: application/vnd.google-earth.kml+xml');

+header('Content-Disposition: attachment; filename="stops.kml"');

+$debugOkay = Array(); // disable debugging output even on dev server

 //http://wiki.openstreetmap.org/wiki/OpenLayers_Dynamic_KML

 // Creates the KML/XML Document.

 $dom = new DOMDocument('1.0', 'UTF-8');

 // Creates the root KML element and appends it to the root document.

-$node = $dom->createElementNS('http://earth.google.com/kml/2.1', 'kml');

+$node = $dom->createElementNS('http://www.opengis.net/kml/2.2', 'kml');

 $parNode = $dom->appendChild($node);

 // Creates a KML Document element and append it to the KML element.

 $dnode = $dom->createElement('Document');

@@ -13,7 +15,7 @@
 if ($suburb != "") $result_stops = getStopsBySuburb($suburb);

 else $result_stops = getStops();

 foreach ($result_stops as $stop) {

-	$description = 'http://bus.lambdacomplex.org/' . 'stop.php?stopid=' . $stop['stop_id'] . " <br>";

+	$description = '<a href="'.curPageURL() . '/../stop.php?stopid=' . $stop['stop_id'] . '">View stop page</a><br>';

 	// Creates a Placemark and append it to the Document.

 	$node = $dom->createElement('Placemark');

 	$placeNode = $docNode->appendChild($node);


file:b/geo/trip.kml.php (new)
--- /dev/null
+++ b/geo/trip.kml.php
@@ -1,1 +1,70 @@
+<?php
+header('Content-Type: application/vnd.google-earth.kml+xml');
+include ('../include/common.inc.php');
+header('Content-Disposition: attachment; filename="trip.' . urlencode($tripid) . '.kml"');
+$debugOkay = Array(); // disable debugging output even on dev server
+echo '<?xml version="1.0" encoding="UTF-8"?>
+<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"><Document>';
+echo '
+      <Style id="ylw-pushpin">
+    <IconStyle>
+      <Icon>
+        <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
+        
+      </Icon>
+    </IconStyle>
+    
+  </Style>
+          <Style id="blue-pushpin">
+    <IconStyle>
+      <Icon>
+        <href>http://maps.google.com/mapfiles/kml/pushpin/blue-pushpin.png</href>
+        
+      </Icon>
+    </IconStyle>
+    
+  </Style>
+          <Style id="grn-pushpin">
+    <IconStyle>
+      <Icon>
+        <href>http://maps.google.com/mapfiles/kml/pushpin/grn-pushpin.png</href>
+        
+      </Icon>
+    </IconStyle>
+  </Style>
+    <Style id="yellowLineGreenPoly">
+      <LineStyle>
+        <color>7f00ff00</color>
+        <width>4</width>
+      </LineStyle>
+      <PolyStyle>
+        <color>7f00ffff</color>
+      </PolyStyle>
+	</Style>';
+$trip = getTrip($tripid);
+echo "\n<Placemark>\n";
+$link = curPageURL() . "/../trip.php?tripid=" . htmlspecialchars($$tripid);
+echo "<name>" . $tripid . "</name>";
+echo '<atom:link rel="related" href="' . $link . '"/>';
+echo '<description><![CDATA[ <a href="' . $link . '">' . $tripid . "</a>]]> </description>";
+echo "<styleUrl>#yellowLineGreenPoly</styleUrl>";
 
+
+echo getTripShape($tripid);
+
+echo "</Placemark>\n";
+foreach (getTripStopTimes($tripid) as $stop) {
+    echo "\n<Placemark>\n";
+    $link = curPageURL() . '/../trip.php?tripid=' . htmlspecialchars($tripid);
+    echo "<name>" . $stop['arrival_time'] . " @ " . htmlspecialchars($stop['stop_name']) . "</name>";
+    echo '<atom:link rel="related" href="' . $link . '"/>';
+    echo '<description><![CDATA[ <a href="' . $link . '">' . htmlspecialchars($stop['stop_name']) . "</a>]]> </description>";
+    echo "<styleUrl>#blue-pushpin</styleUrl>";
+    echo "<Point><coordinates>" . $stop['stop_lon'] . "," . $stop['stop_lat'] . "</coordinates></Point>";
+
+    echo "</Placemark>\n";
+}
+echo "</Document></kml>\n";
+?>
+
+

--- a/include/common-auth.inc.php
+++ b/include/common-auth.inc.php
@@ -30,4 +30,4 @@
         login();
          } 
     } 
-?>
+

--- a/include/common-db.inc.php
+++ b/include/common-db.inc.php
@@ -36,5 +36,4 @@
 include ('db/trip-dao.inc.php');
 include ('db/stop-dao.inc.php');
 include ('db/servicealert-dao.inc.php');
-?>
 

--- a/include/common-geo.inc.php
+++ b/include/common-geo.inc.php
@@ -58,8 +58,8 @@
     $output = "";
     if ($collapsible)
         $output.= '<div class="map" data-role="collapsible" data-collapsed="true"><h3>Open Map...</h3>';
-   if (isIOSDevice()) $output.= '<img class="hiresmap" src="http://maps.googleapis.com/maps/api/staticmap?size=' . $width . 'x' . $height . '&amp;' . $markers . '&amp;scale=2&amp;sensor=true" width=' . $width . ' height=' . $height . '>';
- else $output.= '<img class="lowresmap" src="http://maps.googleapis.com/maps/api/staticmap?size=' . $width . 'x' . $height . '&amp;' . $markers . '&amp;scale=1&amp;format=jpg&amp;sensor=true" width=' . $width . ' height=' . $height . '>';
+   if (isIOSDevice()) $output.= '<img class="hiresmap" src="http://maps.googleapis.com/maps/api/staticmap?size=' . $width . 'x' . $height . '&amp;' . $markers . '&amp;scale=2&amp;sensor=true" width=' . $width . ' height=' . $height . ' alt="map of stop location">';
+ else $output.= '<img class="lowresmap" src="http://maps.googleapis.com/maps/api/staticmap?size=' . $width . 'x' . $height . '&amp;' . $markers . '&amp;scale=1&amp;format=jpg&amp;sensor=true" width=' . $width . ' height=' . $height . ' alt="map of stop location">';
    
     if ($collapsible)
         $output.= '</div>';
@@ -168,5 +168,3 @@
     return $contents->features[0]->properties->name;
 }
 
-?>
-

--- a/include/common-net.inc.php
+++ b/include/common-net.inc.php
@@ -35,7 +35,6 @@
     debug(print_r($page, true), "json");
     return $page;
 }
-
 function curPageURL() {
     $isHTTPS = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on");
     $port = (isset($_SERVER["SERVER_PORT"]) && ((!$isHTTPS && $_SERVER["SERVER_PORT"] != "80") || ($isHTTPS && $_SERVER["SERVER_PORT"] != "443")));
@@ -44,5 +43,4 @@
     return $url;
 }
 
-?>
 

--- a/include/common-request.inc.php
+++ b/include/common-request.inc.php
@@ -30,6 +30,9 @@
 if (isset($_REQUEST['nearby'])) {
     $nearby = true;
 }
+if (isset($_REQUEST['labs'])) {
+    $labs = true;
+}
 if (isset($_REQUEST['suburb'])) {
     $suburb = $_REQUEST['suburb'];
 }
@@ -51,11 +54,20 @@
 if (isset($_REQUEST['routeDestination'])) {
     $routeDestination = urldecode(filter_var($_REQUEST['routeDestination'], FILTER_SANITIZE_ENCODED));
 }
+if (isset($_REQUEST['routename'])) {
+    $routename = urldecode(filter_var($_REQUEST['routename'], FILTER_SANITIZE_ENCODED));
+}
 if (isset($_REQUEST['stopcode'])) {
     $stopcode = filter_var($_REQUEST['stopcode'], FILTER_SANITIZE_STRING);
 }
 if (isset($_REQUEST['stopids'])) {
     $stopids = explode(",", filter_var($_REQUEST['stopids'], FILTER_SANITIZE_STRING));
+}
+if (isset($_REQUEST['filterIncludeRoutes'])) {
+    $filterIncludeRoutes = explode(",", filter_var($_REQUEST['filterIncludeRoutes'], FILTER_SANITIZE_STRING));
+}
+if (isset($_REQUEST['filterHasStop'])) {
+    $filterHasStop = filter_var($_REQUEST['filterHasStop'], FILTER_SANITIZE_STRING);
 }
 if (isset($_REQUEST['tripid'])) {
     $tripid = filter_var($_REQUEST['tripid'], FILTER_SANITIZE_STRING);
@@ -72,4 +84,4 @@
 if (isset($_REQUEST['geolocate'])) {
     $geolocate = filter_var($_REQUEST['geolocate'], FILTER_SANITIZE_URL);
 }
-?>
+

--- a/include/common-session.inc.php
+++ b/include/common-session.inc.php
@@ -67,5 +67,4 @@
     else return date("H:i:s");
 }
 
-?>
 

--- a/include/common-template.inc.php
+++ b/include/common-template.inc.php
@@ -42,7 +42,7 @@
 }
 
 function include_header($pageTitle, $pageType, $opendiv = true, $geolocate = false, $datepicker = false) {
-    global $basePath, $GTFSREnabled;
+    global $basePath, $GTFSREnabled, $stopid, $routeid;
     echo '
 <!DOCTYPE html> 
 <html lang="en">
@@ -54,19 +54,18 @@
 <link rel="dns-prefetch" href="//code.jquery.com">
 <link rel="dns-prefetch" href="//ajax.googleapis.com">
 	<link rel="stylesheet"  href="' . $basePath . 'css/jquery-ui-1.8.12.custom.css" />';
-    $jqmVersion = "1.0";
+    $jqmVersion = "1.1.0-rc.1";
     if (isDebugServer()) {
         $jqmcss = $basePath . "css/jquery.mobile-$jqmVersion.css";
         $jqjs = $basePath . "js/jquery-1.6.4.min.js";
         $jqmjs = $basePath . "js/jquery.mobile-$jqmVersion.js";
-        
+
         $jqmcss = $basePath . "css/jquery.mobile-b90eab4935.css";
         $jqmjs = $basePath . "js/jquery.mobile-b90eab4935.js";
     } else {
         $jqmcss = "//code.jquery.com/mobile/$jqmVersion/jquery.mobile-$jqmVersion.min.css";
-        $jqjs = "//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js";
+        $jqjs = "//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";
         $jqmjs = "//code.jquery.com/mobile/$jqmVersion/jquery.mobile-$jqmVersion.min.js";
-
     }
     echo '<link rel="stylesheet"  href="' . $jqmcss . '" />
 	<script src="' . $jqjs . '"></script>
@@ -108,7 +107,7 @@
 }';
     echo '</style>';
     echo '<link rel="stylesheet"  href="' . $basePath . 'css/local.css.php" />';
-    if (isIOSDevice()){
+    if (isIOSDevice()) {
         echo '<meta name="apple-mobile-web-app-capable" content="yes" />
  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  <link rel="apple-touch-startup-image" href="startup.png" />
@@ -174,19 +173,41 @@
         <a name="maincontent" id="maincontent"></a>
         <div data-role="content"> ';
         if ($GTFSREnabled) {
-        $overrides = getServiceOverride();
-        if (isset($overrides['service_id'])) {
-            if ($overrides['service_id'] == "noservice") {
-                echo '<div id="servicewarning">Buses are <strong>not running today</strong> due to industrial action/public holiday. See <a 
+            $overrides = getServiceOverride();
+            if (isset($overrides['service_id'])) {
+                if ($overrides['service_id'] == "noservice") {
+                    echo '<div class="servicewarning">Buses are <strong>not running today</strong> due to industrial action/public holiday. See <a 
 href="http://www.action.act.gov.au">http://www.action.act.gov.au</a> for details.</div>';
-            } else {
-                echo '<div id="servicewarning">Buses are running on an altered timetable today due to industrial action/public holiday. See <a href="http://www.action.act.gov.au">http://www.action.act.gov.au</a> for details.</div>';
-            }
-        }
-            $serviceAlerts = getServiceAlertsAsArray("agency", "0");
+                } else {
+                    echo '<div class="servicewarning">Buses are running on an altered timetable today due to industrial action/public holiday. See <a href="http://www.action.act.gov.au">http://www.action.act.gov.au</a> for details.</div>';
+                }
+            }
+            $serviceAlerts = Array();
+            $globalAlerts = getServiceAlertsAsArray("agency", "0");
+            if ($globalAlerts != null) {
+                // echo "getting alerts due to network wide";
+                $serviceAlerts = array_merge($serviceAlerts, $globalAlerts);
+            }
+            if (isset($stopid)) {
+                $stopAlerts = getServiceAlertsAsArray("stop", $stopid);
+                if ($stopAlerts != null) {
+                    // echo "getting alerts due to stop $stopid";
+                    $serviceAlerts = array_merge($serviceAlerts, $stopAlerts);
+                }
+            }
+            if (isset($routeid)) {
+                $routeAlerts = getServiceAlertsAsArray("route", $routeid);
+                if ($routeAlerts != null) {
+                    //    echo "getting alerts due to route $routeid";
+                    $serviceAlerts = array_merge($serviceAlerts, $routeAlerts);
+                }
+            }
             if (isset($serviceAlerts['entity']) && sizeof($serviceAlerts['entity']) > 0) {
                 foreach ($serviceAlerts['entity'] as $entity) {
-                    echo "<div id='servicewarning'>" . date("F j, g:i a", strtotime($entity['alert']['active_period'][0]['start'])) . " to " . date("F j, g:i a", strtotime($entity['alert']['active_period'][0]['end'])) . "{$entity['alert']['header_text']['translation'][0]['text']}<br>Warning: {$entity['alert']['description_text']['translation'][0]['text']} 
+                    echo "<div class='servicewarning'><b>{$entity['alert']['header_text']['translation'][0]['text']}</b>&nbsp;<small>"
+                    . date("F jS Y, g:i a", $entity['alert']['active_period'][0]['start']) . " to "
+                    . date("F jS Y, g:i a", $entity['alert']['active_period'][0]['end']) . "</small>
+                            <br>Warning: {$entity['alert']['description_text']['translation'][0]['text']} 
                             <br><a href='{$entity['alert']['url']['translation'][0]['text']}'>Source</a>  </div>";
                 }
             }
@@ -208,13 +229,14 @@
 s.parentNode.insertBefore(ga, s);
   })();</script>";
         $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();
-        echo '<noscript><img src="' . $googleAnalyticsImageUrl . '" /></noscript>';
+        echo '<noscript><img src="' . $googleAnalyticsImageUrl . '" alt=""/></noscript>';
     }
     echo "\n</div></div></body></html>";
 }
+
 function timeSettings() {
     global $service_periods;
-echo '<div id="settings" data-role="collapsible" data-collapsed="true">
+    echo '<div id="settings" data-role="collapsible" data-collapsed="true">
 <h3>Change Time (' . (isset($_REQUEST['time']) ? $_REQUEST['time'] : "Current Time,") . ' ' . ucwords(service_period()) . ')...</h3>
         <form action="' . basename($_SERVER['PHP_SELF']) . '" method="GET">
                <input type="hidden" name="suburb" id="suburb" value="' . (isset($_REQUEST['suburb']) ? $_REQUEST['suburb'] : "") . '"/>
@@ -230,10 +252,10 @@
 		<div data-role="fieldcontain">
 		    <label for="service_period"> Service Period:  </label>
 			<select name="service_period" id="service_period">';
-foreach ($service_periods as $service_period) {
-    echo "<option value=\"$service_period\"" . (service_period() === $service_period ? " SELECTED" : "") . '>' . ucwords($service_period) . '</option>';
-}
-echo '</select>
+    foreach ($service_periods as $service_period) {
+        echo "<option value=\"$service_period\"" . (service_period() === $service_period ? " SELECTED" : "") . '>' . ucwords($service_period) . '</option>';
+    }
+    echo '</select>
 			<a href="#" style="display:none" name="currentPeriod" id="currentPeriod">Current Period?</a>
 		</div>
 		
@@ -241,8 +263,9 @@
                 </div></form>
             </div>';
 }
+
 function placeSettings() {
-    
+
     $geoerror = false;
     $geoerror = !isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "";
 
@@ -275,14 +298,15 @@
 
 //stop list collapsing
 function stopCompare($stopName) {
-    return substr(trim(preg_replace("/\(Platform.*/", "", $stopName)),0,9);
-}
-function stopGroupTitle($stopName,$stopdesc) {
-    if (preg_match("/Dr |Cct |Cir |Av |St |Cr |Parade |Way |Bank /",$stopName)) {
-        $descParts =  explode("<br>",$stopdesc);
-         return trim(str_replace("Street: ","",$descParts[0]));
+    return substr(trim(preg_replace("/\(Platform.*/", "", $stopName)), 0, 9);
+}
+
+function stopGroupTitle($stopName, $stopdesc) {
+    if (preg_match("/Dr |Cct |Cir |Av |St |Cr |Parade |Way |Bank /", $stopName)) {
+        $descParts = explode("<br>", $stopdesc);
+        return trim(str_replace("Street: ", "", $descParts[0]));
     } else {
-        return trim(preg_replace("/\(Platform.*/", "",$stopName));
+        return trim(preg_replace("/\(Platform.*/", "", $stopName));
     }
 }
 
@@ -304,5 +328,4 @@
         return "";
     }
 }
-?>
-
+

--- a/include/common-transit.inc.php
+++ b/include/common-transit.inc.php
@@ -149,69 +149,104 @@
           street inform: route inform, trip inform, stop inform
           route patch: trip remove
          */
-        $fm = new transit_realtime\FeedMessage();
-        $fh = new transit_realtime\FeedHeader();
-        $fh->setGtfsRealtimeVersion(1);
-        $fh->setTimestamp(time());
-        $fm->setHeader($fh);
-        foreach (getCurrentAlerts() as $alert) {
-            $fe = new transit_realtime\FeedEntity();
-            $fe->setId($alert['id']);
-            $fe->setIsDeleted(false);
-            $alert = new transit_realtime\Alert();
-            $tr = new transit_realtime\TimeRange();
-            $tr->setStart($alert['start']);
-            $tr->setEnd($alert['end']);
-            $alert->addActivePeriod($tr);
-            $informedEntities = getInformedAlerts($alert['id'], $_REQUEST['filter_class'], $_REQUEST['filter_id']);
-            if (sizeof($informedEntities) > 0) {
-                $informed = Array();
-                $es = new transit_realtime\EntitySelector();
-                if ($informedEntity['informed_class'] == "agency") {
-                    $es->setAgencyId($informedEntity['informed_id']);
-                }
-                if ($informedEntity['informed_class'] == "stop") {
-                    $es->setStopId($informedEntity['informed_id']);
-                }
-                if ($informedEntity['informed_class'] == "route") {
-                    $es->setRouteId($informedEntity['informed_id']);
-                }
-                if ($informedEntity['informed_class'] == "trip") {
-                    $td = new transit_realtime\TripDescriptor();
-                    $td->setTripId($informedEntity['informed_id']);
-                    $es->setTrip($td);
-                }
-                $alert->addInformedEntity($es);
-            }
-            $alert->setCause(constant("transit_realtime\Alert\Cause::" . $alert['cause']));
-            $alert->setEffect(constant("transit_realtime\Alert\Effect::" . $alert['effect']));
-            $tsUrl = new transit_realtime\TranslatedString();
-            $tUrl = new transit_realtime\TranslatedString\Translation();
-            $tUrl->setText($alert['url']);
-            $tUrl->setLanguage("en");
-            $tsUrl->addTranslation($tUrl);
-            $alert->setUrl($tsUrl);
-            $tsHeaderText = new transit_realtime\TranslatedString();
-            $tHeaderText = new transit_realtime\TranslatedString\Translation();
-            $tHeaderText->setText($alert['header']);
-            $tHeaderText->setLanguage("en");
-            $tsHeaderText->addTranslation($tHeaderText);
-            $alert->setHeaderText($tsHeaderText);
-            $tsDescriptionText = new transit_realtime\TranslatedString();
-            $tDescriptionText = new transit_realtime\TranslatedString\Translation();
-            $tDescriptionText->setText($alert['description']);
-            $tDescriptionText->setLanguage("en");
-            $tsDescriptionText->addTranslation($tDescriptionText);
-            $alert->setDescriptionText($tsDescriptionText);
-            $fe->setAlert($alert);
-            $fm->addEntity($fe);
+        $current_alerts = getCurrentAlerts();
+        $informed_count = 0;
+        if (sizeof($current_alerts) > 0) {
+
+            $fm = new transit_realtime\FeedMessage();
+            $fh = new transit_realtime\FeedHeader();
+            $fh->setGtfsRealtimeVersion(1);
+            $fh->setTimestamp(time());
+            $fm->setHeader($fh);
+            foreach ($current_alerts as $current_alert) {
+                $affectsFilteredEntities = false;
+                $fe = new transit_realtime\FeedEntity();
+                $fe->setId($current_alert['id']);
+                $fe->setIsDeleted(false);
+                $alert = new transit_realtime\Alert();
+                $tr = new transit_realtime\TimeRange();
+                $tr->setStart($current_alert['start']);
+                $tr->setEnd($current_alert['end']);
+                $alert->addActivePeriod($tr);
+                $informedEntities = getInformedAlerts($current_alert['id'], $filter_class, $filter_id);
+                if (sizeof($informedEntities) > 0) {
+
+                    $affectsFilteredEntities = true;
+                    foreach ($informedEntities as $informedEntity) {
+	$informed_count++;
+                    $informed = Array();
+                    $es = new transit_realtime\EntitySelector();
+                    if ($informedEntity['informed_class'] == "agency") {
+                        $es->setAgencyId($informedEntity['informed_id']);
+                    }
+                    if ($informedEntity['informed_class'] == "stop") {
+                        $es->setStopId($informedEntity['informed_id']);
+                    }
+                    if ($informedEntity['informed_class'] == "route") {
+                        $es->setRouteId($informedEntity['informed_id']);
+                    }
+                    if ($informedEntity['informed_class'] == "trip") {
+                        $td = new transit_realtime\TripDescriptor();
+                        $td->setTripId($informedEntity['informed_id']);
+                        $es->setTrip($td);
+                    }
+                    $alert->addInformedEntity($es);
+}
+                }
+                if ($current_alert['cause'] != "") {
+                    $alert->setCause(constant("transit_realtime\Alert\Cause::" . $current_alert['cause']));
+                }
+                if ($current_alert['effect'] != "") {
+                    $alert->setEffect(constant("transit_realtime\Alert\Effect::" . $current_alert['effect']));
+                }
+                if ($current_alert['url'] != "") {
+                    $tsUrl = new transit_realtime\TranslatedString();
+                    $tUrl = new transit_realtime\TranslatedString\Translation();
+                    $tUrl->setText($current_alert['url']);
+                    $tUrl->setLanguage("en");
+                    $tsUrl->addTranslation($tUrl);
+                    $alert->setUrl($tsUrl);
+                }
+                if ($current_alert['header'] != "") {
+                    $tsHeaderText = new transit_realtime\TranslatedString();
+                    $tHeaderText = new transit_realtime\TranslatedString\Translation();
+                    $tHeaderText->setText($current_alert['header']);
+                    $tHeaderText->setLanguage("en");
+                    $tsHeaderText->addTranslation($tHeaderText);
+                    $alert->setHeaderText($tsHeaderText);
+                }
+                if ($current_alert['description'] != "") {
+                    $tsDescriptionText = new transit_realtime\TranslatedString();
+                    $tDescriptionText = new transit_realtime\TranslatedString\Translation();
+                    $tDescriptionText->setText(trim($current_alert['description']));
+                    $tDescriptionText->setLanguage("en");
+                    $tsDescriptionText->addTranslation($tDescriptionText);
+                    $alert->setDescriptionText($tsDescriptionText);
+                }
+                $fe->setAlert($alert);
+                if ($affectsFilteredEntities) {
+                    $fm->addEntity($fe);
+                }
+            }
+            if ($informed_count > 0) {
+                return $fm;
+            } else {
+                return null;
+            }
+        } else
+            return null;
+    }
+
+    function getServiceAlertsAsArray($filter_class = "", $filter_id = "") {
+
+        $alerts = getServiceAlerts($filter_class, $filter_id);
+        if ($alerts != null) {
+            $codec = new DrSlump\Protobuf\Codec\PhpArray();
+
+            return $codec->encode($alerts);
+        } else {
+            return null;
         }
-        return $fm;
-    }
-
-    function getServiceAlertsAsArray($filter_class = "", $filter_id = "") {
-        $codec = new DrSlump\Protobuf\Codec\PhpArray();
-        return $codec->encode(getServiceAlerts($filter_class, $filter_id));
     }
 
     function getServiceAlertsAsBinary($filter_class = "", $filter_id = "") {
@@ -301,5 +336,4 @@
     }
 
 }
-?>
-
+

--- a/include/common.inc.php
+++ b/include/common.inc.php
@@ -51,13 +51,20 @@
         || strstr($_SERVER['PHP_SELF'], "lib/")
         || strstr($_SERVER['PHP_SELF'], "geo/")
         || strstr($_SERVER['PHP_SELF'], "include/")
-        || strstr($_SERVER['PHP_SELF'], "servicealerts/"))
+        || strstr($_SERVER['PHP_SELF'], "rtpis/")) {
     $basePath = "../";
+}
 
 function isDebugServer() {
     
     return php_sapi_name() == "cli" || strstr(php_uname('n'),"actbus") || isset($_SERVER['SERVER_NAME']) && ( $_SERVER['SERVER_NAME'] == "azusa" || $_SERVER['SERVER_NAME'] == "vanille"
-            || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" ||  $_SERVER['SERVER_NAME'] == "192.168.1.8");
+            || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" ||  $_SERVER['SERVER_NAME'] == "192.168.1.8" || $_SERVER['SERVER_NAME'] == "192.168.178.24");
+}
+
+if (isset($_SERVER['SERVER_NAME'])  && $_SERVER['SERVER_NAME'] == "maxious.xen.prgmr.com") {
+// Set the exception handler
+require $basePath."/lib/amon-php/amon.php";
+Amon::setup_exception_handler();
 }
 
 include_once ("common-geo.inc.php");
@@ -201,6 +208,3 @@
     return implode($glue, $retVal);
 }
 
-
-?>
-

--- a/include/db/route-dao.inc.php
+++ b/include/db/route-dao.inc.php
@@ -59,7 +59,12 @@
         databaseError($conn->errorInfo());
         return Array();
     }
-    return $query->fetchAll();
+    $results = $query->fetchAll();
+    if (is_array($results)) {
+        return $results;
+    } else {
+        return Array($results);
+    }
 }
 function getRouteDescription($routeID, $directionID) {
     $trip = getRouteNextTrip($routeID, $directionID);
@@ -97,7 +102,7 @@
 function getRoutesByNumberSeries($routeNumberSeries = "") {
     global $conn;
     if (strlen($routeNumberSeries) == 1) {
-        return getRoutesByNumber($routeNumberSeries);
+        return getRoute($routeNumberSeries);
     }
     $seriesMin = substr($routeNumberSeries, 0, -1) . "0";
     $seriesMax = substr($routeNumberSeries, 0, -1) . "9";
@@ -120,7 +125,7 @@
 function getRouteNextTrip($routeID, $directionID) {
     global $conn;
    
-    $query = "select routes.route_id,direction_id,trips.trip_id,trip_headsign,departure_time from routes join trips on trips.route_id = routes.route_id
+    $query = "select routes.route_id,routes.route_url,direction_id,trips.trip_id,trip_headsign,departure_time,service_id from routes join trips on trips.route_id = routes.route_id
 join stop_times on stop_times.trip_id = trips.trip_id where  arrival_time between :currentTime and :futureTime 
 and routes.route_id = :routeID and trips.direction_id = :directionID order by
 arrival_time limit 1";
@@ -266,12 +271,13 @@
 }
 
 function getRoutesNearby($lat, $lng, $limit = "", $distance = 500) {
-    if ($service_period == "")
+   // if ($service_period == "")
         $service_period = service_period();
     $service_ids = service_ids($service_period);
     $sidA = $service_ids[0];
     $sidB = $service_ids[1];
-    if ($limit != "")
+ $limitSQL = "";
+    if ($limit != "") 	
         $limitSQL = " LIMIT :limit ";
     global $conn;
     $query = "SELECT service_id,trips.route_id,trips.direction_id,route_short_name,route_long_name,min(stops.stop_id) as stop_id,
@@ -299,4 +305,3 @@
     return $query->fetchAll();
 }
 
-?>

--- a/include/db/servicealert-dao.inc.php
+++ b/include/db/servicealert-dao.inc.php
@@ -21,7 +21,8 @@
     $query = "Select * from calendar_dates where date = :date and exception_type = '1' LIMIT 1";
     // debug($query,"database");
     $query = $conn->prepare($query); // Create a prepared statement
-    $query->bindParam(":date", date("Ymd", ($date != "" ? $date : time())));
+    $date = date("Ymd", ($date != "" ? $date : time()));
+    $query->bindParam(":date", $date);
     $query->execute();
     if (!$query) {
         databaseError($conn->errorInfo());
@@ -44,17 +45,19 @@
     return $query->fetch(PDO :: FETCH_ASSOC);
 }
 
-function updateServiceAlert($alertID, $start, $end, $header, $description, $url) {
+function updateServiceAlert($alertID, $alert) {
     global $conn;
-    $query = 'update servicealerts_alerts set start=:start, "end"=:end, header=:header, description=:description, url=:url where id = :servicealert_id';
+    $query = 'update servicealerts_alerts set start=:start, "end"=:end, header=:header, description=:description, url=:url, cause=:cause, effect=:effect where id = :servicealert_id';
     debug($query, "database");
     $query = $conn->prepare($query);
-    $query->bindParam(":servicealert_id", $alertID);
-    $query->bindParam(":start", $start);
-    $query->bindParam(":end", $end);
-    $query->bindParam(":header", $header);
-    $query->bindParam(":description", $description);
-    $query->bindParam(":url", $url);
+    $query->bindValue(":servicealert_id", $alertID);
+    $query->bindValue(":start", $alert['startdate']);
+    $query->bindValue(":end", $alert['enddate']);
+    $query->bindValue(":header", $alert['header']);
+    $query->bindValue(":description", $alert['description']);
+    $query->bindValue(":url", $alert['url']);
+    $query->bindValue(":cause", $alert['cause']);
+    $query->bindValue(":effect", $alert['effect']);
     $query->execute();
 
     print_r($conn->errorInfo());
@@ -65,16 +68,19 @@
     return $query->fetch(PDO :: FETCH_ASSOC);
 }
 
-function addServiceAlert($start, $end, $header, $description, $url) {
+function addServiceAlert($alert) {
     global $conn;
-    $query = 'INSERT INTO servicealerts_alerts (start, "end", header, description, url) VALUES (:start, :end, :header, :description, :url) ';
+    $query = 'INSERT INTO servicealerts_alerts (start, "end", header, description, url,cause,effect) VALUES (:start, :end, :header, :description, :url,:cause,:effect) ';
     debug($query, "database");
     $query = $conn->prepare($query);
-    $query->bindParam(":start", $start);
-    $query->bindParam(":end", $end);
-    $query->bindParam(":header", $header);
-    $query->bindParam(":description", $description);
-    $query->bindParam(":url", $url);
+    //print_r($alert);
+    $query->bindValue(":start", $alert['startdate']);
+    $query->bindValue(":end", $alert['enddate']);
+    $query->bindValue(":header", $alert['header']);
+    $query->bindValue(":description", $alert['description']);
+    $query->bindValue(":url", $alert['url']);
+    $query->bindValue(":cause", $alert['cause']);
+    $query->bindValue(":effect", $alert['effect']);
     $query->execute();
 
     print_r($conn->errorInfo());
@@ -100,7 +106,19 @@
 
 function getFutureAlerts() {
     global $conn;
-    $query = "SELECT id,extract('epoch' from start) as start, extract('epoch' from \"end\") as \"end\",cause,effect,header,description,url from servicealerts_alerts where NOW() > start or NOW() < \"end\"";
+    $query = "SELECT id,extract('epoch' from start) as start, extract('epoch' from \"end\") as \"end\",cause,effect,header,description,url from servicealerts_alerts where  NOW() < \"end\"";
+    // debug($query, "database");
+    $query = $conn->prepare($query);
+    $query->execute();
+    if (!$query) {
+        databaseError($conn->errorInfo());
+        return Array();
+    }
+    return $query->fetchAll();
+}
+function getAllAlerts() {
+    global $conn;
+    $query = "SELECT id,extract('epoch' from start) as start, extract('epoch' from \"end\") as \"end\",cause,effect,header,description,url from servicealerts_alerts";
     // debug($query, "database");
     $query = $conn->prepare($query);
     $query->execute();
@@ -114,6 +132,7 @@
 function getInformedAlerts($id, $filter_class, $filter_id) {
 
     global $conn;
+    //echo "$id, $filter_class, $filter_id\n";
     $query = "SELECT * from servicealerts_informed where servicealert_id = :servicealert_id";
 
     if ($filter_class != "") {
@@ -158,12 +177,14 @@
 
 function addInformedAlert($serviceAlertID, $class, $id, $action) {
     global $conn;
-    $query = 'INSERT INTO servicealerts_informed (servicealert_id , informed_class , informed_id) VALUES(:servicealert_id ,:informed_class, :informed_id)';
+    $query = 'INSERT INTO servicealerts_informed (servicealert_id , informed_class , informed_id, informed_action) 
+        VALUES(:servicealert_id ,:informed_class, :informed_id, :informed_action)';
     debug($query, "database");
     $query = $conn->prepare($query);
     $query->bindParam(":servicealert_id", $serviceAlertID);
     $query->bindParam(":informed_class", $class);
     $query->bindParam(":informed_id", $id);
+    $query->bindParam(":informed_action", $action);
     $query->execute();
 
     print_r($conn->errorInfo());
@@ -174,4 +195,3 @@
     return null;
 }
 
-?>

--- a/include/db/stop-dao.inc.php
+++ b/include/db/stop-dao.inc.php
@@ -89,7 +89,7 @@
     $query = "Select * from stops where stop_name LIKE :name;";
     debug($query, "database");
     $query = $conn->prepare($query);
-    $name = "%" . $name . ";%";
+    $name = $name . "%";
     $query->bindParam(":name", $name);
     $query->execute();
     if (!$query) {
@@ -247,4 +247,3 @@
     return $timedTrips;
 }
 
-?>

--- a/include/db/trip-dao.inc.php
+++ b/include/db/trip-dao.inc.php
@@ -35,7 +35,7 @@
 }
 function getTripStops($tripID) {
     global $conn;
-    $query = "SELECT stop_id, stop_name, ST_AsKML(position) as positionkml,
+    $query = "SELECT stops.stop_id, stop_name, ST_AsKML(position) as positionkml,
 	stop_sequence, trips.trip_id
 FROM stop_times
 join trips on trips.trip_id = stop_times.trip_id
@@ -49,8 +49,27 @@
         databaseError($conn->errorInfo());
         return Array();
     }
-    return $query->fetchColumn(0);
-}
+    return $query->fetchAll();
+}
+
+function getTripHasStop($tripID, $stopID) {
+        global $conn;
+    $query = "SELECT stop_id
+FROM stop_times
+join trips on trips.trip_id = stop_times.trip_id
+WHERE trips.trip_id = :tripID and stop_times.stop_id = :stopID";
+    debug($query, "database");
+    $query = $conn->prepare($query);
+    $query->bindParam(":tripID", $tripID);
+    $query->bindParam(":stopID", $stopID);
+    $query->execute();
+    if (!$query) {
+        databaseError($conn->errorInfo());
+        return Array();
+    }
+    return ($query->fetchColumn() > 0);
+}
+
 function getTripShape($tripID) {
     // todo, use shapes table if shape_id specified
     global $conn;
@@ -203,6 +222,3 @@
     }
     return $query->fetchAll();
 }
-
-
-?>

file:a/index.php -> file:b/index.php
--- a/index.php
+++ b/index.php
@@ -37,7 +37,7 @@
             <li><a href="routeList.php?bysuburbs=yes">Routes By Suburb</a></li>
             <li><a class="nearby" href="routeList.php?nearby=yes">Nearby Routes</a></li>
         </ul>
-        <a href="labs/index.php" data-role="button" data-icon="beaker">Busness R&amp;D</a>
+        <!--<a href="labs/index.php" data-role="button" data-icon="beaker">Busness R&amp;D</a>-->
         <a href="myway/index.php" data-role="button">MyWay Balance and Timeliness Survey Results</a>
         <?php
         include_footer(true)

directory:b/js/FlashCanvas (new)
--- /dev/null
+++ b/js/FlashCanvas

file:a/js/flot/excanvas.js (deleted)
--- a/js/flot/excanvas.js
+++ /dev/null
@@ -1,1428 +1,1 @@
-// Copyright 2006 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
 
-
-// Known Issues:
-//
-// * Patterns only support repeat.
-// * Radial gradient are not implemented. The VML version of these look very
-//   different from the canvas one.
-// * Clipping paths are not implemented.
-// * Coordsize. The width and height attribute have higher priority than the
-//   width and height style values which isn't correct.
-// * Painting mode isn't implemented.
-// * Canvas width/height should is using content-box by default. IE in
-//   Quirks mode will draw the canvas using border-box. Either change your
-//   doctype to HTML5
-//   (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype)
-//   or use Box Sizing Behavior from WebFX
-//   (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html)
-// * Non uniform scaling does not correctly scale strokes.
-// * Filling very large shapes (above 5000 points) is buggy.
-// * Optimize. There is always room for speed improvements.
-
-// Only add this code if we do not already have a canvas implementation
-if (!document.createElement('canvas').getContext) {
-
-(function() {
-
-  // alias some functions to make (compiled) code shorter
-  var m = Math;
-  var mr = m.round;
-  var ms = m.sin;
-  var mc = m.cos;
-  var abs = m.abs;
-  var sqrt = m.sqrt;
-
-  // this is used for sub pixel precision
-  var Z = 10;
-  var Z2 = Z / 2;
-
-  /**
-   * This funtion is assigned to the <canvas> elements as element.getContext().
-   * @this {HTMLElement}
-   * @return {CanvasRenderingContext2D_}
-   */
-  function getContext() {
-    return this.context_ ||
-        (this.context_ = new CanvasRenderingContext2D_(this));
-  }
-
-  var slice = Array.prototype.slice;
-
-  /**
-   * Binds a function to an object. The returned function will always use the
-   * passed in {@code obj} as {@code this}.
-   *
-   * Example:
-   *
-   *   g = bind(f, obj, a, b)
-   *   g(c, d) // will do f.call(obj, a, b, c, d)
-   *
-   * @param {Function} f The function to bind the object to
-   * @param {Object} obj The object that should act as this when the function
-   *     is called
-   * @param {*} var_args Rest arguments that will be used as the initial
-   *     arguments when the function is called
-   * @return {Function} A new function that has bound this
-   */
-  function bind(f, obj, var_args) {
-    var a = slice.call(arguments, 2);
-    return function() {
-      return f.apply(obj, a.concat(slice.call(arguments)));
-    };
-  }
-
-  function encodeHtmlAttribute(s) {
-    return String(s).replace(/&/g, '&amp;').replace(/"/g, '&quot;');
-  }
-
-  function addNamespacesAndStylesheet(doc) {
-    // create xmlns
-    if (!doc.namespaces['g_vml_']) {
-      doc.namespaces.add('g_vml_', 'urn:schemas-microsoft-com:vml',
-                         '#default#VML');
-
-    }
-    if (!doc.namespaces['g_o_']) {
-      doc.namespaces.add('g_o_', 'urn:schemas-microsoft-com:office:office',
-                         '#default#VML');
-    }
-
-    // Setup default CSS.  Only add one style sheet per document
-    if (!doc.styleSheets['ex_canvas_']) {
-      var ss = doc.createStyleSheet();
-      ss.owningElement.id = 'ex_canvas_';
-      ss.cssText = 'canvas{display:inline-block;overflow:hidden;' +
-          // default size is 300x150 in Gecko and Opera
-          'text-align:left;width:300px;height:150px}';
-    }
-  }
-
-  // Add namespaces and stylesheet at startup.
-  addNamespacesAndStylesheet(document);
-
-  var G_vmlCanvasManager_ = {
-    init: function(opt_doc) {
-      if (/MSIE/.test(navigator.userAgent) && !window.opera) {
-        var doc = opt_doc || document;
-        // Create a dummy element so that IE will allow canvas elements to be
-        // recognized.
-        doc.createElement('canvas');
-        doc.attachEvent('onreadystatechange', bind(this.init_, this, doc));
-      }
-    },
-
-    init_: function(doc) {
-      // find all canvas elements
-      var els = doc.getElementsByTagName('canvas');
-      for (var i = 0; i < els.length; i++) {
-        this.initElement(els[i]);
-      }
-    },
-
-    /**
-     * Public initializes a canvas element so that it can be used as canvas
-     * element from now on. This is called automatically before the page is
-     * loaded but if you are creating elements using createElement you need to
-     * make sure this is called on the element.
-     * @param {HTMLElement} el The canvas element to initialize.
-     * @return {HTMLElement} the element that was created.
-     */
-    initElement: function(el) {
-      if (!el.getContext) {
-        el.getContext = getContext;
-
-        // Add namespaces and stylesheet to document of the element.
-        addNamespacesAndStylesheet(el.ownerDocument);
-
-        // Remove fallback content. There is no way to hide text nodes so we
-        // just remove all childNodes. We could hide all elements and remove
-        // text nodes but who really cares about the fallback content.
-        el.innerHTML = '';
-
-        // do not use inline function because that will leak memory
-        el.attachEvent('onpropertychange', onPropertyChange);
-        el.attachEvent('onresize', onResize);
-
-        var attrs = el.attributes;
-        if (attrs.width && attrs.width.specified) {
-          // TODO: use runtimeStyle and coordsize
-          // el.getContext().setWidth_(attrs.width.nodeValue);
-          el.style.width = attrs.width.nodeValue + 'px';
-        } else {
-          el.width = el.clientWidth;
-        }
-        if (attrs.height && attrs.height.specified) {
-          // TODO: use runtimeStyle and coordsize
-          // el.getContext().setHeight_(attrs.height.nodeValue);
-          el.style.height = attrs.height.nodeValue + 'px';
-        } else {
-          el.height = el.clientHeight;
-        }
-        //el.getContext().setCoordsize_()
-      }
-      return el;
-    }
-  };
-
-  function onPropertyChange(e) {
-    var el = e.srcElement;
-
-    switch (e.propertyName) {
-      case 'width':
-        el.getContext().clearRect();
-        el.style.width = el.attributes.width.nodeValue + 'px';
-        // In IE8 this does not trigger onresize.
-        el.firstChild.style.width =  el.clientWidth + 'px';
-        break;
-      case 'height':
-        el.getContext().clearRect();
-        el.style.height = el.attributes.height.nodeValue + 'px';
-        el.firstChild.style.height = el.clientHeight + 'px';
-        break;
-    }
-  }
-
-  function onResize(e) {
-    var el = e.srcElement;
-    if (el.firstChild) {
-      el.firstChild.style.width =  el.clientWidth + 'px';
-      el.firstChild.style.height = el.clientHeight + 'px';
-    }
-  }
-
-  G_vmlCanvasManager_.init();
-
-  // precompute "00" to "FF"
-  var decToHex = [];
-  for (var i = 0; i < 16; i++) {
-    for (var j = 0; j < 16; j++) {
-      decToHex[i * 16 + j] = i.toString(16) + j.toString(16);
-    }
-  }
-
-  function createMatrixIdentity() {
-    return [
-      [1, 0, 0],
-      [0, 1, 0],
-      [0, 0, 1]
-    ];
-  }
-
-  function matrixMultiply(m1, m2) {
-    var result = createMatrixIdentity();
-
-    for (var x = 0; x < 3; x++) {
-      for (var y = 0; y < 3; y++) {
-        var sum = 0;
-
-        for (var z = 0; z < 3; z++) {
-          sum += m1[x][z] * m2[z][y];
-        }
-
-        result[x][y] = sum;
-      }
-    }
-    return result;
-  }
-
-  function copyState(o1, o2) {
-    o2.fillStyle     = o1.fillStyle;
-    o2.lineCap       = o1.lineCap;
-    o2.lineJoin      = o1.lineJoin;
-    o2.lineWidth     = o1.lineWidth;
-    o2.miterLimit    = o1.miterLimit;
-    o2.shadowBlur    = o1.shadowBlur;
-    o2.shadowColor   = o1.shadowColor;
-    o2.shadowOffsetX = o1.shadowOffsetX;
-    o2.shadowOffsetY = o1.shadowOffsetY;
-    o2.strokeStyle   = o1.strokeStyle;
-    o2.globalAlpha   = o1.globalAlpha;
-    o2.font          = o1.font;
-    o2.textAlign     = o1.textAlign;
-    o2.textBaseline  = o1.textBaseline;
-    o2.arcScaleX_    = o1.arcScaleX_;
-    o2.arcScaleY_    = o1.arcScaleY_;
-    o2.lineScale_    = o1.lineScale_;
-  }
-
-  var colorData = {
-    aliceblue: '#F0F8FF',
-    antiquewhite: '#FAEBD7',
-    aquamarine: '#7FFFD4',
-    azure: '#F0FFFF',
-    beige: '#F5F5DC',
-    bisque: '#FFE4C4',
-    black: '#000000',
-    blanchedalmond: '#FFEBCD',
-    blueviolet: '#8A2BE2',
-    brown: '#A52A2A',
-    burlywood: '#DEB887',
-    cadetblue: '#5F9EA0',
-    chartreuse: '#7FFF00',
-    chocolate: '#D2691E',
-    coral: '#FF7F50',
-    cornflowerblue: '#6495ED',
-    cornsilk: '#FFF8DC',
-    crimson: '#DC143C',
-    cyan: '#00FFFF',
-    darkblue: '#00008B',
-    darkcyan: '#008B8B',
-    darkgoldenrod: '#B8860B',
-    darkgray: '#A9A9A9',
-    darkgreen: '#006400',
-    darkgrey: '#A9A9A9',
-    darkkhaki: '#BDB76B',
-    darkmagenta: '#8B008B',
-    darkolivegreen: '#556B2F',
-    darkorange: '#FF8C00',
-    darkorchid: '#9932CC',
-    darkred: '#8B0000',
-    darksalmon: '#E9967A',
-    darkseagreen: '#8FBC8F',
-    darkslateblue: '#483D8B',
-    darkslategray: '#2F4F4F',
-    darkslategrey: '#2F4F4F',
-    darkturquoise: '#00CED1',
-    darkviolet: '#9400D3',
-    deeppink: '#FF1493',
-    deepskyblue: '#00BFFF',
-    dimgray: '#696969',
-    dimgrey: '#696969',
-    dodgerblue: '#1E90FF',
-    firebrick: '#B22222',
-    floralwhite: '#FFFAF0',
-    forestgreen: '#228B22',
-    gainsboro: '#DCDCDC',
-    ghostwhite: '#F8F8FF',
-    gold: '#FFD700',
-    goldenrod: '#DAA520',
-    grey: '#808080',
-    greenyellow: '#ADFF2F',
-    honeydew: '#F0FFF0',
-    hotpink: '#FF69B4',
-    indianred: '#CD5C5C',
-    indigo: '#4B0082',
-    ivory: '#FFFFF0',
-    khaki: '#F0E68C',
-    lavender: '#E6E6FA',
-    lavenderblush: '#FFF0F5',
-    lawngreen: '#7CFC00',
-    lemonchiffon: '#FFFACD',
-    lightblue: '#ADD8E6',
-    lightcoral: '#F08080',
-    lightcyan: '#E0FFFF',
-    lightgoldenrodyellow: '#FAFAD2',
-    lightgreen: '#90EE90',
-    lightgrey: '#D3D3D3',
-    lightpink: '#FFB6C1',
-    lightsalmon: '#FFA07A',
-    lightseagreen: '#20B2AA',
-    lightskyblue: '#87CEFA',
-    lightslategray: '#778899',
-    lightslategrey: '#778899',
-    lightsteelblue: '#B0C4DE',
-    lightyellow: '#FFFFE0',
-    limegreen: '#32CD32',
-    linen: '#FAF0E6',
-    magenta: '#FF00FF',
-    mediumaquamarine: '#66CDAA',
-    mediumblue: '#0000CD',
-    mediumorchid: '#BA55D3',
-    mediumpurple: '#9370DB',
-    mediumseagreen: '#3CB371',
-    mediumslateblue: '#7B68EE',
-    mediumspringgreen: '#00FA9A',
-    mediumturquoise: '#48D1CC',
-    mediumvioletred: '#C71585',
-    midnightblue: '#191970',
-    mintcream: '#F5FFFA',
-    mistyrose: '#FFE4E1',
-    moccasin: '#FFE4B5',
-    navajowhite: '#FFDEAD',
-    oldlace: '#FDF5E6',
-    olivedrab: '#6B8E23',
-    orange: '#FFA500',
-    orangered: '#FF4500',
-    orchid: '#DA70D6',
-    palegoldenrod: '#EEE8AA',
-    palegreen: '#98FB98',
-    paleturquoise: '#AFEEEE',
-    palevioletred: '#DB7093',
-    papayawhip: '#FFEFD5',
-    peachpuff: '#FFDAB9',
-    peru: '#CD853F',
-    pink: '#FFC0CB',
-    plum: '#DDA0DD',
-    powderblue: '#B0E0E6',
-    rosybrown: '#BC8F8F',
-    royalblue: '#4169E1',
-    saddlebrown: '#8B4513',
-    salmon: '#FA8072',
-    sandybrown: '#F4A460',
-    seagreen: '#2E8B57',
-    seashell: '#FFF5EE',
-    sienna: '#A0522D',
-    skyblue: '#87CEEB',
-    slateblue: '#6A5ACD',
-    slategray: '#708090',
-    slategrey: '#708090',
-    snow: '#FFFAFA',
-    springgreen: '#00FF7F',
-    steelblue: '#4682B4',
-    tan: '#D2B48C',
-    thistle: '#D8BFD8',
-    tomato: '#FF6347',
-    turquoise: '#40E0D0',
-    violet: '#EE82EE',
-    wheat: '#F5DEB3',
-    whitesmoke: '#F5F5F5',
-    yellowgreen: '#9ACD32'
-  };
-
-
-  function getRgbHslContent(styleString) {
-    var start = styleString.indexOf('(', 3);
-    var end = styleString.indexOf(')', start + 1);
-    var parts = styleString.substring(start + 1, end).split(',');
-    // add alpha if needed
-    if (parts.length == 4 && styleString.substr(3, 1) == 'a') {
-      alpha = Number(parts[3]);
-    } else {
-      parts[3] = 1;
-    }
-    return parts;
-  }
-
-  function percent(s) {
-    return parseFloat(s) / 100;
-  }
-
-  function clamp(v, min, max) {
-    return Math.min(max, Math.max(min, v));
-  }
-
-  function hslToRgb(parts){
-    var r, g, b;
-    h = parseFloat(parts[0]) / 360 % 360;
-    if (h < 0)
-      h++;
-    s = clamp(percent(parts[1]), 0, 1);
-    l = clamp(percent(parts[2]), 0, 1);
-    if (s == 0) {
-      r = g = b = l; // achromatic
-    } else {
-      var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
-      var p = 2 * l - q;
-      r = hueToRgb(p, q, h + 1 / 3);
-      g = hueToRgb(p, q, h);
-      b = hueToRgb(p, q, h - 1 / 3);
-    }
-
-    return '#' + decToHex[Math.floor(r * 255)] +
-        decToHex[Math.floor(g * 255)] +
-        decToHex[Math.floor(b * 255)];
-  }
-
-  function hueToRgb(m1, m2, h) {
-    if (h < 0)
-      h++;
-    if (h > 1)
-      h--;
-
-    if (6 * h < 1)
-      return m1 + (m2 - m1) * 6 * h;
-    else if (2 * h < 1)
-      return m2;
-    else if (3 * h < 2)
-      return m1 + (m2 - m1) * (2 / 3 - h) * 6;
-    else
-      return m1;
-  }
-
-  function processStyle(styleString) {
-    var str, alpha = 1;
-
-    styleString = String(styleString);
-    if (styleString.charAt(0) == '#') {
-      str = styleString;
-    } else if (/^rgb/.test(styleString)) {
-      var parts = getRgbHslContent(styleString);
-      var str = '#', n;
-      for (var i = 0; i < 3; i++) {
-        if (parts[i].indexOf('%') != -1) {
-          n = Math.floor(percent(parts[i]) * 255);
-        } else {
-          n = Number(parts[i]);
-        }
-        str += decToHex[clamp(n, 0, 255)];
-      }
-      alpha = parts[3];
-    } else if (/^hsl/.test(styleString)) {
-      var parts = getRgbHslContent(styleString);
-      str = hslToRgb(parts);
-      alpha = parts[3];
-    } else {
-      str = colorData[styleString] || styleString;
-    }
-    return {color: str, alpha: alpha};
-  }
-
-  var DEFAULT_STYLE = {
-    style: 'normal',
-    variant: 'normal',
-    weight: 'normal',
-    size: 10,
-    family: 'sans-serif'
-  };
-
-  // Internal text style cache
-  var fontStyleCache = {};
-
-  function processFontStyle(styleString) {
-    if (fontStyleCache[styleString]) {
-      return fontStyleCache[styleString];
-    }
-
-    var el = document.createElement('div');
-    var style = el.style;
-    try {
-      style.font = styleString;
-    } catch (ex) {
-      // Ignore failures to set to invalid font.
-    }
-
-    return fontStyleCache[styleString] = {
-      style: style.fontStyle || DEFAULT_STYLE.style,
-      variant: style.fontVariant || DEFAULT_STYLE.variant,
-      weight: style.fontWeight || DEFAULT_STYLE.weight,
-      size: style.fontSize || DEFAULT_STYLE.size,
-      family: style.fontFamily || DEFAULT_STYLE.family
-    };
-  }
-
-  function getComputedStyle(style, element) {
-    var computedStyle = {};
-
-    for (var p in style) {
-      computedStyle[p] = style[p];
-    }
-
-    // Compute the size
-    var canvasFontSize = parseFloat(element.currentStyle.fontSize),
-        fontSize = parseFloat(style.size);
-
-    if (typeof style.size == 'number') {
-      computedStyle.size = style.size;
-    } else if (style.size.indexOf('px') != -1) {
-      computedStyle.size = fontSize;
-    } else if (style.size.indexOf('em') != -1) {
-      computedStyle.size = canvasFontSize * fontSize;
-    } else if(style.size.indexOf('%') != -1) {
-      computedStyle.size = (canvasFontSize / 100) * fontSize;
-    } else if (style.size.indexOf('pt') != -1) {
-      computedStyle.size = fontSize / .75;
-    } else {
-      computedStyle.size = canvasFontSize;
-    }
-
-    // Different scaling between normal text and VML text. This was found using
-    // trial and error to get the same size as non VML text.
-    computedStyle.size *= 0.981;
-
-    return computedStyle;
-  }
-
-  function buildStyle(style) {
-    return style.style + ' ' + style.variant + ' ' + style.weight + ' ' +
-        style.size + 'px ' + style.family;
-  }
-
-  function processLineCap(lineCap) {
-    switch (lineCap) {
-      case 'butt':
-        return 'flat';
-      case 'round':
-        return 'round';
-      case 'square':
-      default:
-        return 'square';
-    }
-  }
-
-  /**
-   * This class implements CanvasRenderingContext2D interface as described by
-   * the WHATWG.
-   * @param {HTMLElement} surfaceElement The element that the 2D context should
-   * be associated with
-   */
-  function CanvasRenderingContext2D_(surfaceElement) {
-    this.m_ = createMatrixIdentity();
-
-    this.mStack_ = [];
-    this.aStack_ = [];
-    this.currentPath_ = [];
-
-    // Canvas context properties
-    this.strokeStyle = '#000';
-    this.fillStyle = '#000';
-
-    this.lineWidth = 1;
-    this.lineJoin = 'miter';
-    this.lineCap = 'butt';
-    this.miterLimit = Z * 1;
-    this.globalAlpha = 1;
-    this.font = '10px sans-serif';
-    this.textAlign = 'left';
-    this.textBaseline = 'alphabetic';
-    this.canvas = surfaceElement;
-
-    var el = surfaceElement.ownerDocument.createElement('div');
-    el.style.width =  surfaceElement.clientWidth + 'px';
-    el.style.height = surfaceElement.clientHeight + 'px';
-    el.style.overflow = 'hidden';
-    el.style.position = 'absolute';
-    surfaceElement.appendChild(el);
-
-    this.element_ = el;
-    this.arcScaleX_ = 1;
-    this.arcScaleY_ = 1;
-    this.lineScale_ = 1;
-  }
-
-  var contextPrototype = CanvasRenderingContext2D_.prototype;
-  contextPrototype.clearRect = function() {
-    if (this.textMeasureEl_) {
-      this.textMeasureEl_.removeNode(true);
-      this.textMeasureEl_ = null;
-    }
-    this.element_.innerHTML = '';
-  };
-
-  contextPrototype.beginPath = function() {
-    // TODO: Branch current matrix so that save/restore has no effect
-    //       as per safari docs.
-    this.currentPath_ = [];
-  };
-
-  contextPrototype.moveTo = function(aX, aY) {
-    var p = this.getCoords_(aX, aY);
-    this.currentPath_.push({type: 'moveTo', x: p.x, y: p.y});
-    this.currentX_ = p.x;
-    this.currentY_ = p.y;
-  };
-
-  contextPrototype.lineTo = function(aX, aY) {
-    var p = this.getCoords_(aX, aY);
-    this.currentPath_.push({type: 'lineTo', x: p.x, y: p.y});
-
-    this.currentX_ = p.x;
-    this.currentY_ = p.y;
-  };
-
-  contextPrototype.bezierCurveTo = function(aCP1x, aCP1y,
-                                            aCP2x, aCP2y,
-                                            aX, aY) {
-    var p = this.getCoords_(aX, aY);
-    var cp1 = this.getCoords_(aCP1x, aCP1y);
-    var cp2 = this.getCoords_(aCP2x, aCP2y);
-    bezierCurveTo(this, cp1, cp2, p);
-  };
-
-  // Helper function that takes the already fixed cordinates.
-  function bezierCurveTo(self, cp1, cp2, p) {
-    self.currentPath_.push({
-      type: 'bezierCurveTo',
-      cp1x: cp1.x,
-      cp1y: cp1.y,
-      cp2x: cp2.x,
-      cp2y: cp2.y,
-      x: p.x,
-      y: p.y
-    });
-    self.currentX_ = p.x;
-    self.currentY_ = p.y;
-  }
-
-  contextPrototype.quadraticCurveTo = function(aCPx, aCPy, aX, aY) {
-    // the following is lifted almost directly from
-    // http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes
-
-    var cp = this.getCoords_(aCPx, aCPy);
-    var p = this.getCoords_(aX, aY);
-
-    var cp1 = {
-      x: this.currentX_ + 2.0 / 3.0 * (cp.x - this.currentX_),
-      y: this.currentY_ + 2.0 / 3.0 * (cp.y - this.currentY_)
-    };
-    var cp2 = {
-      x: cp1.x + (p.x - this.currentX_) / 3.0,
-      y: cp1.y + (p.y - this.currentY_) / 3.0
-    };
-
-    bezierCurveTo(this, cp1, cp2, p);
-  };
-
-  contextPrototype.arc = function(aX, aY, aRadius,
-                                  aStartAngle, aEndAngle, aClockwise) {
-    aRadius *= Z;
-    var arcType = aClockwise ? 'at' : 'wa';
-
-    var xStart = aX + mc(aStartAngle) * aRadius - Z2;
-    var yStart = aY + ms(aStartAngle) * aRadius - Z2;
-
-    var xEnd = aX + mc(aEndAngle) * aRadius - Z2;
-    var yEnd = aY + ms(aEndAngle) * aRadius - Z2;
-
-    // IE won't render arches drawn counter clockwise if xStart == xEnd.
-    if (xStart == xEnd && !aClockwise) {
-      xStart += 0.125; // Offset xStart by 1/80 of a pixel. Use something
-                       // that can be represented in binary
-    }
-
-    var p = this.getCoords_(aX, aY);
-    var pStart = this.getCoords_(xStart, yStart);
-    var pEnd = this.getCoords_(xEnd, yEnd);
-
-    this.currentPath_.push({type: arcType,
-                           x: p.x,
-                           y: p.y,
-                           radius: aRadius,
-                           xStart: pStart.x,
-                           yStart: pStart.y,
-                           xEnd: pEnd.x,
-                           yEnd: pEnd.y});
-
-  };
-
-  contextPrototype.rect = function(aX, aY, aWidth, aHeight) {
-    this.moveTo(aX, aY);
-    this.lineTo(aX + aWidth, aY);
-    this.lineTo(aX + aWidth, aY + aHeight);
-    this.lineTo(aX, aY + aHeight);
-    this.closePath();
-  };
-
-  contextPrototype.strokeRect = function(aX, aY, aWidth, aHeight) {
-    var oldPath = this.currentPath_;
-    this.beginPath();
-
-    this.moveTo(aX, aY);
-    this.lineTo(aX + aWidth, aY);
-    this.lineTo(aX + aWidth, aY + aHeight);
-    this.lineTo(aX, aY + aHeight);
-    this.closePath();
-    this.stroke();
-
-    this.currentPath_ = oldPath;
-  };
-
-  contextPrototype.fillRect = function(aX, aY, aWidth, aHeight) {
-    var oldPath = this.currentPath_;
-    this.beginPath();
-
-    this.moveTo(aX, aY);
-    this.lineTo(aX + aWidth, aY);
-    this.lineTo(aX + aWidth, aY + aHeight);
-    this.lineTo(aX, aY + aHeight);
-    this.closePath();
-    this.fill();
-
-    this.currentPath_ = oldPath;
-  };
-
-  contextPrototype.createLinearGradient = function(aX0, aY0, aX1, aY1) {
-    var gradient = new CanvasGradient_('gradient');
-    gradient.x0_ = aX0;
-    gradient.y0_ = aY0;
-    gradient.x1_ = aX1;
-    gradient.y1_ = aY1;
-    return gradient;
-  };
-
-  contextPrototype.createRadialGradient = function(aX0, aY0, aR0,
-                                                   aX1, aY1, aR1) {
-    var gradient = new CanvasGradient_('gradientradial');
-    gradient.x0_ = aX0;
-    gradient.y0_ = aY0;
-    gradient.r0_ = aR0;
-    gradient.x1_ = aX1;
-    gradient.y1_ = aY1;
-    gradient.r1_ = aR1;
-    return gradient;
-  };
-
-  contextPrototype.drawImage = function(image, var_args) {
-    var dx, dy, dw, dh, sx, sy, sw, sh;
-
-    // to find the original width we overide the width and height
-    var oldRuntimeWidth = image.runtimeStyle.width;
-    var oldRuntimeHeight = image.runtimeStyle.height;
-    image.runtimeStyle.width = 'auto';
-    image.runtimeStyle.height = 'auto';
-
-    // get the original size
-    var w = image.width;
-    var h = image.height;
-
-    // and remove overides
-    image.runtimeStyle.width = oldRuntimeWidth;
-    image.runtimeStyle.height = oldRuntimeHeight;
-
-    if (arguments.length == 3) {
-      dx = arguments[1];
-      dy = arguments[2];
-      sx = sy = 0;
-      sw = dw = w;
-      sh = dh = h;
-    } else if (arguments.length == 5) {
-      dx = arguments[1];
-      dy = arguments[2];
-      dw = arguments[3];
-      dh = arguments[4];
-      sx = sy = 0;
-      sw = w;
-      sh = h;
-    } else if (arguments.length == 9) {
-      sx = arguments[1];
-      sy = arguments[2];
-      sw = arguments[3];
-      sh = arguments[4];
-      dx = arguments[5];
-      dy = arguments[6];
-      dw = arguments[7];
-      dh = arguments[8];
-    } else {
-      throw Error('Invalid number of arguments');
-    }
-
-    var d = this.getCoords_(dx, dy);
-
-    var w2 = sw / 2;
-    var h2 = sh / 2;
-
-    var vmlStr = [];
-
-    var W = 10;
-    var H = 10;
-
-    // For some reason that I've now forgotten, using divs didn't work
-    vmlStr.push(' <g_vml_:group',
-                ' coordsize="', Z * W, ',', Z * H, '"',
-                ' coordorigin="0,0"' ,
-                ' style="width:', W, 'px;height:', H, 'px;position:absolute;');
-
-    // If filters are necessary (rotation exists), create them
-    // filters are bog-slow, so only create them if abbsolutely necessary
-    // The following check doesn't account for skews (which don't exist
-    // in the canvas spec (yet) anyway.
-
-    if (this.m_[0][0] != 1 || this.m_[0][1] ||
-        this.m_[1][1] != 1 || this.m_[1][0]) {
-      var filter = [];
-
-      // Note the 12/21 reversal
-      filter.push('M11=', this.m_[0][0], ',',
-                  'M12=', this.m_[1][0], ',',
-                  'M21=', this.m_[0][1], ',',
-                  'M22=', this.m_[1][1], ',',
-                  'Dx=', mr(d.x / Z), ',',
-                  'Dy=', mr(d.y / Z), '');
-
-      // Bounding box calculation (need to minimize displayed area so that
-      // filters don't waste time on unused pixels.
-      var max = d;
-      var c2 = this.getCoords_(dx + dw, dy);
-      var c3 = this.getCoords_(dx, dy + dh);
-      var c4 = this.getCoords_(dx + dw, dy + dh);
-
-      max.x = m.max(max.x, c2.x, c3.x, c4.x);
-      max.y = m.max(max.y, c2.y, c3.y, c4.y);
-
-      vmlStr.push('padding:0 ', mr(max.x / Z), 'px ', mr(max.y / Z),
-                  'px 0;filter:progid:DXImageTransform.Microsoft.Matrix(',
-                  filter.join(''), ", sizingmethod='clip');");
-
-    } else {
-      vmlStr.push('top:', mr(d.y / Z), 'px;left:', mr(d.x / Z), 'px;');
-    }
-
-    vmlStr.push(' ">' ,
-                '<g_vml_:image src="', image.src, '"',
-                ' style="width:', Z * dw, 'px;',
-                ' height:', Z * dh, 'px"',
-                ' cropleft="', sx / w, '"',
-                ' croptop="', sy / h, '"',
-                ' cropright="', (w - sx - sw) / w, '"',
-                ' cropbottom="', (h - sy - sh) / h, '"',
-                ' />',
-                '</g_vml_:group>');
-
-    this.element_.insertAdjacentHTML('BeforeEnd', vmlStr.join(''));
-  };
-
-  contextPrototype.stroke = function(aFill) {
-    var W = 10;
-    var H = 10;
-    // Divide the shape into chunks if it's too long because IE has a limit
-    // somewhere for how long a VML shape can be. This simple division does
-    // not work with fills, only strokes, unfortunately.
-    var chunkSize = 5000;
-
-    var min = {x: null, y: null};
-    var max = {x: null, y: null};
-
-    for (var j = 0; j < this.currentPath_.length; j += chunkSize) {
-      var lineStr = [];
-      var lineOpen = false;
-
-      lineStr.push('<g_vml_:shape',
-                   ' filled="', !!aFill, '"',
-                   ' style="position:absolute;width:', W, 'px;height:', H, 'px;"',
-                   ' coordorigin="0,0"',
-                   ' coordsize="', Z * W, ',', Z * H, '"',
-                   ' stroked="', !aFill, '"',
-                   ' path="');
-
-      var newSeq = false;
-
-      for (var i = j; i < Math.min(j + chunkSize, this.currentPath_.length); i++) {
-        if (i % chunkSize == 0 && i > 0) { // move into position for next chunk
-          lineStr.push(' m ', mr(this.currentPath_[i-1].x), ',', mr(this.currentPath_[i-1].y));
-        }
-
-        var p = this.currentPath_[i];
-        var c;
-
-        switch (p.type) {
-          case 'moveTo':
-            c = p;
-            lineStr.push(' m ', mr(p.x), ',', mr(p.y));
-            break;
-          case 'lineTo':
-            lineStr.push(' l ', mr(p.x), ',', mr(p.y));
-            break;
-          case 'close':
-            lineStr.push(' x ');
-            p = null;
-            break;
-          case 'bezierCurveTo':
-            lineStr.push(' c ',
-                         mr(p.cp1x), ',', mr(p.cp1y), ',',
-                         mr(p.cp2x), ',', mr(p.cp2y), ',',
-                         mr(p.x), ',', mr(p.y));
-            break;
-          case 'at':
-          case 'wa':
-            lineStr.push(' ', p.type, ' ',
-                         mr(p.x - this.arcScaleX_ * p.radius), ',',
-                         mr(p.y - this.arcScaleY_ * p.radius), ' ',
-                         mr(p.x + this.arcScaleX_ * p.radius), ',',
-                         mr(p.y + this.arcScaleY_ * p.radius), ' ',
-                         mr(p.xStart), ',', mr(p.yStart), ' ',
-                         mr(p.xEnd), ',', mr(p.yEnd));
-            break;
-        }
-  
-  
-        // TODO: Following is broken for curves due to
-        //       move to proper paths.
-  
-        // Figure out dimensions so we can do gradient fills
-        // properly
-        if (p) {
-          if (min.x == null || p.x < min.x) {
-            min.x = p.x;
-          }
-          if (max.x == null || p.x > max.x) {
-            max.x = p.x;
-          }
-          if (min.y == null || p.y < min.y) {
-            min.y = p.y;
-          }
-          if (max.y == null || p.y > max.y) {
-            max.y = p.y;
-          }
-        }
-      }
-      lineStr.push(' ">');
-  
-      if (!aFill) {
-        appendStroke(this, lineStr);
-      } else {
-        appendFill(this, lineStr, min, max);
-      }
-  
-      lineStr.push('</g_vml_:shape>');
-  
-      this.element_.insertAdjacentHTML('beforeEnd', lineStr.join(''));
-    }
-  };
-
-  function appendStroke(ctx, lineStr) {
-    var a = processStyle(ctx.strokeStyle);
-    var color = a.color;
-    var opacity = a.alpha * ctx.globalAlpha;
-    var lineWidth = ctx.lineScale_ * ctx.lineWidth;
-
-    // VML cannot correctly render a line if the width is less than 1px.
-    // In that case, we dilute the color to make the line look thinner.
-    if (lineWidth < 1) {
-      opacity *= lineWidth;
-    }
-
-    lineStr.push(
-      '<g_vml_:stroke',
-      ' opacity="', opacity, '"',
-      ' joinstyle="', ctx.lineJoin, '"',
-      ' miterlimit="', ctx.miterLimit, '"',
-      ' endcap="', processLineCap(ctx.lineCap), '"',
-      ' weight="', lineWidth, 'px"',
-      ' color="', color, '" />'
-    );
-  }
-
-  function appendFill(ctx, lineStr, min, max) {
-    var fillStyle = ctx.fillStyle;
-    var arcScaleX = ctx.arcScaleX_;
-    var arcScaleY = ctx.arcScaleY_;
-    var width = max.x - min.x;
-    var height = max.y - min.y;
-    if (fillStyle instanceof CanvasGradient_) {
-      // TODO: Gradients transformed with the transformation matrix.
-      var angle = 0;
-      var focus = {x: 0, y: 0};
-
-      // additional offset
-      var shift = 0;
-      // scale factor for offset
-      var expansion = 1;
-
-      if (fillStyle.type_ == 'gradient') {
-        var x0 = fillStyle.x0_ / arcScaleX;
-        var y0 = fillStyle.y0_ / arcScaleY;
-        var x1 = fillStyle.x1_ / arcScaleX;
-        var y1 = fillStyle.y1_ / arcScaleY;
-        var p0 = ctx.getCoords_(x0, y0);
-        var p1 = ctx.getCoords_(x1, y1);
-        var dx = p1.x - p0.x;
-        var dy = p1.y - p0.y;
-        angle = Math.atan2(dx, dy) * 180 / Math.PI;
-
-        // The angle should be a non-negative number.
-        if (angle < 0) {
-          angle += 360;
-        }
-
-        // Very small angles produce an unexpected result because they are
-        // converted to a scientific notation string.
-        if (angle < 1e-6) {
-          angle = 0;
-        }
-      } else {
-        var p0 = ctx.getCoords_(fillStyle.x0_, fillStyle.y0_);
-        focus = {
-          x: (p0.x - min.x) / width,
-          y: (p0.y - min.y) / height
-        };
-
-        width  /= arcScaleX * Z;
-        height /= arcScaleY * Z;
-        var dimension = m.max(width, height);
-        shift = 2 * fillStyle.r0_ / dimension;
-        expansion = 2 * fillStyle.r1_ / dimension - shift;
-      }
-
-      // We need to sort the color stops in ascending order by offset,
-      // otherwise IE won't interpret it correctly.
-      var stops = fillStyle.colors_;
-      stops.sort(function(cs1, cs2) {
-        return cs1.offset - cs2.offset;
-      });
-
-      var length = stops.length;
-      var color1 = stops[0].color;
-      var color2 = stops[length - 1].color;
-      var opacity1 = stops[0].alpha * ctx.globalAlpha;
-      var opacity2 = stops[length - 1].alpha * ctx.globalAlpha;
-
-      var colors = [];
-      for (var i = 0; i < length; i++) {
-        var stop = stops[i];
-        colors.push(stop.offset * expansion + shift + ' ' + stop.color);
-      }
-
-      // When colors attribute is used, the meanings of opacity and o:opacity2
-      // are reversed.
-      lineStr.push('<g_vml_:fill type="', fillStyle.type_, '"',
-                   ' method="none" focus="100%"',
-                   ' color="', color1, '"',
-                   ' color2="', color2, '"',
-                   ' colors="', colors.join(','), '"',
-                   ' opacity="', opacity2, '"',
-                   ' g_o_:opacity2="', opacity1, '"',
-                   ' angle="', angle, '"',
-                   ' focusposition="', focus.x, ',', focus.y, '" />');
-    } else if (fillStyle instanceof CanvasPattern_) {
-      if (width && height) {
-        var deltaLeft = -min.x;
-        var deltaTop = -min.y;
-        lineStr.push('<g_vml_:fill',
-                     ' position="',
-                     deltaLeft / width * arcScaleX * arcScaleX, ',',
-                     deltaTop / height * arcScaleY * arcScaleY, '"',
-                     ' type="tile"',
-                     // TODO: Figure out the correct size to fit the scale.
-                     //' size="', w, 'px ', h, 'px"',
-                     ' src="', fillStyle.src_, '" />');
-       }
-    } else {
-      var a = processStyle(ctx.fillStyle);
-      var color = a.color;
-      var opacity = a.alpha * ctx.globalAlpha;
-      lineStr.push('<g_vml_:fill color="', color, '" opacity="', opacity,
-                   '" />');
-    }
-  }
-
-  contextPrototype.fill = function() {
-    this.stroke(true);
-  };
-
-  contextPrototype.closePath = function() {
-    this.currentPath_.push({type: 'close'});
-  };
-
-  /**
-   * @private
-   */
-  contextPrototype.getCoords_ = function(aX, aY) {
-    var m = this.m_;
-    return {
-      x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2,
-      y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2
-    };
-  };
-
-  contextPrototype.save = function() {
-    var o = {};
-    copyState(this, o);
-    this.aStack_.push(o);
-    this.mStack_.push(this.m_);
-    this.m_ = matrixMultiply(createMatrixIdentity(), this.m_);
-  };
-
-  contextPrototype.restore = function() {
-    if (this.aStack_.length) {
-      copyState(this.aStack_.pop(), this);
-      this.m_ = this.mStack_.pop();
-    }
-  };
-
-  function matrixIsFinite(m) {
-    return isFinite(m[0][0]) && isFinite(m[0][1]) &&
-        isFinite(m[1][0]) && isFinite(m[1][1]) &&
-        isFinite(m[2][0]) && isFinite(m[2][1]);
-  }
-
-  function setM(ctx, m, updateLineScale) {
-    if (!matrixIsFinite(m)) {
-      return;
-    }
-    ctx.m_ = m;
-
-    if (updateLineScale) {
-      // Get the line scale.
-      // Determinant of this.m_ means how much the area is enlarged by the
-      // transformation. So its square root can be used as a scale factor
-      // for width.
-      var det = m[0][0] * m[1][1] - m[0][1] * m[1][0];
-      ctx.lineScale_ = sqrt(abs(det));
-    }
-  }
-
-  contextPrototype.translate = function(aX, aY) {
-    var m1 = [
-      [1,  0,  0],
-      [0,  1,  0],
-      [aX, aY, 1]
-    ];
-
-    setM(this, matrixMultiply(m1, this.m_), false);
-  };
-
-  contextPrototype.rotate = function(aRot) {
-    var c = mc(aRot);
-    var s = ms(aRot);
-
-    var m1 = [
-      [c,  s, 0],
-      [-s, c, 0],
-      [0,  0, 1]
-    ];
-
-    setM(this, matrixMultiply(m1, this.m_), false);
-  };
-
-  contextPrototype.scale = function(aX, aY) {
-    this.arcScaleX_ *= aX;
-    this.arcScaleY_ *= aY;
-    var m1 = [
-      [aX, 0,  0],
-      [0,  aY, 0],
-      [0,  0,  1]
-    ];
-
-    setM(this, matrixMultiply(m1, this.m_), true);
-  };
-
-  contextPrototype.transform = function(m11, m12, m21, m22, dx, dy) {
-    var m1 = [
-      [m11, m12, 0],
-      [m21, m22, 0],
-      [dx,  dy,  1]
-    ];
-
-    setM(this, matrixMultiply(m1, this.m_), true);
-  };
-
-  contextPrototype.setTransform = function(m11, m12, m21, m22, dx, dy) {
-    var m = [
-      [m11, m12, 0],
-      [m21, m22, 0],
-      [dx,  dy,  1]
-    ];
-
-    setM(this, m, true);
-  };
-
-  /**
-   * The text drawing function.
-   * The maxWidth argument isn't taken in account, since no browser supports
-   * it yet.
-   */
-  contextPrototype.drawText_ = function(text, x, y, maxWidth, stroke) {
-    var m = this.m_,
-        delta = 1000,
-        left = 0,
-        right = delta,
-        offset = {x: 0, y: 0},
-        lineStr = [];
-
-    var fontStyle = getComputedStyle(processFontStyle(this.font),
-                                     this.element_);
-
-    var fontStyleString = buildStyle(fontStyle);
-
-    var elementStyle = this.element_.currentStyle;
-    var textAlign = this.textAlign.toLowerCase();
-    switch (textAlign) {
-      case 'left':
-      case 'center':
-      case 'right':
-        break;
-      case 'end':
-        textAlign = elementStyle.direction == 'ltr' ? 'right' : 'left';
-        break;
-      case 'start':
-        textAlign = elementStyle.direction == 'rtl' ? 'right' : 'left';
-        break;
-      default:
-        textAlign = 'left';
-    }
-
-    // 1.75 is an arbitrary number, as there is no info about the text baseline
-    switch (this.textBaseline) {
-      case 'hanging':
-      case 'top':
-        offset.y = fontStyle.size / 1.75;
-        break;
-      case 'middle':
-        break;
-      default:
-      case null:
-      case 'alphabetic':
-      case 'ideographic':
-      case 'bottom':
-        offset.y = -fontStyle.size / 2.25;
-        break;
-    }
-
-    switch(textAlign) {
-      case 'right':
-        left = delta;
-        right = 0.05;
-        break;
-      case 'center':
-        left = right = delta / 2;
-        break;
-    }
-
-    var d = this.getCoords_(x + offset.x, y + offset.y);
-
-    lineStr.push('<g_vml_:line from="', -left ,' 0" to="', right ,' 0.05" ',
-                 ' coordsize="100 100" coordorigin="0 0"',
-                 ' filled="', !stroke, '" stroked="', !!stroke,
-                 '" style="position:absolute;width:1px;height:1px;">');
-
-    if (stroke) {
-      appendStroke(this, lineStr);
-    } else {
-      // TODO: Fix the min and max params.
-      appendFill(this, lineStr, {x: -left, y: 0},
-                 {x: right, y: fontStyle.size});
-    }
-
-    var skewM = m[0][0].toFixed(3) + ',' + m[1][0].toFixed(3) + ',' +
-                m[0][1].toFixed(3) + ',' + m[1][1].toFixed(3) + ',0,0';
-
-    var skewOffset = mr(d.x / Z) + ',' + mr(d.y / Z);
-
-    lineStr.push('<g_vml_:skew on="t" matrix="', skewM ,'" ',
-                 ' offset="', skewOffset, '" origin="', left ,' 0" />',
-                 '<g_vml_:path textpathok="true" />',
-                 '<g_vml_:textpath on="true" string="',
-                 encodeHtmlAttribute(text),
-                 '" style="v-text-align:', textAlign,
-                 ';font:', encodeHtmlAttribute(fontStyleString),
-                 '" /></g_vml_:line>');
-
-    this.element_.insertAdjacentHTML('beforeEnd', lineStr.join(''));
-  };
-
-  contextPrototype.fillText = function(text, x, y, maxWidth) {
-    this.drawText_(text, x, y, maxWidth, false);
-  };
-
-  contextPrototype.strokeText = function(text, x, y, maxWidth) {
-    this.drawText_(text, x, y, maxWidth, true);
-  };
-
-  contextPrototype.measureText = function(text) {
-    if (!this.textMeasureEl_) {
-      var s = '<span style="position:absolute;' +
-          'top:-20000px;left:0;padding:0;margin:0;border:none;' +
-          'white-space:pre;"></span>';
-      this.element_.insertAdjacentHTML('beforeEnd', s);
-      this.textMeasureEl_ = this.element_.lastChild;
-    }
-    var doc = this.element_.ownerDocument;
-    this.textMeasureEl_.innerHTML = '';
-    this.textMeasureEl_.style.font = this.font;
-    // Don't use innerHTML or innerText because they allow markup/whitespace.
-    this.textMeasureEl_.appendChild(doc.createTextNode(text));
-    return {width: this.textMeasureEl_.offsetWidth};
-  };
-
-  /******** STUBS ********/
-  contextPrototype.clip = function() {
-    // TODO: Implement
-  };
-
-  contextPrototype.arcTo = function() {
-    // TODO: Implement
-  };
-
-  contextPrototype.createPattern = function(image, repetition) {
-    return new CanvasPattern_(image, repetition);
-  };
-
-  // Gradient / Pattern Stubs
-  function CanvasGradient_(aType) {
-    this.type_ = aType;
-    this.x0_ = 0;
-    this.y0_ = 0;
-    this.r0_ = 0;
-    this.x1_ = 0;
-    this.y1_ = 0;
-    this.r1_ = 0;
-    this.colors_ = [];
-  }
-
-  CanvasGradient_.prototype.addColorStop = function(aOffset, aColor) {
-    aColor = processStyle(aColor);
-    this.colors_.push({offset: aOffset,
-                       color: aColor.color,
-                       alpha: aColor.alpha});
-  };
-
-  function CanvasPattern_(image, repetition) {
-    assertImageIsValid(image);
-    switch (repetition) {
-      case 'repeat':
-      case null:
-      case '':
-        this.repetition_ = 'repeat';
-        break
-      case 'repeat-x':
-      case 'repeat-y':
-      case 'no-repeat':
-        this.repetition_ = repetition;
-        break;
-      default:
-        throwException('SYNTAX_ERR');
-    }
-
-    this.src_ = image.src;
-    this.width_ = image.width;
-    this.height_ = image.height;
-  }
-
-  function throwException(s) {
-    throw new DOMException_(s);
-  }
-
-  function assertImageIsValid(img) {
-    if (!img || img.nodeType != 1 || img.tagName != 'IMG') {
-      throwException('TYPE_MISMATCH_ERR');
-    }
-    if (img.readyState != 'complete') {
-      throwException('INVALID_STATE_ERR');
-    }
-  }
-
-  function DOMException_(s) {
-    this.code = this[s];
-    this.message = s +': DOM Exception ' + this.code;
-  }
-  var p = DOMException_.prototype = new Error;
-  p.INDEX_SIZE_ERR = 1;
-  p.DOMSTRING_SIZE_ERR = 2;
-  p.HIERARCHY_REQUEST_ERR = 3;
-  p.WRONG_DOCUMENT_ERR = 4;
-  p.INVALID_CHARACTER_ERR = 5;
-  p.NO_DATA_ALLOWED_ERR = 6;
-  p.NO_MODIFICATION_ALLOWED_ERR = 7;
-  p.NOT_FOUND_ERR = 8;
-  p.NOT_SUPPORTED_ERR = 9;
-  p.INUSE_ATTRIBUTE_ERR = 10;
-  p.INVALID_STATE_ERR = 11;
-  p.SYNTAX_ERR = 12;
-  p.INVALID_MODIFICATION_ERR = 13;
-  p.NAMESPACE_ERR = 14;
-  p.INVALID_ACCESS_ERR = 15;
-  p.VALIDATION_ERR = 16;
-  p.TYPE_MISMATCH_ERR = 17;
-
-  // set up externs
-  G_vmlCanvasManager = G_vmlCanvasManager_;
-  CanvasRenderingContext2D = CanvasRenderingContext2D_;
-  CanvasGradient = CanvasGradient_;
-  CanvasPattern = CanvasPattern_;
-  DOMException = DOMException_;
-})();
-
-} // if
-

file:a/js/flot/excanvas.min.js (deleted)
--- a/js/flot/excanvas.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-if(!document.createElement("canvas").getContext){(function(){var z=Math;var K=z.round;var J=z.sin;var U=z.cos;var b=z.abs;var k=z.sqrt;var D=10;var F=D/2;function T(){return this.context_||(this.context_=new W(this))}var O=Array.prototype.slice;function G(i,j,m){var Z=O.call(arguments,2);return function(){return i.apply(j,Z.concat(O.call(arguments)))}}function AD(Z){return String(Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}function r(i){if(!i.namespaces.g_vml_){i.namespaces.add("g_vml_","urn:schemas-microsoft-com:vml","#default#VML")}if(!i.namespaces.g_o_){i.namespaces.add("g_o_","urn:schemas-microsoft-com:office:office","#default#VML")}if(!i.styleSheets.ex_canvas_){var Z=i.createStyleSheet();Z.owningElement.id="ex_canvas_";Z.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"}}r(document);var E={init:function(Z){if(/MSIE/.test(navigator.userAgent)&&!window.opera){var i=Z||document;i.createElement("canvas");i.attachEvent("onreadystatechange",G(this.init_,this,i))}},init_:function(m){var j=m.getElementsByTagName("canvas");for(var Z=0;Z<j.length;Z++){this.initElement(j[Z])}},initElement:function(i){if(!i.getContext){i.getContext=T;r(i.ownerDocument);i.innerHTML="";i.attachEvent("onpropertychange",S);i.attachEvent("onresize",w);var Z=i.attributes;if(Z.width&&Z.width.specified){i.style.width=Z.width.nodeValue+"px"}else{i.width=i.clientWidth}if(Z.height&&Z.height.specified){i.style.height=Z.height.nodeValue+"px"}else{i.height=i.clientHeight}}return i}};function S(i){var Z=i.srcElement;switch(i.propertyName){case"width":Z.getContext().clearRect();Z.style.width=Z.attributes.width.nodeValue+"px";Z.firstChild.style.width=Z.clientWidth+"px";break;case"height":Z.getContext().clearRect();Z.style.height=Z.attributes.height.nodeValue+"px";Z.firstChild.style.height=Z.clientHeight+"px";break}}function w(i){var Z=i.srcElement;if(Z.firstChild){Z.firstChild.style.width=Z.clientWidth+"px";Z.firstChild.style.height=Z.clientHeight+"px"}}E.init();var I=[];for(var AC=0;AC<16;AC++){for(var AB=0;AB<16;AB++){I[AC*16+AB]=AC.toString(16)+AB.toString(16)}}function V(){return[[1,0,0],[0,1,0],[0,0,1]]}function d(m,j){var i=V();for(var Z=0;Z<3;Z++){for(var AF=0;AF<3;AF++){var p=0;for(var AE=0;AE<3;AE++){p+=m[Z][AE]*j[AE][AF]}i[Z][AF]=p}}return i}function Q(i,Z){Z.fillStyle=i.fillStyle;Z.lineCap=i.lineCap;Z.lineJoin=i.lineJoin;Z.lineWidth=i.lineWidth;Z.miterLimit=i.miterLimit;Z.shadowBlur=i.shadowBlur;Z.shadowColor=i.shadowColor;Z.shadowOffsetX=i.shadowOffsetX;Z.shadowOffsetY=i.shadowOffsetY;Z.strokeStyle=i.strokeStyle;Z.globalAlpha=i.globalAlpha;Z.font=i.font;Z.textAlign=i.textAlign;Z.textBaseline=i.textBaseline;Z.arcScaleX_=i.arcScaleX_;Z.arcScaleY_=i.arcScaleY_;Z.lineScale_=i.lineScale_}var B={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",grey:"#808080",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",oldlace:"#FDF5E6",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",whitesmoke:"#F5F5F5",yellowgreen:"#9ACD32"};function g(i){var m=i.indexOf("(",3);var Z=i.indexOf(")",m+1);var j=i.substring(m+1,Z).split(",");if(j.length==4&&i.substr(3,1)=="a"){alpha=Number(j[3])}else{j[3]=1}return j}function C(Z){return parseFloat(Z)/100}function N(i,j,Z){return Math.min(Z,Math.max(j,i))}function c(AF){var j,i,Z;h=parseFloat(AF[0])/360%360;if(h<0){h++}s=N(C(AF[1]),0,1);l=N(C(AF[2]),0,1);if(s==0){j=i=Z=l}else{var m=l<0.5?l*(1+s):l+s-l*s;var AE=2*l-m;j=A(AE,m,h+1/3);i=A(AE,m,h);Z=A(AE,m,h-1/3)}return"#"+I[Math.floor(j*255)]+I[Math.floor(i*255)]+I[Math.floor(Z*255)]}function A(i,Z,j){if(j<0){j++}if(j>1){j--}if(6*j<1){return i+(Z-i)*6*j}else{if(2*j<1){return Z}else{if(3*j<2){return i+(Z-i)*(2/3-j)*6}else{return i}}}}function Y(Z){var AE,p=1;Z=String(Z);if(Z.charAt(0)=="#"){AE=Z}else{if(/^rgb/.test(Z)){var m=g(Z);var AE="#",AF;for(var j=0;j<3;j++){if(m[j].indexOf("%")!=-1){AF=Math.floor(C(m[j])*255)}else{AF=Number(m[j])}AE+=I[N(AF,0,255)]}p=m[3]}else{if(/^hsl/.test(Z)){var m=g(Z);AE=c(m);p=m[3]}else{AE=B[Z]||Z}}}return{color:AE,alpha:p}}var L={style:"normal",variant:"normal",weight:"normal",size:10,family:"sans-serif"};var f={};function X(Z){if(f[Z]){return f[Z]}var m=document.createElement("div");var j=m.style;try{j.font=Z}catch(i){}return f[Z]={style:j.fontStyle||L.style,variant:j.fontVariant||L.variant,weight:j.fontWeight||L.weight,size:j.fontSize||L.size,family:j.fontFamily||L.family}}function P(j,i){var Z={};for(var AF in j){Z[AF]=j[AF]}var AE=parseFloat(i.currentStyle.fontSize),m=parseFloat(j.size);if(typeof j.size=="number"){Z.size=j.size}else{if(j.size.indexOf("px")!=-1){Z.size=m}else{if(j.size.indexOf("em")!=-1){Z.size=AE*m}else{if(j.size.indexOf("%")!=-1){Z.size=(AE/100)*m}else{if(j.size.indexOf("pt")!=-1){Z.size=m/0.75}else{Z.size=AE}}}}}Z.size*=0.981;return Z}function AA(Z){return Z.style+" "+Z.variant+" "+Z.weight+" "+Z.size+"px "+Z.family}function t(Z){switch(Z){case"butt":return"flat";case"round":return"round";case"square":default:return"square"}}function W(i){this.m_=V();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=D*1;this.globalAlpha=1;this.font="10px sans-serif";this.textAlign="left";this.textBaseline="alphabetic";this.canvas=i;var Z=i.ownerDocument.createElement("div");Z.style.width=i.clientWidth+"px";Z.style.height=i.clientHeight+"px";Z.style.overflow="hidden";Z.style.position="absolute";i.appendChild(Z);this.element_=Z;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var M=W.prototype;M.clearRect=function(){if(this.textMeasureEl_){this.textMeasureEl_.removeNode(true);this.textMeasureEl_=null}this.element_.innerHTML=""};M.beginPath=function(){this.currentPath_=[]};M.moveTo=function(i,Z){var j=this.getCoords_(i,Z);this.currentPath_.push({type:"moveTo",x:j.x,y:j.y});this.currentX_=j.x;this.currentY_=j.y};M.lineTo=function(i,Z){var j=this.getCoords_(i,Z);this.currentPath_.push({type:"lineTo",x:j.x,y:j.y});this.currentX_=j.x;this.currentY_=j.y};M.bezierCurveTo=function(j,i,AI,AH,AG,AE){var Z=this.getCoords_(AG,AE);var AF=this.getCoords_(j,i);var m=this.getCoords_(AI,AH);e(this,AF,m,Z)};function e(Z,m,j,i){Z.currentPath_.push({type:"bezierCurveTo",cp1x:m.x,cp1y:m.y,cp2x:j.x,cp2y:j.y,x:i.x,y:i.y});Z.currentX_=i.x;Z.currentY_=i.y}M.quadraticCurveTo=function(AG,j,i,Z){var AF=this.getCoords_(AG,j);var AE=this.getCoords_(i,Z);var AH={x:this.currentX_+2/3*(AF.x-this.currentX_),y:this.currentY_+2/3*(AF.y-this.currentY_)};var m={x:AH.x+(AE.x-this.currentX_)/3,y:AH.y+(AE.y-this.currentY_)/3};e(this,AH,m,AE)};M.arc=function(AJ,AH,AI,AE,i,j){AI*=D;var AN=j?"at":"wa";var AK=AJ+U(AE)*AI-F;var AM=AH+J(AE)*AI-F;var Z=AJ+U(i)*AI-F;var AL=AH+J(i)*AI-F;if(AK==Z&&!j){AK+=0.125}var m=this.getCoords_(AJ,AH);var AG=this.getCoords_(AK,AM);var AF=this.getCoords_(Z,AL);this.currentPath_.push({type:AN,x:m.x,y:m.y,radius:AI,xStart:AG.x,yStart:AG.y,xEnd:AF.x,yEnd:AF.y})};M.rect=function(j,i,Z,m){this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath()};M.strokeRect=function(j,i,Z,m){var p=this.currentPath_;this.beginPath();this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath();this.stroke();this.currentPath_=p};M.fillRect=function(j,i,Z,m){var p=this.currentPath_;this.beginPath();this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath();this.fill();this.currentPath_=p};M.createLinearGradient=function(i,m,Z,j){var p=new v("gradient");p.x0_=i;p.y0_=m;p.x1_=Z;p.y1_=j;return p};M.createRadialGradient=function(m,AE,j,i,p,Z){var AF=new v("gradientradial");AF.x0_=m;AF.y0_=AE;AF.r0_=j;AF.x1_=i;AF.y1_=p;AF.r1_=Z;return AF};M.drawImage=function(AO,j){var AH,AF,AJ,AV,AM,AK,AQ,AX;var AI=AO.runtimeStyle.width;var AN=AO.runtimeStyle.height;AO.runtimeStyle.width="auto";AO.runtimeStyle.height="auto";var AG=AO.width;var AT=AO.height;AO.runtimeStyle.width=AI;AO.runtimeStyle.height=AN;if(arguments.length==3){AH=arguments[1];AF=arguments[2];AM=AK=0;AQ=AJ=AG;AX=AV=AT}else{if(arguments.length==5){AH=arguments[1];AF=arguments[2];AJ=arguments[3];AV=arguments[4];AM=AK=0;AQ=AG;AX=AT}else{if(arguments.length==9){AM=arguments[1];AK=arguments[2];AQ=arguments[3];AX=arguments[4];AH=arguments[5];AF=arguments[6];AJ=arguments[7];AV=arguments[8]}else{throw Error("Invalid number of arguments")}}}var AW=this.getCoords_(AH,AF);var m=AQ/2;var i=AX/2;var AU=[];var Z=10;var AE=10;AU.push(" <g_vml_:group",' coordsize="',D*Z,",",D*AE,'"',' coordorigin="0,0"',' style="width:',Z,"px;height:",AE,"px;position:absolute;");if(this.m_[0][0]!=1||this.m_[0][1]||this.m_[1][1]!=1||this.m_[1][0]){var p=[];p.push("M11=",this.m_[0][0],",","M12=",this.m_[1][0],",","M21=",this.m_[0][1],",","M22=",this.m_[1][1],",","Dx=",K(AW.x/D),",","Dy=",K(AW.y/D),"");var AS=AW;var AR=this.getCoords_(AH+AJ,AF);var AP=this.getCoords_(AH,AF+AV);var AL=this.getCoords_(AH+AJ,AF+AV);AS.x=z.max(AS.x,AR.x,AP.x,AL.x);AS.y=z.max(AS.y,AR.y,AP.y,AL.y);AU.push("padding:0 ",K(AS.x/D),"px ",K(AS.y/D),"px 0;filter:progid:DXImageTransform.Microsoft.Matrix(",p.join(""),", sizingmethod='clip');")}else{AU.push("top:",K(AW.y/D),"px;left:",K(AW.x/D),"px;")}AU.push(' ">','<g_vml_:image src="',AO.src,'"',' style="width:',D*AJ,"px;"," height:",D*AV,'px"',' cropleft="',AM/AG,'"',' croptop="',AK/AT,'"',' cropright="',(AG-AM-AQ)/AG,'"',' cropbottom="',(AT-AK-AX)/AT,'"'," />","</g_vml_:group>");this.element_.insertAdjacentHTML("BeforeEnd",AU.join(""))};M.stroke=function(AM){var m=10;var AN=10;var AE=5000;var AG={x:null,y:null};var AL={x:null,y:null};for(var AH=0;AH<this.currentPath_.length;AH+=AE){var AK=[];var AF=false;AK.push("<g_vml_:shape",' filled="',!!AM,'"',' style="position:absolute;width:',m,"px;height:",AN,'px;"',' coordorigin="0,0"',' coordsize="',D*m,",",D*AN,'"',' stroked="',!AM,'"',' path="');var AO=false;for(var AI=AH;AI<Math.min(AH+AE,this.currentPath_.length);AI++){if(AI%AE==0&&AI>0){AK.push(" m ",K(this.currentPath_[AI-1].x),",",K(this.currentPath_[AI-1].y))}var Z=this.currentPath_[AI];var AJ;switch(Z.type){case"moveTo":AJ=Z;AK.push(" m ",K(Z.x),",",K(Z.y));break;case"lineTo":AK.push(" l ",K(Z.x),",",K(Z.y));break;case"close":AK.push(" x ");Z=null;break;case"bezierCurveTo":AK.push(" c ",K(Z.cp1x),",",K(Z.cp1y),",",K(Z.cp2x),",",K(Z.cp2y),",",K(Z.x),",",K(Z.y));break;case"at":case"wa":AK.push(" ",Z.type," ",K(Z.x-this.arcScaleX_*Z.radius),",",K(Z.y-this.arcScaleY_*Z.radius)," ",K(Z.x+this.arcScaleX_*Z.radius),",",K(Z.y+this.arcScaleY_*Z.radius)," ",K(Z.xStart),",",K(Z.yStart)," ",K(Z.xEnd),",",K(Z.yEnd));break}if(Z){if(AG.x==null||Z.x<AG.x){AG.x=Z.x}if(AL.x==null||Z.x>AL.x){AL.x=Z.x}if(AG.y==null||Z.y<AG.y){AG.y=Z.y}if(AL.y==null||Z.y>AL.y){AL.y=Z.y}}}AK.push(' ">');if(!AM){R(this,AK)}else{a(this,AK,AG,AL)}AK.push("</g_vml_:shape>");this.element_.insertAdjacentHTML("beforeEnd",AK.join(""))}};function R(j,AE){var i=Y(j.strokeStyle);var m=i.color;var p=i.alpha*j.globalAlpha;var Z=j.lineScale_*j.lineWidth;if(Z<1){p*=Z}AE.push("<g_vml_:stroke",' opacity="',p,'"',' joinstyle="',j.lineJoin,'"',' miterlimit="',j.miterLimit,'"',' endcap="',t(j.lineCap),'"',' weight="',Z,'px"',' color="',m,'" />')}function a(AO,AG,Ah,AP){var AH=AO.fillStyle;var AY=AO.arcScaleX_;var AX=AO.arcScaleY_;var Z=AP.x-Ah.x;var m=AP.y-Ah.y;if(AH instanceof v){var AL=0;var Ac={x:0,y:0};var AU=0;var AK=1;if(AH.type_=="gradient"){var AJ=AH.x0_/AY;var j=AH.y0_/AX;var AI=AH.x1_/AY;var Aj=AH.y1_/AX;var Ag=AO.getCoords_(AJ,j);var Af=AO.getCoords_(AI,Aj);var AE=Af.x-Ag.x;var p=Af.y-Ag.y;AL=Math.atan2(AE,p)*180/Math.PI;if(AL<0){AL+=360}if(AL<0.000001){AL=0}}else{var Ag=AO.getCoords_(AH.x0_,AH.y0_);Ac={x:(Ag.x-Ah.x)/Z,y:(Ag.y-Ah.y)/m};Z/=AY*D;m/=AX*D;var Aa=z.max(Z,m);AU=2*AH.r0_/Aa;AK=2*AH.r1_/Aa-AU}var AS=AH.colors_;AS.sort(function(Ak,i){return Ak.offset-i.offset});var AN=AS.length;var AR=AS[0].color;var AQ=AS[AN-1].color;var AW=AS[0].alpha*AO.globalAlpha;var AV=AS[AN-1].alpha*AO.globalAlpha;var Ab=[];for(var Ae=0;Ae<AN;Ae++){var AM=AS[Ae];Ab.push(AM.offset*AK+AU+" "+AM.color)}AG.push('<g_vml_:fill type="',AH.type_,'"',' method="none" focus="100%"',' color="',AR,'"',' color2="',AQ,'"',' colors="',Ab.join(","),'"',' opacity="',AV,'"',' g_o_:opacity2="',AW,'"',' angle="',AL,'"',' focusposition="',Ac.x,",",Ac.y,'" />')}else{if(AH instanceof u){if(Z&&m){var AF=-Ah.x;var AZ=-Ah.y;AG.push("<g_vml_:fill",' position="',AF/Z*AY*AY,",",AZ/m*AX*AX,'"',' type="tile"',' src="',AH.src_,'" />')}}else{var Ai=Y(AO.fillStyle);var AT=Ai.color;var Ad=Ai.alpha*AO.globalAlpha;AG.push('<g_vml_:fill color="',AT,'" opacity="',Ad,'" />')}}}M.fill=function(){this.stroke(true)};M.closePath=function(){this.currentPath_.push({type:"close"})};M.getCoords_=function(j,i){var Z=this.m_;return{x:D*(j*Z[0][0]+i*Z[1][0]+Z[2][0])-F,y:D*(j*Z[0][1]+i*Z[1][1]+Z[2][1])-F}};M.save=function(){var Z={};Q(this,Z);this.aStack_.push(Z);this.mStack_.push(this.m_);this.m_=d(V(),this.m_)};M.restore=function(){if(this.aStack_.length){Q(this.aStack_.pop(),this);this.m_=this.mStack_.pop()}};function H(Z){return isFinite(Z[0][0])&&isFinite(Z[0][1])&&isFinite(Z[1][0])&&isFinite(Z[1][1])&&isFinite(Z[2][0])&&isFinite(Z[2][1])}function y(i,Z,j){if(!H(Z)){return }i.m_=Z;if(j){var p=Z[0][0]*Z[1][1]-Z[0][1]*Z[1][0];i.lineScale_=k(b(p))}}M.translate=function(j,i){var Z=[[1,0,0],[0,1,0],[j,i,1]];y(this,d(Z,this.m_),false)};M.rotate=function(i){var m=U(i);var j=J(i);var Z=[[m,j,0],[-j,m,0],[0,0,1]];y(this,d(Z,this.m_),false)};M.scale=function(j,i){this.arcScaleX_*=j;this.arcScaleY_*=i;var Z=[[j,0,0],[0,i,0],[0,0,1]];y(this,d(Z,this.m_),true)};M.transform=function(p,m,AF,AE,i,Z){var j=[[p,m,0],[AF,AE,0],[i,Z,1]];y(this,d(j,this.m_),true)};M.setTransform=function(AE,p,AG,AF,j,i){var Z=[[AE,p,0],[AG,AF,0],[j,i,1]];y(this,Z,true)};M.drawText_=function(AK,AI,AH,AN,AG){var AM=this.m_,AQ=1000,i=0,AP=AQ,AF={x:0,y:0},AE=[];var Z=P(X(this.font),this.element_);var j=AA(Z);var AR=this.element_.currentStyle;var p=this.textAlign.toLowerCase();switch(p){case"left":case"center":case"right":break;case"end":p=AR.direction=="ltr"?"right":"left";break;case"start":p=AR.direction=="rtl"?"right":"left";break;default:p="left"}switch(this.textBaseline){case"hanging":case"top":AF.y=Z.size/1.75;break;case"middle":break;default:case null:case"alphabetic":case"ideographic":case"bottom":AF.y=-Z.size/2.25;break}switch(p){case"right":i=AQ;AP=0.05;break;case"center":i=AP=AQ/2;break}var AO=this.getCoords_(AI+AF.x,AH+AF.y);AE.push('<g_vml_:line from="',-i,' 0" to="',AP,' 0.05" ',' coordsize="100 100" coordorigin="0 0"',' filled="',!AG,'" stroked="',!!AG,'" style="position:absolute;width:1px;height:1px;">');if(AG){R(this,AE)}else{a(this,AE,{x:-i,y:0},{x:AP,y:Z.size})}var AL=AM[0][0].toFixed(3)+","+AM[1][0].toFixed(3)+","+AM[0][1].toFixed(3)+","+AM[1][1].toFixed(3)+",0,0";var AJ=K(AO.x/D)+","+K(AO.y/D);AE.push('<g_vml_:skew on="t" matrix="',AL,'" ',' offset="',AJ,'" origin="',i,' 0" />','<g_vml_:path textpathok="true" />','<g_vml_:textpath on="true" string="',AD(AK),'" style="v-text-align:',p,";font:",AD(j),'" /></g_vml_:line>');this.element_.insertAdjacentHTML("beforeEnd",AE.join(""))};M.fillText=function(j,Z,m,i){this.drawText_(j,Z,m,i,false)};M.strokeText=function(j,Z,m,i){this.drawText_(j,Z,m,i,true)};M.measureText=function(j){if(!this.textMeasureEl_){var Z='<span style="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;"></span>';this.element_.insertAdjacentHTML("beforeEnd",Z);this.textMeasureEl_=this.element_.lastChild}var i=this.element_.ownerDocument;this.textMeasureEl_.innerHTML="";this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(i.createTextNode(j));return{width:this.textMeasureEl_.offsetWidth}};M.clip=function(){};M.arcTo=function(){};M.createPattern=function(i,Z){return new u(i,Z)};function v(Z){this.type_=Z;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}v.prototype.addColorStop=function(i,Z){Z=Y(Z);this.colors_.push({offset:i,color:Z.color,alpha:Z.alpha})};function u(i,Z){q(i);switch(Z){case"repeat":case null:case"":this.repetition_="repeat";break;case"repeat-x":case"repeat-y":case"no-repeat":this.repetition_=Z;break;default:n("SYNTAX_ERR")}this.src_=i.src;this.width_=i.width;this.height_=i.height}function n(Z){throw new o(Z)}function q(Z){if(!Z||Z.nodeType!=1||Z.tagName!="IMG"){n("TYPE_MISMATCH_ERR")}if(Z.readyState!="complete"){n("INVALID_STATE_ERR")}}function o(Z){this.code=this[Z];this.message=Z+": DOM Exception "+this.code}var x=o.prototype=new Error;x.INDEX_SIZE_ERR=1;x.DOMSTRING_SIZE_ERR=2;x.HIERARCHY_REQUEST_ERR=3;x.WRONG_DOCUMENT_ERR=4;x.INVALID_CHARACTER_ERR=5;x.NO_DATA_ALLOWED_ERR=6;x.NO_MODIFICATION_ALLOWED_ERR=7;x.NOT_FOUND_ERR=8;x.NOT_SUPPORTED_ERR=9;x.INUSE_ATTRIBUTE_ERR=10;x.INVALID_STATE_ERR=11;x.SYNTAX_ERR=12;x.INVALID_MODIFICATION_ERR=13;x.NAMESPACE_ERR=14;x.INVALID_ACCESS_ERR=15;x.VALIDATION_ERR=16;x.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=E;CanvasRenderingContext2D=W;CanvasGradient=v;CanvasPattern=u;DOMException=o})()};
+

--- a/js/flot/jquery.colorhelpers.js
+++ /dev/null
@@ -1,180 +1,1 @@
-/* Plugin for jQuery for working with colors.
- * 
- * Version 1.1.
- * 
- * Inspiration from jQuery color animation plugin by John Resig.
- *
- * Released under the MIT license by Ole Laursen, October 2009.
- *
- * Examples:
- *
- *   $.color.parse("#fff").scale('rgb', 0.25).add('a', -0.5).toString()
- *   var c = $.color.extract($("#mydiv"), 'background-color');
- *   console.log(c.r, c.g, c.b, c.a);
- *   $.color.make(100, 50, 25, 0.4).toString() // returns "rgba(100,50,25,0.4)"
- *
- * Note that .scale() and .add() return the same modified object
- * instead of making a new one.
- *
- * V. 1.1: Fix error handling so e.g. parsing an empty string does
- * produce a color rather than just crashing.
- */ 
 
-(function($) {
-    $.color = {};
-
-    // construct color object with some convenient chainable helpers
-    $.color.make = function (r, g, b, a) {
-        var o = {};
-        o.r = r || 0;
-        o.g = g || 0;
-        o.b = b || 0;
-        o.a = a != null ? a : 1;
-
-        o.add = function (c, d) {
-            for (var i = 0; i < c.length; ++i)
-                o[c.charAt(i)] += d;
-            return o.normalize();
-        };
-        
-        o.scale = function (c, f) {
-            for (var i = 0; i < c.length; ++i)
-                o[c.charAt(i)] *= f;
-            return o.normalize();
-        };
-        
-        o.toString = function () {
-            if (o.a >= 1.0) {
-                return "rgb("+[o.r, o.g, o.b].join(",")+")";
-            } else {
-                return "rgba("+[o.r, o.g, o.b, o.a].join(",")+")";
-            }
-        };
-
-        o.normalize = function () {
-            function clamp(min, value, max) {
-                return value < min ? min: (value > max ? max: value);
-            }
-            
-            o.r = clamp(0, parseInt(o.r), 255);
-            o.g = clamp(0, parseInt(o.g), 255);
-            o.b = clamp(0, parseInt(o.b), 255);
-            o.a = clamp(0, o.a, 1);
-            return o;
-        };
-
-        o.clone = function () {
-            return $.color.make(o.r, o.b, o.g, o.a);
-        };
-
-        return o.normalize();
-    }
-
-    // extract CSS color property from element, going up in the DOM
-    // if it's "transparent"
-    $.color.extract = function (elem, css) {
-        var c;
-        do {
-            c = elem.css(css).toLowerCase();
-            // keep going until we find an element that has color, or
-            // we hit the body
-            if (c != '' && c != 'transparent')
-                break;
-            elem = elem.parent();
-        } while (!$.nodeName(elem.get(0), "body"));
-
-        // catch Safari's way of signalling transparent
-        if (c == "rgba(0, 0, 0, 0)")
-            c = "transparent";
-        
-        return $.color.parse(c);
-    }
-    
-    // parse CSS color string (like "rgb(10, 32, 43)" or "#fff"),
-    // returns color object, if parsing failed, you get black (0, 0,
-    // 0) out
-    $.color.parse = function (str) {
-        var res, m = $.color.make;
-
-        // Look for rgb(num,num,num)
-        if (res = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(str))
-            return m(parseInt(res[1], 10), parseInt(res[2], 10), parseInt(res[3], 10));
-        
-        // Look for rgba(num,num,num,num)
-        if (res = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(str))
-            return m(parseInt(res[1], 10), parseInt(res[2], 10), parseInt(res[3], 10), parseFloat(res[4]));
-            
-        // Look for rgb(num%,num%,num%)
-        if (res = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(str))
-            return m(parseFloat(res[1])*2.55, parseFloat(res[2])*2.55, parseFloat(res[3])*2.55);
-
-        // Look for rgba(num%,num%,num%,num)
-        if (res = /rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(str))
-            return m(parseFloat(res[1])*2.55, parseFloat(res[2])*2.55, parseFloat(res[3])*2.55, parseFloat(res[4]));
-        
-        // Look for #a0b1c2
-        if (res = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(str))
-            return m(parseInt(res[1], 16), parseInt(res[2], 16), parseInt(res[3], 16));
-
-        // Look for #fff
-        if (res = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(str))
-            return m(parseInt(res[1]+res[1], 16), parseInt(res[2]+res[2], 16), parseInt(res[3]+res[3], 16));
-
-        // Otherwise, we're most likely dealing with a named color
-        var name = $.trim(str).toLowerCase();
-        if (name == "transparent")
-            return m(255, 255, 255, 0);
-        else {
-            // default to black
-            res = lookupColors[name] || [0, 0, 0];
-            return m(res[0], res[1], res[2]);
-        }
-    }
-    
-    var lookupColors = {
-        aqua:[0,255,255],
-        azure:[240,255,255],
-        beige:[245,245,220],
-        black:[0,0,0],
-        blue:[0,0,255],
-        brown:[165,42,42],
-        cyan:[0,255,255],
-        darkblue:[0,0,139],
-        darkcyan:[0,139,139],
-        darkgrey:[169,169,169],
-        darkgreen:[0,100,0],
-        darkkhaki:[189,183,107],
-        darkmagenta:[139,0,139],
-        darkolivegreen:[85,107,47],
-        darkorange:[255,140,0],
-        darkorchid:[153,50,204],
-        darkred:[139,0,0],
-        darksalmon:[233,150,122],
-        darkviolet:[148,0,211],
-        fuchsia:[255,0,255],
-        gold:[255,215,0],
-        green:[0,128,0],
-        indigo:[75,0,130],
-        khaki:[240,230,140],
-        lightblue:[173,216,230],
-        lightcyan:[224,255,255],
-        lightgreen:[144,238,144],
-        lightgrey:[211,211,211],
-        lightpink:[255,182,193],
-        lightyellow:[255,255,224],
-        lime:[0,255,0],
-        magenta:[255,0,255],
-        maroon:[128,0,0],
-        navy:[0,0,128],
-        olive:[128,128,0],
-        orange:[255,165,0],
-        pink:[255,192,203],
-        purple:[128,0,128],
-        violet:[128,0,128],
-        red:[255,0,0],
-        silver:[192,192,192],
-        white:[255,255,255],
-        yellow:[255,255,0]
-    };
-})(jQuery);
-

--- a/js/flot/jquery.colorhelpers.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(b){b.color={};b.color.make=function(f,e,c,d){var h={};h.r=f||0;h.g=e||0;h.b=c||0;h.a=d!=null?d:1;h.add=function(k,j){for(var g=0;g<k.length;++g){h[k.charAt(g)]+=j}return h.normalize()};h.scale=function(k,j){for(var g=0;g<k.length;++g){h[k.charAt(g)]*=j}return h.normalize()};h.toString=function(){if(h.a>=1){return"rgb("+[h.r,h.g,h.b].join(",")+")"}else{return"rgba("+[h.r,h.g,h.b,h.a].join(",")+")"}};h.normalize=function(){function g(j,k,i){return k<j?j:(k>i?i:k)}h.r=g(0,parseInt(h.r),255);h.g=g(0,parseInt(h.g),255);h.b=g(0,parseInt(h.b),255);h.a=g(0,h.a,1);return h};h.clone=function(){return b.color.make(h.r,h.b,h.g,h.a)};return h.normalize()};b.color.extract=function(e,d){var f;do{f=e.css(d).toLowerCase();if(f!=""&&f!="transparent"){break}e=e.parent()}while(!b.nodeName(e.get(0),"body"));if(f=="rgba(0, 0, 0, 0)"){f="transparent"}return b.color.parse(f)};b.color.parse=function(f){var e,c=b.color.make;if(e=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(f)){return c(parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10))}if(e=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(f)){return c(parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10),parseFloat(e[4]))}if(e=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(f)){return c(parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55)}if(e=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(f)){return c(parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55,parseFloat(e[4]))}if(e=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(f)){return c(parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16))}if(e=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(f)){return c(parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16))}var d=b.trim(f).toLowerCase();if(d=="transparent"){return c(255,255,255,0)}else{e=a[d]||[0,0,0];return c(e[0],e[1],e[2])}};var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);
+

--- a/js/flot/jquery.flot.crosshair.js
+++ /dev/null
@@ -1,168 +1,1 @@
-/*
-Flot plugin for showing crosshairs, thin lines, when the mouse hovers
-over the plot.
 
-  crosshair: {
-    mode: null or "x" or "y" or "xy"
-    color: color
-    lineWidth: number
-  }
-
-Set the mode to one of "x", "y" or "xy". The "x" mode enables a
-vertical crosshair that lets you trace the values on the x axis, "y"
-enables a horizontal crosshair and "xy" enables them both. "color" is
-the color of the crosshair (default is "rgba(170, 0, 0, 0.80)"),
-"lineWidth" is the width of the drawn lines (default is 1).
-
-The plugin also adds four public methods:
-
-  - setCrosshair(pos)
-
-    Set the position of the crosshair. Note that this is cleared if
-    the user moves the mouse. "pos" is in coordinates of the plot and
-    should be on the form { x: xpos, y: ypos } (you can use x2/x3/...
-    if you're using multiple axes), which is coincidentally the same
-    format as what you get from a "plothover" event. If "pos" is null,
-    the crosshair is cleared.
-
-  - clearCrosshair()
-
-    Clear the crosshair.
-
-  - lockCrosshair(pos)
-
-    Cause the crosshair to lock to the current location, no longer
-    updating if the user moves the mouse. Optionally supply a position
-    (passed on to setCrosshair()) to move it to.
-
-    Example usage:
-      var myFlot = $.plot( $("#graph"), ..., { crosshair: { mode: "x" } } };
-      $("#graph").bind("plothover", function (evt, position, item) {
-        if (item) {
-          // Lock the crosshair to the data point being hovered
-          myFlot.lockCrosshair({ x: item.datapoint[0], y: item.datapoint[1] });
-        }
-        else {
-          // Return normal crosshair operation
-          myFlot.unlockCrosshair();
-        }
-      });
-
-  - unlockCrosshair()
-
-    Free the crosshair to move again after locking it.
-*/
-
-(function ($) {
-    var options = {
-        crosshair: {
-            mode: null, // one of null, "x", "y" or "xy",
-            color: "rgba(170, 0, 0, 0.80)",
-            lineWidth: 1
-        }
-    };
-    
-    function init(plot) {
-        // position of crosshair in pixels
-        var crosshair = { x: -1, y: -1, locked: false };
-
-        plot.setCrosshair = function setCrosshair(pos) {
-            if (!pos)
-                crosshair.x = -1;
-            else {
-                var o = plot.p2c(pos);
-                crosshair.x = Math.max(0, Math.min(o.left, plot.width()));
-                crosshair.y = Math.max(0, Math.min(o.top, plot.height()));
-            }
-            
-            plot.triggerRedrawOverlay();
-        };
-        
-        plot.clearCrosshair = plot.setCrosshair; // passes null for pos
-        
-        plot.lockCrosshair = function lockCrosshair(pos) {
-            if (pos)
-                plot.setCrosshair(pos);
-            crosshair.locked = true;
-        }
-
-        plot.unlockCrosshair = function unlockCrosshair() {
-            crosshair.locked = false;
-        }
-
-        function onMouseOut(e) {
-            if (crosshair.locked)
-                return;
-
-            if (crosshair.x != -1) {
-                crosshair.x = -1;
-                plot.triggerRedrawOverlay();
-            }
-        }
-
-        function onMouseMove(e) {
-            if (crosshair.locked)
-                return;
-                
-            if (plot.getSelection && plot.getSelection()) {
-                crosshair.x = -1; // hide the crosshair while selecting
-                return;
-            }
-                
-            var offset = plot.offset();
-            crosshair.x = Math.max(0, Math.min(e.pageX - offset.left, plot.width()));
-            crosshair.y = Math.max(0, Math.min(e.pageY - offset.top, plot.height()));
-            plot.triggerRedrawOverlay();
-        }
-        
-        plot.hooks.bindEvents.push(function (plot, eventHolder) {
-            if (!plot.getOptions().crosshair.mode)
-                return;
-
-            eventHolder.mouseout(onMouseOut);
-            eventHolder.mousemove(onMouseMove);
-        });
-
-        plot.hooks.drawOverlay.push(function (plot, ctx) {
-            var c = plot.getOptions().crosshair;
-            if (!c.mode)
-                return;
-
-            var plotOffset = plot.getPlotOffset();
-            
-            ctx.save();
-            ctx.translate(plotOffset.left, plotOffset.top);
-
-            if (crosshair.x != -1) {
-                ctx.strokeStyle = c.color;
-                ctx.lineWidth = c.lineWidth;
-                ctx.lineJoin = "round";
-
-                ctx.beginPath();
-                if (c.mode.indexOf("x") != -1) {
-                    ctx.moveTo(crosshair.x, 0);
-                    ctx.lineTo(crosshair.x, plot.height());
-                }
-                if (c.mode.indexOf("y") != -1) {
-                    ctx.moveTo(0, crosshair.y);
-                    ctx.lineTo(plot.width(), crosshair.y);
-                }
-                ctx.stroke();
-            }
-            ctx.restore();
-        });
-
-        plot.hooks.shutdown.push(function (plot, eventHolder) {
-            eventHolder.unbind("mouseout", onMouseOut);
-            eventHolder.unbind("mousemove", onMouseMove);
-        });
-    }
-    
-    $.plot.plugins.push({
-        init: init,
-        options: options,
-        name: 'crosshair',
-        version: '1.0'
-    });
-})(jQuery);
-

--- a/js/flot/jquery.flot.crosshair.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(b){var a={crosshair:{mode:null,color:"rgba(170, 0, 0, 0.80)",lineWidth:1}};function c(h){var j={x:-1,y:-1,locked:false};h.setCrosshair=function e(l){if(!l){j.x=-1}else{var k=h.p2c(l);j.x=Math.max(0,Math.min(k.left,h.width()));j.y=Math.max(0,Math.min(k.top,h.height()))}h.triggerRedrawOverlay()};h.clearCrosshair=h.setCrosshair;h.lockCrosshair=function f(k){if(k){h.setCrosshair(k)}j.locked=true};h.unlockCrosshair=function g(){j.locked=false};function d(k){if(j.locked){return}if(j.x!=-1){j.x=-1;h.triggerRedrawOverlay()}}function i(k){if(j.locked){return}if(h.getSelection&&h.getSelection()){j.x=-1;return}var l=h.offset();j.x=Math.max(0,Math.min(k.pageX-l.left,h.width()));j.y=Math.max(0,Math.min(k.pageY-l.top,h.height()));h.triggerRedrawOverlay()}h.hooks.bindEvents.push(function(l,k){if(!l.getOptions().crosshair.mode){return}k.mouseout(d);k.mousemove(i)});h.hooks.drawOverlay.push(function(m,k){var n=m.getOptions().crosshair;if(!n.mode){return}var l=m.getPlotOffset();k.save();k.translate(l.left,l.top);if(j.x!=-1){k.strokeStyle=n.color;k.lineWidth=n.lineWidth;k.lineJoin="round";k.beginPath();if(n.mode.indexOf("x")!=-1){k.moveTo(j.x,0);k.lineTo(j.x,m.height())}if(n.mode.indexOf("y")!=-1){k.moveTo(0,j.y);k.lineTo(m.width(),j.y)}k.stroke()}k.restore()});h.hooks.shutdown.push(function(l,k){k.unbind("mouseout",d);k.unbind("mousemove",i)})}b.plot.plugins.push({init:c,options:a,name:"crosshair",version:"1.0"})})(jQuery);
+

--- a/js/flot/jquery.flot.fillbetween.js
+++ /dev/null
@@ -1,184 +1,1 @@
-/*
-Flot plugin for computing bottoms for filled line and bar charts.
 
-The case: you've got two series that you want to fill the area
-between. In Flot terms, you need to use one as the fill bottom of the
-other. You can specify the bottom of each data point as the third
-coordinate manually, or you can use this plugin to compute it for you.
-
-In order to name the other series, you need to give it an id, like this
-
-  var dataset = [
-       { data: [ ... ], id: "foo" } ,         // use default bottom
-       { data: [ ... ], fillBetween: "foo" }, // use first dataset as bottom
-       ];
-
-  $.plot($("#placeholder"), dataset, { line: { show: true, fill: true }});
-
-As a convenience, if the id given is a number that doesn't appear as
-an id in the series, it is interpreted as the index in the array
-instead (so fillBetween: 0 can also mean the first series).
-  
-Internally, the plugin modifies the datapoints in each series. For
-line series, extra data points might be inserted through
-interpolation. Note that at points where the bottom line is not
-defined (due to a null point or start/end of line), the current line
-will show a gap too. The algorithm comes from the jquery.flot.stack.js
-plugin, possibly some code could be shared.
-*/
-
-(function ($) {
-    var options = {
-        series: { fillBetween: null } // or number
-    };
-    
-    function init(plot) {
-        function findBottomSeries(s, allseries) {
-            var i;
-            for (i = 0; i < allseries.length; ++i) {
-                if (allseries[i].id == s.fillBetween)
-                    return allseries[i];
-            }
-
-            if (typeof s.fillBetween == "number") {
-                i = s.fillBetween;
-            
-                if (i < 0 || i >= allseries.length)
-                    return null;
-
-                return allseries[i];
-            }
-            
-            return null;
-        }
-        
-        function computeFillBottoms(plot, s, datapoints) {
-            if (s.fillBetween == null)
-                return;
-
-            var other = findBottomSeries(s, plot.getData());
-            if (!other)
-                return;
-
-            var ps = datapoints.pointsize,
-                points = datapoints.points,
-                otherps = other.datapoints.pointsize,
-                otherpoints = other.datapoints.points,
-                newpoints = [],
-                px, py, intery, qx, qy, bottom,
-                withlines = s.lines.show,
-                withbottom = ps > 2 && datapoints.format[2].y,
-                withsteps = withlines && s.lines.steps,
-                fromgap = true,
-                i = 0, j = 0, l;
-
-            while (true) {
-                if (i >= points.length)
-                    break;
-
-                l = newpoints.length;
-
-                if (points[i] == null) {
-                    // copy gaps
-                    for (m = 0; m < ps; ++m)
-                        newpoints.push(points[i + m]);
-                    i += ps;
-                }
-                else if (j >= otherpoints.length) {
-                    // for lines, we can't use the rest of the points
-                    if (!withlines) {
-                        for (m = 0; m < ps; ++m)
-                            newpoints.push(points[i + m]);
-                    }
-                    i += ps;
-                }
-                else if (otherpoints[j] == null) {
-                    // oops, got a gap
-                    for (m = 0; m < ps; ++m)
-                        newpoints.push(null);
-                    fromgap = true;
-                    j += otherps;
-                }
-                else {
-                    // cases where we actually got two points
-                    px = points[i];
-                    py = points[i + 1];
-                    qx = otherpoints[j];
-                    qy = otherpoints[j + 1];
-                    bottom = 0;
-
-                    if (px == qx) {
-                        for (m = 0; m < ps; ++m)
-                            newpoints.push(points[i + m]);
-
-                        //newpoints[l + 1] += qy;
-                        bottom = qy;
-                        
-                        i += ps;
-                        j += otherps;
-                    }
-                    else if (px > qx) {
-                        // we got past point below, might need to
-                        // insert interpolated extra point
-                        if (withlines && i > 0 && points[i - ps] != null) {
-                            intery = py + (points[i - ps + 1] - py) * (qx - px) / (points[i - ps] - px);
-                            newpoints.push(qx);
-                            newpoints.push(intery)
-                            for (m = 2; m < ps; ++m)
-                                newpoints.push(points[i + m]);
-                            bottom = qy; 
-                        }
-
-                        j += otherps;
-                    }
-                    else { // px < qx
-                        if (fromgap && withlines) {
-                            // if we come from a gap, we just skip this point
-                            i += ps;
-                            continue;
-                        }
-                            
-                        for (m = 0; m < ps; ++m)
-                            newpoints.push(points[i + m]);
-                        
-                        // we might be able to interpolate a point below,
-                        // this can give us a better y
-                        if (withlines && j > 0 && otherpoints[j - otherps] != null)
-                            bottom = qy + (otherpoints[j - otherps + 1] - qy) * (px - qx) / (otherpoints[j - otherps] - qx);
-
-                        //newpoints[l + 1] += bottom;
-                        
-                        i += ps;
-                    }
-
-                    fromgap = false;
-                    
-                    if (l != newpoints.length && withbottom)
-                        newpoints[l + 2] = bottom;
-                }
-
-                // maintain the line steps invariant
-                if (withsteps && l != newpoints.length && l > 0
-                    && newpoints[l] != null
-                    && newpoints[l] != newpoints[l - ps]
-                    && newpoints[l + 1] != newpoints[l - ps + 1]) {
-                    for (m = 0; m < ps; ++m)
-                        newpoints[l + ps + m] = newpoints[l + m];
-                    newpoints[l + 1] = newpoints[l - ps + 1];
-                }
-            }
-
-            datapoints.points = newpoints;
-        }
-        
-        plot.hooks.processDatapoints.push(computeFillBottoms);
-    }
-    
-    $.plot.plugins.push({
-        init: init,
-        options: options,
-        name: 'fillbetween',
-        version: '1.0'
-    });
-})(jQuery);
-

--- a/js/flot/jquery.flot.fillbetween.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(b){var a={series:{fillBetween:null}};function c(f){function d(j,h){var g;for(g=0;g<h.length;++g){if(h[g].id==j.fillBetween){return h[g]}}if(typeof j.fillBetween=="number"){g=j.fillBetween;if(g<0||g>=h.length){return null}return h[g]}return null}function e(B,u,g){if(u.fillBetween==null){return}var p=d(u,B.getData());if(!p){return}var y=g.pointsize,E=g.points,h=p.datapoints.pointsize,x=p.datapoints.points,r=[],w,v,k,G,F,q,t=u.lines.show,o=y>2&&g.format[2].y,n=t&&u.lines.steps,D=true,C=0,A=0,z;while(true){if(C>=E.length){break}z=r.length;if(E[C]==null){for(m=0;m<y;++m){r.push(E[C+m])}C+=y}else{if(A>=x.length){if(!t){for(m=0;m<y;++m){r.push(E[C+m])}}C+=y}else{if(x[A]==null){for(m=0;m<y;++m){r.push(null)}D=true;A+=h}else{w=E[C];v=E[C+1];G=x[A];F=x[A+1];q=0;if(w==G){for(m=0;m<y;++m){r.push(E[C+m])}q=F;C+=y;A+=h}else{if(w>G){if(t&&C>0&&E[C-y]!=null){k=v+(E[C-y+1]-v)*(G-w)/(E[C-y]-w);r.push(G);r.push(k);for(m=2;m<y;++m){r.push(E[C+m])}q=F}A+=h}else{if(D&&t){C+=y;continue}for(m=0;m<y;++m){r.push(E[C+m])}if(t&&A>0&&x[A-h]!=null){q=F+(x[A-h+1]-F)*(w-G)/(x[A-h]-G)}C+=y}}D=false;if(z!=r.length&&o){r[z+2]=q}}}}if(n&&z!=r.length&&z>0&&r[z]!=null&&r[z]!=r[z-y]&&r[z+1]!=r[z-y+1]){for(m=0;m<y;++m){r[z+y+m]=r[z+m]}r[z+1]=r[z-y+1]}}g.points=r}f.hooks.processDatapoints.push(e)}b.plot.plugins.push({init:c,options:a,name:"fillbetween",version:"1.0"})})(jQuery);
+

--- a/js/flot/jquery.flot.image.js
+++ /dev/null
@@ -1,239 +1,1 @@
-/*
-Flot plugin for plotting images, e.g. useful for putting ticks on a
-prerendered complex visualization.
 
-The data syntax is [[image, x1, y1, x2, y2], ...] where (x1, y1) and
-(x2, y2) are where you intend the two opposite corners of the image to
-end up in the plot. Image must be a fully loaded Javascript image (you
-can make one with new Image()). If the image is not complete, it's
-skipped when plotting.
-
-There are two helpers included for retrieving images. The easiest work
-the way that you put in URLs instead of images in the data (like
-["myimage.png", 0, 0, 10, 10]), then call $.plot.image.loadData(data,
-options, callback) where data and options are the same as you pass in
-to $.plot. This loads the images, replaces the URLs in the data with
-the corresponding images and calls "callback" when all images are
-loaded (or failed loading). In the callback, you can then call $.plot
-with the data set. See the included example.
-
-A more low-level helper, $.plot.image.load(urls, callback) is also
-included. Given a list of URLs, it calls callback with an object
-mapping from URL to Image object when all images are loaded or have
-failed loading.
-
-Options for the plugin are
-
-  series: {
-      images: {
-          show: boolean
-          anchor: "corner" or "center"
-          alpha: [0,1]
-      }
-  }
-
-which can be specified for a specific series
-
-  $.plot($("#placeholder"), [{ data: [ ... ], images: { ... } ])
-
-Note that because the data format is different from usual data points,
-you can't use images with anything else in a specific data series.
-
-Setting "anchor" to "center" causes the pixels in the image to be
-anchored at the corner pixel centers inside of at the pixel corners,
-effectively letting half a pixel stick out to each side in the plot.
-
-
-A possible future direction could be support for tiling for large
-images (like Google Maps).
-
-*/
-
-(function ($) {
-    var options = {
-        series: {
-            images: {
-                show: false,
-                alpha: 1,
-                anchor: "corner" // or "center"
-            }
-        }
-    };
-
-    $.plot.image = {};
-
-    $.plot.image.loadDataImages = function (series, options, callback) {
-        var urls = [], points = [];
-
-        var defaultShow = options.series.images.show;
-        
-        $.each(series, function (i, s) {
-            if (!(defaultShow || s.images.show))
-                return;
-            
-            if (s.data)
-                s = s.data;
-
-            $.each(s, function (i, p) {
-                if (typeof p[0] == "string") {
-                    urls.push(p[0]);
-                    points.push(p);
-                }
-            });
-        });
-
-        $.plot.image.load(urls, function (loadedImages) {
-            $.each(points, function (i, p) {
-                var url = p[0];
-                if (loadedImages[url])
-                    p[0] = loadedImages[url];
-            });
-
-            callback();
-        });
-    }
-    
-    $.plot.image.load = function (urls, callback) {
-        var missing = urls.length, loaded = {};
-        if (missing == 0)
-            callback({});
-
-        $.each(urls, function (i, url) {
-            var handler = function () {
-                --missing;
-                
-                loaded[url] = this;
-                
-                if (missing == 0)
-                    callback(loaded);
-            };
-
-            $('<img />').load(handler).error(handler).attr('src', url);
-        });
-    }
-    
-    function drawSeries(plot, ctx, series) {
-        var plotOffset = plot.getPlotOffset();
-        
-        if (!series.images || !series.images.show)
-            return;
-        
-        var points = series.datapoints.points,
-            ps = series.datapoints.pointsize;
-        
-        for (var i = 0; i < points.length; i += ps) {
-            var img = points[i],
-                x1 = points[i + 1], y1 = points[i + 2],
-                x2 = points[i + 3], y2 = points[i + 4],
-                xaxis = series.xaxis, yaxis = series.yaxis,
-                tmp;
-
-            // actually we should check img.complete, but it
-            // appears to be a somewhat unreliable indicator in
-            // IE6 (false even after load event)
-            if (!img || img.width <= 0 || img.height <= 0)
-                continue;
-
-            if (x1 > x2) {
-                tmp = x2;
-                x2 = x1;
-                x1 = tmp;
-            }
-            if (y1 > y2) {
-                tmp = y2;
-                y2 = y1;
-                y1 = tmp;
-            }
-            
-            // if the anchor is at the center of the pixel, expand the 
-            // image by 1/2 pixel in each direction
-            if (series.images.anchor == "center") {
-                tmp = 0.5 * (x2-x1) / (img.width - 1);
-                x1 -= tmp;
-                x2 += tmp;
-                tmp = 0.5 * (y2-y1) / (img.height - 1);
-                y1 -= tmp;
-                y2 += tmp;
-            }
-            
-            // clip
-            if (x1 == x2 || y1 == y2 ||
-                x1 >= xaxis.max || x2 <= xaxis.min ||
-                y1 >= yaxis.max || y2 <= yaxis.min)
-                continue;
-
-            var sx1 = 0, sy1 = 0, sx2 = img.width, sy2 = img.height;
-            if (x1 < xaxis.min) {
-                sx1 += (sx2 - sx1) * (xaxis.min - x1) / (x2 - x1);
-                x1 = xaxis.min;
-            }
-
-            if (x2 > xaxis.max) {
-                sx2 += (sx2 - sx1) * (xaxis.max - x2) / (x2 - x1);
-                x2 = xaxis.max;
-            }
-
-            if (y1 < yaxis.min) {
-                sy2 += (sy1 - sy2) * (yaxis.min - y1) / (y2 - y1);
-                y1 = yaxis.min;
-            }
-
-            if (y2 > yaxis.max) {
-                sy1 += (sy1 - sy2) * (yaxis.max - y2) / (y2 - y1);
-                y2 = yaxis.max;
-            }
-            
-            x1 = xaxis.p2c(x1);
-            x2 = xaxis.p2c(x2);
-            y1 = yaxis.p2c(y1);
-            y2 = yaxis.p2c(y2);
-            
-            // the transformation may have swapped us
-            if (x1 > x2) {
-                tmp = x2;
-                x2 = x1;
-                x1 = tmp;
-            }
-            if (y1 > y2) {
-                tmp = y2;
-                y2 = y1;
-                y1 = tmp;
-            }
-
-            tmp = ctx.globalAlpha;
-            ctx.globalAlpha *= series.images.alpha;
-            ctx.drawImage(img,
-                          sx1, sy1, sx2 - sx1, sy2 - sy1,
-                          x1 + plotOffset.left, y1 + plotOffset.top,
-                          x2 - x1, y2 - y1);
-            ctx.globalAlpha = tmp;
-        }
-    }
-
-    function processRawData(plot, series, data, datapoints) {
-        if (!series.images.show)
-            return;
-
-        // format is Image, x1, y1, x2, y2 (opposite corners)
-        datapoints.format = [
-            { required: true },
-            { x: true, number: true, required: true },
-            { y: true, number: true, required: true },
-            { x: true, number: true, required: true },
-            { y: true, number: true, required: true }
-        ];
-    }
-    
-    function init(plot) {
-        plot.hooks.processRawData.push(processRawData);
-        plot.hooks.drawSeries.push(drawSeries);
-    }
-    
-    $.plot.plugins.push({
-        init: init,
-        options: options,
-        name: 'image',
-        version: '1.1'
-    });
-})(jQuery);
-

--- a/js/flot/jquery.flot.image.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(c){var a={series:{images:{show:false,alpha:1,anchor:"corner"}}};c.plot.image={};c.plot.image.loadDataImages=function(g,f,k){var j=[],h=[];var i=f.series.images.show;c.each(g,function(l,m){if(!(i||m.images.show)){return}if(m.data){m=m.data}c.each(m,function(n,o){if(typeof o[0]=="string"){j.push(o[0]);h.push(o)}})});c.plot.image.load(j,function(l){c.each(h,function(n,o){var m=o[0];if(l[m]){o[0]=l[m]}});k()})};c.plot.image.load=function(h,i){var g=h.length,f={};if(g==0){i({})}c.each(h,function(k,j){var l=function(){--g;f[j]=this;if(g==0){i(f)}};c("<img />").load(l).error(l).attr("src",j)})};function d(q,o,l){var m=q.getPlotOffset();if(!l.images||!l.images.show){return}var r=l.datapoints.points,n=l.datapoints.pointsize;for(var t=0;t<r.length;t+=n){var y=r[t],w=r[t+1],g=r[t+2],v=r[t+3],f=r[t+4],h=l.xaxis,u=l.yaxis,x;if(!y||y.width<=0||y.height<=0){continue}if(w>v){x=v;v=w;w=x}if(g>f){x=f;f=g;g=x}if(l.images.anchor=="center"){x=0.5*(v-w)/(y.width-1);w-=x;v+=x;x=0.5*(f-g)/(y.height-1);g-=x;f+=x}if(w==v||g==f||w>=h.max||v<=h.min||g>=u.max||f<=u.min){continue}var k=0,s=0,j=y.width,p=y.height;if(w<h.min){k+=(j-k)*(h.min-w)/(v-w);w=h.min}if(v>h.max){j+=(j-k)*(h.max-v)/(v-w);v=h.max}if(g<u.min){p+=(s-p)*(u.min-g)/(f-g);g=u.min}if(f>u.max){s+=(s-p)*(u.max-f)/(f-g);f=u.max}w=h.p2c(w);v=h.p2c(v);g=u.p2c(g);f=u.p2c(f);if(w>v){x=v;v=w;w=x}if(g>f){x=f;f=g;g=x}x=o.globalAlpha;o.globalAlpha*=l.images.alpha;o.drawImage(y,k,s,j-k,p-s,w+m.left,g+m.top,v-w,f-g);o.globalAlpha=x}}function b(i,f,g,h){if(!f.images.show){return}h.format=[{required:true},{x:true,number:true,required:true},{y:true,number:true,required:true},{x:true,number:true,required:true},{y:true,number:true,required:true}]}function e(f){f.hooks.processRawData.push(b);f.hooks.drawSeries.push(d)}c.plot.plugins.push({init:e,options:a,name:"image",version:"1.1"})})(jQuery);
+

file:a/js/flot/jquery.flot.js (deleted)
--- a/js/flot/jquery.flot.js
+++ /dev/null
@@ -1,2600 +1,1 @@
-/*! Javascript plotting library for jQuery, v. 0.7.
- *
- * Released under the MIT license by IOLA, December 2007.
- *
- */
 
-// first an inline dependency, jquery.colorhelpers.js, we inline it here
-// for convenience
-
-/* Plugin for jQuery for working with colors.
- * 
- * Version 1.1.
- * 
- * Inspiration from jQuery color animation plugin by John Resig.
- *
- * Released under the MIT license by Ole Laursen, October 2009.
- *
- * Examples:
- *
- *   $.color.parse("#fff").scale('rgb', 0.25).add('a', -0.5).toString()
- *   var c = $.color.extract($("#mydiv"), 'background-color');
- *   console.log(c.r, c.g, c.b, c.a);
- *   $.color.make(100, 50, 25, 0.4).toString() // returns "rgba(100,50,25,0.4)"
- *
- * Note that .scale() and .add() return the same modified object
- * instead of making a new one.
- *
- * V. 1.1: Fix error handling so e.g. parsing an empty string does
- * produce a color rather than just crashing.
- */ 
-(function(B){B.color={};B.color.make=function(F,E,C,D){var G={};G.r=F||0;G.g=E||0;G.b=C||0;G.a=D!=null?D:1;G.add=function(J,I){for(var H=0;H<J.length;++H){G[J.charAt(H)]+=I}return G.normalize()};G.scale=function(J,I){for(var H=0;H<J.length;++H){G[J.charAt(H)]*=I}return G.normalize()};G.toString=function(){if(G.a>=1){return"rgb("+[G.r,G.g,G.b].join(",")+")"}else{return"rgba("+[G.r,G.g,G.b,G.a].join(",")+")"}};G.normalize=function(){function H(J,K,I){return K<J?J:(K>I?I:K)}G.r=H(0,parseInt(G.r),255);G.g=H(0,parseInt(G.g),255);G.b=H(0,parseInt(G.b),255);G.a=H(0,G.a,1);return G};G.clone=function(){return B.color.make(G.r,G.b,G.g,G.a)};return G.normalize()};B.color.extract=function(D,C){var E;do{E=D.css(C).toLowerCase();if(E!=""&&E!="transparent"){break}D=D.parent()}while(!B.nodeName(D.get(0),"body"));if(E=="rgba(0, 0, 0, 0)"){E="transparent"}return B.color.parse(E)};B.color.parse=function(F){var E,C=B.color.make;if(E=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(F)){return C(parseInt(E[1],10),parseInt(E[2],10),parseInt(E[3],10))}if(E=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(F)){return C(parseInt(E[1],10),parseInt(E[2],10),parseInt(E[3],10),parseFloat(E[4]))}if(E=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(F)){return C(parseFloat(E[1])*2.55,parseFloat(E[2])*2.55,parseFloat(E[3])*2.55)}if(E=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(F)){return C(parseFloat(E[1])*2.55,parseFloat(E[2])*2.55,parseFloat(E[3])*2.55,parseFloat(E[4]))}if(E=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(F)){return C(parseInt(E[1],16),parseInt(E[2],16),parseInt(E[3],16))}if(E=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(F)){return C(parseInt(E[1]+E[1],16),parseInt(E[2]+E[2],16),parseInt(E[3]+E[3],16))}var D=B.trim(F).toLowerCase();if(D=="transparent"){return C(255,255,255,0)}else{E=A[D]||[0,0,0];return C(E[0],E[1],E[2])}};var A={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);
-
-// the actual Flot code
-(function($) {
-    function Plot(placeholder, data_, options_, plugins) {
-        // data is on the form:
-        //   [ series1, series2 ... ]
-        // where series is either just the data as [ [x1, y1], [x2, y2], ... ]
-        // or { data: [ [x1, y1], [x2, y2], ... ], label: "some label", ... }
-        
-        var series = [],
-            options = {
-                // the color theme used for graphs
-                colors: ["#edc240", "#afd8f8", "#cb4b4b", "#4da74d", "#9440ed"],
-                legend: {
-                    show: true,
-                    noColumns: 1, // number of colums in legend table
-                    labelFormatter: null, // fn: string -> string
-                    labelBoxBorderColor: "#ccc", // border color for the little label boxes
-                    container: null, // container (as jQuery object) to put legend in, null means default on top of graph
-                    position: "ne", // position of default legend container within plot
-                    margin: 5, // distance from grid edge to default legend container within plot
-                    backgroundColor: null, // null means auto-detect
-                    backgroundOpacity: 0.85 // set to 0 to avoid background
-                },
-                xaxis: {
-                    show: null, // null = auto-detect, true = always, false = never
-                    position: "bottom", // or "top"
-                    mode: null, // null or "time"
-                    color: null, // base color, labels, ticks
-                    tickColor: null, // possibly different color of ticks, e.g. "rgba(0,0,0,0.15)"
-                    transform: null, // null or f: number -> number to transform axis
-                    inverseTransform: null, // if transform is set, this should be the inverse function
-                    min: null, // min. value to show, null means set automatically
-                    max: null, // max. value to show, null means set automatically
-                    autoscaleMargin: null, // margin in % to add if auto-setting min/max
-                    ticks: null, // either [1, 3] or [[1, "a"], 3] or (fn: axis info -> ticks) or app. number of ticks for auto-ticks
-                    tickFormatter: null, // fn: number -> string
-                    labelWidth: null, // size of tick labels in pixels
-                    labelHeight: null,
-                    reserveSpace: null, // whether to reserve space even if axis isn't shown
-                    tickLength: null, // size in pixels of ticks, or "full" for whole line
-                    alignTicksWithAxis: null, // axis number or null for no sync
-                    
-                    // mode specific options
-                    tickDecimals: null, // no. of decimals, null means auto
-                    tickSize: null, // number or [number, "unit"]
-                    minTickSize: null, // number or [number, "unit"]
-                    monthNames: null, // list of names of months
-                    timeformat: null, // format string to use
-                    twelveHourClock: false // 12 or 24 time in time mode
-                },
-                yaxis: {
-                    autoscaleMargin: 0.02,
-                    position: "left" // or "right"
-                },
-                xaxes: [],
-                yaxes: [],
-                series: {
-                    points: {
-                        show: false,
-                        radius: 3,
-                        lineWidth: 2, // in pixels
-                        fill: true,
-                        fillColor: "#ffffff",
-                        symbol: "circle" // or callback
-                    },
-                    lines: {
-                        // we don't put in show: false so we can see
-                        // whether lines were actively disabled 
-                        lineWidth: 2, // in pixels
-                        fill: false,
-                        fillColor: null,
-                        steps: false
-                    },
-                    bars: {
-                        show: false,
-                        lineWidth: 2, // in pixels
-                        barWidth: 1, // in units of the x axis
-                        fill: true,
-                        fillColor: null,
-                        align: "left", // or "center" 
-                        horizontal: false
-                    },
-                    shadowSize: 3
-                },
-                grid: {
-                    show: true,
-                    aboveData: false,
-                    color: "#545454", // primary color used for outline and labels
-                    backgroundColor: null, // null for transparent, else color
-                    borderColor: null, // set if different from the grid color
-                    tickColor: null, // color for the ticks, e.g. "rgba(0,0,0,0.15)"
-                    labelMargin: 5, // in pixels
-                    axisMargin: 8, // in pixels
-                    borderWidth: 2, // in pixels
-                    minBorderMargin: null, // in pixels, null means taken from points radius
-                    markings: null, // array of ranges or fn: axes -> array of ranges
-                    markingsColor: "#f4f4f4",
-                    markingsLineWidth: 2,
-                    // interactive stuff
-                    clickable: false,
-                    hoverable: false,
-                    autoHighlight: true, // highlight in case mouse is near
-                    mouseActiveRadius: 10 // how far the mouse can be away to activate an item
-                },
-                hooks: {}
-            },
-        canvas = null,      // the canvas for the plot itself
-        overlay = null,     // canvas for interactive stuff on top of plot
-        eventHolder = null, // jQuery object that events should be bound to
-        ctx = null, octx = null,
-        xaxes = [], yaxes = [],
-        plotOffset = { left: 0, right: 0, top: 0, bottom: 0},
-        canvasWidth = 0, canvasHeight = 0,
-        plotWidth = 0, plotHeight = 0,
-        hooks = {
-            processOptions: [],
-            processRawData: [],
-            processDatapoints: [],
-            drawSeries: [],
-            draw: [],
-            bindEvents: [],
-            drawOverlay: [],
-            shutdown: []
-        },
-        plot = this;
-
-        // public functions
-        plot.setData = setData;
-        plot.setupGrid = setupGrid;
-        plot.draw = draw;
-        plot.getPlaceholder = function() { return placeholder; };
-        plot.getCanvas = function() { return canvas; };
-        plot.getPlotOffset = function() { return plotOffset; };
-        plot.width = function () { return plotWidth; };
-        plot.height = function () { return plotHeight; };
-        plot.offset = function () {
-            var o = eventHolder.offset();
-            o.left += plotOffset.left;
-            o.top += plotOffset.top;
-            return o;
-        };
-        plot.getData = function () { return series; };
-        plot.getAxes = function () {
-            var res = {}, i;
-            $.each(xaxes.concat(yaxes), function (_, axis) {
-                if (axis)
-                    res[axis.direction + (axis.n != 1 ? axis.n : "") + "axis"] = axis;
-            });
-            return res;
-        };
-        plot.getXAxes = function () { return xaxes; };
-        plot.getYAxes = function () { return yaxes; };
-        plot.c2p = canvasToAxisCoords;
-        plot.p2c = axisToCanvasCoords;
-        plot.getOptions = function () { return options; };
-        plot.highlight = highlight;
-        plot.unhighlight = unhighlight;
-        plot.triggerRedrawOverlay = triggerRedrawOverlay;
-        plot.pointOffset = function(point) {
-            return {
-                left: parseInt(xaxes[axisNumber(point, "x") - 1].p2c(+point.x) + plotOffset.left),
-                top: parseInt(yaxes[axisNumber(point, "y") - 1].p2c(+point.y) + plotOffset.top)
-            };
-        };
-        plot.shutdown = shutdown;
-        plot.resize = function () {
-            getCanvasDimensions();
-            resizeCanvas(canvas);
-            resizeCanvas(overlay);
-        };
-
-        // public attributes
-        plot.hooks = hooks;
-        
-        // initialize
-        initPlugins(plot);
-        parseOptions(options_);
-        setupCanvases();
-        setData(data_);
-        setupGrid();
-        draw();
-        bindEvents();
-
-
-        function executeHooks(hook, args) {
-            args = [plot].concat(args);
-            for (var i = 0; i < hook.length; ++i)
-                hook[i].apply(this, args);
-        }
-
-        function initPlugins() {
-            for (var i = 0; i < plugins.length; ++i) {
-                var p = plugins[i];
-                p.init(plot);
-                if (p.options)
-                    $.extend(true, options, p.options);
-            }
-        }
-        
-        function parseOptions(opts) {
-            var i;
-            
-            $.extend(true, options, opts);
-            
-            if (options.xaxis.color == null)
-                options.xaxis.color = options.grid.color;
-            if (options.yaxis.color == null)
-                options.yaxis.color = options.grid.color;
-            
-            if (options.xaxis.tickColor == null) // backwards-compatibility
-                options.xaxis.tickColor = options.grid.tickColor;
-            if (options.yaxis.tickColor == null) // backwards-compatibility
-                options.yaxis.tickColor = options.grid.tickColor;
-
-            if (options.grid.borderColor == null)
-                options.grid.borderColor = options.grid.color;
-            if (options.grid.tickColor == null)
-                options.grid.tickColor = $.color.parse(options.grid.color).scale('a', 0.22).toString();
-            
-            // fill in defaults in axes, copy at least always the
-            // first as the rest of the code assumes it'll be there
-            for (i = 0; i < Math.max(1, options.xaxes.length); ++i)
-                options.xaxes[i] = $.extend(true, {}, options.xaxis, options.xaxes[i]);
-            for (i = 0; i < Math.max(1, options.yaxes.length); ++i)
-                options.yaxes[i] = $.extend(true, {}, options.yaxis, options.yaxes[i]);
-
-            // backwards compatibility, to be removed in future
-            if (options.xaxis.noTicks && options.xaxis.ticks == null)
-                options.xaxis.ticks = options.xaxis.noTicks;
-            if (options.yaxis.noTicks && options.yaxis.ticks == null)
-                options.yaxis.ticks = options.yaxis.noTicks;
-            if (options.x2axis) {
-                options.xaxes[1] = $.extend(true, {}, options.xaxis, options.x2axis);
-                options.xaxes[1].position = "top";
-            }
-            if (options.y2axis) {
-                options.yaxes[1] = $.extend(true, {}, options.yaxis, options.y2axis);
-                options.yaxes[1].position = "right";
-            }
-            if (options.grid.coloredAreas)
-                options.grid.markings = options.grid.coloredAreas;
-            if (options.grid.coloredAreasColor)
-                options.grid.markingsColor = options.grid.coloredAreasColor;
-            if (options.lines)
-                $.extend(true, options.series.lines, options.lines);
-            if (options.points)
-                $.extend(true, options.series.points, options.points);
-            if (options.bars)
-                $.extend(true, options.series.bars, options.bars);
-            if (options.shadowSize != null)
-                options.series.shadowSize = options.shadowSize;
-
-            // save options on axes for future reference
-            for (i = 0; i < options.xaxes.length; ++i)
-                getOrCreateAxis(xaxes, i + 1).options = options.xaxes[i];
-            for (i = 0; i < options.yaxes.length; ++i)
-                getOrCreateAxis(yaxes, i + 1).options = options.yaxes[i];
-
-            // add hooks from options
-            for (var n in hooks)
-                if (options.hooks[n] && options.hooks[n].length)
-                    hooks[n] = hooks[n].concat(options.hooks[n]);
-
-            executeHooks(hooks.processOptions, [options]);
-        }
-
-        function setData(d) {
-            series = parseData(d);
-            fillInSeriesOptions();
-            processData();
-        }
-        
-        function parseData(d) {
-            var res = [];
-            for (var i = 0; i < d.length; ++i) {
-                var s = $.extend(true, {}, options.series);
-
-                if (d[i].data != null) {
-                    s.data = d[i].data; // move the data instead of deep-copy
-                    delete d[i].data;
-
-                    $.extend(true, s, d[i]);
-
-                    d[i].data = s.data;
-                }
-                else
-                    s.data = d[i];
-                res.push(s);
-            }
-
-            return res;
-        }
-        
-        function axisNumber(obj, coord) {
-            var a = obj[coord + "axis"];
-            if (typeof a == "object") // if we got a real axis, extract number
-                a = a.n;
-            if (typeof a != "number")
-                a = 1; // default to first axis
-            return a;
-        }
-
-        function allAxes() {
-            // return flat array without annoying null entries
-            return $.grep(xaxes.concat(yaxes), function (a) { return a; });
-        }
-        
-        function canvasToAxisCoords(pos) {
-            // return an object with x/y corresponding to all used axes 
-            var res = {}, i, axis;
-            for (i = 0; i < xaxes.length; ++i) {
-                axis = xaxes[i];
-                if (axis && axis.used)
-                    res["x" + axis.n] = axis.c2p(pos.left);
-            }
-
-            for (i = 0; i < yaxes.length; ++i) {
-                axis = yaxes[i];
-                if (axis && axis.used)
-                    res["y" + axis.n] = axis.c2p(pos.top);
-            }
-            
-            if (res.x1 !== undefined)
-                res.x = res.x1;
-            if (res.y1 !== undefined)
-                res.y = res.y1;
-
-            return res;
-        }
-        
-        function axisToCanvasCoords(pos) {
-            // get canvas coords from the first pair of x/y found in pos
-            var res = {}, i, axis, key;
-
-            for (i = 0; i < xaxes.length; ++i) {
-                axis = xaxes[i];
-                if (axis && axis.used) {
-                    key = "x" + axis.n;
-                    if (pos[key] == null && axis.n == 1)
-                        key = "x";
-
-                    if (pos[key] != null) {
-                        res.left = axis.p2c(pos[key]);
-                        break;
-                    }
-                }
-            }
-            
-            for (i = 0; i < yaxes.length; ++i) {
-                axis = yaxes[i];
-                if (axis && axis.used) {
-                    key = "y" + axis.n;
-                    if (pos[key] == null && axis.n == 1)
-                        key = "y";
-
-                    if (pos[key] != null) {
-                        res.top = axis.p2c(pos[key]);
-                        break;
-                    }
-                }
-            }
-            
-            return res;
-        }
-        
-        function getOrCreateAxis(axes, number) {
-            if (!axes[number - 1])
-                axes[number - 1] = {
-                    n: number, // save the number for future reference
-                    direction: axes == xaxes ? "x" : "y",
-                    options: $.extend(true, {}, axes == xaxes ? options.xaxis : options.yaxis)
-                };
-                
-            return axes[number - 1];
-        }
-
-        function fillInSeriesOptions() {
-            var i;
-            
-            // collect what we already got of colors
-            var neededColors = series.length,
-                usedColors = [],
-                assignedColors = [];
-            for (i = 0; i < series.length; ++i) {
-                var sc = series[i].color;
-                if (sc != null) {
-                    --neededColors;
-                    if (typeof sc == "number")
-                        assignedColors.push(sc);
-                    else
-                        usedColors.push($.color.parse(series[i].color));
-                }
-            }
-            
-            // we might need to generate more colors if higher indices
-            // are assigned
-            for (i = 0; i < assignedColors.length; ++i) {
-                neededColors = Math.max(neededColors, assignedColors[i] + 1);
-            }
-
-            // produce colors as needed
-            var colors = [], variation = 0;
-            i = 0;
-            while (colors.length < neededColors) {
-                var c;
-                if (options.colors.length == i) // check degenerate case
-                    c = $.color.make(100, 100, 100);
-                else
-                    c = $.color.parse(options.colors[i]);
-
-                // vary color if needed
-                var sign = variation % 2 == 1 ? -1 : 1;
-                c.scale('rgb', 1 + sign * Math.ceil(variation / 2) * 0.2)
-
-                // FIXME: if we're getting to close to something else,
-                // we should probably skip this one
-                colors.push(c);
-                
-                ++i;
-                if (i >= options.colors.length) {
-                    i = 0;
-                    ++variation;
-                }
-            }
-
-            // fill in the options
-            var colori = 0, s;
-            for (i = 0; i < series.length; ++i) {
-                s = series[i];
-                
-                // assign colors
-                if (s.color == null) {
-                    s.color = colors[colori].toString();
-                    ++colori;
-                }
-                else if (typeof s.color == "number")
-                    s.color = colors[s.color].toString();
-
-                // turn on lines automatically in case nothing is set
-                if (s.lines.show == null) {
-                    var v, show = true;
-                    for (v in s)
-                        if (s[v] && s[v].show) {
-                            show = false;
-                            break;
-                        }
-                    if (show)
-                        s.lines.show = true;
-                }
-
-                // setup axes
-                s.xaxis = getOrCreateAxis(xaxes, axisNumber(s, "x"));
-                s.yaxis = getOrCreateAxis(yaxes, axisNumber(s, "y"));
-            }
-        }
-        
-        function processData() {
-            var topSentry = Number.POSITIVE_INFINITY,
-                bottomSentry = Number.NEGATIVE_INFINITY,
-                fakeInfinity = Number.MAX_VALUE,
-                i, j, k, m, length,
-                s, points, ps, x, y, axis, val, f, p;
-
-            function updateAxis(axis, min, max) {
-                if (min < axis.datamin && min != -fakeInfinity)
-                    axis.datamin = min;
-                if (max > axis.datamax && max != fakeInfinity)
-                    axis.datamax = max;
-            }
-
-            $.each(allAxes(), function (_, axis) {
-                // init axis
-                axis.datamin = topSentry;
-                axis.datamax = bottomSentry;
-                axis.used = false;
-            });
-            
-            for (i = 0; i < series.length; ++i) {
-                s = series[i];
-                s.datapoints = { points: [] };
-                
-                executeHooks(hooks.processRawData, [ s, s.data, s.datapoints ]);
-            }
-            
-            // first pass: clean and copy data
-            for (i = 0; i < series.length; ++i) {
-                s = series[i];
-
-                var data = s.data, format = s.datapoints.format;
-
-                if (!format) {
-                    format = [];
-                    // find out how to copy
-                    format.push({ x: true, number: true, required: true });
-                    format.push({ y: true, number: true, required: true });
-
-                    if (s.bars.show || (s.lines.show && s.lines.fill)) {
-                        format.push({ y: true, number: true, required: false, defaultValue: 0 });
-                        if (s.bars.horizontal) {
-                            delete format[format.length - 1].y;
-                            format[format.length - 1].x = true;
-                        }
-                    }
-                    
-                    s.datapoints.format = format;
-                }
-
-                if (s.datapoints.pointsize != null)
-                    continue; // already filled in
-
-                s.datapoints.pointsize = format.length;
-                
-                ps = s.datapoints.pointsize;
-                points = s.datapoints.points;
-
-                insertSteps = s.lines.show && s.lines.steps;
-                s.xaxis.used = s.yaxis.used = true;
-                
-                for (j = k = 0; j < data.length; ++j, k += ps) {
-                    p = data[j];
-
-                    var nullify = p == null;
-                    if (!nullify) {
-                        for (m = 0; m < ps; ++m) {
-                            val = p[m];
-                            f = format[m];
-
-                            if (f) {
-                                if (f.number && val != null) {
-                                    val = +val; // convert to number
-                                    if (isNaN(val))
-                                        val = null;
-                                    else if (val == Infinity)
-                                        val = fakeInfinity;
-                                    else if (val == -Infinity)
-                                        val = -fakeInfinity;
-                                }
-
-                                if (val == null) {
-                                    if (f.required)
-                                        nullify = true;
-                                    
-                                    if (f.defaultValue != null)
-                                        val = f.defaultValue;
-                                }
-                            }
-                            
-                            points[k + m] = val;
-                        }
-                    }
-                    
-                    if (nullify) {
-                        for (m = 0; m < ps; ++m) {
-                            val = points[k + m];
-                            if (val != null) {
-                                f = format[m];
-                                // extract min/max info
-                                if (f.x)
-                                    updateAxis(s.xaxis, val, val);
-                                if (f.y)
-                                    updateAxis(s.yaxis, val, val);
-                            }
-                            points[k + m] = null;
-                        }
-                    }
-                    else {
-                        // a little bit of line specific stuff that
-                        // perhaps shouldn't be here, but lacking
-                        // better means...
-                        if (insertSteps && k > 0
-                            && points[k - ps] != null
-                            && points[k - ps] != points[k]
-                            && points[k - ps + 1] != points[k + 1]) {
-                            // copy the point to make room for a middle point
-                            for (m = 0; m < ps; ++m)
-                                points[k + ps + m] = points[k + m];
-
-                            // middle point has same y
-                            points[k + 1] = points[k - ps + 1];
-
-                            // we've added a point, better reflect that
-                            k += ps;
-                        }
-                    }
-                }
-            }
-
-            // give the hooks a chance to run
-            for (i = 0; i < series.length; ++i) {
-                s = series[i];
-                
-                executeHooks(hooks.processDatapoints, [ s, s.datapoints]);
-            }
-
-            // second pass: find datamax/datamin for auto-scaling
-            for (i = 0; i < series.length; ++i) {
-                s = series[i];
-                points = s.datapoints.points,
-                ps = s.datapoints.pointsize;
-
-                var xmin = topSentry, ymin = topSentry,
-                    xmax = bottomSentry, ymax = bottomSentry;
-                
-                for (j = 0; j < points.length; j += ps) {
-                    if (points[j] == null)
-                        continue;
-
-                    for (m = 0; m < ps; ++m) {
-                        val = points[j + m];
-                        f = format[m];
-                        if (!f || val == fakeInfinity || val == -fakeInfinity)
-                            continue;
-                        
-                        if (f.x) {
-                            if (val < xmin)
-                                xmin = val;
-                            if (val > xmax)
-                                xmax = val;
-                        }
-                        if (f.y) {
-                            if (val < ymin)
-                                ymin = val;
-                            if (val > ymax)
-                                ymax = val;
-                        }
-                    }
-                }
-                
-                if (s.bars.show) {
-                    // make sure we got room for the bar on the dancing floor
-                    var delta = s.bars.align == "left" ? 0 : -s.bars.barWidth/2;
-                    if (s.bars.horizontal) {
-                        ymin += delta;
-                        ymax += delta + s.bars.barWidth;
-                    }
-                    else {
-                        xmin += delta;
-                        xmax += delta + s.bars.barWidth;
-                    }
-                }
-                
-                updateAxis(s.xaxis, xmin, xmax);
-                updateAxis(s.yaxis, ymin, ymax);
-            }
-
-            $.each(allAxes(), function (_, axis) {
-                if (axis.datamin == topSentry)
-                    axis.datamin = null;
-                if (axis.datamax == bottomSentry)
-                    axis.datamax = null;
-            });
-        }
-
-        function makeCanvas(skipPositioning, cls) {
-            var c = document.createElement('canvas');
-            c.className = cls;
-            c.width = canvasWidth;
-            c.height = canvasHeight;
-                    
-            if (!skipPositioning)
-                $(c).css({ position: 'absolute', left: 0, top: 0 });
-                
-            $(c).appendTo(placeholder);
-                
-            if (!c.getContext) // excanvas hack
-                c = window.G_vmlCanvasManager.initElement(c);
-
-            // used for resetting in case we get replotted
-            c.getContext("2d").save();
-            
-            return c;
-        }
-
-        function getCanvasDimensions() {
-            canvasWidth = placeholder.width();
-            canvasHeight = placeholder.height();
-            
-            if (canvasWidth <= 0 || canvasHeight <= 0)
-                throw "Invalid dimensions for plot, width = " + canvasWidth + ", height = " + canvasHeight;
-        }
-
-        function resizeCanvas(c) {
-            // resizing should reset the state (excanvas seems to be
-            // buggy though)
-            if (c.width != canvasWidth)
-                c.width = canvasWidth;
-
-            if (c.height != canvasHeight)
-                c.height = canvasHeight;
-
-            // so try to get back to the initial state (even if it's
-            // gone now, this should be safe according to the spec)
-            var cctx = c.getContext("2d");
-            cctx.restore();
-
-            // and save again
-            cctx.save();
-        }
-        
-        function setupCanvases() {
-            var reused,
-                existingCanvas = placeholder.children("canvas.base"),
-                existingOverlay = placeholder.children("canvas.overlay");
-
-            if (existingCanvas.length == 0 || existingOverlay == 0) {
-                // init everything
-                
-                placeholder.html(""); // make sure placeholder is clear
-            
-                placeholder.css({ padding: 0 }); // padding messes up the positioning
-                
-                if (placeholder.css("position") == 'static')
-                    placeholder.css("position", "relative"); // for positioning labels and overlay
-
-                getCanvasDimensions();
-                
-                canvas = makeCanvas(true, "base");
-                overlay = makeCanvas(false, "overlay"); // overlay canvas for interactive features
-
-                reused = false;
-            }
-            else {
-                // reuse existing elements
-
-                canvas = existingCanvas.get(0);
-                overlay = existingOverlay.get(0);
-
-                reused = true;
-            }
-
-            ctx = canvas.getContext("2d");
-            octx = overlay.getContext("2d");
-
-            // we include the canvas in the event holder too, because IE 7
-            // sometimes has trouble with the stacking order
-            eventHolder = $([overlay, canvas]);
-
-            if (reused) {
-                // run shutdown in the old plot object
-                placeholder.data("plot").shutdown();
-
-                // reset reused canvases
-                plot.resize();
-                
-                // make sure overlay pixels are cleared (canvas is cleared when we redraw)
-                octx.clearRect(0, 0, canvasWidth, canvasHeight);
-                
-                // then whack any remaining obvious garbage left
-                eventHolder.unbind();
-                placeholder.children().not([canvas, overlay]).remove();
-            }
-
-            // save in case we get replotted
-            placeholder.data("plot", plot);
-        }
-
-        function bindEvents() {
-            // bind events
-            if (options.grid.hoverable) {
-                eventHolder.mousemove(onMouseMove);
-                eventHolder.mouseleave(onMouseLeave);
-            }
-
-            if (options.grid.clickable)
-                eventHolder.click(onClick);
-
-            executeHooks(hooks.bindEvents, [eventHolder]);
-        }
-
-        function shutdown() {
-            if (redrawTimeout)
-                clearTimeout(redrawTimeout);
-            
-            eventHolder.unbind("mousemove", onMouseMove);
-            eventHolder.unbind("mouseleave", onMouseLeave);
-            eventHolder.unbind("click", onClick);
-            
-            executeHooks(hooks.shutdown, [eventHolder]);
-        }
-
-        function setTransformationHelpers(axis) {
-            // set helper functions on the axis, assumes plot area
-            // has been computed already
-            
-            function identity(x) { return x; }
-            
-            var s, m, t = axis.options.transform || identity,
-                it = axis.options.inverseTransform;
-            
-            // precompute how much the axis is scaling a point
-            // in canvas space
-            if (axis.direction == "x") {
-                s = axis.scale = plotWidth / Math.abs(t(axis.max) - t(axis.min));
-                m = Math.min(t(axis.max), t(axis.min));
-            }
-            else {
-                s = axis.scale = plotHeight / Math.abs(t(axis.max) - t(axis.min));
-                s = -s;
-                m = Math.max(t(axis.max), t(axis.min));
-            }
-
-            // data point to canvas coordinate
-            if (t == identity) // slight optimization
-                axis.p2c = function (p) { return (p - m) * s; };
-            else
-                axis.p2c = function (p) { return (t(p) - m) * s; };
-            // canvas coordinate to data point
-            if (!it)
-                axis.c2p = function (c) { return m + c / s; };
-            else
-                axis.c2p = function (c) { return it(m + c / s); };
-        }
-
-        function measureTickLabels(axis) {
-            var opts = axis.options, i, ticks = axis.ticks || [], labels = [],
-                l, w = opts.labelWidth, h = opts.labelHeight, dummyDiv;
-
-            function makeDummyDiv(labels, width) {
-                return $('<div style="position:absolute;top:-10000px;' + width + 'font-size:smaller">' +
-                         '<div class="' + axis.direction + 'Axis ' + axis.direction + axis.n + 'Axis">'
-                         + labels.join("") + '</div></div>')
-                    .appendTo(placeholder);
-            }
-            
-            if (axis.direction == "x") {
-                // to avoid measuring the widths of the labels (it's slow), we
-                // construct fixed-size boxes and put the labels inside
-                // them, we don't need the exact figures and the
-                // fixed-size box content is easy to center
-                if (w == null)
-                    w = Math.floor(canvasWidth / (ticks.length > 0 ? ticks.length : 1));
-
-                // measure x label heights
-                if (h == null) {
-                    labels = [];
-                    for (i = 0; i < ticks.length; ++i) {
-                        l = ticks[i].label;
-                        if (l)
-                            labels.push('<div class="tickLabel" style="float:left;width:' + w + 'px">' + l + '</div>');
-                    }
-
-                    if (labels.length > 0) {
-                        // stick them all in the same div and measure
-                        // collective height
-                        labels.push('<div style="clear:left"></div>');
-                        dummyDiv = makeDummyDiv(labels, "width:10000px;");
-                        h = dummyDiv.height();
-                        dummyDiv.remove();
-                    }
-                }
-            }
-            else if (w == null || h == null) {
-                // calculate y label dimensions
-                for (i = 0; i < ticks.length; ++i) {
-                    l = ticks[i].label;
-                    if (l)
-                        labels.push('<div class="tickLabel">' + l + '</div>');
-                }
-                
-                if (labels.length > 0) {
-                    dummyDiv = makeDummyDiv(labels, "");
-                    if (w == null)
-                        w = dummyDiv.children().width();
-                    if (h == null)
-                        h = dummyDiv.find("div.tickLabel").height();
-                    dummyDiv.remove();
-                }
-            }
-
-            if (w == null)
-                w = 0;
-            if (h == null)
-                h = 0;
-
-            axis.labelWidth = w;
-            axis.labelHeight = h;
-        }
-
-        function allocateAxisBoxFirstPhase(axis) {
-            // find the bounding box of the axis by looking at label
-            // widths/heights and ticks, make room by diminishing the
-            // plotOffset
-
-            var lw = axis.labelWidth,
-                lh = axis.labelHeight,
-                pos = axis.options.position,
-                tickLength = axis.options.tickLength,
-                axismargin = options.grid.axisMargin,
-                padding = options.grid.labelMargin,
-                all = axis.direction == "x" ? xaxes : yaxes,
-                index;
-
-            // determine axis margin
-            var samePosition = $.grep(all, function (a) {
-                return a && a.options.position == pos && a.reserveSpace;
-            });
-            if ($.inArray(axis, samePosition) == samePosition.length - 1)
-                axismargin = 0; // outermost
-
-            // determine tick length - if we're innermost, we can use "full"
-            if (tickLength == null)
-                tickLength = "full";
-
-            var sameDirection = $.grep(all, function (a) {
-                return a && a.reserveSpace;
-            });
-
-            var innermost = $.inArray(axis, sameDirection) == 0;
-            if (!innermost && tickLength == "full")
-                tickLength = 5;
-                
-            if (!isNaN(+tickLength))
-                padding += +tickLength;
-
-            // compute box
-            if (axis.direction == "x") {
-                lh += padding;
-                
-                if (pos == "bottom") {
-                    plotOffset.bottom += lh + axismargin;
-                    axis.box = { top: canvasHeight - plotOffset.bottom, height: lh };
-                }
-                else {
-                    axis.box = { top: plotOffset.top + axismargin, height: lh };
-                    plotOffset.top += lh + axismargin;
-                }
-            }
-            else {
-                lw += padding;
-                
-                if (pos == "left") {
-                    axis.box = { left: plotOffset.left + axismargin, width: lw };
-                    plotOffset.left += lw + axismargin;
-                }
-                else {
-                    plotOffset.right += lw + axismargin;
-                    axis.box = { left: canvasWidth - plotOffset.right, width: lw };
-                }
-            }
-
-             // save for future reference
-            axis.position = pos;
-            axis.tickLength = tickLength;
-            axis.box.padding = padding;
-            axis.innermost = innermost;
-        }
-
-        function allocateAxisBoxSecondPhase(axis) {
-            // set remaining bounding box coordinates
-            if (axis.direction == "x") {
-                axis.box.left = plotOffset.left;
-                axis.box.width = plotWidth;
-            }
-            else {
-                axis.box.top = plotOffset.top;
-                axis.box.height = plotHeight;
-            }
-        }
-        
-        function setupGrid() {
-            var i, axes = allAxes();
-
-            // first calculate the plot and axis box dimensions
-
-            $.each(axes, function (_, axis) {
-                axis.show = axis.options.show;
-                if (axis.show == null)
-                    axis.show = axis.used; // by default an axis is visible if it's got data
-                
-                axis.reserveSpace = axis.show || axis.options.reserveSpace;
-
-                setRange(axis);
-            });
-
-            allocatedAxes = $.grep(axes, function (axis) { return axis.reserveSpace; });
-
-            plotOffset.left = plotOffset.right = plotOffset.top = plotOffset.bottom = 0;
-            if (options.grid.show) {
-                $.each(allocatedAxes, function (_, axis) {
-                    // make the ticks
-                    setupTickGeneration(axis);
-                    setTicks(axis);
-                    snapRangeToTicks(axis, axis.ticks);
-
-                    // find labelWidth/Height for axis
-                    measureTickLabels(axis);
-                });
-
-                // with all dimensions in house, we can compute the
-                // axis boxes, start from the outside (reverse order)
-                for (i = allocatedAxes.length - 1; i >= 0; --i)
-                    allocateAxisBoxFirstPhase(allocatedAxes[i]);
-
-                // make sure we've got enough space for things that
-                // might stick out
-                var minMargin = options.grid.minBorderMargin;
-                if (minMargin == null) {
-                    minMargin = 0;
-                    for (i = 0; i < series.length; ++i)
-                        minMargin = Math.max(minMargin, series[i].points.radius + series[i].points.lineWidth/2);
-                }
-                    
-                for (var a in plotOffset) {
-                    plotOffset[a] += options.grid.borderWidth;
-                    plotOffset[a] = Math.max(minMargin, plotOffset[a]);
-                }
-            }
-            
-            plotWidth = canvasWidth - plotOffset.left - plotOffset.right;
-            plotHeight = canvasHeight - plotOffset.bottom - plotOffset.top;
-
-            // now we got the proper plotWidth/Height, we can compute the scaling
-            $.each(axes, function (_, axis) {
-                setTransformationHelpers(axis);
-            });
-
-            if (options.grid.show) {
-                $.each(allocatedAxes, function (_, axis) {
-                    allocateAxisBoxSecondPhase(axis);
-                });
-
-                insertAxisLabels();
-            }
-            
-            insertLegend();
-        }
-        
-        function setRange(axis) {
-            var opts = axis.options,
-                min = +(opts.min != null ? opts.min : axis.datamin),
-                max = +(opts.max != null ? opts.max : axis.datamax),
-                delta = max - min;
-
-            if (delta == 0.0) {
-                // degenerate case
-                var widen = max == 0 ? 1 : 0.01;
-
-                if (opts.min == null)
-                    min -= widen;
-                // always widen max if we couldn't widen min to ensure we
-                // don't fall into min == max which doesn't work
-                if (opts.max == null || opts.min != null)
-                    max += widen;
-            }
-            else {
-                // consider autoscaling
-                var margin = opts.autoscaleMargin;
-                if (margin != null) {
-                    if (opts.min == null) {
-                        min -= delta * margin;
-                        // make sure we don't go below zero if all values
-                        // are positive
-                        if (min < 0 && axis.datamin != null && axis.datamin >= 0)
-                            min = 0;
-                    }
-                    if (opts.max == null) {
-                        max += delta * margin;
-                        if (max > 0 && axis.datamax != null && axis.datamax <= 0)
-                            max = 0;
-                    }
-                }
-            }
-            axis.min = min;
-            axis.max = max;
-        }
-
-        function setupTickGeneration(axis) {
-            var opts = axis.options;
-                
-            // estimate number of ticks
-            var noTicks;
-            if (typeof opts.ticks == "number" && opts.ticks > 0)
-                noTicks = opts.ticks;
-            else
-                // heuristic based on the model a*sqrt(x) fitted to
-                // some data points that seemed reasonable
-                noTicks = 0.3 * Math.sqrt(axis.direction == "x" ? canvasWidth : canvasHeight);
-
-            var delta = (axis.max - axis.min) / noTicks,
-                size, generator, unit, formatter, i, magn, norm;
-
-            if (opts.mode == "time") {
-                // pretty handling of time
-                
-                // map of app. size of time units in milliseconds
-                var timeUnitSize = {
-                    "second": 1000,
-                    "minute": 60 * 1000,
-                    "hour": 60 * 60 * 1000,
-                    "day": 24 * 60 * 60 * 1000,
-                    "month": 30 * 24 * 60 * 60 * 1000,
-                    "year": 365.2425 * 24 * 60 * 60 * 1000
-                };
-
-
-                // the allowed tick sizes, after 1 year we use
-                // an integer algorithm
-                var spec = [
-                    [1, "second"], [2, "second"], [5, "second"], [10, "second"],
-                    [30, "second"], 
-                    [1, "minute"], [2, "minute"], [5, "minute"], [10, "minute"],
-                    [30, "minute"], 
-                    [1, "hour"], [2, "hour"], [4, "hour"],
-                    [8, "hour"], [12, "hour"],
-                    [1, "day"], [2, "day"], [3, "day"],
-                    [0.25, "month"], [0.5, "month"], [1, "month"],
-                    [2, "month"], [3, "month"], [6, "month"],
-                    [1, "year"]
-                ];
-
-                var minSize = 0;
-                if (opts.minTickSize != null) {
-                    if (typeof opts.tickSize == "number")
-                        minSize = opts.tickSize;
-                    else
-                        minSize = opts.minTickSize[0] * timeUnitSize[opts.minTickSize[1]];
-                }
-
-                for (var i = 0; i < spec.length - 1; ++i)
-                    if (delta < (spec[i][0] * timeUnitSize[spec[i][1]]
-                                 + spec[i + 1][0] * timeUnitSize[spec[i + 1][1]]) / 2
-                       && spec[i][0] * timeUnitSize[spec[i][1]] >= minSize)
-                        break;
-                size = spec[i][0];
-                unit = spec[i][1];
-                
-                // special-case the possibility of several years
-                if (unit == "year") {
-                    magn = Math.pow(10, Math.floor(Math.log(delta / timeUnitSize.year) / Math.LN10));
-                    norm = (delta / timeUnitSize.year) / magn;
-                    if (norm < 1.5)
-                        size = 1;
-                    else if (norm < 3)
-                        size = 2;
-                    else if (norm < 7.5)
-                        size = 5;
-                    else
-                        size = 10;
-
-                    size *= magn;
-                }
-
-                axis.tickSize = opts.tickSize || [size, unit];
-                
-                generator = function(axis) {
-                    var ticks = [],
-                        tickSize = axis.tickSize[0], unit = axis.tickSize[1],
-                        d = new Date(axis.min);
-                    
-                    var step = tickSize * timeUnitSize[unit];
-
-                    if (unit == "second")
-                        d.setUTCSeconds(floorInBase(d.getUTCSeconds(), tickSize));
-                    if (unit == "minute")
-                        d.setUTCMinutes(floorInBase(d.getUTCMinutes(), tickSize));
-                    if (unit == "hour")
-                        d.setUTCHours(floorInBase(d.getUTCHours(), tickSize));
-                    if (unit == "month")
-                        d.setUTCMonth(floorInBase(d.getUTCMonth(), tickSize));
-                    if (unit == "year")
-                        d.setUTCFullYear(floorInBase(d.getUTCFullYear(), tickSize));
-                    
-                    // reset smaller components
-                    d.setUTCMilliseconds(0);
-                    if (step >= timeUnitSize.minute)
-                        d.setUTCSeconds(0);
-                    if (step >= timeUnitSize.hour)
-                        d.setUTCMinutes(0);
-                    if (step >= timeUnitSize.day)
-                        d.setUTCHours(0);
-                    if (step >= timeUnitSize.day * 4)
-                        d.setUTCDate(1);
-                    if (step >= timeUnitSize.year)
-                        d.setUTCMonth(0);
-
-
-                    var carry = 0, v = Number.NaN, prev;
-                    do {
-                        prev = v;
-                        v = d.getTime();
-                        ticks.push(v);
-                        if (unit == "month") {
-                            if (tickSize < 1) {
-                                // a bit complicated - we'll divide the month
-                                // up but we need to take care of fractions
-                                // so we don't end up in the middle of a day
-                                d.setUTCDate(1);
-                                var start = d.getTime();
-                                d.setUTCMonth(d.getUTCMonth() + 1);
-                                var end = d.getTime();
-                                d.setTime(v + carry * timeUnitSize.hour + (end - start) * tickSize);
-                                carry = d.getUTCHours();
-                                d.setUTCHours(0);
-                            }
-                            else
-                                d.setUTCMonth(d.getUTCMonth() + tickSize);
-                        }
-                        else if (unit == "year") {
-                            d.setUTCFullYear(d.getUTCFullYear() + tickSize);
-                        }
-                        else
-                            d.setTime(v + step);
-                    } while (v < axis.max && v != prev);
-
-                    return ticks;
-                };
-
-                formatter = function (v, axis) {
-                    var d = new Date(v);
-
-                    // first check global format
-                    if (opts.timeformat != null)
-                        return $.plot.formatDate(d, opts.timeformat, opts.monthNames);
-                    
-                    var t = axis.tickSize[0] * timeUnitSize[axis.tickSize[1]];
-                    var span = axis.max - axis.min;
-                    var suffix = (opts.twelveHourClock) ? " %p" : "";
-                    
-                    if (t < timeUnitSize.minute)
-                        fmt = "%h:%M:%S" + suffix;
-                    else if (t < timeUnitSize.day) {
-                        if (span < 2 * timeUnitSize.day)
-                            fmt = "%h:%M" + suffix;
-                        else
-                            fmt = "%b %d %h:%M" + suffix;
-                    }
-                    else if (t < timeUnitSize.month)
-                        fmt = "%b %d";
-                    else if (t < timeUnitSize.year) {
-                        if (span < timeUnitSize.year)
-                            fmt = "%b";
-                        else
-                            fmt = "%b %y";
-                    }
-                    else
-                        fmt = "%y";
-                    
-                    return $.plot.formatDate(d, fmt, opts.monthNames);
-                };
-            }
-            else {
-                // pretty rounding of base-10 numbers
-                var maxDec = opts.tickDecimals;
-                var dec = -Math.floor(Math.log(delta) / Math.LN10);
-                if (maxDec != null && dec > maxDec)
-                    dec = maxDec;
-
-                magn = Math.pow(10, -dec);
-                norm = delta / magn; // norm is between 1.0 and 10.0
-                
-                if (norm < 1.5)
-                    size = 1;
-                else if (norm < 3) {
-                    size = 2;
-                    // special case for 2.5, requires an extra decimal
-                    if (norm > 2.25 && (maxDec == null || dec + 1 <= maxDec)) {
-                        size = 2.5;
-                        ++dec;
-                    }
-                }
-                else if (norm < 7.5)
-                    size = 5;
-                else
-                    size = 10;
-
-                size *= magn;
-                
-                if (opts.minTickSize != null && size < opts.minTickSize)
-                    size = opts.minTickSize;
-
-                axis.tickDecimals = Math.max(0, maxDec != null ? maxDec : dec);
-                axis.tickSize = opts.tickSize || size;
-
-                generator = function (axis) {
-                    var ticks = [];
-
-                    // spew out all possible ticks
-                    var start = floorInBase(axis.min, axis.tickSize),
-                        i = 0, v = Number.NaN, prev;
-                    do {
-                        prev = v;
-                        v = start + i * axis.tickSize;
-                        ticks.push(v);
-                        ++i;
-                    } while (v < axis.max && v != prev);
-                    return ticks;
-                };
-
-                formatter = function (v, axis) {
-                    return v.toFixed(axis.tickDecimals);
-                };
-            }
-
-            if (opts.alignTicksWithAxis != null) {
-                var otherAxis = (axis.direction == "x" ? xaxes : yaxes)[opts.alignTicksWithAxis - 1];
-                if (otherAxis && otherAxis.used && otherAxis != axis) {
-                    // consider snapping min/max to outermost nice ticks
-                    var niceTicks = generator(axis);
-                    if (niceTicks.length > 0) {
-                        if (opts.min == null)
-                            axis.min = Math.min(axis.min, niceTicks[0]);
-                        if (opts.max == null && niceTicks.length > 1)
-                            axis.max = Math.max(axis.max, niceTicks[niceTicks.length - 1]);
-                    }
-                    
-                    generator = function (axis) {
-                        // copy ticks, scaled to this axis
-                        var ticks = [], v, i;
-                        for (i = 0; i < otherAxis.ticks.length; ++i) {
-                            v = (otherAxis.ticks[i].v - otherAxis.min) / (otherAxis.max - otherAxis.min);
-                            v = axis.min + v * (axis.max - axis.min);
-                            ticks.push(v);
-                        }
-                        return ticks;
-                    };
-                    
-                    // we might need an extra decimal since forced
-                    // ticks don't necessarily fit naturally
-                    if (axis.mode != "time" && opts.tickDecimals == null) {
-                        var extraDec = Math.max(0, -Math.floor(Math.log(delta) / Math.LN10) + 1),
-                            ts = generator(axis);
-
-                        // only proceed if the tick interval rounded
-                        // with an extra decimal doesn't give us a
-                        // zero at end
-                        if (!(ts.length > 1 && /\..*0$/.test((ts[1] - ts[0]).toFixed(extraDec))))
-                            axis.tickDecimals = extraDec;
-                    }
-                }
-            }
-
-            axis.tickGenerator = generator;
-            if ($.isFunction(opts.tickFormatter))
-                axis.tickFormatter = function (v, axis) { return "" + opts.tickFormatter(v, axis); };
-            else
-                axis.tickFormatter = formatter;
-        }
-        
-        function setTicks(axis) {
-            var oticks = axis.options.ticks, ticks = [];
-            if (oticks == null || (typeof oticks == "number" && oticks > 0))
-                ticks = axis.tickGenerator(axis);
-            else if (oticks) {
-                if ($.isFunction(oticks))
-                    // generate the ticks
-                    ticks = oticks({ min: axis.min, max: axis.max });
-                else
-                    ticks = oticks;
-            }
-
-            // clean up/labelify the supplied ticks, copy them over
-            var i, v;
-            axis.ticks = [];
-            for (i = 0; i < ticks.length; ++i) {
-                var label = null;
-                var t = ticks[i];
-                if (typeof t == "object") {
-                    v = +t[0];
-                    if (t.length > 1)
-                        label = t[1];
-                }
-                else
-                    v = +t;
-                if (label == null)
-                    label = axis.tickFormatter(v, axis);
-                if (!isNaN(v))
-                    axis.ticks.push({ v: v, label: label });
-            }
-        }
-
-        function snapRangeToTicks(axis, ticks) {
-            if (axis.options.autoscaleMargin && ticks.length > 0) {
-                // snap to ticks
-                if (axis.options.min == null)
-                    axis.min = Math.min(axis.min, ticks[0].v);
-                if (axis.options.max == null && ticks.length > 1)
-                    axis.max = Math.max(axis.max, ticks[ticks.length - 1].v);
-            }
-        }
-      
-        function draw() {
-            ctx.clearRect(0, 0, canvasWidth, canvasHeight);
-
-            var grid = options.grid;
-
-            // draw background, if any
-            if (grid.show && grid.backgroundColor)
-                drawBackground();
-            
-            if (grid.show && !grid.aboveData)
-                drawGrid();
-
-            for (var i = 0; i < series.length; ++i) {
-                executeHooks(hooks.drawSeries, [ctx, series[i]]);
-                drawSeries(series[i]);
-            }
-
-            executeHooks(hooks.draw, [ctx]);
-            
-            if (grid.show && grid.aboveData)
-                drawGrid();
-        }
-
-        function extractRange(ranges, coord) {
-            var axis, from, to, key, axes = allAxes();
-
-            for (i = 0; i < axes.length; ++i) {
-                axis = axes[i];
-                if (axis.direction == coord) {
-                    key = coord + axis.n + "axis";
-                    if (!ranges[key] && axis.n == 1)
-                        key = coord + "axis"; // support x1axis as xaxis
-                    if (ranges[key]) {
-                        from = ranges[key].from;
-                        to = ranges[key].to;
-                        break;
-                    }
-                }
-            }
-
-            // backwards-compat stuff - to be removed in future
-            if (!ranges[key]) {
-                axis = coord == "x" ? xaxes[0] : yaxes[0];
-                from = ranges[coord + "1"];
-                to = ranges[coord + "2"];
-            }
-
-            // auto-reverse as an added bonus
-            if (from != null && to != null && from > to) {
-                var tmp = from;
-                from = to;
-                to = tmp;
-            }
-            
-            return { from: from, to: to, axis: axis };
-        }
-        
-        function drawBackground() {
-            ctx.save();
-            ctx.translate(plotOffset.left, plotOffset.top);
-
-            ctx.fillStyle = getColorOrGradient(options.grid.backgroundColor, plotHeight, 0, "rgba(255, 255, 255, 0)");
-            ctx.fillRect(0, 0, plotWidth, plotHeight);
-            ctx.restore();
-        }
-
-        function drawGrid() {
-            var i;
-            
-            ctx.save();
-            ctx.translate(plotOffset.left, plotOffset.top);
-
-            // draw markings
-            var markings = options.grid.markings;
-            if (markings) {
-                if ($.isFunction(markings)) {
-                    var axes = plot.getAxes();
-                    // xmin etc. is backwards compatibility, to be
-                    // removed in the future
-                    axes.xmin = axes.xaxis.min;
-                    axes.xmax = axes.xaxis.max;
-                    axes.ymin = axes.yaxis.min;
-                    axes.ymax = axes.yaxis.max;
-                    
-                    markings = markings(axes);
-                }
-
-                for (i = 0; i < markings.length; ++i) {
-                    var m = markings[i],
-                        xrange = extractRange(m, "x"),
-                        yrange = extractRange(m, "y");
-
-                    // fill in missing
-                    if (xrange.from == null)
-                        xrange.from = xrange.axis.min;
-                    if (xrange.to == null)
-                        xrange.to = xrange.axis.max;
-                    if (yrange.from == null)
-                        yrange.from = yrange.axis.min;
-                    if (yrange.to == null)
-                        yrange.to = yrange.axis.max;
-
-                    // clip
-                    if (xrange.to < xrange.axis.min || xrange.from > xrange.axis.max ||
-                        yrange.to < yrange.axis.min || yrange.from > yrange.axis.max)
-                        continue;
-
-                    xrange.from = Math.max(xrange.from, xrange.axis.min);
-                    xrange.to = Math.min(xrange.to, xrange.axis.max);
-                    yrange.from = Math.max(yrange.from, yrange.axis.min);
-                    yrange.to = Math.min(yrange.to, yrange.axis.max);
-
-                    if (xrange.from == xrange.to && yrange.from == yrange.to)
-                        continue;
-
-                    // then draw
-                    xrange.from = xrange.axis.p2c(xrange.from);
-                    xrange.to = xrange.axis.p2c(xrange.to);
-                    yrange.from = yrange.axis.p2c(yrange.from);
-                    yrange.to = yrange.axis.p2c(yrange.to);
-                    
-                    if (xrange.from == xrange.to || yrange.from == yrange.to) {
-                        // draw line
-                        ctx.beginPath();
-                        ctx.strokeStyle = m.color || options.grid.markingsColor;
-                        ctx.lineWidth = m.lineWidth || options.grid.markingsLineWidth;
-                        ctx.moveTo(xrange.from, yrange.from);
-                        ctx.lineTo(xrange.to, yrange.to);
-                        ctx.stroke();
-                    }
-                    else {
-                        // fill area
-                        ctx.fillStyle = m.color || options.grid.markingsColor;
-                        ctx.fillRect(xrange.from, yrange.to,
-                                     xrange.to - xrange.from,
-                                     yrange.from - yrange.to);
-                    }
-                }
-            }
-            
-            // draw the ticks
-            var axes = allAxes(), bw = options.grid.borderWidth;
-
-            for (var j = 0; j < axes.length; ++j) {
-                var axis = axes[j], box = axis.box,
-                    t = axis.tickLength, x, y, xoff, yoff;
-                if (!axis.show || axis.ticks.length == 0)
-                    continue
-                
-                ctx.strokeStyle = axis.options.tickColor || $.color.parse(axis.options.color).scale('a', 0.22).toString();
-                ctx.lineWidth = 1;
-
-                // find the edges
-                if (axis.direction == "x") {
-                    x = 0;
-                    if (t == "full")
-                        y = (axis.position == "top" ? 0 : plotHeight);
-                    else
-                        y = box.top - plotOffset.top + (axis.position == "top" ? box.height : 0);
-                }
-                else {
-                    y = 0;
-                    if (t == "full")
-                        x = (axis.position == "left" ? 0 : plotWidth);
-                    else
-                        x = box.left - plotOffset.left + (axis.position == "left" ? box.width : 0);
-                }
-                
-                // draw tick bar
-                if (!axis.innermost) {
-                    ctx.beginPath();
-                    xoff = yoff = 0;
-                    if (axis.direction == "x")
-                        xoff = plotWidth;
-                    else
-                        yoff = plotHeight;
-                    
-                    if (ctx.lineWidth == 1) {
-                        x = Math.floor(x) + 0.5;
-                        y = Math.floor(y) + 0.5;
-                    }
-
-                    ctx.moveTo(x, y);
-                    ctx.lineTo(x + xoff, y + yoff);
-                    ctx.stroke();
-                }
-
-                // draw ticks
-                ctx.beginPath();
-                for (i = 0; i < axis.ticks.length; ++i) {
-                    var v = axis.ticks[i].v;
-                    
-                    xoff = yoff = 0;
-
-                    if (v < axis.min || v > axis.max
-                        // skip those lying on the axes if we got a border
-                        || (t == "full" && bw > 0
-                            && (v == axis.min || v == axis.max)))
-                        continue;
-
-                    if (axis.direction == "x") {
-                        x = axis.p2c(v);
-                        yoff = t == "full" ? -plotHeight : t;
-                        
-                        if (axis.position == "top")
-                            yoff = -yoff;
-                    }
-                    else {
-                        y = axis.p2c(v);
-                        xoff = t == "full" ? -plotWidth : t;
-                        
-                        if (axis.position == "left")
-                            xoff = -xoff;
-                    }
-
-                    if (ctx.lineWidth == 1) {
-                        if (axis.direction == "x")
-                            x = Math.floor(x) + 0.5;
-                        else
-                            y = Math.floor(y) + 0.5;
-                    }
-
-                    ctx.moveTo(x, y);
-                    ctx.lineTo(x + xoff, y + yoff);
-                }
-                
-                ctx.stroke();
-            }
-            
-            
-            // draw border
-            if (bw) {
-                ctx.lineWidth = bw;
-                ctx.strokeStyle = options.grid.borderColor;
-                ctx.strokeRect(-bw/2, -bw/2, plotWidth + bw, plotHeight + bw);
-            }
-
-            ctx.restore();
-        }
-
-        function insertAxisLabels() {
-            placeholder.find(".tickLabels").remove();
-            
-            var html = ['<div class="tickLabels" style="font-size:smaller">'];
-
-            var axes = allAxes();
-            for (var j = 0; j < axes.length; ++j) {
-                var axis = axes[j], box = axis.box;
-                if (!axis.show)
-                    continue;
-                //debug: html.push('<div style="position:absolute;opacity:0.10;background-color:red;left:' + box.left + 'px;top:' + box.top + 'px;width:' + box.width +  'px;height:' + box.height + 'px"></div>')
-                html.push('<div class="' + axis.direction + 'Axis ' + axis.direction + axis.n + 'Axis" style="color:' + axis.options.color + '">');
-                for (var i = 0; i < axis.ticks.length; ++i) {
-                    var tick = axis.ticks[i];
-                    if (!tick.label || tick.v < axis.min || tick.v > axis.max)
-                        continue;
-
-                    var pos = {}, align;
-                    
-                    if (axis.direction == "x") {
-                        align = "center";
-                        pos.left = Math.round(plotOffset.left + axis.p2c(tick.v) - axis.labelWidth/2);
-                        if (axis.position == "bottom")
-                            pos.top = box.top + box.padding;
-                        else
-                            pos.bottom = canvasHeight - (box.top + box.height - box.padding);
-                    }
-                    else {
-                        pos.top = Math.round(plotOffset.top + axis.p2c(tick.v) - axis.labelHeight/2);
-                        if (axis.position == "left") {
-                            pos.right = canvasWidth - (box.left + box.width - box.padding)
-                            align = "right";
-                        }
-                        else {
-                            pos.left = box.left + box.padding;
-                            align = "left";
-                        }
-                    }
-
-                    pos.width = axis.labelWidth;
-
-                    var style = ["position:absolute", "text-align:" + align ];
-                    for (var a in pos)
-                        style.push(a + ":" + pos[a] + "px")
-                    
-                    html.push('<div class="tickLabel" style="' + style.join(';') + '">' + tick.label + '</div>');
-                }
-                html.push('</div>');
-            }
-
-            html.push('</div>');
-
-            placeholder.append(html.join(""));
-        }
-
-        function drawSeries(series) {
-            if (series.lines.show)
-                drawSeriesLines(series);
-            if (series.bars.show)
-                drawSeriesBars(series);
-            if (series.points.show)
-                drawSeriesPoints(series);
-        }
-        
-        function drawSeriesLines(series) {
-            function plotLine(datapoints, xoffset, yoffset, axisx, axisy) {
-                var points = datapoints.points,
-                    ps = datapoints.pointsize,
-                    prevx = null, prevy = null;
-                
-                ctx.beginPath();
-                for (var i = ps; i < points.length; i += ps) {
-                    var x1 = points[i - ps], y1 = points[i - ps + 1],
-                        x2 = points[i], y2 = points[i + 1];
-                    
-                    if (x1 == null || x2 == null)
-                        continue;
-
-                    // clip with ymin
-                    if (y1 <= y2 && y1 < axisy.min) {
-                        if (y2 < axisy.min)
-                            continue;   // line segment is outside
-                        // compute new intersection point
-                        x1 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
-                        y1 = axisy.min;
-                    }
-                    else if (y2 <= y1 && y2 < axisy.min) {
-                        if (y1 < axisy.min)
-                            continue;
-                        x2 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
-                        y2 = axisy.min;
-                    }
-
-                    // clip with ymax
-                    if (y1 >= y2 && y1 > axisy.max) {
-                        if (y2 > axisy.max)
-                            continue;
-                        x1 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
-                        y1 = axisy.max;
-                    }
-                    else if (y2 >= y1 && y2 > axisy.max) {
-                        if (y1 > axisy.max)
-                            continue;
-                        x2 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
-                        y2 = axisy.max;
-                    }
-
-                    // clip with xmin
-                    if (x1 <= x2 && x1 < axisx.min) {
-                        if (x2 < axisx.min)
-                            continue;
-                        y1 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
-                        x1 = axisx.min;
-                    }
-                    else if (x2 <= x1 && x2 < axisx.min) {
-                        if (x1 < axisx.min)
-                            continue;
-                        y2 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
-                        x2 = axisx.min;
-                    }
-
-                    // clip with xmax
-                    if (x1 >= x2 && x1 > axisx.max) {
-                        if (x2 > axisx.max)
-                            continue;
-                        y1 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
-                        x1 = axisx.max;
-                    }
-                    else if (x2 >= x1 && x2 > axisx.max) {
-                        if (x1 > axisx.max)
-                            continue;
-                        y2 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
-                        x2 = axisx.max;
-                    }
-
-                    if (x1 != prevx || y1 != prevy)
-                        ctx.moveTo(axisx.p2c(x1) + xoffset, axisy.p2c(y1) + yoffset);
-                    
-                    prevx = x2;
-                    prevy = y2;
-                    ctx.lineTo(axisx.p2c(x2) + xoffset, axisy.p2c(y2) + yoffset);
-                }
-                ctx.stroke();
-            }
-
-            function plotLineArea(datapoints, axisx, axisy) {
-                var points = datapoints.points,
-                    ps = datapoints.pointsize,
-                    bottom = Math.min(Math.max(0, axisy.min), axisy.max),
-                    i = 0, top, areaOpen = false,
-                    ypos = 1, segmentStart = 0, segmentEnd = 0;
-
-                // we process each segment in two turns, first forward
-                // direction to sketch out top, then once we hit the
-                // end we go backwards to sketch the bottom
-                while (true) {
-                    if (ps > 0 && i > points.length + ps)
-                        break;
-
-                    i += ps; // ps is negative if going backwards
-
-                    var x1 = points[i - ps],
-                        y1 = points[i - ps + ypos],
-                        x2 = points[i], y2 = points[i + ypos];
-
-                    if (areaOpen) {
-                        if (ps > 0 && x1 != null && x2 == null) {
-                            // at turning point
-                            segmentEnd = i;
-                            ps = -ps;
-                            ypos = 2;
-                            continue;
-                        }
-
-                        if (ps < 0 && i == segmentStart + ps) {
-                            // done with the reverse sweep
-                            ctx.fill();
-                            areaOpen = false;
-                            ps = -ps;
-                            ypos = 1;
-                            i = segmentStart = segmentEnd + ps;
-                            continue;
-                        }
-                    }
-
-                    if (x1 == null || x2 == null)
-                        continue;
-
-                    // clip x values
-                    
-                    // clip with xmin
-                    if (x1 <= x2 && x1 < axisx.min) {
-                        if (x2 < axisx.min)
-                            continue;
-                        y1 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
-                        x1 = axisx.min;
-                    }
-                    else if (x2 <= x1 && x2 < axisx.min) {
-                        if (x1 < axisx.min)
-                            continue;
-                        y2 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1;
-                        x2 = axisx.min;
-                    }
-
-                    // clip with xmax
-                    if (x1 >= x2 && x1 > axisx.max) {
-                        if (x2 > axisx.max)
-                            continue;
-                        y1 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
-                        x1 = axisx.max;
-                    }
-                    else if (x2 >= x1 && x2 > axisx.max) {
-                        if (x1 > axisx.max)
-                            continue;
-                        y2 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1;
-                        x2 = axisx.max;
-                    }
-
-                    if (!areaOpen) {
-                        // open area
-                        ctx.beginPath();
-                        ctx.moveTo(axisx.p2c(x1), axisy.p2c(bottom));
-                        areaOpen = true;
-                    }
-                    
-                    // now first check the case where both is outside
-                    if (y1 >= axisy.max && y2 >= axisy.max) {
-                        ctx.lineTo(axisx.p2c(x1), axisy.p2c(axisy.max));
-                        ctx.lineTo(axisx.p2c(x2), axisy.p2c(axisy.max));
-                        continue;
-                    }
-                    else if (y1 <= axisy.min && y2 <= axisy.min) {
-                        ctx.lineTo(axisx.p2c(x1), axisy.p2c(axisy.min));
-                        ctx.lineTo(axisx.p2c(x2), axisy.p2c(axisy.min));
-                        continue;
-                    }
-                    
-                    // else it's a bit more complicated, there might
-                    // be a flat maxed out rectangle first, then a
-                    // triangular cutout or reverse; to find these
-                    // keep track of the current x values
-                    var x1old = x1, x2old = x2;
-
-                    // clip the y values, without shortcutting, we
-                    // go through all cases in turn
-                    
-                    // clip with ymin
-                    if (y1 <= y2 && y1 < axisy.min && y2 >= axisy.min) {
-                        x1 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
-                        y1 = axisy.min;
-                    }
-                    else if (y2 <= y1 && y2 < axisy.min && y1 >= axisy.min) {
-                        x2 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1;
-                        y2 = axisy.min;
-                    }
-
-                    // clip with ymax
-                    if (y1 >= y2 && y1 > axisy.max && y2 <= axisy.max) {
-                        x1 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
-                        y1 = axisy.max;
-                    }
-                    else if (y2 >= y1 && y2 > axisy.max && y1 <= axisy.max) {
-                        x2 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1;
-                        y2 = axisy.max;
-                    }
-
-                    // if the x value was changed we got a rectangle
-                    // to fill
-                    if (x1 != x1old) {
-                        ctx.lineTo(axisx.p2c(x1old), axisy.p2c(y1));
-                        // it goes to (x1, y1), but we fill that below
-                    }
-                    
-                    // fill triangular section, this sometimes result
-                    // in redundant points if (x1, y1) hasn't changed
-                    // from previous line to, but we just ignore that
-                    ctx.lineTo(axisx.p2c(x1), axisy.p2c(y1));
-                    ctx.lineTo(axisx.p2c(x2), axisy.p2c(y2));
-
-                    // fill the other rectangle if it's there
-                    if (x2 != x2old) {
-                        ctx.lineTo(axisx.p2c(x2), axisy.p2c(y2));
-                        ctx.lineTo(axisx.p2c(x2old), axisy.p2c(y2));
-                    }
-                }
-            }
-
-            ctx.save();
-            ctx.translate(plotOffset.left, plotOffset.top);
-            ctx.lineJoin = "round";
-
-            var lw = series.lines.lineWidth,
-                sw = series.shadowSize;
-            // FIXME: consider another form of shadow when filling is turned on
-            if (lw > 0 && sw > 0) {
-                // draw shadow as a thick and thin line with transparency
-                ctx.lineWidth = sw;
-                ctx.strokeStyle = "rgba(0,0,0,0.1)";
-                // position shadow at angle from the mid of line
-                var angle = Math.PI/18;
-                plotLine(series.datapoints, Math.sin(angle) * (lw/2 + sw/2), Math.cos(angle) * (lw/2 + sw/2), series.xaxis, series.yaxis);
-                ctx.lineWidth = sw/2;
-                plotLine(series.datapoints, Math.sin(angle) * (lw/2 + sw/4), Math.cos(angle) * (lw/2 + sw/4), series.xaxis, series.yaxis);
-            }
-
-            ctx.lineWidth = lw;
-            ctx.strokeStyle = series.color;
-            var fillStyle = getFillStyle(series.lines, series.color, 0, plotHeight);
-            if (fillStyle) {
-                ctx.fillStyle = fillStyle;
-                plotLineArea(series.datapoints, series.xaxis, series.yaxis);
-            }
-
-            if (lw > 0)
-                plotLine(series.datapoints, 0, 0, series.xaxis, series.yaxis);
-            ctx.restore();
-        }
-
-        function drawSeriesPoints(series) {
-            function plotPoints(datapoints, radius, fillStyle, offset, shadow, axisx, axisy, symbol) {
-                var points = datapoints.points, ps = datapoints.pointsize;
-
-                for (var i = 0; i < points.length; i += ps) {
-                    var x = points[i], y = points[i + 1];
-                    if (x == null || x < axisx.min || x > axisx.max || y < axisy.min || y > axisy.max)
-                        continue;
-                    
-                    ctx.beginPath();
-                    x = axisx.p2c(x);
-                    y = axisy.p2c(y) + offset;
-                    if (symbol == "circle")
-                        ctx.arc(x, y, radius, 0, shadow ? Math.PI : Math.PI * 2, false);
-                    else
-                        symbol(ctx, x, y, radius, shadow);
-                    ctx.closePath();
-                    
-                    if (fillStyle) {
-                        ctx.fillStyle = fillStyle;
-                        ctx.fill();
-                    }
-                    ctx.stroke();
-                }
-            }
-            
-            ctx.save();
-            ctx.translate(plotOffset.left, plotOffset.top);
-
-            var lw = series.points.lineWidth,
-                sw = series.shadowSize,
-                radius = series.points.radius,
-                symbol = series.points.symbol;
-            if (lw > 0 && sw > 0) {
-                // draw shadow in two steps
-                var w = sw / 2;
-                ctx.lineWidth = w;
-                ctx.strokeStyle = "rgba(0,0,0,0.1)";
-                plotPoints(series.datapoints, radius, null, w + w/2, true,
-                           series.xaxis, series.yaxis, symbol);
-
-                ctx.strokeStyle = "rgba(0,0,0,0.2)";
-                plotPoints(series.datapoints, radius, null, w/2, true,
-                           series.xaxis, series.yaxis, symbol);
-            }
-
-            ctx.lineWidth = lw;
-            ctx.strokeStyle = series.color;
-            plotPoints(series.datapoints, radius,
-                       getFillStyle(series.points, series.color), 0, false,
-                       series.xaxis, series.yaxis, symbol);
-            ctx.restore();
-        }
-
-        function drawBar(x, y, b, barLeft, barRight, offset, fillStyleCallback, axisx, axisy, c, horizontal, lineWidth) {
-            var left, right, bottom, top,
-                drawLeft, drawRight, drawTop, drawBottom,
-                tmp;
-
-            // in horizontal mode, we start the bar from the left
-            // instead of from the bottom so it appears to be
-            // horizontal rather than vertical
-            if (horizontal) {
-                drawBottom = drawRight = drawTop = true;
-                drawLeft = false;
-                left = b;
-                right = x;
-                top = y + barLeft;
-                bottom = y + barRight;
-
-                // account for negative bars
-                if (right < left) {
-                    tmp = right;
-                    right = left;
-                    left = tmp;
-                    drawLeft = true;
-                    drawRight = false;
-                }
-            }
-            else {
-                drawLeft = drawRight = drawTop = true;
-                drawBottom = false;
-                left = x + barLeft;
-                right = x + barRight;
-                bottom = b;
-                top = y;
-
-                // account for negative bars
-                if (top < bottom) {
-                    tmp = top;
-                    top = bottom;
-                    bottom = tmp;
-                    drawBottom = true;
-                    drawTop = false;
-                }
-            }
-           
-            // clip
-            if (right < axisx.min || left > axisx.max ||
-                top < axisy.min || bottom > axisy.max)
-                return;
-            
-            if (left < axisx.min) {
-                left = axisx.min;
-                drawLeft = false;
-            }
-
-            if (right > axisx.max) {
-                right = axisx.max;
-                drawRight = false;
-            }
-
-            if (bottom < axisy.min) {
-                bottom = axisy.min;
-                drawBottom = false;
-            }
-            
-            if (top > axisy.max) {
-                top = axisy.max;
-                drawTop = false;
-            }
-
-            left = axisx.p2c(left);
-            bottom = axisy.p2c(bottom);
-            right = axisx.p2c(right);
-            top = axisy.p2c(top);
-            
-            // fill the bar
-            if (fillStyleCallback) {
-                c.beginPath();
-                c.moveTo(left, bottom);
-                c.lineTo(left, top);
-                c.lineTo(right, top);
-                c.lineTo(right, bottom);
-                c.fillStyle = fillStyleCallback(bottom, top);
-                c.fill();
-            }
-
-            // draw outline
-            if (lineWidth > 0 && (drawLeft || drawRight || drawTop || drawBottom)) {
-                c.beginPath();
-
-                // FIXME: inline moveTo is buggy with excanvas
-                c.moveTo(left, bottom + offset);
-                if (drawLeft)
-                    c.lineTo(left, top + offset);
-                else
-                    c.moveTo(left, top + offset);
-                if (drawTop)
-                    c.lineTo(right, top + offset);
-                else
-                    c.moveTo(right, top + offset);
-                if (drawRight)
-                    c.lineTo(right, bottom + offset);
-                else
-                    c.moveTo(right, bottom + offset);
-                if (drawBottom)
-                    c.lineTo(left, bottom + offset);
-                else
-                    c.moveTo(left, bottom + offset);
-                c.stroke();
-            }
-        }
-        
-        function drawSeriesBars(series) {
-            function plotBars(datapoints, barLeft, barRight, offset, fillStyleCallback, axisx, axisy) {
-                var points = datapoints.points, ps = datapoints.pointsize;
-                
-                for (var i = 0; i < points.length; i += ps) {
-                    if (points[i] == null)
-                        continue;
-                    drawBar(points[i], points[i + 1], points[i + 2], barLeft, barRight, offset, fillStyleCallback, axisx, axisy, ctx, series.bars.horizontal, series.bars.lineWidth);
-                }
-            }
-
-            ctx.save();
-            ctx.translate(plotOffset.left, plotOffset.top);
-
-            // FIXME: figure out a way to add shadows (for instance along the right edge)
-            ctx.lineWidth = series.bars.lineWidth;
-            ctx.strokeStyle = series.color;
-            var barLeft = series.bars.align == "left" ? 0 : -series.bars.barWidth/2;
-            var fillStyleCallback = series.bars.fill ? function (bottom, top) { return getFillStyle(series.bars, series.color, bottom, top); } : null;
-            plotBars(series.datapoints, barLeft, barLeft + series.bars.barWidth, 0, fillStyleCallback, series.xaxis, series.yaxis);
-            ctx.restore();
-        }
-
-        function getFillStyle(filloptions, seriesColor, bottom, top) {
-            var fill = filloptions.fill;
-            if (!fill)
-                return null;
-
-            if (filloptions.fillColor)
-                return getColorOrGradient(filloptions.fillColor, bottom, top, seriesColor);
-            
-            var c = $.color.parse(seriesColor);
-            c.a = typeof fill == "number" ? fill : 0.4;
-            c.normalize();
-            return c.toString();
-        }
-        
-        function insertLegend() {
-            placeholder.find(".legend").remove();
-
-            if (!options.legend.show)
-                return;
-            
-            var fragments = [], rowStarted = false,
-                lf = options.legend.labelFormatter, s, label;
-            for (var i = 0; i < series.length; ++i) {
-                s = series[i];
-                label = s.label;
-                if (!label)
-                    continue;
-                
-                if (i % options.legend.noColumns == 0) {
-                    if (rowStarted)
-                        fragments.push('</tr>');
-                    fragments.push('<tr>');
-                    rowStarted = true;
-                }
-
-                if (lf)
-                    label = lf(label, s);
-                
-                fragments.push(
-                    '<td class="legendColorBox"><div style="border:1px solid ' + options.legend.labelBoxBorderColor + ';padding:1px"><div style="width:4px;height:0;border:5px solid ' + s.color + ';overflow:hidden"></div></div></td>' +
-                    '<td class="legendLabel">' + label + '</td>');
-            }
-            if (rowStarted)
-                fragments.push('</tr>');
-            
-            if (fragments.length == 0)
-                return;
-
-            var table = '<table style="font-size:smaller;color:' + options.grid.color + '">' + fragments.join("") + '</table>';
-            if (options.legend.container != null)
-                $(options.legend.container).html(table);
-            else {
-                var pos = "",
-                    p = options.legend.position,
-                    m = options.legend.margin;
-                if (m[0] == null)
-                    m = [m, m];
-                if (p.charAt(0) == "n")
-                    pos += 'top:' + (m[1] + plotOffset.top) + 'px;';
-                else if (p.charAt(0) == "s")
-                    pos += 'bottom:' + (m[1] + plotOffset.bottom) + 'px;';
-                if (p.charAt(1) == "e")
-                    pos += 'right:' + (m[0] + plotOffset.right) + 'px;';
-                else if (p.charAt(1) == "w")
-                    pos += 'left:' + (m[0] + plotOffset.left) + 'px;';
-                var legend = $('<div class="legend">' + table.replace('style="', 'style="position:absolute;' + pos +';') + '</div>').appendTo(placeholder);
-                if (options.legend.backgroundOpacity != 0.0) {
-                    // put in the transparent background
-                    // separately to avoid blended labels and
-                    // label boxes
-                    var c = options.legend.backgroundColor;
-                    if (c == null) {
-                        c = options.grid.backgroundColor;
-                        if (c && typeof c == "string")
-                            c = $.color.parse(c);
-                        else
-                            c = $.color.extract(legend, 'background-color');
-                        c.a = 1;
-                        c = c.toString();
-                    }
-                    var div = legend.children();
-                    $('<div style="position:absolute;width:' + div.width() + 'px;height:' + div.height() + 'px;' + pos +'background-color:' + c + ';"> </div>').prependTo(legend).css('opacity', options.legend.backgroundOpacity);
-                }
-            }
-        }
-
-
-        // interactive features
-        
-        var highlights = [],
-            redrawTimeout = null;
-        
-        // returns the data item the mouse is over, or null if none is found
-        function findNearbyItem(mouseX, mouseY, seriesFilter) {
-            var maxDistance = options.grid.mouseActiveRadius,
-                smallestDistance = maxDistance * maxDistance + 1,
-                item = null, foundPoint = false, i, j;
-
-            for (i = series.length - 1; i >= 0; --i) {
-                if (!seriesFilter(series[i]))
-                    continue;
-                
-                var s = series[i],
-                    axisx = s.xaxis,
-                    axisy = s.yaxis,
-                    points = s.datapoints.points,
-                    ps = s.datapoints.pointsize,
-                    mx = axisx.c2p(mouseX), // precompute some stuff to make the loop faster
-                    my = axisy.c2p(mouseY),
-                    maxx = maxDistance / axisx.scale,
-                    maxy = maxDistance / axisy.scale;
-
-                // with inverse transforms, we can't use the maxx/maxy
-                // optimization, sadly
-                if (axisx.options.inverseTransform)
-                    maxx = Number.MAX_VALUE;
-                if (axisy.options.inverseTransform)
-                    maxy = Number.MAX_VALUE;
-                
-                if (s.lines.show || s.points.show) {
-                    for (j = 0; j < points.length; j += ps) {
-                        var x = points[j], y = points[j + 1];
-                        if (x == null)
-                            continue;
-                        
-                        // For points and lines, the cursor must be within a
-                        // certain distance to the data point
-                        if (x - mx > maxx || x - mx < -maxx ||
-                            y - my > maxy || y - my < -maxy)
-                            continue;
-
-                        // We have to calculate distances in pixels, not in
-                        // data units, because the scales of the axes may be different
-                        var dx = Math.abs(axisx.p2c(x) - mouseX),
-                            dy = Math.abs(axisy.p2c(y) - mouseY),
-                            dist = dx * dx + dy * dy; // we save the sqrt
-
-                        // use <= to ensure last point takes precedence
-                        // (last generally means on top of)
-                        if (dist < smallestDistance) {
-                            smallestDistance = dist;
-                            item = [i, j / ps];
-                        }
-                    }
-                }
-                    
-                if (s.bars.show && !item) { // no other point can be nearby
-                    var barLeft = s.bars.align == "left" ? 0 : -s.bars.barWidth/2,
-                        barRight = barLeft + s.bars.barWidth;
-                    
-                    for (j = 0; j < points.length; j += ps) {
-                        var x = points[j], y = points[j + 1], b = points[j + 2];
-                        if (x == null)
-                            continue;
-  
-                        // for a bar graph, the cursor must be inside the bar
-                        if (series[i].bars.horizontal ? 
-                            (mx <= Math.max(b, x) && mx >= Math.min(b, x) && 
-                             my >= y + barLeft && my <= y + barRight) :
-                            (mx >= x + barLeft && mx <= x + barRight &&
-                             my >= Math.min(b, y) && my <= Math.max(b, y)))
-                                item = [i, j / ps];
-                    }
-                }
-            }
-
-            if (item) {
-                i = item[0];
-                j = item[1];
-                ps = series[i].datapoints.pointsize;
-                
-                return { datapoint: series[i].datapoints.points.slice(j * ps, (j + 1) * ps),
-                         dataIndex: j,
-                         series: series[i],
-                         seriesIndex: i };
-            }
-            
-            return null;
-        }
-
-        function onMouseMove(e) {
-            if (options.grid.hoverable)
-                triggerClickHoverEvent("plothover", e,
-                                       function (s) { return s["hoverable"] != false; });
-        }
-
-        function onMouseLeave(e) {
-            if (options.grid.hoverable)
-                triggerClickHoverEvent("plothover", e,
-                                       function (s) { return false; });
-        }
-
-        function onClick(e) {
-            triggerClickHoverEvent("plotclick", e,
-                                   function (s) { return s["clickable"] != false; });
-        }
-
-        // trigger click or hover event (they send the same parameters
-        // so we share their code)
-        function triggerClickHoverEvent(eventname, event, seriesFilter) {
-            var offset = eventHolder.offset(),
-                canvasX = event.pageX - offset.left - plotOffset.left,
-                canvasY = event.pageY - offset.top - plotOffset.top,
-            pos = canvasToAxisCoords({ left: canvasX, top: canvasY });
-
-            pos.pageX = event.pageX;
-            pos.pageY = event.pageY;
-
-            var item = findNearbyItem(canvasX, canvasY, seriesFilter);
-
-            if (item) {
-                // fill in mouse pos for any listeners out there
-                item.pageX = parseInt(item.series.xaxis.p2c(item.datapoint[0]) + offset.left + plotOffset.left);
-                item.pageY = parseInt(item.series.yaxis.p2c(item.datapoint[1]) + offset.top + plotOffset.top);
-            }
-
-            if (options.grid.autoHighlight) {
-                // clear auto-highlights
-                for (var i = 0; i < highlights.length; ++i) {
-                    var h = highlights[i];
-                    if (h.auto == eventname &&
-                        !(item && h.series == item.series &&
-                          h.point[0] == item.datapoint[0] &&
-                          h.point[1] == item.datapoint[1]))
-                        unhighlight(h.series, h.point);
-                }
-                
-                if (item)
-                    highlight(item.series, item.datapoint, eventname);
-            }
-            
-            placeholder.trigger(eventname, [ pos, item ]);
-        }
-
-        function triggerRedrawOverlay() {
-            if (!redrawTimeout)
-                redrawTimeout = setTimeout(drawOverlay, 30);
-        }
-
-        function drawOverlay() {
-            redrawTimeout = null;
-
-            // draw highlights
-            octx.save();
-            octx.clearRect(0, 0, canvasWidth, canvasHeight);
-            octx.translate(plotOffset.left, plotOffset.top);
-            
-            var i, hi;
-            for (i = 0; i < highlights.length; ++i) {
-                hi = highlights[i];
-
-                if (hi.series.bars.show)
-                    drawBarHighlight(hi.series, hi.point);
-                else
-                    drawPointHighlight(hi.series, hi.point);
-            }
-            octx.restore();
-            
-            executeHooks(hooks.drawOverlay, [octx]);
-        }
-        
-        function highlight(s, point, auto) {
-            if (typeof s == "number")
-                s = series[s];
-
-            if (typeof point == "number") {
-                var ps = s.datapoints.pointsize;
-                point = s.datapoints.points.slice(ps * point, ps * (point + 1));
-            }
-
-            var i = indexOfHighlight(s, point);
-            if (i == -1) {
-                highlights.push({ series: s, point: point, auto: auto });
-
-                triggerRedrawOverlay();
-            }
-            else if (!auto)
-                highlights[i].auto = false;
-        }
-            
-        function unhighlight(s, point) {
-            if (s == null && point == null) {
-                highlights = [];
-                triggerRedrawOverlay();
-            }
-            
-            if (typeof s == "number")
-                s = series[s];
-
-            if (typeof point == "number")
-                point = s.data[point];
-
-            var i = indexOfHighlight(s, point);
-            if (i != -1) {
-                highlights.splice(i, 1);
-
-                triggerRedrawOverlay();
-            }
-        }
-        
-        function indexOfHighlight(s, p) {
-            for (var i = 0; i < highlights.length; ++i) {
-                var h = highlights[i];
-                if (h.series == s && h.point[0] == p[0]
-                    && h.point[1] == p[1])
-                    return i;
-            }
-            return -1;
-        }
-        
-        function drawPointHighlight(series, point) {
-            var x = point[0], y = point[1],
-                axisx = series.xaxis, axisy = series.yaxis;
-            
-            if (x < axisx.min || x > axisx.max || y < axisy.min || y > axisy.max)
-                return;
-            
-            var pointRadius = series.points.radius + series.points.lineWidth / 2;
-            octx.lineWidth = pointRadius;
-            octx.strokeStyle = $.color.parse(series.color).scale('a', 0.5).toString();
-            var radius = 1.5 * pointRadius,
-                x = axisx.p2c(x),
-                y = axisy.p2c(y);
-            
-            octx.beginPath();
-            if (series.points.symbol == "circle")
-                octx.arc(x, y, radius, 0, 2 * Math.PI, false);
-            else
-                series.points.symbol(octx, x, y, radius, false);
-            octx.closePath();
-            octx.stroke();
-        }
-
-        function drawBarHighlight(series, point) {
-            octx.lineWidth = series.bars.lineWidth;
-            octx.strokeStyle = $.color.parse(series.color).scale('a', 0.5).toString();
-            var fillStyle = $.color.parse(series.color).scale('a', 0.5).toString();
-            var barLeft = series.bars.align == "left" ? 0 : -series.bars.barWidth/2;
-            drawBar(point[0], point[1], point[2] || 0, barLeft, barLeft + series.bars.barWidth,
-                    0, function () { return fillStyle; }, series.xaxis, series.yaxis, octx, series.bars.horizontal, series.bars.lineWidth);
-        }
-
-        function getColorOrGradient(spec, bottom, top, defaultColor) {
-            if (typeof spec == "string")
-                return spec;
-            else {
-                // assume this is a gradient spec; IE currently only
-                // supports a simple vertical gradient properly, so that's
-                // what we support too
-                var gradient = ctx.createLinearGradient(0, top, 0, bottom);
-                
-                for (var i = 0, l = spec.colors.length; i < l; ++i) {
-                    var c = spec.colors[i];
-                    if (typeof c != "string") {
-                        var co = $.color.parse(defaultColor);
-                        if (c.brightness != null)
-                            co = co.scale('rgb', c.brightness)
-                        if (c.opacity != null)
-                            co.a *= c.opacity;
-                        c = co.toString();
-                    }
-                    gradient.addColorStop(i / (l - 1), c);
-                }
-                
-                return gradient;
-            }
-        }
-    }
-
-    $.plot = function(placeholder, data, options) {
-        //var t0 = new Date();
-        var plot = new Plot($(placeholder), data, options, $.plot.plugins);
-        //(window.console ? console.log : alert)("time used (msecs): " + ((new Date()).getTime() - t0.getTime()));
-        return plot;
-    };
-
-    $.plot.version = "0.7";
-    
-    $.plot.plugins = [];
-
-    // returns a string with the date d formatted according to fmt
-    $.plot.formatDate = function(d, fmt, monthNames) {
-        var leftPad = function(n) {
-            n = "" + n;
-            return n.length == 1 ? "0" + n : n;
-        };
-        
-        var r = [];
-        var escape = false, padNext = false;
-        var hours = d.getUTCHours();
-        var isAM = hours < 12;
-        if (monthNames == null)
-            monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
-
-        if (fmt.search(/%p|%P/) != -1) {
-            if (hours > 12) {
-                hours = hours - 12;
-            } else if (hours == 0) {
-                hours = 12;
-            }
-        }
-        for (var i = 0; i < fmt.length; ++i) {
-            var c = fmt.charAt(i);
-            
-            if (escape) {
-                switch (c) {
-                case 'h': c = "" + hours; break;
-                case 'H': c = leftPad(hours); break;
-                case 'M': c = leftPad(d.getUTCMinutes()); break;
-                case 'S': c = leftPad(d.getUTCSeconds()); break;
-                case 'd': c = "" + d.getUTCDate(); break;
-                case 'm': c = "" + (d.getUTCMonth() + 1); break;
-                case 'y': c = "" + d.getUTCFullYear(); break;
-                case 'b': c = "" + monthNames[d.getUTCMonth()]; break;
-                case 'p': c = (isAM) ? ("" + "am") : ("" + "pm"); break;
-                case 'P': c = (isAM) ? ("" + "AM") : ("" + "PM"); break;
-                case '0': c = ""; padNext = true; break;
-                }
-                if (c && padNext) {
-                    c = leftPad(c);
-                    padNext = false;
-                }
-                r.push(c);
-                if (!padNext)
-                    escape = false;
-            }
-            else {
-                if (c == "%")
-                    escape = true;
-                else
-                    r.push(c);
-            }
-        }
-        return r.join("");
-    };
-    
-    // round to nearby lower multiple of base
-    function floorInBase(n, base) {
-        return base * Math.floor(n / base);
-    }
-    
-})(jQuery);
-

--- a/js/flot/jquery.flot.min.js
+++ /dev/null
@@ -1,6 +1,1 @@
-/* Javascript plotting library for jQuery, v. 0.7.
- *
- * Released under the MIT license by IOLA, December 2007.
- *
- */
-(function(b){b.color={};b.color.make=function(d,e,g,f){var c={};c.r=d||0;c.g=e||0;c.b=g||0;c.a=f!=null?f:1;c.add=function(h,j){for(var k=0;k<h.length;++k){c[h.charAt(k)]+=j}return c.normalize()};c.scale=function(h,j){for(var k=0;k<h.length;++k){c[h.charAt(k)]*=j}return c.normalize()};c.toString=function(){if(c.a>=1){return"rgb("+[c.r,c.g,c.b].join(",")+")"}else{return"rgba("+[c.r,c.g,c.b,c.a].join(",")+")"}};c.normalize=function(){function h(k,j,l){return j<k?k:(j>l?l:j)}c.r=h(0,parseInt(c.r),255);c.g=h(0,parseInt(c.g),255);c.b=h(0,parseInt(c.b),255);c.a=h(0,c.a,1);return c};c.clone=function(){return b.color.make(c.r,c.b,c.g,c.a)};return c.normalize()};b.color.extract=function(d,e){var c;do{c=d.css(e).toLowerCase();if(c!=""&&c!="transparent"){break}d=d.parent()}while(!b.nodeName(d.get(0),"body"));if(c=="rgba(0, 0, 0, 0)"){c="transparent"}return b.color.parse(c)};b.color.parse=function(c){var d,f=b.color.make;if(d=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c)){return f(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10))}if(d=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c)){return f(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10),parseFloat(d[4]))}if(d=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c)){return f(parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55)}if(d=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c)){return f(parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55,parseFloat(d[4]))}if(d=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c)){return f(parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16))}if(d=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c)){return f(parseInt(d[1]+d[1],16),parseInt(d[2]+d[2],16),parseInt(d[3]+d[3],16))}var e=b.trim(c).toLowerCase();if(e=="transparent"){return f(255,255,255,0)}else{d=a[e]||[0,0,0];return f(d[0],d[1],d[2])}};var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);(function(c){function b(av,ai,J,af){var Q=[],O={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{show:null,position:"bottom",mode:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null,twelveHourClock:false},yaxis:{autoscaleMargin:0.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},shadowSize:3},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},hooks:{}},az=null,ad=null,y=null,H=null,A=null,p=[],aw=[],q={left:0,right:0,top:0,bottom:0},G=0,I=0,h=0,w=0,ak={processOptions:[],processRawData:[],processDatapoints:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},aq=this;aq.setData=aj;aq.setupGrid=t;aq.draw=W;aq.getPlaceholder=function(){return av};aq.getCanvas=function(){return az};aq.getPlotOffset=function(){return q};aq.width=function(){return h};aq.height=function(){return w};aq.offset=function(){var aB=y.offset();aB.left+=q.left;aB.top+=q.top;return aB};aq.getData=function(){return Q};aq.getAxes=function(){var aC={},aB;c.each(p.concat(aw),function(aD,aE){if(aE){aC[aE.direction+(aE.n!=1?aE.n:"")+"axis"]=aE}});return aC};aq.getXAxes=function(){return p};aq.getYAxes=function(){return aw};aq.c2p=C;aq.p2c=ar;aq.getOptions=function(){return O};aq.highlight=x;aq.unhighlight=T;aq.triggerRedrawOverlay=f;aq.pointOffset=function(aB){return{left:parseInt(p[aA(aB,"x")-1].p2c(+aB.x)+q.left),top:parseInt(aw[aA(aB,"y")-1].p2c(+aB.y)+q.top)}};aq.shutdown=ag;aq.resize=function(){B();g(az);g(ad)};aq.hooks=ak;F(aq);Z(J);X();aj(ai);t();W();ah();function an(aD,aB){aB=[aq].concat(aB);for(var aC=0;aC<aD.length;++aC){aD[aC].apply(this,aB)}}function F(){for(var aB=0;aB<af.length;++aB){var aC=af[aB];aC.init(aq);if(aC.options){c.extend(true,O,aC.options)}}}function Z(aC){var aB;c.extend(true,O,aC);if(O.xaxis.color==null){O.xaxis.color=O.grid.color}if(O.yaxis.color==null){O.yaxis.color=O.grid.color}if(O.xaxis.tickColor==null){O.xaxis.tickColor=O.grid.tickColor}if(O.yaxis.tickColor==null){O.yaxis.tickColor=O.grid.tickColor}if(O.grid.borderColor==null){O.grid.borderColor=O.grid.color}if(O.grid.tickColor==null){O.grid.tickColor=c.color.parse(O.grid.color).scale("a",0.22).toString()}for(aB=0;aB<Math.max(1,O.xaxes.length);++aB){O.xaxes[aB]=c.extend(true,{},O.xaxis,O.xaxes[aB])}for(aB=0;aB<Math.max(1,O.yaxes.length);++aB){O.yaxes[aB]=c.extend(true,{},O.yaxis,O.yaxes[aB])}if(O.xaxis.noTicks&&O.xaxis.ticks==null){O.xaxis.ticks=O.xaxis.noTicks}if(O.yaxis.noTicks&&O.yaxis.ticks==null){O.yaxis.ticks=O.yaxis.noTicks}if(O.x2axis){O.xaxes[1]=c.extend(true,{},O.xaxis,O.x2axis);O.xaxes[1].position="top"}if(O.y2axis){O.yaxes[1]=c.extend(true,{},O.yaxis,O.y2axis);O.yaxes[1].position="right"}if(O.grid.coloredAreas){O.grid.markings=O.grid.coloredAreas}if(O.grid.coloredAreasColor){O.grid.markingsColor=O.grid.coloredAreasColor}if(O.lines){c.extend(true,O.series.lines,O.lines)}if(O.points){c.extend(true,O.series.points,O.points)}if(O.bars){c.extend(true,O.series.bars,O.bars)}if(O.shadowSize!=null){O.series.shadowSize=O.shadowSize}for(aB=0;aB<O.xaxes.length;++aB){V(p,aB+1).options=O.xaxes[aB]}for(aB=0;aB<O.yaxes.length;++aB){V(aw,aB+1).options=O.yaxes[aB]}for(var aD in ak){if(O.hooks[aD]&&O.hooks[aD].length){ak[aD]=ak[aD].concat(O.hooks[aD])}}an(ak.processOptions,[O])}function aj(aB){Q=Y(aB);ax();z()}function Y(aE){var aC=[];for(var aB=0;aB<aE.length;++aB){var aD=c.extend(true,{},O.series);if(aE[aB].data!=null){aD.data=aE[aB].data;delete aE[aB].data;c.extend(true,aD,aE[aB]);aE[aB].data=aD.data}else{aD.data=aE[aB]}aC.push(aD)}return aC}function aA(aC,aD){var aB=aC[aD+"axis"];if(typeof aB=="object"){aB=aB.n}if(typeof aB!="number"){aB=1}return aB}function m(){return c.grep(p.concat(aw),function(aB){return aB})}function C(aE){var aC={},aB,aD;for(aB=0;aB<p.length;++aB){aD=p[aB];if(aD&&aD.used){aC["x"+aD.n]=aD.c2p(aE.left)}}for(aB=0;aB<aw.length;++aB){aD=aw[aB];if(aD&&aD.used){aC["y"+aD.n]=aD.c2p(aE.top)}}if(aC.x1!==undefined){aC.x=aC.x1}if(aC.y1!==undefined){aC.y=aC.y1}return aC}function ar(aF){var aD={},aC,aE,aB;for(aC=0;aC<p.length;++aC){aE=p[aC];if(aE&&aE.used){aB="x"+aE.n;if(aF[aB]==null&&aE.n==1){aB="x"}if(aF[aB]!=null){aD.left=aE.p2c(aF[aB]);break}}}for(aC=0;aC<aw.length;++aC){aE=aw[aC];if(aE&&aE.used){aB="y"+aE.n;if(aF[aB]==null&&aE.n==1){aB="y"}if(aF[aB]!=null){aD.top=aE.p2c(aF[aB]);break}}}return aD}function V(aC,aB){if(!aC[aB-1]){aC[aB-1]={n:aB,direction:aC==p?"x":"y",options:c.extend(true,{},aC==p?O.xaxis:O.yaxis)}}return aC[aB-1]}function ax(){var aG;var aM=Q.length,aB=[],aE=[];for(aG=0;aG<Q.length;++aG){var aJ=Q[aG].color;if(aJ!=null){--aM;if(typeof aJ=="number"){aE.push(aJ)}else{aB.push(c.color.parse(Q[aG].color))}}}for(aG=0;aG<aE.length;++aG){aM=Math.max(aM,aE[aG]+1)}var aC=[],aF=0;aG=0;while(aC.length<aM){var aI;if(O.colors.length==aG){aI=c.color.make(100,100,100)}else{aI=c.color.parse(O.colors[aG])}var aD=aF%2==1?-1:1;aI.scale("rgb",1+aD*Math.ceil(aF/2)*0.2);aC.push(aI);++aG;if(aG>=O.colors.length){aG=0;++aF}}var aH=0,aN;for(aG=0;aG<Q.length;++aG){aN=Q[aG];if(aN.color==null){aN.color=aC[aH].toString();++aH}else{if(typeof aN.color=="number"){aN.color=aC[aN.color].toString()}}if(aN.lines.show==null){var aL,aK=true;for(aL in aN){if(aN[aL]&&aN[aL].show){aK=false;break}}if(aK){aN.lines.show=true}}aN.xaxis=V(p,aA(aN,"x"));aN.yaxis=V(aw,aA(aN,"y"))}}function z(){var aO=Number.POSITIVE_INFINITY,aI=Number.NEGATIVE_INFINITY,aB=Number.MAX_VALUE,aU,aS,aR,aN,aD,aJ,aT,aP,aH,aG,aC,a0,aX,aL;function aF(a3,a2,a1){if(a2<a3.datamin&&a2!=-aB){a3.datamin=a2}if(a1>a3.datamax&&a1!=aB){a3.datamax=a1}}c.each(m(),function(a1,a2){a2.datamin=aO;a2.datamax=aI;a2.used=false});for(aU=0;aU<Q.length;++aU){aJ=Q[aU];aJ.datapoints={points:[]};an(ak.processRawData,[aJ,aJ.data,aJ.datapoints])}for(aU=0;aU<Q.length;++aU){aJ=Q[aU];var aZ=aJ.data,aW=aJ.datapoints.format;if(!aW){aW=[];aW.push({x:true,number:true,required:true});aW.push({y:true,number:true,required:true});if(aJ.bars.show||(aJ.lines.show&&aJ.lines.fill)){aW.push({y:true,number:true,required:false,defaultValue:0});if(aJ.bars.horizontal){delete aW[aW.length-1].y;aW[aW.length-1].x=true}}aJ.datapoints.format=aW}if(aJ.datapoints.pointsize!=null){continue}aJ.datapoints.pointsize=aW.length;aP=aJ.datapoints.pointsize;aT=aJ.datapoints.points;insertSteps=aJ.lines.show&&aJ.lines.steps;aJ.xaxis.used=aJ.yaxis.used=true;for(aS=aR=0;aS<aZ.length;++aS,aR+=aP){aL=aZ[aS];var aE=aL==null;if(!aE){for(aN=0;aN<aP;++aN){a0=aL[aN];aX=aW[aN];if(aX){if(aX.number&&a0!=null){a0=+a0;if(isNaN(a0)){a0=null}else{if(a0==Infinity){a0=aB}else{if(a0==-Infinity){a0=-aB}}}}if(a0==null){if(aX.required){aE=true}if(aX.defaultValue!=null){a0=aX.defaultValue}}}aT[aR+aN]=a0}}if(aE){for(aN=0;aN<aP;++aN){a0=aT[aR+aN];if(a0!=null){aX=aW[aN];if(aX.x){aF(aJ.xaxis,a0,a0)}if(aX.y){aF(aJ.yaxis,a0,a0)}}aT[aR+aN]=null}}else{if(insertSteps&&aR>0&&aT[aR-aP]!=null&&aT[aR-aP]!=aT[aR]&&aT[aR-aP+1]!=aT[aR+1]){for(aN=0;aN<aP;++aN){aT[aR+aP+aN]=aT[aR+aN]}aT[aR+1]=aT[aR-aP+1];aR+=aP}}}}for(aU=0;aU<Q.length;++aU){aJ=Q[aU];an(ak.processDatapoints,[aJ,aJ.datapoints])}for(aU=0;aU<Q.length;++aU){aJ=Q[aU];aT=aJ.datapoints.points,aP=aJ.datapoints.pointsize;var aK=aO,aQ=aO,aM=aI,aV=aI;for(aS=0;aS<aT.length;aS+=aP){if(aT[aS]==null){continue}for(aN=0;aN<aP;++aN){a0=aT[aS+aN];aX=aW[aN];if(!aX||a0==aB||a0==-aB){continue}if(aX.x){if(a0<aK){aK=a0}if(a0>aM){aM=a0}}if(aX.y){if(a0<aQ){aQ=a0}if(a0>aV){aV=a0}}}}if(aJ.bars.show){var aY=aJ.bars.align=="left"?0:-aJ.bars.barWidth/2;if(aJ.bars.horizontal){aQ+=aY;aV+=aY+aJ.bars.barWidth}else{aK+=aY;aM+=aY+aJ.bars.barWidth}}aF(aJ.xaxis,aK,aM);aF(aJ.yaxis,aQ,aV)}c.each(m(),function(a1,a2){if(a2.datamin==aO){a2.datamin=null}if(a2.datamax==aI){a2.datamax=null}})}function j(aB,aC){var aD=document.createElement("canvas");aD.className=aC;aD.width=G;aD.height=I;if(!aB){c(aD).css({position:"absolute",left:0,top:0})}c(aD).appendTo(av);if(!aD.getContext){aD=window.G_vmlCanvasManager.initElement(aD)}aD.getContext("2d").save();return aD}function B(){G=av.width();I=av.height();if(G<=0||I<=0){throw"Invalid dimensions for plot, width = "+G+", height = "+I}}function g(aC){if(aC.width!=G){aC.width=G}if(aC.height!=I){aC.height=I}var aB=aC.getContext("2d");aB.restore();aB.save()}function X(){var aC,aB=av.children("canvas.base"),aD=av.children("canvas.overlay");if(aB.length==0||aD==0){av.html("");av.css({padding:0});if(av.css("position")=="static"){av.css("position","relative")}B();az=j(true,"base");ad=j(false,"overlay");aC=false}else{az=aB.get(0);ad=aD.get(0);aC=true}H=az.getContext("2d");A=ad.getContext("2d");y=c([ad,az]);if(aC){av.data("plot").shutdown();aq.resize();A.clearRect(0,0,G,I);y.unbind();av.children().not([az,ad]).remove()}av.data("plot",aq)}function ah(){if(O.grid.hoverable){y.mousemove(aa);y.mouseleave(l)}if(O.grid.clickable){y.click(R)}an(ak.bindEvents,[y])}function ag(){if(M){clearTimeout(M)}y.unbind("mousemove",aa);y.unbind("mouseleave",l);y.unbind("click",R);an(ak.shutdown,[y])}function r(aG){function aC(aH){return aH}var aF,aB,aD=aG.options.transform||aC,aE=aG.options.inverseTransform;if(aG.direction=="x"){aF=aG.scale=h/Math.abs(aD(aG.max)-aD(aG.min));aB=Math.min(aD(aG.max),aD(aG.min))}else{aF=aG.scale=w/Math.abs(aD(aG.max)-aD(aG.min));aF=-aF;aB=Math.max(aD(aG.max),aD(aG.min))}if(aD==aC){aG.p2c=function(aH){return(aH-aB)*aF}}else{aG.p2c=function(aH){return(aD(aH)-aB)*aF}}if(!aE){aG.c2p=function(aH){return aB+aH/aF}}else{aG.c2p=function(aH){return aE(aB+aH/aF)}}}function L(aD){var aB=aD.options,aF,aJ=aD.ticks||[],aI=[],aE,aK=aB.labelWidth,aG=aB.labelHeight,aC;function aH(aM,aL){return c('<div style="position:absolute;top:-10000px;'+aL+'font-size:smaller"><div class="'+aD.direction+"Axis "+aD.direction+aD.n+'Axis">'+aM.join("")+"</div></div>").appendTo(av)}if(aD.direction=="x"){if(aK==null){aK=Math.floor(G/(aJ.length>0?aJ.length:1))}if(aG==null){aI=[];for(aF=0;aF<aJ.length;++aF){aE=aJ[aF].label;if(aE){aI.push('<div class="tickLabel" style="float:left;width:'+aK+'px">'+aE+"</div>")}}if(aI.length>0){aI.push('<div style="clear:left"></div>');aC=aH(aI,"width:10000px;");aG=aC.height();aC.remove()}}}else{if(aK==null||aG==null){for(aF=0;aF<aJ.length;++aF){aE=aJ[aF].label;if(aE){aI.push('<div class="tickLabel">'+aE+"</div>")}}if(aI.length>0){aC=aH(aI,"");if(aK==null){aK=aC.children().width()}if(aG==null){aG=aC.find("div.tickLabel").height()}aC.remove()}}}if(aK==null){aK=0}if(aG==null){aG=0}aD.labelWidth=aK;aD.labelHeight=aG}function au(aD){var aC=aD.labelWidth,aL=aD.labelHeight,aH=aD.options.position,aF=aD.options.tickLength,aG=O.grid.axisMargin,aJ=O.grid.labelMargin,aK=aD.direction=="x"?p:aw,aE;var aB=c.grep(aK,function(aN){return aN&&aN.options.position==aH&&aN.reserveSpace});if(c.inArray(aD,aB)==aB.length-1){aG=0}if(aF==null){aF="full"}var aI=c.grep(aK,function(aN){return aN&&aN.reserveSpace});var aM=c.inArray(aD,aI)==0;if(!aM&&aF=="full"){aF=5}if(!isNaN(+aF)){aJ+=+aF}if(aD.direction=="x"){aL+=aJ;if(aH=="bottom"){q.bottom+=aL+aG;aD.box={top:I-q.bottom,height:aL}}else{aD.box={top:q.top+aG,height:aL};q.top+=aL+aG}}else{aC+=aJ;if(aH=="left"){aD.box={left:q.left+aG,width:aC};q.left+=aC+aG}else{q.right+=aC+aG;aD.box={left:G-q.right,width:aC}}}aD.position=aH;aD.tickLength=aF;aD.box.padding=aJ;aD.innermost=aM}function U(aB){if(aB.direction=="x"){aB.box.left=q.left;aB.box.width=h}else{aB.box.top=q.top;aB.box.height=w}}function t(){var aC,aE=m();c.each(aE,function(aF,aG){aG.show=aG.options.show;if(aG.show==null){aG.show=aG.used}aG.reserveSpace=aG.show||aG.options.reserveSpace;n(aG)});allocatedAxes=c.grep(aE,function(aF){return aF.reserveSpace});q.left=q.right=q.top=q.bottom=0;if(O.grid.show){c.each(allocatedAxes,function(aF,aG){S(aG);P(aG);ap(aG,aG.ticks);L(aG)});for(aC=allocatedAxes.length-1;aC>=0;--aC){au(allocatedAxes[aC])}var aD=O.grid.minBorderMargin;if(aD==null){aD=0;for(aC=0;aC<Q.length;++aC){aD=Math.max(aD,Q[aC].points.radius+Q[aC].points.lineWidth/2)}}for(var aB in q){q[aB]+=O.grid.borderWidth;q[aB]=Math.max(aD,q[aB])}}h=G-q.left-q.right;w=I-q.bottom-q.top;c.each(aE,function(aF,aG){r(aG)});if(O.grid.show){c.each(allocatedAxes,function(aF,aG){U(aG)});k()}o()}function n(aE){var aF=aE.options,aD=+(aF.min!=null?aF.min:aE.datamin),aB=+(aF.max!=null?aF.max:aE.datamax),aH=aB-aD;if(aH==0){var aC=aB==0?1:0.01;if(aF.min==null){aD-=aC}if(aF.max==null||aF.min!=null){aB+=aC}}else{var aG=aF.autoscaleMargin;if(aG!=null){if(aF.min==null){aD-=aH*aG;if(aD<0&&aE.datamin!=null&&aE.datamin>=0){aD=0}}if(aF.max==null){aB+=aH*aG;if(aB>0&&aE.datamax!=null&&aE.datamax<=0){aB=0}}}}aE.min=aD;aE.max=aB}function S(aG){var aM=aG.options;var aH;if(typeof aM.ticks=="number"&&aM.ticks>0){aH=aM.ticks}else{aH=0.3*Math.sqrt(aG.direction=="x"?G:I)}var aT=(aG.max-aG.min)/aH,aO,aB,aN,aR,aS,aQ,aI;if(aM.mode=="time"){var aJ={second:1000,minute:60*1000,hour:60*60*1000,day:24*60*60*1000,month:30*24*60*60*1000,year:365.2425*24*60*60*1000};var aK=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var aC=0;if(aM.minTickSize!=null){if(typeof aM.tickSize=="number"){aC=aM.tickSize}else{aC=aM.minTickSize[0]*aJ[aM.minTickSize[1]]}}for(var aS=0;aS<aK.length-1;++aS){if(aT<(aK[aS][0]*aJ[aK[aS][1]]+aK[aS+1][0]*aJ[aK[aS+1][1]])/2&&aK[aS][0]*aJ[aK[aS][1]]>=aC){break}}aO=aK[aS][0];aN=aK[aS][1];if(aN=="year"){aQ=Math.pow(10,Math.floor(Math.log(aT/aJ.year)/Math.LN10));aI=(aT/aJ.year)/aQ;if(aI<1.5){aO=1}else{if(aI<3){aO=2}else{if(aI<7.5){aO=5}else{aO=10}}}aO*=aQ}aG.tickSize=aM.tickSize||[aO,aN];aB=function(aX){var a2=[],a0=aX.tickSize[0],a3=aX.tickSize[1],a1=new Date(aX.min);var aW=a0*aJ[a3];if(a3=="second"){a1.setUTCSeconds(a(a1.getUTCSeconds(),a0))}if(a3=="minute"){a1.setUTCMinutes(a(a1.getUTCMinutes(),a0))}if(a3=="hour"){a1.setUTCHours(a(a1.getUTCHours(),a0))}if(a3=="month"){a1.setUTCMonth(a(a1.getUTCMonth(),a0))}if(a3=="year"){a1.setUTCFullYear(a(a1.getUTCFullYear(),a0))}a1.setUTCMilliseconds(0);if(aW>=aJ.minute){a1.setUTCSeconds(0)}if(aW>=aJ.hour){a1.setUTCMinutes(0)}if(aW>=aJ.day){a1.setUTCHours(0)}if(aW>=aJ.day*4){a1.setUTCDate(1)}if(aW>=aJ.year){a1.setUTCMonth(0)}var a5=0,a4=Number.NaN,aY;do{aY=a4;a4=a1.getTime();a2.push(a4);if(a3=="month"){if(a0<1){a1.setUTCDate(1);var aV=a1.getTime();a1.setUTCMonth(a1.getUTCMonth()+1);var aZ=a1.getTime();a1.setTime(a4+a5*aJ.hour+(aZ-aV)*a0);a5=a1.getUTCHours();a1.setUTCHours(0)}else{a1.setUTCMonth(a1.getUTCMonth()+a0)}}else{if(a3=="year"){a1.setUTCFullYear(a1.getUTCFullYear()+a0)}else{a1.setTime(a4+aW)}}}while(a4<aX.max&&a4!=aY);return a2};aR=function(aV,aY){var a0=new Date(aV);if(aM.timeformat!=null){return c.plot.formatDate(a0,aM.timeformat,aM.monthNames)}var aW=aY.tickSize[0]*aJ[aY.tickSize[1]];var aX=aY.max-aY.min;var aZ=(aM.twelveHourClock)?" %p":"";if(aW<aJ.minute){fmt="%h:%M:%S"+aZ}else{if(aW<aJ.day){if(aX<2*aJ.day){fmt="%h:%M"+aZ}else{fmt="%b %d %h:%M"+aZ}}else{if(aW<aJ.month){fmt="%b %d"}else{if(aW<aJ.year){if(aX<aJ.year){fmt="%b"}else{fmt="%b %y"}}else{fmt="%y"}}}}return c.plot.formatDate(a0,fmt,aM.monthNames)}}else{var aU=aM.tickDecimals;var aP=-Math.floor(Math.log(aT)/Math.LN10);if(aU!=null&&aP>aU){aP=aU}aQ=Math.pow(10,-aP);aI=aT/aQ;if(aI<1.5){aO=1}else{if(aI<3){aO=2;if(aI>2.25&&(aU==null||aP+1<=aU)){aO=2.5;++aP}}else{if(aI<7.5){aO=5}else{aO=10}}}aO*=aQ;if(aM.minTickSize!=null&&aO<aM.minTickSize){aO=aM.minTickSize}aG.tickDecimals=Math.max(0,aU!=null?aU:aP);aG.tickSize=aM.tickSize||aO;aB=function(aX){var aZ=[];var a0=a(aX.min,aX.tickSize),aW=0,aV=Number.NaN,aY;do{aY=aV;aV=a0+aW*aX.tickSize;aZ.push(aV);++aW}while(aV<aX.max&&aV!=aY);return aZ};aR=function(aV,aW){return aV.toFixed(aW.tickDecimals)}}if(aM.alignTicksWithAxis!=null){var aF=(aG.direction=="x"?p:aw)[aM.alignTicksWithAxis-1];if(aF&&aF.used&&aF!=aG){var aL=aB(aG);if(aL.length>0){if(aM.min==null){aG.min=Math.min(aG.min,aL[0])}if(aM.max==null&&aL.length>1){aG.max=Math.max(aG.max,aL[aL.length-1])}}aB=function(aX){var aY=[],aV,aW;for(aW=0;aW<aF.ticks.length;++aW){aV=(aF.ticks[aW].v-aF.min)/(aF.max-aF.min);aV=aX.min+aV*(aX.max-aX.min);aY.push(aV)}return aY};if(aG.mode!="time"&&aM.tickDecimals==null){var aE=Math.max(0,-Math.floor(Math.log(aT)/Math.LN10)+1),aD=aB(aG);if(!(aD.length>1&&/\..*0$/.test((aD[1]-aD[0]).toFixed(aE)))){aG.tickDecimals=aE}}}}aG.tickGenerator=aB;if(c.isFunction(aM.tickFormatter)){aG.tickFormatter=function(aV,aW){return""+aM.tickFormatter(aV,aW)}}else{aG.tickFormatter=aR}}function P(aF){var aH=aF.options.ticks,aG=[];if(aH==null||(typeof aH=="number"&&aH>0)){aG=aF.tickGenerator(aF)}else{if(aH){if(c.isFunction(aH)){aG=aH({min:aF.min,max:aF.max})}else{aG=aH}}}var aE,aB;aF.ticks=[];for(aE=0;aE<aG.length;++aE){var aC=null;var aD=aG[aE];if(typeof aD=="object"){aB=+aD[0];if(aD.length>1){aC=aD[1]}}else{aB=+aD}if(aC==null){aC=aF.tickFormatter(aB,aF)}if(!isNaN(aB)){aF.ticks.push({v:aB,label:aC})}}}function ap(aB,aC){if(aB.options.autoscaleMargin&&aC.length>0){if(aB.options.min==null){aB.min=Math.min(aB.min,aC[0].v)}if(aB.options.max==null&&aC.length>1){aB.max=Math.max(aB.max,aC[aC.length-1].v)}}}function W(){H.clearRect(0,0,G,I);var aC=O.grid;if(aC.show&&aC.backgroundColor){N()}if(aC.show&&!aC.aboveData){ac()}for(var aB=0;aB<Q.length;++aB){an(ak.drawSeries,[H,Q[aB]]);d(Q[aB])}an(ak.draw,[H]);if(aC.show&&aC.aboveData){ac()}}function D(aB,aI){var aE,aH,aG,aD,aF=m();for(i=0;i<aF.length;++i){aE=aF[i];if(aE.direction==aI){aD=aI+aE.n+"axis";if(!aB[aD]&&aE.n==1){aD=aI+"axis"}if(aB[aD]){aH=aB[aD].from;aG=aB[aD].to;break}}}if(!aB[aD]){aE=aI=="x"?p[0]:aw[0];aH=aB[aI+"1"];aG=aB[aI+"2"]}if(aH!=null&&aG!=null&&aH>aG){var aC=aH;aH=aG;aG=aC}return{from:aH,to:aG,axis:aE}}function N(){H.save();H.translate(q.left,q.top);H.fillStyle=am(O.grid.backgroundColor,w,0,"rgba(255, 255, 255, 0)");H.fillRect(0,0,h,w);H.restore()}function ac(){var aF;H.save();H.translate(q.left,q.top);var aH=O.grid.markings;if(aH){if(c.isFunction(aH)){var aK=aq.getAxes();aK.xmin=aK.xaxis.min;aK.xmax=aK.xaxis.max;aK.ymin=aK.yaxis.min;aK.ymax=aK.yaxis.max;aH=aH(aK)}for(aF=0;aF<aH.length;++aF){var aD=aH[aF],aC=D(aD,"x"),aI=D(aD,"y");if(aC.from==null){aC.from=aC.axis.min}if(aC.to==null){aC.to=aC.axis.max}if(aI.from==null){aI.from=aI.axis.min}if(aI.to==null){aI.to=aI.axis.max}if(aC.to<aC.axis.min||aC.from>aC.axis.max||aI.to<aI.axis.min||aI.from>aI.axis.max){continue}aC.from=Math.max(aC.from,aC.axis.min);aC.to=Math.min(aC.to,aC.axis.max);aI.from=Math.max(aI.from,aI.axis.min);aI.to=Math.min(aI.to,aI.axis.max);if(aC.from==aC.to&&aI.from==aI.to){continue}aC.from=aC.axis.p2c(aC.from);aC.to=aC.axis.p2c(aC.to);aI.from=aI.axis.p2c(aI.from);aI.to=aI.axis.p2c(aI.to);if(aC.from==aC.to||aI.from==aI.to){H.beginPath();H.strokeStyle=aD.color||O.grid.markingsColor;H.lineWidth=aD.lineWidth||O.grid.markingsLineWidth;H.moveTo(aC.from,aI.from);H.lineTo(aC.to,aI.to);H.stroke()}else{H.fillStyle=aD.color||O.grid.markingsColor;H.fillRect(aC.from,aI.to,aC.to-aC.from,aI.from-aI.to)}}}var aK=m(),aM=O.grid.borderWidth;for(var aE=0;aE<aK.length;++aE){var aB=aK[aE],aG=aB.box,aQ=aB.tickLength,aN,aL,aP,aJ;if(!aB.show||aB.ticks.length==0){continue}H.strokeStyle=aB.options.tickColor||c.color.parse(aB.options.color).scale("a",0.22).toString();H.lineWidth=1;if(aB.direction=="x"){aN=0;if(aQ=="full"){aL=(aB.position=="top"?0:w)}else{aL=aG.top-q.top+(aB.position=="top"?aG.height:0)}}else{aL=0;if(aQ=="full"){aN=(aB.position=="left"?0:h)}else{aN=aG.left-q.left+(aB.position=="left"?aG.width:0)}}if(!aB.innermost){H.beginPath();aP=aJ=0;if(aB.direction=="x"){aP=h}else{aJ=w}if(H.lineWidth==1){aN=Math.floor(aN)+0.5;aL=Math.floor(aL)+0.5}H.moveTo(aN,aL);H.lineTo(aN+aP,aL+aJ);H.stroke()}H.beginPath();for(aF=0;aF<aB.ticks.length;++aF){var aO=aB.ticks[aF].v;aP=aJ=0;if(aO<aB.min||aO>aB.max||(aQ=="full"&&aM>0&&(aO==aB.min||aO==aB.max))){continue}if(aB.direction=="x"){aN=aB.p2c(aO);aJ=aQ=="full"?-w:aQ;if(aB.position=="top"){aJ=-aJ}}else{aL=aB.p2c(aO);aP=aQ=="full"?-h:aQ;if(aB.position=="left"){aP=-aP}}if(H.lineWidth==1){if(aB.direction=="x"){aN=Math.floor(aN)+0.5}else{aL=Math.floor(aL)+0.5}}H.moveTo(aN,aL);H.lineTo(aN+aP,aL+aJ)}H.stroke()}if(aM){H.lineWidth=aM;H.strokeStyle=O.grid.borderColor;H.strokeRect(-aM/2,-aM/2,h+aM,w+aM)}H.restore()}function k(){av.find(".tickLabels").remove();var aG=['<div class="tickLabels" style="font-size:smaller">'];var aJ=m();for(var aD=0;aD<aJ.length;++aD){var aC=aJ[aD],aF=aC.box;if(!aC.show){continue}aG.push('<div class="'+aC.direction+"Axis "+aC.direction+aC.n+'Axis" style="color:'+aC.options.color+'">');for(var aE=0;aE<aC.ticks.length;++aE){var aH=aC.ticks[aE];if(!aH.label||aH.v<aC.min||aH.v>aC.max){continue}var aK={},aI;if(aC.direction=="x"){aI="center";aK.left=Math.round(q.left+aC.p2c(aH.v)-aC.labelWidth/2);if(aC.position=="bottom"){aK.top=aF.top+aF.padding}else{aK.bottom=I-(aF.top+aF.height-aF.padding)}}else{aK.top=Math.round(q.top+aC.p2c(aH.v)-aC.labelHeight/2);if(aC.position=="left"){aK.right=G-(aF.left+aF.width-aF.padding);aI="right"}else{aK.left=aF.left+aF.padding;aI="left"}}aK.width=aC.labelWidth;var aB=["position:absolute","text-align:"+aI];for(var aL in aK){aB.push(aL+":"+aK[aL]+"px")}aG.push('<div class="tickLabel" style="'+aB.join(";")+'">'+aH.label+"</div>")}aG.push("</div>")}aG.push("</div>");av.append(aG.join(""))}function d(aB){if(aB.lines.show){at(aB)}if(aB.bars.show){e(aB)}if(aB.points.show){ao(aB)}}function at(aE){function aD(aP,aQ,aI,aU,aT){var aV=aP.points,aJ=aP.pointsize,aN=null,aM=null;H.beginPath();for(var aO=aJ;aO<aV.length;aO+=aJ){var aL=aV[aO-aJ],aS=aV[aO-aJ+1],aK=aV[aO],aR=aV[aO+1];if(aL==null||aK==null){continue}if(aS<=aR&&aS<aT.min){if(aR<aT.min){continue}aL=(aT.min-aS)/(aR-aS)*(aK-aL)+aL;aS=aT.min}else{if(aR<=aS&&aR<aT.min){if(aS<aT.min){continue}aK=(aT.min-aS)/(aR-aS)*(aK-aL)+aL;aR=aT.min}}if(aS>=aR&&aS>aT.max){if(aR>aT.max){continue}aL=(aT.max-aS)/(aR-aS)*(aK-aL)+aL;aS=aT.max}else{if(aR>=aS&&aR>aT.max){if(aS>aT.max){continue}aK=(aT.max-aS)/(aR-aS)*(aK-aL)+aL;aR=aT.max}}if(aL<=aK&&aL<aU.min){if(aK<aU.min){continue}aS=(aU.min-aL)/(aK-aL)*(aR-aS)+aS;aL=aU.min}else{if(aK<=aL&&aK<aU.min){if(aL<aU.min){continue}aR=(aU.min-aL)/(aK-aL)*(aR-aS)+aS;aK=aU.min}}if(aL>=aK&&aL>aU.max){if(aK>aU.max){continue}aS=(aU.max-aL)/(aK-aL)*(aR-aS)+aS;aL=aU.max}else{if(aK>=aL&&aK>aU.max){if(aL>aU.max){continue}aR=(aU.max-aL)/(aK-aL)*(aR-aS)+aS;aK=aU.max}}if(aL!=aN||aS!=aM){H.moveTo(aU.p2c(aL)+aQ,aT.p2c(aS)+aI)}aN=aK;aM=aR;H.lineTo(aU.p2c(aK)+aQ,aT.p2c(aR)+aI)}H.stroke()}function aF(aI,aQ,aP){var aW=aI.points,aV=aI.pointsize,aN=Math.min(Math.max(0,aP.min),aP.max),aX=0,aU,aT=false,aM=1,aL=0,aR=0;while(true){if(aV>0&&aX>aW.length+aV){break}aX+=aV;var aZ=aW[aX-aV],aK=aW[aX-aV+aM],aY=aW[aX],aJ=aW[aX+aM];if(aT){if(aV>0&&aZ!=null&&aY==null){aR=aX;aV=-aV;aM=2;continue}if(aV<0&&aX==aL+aV){H.fill();aT=false;aV=-aV;aM=1;aX=aL=aR+aV;continue}}if(aZ==null||aY==null){continue}if(aZ<=aY&&aZ<aQ.min){if(aY<aQ.min){continue}aK=(aQ.min-aZ)/(aY-aZ)*(aJ-aK)+aK;aZ=aQ.min}else{if(aY<=aZ&&aY<aQ.min){if(aZ<aQ.min){continue}aJ=(aQ.min-aZ)/(aY-aZ)*(aJ-aK)+aK;aY=aQ.min}}if(aZ>=aY&&aZ>aQ.max){if(aY>aQ.max){continue}aK=(aQ.max-aZ)/(aY-aZ)*(aJ-aK)+aK;aZ=aQ.max}else{if(aY>=aZ&&aY>aQ.max){if(aZ>aQ.max){continue}aJ=(aQ.max-aZ)/(aY-aZ)*(aJ-aK)+aK;aY=aQ.max}}if(!aT){H.beginPath();H.moveTo(aQ.p2c(aZ),aP.p2c(aN));aT=true}if(aK>=aP.max&&aJ>=aP.max){H.lineTo(aQ.p2c(aZ),aP.p2c(aP.max));H.lineTo(aQ.p2c(aY),aP.p2c(aP.max));continue}else{if(aK<=aP.min&&aJ<=aP.min){H.lineTo(aQ.p2c(aZ),aP.p2c(aP.min));H.lineTo(aQ.p2c(aY),aP.p2c(aP.min));continue}}var aO=aZ,aS=aY;if(aK<=aJ&&aK<aP.min&&aJ>=aP.min){aZ=(aP.min-aK)/(aJ-aK)*(aY-aZ)+aZ;aK=aP.min}else{if(aJ<=aK&&aJ<aP.min&&aK>=aP.min){aY=(aP.min-aK)/(aJ-aK)*(aY-aZ)+aZ;aJ=aP.min}}if(aK>=aJ&&aK>aP.max&&aJ<=aP.max){aZ=(aP.max-aK)/(aJ-aK)*(aY-aZ)+aZ;aK=aP.max}else{if(aJ>=aK&&aJ>aP.max&&aK<=aP.max){aY=(aP.max-aK)/(aJ-aK)*(aY-aZ)+aZ;aJ=aP.max}}if(aZ!=aO){H.lineTo(aQ.p2c(aO),aP.p2c(aK))}H.lineTo(aQ.p2c(aZ),aP.p2c(aK));H.lineTo(aQ.p2c(aY),aP.p2c(aJ));if(aY!=aS){H.lineTo(aQ.p2c(aY),aP.p2c(aJ));H.lineTo(aQ.p2c(aS),aP.p2c(aJ))}}}H.save();H.translate(q.left,q.top);H.lineJoin="round";var aG=aE.lines.lineWidth,aB=aE.shadowSize;if(aG>0&&aB>0){H.lineWidth=aB;H.strokeStyle="rgba(0,0,0,0.1)";var aH=Math.PI/18;aD(aE.datapoints,Math.sin(aH)*(aG/2+aB/2),Math.cos(aH)*(aG/2+aB/2),aE.xaxis,aE.yaxis);H.lineWidth=aB/2;aD(aE.datapoints,Math.sin(aH)*(aG/2+aB/4),Math.cos(aH)*(aG/2+aB/4),aE.xaxis,aE.yaxis)}H.lineWidth=aG;H.strokeStyle=aE.color;var aC=ae(aE.lines,aE.color,0,w);if(aC){H.fillStyle=aC;aF(aE.datapoints,aE.xaxis,aE.yaxis)}if(aG>0){aD(aE.datapoints,0,0,aE.xaxis,aE.yaxis)}H.restore()}function ao(aE){function aH(aN,aM,aU,aK,aS,aT,aQ,aJ){var aR=aN.points,aI=aN.pointsize;for(var aL=0;aL<aR.length;aL+=aI){var aP=aR[aL],aO=aR[aL+1];if(aP==null||aP<aT.min||aP>aT.max||aO<aQ.min||aO>aQ.max){continue}H.beginPath();aP=aT.p2c(aP);aO=aQ.p2c(aO)+aK;if(aJ=="circle"){H.arc(aP,aO,aM,0,aS?Math.PI:Math.PI*2,false)}else{aJ(H,aP,aO,aM,aS)}H.closePath();if(aU){H.fillStyle=aU;H.fill()}H.stroke()}}H.save();H.translate(q.left,q.top);var aG=aE.points.lineWidth,aC=aE.shadowSize,aB=aE.points.radius,aF=aE.points.symbol;if(aG>0&&aC>0){var aD=aC/2;H.lineWidth=aD;H.strokeStyle="rgba(0,0,0,0.1)";aH(aE.datapoints,aB,null,aD+aD/2,true,aE.xaxis,aE.yaxis,aF);H.strokeStyle="rgba(0,0,0,0.2)";aH(aE.datapoints,aB,null,aD/2,true,aE.xaxis,aE.yaxis,aF)}H.lineWidth=aG;H.strokeStyle=aE.color;aH(aE.datapoints,aB,ae(aE.points,aE.color),0,false,aE.xaxis,aE.yaxis,aF);H.restore()}function E(aN,aM,aV,aI,aQ,aF,aD,aL,aK,aU,aR,aC){var aE,aT,aJ,aP,aG,aB,aO,aH,aS;if(aR){aH=aB=aO=true;aG=false;aE=aV;aT=aN;aP=aM+aI;aJ=aM+aQ;if(aT<aE){aS=aT;aT=aE;aE=aS;aG=true;aB=false}}else{aG=aB=aO=true;aH=false;aE=aN+aI;aT=aN+aQ;aJ=aV;aP=aM;if(aP<aJ){aS=aP;aP=aJ;aJ=aS;aH=true;aO=false}}if(aT<aL.min||aE>aL.max||aP<aK.min||aJ>aK.max){return}if(aE<aL.min){aE=aL.min;aG=false}if(aT>aL.max){aT=aL.max;aB=false}if(aJ<aK.min){aJ=aK.min;aH=false}if(aP>aK.max){aP=aK.max;aO=false}aE=aL.p2c(aE);aJ=aK.p2c(aJ);aT=aL.p2c(aT);aP=aK.p2c(aP);if(aD){aU.beginPath();aU.moveTo(aE,aJ);aU.lineTo(aE,aP);aU.lineTo(aT,aP);aU.lineTo(aT,aJ);aU.fillStyle=aD(aJ,aP);aU.fill()}if(aC>0&&(aG||aB||aO||aH)){aU.beginPath();aU.moveTo(aE,aJ+aF);if(aG){aU.lineTo(aE,aP+aF)}else{aU.moveTo(aE,aP+aF)}if(aO){aU.lineTo(aT,aP+aF)}else{aU.moveTo(aT,aP+aF)}if(aB){aU.lineTo(aT,aJ+aF)}else{aU.moveTo(aT,aJ+aF)}if(aH){aU.lineTo(aE,aJ+aF)}else{aU.moveTo(aE,aJ+aF)}aU.stroke()}}function e(aD){function aC(aJ,aI,aL,aG,aK,aN,aM){var aO=aJ.points,aF=aJ.pointsize;for(var aH=0;aH<aO.length;aH+=aF){if(aO[aH]==null){continue}E(aO[aH],aO[aH+1],aO[aH+2],aI,aL,aG,aK,aN,aM,H,aD.bars.horizontal,aD.bars.lineWidth)}}H.save();H.translate(q.left,q.top);H.lineWidth=aD.bars.lineWidth;H.strokeStyle=aD.color;var aB=aD.bars.align=="left"?0:-aD.bars.barWidth/2;var aE=aD.bars.fill?function(aF,aG){return ae(aD.bars,aD.color,aF,aG)}:null;aC(aD.datapoints,aB,aB+aD.bars.barWidth,0,aE,aD.xaxis,aD.yaxis);H.restore()}function ae(aD,aB,aC,aF){var aE=aD.fill;if(!aE){return null}if(aD.fillColor){return am(aD.fillColor,aC,aF,aB)}var aG=c.color.parse(aB);aG.a=typeof aE=="number"?aE:0.4;aG.normalize();return aG.toString()}function o(){av.find(".legend").remove();if(!O.legend.show){return}var aH=[],aF=false,aN=O.legend.labelFormatter,aM,aJ;for(var aE=0;aE<Q.length;++aE){aM=Q[aE];aJ=aM.label;if(!aJ){continue}if(aE%O.legend.noColumns==0){if(aF){aH.push("</tr>")}aH.push("<tr>");aF=true}if(aN){aJ=aN(aJ,aM)}aH.push('<td class="legendColorBox"><div style="border:1px solid '+O.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+aM.color+';overflow:hidden"></div></div></td><td class="legendLabel">'+aJ+"</td>")}if(aF){aH.push("</tr>")}if(aH.length==0){return}var aL='<table style="font-size:smaller;color:'+O.grid.color+'">'+aH.join("")+"</table>";if(O.legend.container!=null){c(O.legend.container).html(aL)}else{var aI="",aC=O.legend.position,aD=O.legend.margin;if(aD[0]==null){aD=[aD,aD]}if(aC.charAt(0)=="n"){aI+="top:"+(aD[1]+q.top)+"px;"}else{if(aC.charAt(0)=="s"){aI+="bottom:"+(aD[1]+q.bottom)+"px;"}}if(aC.charAt(1)=="e"){aI+="right:"+(aD[0]+q.right)+"px;"}else{if(aC.charAt(1)=="w"){aI+="left:"+(aD[0]+q.left)+"px;"}}var aK=c('<div class="legend">'+aL.replace('style="','style="position:absolute;'+aI+";")+"</div>").appendTo(av);if(O.legend.backgroundOpacity!=0){var aG=O.legend.backgroundColor;if(aG==null){aG=O.grid.backgroundColor;if(aG&&typeof aG=="string"){aG=c.color.parse(aG)}else{aG=c.color.extract(aK,"background-color")}aG.a=1;aG=aG.toString()}var aB=aK.children();c('<div style="position:absolute;width:'+aB.width()+"px;height:"+aB.height()+"px;"+aI+"background-color:"+aG+';"> </div>').prependTo(aK).css("opacity",O.legend.backgroundOpacity)}}}var ab=[],M=null;function K(aI,aG,aD){var aO=O.grid.mouseActiveRadius,a0=aO*aO+1,aY=null,aR=false,aW,aU;for(aW=Q.length-1;aW>=0;--aW){if(!aD(Q[aW])){continue}var aP=Q[aW],aH=aP.xaxis,aF=aP.yaxis,aV=aP.datapoints.points,aT=aP.datapoints.pointsize,aQ=aH.c2p(aI),aN=aF.c2p(aG),aC=aO/aH.scale,aB=aO/aF.scale;if(aH.options.inverseTransform){aC=Number.MAX_VALUE}if(aF.options.inverseTransform){aB=Number.MAX_VALUE}if(aP.lines.show||aP.points.show){for(aU=0;aU<aV.length;aU+=aT){var aK=aV[aU],aJ=aV[aU+1];if(aK==null){continue}if(aK-aQ>aC||aK-aQ<-aC||aJ-aN>aB||aJ-aN<-aB){continue}var aM=Math.abs(aH.p2c(aK)-aI),aL=Math.abs(aF.p2c(aJ)-aG),aS=aM*aM+aL*aL;if(aS<a0){a0=aS;aY=[aW,aU/aT]}}}if(aP.bars.show&&!aY){var aE=aP.bars.align=="left"?0:-aP.bars.barWidth/2,aX=aE+aP.bars.barWidth;for(aU=0;aU<aV.length;aU+=aT){var aK=aV[aU],aJ=aV[aU+1],aZ=aV[aU+2];if(aK==null){continue}if(Q[aW].bars.horizontal?(aQ<=Math.max(aZ,aK)&&aQ>=Math.min(aZ,aK)&&aN>=aJ+aE&&aN<=aJ+aX):(aQ>=aK+aE&&aQ<=aK+aX&&aN>=Math.min(aZ,aJ)&&aN<=Math.max(aZ,aJ))){aY=[aW,aU/aT]}}}}if(aY){aW=aY[0];aU=aY[1];aT=Q[aW].datapoints.pointsize;return{datapoint:Q[aW].datapoints.points.slice(aU*aT,(aU+1)*aT),dataIndex:aU,series:Q[aW],seriesIndex:aW}}return null}function aa(aB){if(O.grid.hoverable){u("plothover",aB,function(aC){return aC.hoverable!=false})}}function l(aB){if(O.grid.hoverable){u("plothover",aB,function(aC){return false})}}function R(aB){u("plotclick",aB,function(aC){return aC.clickable!=false})}function u(aC,aB,aD){var aE=y.offset(),aH=aB.pageX-aE.left-q.left,aF=aB.pageY-aE.top-q.top,aJ=C({left:aH,top:aF});aJ.pageX=aB.pageX;aJ.pageY=aB.pageY;var aK=K(aH,aF,aD);if(aK){aK.pageX=parseInt(aK.series.xaxis.p2c(aK.datapoint[0])+aE.left+q.left);aK.pageY=parseInt(aK.series.yaxis.p2c(aK.datapoint[1])+aE.top+q.top)}if(O.grid.autoHighlight){for(var aG=0;aG<ab.length;++aG){var aI=ab[aG];if(aI.auto==aC&&!(aK&&aI.series==aK.series&&aI.point[0]==aK.datapoint[0]&&aI.point[1]==aK.datapoint[1])){T(aI.series,aI.point)}}if(aK){x(aK.series,aK.datapoint,aC)}}av.trigger(aC,[aJ,aK])}function f(){if(!M){M=setTimeout(s,30)}}function s(){M=null;A.save();A.clearRect(0,0,G,I);A.translate(q.left,q.top);var aC,aB;for(aC=0;aC<ab.length;++aC){aB=ab[aC];if(aB.series.bars.show){v(aB.series,aB.point)}else{ay(aB.series,aB.point)}}A.restore();an(ak.drawOverlay,[A])}function x(aD,aB,aF){if(typeof aD=="number"){aD=Q[aD]}if(typeof aB=="number"){var aE=aD.datapoints.pointsize;aB=aD.datapoints.points.slice(aE*aB,aE*(aB+1))}var aC=al(aD,aB);if(aC==-1){ab.push({series:aD,point:aB,auto:aF});f()}else{if(!aF){ab[aC].auto=false}}}function T(aD,aB){if(aD==null&&aB==null){ab=[];f()}if(typeof aD=="number"){aD=Q[aD]}if(typeof aB=="number"){aB=aD.data[aB]}var aC=al(aD,aB);if(aC!=-1){ab.splice(aC,1);f()}}function al(aD,aE){for(var aB=0;aB<ab.length;++aB){var aC=ab[aB];if(aC.series==aD&&aC.point[0]==aE[0]&&aC.point[1]==aE[1]){return aB}}return -1}function ay(aE,aD){var aC=aD[0],aI=aD[1],aH=aE.xaxis,aG=aE.yaxis;if(aC<aH.min||aC>aH.max||aI<aG.min||aI>aG.max){return}var aF=aE.points.radius+aE.points.lineWidth/2;A.lineWidth=aF;A.strokeStyle=c.color.parse(aE.color).scale("a",0.5).toString();var aB=1.5*aF,aC=aH.p2c(aC),aI=aG.p2c(aI);A.beginPath();if(aE.points.symbol=="circle"){A.arc(aC,aI,aB,0,2*Math.PI,false)}else{aE.points.symbol(A,aC,aI,aB,false)}A.closePath();A.stroke()}function v(aE,aB){A.lineWidth=aE.bars.lineWidth;A.strokeStyle=c.color.parse(aE.color).scale("a",0.5).toString();var aD=c.color.parse(aE.color).scale("a",0.5).toString();var aC=aE.bars.align=="left"?0:-aE.bars.barWidth/2;E(aB[0],aB[1],aB[2]||0,aC,aC+aE.bars.barWidth,0,function(){return aD},aE.xaxis,aE.yaxis,A,aE.bars.horizontal,aE.bars.lineWidth)}function am(aJ,aB,aH,aC){if(typeof aJ=="string"){return aJ}else{var aI=H.createLinearGradient(0,aH,0,aB);for(var aE=0,aD=aJ.colors.length;aE<aD;++aE){var aF=aJ.colors[aE];if(typeof aF!="string"){var aG=c.color.parse(aC);if(aF.brightness!=null){aG=aG.scale("rgb",aF.brightness)}if(aF.opacity!=null){aG.a*=aF.opacity}aF=aG.toString()}aI.addColorStop(aE/(aD-1),aF)}return aI}}}c.plot=function(g,e,d){var f=new b(c(g),e,d,c.plot.plugins);return f};c.plot.version="0.7";c.plot.plugins=[];c.plot.formatDate=function(l,f,h){var o=function(d){d=""+d;return d.length==1?"0"+d:d};var e=[];var p=false,j=false;var n=l.getUTCHours();var k=n<12;if(h==null){h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}if(f.search(/%p|%P/)!=-1){if(n>12){n=n-12}else{if(n==0){n=12}}}for(var g=0;g<f.length;++g){var m=f.charAt(g);if(p){switch(m){case"h":m=""+n;break;case"H":m=o(n);break;case"M":m=o(l.getUTCMinutes());break;case"S":m=o(l.getUTCSeconds());break;case"d":m=""+l.getUTCDate();break;case"m":m=""+(l.getUTCMonth()+1);break;case"y":m=""+l.getUTCFullYear();break;case"b":m=""+h[l.getUTCMonth()];break;case"p":m=(k)?("am"):("pm");break;case"P":m=(k)?("AM"):("PM");break;case"0":m="";j=true;break}if(m&&j){m=o(m);j=false}e.push(m);if(!j){p=false}}else{if(m=="%"){p=true}else{e.push(m)}}}return e.join("")};function a(e,d){return d*Math.floor(e/d)}})(jQuery);
+

--- a/js/flot/jquery.flot.navigate.js
+++ /dev/null
@@ -1,337 +1,1 @@
-/*
-Flot plugin for adding panning and zooming capabilities to a plot.
 
-The default behaviour is double click and scrollwheel up/down to zoom
-in, drag to pan. The plugin defines plot.zoom({ center }),
-plot.zoomOut() and plot.pan(offset) so you easily can add custom
-controls. It also fires a "plotpan" and "plotzoom" event when
-something happens, useful for synchronizing plots.
-
-Options:
-
-  zoom: {
-    interactive: false
-    trigger: "dblclick" // or "click" for single click
-    amount: 1.5         // 2 = 200% (zoom in), 0.5 = 50% (zoom out)
-  }
-  
-  pan: {
-    interactive: false
-    cursor: "move"      // CSS mouse cursor value used when dragging, e.g. "pointer"
-    frameRate: 20
-  }
-
-  xaxis, yaxis, x2axis, y2axis: {
-    zoomRange: null  // or [number, number] (min range, max range) or false
-    panRange: null   // or [number, number] (min, max) or false
-  }
-  
-"interactive" enables the built-in drag/click behaviour. If you enable
-interactive for pan, then you'll have a basic plot that supports
-moving around; the same for zoom.
-
-"amount" specifies the default amount to zoom in (so 1.5 = 150%)
-relative to the current viewport.
-
-"cursor" is a standard CSS mouse cursor string used for visual
-feedback to the user when dragging.
-
-"frameRate" specifies the maximum number of times per second the plot
-will update itself while the user is panning around on it (set to null
-to disable intermediate pans, the plot will then not update until the
-mouse button is released).
-
-"zoomRange" is the interval in which zooming can happen, e.g. with
-zoomRange: [1, 100] the zoom will never scale the axis so that the
-difference between min and max is smaller than 1 or larger than 100.
-You can set either end to null to ignore, e.g. [1, null]. If you set
-zoomRange to false, zooming on that axis will be disabled.
-
-"panRange" confines the panning to stay within a range, e.g. with
-panRange: [-10, 20] panning stops at -10 in one end and at 20 in the
-other. Either can be null, e.g. [-10, null]. If you set
-panRange to false, panning on that axis will be disabled.
-
-Example API usage:
-
-  plot = $.plot(...);
-  
-  // zoom default amount in on the pixel (10, 20) 
-  plot.zoom({ center: { left: 10, top: 20 } });
-
-  // zoom out again
-  plot.zoomOut({ center: { left: 10, top: 20 } });
-
-  // zoom 200% in on the pixel (10, 20) 
-  plot.zoom({ amount: 2, center: { left: 10, top: 20 } });
-  
-  // pan 100 pixels to the left and 20 down
-  plot.pan({ left: -100, top: 20 })
-
-Here, "center" specifies where the center of the zooming should
-happen. Note that this is defined in pixel space, not the space of the
-data points (you can use the p2c helpers on the axes in Flot to help
-you convert between these).
-
-"amount" is the amount to zoom the viewport relative to the current
-range, so 1 is 100% (i.e. no change), 1.5 is 150% (zoom in), 0.7 is
-70% (zoom out). You can set the default in the options.
-  
-*/
-
-
-// First two dependencies, jquery.event.drag.js and
-// jquery.mousewheel.js, we put them inline here to save people the
-// effort of downloading them.
-
-/*
-jquery.event.drag.js ~ v1.5 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)  
-Licensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt
-*/
-(function(E){E.fn.drag=function(L,K,J){if(K){this.bind("dragstart",L)}if(J){this.bind("dragend",J)}return !L?this.trigger("drag"):this.bind("drag",K?K:L)};var A=E.event,B=A.special,F=B.drag={not:":input",distance:0,which:1,dragging:false,setup:function(J){J=E.extend({distance:F.distance,which:F.which,not:F.not},J||{});J.distance=I(J.distance);A.add(this,"mousedown",H,J);if(this.attachEvent){this.attachEvent("ondragstart",D)}},teardown:function(){A.remove(this,"mousedown",H);if(this===F.dragging){F.dragging=F.proxy=false}G(this,true);if(this.detachEvent){this.detachEvent("ondragstart",D)}}};B.dragstart=B.dragend={setup:function(){},teardown:function(){}};function H(L){var K=this,J,M=L.data||{};if(M.elem){K=L.dragTarget=M.elem;L.dragProxy=F.proxy||K;L.cursorOffsetX=M.pageX-M.left;L.cursorOffsetY=M.pageY-M.top;L.offsetX=L.pageX-L.cursorOffsetX;L.offsetY=L.pageY-L.cursorOffsetY}else{if(F.dragging||(M.which>0&&L.which!=M.which)||E(L.target).is(M.not)){return }}switch(L.type){case"mousedown":E.extend(M,E(K).offset(),{elem:K,target:L.target,pageX:L.pageX,pageY:L.pageY});A.add(document,"mousemove mouseup",H,M);G(K,false);F.dragging=null;return false;case !F.dragging&&"mousemove":if(I(L.pageX-M.pageX)+I(L.pageY-M.pageY)<M.distance){break}L.target=M.target;J=C(L,"dragstart",K);if(J!==false){F.dragging=K;F.proxy=L.dragProxy=E(J||K)[0]}case"mousemove":if(F.dragging){J=C(L,"drag",K);if(B.drop){B.drop.allowed=(J!==false);B.drop.handler(L)}if(J!==false){break}L.type="mouseup"}case"mouseup":A.remove(document,"mousemove mouseup",H);if(F.dragging){if(B.drop){B.drop.handler(L)}C(L,"dragend",K)}G(K,true);F.dragging=F.proxy=M.elem=false;break}return true}function C(M,K,L){M.type=K;var J=E.event.handle.call(L,M);return J===false?false:J||M.result}function I(J){return Math.pow(J,2)}function D(){return(F.dragging===false)}function G(K,J){if(!K){return }K.unselectable=J?"off":"on";K.onselectstart=function(){return J};if(K.style){K.style.MozUserSelect=J?"":"none"}}})(jQuery);
-
-
-/* jquery.mousewheel.min.js
- * Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net)
- * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
- * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
- * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
- * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
- *
- * Version: 3.0.2
- * 
- * Requires: 1.2.2+
- */
-(function(c){var a=["DOMMouseScroll","mousewheel"];c.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var d=a.length;d;){this.addEventListener(a[--d],b,false)}}else{this.onmousewheel=b}},teardown:function(){if(this.removeEventListener){for(var d=a.length;d;){this.removeEventListener(a[--d],b,false)}}else{this.onmousewheel=null}}};c.fn.extend({mousewheel:function(d){return d?this.bind("mousewheel",d):this.trigger("mousewheel")},unmousewheel:function(d){return this.unbind("mousewheel",d)}});function b(f){var d=[].slice.call(arguments,1),g=0,e=true;f=c.event.fix(f||window.event);f.type="mousewheel";if(f.wheelDelta){g=f.wheelDelta/120}if(f.detail){g=-f.detail/3}d.unshift(f,g);return c.event.handle.apply(this,d)}})(jQuery);
-
-
-
-
-(function ($) {
-    var options = {
-        xaxis: {
-            zoomRange: null, // or [number, number] (min range, max range)
-            panRange: null // or [number, number] (min, max)
-        },
-        zoom: {
-            interactive: false,
-            trigger: "dblclick", // or "click" for single click
-            amount: 1.5 // how much to zoom relative to current position, 2 = 200% (zoom in), 0.5 = 50% (zoom out)
-        },
-        pan: {
-            interactive: false,
-            cursor: "move",
-            frameRate: 20
-        }
-    };
-
-    function init(plot) {
-        function onZoomClick(e, zoomOut) {
-            var c = plot.offset();
-            c.left = e.pageX - c.left;
-            c.top = e.pageY - c.top;
-            if (zoomOut)
-                plot.zoomOut({ center: c });
-            else
-                plot.zoom({ center: c });
-        }
-
-        function onMouseWheel(e, delta) {
-            onZoomClick(e, delta < 0);
-            return false;
-        }
-        
-        var prevCursor = 'default', prevPageX = 0, prevPageY = 0,
-            panTimeout = null;
-
-        function onDragStart(e) {
-            if (e.which != 1)  // only accept left-click
-                return false;
-            var c = plot.getPlaceholder().css('cursor');
-            if (c)
-                prevCursor = c;
-            plot.getPlaceholder().css('cursor', plot.getOptions().pan.cursor);
-            prevPageX = e.pageX;
-            prevPageY = e.pageY;
-        }
-        
-        function onDrag(e) {
-            var frameRate = plot.getOptions().pan.frameRate;
-            if (panTimeout || !frameRate)
-                return;
-
-            panTimeout = setTimeout(function () {
-                plot.pan({ left: prevPageX - e.pageX,
-                           top: prevPageY - e.pageY });
-                prevPageX = e.pageX;
-                prevPageY = e.pageY;
-                                                    
-                panTimeout = null;
-            }, 1 / frameRate * 1000);
-        }
-
-        function onDragEnd(e) {
-            if (panTimeout) {
-                clearTimeout(panTimeout);
-                panTimeout = null;
-            }
-                    
-            plot.getPlaceholder().css('cursor', prevCursor);
-            plot.pan({ left: prevPageX - e.pageX,
-                       top: prevPageY - e.pageY });
-        }
-        
-        function bindEvents(plot, eventHolder) {
-            var o = plot.getOptions();
-            if (o.zoom.interactive) {
-                eventHolder[o.zoom.trigger](onZoomClick);
-                eventHolder.mousewheel(onMouseWheel);
-            }
-
-            if (o.pan.interactive) {
-                eventHolder.bind("dragstart", { distance: 10 }, onDragStart);
-                eventHolder.bind("drag", onDrag);
-                eventHolder.bind("dragend", onDragEnd);
-            }
-        }
-
-        plot.zoomOut = function (args) {
-            if (!args)
-                args = {};
-            
-            if (!args.amount)
-                args.amount = plot.getOptions().zoom.amount
-
-            args.amount = 1 / args.amount;
-            plot.zoom(args);
-        }
-        
-        plot.zoom = function (args) {
-            if (!args)
-                args = {};
-            
-            var c = args.center,
-                amount = args.amount || plot.getOptions().zoom.amount,
-                w = plot.width(), h = plot.height();
-
-            if (!c)
-                c = { left: w / 2, top: h / 2 };
-                
-            var xf = c.left / w,
-                yf = c.top / h,
-                minmax = {
-                    x: {
-                        min: c.left - xf * w / amount,
-                        max: c.left + (1 - xf) * w / amount
-                    },
-                    y: {
-                        min: c.top - yf * h / amount,
-                        max: c.top + (1 - yf) * h / amount
-                    }
-                };
-
-            $.each(plot.getAxes(), function(_, axis) {
-                var opts = axis.options,
-                    min = minmax[axis.direction].min,
-                    max = minmax[axis.direction].max,
-                    zr = opts.zoomRange;
-
-                if (zr === false) // no zooming on this axis
-                    return;
-                    
-                min = axis.c2p(min);
-                max = axis.c2p(max);
-                if (min > max) {
-                    // make sure min < max
-                    var tmp = min;
-                    min = max;
-                    max = tmp;
-                }
-
-                var range = max - min;
-                if (zr &&
-                    ((zr[0] != null && range < zr[0]) ||
-                     (zr[1] != null && range > zr[1])))
-                    return;
-            
-                opts.min = min;
-                opts.max = max;
-            });
-            
-            plot.setupGrid();
-            plot.draw();
-            
-            if (!args.preventEvent)
-                plot.getPlaceholder().trigger("plotzoom", [ plot ]);
-        }
-
-        plot.pan = function (args) {
-            var delta = {
-                x: +args.left,
-                y: +args.top
-            };
-
-            if (isNaN(delta.x))
-                delta.x = 0;
-            if (isNaN(delta.y))
-                delta.y = 0;
-
-            $.each(plot.getAxes(), function (_, axis) {
-                var opts = axis.options,
-                    min, max, d = delta[axis.direction];
-
-                min = axis.c2p(axis.p2c(axis.min) + d),
-                max = axis.c2p(axis.p2c(axis.max) + d);
-
-                var pr = opts.panRange;
-                if (pr === false) // no panning on this axis
-                    return;
-                
-                if (pr) {
-                    // check whether we hit the wall
-                    if (pr[0] != null && pr[0] > min) {
-                        d = pr[0] - min;
-                        min += d;
-                        max += d;
-                    }
-                    
-                    if (pr[1] != null && pr[1] < max) {
-                        d = pr[1] - max;
-                        min += d;
-                        max += d;
-                    }
-                }
-                
-                opts.min = min;
-                opts.max = max;
-            });
-            
-            plot.setupGrid();
-            plot.draw();
-            
-            if (!args.preventEvent)
-                plot.getPlaceholder().trigger("plotpan", [ plot ]);
-        }
-
-        function shutdown(plot, eventHolder) {
-            eventHolder.unbind(plot.getOptions().zoom.trigger, onZoomClick);
-            eventHolder.unbind("mousewheel", onMouseWheel);
-            eventHolder.unbind("dragstart", onDragStart);
-            eventHolder.unbind("drag", onDrag);
-            eventHolder.unbind("dragend", onDragEnd);
-            if (panTimeout)
-                clearTimeout(panTimeout);
-        }
-        
-        plot.hooks.bindEvents.push(bindEvents);
-        plot.hooks.shutdown.push(shutdown);
-    }
-    
-    $.plot.plugins.push({
-        init: init,
-        options: options,
-        name: 'navigate',
-        version: '1.3'
-    });
-})(jQuery);
-

--- a/js/flot/jquery.flot.navigate.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(i){i.fn.drag=function(j,k,l){if(k){this.bind("dragstart",j)}if(l){this.bind("dragend",l)}return !j?this.trigger("drag"):this.bind("drag",k?k:j)};var d=i.event,c=d.special,h=c.drag={not:":input",distance:0,which:1,dragging:false,setup:function(j){j=i.extend({distance:h.distance,which:h.which,not:h.not},j||{});j.distance=e(j.distance);d.add(this,"mousedown",f,j);if(this.attachEvent){this.attachEvent("ondragstart",a)}},teardown:function(){d.remove(this,"mousedown",f);if(this===h.dragging){h.dragging=h.proxy=false}g(this,true);if(this.detachEvent){this.detachEvent("ondragstart",a)}}};c.dragstart=c.dragend={setup:function(){},teardown:function(){}};function f(j){var k=this,l,m=j.data||{};if(m.elem){k=j.dragTarget=m.elem;j.dragProxy=h.proxy||k;j.cursorOffsetX=m.pageX-m.left;j.cursorOffsetY=m.pageY-m.top;j.offsetX=j.pageX-j.cursorOffsetX;j.offsetY=j.pageY-j.cursorOffsetY}else{if(h.dragging||(m.which>0&&j.which!=m.which)||i(j.target).is(m.not)){return}}switch(j.type){case"mousedown":i.extend(m,i(k).offset(),{elem:k,target:j.target,pageX:j.pageX,pageY:j.pageY});d.add(document,"mousemove mouseup",f,m);g(k,false);h.dragging=null;return false;case !h.dragging&&"mousemove":if(e(j.pageX-m.pageX)+e(j.pageY-m.pageY)<m.distance){break}j.target=m.target;l=b(j,"dragstart",k);if(l!==false){h.dragging=k;h.proxy=j.dragProxy=i(l||k)[0]}case"mousemove":if(h.dragging){l=b(j,"drag",k);if(c.drop){c.drop.allowed=(l!==false);c.drop.handler(j)}if(l!==false){break}j.type="mouseup"}case"mouseup":d.remove(document,"mousemove mouseup",f);if(h.dragging){if(c.drop){c.drop.handler(j)}b(j,"dragend",k)}g(k,true);h.dragging=h.proxy=m.elem=false;break}return true}function b(m,k,j){m.type=k;var l=i.event.handle.call(j,m);return l===false?false:l||m.result}function e(j){return Math.pow(j,2)}function a(){return(h.dragging===false)}function g(j,k){if(!j){return}j.unselectable=k?"off":"on";j.onselectstart=function(){return k};if(j.style){j.style.MozUserSelect=k?"":"none"}}})(jQuery);(function(f){var e=["DOMMouseScroll","mousewheel"];f.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var a=e.length;a;){this.addEventListener(e[--a],d,false)}}else{this.onmousewheel=d}},teardown:function(){if(this.removeEventListener){for(var a=e.length;a;){this.removeEventListener(e[--a],d,false)}}else{this.onmousewheel=null}}};f.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}});function d(b){var h=[].slice.call(arguments,1),a=0,c=true;b=f.event.fix(b||window.event);b.type="mousewheel";if(b.wheelDelta){a=b.wheelDelta/120}if(b.detail){a=-b.detail/3}h.unshift(b,a);return f.event.handle.apply(this,h)}})(jQuery);(function(b){var a={xaxis:{zoomRange:null,panRange:null},zoom:{interactive:false,trigger:"dblclick",amount:1.5},pan:{interactive:false,cursor:"move",frameRate:20}};function c(o){function m(q,p){var r=o.offset();r.left=q.pageX-r.left;r.top=q.pageY-r.top;if(p){o.zoomOut({center:r})}else{o.zoom({center:r})}}function d(p,q){m(p,q<0);return false}var i="default",g=0,e=0,n=null;function f(p){if(p.which!=1){return false}var q=o.getPlaceholder().css("cursor");if(q){i=q}o.getPlaceholder().css("cursor",o.getOptions().pan.cursor);g=p.pageX;e=p.pageY}function j(q){var p=o.getOptions().pan.frameRate;if(n||!p){return}n=setTimeout(function(){o.pan({left:g-q.pageX,top:e-q.pageY});g=q.pageX;e=q.pageY;n=null},1/p*1000)}function h(p){if(n){clearTimeout(n);n=null}o.getPlaceholder().css("cursor",i);o.pan({left:g-p.pageX,top:e-p.pageY})}function l(q,p){var r=q.getOptions();if(r.zoom.interactive){p[r.zoom.trigger](m);p.mousewheel(d)}if(r.pan.interactive){p.bind("dragstart",{distance:10},f);p.bind("drag",j);p.bind("dragend",h)}}o.zoomOut=function(p){if(!p){p={}}if(!p.amount){p.amount=o.getOptions().zoom.amount}p.amount=1/p.amount;o.zoom(p)};o.zoom=function(q){if(!q){q={}}var x=q.center,r=q.amount||o.getOptions().zoom.amount,p=o.width(),t=o.height();if(!x){x={left:p/2,top:t/2}}var s=x.left/p,v=x.top/t,u={x:{min:x.left-s*p/r,max:x.left+(1-s)*p/r},y:{min:x.top-v*t/r,max:x.top+(1-v)*t/r}};b.each(o.getAxes(),function(z,C){var D=C.options,B=u[C.direction].min,w=u[C.direction].max,E=D.zoomRange;if(E===false){return}B=C.c2p(B);w=C.c2p(w);if(B>w){var A=B;B=w;w=A}var y=w-B;if(E&&((E[0]!=null&&y<E[0])||(E[1]!=null&&y>E[1]))){return}D.min=B;D.max=w});o.setupGrid();o.draw();if(!q.preventEvent){o.getPlaceholder().trigger("plotzoom",[o])}};o.pan=function(p){var q={x:+p.left,y:+p.top};if(isNaN(q.x)){q.x=0}if(isNaN(q.y)){q.y=0}b.each(o.getAxes(),function(s,u){var v=u.options,t,r,w=q[u.direction];t=u.c2p(u.p2c(u.min)+w),r=u.c2p(u.p2c(u.max)+w);var x=v.panRange;if(x===false){return}if(x){if(x[0]!=null&&x[0]>t){w=x[0]-t;t+=w;r+=w}if(x[1]!=null&&x[1]<r){w=x[1]-r;t+=w;r+=w}}v.min=t;v.max=r});o.setupGrid();o.draw();if(!p.preventEvent){o.getPlaceholder().trigger("plotpan",[o])}};function k(q,p){p.unbind(q.getOptions().zoom.trigger,m);p.unbind("mousewheel",d);p.unbind("dragstart",f);p.unbind("drag",j);p.unbind("dragend",h);if(n){clearTimeout(n)}}o.hooks.bindEvents.push(l);o.hooks.shutdown.push(k)}b.plot.plugins.push({init:c,options:a,name:"navigate",version:"1.3"})})(jQuery);
+

--- a/js/flot/jquery.flot.pie.js
+++ /dev/null
@@ -1,751 +1,1 @@
-/*

-Flot plugin for rendering pie charts. The plugin assumes the data is 

-coming is as a single data value for each series, and each of those 

-values is a positive value or zero (negative numbers don't make 

-any sense and will cause strange effects). The data values do 

-NOT need to be passed in as percentage values because it 

-internally calculates the total and percentages.

-

-* Created by Brian Medendorp, June 2009

-* Updated November 2009 with contributions from: btburnett3, Anthony Aragues and Xavi Ivars

-

-* Changes:

-	2009-10-22: lineJoin set to round

-	2009-10-23: IE full circle fix, donut

-	2009-11-11: Added basic hover from btburnett3 - does not work in IE, and center is off in Chrome and Opera

-	2009-11-17: Added IE hover capability submitted by Anthony Aragues

-	2009-11-18: Added bug fix submitted by Xavi Ivars (issues with arrays when other JS libraries are included as well)

-		

-

-Available options are:

-series: {

-	pie: {

-		show: true/false

-		radius: 0-1 for percentage of fullsize, or a specified pixel length, or 'auto'

-		innerRadius: 0-1 for percentage of fullsize or a specified pixel length, for creating a donut effect

-		startAngle: 0-2 factor of PI used for starting angle (in radians) i.e 3/2 starts at the top, 0 and 2 have the same result

-		tilt: 0-1 for percentage to tilt the pie, where 1 is no tilt, and 0 is completely flat (nothing will show)

-		offset: {

-			top: integer value to move the pie up or down

-			left: integer value to move the pie left or right, or 'auto'

-		},

-		stroke: {

-			color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#FFF')

-			width: integer pixel width of the stroke

-		},

-		label: {

-			show: true/false, or 'auto'

-			formatter:  a user-defined function that modifies the text/style of the label text

-			radius: 0-1 for percentage of fullsize, or a specified pixel length

-			background: {

-				color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#000')

-				opacity: 0-1

-			},

-			threshold: 0-1 for the percentage value at which to hide labels (if they're too small)

-		},

-		combine: {

-			threshold: 0-1 for the percentage value at which to combine slices (if they're too small)

-			color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#CCC'), if null, the plugin will automatically use the color of the first slice to be combined

-			label: any text value of what the combined slice should be labeled

-		}

-		highlight: {

-			opacity: 0-1

-		}

-	}

-}

-

-More detail and specific examples can be found in the included HTML file.

-

-*/

-

-(function ($) 

-{

-	function init(plot) // this is the "body" of the plugin

-	{

-		var canvas = null;

-		var target = null;

-		var maxRadius = null;

-		var centerLeft = null;

-		var centerTop = null;

-		var total = 0;

-		var redraw = true;

-		var redrawAttempts = 10;

-		var shrink = 0.95;

-		var legendWidth = 0;

-		var processed = false;

-		var raw = false;

-		

-		// interactive variables	

-		var highlights = [];	

-	

-		// add hook to determine if pie plugin in enabled, and then perform necessary operations

-		plot.hooks.processOptions.push(checkPieEnabled);

-		plot.hooks.bindEvents.push(bindEvents);	

-

-		// check to see if the pie plugin is enabled

-		function checkPieEnabled(plot, options)

-		{

-			if (options.series.pie.show)

-			{

-				//disable grid

-				options.grid.show = false;

-				

-				// set labels.show

-				if (options.series.pie.label.show=='auto')

-					if (options.legend.show)

-						options.series.pie.label.show = false;

-					else

-						options.series.pie.label.show = true;

-				

-				// set radius

-				if (options.series.pie.radius=='auto')

-					if (options.series.pie.label.show)

-						options.series.pie.radius = 3/4;

-					else

-						options.series.pie.radius = 1;

-						

-				// ensure sane tilt

-				if (options.series.pie.tilt>1)

-					options.series.pie.tilt=1;

-				if (options.series.pie.tilt<0)

-					options.series.pie.tilt=0;

-			

-				// add processData hook to do transformations on the data

-				plot.hooks.processDatapoints.push(processDatapoints);

-				plot.hooks.drawOverlay.push(drawOverlay);	

-				

-				// add draw hook

-				plot.hooks.draw.push(draw);

-			}

-		}

-	

-		// bind hoverable events

-		function bindEvents(plot, eventHolder) 		

-		{		

-			var options = plot.getOptions();

-			

-			if (options.series.pie.show && options.grid.hoverable)

-				eventHolder.unbind('mousemove').mousemove(onMouseMove);

-				

-			if (options.series.pie.show && options.grid.clickable)

-				eventHolder.unbind('click').click(onClick);

-		}	

-		

-

-		// debugging function that prints out an object

-		function alertObject(obj)

-		{

-			var msg = '';

-			function traverse(obj, depth)

-			{

-				if (!depth)

-					depth = 0;

-				for (var i = 0; i < obj.length; ++i)

-				{

-					for (var j=0; j<depth; j++)

-						msg += '\t';

-				

-					if( typeof obj[i] == "object")

-					{	// its an object

-						msg += ''+i+':\n';

-						traverse(obj[i], depth+1);

-					}

-					else

-					{	// its a value

-						msg += ''+i+': '+obj[i]+'\n';

-					}

-				}

-			}

-			traverse(obj);

-			alert(msg);

-		}

-		

-		function calcTotal(data)

-		{

-			for (var i = 0; i < data.length; ++i)

-			{

-				var item = parseFloat(data[i].data[0][1]);

-				if (item)

-					total += item;

-			}

-		}	

-		

-		function processDatapoints(plot, series, data, datapoints) 

-		{	

-			if (!processed)

-			{

-				processed = true;

-			

-				canvas = plot.getCanvas();

-				target = $(canvas).parent();

-				options = plot.getOptions();

-			

-				plot.setData(combine(plot.getData()));

-			}

-		}

-		

-		function setupPie()

-		{

-			legendWidth = target.children().filter('.legend').children().width();

-		

-			// calculate maximum radius and center point

-			maxRadius =  Math.min(canvas.width,(canvas.height/options.series.pie.tilt))/2;

-			centerTop = (canvas.height/2)+options.series.pie.offset.top;

-			centerLeft = (canvas.width/2);

-			

-			if (options.series.pie.offset.left=='auto')

-				if (options.legend.position.match('w'))

-					centerLeft += legendWidth/2;

-				else

-					centerLeft -= legendWidth/2;

-			else

-				centerLeft += options.series.pie.offset.left;

-					

-			if (centerLeft<maxRadius)

-				centerLeft = maxRadius;

-			else if (centerLeft>canvas.width-maxRadius)

-				centerLeft = canvas.width-maxRadius;

-		}

-		

-		function fixData(data)

-		{

-			for (var i = 0; i < data.length; ++i)

-			{

-				if (typeof(data[i].data)=='number')

-					data[i].data = [[1,data[i].data]];

-				else if (typeof(data[i].data)=='undefined' || typeof(data[i].data[0])=='undefined')

-				{

-					if (typeof(data[i].data)!='undefined' && typeof(data[i].data.label)!='undefined')

-						data[i].label = data[i].data.label; // fix weirdness coming from flot

-					data[i].data = [[1,0]];

-					

-				}

-			}

-			return data;

-		}

-		

-		function combine(data)

-		{

-			data = fixData(data);

-			calcTotal(data);

-			var combined = 0;

-			var numCombined = 0;

-			var color = options.series.pie.combine.color;

-			

-			var newdata = [];

-			for (var i = 0; i < data.length; ++i)

-			{

-				// make sure its a number

-				data[i].data[0][1] = parseFloat(data[i].data[0][1]);

-				if (!data[i].data[0][1])

-					data[i].data[0][1] = 0;

-					

-				if (data[i].data[0][1]/total<=options.series.pie.combine.threshold)

-				{

-					combined += data[i].data[0][1];

-					numCombined++;

-					if (!color)

-						color = data[i].color;

-				}				

-				else

-				{

-					newdata.push({

-						data: [[1,data[i].data[0][1]]], 

-						color: data[i].color, 

-						label: data[i].label,

-						angle: (data[i].data[0][1]*(Math.PI*2))/total,

-						percent: (data[i].data[0][1]/total*100)

-					});

-				}

-			}

-			if (numCombined>0)

-				newdata.push({

-					data: [[1,combined]], 

-					color: color, 

-					label: options.series.pie.combine.label,

-					angle: (combined*(Math.PI*2))/total,

-					percent: (combined/total*100)

-				});

-			return newdata;

-		}		

-		

-		function draw(plot, newCtx)

-		{

-			if (!target) return; // if no series were passed

-			ctx = newCtx;

-		

-			setupPie();

-			var slices = plot.getData();

-		

-			var attempts = 0;

-			while (redraw && attempts<redrawAttempts)

-			{

-				redraw = false;

-				if (attempts>0)

-					maxRadius *= shrink;

-				attempts += 1;

-				clear();

-				if (options.series.pie.tilt<=0.8)

-					drawShadow();

-				drawPie();

-			}

-			if (attempts >= redrawAttempts) {

-				clear();

-				target.prepend('<div class="error">Could not draw pie with labels contained inside canvas</div>');

-			}

-			

-			if ( plot.setSeries && plot.insertLegend )

-			{

-				plot.setSeries(slices);

-				plot.insertLegend();

-			}

-			

-			// we're actually done at this point, just defining internal functions at this point

-			

-			function clear()

-			{

-				ctx.clearRect(0,0,canvas.width,canvas.height);

-				target.children().filter('.pieLabel, .pieLabelBackground').remove();

-			}

-			

-			function drawShadow()

-			{

-				var shadowLeft = 5;

-				var shadowTop = 15;

-				var edge = 10;

-				var alpha = 0.02;

-			

-				// set radius

-				if (options.series.pie.radius>1)

-					var radius = options.series.pie.radius;

-				else

-					var radius = maxRadius * options.series.pie.radius;

-					

-				if (radius>=(canvas.width/2)-shadowLeft || radius*options.series.pie.tilt>=(canvas.height/2)-shadowTop || radius<=edge)

-					return;	// shadow would be outside canvas, so don't draw it

-			

-				ctx.save();

-				ctx.translate(shadowLeft,shadowTop);

-				ctx.globalAlpha = alpha;

-				ctx.fillStyle = '#000';

-

-				// center and rotate to starting position

-				ctx.translate(centerLeft,centerTop);

-				ctx.scale(1, options.series.pie.tilt);

-				

-				//radius -= edge;

-				for (var i=1; i<=edge; i++)

-				{

-					ctx.beginPath();

-					ctx.arc(0,0,radius,0,Math.PI*2,false);

-					ctx.fill();

-					radius -= i;

-				}	

-				

-				ctx.restore();

-			}

-			

-			function drawPie()

-			{

-				startAngle = Math.PI*options.series.pie.startAngle;

-				

-				// set radius

-				if (options.series.pie.radius>1)

-					var radius = options.series.pie.radius;

-				else

-					var radius = maxRadius * options.series.pie.radius;

-				

-				// center and rotate to starting position

-				ctx.save();

-				ctx.translate(centerLeft,centerTop);

-				ctx.scale(1, options.series.pie.tilt);

-				//ctx.rotate(startAngle); // start at top; -- This doesn't work properly in Opera

-				

-				// draw slices

-				ctx.save();

-				var currentAngle = startAngle;

-				for (var i = 0; i < slices.length; ++i)

-				{

-					slices[i].startAngle = currentAngle;

-					drawSlice(slices[i].angle, slices[i].color, true);

-				}

-				ctx.restore();

-				

-				// draw slice outlines

-				ctx.save();

-				ctx.lineWidth = options.series.pie.stroke.width;

-				currentAngle = startAngle;

-				for (var i = 0; i < slices.length; ++i)

-					drawSlice(slices[i].angle, options.series.pie.stroke.color, false);

-				ctx.restore();

-					

-				// draw donut hole

-				drawDonutHole(ctx);

-				

-				// draw labels

-				if (options.series.pie.label.show)

-					drawLabels();

-				

-				// restore to original state

-				ctx.restore();

-				

-				function drawSlice(angle, color, fill)

-				{	

-					if (angle<=0)

-						return;

-				

-					if (fill)

-						ctx.fillStyle = color;

-					else

-					{

-						ctx.strokeStyle = color;

-						ctx.lineJoin = 'round';

-					}

-						

-					ctx.beginPath();

-					if (Math.abs(angle - Math.PI*2) > 0.000000001)

-						ctx.moveTo(0,0); // Center of the pie

-					else if ($.browser.msie)

-						angle -= 0.0001;

-					//ctx.arc(0,0,radius,0,angle,false); // This doesn't work properly in Opera

-					ctx.arc(0,0,radius,currentAngle,currentAngle+angle,false);

-					ctx.closePath();

-					//ctx.rotate(angle); // This doesn't work properly in Opera

-					currentAngle += angle;

-					

-					if (fill)

-						ctx.fill();

-					else

-						ctx.stroke();

-				}

-				

-				function drawLabels()

-				{

-					var currentAngle = startAngle;

-					

-					// set radius

-					if (options.series.pie.label.radius>1)

-						var radius = options.series.pie.label.radius;

-					else

-						var radius = maxRadius * options.series.pie.label.radius;

-					

-					for (var i = 0; i < slices.length; ++i)

-					{

-						if (slices[i].percent >= options.series.pie.label.threshold*100)

-							drawLabel(slices[i], currentAngle, i);

-						currentAngle += slices[i].angle;

-					}

-					

-					function drawLabel(slice, startAngle, index)

-					{

-						if (slice.data[0][1]==0)

-							return;

-							

-						// format label text

-						var lf = options.legend.labelFormatter, text, plf = options.series.pie.label.formatter;

-						if (lf)

-							text = lf(slice.label, slice);

-						else

-							text = slice.label;

-						if (plf)

-							text = plf(text, slice);

-							

-						var halfAngle = ((startAngle+slice.angle) + startAngle)/2;

-						var x = centerLeft + Math.round(Math.cos(halfAngle) * radius);

-						var y = centerTop + Math.round(Math.sin(halfAngle) * radius) * options.series.pie.tilt;

-						

-						var html = '<span class="pieLabel" id="pieLabel'+index+'" style="position:absolute;top:' + y + 'px;left:' + x + 'px;">' + text + "</span>";

-						target.append(html);

-						var label = target.children('#pieLabel'+index);

-						var labelTop = (y - label.height()/2);

-						var labelLeft = (x - label.width()/2);

-						label.css('top', labelTop);

-						label.css('left', labelLeft);

-						

-						// check to make sure that the label is not outside the canvas

-						if (0-labelTop>0 || 0-labelLeft>0 || canvas.height-(labelTop+label.height())<0 || canvas.width-(labelLeft+label.width())<0)

-							redraw = true;

-						

-						if (options.series.pie.label.background.opacity != 0) {

-							// put in the transparent background separately to avoid blended labels and label boxes

-							var c = options.series.pie.label.background.color;

-							if (c == null) {

-								c = slice.color;

-							}

-							var pos = 'top:'+labelTop+'px;left:'+labelLeft+'px;';

-							$('<div class="pieLabelBackground" style="position:absolute;width:' + label.width() + 'px;height:' + label.height() + 'px;' + pos +'background-color:' + c + ';"> </div>').insertBefore(label).css('opacity', options.series.pie.label.background.opacity);

-						}

-					} // end individual label function

-				} // end drawLabels function

-			} // end drawPie function

-		} // end draw function

-		

-		// Placed here because it needs to be accessed from multiple locations 

-		function drawDonutHole(layer)

-		{

-			// draw donut hole

-			if(options.series.pie.innerRadius > 0)

-			{

-				// subtract the center

-				layer.save();

-				innerRadius = options.series.pie.innerRadius > 1 ? options.series.pie.innerRadius : maxRadius * options.series.pie.innerRadius;

-				layer.globalCompositeOperation = 'destination-out'; // this does not work with excanvas, but it will fall back to using the stroke color

-				layer.beginPath();

-				layer.fillStyle = options.series.pie.stroke.color;

-				layer.arc(0,0,innerRadius,0,Math.PI*2,false);

-				layer.fill();

-				layer.closePath();

-				layer.restore();

-				

-				// add inner stroke

-				layer.save();

-				layer.beginPath();

-				layer.strokeStyle = options.series.pie.stroke.color;

-				layer.arc(0,0,innerRadius,0,Math.PI*2,false);

-				layer.stroke();

-				layer.closePath();

-				layer.restore();

-				// TODO: add extra shadow inside hole (with a mask) if the pie is tilted.

-			}

-		}

-		

-		//-- Additional Interactive related functions --

-		

-		function isPointInPoly(poly, pt)

-		{

-			for(var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)

-				((poly[i][1] <= pt[1] && pt[1] < poly[j][1]) || (poly[j][1] <= pt[1] && pt[1]< poly[i][1]))

-				&& (pt[0] < (poly[j][0] - poly[i][0]) * (pt[1] - poly[i][1]) / (poly[j][1] - poly[i][1]) + poly[i][0])

-				&& (c = !c);

-			return c;

-		}

-		

-		function findNearbySlice(mouseX, mouseY)

-		{

-			var slices = plot.getData(),

-				options = plot.getOptions(),

-				radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius;

-			

-			for (var i = 0; i < slices.length; ++i) 

-			{

-				var s = slices[i];	

-				

-				if(s.pie.show)

-				{

-					ctx.save();

-					ctx.beginPath();

-					ctx.moveTo(0,0); // Center of the pie

-					//ctx.scale(1, options.series.pie.tilt);	// this actually seems to break everything when here.

-					ctx.arc(0,0,radius,s.startAngle,s.startAngle+s.angle,false);

-					ctx.closePath();

-					x = mouseX-centerLeft;

-					y = mouseY-centerTop;

-					if(ctx.isPointInPath)

-					{

-						if (ctx.isPointInPath(mouseX-centerLeft, mouseY-centerTop))

-						{

-							//alert('found slice!');

-							ctx.restore();

-							return {datapoint: [s.percent, s.data], dataIndex: 0, series: s, seriesIndex: i};

-						}

-					}

-					else

-					{

-						// excanvas for IE doesn;t support isPointInPath, this is a workaround. 

-						p1X = (radius * Math.cos(s.startAngle));

-						p1Y = (radius * Math.sin(s.startAngle));

-						p2X = (radius * Math.cos(s.startAngle+(s.angle/4)));

-						p2Y = (radius * Math.sin(s.startAngle+(s.angle/4)));

-						p3X = (radius * Math.cos(s.startAngle+(s.angle/2)));

-						p3Y = (radius * Math.sin(s.startAngle+(s.angle/2)));

-						p4X = (radius * Math.cos(s.startAngle+(s.angle/1.5)));

-						p4Y = (radius * Math.sin(s.startAngle+(s.angle/1.5)));

-						p5X = (radius * Math.cos(s.startAngle+s.angle));

-						p5Y = (radius * Math.sin(s.startAngle+s.angle));

-						arrPoly = [[0,0],[p1X,p1Y],[p2X,p2Y],[p3X,p3Y],[p4X,p4Y],[p5X,p5Y]];

-						arrPoint = [x,y];

-						// TODO: perhaps do some mathmatical trickery here with the Y-coordinate to compensate for pie tilt?

-						if(isPointInPoly(arrPoly, arrPoint))

-						{

-							ctx.restore();

-							return {datapoint: [s.percent, s.data], dataIndex: 0, series: s, seriesIndex: i};

-						}			

-					}

-					ctx.restore();

-				}

-			}

-			

-			return null;

-		}

-

-		function onMouseMove(e) 

-		{

-			triggerClickHoverEvent('plothover', e);

-		}

-		

-        function onClick(e) 

-		{

-			triggerClickHoverEvent('plotclick', e);

-        }

-

-		// trigger click or hover event (they send the same parameters so we share their code)

-		function triggerClickHoverEvent(eventname, e) 

-		{

-			var offset = plot.offset(),

-				canvasX = parseInt(e.pageX - offset.left),

-				canvasY =  parseInt(e.pageY - offset.top),

-				item = findNearbySlice(canvasX, canvasY);

-			

-			if (options.grid.autoHighlight) 

-			{

-				// clear auto-highlights

-				for (var i = 0; i < highlights.length; ++i) 

-				{

-					var h = highlights[i];

-					if (h.auto == eventname && !(item && h.series == item.series))

-						unhighlight(h.series);

-				}

-			}

-			

-			// highlight the slice

-			if (item) 

-			    highlight(item.series, eventname);

-				

-			// trigger any hover bind events

-			var pos = { pageX: e.pageX, pageY: e.pageY };

-			target.trigger(eventname, [ pos, item ]);	

-		}

-

-		function highlight(s, auto) 

-		{

-			if (typeof s == "number")

-				s = series[s];

-

-			var i = indexOfHighlight(s);

-			if (i == -1) 

-			{

-				highlights.push({ series: s, auto: auto });

-				plot.triggerRedrawOverlay();

-			}

-			else if (!auto)

-				highlights[i].auto = false;

-		}

-

-		function unhighlight(s) 

-		{

-			if (s == null) 

-			{

-				highlights = [];

-				plot.triggerRedrawOverlay();

-			}

-			

-			if (typeof s == "number")

-				s = series[s];

-

-			var i = indexOfHighlight(s);

-			if (i != -1) 

-			{

-				highlights.splice(i, 1);

-				plot.triggerRedrawOverlay();

-			}

-		}

-

-		function indexOfHighlight(s) 

-		{

-			for (var i = 0; i < highlights.length; ++i) 

-			{

-				var h = highlights[i];

-				if (h.series == s)

-					return i;

-			}

-			return -1;

-		}

-

-		function drawOverlay(plot, octx) 

-		{

-			//alert(options.series.pie.radius);

-			var options = plot.getOptions();

-			//alert(options.series.pie.radius);

-			

-			var radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius;

-

-			octx.save();

-			octx.translate(centerLeft, centerTop);

-			octx.scale(1, options.series.pie.tilt);

-			

-			for (i = 0; i < highlights.length; ++i) 

-				drawHighlight(highlights[i].series);

-			

-			drawDonutHole(octx);

-

-			octx.restore();

-

-			function drawHighlight(series) 

-			{

-				if (series.angle < 0) return;

-				

-				//octx.fillStyle = parseColor(options.series.pie.highlight.color).scale(null, null, null, options.series.pie.highlight.opacity).toString();

-				octx.fillStyle = "rgba(255, 255, 255, "+options.series.pie.highlight.opacity+")"; // this is temporary until we have access to parseColor

-				

-				octx.beginPath();

-				if (Math.abs(series.angle - Math.PI*2) > 0.000000001)

-					octx.moveTo(0,0); // Center of the pie

-				octx.arc(0,0,radius,series.startAngle,series.startAngle+series.angle,false);

-				octx.closePath();

-				octx.fill();

-			}

-			

-		}	

-		

-	} // end init (plugin body)

-	

-	// define pie specific options and their default values

-	var options = {

-		series: {

-			pie: {

-				show: false,

-				radius: 'auto',	// actual radius of the visible pie (based on full calculated radius if <=1, or hard pixel value)

-				innerRadius:0, /* for donut */

-				startAngle: 3/2,

-				tilt: 1,

-				offset: {

-					top: 0,

-					left: 'auto'

-				},

-				stroke: {

-					color: '#FFF',

-					width: 1

-				},

-				label: {

-					show: 'auto',

-					formatter: function(label, slice){

-						return '<div style="font-size:x-small;text-align:center;padding:2px;color:'+slice.color+';">'+label+'<br/>'+Math.round(slice.percent)+'%</div>';

-					},	// formatter function

-					radius: 1,	// radius at which to place the labels (based on full calculated radius if <=1, or hard pixel value)

-					background: {

-						color: null,

-						opacity: 0

-					},

-					threshold: 0	// percentage at which to hide the label (i.e. the slice is too narrow)

-				},

-				combine: {

-					threshold: -1,	// percentage at which to combine little slices into one larger slice

-					color: null,	// color to give the new slice (auto-generated if null)

-					label: 'Other'	// label to give the new slice

-				},

-				highlight: {

-					//color: '#FFF',		// will add this functionality once parseColor is available

-					opacity: 0.5

-				}

-			}

-		}

-	};

-    

-	$.plot.plugins.push({

-		init: init,

-		options: options,

-		name: "pie",

-		version: "1.0"

-	});

-})(jQuery);

 

--- a/js/flot/jquery.flot.pie.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(b){function c(D){var h=null;var L=null;var n=null;var B=null;var p=null;var M=0;var F=true;var o=10;var w=0.95;var A=0;var d=false;var z=false;var j=[];D.hooks.processOptions.push(g);D.hooks.bindEvents.push(e);function g(O,N){if(N.series.pie.show){N.grid.show=false;if(N.series.pie.label.show=="auto"){if(N.legend.show){N.series.pie.label.show=false}else{N.series.pie.label.show=true}}if(N.series.pie.radius=="auto"){if(N.series.pie.label.show){N.series.pie.radius=3/4}else{N.series.pie.radius=1}}if(N.series.pie.tilt>1){N.series.pie.tilt=1}if(N.series.pie.tilt<0){N.series.pie.tilt=0}O.hooks.processDatapoints.push(E);O.hooks.drawOverlay.push(H);O.hooks.draw.push(r)}}function e(P,N){var O=P.getOptions();if(O.series.pie.show&&O.grid.hoverable){N.unbind("mousemove").mousemove(t)}if(O.series.pie.show&&O.grid.clickable){N.unbind("click").click(l)}}function G(O){var P="";function N(S,T){if(!T){T=0}for(var R=0;R<S.length;++R){for(var Q=0;Q<T;Q++){P+="\t"}if(typeof S[R]=="object"){P+=""+R+":\n";N(S[R],T+1)}else{P+=""+R+": "+S[R]+"\n"}}}N(O);alert(P)}function q(P){for(var N=0;N<P.length;++N){var O=parseFloat(P[N].data[0][1]);if(O){M+=O}}}function E(Q,N,O,P){if(!d){d=true;h=Q.getCanvas();L=b(h).parent();a=Q.getOptions();Q.setData(K(Q.getData()))}}function I(){A=L.children().filter(".legend").children().width();n=Math.min(h.width,(h.height/a.series.pie.tilt))/2;p=(h.height/2)+a.series.pie.offset.top;B=(h.width/2);if(a.series.pie.offset.left=="auto"){if(a.legend.position.match("w")){B+=A/2}else{B-=A/2}}else{B+=a.series.pie.offset.left}if(B<n){B=n}else{if(B>h.width-n){B=h.width-n}}}function v(O){for(var N=0;N<O.length;++N){if(typeof(O[N].data)=="number"){O[N].data=[[1,O[N].data]]}else{if(typeof(O[N].data)=="undefined"||typeof(O[N].data[0])=="undefined"){if(typeof(O[N].data)!="undefined"&&typeof(O[N].data.label)!="undefined"){O[N].label=O[N].data.label}O[N].data=[[1,0]]}}}return O}function K(Q){Q=v(Q);q(Q);var P=0;var S=0;var N=a.series.pie.combine.color;var R=[];for(var O=0;O<Q.length;++O){Q[O].data[0][1]=parseFloat(Q[O].data[0][1]);if(!Q[O].data[0][1]){Q[O].data[0][1]=0}if(Q[O].data[0][1]/M<=a.series.pie.combine.threshold){P+=Q[O].data[0][1];S++;if(!N){N=Q[O].color}}else{R.push({data:[[1,Q[O].data[0][1]]],color:Q[O].color,label:Q[O].label,angle:(Q[O].data[0][1]*(Math.PI*2))/M,percent:(Q[O].data[0][1]/M*100)})}}if(S>0){R.push({data:[[1,P]],color:N,label:a.series.pie.combine.label,angle:(P*(Math.PI*2))/M,percent:(P/M*100)})}return R}function r(S,Q){if(!L){return}ctx=Q;I();var T=S.getData();var P=0;while(F&&P<o){F=false;if(P>0){n*=w}P+=1;N();if(a.series.pie.tilt<=0.8){O()}R()}if(P>=o){N();L.prepend('<div class="error">Could not draw pie with labels contained inside canvas</div>')}if(S.setSeries&&S.insertLegend){S.setSeries(T);S.insertLegend()}function N(){ctx.clearRect(0,0,h.width,h.height);L.children().filter(".pieLabel, .pieLabelBackground").remove()}function O(){var Z=5;var Y=15;var W=10;var X=0.02;if(a.series.pie.radius>1){var U=a.series.pie.radius}else{var U=n*a.series.pie.radius}if(U>=(h.width/2)-Z||U*a.series.pie.tilt>=(h.height/2)-Y||U<=W){return}ctx.save();ctx.translate(Z,Y);ctx.globalAlpha=X;ctx.fillStyle="#000";ctx.translate(B,p);ctx.scale(1,a.series.pie.tilt);for(var V=1;V<=W;V++){ctx.beginPath();ctx.arc(0,0,U,0,Math.PI*2,false);ctx.fill();U-=V}ctx.restore()}function R(){startAngle=Math.PI*a.series.pie.startAngle;if(a.series.pie.radius>1){var U=a.series.pie.radius}else{var U=n*a.series.pie.radius}ctx.save();ctx.translate(B,p);ctx.scale(1,a.series.pie.tilt);ctx.save();var Y=startAngle;for(var W=0;W<T.length;++W){T[W].startAngle=Y;X(T[W].angle,T[W].color,true)}ctx.restore();ctx.save();ctx.lineWidth=a.series.pie.stroke.width;Y=startAngle;for(var W=0;W<T.length;++W){X(T[W].angle,a.series.pie.stroke.color,false)}ctx.restore();J(ctx);if(a.series.pie.label.show){V()}ctx.restore();function X(ab,Z,aa){if(ab<=0){return}if(aa){ctx.fillStyle=Z}else{ctx.strokeStyle=Z;ctx.lineJoin="round"}ctx.beginPath();if(Math.abs(ab-Math.PI*2)>1e-9){ctx.moveTo(0,0)}else{if(b.browser.msie){ab-=0.0001}}ctx.arc(0,0,U,Y,Y+ab,false);ctx.closePath();Y+=ab;if(aa){ctx.fill()}else{ctx.stroke()}}function V(){var ac=startAngle;if(a.series.pie.label.radius>1){var Z=a.series.pie.label.radius}else{var Z=n*a.series.pie.label.radius}for(var ab=0;ab<T.length;++ab){if(T[ab].percent>=a.series.pie.label.threshold*100){aa(T[ab],ac,ab)}ac+=T[ab].angle}function aa(ap,ai,ag){if(ap.data[0][1]==0){return}var ar=a.legend.labelFormatter,aq,ae=a.series.pie.label.formatter;if(ar){aq=ar(ap.label,ap)}else{aq=ap.label}if(ae){aq=ae(aq,ap)}var aj=((ai+ap.angle)+ai)/2;var ao=B+Math.round(Math.cos(aj)*Z);var am=p+Math.round(Math.sin(aj)*Z)*a.series.pie.tilt;var af='<span class="pieLabel" id="pieLabel'+ag+'" style="position:absolute;top:'+am+"px;left:"+ao+'px;">'+aq+"</span>";L.append(af);var an=L.children("#pieLabel"+ag);var ad=(am-an.height()/2);var ah=(ao-an.width()/2);an.css("top",ad);an.css("left",ah);if(0-ad>0||0-ah>0||h.height-(ad+an.height())<0||h.width-(ah+an.width())<0){F=true}if(a.series.pie.label.background.opacity!=0){var ak=a.series.pie.label.background.color;if(ak==null){ak=ap.color}var al="top:"+ad+"px;left:"+ah+"px;";b('<div class="pieLabelBackground" style="position:absolute;width:'+an.width()+"px;height:"+an.height()+"px;"+al+"background-color:"+ak+';"> </div>').insertBefore(an).css("opacity",a.series.pie.label.background.opacity)}}}}}function J(N){if(a.series.pie.innerRadius>0){N.save();innerRadius=a.series.pie.innerRadius>1?a.series.pie.innerRadius:n*a.series.pie.innerRadius;N.globalCompositeOperation="destination-out";N.beginPath();N.fillStyle=a.series.pie.stroke.color;N.arc(0,0,innerRadius,0,Math.PI*2,false);N.fill();N.closePath();N.restore();N.save();N.beginPath();N.strokeStyle=a.series.pie.stroke.color;N.arc(0,0,innerRadius,0,Math.PI*2,false);N.stroke();N.closePath();N.restore()}}function s(Q,R){for(var S=false,P=-1,N=Q.length,O=N-1;++P<N;O=P){((Q[P][1]<=R[1]&&R[1]<Q[O][1])||(Q[O][1]<=R[1]&&R[1]<Q[P][1]))&&(R[0]<(Q[O][0]-Q[P][0])*(R[1]-Q[P][1])/(Q[O][1]-Q[P][1])+Q[P][0])&&(S=!S)}return S}function u(R,P){var T=D.getData(),O=D.getOptions(),N=O.series.pie.radius>1?O.series.pie.radius:n*O.series.pie.radius;for(var Q=0;Q<T.length;++Q){var S=T[Q];if(S.pie.show){ctx.save();ctx.beginPath();ctx.moveTo(0,0);ctx.arc(0,0,N,S.startAngle,S.startAngle+S.angle,false);ctx.closePath();x=R-B;y=P-p;if(ctx.isPointInPath){if(ctx.isPointInPath(R-B,P-p)){ctx.restore();return{datapoint:[S.percent,S.data],dataIndex:0,series:S,seriesIndex:Q}}}else{p1X=(N*Math.cos(S.startAngle));p1Y=(N*Math.sin(S.startAngle));p2X=(N*Math.cos(S.startAngle+(S.angle/4)));p2Y=(N*Math.sin(S.startAngle+(S.angle/4)));p3X=(N*Math.cos(S.startAngle+(S.angle/2)));p3Y=(N*Math.sin(S.startAngle+(S.angle/2)));p4X=(N*Math.cos(S.startAngle+(S.angle/1.5)));p4Y=(N*Math.sin(S.startAngle+(S.angle/1.5)));p5X=(N*Math.cos(S.startAngle+S.angle));p5Y=(N*Math.sin(S.startAngle+S.angle));arrPoly=[[0,0],[p1X,p1Y],[p2X,p2Y],[p3X,p3Y],[p4X,p4Y],[p5X,p5Y]];arrPoint=[x,y];if(s(arrPoly,arrPoint)){ctx.restore();return{datapoint:[S.percent,S.data],dataIndex:0,series:S,seriesIndex:Q}}}ctx.restore()}}return null}function t(N){m("plothover",N)}function l(N){m("plotclick",N)}function m(N,T){var O=D.offset(),R=parseInt(T.pageX-O.left),P=parseInt(T.pageY-O.top),V=u(R,P);if(a.grid.autoHighlight){for(var Q=0;Q<j.length;++Q){var S=j[Q];if(S.auto==N&&!(V&&S.series==V.series)){f(S.series)}}}if(V){k(V.series,N)}var U={pageX:T.pageX,pageY:T.pageY};L.trigger(N,[U,V])}function k(O,P){if(typeof O=="number"){O=series[O]}var N=C(O);if(N==-1){j.push({series:O,auto:P});D.triggerRedrawOverlay()}else{if(!P){j[N].auto=false}}}function f(O){if(O==null){j=[];D.triggerRedrawOverlay()}if(typeof O=="number"){O=series[O]}var N=C(O);if(N!=-1){j.splice(N,1);D.triggerRedrawOverlay()}}function C(P){for(var N=0;N<j.length;++N){var O=j[N];if(O.series==P){return N}}return -1}function H(Q,R){var P=Q.getOptions();var N=P.series.pie.radius>1?P.series.pie.radius:n*P.series.pie.radius;R.save();R.translate(B,p);R.scale(1,P.series.pie.tilt);for(i=0;i<j.length;++i){O(j[i].series)}J(R);R.restore();function O(S){if(S.angle<0){return}R.fillStyle="rgba(255, 255, 255, "+P.series.pie.highlight.opacity+")";R.beginPath();if(Math.abs(S.angle-Math.PI*2)>1e-9){R.moveTo(0,0)}R.arc(0,0,N,S.startAngle,S.startAngle+S.angle,false);R.closePath();R.fill()}}}var a={series:{pie:{show:false,radius:"auto",innerRadius:0,startAngle:3/2,tilt:1,offset:{top:0,left:"auto"},stroke:{color:"#FFF",width:1},label:{show:"auto",formatter:function(d,e){return'<div style="font-size:x-small;text-align:center;padding:2px;color:'+e.color+';">'+d+"<br/>"+Math.round(e.percent)+"%</div>"},radius:1,background:{color:null,opacity:0},threshold:0},combine:{threshold:-1,color:null,label:"Other"},highlight:{opacity:0.5}}}};b.plot.plugins.push({init:c,options:a,name:"pie",version:"1.0"})})(jQuery);
+

--- a/js/flot/jquery.flot.resize.js
+++ /dev/null
@@ -1,61 +1,1 @@
-/*
-Flot plugin for automatically redrawing plots when the placeholder
-size changes, e.g. on window resizes.
 
-It works by listening for changes on the placeholder div (through the
-jQuery resize event plugin) - if the size changes, it will redraw the
-plot.
-
-There are no options. If you need to disable the plugin for some
-plots, you can just fix the size of their placeholders.
-*/
-
-
-/* Inline dependency: 
- * jQuery resize event - v1.1 - 3/14/2010
- * http://benalman.com/projects/jquery-resize-plugin/
- * 
- * Copyright (c) 2010 "Cowboy" Ben Alman
- * Dual licensed under the MIT and GPL licenses.
- * http://benalman.com/about/license/
- */
-(function($,h,c){var a=$([]),e=$.resize=$.extend($.resize,{}),i,k="setTimeout",j="resize",d=j+"-special-event",b="delay",f="throttleWindow";e[b]=250;e[f]=true;$.event.special[j]={setup:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.add(l);$.data(this,d,{w:l.width(),h:l.height()});if(a.length===1){g()}},teardown:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.not(l);l.removeData(d);if(!a.length){clearTimeout(i)}},add:function(l){if(!e[f]&&this[k]){return false}var n;function m(s,o,p){var q=$(this),r=$.data(this,d);r.w=o!==c?o:q.width();r.h=p!==c?p:q.height();n.apply(this,arguments)}if($.isFunction(l)){n=l;return m}else{n=l.handler;l.handler=m}}};function g(){i=h[k](function(){a.each(function(){var n=$(this),m=n.width(),l=n.height(),o=$.data(this,d);if(m!==o.w||l!==o.h){n.trigger(j,[o.w=m,o.h=l])}});g()},e[b])}})(jQuery,this);
-
-
-(function ($) {
-    var options = { }; // no options
-
-    function init(plot) {
-        function onResize() {
-            var placeholder = plot.getPlaceholder();
-
-            // somebody might have hidden us and we can't plot
-            // when we don't have the dimensions
-            if (placeholder.width() == 0 || placeholder.height() == 0)
-                return;
-
-            plot.resize();
-            plot.setupGrid();
-            plot.draw();
-        }
-        
-        function bindEvents(plot, eventHolder) {
-            plot.getPlaceholder().resize(onResize);
-        }
-
-        function shutdown(plot, eventHolder) {
-            plot.getPlaceholder().unbind("resize", onResize);
-        }
-        
-        plot.hooks.bindEvents.push(bindEvents);
-        plot.hooks.shutdown.push(shutdown);
-    }
-    
-    $.plot.plugins.push({
-        init: init,
-        options: options,
-        name: 'resize',
-        version: '1.0'
-    });
-})(jQuery);
-

--- a/js/flot/jquery.flot.resize.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(n,p,u){var w=n([]),s=n.resize=n.extend(n.resize,{}),o,l="setTimeout",m="resize",t=m+"-special-event",v="delay",r="throttleWindow";s[v]=250;s[r]=true;n.event.special[m]={setup:function(){if(!s[r]&&this[l]){return false}var a=n(this);w=w.add(a);n.data(this,t,{w:a.width(),h:a.height()});if(w.length===1){q()}},teardown:function(){if(!s[r]&&this[l]){return false}var a=n(this);w=w.not(a);a.removeData(t);if(!w.length){clearTimeout(o)}},add:function(b){if(!s[r]&&this[l]){return false}var c;function a(d,h,g){var f=n(this),e=n.data(this,t);e.w=h!==u?h:f.width();e.h=g!==u?g:f.height();c.apply(this,arguments)}if(n.isFunction(b)){c=b;return a}else{c=b.handler;b.handler=a}}};function q(){o=p[l](function(){w.each(function(){var d=n(this),a=d.width(),b=d.height(),c=n.data(this,t);if(a!==c.w||b!==c.h){d.trigger(m,[c.w=a,c.h=b])}});q()},s[v])}})(jQuery,this);(function(b){var a={};function c(f){function e(){var h=f.getPlaceholder();if(h.width()==0||h.height()==0){return}f.resize();f.setupGrid();f.draw()}function g(i,h){i.getPlaceholder().resize(e)}function d(i,h){i.getPlaceholder().unbind("resize",e)}f.hooks.bindEvents.push(g);f.hooks.shutdown.push(d)}b.plot.plugins.push({init:c,options:a,name:"resize",version:"1.0"})})(jQuery);
+

--- a/js/flot/jquery.flot.selection.js
+++ /dev/null
@@ -1,345 +1,1 @@
-/*
-Flot plugin for selecting regions.
 
-The plugin defines the following options:
-
-  selection: {
-    mode: null or "x" or "y" or "xy",
-    color: color
-  }
-
-Selection support is enabled by setting the mode to one of "x", "y" or
-"xy". In "x" mode, the user will only be able to specify the x range,
-similarly for "y" mode. For "xy", the selection becomes a rectangle
-where both ranges can be specified. "color" is color of the selection
-(if you need to change the color later on, you can get to it with
-plot.getOptions().selection.color).
-
-When selection support is enabled, a "plotselected" event will be
-emitted on the DOM element you passed into the plot function. The
-event handler gets a parameter with the ranges selected on the axes,
-like this:
-
-  placeholder.bind("plotselected", function(event, ranges) {
-    alert("You selected " + ranges.xaxis.from + " to " + ranges.xaxis.to)
-    // similar for yaxis - with multiple axes, the extra ones are in
-    // x2axis, x3axis, ...
-  });
-
-The "plotselected" event is only fired when the user has finished
-making the selection. A "plotselecting" event is fired during the
-process with the same parameters as the "plotselected" event, in case
-you want to know what's happening while it's happening,
-
-A "plotunselected" event with no arguments is emitted when the user
-clicks the mouse to remove the selection.
-
-The plugin allso adds the following methods to the plot object:
-
-- setSelection(ranges, preventEvent)
-
-  Set the selection rectangle. The passed in ranges is on the same
-  form as returned in the "plotselected" event. If the selection mode
-  is "x", you should put in either an xaxis range, if the mode is "y"
-  you need to put in an yaxis range and both xaxis and yaxis if the
-  selection mode is "xy", like this:
-
-    setSelection({ xaxis: { from: 0, to: 10 }, yaxis: { from: 40, to: 60 } });
-
-  setSelection will trigger the "plotselected" event when called. If
-  you don't want that to happen, e.g. if you're inside a
-  "plotselected" handler, pass true as the second parameter. If you
-  are using multiple axes, you can specify the ranges on any of those,
-  e.g. as x2axis/x3axis/... instead of xaxis, the plugin picks the
-  first one it sees.
-  
-- clearSelection(preventEvent)
-
-  Clear the selection rectangle. Pass in true to avoid getting a
-  "plotunselected" event.
-
-- getSelection()
-
-  Returns the current selection in the same format as the
-  "plotselected" event. If there's currently no selection, the
-  function returns null.
-
-*/
-
-(function ($) {
-    function init(plot) {
-        var selection = {
-                first: { x: -1, y: -1}, second: { x: -1, y: -1},
-                show: false,
-                active: false
-            };
-
-        // FIXME: The drag handling implemented here should be
-        // abstracted out, there's some similar code from a library in
-        // the navigation plugin, this should be massaged a bit to fit
-        // the Flot cases here better and reused. Doing this would
-        // make this plugin much slimmer.
-        var savedhandlers = {};
-
-        var mouseUpHandler = null;
-        
-        function onMouseMove(e) {
-            if (selection.active) {
-                updateSelection(e);
-                
-                plot.getPlaceholder().trigger("plotselecting", [ getSelection() ]);
-            }
-        }
-
-        function onMouseDown(e) {
-            if (e.which != 1)  // only accept left-click
-                return;
-            
-            // cancel out any text selections
-            document.body.focus();
-
-            // prevent text selection and drag in old-school browsers
-            if (document.onselectstart !== undefined && savedhandlers.onselectstart == null) {
-                savedhandlers.onselectstart = document.onselectstart;
-                document.onselectstart = function () { return false; };
-            }
-            if (document.ondrag !== undefined && savedhandlers.ondrag == null) {
-                savedhandlers.ondrag = document.ondrag;
-                document.ondrag = function () { return false; };
-            }
-
-            setSelectionPos(selection.first, e);
-
-            selection.active = true;
-
-            // this is a bit silly, but we have to use a closure to be
-            // able to whack the same handler again
-            mouseUpHandler = function (e) { onMouseUp(e); };
-            
-            $(document).one("mouseup", mouseUpHandler);
-        }
-
-        function onMouseUp(e) {
-            mouseUpHandler = null;
-            
-            // revert drag stuff for old-school browsers
-            if (document.onselectstart !== undefined)
-                document.onselectstart = savedhandlers.onselectstart;
-            if (document.ondrag !== undefined)
-                document.ondrag = savedhandlers.ondrag;
-
-            // no more dragging
-            selection.active = false;
-            updateSelection(e);
-
-            if (selectionIsSane())
-                triggerSelectedEvent();
-            else {
-                // this counts as a clear
-                plot.getPlaceholder().trigger("plotunselected", [ ]);
-                plot.getPlaceholder().trigger("plotselecting", [ null ]);
-            }
-
-            return false;
-        }
-
-        function getSelection() {
-            if (!selectionIsSane())
-                return null;
-
-            var r = {}, c1 = selection.first, c2 = selection.second;
-            $.each(plot.getAxes(), function (name, axis) {
-                if (axis.used) {
-                    var p1 = axis.c2p(c1[axis.direction]), p2 = axis.c2p(c2[axis.direction]); 
-                    r[name] = { from: Math.min(p1, p2), to: Math.max(p1, p2) };
-                }
-            });
-            return r;
-        }
-
-        function triggerSelectedEvent() {
-            var r = getSelection();
-
-            plot.getPlaceholder().trigger("plotselected", [ r ]);
-
-            // backwards-compat stuff, to be removed in future
-            if (r.xaxis && r.yaxis)
-                plot.getPlaceholder().trigger("selected", [ { x1: r.xaxis.from, y1: r.yaxis.from, x2: r.xaxis.to, y2: r.yaxis.to } ]);
-        }
-
-        function clamp(min, value, max) {
-            return value < min ? min: (value > max ? max: value);
-        }
-
-        function setSelectionPos(pos, e) {
-            var o = plot.getOptions();
-            var offset = plot.getPlaceholder().offset();
-            var plotOffset = plot.getPlotOffset();
-            pos.x = clamp(0, e.pageX - offset.left - plotOffset.left, plot.width());
-            pos.y = clamp(0, e.pageY - offset.top - plotOffset.top, plot.height());
-
-            if (o.selection.mode == "y")
-                pos.x = pos == selection.first ? 0 : plot.width();
-
-            if (o.selection.mode == "x")
-                pos.y = pos == selection.first ? 0 : plot.height();
-        }
-
-        function updateSelection(pos) {
-            if (pos.pageX == null)
-                return;
-
-            setSelectionPos(selection.second, pos);
-            if (selectionIsSane()) {
-                selection.show = true;
-                plot.triggerRedrawOverlay();
-            }
-            else
-                clearSelection(true);
-        }
-
-        function clearSelection(preventEvent) {
-            if (selection.show) {
-                selection.show = false;
-                plot.triggerRedrawOverlay();
-                if (!preventEvent)
-                    plot.getPlaceholder().trigger("plotunselected", [ ]);
-            }
-        }
-
-        // function taken from markings support in Flot
-        function extractRange(ranges, coord) {
-            var axis, from, to, key, axes = plot.getAxes();
-
-            for (var k in axes) {
-                axis = axes[k];
-                if (axis.direction == coord) {
-                    key = coord + axis.n + "axis";
-                    if (!ranges[key] && axis.n == 1)
-                        key = coord + "axis"; // support x1axis as xaxis
-                    if (ranges[key]) {
-                        from = ranges[key].from;
-                        to = ranges[key].to;
-                        break;
-                    }
-                }
-            }
-
-            // backwards-compat stuff - to be removed in future
-            if (!ranges[key]) {
-                axis = coord == "x" ? plot.getXAxes()[0] : plot.getYAxes()[0];
-                from = ranges[coord + "1"];
-                to = ranges[coord + "2"];
-            }
-
-            // auto-reverse as an added bonus
-            if (from != null && to != null && from > to) {
-                var tmp = from;
-                from = to;
-                to = tmp;
-            }
-            
-            return { from: from, to: to, axis: axis };
-        }
-        
-        function setSelection(ranges, preventEvent) {
-            var axis, range, o = plot.getOptions();
-
-            if (o.selection.mode == "y") {
-                selection.first.x = 0;
-                selection.second.x = plot.width();
-            }
-            else {
-                range = extractRange(ranges, "x");
-
-                selection.first.x = range.axis.p2c(range.from);
-                selection.second.x = range.axis.p2c(range.to);
-            }
-
-            if (o.selection.mode == "x") {
-                selection.first.y = 0;
-                selection.second.y = plot.height();
-            }
-            else {
-                range = extractRange(ranges, "y");
-
-                selection.first.y = range.axis.p2c(range.from);
-                selection.second.y = range.axis.p2c(range.to);
-            }
-
-            selection.show = true;
-            plot.triggerRedrawOverlay();
-            if (!preventEvent && selectionIsSane())
-                triggerSelectedEvent();
-        }
-
-        function selectionIsSane() {
-            var minSize = 5;
-            return Math.abs(selection.second.x - selection.first.x) >= minSize &&
-                Math.abs(selection.second.y - selection.first.y) >= minSize;
-        }
-
-        plot.clearSelection = clearSelection;
-        plot.setSelection = setSelection;
-        plot.getSelection = getSelection;
-
-        plot.hooks.bindEvents.push(function(plot, eventHolder) {
-            var o = plot.getOptions();
-            if (o.selection.mode != null) {
-                eventHolder.mousemove(onMouseMove);
-                eventHolder.mousedown(onMouseDown);
-            }
-        });
-
-
-        plot.hooks.drawOverlay.push(function (plot, ctx) {
-            // draw selection
-            if (selection.show && selectionIsSane()) {
-                var plotOffset = plot.getPlotOffset();
-                var o = plot.getOptions();
-
-                ctx.save();
-                ctx.translate(plotOffset.left, plotOffset.top);
-
-                var c = $.color.parse(o.selection.color);
-
-                ctx.strokeStyle = c.scale('a', 0.8).toString();
-                ctx.lineWidth = 1;
-                ctx.lineJoin = "round";
-                ctx.fillStyle = c.scale('a', 0.4).toString();
-
-                var x = Math.min(selection.first.x, selection.second.x),
-                    y = Math.min(selection.first.y, selection.second.y),
-                    w = Math.abs(selection.second.x - selection.first.x),
-                    h = Math.abs(selection.second.y - selection.first.y);
-
-                ctx.fillRect(x, y, w, h);
-                ctx.strokeRect(x, y, w, h);
-
-                ctx.restore();
-            }
-        });
-        
-        plot.hooks.shutdown.push(function (plot, eventHolder) {
-            eventHolder.unbind("mousemove", onMouseMove);
-            eventHolder.unbind("mousedown", onMouseDown);
-            
-            if (mouseUpHandler)
-                $(document).unbind("mouseup", mouseUpHandler);
-        });
-
-    }
-
-    $.plot.plugins.push({
-        init: init,
-        options: {
-            selection: {
-                mode: null, // one of null, "x", "y" or "xy"
-                color: "#e8cfac"
-            }
-        },
-        name: 'selection',
-        version: '1.1'
-    });
-})(jQuery);
-

--- a/js/flot/jquery.flot.selection.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(a){function b(k){var p={first:{x:-1,y:-1},second:{x:-1,y:-1},show:false,active:false};var m={};var r=null;function e(s){if(p.active){l(s);k.getPlaceholder().trigger("plotselecting",[g()])}}function n(s){if(s.which!=1){return}document.body.focus();if(document.onselectstart!==undefined&&m.onselectstart==null){m.onselectstart=document.onselectstart;document.onselectstart=function(){return false}}if(document.ondrag!==undefined&&m.ondrag==null){m.ondrag=document.ondrag;document.ondrag=function(){return false}}d(p.first,s);p.active=true;r=function(t){j(t)};a(document).one("mouseup",r)}function j(s){r=null;if(document.onselectstart!==undefined){document.onselectstart=m.onselectstart}if(document.ondrag!==undefined){document.ondrag=m.ondrag}p.active=false;l(s);if(f()){i()}else{k.getPlaceholder().trigger("plotunselected",[]);k.getPlaceholder().trigger("plotselecting",[null])}return false}function g(){if(!f()){return null}var u={},t=p.first,s=p.second;a.each(k.getAxes(),function(v,w){if(w.used){var y=w.c2p(t[w.direction]),x=w.c2p(s[w.direction]);u[v]={from:Math.min(y,x),to:Math.max(y,x)}}});return u}function i(){var s=g();k.getPlaceholder().trigger("plotselected",[s]);if(s.xaxis&&s.yaxis){k.getPlaceholder().trigger("selected",[{x1:s.xaxis.from,y1:s.yaxis.from,x2:s.xaxis.to,y2:s.yaxis.to}])}}function h(t,u,s){return u<t?t:(u>s?s:u)}function d(w,t){var v=k.getOptions();var u=k.getPlaceholder().offset();var s=k.getPlotOffset();w.x=h(0,t.pageX-u.left-s.left,k.width());w.y=h(0,t.pageY-u.top-s.top,k.height());if(v.selection.mode=="y"){w.x=w==p.first?0:k.width()}if(v.selection.mode=="x"){w.y=w==p.first?0:k.height()}}function l(s){if(s.pageX==null){return}d(p.second,s);if(f()){p.show=true;k.triggerRedrawOverlay()}else{q(true)}}function q(s){if(p.show){p.show=false;k.triggerRedrawOverlay();if(!s){k.getPlaceholder().trigger("plotunselected",[])}}}function c(s,w){var t,y,z,A,x=k.getAxes();for(var u in x){t=x[u];if(t.direction==w){A=w+t.n+"axis";if(!s[A]&&t.n==1){A=w+"axis"}if(s[A]){y=s[A].from;z=s[A].to;break}}}if(!s[A]){t=w=="x"?k.getXAxes()[0]:k.getYAxes()[0];y=s[w+"1"];z=s[w+"2"]}if(y!=null&&z!=null&&y>z){var v=y;y=z;z=v}return{from:y,to:z,axis:t}}function o(t,s){var v,u,w=k.getOptions();if(w.selection.mode=="y"){p.first.x=0;p.second.x=k.width()}else{u=c(t,"x");p.first.x=u.axis.p2c(u.from);p.second.x=u.axis.p2c(u.to)}if(w.selection.mode=="x"){p.first.y=0;p.second.y=k.height()}else{u=c(t,"y");p.first.y=u.axis.p2c(u.from);p.second.y=u.axis.p2c(u.to)}p.show=true;k.triggerRedrawOverlay();if(!s&&f()){i()}}function f(){var s=5;return Math.abs(p.second.x-p.first.x)>=s&&Math.abs(p.second.y-p.first.y)>=s}k.clearSelection=q;k.setSelection=o;k.getSelection=g;k.hooks.bindEvents.push(function(t,s){var u=t.getOptions();if(u.selection.mode!=null){s.mousemove(e);s.mousedown(n)}});k.hooks.drawOverlay.push(function(v,D){if(p.show&&f()){var t=v.getPlotOffset();var s=v.getOptions();D.save();D.translate(t.left,t.top);var z=a.color.parse(s.selection.color);D.strokeStyle=z.scale("a",0.8).toString();D.lineWidth=1;D.lineJoin="round";D.fillStyle=z.scale("a",0.4).toString();var B=Math.min(p.first.x,p.second.x),A=Math.min(p.first.y,p.second.y),C=Math.abs(p.second.x-p.first.x),u=Math.abs(p.second.y-p.first.y);D.fillRect(B,A,C,u);D.strokeRect(B,A,C,u);D.restore()}});k.hooks.shutdown.push(function(t,s){s.unbind("mousemove",e);s.unbind("mousedown",n);if(r){a(document).unbind("mouseup",r)}})}a.plot.plugins.push({init:b,options:{selection:{mode:null,color:"#e8cfac"}},name:"selection",version:"1.1"})})(jQuery);
+

--- a/js/flot/jquery.flot.stack.js
+++ /dev/null
@@ -1,185 +1,1 @@
-/*
-Flot plugin for stacking data sets, i.e. putting them on top of each
-other, for accumulative graphs.
 
-The plugin assumes the data is sorted on x (or y if stacking
-horizontally). For line charts, it is assumed that if a line has an
-undefined gap (from a null point), then the line above it should have
-the same gap - insert zeros instead of "null" if you want another
-behaviour. This also holds for the start and end of the chart. Note
-that stacking a mix of positive and negative values in most instances
-doesn't make sense (so it looks weird).
-
-Two or more series are stacked when their "stack" attribute is set to
-the same key (which can be any number or string or just "true"). To
-specify the default stack, you can set
-
-  series: {
-    stack: null or true or key (number/string)
-  }
-
-or specify it for a specific series
-
-  $.plot($("#placeholder"), [{ data: [ ... ], stack: true }])
-  
-The stacking order is determined by the order of the data series in
-the array (later series end up on top of the previous).
-
-Internally, the plugin modifies the datapoints in each series, adding
-an offset to the y value. For line series, extra data points are
-inserted through interpolation. If there's a second y value, it's also
-adjusted (e.g for bar charts or filled areas).
-*/
-
-(function ($) {
-    var options = {
-        series: { stack: null } // or number/string
-    };
-    
-    function init(plot) {
-        function findMatchingSeries(s, allseries) {
-            var res = null
-            for (var i = 0; i < allseries.length; ++i) {
-                if (s == allseries[i])
-                    break;
-                
-                if (allseries[i].stack == s.stack)
-                    res = allseries[i];
-            }
-            
-            return res;
-        }
-        
-        function stackData(plot, s, datapoints) {
-            if (s.stack == null)
-                return;
-
-            var other = findMatchingSeries(s, plot.getData());
-            if (!other)
-                return;
-
-            var ps = datapoints.pointsize,
-                points = datapoints.points,
-                otherps = other.datapoints.pointsize,
-                otherpoints = other.datapoints.points,
-                newpoints = [],
-                px, py, intery, qx, qy, bottom,
-                withlines = s.lines.show,
-                horizontal = s.bars.horizontal,
-                withbottom = ps > 2 && (horizontal ? datapoints.format[2].x : datapoints.format[2].y),
-                withsteps = withlines && s.lines.steps,
-                fromgap = true,
-                keyOffset = horizontal ? 1 : 0,
-                accumulateOffset = horizontal ? 0 : 1,
-                i = 0, j = 0, l;
-
-            while (true) {
-                if (i >= points.length)
-                    break;
-
-                l = newpoints.length;
-
-                if (points[i] == null) {
-                    // copy gaps
-                    for (m = 0; m < ps; ++m)
-                        newpoints.push(points[i + m]);
-                    i += ps;
-                }
-                else if (j >= otherpoints.length) {
-                    // for lines, we can't use the rest of the points
-                    if (!withlines) {
-                        for (m = 0; m < ps; ++m)
-                            newpoints.push(points[i + m]);
-                    }
-                    i += ps;
-                }
-                else if (otherpoints[j] == null) {
-                    // oops, got a gap
-                    for (m = 0; m < ps; ++m)
-                        newpoints.push(null);
-                    fromgap = true;
-                    j += otherps;
-                }
-                else {
-                    // cases where we actually got two points
-                    px = points[i + keyOffset];
-                    py = points[i + accumulateOffset];
-                    qx = otherpoints[j + keyOffset];
-                    qy = otherpoints[j + accumulateOffset];
-                    bottom = 0;
-
-                    if (px == qx) {
-                        for (m = 0; m < ps; ++m)
-                            newpoints.push(points[i + m]);
-
-                        newpoints[l + accumulateOffset] += qy;
-                        bottom = qy;
-                        
-                        i += ps;
-                        j += otherps;
-                    }
-                    else if (px > qx) {
-                        // we got past point below, might need to
-                        // insert interpolated extra point
-                        if (withlines && i > 0 && points[i - ps] != null) {
-                            intery = py + (points[i - ps + accumulateOffset] - py) * (qx - px) / (points[i - ps + keyOffset] - px);
-                            newpoints.push(qx);
-                            newpoints.push(intery + qy);
-                            for (m = 2; m < ps; ++m)
-                                newpoints.push(points[i + m]);
-                            bottom = qy; 
-                        }
-
-                        j += otherps;
-                    }
-                    else { // px < qx
-                        if (fromgap && withlines) {
-                            // if we come from a gap, we just skip this point
-                            i += ps;
-                            continue;
-                        }
-                            
-                        for (m = 0; m < ps; ++m)
-                            newpoints.push(points[i + m]);
-                        
-                        // we might be able to interpolate a point below,
-                        // this can give us a better y
-                        if (withlines && j > 0 && otherpoints[j - otherps] != null)
-                            bottom = qy + (otherpoints[j - otherps + accumulateOffset] - qy) * (px - qx) / (otherpoints[j - otherps + keyOffset] - qx);
-
-                        newpoints[l + accumulateOffset] += bottom;
-                        
-                        i += ps;
-                    }
-
-                    fromgap = false;
-                    
-                    if (l != newpoints.length && withbottom)
-                        newpoints[l + 2] += bottom;
-                }
-
-                // maintain the line steps invariant
-                if (withsteps && l != newpoints.length && l > 0
-                    && newpoints[l] != null
-                    && newpoints[l] != newpoints[l - ps]
-                    && newpoints[l + 1] != newpoints[l - ps + 1]) {
-                    for (m = 0; m < ps; ++m)
-                        newpoints[l + ps + m] = newpoints[l + m];
-                    newpoints[l + 1] = newpoints[l - ps + 1];
-                }
-            }
-
-            datapoints.points = newpoints;
-        }
-        
-        plot.hooks.processDatapoints.push(stackData);
-    }
-    
-    $.plot.plugins.push({
-        init: init,
-        options: options,
-        name: 'stack',
-        version: '1.2'
-    });
-})(jQuery);
-

--- a/js/flot/jquery.flot.stack.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(b){var a={series:{stack:null}};function c(f){function d(k,j){var h=null;for(var g=0;g<j.length;++g){if(k==j[g]){break}if(j[g].stack==k.stack){h=j[g]}}return h}function e(C,v,g){if(v.stack==null){return}var p=d(v,C.getData());if(!p){return}var z=g.pointsize,F=g.points,h=p.datapoints.pointsize,y=p.datapoints.points,t=[],x,w,k,J,I,r,u=v.lines.show,G=v.bars.horizontal,o=z>2&&(G?g.format[2].x:g.format[2].y),n=u&&v.lines.steps,E=true,q=G?1:0,H=G?0:1,D=0,B=0,A;while(true){if(D>=F.length){break}A=t.length;if(F[D]==null){for(m=0;m<z;++m){t.push(F[D+m])}D+=z}else{if(B>=y.length){if(!u){for(m=0;m<z;++m){t.push(F[D+m])}}D+=z}else{if(y[B]==null){for(m=0;m<z;++m){t.push(null)}E=true;B+=h}else{x=F[D+q];w=F[D+H];J=y[B+q];I=y[B+H];r=0;if(x==J){for(m=0;m<z;++m){t.push(F[D+m])}t[A+H]+=I;r=I;D+=z;B+=h}else{if(x>J){if(u&&D>0&&F[D-z]!=null){k=w+(F[D-z+H]-w)*(J-x)/(F[D-z+q]-x);t.push(J);t.push(k+I);for(m=2;m<z;++m){t.push(F[D+m])}r=I}B+=h}else{if(E&&u){D+=z;continue}for(m=0;m<z;++m){t.push(F[D+m])}if(u&&B>0&&y[B-h]!=null){r=I+(y[B-h+H]-I)*(x-J)/(y[B-h+q]-J)}t[A+H]+=r;D+=z}}E=false;if(A!=t.length&&o){t[A+2]+=r}}}}if(n&&A!=t.length&&A>0&&t[A]!=null&&t[A]!=t[A-z]&&t[A+1]!=t[A-z+1]){for(m=0;m<z;++m){t[A+z+m]=t[A+m]}t[A+1]=t[A-z+1]}}g.points=t}f.hooks.processDatapoints.push(e)}b.plot.plugins.push({init:c,options:a,name:"stack",version:"1.2"})})(jQuery);
+

--- a/js/flot/jquery.flot.symbol.js
+++ /dev/null
@@ -1,71 +1,1 @@
-/*
-Flot plugin that adds some extra symbols for plotting points.
 
-The symbols are accessed as strings through the standard symbol
-choice:
-
-  series: {
-      points: {
-          symbol: "square" // or "diamond", "triangle", "cross"
-      }
-  }
-
-*/
-
-(function ($) {
-    function processRawData(plot, series, datapoints) {
-        // we normalize the area of each symbol so it is approximately the
-        // same as a circle of the given radius
-
-        var handlers = {
-            square: function (ctx, x, y, radius, shadow) {
-                // pi * r^2 = (2s)^2  =>  s = r * sqrt(pi)/2
-                var size = radius * Math.sqrt(Math.PI) / 2;
-                ctx.rect(x - size, y - size, size + size, size + size);
-            },
-            diamond: function (ctx, x, y, radius, shadow) {
-                // pi * r^2 = 2s^2  =>  s = r * sqrt(pi/2)
-                var size = radius * Math.sqrt(Math.PI / 2);
-                ctx.moveTo(x - size, y);
-                ctx.lineTo(x, y - size);
-                ctx.lineTo(x + size, y);
-                ctx.lineTo(x, y + size);
-                ctx.lineTo(x - size, y);
-            },
-            triangle: function (ctx, x, y, radius, shadow) {
-                // pi * r^2 = 1/2 * s^2 * sin (pi / 3)  =>  s = r * sqrt(2 * pi / sin(pi / 3))
-                var size = radius * Math.sqrt(2 * Math.PI / Math.sin(Math.PI / 3));
-                var height = size * Math.sin(Math.PI / 3);
-                ctx.moveTo(x - size/2, y + height/2);
-                ctx.lineTo(x + size/2, y + height/2);
-                if (!shadow) {
-                    ctx.lineTo(x, y - height/2);
-                    ctx.lineTo(x - size/2, y + height/2);
-                }
-            },
-            cross: function (ctx, x, y, radius, shadow) {
-                // pi * r^2 = (2s)^2  =>  s = r * sqrt(pi)/2
-                var size = radius * Math.sqrt(Math.PI) / 2;
-                ctx.moveTo(x - size, y - size);
-                ctx.lineTo(x + size, y + size);
-                ctx.moveTo(x - size, y + size);
-                ctx.lineTo(x + size, y - size);
-            }
-        }
-
-        var s = series.points.symbol;
-        if (handlers[s])
-            series.points.symbol = handlers[s];
-    }
-    
-    function init(plot) {
-        plot.hooks.processDatapoints.push(processRawData);
-    }
-    
-    $.plot.plugins.push({
-        init: init,
-        name: 'symbols',
-        version: '1.0'
-    });
-})(jQuery);
-

--- a/js/flot/jquery.flot.symbol.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(b){function a(h,e,g){var d={square:function(k,j,n,i,m){var l=i*Math.sqrt(Math.PI)/2;k.rect(j-l,n-l,l+l,l+l)},diamond:function(k,j,n,i,m){var l=i*Math.sqrt(Math.PI/2);k.moveTo(j-l,n);k.lineTo(j,n-l);k.lineTo(j+l,n);k.lineTo(j,n+l);k.lineTo(j-l,n)},triangle:function(l,k,o,j,n){var m=j*Math.sqrt(2*Math.PI/Math.sin(Math.PI/3));var i=m*Math.sin(Math.PI/3);l.moveTo(k-m/2,o+i/2);l.lineTo(k+m/2,o+i/2);if(!n){l.lineTo(k,o-i/2);l.lineTo(k-m/2,o+i/2)}},cross:function(k,j,n,i,m){var l=i*Math.sqrt(Math.PI)/2;k.moveTo(j-l,n-l);k.lineTo(j+l,n+l);k.moveTo(j-l,n+l);k.lineTo(j+l,n-l)}};var f=e.points.symbol;if(d[f]){e.points.symbol=d[f]}}function c(d){d.hooks.processDatapoints.push(a)}b.plot.plugins.push({init:c,name:"symbols",version:"1.0"})})(jQuery);
+

--- a/js/flot/jquery.flot.threshold.js
+++ /dev/null
@@ -1,104 +1,1 @@
-/*
-Flot plugin for thresholding data. Controlled through the option
-"threshold" in either the global series options
 
-  series: {
-    threshold: {
-      below: number
-      color: colorspec
-    }
-  }
-
-or in a specific series
-
-  $.plot($("#placeholder"), [{ data: [ ... ], threshold: { ... }}])
-
-The data points below "below" are drawn with the specified color. This
-makes it easy to mark points below 0, e.g. for budget data.
-
-Internally, the plugin works by splitting the data into two series,
-above and below the threshold. The extra series below the threshold
-will have its label cleared and the special "originSeries" attribute
-set to the original series. You may need to check for this in hover
-events.
-*/
-
-(function ($) {
-    var options = {
-        series: { threshold: null } // or { below: number, color: color spec}
-    };
-    
-    function init(plot) {
-        function thresholdData(plot, s, datapoints) {
-            if (!s.threshold)
-                return;
-            
-            var ps = datapoints.pointsize, i, x, y, p, prevp,
-                thresholded = $.extend({}, s); // note: shallow copy
-
-            thresholded.datapoints = { points: [], pointsize: ps };
-            thresholded.label = null;
-            thresholded.color = s.threshold.color;
-            thresholded.threshold = null;
-            thresholded.originSeries = s;
-            thresholded.data = [];
-
-            var below = s.threshold.below,
-                origpoints = datapoints.points,
-                addCrossingPoints = s.lines.show;
-
-            threspoints = [];
-            newpoints = [];
-
-            for (i = 0; i < origpoints.length; i += ps) {
-                x = origpoints[i]
-                y = origpoints[i + 1];
-
-                prevp = p;
-                if (y < below)
-                    p = threspoints;
-                else
-                    p = newpoints;
-
-                if (addCrossingPoints && prevp != p && x != null
-                    && i > 0 && origpoints[i - ps] != null) {
-                    var interx = (x - origpoints[i - ps]) / (y - origpoints[i - ps + 1]) * (below - y) + x;
-                    prevp.push(interx);
-                    prevp.push(below);
-                    for (m = 2; m < ps; ++m)
-                        prevp.push(origpoints[i + m]);
-                    
-                    p.push(null); // start new segment
-                    p.push(null);
-                    for (m = 2; m < ps; ++m)
-                        p.push(origpoints[i + m]);
-                    p.push(interx);
-                    p.push(below);
-                    for (m = 2; m < ps; ++m)
-                        p.push(origpoints[i + m]);
-                }
-
-                p.push(x);
-                p.push(y);
-            }
-
-            datapoints.points = newpoints;
-            thresholded.datapoints.points = threspoints;
-            
-            if (thresholded.datapoints.points.length > 0)
-                plot.getData().push(thresholded);
-                
-            // FIXME: there are probably some edge cases left in bars
-        }
-        
-        plot.hooks.processDatapoints.push(thresholdData);
-    }
-    
-    $.plot.plugins.push({
-        init: init,
-        options: options,
-        name: 'threshold',
-        version: '1.0'
-    });
-})(jQuery);
-

--- a/js/flot/jquery.flot.threshold.min.js
+++ /dev/null
@@ -1,1 +1,1 @@
-(function(B){var A={series:{threshold:null}};function C(D){function E(L,S,M){if(!S.threshold){return }var F=M.pointsize,I,O,N,G,K,H=B.extend({},S);H.datapoints={points:[],pointsize:F};H.label=null;H.color=S.threshold.color;H.threshold=null;H.originSeries=S;H.data=[];var P=S.threshold.below,Q=M.points,R=S.lines.show;threspoints=[];newpoints=[];for(I=0;I<Q.length;I+=F){O=Q[I];N=Q[I+1];K=G;if(N<P){G=threspoints}else{G=newpoints}if(R&&K!=G&&O!=null&&I>0&&Q[I-F]!=null){var J=(O-Q[I-F])/(N-Q[I-F+1])*(P-N)+O;K.push(J);K.push(P);for(m=2;m<F;++m){K.push(Q[I+m])}G.push(null);G.push(null);for(m=2;m<F;++m){G.push(Q[I+m])}G.push(J);G.push(P);for(m=2;m<F;++m){G.push(Q[I+m])}}G.push(O);G.push(N)}M.points=newpoints;H.datapoints.points=threspoints;if(H.datapoints.points.length>0){L.getData().push(H)}}D.hooks.processDatapoints.push(E)}B.plot.plugins.push({init:C,options:A,name:"threshold",version:"1.0"})})(jQuery);
+

directory:b/js/flotr2 (new)
--- /dev/null
+++ b/js/flotr2

directory:b/js/yepnope (new)
--- /dev/null
+++ b/js/yepnope

file:a/labs/OpenStreetMap.js (deleted)
--- a/labs/OpenStreetMap.js
+++ /dev/null
@@ -1,165 +1,1 @@
-/**
- * Namespace: Util.OSM
- */
-OpenLayers.Util.OSM = {};
 
-/**
- * Constant: MISSING_TILE_URL
- * {String} URL of image to display for missing tiles
- */
-OpenLayers.Util.OSM.MISSING_TILE_URL = "/404.php";
-
-/**
- * Property: originalOnImageLoadError
- * {Function} Original onImageLoadError function.
- */
-OpenLayers.Util.OSM.originalOnImageLoadError = OpenLayers.Util.onImageLoadError;
-
-/**
- * Function: onImageLoadError
- */
-OpenLayers.Util.onImageLoadError = function() {
-    if (this.src.match(/^http:\/\/[abc]\.[a-z]+\.openstreetmap\.org\//)) {
-        this.src = OpenLayers.Util.OSM.MISSING_TILE_URL;
-    } else if (this.src.match(/^http:\/\/[def]\.tah\.openstreetmap\.org\//)) {
-        // do nothing - this layer is transparent
-    } else {
-        OpenLayers.Util.OSM.originalOnImageLoadError;
-    }
-};
-
-/**
- * Class: OpenLayers.Layer.OSM.Mapnik
- *
- * Inherits from:
- *  - <OpenLayers.Layer.OSM>
- */
-OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, {
-    /**
-     * Constructor: OpenLayers.Layer.OSM.Mapnik
-     *
-     * Parameters:
-     * name - {String}
-     * options - {Object} Hashtable of extra options to tag onto the layer
-     */
-    initialize: function(name, options) {
-        var url = [
-            "http://a.tiles.bigtincan.com/${z}/${x}/${y}.png",
-            "http://b.tiles.bigtincan.com/${z}/${x}/${y}.png",
-            "http://c.tiles.bigtincan.com/${z}/${x}/${y}.png"
-        ];
-        options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
-        var newArguments = [name, url, options];
-        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
-    },
-
-    CLASS_NAME: "OpenLayers.Layer.OSM.Mapnik"
-});
-
-OpenLayers.Layer.OSM.NearMap = OpenLayers.Class(OpenLayers.Layer.OSM, {
-    /**
-     * Constructor: OpenLayers.Layer.OSM.Mapnik
-     *
-     * Parameters:
-     * name - {String}
-     * options - {Object} Hashtable of extra options to tag onto the layer
-     */
-    initialize: function(name, options) {
-        var url = [
-	    "http://nearmap:findreality@web0.nearmap.com/maps/hl=en&nml=Vert&x=${x}&y=${y}&z=${z}",
-	    "http://nearmap:findreality@web1.nearmap.com/maps/hl=en&nml=Vert&x=${x}&y=${y}&z=${z}",
-	    "http://nearmap:findreality@web2.nearmap.com/maps/hl=en&nml=Vert&x=${x}&y=${y}&z=${z}",
-	    "http://nearmap:findreality@web3.nearmap.com/maps/hl=en&nml=Vert&x=${x}&y=${y}&z=${z}"
-        ];
-        options = OpenLayers.Util.extend({ numZoomLevels: 22 }, options);
-        var newArguments = [name, url, options];
-        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
-    },
-
-    CLASS_NAME: "OpenLayers.Layer.OSM.NearMap"
-});
-
-/**
- * Class: OpenLayers.Layer.OSM.Osmarender
- *
- * Inherits from:
- *  - <OpenLayers.Layer.OSM>
- */
-OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, {
-    /**
-     * Constructor: OpenLayers.Layer.OSM.Osmarender
-     *
-     * Parameters:
-     * name - {String}
-     * options - {Object} Hashtable of extra options to tag onto the layer
-     */
-    initialize: function(name, options) {
-        var url = [
-            "http://a.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
-            "http://b.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
-            "http://c.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png"
-        ];
-        options = OpenLayers.Util.extend({ numZoomLevels: 18 }, options);
-        var newArguments = [name, url, options];
-        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
-    },
-
-    CLASS_NAME: "OpenLayers.Layer.OSM.Osmarender"
-});
-
-/**
- * Class: OpenLayers.Layer.OSM.CycleMap
- *
- * Inherits from:
- *  - <OpenLayers.Layer.OSM>
- */
-OpenLayers.Layer.OSM.CycleMap = OpenLayers.Class(OpenLayers.Layer.OS