diff --git a/build/aps/Limitations of APS Support in the Panel_fichiers/highlight.js b/build/aps/Limitations of APS Support in the Panel_fichiers/highlight.js index 8c2b158abbcb1baae7bf46a61bd4e7e466b53642..d6386c93792681e2b928e246d2e5f67a29816680 100644 --- a/build/aps/Limitations of APS Support in the Panel_fichiers/highlight.js +++ b/build/aps/Limitations of APS Support in the Panel_fichiers/highlight.js @@ -1,64 +1,64 @@ -function last(href) -{ - var ret = href.split("/"); - return ret[ret.length-1]; -} - -function StopProcess() -{ -LeftFrame = parent.TOC.document.location.href; -LeftFrame = last(LeftFrame); -if (LeftFrame == "dhtml_search.htm") return 1 -else return 0; -} - - - -function highlightTOC(str) { - - - - - - if (StopProcess()) return; - try { - - str = str || parent.BODY.document.location.href; - uri = last(str); - list = parent.TOC.document.getElementsByTagName("a"); - for(i=0; i<list.length; i++) - { - if (last(list[i].href) == uri) - { - list[i].style.backgroundColor = "#6697cc"; - list[i].style.padding = "2px"; - list[i].style.color = "#ffffff"; - - } else { - list[i].style.backgroundColor = "#ffffff"; - list[i].style.color = "#003380"; - } - } - } catch (e) {} -} - -function FindCorrectTOCPage() -{ -if (StopProcess()) return; -//Updated on 30.04.2008 -list = parent.BODY.document.getElementsByTagName("a") || document.getElementsByTagName("a"); - for(i=0; i<list.length; i++) - { - if (list[i].target == "TOC") - { - - if (last(list[i].href) != last(parent.TOC.document.location.href)) - { - parent.TOC.document.location.href = list[i].href; - return; - } - } - } - - -} +function last(href) +{ + var ret = href.split("/"); + return ret[ret.length-1]; +} + +function StopProcess() +{ +LeftFrame = parent.TOC.document.location.href; +LeftFrame = last(LeftFrame); +if (LeftFrame == "dhtml_search.htm") return 1 +else return 0; +} + + + +function highlightTOC(str) { + + + + + + if (StopProcess()) return; + try { + + str = str || parent.BODY.document.location.href; + uri = last(str); + list = parent.TOC.document.getElementsByTagName("a"); + for(i=0; i<list.length; i++) + { + if (last(list[i].href) == uri) + { + list[i].style.backgroundColor = "#6697cc"; + list[i].style.padding = "2px"; + list[i].style.color = "#ffffff"; + + } else { + list[i].style.backgroundColor = "#ffffff"; + list[i].style.color = "#003380"; + } + } + } catch (e) {} +} + +function FindCorrectTOCPage() +{ +if (StopProcess()) return; +//Updated on 30.04.2008 +list = parent.BODY.document.getElementsByTagName("a") || document.getElementsByTagName("a"); + for(i=0; i<list.length; i++) + { + if (list[i].target == "TOC") + { + + if (last(list[i].href) != last(parent.TOC.document.location.href)) + { + parent.TOC.document.location.href = list[i].href; + return; + } + } + } + + +} diff --git a/build/aps/Limitations of APS Support in the Panel_fichiers/prettify.js b/build/aps/Limitations of APS Support in the Panel_fichiers/prettify.js index 77e9c85ec6d869f48d95a26865a470d925f4d0b9..11234738656d1c6cdd2ba1ea232346b2632c2d18 100644 --- a/build/aps/Limitations of APS Support in the Panel_fichiers/prettify.js +++ b/build/aps/Limitations of APS Support in the Panel_fichiers/prettify.js @@ -1026,7 +1026,7 @@ window['_pr_isIE6'] = function () { fallthroughStylePatterns.push( // TODO(mikesamuel): recognize non-latin letters and numerals in idents [PR_COMMENT, /^.*?\*.*/], - [PR_VAR, /^\$[a-z]{1}[a-z_]+/i, null], + [PR_VAR, /^\$[a-z]{1}[a-z_]+/i, null], [PR_LITERAL, /^@[a-z_$][a-z_$@0-9]*/i, null], [PR_TYPE, /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null], [PR_PLAIN, /^[a-z_$][a-z_$@0-9]*/i, null], @@ -1254,7 +1254,7 @@ window['_pr_isIE6'] = function () { [ [PR_PLAIN, /^[^<?]+/], [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/], - [PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], + [PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], // Unescaped content in an unknown language ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], ['lang-', /^<%([\s\S]+?)(?:%>|$)/], diff --git a/build/exe/doliwamp/httpd.conf.install b/build/exe/doliwamp/httpd.conf.install index a6bdf85054079aa3037a3cdbd986e18963b1904e..d215380aa1356685d83da50b50d41d9a9daa3f75 100644 --- a/build/exe/doliwamp/httpd.conf.install +++ b/build/exe/doliwamp/httpd.conf.install @@ -1,762 +1,762 @@ -# -# This is the main Apache HTTP server configuration file. It contains the -# configuration directives that give the server its instructions. -# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information. -# In particular, see -# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html> -# for a discussion of each configuration directive. -# -# Do NOT simply read the instructions in here without understanding -# what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. -# -# Configuration and logfile names: If the filenames you specify for many -# of the server's control files begin with "/" (or "drive:/" for Win32), the -# server will use that explicit path. If the filenames do *not* begin -# with "/", the value of ServerRoot is prepended -- so "logs/foo.log" -# with ServerRoot set to "C:/Program Files/Apache Software Foundation/Apache2.2" will be interpreted by the -# server as "C:/Program Files/Apache Software Foundation/Apache2.2/logs/foo.log". -# -# NOTE: Where filenames are specified, you must use forward slashes -# instead of backslashes (e.g., "c:/apache" instead of "c:\apache"). -# If a drive letter is omitted, the drive on which Apache.exe is located -# will be used by default. It is recommended that you always supply -# an explicit drive letter in absolute paths, however, to avoid -# confusion. -# - -# ThreadsPerChild: constant number of worker threads in the server process -# MaxRequestsPerChild: maximum number of requests a server process serves -ThreadsPerChild 250 -MaxRequestsPerChild 0 - -# -# ServerRoot: The top of the directory tree under which the server's -# configuration, error, and log files are kept. -# -# Do not add a slash at the end of the directory path. If you point -# ServerRoot at a non-local disk, be sure to point the LockFile directive -# at a local disk. If you wish to share the same ServerRoot for multiple -# httpd daemons, you will need to change at least LockFile and PidFile. -# -ServerRoot "WAMPROOT/bin/apache/apacheWAMPAPACHEVERSION" - -# -# Listen: Allows you to bind Apache to specific IP addresses and/or -# ports, instead of the default. See also the <VirtualHost> -# directive. -# -# Change this to Listen on specific IP addresses as shown below to -# prevent Apache from glomming onto all bound IP addresses (0.0.0.0) -# -#Listen 12.34.56.78:80 -Listen WAMPAPACHEPORT - -# -# Dynamic Shared Object (DSO) Support -# -# To be able to use the functionality of a module which was built as a DSO you -# have to place corresponding `LoadModule' lines at this location so the -# directives contained in it are actually available _before_ they are used. -# Statically compiled modules (those listed by `httpd -l') do not need -# to be loaded here. -# -# Example: -# LoadModule foo_module modules/mod_foo.so -# -LoadModule actions_module modules/mod_actions.so -LoadModule alias_module modules/mod_alias.so -LoadModule asis_module modules/mod_asis.so -LoadModule auth_basic_module modules/mod_auth_basic.so -#LoadModule auth_digest_module modules/mod_auth_digest.so -#LoadModule authn_anon_module modules/mod_authn_anon.so -#LoadModule authn_dbm_module modules/mod_authn_dbm.so -LoadModule authn_default_module modules/mod_authn_default.so -LoadModule authn_file_module modules/mod_authn_file.so -#LoadModule authz_dbm_module modules/mod_authz_dbm.so -LoadModule authz_default_module modules/mod_authz_default.so -LoadModule authz_groupfile_module modules/mod_authz_groupfile.so -LoadModule authz_host_module modules/mod_authz_host.so -LoadModule authz_user_module modules/mod_authz_user.so -LoadModule autoindex_module modules/mod_autoindex.so -#LoadModule cern_meta_module modules/mod_cern_meta.so -LoadModule cgi_module modules/mod_cgi.so -#LoadModule dav_module modules/mod_dav.so -#LoadModule dav_fs_module modules/mod_dav_fs.so -#LoadModule deflate_module modules/mod_deflate.so -LoadModule dir_module modules/mod_dir.so -LoadModule env_module modules/mod_env.so -LoadModule expires_module modules/mod_expires.so -#LoadModule file_cache_module modules/mod_file_cache.so -#LoadModule headers_module modules/mod_headers.so -LoadModule imagemap_module modules/mod_imagemap.so -LoadModule include_module modules/mod_include.so -#LoadModule info_module modules/mod_info.so -LoadModule isapi_module modules/mod_isapi.so -LoadModule log_config_module modules/mod_log_config.so -LoadModule mime_module modules/mod_mime.so -#LoadModule mime_magic_module modules/mod_mime_magic.so -#LoadModule proxy_module modules/mod_proxy.so -#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so -#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so -#LoadModule proxy_connect_module modules/mod_proxy_connect.so -#LoadModule proxy_http_module modules/mod_proxy_http.so -#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so -LoadModule negotiation_module modules/mod_negotiation.so -LoadModule rewrite_module modules/mod_rewrite.so -LoadModule setenvif_module modules/mod_setenvif.so -#LoadModule speling_module modules/mod_speling.so -LoadModule status_module modules/mod_status.so -#LoadModule unique_id_module modules/mod_unique_id.so -LoadModule userdir_module modules/mod_userdir.so -#LoadModule usertrack_module modules/mod_usertrack.so -LoadModule vhost_alias_module modules/mod_vhost_alias.so -#LoadModule ssl_module modules/mod_ssl.so -LoadModule php5_module "WAMPROOT/bin/php/phpWAMPPHPVERSION/php5apache2_2.dll" - -# -# ExtendedStatus controls whether Apache will generate "full" status -# information (ExtendedStatus On) or just basic information (ExtendedStatus -# Off) when the "server-status" handler is called. The default is Off. -# -ExtendedStatus On - -<Location /server-status> -SetHandler server-status -Order Deny,Allow -Deny from all -Allow from localhost, 127.0.0.1 -</Location> - - -# 'Main' server configuration -# -# The directives in this section set up the values used by the 'main' -# server, which responds to any requests that aren't handled by a -# <VirtualHost> definition. These values also provide defaults for -# any <VirtualHost> containers you may define later in the file. -# -# All of these directives may appear inside <VirtualHost> containers, -# in which case these default settings will be overridden for the -# virtual host being defined. -# - -# -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. This address appears on some server-generated pages, such -# as error documents. e.g. admin@your-domain.com -# -ServerAdmin webmaster@localhost - -# -# ServerName gives the name and port that the server uses to identify itself. -# This can often be determined automatically, but we recommend you specify -# it explicitly to prevent problems during startup. -# -# If your host doesn't have a registered DNS name, enter its IP address here. -# -ServerName localhost - -# -# ServerTokens -# This directive configures what you return as the Server HTTP response -# Header. The default is 'Full' which sends information about the OS-Type -# and compiled in modules. -# Set to one of: Full | OS | Minor | Minimal | Major | Prod -# where Full conveys the most information, and Prod the least. -# -#ServerTokens Prod - -# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -DocumentRoot "WAMPROOT/www/" - - -# -# Timeout: The number of seconds before receives and sends time out. -# -Timeout 300 - -# -# KeepAlive: Whether or not to allow persistent connections (more than -# one request per connection). Set to "Off" to deactivate. -# -KeepAlive On - -# -# MaxKeepAliveRequests: The maximum number of requests to allow -# during a persistent connection. Set to 0 to allow an unlimited amount. -# We recommend you leave this number high, for maximum performance. -# -MaxKeepAliveRequests 500 - -# -# KeepAliveTimeout: Number of seconds to wait for the next request from the -# same client on the same connection. -# -KeepAliveTimeout 30 - - -# -# Each directory to which Apache has access can be configured with respect -# to which services and features are allowed and/or disabled in that -# directory (and its subdirectories). -# -# First, we configure the "default" to be a very restrictive set of -# features. -# -<Directory /> - Options FollowSymLinks - AllowOverride None - Order deny,allow - Deny from all - Satisfy all -</Directory> - -# -# Note that from this point forward you must specifically allow -# particular features to be enabled - so if something's not working as -# you might expect, make sure that you have specifically enabled it -# below. -# - -# -# This should be changed to whatever you set DocumentRoot to. -# -<Directory "WAMPROOT/www/"> - - # - # Possible values for the Options directive are "None", "All", - # or any combination of: - # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews - # - # Note that "MultiViews" must be named *explicitly* --- "Options All" - # doesn't give it to you. - # - # The Options directive is both complicated and important. Please see - # http://httpd.apache.org/docs/2.2/mod/core.html#options - # for more information. - # - Options Indexes FollowSymLinks - - # - # AllowOverride controls what directives may be placed in .htaccess files. - # It can be "All", "None", or any combination of the keywords: - # Options FileInfo AuthConfig Limit - # - AllowOverride all - - # - # Controls who can get stuff from this server. - # -# onlineoffline tag - don't remove - Order Deny,Allow - Deny from all - Allow from 127.0.0.1 - -</Directory> - -# -# DirectoryIndex: sets the file that Apache will serve if a directory -# is requested. -# -<IfModule dir_module> - DirectoryIndex index.php index.php3 index.html index.htm -</IfModule> - -# -# The following lines prevent .htaccess and .htpasswd files from being -# viewed by Web clients. -# -<FilesMatch "^\.ht"> - Order allow,deny - Deny from all -</FilesMatch> - -# -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a <VirtualHost> -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a <VirtualHost> -# container, that host's errors will be logged there and not here. -# -ErrorLog "WAMPROOT/logs/apache_error.log" - -# -# LogLevel: Control the number of messages logged to the error_log. -# Possible values include: debug, info, notice, warn, error, crit, -# alert, emerg. -# -LogLevel warn - -<IfModule log_config_module> - # - # The following directives define some format nicknames for use with - # a CustomLog directive (see below). - # - LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined - LogFormat "%h %l %u %t \"%r\" %>s %b" common - - <IfModule logio_module> - # You need to enable mod_logio.c to use %I and %O - LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio - </IfModule> - - # - # The location and format of the access logfile (Common Logfile Format). - # If you do not define any access logfiles within a <VirtualHost> - # container, they will be logged here. Contrariwise, if you *do* - # define per-<VirtualHost> access logfiles, transactions will be - # logged therein and *not* in this file. - # - CustomLog "WAMPROOT/logs/access.log" common - - # - # If you prefer a logfile with access, agent, and referer information - # (Combined Logfile Format) you can use the following directive. - # - #CustomLog logs/access.log combined -</IfModule> - -<IfModule alias_module> - # - # Redirect: Allows you to tell clients about documents that used to - # exist in your server's namespace, but do not anymore. The client - # will make a new request for the document at its new location. - # Example: - # Redirect permanent /foo http://localhost/bar - - # - # Alias: Maps web paths into filesystem paths and is used to - # access content that does not live under the DocumentRoot. - # Example: - # Alias /webpath /full/filesystem/path - # - # If you include a trailing / on /webpath then the server will - # require it to be present in the URL. You will also likely - # need to provide a <Directory> section to allow access to - # the filesystem path. - - # - # ScriptAlias: This controls which directories contain server scripts. - # ScriptAliases are essentially the same as Aliases, except that - # documents in the target directory are treated as applications and - # run by the server when requested rather than as documents sent to the - # client. The same rules about trailing "/" apply to ScriptAlias - # directives as to Alias. - # - ScriptAlias /cgi-bin/ "cgi-bin/" - -</IfModule> - -# -# "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin" should be changed to whatever your ScriptAliased -# CGI directory exists, if you have that configured. -# -<Directory "cgi-bin"> - AllowOverride None - Options None - Order allow,deny - Allow from all -</Directory> - -# -# Apache parses all CGI scripts for the shebang line by default. -# This comment line, the first line of the script, consists of the symbols -# pound (#) and exclamation (!) followed by the path of the program that -# can execute this specific script. For a perl script, with perl.exe in -# the C:\Program Files\Perl directory, the shebang line should be: - - #!c:/program files/perl/perl - -# Note you _must_not_ indent the actual shebang line, and it must be the -# first line of the file. Of course, CGI processing must be enabled by -# the appropriate ScriptAlias or Options ExecCGI directives for the files -# or directory in question. -# -# However, Apache on Windows allows either the Unix behavior above, or can -# use the Registry to match files by extention. The command to execute -# a file of this type is retrieved from the registry by the same method as -# the Windows Explorer would use to handle double-clicking on a file. -# These script actions can be configured from the Windows Explorer View menu, -# 'Folder Options', and reviewing the 'File Types' tab. Clicking the Edit -# button allows you to modify the Actions, of which Apache 1.3 attempts to -# perform the 'Open' Action, and failing that it will try the shebang line. -# This behavior is subject to change in Apache release 2.0. -# -# Each mechanism has it's own specific security weaknesses, from the means -# to run a program you didn't intend the website owner to invoke, and the -# best method is a matter of great debate. -# -# To enable the this Windows specific behavior (and therefore -disable- the -# equivilant Unix behavior), uncomment the following directive: -# -#ScriptInterpreterSource registry -# -# The directive above can be placed in individual <Directory> blocks or the -# .htaccess file, with either the 'registry' (Windows behavior) or 'script' -# (Unix behavior) option, and will override this server default option. -# - -# -# DefaultType: the default MIME type the server will use for a document -# if it cannot otherwise determine one, such as from filename extensions. -# If your server contains mostly text or HTML documents, "text/plain" is -# a good value. If most of your content is binary, such as applications -# or images, you may want to use "application/octet-stream" instead to -# keep browsers from trying to display binary files as though they are -# text. -# -DefaultType text/plain - -<IfModule mime_module> - # - # TypesConfig points to the file containing the list of mappings from - # filename extension to MIME-type. - # - TypesConfig conf/mime.types - - # - # AddType allows you to add to or override the MIME configuration - # file specified in TypesConfig for specific file types. - # - #AddType application/x-gzip .tgz - # - # AddEncoding allows you to have certain browsers uncompress - # information on the fly. Note: Not all browsers support this. - # - #AddEncoding x-compress .Z - #AddEncoding x-gzip .gz .tgz - # - # If the AddEncoding directives above are commented-out, then you - # probably should define those extensions to indicate media types: - # - AddType application/x-compress .Z - AddType application/x-gzip .gz .tgz - AddType application/x-httpd-php .php - AddType application/x-httpd-php .php3 - - # - # AddHandler allows you to map certain file extensions to "handlers": - # actions unrelated to filetype. These can be either built into the server - # or added with the Action directive (see below) - # - # To use CGI scripts outside of ScriptAliased directories: - # (You will also need to add "ExecCGI" to the "Options" directive.) - # - #AddHandler cgi-script .cgi - - # For type maps (negotiated resources): - #AddHandler type-map var - - # - # Filters allow you to process content before it is sent to the client. - # - # To parse .shtml files for server-side includes (SSI): - # (You will also need to add "Includes" to the "Options" directive.) - # - #AddType text/html .shtml - #AddOutputFilter INCLUDES .shtml -</IfModule> - -# -# The mod_mime_magic module allows the server to use various hints from the -# contents of the file itself to determine its type. The MIMEMagicFile -# directive tells the module where the hint definitions are located. -# -#MIMEMagicFile conf/magic - -# -# Customizable error responses come in three flavors: -# 1) plain text 2) local redirects 3) external redirects -# -# Some examples: -#ErrorDocument 500 "The server made a boo boo." -#ErrorDocument 404 /missing.html -#ErrorDocument 404 "/cgi-bin/missing_handler.pl" -#ErrorDocument 402 http://localhost/subscription_info.html -# - -# -# EnableMMAP and EnableSendfile: On systems that support it, -# memory-mapping or the sendfile syscall is used to deliver -# files. This usually improves server performance, but must -# be turned off when serving from networked-mounted -# filesystems or if support for these functions is otherwise -# broken on your system. -# -#EnableMMAP off -#EnableSendfile off - -# Supplemental configuration -# -# The configuration files in the conf/extra/ directory can be -# included to add extra features or to modify the default configuration of -# the server, or you may simply copy their contents here and change as -# necessary. - -# Server-pool management (MPM specific) -#Include conf/extra/httpd-mpm.conf - -# Multi-language error messages -#Include conf/extra/httpd-multilang-errordoc.conf - -# Fancy directory listings -Include conf/extra/httpd-autoindex.conf - -# Language settings -#Include conf/extra/httpd-languages.conf - -# User home directories -#Include conf/extra/httpd-userdir.conf - -# Real-time info on requests and configuration -#Include conf/extra/httpd-info.conf - -# Virtual hosts -#Include conf/extra/httpd-vhosts.conf - -# Local access to the Apache HTTP Server Manual -#Include conf/extra/httpd-manual.conf - -# Distributed authoring and versioning (WebDAV) -#Include conf/extra/httpd-dav.conf - -# Various default settings -#Include conf/extra/httpd-default.conf - - - -# Secure (SSL/TLS) connections -# -# Note: The following must must be present to support -# starting without SSL on platforms with no /dev/random equivalent -# but a statically compiled-in mod_ssl. -# - -<IfModule ssl_module> - -SSLRandomSeed startup builtin -SSLRandomSeed connect builtin - -Listen WAMPAPACHEPSSL - -## -## SSL Global Context -## -## All SSL configuration in this context applies both to -## the main server and all SSL-enabled virtual hosts. -## - -# -# Some MIME-types for downloading Certificates and CRLs -# -AddType application/x-x509-ca-cert .crt -AddType application/x-pkcs7-crl .crl - -# Pass Phrase Dialog: -# Configure the pass phrase gathering process. -# The filtering dialog program (`builtin' is a internal -# terminal dialog) has to provide the pass phrase on stdout. -#SSLPassPhraseDialog builtin - -# Inter-Process Session Cache: -# Configure the SSL Session Cache: First the mechanism -# to use and second the expiring timeout (in seconds). -#SSLSessionCache "dbm:C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_scache" -#SSLSessionCache "shmcb:C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_scache(512000)" -#SSLSessionCacheTimeout 300 - -# Semaphore: -# Configure the path to the mutual exclusion semaphore the -# SSL engine uses internally for inter-process synchronization. -#SSLMutex "file:C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_mutex" - -## -## SSL Virtual Host Context -## - -<VirtualHost _default_:WAMPAPACHEPSSL> - -# SSL Engine Switch: -# Enable/Disable SSL for this virtual host. -SSLEngine on - -# General setup for the virtual host -DocumentRoot "WAMPROOT/www/" -ServerName localhost -ServerAdmin admin@localhost -ErrorLog "WAMPROOT/logs/apache_error_ssl.log" -TransferLog "WAMPROOT/logs/apache_transfer_ssl.log" -CustomLog "WAMPROOT/logs/apache_access_ssl.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" - -# SSL Cipher Suite: -# List the ciphers that the client is permitted to negotiate. -# See the mod_ssl documentation for a complete list. -#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL - -# Server Certificate: -# Point SSLCertificateFile at a PEM encoded certificate. If -# the certificate is encrypted, then you will be prompted for a -# pass phrase. Note that a kill -HUP will prompt again. Keep -# in mind that if you have both an RSA and a DSA certificate you -# can configure both in parallel (to also allow the use of DSA -# ciphers, etc.) -SSLCertificateFile "WAMPROOT/myserver.crt" - -# Server Private Key: -# If the key is not combined with the certificate, use this -# directive to point at the key file. Keep in mind that if -# you've both a RSA and a DSA private key you can configure -# both in parallel (to also allow the use of DSA ciphers, etc.) -SSLCertificateKeyFile "WAMPROOT/myserver.key" - -# Server Certificate Chain: -# Point SSLCertificateChainFile at a file containing the -# concatenation of PEM encoded CA certificates which form the -# certificate chain for the server certificate. Alternatively -# the referenced file can be the same as SSLCertificateFile -# when the CA certificates are directly appended to the server -# certificate for convinience. -#SSLCertificateChainFile "WAMPROOT/server-ca.crt" - -# Certificate Authority (CA): -# Set the CA certificate verification path where to find CA -# certificates for client authentication or alternatively one -# huge file containing all of them (file must be PEM encoded) -# Note: Inside SSLCACertificatePath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCACertificatePath "WAMPROOT/ssl.crt" -#SSLCACertificateFile "WAMPROOT/ca-bundle.crt" - -# Certificate Revocation Lists (CRL): -# Set the CA revocation path where to find CA CRLs for client -# authentication or alternatively one huge file containing all -# of them (file must be PEM encoded) -# Note: Inside SSLCARevocationPath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCARevocationPath "WAMPROOT/ssl.crl" -#SSLCARevocationFile "WAMPROOT/ca-bundle.crl" - -# Client Authentication (Type): -# Client certificate verification type and depth. Types are -# none, optional, require and optional_no_ca. Depth is a -# number which specifies how deeply to verify the certificate -# issuer chain before deciding the certificate is not valid. -#SSLVerifyClient require -#SSLVerifyDepth 10 - -# Access Control: -# With SSLRequire you can do per-directory access control based -# on arbitrary complex boolean expressions containing server -# variable checks and other lookup directives. The syntax is a -# mixture between C and Perl. See the mod_ssl documentation -# for more details. -#<Location /> -#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ -# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ -# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ -# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ -# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ -# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ -#</Location> - -# SSL Engine Options: -# Set various options for the SSL engine. -# o FakeBasicAuth: -# Translate the client X.509 into a Basic Authorisation. This means that -# the standard Auth/DBMAuth methods can be used for access control. The -# user name is the `one line' version of the client's X.509 certificate. -# Note that no password is obtained from the user. Every entry in the user -# file needs this password: `xxj31ZMTZzkVA'. -# o ExportCertData: -# This exports two additional environment variables: SSL_CLIENT_CERT and -# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the -# server (always existing) and the client (only existing when client -# authentication is used). This can be used to import the certificates -# into CGI scripts. -# o StdEnvVars: -# This exports the standard SSL/TLS related `SSL_*' environment variables. -# Per default this exportation is switched off for performance reasons, -# because the extraction step is an expensive operation and is usually -# useless for serving static content. So one usually enables the -# exportation for CGI and SSI requests only. -# o StrictRequire: -# This denies access when "SSLRequireSSL" or "SSLRequire" applied even -# under a "Satisfy any" situation, i.e. when it applies access is denied -# and no other module can change it. -# o OptRenegotiate: -# This enables optimized SSL connection renegotiation handling when SSL -# directives are used in per-directory context. -#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire -#<FilesMatch "\.(cgi|shtml|phtml|php)$"> -# SSLOptions +StdEnvVars -#</FilesMatch> -#<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin"> -# SSLOptions +StdEnvVars -#</Directory> - -# SSL Protocol Adjustments: -# The safe and default but still SSL/TLS standard compliant shutdown -# approach is that mod_ssl sends the close notify alert but doesn't wait for -# the close notify alert from client. When you need a different shutdown -# approach you can use one of the following variables: -# o ssl-unclean-shutdown: -# This forces an unclean shutdown when the connection is closed, i.e. no -# SSL close notify alert is send or allowed to received. This violates -# the SSL/TLS standard but is needed for some brain-dead browsers. Use -# this when you receive I/O errors because of the standard approach where -# mod_ssl sends the close notify alert. -# o ssl-accurate-shutdown: -# This forces an accurate shutdown when the connection is closed, i.e. a -# SSL close notify alert is send and mod_ssl waits for the close notify -# alert of the client. This is 100% SSL/TLS standard compliant, but in -# practice often causes hanging connections with brain-dead browsers. Use -# this only for browsers where you know that their SSL implementation -# works correctly. -# Notice: Most problems of broken clients are also related to the HTTP -# keep-alive facility, so you usually additionally want to disable -# keep-alive for those clients, too. Use variable "nokeepalive" for this. -# Similarly, one has to force some clients to use HTTP/1.0 to workaround -# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and -# "force-response-1.0" for this. -#BrowserMatch ".*MSIE.*" \ -# nokeepalive ssl-unclean-shutdown \ -# downgrade-1.0 force-response-1.0 - -</VirtualHost> - -</IfModule> - - - -# OPTIMIZE: To use gzip compression (for already compressed files). -# Note that constant MAIN_OPTIMIZE_SPEED must have a value with bit 0 set. -#AddType text/javascript .jgz -#AddEncoding gzip .jgz - -# OPTIMIZE: To use gzip compression (on the fly). -# Note that you must also enable the module mod_deflate. -# You can also set this with constant MAIN_OPTIMIZE_SPEED and bit 2 set. -#TODO - -# OPTIMIZE: To use cache on static pages (A259200 = 1 month). -# Note that you must also enable the module mod_expires. -#ExpiresActive On -#ExpiresByType image/x-icon A2592000 -#ExpiresByType image/gif A2592000 -#ExpiresByType image/png A2592000 -#ExpiresByType image/jpeg A2592000 -#ExpiresByType text/css A2592000 -#ExpiresByType text/javascript A2592000 -#ExpiresByType application/x-javascript A2592000 -#ExpiresByType application/javascript A2592000 - - -# Declare alias for Dolibarr, PHPMyAdmin and other softwares -Include "WAMPROOT/alias/*.conf" +# +# This is the main Apache HTTP server configuration file. It contains the +# configuration directives that give the server its instructions. +# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information. +# In particular, see +# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html> +# for a discussion of each configuration directive. +# +# Do NOT simply read the instructions in here without understanding +# what they do. They're here only as hints or reminders. If you are unsure +# consult the online docs. You have been warned. +# +# Configuration and logfile names: If the filenames you specify for many +# of the server's control files begin with "/" (or "drive:/" for Win32), the +# server will use that explicit path. If the filenames do *not* begin +# with "/", the value of ServerRoot is prepended -- so "logs/foo.log" +# with ServerRoot set to "C:/Program Files/Apache Software Foundation/Apache2.2" will be interpreted by the +# server as "C:/Program Files/Apache Software Foundation/Apache2.2/logs/foo.log". +# +# NOTE: Where filenames are specified, you must use forward slashes +# instead of backslashes (e.g., "c:/apache" instead of "c:\apache"). +# If a drive letter is omitted, the drive on which Apache.exe is located +# will be used by default. It is recommended that you always supply +# an explicit drive letter in absolute paths, however, to avoid +# confusion. +# + +# ThreadsPerChild: constant number of worker threads in the server process +# MaxRequestsPerChild: maximum number of requests a server process serves +ThreadsPerChild 250 +MaxRequestsPerChild 0 + +# +# ServerRoot: The top of the directory tree under which the server's +# configuration, error, and log files are kept. +# +# Do not add a slash at the end of the directory path. If you point +# ServerRoot at a non-local disk, be sure to point the LockFile directive +# at a local disk. If you wish to share the same ServerRoot for multiple +# httpd daemons, you will need to change at least LockFile and PidFile. +# +ServerRoot "WAMPROOT/bin/apache/apacheWAMPAPACHEVERSION" + +# +# Listen: Allows you to bind Apache to specific IP addresses and/or +# ports, instead of the default. See also the <VirtualHost> +# directive. +# +# Change this to Listen on specific IP addresses as shown below to +# prevent Apache from glomming onto all bound IP addresses (0.0.0.0) +# +#Listen 12.34.56.78:80 +Listen WAMPAPACHEPORT + +# +# Dynamic Shared Object (DSO) Support +# +# To be able to use the functionality of a module which was built as a DSO you +# have to place corresponding `LoadModule' lines at this location so the +# directives contained in it are actually available _before_ they are used. +# Statically compiled modules (those listed by `httpd -l') do not need +# to be loaded here. +# +# Example: +# LoadModule foo_module modules/mod_foo.so +# +LoadModule actions_module modules/mod_actions.so +LoadModule alias_module modules/mod_alias.so +LoadModule asis_module modules/mod_asis.so +LoadModule auth_basic_module modules/mod_auth_basic.so +#LoadModule auth_digest_module modules/mod_auth_digest.so +#LoadModule authn_anon_module modules/mod_authn_anon.so +#LoadModule authn_dbm_module modules/mod_authn_dbm.so +LoadModule authn_default_module modules/mod_authn_default.so +LoadModule authn_file_module modules/mod_authn_file.so +#LoadModule authz_dbm_module modules/mod_authz_dbm.so +LoadModule authz_default_module modules/mod_authz_default.so +LoadModule authz_groupfile_module modules/mod_authz_groupfile.so +LoadModule authz_host_module modules/mod_authz_host.so +LoadModule authz_user_module modules/mod_authz_user.so +LoadModule autoindex_module modules/mod_autoindex.so +#LoadModule cern_meta_module modules/mod_cern_meta.so +LoadModule cgi_module modules/mod_cgi.so +#LoadModule dav_module modules/mod_dav.so +#LoadModule dav_fs_module modules/mod_dav_fs.so +#LoadModule deflate_module modules/mod_deflate.so +LoadModule dir_module modules/mod_dir.so +LoadModule env_module modules/mod_env.so +LoadModule expires_module modules/mod_expires.so +#LoadModule file_cache_module modules/mod_file_cache.so +#LoadModule headers_module modules/mod_headers.so +LoadModule imagemap_module modules/mod_imagemap.so +LoadModule include_module modules/mod_include.so +#LoadModule info_module modules/mod_info.so +LoadModule isapi_module modules/mod_isapi.so +LoadModule log_config_module modules/mod_log_config.so +LoadModule mime_module modules/mod_mime.so +#LoadModule mime_magic_module modules/mod_mime_magic.so +#LoadModule proxy_module modules/mod_proxy.so +#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so +#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so +#LoadModule proxy_connect_module modules/mod_proxy_connect.so +#LoadModule proxy_http_module modules/mod_proxy_http.so +#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so +LoadModule negotiation_module modules/mod_negotiation.so +LoadModule rewrite_module modules/mod_rewrite.so +LoadModule setenvif_module modules/mod_setenvif.so +#LoadModule speling_module modules/mod_speling.so +LoadModule status_module modules/mod_status.so +#LoadModule unique_id_module modules/mod_unique_id.so +LoadModule userdir_module modules/mod_userdir.so +#LoadModule usertrack_module modules/mod_usertrack.so +LoadModule vhost_alias_module modules/mod_vhost_alias.so +#LoadModule ssl_module modules/mod_ssl.so +LoadModule php5_module "WAMPROOT/bin/php/phpWAMPPHPVERSION/php5apache2_2.dll" + +# +# ExtendedStatus controls whether Apache will generate "full" status +# information (ExtendedStatus On) or just basic information (ExtendedStatus +# Off) when the "server-status" handler is called. The default is Off. +# +ExtendedStatus On + +<Location /server-status> +SetHandler server-status +Order Deny,Allow +Deny from all +Allow from localhost, 127.0.0.1 +</Location> + + +# 'Main' server configuration +# +# The directives in this section set up the values used by the 'main' +# server, which responds to any requests that aren't handled by a +# <VirtualHost> definition. These values also provide defaults for +# any <VirtualHost> containers you may define later in the file. +# +# All of these directives may appear inside <VirtualHost> containers, +# in which case these default settings will be overridden for the +# virtual host being defined. +# + +# +# ServerAdmin: Your address, where problems with the server should be +# e-mailed. This address appears on some server-generated pages, such +# as error documents. e.g. admin@your-domain.com +# +ServerAdmin webmaster@localhost + +# +# ServerName gives the name and port that the server uses to identify itself. +# This can often be determined automatically, but we recommend you specify +# it explicitly to prevent problems during startup. +# +# If your host doesn't have a registered DNS name, enter its IP address here. +# +ServerName localhost + +# +# ServerTokens +# This directive configures what you return as the Server HTTP response +# Header. The default is 'Full' which sends information about the OS-Type +# and compiled in modules. +# Set to one of: Full | OS | Minor | Minimal | Major | Prod +# where Full conveys the most information, and Prod the least. +# +#ServerTokens Prod + +# +# DocumentRoot: The directory out of which you will serve your +# documents. By default, all requests are taken from this directory, but +# symbolic links and aliases may be used to point to other locations. +# +DocumentRoot "WAMPROOT/www/" + + +# +# Timeout: The number of seconds before receives and sends time out. +# +Timeout 300 + +# +# KeepAlive: Whether or not to allow persistent connections (more than +# one request per connection). Set to "Off" to deactivate. +# +KeepAlive On + +# +# MaxKeepAliveRequests: The maximum number of requests to allow +# during a persistent connection. Set to 0 to allow an unlimited amount. +# We recommend you leave this number high, for maximum performance. +# +MaxKeepAliveRequests 500 + +# +# KeepAliveTimeout: Number of seconds to wait for the next request from the +# same client on the same connection. +# +KeepAliveTimeout 30 + + +# +# Each directory to which Apache has access can be configured with respect +# to which services and features are allowed and/or disabled in that +# directory (and its subdirectories). +# +# First, we configure the "default" to be a very restrictive set of +# features. +# +<Directory /> + Options FollowSymLinks + AllowOverride None + Order deny,allow + Deny from all + Satisfy all +</Directory> + +# +# Note that from this point forward you must specifically allow +# particular features to be enabled - so if something's not working as +# you might expect, make sure that you have specifically enabled it +# below. +# + +# +# This should be changed to whatever you set DocumentRoot to. +# +<Directory "WAMPROOT/www/"> + + # + # Possible values for the Options directive are "None", "All", + # or any combination of: + # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews + # + # Note that "MultiViews" must be named *explicitly* --- "Options All" + # doesn't give it to you. + # + # The Options directive is both complicated and important. Please see + # http://httpd.apache.org/docs/2.2/mod/core.html#options + # for more information. + # + Options Indexes FollowSymLinks + + # + # AllowOverride controls what directives may be placed in .htaccess files. + # It can be "All", "None", or any combination of the keywords: + # Options FileInfo AuthConfig Limit + # + AllowOverride all + + # + # Controls who can get stuff from this server. + # +# onlineoffline tag - don't remove + Order Deny,Allow + Deny from all + Allow from 127.0.0.1 + +</Directory> + +# +# DirectoryIndex: sets the file that Apache will serve if a directory +# is requested. +# +<IfModule dir_module> + DirectoryIndex index.php index.php3 index.html index.htm +</IfModule> + +# +# The following lines prevent .htaccess and .htpasswd files from being +# viewed by Web clients. +# +<FilesMatch "^\.ht"> + Order allow,deny + Deny from all +</FilesMatch> + +# +# ErrorLog: The location of the error log file. +# If you do not specify an ErrorLog directive within a <VirtualHost> +# container, error messages relating to that virtual host will be +# logged here. If you *do* define an error logfile for a <VirtualHost> +# container, that host's errors will be logged there and not here. +# +ErrorLog "WAMPROOT/logs/apache_error.log" + +# +# LogLevel: Control the number of messages logged to the error_log. +# Possible values include: debug, info, notice, warn, error, crit, +# alert, emerg. +# +LogLevel warn + +<IfModule log_config_module> + # + # The following directives define some format nicknames for use with + # a CustomLog directive (see below). + # + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined + LogFormat "%h %l %u %t \"%r\" %>s %b" common + + <IfModule logio_module> + # You need to enable mod_logio.c to use %I and %O + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio + </IfModule> + + # + # The location and format of the access logfile (Common Logfile Format). + # If you do not define any access logfiles within a <VirtualHost> + # container, they will be logged here. Contrariwise, if you *do* + # define per-<VirtualHost> access logfiles, transactions will be + # logged therein and *not* in this file. + # + CustomLog "WAMPROOT/logs/access.log" common + + # + # If you prefer a logfile with access, agent, and referer information + # (Combined Logfile Format) you can use the following directive. + # + #CustomLog logs/access.log combined +</IfModule> + +<IfModule alias_module> + # + # Redirect: Allows you to tell clients about documents that used to + # exist in your server's namespace, but do not anymore. The client + # will make a new request for the document at its new location. + # Example: + # Redirect permanent /foo http://localhost/bar + + # + # Alias: Maps web paths into filesystem paths and is used to + # access content that does not live under the DocumentRoot. + # Example: + # Alias /webpath /full/filesystem/path + # + # If you include a trailing / on /webpath then the server will + # require it to be present in the URL. You will also likely + # need to provide a <Directory> section to allow access to + # the filesystem path. + + # + # ScriptAlias: This controls which directories contain server scripts. + # ScriptAliases are essentially the same as Aliases, except that + # documents in the target directory are treated as applications and + # run by the server when requested rather than as documents sent to the + # client. The same rules about trailing "/" apply to ScriptAlias + # directives as to Alias. + # + ScriptAlias /cgi-bin/ "cgi-bin/" + +</IfModule> + +# +# "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin" should be changed to whatever your ScriptAliased +# CGI directory exists, if you have that configured. +# +<Directory "cgi-bin"> + AllowOverride None + Options None + Order allow,deny + Allow from all +</Directory> + +# +# Apache parses all CGI scripts for the shebang line by default. +# This comment line, the first line of the script, consists of the symbols +# pound (#) and exclamation (!) followed by the path of the program that +# can execute this specific script. For a perl script, with perl.exe in +# the C:\Program Files\Perl directory, the shebang line should be: + + #!c:/program files/perl/perl + +# Note you _must_not_ indent the actual shebang line, and it must be the +# first line of the file. Of course, CGI processing must be enabled by +# the appropriate ScriptAlias or Options ExecCGI directives for the files +# or directory in question. +# +# However, Apache on Windows allows either the Unix behavior above, or can +# use the Registry to match files by extention. The command to execute +# a file of this type is retrieved from the registry by the same method as +# the Windows Explorer would use to handle double-clicking on a file. +# These script actions can be configured from the Windows Explorer View menu, +# 'Folder Options', and reviewing the 'File Types' tab. Clicking the Edit +# button allows you to modify the Actions, of which Apache 1.3 attempts to +# perform the 'Open' Action, and failing that it will try the shebang line. +# This behavior is subject to change in Apache release 2.0. +# +# Each mechanism has it's own specific security weaknesses, from the means +# to run a program you didn't intend the website owner to invoke, and the +# best method is a matter of great debate. +# +# To enable the this Windows specific behavior (and therefore -disable- the +# equivilant Unix behavior), uncomment the following directive: +# +#ScriptInterpreterSource registry +# +# The directive above can be placed in individual <Directory> blocks or the +# .htaccess file, with either the 'registry' (Windows behavior) or 'script' +# (Unix behavior) option, and will override this server default option. +# + +# +# DefaultType: the default MIME type the server will use for a document +# if it cannot otherwise determine one, such as from filename extensions. +# If your server contains mostly text or HTML documents, "text/plain" is +# a good value. If most of your content is binary, such as applications +# or images, you may want to use "application/octet-stream" instead to +# keep browsers from trying to display binary files as though they are +# text. +# +DefaultType text/plain + +<IfModule mime_module> + # + # TypesConfig points to the file containing the list of mappings from + # filename extension to MIME-type. + # + TypesConfig conf/mime.types + + # + # AddType allows you to add to or override the MIME configuration + # file specified in TypesConfig for specific file types. + # + #AddType application/x-gzip .tgz + # + # AddEncoding allows you to have certain browsers uncompress + # information on the fly. Note: Not all browsers support this. + # + #AddEncoding x-compress .Z + #AddEncoding x-gzip .gz .tgz + # + # If the AddEncoding directives above are commented-out, then you + # probably should define those extensions to indicate media types: + # + AddType application/x-compress .Z + AddType application/x-gzip .gz .tgz + AddType application/x-httpd-php .php + AddType application/x-httpd-php .php3 + + # + # AddHandler allows you to map certain file extensions to "handlers": + # actions unrelated to filetype. These can be either built into the server + # or added with the Action directive (see below) + # + # To use CGI scripts outside of ScriptAliased directories: + # (You will also need to add "ExecCGI" to the "Options" directive.) + # + #AddHandler cgi-script .cgi + + # For type maps (negotiated resources): + #AddHandler type-map var + + # + # Filters allow you to process content before it is sent to the client. + # + # To parse .shtml files for server-side includes (SSI): + # (You will also need to add "Includes" to the "Options" directive.) + # + #AddType text/html .shtml + #AddOutputFilter INCLUDES .shtml +</IfModule> + +# +# The mod_mime_magic module allows the server to use various hints from the +# contents of the file itself to determine its type. The MIMEMagicFile +# directive tells the module where the hint definitions are located. +# +#MIMEMagicFile conf/magic + +# +# Customizable error responses come in three flavors: +# 1) plain text 2) local redirects 3) external redirects +# +# Some examples: +#ErrorDocument 500 "The server made a boo boo." +#ErrorDocument 404 /missing.html +#ErrorDocument 404 "/cgi-bin/missing_handler.pl" +#ErrorDocument 402 http://localhost/subscription_info.html +# + +# +# EnableMMAP and EnableSendfile: On systems that support it, +# memory-mapping or the sendfile syscall is used to deliver +# files. This usually improves server performance, but must +# be turned off when serving from networked-mounted +# filesystems or if support for these functions is otherwise +# broken on your system. +# +#EnableMMAP off +#EnableSendfile off + +# Supplemental configuration +# +# The configuration files in the conf/extra/ directory can be +# included to add extra features or to modify the default configuration of +# the server, or you may simply copy their contents here and change as +# necessary. + +# Server-pool management (MPM specific) +#Include conf/extra/httpd-mpm.conf + +# Multi-language error messages +#Include conf/extra/httpd-multilang-errordoc.conf + +# Fancy directory listings +Include conf/extra/httpd-autoindex.conf + +# Language settings +#Include conf/extra/httpd-languages.conf + +# User home directories +#Include conf/extra/httpd-userdir.conf + +# Real-time info on requests and configuration +#Include conf/extra/httpd-info.conf + +# Virtual hosts +#Include conf/extra/httpd-vhosts.conf + +# Local access to the Apache HTTP Server Manual +#Include conf/extra/httpd-manual.conf + +# Distributed authoring and versioning (WebDAV) +#Include conf/extra/httpd-dav.conf + +# Various default settings +#Include conf/extra/httpd-default.conf + + + +# Secure (SSL/TLS) connections +# +# Note: The following must must be present to support +# starting without SSL on platforms with no /dev/random equivalent +# but a statically compiled-in mod_ssl. +# + +<IfModule ssl_module> + +SSLRandomSeed startup builtin +SSLRandomSeed connect builtin + +Listen WAMPAPACHEPSSL + +## +## SSL Global Context +## +## All SSL configuration in this context applies both to +## the main server and all SSL-enabled virtual hosts. +## + +# +# Some MIME-types for downloading Certificates and CRLs +# +AddType application/x-x509-ca-cert .crt +AddType application/x-pkcs7-crl .crl + +# Pass Phrase Dialog: +# Configure the pass phrase gathering process. +# The filtering dialog program (`builtin' is a internal +# terminal dialog) has to provide the pass phrase on stdout. +#SSLPassPhraseDialog builtin + +# Inter-Process Session Cache: +# Configure the SSL Session Cache: First the mechanism +# to use and second the expiring timeout (in seconds). +#SSLSessionCache "dbm:C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_scache" +#SSLSessionCache "shmcb:C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_scache(512000)" +#SSLSessionCacheTimeout 300 + +# Semaphore: +# Configure the path to the mutual exclusion semaphore the +# SSL engine uses internally for inter-process synchronization. +#SSLMutex "file:C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_mutex" + +## +## SSL Virtual Host Context +## + +<VirtualHost _default_:WAMPAPACHEPSSL> + +# SSL Engine Switch: +# Enable/Disable SSL for this virtual host. +SSLEngine on + +# General setup for the virtual host +DocumentRoot "WAMPROOT/www/" +ServerName localhost +ServerAdmin admin@localhost +ErrorLog "WAMPROOT/logs/apache_error_ssl.log" +TransferLog "WAMPROOT/logs/apache_transfer_ssl.log" +CustomLog "WAMPROOT/logs/apache_access_ssl.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" + +# SSL Cipher Suite: +# List the ciphers that the client is permitted to negotiate. +# See the mod_ssl documentation for a complete list. +#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL + +# Server Certificate: +# Point SSLCertificateFile at a PEM encoded certificate. If +# the certificate is encrypted, then you will be prompted for a +# pass phrase. Note that a kill -HUP will prompt again. Keep +# in mind that if you have both an RSA and a DSA certificate you +# can configure both in parallel (to also allow the use of DSA +# ciphers, etc.) +SSLCertificateFile "WAMPROOT/myserver.crt" + +# Server Private Key: +# If the key is not combined with the certificate, use this +# directive to point at the key file. Keep in mind that if +# you've both a RSA and a DSA private key you can configure +# both in parallel (to also allow the use of DSA ciphers, etc.) +SSLCertificateKeyFile "WAMPROOT/myserver.key" + +# Server Certificate Chain: +# Point SSLCertificateChainFile at a file containing the +# concatenation of PEM encoded CA certificates which form the +# certificate chain for the server certificate. Alternatively +# the referenced file can be the same as SSLCertificateFile +# when the CA certificates are directly appended to the server +# certificate for convinience. +#SSLCertificateChainFile "WAMPROOT/server-ca.crt" + +# Certificate Authority (CA): +# Set the CA certificate verification path where to find CA +# certificates for client authentication or alternatively one +# huge file containing all of them (file must be PEM encoded) +# Note: Inside SSLCACertificatePath you need hash symlinks +# to point to the certificate files. Use the provided +# Makefile to update the hash symlinks after changes. +#SSLCACertificatePath "WAMPROOT/ssl.crt" +#SSLCACertificateFile "WAMPROOT/ca-bundle.crt" + +# Certificate Revocation Lists (CRL): +# Set the CA revocation path where to find CA CRLs for client +# authentication or alternatively one huge file containing all +# of them (file must be PEM encoded) +# Note: Inside SSLCARevocationPath you need hash symlinks +# to point to the certificate files. Use the provided +# Makefile to update the hash symlinks after changes. +#SSLCARevocationPath "WAMPROOT/ssl.crl" +#SSLCARevocationFile "WAMPROOT/ca-bundle.crl" + +# Client Authentication (Type): +# Client certificate verification type and depth. Types are +# none, optional, require and optional_no_ca. Depth is a +# number which specifies how deeply to verify the certificate +# issuer chain before deciding the certificate is not valid. +#SSLVerifyClient require +#SSLVerifyDepth 10 + +# Access Control: +# With SSLRequire you can do per-directory access control based +# on arbitrary complex boolean expressions containing server +# variable checks and other lookup directives. The syntax is a +# mixture between C and Perl. See the mod_ssl documentation +# for more details. +#<Location /> +#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ +# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ +# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ +# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ +# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ +# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ +#</Location> + +# SSL Engine Options: +# Set various options for the SSL engine. +# o FakeBasicAuth: +# Translate the client X.509 into a Basic Authorisation. This means that +# the standard Auth/DBMAuth methods can be used for access control. The +# user name is the `one line' version of the client's X.509 certificate. +# Note that no password is obtained from the user. Every entry in the user +# file needs this password: `xxj31ZMTZzkVA'. +# o ExportCertData: +# This exports two additional environment variables: SSL_CLIENT_CERT and +# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the +# server (always existing) and the client (only existing when client +# authentication is used). This can be used to import the certificates +# into CGI scripts. +# o StdEnvVars: +# This exports the standard SSL/TLS related `SSL_*' environment variables. +# Per default this exportation is switched off for performance reasons, +# because the extraction step is an expensive operation and is usually +# useless for serving static content. So one usually enables the +# exportation for CGI and SSI requests only. +# o StrictRequire: +# This denies access when "SSLRequireSSL" or "SSLRequire" applied even +# under a "Satisfy any" situation, i.e. when it applies access is denied +# and no other module can change it. +# o OptRenegotiate: +# This enables optimized SSL connection renegotiation handling when SSL +# directives are used in per-directory context. +#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire +#<FilesMatch "\.(cgi|shtml|phtml|php)$"> +# SSLOptions +StdEnvVars +#</FilesMatch> +#<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin"> +# SSLOptions +StdEnvVars +#</Directory> + +# SSL Protocol Adjustments: +# The safe and default but still SSL/TLS standard compliant shutdown +# approach is that mod_ssl sends the close notify alert but doesn't wait for +# the close notify alert from client. When you need a different shutdown +# approach you can use one of the following variables: +# o ssl-unclean-shutdown: +# This forces an unclean shutdown when the connection is closed, i.e. no +# SSL close notify alert is send or allowed to received. This violates +# the SSL/TLS standard but is needed for some brain-dead browsers. Use +# this when you receive I/O errors because of the standard approach where +# mod_ssl sends the close notify alert. +# o ssl-accurate-shutdown: +# This forces an accurate shutdown when the connection is closed, i.e. a +# SSL close notify alert is send and mod_ssl waits for the close notify +# alert of the client. This is 100% SSL/TLS standard compliant, but in +# practice often causes hanging connections with brain-dead browsers. Use +# this only for browsers where you know that their SSL implementation +# works correctly. +# Notice: Most problems of broken clients are also related to the HTTP +# keep-alive facility, so you usually additionally want to disable +# keep-alive for those clients, too. Use variable "nokeepalive" for this. +# Similarly, one has to force some clients to use HTTP/1.0 to workaround +# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and +# "force-response-1.0" for this. +#BrowserMatch ".*MSIE.*" \ +# nokeepalive ssl-unclean-shutdown \ +# downgrade-1.0 force-response-1.0 + +</VirtualHost> + +</IfModule> + + + +# OPTIMIZE: To use gzip compression (for already compressed files). +# Note that constant MAIN_OPTIMIZE_SPEED must have a value with bit 0 set. +#AddType text/javascript .jgz +#AddEncoding gzip .jgz + +# OPTIMIZE: To use gzip compression (on the fly). +# Note that you must also enable the module mod_deflate. +# You can also set this with constant MAIN_OPTIMIZE_SPEED and bit 2 set. +#TODO + +# OPTIMIZE: To use cache on static pages (A259200 = 1 month). +# Note that you must also enable the module mod_expires. +#ExpiresActive On +#ExpiresByType image/x-icon A2592000 +#ExpiresByType image/gif A2592000 +#ExpiresByType image/png A2592000 +#ExpiresByType image/jpeg A2592000 +#ExpiresByType text/css A2592000 +#ExpiresByType text/javascript A2592000 +#ExpiresByType application/x-javascript A2592000 +#ExpiresByType application/javascript A2592000 + + +# Declare alias for Dolibarr, PHPMyAdmin and other softwares +Include "WAMPROOT/alias/*.conf" diff --git a/build/pad/Dolibarr developpers.cml b/build/pad/Dolibarr developpers.cml index 06be3b4770fc212fa3fec4c5220e4c80d44672fb..55eae1473f95439871b34c6a4f21661c5cb692b1 100644 --- a/build/pad/Dolibarr developpers.cml +++ b/build/pad/Dolibarr developpers.cml @@ -1,31 +1,31 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<PADGEN_CML> - <AppVerInfo>PADGen 3.1.1.47</AppVerInfo> - <Company_Info> - <Company_Name>Dolibarr team</Company_Name> - <Address_1>11 rue raymond Queneau</Address_1> - <Address_2 /> - <City_Town>Rueil Malmaison</City_Town> - <State_Province /> - <Zip_Postal_Code>92500</Zip_Postal_Code> - <Country>FRANCE</Country> - <Company_WebSite_URL>http://www.dolibarr.org</Company_WebSite_URL> - <Contact_Info> - <Author_First_Name>Dolibarr team</Author_First_Name> - <Author_Last_Name>Dolibarr team</Author_Last_Name> - <Author_Email>dolibarr-dev@nongnu.org</Author_Email> - <Contact_First_Name>Dolibarr team</Contact_First_Name> - <Contact_Last_Name>Dolibarr team</Contact_Last_Name> - <Contact_Email>dolibarr-dev@nongnu.org</Contact_Email> - </Contact_Info> - <Support_Info> - <Sales_Email>dolibarr-dev@nongnu.org</Sales_Email> - <Support_Email>dolibarr-dev@nongnu.org</Support_Email> - <General_Email>dolibarr-dev@nongnu.org</General_Email> - <Sales_Phone /> - <Support_Phone /> - <General_Phone /> - <Fax_Phone /> - </Support_Info> - </Company_Info> -</PADGEN_CML> +<?xml version="1.0" encoding="UTF-8" ?> +<PADGEN_CML> + <AppVerInfo>PADGen 3.1.1.47</AppVerInfo> + <Company_Info> + <Company_Name>Dolibarr team</Company_Name> + <Address_1>11 rue raymond Queneau</Address_1> + <Address_2 /> + <City_Town>Rueil Malmaison</City_Town> + <State_Province /> + <Zip_Postal_Code>92500</Zip_Postal_Code> + <Country>FRANCE</Country> + <Company_WebSite_URL>http://www.dolibarr.org</Company_WebSite_URL> + <Contact_Info> + <Author_First_Name>Dolibarr team</Author_First_Name> + <Author_Last_Name>Dolibarr team</Author_Last_Name> + <Author_Email>dolibarr-dev@nongnu.org</Author_Email> + <Contact_First_Name>Dolibarr team</Contact_First_Name> + <Contact_Last_Name>Dolibarr team</Contact_Last_Name> + <Contact_Email>dolibarr-dev@nongnu.org</Contact_Email> + </Contact_Info> + <Support_Info> + <Sales_Email>dolibarr-dev@nongnu.org</Sales_Email> + <Support_Email>dolibarr-dev@nongnu.org</Support_Email> + <General_Email>dolibarr-dev@nongnu.org</General_Email> + <Sales_Phone /> + <Support_Phone /> + <General_Phone /> + <Fax_Phone /> + </Support_Info> + </Company_Info> +</PADGEN_CML> diff --git a/build/pad/NLTechno.cml b/build/pad/NLTechno.cml index 459e4bc9bef4969bf6ddd173c808d36a35c613c9..7c039a2de431004c3b64d7d83602ba9309350746 100644 --- a/build/pad/NLTechno.cml +++ b/build/pad/NLTechno.cml @@ -1,31 +1,31 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<PADGEN_CML> - <AppVerInfo>PADGen 3.1.1.47</AppVerInfo> - <Company_Info> - <Company_Name>NLTechno</Company_Name> - <Address_1>11 Rue raymond Queneau</Address_1> - <Address_2 /> - <City_Town>Rueil Malmaison</City_Town> - <State_Province /> - <Zip_Postal_Code>92500</Zip_Postal_Code> - <Country>FRANCE</Country> - <Company_WebSite_URL>http://www.nltechno.com</Company_WebSite_URL> - <Contact_Info> - <Author_First_Name>NLTechno</Author_First_Name> - <Author_Last_Name>NLTechno</Author_Last_Name> - <Author_Email>dolibarr@nltechno.com</Author_Email> - <Contact_First_Name>NLTechno</Contact_First_Name> - <Contact_Last_Name>NLTechno</Contact_Last_Name> - <Contact_Email>dolibarr@nltechno.com</Contact_Email> - </Contact_Info> - <Support_Info> - <Sales_Email>dolibarr@nltechno.com</Sales_Email> - <Support_Email>dolibarr@nltechno.com</Support_Email> - <General_Email>dolibarr@nltechno.com</General_Email> - <Sales_Phone /> - <Support_Phone /> - <General_Phone /> - <Fax_Phone /> - </Support_Info> - </Company_Info> -</PADGEN_CML> +<?xml version="1.0" encoding="UTF-8" ?> +<PADGEN_CML> + <AppVerInfo>PADGen 3.1.1.47</AppVerInfo> + <Company_Info> + <Company_Name>NLTechno</Company_Name> + <Address_1>11 Rue raymond Queneau</Address_1> + <Address_2 /> + <City_Town>Rueil Malmaison</City_Town> + <State_Province /> + <Zip_Postal_Code>92500</Zip_Postal_Code> + <Country>FRANCE</Country> + <Company_WebSite_URL>http://www.nltechno.com</Company_WebSite_URL> + <Contact_Info> + <Author_First_Name>NLTechno</Author_First_Name> + <Author_Last_Name>NLTechno</Author_Last_Name> + <Author_Email>dolibarr@nltechno.com</Author_Email> + <Contact_First_Name>NLTechno</Contact_First_Name> + <Contact_Last_Name>NLTechno</Contact_Last_Name> + <Contact_Email>dolibarr@nltechno.com</Contact_Email> + </Contact_Info> + <Support_Info> + <Sales_Email>dolibarr@nltechno.com</Sales_Email> + <Support_Email>dolibarr@nltechno.com</Support_Email> + <General_Email>dolibarr@nltechno.com</General_Email> + <Sales_Phone /> + <Support_Phone /> + <General_Phone /> + <Fax_Phone /> + </Support_Info> + </Company_Info> +</PADGEN_CML> diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index d1ee6e4722a9f33ab592878561fb10b15ce6d7fa..4ae6f7c6820600e15057001e5b631642b4ac02d2 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -1002,35 +1002,35 @@ class Adherent extends CommonObject } } - /** - * Method to load member from its name - * + /** + * Method to load member from its name + * * @param string $firstname Firstname - ** @param string $lastname Lastname - * @return void - */ - function fetch_name($firstname,$lastname) - { - global $conf; - - $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."adherent"; - $sql.= " WHERE firstname='".$this->db->escape($firstname)."'"; + ** @param string $lastname Lastname + * @return void + */ + function fetch_name($firstname,$lastname) + { + global $conf; + + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."adherent"; + $sql.= " WHERE firstname='".$this->db->escape($firstname)."'"; $sql.= " AND lastname='".$this->db->escape($lastname)."'"; - $sql.= " AND entity = ".$conf->entity; - - $resql=$this->db->query($sql); - if ($resql) - { - if ($this->db->num_rows($resql)) - { - $obj = $this->db->fetch_object($resql); - $this->fetch($obj->rowid); - } - } - else - { - dol_print_error($this->db); - } + $sql.= " AND entity = ".$conf->entity; + + $resql=$this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + $this->fetch($obj->rowid); + } + } + else + { + dol_print_error($this->db); + } } /** @@ -1539,12 +1539,12 @@ class Adherent extends CommonObject */ function getCivilityLabel() { - global $langs; - $langs->load("dict"); - - $code=(! empty($this->civilite_id)?$this->civilite_id:(! empty($this->civility_id)?$this->civility_id:'')); - if (empty($code)) return ''; - return $langs->getLabelFromKey($this->db, "Civility".$code, "c_civilite", "code", "civilite", $code); + global $langs; + $langs->load("dict"); + + $code=(! empty($this->civilite_id)?$this->civilite_id:(! empty($this->civility_id)?$this->civility_id:'')); + if (empty($code)) return ''; + return $langs->getLabelFromKey($this->db, "Civility".$code, "c_civilite", "code", "civilite", $code); } /** diff --git a/htdocs/compta/facture/class/facturestats.class.php b/htdocs/compta/facture/class/facturestats.class.php index 1c75406526d7066748b97deb65ebe1459b8cad8e..e624ca1cd4897ee7910fd148f32ba1ef6672678e 100644 --- a/htdocs/compta/facture/class/facturestats.class.php +++ b/htdocs/compta/facture/class/facturestats.class.php @@ -114,7 +114,7 @@ class FactureStats extends Stats */ function getNbByYear() { - global $user; + global $user; $sql = "SELECT YEAR(f.datef) as dm, COUNT(*)"; $sql.= " FROM ".$this->from; diff --git a/htdocs/core/boxes/box_graph_invoices_permonth.php b/htdocs/core/boxes/box_graph_invoices_permonth.php index 63b1b4531e6c54e85868d624f96e650104bb0157..b3f6f5fd6333ee1dc470d08fd1427386b98a542e 100644 --- a/htdocs/core/boxes/box_graph_invoices_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_permonth.php @@ -83,7 +83,7 @@ class box_graph_invoices_permonth extends ModeleBoxes if ($user->rights->facture->lire) { include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; - include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php'; + include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php'; $shownb=(! empty($conf->global->FACTURE_BOX_GRAPH_SHOW_NB)); $showtot=(! isset($conf->global->FACTURE_BOX_GRAPH_SHOW_TOT) || ! empty($conf->global->FACTURE_BOX_GRAPH_SHOW_TOT)); @@ -92,85 +92,85 @@ class box_graph_invoices_permonth extends ModeleBoxes $startyear=$endyear-1; $mode='customer'; $userid=0; - $WIDTH='256'; - $HEIGHT='192'; + $WIDTH='256'; + $HEIGHT='192'; - $stats = new FactureStats($this->db, 0, $mode, ($userid>0?$userid:0)); + $stats = new FactureStats($this->db, 0, $mode, ($userid>0?$userid:0)); // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) if ($shownb) - { - $data1 = $stats->getNbByMonthWithPrevYear($endyear,$startyear,(GETPOST('action')==$refreshaction?-1:(3600*24))); - - $filenamenb = $dir."/invoicesnbinyear-".$year.".png"; - if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&file=invoicesnbinyear-'.$year.'.png'; - if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstatssupplier&file=invoicesnbinyear-'.$year.'.png'; - - $px1 = new DolGraph(); - $mesg = $px1->isGraphKo(); - if (! $mesg) + { + $data1 = $stats->getNbByMonthWithPrevYear($endyear,$startyear,(GETPOST('action')==$refreshaction?-1:(3600*24))); + + $filenamenb = $dir."/invoicesnbinyear-".$year.".png"; + if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&file=invoicesnbinyear-'.$year.'.png'; + if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstatssupplier&file=invoicesnbinyear-'.$year.'.png'; + + $px1 = new DolGraph(); + $mesg = $px1->isGraphKo(); + if (! $mesg) { $px1->SetData($data1); - unset($data1); - $px1->SetPrecisionY(0); - $i=$startyear;$legend=array(); - while ($i <= $endyear) - { - $legend[]=$i; - $i++; - } - $px1->SetLegend($legend); - $px1->SetMaxValue($px1->GetCeilMaxValue()); - $px1->SetWidth($WIDTH); - $px1->SetHeight($HEIGHT); - $px1->SetYLabel($langs->trans("NumberOfBills")); - $px1->SetShading(3); - $px1->SetHorizTickIncrement(1); + unset($data1); $px1->SetPrecisionY(0); - $px1->SetCssPrefix("cssboxes"); - $px1->mode='depth'; - $px1->SetTitle($langs->trans("NumberOfBillsByMonth")); - - $px1->draw($filenamenb,$fileurlnb); + $i=$startyear;$legend=array(); + while ($i <= $endyear) + { + $legend[]=$i; + $i++; + } + $px1->SetLegend($legend); + $px1->SetMaxValue($px1->GetCeilMaxValue()); + $px1->SetWidth($WIDTH); + $px1->SetHeight($HEIGHT); + $px1->SetYLabel($langs->trans("NumberOfBills")); + $px1->SetShading(3); + $px1->SetHorizTickIncrement(1); + $px1->SetPrecisionY(0); + $px1->SetCssPrefix("cssboxes"); + $px1->mode='depth'; + $px1->SetTitle($langs->trans("NumberOfBillsByMonth")); + + $px1->draw($filenamenb,$fileurlnb); } } - // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) + // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) if ($showtot) { - $data2 = $stats->getAmountByMonthWithPrevYear($endyear,$startyear,(GETPOST('action')==$refreshaction?-1:(3600*24))); - - $filenamenb = $dir."/invoicesamountinyear-".$year.".png"; - if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&file=invoicesamountinyear-'.$year.'.png'; - if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstatssupplier&file=invoicesamountinyear-'.$year.'.png'; - - $px2 = new DolGraph(); - $mesg = $px2->isGraphKo(); - if (! $mesg) - { - $px2->SetData($data2); - unset($data2); - $px2->SetPrecisionY(0); - $i=$startyear;$legend=array(); - while ($i <= $endyear) - { - $legend[]=$i; - $i++; - } - $px2->SetLegend($legend); - $px2->SetMaxValue($px2->GetCeilMaxValue()); - $px2->SetWidth($WIDTH); - $px2->SetHeight($HEIGHT); - $px2->SetYLabel($langs->trans("AmountOfBillsHT")); - $px2->SetShading(3); - $px2->SetHorizTickIncrement(1); - $px2->SetPrecisionY(0); - $px2->SetCssPrefix("cssboxes"); - $px2->mode='depth'; - $px2->SetTitle($langs->trans("AmountOfBillsByMonthHT")); - - $px2->draw($filenamenb,$fileurlnb); - } + $data2 = $stats->getAmountByMonthWithPrevYear($endyear,$startyear,(GETPOST('action')==$refreshaction?-1:(3600*24))); + + $filenamenb = $dir."/invoicesamountinyear-".$year.".png"; + if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&file=invoicesamountinyear-'.$year.'.png'; + if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstatssupplier&file=invoicesamountinyear-'.$year.'.png'; + + $px2 = new DolGraph(); + $mesg = $px2->isGraphKo(); + if (! $mesg) + { + $px2->SetData($data2); + unset($data2); + $px2->SetPrecisionY(0); + $i=$startyear;$legend=array(); + while ($i <= $endyear) + { + $legend[]=$i; + $i++; + } + $px2->SetLegend($legend); + $px2->SetMaxValue($px2->GetCeilMaxValue()); + $px2->SetWidth($WIDTH); + $px2->SetHeight($HEIGHT); + $px2->SetYLabel($langs->trans("AmountOfBillsHT")); + $px2->SetShading(3); + $px2->SetHorizTickIncrement(1); + $px2->SetPrecisionY(0); + $px2->SetCssPrefix("cssboxes"); + $px2->mode='depth'; + $px2->SetTitle($langs->trans("AmountOfBillsByMonthHT")); + + $px2->draw($filenamenb,$fileurlnb); + } } if (! $mesg) diff --git a/htdocs/core/boxes/box_graph_orders_permonth.php b/htdocs/core/boxes/box_graph_orders_permonth.php index 51c9eb4fba0e6040ec1708560e51114d2c21b094..1150b1bac0bbc80f119789e90c49251d4399ff6e 100644 --- a/htdocs/core/boxes/box_graph_orders_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_permonth.php @@ -83,7 +83,7 @@ class box_graph_orders_permonth extends ModeleBoxes if ($user->rights->commande->lire) { include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; - include_once DOL_DOCUMENT_ROOT.'/commande/class/commandestats.class.php'; + include_once DOL_DOCUMENT_ROOT.'/commande/class/commandestats.class.php'; $shownb=(! empty($conf->global->COMMANDE_BOX_GRAPH_SHOW_NB)); $showtot=(! isset($conf->global->COMMANDE_BOX_GRAPH_SHOW_TOT) || ! empty($conf->global->COMMANDE_BOX_GRAPH_SHOW_TOT)); @@ -92,85 +92,85 @@ class box_graph_orders_permonth extends ModeleBoxes $startyear=$endyear-1; $mode='customer'; $userid=0; - $WIDTH='256'; - $HEIGHT='192'; + $WIDTH='256'; + $HEIGHT='192'; - $stats = new CommandeStats($this->db, 0, $mode, ($userid>0?$userid:0)); + $stats = new CommandeStats($this->db, 0, $mode, ($userid>0?$userid:0)); // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) if ($shownb) - { - $data1 = $stats->getNbByMonthWithPrevYear($endyear,$startyear,(GETPOST('action')==$refreshaction?-1:(3600*24))); - - $filenamenb = $dir."/ordersnbinyear-".$year.".png"; - if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&file=ordersnbinyear-'.$year.'.png'; - if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstatssupplier&file=ordersnbinyear-'.$year.'.png'; - - $px1 = new DolGraph(); - $mesg = $px1->isGraphKo(); - if (! $mesg) + { + $data1 = $stats->getNbByMonthWithPrevYear($endyear,$startyear,(GETPOST('action')==$refreshaction?-1:(3600*24))); + + $filenamenb = $dir."/ordersnbinyear-".$year.".png"; + if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&file=ordersnbinyear-'.$year.'.png'; + if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstatssupplier&file=ordersnbinyear-'.$year.'.png'; + + $px1 = new DolGraph(); + $mesg = $px1->isGraphKo(); + if (! $mesg) { $px1->SetData($data1); - unset($data1); - $px1->SetPrecisionY(0); - $i=$startyear;$legend=array(); - while ($i <= $endyear) - { - $legend[]=$i; - $i++; - } - $px1->SetLegend($legend); - $px1->SetMaxValue($px1->GetCeilMaxValue()); - $px1->SetWidth($WIDTH); - $px1->SetHeight($HEIGHT); - $px1->SetYLabel($langs->trans("NumberOfOrders")); - $px1->SetShading(3); - $px1->SetHorizTickIncrement(1); + unset($data1); $px1->SetPrecisionY(0); - $px1->SetCssPrefix("cssboxes"); - $px1->mode='depth'; - $px1->SetTitle($langs->trans("NumberOfOrdersByMonth")); - - $px1->draw($filenamenb,$fileurlnb); + $i=$startyear;$legend=array(); + while ($i <= $endyear) + { + $legend[]=$i; + $i++; + } + $px1->SetLegend($legend); + $px1->SetMaxValue($px1->GetCeilMaxValue()); + $px1->SetWidth($WIDTH); + $px1->SetHeight($HEIGHT); + $px1->SetYLabel($langs->trans("NumberOfOrders")); + $px1->SetShading(3); + $px1->SetHorizTickIncrement(1); + $px1->SetPrecisionY(0); + $px1->SetCssPrefix("cssboxes"); + $px1->mode='depth'; + $px1->SetTitle($langs->trans("NumberOfOrdersByMonth")); + + $px1->draw($filenamenb,$fileurlnb); } } - // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) + // Build graphic number of object. $data = array(array('Lib',val1,val2,val3),...) if ($showtot) { - $data2 = $stats->getAmountByMonthWithPrevYear($endyear,$startyear,(GETPOST('action')==$refreshaction?-1:(3600*24))); - - $filenamenb = $dir."/ordersamountinyear-".$year.".png"; - if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&file=ordersamountinyear-'.$year.'.png'; - if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstatssupplier&file=ordersamountinyear-'.$year.'.png'; - - $px2 = new DolGraph(); - $mesg = $px2->isGraphKo(); - if (! $mesg) - { - $px2->SetData($data2); - unset($data2); - $px2->SetPrecisionY(0); - $i=$startyear;$legend=array(); - while ($i <= $endyear) - { - $legend[]=$i; - $i++; - } - $px2->SetLegend($legend); - $px2->SetMaxValue($px2->GetCeilMaxValue()); - $px2->SetWidth($WIDTH); - $px2->SetHeight($HEIGHT); - $px2->SetYLabel($langs->trans("AmountOfOrdersHT")); - $px2->SetShading(3); - $px2->SetHorizTickIncrement(1); - $px2->SetPrecisionY(0); - $px2->SetCssPrefix("cssboxes"); - $px2->mode='depth'; - $px2->SetTitle($langs->trans("AmountOfOrdersByMonthHT")); - - $px2->draw($filenamenb,$fileurlnb); - } + $data2 = $stats->getAmountByMonthWithPrevYear($endyear,$startyear,(GETPOST('action')==$refreshaction?-1:(3600*24))); + + $filenamenb = $dir."/ordersamountinyear-".$year.".png"; + if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstats&file=ordersamountinyear-'.$year.'.png'; + if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=orderstatssupplier&file=ordersamountinyear-'.$year.'.png'; + + $px2 = new DolGraph(); + $mesg = $px2->isGraphKo(); + if (! $mesg) + { + $px2->SetData($data2); + unset($data2); + $px2->SetPrecisionY(0); + $i=$startyear;$legend=array(); + while ($i <= $endyear) + { + $legend[]=$i; + $i++; + } + $px2->SetLegend($legend); + $px2->SetMaxValue($px2->GetCeilMaxValue()); + $px2->SetWidth($WIDTH); + $px2->SetHeight($HEIGHT); + $px2->SetYLabel($langs->trans("AmountOfOrdersHT")); + $px2->SetShading(3); + $px2->SetHorizTickIncrement(1); + $px2->SetPrecisionY(0); + $px2->SetCssPrefix("cssboxes"); + $px2->mode='depth'; + $px2->SetTitle($langs->trans("AmountOfOrdersByMonthHT")); + + $px2->draw($filenamenb,$fileurlnb); + } } if (! $mesg) diff --git a/htdocs/core/class/stats.class.php b/htdocs/core/class/stats.class.php index ea73b8cdd770a0df1b40f88ad7bd5966124aac17..4c5833eb1d33e58dbc4f8587bbc59d76e1a9887d 100644 --- a/htdocs/core/class/stats.class.php +++ b/htdocs/core/class/stats.class.php @@ -52,38 +52,38 @@ abstract class Stats // Search into cache if (! empty($cachedelay)) { - include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - include_once DOL_DOCUMENT_ROOT.'/core/lib/json.lib.php'; + include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + include_once DOL_DOCUMENT_ROOT.'/core/lib/json.lib.php'; } - $newpathofdestfile=$conf->user->dir_temp.'/'.get_class($this).'_'.__FUNCTION__.'_'.$langs->defaultlang.'_user'.$user->id.'.cache'; - $newmask='0644'; - - $nowgmt = dol_now(); - - $foundintocache=0; - if ($cachedelay > 0) - { - $filedate=dol_filemtime($newpathofdestfile); - if ($filedate >= ($nowgmt - $cachedelay)) - { - $foundintocache=1; - - $this->_lastfetchdate[get_class($this).'_'.__FUNCTION__]=$filedate; - } - else - { - dol_syslog(get_class($this).'_'.__FUNCTION__." cache file ".$newpathofdestfile." is not found or older than now - cachedelay (".$nowgmt." - ".$cachedelay.") so we can't use it."); - } - } - - // Load file into $data - if ($foundintocache) // Cache file found and is not too old - { + $newpathofdestfile=$conf->user->dir_temp.'/'.get_class($this).'_'.__FUNCTION__.'_'.$langs->defaultlang.'_user'.$user->id.'.cache'; + $newmask='0644'; + + $nowgmt = dol_now(); + + $foundintocache=0; + if ($cachedelay > 0) + { + $filedate=dol_filemtime($newpathofdestfile); + if ($filedate >= ($nowgmt - $cachedelay)) + { + $foundintocache=1; + + $this->_lastfetchdate[get_class($this).'_'.__FUNCTION__]=$filedate; + } + else + { + dol_syslog(get_class($this).'_'.__FUNCTION__." cache file ".$newpathofdestfile." is not found or older than now - cachedelay (".$nowgmt." - ".$cachedelay.") so we can't use it."); + } + } + + // Load file into $data + if ($foundintocache) // Cache file found and is not too old + { dol_syslog(get_class($this).'_'.__FUNCTION__." read data from cache file ".$newpathofdestfile." ".$filedate."."); - $data = dol_json_decode(file_get_contents($newpathofdestfile), true); - } - else + $data = dol_json_decode(file_get_contents($newpathofdestfile), true); + } + else { $year=$startyear; while ($year <= $endyear) @@ -107,17 +107,17 @@ abstract class Stats } // Save cache file - if (empty($foundintocache) && ($cachedelay > 0 || $cachedelay == -1)) - { - dol_syslog(get_class($this).'_'.__FUNCTION__." save cache file ".$newpathofdestfile." onto disk."); - if (! dol_is_dir($conf->user->dir_temp)) dol_mkdir($conf->user->dir_temp); - $fp = fopen($newpathofdestfile, 'w'); - fwrite($fp, dol_json_encode($data)); - fclose($fp); - if (! empty($conf->global->MAIN_UMASK)) $newmask=$conf->global->MAIN_UMASK; - @chmod($newpathofdestfile, octdec($newmask)); - - $this->_lastfetchdate[get_class($this).'_'.__FUNCTION__]=$nowgmt; + if (empty($foundintocache) && ($cachedelay > 0 || $cachedelay == -1)) + { + dol_syslog(get_class($this).'_'.__FUNCTION__." save cache file ".$newpathofdestfile." onto disk."); + if (! dol_is_dir($conf->user->dir_temp)) dol_mkdir($conf->user->dir_temp); + $fp = fopen($newpathofdestfile, 'w'); + fwrite($fp, dol_json_encode($data)); + fclose($fp); + if (! empty($conf->global->MAIN_UMASK)) $newmask=$conf->global->MAIN_UMASK; + @chmod($newpathofdestfile, octdec($newmask)); + + $this->_lastfetchdate[get_class($this).'_'.__FUNCTION__]=$nowgmt; } // return array(array('Month',val1,val2,val3),...) @@ -140,41 +140,41 @@ abstract class Stats $datay=array(); - // Search into cache - if (! empty($cachedelay)) - { - include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - include_once DOL_DOCUMENT_ROOT.'/core/lib/json.lib.php'; - } - - $newpathofdestfile=$conf->user->dir_temp.'/'.get_class($this).'_'.__FUNCTION__.'_'.$langs->defaultlang.'_user'.$user->id.'.cache'; - $newmask='0644'; - - $nowgmt = dol_now(); - - $foundintocache=0; - if ($cachedelay > 0) - { - $filedate=dol_filemtime($newpathofdestfile); - if ($filedate >= ($nowgmt - $cachedelay)) - { - $foundintocache=1; - - $this->_lastfetchdate[get_class($this).'_'.__FUNCTION__]=$filedate; - } - else - { - dol_syslog(get_class($this).'_'.__FUNCTION__." cache file ".$newpathofdestfile." is not found or older than now - cachedelay (".$nowgmt." - ".$cachedelay.") so we can't use it."); - } - } - - // Load file into $data - if ($foundintocache) // Cache file found and is not too old - { - dol_syslog(get_class($this).'_'.__FUNCTION__." read data from cache file ".$newpathofdestfile." ".$filedate."."); - $data = dol_json_decode(file_get_contents($newpathofdestfile), true); - } - else + // Search into cache + if (! empty($cachedelay)) + { + include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + include_once DOL_DOCUMENT_ROOT.'/core/lib/json.lib.php'; + } + + $newpathofdestfile=$conf->user->dir_temp.'/'.get_class($this).'_'.__FUNCTION__.'_'.$langs->defaultlang.'_user'.$user->id.'.cache'; + $newmask='0644'; + + $nowgmt = dol_now(); + + $foundintocache=0; + if ($cachedelay > 0) + { + $filedate=dol_filemtime($newpathofdestfile); + if ($filedate >= ($nowgmt - $cachedelay)) + { + $foundintocache=1; + + $this->_lastfetchdate[get_class($this).'_'.__FUNCTION__]=$filedate; + } + else + { + dol_syslog(get_class($this).'_'.__FUNCTION__." cache file ".$newpathofdestfile." is not found or older than now - cachedelay (".$nowgmt." - ".$cachedelay.") so we can't use it."); + } + } + + // Load file into $data + if ($foundintocache) // Cache file found and is not too old + { + dol_syslog(get_class($this).'_'.__FUNCTION__." read data from cache file ".$newpathofdestfile." ".$filedate."."); + $data = dol_json_decode(file_get_contents($newpathofdestfile), true); + } + else { $year=$startyear; while($year <= $endyear) @@ -197,18 +197,18 @@ abstract class Stats } } - // Save cache file - if (empty($foundintocache) && ($cachedelay > 0 || $cachedelay == -1)) - { - dol_syslog(get_class($this).'_'.__FUNCTION__." save cache file ".$newpathofdestfile." onto disk."); - if (! dol_is_dir($conf->user->dir_temp)) dol_mkdir($conf->user->dir_temp); - $fp = fopen($newpathofdestfile, 'w'); - fwrite($fp, dol_json_encode($data)); - fclose($fp); - if (! empty($conf->global->MAIN_UMASK)) $newmask=$conf->global->MAIN_UMASK; - @chmod($newpathofdestfile, octdec($newmask)); - - $this->_lastfetchdate[get_class($this).'_'.__FUNCTION__]=$nowgmt; + // Save cache file + if (empty($foundintocache) && ($cachedelay > 0 || $cachedelay == -1)) + { + dol_syslog(get_class($this).'_'.__FUNCTION__." save cache file ".$newpathofdestfile." onto disk."); + if (! dol_is_dir($conf->user->dir_temp)) dol_mkdir($conf->user->dir_temp); + $fp = fopen($newpathofdestfile, 'w'); + fwrite($fp, dol_json_encode($data)); + fclose($fp); + if (! empty($conf->global->MAIN_UMASK)) $newmask=$conf->global->MAIN_UMASK; + @chmod($newpathofdestfile, octdec($newmask)); + + $this->_lastfetchdate[get_class($this).'_'.__FUNCTION__]=$nowgmt; } return $data; diff --git a/htdocs/core/filemanagerdol/browser/default/browser.css b/htdocs/core/filemanagerdol/browser/default/browser.css index 23572c57472b2818610586849084699dcab7a804..196dd298bd424c14d29c77ead386b01ee22092a9 100755 --- a/htdocs/core/filemanagerdol/browser/default/browser.css +++ b/htdocs/core/filemanagerdol/browser/default/browser.css @@ -1,81 +1,81 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2010 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * CSS styles used by all pages that compose the File Browser. - */ - -body -{ - background-color: #e3e3e3; - margin-top:0; - margin-bottom:0; -} - -form -{ - margin: 0; - padding: 0; -} - -body.FileArea -{ - background-color: #ffffff; - margin: 10px; -} - -body, td, input, select -{ - font-size: 11px; - font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; -} - -.ActualFolder -{ - font-weight: bold; - font-size: 14px; -} - -.PopupButtons -{ - border-top: #d5d59d 1px solid; - background-color: #e3e3c7; - padding: 7px 10px 7px 10px; -} - -.Button, button -{ - color: #3b3b3b; - border: #939393 1px solid; - background-color: #dedede; -} - -.FolderListCurrentFolder img -{ - background-image: url(../../../../themes/common/treemenu/folder-expanded.gif); -} - -.FolderListFolder img -{ - background-image: url(../../../../themes/common/treemenu/folder.gif); -} - -.fullHeight { - height: 100%; -} +/* + * FCKeditor - The text editor for Internet - http://www.fckeditor.net + * Copyright (C) 2003-2010 Frederico Caldeira Knabben + * + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * CSS styles used by all pages that compose the File Browser. + */ + +body +{ + background-color: #e3e3e3; + margin-top:0; + margin-bottom:0; +} + +form +{ + margin: 0; + padding: 0; +} + +body.FileArea +{ + background-color: #ffffff; + margin: 10px; +} + +body, td, input, select +{ + font-size: 11px; + font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; +} + +.ActualFolder +{ + font-weight: bold; + font-size: 14px; +} + +.PopupButtons +{ + border-top: #d5d59d 1px solid; + background-color: #e3e3c7; + padding: 7px 10px 7px 10px; +} + +.Button, button +{ + color: #3b3b3b; + border: #939393 1px solid; + background-color: #dedede; +} + +.FolderListCurrentFolder img +{ + background-image: url(../../../../themes/common/treemenu/folder-expanded.gif); +} + +.FolderListFolder img +{ + background-image: url(../../../../themes/common/treemenu/folder.gif); +} + +.fullHeight { + height: 100%; +} diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index 1824587353b22c2a71cb8933b14a84d7e66ed1cb..6c4cbe157e8137c4a377887f580dda95d695f4dc 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -1128,7 +1128,7 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetXY($posx+2,$posy+3); $pdf->SetFont('','B', $default_font_size); $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy=$pdf->getY(); + $posy=$pdf->getY(); // Show sender information $pdf->SetXY($posx+2,$posy); diff --git a/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php index fce2aa87df37aebbd348effb6a9931df4b56f26d..15a94b8aaed13cb7f1ed97b4f09b5d8cb6eda0ee 100644 --- a/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php @@ -581,7 +581,7 @@ class pdf_expedition_rouget extends ModelePdfExpedition $pdf->SetTextColor(0,0,60); $pdf->SetFont('','B',$default_font_size); $pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy=$pdf->getY(); + $posy=$pdf->getY(); // Show sender information $pdf->SetFont('','', $default_font_size - 1); diff --git a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php index 300e0b818d125209c6b5e7a3e24c9c228bbc4014..6a0feda2e9d2ed856c9bfaf832aacfb8ebfb225f 100644 --- a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php +++ b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php @@ -531,7 +531,7 @@ class pdf_soleil extends ModelePDFFicheinter $pdf->SetTextColor(0,0,60); $pdf->SetFont('','B',$default_font_size); $pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy=$pdf->getY(); + $posy=$pdf->getY(); // Show sender information $pdf->SetFont('','', $default_font_size - 1); diff --git a/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php b/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php index cc14ddc238d2cdab1789597fcba5ed71cb575923..ab3531697275ba5ee99d60c9d4bcdf8f6dd75032 100644 --- a/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php +++ b/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php @@ -723,7 +723,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder $pdf->SetXY($posx+2,$posy+3); $pdf->SetFont('','B',$default_font_size); $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy=$pdf->getY(); + $posy=$pdf->getY(); // Show sender information $pdf->SetXY($posx+2,$posy); diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index c01ebf765ea191948ff302b64d004e9d85ac57de..772e7599568abfdf89ae1116ae4e46297a6da6c0 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -1193,7 +1193,7 @@ class pdf_azur extends ModelePDFPropales $pdf->SetXY($posx+2,$posy+3); $pdf->SetFont('','B', $default_font_size); $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy=$pdf->getY(); + $posy=$pdf->getY(); // Show sender information $pdf->SetXY($posx+2,$posy); diff --git a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php index f718639ea5cf9511943be11c2459a1ec361719b2..523354adb2354cf306b322ff6141be0c3bcc74f0 100755 --- a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php +++ b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php @@ -931,7 +931,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices $pdf->SetXY($posx+2,$posy+3); $pdf->SetFont('','B', $default_font_size); $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy=$pdf->getY(); + $posy=$pdf->getY(); // Show sender information $pdf->SetXY($posx+2,$posy); diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index 48f0b1787f9f74bd1fb537f933015b1b8b8fffed..e120856d532e14a35df5bbf0bf5921e8a89e2f0f 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -997,7 +997,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders $pdf->SetXY($posx+2,$posy+3); $pdf->SetFont('','B', $default_font_size); $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy=$pdf->getY(); + $posy=$pdf->getY(); // Show sender information $pdf->SetXY($posx+2,$posy); diff --git a/htdocs/includes/ckeditor/.htaccess b/htdocs/includes/ckeditor/.htaccess index 94d69cddcf7307dc3e338c2afe1ec64feb1024bd..1427d97fb6e542dfa240b3551fe45136e373dda9 100755 --- a/htdocs/includes/ckeditor/.htaccess +++ b/htdocs/includes/ckeditor/.htaccess @@ -1,24 +1,24 @@ -# -# Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. -# For licensing, see LICENSE.html or http://ckeditor.com/license -# - -# -# On some specific Linux installations you could face problems with Firefox. -# It could give you errors when loading the editor saying that some illegal -# characters were found (three strange chars in the beginning of the file). -# This could happen if you map the .js or .css files to PHP, for example. -# -# Those characters are the Byte Order Mask (BOM) of the Unicode encoded files. -# All FCKeditor files are Unicode encoded. -# - -AddType application/x-javascript .js -AddType text/css .css - -# -# If PHP is mapped to handle XML files, you could have some issues. The -# following will disable it. -# - -AddType text/xml .xml +# +# Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +# For licensing, see LICENSE.html or http://ckeditor.com/license +# + +# +# On some specific Linux installations you could face problems with Firefox. +# It could give you errors when loading the editor saying that some illegal +# characters were found (three strange chars in the beginning of the file). +# This could happen if you map the .js or .css files to PHP, for example. +# +# Those characters are the Byte Order Mask (BOM) of the Unicode encoded files. +# All FCKeditor files are Unicode encoded. +# + +AddType application/x-javascript .js +AddType text/css .css + +# +# If PHP is mapped to handle XML files, you could have some issues. The +# following will disable it. +# + +AddType text/xml .xml diff --git a/htdocs/includes/ckeditor/ckeditor.asp b/htdocs/includes/ckeditor/ckeditor.asp index 60e8a0340c2c033d8002da42e63a1ee41d21360e..07cc07c8eff7692639d55ec5dfedaae740505136 100644 --- a/htdocs/includes/ckeditor/ckeditor.asp +++ b/htdocs/includes/ckeditor/ckeditor.asp @@ -1,955 +1,955 @@ -<% - ' - ' Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. - ' For licensing, see LICENSE.html or http://ckeditor.com/license - -' Shared variable for all instances ("static") -dim CKEDITOR_initComplete -dim CKEDITOR_returnedEvents - - '' - ' \brief CKEditor class that can be used to create editor - ' instances in ASP pages on server side. - ' @see http://ckeditor.com - ' - ' Sample usage: - ' @code - ' editor = new CKEditor - ' editor.editor "editor1", "<p>Initial value.</p>", empty, empty - ' @endcode - -Class CKEditor - - '' - ' The version of %CKEditor. - private version - - '' - ' A constant string unique for each release of %CKEditor. - private mTimeStamp - - '' - ' URL to the %CKEditor installation directory (absolute or relative to document root). - ' If not set, CKEditor will try to guess it's path. - ' - ' Example usage: - ' @code - ' editor.basePath = "/ckeditor/" - ' @endcode - Public basePath - - '' - ' A boolean variable indicating whether CKEditor has been initialized. - ' Set it to true only if you have already included - ' <script> tag loading ckeditor.js in your website. - Public initialized - - '' - ' Boolean variable indicating whether created code should be printed out or returned by a function. - ' - ' Example 1: get the code creating %CKEditor instance and print it on a page with the "echo" function. - ' @code - ' editor = new CKEditor - ' editor.returnOutput = true - ' code = editor.editor("editor1", "<p>Initial value.</p>", empty, empty) - ' response.write "<p>Editor 1:</p>" - ' response.write code - ' @endcode - Public returnOutput - - '' - ' A Dictionary with textarea attributes. - ' - ' When %CKEditor is created with the editor() method, a HTML <textarea> element is created, - ' it will be displayed to anyone with JavaScript disabled or with incompatible browser. - public textareaAttributes - - '' - ' A string indicating the creation date of %CKEditor. - ' Do not change it unless you want to force browsers to not use previously cached version of %CKEditor. - public timestamp - - '' - ' A dictionary that holds the instance configuration. - private oInstanceConfig - - '' - ' A dictionary that holds the configuration for all the instances. - private oAllInstancesConfig - - '' - ' A dictionary that holds event listeners for the instance. - private oInstanceEvents - - '' - ' A dictionary that holds event listeners for all the instances. - private oAllInstancesEvents - - '' - ' A Dictionary that holds global event listeners (CKEDITOR object) - private oGlobalEvents - - - Private Sub Class_Initialize() - version = "3.6.4" - timeStamp = "C6HH5UF" - mTimeStamp = "C6HH5UF" - - Set oInstanceConfig = CreateObject("Scripting.Dictionary") - Set oAllInstancesConfig = CreateObject("Scripting.Dictionary") - - Set oInstanceEvents = CreateObject("Scripting.Dictionary") - Set oAllInstancesEvents = CreateObject("Scripting.Dictionary") - Set oGlobalEvents = CreateObject("Scripting.Dictionary") - - Set textareaAttributes = CreateObject("Scripting.Dictionary") - textareaAttributes.Add "rows", 8 - textareaAttributes.Add "cols", 60 - End Sub - - '' - ' Creates a %CKEditor instance. - ' In incompatible browsers %CKEditor will downgrade to plain HTML <textarea> element. - ' - ' @param name (string) Name of the %CKEditor instance (this will be also the "name" attribute of textarea element). - ' @param value (string) Initial value. - ' - ' Example usage: - ' @code - ' set editor = New CKEditor - ' editor.editor "field1", "<p>Initial value.</p>" - ' @endcode - ' - ' Advanced example: - ' @code - ' set editor = new CKEditor - ' set config = CreateObject("Scripting.Dictionary") - ' config.Add "toolbar", Array( _ - ' Array( "Source", "-", "Bold", "Italic", "Underline", "Strike" ), _ - ' Array( "Image", "Link", "Unlink", "Anchor" ) _ - ' ) - ' set events = CreateObject("Scripting.Dictionary") - ' events.Add "instanceReady", "function (evt) { alert('Loaded second editor: ' + evt.editor.name );}" - - ' editor.editor "field1", "<p>Initial value.</p>", config, events - ' @endcode - ' - public function editor(name, value) - dim attr, out, js, customConfig, extraConfig - dim attribute - - attr = "" - - for each attribute in textareaAttributes - attr = attr & " " & attribute & "=""" & replace( textareaAttributes( attribute ), """", """ ) & """" - next - - out = "<textarea name=""" & name & """" & attr & ">" & Server.HtmlEncode(value) & "</textarea>" & vbcrlf - - if not(initialized) then - out = out & init() - end if - - set customConfig = configSettings() - js = returnGlobalEvents() - - extraConfig = (new JSON)( empty, customConfig, false ) - if extraConfig<>"" then extraConfig = ", " & extraConfig - js = js & "CKEDITOR.replace('" & name & "'" & extraConfig & ");" - - out = out & script(js) - - if not(returnOutput) then - response.write out - out = "" - end if - - editor = out - - oInstanceConfig.RemoveAll - oInstanceEvents.RemoveAll - end function - - '' - ' Replaces a <textarea> with a %CKEditor instance. - ' - ' @param id (string) The id or name of textarea element. - ' - ' Example 1: adding %CKEditor to <textarea name="article"></textarea> element: - ' @code - ' set editor = New CKEditor - ' editor.replace "article" - ' @endcode - ' - public function replaceInstance(id) - dim out, js, customConfig, extraConfig - - out = "" - if not(initialized) then - out = out & init() - end if - - set customConfig = configSettings() - js = returnGlobalEvents() - - extraConfig = (new JSON)( empty, customConfig, false ) - if extraConfig<>"" then extraConfig = ", " & extraConfig - js = js & "CKEDITOR.replace('" & id & "'" & extraConfig & ");" - - out = out & script(js) - - if not(returnOutput) then - response.write out - out = "" - end if - - replaceInstance = out - - oInstanceConfig.RemoveAll - oInstanceEvents.RemoveAll - end function - - '' - ' Replace all <textarea> elements available in the document with editor instances. - ' - ' @param className (string) If set, replace all textareas with class className in the page. - ' - ' Example 1: replace all <textarea> elements in the page. - ' @code - ' editor = new CKEditor - ' editor.replaceAll empty - ' @endcode - ' - ' Example 2: replace all <textarea class="myClassName"> elements in the page. - ' @code - ' editor = new CKEditor - ' editor.replaceAll 'myClassName' - ' @endcode - ' - function replaceAll(className) - dim out, js, customConfig - - out = "" - if not(initialized) then - out = out & init() - end if - - set customConfig = configSettings() - js = returnGlobalEvents() - - if (customConfig.Count=0) then - if (isEmpty(className)) then - js = js & "CKEDITOR.replaceAll();" - else - js = js & "CKEDITOR.replaceAll('" & className & "');" - end if - else - js = js & "CKEDITOR.replaceAll( function(textarea, config) {\n" - if not(isEmpty(className)) then - js = js & " var classRegex = new RegExp('(?:^| )' + '" & className & "' + '(?:$| )');\n" - js = js & " if (!classRegex.test(textarea.className))\n" - js = js & " return false;\n" - end if - js = js & " CKEDITOR.tools.extend(config, " & (new JSON)( empty, customConfig, false ) & ", true);" - js = js & "} );" - end if - - out = out & script(js) - - if not(returnOutput) then - response.write out - out = "" - end if - - replaceAll = out - - oInstanceConfig.RemoveAll - oInstanceEvents.RemoveAll - end function - - - '' - ' A Dictionary that holds the %CKEditor configuration for all instances - ' For the list of available options, see http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html - ' - ' Example usage: - ' @code - ' editor.config("height") = 400 - ' // Use @@ at the beggining of a string to ouput it without surrounding quotes. - ' editor.config("width") = "@@screen.width * 0.8" - ' @endcode - Public Property Let Config( configKey, configValue ) - oAllInstancesConfig.Add configKey, configValue - End Property - - '' - ' Configuration options for the next instance - ' - Public Property Let instanceConfig( configKey, configValue ) - oInstanceConfig.Add configKey, configValue - End Property - - '' - ' Adds event listener. - ' Events are fired by %CKEditor in various situations. - ' - ' @param eventName (string) Event name. - ' @param javascriptCode (string) Javascript anonymous function or function name. - ' - ' Example usage: - ' @code - ' editor.addEventHandler "instanceReady", "function (ev) { " & _ - ' " alert('Loaded: ' + ev.editor.name); " & _ - ' "}" - ' @endcode - ' - public sub addEventHandler(eventName, javascriptCode) - if not(oAllInstancesEvents.Exists( eventName ) ) then - oAllInstancesEvents.Add eventName, Array() - end if - - dim listeners, size - listeners = oAllInstancesEvents( eventName ) - size = ubound(listeners) + 1 - redim preserve listeners(size) - listeners(size) = javascriptCode - - oAllInstancesEvents( eventName ) = listeners -' '' Avoid duplicates. fixme... -' if (!in_array($javascriptCode, $this->_events[$event])) { -' $this->_events[$event][] = $javascriptCode; -' } - end sub - - '' - ' Clear registered event handlers. - ' Note: this function will have no effect on already created editor instances. - ' - ' @param eventName (string) Event name, if set to 'empty' all event handlers will be removed. - ' - public sub clearEventHandlers( eventName ) - if not(isEmpty( eventName )) then - oAllInstancesEvents.Remove eventName - else - oAllInstancesEvents.RemoveAll - end if - end sub - - - '' - ' Adds event listener only for the next instance. - ' Events are fired by %CKEditor in various situations. - ' - ' @param eventName (string) Event name. - ' @param javascriptCode (string) Javascript anonymous function or function name. - ' - ' Example usage: - ' @code - ' editor.addInstanceEventHandler "instanceReady", "function (ev) { " & _ - ' " alert('Loaded: ' + ev.editor.name); " & _ - ' "}" - ' @endcode - ' - public sub addInstanceEventHandler(eventName, javascriptCode) - if not(oInstanceEvents.Exists( eventName ) ) then - oInstanceEvents.Add eventName, Array() - end if - - dim listeners, size - listeners = oInstanceEvents( eventName ) - size = ubound(listeners) + 1 - redim preserve listeners(size) - listeners(size) = javascriptCode - - oInstanceEvents( eventName ) = listeners -' '' Avoid duplicates. fixme... -' if (!in_array($javascriptCode, $this->_events[$event])) { -' $this->_events[$event][] = $javascriptCode; -' } - end sub - - '' - ' Clear registered event handlers. - ' Note: this function will have no effect on already created editor instances. - ' - ' @param eventName (string) Event name, if set to 'empty' all event handlers will be removed. - ' - public sub clearInstanceEventHandlers( eventName ) - if not(isEmpty( eventName )) then - oInstanceEvents.Remove eventName - else - oInstanceEvents.RemoveAll - end if - end sub - - '' - ' Adds global event listener. - ' - ' @param event (string) Event name. - ' @param javascriptCode (string) Javascript anonymous function or function name. - ' - ' Example usage: - ' @code - ' editor.addGlobalEventHandler "dialogDefinition", "function (ev) { " & _ - ' " alert('Loading dialog: ' + ev.data.name); " & _ - ' "}" - ' @endcode - ' - public sub addGlobalEventHandler( eventName, javascriptCode) - if not(oGlobalEvents.Exists( eventName ) ) then - oGlobalEvents.Add eventName, Array() - end if - - dim listeners, size - listeners = oGlobalEvents( eventName ) - size = ubound(listeners) + 1 - redim preserve listeners(size) - listeners(size) = javascriptCode - - oGlobalEvents( eventName ) = listeners - -' // Avoid duplicates. -' if (!in_array($javascriptCode, $this->_globalEvents[$event])) { -' $this->_globalEvents[$event][] = $javascriptCode; -' } - end sub - - '' - ' Clear registered global event handlers. - ' Note: this function will have no effect if the event handler has been already printed/returned. - ' - ' @param eventName (string) Event name, if set to 'empty' all event handlers will be removed . - ' - public sub clearGlobalEventHandlers( eventName ) - if not(isEmpty( eventName )) then - oGlobalEvents.Remove eventName - else - oGlobalEvents.RemoveAll - end if - end sub - - '' - ' Prints javascript code. - ' - ' @param string js - ' - private function script(js) - script = "<script type=""text/javascript"">" & _ - "//<![CDATA[" & vbcrlf & _ - js & vbcrlf & _ - "//]]>" & _ - "</script>" & vbcrlf - end function - - '' - ' Returns the configuration array (global and instance specific settings are merged into one array). - ' - ' @param instanceConfig (Dictionary) The specific configurations to apply to editor instance. - ' @param instanceEvents (Dictionary) Event listeners for editor instance. - ' - private function configSettings() - dim mergedConfig, mergedEvents - set mergedConfig = cloneDictionary(oAllInstancesConfig) - set mergedEvents = cloneDictionary(oAllInstancesEvents) - - if not(isEmpty(oInstanceConfig)) then - set mergedConfig = mergeDictionary(mergedConfig, oInstanceConfig) - end if - - if not(isEmpty(oInstanceEvents)) then - for each eventName in oInstanceEvents - code = oInstanceEvents( eventName ) - - if not(mergedEvents.Exists( eventName)) then - mergedEvents.Add eventName, code - else - - dim listeners, size - listeners = mergedEvents( eventName ) - size = ubound(listeners) - if isArray( code ) then - addedCount = ubound(code) - redim preserve listeners( size + addedCount + 1 ) - for i = 0 to addedCount - listeners(size + i + 1) = code (i) - next - else - size = size + 1 - redim preserve listeners(size) - listeners(size) = code - end if - - mergedEvents( eventName ) = listeners - end if - next - - end if - - dim i, eventName, handlers, configON, ub, code - - if mergedEvents.Count>0 then - if mergedConfig.Exists( "on" ) then - set configON = mergedConfig.items( "on" ) - else - set configON = CreateObject("Scripting.Dictionary") - mergedConfig.Add "on", configOn - end if - - for each eventName in mergedEvents - handlers = mergedEvents( eventName ) - code = "" - - if isArray(handlers) then - uB = ubound(handlers) - if (uB = 0) then - code = handlers(0) - else - code = "function (ev) {" - for i=0 to uB - code = code & "(" & handlers(i) & ")(ev);" - next - code = code & "}" - end if - else - code = handlers - end if - ' Using @@ at the beggining to signal JSON that we don't want this quoted. - configON.Add eventName, "@@" & code - next - -' set mergedConfig.Item("on") = configOn - end if - - set configSettings = mergedConfig - end function - - '' - ' Returns a copy of a scripting.dictionary object - ' - private function cloneDictionary( base ) - dim newOne, tmpKey - - Set newOne = CreateObject("Scripting.Dictionary") - for each tmpKey in base - newOne.Add tmpKey , base( tmpKey ) - next - - set cloneDictionary = newOne - end function - - '' - ' Combines two scripting.dictionary objects - ' The base object isn't modified, and extra gets all the properties in base - ' - private function mergeDictionary(base, extra) - dim newOne, tmpKey - - for each tmpKey in base - if not(extra.Exists( tmpKey )) then - extra.Add tmpKey, base( tmpKey ) - end if - next - - set mergeDictionary = extra - end function - - '' - ' Return global event handlers. - ' - private function returnGlobalEvents() - dim out, eventName, handlers - dim handlersForEvent, handler, code, i - out = "" - - if (isempty(CKEDITOR_returnedEvents)) then - set CKEDITOR_returnedEvents = CreateObject("Scripting.Dictionary") - end if - - for each eventName in oGlobalEvents - handlers = oGlobalEvents( eventName ) - - if not(CKEDITOR_returnedEvents.Exists(eventName)) then - CKEDITOR_returnedEvents.Add eventName, CreateObject("Scripting.Dictionary") - end if - - set handlersForEvent = CKEDITOR_returnedEvents.Item( eventName ) - - ' handlersForEvent is another dictionary - ' and handlers is an array - - for i = 0 to ubound(handlers) - code = handlers( i ) - - ' Return only new events - if not(handlersForEvent.Exists( code )) then - if (out <> "") then out = out & vbcrlf - out = out & "CKEDITOR.on('" & eventName & "', " & code & ");" - handlersForEvent.Add code, code - end if - next - next - - returnGlobalEvents = out - end function - - '' - ' Initializes CKEditor (executed only once). - ' - private function init() - dim out, args, path, extraCode, file - out = "" - - if (CKEDITOR_initComplete) then - init = "" - exit function - end if - - if (initialized) then - CKEDITOR_initComplete = true - init = "" - exit function - end if - - args = "" - path = ckeditorPath() - - if (timestamp <> "") and (timestamp <> "%" & "TIMESTAMP%") then - args = "?t=" & timestamp - end if - - ' Skip relative paths... - if (instr(path, "..") <> 0) then - out = out & script("window.CKEDITOR_BASEPATH='" & path & "';") - end if - - out = out & "<scr" & "ipt type=""text/javascript"" src=""" & path & ckeditorFileName() & args & """></scr" & "ipt>" & vbcrlf - - extraCode = "" - if (timestamp <> mTimeStamp) then - extraCode = extraCode & "CKEDITOR.timestamp = '" & timestamp & "';" - end if - if (extraCode <> "") then - out = out & script(extraCode) - end if - - CKEDITOR_initComplete = true - initialized = true - - init = out - end function - - private function ckeditorFileName() - ckeditorFileName = "ckeditor.js" - end function - - '' - ' Return path to ckeditor.js. - ' - private function ckeditorPath() - if (basePath <> "") then - ckeditorPath = basePath - else - ' In classic ASP we can't get the location of this included script - ckeditorPath = "/ckeditor/" - end if - - ' Try to check if that folder contains the CKEditor files: - ' If it's a full URL avoid checking it as it might point to an external server. - if (instr(ckeditorPath, "://") <> 0) then exit function - - dim filename, oFSO, exists - filename = server.mapPath(basePath & ckeditorFileName()) - set oFSO = Server.CreateObject("Scripting.FileSystemObject") - exists = oFSO.FileExists(filename) - set oFSO = nothing - - if not(exists) then - response.clear - response.write "<h1>CKEditor path validation failed</h1>" - response.write "<p>The path "" & ckeditorPath & "" doesn't include the CKEditor main file (" & ckeditorFileName() & ")</p>" - response.write "<p>Please, verify that you have set it correctly and/or adjust the 'basePath' property</p>" - response.write "<p>Checked for physical file: "" & filename & ""</p>" - response.end - end if - end function - -End Class - - - -' URL: http://www.webdevbros.net/2007/04/26/generate-json-from-asp-datatypes/ -'************************************************************************************************************** -'' @CLASSTITLE: JSON -'' @CREATOR: Michal Gabrukiewicz (gabru at grafix.at), Michael Rebec -'' @CONTRIBUTORS: - Cliff Pruitt (opensource at crayoncowboy.com) -'' - Sylvain Lafontaine -'' - Jef Housein -'' - Jeremy Brown -'' @CREATEDON: 2007-04-26 12:46 -'' @CDESCRIPTION: Comes up with functionality for JSON (http://json.org) to use within ASP. -'' Correct escaping of characters, generating JSON Grammer out of ASP datatypes and structures -'' Some examples (all use the <em>toJSON()</em> method but as it is the class' default method it can be left out): -'' <code> -'' <% -'' 'simple number -'' output = (new JSON)("myNum", 2, false) -'' 'generates {"myNum": 2} -'' -'' 'array with different datatypes -'' output = (new JSON)("anArray", array(2, "x", null), true) -'' 'generates "anArray": [2, "x", null] -'' '(note: the last parameter was true, thus no surrounding brackets in the result) -'' % > -'' </code> -'' @REQUIRES: - -'' @OPTIONEXPLICIT: yes -'' @VERSION: 1.5.1 - -'************************************************************************************************************** -class JSON - - 'private members - private output, innerCall - - '********************************************************************************************************** - '* constructor - '********************************************************************************************************** - public sub class_initialize() - newGeneration() - end sub - - '****************************************************************************************** - '' @SDESCRIPTION: STATIC! takes a given string and makes it JSON valid - '' @DESCRIPTION: all characters which needs to be escaped are beeing replaced by their - '' unicode representation according to the - '' RFC4627#2.5 - http://www.ietf.org/rfc/rfc4627.txt?number=4627 - '' @PARAM: val [string]: value which should be escaped - '' @RETURN: [string] JSON valid string - '****************************************************************************************** - public function escape(val) - dim cDoubleQuote, cRevSolidus, cSolidus - cDoubleQuote = &h22 - cRevSolidus = &h5C - cSolidus = &h2F - dim i, currentDigit - for i = 1 to (len(val)) - currentDigit = mid(val, i, 1) - if ascw(currentDigit) > &h00 and ascw(currentDigit) < &h1F then - currentDigit = escapequence(currentDigit) - elseif ascw(currentDigit) >= &hC280 and ascw(currentDigit) <= &hC2BF then - currentDigit = "\u00" + right(padLeft(hex(ascw(currentDigit) - &hC200), 2, 0), 2) - elseif ascw(currentDigit) >= &hC380 and ascw(currentDigit) <= &hC3BF then - currentDigit = "\u00" + right(padLeft(hex(ascw(currentDigit) - &hC2C0), 2, 0), 2) - else - select case ascw(currentDigit) - case cDoubleQuote: currentDigit = escapequence(currentDigit) - case cRevSolidus: currentDigit = escapequence(currentDigit) - case cSolidus: currentDigit = escapequence(currentDigit) - end select - end if - escape = escape & currentDigit - next - end function - - '****************************************************************************************************************** - '' @SDESCRIPTION: generates a representation of a name value pair in JSON grammer - '' @DESCRIPTION: It generates a name value pair which is represented as <em>{"name": value}</em> in JSON. - '' the generation is fully recursive. Thus the value can also be a complex datatype (array in dictionary, etc.) e.g. - '' <code> - '' <% - '' set j = new JSON - '' j.toJSON "n", array(RS, dict, false), false - '' j.toJSON "n", array(array(), 2, true), false - '' % > - '' </code> - '' @PARAM: name [string]: name of the value (accessible with javascript afterwards). leave empty to get just the value - '' @PARAM: val [variant], [int], [float], [array], [object], [dictionary]: value which needs - '' to be generated. Conversation of the data types is as follows:<br> - '' - <strong>ASP datatype -> JavaScript datatype</strong> - '' - NOTHING, NULL -> null - '' - INT, DOUBLE -> number - '' - STRING -> string - '' - BOOLEAN -> bool - '' - ARRAY -> array - '' - DICTIONARY -> Represents it as name value pairs. Each key is accessible as property afterwards. json will look like <code>"name": {"key1": "some value", "key2": "other value"}</code> - '' - <em>multidimensional array</em> -> Generates a 1-dimensional array (flat) with all values of the multidimensional array - '' - <em>request</em> object -> every property and collection (cookies, form, querystring, etc) of the asp request object is exposed as an item of a dictionary. Property names are <strong>lowercase</strong>. e.g. <em>servervariables</em>. - '' - OBJECT -> name of the type (if unknown type) or all its properties (if class implements <em>reflect()</em> method) - '' Implement a <strong>reflect()</strong> function if you want your custom classes to be recognized. The function must return - '' a dictionary where the key holds the property name and the value its value. Example of a reflect function within a User class which has firstname and lastname properties - '' <code> - '' <% - '' function reflect() - '' . set reflect = server.createObject("scripting.dictionary") - '' . reflect.add "firstname", firstname - '' . reflect.add "lastname", lastname - '' end function - '' % > - '' </code> - '' Example of how to generate a JSON representation of the asp request object and access the <em>HTTP_HOST</em> server variable in JavaScript: - '' <code> - '' <script>alert(<%= (new JSON)(empty, request, false) % >.servervariables.HTTP_HOST);</script> - '' </code> - '' @PARAM: nested [bool]: indicates if the name value pair is already nested within another? if yes then the <em>{}</em> are left out. - '' @RETURN: [string] returns a JSON representation of the given name value pair - '****************************************************************************************************************** - public default function toJSON(name, val, nested) - if not nested and not isEmpty(name) then write("{") - if not isEmpty(name) then write("""" & escape(name) & """: ") - generateValue(val) - if not nested and not isEmpty(name) then write("}") - toJSON = output - - if innerCall = 0 then newGeneration() - end function - - '****************************************************************************************************************** - '* generate - '****************************************************************************************************************** - private function generateValue(val) - if isNull(val) then - write("null") - elseif isArray(val) then - generateArray(val) - elseif isObject(val) then - dim tName : tName = typename(val) - if val is nothing then - write("null") - elseif tName = "Dictionary" or tName = "IRequestDictionary" then - generateDictionary(val) - elseif tName = "IRequest" then - set req = server.createObject("scripting.dictionary") - req.add "clientcertificate", val.ClientCertificate - req.add "cookies", val.cookies - req.add "form", val.form - req.add "querystring", val.queryString - req.add "servervariables", val.serverVariables - req.add "totalbytes", val.totalBytes - generateDictionary(req) - elseif tName = "IStringList" then - if val.count = 1 then - toJSON empty, val(1), true - else - generateArray(val) - end if - else - generateObject(val) - end if - else - 'bool - dim varTyp - varTyp = varType(val) - if varTyp = 11 then - if val then write("true") else write("false") - 'int, long, byte - elseif varTyp = 2 or varTyp = 3 or varTyp = 17 or varTyp = 19 then - write(cLng(val)) - 'single, double, currency - elseif varTyp = 4 or varTyp = 5 or varTyp = 6 or varTyp = 14 then - write(replace(cDbl(val), ",", ".")) - else - ' Using @@ at the beggining to signal JSON that we don't want this quoted. - if left(val, 2) = "@@" then - write( mid( val, 3 ) ) - else - write("""" & escape(val & "") & """") - end if - end if - end if - generateValue = output - end function - - '****************************************************************************************************************** - '* generateArray - '****************************************************************************************************************** - private sub generateArray(val) - dim item, i - write("[") - i = 0 - 'the for each allows us to support also multi dimensional arrays - for each item in val - if i > 0 then write(",") - generateValue(item) - i = i + 1 - next - write("]") - end sub - - '****************************************************************************************************************** - '* generateDictionary - '****************************************************************************************************************** - private sub generateDictionary(val) - innerCall = innerCall + 1 - if val.count = 0 then - toJSON empty, null, true - exit sub - end if - dim key, i - write("{") - i = 0 - for each key in val - if i > 0 then write(",") - toJSON key, val(key), true - i = i + 1 - next - write("}") - innerCall = innerCall - 1 - end sub - - '****************************************************************************************************************** - '* generateObject - '****************************************************************************************************************** - private sub generateObject(val) - dim props - on error resume next - set props = val.reflect() - if err = 0 then - on error goto 0 - innerCall = innerCall + 1 - toJSON empty, props, true - innerCall = innerCall - 1 - else - on error goto 0 - write("""" & escape(typename(val)) & """") - end if - end sub - - '****************************************************************************************************************** - '* newGeneration - '****************************************************************************************************************** - private sub newGeneration() - output = empty - innerCall = 0 - end sub - - '****************************************************************************************** - '* JsonEscapeSquence - '****************************************************************************************** - private function escapequence(digit) - escapequence = "\u00" + right(padLeft(hex(ascw(digit)), 2, 0), 2) - end function - - '****************************************************************************************** - '* padLeft - '****************************************************************************************** - private function padLeft(value, totalLength, paddingChar) - padLeft = right(clone(paddingChar, totalLength) & value, totalLength) - end function - - '****************************************************************************************** - '* clone - '****************************************************************************************** - private function clone(byVal str, n) - dim i - for i = 1 to n : clone = clone & str : next - end function - - '****************************************************************************************** - '* write - '****************************************************************************************** - private sub write(val) - output = output & val - end sub - -end class -%> +<% + ' + ' Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. + ' For licensing, see LICENSE.html or http://ckeditor.com/license + +' Shared variable for all instances ("static") +dim CKEDITOR_initComplete +dim CKEDITOR_returnedEvents + + '' + ' \brief CKEditor class that can be used to create editor + ' instances in ASP pages on server side. + ' @see http://ckeditor.com + ' + ' Sample usage: + ' @code + ' editor = new CKEditor + ' editor.editor "editor1", "<p>Initial value.</p>", empty, empty + ' @endcode + +Class CKEditor + + '' + ' The version of %CKEditor. + private version + + '' + ' A constant string unique for each release of %CKEditor. + private mTimeStamp + + '' + ' URL to the %CKEditor installation directory (absolute or relative to document root). + ' If not set, CKEditor will try to guess it's path. + ' + ' Example usage: + ' @code + ' editor.basePath = "/ckeditor/" + ' @endcode + Public basePath + + '' + ' A boolean variable indicating whether CKEditor has been initialized. + ' Set it to true only if you have already included + ' <script> tag loading ckeditor.js in your website. + Public initialized + + '' + ' Boolean variable indicating whether created code should be printed out or returned by a function. + ' + ' Example 1: get the code creating %CKEditor instance and print it on a page with the "echo" function. + ' @code + ' editor = new CKEditor + ' editor.returnOutput = true + ' code = editor.editor("editor1", "<p>Initial value.</p>", empty, empty) + ' response.write "<p>Editor 1:</p>" + ' response.write code + ' @endcode + Public returnOutput + + '' + ' A Dictionary with textarea attributes. + ' + ' When %CKEditor is created with the editor() method, a HTML <textarea> element is created, + ' it will be displayed to anyone with JavaScript disabled or with incompatible browser. + public textareaAttributes + + '' + ' A string indicating the creation date of %CKEditor. + ' Do not change it unless you want to force browsers to not use previously cached version of %CKEditor. + public timestamp + + '' + ' A dictionary that holds the instance configuration. + private oInstanceConfig + + '' + ' A dictionary that holds the configuration for all the instances. + private oAllInstancesConfig + + '' + ' A dictionary that holds event listeners for the instance. + private oInstanceEvents + + '' + ' A dictionary that holds event listeners for all the instances. + private oAllInstancesEvents + + '' + ' A Dictionary that holds global event listeners (CKEDITOR object) + private oGlobalEvents + + + Private Sub Class_Initialize() + version = "3.6.4" + timeStamp = "C6HH5UF" + mTimeStamp = "C6HH5UF" + + Set oInstanceConfig = CreateObject("Scripting.Dictionary") + Set oAllInstancesConfig = CreateObject("Scripting.Dictionary") + + Set oInstanceEvents = CreateObject("Scripting.Dictionary") + Set oAllInstancesEvents = CreateObject("Scripting.Dictionary") + Set oGlobalEvents = CreateObject("Scripting.Dictionary") + + Set textareaAttributes = CreateObject("Scripting.Dictionary") + textareaAttributes.Add "rows", 8 + textareaAttributes.Add "cols", 60 + End Sub + + '' + ' Creates a %CKEditor instance. + ' In incompatible browsers %CKEditor will downgrade to plain HTML <textarea> element. + ' + ' @param name (string) Name of the %CKEditor instance (this will be also the "name" attribute of textarea element). + ' @param value (string) Initial value. + ' + ' Example usage: + ' @code + ' set editor = New CKEditor + ' editor.editor "field1", "<p>Initial value.</p>" + ' @endcode + ' + ' Advanced example: + ' @code + ' set editor = new CKEditor + ' set config = CreateObject("Scripting.Dictionary") + ' config.Add "toolbar", Array( _ + ' Array( "Source", "-", "Bold", "Italic", "Underline", "Strike" ), _ + ' Array( "Image", "Link", "Unlink", "Anchor" ) _ + ' ) + ' set events = CreateObject("Scripting.Dictionary") + ' events.Add "instanceReady", "function (evt) { alert('Loaded second editor: ' + evt.editor.name );}" + + ' editor.editor "field1", "<p>Initial value.</p>", config, events + ' @endcode + ' + public function editor(name, value) + dim attr, out, js, customConfig, extraConfig + dim attribute + + attr = "" + + for each attribute in textareaAttributes + attr = attr & " " & attribute & "=""" & replace( textareaAttributes( attribute ), """", """ ) & """" + next + + out = "<textarea name=""" & name & """" & attr & ">" & Server.HtmlEncode(value) & "</textarea>" & vbcrlf + + if not(initialized) then + out = out & init() + end if + + set customConfig = configSettings() + js = returnGlobalEvents() + + extraConfig = (new JSON)( empty, customConfig, false ) + if extraConfig<>"" then extraConfig = ", " & extraConfig + js = js & "CKEDITOR.replace('" & name & "'" & extraConfig & ");" + + out = out & script(js) + + if not(returnOutput) then + response.write out + out = "" + end if + + editor = out + + oInstanceConfig.RemoveAll + oInstanceEvents.RemoveAll + end function + + '' + ' Replaces a <textarea> with a %CKEditor instance. + ' + ' @param id (string) The id or name of textarea element. + ' + ' Example 1: adding %CKEditor to <textarea name="article"></textarea> element: + ' @code + ' set editor = New CKEditor + ' editor.replace "article" + ' @endcode + ' + public function replaceInstance(id) + dim out, js, customConfig, extraConfig + + out = "" + if not(initialized) then + out = out & init() + end if + + set customConfig = configSettings() + js = returnGlobalEvents() + + extraConfig = (new JSON)( empty, customConfig, false ) + if extraConfig<>"" then extraConfig = ", " & extraConfig + js = js & "CKEDITOR.replace('" & id & "'" & extraConfig & ");" + + out = out & script(js) + + if not(returnOutput) then + response.write out + out = "" + end if + + replaceInstance = out + + oInstanceConfig.RemoveAll + oInstanceEvents.RemoveAll + end function + + '' + ' Replace all <textarea> elements available in the document with editor instances. + ' + ' @param className (string) If set, replace all textareas with class className in the page. + ' + ' Example 1: replace all <textarea> elements in the page. + ' @code + ' editor = new CKEditor + ' editor.replaceAll empty + ' @endcode + ' + ' Example 2: replace all <textarea class="myClassName"> elements in the page. + ' @code + ' editor = new CKEditor + ' editor.replaceAll 'myClassName' + ' @endcode + ' + function replaceAll(className) + dim out, js, customConfig + + out = "" + if not(initialized) then + out = out & init() + end if + + set customConfig = configSettings() + js = returnGlobalEvents() + + if (customConfig.Count=0) then + if (isEmpty(className)) then + js = js & "CKEDITOR.replaceAll();" + else + js = js & "CKEDITOR.replaceAll('" & className & "');" + end if + else + js = js & "CKEDITOR.replaceAll( function(textarea, config) {\n" + if not(isEmpty(className)) then + js = js & " var classRegex = new RegExp('(?:^| )' + '" & className & "' + '(?:$| )');\n" + js = js & " if (!classRegex.test(textarea.className))\n" + js = js & " return false;\n" + end if + js = js & " CKEDITOR.tools.extend(config, " & (new JSON)( empty, customConfig, false ) & ", true);" + js = js & "} );" + end if + + out = out & script(js) + + if not(returnOutput) then + response.write out + out = "" + end if + + replaceAll = out + + oInstanceConfig.RemoveAll + oInstanceEvents.RemoveAll + end function + + + '' + ' A Dictionary that holds the %CKEditor configuration for all instances + ' For the list of available options, see http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html + ' + ' Example usage: + ' @code + ' editor.config("height") = 400 + ' // Use @@ at the beggining of a string to ouput it without surrounding quotes. + ' editor.config("width") = "@@screen.width * 0.8" + ' @endcode + Public Property Let Config( configKey, configValue ) + oAllInstancesConfig.Add configKey, configValue + End Property + + '' + ' Configuration options for the next instance + ' + Public Property Let instanceConfig( configKey, configValue ) + oInstanceConfig.Add configKey, configValue + End Property + + '' + ' Adds event listener. + ' Events are fired by %CKEditor in various situations. + ' + ' @param eventName (string) Event name. + ' @param javascriptCode (string) Javascript anonymous function or function name. + ' + ' Example usage: + ' @code + ' editor.addEventHandler "instanceReady", "function (ev) { " & _ + ' " alert('Loaded: ' + ev.editor.name); " & _ + ' "}" + ' @endcode + ' + public sub addEventHandler(eventName, javascriptCode) + if not(oAllInstancesEvents.Exists( eventName ) ) then + oAllInstancesEvents.Add eventName, Array() + end if + + dim listeners, size + listeners = oAllInstancesEvents( eventName ) + size = ubound(listeners) + 1 + redim preserve listeners(size) + listeners(size) = javascriptCode + + oAllInstancesEvents( eventName ) = listeners +' '' Avoid duplicates. fixme... +' if (!in_array($javascriptCode, $this->_events[$event])) { +' $this->_events[$event][] = $javascriptCode; +' } + end sub + + '' + ' Clear registered event handlers. + ' Note: this function will have no effect on already created editor instances. + ' + ' @param eventName (string) Event name, if set to 'empty' all event handlers will be removed. + ' + public sub clearEventHandlers( eventName ) + if not(isEmpty( eventName )) then + oAllInstancesEvents.Remove eventName + else + oAllInstancesEvents.RemoveAll + end if + end sub + + + '' + ' Adds event listener only for the next instance. + ' Events are fired by %CKEditor in various situations. + ' + ' @param eventName (string) Event name. + ' @param javascriptCode (string) Javascript anonymous function or function name. + ' + ' Example usage: + ' @code + ' editor.addInstanceEventHandler "instanceReady", "function (ev) { " & _ + ' " alert('Loaded: ' + ev.editor.name); " & _ + ' "}" + ' @endcode + ' + public sub addInstanceEventHandler(eventName, javascriptCode) + if not(oInstanceEvents.Exists( eventName ) ) then + oInstanceEvents.Add eventName, Array() + end if + + dim listeners, size + listeners = oInstanceEvents( eventName ) + size = ubound(listeners) + 1 + redim preserve listeners(size) + listeners(size) = javascriptCode + + oInstanceEvents( eventName ) = listeners +' '' Avoid duplicates. fixme... +' if (!in_array($javascriptCode, $this->_events[$event])) { +' $this->_events[$event][] = $javascriptCode; +' } + end sub + + '' + ' Clear registered event handlers. + ' Note: this function will have no effect on already created editor instances. + ' + ' @param eventName (string) Event name, if set to 'empty' all event handlers will be removed. + ' + public sub clearInstanceEventHandlers( eventName ) + if not(isEmpty( eventName )) then + oInstanceEvents.Remove eventName + else + oInstanceEvents.RemoveAll + end if + end sub + + '' + ' Adds global event listener. + ' + ' @param event (string) Event name. + ' @param javascriptCode (string) Javascript anonymous function or function name. + ' + ' Example usage: + ' @code + ' editor.addGlobalEventHandler "dialogDefinition", "function (ev) { " & _ + ' " alert('Loading dialog: ' + ev.data.name); " & _ + ' "}" + ' @endcode + ' + public sub addGlobalEventHandler( eventName, javascriptCode) + if not(oGlobalEvents.Exists( eventName ) ) then + oGlobalEvents.Add eventName, Array() + end if + + dim listeners, size + listeners = oGlobalEvents( eventName ) + size = ubound(listeners) + 1 + redim preserve listeners(size) + listeners(size) = javascriptCode + + oGlobalEvents( eventName ) = listeners + +' // Avoid duplicates. +' if (!in_array($javascriptCode, $this->_globalEvents[$event])) { +' $this->_globalEvents[$event][] = $javascriptCode; +' } + end sub + + '' + ' Clear registered global event handlers. + ' Note: this function will have no effect if the event handler has been already printed/returned. + ' + ' @param eventName (string) Event name, if set to 'empty' all event handlers will be removed . + ' + public sub clearGlobalEventHandlers( eventName ) + if not(isEmpty( eventName )) then + oGlobalEvents.Remove eventName + else + oGlobalEvents.RemoveAll + end if + end sub + + '' + ' Prints javascript code. + ' + ' @param string js + ' + private function script(js) + script = "<script type=""text/javascript"">" & _ + "//<![CDATA[" & vbcrlf & _ + js & vbcrlf & _ + "//]]>" & _ + "</script>" & vbcrlf + end function + + '' + ' Returns the configuration array (global and instance specific settings are merged into one array). + ' + ' @param instanceConfig (Dictionary) The specific configurations to apply to editor instance. + ' @param instanceEvents (Dictionary) Event listeners for editor instance. + ' + private function configSettings() + dim mergedConfig, mergedEvents + set mergedConfig = cloneDictionary(oAllInstancesConfig) + set mergedEvents = cloneDictionary(oAllInstancesEvents) + + if not(isEmpty(oInstanceConfig)) then + set mergedConfig = mergeDictionary(mergedConfig, oInstanceConfig) + end if + + if not(isEmpty(oInstanceEvents)) then + for each eventName in oInstanceEvents + code = oInstanceEvents( eventName ) + + if not(mergedEvents.Exists( eventName)) then + mergedEvents.Add eventName, code + else + + dim listeners, size + listeners = mergedEvents( eventName ) + size = ubound(listeners) + if isArray( code ) then + addedCount = ubound(code) + redim preserve listeners( size + addedCount + 1 ) + for i = 0 to addedCount + listeners(size + i + 1) = code (i) + next + else + size = size + 1 + redim preserve listeners(size) + listeners(size) = code + end if + + mergedEvents( eventName ) = listeners + end if + next + + end if + + dim i, eventName, handlers, configON, ub, code + + if mergedEvents.Count>0 then + if mergedConfig.Exists( "on" ) then + set configON = mergedConfig.items( "on" ) + else + set configON = CreateObject("Scripting.Dictionary") + mergedConfig.Add "on", configOn + end if + + for each eventName in mergedEvents + handlers = mergedEvents( eventName ) + code = "" + + if isArray(handlers) then + uB = ubound(handlers) + if (uB = 0) then + code = handlers(0) + else + code = "function (ev) {" + for i=0 to uB + code = code & "(" & handlers(i) & ")(ev);" + next + code = code & "}" + end if + else + code = handlers + end if + ' Using @@ at the beggining to signal JSON that we don't want this quoted. + configON.Add eventName, "@@" & code + next + +' set mergedConfig.Item("on") = configOn + end if + + set configSettings = mergedConfig + end function + + '' + ' Returns a copy of a scripting.dictionary object + ' + private function cloneDictionary( base ) + dim newOne, tmpKey + + Set newOne = CreateObject("Scripting.Dictionary") + for each tmpKey in base + newOne.Add tmpKey , base( tmpKey ) + next + + set cloneDictionary = newOne + end function + + '' + ' Combines two scripting.dictionary objects + ' The base object isn't modified, and extra gets all the properties in base + ' + private function mergeDictionary(base, extra) + dim newOne, tmpKey + + for each tmpKey in base + if not(extra.Exists( tmpKey )) then + extra.Add tmpKey, base( tmpKey ) + end if + next + + set mergeDictionary = extra + end function + + '' + ' Return global event handlers. + ' + private function returnGlobalEvents() + dim out, eventName, handlers + dim handlersForEvent, handler, code, i + out = "" + + if (isempty(CKEDITOR_returnedEvents)) then + set CKEDITOR_returnedEvents = CreateObject("Scripting.Dictionary") + end if + + for each eventName in oGlobalEvents + handlers = oGlobalEvents( eventName ) + + if not(CKEDITOR_returnedEvents.Exists(eventName)) then + CKEDITOR_returnedEvents.Add eventName, CreateObject("Scripting.Dictionary") + end if + + set handlersForEvent = CKEDITOR_returnedEvents.Item( eventName ) + + ' handlersForEvent is another dictionary + ' and handlers is an array + + for i = 0 to ubound(handlers) + code = handlers( i ) + + ' Return only new events + if not(handlersForEvent.Exists( code )) then + if (out <> "") then out = out & vbcrlf + out = out & "CKEDITOR.on('" & eventName & "', " & code & ");" + handlersForEvent.Add code, code + end if + next + next + + returnGlobalEvents = out + end function + + '' + ' Initializes CKEditor (executed only once). + ' + private function init() + dim out, args, path, extraCode, file + out = "" + + if (CKEDITOR_initComplete) then + init = "" + exit function + end if + + if (initialized) then + CKEDITOR_initComplete = true + init = "" + exit function + end if + + args = "" + path = ckeditorPath() + + if (timestamp <> "") and (timestamp <> "%" & "TIMESTAMP%") then + args = "?t=" & timestamp + end if + + ' Skip relative paths... + if (instr(path, "..") <> 0) then + out = out & script("window.CKEDITOR_BASEPATH='" & path & "';") + end if + + out = out & "<scr" & "ipt type=""text/javascript"" src=""" & path & ckeditorFileName() & args & """></scr" & "ipt>" & vbcrlf + + extraCode = "" + if (timestamp <> mTimeStamp) then + extraCode = extraCode & "CKEDITOR.timestamp = '" & timestamp & "';" + end if + if (extraCode <> "") then + out = out & script(extraCode) + end if + + CKEDITOR_initComplete = true + initialized = true + + init = out + end function + + private function ckeditorFileName() + ckeditorFileName = "ckeditor.js" + end function + + '' + ' Return path to ckeditor.js. + ' + private function ckeditorPath() + if (basePath <> "") then + ckeditorPath = basePath + else + ' In classic ASP we can't get the location of this included script + ckeditorPath = "/ckeditor/" + end if + + ' Try to check if that folder contains the CKEditor files: + ' If it's a full URL avoid checking it as it might point to an external server. + if (instr(ckeditorPath, "://") <> 0) then exit function + + dim filename, oFSO, exists + filename = server.mapPath(basePath & ckeditorFileName()) + set oFSO = Server.CreateObject("Scripting.FileSystemObject") + exists = oFSO.FileExists(filename) + set oFSO = nothing + + if not(exists) then + response.clear + response.write "<h1>CKEditor path validation failed</h1>" + response.write "<p>The path "" & ckeditorPath & "" doesn't include the CKEditor main file (" & ckeditorFileName() & ")</p>" + response.write "<p>Please, verify that you have set it correctly and/or adjust the 'basePath' property</p>" + response.write "<p>Checked for physical file: "" & filename & ""</p>" + response.end + end if + end function + +End Class + + + +' URL: http://www.webdevbros.net/2007/04/26/generate-json-from-asp-datatypes/ +'************************************************************************************************************** +'' @CLASSTITLE: JSON +'' @CREATOR: Michal Gabrukiewicz (gabru at grafix.at), Michael Rebec +'' @CONTRIBUTORS: - Cliff Pruitt (opensource at crayoncowboy.com) +'' - Sylvain Lafontaine +'' - Jef Housein +'' - Jeremy Brown +'' @CREATEDON: 2007-04-26 12:46 +'' @CDESCRIPTION: Comes up with functionality for JSON (http://json.org) to use within ASP. +'' Correct escaping of characters, generating JSON Grammer out of ASP datatypes and structures +'' Some examples (all use the <em>toJSON()</em> method but as it is the class' default method it can be left out): +'' <code> +'' <% +'' 'simple number +'' output = (new JSON)("myNum", 2, false) +'' 'generates {"myNum": 2} +'' +'' 'array with different datatypes +'' output = (new JSON)("anArray", array(2, "x", null), true) +'' 'generates "anArray": [2, "x", null] +'' '(note: the last parameter was true, thus no surrounding brackets in the result) +'' % > +'' </code> +'' @REQUIRES: - +'' @OPTIONEXPLICIT: yes +'' @VERSION: 1.5.1 + +'************************************************************************************************************** +class JSON + + 'private members + private output, innerCall + + '********************************************************************************************************** + '* constructor + '********************************************************************************************************** + public sub class_initialize() + newGeneration() + end sub + + '****************************************************************************************** + '' @SDESCRIPTION: STATIC! takes a given string and makes it JSON valid + '' @DESCRIPTION: all characters which needs to be escaped are beeing replaced by their + '' unicode representation according to the + '' RFC4627#2.5 - http://www.ietf.org/rfc/rfc4627.txt?number=4627 + '' @PARAM: val [string]: value which should be escaped + '' @RETURN: [string] JSON valid string + '****************************************************************************************** + public function escape(val) + dim cDoubleQuote, cRevSolidus, cSolidus + cDoubleQuote = &h22 + cRevSolidus = &h5C + cSolidus = &h2F + dim i, currentDigit + for i = 1 to (len(val)) + currentDigit = mid(val, i, 1) + if ascw(currentDigit) > &h00 and ascw(currentDigit) < &h1F then + currentDigit = escapequence(currentDigit) + elseif ascw(currentDigit) >= &hC280 and ascw(currentDigit) <= &hC2BF then + currentDigit = "\u00" + right(padLeft(hex(ascw(currentDigit) - &hC200), 2, 0), 2) + elseif ascw(currentDigit) >= &hC380 and ascw(currentDigit) <= &hC3BF then + currentDigit = "\u00" + right(padLeft(hex(ascw(currentDigit) - &hC2C0), 2, 0), 2) + else + select case ascw(currentDigit) + case cDoubleQuote: currentDigit = escapequence(currentDigit) + case cRevSolidus: currentDigit = escapequence(currentDigit) + case cSolidus: currentDigit = escapequence(currentDigit) + end select + end if + escape = escape & currentDigit + next + end function + + '****************************************************************************************************************** + '' @SDESCRIPTION: generates a representation of a name value pair in JSON grammer + '' @DESCRIPTION: It generates a name value pair which is represented as <em>{"name": value}</em> in JSON. + '' the generation is fully recursive. Thus the value can also be a complex datatype (array in dictionary, etc.) e.g. + '' <code> + '' <% + '' set j = new JSON + '' j.toJSON "n", array(RS, dict, false), false + '' j.toJSON "n", array(array(), 2, true), false + '' % > + '' </code> + '' @PARAM: name [string]: name of the value (accessible with javascript afterwards). leave empty to get just the value + '' @PARAM: val [variant], [int], [float], [array], [object], [dictionary]: value which needs + '' to be generated. Conversation of the data types is as follows:<br> + '' - <strong>ASP datatype -> JavaScript datatype</strong> + '' - NOTHING, NULL -> null + '' - INT, DOUBLE -> number + '' - STRING -> string + '' - BOOLEAN -> bool + '' - ARRAY -> array + '' - DICTIONARY -> Represents it as name value pairs. Each key is accessible as property afterwards. json will look like <code>"name": {"key1": "some value", "key2": "other value"}</code> + '' - <em>multidimensional array</em> -> Generates a 1-dimensional array (flat) with all values of the multidimensional array + '' - <em>request</em> object -> every property and collection (cookies, form, querystring, etc) of the asp request object is exposed as an item of a dictionary. Property names are <strong>lowercase</strong>. e.g. <em>servervariables</em>. + '' - OBJECT -> name of the type (if unknown type) or all its properties (if class implements <em>reflect()</em> method) + '' Implement a <strong>reflect()</strong> function if you want your custom classes to be recognized. The function must return + '' a dictionary where the key holds the property name and the value its value. Example of a reflect function within a User class which has firstname and lastname properties + '' <code> + '' <% + '' function reflect() + '' . set reflect = server.createObject("scripting.dictionary") + '' . reflect.add "firstname", firstname + '' . reflect.add "lastname", lastname + '' end function + '' % > + '' </code> + '' Example of how to generate a JSON representation of the asp request object and access the <em>HTTP_HOST</em> server variable in JavaScript: + '' <code> + '' <script>alert(<%= (new JSON)(empty, request, false) % >.servervariables.HTTP_HOST);</script> + '' </code> + '' @PARAM: nested [bool]: indicates if the name value pair is already nested within another? if yes then the <em>{}</em> are left out. + '' @RETURN: [string] returns a JSON representation of the given name value pair + '****************************************************************************************************************** + public default function toJSON(name, val, nested) + if not nested and not isEmpty(name) then write("{") + if not isEmpty(name) then write("""" & escape(name) & """: ") + generateValue(val) + if not nested and not isEmpty(name) then write("}") + toJSON = output + + if innerCall = 0 then newGeneration() + end function + + '****************************************************************************************************************** + '* generate + '****************************************************************************************************************** + private function generateValue(val) + if isNull(val) then + write("null") + elseif isArray(val) then + generateArray(val) + elseif isObject(val) then + dim tName : tName = typename(val) + if val is nothing then + write("null") + elseif tName = "Dictionary" or tName = "IRequestDictionary" then + generateDictionary(val) + elseif tName = "IRequest" then + set req = server.createObject("scripting.dictionary") + req.add "clientcertificate", val.ClientCertificate + req.add "cookies", val.cookies + req.add "form", val.form + req.add "querystring", val.queryString + req.add "servervariables", val.serverVariables + req.add "totalbytes", val.totalBytes + generateDictionary(req) + elseif tName = "IStringList" then + if val.count = 1 then + toJSON empty, val(1), true + else + generateArray(val) + end if + else + generateObject(val) + end if + else + 'bool + dim varTyp + varTyp = varType(val) + if varTyp = 11 then + if val then write("true") else write("false") + 'int, long, byte + elseif varTyp = 2 or varTyp = 3 or varTyp = 17 or varTyp = 19 then + write(cLng(val)) + 'single, double, currency + elseif varTyp = 4 or varTyp = 5 or varTyp = 6 or varTyp = 14 then + write(replace(cDbl(val), ",", ".")) + else + ' Using @@ at the beggining to signal JSON that we don't want this quoted. + if left(val, 2) = "@@" then + write( mid( val, 3 ) ) + else + write("""" & escape(val & "") & """") + end if + end if + end if + generateValue = output + end function + + '****************************************************************************************************************** + '* generateArray + '****************************************************************************************************************** + private sub generateArray(val) + dim item, i + write("[") + i = 0 + 'the for each allows us to support also multi dimensional arrays + for each item in val + if i > 0 then write(",") + generateValue(item) + i = i + 1 + next + write("]") + end sub + + '****************************************************************************************************************** + '* generateDictionary + '****************************************************************************************************************** + private sub generateDictionary(val) + innerCall = innerCall + 1 + if val.count = 0 then + toJSON empty, null, true + exit sub + end if + dim key, i + write("{") + i = 0 + for each key in val + if i > 0 then write(",") + toJSON key, val(key), true + i = i + 1 + next + write("}") + innerCall = innerCall - 1 + end sub + + '****************************************************************************************************************** + '* generateObject + '****************************************************************************************************************** + private sub generateObject(val) + dim props + on error resume next + set props = val.reflect() + if err = 0 then + on error goto 0 + innerCall = innerCall + 1 + toJSON empty, props, true + innerCall = innerCall - 1 + else + on error goto 0 + write("""" & escape(typename(val)) & """") + end if + end sub + + '****************************************************************************************************************** + '* newGeneration + '****************************************************************************************************************** + private sub newGeneration() + output = empty + innerCall = 0 + end sub + + '****************************************************************************************** + '* JsonEscapeSquence + '****************************************************************************************** + private function escapequence(digit) + escapequence = "\u00" + right(padLeft(hex(ascw(digit)), 2, 0), 2) + end function + + '****************************************************************************************** + '* padLeft + '****************************************************************************************** + private function padLeft(value, totalLength, paddingChar) + padLeft = right(clone(paddingChar, totalLength) & value, totalLength) + end function + + '****************************************************************************************** + '* clone + '****************************************************************************************** + private function clone(byVal str, n) + dim i + for i = 1 to n : clone = clone & str : next + end function + + '****************************************************************************************** + '* write + '****************************************************************************************** + private sub write(val) + output = output & val + end sub + +end class +%> diff --git a/htdocs/includes/ckeditor/ckeditor.pack b/htdocs/includes/ckeditor/ckeditor.pack index fb9f5bdc4561367e046f69c97aa97c6ee126fd3c..71be7bb4c07b1b04999bba6b3be1da86bc8b76cc 100644 --- a/htdocs/includes/ckeditor/ckeditor.pack +++ b/htdocs/includes/ckeditor/ckeditor.pack @@ -1,211 +1,211 @@ -/* - * CKPackager - Sample Package file - */ - -header : - '/*' + '\n' + - 'Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.' + '\n' + - 'For licensing, see LICENSE.html or http://ckeditor.com/license' + '\n' + - '*/' + '\n' + - '\n', - -noCheck : false, - -constants : - { - 'CKEDITOR.ELEMENT_MODE_NONE' : 0, - 'CKEDITOR.ELEMENT_MODE_REPLACE' : 1, - 'CKEDITOR.ELEMENT_MODE_APPENDTO' : 2, - 'CKEDITOR.CTRL' : 0x110000, - 'CKEDITOR.SHIFT' : 0x220000, - 'CKEDITOR.ALT' : 0x440000, - 'CKEDITOR.NODE_ELEMENT' : 1, - 'CKEDITOR.NODE_DOCUMENT' : 9, - 'CKEDITOR.NODE_TEXT' : 3, - 'CKEDITOR.NODE_COMMENT' : 8, - 'CKEDITOR.NODE_DOCUMENT_FRAGMENT' : 11, - 'CKEDITOR.POSITION_IDENTICAL' : 0, - 'CKEDITOR.POSITION_DISCONNECTED' : 1, - 'CKEDITOR.POSITION_FOLLOWING' : 2, - 'CKEDITOR.POSITION_PRECEDING' : 4, - 'CKEDITOR.POSITION_IS_CONTAINED' : 8, - 'CKEDITOR.POSITION_CONTAINS' : 16, - 'CKEDITOR.ENTER_P' : 1, - 'CKEDITOR.ENTER_BR' : 2, - 'CKEDITOR.ENTER_DIV' : 3, - 'CKEDITOR.TRISTATE_ON' : 1, - 'CKEDITOR.TRISTATE_OFF' : 2, - 'CKEDITOR.TRISTATE_DISABLED' : 0, - 'CKEDITOR.POSITION_AFTER_START' : 1, - 'CKEDITOR.POSITION_BEFORE_END' : 2, - 'CKEDITOR.POSITION_BEFORE_START' : 3, - 'CKEDITOR.POSITION_AFTER_END' : 4, - 'CKEDITOR.ENLARGE_ELEMENT' : 1, - 'CKEDITOR.ENLARGE_BLOCK_CONTENTS' : 2, - 'CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS' : 3, - 'CKEDITOR.START' : 1, - 'CKEDITOR.END' : 2, - 'CKEDITOR.STARTEND' : 3, - 'CKEDITOR.SHRINK_ELEMENT' : 1, - 'CKEDITOR.SHRINK_TEXT' : 2, - 'CKEDITOR.UI_BUTTON' : '\'button\'', - 'CKEDITOR.DIALOG_RESIZE_NONE' : 0, - 'CKEDITOR.DIALOG_RESIZE_WIDTH' : 1, - 'CKEDITOR.DIALOG_RESIZE_HEIGHT' : 2, - 'CKEDITOR.DIALOG_RESIZE_BOTH' : 3, - 'CKEDITOR.VALIDATE_OR' : 1, - 'CKEDITOR.VALIDATE_AND' : 2, - 'CKEDITOR.STYLE_BLOCK' : 1, - 'CKEDITOR.STYLE_INLINE' : 2, - 'CKEDITOR.STYLE_OBJECT' : 3, - 'CKEDITOR.UI_PANELBUTTON' : '\'panelbutton\'', - 'CKEDITOR.SELECTION_NONE' : 1, - 'CKEDITOR.SELECTION_TEXT' : 2, - 'CKEDITOR.SELECTION_ELEMENT' : 3, - 'CKEDITOR.UI_RICHCOMBO' : '\'richcombo\'', - 'CKEDITOR.UI_MENUBUTTON' : '\'menubutton\'', - 'CKEDITOR.UI_PANEL' : '\'panel\'' - }, - -packages : - [ - { - output : 'ckeditor_basic.js', - wrap : true, - files : - [ - '_source/core/ckeditor_base.js', - '_source/core/event.js', - '_source/core/editor_basic.js', - '_source/core/env.js', - '_source/core/ckeditor_basic.js' - ] - }, - - { - output : 'ckeditor.js', - wrap : true, - files : - [ - '_source/core/ckeditor_base.js', - '_source/core/event.js', - '_source/core/editor_basic.js', - '_source/core/env.js', - '_source/core/ckeditor_basic.js', - '_source/core/dom.js', - '_source/core/tools.js', - '_source/core/dtd.js', - '_source/core/dom/event.js', - '_source/core/dom/domobject.js', - '_source/core/dom/window.js', - '_source/core/dom/document.js', - '_source/core/dom/node.js', - '_source/core/dom/nodelist.js', - '_source/core/dom/element.js', - '_source/core/command.js', - '_source/core/config.js', - '_source/core/focusmanager.js', - '_source/core/lang.js', - '_source/core/scriptloader.js', - '_source/core/resourcemanager.js', - '_source/core/plugins.js', - '_source/core/skins.js', - '_source/core/themes.js', - '_source/core/ui.js', - '_source/core/editor.js', - '_source/core/htmlparser.js', - '_source/core/htmlparser/comment.js', - '_source/core/htmlparser/text.js', - '_source/core/htmlparser/cdata.js', - '_source/core/htmlparser/fragment.js', - '_source/core/htmlparser/element.js', - '_source/core/htmlparser/filter.js', - '_source/core/htmlparser/basicwriter.js', - '_source/core/ckeditor.js', - '_source/core/dom/comment.js', - '_source/core/dom/elementpath.js', - '_source/core/dom/text.js', - '_source/core/dom/documentfragment.js', - '_source/core/dom/walker.js', - '_source/core/dom/range.js', - '_source/core/dom/rangelist.js', - '_source/core/_bootstrap.js', - '_source/skins/kama/skin.js', -// '_source/lang/en.js', - '_source/plugins/about/plugin.js', - '_source/plugins/a11yhelp/plugin.js', - '_source/plugins/basicstyles/plugin.js', - '_source/plugins/bidi/plugin.js', - '_source/plugins/blockquote/plugin.js', - '_source/plugins/button/plugin.js', - '_source/plugins/clipboard/plugin.js', - '_source/plugins/colorbutton/plugin.js', - '_source/plugins/colordialog/plugin.js', - '_source/plugins/contextmenu/plugin.js', - '_source/plugins/dialogadvtab/plugin.js', - '_source/plugins/div/plugin.js', - '_source/plugins/elementspath/plugin.js', - '_source/plugins/enterkey/plugin.js', - '_source/plugins/entities/plugin.js', - '_source/plugins/filebrowser/plugin.js', - '_source/plugins/find/plugin.js', - '_source/plugins/flash/plugin.js', - '_source/plugins/font/plugin.js', - '_source/plugins/format/plugin.js', - '_source/plugins/forms/plugin.js', - '_source/plugins/horizontalrule/plugin.js', - '_source/plugins/htmldataprocessor/plugin.js', - '_source/plugins/iframe/plugin.js', - '_source/plugins/image/plugin.js', - '_source/plugins/indent/plugin.js', - '_source/plugins/justify/plugin.js', - '_source/plugins/keystrokes/plugin.js', - '_source/plugins/link/plugin.js', - '_source/plugins/list/plugin.js', - '_source/plugins/liststyle/plugin.js', - '_source/plugins/maximize/plugin.js', - '_source/plugins/newpage/plugin.js', - '_source/plugins/pagebreak/plugin.js', - '_source/plugins/pastefromword/plugin.js', - '_source/plugins/pastetext/plugin.js', - '_source/plugins/popup/plugin.js', - '_source/plugins/preview/plugin.js', - '_source/plugins/print/plugin.js', - '_source/plugins/removeformat/plugin.js', - '_source/plugins/resize/plugin.js', - '_source/plugins/save/plugin.js', - '_source/plugins/scayt/plugin.js', - '_source/plugins/smiley/plugin.js', - '_source/plugins/showblocks/plugin.js', - '_source/plugins/showborders/plugin.js', - '_source/plugins/sourcearea/plugin.js', - '_source/plugins/stylescombo/plugin.js', - '_source/plugins/table/plugin.js', - '_source/plugins/tabletools/plugin.js', - '_source/plugins/specialchar/plugin.js', - '_source/plugins/tab/plugin.js', - '_source/plugins/templates/plugin.js', - '_source/plugins/toolbar/plugin.js', - '_source/plugins/undo/plugin.js', - '_source/plugins/wysiwygarea/plugin.js', - '_source/plugins/wsc/plugin.js', - '_source/plugins/dialog/plugin.js', - '_source/plugins/styles/plugin.js', - '_source/plugins/domiterator/plugin.js', - '_source/plugins/panelbutton/plugin.js', - '_source/plugins/floatpanel/plugin.js', - '_source/plugins/menu/plugin.js', - '_source/plugins/editingblock/plugin.js', - '_source/plugins/selection/plugin.js', - '_source/plugins/fakeobjects/plugin.js', - '_source/plugins/richcombo/plugin.js', - '_source/plugins/htmlwriter/plugin.js', - '_source/plugins/menubutton/plugin.js', - '_source/plugins/dialogui/plugin.js', - '_source/plugins/panel/plugin.js', - '_source/plugins/listblock/plugin.js', - '_source/themes/default/theme.js' - ] - } - - ] +/* + * CKPackager - Sample Package file + */ + +header : + '/*' + '\n' + + 'Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.' + '\n' + + 'For licensing, see LICENSE.html or http://ckeditor.com/license' + '\n' + + '*/' + '\n' + + '\n', + +noCheck : false, + +constants : + { + 'CKEDITOR.ELEMENT_MODE_NONE' : 0, + 'CKEDITOR.ELEMENT_MODE_REPLACE' : 1, + 'CKEDITOR.ELEMENT_MODE_APPENDTO' : 2, + 'CKEDITOR.CTRL' : 0x110000, + 'CKEDITOR.SHIFT' : 0x220000, + 'CKEDITOR.ALT' : 0x440000, + 'CKEDITOR.NODE_ELEMENT' : 1, + 'CKEDITOR.NODE_DOCUMENT' : 9, + 'CKEDITOR.NODE_TEXT' : 3, + 'CKEDITOR.NODE_COMMENT' : 8, + 'CKEDITOR.NODE_DOCUMENT_FRAGMENT' : 11, + 'CKEDITOR.POSITION_IDENTICAL' : 0, + 'CKEDITOR.POSITION_DISCONNECTED' : 1, + 'CKEDITOR.POSITION_FOLLOWING' : 2, + 'CKEDITOR.POSITION_PRECEDING' : 4, + 'CKEDITOR.POSITION_IS_CONTAINED' : 8, + 'CKEDITOR.POSITION_CONTAINS' : 16, + 'CKEDITOR.ENTER_P' : 1, + 'CKEDITOR.ENTER_BR' : 2, + 'CKEDITOR.ENTER_DIV' : 3, + 'CKEDITOR.TRISTATE_ON' : 1, + 'CKEDITOR.TRISTATE_OFF' : 2, + 'CKEDITOR.TRISTATE_DISABLED' : 0, + 'CKEDITOR.POSITION_AFTER_START' : 1, + 'CKEDITOR.POSITION_BEFORE_END' : 2, + 'CKEDITOR.POSITION_BEFORE_START' : 3, + 'CKEDITOR.POSITION_AFTER_END' : 4, + 'CKEDITOR.ENLARGE_ELEMENT' : 1, + 'CKEDITOR.ENLARGE_BLOCK_CONTENTS' : 2, + 'CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS' : 3, + 'CKEDITOR.START' : 1, + 'CKEDITOR.END' : 2, + 'CKEDITOR.STARTEND' : 3, + 'CKEDITOR.SHRINK_ELEMENT' : 1, + 'CKEDITOR.SHRINK_TEXT' : 2, + 'CKEDITOR.UI_BUTTON' : '\'button\'', + 'CKEDITOR.DIALOG_RESIZE_NONE' : 0, + 'CKEDITOR.DIALOG_RESIZE_WIDTH' : 1, + 'CKEDITOR.DIALOG_RESIZE_HEIGHT' : 2, + 'CKEDITOR.DIALOG_RESIZE_BOTH' : 3, + 'CKEDITOR.VALIDATE_OR' : 1, + 'CKEDITOR.VALIDATE_AND' : 2, + 'CKEDITOR.STYLE_BLOCK' : 1, + 'CKEDITOR.STYLE_INLINE' : 2, + 'CKEDITOR.STYLE_OBJECT' : 3, + 'CKEDITOR.UI_PANELBUTTON' : '\'panelbutton\'', + 'CKEDITOR.SELECTION_NONE' : 1, + 'CKEDITOR.SELECTION_TEXT' : 2, + 'CKEDITOR.SELECTION_ELEMENT' : 3, + 'CKEDITOR.UI_RICHCOMBO' : '\'richcombo\'', + 'CKEDITOR.UI_MENUBUTTON' : '\'menubutton\'', + 'CKEDITOR.UI_PANEL' : '\'panel\'' + }, + +packages : + [ + { + output : 'ckeditor_basic.js', + wrap : true, + files : + [ + '_source/core/ckeditor_base.js', + '_source/core/event.js', + '_source/core/editor_basic.js', + '_source/core/env.js', + '_source/core/ckeditor_basic.js' + ] + }, + + { + output : 'ckeditor.js', + wrap : true, + files : + [ + '_source/core/ckeditor_base.js', + '_source/core/event.js', + '_source/core/editor_basic.js', + '_source/core/env.js', + '_source/core/ckeditor_basic.js', + '_source/core/dom.js', + '_source/core/tools.js', + '_source/core/dtd.js', + '_source/core/dom/event.js', + '_source/core/dom/domobject.js', + '_source/core/dom/window.js', + '_source/core/dom/document.js', + '_source/core/dom/node.js', + '_source/core/dom/nodelist.js', + '_source/core/dom/element.js', + '_source/core/command.js', + '_source/core/config.js', + '_source/core/focusmanager.js', + '_source/core/lang.js', + '_source/core/scriptloader.js', + '_source/core/resourcemanager.js', + '_source/core/plugins.js', + '_source/core/skins.js', + '_source/core/themes.js', + '_source/core/ui.js', + '_source/core/editor.js', + '_source/core/htmlparser.js', + '_source/core/htmlparser/comment.js', + '_source/core/htmlparser/text.js', + '_source/core/htmlparser/cdata.js', + '_source/core/htmlparser/fragment.js', + '_source/core/htmlparser/element.js', + '_source/core/htmlparser/filter.js', + '_source/core/htmlparser/basicwriter.js', + '_source/core/ckeditor.js', + '_source/core/dom/comment.js', + '_source/core/dom/elementpath.js', + '_source/core/dom/text.js', + '_source/core/dom/documentfragment.js', + '_source/core/dom/walker.js', + '_source/core/dom/range.js', + '_source/core/dom/rangelist.js', + '_source/core/_bootstrap.js', + '_source/skins/kama/skin.js', +// '_source/lang/en.js', + '_source/plugins/about/plugin.js', + '_source/plugins/a11yhelp/plugin.js', + '_source/plugins/basicstyles/plugin.js', + '_source/plugins/bidi/plugin.js', + '_source/plugins/blockquote/plugin.js', + '_source/plugins/button/plugin.js', + '_source/plugins/clipboard/plugin.js', + '_source/plugins/colorbutton/plugin.js', + '_source/plugins/colordialog/plugin.js', + '_source/plugins/contextmenu/plugin.js', + '_source/plugins/dialogadvtab/plugin.js', + '_source/plugins/div/plugin.js', + '_source/plugins/elementspath/plugin.js', + '_source/plugins/enterkey/plugin.js', + '_source/plugins/entities/plugin.js', + '_source/plugins/filebrowser/plugin.js', + '_source/plugins/find/plugin.js', + '_source/plugins/flash/plugin.js', + '_source/plugins/font/plugin.js', + '_source/plugins/format/plugin.js', + '_source/plugins/forms/plugin.js', + '_source/plugins/horizontalrule/plugin.js', + '_source/plugins/htmldataprocessor/plugin.js', + '_source/plugins/iframe/plugin.js', + '_source/plugins/image/plugin.js', + '_source/plugins/indent/plugin.js', + '_source/plugins/justify/plugin.js', + '_source/plugins/keystrokes/plugin.js', + '_source/plugins/link/plugin.js', + '_source/plugins/list/plugin.js', + '_source/plugins/liststyle/plugin.js', + '_source/plugins/maximize/plugin.js', + '_source/plugins/newpage/plugin.js', + '_source/plugins/pagebreak/plugin.js', + '_source/plugins/pastefromword/plugin.js', + '_source/plugins/pastetext/plugin.js', + '_source/plugins/popup/plugin.js', + '_source/plugins/preview/plugin.js', + '_source/plugins/print/plugin.js', + '_source/plugins/removeformat/plugin.js', + '_source/plugins/resize/plugin.js', + '_source/plugins/save/plugin.js', + '_source/plugins/scayt/plugin.js', + '_source/plugins/smiley/plugin.js', + '_source/plugins/showblocks/plugin.js', + '_source/plugins/showborders/plugin.js', + '_source/plugins/sourcearea/plugin.js', + '_source/plugins/stylescombo/plugin.js', + '_source/plugins/table/plugin.js', + '_source/plugins/tabletools/plugin.js', + '_source/plugins/specialchar/plugin.js', + '_source/plugins/tab/plugin.js', + '_source/plugins/templates/plugin.js', + '_source/plugins/toolbar/plugin.js', + '_source/plugins/undo/plugin.js', + '_source/plugins/wysiwygarea/plugin.js', + '_source/plugins/wsc/plugin.js', + '_source/plugins/dialog/plugin.js', + '_source/plugins/styles/plugin.js', + '_source/plugins/domiterator/plugin.js', + '_source/plugins/panelbutton/plugin.js', + '_source/plugins/floatpanel/plugin.js', + '_source/plugins/menu/plugin.js', + '_source/plugins/editingblock/plugin.js', + '_source/plugins/selection/plugin.js', + '_source/plugins/fakeobjects/plugin.js', + '_source/plugins/richcombo/plugin.js', + '_source/plugins/htmlwriter/plugin.js', + '_source/plugins/menubutton/plugin.js', + '_source/plugins/dialogui/plugin.js', + '_source/plugins/panel/plugin.js', + '_source/plugins/listblock/plugin.js', + '_source/themes/default/theme.js' + ] + } + + ] diff --git a/htdocs/includes/ckeditor/lang/_translationstatus.txt b/htdocs/includes/ckeditor/lang/_translationstatus.txt index 467a73331e0a8ba6fcdc8cf2181abaef5d547fcd..4a7c03366f154bcd7ff363e2473c5772fc5c6e35 100644 --- a/htdocs/includes/ckeditor/lang/_translationstatus.txt +++ b/htdocs/includes/ckeditor/lang/_translationstatus.txt @@ -1,64 +1,64 @@ -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license - -af.js Found: 548 Missing: 29 -ar.js Found: 470 Missing: 107 -bg.js Found: 394 Missing: 183 -bn.js Found: 292 Missing: 285 -bs.js Found: 175 Missing: 402 -ca.js Found: 549 Missing: 28 -cs.js Found: 577 Missing: 0 -cy.js Found: 575 Missing: 2 -da.js Found: 575 Missing: 2 -de.js Found: 575 Missing: 2 -el.js Found: 391 Missing: 186 -en-au.js Found: 347 Missing: 230 -en-ca.js Found: 345 Missing: 232 -en-gb.js Found: 517 Missing: 60 -eo.js Found: 577 Missing: 0 -es.js Found: 575 Missing: 2 -et.js Found: 577 Missing: 0 -eu.js Found: 417 Missing: 160 -fa.js Found: 575 Missing: 2 -fi.js Found: 575 Missing: 2 -fo.js Found: 575 Missing: 2 -fr-ca.js Found: 319 Missing: 258 -fr.js Found: 575 Missing: 2 -gl.js Found: 292 Missing: 285 -gu.js Found: 575 Missing: 2 -he.js Found: 575 Missing: 2 -hi.js Found: 327 Missing: 250 -hr.js Found: 575 Missing: 2 -hu.js Found: 572 Missing: 5 -id.js Found: 1 Missing: 576 -is.js Found: 326 Missing: 251 -it.js Found: 577 Missing: 0 -ja.js Found: 493 Missing: 84 -ka.js Found: 568 Missing: 9 -km.js Found: 286 Missing: 291 -ko.js Found: 304 Missing: 273 -lt.js Found: 575 Missing: 2 -lv.js Found: 294 Missing: 283 -mk.js Found: 0 Missing: 577 -mn.js Found: 320 Missing: 257 -ms.js Found: 276 Missing: 301 -nb.js Found: 577 Missing: 0 -nl.js Found: 575 Missing: 2 -no.js Found: 577 Missing: 0 -pl.js Found: 575 Missing: 2 -pt-br.js Found: 577 Missing: 0 -pt.js Found: 326 Missing: 251 -ro.js Found: 432 Missing: 145 -ru.js Found: 575 Missing: 2 -sk.js Found: 364 Missing: 213 -sl.js Found: 426 Missing: 151 -sr-latn.js Found: 287 Missing: 290 -sr.js Found: 286 Missing: 291 -sv.js Found: 550 Missing: 27 -th.js Found: 298 Missing: 279 -tr.js Found: 575 Missing: 2 -ug.js Found: 572 Missing: 5 -uk.js Found: 575 Missing: 2 -vi.js Found: 577 Missing: 0 -zh-cn.js Found: 577 Missing: 0 -zh.js Found: 433 Missing: 144 +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +af.js Found: 548 Missing: 29 +ar.js Found: 470 Missing: 107 +bg.js Found: 394 Missing: 183 +bn.js Found: 292 Missing: 285 +bs.js Found: 175 Missing: 402 +ca.js Found: 549 Missing: 28 +cs.js Found: 577 Missing: 0 +cy.js Found: 575 Missing: 2 +da.js Found: 575 Missing: 2 +de.js Found: 575 Missing: 2 +el.js Found: 391 Missing: 186 +en-au.js Found: 347 Missing: 230 +en-ca.js Found: 345 Missing: 232 +en-gb.js Found: 517 Missing: 60 +eo.js Found: 577 Missing: 0 +es.js Found: 575 Missing: 2 +et.js Found: 577 Missing: 0 +eu.js Found: 417 Missing: 160 +fa.js Found: 575 Missing: 2 +fi.js Found: 575 Missing: 2 +fo.js Found: 575 Missing: 2 +fr-ca.js Found: 319 Missing: 258 +fr.js Found: 575 Missing: 2 +gl.js Found: 292 Missing: 285 +gu.js Found: 575 Missing: 2 +he.js Found: 575 Missing: 2 +hi.js Found: 327 Missing: 250 +hr.js Found: 575 Missing: 2 +hu.js Found: 572 Missing: 5 +id.js Found: 1 Missing: 576 +is.js Found: 326 Missing: 251 +it.js Found: 577 Missing: 0 +ja.js Found: 493 Missing: 84 +ka.js Found: 568 Missing: 9 +km.js Found: 286 Missing: 291 +ko.js Found: 304 Missing: 273 +lt.js Found: 575 Missing: 2 +lv.js Found: 294 Missing: 283 +mk.js Found: 0 Missing: 577 +mn.js Found: 320 Missing: 257 +ms.js Found: 276 Missing: 301 +nb.js Found: 577 Missing: 0 +nl.js Found: 575 Missing: 2 +no.js Found: 577 Missing: 0 +pl.js Found: 575 Missing: 2 +pt-br.js Found: 577 Missing: 0 +pt.js Found: 326 Missing: 251 +ro.js Found: 432 Missing: 145 +ru.js Found: 575 Missing: 2 +sk.js Found: 364 Missing: 213 +sl.js Found: 426 Missing: 151 +sr-latn.js Found: 287 Missing: 290 +sr.js Found: 286 Missing: 291 +sv.js Found: 550 Missing: 27 +th.js Found: 298 Missing: 279 +tr.js Found: 575 Missing: 2 +ug.js Found: 572 Missing: 5 +uk.js Found: 575 Missing: 2 +vi.js Found: 577 Missing: 0 +zh-cn.js Found: 577 Missing: 0 +zh.js Found: 433 Missing: 144 diff --git a/htdocs/includes/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt b/htdocs/includes/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt index 7a490f98ecab86413112dc80cbb3fb9a0855d64a..e9545d225575859b6ef11bc6969353998e7f6241 100644 --- a/htdocs/includes/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt +++ b/htdocs/includes/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt @@ -1,25 +1,25 @@ -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license - -cs.js Found: 30 Missing: 0 -cy.js Found: 30 Missing: 0 -da.js Found: 12 Missing: 18 -de.js Found: 30 Missing: 0 -el.js Found: 25 Missing: 5 -eo.js Found: 30 Missing: 0 -fa.js Found: 30 Missing: 0 -fi.js Found: 30 Missing: 0 -fr.js Found: 30 Missing: 0 -gu.js Found: 12 Missing: 18 -he.js Found: 30 Missing: 0 -it.js Found: 30 Missing: 0 -mk.js Found: 5 Missing: 25 -nb.js Found: 30 Missing: 0 -nl.js Found: 30 Missing: 0 -no.js Found: 30 Missing: 0 -pt-br.js Found: 30 Missing: 0 -ro.js Found: 6 Missing: 24 -tr.js Found: 30 Missing: 0 -ug.js Found: 27 Missing: 3 -vi.js Found: 6 Missing: 24 -zh-cn.js Found: 30 Missing: 0 +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +cs.js Found: 30 Missing: 0 +cy.js Found: 30 Missing: 0 +da.js Found: 12 Missing: 18 +de.js Found: 30 Missing: 0 +el.js Found: 25 Missing: 5 +eo.js Found: 30 Missing: 0 +fa.js Found: 30 Missing: 0 +fi.js Found: 30 Missing: 0 +fr.js Found: 30 Missing: 0 +gu.js Found: 12 Missing: 18 +he.js Found: 30 Missing: 0 +it.js Found: 30 Missing: 0 +mk.js Found: 5 Missing: 25 +nb.js Found: 30 Missing: 0 +nl.js Found: 30 Missing: 0 +no.js Found: 30 Missing: 0 +pt-br.js Found: 30 Missing: 0 +ro.js Found: 6 Missing: 24 +tr.js Found: 30 Missing: 0 +ug.js Found: 27 Missing: 3 +vi.js Found: 6 Missing: 24 +zh-cn.js Found: 30 Missing: 0 diff --git a/htdocs/includes/ckeditor/plugins/devtools/lang/_translationstatus.txt b/htdocs/includes/ckeditor/plugins/devtools/lang/_translationstatus.txt index abb983211d11bee3687e3d03afd397dcf530e6d3..682d1d2d99c7cd8bff3d2bf1d82efc382a875077 100644 --- a/htdocs/includes/ckeditor/plugins/devtools/lang/_translationstatus.txt +++ b/htdocs/includes/ckeditor/plugins/devtools/lang/_translationstatus.txt @@ -1,28 +1,28 @@ -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license - -bg.js Found: 5 Missing: 0 -cs.js Found: 5 Missing: 0 -cy.js Found: 5 Missing: 0 -da.js Found: 5 Missing: 0 -de.js Found: 5 Missing: 0 -el.js Found: 5 Missing: 0 -eo.js Found: 5 Missing: 0 -et.js Found: 5 Missing: 0 -fa.js Found: 5 Missing: 0 -fi.js Found: 5 Missing: 0 -fr.js Found: 5 Missing: 0 -gu.js Found: 5 Missing: 0 -he.js Found: 5 Missing: 0 -hr.js Found: 5 Missing: 0 -it.js Found: 5 Missing: 0 -nb.js Found: 5 Missing: 0 -nl.js Found: 5 Missing: 0 -no.js Found: 5 Missing: 0 -pl.js Found: 5 Missing: 0 -pt-br.js Found: 5 Missing: 0 -tr.js Found: 5 Missing: 0 -ug.js Found: 5 Missing: 0 -uk.js Found: 5 Missing: 0 -vi.js Found: 5 Missing: 0 -zh-cn.js Found: 5 Missing: 0 +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +bg.js Found: 5 Missing: 0 +cs.js Found: 5 Missing: 0 +cy.js Found: 5 Missing: 0 +da.js Found: 5 Missing: 0 +de.js Found: 5 Missing: 0 +el.js Found: 5 Missing: 0 +eo.js Found: 5 Missing: 0 +et.js Found: 5 Missing: 0 +fa.js Found: 5 Missing: 0 +fi.js Found: 5 Missing: 0 +fr.js Found: 5 Missing: 0 +gu.js Found: 5 Missing: 0 +he.js Found: 5 Missing: 0 +hr.js Found: 5 Missing: 0 +it.js Found: 5 Missing: 0 +nb.js Found: 5 Missing: 0 +nl.js Found: 5 Missing: 0 +no.js Found: 5 Missing: 0 +pl.js Found: 5 Missing: 0 +pt-br.js Found: 5 Missing: 0 +tr.js Found: 5 Missing: 0 +ug.js Found: 5 Missing: 0 +uk.js Found: 5 Missing: 0 +vi.js Found: 5 Missing: 0 +zh-cn.js Found: 5 Missing: 0 diff --git a/htdocs/includes/ckeditor/plugins/placeholder/lang/_translationstatus.txt b/htdocs/includes/ckeditor/plugins/placeholder/lang/_translationstatus.txt index 0485f8e8b00402a20870f4ac34f8debe9ec5b753..c497d1f0aa36b184bdb79e0273fbcdff9fe64c60 100644 --- a/htdocs/includes/ckeditor/plugins/placeholder/lang/_translationstatus.txt +++ b/htdocs/includes/ckeditor/plugins/placeholder/lang/_translationstatus.txt @@ -1,27 +1,27 @@ -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license - -bg.js Found: 5 Missing: 0 -cs.js Found: 5 Missing: 0 -cy.js Found: 5 Missing: 0 -da.js Found: 5 Missing: 0 -de.js Found: 5 Missing: 0 -el.js Found: 5 Missing: 0 -eo.js Found: 5 Missing: 0 -et.js Found: 5 Missing: 0 -fa.js Found: 5 Missing: 0 -fi.js Found: 5 Missing: 0 -fr.js Found: 5 Missing: 0 -he.js Found: 5 Missing: 0 -hr.js Found: 5 Missing: 0 -it.js Found: 5 Missing: 0 -nb.js Found: 5 Missing: 0 -nl.js Found: 5 Missing: 0 -no.js Found: 5 Missing: 0 -pl.js Found: 5 Missing: 0 -pt-br.js Found: 5 Missing: 0 -tr.js Found: 5 Missing: 0 -ug.js Found: 5 Missing: 0 -uk.js Found: 5 Missing: 0 -vi.js Found: 4 Missing: 1 -zh-cn.js Found: 5 Missing: 0 +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +bg.js Found: 5 Missing: 0 +cs.js Found: 5 Missing: 0 +cy.js Found: 5 Missing: 0 +da.js Found: 5 Missing: 0 +de.js Found: 5 Missing: 0 +el.js Found: 5 Missing: 0 +eo.js Found: 5 Missing: 0 +et.js Found: 5 Missing: 0 +fa.js Found: 5 Missing: 0 +fi.js Found: 5 Missing: 0 +fr.js Found: 5 Missing: 0 +he.js Found: 5 Missing: 0 +hr.js Found: 5 Missing: 0 +it.js Found: 5 Missing: 0 +nb.js Found: 5 Missing: 0 +nl.js Found: 5 Missing: 0 +no.js Found: 5 Missing: 0 +pl.js Found: 5 Missing: 0 +pt-br.js Found: 5 Missing: 0 +tr.js Found: 5 Missing: 0 +ug.js Found: 5 Missing: 0 +uk.js Found: 5 Missing: 0 +vi.js Found: 4 Missing: 1 +zh-cn.js Found: 5 Missing: 0 diff --git a/htdocs/includes/ckeditor/plugins/specialchar/lang/_translationstatus.txt b/htdocs/includes/ckeditor/plugins/specialchar/lang/_translationstatus.txt index 82369b2e699da73cb968f88494dc09e281ce1a02..23df604c8f4309285b07267cc8de6f448c8d0cac 100644 --- a/htdocs/includes/ckeditor/plugins/specialchar/lang/_translationstatus.txt +++ b/htdocs/includes/ckeditor/plugins/specialchar/lang/_translationstatus.txt @@ -1,22 +1,22 @@ -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license - -cs.js Found: 118 Missing: 0 -cy.js Found: 118 Missing: 0 -de.js Found: 118 Missing: 0 -el.js Found: 16 Missing: 102 -eo.js Found: 118 Missing: 0 -et.js Found: 31 Missing: 87 -fa.js Found: 24 Missing: 94 -fi.js Found: 23 Missing: 95 -fr.js Found: 118 Missing: 0 -he.js Found: 1 Missing: 117 -hr.js Found: 23 Missing: 95 -it.js Found: 118 Missing: 0 -nb.js Found: 118 Missing: 0 -nl.js Found: 118 Missing: 0 -no.js Found: 118 Missing: 0 -pt-br.js Found: 118 Missing: 0 -tr.js Found: 118 Missing: 0 -ug.js Found: 39 Missing: 79 -zh-cn.js Found: 118 Missing: 0 +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +cs.js Found: 118 Missing: 0 +cy.js Found: 118 Missing: 0 +de.js Found: 118 Missing: 0 +el.js Found: 16 Missing: 102 +eo.js Found: 118 Missing: 0 +et.js Found: 31 Missing: 87 +fa.js Found: 24 Missing: 94 +fi.js Found: 23 Missing: 95 +fr.js Found: 118 Missing: 0 +he.js Found: 1 Missing: 117 +hr.js Found: 23 Missing: 95 +it.js Found: 118 Missing: 0 +nb.js Found: 118 Missing: 0 +nl.js Found: 118 Missing: 0 +no.js Found: 118 Missing: 0 +pt-br.js Found: 118 Missing: 0 +tr.js Found: 118 Missing: 0 +ug.js Found: 39 Missing: 79 +zh-cn.js Found: 118 Missing: 0 diff --git a/htdocs/includes/ckeditor/plugins/uicolor/lang/_translationstatus.txt b/htdocs/includes/ckeditor/plugins/uicolor/lang/_translationstatus.txt index f268477ea6ba8303509b83638e9473e839ca8594..74b55c7cc7489e1298151733b4213c9801152d83 100644 --- a/htdocs/includes/ckeditor/plugins/uicolor/lang/_translationstatus.txt +++ b/htdocs/includes/ckeditor/plugins/uicolor/lang/_translationstatus.txt @@ -1,28 +1,28 @@ -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license - -bg.js Found: 4 Missing: 0 -cs.js Found: 4 Missing: 0 -cy.js Found: 4 Missing: 0 -da.js Found: 4 Missing: 0 -de.js Found: 4 Missing: 0 -el.js Found: 4 Missing: 0 -eo.js Found: 4 Missing: 0 -et.js Found: 4 Missing: 0 -fa.js Found: 4 Missing: 0 -fi.js Found: 4 Missing: 0 -fr.js Found: 4 Missing: 0 -he.js Found: 4 Missing: 0 -hr.js Found: 4 Missing: 0 -it.js Found: 4 Missing: 0 -mk.js Found: 4 Missing: 0 -nb.js Found: 4 Missing: 0 -nl.js Found: 4 Missing: 0 -no.js Found: 4 Missing: 0 -pl.js Found: 4 Missing: 0 -pt-br.js Found: 4 Missing: 0 -tr.js Found: 4 Missing: 0 -ug.js Found: 4 Missing: 0 -uk.js Found: 4 Missing: 0 -vi.js Found: 4 Missing: 0 -zh-cn.js Found: 4 Missing: 0 +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +bg.js Found: 4 Missing: 0 +cs.js Found: 4 Missing: 0 +cy.js Found: 4 Missing: 0 +da.js Found: 4 Missing: 0 +de.js Found: 4 Missing: 0 +el.js Found: 4 Missing: 0 +eo.js Found: 4 Missing: 0 +et.js Found: 4 Missing: 0 +fa.js Found: 4 Missing: 0 +fi.js Found: 4 Missing: 0 +fr.js Found: 4 Missing: 0 +he.js Found: 4 Missing: 0 +hr.js Found: 4 Missing: 0 +it.js Found: 4 Missing: 0 +mk.js Found: 4 Missing: 0 +nb.js Found: 4 Missing: 0 +nl.js Found: 4 Missing: 0 +no.js Found: 4 Missing: 0 +pl.js Found: 4 Missing: 0 +pt-br.js Found: 4 Missing: 0 +tr.js Found: 4 Missing: 0 +ug.js Found: 4 Missing: 0 +uk.js Found: 4 Missing: 0 +vi.js Found: 4 Missing: 0 +zh-cn.js Found: 4 Missing: 0 diff --git a/htdocs/includes/fpdfi/README.txt b/htdocs/includes/fpdfi/README.txt index dc09ef070ca20df6d3a8c405e880ee9e736f4a17..c36c83b25be467fc3607d1fe8907680c03da6f80 100755 --- a/htdocs/includes/fpdfi/README.txt +++ b/htdocs/includes/fpdfi/README.txt @@ -1,4 +1,4 @@ -This directory contains all FPDFI librairies: -- FPDI -- FPDI_TPL -Found on http://www.setasign.de/products/pdf-php-solutions/fpdi/ +This directory contains all FPDFI librairies: +- FPDI +- FPDI_TPL +Found on http://www.setasign.de/products/pdf-php-solutions/fpdi/ diff --git a/htdocs/includes/geoip/geoipcity.inc b/htdocs/includes/geoip/geoipcity.inc index 0e7f40e72e0176a54b66cbfedfd63444b4bc9b96..160757187c3394d38fd8d88109678753aefd239b 100644 --- a/htdocs/includes/geoip/geoipcity.inc +++ b/htdocs/includes/geoip/geoipcity.inc @@ -1,208 +1,208 @@ -<?php - -/* geoipcity.inc - * - * Copyright (C) 2004 Maxmind LLC - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -/* - * Changelog: - * - * 2005-01-13 Andrew Hill, Awarez Ltd. (http://www.awarez.net) - * Formatted file according to PEAR library standards. - * Changed inclusion of geoip.inc file to require_once, so that - * this library can be used in the same script as geoip.inc. - */ - -define("FULL_RECORD_LENGTH",50); - -require_once 'geoip.inc'; -require_once 'geoipregionvars.php'; - -class geoiprecord { - var $country_code; - var $country_code3; - var $country_name; - var $region; - var $city; - var $postal_code; - var $latitude; - var $longitude; - var $area_code; - var $dma_code; # metro and dma code are the same. use metro_code - var $metro_code; -} - -class geoipdnsrecord { - var $country_code; - var $country_code3; - var $country_name; - var $region; - var $regionname; - var $city; - var $postal_code; - var $latitude; - var $longitude; - var $areacode; - var $dmacode; - var $isp; - var $org; - var $metrocode; -} - -function getrecordwithdnsservice($str){ - $record = new geoipdnsrecord; - $keyvalue = explode(";",$str); - foreach ($keyvalue as $keyvalue2){ - list($key,$value) = explode("=",$keyvalue2); - if ($key == "co"){ - $record->country_code = $value; - } - if ($key == "ci"){ - $record->city = $value; - } - if ($key == "re"){ - $record->region = $value; - } - if ($key == "ac"){ - $record->areacode = $value; - } - if ($key == "dm" || $key == "me" ){ - $record->dmacode = $value; - $record->metrocode = $value; - } - if ($key == "is"){ - $record->isp = $value; - } - if ($key == "or"){ - $record->org = $value; - } - if ($key == "zi"){ - $record->postal_code = $value; - } - if ($key == "la"){ - $record->latitude = $value; - } - if ($key == "lo"){ - $record->longitude = $value; - } - } - $number = $GLOBALS['GEOIP_COUNTRY_CODE_TO_NUMBER'][$record->country_code]; - $record->country_code3 = $GLOBALS['GEOIP_COUNTRY_CODES3'][$number]; - $record->country_name = $GLOBALS['GEOIP_COUNTRY_NAMES'][$number]; - if ($record->region != "") { - if (($record->country_code == "US") || ($record->country_code == "CA")){ - $record->regionname = $GLOBALS['ISO'][$record->country_code][$record->region]; - } else { - $record->regionname = $GLOBALS['FIPS'][$record->country_code][$record->region]; - } - } - return $record; -} - -function _get_record($gi,$ipnum){ - $seek_country = _geoip_seek_country($gi,$ipnum); - if ($seek_country == $gi->databaseSegments) { - return NULL; - } - $record_pointer = $seek_country + (2 * $gi->record_length - 1) * $gi->databaseSegments; - - if ($gi->flags & GEOIP_MEMORY_CACHE) { - $record_buf = substr($gi->memory_buffer,$record_pointer,FULL_RECORD_LENGTH); - } elseif ($gi->flags & GEOIP_SHARED_MEMORY){ - $record_buf = @shmop_read($gi->shmid,$record_pointer,FULL_RECORD_LENGTH); - } else { - fseek($gi->filehandle, $record_pointer, SEEK_SET); - $record_buf = fread($gi->filehandle,FULL_RECORD_LENGTH); - } - $record = new geoiprecord; - $record_buf_pos = 0; - $char = ord(substr($record_buf,$record_buf_pos,1)); - $record->country_code = $gi->GEOIP_COUNTRY_CODES[$char]; - $record->country_code3 = $gi->GEOIP_COUNTRY_CODES3[$char]; - $record->country_name = $gi->GEOIP_COUNTRY_NAMES[$char]; - $record_buf_pos++; - $str_length = 0; - // Get region - $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); - while ($char != 0){ - $str_length++; - $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); - } - if ($str_length > 0){ - $record->region = substr($record_buf,$record_buf_pos,$str_length); - } - $record_buf_pos += $str_length + 1; - $str_length = 0; - // Get city - $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); - while ($char != 0){ - $str_length++; - $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); - } - if ($str_length > 0){ - $record->city = substr($record_buf,$record_buf_pos,$str_length); - } - $record_buf_pos += $str_length + 1; - $str_length = 0; - // Get postal code - $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); - while ($char != 0){ - $str_length++; - $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); - } - if ($str_length > 0){ - $record->postal_code = substr($record_buf,$record_buf_pos,$str_length); - } - $record_buf_pos += $str_length + 1; - $str_length = 0; - // Get latitude and longitude - $latitude = 0; - $longitude = 0; - for ($j = 0;$j < 3; ++$j){ - $char = ord(substr($record_buf,$record_buf_pos++,1)); - $latitude += ($char << ($j * 8)); - } - $record->latitude = ($latitude/10000) - 180; - for ($j = 0;$j < 3; ++$j){ - $char = ord(substr($record_buf,$record_buf_pos++,1)); - $longitude += ($char << ($j * 8)); - } - $record->longitude = ($longitude/10000) - 180; - if (GEOIP_CITY_EDITION_REV1 == $gi->databaseType){ - $metroarea_combo = 0; - if ($record->country_code == "US"){ - for ($j = 0;$j < 3;++$j){ - $char = ord(substr($record_buf,$record_buf_pos++,1)); - $metroarea_combo += ($char << ($j * 8)); - } - $record->metro_code = $record->dma_code = floor($metroarea_combo/1000); - $record->area_code = $metroarea_combo%1000; - } - } - return $record; -} - -function GeoIP_record_by_addr ($gi,$addr){ - if ($addr == NULL){ - return 0; - } - $ipnum = ip2long($addr); - return _get_record($gi, $ipnum); -} - -?> +<?php + +/* geoipcity.inc + * + * Copyright (C) 2004 Maxmind LLC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * Changelog: + * + * 2005-01-13 Andrew Hill, Awarez Ltd. (http://www.awarez.net) + * Formatted file according to PEAR library standards. + * Changed inclusion of geoip.inc file to require_once, so that + * this library can be used in the same script as geoip.inc. + */ + +define("FULL_RECORD_LENGTH",50); + +require_once 'geoip.inc'; +require_once 'geoipregionvars.php'; + +class geoiprecord { + var $country_code; + var $country_code3; + var $country_name; + var $region; + var $city; + var $postal_code; + var $latitude; + var $longitude; + var $area_code; + var $dma_code; # metro and dma code are the same. use metro_code + var $metro_code; +} + +class geoipdnsrecord { + var $country_code; + var $country_code3; + var $country_name; + var $region; + var $regionname; + var $city; + var $postal_code; + var $latitude; + var $longitude; + var $areacode; + var $dmacode; + var $isp; + var $org; + var $metrocode; +} + +function getrecordwithdnsservice($str){ + $record = new geoipdnsrecord; + $keyvalue = explode(";",$str); + foreach ($keyvalue as $keyvalue2){ + list($key,$value) = explode("=",$keyvalue2); + if ($key == "co"){ + $record->country_code = $value; + } + if ($key == "ci"){ + $record->city = $value; + } + if ($key == "re"){ + $record->region = $value; + } + if ($key == "ac"){ + $record->areacode = $value; + } + if ($key == "dm" || $key == "me" ){ + $record->dmacode = $value; + $record->metrocode = $value; + } + if ($key == "is"){ + $record->isp = $value; + } + if ($key == "or"){ + $record->org = $value; + } + if ($key == "zi"){ + $record->postal_code = $value; + } + if ($key == "la"){ + $record->latitude = $value; + } + if ($key == "lo"){ + $record->longitude = $value; + } + } + $number = $GLOBALS['GEOIP_COUNTRY_CODE_TO_NUMBER'][$record->country_code]; + $record->country_code3 = $GLOBALS['GEOIP_COUNTRY_CODES3'][$number]; + $record->country_name = $GLOBALS['GEOIP_COUNTRY_NAMES'][$number]; + if ($record->region != "") { + if (($record->country_code == "US") || ($record->country_code == "CA")){ + $record->regionname = $GLOBALS['ISO'][$record->country_code][$record->region]; + } else { + $record->regionname = $GLOBALS['FIPS'][$record->country_code][$record->region]; + } + } + return $record; +} + +function _get_record($gi,$ipnum){ + $seek_country = _geoip_seek_country($gi,$ipnum); + if ($seek_country == $gi->databaseSegments) { + return NULL; + } + $record_pointer = $seek_country + (2 * $gi->record_length - 1) * $gi->databaseSegments; + + if ($gi->flags & GEOIP_MEMORY_CACHE) { + $record_buf = substr($gi->memory_buffer,$record_pointer,FULL_RECORD_LENGTH); + } elseif ($gi->flags & GEOIP_SHARED_MEMORY){ + $record_buf = @shmop_read($gi->shmid,$record_pointer,FULL_RECORD_LENGTH); + } else { + fseek($gi->filehandle, $record_pointer, SEEK_SET); + $record_buf = fread($gi->filehandle,FULL_RECORD_LENGTH); + } + $record = new geoiprecord; + $record_buf_pos = 0; + $char = ord(substr($record_buf,$record_buf_pos,1)); + $record->country_code = $gi->GEOIP_COUNTRY_CODES[$char]; + $record->country_code3 = $gi->GEOIP_COUNTRY_CODES3[$char]; + $record->country_name = $gi->GEOIP_COUNTRY_NAMES[$char]; + $record_buf_pos++; + $str_length = 0; + // Get region + $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); + while ($char != 0){ + $str_length++; + $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); + } + if ($str_length > 0){ + $record->region = substr($record_buf,$record_buf_pos,$str_length); + } + $record_buf_pos += $str_length + 1; + $str_length = 0; + // Get city + $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); + while ($char != 0){ + $str_length++; + $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); + } + if ($str_length > 0){ + $record->city = substr($record_buf,$record_buf_pos,$str_length); + } + $record_buf_pos += $str_length + 1; + $str_length = 0; + // Get postal code + $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); + while ($char != 0){ + $str_length++; + $char = ord(substr($record_buf,$record_buf_pos+$str_length,1)); + } + if ($str_length > 0){ + $record->postal_code = substr($record_buf,$record_buf_pos,$str_length); + } + $record_buf_pos += $str_length + 1; + $str_length = 0; + // Get latitude and longitude + $latitude = 0; + $longitude = 0; + for ($j = 0;$j < 3; ++$j){ + $char = ord(substr($record_buf,$record_buf_pos++,1)); + $latitude += ($char << ($j * 8)); + } + $record->latitude = ($latitude/10000) - 180; + for ($j = 0;$j < 3; ++$j){ + $char = ord(substr($record_buf,$record_buf_pos++,1)); + $longitude += ($char << ($j * 8)); + } + $record->longitude = ($longitude/10000) - 180; + if (GEOIP_CITY_EDITION_REV1 == $gi->databaseType){ + $metroarea_combo = 0; + if ($record->country_code == "US"){ + for ($j = 0;$j < 3;++$j){ + $char = ord(substr($record_buf,$record_buf_pos++,1)); + $metroarea_combo += ($char << ($j * 8)); + } + $record->metro_code = $record->dma_code = floor($metroarea_combo/1000); + $record->area_code = $metroarea_combo%1000; + } + } + return $record; +} + +function GeoIP_record_by_addr ($gi,$addr){ + if ($addr == NULL){ + return 0; + } + $ipnum = ip2long($addr); + return _get_record($gi, $ipnum); +} + +?> diff --git a/htdocs/includes/jquery/plugins/jpicker/ReadMe.txt b/htdocs/includes/jquery/plugins/jpicker/ReadMe.txt index 8dd55b76eec54cbd9fce14efe0c4d4acab25d016..c76be424026be0bedbedfe6748eec9f530f9528f 100755 --- a/htdocs/includes/jquery/plugins/jpicker/ReadMe.txt +++ b/htdocs/includes/jquery/plugins/jpicker/ReadMe.txt @@ -12,17 +12,17 @@ John Dyers' website: (http://johndyer.name) Color Picker page: (http://johndyer.name/post/2007/09/PhotoShop-like-JavaScript-Color-Picker.aspx) - jPicker is a fast, lightweight jQuery plugin for including an advanced color picker in your web projects. -It has been painstakenly ported from John Dyers' awesome work on his picker using the Prototype framework. - - jPicker supports all current browsers and has been extensively tested in Chrome, Firefox, IE5.5+, Safari, -and Opera. - - If you are updating a current version, you MUST always use the CSS and image files from the download as -there may have been changes. - - If you are moving from a V1.0.* version, you MUST read the docs below to implement some changes to the -Color object returned by the callback functions. + jPicker is a fast, lightweight jQuery plugin for including an advanced color picker in your web projects. +It has been painstakenly ported from John Dyers' awesome work on his picker using the Prototype framework. + + jPicker supports all current browsers and has been extensively tested in Chrome, Firefox, IE5.5+, Safari, +and Opera. + + If you are updating a current version, you MUST always use the CSS and image files from the download as +there may have been changes. + + If you are moving from a V1.0.* version, you MUST read the docs below to implement some changes to the +Color object returned by the callback functions. Known Issues diff --git a/htdocs/includes/nusoap/lib/Mail/xmail.dtd b/htdocs/includes/nusoap/lib/Mail/xmail.dtd index 9779796167eed4fd4a814cb9506510baff29eb1b..9f42ca8b3312fb8a7a55d7a244ddd2f4ddd43932 100755 --- a/htdocs/includes/nusoap/lib/Mail/xmail.dtd +++ b/htdocs/includes/nusoap/lib/Mail/xmail.dtd @@ -1,19 +1,19 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> - -<!ENTITY lt "&#60;"> -<!ENTITY gt ">"> -<!ENTITY amp "&#38;"> -<!ENTITY apos "'"> -<!ENTITY quot """> -<!ENTITY crlf " "> - -<!ELEMENT email (header+, (body | mimepart+))> -<!ELEMENT mimepart (header+, (body | mimepart+))> -<!ELEMENT body (#PCDATA)> -<!ELEMENT header ((headername|headervalue|parameter)*)> -<!ELEMENT headername (#PCDATA)> -<!ELEMENT headervalue (#PCDATA)> -<!ELEMENT parameter ((paramname|paramvalue)+)> -<!ELEMENT paramvalue (#PCDATA)> -<!ELEMENT paramname (#PCDATA)> - +<?xml version="1.0" encoding="ISO-8859-1"?> + +<!ENTITY lt "&#60;"> +<!ENTITY gt ">"> +<!ENTITY amp "&#38;"> +<!ENTITY apos "'"> +<!ENTITY quot """> +<!ENTITY crlf " "> + +<!ELEMENT email (header+, (body | mimepart+))> +<!ELEMENT mimepart (header+, (body | mimepart+))> +<!ELEMENT body (#PCDATA)> +<!ELEMENT header ((headername|headervalue|parameter)*)> +<!ELEMENT headername (#PCDATA)> +<!ELEMENT headervalue (#PCDATA)> +<!ELEMENT parameter ((paramname|paramvalue)+)> +<!ELEMENT paramvalue (#PCDATA)> +<!ELEMENT paramname (#PCDATA)> + diff --git a/htdocs/includes/nusoap/lib/Mail/xmail.xsl b/htdocs/includes/nusoap/lib/Mail/xmail.xsl index 0e4ffe680dede6ddcaef8724a75befc7610ab9e5..0b948913f84d47ea816a8ad42b59bd692efb73b3 100755 --- a/htdocs/includes/nusoap/lib/Mail/xmail.xsl +++ b/htdocs/includes/nusoap/lib/Mail/xmail.xsl @@ -1,70 +1,70 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> -<xsl:output method="text" omit-xml-declaration="yes" indent="no"/> -<xsl:preserve-space elements="headervalue paramvalue body"/> - - <xsl:template name="mimepart"> - - <xsl:variable name="boundary"> - <xsl:for-each select="./header"> - <xsl:if test="string(./headername) = 'Content-Type'"> - <xsl:for-each select="./parameter"> - <xsl:if test="string(./paramname) = 'boundary'"> - <xsl:value-of select="paramvalue"/> - </xsl:if> - </xsl:for-each> - </xsl:if> - </xsl:for-each> - </xsl:variable> - - <xsl:for-each select="header"> - - <xsl:value-of select="headername"/> - <xsl:text>: </xsl:text> - <xsl:value-of select="headervalue"/> - - <xsl:if test="count(./parameter) = 0"> - <xsl:text> </xsl:text> - </xsl:if> - - <xsl:for-each select="parameter"> - <xsl:text>; 	</xsl:text> - <xsl:value-of select="paramname"/> - <xsl:text>="</xsl:text> - <xsl:value-of select="paramvalue"/> - <xsl:text>"</xsl:text> - </xsl:for-each> - - <xsl:if test="count(./parameter) > 0"> - <xsl:text> </xsl:text> - </xsl:if> - - </xsl:for-each> - - <xsl:text> </xsl:text> - - <!-- Which to do, print a body or process subparts? --> - <xsl:choose> - <xsl:when test="count(./mimepart) = 0"> - <xsl:value-of select="body"/> - <xsl:text> </xsl:text> - </xsl:when> - - <xsl:otherwise> - <xsl:for-each select="mimepart"> - <xsl:text>--</xsl:text><xsl:value-of select="$boundary"/><xsl:text> </xsl:text> - <xsl:call-template name="mimepart"/> - </xsl:for-each> - - <xsl:text>--</xsl:text><xsl:value-of select="$boundary"/><xsl:text>-- </xsl:text> - - </xsl:otherwise> - </xsl:choose> - </xsl:template> - -<!-- This is where the stylesheet really starts, matching the top level email element --> - <xsl:template match="email"> - <xsl:call-template name="mimepart"/> - </xsl:template> - +<?xml version="1.0" encoding="ISO-8859-1"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> +<xsl:output method="text" omit-xml-declaration="yes" indent="no"/> +<xsl:preserve-space elements="headervalue paramvalue body"/> + + <xsl:template name="mimepart"> + + <xsl:variable name="boundary"> + <xsl:for-each select="./header"> + <xsl:if test="string(./headername) = 'Content-Type'"> + <xsl:for-each select="./parameter"> + <xsl:if test="string(./paramname) = 'boundary'"> + <xsl:value-of select="paramvalue"/> + </xsl:if> + </xsl:for-each> + </xsl:if> + </xsl:for-each> + </xsl:variable> + + <xsl:for-each select="header"> + + <xsl:value-of select="headername"/> + <xsl:text>: </xsl:text> + <xsl:value-of select="headervalue"/> + + <xsl:if test="count(./parameter) = 0"> + <xsl:text> </xsl:text> + </xsl:if> + + <xsl:for-each select="parameter"> + <xsl:text>; 	</xsl:text> + <xsl:value-of select="paramname"/> + <xsl:text>="</xsl:text> + <xsl:value-of select="paramvalue"/> + <xsl:text>"</xsl:text> + </xsl:for-each> + + <xsl:if test="count(./parameter) > 0"> + <xsl:text> </xsl:text> + </xsl:if> + + </xsl:for-each> + + <xsl:text> </xsl:text> + + <!-- Which to do, print a body or process subparts? --> + <xsl:choose> + <xsl:when test="count(./mimepart) = 0"> + <xsl:value-of select="body"/> + <xsl:text> </xsl:text> + </xsl:when> + + <xsl:otherwise> + <xsl:for-each select="mimepart"> + <xsl:text>--</xsl:text><xsl:value-of select="$boundary"/><xsl:text> </xsl:text> + <xsl:call-template name="mimepart"/> + </xsl:for-each> + + <xsl:text>--</xsl:text><xsl:value-of select="$boundary"/><xsl:text>-- </xsl:text> + + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +<!-- This is where the stylesheet really starts, matching the top level email element --> + <xsl:template match="email"> + <xsl:call-template name="mimepart"/> + </xsl:template> + </xsl:stylesheet> \ No newline at end of file diff --git a/htdocs/includes/nusoap/lib/changelog b/htdocs/includes/nusoap/lib/changelog index a9daba74443fcbcd22556d271afe756752c5b499..b76580e2d18e78a50cd7ba68dc6723435ca58daa 100644 --- a/htdocs/includes/nusoap/lib/changelog +++ b/htdocs/includes/nusoap/lib/changelog @@ -1,648 +1,648 @@ -2003-07-21, version 0.6.5 -- soap_transport_http: SOAPAction header is quoted again, fixes problem w/ Weblogic Server -- applied Jason Levitt patch for proper array serialization, fixes problem w/ Amazon shopping cart services -- fixed null value serialization -- applied patch from "BZC ToOn'S" - fixes wsdl serialization when no parameters -- applied John's patch, implementing compression for the server - -2003-07-22, version 0.6.5 -- soap_server: fixed bug causing charset encoding not to be passed to the parser -- soap_fault: added default encoding to the fault serialization -- soap_parser: changed the parser to pre-load the parent's result array when processing scalar values. This increases parsing speed. - -2003-07-23, version 0.6.5 -- soap_base: fix code that overwrites user-supplied attributes in serialize_val -- soap_base: use arrays-of-arrays rather than attempting multi-dimensional in serialize_val -- xmlschema: emit import statements and qualify all elements with prefix in serializeSchema (better interop with validation tools) -- soapclient: get xml character encoding from HTTP Content-Type header if provided, e.g. text/xml;charset="UTF-8" -- soapclient: use headers in call if provided (previously ignored this parameter) -- soap_server: in parse_request, if neither getallheaders nor $_SERVER are available, use $HTTP_SERVER_VARS to get SOAPAction and xml encoding - -2003-07-24, version 0.6.5 -- soap_transport_http: apply patch from Steven Brown "if the server closes connection prematurely, nusoap would spin trying to read data that isn't there" - -2003-07-25, version 0.6.5 -- wsdl: apply patch from Sven to workaround single schema limitation -- wsdl: apply a variant of the patch from Holger to handle empty values for array by serializing an array with 0 elements -- xmlschema: remove the redundant default namespace attribute on the schema element; everything in xsd is explicitly specified as being from xsd -- soap_transport_http: fix setCredentials and add TODO comments in sendHTTPS about what to change if this setCredentials stays - -2003-07-30, version 0.6.5 -- nusoap_base: change documentation of soap_defencoding to specify it is the encoding for outgoing messages -- nusoap_base: only change &, <, > to entities, not all HTML entities -- soap_transport_http: update the Content-Type header in sendRequest, since soap_defencoding could be changed after ctor is called -- soap_server: use soap_defencoding instead of charset_encoding -- soap_server: read encoding from _SERVER if available -- nusoap_base: do entity translation for string parameters with an xsd type specified (thanks David Derr) - -2003-07-31, version 0.6.5 -- soap_transport_http: add proxy authentication -- soap_transport_http: build payload the same way for http and https -- wsdl: add proxy authentication -- soapclient: add proxy authentication -- soapclient: allow proxy information in ctor, so that it can be used for wsdl - -2003-08-01, version 0.6.5 -- soap_transport_http: close a persistent connection that's at EOF -- soap_transport_http: prevent conflicts between setEncoding and usePersistentConnection -- soap_transport_http: fix use of $headers instead of $this->incoming_headers in getResponse -- soapclient: improve handling of persistent connections -- soapclient: force xml_encoding to upper case -- soap_server: let the Web server decide whether to close the connection (no Connection: close header) -- soap_server: force xml_encoding to upper case - -2003-08-04, version 0.6.5 -- soap_parser: use XML type information to pick a PHP data type; also decode base64 -- soap_server: read all HTTP headers when using _SERVER or HTTP_SERVER_VARS -- soap_server: add gzip encoding support for outgoing messages -- soap_transport_http: deflate is gzcompress/gzuncompress (cf. http://archive.develooper.com/libwww@perl.org/msg04650.html) -- soap_transport_http: clean use of persistentConnection so it's always a set boolean -- soapclient: add responseData member to access deflated/gunzipped payload - -2003-08-05, version 0.6.5 -- soap_server: look multiple places when setting debug_flag - -2003-08-07, version 0.6.5 -- nusoap_base: serialize specified type (e.g. ArrayOfString) even for simple array -- wsdl: only specify encodingStyle in the input/output soap bindings when it is not empty (thanks Guillaume) - -2003-08-15, version 0.6.5 -- soap_parser: fix parsing of elements with no XSD type specified -- soap_parser: use PHP string type for XSD long and unsignedLong types - -2003-08-16, version 0.6.5 -- soap_parser: fix code generating warning (thanks Torsten) - -2003-08-19, version 0.6.5 -- soap_parser: fix another line of code generating a warning (thanks Torsten) - -2003-08-22, version 0.6.5 -- soap_server: remove all '--' from debug_str; previous code changed '---' to '- --' -- wsdl, soapclient, soap_parser: patch submitted by Mark Spavin as described by - the following... -> Changes for the multiple/nested imports from the wsdl file. This builds an -> array of files not just the last one and also checks for relative paths to -> the parent. This will then get the imported files from the remote site -> instead of your local disk. Local wsdl files should still work (untested). -> -> Changes for multiple encoding sytles as previously posted - -2003-08-24, version 0.6.5 -- wsdl, soapclient: fix some PHP notices from previous update - -2003-08-26, version 0.6.5 -- wsdl: support multiple SOAP ports -- soapclient, soap_server: when no charset is specified, use UTF-8, even though HTTP specifies US-ASCII. -- soap_transport_http: do not prepend $host with 'ssl://' for https (is this required for older cURL versions?) - -2003-08-27, version 0.6.5 -- soap_server: support compressed request messages (thanks John Huong) -- soap_parser: deserialize Apache Vector as an array -- xmlschema: use $this->typemap in getPHPType (which is not used) -- soapclient, wsdl: check for WSDL errors after serializing parameters -- nusoap_base: add serialization of Apache Map (when not using WSDL) -- wsdl: add serialization of Apache Map (when using WSDL) -- wsdl: only change &, <, > to entities, not all HTML entities - -2003-08-28, version 0.6.5 -- soap_transport_http: disable cURL verification of peer and server (formerly the cURL default) -- soap_transport_http: mingle cURL code with straight http, so sendHTTP is no longer needed - -2003-08-29, version 0.6.6 -- soap_transport_http: add setContentType -- soapclient: call setContentType using new getHTTPContentType and getHTTPContentTypeCharset - -2003-09-05, version 0.6.6 -- wsdl: add some more code to handle null/nil values (but there's still a way to go) - -2003-10-21, version 0.6.6 -- soap_transport_http: only include port in Host header if it was specified in the URL -- soap_transport_http: add some code to use OpenSSL for PHP ssl:// scheme, but comment out since it's not ready -- soap_server: use $_SERVER['PHP_SELF'] if $GLOBALS['PHP_SELF'] is not set -- wsdl: add WSDL request and response and transport debug to debug -- wsdl: handle custom type extending xmlschema namespace (GLUE ... Thanks Matt) -- soap_parser: add param to docs -- soapclient: add getHTTPBody, getHTTPContentType, getHTTPContentTypeCharset (anticipating MIME subclass) - -2003-10-28, version 0.6.6 -- nusoap_base: add expandEntities method -- wsdl: use expandEntities -- soap_fault: use expandEntities -- soap_transport_http: Allow credentials to be included in URL, rather than requiring setCredentials -- soap_transport_http: Merge HTTP headers that span multiple lines -- soap_parser: Properly set errors in ctor -- soapclient: Pass headers to parseResponse and parse them in that method - -2003-10-30, version 0.6.6 -- xmlschema: Add some information for the related type to an element - -2003-12-09, version 0.6.6 -- nusoap_base: Add some namespace methods previously in xmlschema -- xmlschema: Improve parsing of complexType, element and simpleType -- xmlschema: Improve serialization -- xmlschema: Track imports -- xmlschema: Track elementFormDefault and form attributes -- wsdl: Support multiple <schema> (note that setting $server->wsdl->schemaTargetNamespace no longer does anything! Use configureWSDL instead.) -- wsdl: Use form attribute of element to control namespace specification -- wsdl: Support chained imports (A imports B which imports C) -- wsdl: Include port in endpoint address when serializing -- soap_server: Fix use of style (rpc|document) and use (encoded|literal) -- soap_server: Support _SERVER[CONTENT_TYPE] in addition to _SERVER[HTTP_CONTENT_TYPE] -- soap_server: Support wsdl with multiple <schema> -- soap_client: Remove a var_dump -- soap_client: Add style and use parameters to call method to support doc/lit without WSDL -- soap_transport_http: Check that $this->fp exists when doing persistent connections - -2003-12-17, version 0.6.6 -- soap_server: pass namespaces to xmlschema constructor -- wsdl: post-process after all imports -- wsdl: remove some debug, add some error handling -- xmlschema: allow enclosing namespaces to be specified in constructor -- xmlschema: improve handling of compositors and simple types - -2004-01-08, version 0.6.6 -- soap_server: when requested WSDL is in a file, return to client using passthru (thanks Ingo Fischer) -- soapclient: have proxy inherit more client state -- soapclient: allow timeout and response timeout to be specified in the constructor -- wsdl: allow timeout and response timeout to be specified in the constructor -- soap_transport_http: allow response timeout to be specified in send and sendHTTPS - -2004-01-28, version 0.6.6 -- wsdl: add namespace for array and scalar when form is qualified -- wsdl: fix a bug in which data type of complexType elements were ignored in serialization -- wsdl: enhance handling of URLs with file scheme -- wsdl: add addSimpleType -- xmlschema: add addSimpleType -- xmlschema: always set phpType elements -- soapclient: allow a wsdl instance to be specified in constructor -- soap_server: allow a wsdl instance to be specified in constructor (not tested!) -- soap_server: fix default SOAPAction created in register method -- soap_transport_http: accept chunking with LF separators in addition to CRLF. -- wsdlcache: added class -- nusoapmime: fix comments - -2004-02-23, version 0.6.6 -- soap_transport_http: don't try to unchunk cURL data, since cURL already does it -- soap_transport_http: append CVS revision to version in User-Agent -- wsdl: serialize boolean as true|false, not 1|0, to agree with XML Schema -- soap_server: always exit() after returning WSDL -- soap_server: use the WSDL URL scheme as the default endpoint URL scheme -- soap_server: append CVS revision to version in X-SOAP-Server -- nusoap_base: add (CVS) revision -- wsdlcache: synchronize using a per-WSDL lock file (Thanks Ingo) -- wsdlcache: add cache lifetime, after which cache contents are invalidated (Thanks Ingo) - -2004-03-15, version 0.6.6 -- nusoap_base: add isArraySimpleOrStruct method -- soap_server: improve WSDL URL scheme determination -- soap_server: only deflate/gzip payloads > 1024 bytes -- soap_server: fix parameter order in fault method (always used as faultcode, faultstring) -- soap_server: refactor parse_request into multiple functions (for sanity) -- soap_server: set the namespace on the Response element to the same as the request -- soap_server: name the return value element 'return' by default -- soap_server: added and documented data fields, so that service programmers can use them if desired -- soap_parser: standardize parsing error message -- soap_parser: fix document and responseHeaders so they are the correct XML text (as documented) -- soap_transport_http: fix read from persistent connection -- soapclient: clean up debugging for persistent connection -- wsdl: enforce correct naming of messages parts when an associative array is used for parameters -- wsdl: better serialization of null values -- wsdl: standardize parsing error message -- xmlschema: standardize parsing error message - -2004-03-24, version 0.6.7 -- soap_transport_http: add digest authentication (based on code by Kevin A. Miller) -- xmlschema: improve parsing of import elements -- wsdl: do schema imports even if there are no wsdl imports - -2004-04-12, version 0.6.7 -- wsdl: serialize multiple elements when maxOccurs="unbounded" and value is an array -- wsdl: serialize soapval values (used to force an XML type, e.g. when WSDL uses an abstract type) -- nusoapmime: do not require nusoap.php (it is now the programmer's responsibility) - -2004-04-21, version 0.6.7 -- soap_parser: parse repeated element name into an array (de-serializes doc/lit array into a PHP array when there is more than 1 array element) -- soap_server: do not wrap response in a response element for a document style service - -2004-04-30, version 0.6.7 -- soap_transport_http: allow digest auth params to be separated by "," as well as ", " -- soap_transport_http: re-initialize incoming headers for each response -- soap_server: add methodreturnisliteralxml property to allow service function to return XML as a string -- soapclient: improve rpc/literal support -- soapclient: allow XML string as call params in addition to array -- soapclient: support document style and literal encoding when not using WSDL - -2004-05-05, version 0.6.7 -- wsdl: serialize PHP objects for WSDL XML Schema complexTypes, in addition to associative arrays -- wsdl: fix WSDL generation when there is no encodingStyle -- soap_transport_http: suppress fsockopen warnings -- soap_transport_http: detect socket timeouts when reading (0 bytes returned) -- soap_transport_http: read chunked content "in-line" so it works on a persistent connection -- nusoap_base: serialize boolean as true|false, not 1|0, to agree with XML Schema -- nusoap_base: serialize array of struct differently than array of array - -2004-06-25, version 0.6.8 -- soap_server: prefer gzip to deflate, since IE does not like our deflate -- soap_server: move webDescription to the wsdl class -- soap_server: allow class and instance method calls for service (thanks Ingo Fischer and Roland Knall) -- wsdl: get webDescription from the soap_server class -- wsdl: allow compression from the server -- wsdl: fix serialization of soapval without a type -- wsdl: propagate debug value from query string to SOAP endpoint in programmatic WSDL generation -- nusoap_base: add anyType, anySimpleType for 2001 XML Schema -- nusoap_base: provide additional debug functions -- soap_transport_http: ignore Content-Length when chunked encoding is used -- soap_transport_http: remove ':' from username for Basic authentication (cf. RFC 2617) -- soap_transport_http: urldecode username and password taken from URL -- soap_transport_http: use raw inflate/deflate for IE/IIS compatibility, rather than having Zlib headers according to HTTP 1.1 spec -- soap_transport_http: attempt to handle the case when both the service application and Web server compress the response -- soapclient: when creating proxy methods, replace '.' in operation name with '__' in function name -- soapclient: initialize requestHeaders in proxy -- general: use new debug methods; never access debug_str directly - -2004-09-30, version 0.6.8 -- soapclient: do not allow getProxy call when WSDL is not used -- soapclient: use ISO-8859-1 as the charset if not specified in the Content-Type header -- soapclient: when an empty string is specified for the call namespace, do not put the method element in a namespace -- soapclient: let soap_transport_http check for SSL support -- soapclient: have proxy inherit soap_defencoding from the client from which it is generated -- soapclient: do not assume that 'ns1' is an unused namespace prefix; always generate namespace prefixes randomly -- soap_parser: compare any encoding in the XML declaration to the charset from the HTTP Content-Type header (thanks Ingo Fischer) -- soap_parser: improve parse repeated element name into an array (de-serializes doc/lit array into a PHP array when there is more than 1 array element) -- soap_server: use ISO-8859-1 as the charset if not specified in the Content-Type header -- soap_server: allow suppression of automatic UTF-8 decoding -- soap_server: fix a bug when call_user_func_array() is used -- soap_transport_http: correct digest authentication through a proxy -- wsdl: serialize SOAP-ENC types similarly to XSD types -- xmlschema: force unprefixed type into default namespace -- xmlschema: fix serialization of definition of simple types - -2004-10-01, version 0.6.8 -- soap_parser: handle default namespace attributes -- soap_server: add default_utf8 field -- soap_server: support literal encoding (with RPC style) -- soap_transport_http: parse HTTP status and generate error for 300, 302-307, 400, 401-417, 501-505 (thanks for the idea Ghislain) -- soap_transport_http: follow HTTP redirection (HTTP status 301 and Location header) (thanks for the idea Ghislain) -- xmlschema: allow any attributes to be specified in an element of a complexType, e.g., abstract, default, form, minOccurs, maxOccurs, nillable (thanks Jirka Pech for the original patch) - -2004-10-02, version 0.6.8 -- soapclient: read/write cookies (thanks Ingo) -- soap_server: change faultcode on non-resendable faults to Client -- soap_transport_http: read/write cookies (thanks Ingo) - -2004-10-05, version 0.6.8 -- wsdl: add addElement method -- wsdl: support the document style in the register method -- xmlschema: parse unnamed simpleTypes, rather than ignoring them -- xmlschema: include untyped elements when parsing a complexType -- xmlschema: add addElement method - -2004-10-14, version 0.6.8 -- soapclient: support client certificates -- soap_parser: deserialize attributes, prefixing names with "!" -- soap_server: notify the client with HTML when WSDL is requested but not supported by service -- soap_transport_http: support client certificates -- wsdl: support defaults for elements of a complexType -- wsdl: serialize elements from complexType extension base -- wsdl: serialize data (associative array elements) as attributes according to XML Schema -- xmlschema: record extension base if present for a complexType - -2004-12-15, version 0.6.8 -- nusoap_base: add 2000 XML Schema (rare, but used by Akamai) -- soap_parser: avoid deserializing more common attributes that are not data -- soap_parser: be lax when HTTP specifies ISO-8859-1 (the default) and XML specifies UTF-8 (the norm) -- soap_server: account for the fact that get_class_methods returns methods in all lower case (thanks Steve Haldane) -- soap_transport_http: parse digest info that includes '=' in the data (thanks Jinsuk Kim) -- wsdl: feably handle some cases for literal serialization of form="unqualified" elements -- wsdl: don't serialize the decimal portion of a PHP double when the XML type is long -- wsdl: fix serialization of attributes for complexType that is an extension -- wsdlcache: enhance diagnostics -- xmlschema: handle untyped elements -- xmlschema: handle WSDL for SOAP Array that uses the base attribute plus a sequence of element - -2005-01-22, version 0.6.8 -- wsdl: allow an element in one schema to have a type from another schema - -2005-01-24, version 0.6.8 -- xmlschema: correctly parse nested complexType definitions - -2005-02-14, version 0.6.8 -- nusoap_base: fix a bug in which attributes were sometimes not serialized with a value -- nusoap_base: improve serialization of null values (thanks Dominique Stender) -- soap_parser: parse null values by handling the nil attribute (thanks Dominique Stender) -- soap_server: set character encoding for a fault to be the same as for the server (thanks Mark Scott) -- soap_server: correctly check for null value returned from method when WSDL is used (without WSDL, cannot distinguish whether NULL or void return is desired) -- soapclient: for document style, call should always return an array rooted at the response part (all bets are off when there are multiple parts) -- xmlschema: save enumeration values parsed from WSDL - -2005-02-10, version 0.6.9 -- soapclient: only set SOAP headers when they are specified in call params (so setHeaders still works) - -2005-04-04, version 0.6.9 -- soap_server: use get_class instead of is_a (thanks Thomas Noel) -- soapclient: use get_class instead of is_a (thanks Thomas Noel) -- soapclient: add setEndpoint method -- soap_transport_http: fix client certificates (thanks Doug Anarino and Eryan Eriobowo) - -2005-04-29, version 0.6.9 -- nusoap_base: add global variable and methods for setting debug level -- nusoap_base: use xsd:anyType instead of xsd:ur-type to serialize arrays with multiple element types (thanks Ingo Fischer) -- nusoap_base: expand entities in attributes (thanks Gaetano Giunta) -- soapclient: call parent constructor -- soapval: call parent constructor -- soap_fault: call parent constructor -- soap_parser: call parent constructor -- soap_server: assume get_class_methods always returns lower case for PHP 4.x only -- soap_server: call parent constructor -- soap_transport_http: do nothing in setEncoding if gzdeflate is not present (thanks Franck Touanen for pointing this out) -- soap_transport_http: fix check for server request for digest authentication (thanks Mark Spavin) -- soap_transport_http: call parent constructor -- wsdl: fix documentation page popup of one method after another (thanks Owen) -- wsdl: call parent constructor -- wsdl: expand entities in attributes (thanks Gaetano Giunta) -- xmlschema: call parent constructor - -2005-06-03, version 0.6.9 -- nusoap_base: serialize empty arrays as having elements xsd:anyType[0] -- nusoap_base: add encodingStyle parameter to serializeEnvelope -- nusoap_base: serialize xsi:type with nil values -- nusoap_base: improve debug and comments -- soap_parser: correctly parse an empty array to an empty array, not an empty string -- soap_parser: improve debug and comments -- soap_server: specify encodingStyle for envelope when WSDL is used -- soapclient: factor out new getProxyClassCode method -- soapclient: specify encodingStyle for envelope -- soapclient: improve debug and comments -- wsdl: add namespace for Apache SOAP types if a variable of such type is serialized -- wsdl: serialize nil value for nillable elements when no value is provided -- wsdl: serialize xsi:type with nil values -- wsdl: copy attributes as well as elements to an element from its complexType -- wsdl: specify encodingStyle for operations -- wsdl: improve debug and comments -- xmlschema: improve debug and comments - -2005-06-03, version 0.7.0 -- nusoap_base: improve debug and comments -- nusoap_base: fix version, which should have been 0.7.0 since 2005-03-04 - -2005-06-06, version 0.7.1 -- nusoap_base: adjust numeric element names for serialization, instead of forcing them to 'soapVal' -- nusoapmime: add type=text/xml to multipart/related (thanks Emmanuel Cordonnier) -- soap_fault: fix serialization of detail -- soap_server: check required parameters for register method -- soap_server: when getallheaders is used, massage header names -- soap_server: use SOAPAction to determine operation when doc/lit service does not wrap parameters in an element with the method name (thanks Peter Hrastnik) -- soap_transport_http: correctly handle multiple HTTP/1.1 100 responses for https (thanks Jan Slabon) -- wsdl: fixed documentation for addComplexType (thanks Csintalan �d�m) -- wsdl: serialize array data when maxOccurs = 'unbounded' OR maxOccurs > 1 (thanks Dominique Schreckling) -- wsdl: when serializing a string == 'false' as a boolean, set the value to false -- wsdl: when serializing a complexType, require the PHP value supplied to be an array - -2005-07-01, version 0.7.1 -- nusoap_base: Allow SOAP headers to be supplied as an array like parameters -- soap_parser: de-serialize simpleContent that accompanies complexContent -- soap_server: append debug information when programmatically-defined WSDL is returned -- soap_transport_http: Add debug when an outgoing header is set -- soapclient: Allow SOAP headers to be supplied as an array like parameters -- xmlschema: serialize attributes more generally, rather than assuming they are for SOAP 1.1 Array -- wsdl: when serializing, look up types by namespace, not prefix (simple programmatic doc/lit WSDL now seems to work) -- wsdl: process namespace declarations first when parsing an element - -2005-07-27, version 0.7.1 -- nusoap_base: do not override supplied element name with class name when serializing an object in serialize_val -- nusoap_base: remove http://soapinterop.org/xsd (si) from namespaces array -- nusoapmime: add nusoapservermime class to implement MIME attachments on the server -- soap_fault: improve documentation -- soap_server: improve documentation -- soap_server: make consistent use of _SERVER and HTTP_SERVER_VARS -- soap_server: make all incoming HTTP header keys lower case -- soap_server: add hook functions to support subclassing for MIME attachments -- soap_transport_http: remove an unnecessary global statement -- soapclient: when creating a proxy, make $params within each function an associative array -- soapval: improve documentation -- wsdl: when serializing complexType elements, used typed serialization if there is either a type or a reference for the element -- wsdl: allow PHP objects to be serialized as SOAP structs in serializeType -- wsdl: for WSDL and XML Schema imports, don't forget to use the TCP port number (thanks Luca GIOPPO) -- wsdl: make consistent use of _SERVER and HTTP_SERVER_VARS -- xmlschema: improve documentation - -2005-07-31, version 0.7.2 -- nusoap_base: correctly serialize attributes in serialize_val (thanks Hidran Arias) -- soap_parser: when resolving references, do not assume that buildVal returns an array (thanks Akshell) -- soap_parser: removed decode_entities, which does not work (thanks Martin Sarsale) -- soap_server: fix a bug parsing headers from _SERVER and HTTP_SERVER_VARS (thanks Bert Catsburg) -- soap_server: parse all "headers" from HTTP_SERVER_VARS (not just HTTP_*) -- soap_server: use PHP_SELF instead of SCRIPT_NAME for WSDL endpoint -- soap_server: when generating a fault while debug_flag is true, put debug into faultdetail -- wsdl: add enumeration parameter to addSimpleType -- xmlschema: add enumeration parameter to addSimpleType - -2006-02-02, version 0.7.2 -- soapclient: initialize paramArrayStr to improve proxy generation -- soap_parser: handle PHP5 soapclient's incorrect transmission of WSDL-described SOAP encoded arrays. -- soap_server: don't assume _SERVER['HTTPS'] is set; try HTTP_SERVER_VARS['HTTPS'] if it is not -- soap_server: "flatten out" the parameter array to call_user_func_array (thanks Andr� Mamitzsch) -- soap_server: make thrown exceptions conform to specs -- wsdl: use serialize_val to serialize an array when the XSD type is soapenc:Array (JBoss/Axis does this) -- wsdl: change formatting of serialized XML for the WSDL -- xmlschema: change formatting of namespaces when serializing XML for the schema - -2006-04-07, version 0.7.2 -- soap_server: if methodparams is not an array, call call_user_func_array with an empty array (thanks Eric Grossi) -- wsdl: distinguish parts with element specified from those with type specified by suffixing element names with ^ -- wsdl: do a case-insensitive match on schema URI when looking for type -- xmlschema: only get element (not type) when name has ^ suffix - -2006-05-16, version 0.7.2 -- soapclient: add getHeader to get parsed SOAP Header -- soap_parser: check status when receiving Header or Body element -- soap_parser: add soapheader -- soap_server: add requestHeader with parsed SOAP Header - -2006-06-15, version 0.7.2 -- wsdl: fix bug in addComplexType (thanks Maarten Meijer) -- soap_transport_http: change cURL message - -2007-03-19, version 0.7.2 -- soapclient: declare as nusoapclient, then also subclass soapclient if SOAP extension not loaded -- soapclientmime: declare as nusoapclientmime, then also subclass soapclientmime if SOAP extension not loaded - -2007-03-28, version 0.7.2 -- nusoap_base: fix serialization of a soapval when its value is a soapval -- soapval: fix serialization of a soapval when its value is a soapval -- soapval: add __toString (cf. http://article.gmane.org/gmane.comp.php.nusoap.general/2776) -- nusoapclient: use lazy retrieval of WSDL instead of always getting it in the constructor -- nusoapclient: fix getProxy that was broken in last revision -- wsdl: add ability to set authorization credentials and retrieve WSDL outside of constructor - -2007-04-05, version 0.7.2 -- nusoapclientmime: don't rely exclusively on Content-Disposition to distinguish the root part from attachment; also check Content-Type (thanks Ben Bosman) -- nusoapclientmime: obey RFC 2045 Section 5.1 (thanks Chris Butler) -- nusoapservermime: don't rely exclusively on Content-Disposition to distinguish the root part from attachment; also check Content-Type (thanks Ben Bosman) -- nusoapservermime: obey RFC 2045 Section 5.1 (thanks Chris Butler) -- nusoap_base: remove extra whitespace from some XML elements -- nusoap_base: allow SOAP headers to be specified as an associative array (thanks Unique) -- nusoap_base: implement __toString -- nusoap_base: improve doc accuracy and consistency (thanks Martin K?gler) -- iso8601_to_timestamp: avoid problem with negative hours after calculation, etc. (thanks Guntram Trebs) -- nusoapclient: support user-settable cURL options (thanks Ciprian Popovici) -- nusoapclient: call SOAP 1.2 binding operations if no SOAP 1.1 present (there is no reason to believe this will always work!) -- nusoapclient: improve doc accuracy and consistency (thanks Martin K?gler) -- soap_server: don't try to use eval to call function when any parameter is an object -- soap_server: don't print return value within debug string; returned objects would need __toString in PHP 5.2 -- soap_server: use URL scheme for WSDL access as the scheme in SOAPAction -- soap_server: strip port number from server name (some FastCGI implementations include port in server name) -- soap_transport_http: support user-settable cURL options (thanks Ciprian Popovici) -- soap_transport_http: use cURL for NTLM authentication -- soap_transport_http: make digest authentication work for GET as well as POST -- soap_transport_http: improve doc accuracy and consistency (thanks Martin K?gler) -- soapval: remove __toString -- wsdl: set operation style if necessary, but do not override one already provided (thanks Raffaele Capobianco) -- wsdl: check SOAP 1.2 binding operations if no SOAP 1.1 present -- wsdl: improve doc accuracy and consistency (thanks Martin K?gler) -- xmlschema: fix simpleType serialization -- xmlschema: improve doc accuracy and consistency (thanks Martin K?gler) - -2007-04-09, version 0.7.2 -- nusoapclient: set decode_utf8 when creating a proxy (thanks Dmitri Dmitrienko) -- nusoapclient: rename class to nusoap_client -- soap_fault: also provide a class named nusoap_fault -- soap_parser: also provide a class named nusoap_parser -- soap_server: also provide a class named nusoap_server -- soap_transport_http: skip HTTP responses 301 and 401 when using cURL -- soap_transport_http: don't force HTTP Connection header when using cURL -- soap_transport_http: don't set HTTP Host and Content-Length headers when using cURL -- soap_transport_http: support CURLOPT_SSLCERTPASSWD (thanks David Blanco) -- wsdl: support user-settable cURL options (thanks Ciprian Popovici) -- wsdl: serialize parameters for non-SOAP 1.1 binding operations (there is no reason to believe this will always work!) -- xmlschema: also provide a class named nusoap_xmlschema -- nusoapclientmime: rename class to nusoap_client_mime -- nusoapservermime: rename class to nusoap_server_mime - -2007-04-11, version 0.7.2 -- nusoap_client: enable cURL usage to be forced (thanks Giunta Gaetano) -- soap_transport_http: enable cURL proxy usage (thanks Giunta Gaetano) -- soap_transport_http: enable cURL usage to be forced (thanks Giunta Gaetano) -- soap_transport_http: use cURL's HTTP authentication options for basic, digest -- wsdl: enable cURL usage to be forced (thanks Giunta Gaetano) - -2007-04-12, version 0.7.2 -- nusoap_client: add debug -- nusoap_xmlschema: don't add elements of complexTypes to elements array (thanks Heiko Hund) -- soap_transport_http: set cURL connection timeout if supported -- soap_transport_http: add debug when setting cURL option -- soap_transport_http: fix digest authentication broken in previous revision -- wsdl: add debug -- wsdlcache: address some issues with non-existing cache-files and PHP Warnings which came in such cases (thanks Ingo Fischer) -- wsdlcache: change class name to nusoap_wsdlcache - -2007-04-13, version 0.7.2 -- wsdl: wrap parameters if unwrapped values are supplied and WSDL specifies Microsoft-style wrapping - -2007-04-16, version 0.7.2 -- nusoap_base: avoid warning in getDebugAsXMLComment -- nusoap_client: small debug change -- nusoap_client_mime: set responseData when the root part is found - -2007-04-17, version 0.7.2 -- soap_transport_http: improve detection of undefined cURL options (thanks Ingo Fischer) - -2007-05-28, version 0.7.2 -- soap_transport_http: support digest authentication opaque feature (cf. RFC 2617) (thanks Daniel Lacroix) -- soap_transport_http: check safe_mode and open_basedir before setting CURLOPT_FOLLOWLOCATION -- soap_transport_http: skip "HTTP/1.0 200 Connection established" header when cURL returns it (thanks Raimund Jacob) -- nusoap_client: improve handling when getProxy is called and WSDL is not being used -- nusoap_base: add comments about which specifications are used/implemented by NuSOAP -- nusoap_xmlschema: create names for unnamed types that are unique by scope within XML Schema - -2007-06-11, version 0.7.2 -- wsdl: wrap return value if unwrapped value is supplied and WSDL specifies Microsoft-style wrapping - -2007-06-22, version 0.7.2 -- nusoap_xmlschema: fix serialization of simpleType restriction (thanks Rizwan Tejpar) - -2007-07-30, version 0.7.2 -- nusoap_server: Per http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html R2735, rpc/literal accessor elements should not be in a namespace (thanks Kostas Kalevras) -- nusoap_client: Per http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html R2735, rpc/literal accessor elements should not be in a namespace (thanks Kostas Kalevras) - -2007-10-21, version 0.7.2 -- nusoap_server: Per http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html R2735, rpc/literal accessor elements should not be in a namespace (thanks Kostas Kalevras) -- nusoap_client: Per http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html R2735, rpc/literal accessor elements should not be in a namespace (thanks Kostas Kalevras) - -2007-10-26, version 0.7.2 -- nusoap_server: Fix munging of _SERVER variables that start with HTTP_ (thanks Thomas Wieczorek) - -2007-10-30, version 0.7.2 -- nusoap_xmlschema: Serialize values for elementFormDefault, attributeFormDefault -- wsdl: Improve consistency between doc/lit schema auto-wrapping and client's parsed schema -- nusoap_server: Correct bug that placed encodingType in Envelope for doc/lit -- nusoap_server: Specify elementFormDefault for schema within doc/lit wsdl - -2007-10-31, version 0.7.2 -- wsdl: Fix typo in parametersMatchWrapped (thanks Sam Stepanyan) -- soap_transport_http: Fix three typos in setProxy (thanks Sam Stepanyan) -- nusoap_xmlschema: Fix typo in serializeTypeDef (thanks Sam Stepanyan) - -2007-11-06, version 1.0rc1 -- wsdl: Improve handling of return values from doc/lit methods -- nusoap_server: Handle case when method is not in a namespace - -2007-11-27, version 1.0rc1 -- nusoap_server: always try to invoke service for a POST -- nusoap_server: only return Location: for WSDL at http://... -- nusoap_base: change some syntax associated with globalDebugLevel - -2008-01-08, version 1.0rc1 -- nusoap_server: fix a typo where = was used instead of == (thanks J. (Johan) Bosma) - -2008-01-10, version 1.0rc1 -- nusoap_client: handle case where request or response has no content-type header (thanks Ingo Fischer) -- nusoap_server: handle case where request or response has no content-type header (thanks Ingo Fischer) -- wsdl: change CSS for .title in webDescription (thanks Marcus Uy) - -2008-01-25, version 1.0rc1 -- nusoap_xmlschema: when an element is of a complexType that is an extension, copy extensionBase from the type -- nusoap_xmlschema: do not apply elementFormDefault to globally defined elements - -2008-02-11, version 1.0rc1 -- wsdl: internally set form of wrapped parameter elements to unqualified (so server handles correctly) - -2008-03-03, version 1.0.rc1 -- nusoap_xmlschema: fix extension when base type has no explicit prefix -- nusoap_xmlschema: support XML Schema include -- wsdl: improve support for sequence by serializing inherited attributes and elements first - -2008-03-04, version 1.0.rc1 -- wsdl: allow WSDL port name to be specified in getOperations -- nusoap_client: allow WSDL port name to be specified in ctor - -2008-03-06, version 1.0rc1 -- wsdl: fix some port name variable references -- nusoap_base: change comments regarding preferred mode of support -- wsdl2nusoap: initial revision - -2008-03-14, version 1.0rc1 -- nusoap_base: fix timezone offset in timestamp_to_iso8601 (thanks Mario Trojan) - -2008-03-27, version 1.0rc1 -- nusoap_server: fix bug setting encodingStyle in serialize_return (thanks Luca Gobbo) - -2008-05-15, version 1.0rc1 -- nusoap_parser: handle case where Header or Body tags are used within SOAP messages (thanks Sergey Zhuravlev) - -2008-08-26, version 1.0rc1 -- wsdl: serialize simpleContent for complexType -- wsdl: avoid serializing complexType elements with no value and minOccurs = 0 regardless of nillability - -2010-04-26, version 0.9.5 -- nusoap_xmlschema: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) -- wsdl: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) -- soap_transport_http: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) -- soap_transport_http: remove call to deprecated function set_magic_quotes_runtime -- nusoap_server: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) -- nusoap_server: check that value is an object before calling get_class (thanks Pier-Luc Duchaine) -- nusoap_parser: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) -- nusoap_client: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) -- nusoap_client: do not assign the return value of new by reference (it is deprecated) (thanks Pier-Luc Duchaine) -- nusoap_base: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) -- nusoapmime: do not assign the return value of new by reference (it is deprecated) +2003-07-21, version 0.6.5 +- soap_transport_http: SOAPAction header is quoted again, fixes problem w/ Weblogic Server +- applied Jason Levitt patch for proper array serialization, fixes problem w/ Amazon shopping cart services +- fixed null value serialization +- applied patch from "BZC ToOn'S" - fixes wsdl serialization when no parameters +- applied John's patch, implementing compression for the server + +2003-07-22, version 0.6.5 +- soap_server: fixed bug causing charset encoding not to be passed to the parser +- soap_fault: added default encoding to the fault serialization +- soap_parser: changed the parser to pre-load the parent's result array when processing scalar values. This increases parsing speed. + +2003-07-23, version 0.6.5 +- soap_base: fix code that overwrites user-supplied attributes in serialize_val +- soap_base: use arrays-of-arrays rather than attempting multi-dimensional in serialize_val +- xmlschema: emit import statements and qualify all elements with prefix in serializeSchema (better interop with validation tools) +- soapclient: get xml character encoding from HTTP Content-Type header if provided, e.g. text/xml;charset="UTF-8" +- soapclient: use headers in call if provided (previously ignored this parameter) +- soap_server: in parse_request, if neither getallheaders nor $_SERVER are available, use $HTTP_SERVER_VARS to get SOAPAction and xml encoding + +2003-07-24, version 0.6.5 +- soap_transport_http: apply patch from Steven Brown "if the server closes connection prematurely, nusoap would spin trying to read data that isn't there" + +2003-07-25, version 0.6.5 +- wsdl: apply patch from Sven to workaround single schema limitation +- wsdl: apply a variant of the patch from Holger to handle empty values for array by serializing an array with 0 elements +- xmlschema: remove the redundant default namespace attribute on the schema element; everything in xsd is explicitly specified as being from xsd +- soap_transport_http: fix setCredentials and add TODO comments in sendHTTPS about what to change if this setCredentials stays + +2003-07-30, version 0.6.5 +- nusoap_base: change documentation of soap_defencoding to specify it is the encoding for outgoing messages +- nusoap_base: only change &, <, > to entities, not all HTML entities +- soap_transport_http: update the Content-Type header in sendRequest, since soap_defencoding could be changed after ctor is called +- soap_server: use soap_defencoding instead of charset_encoding +- soap_server: read encoding from _SERVER if available +- nusoap_base: do entity translation for string parameters with an xsd type specified (thanks David Derr) + +2003-07-31, version 0.6.5 +- soap_transport_http: add proxy authentication +- soap_transport_http: build payload the same way for http and https +- wsdl: add proxy authentication +- soapclient: add proxy authentication +- soapclient: allow proxy information in ctor, so that it can be used for wsdl + +2003-08-01, version 0.6.5 +- soap_transport_http: close a persistent connection that's at EOF +- soap_transport_http: prevent conflicts between setEncoding and usePersistentConnection +- soap_transport_http: fix use of $headers instead of $this->incoming_headers in getResponse +- soapclient: improve handling of persistent connections +- soapclient: force xml_encoding to upper case +- soap_server: let the Web server decide whether to close the connection (no Connection: close header) +- soap_server: force xml_encoding to upper case + +2003-08-04, version 0.6.5 +- soap_parser: use XML type information to pick a PHP data type; also decode base64 +- soap_server: read all HTTP headers when using _SERVER or HTTP_SERVER_VARS +- soap_server: add gzip encoding support for outgoing messages +- soap_transport_http: deflate is gzcompress/gzuncompress (cf. http://archive.develooper.com/libwww@perl.org/msg04650.html) +- soap_transport_http: clean use of persistentConnection so it's always a set boolean +- soapclient: add responseData member to access deflated/gunzipped payload + +2003-08-05, version 0.6.5 +- soap_server: look multiple places when setting debug_flag + +2003-08-07, version 0.6.5 +- nusoap_base: serialize specified type (e.g. ArrayOfString) even for simple array +- wsdl: only specify encodingStyle in the input/output soap bindings when it is not empty (thanks Guillaume) + +2003-08-15, version 0.6.5 +- soap_parser: fix parsing of elements with no XSD type specified +- soap_parser: use PHP string type for XSD long and unsignedLong types + +2003-08-16, version 0.6.5 +- soap_parser: fix code generating warning (thanks Torsten) + +2003-08-19, version 0.6.5 +- soap_parser: fix another line of code generating a warning (thanks Torsten) + +2003-08-22, version 0.6.5 +- soap_server: remove all '--' from debug_str; previous code changed '---' to '- --' +- wsdl, soapclient, soap_parser: patch submitted by Mark Spavin as described by + the following... +> Changes for the multiple/nested imports from the wsdl file. This builds an +> array of files not just the last one and also checks for relative paths to +> the parent. This will then get the imported files from the remote site +> instead of your local disk. Local wsdl files should still work (untested). +> +> Changes for multiple encoding sytles as previously posted + +2003-08-24, version 0.6.5 +- wsdl, soapclient: fix some PHP notices from previous update + +2003-08-26, version 0.6.5 +- wsdl: support multiple SOAP ports +- soapclient, soap_server: when no charset is specified, use UTF-8, even though HTTP specifies US-ASCII. +- soap_transport_http: do not prepend $host with 'ssl://' for https (is this required for older cURL versions?) + +2003-08-27, version 0.6.5 +- soap_server: support compressed request messages (thanks John Huong) +- soap_parser: deserialize Apache Vector as an array +- xmlschema: use $this->typemap in getPHPType (which is not used) +- soapclient, wsdl: check for WSDL errors after serializing parameters +- nusoap_base: add serialization of Apache Map (when not using WSDL) +- wsdl: add serialization of Apache Map (when using WSDL) +- wsdl: only change &, <, > to entities, not all HTML entities + +2003-08-28, version 0.6.5 +- soap_transport_http: disable cURL verification of peer and server (formerly the cURL default) +- soap_transport_http: mingle cURL code with straight http, so sendHTTP is no longer needed + +2003-08-29, version 0.6.6 +- soap_transport_http: add setContentType +- soapclient: call setContentType using new getHTTPContentType and getHTTPContentTypeCharset + +2003-09-05, version 0.6.6 +- wsdl: add some more code to handle null/nil values (but there's still a way to go) + +2003-10-21, version 0.6.6 +- soap_transport_http: only include port in Host header if it was specified in the URL +- soap_transport_http: add some code to use OpenSSL for PHP ssl:// scheme, but comment out since it's not ready +- soap_server: use $_SERVER['PHP_SELF'] if $GLOBALS['PHP_SELF'] is not set +- wsdl: add WSDL request and response and transport debug to debug +- wsdl: handle custom type extending xmlschema namespace (GLUE ... Thanks Matt) +- soap_parser: add param to docs +- soapclient: add getHTTPBody, getHTTPContentType, getHTTPContentTypeCharset (anticipating MIME subclass) + +2003-10-28, version 0.6.6 +- nusoap_base: add expandEntities method +- wsdl: use expandEntities +- soap_fault: use expandEntities +- soap_transport_http: Allow credentials to be included in URL, rather than requiring setCredentials +- soap_transport_http: Merge HTTP headers that span multiple lines +- soap_parser: Properly set errors in ctor +- soapclient: Pass headers to parseResponse and parse them in that method + +2003-10-30, version 0.6.6 +- xmlschema: Add some information for the related type to an element + +2003-12-09, version 0.6.6 +- nusoap_base: Add some namespace methods previously in xmlschema +- xmlschema: Improve parsing of complexType, element and simpleType +- xmlschema: Improve serialization +- xmlschema: Track imports +- xmlschema: Track elementFormDefault and form attributes +- wsdl: Support multiple <schema> (note that setting $server->wsdl->schemaTargetNamespace no longer does anything! Use configureWSDL instead.) +- wsdl: Use form attribute of element to control namespace specification +- wsdl: Support chained imports (A imports B which imports C) +- wsdl: Include port in endpoint address when serializing +- soap_server: Fix use of style (rpc|document) and use (encoded|literal) +- soap_server: Support _SERVER[CONTENT_TYPE] in addition to _SERVER[HTTP_CONTENT_TYPE] +- soap_server: Support wsdl with multiple <schema> +- soap_client: Remove a var_dump +- soap_client: Add style and use parameters to call method to support doc/lit without WSDL +- soap_transport_http: Check that $this->fp exists when doing persistent connections + +2003-12-17, version 0.6.6 +- soap_server: pass namespaces to xmlschema constructor +- wsdl: post-process after all imports +- wsdl: remove some debug, add some error handling +- xmlschema: allow enclosing namespaces to be specified in constructor +- xmlschema: improve handling of compositors and simple types + +2004-01-08, version 0.6.6 +- soap_server: when requested WSDL is in a file, return to client using passthru (thanks Ingo Fischer) +- soapclient: have proxy inherit more client state +- soapclient: allow timeout and response timeout to be specified in the constructor +- wsdl: allow timeout and response timeout to be specified in the constructor +- soap_transport_http: allow response timeout to be specified in send and sendHTTPS + +2004-01-28, version 0.6.6 +- wsdl: add namespace for array and scalar when form is qualified +- wsdl: fix a bug in which data type of complexType elements were ignored in serialization +- wsdl: enhance handling of URLs with file scheme +- wsdl: add addSimpleType +- xmlschema: add addSimpleType +- xmlschema: always set phpType elements +- soapclient: allow a wsdl instance to be specified in constructor +- soap_server: allow a wsdl instance to be specified in constructor (not tested!) +- soap_server: fix default SOAPAction created in register method +- soap_transport_http: accept chunking with LF separators in addition to CRLF. +- wsdlcache: added class +- nusoapmime: fix comments + +2004-02-23, version 0.6.6 +- soap_transport_http: don't try to unchunk cURL data, since cURL already does it +- soap_transport_http: append CVS revision to version in User-Agent +- wsdl: serialize boolean as true|false, not 1|0, to agree with XML Schema +- soap_server: always exit() after returning WSDL +- soap_server: use the WSDL URL scheme as the default endpoint URL scheme +- soap_server: append CVS revision to version in X-SOAP-Server +- nusoap_base: add (CVS) revision +- wsdlcache: synchronize using a per-WSDL lock file (Thanks Ingo) +- wsdlcache: add cache lifetime, after which cache contents are invalidated (Thanks Ingo) + +2004-03-15, version 0.6.6 +- nusoap_base: add isArraySimpleOrStruct method +- soap_server: improve WSDL URL scheme determination +- soap_server: only deflate/gzip payloads > 1024 bytes +- soap_server: fix parameter order in fault method (always used as faultcode, faultstring) +- soap_server: refactor parse_request into multiple functions (for sanity) +- soap_server: set the namespace on the Response element to the same as the request +- soap_server: name the return value element 'return' by default +- soap_server: added and documented data fields, so that service programmers can use them if desired +- soap_parser: standardize parsing error message +- soap_parser: fix document and responseHeaders so they are the correct XML text (as documented) +- soap_transport_http: fix read from persistent connection +- soapclient: clean up debugging for persistent connection +- wsdl: enforce correct naming of messages parts when an associative array is used for parameters +- wsdl: better serialization of null values +- wsdl: standardize parsing error message +- xmlschema: standardize parsing error message + +2004-03-24, version 0.6.7 +- soap_transport_http: add digest authentication (based on code by Kevin A. Miller) +- xmlschema: improve parsing of import elements +- wsdl: do schema imports even if there are no wsdl imports + +2004-04-12, version 0.6.7 +- wsdl: serialize multiple elements when maxOccurs="unbounded" and value is an array +- wsdl: serialize soapval values (used to force an XML type, e.g. when WSDL uses an abstract type) +- nusoapmime: do not require nusoap.php (it is now the programmer's responsibility) + +2004-04-21, version 0.6.7 +- soap_parser: parse repeated element name into an array (de-serializes doc/lit array into a PHP array when there is more than 1 array element) +- soap_server: do not wrap response in a response element for a document style service + +2004-04-30, version 0.6.7 +- soap_transport_http: allow digest auth params to be separated by "," as well as ", " +- soap_transport_http: re-initialize incoming headers for each response +- soap_server: add methodreturnisliteralxml property to allow service function to return XML as a string +- soapclient: improve rpc/literal support +- soapclient: allow XML string as call params in addition to array +- soapclient: support document style and literal encoding when not using WSDL + +2004-05-05, version 0.6.7 +- wsdl: serialize PHP objects for WSDL XML Schema complexTypes, in addition to associative arrays +- wsdl: fix WSDL generation when there is no encodingStyle +- soap_transport_http: suppress fsockopen warnings +- soap_transport_http: detect socket timeouts when reading (0 bytes returned) +- soap_transport_http: read chunked content "in-line" so it works on a persistent connection +- nusoap_base: serialize boolean as true|false, not 1|0, to agree with XML Schema +- nusoap_base: serialize array of struct differently than array of array + +2004-06-25, version 0.6.8 +- soap_server: prefer gzip to deflate, since IE does not like our deflate +- soap_server: move webDescription to the wsdl class +- soap_server: allow class and instance method calls for service (thanks Ingo Fischer and Roland Knall) +- wsdl: get webDescription from the soap_server class +- wsdl: allow compression from the server +- wsdl: fix serialization of soapval without a type +- wsdl: propagate debug value from query string to SOAP endpoint in programmatic WSDL generation +- nusoap_base: add anyType, anySimpleType for 2001 XML Schema +- nusoap_base: provide additional debug functions +- soap_transport_http: ignore Content-Length when chunked encoding is used +- soap_transport_http: remove ':' from username for Basic authentication (cf. RFC 2617) +- soap_transport_http: urldecode username and password taken from URL +- soap_transport_http: use raw inflate/deflate for IE/IIS compatibility, rather than having Zlib headers according to HTTP 1.1 spec +- soap_transport_http: attempt to handle the case when both the service application and Web server compress the response +- soapclient: when creating proxy methods, replace '.' in operation name with '__' in function name +- soapclient: initialize requestHeaders in proxy +- general: use new debug methods; never access debug_str directly + +2004-09-30, version 0.6.8 +- soapclient: do not allow getProxy call when WSDL is not used +- soapclient: use ISO-8859-1 as the charset if not specified in the Content-Type header +- soapclient: when an empty string is specified for the call namespace, do not put the method element in a namespace +- soapclient: let soap_transport_http check for SSL support +- soapclient: have proxy inherit soap_defencoding from the client from which it is generated +- soapclient: do not assume that 'ns1' is an unused namespace prefix; always generate namespace prefixes randomly +- soap_parser: compare any encoding in the XML declaration to the charset from the HTTP Content-Type header (thanks Ingo Fischer) +- soap_parser: improve parse repeated element name into an array (de-serializes doc/lit array into a PHP array when there is more than 1 array element) +- soap_server: use ISO-8859-1 as the charset if not specified in the Content-Type header +- soap_server: allow suppression of automatic UTF-8 decoding +- soap_server: fix a bug when call_user_func_array() is used +- soap_transport_http: correct digest authentication through a proxy +- wsdl: serialize SOAP-ENC types similarly to XSD types +- xmlschema: force unprefixed type into default namespace +- xmlschema: fix serialization of definition of simple types + +2004-10-01, version 0.6.8 +- soap_parser: handle default namespace attributes +- soap_server: add default_utf8 field +- soap_server: support literal encoding (with RPC style) +- soap_transport_http: parse HTTP status and generate error for 300, 302-307, 400, 401-417, 501-505 (thanks for the idea Ghislain) +- soap_transport_http: follow HTTP redirection (HTTP status 301 and Location header) (thanks for the idea Ghislain) +- xmlschema: allow any attributes to be specified in an element of a complexType, e.g., abstract, default, form, minOccurs, maxOccurs, nillable (thanks Jirka Pech for the original patch) + +2004-10-02, version 0.6.8 +- soapclient: read/write cookies (thanks Ingo) +- soap_server: change faultcode on non-resendable faults to Client +- soap_transport_http: read/write cookies (thanks Ingo) + +2004-10-05, version 0.6.8 +- wsdl: add addElement method +- wsdl: support the document style in the register method +- xmlschema: parse unnamed simpleTypes, rather than ignoring them +- xmlschema: include untyped elements when parsing a complexType +- xmlschema: add addElement method + +2004-10-14, version 0.6.8 +- soapclient: support client certificates +- soap_parser: deserialize attributes, prefixing names with "!" +- soap_server: notify the client with HTML when WSDL is requested but not supported by service +- soap_transport_http: support client certificates +- wsdl: support defaults for elements of a complexType +- wsdl: serialize elements from complexType extension base +- wsdl: serialize data (associative array elements) as attributes according to XML Schema +- xmlschema: record extension base if present for a complexType + +2004-12-15, version 0.6.8 +- nusoap_base: add 2000 XML Schema (rare, but used by Akamai) +- soap_parser: avoid deserializing more common attributes that are not data +- soap_parser: be lax when HTTP specifies ISO-8859-1 (the default) and XML specifies UTF-8 (the norm) +- soap_server: account for the fact that get_class_methods returns methods in all lower case (thanks Steve Haldane) +- soap_transport_http: parse digest info that includes '=' in the data (thanks Jinsuk Kim) +- wsdl: feably handle some cases for literal serialization of form="unqualified" elements +- wsdl: don't serialize the decimal portion of a PHP double when the XML type is long +- wsdl: fix serialization of attributes for complexType that is an extension +- wsdlcache: enhance diagnostics +- xmlschema: handle untyped elements +- xmlschema: handle WSDL for SOAP Array that uses the base attribute plus a sequence of element + +2005-01-22, version 0.6.8 +- wsdl: allow an element in one schema to have a type from another schema + +2005-01-24, version 0.6.8 +- xmlschema: correctly parse nested complexType definitions + +2005-02-14, version 0.6.8 +- nusoap_base: fix a bug in which attributes were sometimes not serialized with a value +- nusoap_base: improve serialization of null values (thanks Dominique Stender) +- soap_parser: parse null values by handling the nil attribute (thanks Dominique Stender) +- soap_server: set character encoding for a fault to be the same as for the server (thanks Mark Scott) +- soap_server: correctly check for null value returned from method when WSDL is used (without WSDL, cannot distinguish whether NULL or void return is desired) +- soapclient: for document style, call should always return an array rooted at the response part (all bets are off when there are multiple parts) +- xmlschema: save enumeration values parsed from WSDL + +2005-02-10, version 0.6.9 +- soapclient: only set SOAP headers when they are specified in call params (so setHeaders still works) + +2005-04-04, version 0.6.9 +- soap_server: use get_class instead of is_a (thanks Thomas Noel) +- soapclient: use get_class instead of is_a (thanks Thomas Noel) +- soapclient: add setEndpoint method +- soap_transport_http: fix client certificates (thanks Doug Anarino and Eryan Eriobowo) + +2005-04-29, version 0.6.9 +- nusoap_base: add global variable and methods for setting debug level +- nusoap_base: use xsd:anyType instead of xsd:ur-type to serialize arrays with multiple element types (thanks Ingo Fischer) +- nusoap_base: expand entities in attributes (thanks Gaetano Giunta) +- soapclient: call parent constructor +- soapval: call parent constructor +- soap_fault: call parent constructor +- soap_parser: call parent constructor +- soap_server: assume get_class_methods always returns lower case for PHP 4.x only +- soap_server: call parent constructor +- soap_transport_http: do nothing in setEncoding if gzdeflate is not present (thanks Franck Touanen for pointing this out) +- soap_transport_http: fix check for server request for digest authentication (thanks Mark Spavin) +- soap_transport_http: call parent constructor +- wsdl: fix documentation page popup of one method after another (thanks Owen) +- wsdl: call parent constructor +- wsdl: expand entities in attributes (thanks Gaetano Giunta) +- xmlschema: call parent constructor + +2005-06-03, version 0.6.9 +- nusoap_base: serialize empty arrays as having elements xsd:anyType[0] +- nusoap_base: add encodingStyle parameter to serializeEnvelope +- nusoap_base: serialize xsi:type with nil values +- nusoap_base: improve debug and comments +- soap_parser: correctly parse an empty array to an empty array, not an empty string +- soap_parser: improve debug and comments +- soap_server: specify encodingStyle for envelope when WSDL is used +- soapclient: factor out new getProxyClassCode method +- soapclient: specify encodingStyle for envelope +- soapclient: improve debug and comments +- wsdl: add namespace for Apache SOAP types if a variable of such type is serialized +- wsdl: serialize nil value for nillable elements when no value is provided +- wsdl: serialize xsi:type with nil values +- wsdl: copy attributes as well as elements to an element from its complexType +- wsdl: specify encodingStyle for operations +- wsdl: improve debug and comments +- xmlschema: improve debug and comments + +2005-06-03, version 0.7.0 +- nusoap_base: improve debug and comments +- nusoap_base: fix version, which should have been 0.7.0 since 2005-03-04 + +2005-06-06, version 0.7.1 +- nusoap_base: adjust numeric element names for serialization, instead of forcing them to 'soapVal' +- nusoapmime: add type=text/xml to multipart/related (thanks Emmanuel Cordonnier) +- soap_fault: fix serialization of detail +- soap_server: check required parameters for register method +- soap_server: when getallheaders is used, massage header names +- soap_server: use SOAPAction to determine operation when doc/lit service does not wrap parameters in an element with the method name (thanks Peter Hrastnik) +- soap_transport_http: correctly handle multiple HTTP/1.1 100 responses for https (thanks Jan Slabon) +- wsdl: fixed documentation for addComplexType (thanks Csintalan �d�m) +- wsdl: serialize array data when maxOccurs = 'unbounded' OR maxOccurs > 1 (thanks Dominique Schreckling) +- wsdl: when serializing a string == 'false' as a boolean, set the value to false +- wsdl: when serializing a complexType, require the PHP value supplied to be an array + +2005-07-01, version 0.7.1 +- nusoap_base: Allow SOAP headers to be supplied as an array like parameters +- soap_parser: de-serialize simpleContent that accompanies complexContent +- soap_server: append debug information when programmatically-defined WSDL is returned +- soap_transport_http: Add debug when an outgoing header is set +- soapclient: Allow SOAP headers to be supplied as an array like parameters +- xmlschema: serialize attributes more generally, rather than assuming they are for SOAP 1.1 Array +- wsdl: when serializing, look up types by namespace, not prefix (simple programmatic doc/lit WSDL now seems to work) +- wsdl: process namespace declarations first when parsing an element + +2005-07-27, version 0.7.1 +- nusoap_base: do not override supplied element name with class name when serializing an object in serialize_val +- nusoap_base: remove http://soapinterop.org/xsd (si) from namespaces array +- nusoapmime: add nusoapservermime class to implement MIME attachments on the server +- soap_fault: improve documentation +- soap_server: improve documentation +- soap_server: make consistent use of _SERVER and HTTP_SERVER_VARS +- soap_server: make all incoming HTTP header keys lower case +- soap_server: add hook functions to support subclassing for MIME attachments +- soap_transport_http: remove an unnecessary global statement +- soapclient: when creating a proxy, make $params within each function an associative array +- soapval: improve documentation +- wsdl: when serializing complexType elements, used typed serialization if there is either a type or a reference for the element +- wsdl: allow PHP objects to be serialized as SOAP structs in serializeType +- wsdl: for WSDL and XML Schema imports, don't forget to use the TCP port number (thanks Luca GIOPPO) +- wsdl: make consistent use of _SERVER and HTTP_SERVER_VARS +- xmlschema: improve documentation + +2005-07-31, version 0.7.2 +- nusoap_base: correctly serialize attributes in serialize_val (thanks Hidran Arias) +- soap_parser: when resolving references, do not assume that buildVal returns an array (thanks Akshell) +- soap_parser: removed decode_entities, which does not work (thanks Martin Sarsale) +- soap_server: fix a bug parsing headers from _SERVER and HTTP_SERVER_VARS (thanks Bert Catsburg) +- soap_server: parse all "headers" from HTTP_SERVER_VARS (not just HTTP_*) +- soap_server: use PHP_SELF instead of SCRIPT_NAME for WSDL endpoint +- soap_server: when generating a fault while debug_flag is true, put debug into faultdetail +- wsdl: add enumeration parameter to addSimpleType +- xmlschema: add enumeration parameter to addSimpleType + +2006-02-02, version 0.7.2 +- soapclient: initialize paramArrayStr to improve proxy generation +- soap_parser: handle PHP5 soapclient's incorrect transmission of WSDL-described SOAP encoded arrays. +- soap_server: don't assume _SERVER['HTTPS'] is set; try HTTP_SERVER_VARS['HTTPS'] if it is not +- soap_server: "flatten out" the parameter array to call_user_func_array (thanks Andr� Mamitzsch) +- soap_server: make thrown exceptions conform to specs +- wsdl: use serialize_val to serialize an array when the XSD type is soapenc:Array (JBoss/Axis does this) +- wsdl: change formatting of serialized XML for the WSDL +- xmlschema: change formatting of namespaces when serializing XML for the schema + +2006-04-07, version 0.7.2 +- soap_server: if methodparams is not an array, call call_user_func_array with an empty array (thanks Eric Grossi) +- wsdl: distinguish parts with element specified from those with type specified by suffixing element names with ^ +- wsdl: do a case-insensitive match on schema URI when looking for type +- xmlschema: only get element (not type) when name has ^ suffix + +2006-05-16, version 0.7.2 +- soapclient: add getHeader to get parsed SOAP Header +- soap_parser: check status when receiving Header or Body element +- soap_parser: add soapheader +- soap_server: add requestHeader with parsed SOAP Header + +2006-06-15, version 0.7.2 +- wsdl: fix bug in addComplexType (thanks Maarten Meijer) +- soap_transport_http: change cURL message + +2007-03-19, version 0.7.2 +- soapclient: declare as nusoapclient, then also subclass soapclient if SOAP extension not loaded +- soapclientmime: declare as nusoapclientmime, then also subclass soapclientmime if SOAP extension not loaded + +2007-03-28, version 0.7.2 +- nusoap_base: fix serialization of a soapval when its value is a soapval +- soapval: fix serialization of a soapval when its value is a soapval +- soapval: add __toString (cf. http://article.gmane.org/gmane.comp.php.nusoap.general/2776) +- nusoapclient: use lazy retrieval of WSDL instead of always getting it in the constructor +- nusoapclient: fix getProxy that was broken in last revision +- wsdl: add ability to set authorization credentials and retrieve WSDL outside of constructor + +2007-04-05, version 0.7.2 +- nusoapclientmime: don't rely exclusively on Content-Disposition to distinguish the root part from attachment; also check Content-Type (thanks Ben Bosman) +- nusoapclientmime: obey RFC 2045 Section 5.1 (thanks Chris Butler) +- nusoapservermime: don't rely exclusively on Content-Disposition to distinguish the root part from attachment; also check Content-Type (thanks Ben Bosman) +- nusoapservermime: obey RFC 2045 Section 5.1 (thanks Chris Butler) +- nusoap_base: remove extra whitespace from some XML elements +- nusoap_base: allow SOAP headers to be specified as an associative array (thanks Unique) +- nusoap_base: implement __toString +- nusoap_base: improve doc accuracy and consistency (thanks Martin K?gler) +- iso8601_to_timestamp: avoid problem with negative hours after calculation, etc. (thanks Guntram Trebs) +- nusoapclient: support user-settable cURL options (thanks Ciprian Popovici) +- nusoapclient: call SOAP 1.2 binding operations if no SOAP 1.1 present (there is no reason to believe this will always work!) +- nusoapclient: improve doc accuracy and consistency (thanks Martin K?gler) +- soap_server: don't try to use eval to call function when any parameter is an object +- soap_server: don't print return value within debug string; returned objects would need __toString in PHP 5.2 +- soap_server: use URL scheme for WSDL access as the scheme in SOAPAction +- soap_server: strip port number from server name (some FastCGI implementations include port in server name) +- soap_transport_http: support user-settable cURL options (thanks Ciprian Popovici) +- soap_transport_http: use cURL for NTLM authentication +- soap_transport_http: make digest authentication work for GET as well as POST +- soap_transport_http: improve doc accuracy and consistency (thanks Martin K?gler) +- soapval: remove __toString +- wsdl: set operation style if necessary, but do not override one already provided (thanks Raffaele Capobianco) +- wsdl: check SOAP 1.2 binding operations if no SOAP 1.1 present +- wsdl: improve doc accuracy and consistency (thanks Martin K?gler) +- xmlschema: fix simpleType serialization +- xmlschema: improve doc accuracy and consistency (thanks Martin K?gler) + +2007-04-09, version 0.7.2 +- nusoapclient: set decode_utf8 when creating a proxy (thanks Dmitri Dmitrienko) +- nusoapclient: rename class to nusoap_client +- soap_fault: also provide a class named nusoap_fault +- soap_parser: also provide a class named nusoap_parser +- soap_server: also provide a class named nusoap_server +- soap_transport_http: skip HTTP responses 301 and 401 when using cURL +- soap_transport_http: don't force HTTP Connection header when using cURL +- soap_transport_http: don't set HTTP Host and Content-Length headers when using cURL +- soap_transport_http: support CURLOPT_SSLCERTPASSWD (thanks David Blanco) +- wsdl: support user-settable cURL options (thanks Ciprian Popovici) +- wsdl: serialize parameters for non-SOAP 1.1 binding operations (there is no reason to believe this will always work!) +- xmlschema: also provide a class named nusoap_xmlschema +- nusoapclientmime: rename class to nusoap_client_mime +- nusoapservermime: rename class to nusoap_server_mime + +2007-04-11, version 0.7.2 +- nusoap_client: enable cURL usage to be forced (thanks Giunta Gaetano) +- soap_transport_http: enable cURL proxy usage (thanks Giunta Gaetano) +- soap_transport_http: enable cURL usage to be forced (thanks Giunta Gaetano) +- soap_transport_http: use cURL's HTTP authentication options for basic, digest +- wsdl: enable cURL usage to be forced (thanks Giunta Gaetano) + +2007-04-12, version 0.7.2 +- nusoap_client: add debug +- nusoap_xmlschema: don't add elements of complexTypes to elements array (thanks Heiko Hund) +- soap_transport_http: set cURL connection timeout if supported +- soap_transport_http: add debug when setting cURL option +- soap_transport_http: fix digest authentication broken in previous revision +- wsdl: add debug +- wsdlcache: address some issues with non-existing cache-files and PHP Warnings which came in such cases (thanks Ingo Fischer) +- wsdlcache: change class name to nusoap_wsdlcache + +2007-04-13, version 0.7.2 +- wsdl: wrap parameters if unwrapped values are supplied and WSDL specifies Microsoft-style wrapping + +2007-04-16, version 0.7.2 +- nusoap_base: avoid warning in getDebugAsXMLComment +- nusoap_client: small debug change +- nusoap_client_mime: set responseData when the root part is found + +2007-04-17, version 0.7.2 +- soap_transport_http: improve detection of undefined cURL options (thanks Ingo Fischer) + +2007-05-28, version 0.7.2 +- soap_transport_http: support digest authentication opaque feature (cf. RFC 2617) (thanks Daniel Lacroix) +- soap_transport_http: check safe_mode and open_basedir before setting CURLOPT_FOLLOWLOCATION +- soap_transport_http: skip "HTTP/1.0 200 Connection established" header when cURL returns it (thanks Raimund Jacob) +- nusoap_client: improve handling when getProxy is called and WSDL is not being used +- nusoap_base: add comments about which specifications are used/implemented by NuSOAP +- nusoap_xmlschema: create names for unnamed types that are unique by scope within XML Schema + +2007-06-11, version 0.7.2 +- wsdl: wrap return value if unwrapped value is supplied and WSDL specifies Microsoft-style wrapping + +2007-06-22, version 0.7.2 +- nusoap_xmlschema: fix serialization of simpleType restriction (thanks Rizwan Tejpar) + +2007-07-30, version 0.7.2 +- nusoap_server: Per http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html R2735, rpc/literal accessor elements should not be in a namespace (thanks Kostas Kalevras) +- nusoap_client: Per http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html R2735, rpc/literal accessor elements should not be in a namespace (thanks Kostas Kalevras) + +2007-10-21, version 0.7.2 +- nusoap_server: Per http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html R2735, rpc/literal accessor elements should not be in a namespace (thanks Kostas Kalevras) +- nusoap_client: Per http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html R2735, rpc/literal accessor elements should not be in a namespace (thanks Kostas Kalevras) + +2007-10-26, version 0.7.2 +- nusoap_server: Fix munging of _SERVER variables that start with HTTP_ (thanks Thomas Wieczorek) + +2007-10-30, version 0.7.2 +- nusoap_xmlschema: Serialize values for elementFormDefault, attributeFormDefault +- wsdl: Improve consistency between doc/lit schema auto-wrapping and client's parsed schema +- nusoap_server: Correct bug that placed encodingType in Envelope for doc/lit +- nusoap_server: Specify elementFormDefault for schema within doc/lit wsdl + +2007-10-31, version 0.7.2 +- wsdl: Fix typo in parametersMatchWrapped (thanks Sam Stepanyan) +- soap_transport_http: Fix three typos in setProxy (thanks Sam Stepanyan) +- nusoap_xmlschema: Fix typo in serializeTypeDef (thanks Sam Stepanyan) + +2007-11-06, version 1.0rc1 +- wsdl: Improve handling of return values from doc/lit methods +- nusoap_server: Handle case when method is not in a namespace + +2007-11-27, version 1.0rc1 +- nusoap_server: always try to invoke service for a POST +- nusoap_server: only return Location: for WSDL at http://... +- nusoap_base: change some syntax associated with globalDebugLevel + +2008-01-08, version 1.0rc1 +- nusoap_server: fix a typo where = was used instead of == (thanks J. (Johan) Bosma) + +2008-01-10, version 1.0rc1 +- nusoap_client: handle case where request or response has no content-type header (thanks Ingo Fischer) +- nusoap_server: handle case where request or response has no content-type header (thanks Ingo Fischer) +- wsdl: change CSS for .title in webDescription (thanks Marcus Uy) + +2008-01-25, version 1.0rc1 +- nusoap_xmlschema: when an element is of a complexType that is an extension, copy extensionBase from the type +- nusoap_xmlschema: do not apply elementFormDefault to globally defined elements + +2008-02-11, version 1.0rc1 +- wsdl: internally set form of wrapped parameter elements to unqualified (so server handles correctly) + +2008-03-03, version 1.0.rc1 +- nusoap_xmlschema: fix extension when base type has no explicit prefix +- nusoap_xmlschema: support XML Schema include +- wsdl: improve support for sequence by serializing inherited attributes and elements first + +2008-03-04, version 1.0.rc1 +- wsdl: allow WSDL port name to be specified in getOperations +- nusoap_client: allow WSDL port name to be specified in ctor + +2008-03-06, version 1.0rc1 +- wsdl: fix some port name variable references +- nusoap_base: change comments regarding preferred mode of support +- wsdl2nusoap: initial revision + +2008-03-14, version 1.0rc1 +- nusoap_base: fix timezone offset in timestamp_to_iso8601 (thanks Mario Trojan) + +2008-03-27, version 1.0rc1 +- nusoap_server: fix bug setting encodingStyle in serialize_return (thanks Luca Gobbo) + +2008-05-15, version 1.0rc1 +- nusoap_parser: handle case where Header or Body tags are used within SOAP messages (thanks Sergey Zhuravlev) + +2008-08-26, version 1.0rc1 +- wsdl: serialize simpleContent for complexType +- wsdl: avoid serializing complexType elements with no value and minOccurs = 0 regardless of nillability + +2010-04-26, version 0.9.5 +- nusoap_xmlschema: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) +- wsdl: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) +- soap_transport_http: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) +- soap_transport_http: remove call to deprecated function set_magic_quotes_runtime +- nusoap_server: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) +- nusoap_server: check that value is an object before calling get_class (thanks Pier-Luc Duchaine) +- nusoap_parser: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) +- nusoap_client: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) +- nusoap_client: do not assign the return value of new by reference (it is deprecated) (thanks Pier-Luc Duchaine) +- nusoap_base: replace regex function calls (ereg, eregi, split) with PCRE calls (preg_match, preg_split) (thanks Pier-Luc Duchaine) +- nusoapmime: do not assign the return value of new by reference (it is deprecated) diff --git a/htdocs/includes/odtphp/zip/pclzip/gnu-lgpl.txt b/htdocs/includes/odtphp/zip/pclzip/gnu-lgpl.txt index 18fa6594ab4701ac1f26a19cfff201834dba131d..2d73841c31971df005c61254183cf2f1b54af6f8 100644 --- a/htdocs/includes/odtphp/zip/pclzip/gnu-lgpl.txt +++ b/htdocs/includes/odtphp/zip/pclzip/gnu-lgpl.txt @@ -1,503 +1,503 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip/gnu-lgpl.txt b/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip/gnu-lgpl.txt index cbee875ba6ddb0dadab286daf7ccec2f6f64191f..b1e3f5a2638797271cbc9b91b856c05ed6942c8f 100644 --- a/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip/gnu-lgpl.txt +++ b/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip/gnu-lgpl.txt @@ -1,504 +1,504 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip/readme.txt b/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip/readme.txt index 6dfc58ed8b76482aa6d40b2fa3ed27d3b69a4be8..c5d2486d3ef3bb1a484bf99647fbb06062f3ec97 100644 --- a/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip/readme.txt +++ b/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip/readme.txt @@ -1,420 +1,420 @@ -// -------------------------------------------------------------------------------- -// PclZip 2.8.2 - readme.txt -// -------------------------------------------------------------------------------- -// License GNU/LGPL - August 2009 -// Vincent Blavet - vincent@phpconcept.net -// http://www.phpconcept.net -// -------------------------------------------------------------------------------- -// -------------------------------------------------------------------------------- - - - -0 - Sommaire -============ - 1 - Introduction - 2 - What's new - 3 - Corrected bugs - 4 - Known bugs or limitations - 5 - License - 6 - Warning - 7 - Documentation - 8 - Author - 9 - Contribute - -1 - Introduction -================ - - PclZip is a library that allow you to manage a Zip archive. - - Full documentation about PclZip can be found here : http://www.phpconcept.net/pclzip - -2 - What's new -============== - - Version 2.8.2 : - - PCLZIP_CB_PRE_EXTRACT and PCLZIP_CB_POST_EXTRACT are now supported with - extraction as a string (PCLZIP_OPT_EXTRACT_AS_STRING). The string - can also be modified in the post-extract call back. - **Bugs correction : - - PCLZIP_OPT_REMOVE_ALL_PATH was not working correctly - - Remove use of eval() and do direct call to callback functions - - Correct support of 64bits systems (Thanks to WordPress team) - - Version 2.8.1 : - - Move option PCLZIP_OPT_BY_EREG to PCLZIP_OPT_BY_PREG because ereg() is - deprecated in PHP 5.3. When using option PCLZIP_OPT_BY_EREG, PclZip will - automatically replace it by PCLZIP_OPT_BY_PREG. - - Version 2.8 : - - Improve extraction of zip archive for large files by using temporary files - This feature is working like the one defined in r2.7. - Options are renamed : PCLZIP_OPT_TEMP_FILE_ON, PCLZIP_OPT_TEMP_FILE_OFF, - PCLZIP_OPT_TEMP_FILE_THRESHOLD - - Add a ratio constant PCLZIP_TEMPORARY_FILE_RATIO to configure the auto - sense of temporary file use. - - Bug correction : Reduce filepath in returned file list to remove ennoying - './/' preambule in file path. - - Version 2.7 : - - Improve creation of zip archive for large files : - PclZip will now autosense the configured memory and use temporary files - when large file is suspected. - This feature can also ne triggered by manual options in create() and add() - methods. 'PCLZIP_OPT_ADD_TEMP_FILE_ON' force the use of temporary files, - 'PCLZIP_OPT_ADD_TEMP_FILE_OFF' disable the autosense technic, - 'PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD' allow for configuration of a size - threshold to use temporary files. - Using "temporary files" rather than "memory" might take more time, but - might give the ability to zip very large files : - Tested on my win laptop with a 88Mo file : - Zip "in-memory" : 18sec (max_execution_time=30, memory_limit=180Mo) - Zip "tmporary-files" : 23sec (max_execution_time=30, memory_limit=30Mo) - - Replace use of mktime() by time() to limit the E_STRICT error messages. - - Bug correction : When adding files with full windows path (drive letter) - PclZip is now working. Before, if the drive letter is not the default - path, PclZip was not able to add the file. - - Version 2.6 : - - Code optimisation - - New attributes PCLZIP_ATT_FILE_COMMENT gives the ability to - add a comment for a specific file. (Don't really know if this is usefull) - - New attribute PCLZIP_ATT_FILE_CONTENT gives the ability to add a string - as a file. - - New attribute PCLZIP_ATT_FILE_MTIME modify the timestamp associated with - a file. - - Correct a bug. Files archived with a timestamp with 0h0m0s were extracted - with current time - - Add CRC value in the informations returned back for each file after an - action. - - Add missing closedir() statement. - - When adding a folder, and removing the path of this folder, files were - incorrectly added with a '/' at the beginning. Which means files are - related to root in unix systems. Corrected. - - Add conditional if before constant definition. This will allow users - to redefine constants without changing the file, and then improve - upgrade of pclzip code for new versions. - - Version 2.5 : - - Introduce the ability to add file/folder with individual properties (file descriptor). - This gives for example the ability to change the filename of a zipped file. - . Able to add files individually - . Able to change full name - . Able to change short name - . Compatible with global options - - New attributes : PCLZIP_ATT_FILE_NAME, PCLZIP_ATT_FILE_NEW_SHORT_NAME, PCLZIP_ATT_FILE_NEW_FULL_NAME - - New error code : PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE - - Add a security control feature. PclZip can extract any file in any folder - of a system. People may use this to upload a zip file and try to override - a system file. The PCLZIP_OPT_EXTRACT_DIR_RESTRICTION will give the - ability to forgive any directory transversal behavior. - - New PCLZIP_OPT_EXTRACT_DIR_RESTRICTION : check extraction path - - New error code : PCLZIP_ERR_DIRECTORY_RESTRICTION - - Modification in PclZipUtilPathInclusion() : dir and path beginning with ./ will be prepend - by current path (getcwd()) - - Version 2.4 : - - Code improvment : try to speed up the code by removing unusefull call to pack() - - Correct bug in delete() : delete() should be called with no argument. This was not - the case in 2.3. This is corrected in 2.4. - - Correct a bug in path_inclusion function. When the path has several '../../', the - result was bad. - - Add a check for magic_quotes_runtime configuration. If enabled, PclZip will - disable it while working and det it back to its original value. - This resolve a lots of bad formated archive errors. - - Bug correction : PclZip now correctly unzip file in some specific situation, - when compressed content has same size as uncompressed content. - - Bug correction : When selecting option 'PCLZIP_OPT_REMOVE_ALL_PATH', - directories are not any more created. - - Code improvment : correct unclosed opendir(), better handling of . and .. in - loops. - - - Version 2.3 : - - Correct a bug with PHP5 : affecting the value 0xFE49FFE0 to a variable does not - give the same result in PHP4 and PHP5 .... - - Version 2.2 : - - Try development of PCLZIP_OPT_CRYPT ..... - However this becomes to a stop. To crypt/decrypt I need to multiply 2 long integers, - the result (greater than a long) is not supported by PHP. Even the use of bcmath - functions does not help. I did not find yet a solution ...; - - Add missing '/' at end of directory entries - - Check is a file is encrypted or not. Returns status 'unsupported_encryption' and/or - error code PCLZIP_ERR_UNSUPPORTED_ENCRYPTION. - - Corrected : Bad "version need to extract" field in local file header - - Add private method privCheckFileHeaders() in order to check local and central - file headers. PclZip is now supporting purpose bit flag bit 3. Purpose bit flag bit 3 gives - the ability to have a local file header without size, compressed size and crc filled. - - Add a generic status 'error' for file status - - Add control of compression type. PclZip only support deflate compression method. - Before v2.2, PclZip does not check the compression method used in an archive while - extracting. With v2.2 PclZip returns a new error status for a file using an unsupported - compression method. New status is "unsupported_compression". New error code is - PCLZIP_ERR_UNSUPPORTED_COMPRESSION. - - Add optional attribute PCLZIP_OPT_STOP_ON_ERROR. This will stop the extract of files - when errors like 'a folder with same name exists' or 'a newer file exists' or - 'a write protected file' exists, rather than set a status for the concerning file - and resume the extract of the zip. - - Add optional attribute PCLZIP_OPT_REPLACE_NEWER. This will force, during an extract' the - replacement of the file, even if a newer version of the file exists. - Note that today if a file with the same name already exists but is older it will be - replaced by the extracted one. - - Improve PclZipUtilOption() - - Support of zip archive with trailing bytes. Before 2.2, PclZip checks that the central - directory structure is the last data in the archive. Crypt encryption/decryption of - zip archive put trailing 0 bytes after decryption. PclZip is now supporting this. - - Version 2.1 : - - Add the ability to abort the extraction by using a user callback function. - The user can now return the value '2' in its callback which indicates to stop the - extraction. For a pre call-back extract is stopped before the extration of the current - file. For a post call back, the extraction is stopped after. - - Add the ability to extract a file (or several files) directly in the standard output. - This is done by the new parameter PCLZIP_OPT_EXTRACT_IN_OUTPUT with method extract(). - - Add support for parameters PCLZIP_OPT_COMMENT, PCLZIP_OPT_ADD_COMMENT, - PCLZIP_OPT_PREPEND_COMMENT. This will create, replace, add, or prepend comments - in the zip archive. - - When merging two archives, the comments are not any more lost, but merged, with a - blank space separator. - - Corrected bug : Files are not deleted when all files are asked to be deleted. - - Corrected bug : Folders with name '0' made PclZip to abort the create or add feature. - - - Version 2.0 : - ***** Warning : Some new features may break the backward compatibility for your scripts. - Please carefully read the readme file. - - Add the ability to delete by Index, name and regular expression. This feature is - performed by the method delete(), which uses the optional parameters - PCLZIP_OPT_BY_INDEX, PCLZIP_OPT_BY_NAME, PCLZIP_OPT_BY_EREG or PCLZIP_OPT_BY_PREG. - - Add the ability to extract by regular expression. To extract by regexp you must use the method - extract(), with the option PCLZIP_OPT_BY_EREG or PCLZIP_OPT_BY_PREG - (depending if you want to use ereg() or preg_match() syntax) followed by the - regular expression pattern. - - Add the ability to extract by index, directly with the extract() method. This is a - code improvment of the extractByIndex() method. - - Add the ability to extract by name. To extract by name you must use the method - extract(), with the option PCLZIP_OPT_BY_NAME followed by the filename to - extract or an array of filenames to extract. To extract all a folder, use the folder - name rather than the filename with a '/' at the end. - - Add the ability to add files without compression. This is done with a new attribute - which is PCLZIP_OPT_NO_COMPRESSION. - - Add the attribute PCLZIP_OPT_EXTRACT_AS_STRING, which allow to extract a file directly - in a string without using any file (or temporary file). - - Add constant PCLZIP_SEPARATOR for static configuration of filename separators in a single string. - The default separator is now a comma (,) and not any more a blank space. - THIS BREAK THE BACKWARD COMPATIBILITY : Please check if this may have an impact with - your script. - - Improve algorythm performance by removing the use of temporary files when adding or - extracting files in an archive. - - Add (correct) detection of empty filename zipping. This can occurs when the removed - path is the same - as a zipped dir. The dir is not zipped (['status'] = filtered), only its content. - - Add better support for windows paths (thanks for help from manus@manusfreedom.com). - - Corrected bug : When the archive file already exists with size=0, the add() method - fails. Corrected in 2.0. - - Remove the use of OS_WINDOWS constant. Use php_uname() function rather. - - Control the order of index ranges in extract by index feature. - - Change the internal management of folders (better handling of internal flag). - - - Version 1.3 : - - Removing the double include check. This is now done by include_once() and require_once() - PHP directives. - - Changing the error handling mecanism : Remove the use of an external error library. - The former PclError...() functions are replaced by internal equivalent methods. - By changing the environment variable PCLZIP_ERROR_EXTERNAL you can still use the former library. - Introducing the use of constants for error codes rather than integer values. This will help - in futur improvment. - Introduction of error handling functions like errorCode(), errorName() and errorInfo(). - - Remove the deprecated use of calling function with arguments passed by reference. - - Add the calling of extract(), extractByIndex(), create() and add() functions - with variable options rather than fixed arguments. - - Add the ability to remove all the file path while extracting or adding, - without any need to specify the path to remove. - This is available for extract(), extractByIndex(), create() and add() functionS by using - the new variable options parameters : - - PCLZIP_OPT_REMOVE_ALL_PATH : by indicating this option while calling the fct. - - Ability to change the mode of a file after the extraction (chmod()). - This is available for extract() and extractByIndex() functionS by using - the new variable options parameters. - - PCLZIP_OPT_SET_CHMOD : by setting the value of this option. - - Ability to definition call-back options. These call-back will be called during the adding, - or the extracting of file (extract(), extractByIndex(), create() and add() functions) : - - PCLZIP_CB_PRE_EXTRACT : will be called before each extraction of a file. The user - can trigerred the change the filename of the extracted file. The user can triggered the - skip of the extraction. This is adding a 'skipped' status in the file list result value. - - PCLZIP_CB_POST_EXTRACT : will be called after each extraction of a file. - Nothing can be triggered from that point. - - PCLZIP_CB_PRE_ADD : will be called before each add of a file. The user - can trigerred the change the stored filename of the added file. The user can triggered the - skip of the add. This is adding a 'skipped' status in the file list result value. - - PCLZIP_CB_POST_ADD : will be called after each add of a file. - Nothing can be triggered from that point. - - Two status are added in the file list returned as function result : skipped & filename_too_long - 'skipped' is used when a call-back function ask for skipping the file. - 'filename_too_long' is used while adding a file with a too long filename to archive (the file is - not added) - - Adding the function PclZipUtilPathInclusion(), that check the inclusion of a path into - a directory. - - Add a check of the presence of the archive file before some actions (like list, ...) - - Add the initialisation of field "index" in header array. This means that by - default index will be -1 when not explicitly set by the methods. - - Version 1.2 : - - Adding a duplicate function. - - Adding a merge function. The merge function is a "quick merge" function, - it just append the content of an archive at the end of the first one. There - is no check for duplicate files or more recent files. - - Improve the search of the central directory end. - - Version 1.1.2 : - - - Changing the license of PclZip. PclZip is now released under the GNU / LGPL license - (see License section). - - Adding the optional support of a static temporary directory. You will need to configure - the constant PCLZIP_TEMPORARY_DIR if you want to use this feature. - - Improving the rename() function. In some cases rename() does not work (different - Filesystems), so it will be replaced by a copy() + unlink() functions. - - Version 1.1.1 : - - - Maintenance release, no new feature. - - Version 1.1 : - - - New method Add() : adding files in the archive - - New method ExtractByIndex() : partial extract of the archive, files are identified by - their index in the archive - - New method DeleteByIndex() : delete some files/folder entries from the archive, - files are identified by their index in the archive. - - Adding a test of the zlib extension presence. If not present abort the script. - - Version 1.0.1 : - - - No new feature - - -3 - Corrected bugs -================== - - Corrected in Version 2.0 : - - Corrected : During an extraction, if a call-back fucntion is used and try to skip - a file, all the extraction process is stopped. - - Corrected in Version 1.3 : - - Corrected : Support of static synopsis for method extract() is broken. - - Corrected : invalid size of archive content field (0xFF) should be (0xFFFF). - - Corrected : When an extract is done with a remove_path parameter, the entry for - the directory with exactly the same path is not skipped/filtered. - - Corrected : extractByIndex() and deleteByIndex() were not managing index in the - right way. For example indexes '1,3-5,11' will only extract files 1 and 11. This - is due to a sort of the index resulting table that puts 11 before 3-5 (sort on - string and not interger). The sort is temporarilly removed, this means that - you must provide a sorted list of index ranges. - - Corrected in Version 1.2 : - - - Nothing. - - Corrected in Version 1.1.2 : - - - Corrected : Winzip is unable to delete or add new files in a PclZip created archives. - - Corrected in Version 1.1.1 : - - - Corrected : When archived file is not compressed (0% compression), the - extract method fails. - - Corrected in Version 1.1 : - - - Corrected : Adding a complete tree of folder may result in a bad archive - creation. - - Corrected in Version 1.0.1 : - - - Corrected : Error while compressing files greater than PCLZIP_READ_BLOCK_SIZE (default=1024). - - -4 - Known bugs or limitations -============================= - - Please publish bugs reports in SourceForge : - http://sourceforge.net/tracker/?group_id=40254&atid=427564 - - In Version 2.x : - - PclZip does only support file uncompressed or compressed with deflate (compression method 8) - - PclZip does not support password protected zip archive - - Some concern were seen when changing mtime of a file while archiving. - Seems to be linked to Daylight Saving Time (PclTest_changing_mtime). - - In Version 1.2 : - - - merge() methods does not check for duplicate files or last date of modifications. - - In Version 1.1 : - - - Limitation : Using 'extract' fields in the file header in the zip archive is not supported. - - WinZip is unable to delete a single file in a PclZip created archive. It is also unable to - add a file in a PclZip created archive. (Corrected in v.1.2) - - In Version 1.0.1 : - - - Adding a complete tree of folder may result in a bad archive - creation. (Corrected in V.1.1). - - Path given to methods must be in the unix format (/) and not the Windows format (\). - Workaround : Use only / directory separators. - - PclZip is using temporary files that are sometime the name of the file with a .tmp or .gz - added suffix. Files with these names may already exist and may be overwritten. - Workaround : none. - - PclZip does not check if the zlib extension is present. If it is absent, the zip - file is not created and the lib abort without warning. - Workaround : enable the zlib extension on the php install - - In Version 1.0 : - - - Error while compressing files greater than PCLZIP_READ_BLOCK_SIZE (default=1024). - (Corrected in v.1.0.1) - - Limitation : Multi-disk zip archive are not supported. - - -5 - License -=========== - - Since version 1.1.2, PclZip Library is released under GNU/LGPL license. - This library is free, so you can use it at no cost. - - HOWEVER, if you release a script, an application, a library or any kind of - code using PclZip library (or a part of it), YOU MUST : - - Indicate in the documentation (or a readme file), that your work - uses PclZip Library, and make a reference to the author and the web site - http://www.phpconcept.net - - Gives the ability to the final user to update the PclZip libary. - - I will also appreciate that you send me a mail (vincent@phpconcept.net), just to - be aware that someone is using PclZip. - - For more information about GNU/LGPL license : http://www.gnu.org - -6 - Warning -================= - - This library and the associated files are non commercial, non professional work. - It should not have unexpected results. However if any damage is caused by this software - the author can not be responsible. - The use of this software is at the risk of the user. - -7 - Documentation -================= - PclZip User Manuel is available in English on PhpConcept : http://www.phpconcept.net/pclzip/man/en/index.php - A Russian translation was done by Feskov Kuzma : http://php.russofile.ru/ru/authors/unsort/zip/ - -8 - Author -========== - - This software was written by Vincent Blavet (vincent@phpconcept.net) on its leasure time. - -9 - Contribute -============== - If you want to contribute to the development of PclZip, please contact vincent@phpconcept.net. - If you can help in financing PhpConcept hosting service, please go to - http://www.phpconcept.net/soutien.php +// -------------------------------------------------------------------------------- +// PclZip 2.8.2 - readme.txt +// -------------------------------------------------------------------------------- +// License GNU/LGPL - August 2009 +// Vincent Blavet - vincent@phpconcept.net +// http://www.phpconcept.net +// -------------------------------------------------------------------------------- +// -------------------------------------------------------------------------------- + + + +0 - Sommaire +============ + 1 - Introduction + 2 - What's new + 3 - Corrected bugs + 4 - Known bugs or limitations + 5 - License + 6 - Warning + 7 - Documentation + 8 - Author + 9 - Contribute + +1 - Introduction +================ + + PclZip is a library that allow you to manage a Zip archive. + + Full documentation about PclZip can be found here : http://www.phpconcept.net/pclzip + +2 - What's new +============== + + Version 2.8.2 : + - PCLZIP_CB_PRE_EXTRACT and PCLZIP_CB_POST_EXTRACT are now supported with + extraction as a string (PCLZIP_OPT_EXTRACT_AS_STRING). The string + can also be modified in the post-extract call back. + **Bugs correction : + - PCLZIP_OPT_REMOVE_ALL_PATH was not working correctly + - Remove use of eval() and do direct call to callback functions + - Correct support of 64bits systems (Thanks to WordPress team) + + Version 2.8.1 : + - Move option PCLZIP_OPT_BY_EREG to PCLZIP_OPT_BY_PREG because ereg() is + deprecated in PHP 5.3. When using option PCLZIP_OPT_BY_EREG, PclZip will + automatically replace it by PCLZIP_OPT_BY_PREG. + + Version 2.8 : + - Improve extraction of zip archive for large files by using temporary files + This feature is working like the one defined in r2.7. + Options are renamed : PCLZIP_OPT_TEMP_FILE_ON, PCLZIP_OPT_TEMP_FILE_OFF, + PCLZIP_OPT_TEMP_FILE_THRESHOLD + - Add a ratio constant PCLZIP_TEMPORARY_FILE_RATIO to configure the auto + sense of temporary file use. + - Bug correction : Reduce filepath in returned file list to remove ennoying + './/' preambule in file path. + + Version 2.7 : + - Improve creation of zip archive for large files : + PclZip will now autosense the configured memory and use temporary files + when large file is suspected. + This feature can also ne triggered by manual options in create() and add() + methods. 'PCLZIP_OPT_ADD_TEMP_FILE_ON' force the use of temporary files, + 'PCLZIP_OPT_ADD_TEMP_FILE_OFF' disable the autosense technic, + 'PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD' allow for configuration of a size + threshold to use temporary files. + Using "temporary files" rather than "memory" might take more time, but + might give the ability to zip very large files : + Tested on my win laptop with a 88Mo file : + Zip "in-memory" : 18sec (max_execution_time=30, memory_limit=180Mo) + Zip "tmporary-files" : 23sec (max_execution_time=30, memory_limit=30Mo) + - Replace use of mktime() by time() to limit the E_STRICT error messages. + - Bug correction : When adding files with full windows path (drive letter) + PclZip is now working. Before, if the drive letter is not the default + path, PclZip was not able to add the file. + + Version 2.6 : + - Code optimisation + - New attributes PCLZIP_ATT_FILE_COMMENT gives the ability to + add a comment for a specific file. (Don't really know if this is usefull) + - New attribute PCLZIP_ATT_FILE_CONTENT gives the ability to add a string + as a file. + - New attribute PCLZIP_ATT_FILE_MTIME modify the timestamp associated with + a file. + - Correct a bug. Files archived with a timestamp with 0h0m0s were extracted + with current time + - Add CRC value in the informations returned back for each file after an + action. + - Add missing closedir() statement. + - When adding a folder, and removing the path of this folder, files were + incorrectly added with a '/' at the beginning. Which means files are + related to root in unix systems. Corrected. + - Add conditional if before constant definition. This will allow users + to redefine constants without changing the file, and then improve + upgrade of pclzip code for new versions. + + Version 2.5 : + - Introduce the ability to add file/folder with individual properties (file descriptor). + This gives for example the ability to change the filename of a zipped file. + . Able to add files individually + . Able to change full name + . Able to change short name + . Compatible with global options + - New attributes : PCLZIP_ATT_FILE_NAME, PCLZIP_ATT_FILE_NEW_SHORT_NAME, PCLZIP_ATT_FILE_NEW_FULL_NAME + - New error code : PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE + - Add a security control feature. PclZip can extract any file in any folder + of a system. People may use this to upload a zip file and try to override + a system file. The PCLZIP_OPT_EXTRACT_DIR_RESTRICTION will give the + ability to forgive any directory transversal behavior. + - New PCLZIP_OPT_EXTRACT_DIR_RESTRICTION : check extraction path + - New error code : PCLZIP_ERR_DIRECTORY_RESTRICTION + - Modification in PclZipUtilPathInclusion() : dir and path beginning with ./ will be prepend + by current path (getcwd()) + + Version 2.4 : + - Code improvment : try to speed up the code by removing unusefull call to pack() + - Correct bug in delete() : delete() should be called with no argument. This was not + the case in 2.3. This is corrected in 2.4. + - Correct a bug in path_inclusion function. When the path has several '../../', the + result was bad. + - Add a check for magic_quotes_runtime configuration. If enabled, PclZip will + disable it while working and det it back to its original value. + This resolve a lots of bad formated archive errors. + - Bug correction : PclZip now correctly unzip file in some specific situation, + when compressed content has same size as uncompressed content. + - Bug correction : When selecting option 'PCLZIP_OPT_REMOVE_ALL_PATH', + directories are not any more created. + - Code improvment : correct unclosed opendir(), better handling of . and .. in + loops. + + + Version 2.3 : + - Correct a bug with PHP5 : affecting the value 0xFE49FFE0 to a variable does not + give the same result in PHP4 and PHP5 .... + + Version 2.2 : + - Try development of PCLZIP_OPT_CRYPT ..... + However this becomes to a stop. To crypt/decrypt I need to multiply 2 long integers, + the result (greater than a long) is not supported by PHP. Even the use of bcmath + functions does not help. I did not find yet a solution ...; + - Add missing '/' at end of directory entries + - Check is a file is encrypted or not. Returns status 'unsupported_encryption' and/or + error code PCLZIP_ERR_UNSUPPORTED_ENCRYPTION. + - Corrected : Bad "version need to extract" field in local file header + - Add private method privCheckFileHeaders() in order to check local and central + file headers. PclZip is now supporting purpose bit flag bit 3. Purpose bit flag bit 3 gives + the ability to have a local file header without size, compressed size and crc filled. + - Add a generic status 'error' for file status + - Add control of compression type. PclZip only support deflate compression method. + Before v2.2, PclZip does not check the compression method used in an archive while + extracting. With v2.2 PclZip returns a new error status for a file using an unsupported + compression method. New status is "unsupported_compression". New error code is + PCLZIP_ERR_UNSUPPORTED_COMPRESSION. + - Add optional attribute PCLZIP_OPT_STOP_ON_ERROR. This will stop the extract of files + when errors like 'a folder with same name exists' or 'a newer file exists' or + 'a write protected file' exists, rather than set a status for the concerning file + and resume the extract of the zip. + - Add optional attribute PCLZIP_OPT_REPLACE_NEWER. This will force, during an extract' the + replacement of the file, even if a newer version of the file exists. + Note that today if a file with the same name already exists but is older it will be + replaced by the extracted one. + - Improve PclZipUtilOption() + - Support of zip archive with trailing bytes. Before 2.2, PclZip checks that the central + directory structure is the last data in the archive. Crypt encryption/decryption of + zip archive put trailing 0 bytes after decryption. PclZip is now supporting this. + + Version 2.1 : + - Add the ability to abort the extraction by using a user callback function. + The user can now return the value '2' in its callback which indicates to stop the + extraction. For a pre call-back extract is stopped before the extration of the current + file. For a post call back, the extraction is stopped after. + - Add the ability to extract a file (or several files) directly in the standard output. + This is done by the new parameter PCLZIP_OPT_EXTRACT_IN_OUTPUT with method extract(). + - Add support for parameters PCLZIP_OPT_COMMENT, PCLZIP_OPT_ADD_COMMENT, + PCLZIP_OPT_PREPEND_COMMENT. This will create, replace, add, or prepend comments + in the zip archive. + - When merging two archives, the comments are not any more lost, but merged, with a + blank space separator. + - Corrected bug : Files are not deleted when all files are asked to be deleted. + - Corrected bug : Folders with name '0' made PclZip to abort the create or add feature. + + + Version 2.0 : + ***** Warning : Some new features may break the backward compatibility for your scripts. + Please carefully read the readme file. + - Add the ability to delete by Index, name and regular expression. This feature is + performed by the method delete(), which uses the optional parameters + PCLZIP_OPT_BY_INDEX, PCLZIP_OPT_BY_NAME, PCLZIP_OPT_BY_EREG or PCLZIP_OPT_BY_PREG. + - Add the ability to extract by regular expression. To extract by regexp you must use the method + extract(), with the option PCLZIP_OPT_BY_EREG or PCLZIP_OPT_BY_PREG + (depending if you want to use ereg() or preg_match() syntax) followed by the + regular expression pattern. + - Add the ability to extract by index, directly with the extract() method. This is a + code improvment of the extractByIndex() method. + - Add the ability to extract by name. To extract by name you must use the method + extract(), with the option PCLZIP_OPT_BY_NAME followed by the filename to + extract or an array of filenames to extract. To extract all a folder, use the folder + name rather than the filename with a '/' at the end. + - Add the ability to add files without compression. This is done with a new attribute + which is PCLZIP_OPT_NO_COMPRESSION. + - Add the attribute PCLZIP_OPT_EXTRACT_AS_STRING, which allow to extract a file directly + in a string without using any file (or temporary file). + - Add constant PCLZIP_SEPARATOR for static configuration of filename separators in a single string. + The default separator is now a comma (,) and not any more a blank space. + THIS BREAK THE BACKWARD COMPATIBILITY : Please check if this may have an impact with + your script. + - Improve algorythm performance by removing the use of temporary files when adding or + extracting files in an archive. + - Add (correct) detection of empty filename zipping. This can occurs when the removed + path is the same + as a zipped dir. The dir is not zipped (['status'] = filtered), only its content. + - Add better support for windows paths (thanks for help from manus@manusfreedom.com). + - Corrected bug : When the archive file already exists with size=0, the add() method + fails. Corrected in 2.0. + - Remove the use of OS_WINDOWS constant. Use php_uname() function rather. + - Control the order of index ranges in extract by index feature. + - Change the internal management of folders (better handling of internal flag). + + + Version 1.3 : + - Removing the double include check. This is now done by include_once() and require_once() + PHP directives. + - Changing the error handling mecanism : Remove the use of an external error library. + The former PclError...() functions are replaced by internal equivalent methods. + By changing the environment variable PCLZIP_ERROR_EXTERNAL you can still use the former library. + Introducing the use of constants for error codes rather than integer values. This will help + in futur improvment. + Introduction of error handling functions like errorCode(), errorName() and errorInfo(). + - Remove the deprecated use of calling function with arguments passed by reference. + - Add the calling of extract(), extractByIndex(), create() and add() functions + with variable options rather than fixed arguments. + - Add the ability to remove all the file path while extracting or adding, + without any need to specify the path to remove. + This is available for extract(), extractByIndex(), create() and add() functionS by using + the new variable options parameters : + - PCLZIP_OPT_REMOVE_ALL_PATH : by indicating this option while calling the fct. + - Ability to change the mode of a file after the extraction (chmod()). + This is available for extract() and extractByIndex() functionS by using + the new variable options parameters. + - PCLZIP_OPT_SET_CHMOD : by setting the value of this option. + - Ability to definition call-back options. These call-back will be called during the adding, + or the extracting of file (extract(), extractByIndex(), create() and add() functions) : + - PCLZIP_CB_PRE_EXTRACT : will be called before each extraction of a file. The user + can trigerred the change the filename of the extracted file. The user can triggered the + skip of the extraction. This is adding a 'skipped' status in the file list result value. + - PCLZIP_CB_POST_EXTRACT : will be called after each extraction of a file. + Nothing can be triggered from that point. + - PCLZIP_CB_PRE_ADD : will be called before each add of a file. The user + can trigerred the change the stored filename of the added file. The user can triggered the + skip of the add. This is adding a 'skipped' status in the file list result value. + - PCLZIP_CB_POST_ADD : will be called after each add of a file. + Nothing can be triggered from that point. + - Two status are added in the file list returned as function result : skipped & filename_too_long + 'skipped' is used when a call-back function ask for skipping the file. + 'filename_too_long' is used while adding a file with a too long filename to archive (the file is + not added) + - Adding the function PclZipUtilPathInclusion(), that check the inclusion of a path into + a directory. + - Add a check of the presence of the archive file before some actions (like list, ...) + - Add the initialisation of field "index" in header array. This means that by + default index will be -1 when not explicitly set by the methods. + + Version 1.2 : + - Adding a duplicate function. + - Adding a merge function. The merge function is a "quick merge" function, + it just append the content of an archive at the end of the first one. There + is no check for duplicate files or more recent files. + - Improve the search of the central directory end. + + Version 1.1.2 : + + - Changing the license of PclZip. PclZip is now released under the GNU / LGPL license + (see License section). + - Adding the optional support of a static temporary directory. You will need to configure + the constant PCLZIP_TEMPORARY_DIR if you want to use this feature. + - Improving the rename() function. In some cases rename() does not work (different + Filesystems), so it will be replaced by a copy() + unlink() functions. + + Version 1.1.1 : + + - Maintenance release, no new feature. + + Version 1.1 : + + - New method Add() : adding files in the archive + - New method ExtractByIndex() : partial extract of the archive, files are identified by + their index in the archive + - New method DeleteByIndex() : delete some files/folder entries from the archive, + files are identified by their index in the archive. + - Adding a test of the zlib extension presence. If not present abort the script. + + Version 1.0.1 : + + - No new feature + + +3 - Corrected bugs +================== + + Corrected in Version 2.0 : + - Corrected : During an extraction, if a call-back fucntion is used and try to skip + a file, all the extraction process is stopped. + + Corrected in Version 1.3 : + - Corrected : Support of static synopsis for method extract() is broken. + - Corrected : invalid size of archive content field (0xFF) should be (0xFFFF). + - Corrected : When an extract is done with a remove_path parameter, the entry for + the directory with exactly the same path is not skipped/filtered. + - Corrected : extractByIndex() and deleteByIndex() were not managing index in the + right way. For example indexes '1,3-5,11' will only extract files 1 and 11. This + is due to a sort of the index resulting table that puts 11 before 3-5 (sort on + string and not interger). The sort is temporarilly removed, this means that + you must provide a sorted list of index ranges. + + Corrected in Version 1.2 : + + - Nothing. + + Corrected in Version 1.1.2 : + + - Corrected : Winzip is unable to delete or add new files in a PclZip created archives. + + Corrected in Version 1.1.1 : + + - Corrected : When archived file is not compressed (0% compression), the + extract method fails. + + Corrected in Version 1.1 : + + - Corrected : Adding a complete tree of folder may result in a bad archive + creation. + + Corrected in Version 1.0.1 : + + - Corrected : Error while compressing files greater than PCLZIP_READ_BLOCK_SIZE (default=1024). + + +4 - Known bugs or limitations +============================= + + Please publish bugs reports in SourceForge : + http://sourceforge.net/tracker/?group_id=40254&atid=427564 + + In Version 2.x : + - PclZip does only support file uncompressed or compressed with deflate (compression method 8) + - PclZip does not support password protected zip archive + - Some concern were seen when changing mtime of a file while archiving. + Seems to be linked to Daylight Saving Time (PclTest_changing_mtime). + + In Version 1.2 : + + - merge() methods does not check for duplicate files or last date of modifications. + + In Version 1.1 : + + - Limitation : Using 'extract' fields in the file header in the zip archive is not supported. + - WinZip is unable to delete a single file in a PclZip created archive. It is also unable to + add a file in a PclZip created archive. (Corrected in v.1.2) + + In Version 1.0.1 : + + - Adding a complete tree of folder may result in a bad archive + creation. (Corrected in V.1.1). + - Path given to methods must be in the unix format (/) and not the Windows format (\). + Workaround : Use only / directory separators. + - PclZip is using temporary files that are sometime the name of the file with a .tmp or .gz + added suffix. Files with these names may already exist and may be overwritten. + Workaround : none. + - PclZip does not check if the zlib extension is present. If it is absent, the zip + file is not created and the lib abort without warning. + Workaround : enable the zlib extension on the php install + + In Version 1.0 : + + - Error while compressing files greater than PCLZIP_READ_BLOCK_SIZE (default=1024). + (Corrected in v.1.0.1) + - Limitation : Multi-disk zip archive are not supported. + + +5 - License +=========== + + Since version 1.1.2, PclZip Library is released under GNU/LGPL license. + This library is free, so you can use it at no cost. + + HOWEVER, if you release a script, an application, a library or any kind of + code using PclZip library (or a part of it), YOU MUST : + - Indicate in the documentation (or a readme file), that your work + uses PclZip Library, and make a reference to the author and the web site + http://www.phpconcept.net + - Gives the ability to the final user to update the PclZip libary. + + I will also appreciate that you send me a mail (vincent@phpconcept.net), just to + be aware that someone is using PclZip. + + For more information about GNU/LGPL license : http://www.gnu.org + +6 - Warning +================= + + This library and the associated files are non commercial, non professional work. + It should not have unexpected results. However if any damage is caused by this software + the author can not be responsible. + The use of this software is at the risk of the user. + +7 - Documentation +================= + PclZip User Manuel is available in English on PhpConcept : http://www.phpconcept.net/pclzip/man/en/index.php + A Russian translation was done by Feskov Kuzma : http://php.russofile.ru/ru/authors/unsort/zip/ + +8 - Author +========== + + This software was written by Vincent Blavet (vincent@phpconcept.net) on its leasure time. + +9 - Contribute +============== + If you want to contribute to the development of PclZip, please contact vincent@phpconcept.net. + If you can help in financing PhpConcept hosting service, please go to + http://www.phpconcept.net/soutien.php diff --git a/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/cache/utf8test.txt b/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/cache/utf8test.txt index 723a37d84b0d510a40832207d54f14f7a8c00f48..af794dfdb23dda60126199c400687916f5aa7e65 100644 --- a/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/cache/utf8test.txt +++ b/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/cache/utf8test.txt @@ -1,122 +1,122 @@ -Sentences that contain all letters commonly used in a language --------------------------------------------------------------- - -Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/> -- 2001-09-02 - -This file is UTF-8 encoded. - - -Danish (da) ---------- - - Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen - Wolther spillede på xylofon. - (= Quiz contestants were eating strawbery with cream while Wolther - the circus clown played on xylophone.) - -German (de) ------------ - - Falsches Üben von Xylophonmusik quält jeden größeren Zwerg - (= Wrongful practicing of xylophone music tortures every larger dwarf) - - Zwölf Boxkämpfer jagten Eva quer über den Sylter Deich - (= Twelve boxing fighters hunted Eva across the dike of Sylt) - - Heizölrückstoßabdämpfung - (= fuel oil recoil absorber) - (jqvwxy missing, but all non-ASCII letters in one word) - -English (en) ------------- - - The quick brown fox jumps over the lazy dog - -Spanish (es) ------------- - - El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y - frío, añoraba a su querido cachorro. - (Contains every letter and every accent, but not every combination - of vowel + acute.) - -French (fr) ------------ - - Portez ce vieux whisky au juge blond qui fume sur son île intérieure, à - côté de l'alcôve ovoïde, où les bûches se consument dans l'âtre, ce - qui lui permet de penser à la cænogenèse de l'être dont il est question - dans la cause ambiguë entendue à Moÿ, dans un capharnaüm qui, - pense-t-il, diminue çà et là la qualité de son œuvre. - - l'île exiguë - Où l'obèse jury mûr - Fête l'haï volapük, - Âne ex aéquo au whist, - Ôtez ce vœu déçu. - - Le cœur déçu mais l'âme plutôt naïve, Louÿs rêva de crapaüter en - canoë au delà des îles, près du mälström où brûlent les novæ. - -Irish Gaelic (ga) ------------------ - - D'fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh - -Hungarian (hu) --------------- - - Árvíztűrő tükörfúrógép - (= flood-proof mirror-drilling machine, only all non-ASCII letters) - -Icelandic (is) --------------- - - Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa - - Sævör grét áðan því úlpan var ónýt - (some ASCII letters missing) - -Greek (el) -------------- - - Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο - (= No more shall I see acacias or myrtles in the golden clearing) - - Ξεσκεπάζω τὴν ψυχοφθόρα βδελυγμία - (= I uncover the soul-destroying abhorrence) - -Hebrew (iw) ------------ - - ? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה - -Polish (pl) ------------ - - Pchnąć w tę łódź jeża lub osiem skrzyń fig - (= To push a hedgehog or eight bins of figs in this boat) - - Zażółć gęślą jaźń - -Russian (ru) ------------- - - В чащах юга жил бы цитрус? Да, но фальшивый экземпляр! - (= Would a citrus live in the bushes of south? Yes, but only a fake one!) - -Thai (th) ---------- - - [--------------------------|------------------------] - ๏ เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน - จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร - ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย - ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ - - [The copyright for the Thai example is owned by The Computer - Association of Thailand under the Royal Patronage of His Majesty the - King.] - -Please let me know if you find others! Special thanks to the people -from all over the world who contributed these sentences. +Sentences that contain all letters commonly used in a language +-------------------------------------------------------------- + +Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/> -- 2001-09-02 + +This file is UTF-8 encoded. + + +Danish (da) +--------- + + Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen + Wolther spillede på xylofon. + (= Quiz contestants were eating strawbery with cream while Wolther + the circus clown played on xylophone.) + +German (de) +----------- + + Falsches Üben von Xylophonmusik quält jeden größeren Zwerg + (= Wrongful practicing of xylophone music tortures every larger dwarf) + + Zwölf Boxkämpfer jagten Eva quer über den Sylter Deich + (= Twelve boxing fighters hunted Eva across the dike of Sylt) + + Heizölrückstoßabdämpfung + (= fuel oil recoil absorber) + (jqvwxy missing, but all non-ASCII letters in one word) + +English (en) +------------ + + The quick brown fox jumps over the lazy dog + +Spanish (es) +------------ + + El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y + frío, añoraba a su querido cachorro. + (Contains every letter and every accent, but not every combination + of vowel + acute.) + +French (fr) +----------- + + Portez ce vieux whisky au juge blond qui fume sur son île intérieure, à + côté de l'alcôve ovoïde, où les bûches se consument dans l'âtre, ce + qui lui permet de penser à la cænogenèse de l'être dont il est question + dans la cause ambiguë entendue à Moÿ, dans un capharnaüm qui, + pense-t-il, diminue çà et là la qualité de son œuvre. + + l'île exiguë + Où l'obèse jury mûr + Fête l'haï volapük, + Âne ex aéquo au whist, + Ôtez ce vœu déçu. + + Le cœur déçu mais l'âme plutôt naïve, Louÿs rêva de crapaüter en + canoë au delà des îles, près du mälström où brûlent les novæ. + +Irish Gaelic (ga) +----------------- + + D'fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh + +Hungarian (hu) +-------------- + + Árvíztűrő tükörfúrógép + (= flood-proof mirror-drilling machine, only all non-ASCII letters) + +Icelandic (is) +-------------- + + Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa + + Sævör grét áðan því úlpan var ónýt + (some ASCII letters missing) + +Greek (el) +------------- + + Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο + (= No more shall I see acacias or myrtles in the golden clearing) + + Ξεσκεπάζω τὴν ψυχοφθόρα βδελυγμία + (= I uncover the soul-destroying abhorrence) + +Hebrew (iw) +----------- + + ? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה + +Polish (pl) +----------- + + Pchnąć w tę łódź jeża lub osiem skrzyń fig + (= To push a hedgehog or eight bins of figs in this boat) + + Zażółć gęślą jaźń + +Russian (ru) +------------ + + В чащах юга жил бы цитрус? Да, но фальшивый экземпляр! + (= Would a citrus live in the bushes of south? Yes, but only a fake one!) + +Thai (th) +--------- + + [--------------------------|------------------------] + ๏ เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน + จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร + ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย + ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ + + [The copyright for the Thai example is owned by The Computer + Association of Thailand under the Royal Patronage of His Majesty the + King.] + +Please let me know if you find others! Special thanks to the people +from all over the world who contributed these sentences. diff --git a/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/src/readme.txt b/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/src/readme.txt index 6e5b40d98a1d8a4024693b0cd45fd9bb1f7e0727..f351cd9a4853a8cd6cae6171322f087841374392 100644 --- a/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/src/readme.txt +++ b/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/fonts/utils/src/readme.txt @@ -1,17 +1,17 @@ -To embed TrueType and OpenType font files, you need to extract the -font metrics from the font files and build the required tables using -the utility TTF2UFM. - -TTF2UFM is a modified version of Mark Heath's TTF 2 PT1 converter -(http://ttf2pt1.sourceforge.net/) by Steven Wittens <steven@acko.net> -(http://www.acko.net/blog/ufpdf). That version has been further -modified by Ulrich Telle for use with the wxWidgets component -wxPdfDocument. - -Following changes where made: - -1) Generated AFM files contain the glyph number for each character. -2) Generated UFM files contain the bounding box for each character. -3) OpenType support has been activated for the Windows binary, - and the generated AFM/UFM files contain the associated - original Unicode codes for each character. +To embed TrueType and OpenType font files, you need to extract the +font metrics from the font files and build the required tables using +the utility TTF2UFM. + +TTF2UFM is a modified version of Mark Heath's TTF 2 PT1 converter +(http://ttf2pt1.sourceforge.net/) by Steven Wittens <steven@acko.net> +(http://www.acko.net/blog/ufpdf). That version has been further +modified by Ulrich Telle for use with the wxWidgets component +wxPdfDocument. + +Following changes where made: + +1) Generated AFM files contain the glyph number for each character. +2) Generated UFM files contain the bounding box for each character. +3) OpenType support has been activated for the Windows binary, + and the generated AFM/UFM files contain the associated + original Unicode codes for each character. diff --git a/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/bug.eps b/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/bug.eps index 7df891e7d9f42783e66d04f0970833a963420fcc..999829274f7e31760b8ea7d271501a51bbbe525c 100644 --- a/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/bug.eps +++ b/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/bug.eps @@ -1,1809 +1,1809 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: Adobe Illustrator(TM) 3.2 -%%AI8_CreatorVersion: 12.0.0 -%%For: (fluxus) (x) -%%Title: (bug.eps) -%%CreationDate: 4/15/2006 11:11 PM -%%BoundingBox: -2 747 53 843 -% -2 747 53 843 -%%DocumentProcessColors: Cyan Magenta Yellow Black -%%DocumentSuppliedResources: procset Adobe_packedarray 2.0 0 -%%+ procset Adobe_cmykcolor 1.1 0 -%%+ procset Adobe_cshow 1.1 0 -%%+ procset Adobe_customcolor 1.0 0 -%%+ procset Adobe_pattern_AI3 1.0 0 -%%+ procset Adobe_Illustrator_AI3 1.0 1 -%AI3_ColorUsage: Color -%AI3_IncludePlacedImages -%%CMYKCustomColor: 1 1 1 1 ([Registration]) -%AI3_TemplateBox: 298.5 420.3896 298.5 420.3896 -%AI3_TileBox: 0.157715 0.044861 595.1177 841.9648 -%AI3_DocumentPreview: Header -%%PageOrigin:-32 11.8896 -%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 -%AI9_Flatten: 1 -%AI12_CMSettings: 00.MS -%%EndComments -%%BeginProlog -%%BeginResource: procset Adobe_packedarray 2.0 0 -%%Title: (Packed Array Operators) -%%Version: 2.0 0 -%%CreationDate: (8/2/90) () -%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) -userdict /Adobe_packedarray 5 dict dup begin put -/initialize -{ -/packedarray where - { - pop - } - { - Adobe_packedarray begin - Adobe_packedarray - { - dup xcheck - { - bind - } if - userdict 3 1 roll put - } forall - end - } ifelse -} def -/terminate -{ -} def -/packedarray -{ -array astore readonly -} def -/setpacking -{ -pop -} def -/currentpacking -{ -false -} def -currentdict readonly pop end -%%EndResource -Adobe_packedarray /initialize get exec -%%BeginResource: procset Adobe_cmykcolor 1.1 0 -%%Title: (CMYK Color Operators) -%%Version: 1.1 0 -%%CreationDate: (1/23/89) () -%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) -currentpacking true setpacking -userdict /Adobe_cmykcolor 4 dict dup begin put -/initialize -{ -/setcmykcolor where - { - pop - } - { - userdict /Adobe_cmykcolor_vars 2 dict dup begin put - /_setrgbcolor - /setrgbcolor load def - /_currentrgbcolor - /currentrgbcolor load def - Adobe_cmykcolor begin - Adobe_cmykcolor - { - dup xcheck - { - bind - } if - pop pop - } forall - end - end - Adobe_cmykcolor begin - } ifelse -} def -/terminate -{ -currentdict Adobe_cmykcolor eq - { - end - } if -} def -/setcmykcolor -{ -1 sub 4 1 roll -3 - { - 3 index add neg dup 0 lt - { - pop 0 - } if - 3 1 roll - } repeat -Adobe_cmykcolor_vars /_setrgbcolor get exec -pop -} def -/currentcmykcolor -{ -Adobe_cmykcolor_vars /_currentrgbcolor get exec -3 - { - 1 sub neg 3 1 roll - } repeat -0 -} def -currentdict readonly pop end -setpacking -%%EndResource -%%BeginResource: procset Adobe_cshow 1.1 0 -%%Title: (cshow Operator) -%%Version: 1.1 0 -%%CreationDate: (1/23/89) () -%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) -currentpacking true setpacking -userdict /Adobe_cshow 3 dict dup begin put -/initialize -{ -/cshow where - { - pop - } - { - userdict /Adobe_cshow_vars 1 dict dup begin put - /_cshow - {} def - Adobe_cshow begin - Adobe_cshow - { - dup xcheck - { - bind - } if - userdict 3 1 roll put - } forall - end - end - } ifelse -} def -/terminate -{ -} def -/cshow -{ -exch -Adobe_cshow_vars - exch /_cshow - exch put - { - 0 0 Adobe_cshow_vars /_cshow get exec - } forall -} def -currentdict readonly pop end -setpacking -%%EndResource -%%BeginResource: procset Adobe_customcolor 1.0 0 -%%Title: (Custom Color Operators) -%%Version: 1.0 0 -%%CreationDate: (5/9/88) () -%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) -currentpacking true setpacking -userdict /Adobe_customcolor 5 dict dup begin put -/initialize -{ -/setcustomcolor where - { - pop - } - { - Adobe_customcolor begin - Adobe_customcolor - { - dup xcheck - { - bind - } if - pop pop - } forall - end - Adobe_customcolor begin - } ifelse -} def -/terminate -{ -currentdict Adobe_customcolor eq - { - end - } if -} def -/findcmykcustomcolor -{ -5 packedarray -} def -/setcustomcolor -{ -exch -aload pop pop -4 - { - 4 index mul 4 1 roll - } repeat -5 -1 roll pop -setcmykcolor -} def -/setoverprint -{ -pop -} def -currentdict readonly pop end -setpacking -%%EndResource -%%BeginResource: procset Adobe_pattern_AI3 1.1 0 -%%Title: (Adobe Illustrator (R) Version 3.0 Pattern Operators) -%%Version: 1.1 0 -%%CreationDate: (7/21/89) () -%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) -currentpacking true setpacking -userdict /Adobe_pattern_AI3 16 dict dup begin put -/initialize -{ -/definepattern where - { - pop - } - { - Adobe_pattern_AI3 begin - Adobe_pattern_AI3 - { - dup xcheck - { - bind - } if - pop pop - } forall - mark - cachestatus 7 1 roll pop pop pop pop exch pop exch - { - { - 10000 add - dup 2 index gt - { - exit - } if - dup setcachelimit - } loop - } stopped - cleartomark - } ifelse -} def -/terminate -{ -currentdict Adobe_pattern_AI3 eq - { - end - } if -} def -errordict -/nocurrentpoint -{ -pop -stop -} put -errordict -/invalidaccess -{ -pop -stop -} put -/patternencoding -256 array def -0 1 255 -{ -patternencoding exch ( ) 2 copy exch 0 exch put cvn put -} for -/definepattern -{ -17 dict begin -/uniform exch def -/cache exch def -/key exch def -/procarray exch def -/mtx exch matrix invertmatrix def -/height exch def -/width exch def -/ctm matrix currentmatrix def -/ptm matrix def -/str 32 string def -/slice 9 dict def -slice /s 1 put -slice /q 256 procarray length div sqrt floor cvi put -slice /b 0 put -/FontBBox [0 0 0 0] def -/FontMatrix mtx matrix copy def -/Encoding patternencoding def -/FontType 3 def -/BuildChar - { - exch - begin - /setstrokeadjust where {pop true setstrokeadjust} if - slice begin - dup q dup mul mod s idiv /i exch def - dup q dup mul mod s mod /j exch def - q dup mul idiv procarray exch get - /xl j width s div mul def - /xg j 1 add width s div mul def - /yl i height s div mul def - /yg i 1 add height s div mul def - uniform - { - 1 1 - } - { - width 0 dtransform - dup mul exch dup mul add sqrt dup 1 add exch div - 0 height dtransform - dup mul exch dup mul add sqrt dup 1 add exch div - } ifelse - width 0 cache - { - xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul - setcachedevice - } - { - setcharwidth - } ifelse - gsave - scale - newpath - xl yl moveto - xg yl lineto - xg yg lineto - xl yg lineto - closepath - clip - newpath - end - end - exec - grestore - } def -key currentdict definefont -end -} def -/patterncachesize -{ -gsave -newpath -0 0 moveto -width 0 lineto -width height lineto -0 height lineto -closepath -patternmatrix setmatrix -pathbbox -exch ceiling 4 -1 roll floor sub 3 1 roll -ceiling exch floor sub -mul 1 add -grestore -} def -/patterncachelimit -{ -cachestatus 7 1 roll 6 npop 8 mul -} def -/patternpath -{ -exch dup begin setfont -ctm setmatrix -concat -slice exch /b exch slice /q get dup mul mul put -FontMatrix concat -uniform - { - width 0 dtransform round width div exch round width div exch - 0 height dtransform round height div exch height div exch - 0 0 transform round exch round exch - ptm astore setmatrix - } - { - ptm currentmatrix pop - } ifelse -{currentpoint} stopped not - { - 2 npop - pathbbox - true - 4 index 3 index eq - 4 index 3 index eq - and - { - pop false - { - {2 npop} - {3 npop true} - {7 npop true} - {pop true} - pathforall - } stopped - { - 5 npop true - } if - } if - { - height div ceiling height mul 4 1 roll - width div ceiling width mul 4 1 roll - height div floor height mul 4 1 roll - width div floor width mul 4 1 roll - 2 index sub height div ceiling cvi exch - 3 index sub width div ceiling cvi exch - 4 2 roll moveto - FontMatrix mtx invertmatrix - dup dup 4 get exch 5 get rmoveto - ptm ptm concatmatrix pop - slice /s - patterncachesize patterncachelimit div ceiling sqrt ceiling cvi - dup slice /q get gt - { - pop slice /q get - } if - put - 0 1 slice /s get dup mul 1 sub - { - slice /b get add - gsave - 0 1 str length 1 sub - { - str exch 2 index put - } for - pop - dup - { - gsave - ptm setmatrix - 1 index str length idiv {str show} repeat - 1 index str length mod str exch 0 exch getinterval show - grestore - 0 height rmoveto - } repeat - grestore - } for - 2 npop - } - { - 4 npop - } ifelse - } if -end -} def -/patternclip -{ -clip -} def -/patternstrokepath -{ -strokepath -} def -/patternmatrix -matrix def -/patternfill -{ -dup type /dicttype eq - { - Adobe_pattern_AI3 /patternmatrix get - } if -gsave -patternclip -Adobe_pattern_AI3 /patternpath get exec -grestore -newpath -} def -/patternstroke -{ -dup type /dicttype eq - { - Adobe_pattern_AI3 /patternmatrix get - } if -gsave -patternstrokepath -true - { - { - { - newpath - moveto - } - { - lineto - } - { - curveto - } - { - closepath - 3 copy - Adobe_pattern_AI3 /patternfill get exec - } pathforall - 3 npop - } stopped - { - 5 npop - patternclip - Adobe_pattern_AI3 /patternfill get exec - } if - } - { - patternclip - Adobe_pattern_AI3 /patternfill get exec - } ifelse -grestore -newpath -} def -/patternashow -{ -3 index type /dicttype eq - { - Adobe_pattern_AI3 /patternmatrix get 4 1 roll - } if - { - 2 npop (0) exch - 2 copy 0 exch put pop - gsave - false charpath currentpoint - 6 index 6 index 6 index - Adobe_pattern_AI3 /patternfill get exec - grestore - newpath moveto - 2 copy rmoveto - } exch cshow -5 npop -} def -/patternawidthshow -{ -6 index type /dicttype eq - { - Adobe_pattern_AI3 /patternmatrix get 7 1 roll - } if - { - 2 npop (0) exch - 2 copy 0 exch put - gsave - _sp eq {5 index 5 index rmoveto} if - false charpath currentpoint - 9 index 9 index 9 index - Adobe_pattern_AI3 /patternfill get exec - grestore - newpath moveto - 2 copy rmoveto - } exch cshow -8 npop -} def -/patternashowstroke -{ -4 index type /dicttype eq - { - patternmatrix /patternmatrix get 5 1 roll - } if -4 1 roll - { - 2 npop (0) exch - 2 copy 0 exch put pop - gsave - false charpath - currentpoint - 4 index setmatrix - 7 index 7 index 7 index - Adobe_pattern_AI3 /patternstroke get exec - grestore - newpath moveto - 2 copy rmoveto - } exch cshow -6 npop -} def -/patternawidthshowstroke -{ -7 index type /dicttype eq - { - patternmatrix /patternmatrix get 8 1 roll - } if -7 1 roll - { - 2 npop (0) exch - 2 copy 0 exch put - gsave - _sp eq {5 index 5 index rmoveto} if - false charpath currentpoint - 7 index setmatrix - 10 index 10 index 10 index - Adobe_pattern_AI3 /patternstroke get exec - grestore - newpath moveto - 2 copy rmoveto - } exch cshow -9 npop -} def -currentdict readonly pop end -setpacking -%%EndResource -%%BeginResource: procset Adobe_Illustrator_AI3 1.1 0 -%%Title: (Adobe Illustrator (R) Version 3.0 Full Prolog) -%%Version: 1.1 0 -%%CreationDate: (3/7/1994) () -%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) -currentpacking true setpacking -userdict /Adobe_Illustrator_AI3 71 dict dup begin put -/initialize -{ -userdict /Adobe_Illustrator_AI3_vars 67 dict dup begin put -/_lp /none def -/_pf {} def -/_ps {} def -/_psf {} def -/_pss {} def -/_pjsf {} def -/_pjss {} def -/_pola 0 def -/_doClip 0 def -/cf currentflat def -/_tm matrix def -/_renderStart [/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0] def -/_renderEnd [null null null null /i1 /i1 /i1 /i1] def -/_render -1 def -/_rise 0 def -/_ax 0 def -/_ay 0 def -/_cx 0 def -/_cy 0 def -/_leading [0 0] def -/_ctm matrix def -/_mtx matrix def -/_sp 16#020 def -/_hyphen (-) def -/_fScl 0 def -/_cnt 0 def -/_hs 1 def -/_nativeEncoding 0 def -/_useNativeEncoding 0 def -/_tempEncode 0 def -/_pntr 0 def -/_tDict 2 dict def -/_wv 0 def -/Tx {} def -/Tj {} def -/CRender {} def -/_AI3_savepage {} def -/_gf null def -/_cf 4 array def -/_if null def -/_of false def -/_fc {} def -/_gs null def -/_cs 4 array def -/_is null def -/_os false def -/_sc {} def -/_pd 1 dict def -/_ed 15 dict def -/_pm matrix def -/_fm null def -/_fd null def -/_fdd null def -/_sm null def -/_sd null def -/_sdd null def -/_i null def -Adobe_Illustrator_AI3 begin -Adobe_Illustrator_AI3 dup /nc get begin - { - dup xcheck - { - bind - } if - pop pop - } forall -end -end -end -Adobe_Illustrator_AI3 begin -Adobe_Illustrator_AI3_vars begin -newpath -} def -/terminate -{ -end -end -} def -/_ -null def -/ddef -{ -Adobe_Illustrator_AI3_vars 3 1 roll put -} def -/xput -{ -dup load dup length exch maxlength eq - { - dup dup load dup - length 2 mul dict copy def - } if -load begin def end -} def -/npop -{ - { - pop - } repeat -} def -/sw -{ -dup length exch stringwidth -exch 5 -1 roll 3 index mul add -4 1 roll 3 1 roll mul add -} def -/swj -{ -dup 4 1 roll -dup length exch stringwidth -exch 5 -1 roll 3 index mul add -4 1 roll 3 1 roll mul add -6 2 roll /_cnt 0 ddef -{1 index eq {/_cnt _cnt 1 add ddef} if} forall pop -exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop -} def -/ss -{ -4 1 roll - { - 2 npop - (0) exch 2 copy 0 exch put pop - gsave - false charpath currentpoint - 4 index setmatrix - stroke - grestore - moveto - 2 copy rmoveto - } exch cshow -3 npop -} def -/jss -{ -4 1 roll - { - 2 npop - (0) exch 2 copy 0 exch put - gsave - _sp eq - { - exch 6 index 6 index 6 index 5 -1 roll widthshow - currentpoint - } - { - false charpath currentpoint - 4 index setmatrix stroke - }ifelse - grestore - moveto - 2 copy rmoveto - } exch cshow -6 npop -} def -/sp -{ - { - 2 npop (0) exch - 2 copy 0 exch put pop - false charpath - 2 copy rmoveto - } exch cshow -2 npop -} def -/jsp -{ - { - 2 npop - (0) exch 2 copy 0 exch put - _sp eq - { - exch 5 index 5 index 5 index 5 -1 roll widthshow - } - { - false charpath - }ifelse - 2 copy rmoveto - } exch cshow -5 npop -} def -/pl -{ -transform -0.25 sub round 0.25 add exch -0.25 sub round 0.25 add exch -itransform -} def -/setstrokeadjust where - { - pop true setstrokeadjust - /c - { - curveto - } def - /C - /c load def - /v - { - currentpoint 6 2 roll curveto - } def - /V - /v load def - /y - { - 2 copy curveto - } def - /Y - /y load def - /l - { - lineto - } def - /L - /l load def - /m - { - moveto - } def - } - { - /c - { - pl curveto - } def - /C - /c load def - /v - { - currentpoint 6 2 roll pl curveto - } def - /V - /v load def - /y - { - pl 2 copy curveto - } def - /Y - /y load def - /l - { - pl lineto - } def - /L - /l load def - /m - { - pl moveto - } def - } ifelse -/d -{ -setdash -} def -/cf {} def -/i -{ -dup 0 eq - { - pop cf - } if -setflat -} def -/j -{ -setlinejoin -} def -/J -{ -setlinecap -} def -/M -{ -setmiterlimit -} def -/w -{ -setlinewidth -} def -/H -{} def -/h -{ -closepath -} def -/N -{ -_pola 0 eq - { - _doClip 1 eq {clip /_doClip 0 ddef} if - newpath - } - { - /CRender {N} ddef - }ifelse -} def -/n -{N} def -/F -{ -_pola 0 eq - { - _doClip 1 eq - { - gsave _pf grestore clip newpath /_lp /none ddef _fc - /_doClip 0 ddef - } - { - _pf - }ifelse - } - { - /CRender {F} ddef - }ifelse -} def -/f -{ -closepath -F -} def -/S -{ -_pola 0 eq - { - _doClip 1 eq - { - gsave _ps grestore clip newpath /_lp /none ddef _sc - /_doClip 0 ddef - } - { - _ps - }ifelse - } - { - /CRender {S} ddef - }ifelse -} def -/s -{ -closepath -S -} def -/B -{ -_pola 0 eq - { - _doClip 1 eq - gsave F grestore - { - gsave S grestore clip newpath /_lp /none ddef _sc - /_doClip 0 ddef - } - { - S - }ifelse - } - { - /CRender {B} ddef - }ifelse -} def -/b -{ -closepath -B -} def -/W -{ -/_doClip 1 ddef -} def -/* -{ -count 0 ne - { - dup type (stringtype) eq {pop} if - } if -_pola 0 eq {newpath} if -} def -/u -{} def -/U -{} def -/q -{ -_pola 0 eq {gsave} if -} def -/Q -{ -_pola 0 eq {grestore} if -} def -/*u -{ -_pola 1 add /_pola exch ddef -} def -/*U -{ -_pola 1 sub /_pola exch ddef -_pola 0 eq {CRender} if -} def -/D -{pop} def -/*w -{} def -/*W -{} def -/` -{ -/_i save ddef -6 1 roll 4 npop -concat pop -userdict begin -/showpage {} def -0 setgray -0 setlinecap -1 setlinewidth -0 setlinejoin -10 setmiterlimit -[] 0 setdash -/setstrokeadjust where {pop false setstrokeadjust} if -newpath -0 setgray -false setoverprint -} def -/~ -{ -end -_i restore -} def -/@ -{} def -/& -{} def -/O -{ -0 ne -/_of exch ddef -/_lp /none ddef -} def -/R -{ -0 ne -/_os exch ddef -/_lp /none ddef -} def -/g -{ -/_gf exch ddef -/_fc -{ -_lp /fill ne - { - _of setoverprint - _gf setgray - /_lp /fill ddef - } if -} ddef -/_pf -{ -_fc -fill -} ddef -/_psf -{ -_fc -ashow -} ddef -/_pjsf -{ -_fc -awidthshow -} ddef -/_lp /none ddef -} def -/G -{ -/_gs exch ddef -/_sc -{ -_lp /stroke ne - { - _os setoverprint - _gs setgray - /_lp /stroke ddef - } if -} ddef -/_ps -{ -_sc -stroke -} ddef -/_pss -{ -_sc -ss -} ddef -/_pjss -{ -_sc -jss -} ddef -/_lp /none ddef -} def -/k -{ -_cf astore pop -/_fc -{ -_lp /fill ne - { - _of setoverprint - _cf aload pop setcmykcolor - /_lp /fill ddef - } if -} ddef -/_pf -{ -_fc -fill -} ddef -/_psf -{ -_fc -ashow -} ddef -/_pjsf -{ -_fc -awidthshow -} ddef -/_lp /none ddef -} def -/K -{ -_cs astore pop -/_sc -{ -_lp /stroke ne - { - _os setoverprint - _cs aload pop setcmykcolor - /_lp /stroke ddef - } if -} ddef -/_ps -{ -_sc -stroke -} ddef -/_pss -{ -_sc -ss -} ddef -/_pjss -{ -_sc -jss -} ddef -/_lp /none ddef -} def -/x -{ -/_gf exch ddef -findcmykcustomcolor -/_if exch ddef -/_fc -{ -_lp /fill ne - { - _of setoverprint - _if _gf 1 exch sub setcustomcolor - /_lp /fill ddef - } if -} ddef -/_pf -{ -_fc -fill -} ddef -/_psf -{ -_fc -ashow -} ddef -/_pjsf -{ -_fc -awidthshow -} ddef -/_lp /none ddef -} def -/X -{ -/_gs exch ddef -findcmykcustomcolor -/_is exch ddef -/_sc -{ -_lp /stroke ne - { - _os setoverprint - _is _gs 1 exch sub setcustomcolor - /_lp /stroke ddef - } if -} ddef -/_ps -{ -_sc -stroke -} ddef -/_pss -{ -_sc -ss -} ddef -/_pjss -{ -_sc -jss -} ddef -/_lp /none ddef -} def -/dp -{ -dup null eq -{ -pop -_dp 0 ne - { - 0 1 _dp 1 sub _dl mod - { - _da exch get 3 get - } for - _dp 1 sub _dl mod 1 add packedarray - _da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll - definepattern pop - } if -} -{ -_dp 0 ne _dp _dl mod 0 eq and - { - null dp - } if -7 packedarray _da exch _dp _dl mod exch put -_dp _dl mod _da 0 get 4 get 2 packedarray -/_dp _dp 1 add def -} ifelse -} def -/E -{ -_ed begin -dup 0 get type /arraytype ne - { - 0 - { - dup 1 add index type /arraytype eq - { - 1 add - } - { - exit - } ifelse - } loop - array astore - } if -/_dd exch def -/_ury exch def -/_urx exch def -/_lly exch def -/_llx exch def -/_n exch def -/_y 0 def -/_dl 4 def -/_dp 0 def -/_da _dl array def -0 1 _dd length 1 sub - { - /_d exch _dd exch get def - 0 2 _d length 2 sub - { - /_x exch def - /_c _d _x get _ ne def - /_r _d _x 1 add get cvlit def - _r _ ne - { - _urx _llx sub _ury _lly sub [1 0 0 1 0 0] - [ - /save cvx - _llx neg _lly neg /translate cvx - _c - { - nc /begin cvx - } if - _r dup type /stringtype eq - { - cvx - } - { - {exec} /forall cvx - } ifelse - _c - { - /end cvx - } if - /restore cvx - ] cvx - /_fn 12 _n length add string def - _y _fn cvs pop - /_y _y 1 add def - _fn 12 _n putinterval - _fn _c false dp - _d exch _x 1 add exch put - } if - } for - } for -null dp -_n _dd /_pd -end xput -} def -/fc -{ -_fm dup concatmatrix pop -} def -/p -{ -/_fm exch ddef -9 -2 roll _pm translate fc -7 -2 roll _pm scale fc -5 -1 roll _pm rotate fc -4 -2 roll exch 0 ne - { - dup _pm rotate fc - 1 -1 _pm scale fc - neg _pm rotate fc - } - { - pop - } ifelse -dup _pm rotate fc -exch dup sin exch cos div 1 0 0 1 0 6 2 roll -_pm astore fc -neg _pm rotate fc -_pd exch get /_fdd exch ddef -/_pf -{ -save -/_doClip 0 ddef -0 1 _fdd length 1 sub - { - /_fd exch _fdd exch get ddef - _fd - 0 2 _fd length 2 sub - { - gsave - 2 copy get dup _ ne - { - cvx exec _fc - } - { - pop - } ifelse - 2 copy 1 add get dup _ ne - { - aload pop findfont _fm - patternfill - } - { - pop - fill - } ifelse - grestore - pop - } for - pop - } for -restore -newpath -} ddef -/_psf -{ -save -/_doClip 0 ddef -0 1 _fdd length 1 sub - { - /_fd exch _fdd exch get ddef - _fd - 0 2 _fd length 2 sub - { - gsave - 2 copy get dup _ ne - { - cvx exec _fc - } - { - pop - } ifelse - 2 copy 1 add get dup _ ne - { - aload pop findfont _fm - 9 copy 6 npop patternashow - } - { - pop - 6 copy 3 npop ashow - } ifelse - grestore - pop - } for - pop - } for -restore -%3 npop newpath -sw rmoveto -} ddef -/_pjsf -{ -save -/_doClip 0 ddef -0 1 _fdd length 1 sub - { - /_fd exch _fdd exch get ddef - _fd - 0 2 _fd length 2 sub - { - gsave - 2 copy get dup _ ne - { - cvx exec _fc - } - { - pop - } ifelse - 2 copy 1 add get dup _ ne - { - aload pop findfont _fm - 12 copy 6 npop patternawidthshow - } - { - pop 9 copy 3 npop awidthshow - } ifelse - grestore - pop - } for - pop - } for -restore -swj rmoveto -} ddef -/_lp /none ddef -} def -/sc -{ -_sm dup concatmatrix pop -} def -/P -{ -/_sm exch ddef -9 -2 roll _pm translate sc -7 -2 roll _pm scale sc -5 -1 roll _pm rotate sc -4 -2 roll exch 0 ne - { - dup _pm rotate sc - 1 -1 _pm scale sc - neg _pm rotate sc - } - { - pop - } ifelse -dup _pm rotate sc -exch dup sin exch cos div 1 0 0 1 0 6 2 roll -_pm astore sc -neg _pm rotate sc -_pd exch get /_sdd exch ddef -/_ps -{ -save -/_doClip 0 ddef -0 1 _sdd length 1 sub - { - /_sd exch _sdd exch get ddef - _sd - 0 2 _sd length 2 sub - { - gsave - 2 copy get dup _ ne - { - cvx exec _sc - } - { - pop - } ifelse - 2 copy 1 add get dup _ ne - { - aload pop findfont _sm - patternstroke - } - { - pop stroke - } ifelse - grestore - pop - } for - pop - } for -restore -newpath -} ddef -/_pss -{ -save -/_doClip 0 ddef -0 1 _sdd length 1 sub - { - /_sd exch _sdd exch get ddef - _sd - 0 2 _sd length 2 sub - { - gsave - 2 copy get dup _ ne - { - cvx exec _sc - } - { - pop - } ifelse - 2 copy 1 add get dup _ ne - { - aload pop findfont _sm - 10 copy 6 npop patternashowstroke - } - { - pop 7 copy 3 npop ss - } ifelse - grestore - pop - } for - pop - } for -restore -pop sw rmoveto -} ddef -/_pjss -{ -save -/_doClip 0 ddef -0 1 _sdd length 1 sub - { - /_sd exch _sdd exch get ddef - _sd - 0 2 _sd length 2 sub - { - gsave - 2 copy get dup _ ne - { - cvx exec _sc - } - { - pop - } ifelse - 2 copy 1 add get dup _ ne - { - aload pop findfont _sm - 13 copy 6 npop patternawidthshowstroke - } - { - pop 10 copy 3 npop jss - } ifelse - grestore - pop - } for - pop - } for -restore -pop swj rmoveto -} ddef -/_lp /none ddef -} def -/A -{ -pop -} def -/nc 3 dict def -nc begin -/setgray -{ -pop -} bind def -/setcmykcolor -{ -4 npop -} bind def -/setcustomcolor -{ -2 npop -} bind def -currentdict readonly pop end -currentdict readonly pop end -setpacking -/annotatepage -{ -} def -%%EndResource -%%EndProlog -%%BeginSetup -Adobe_cmykcolor /initialize get exec -Adobe_cshow /initialize get exec -Adobe_customcolor /initialize get exec -Adobe_pattern_AI3 /initialize get exec -Adobe_Illustrator_AI3 /initialize get exec -%%EndSetup -0 A -0 O -0.25 1 1 0.25 k -0 R -0 0 0 1 K -0 J 0 j 0.2 w 4 M []0 d -9.19971 841.8735 m -10.3311 842.1226 8.4126 839.4165 8 839.2729 c -9.57471 839.1421 9.3999 839.0728 v -9 838.9233 8.8623 838.561 8.6001 838.2729 c -7.39355 836.9985 6.49365 836.7915 7.3999 834.8735 C -8.03125 834.9233 8.1626 835.1919 8.6001 834.8735 c -9.32471 834.3423 7.78125 832.979 10 832.0728 c -11.356 831.5229 14.1997 832.1792 15.7998 832.2729 C -15.1997 831.8481 12.5186 830.4546 12.3999 829.6733 c -12.1812 828.2612 12.9434 828.686 13.5996 828.4731 C -13.2998 827.2544 13.106 827.5854 14.1997 827.0737 C -13.9058 825.7485 14.3687 824.8296 15.3999 824.0737 C -15.1309 824.0229 15.0996 823.2983 15.1997 823.4731 C -16.7246 820.23 19.1123 818.5229 21.9995 816.6733 C -21.6309 816.3979 20.6558 815.2925 20.5996 815.2739 C -21.5811 815.061 22.6807 814.1675 23.1997 814.0737 c -25.1621 813.7358 24.1309 815.5171 25.7998 814.2739 C -26.6689 815.0239 26.7061 815.8735 25.9995 816.2729 C -28.0439 816.4048 32.4873 820.0112 33.7998 821.6733 c -34.6494 822.7612 35.0557 823.9985 34.999 825.4731 C -36.499 826.3667 36.6807 826.5669 35.999 828.0737 C -38.5498 828.7544 34.6494 830.9604 33.5996 831.6733 C -35.2559 831.6235 37.4619 830.6421 39.3994 831.0728 c -40.8428 831.4048 40.2432 832.3169 40.5996 833.2729 c -41.0186 834.4165 42.5557 833.5415 42.999 834.4731 c -43.1182 834.7417 42.999 836.0728 Y -42.3311 836.8979 41.6055 837.5981 40.7998 838.2729 c -40.0811 838.8794 42.4736 838.6919 41.999 838.8735 c -41.293 839.1479 40.9424 840.7671 40.5996 841.4731 C -42.5557 840.1978 45.3623 837.6665 44.5986 833.8735 c -44.124 831.5298 41.2871 829.8423 40.1992 827.8735 c -37.6934 823.3608 36.5117 817.7612 33.3994 813.8735 c -33.2178 813.6548 33.1182 813.3608 32.7998 813.2739 c -32.3496 813.1606 33.4121 812.8677 33.5996 812.8735 c -38.4121 813.0864 39.874 811.2544 40.7998 816.0737 C -40.8428 815.8169 40.4053 818.0737 42.1992 818.6733 C -42.5557 815.4302 40.749 813.4673 39.3994 811.2739 C -37.5996 811.7231 36.3115 812.2739 33.7998 812.2739 C -33.7998 810.0112 33.793 805.686 33.1992 804.4731 c -33.168 804.4233 32.6182 803.5981 32.7998 803.4731 c -33.9248 802.7231 34.6367 801.4048 34.1992 800.0737 c -33.9365 799.3052 32.999 797.7427 33.7998 797.2739 c -35.624 796.2114 37.168 797.3052 38.7998 796.8735 C -40.0742 800.6548 40.874 803.8608 42.1992 807.8735 C -42.624 807.6987 42.6924 807.5425 42.999 807.2739 C -44.7861 810.73 46.999 812.7485 47.999 817.0737 C -48.3994 815.8735 L -49.7373 815.98 49.999 816.0737 V -48.4678 814.7856 47.0674 812.6235 46.999 812.4731 c -44.9561 809.3237 44.4111 808.8481 43.999 807.2739 C -44.9932 807.2427 44.6494 807.5552 45.5986 806.6733 C -44.6436 805.8989 45.2686 805.9048 44.7998 805.0737 c -44.7617 805.0171 44.0742 805.0737 43.999 805.0737 C -43.624 803.2427 42.4307 802.436 41.999 801.0737 c -41.3994 799.2046 41.5557 798.2983 40.3994 796.4741 c -38.4561 793.4302 38.249 794.9546 34.5996 793.8745 c -33.7686 792.7495 33.5996 792.6733 v -32.6748 792.2983 31.1309 792.1987 30.1992 792.0737 C -30.9619 790.1802 31.7998 790.4741 34.3994 790.4741 C -35.0371 788.0308 35.1934 789.2681 37.1992 788.2739 c -38.0742 787.8433 38.793 786.0991 39.3994 785.2739 c -39.999 784.4614 41.499 783.8433 41.999 783.0737 c -42.1807 782.7866 41.668 782.5308 41.5996 782.4741 C -44.5049 779.7056 47.499 773.8804 51.1992 772.0737 c -51.3242 772.0181 51.7803 771.8862 51.7998 771.8745 c -52.1436 771.6929 52.2178 771.3745 52.3994 771.2749 C -50.8682 771.6245 51.3057 771.1558 50.999 771.2749 C -51.2178 769.8745 50.5986 769.8745 V -49.4561 774.1743 45.3369 775.1304 43.5986 778.8745 C -43.3555 778.4624 42.8369 778.3179 42.7998 778.2749 C -40.999 780.8931 38.7305 783.2056 37.3994 786.0737 C -36.4248 785.9429 35.9678 785.9429 34.999 786.0737 C -35.1553 784.6245 35.5244 783.0181 35.3994 781.2749 c -35.2432 779.2612 34.8623 776.6558 34.5996 774.6743 C -35.3623 774.3237 36.1309 773.9556 36.7998 773.4741 c -37.2559 773.1499 38.1992 772.437 38.3994 771.8745 c -39.1621 769.6929 38.1992 765.2183 38.5996 762.0747 c -38.6748 761.437 39.2871 760.2368 39.1992 759.4741 c -39.1494 759.0991 38.4619 758.9116 38.5996 758.0747 c -38.7686 757.0122 39.7549 755.5435 40.1992 754.6753 c -41.0811 752.9253 41.6924 751.1128 41.999 748.8745 C -40.3496 749.8628 41.7373 748.5815 40.1992 748.0747 c -39.7061 747.9185 40.1992 748.8745 Y -40.3115 751.7866 39.9424 753.1685 38.999 755.2749 c -38.9492 755.3804 38.0498 756.2866 37.999 756.4741 c -37.2178 759.269 36.6367 763.4556 36.999 767.4741 c -37.1992 769.7495 37.5303 770.1245 35.999 770.8745 c -35.3311 771.2056 34.8994 771.2437 33.999 771.4741 C -33.3057 768.7056 32.5557 766.3491 30.999 764.4741 c -27.2686 759.9995 20.481 761.3491 17.9995 766.0737 c -17.1621 767.6675 16.3745 769.3179 15.7998 771.2749 C -14.7061 770.8745 14.106 770.73 13 770.2749 C -13.5308 766.6675 12.6812 763.0366 12.7998 760.0747 C -12.5308 760.4312 12.0562 760.731 11.7998 761.0747 C -10.4248 756.4253 6.0376 755.6304 5 750.2749 C -4.7998 752.7437 4 751.8745 Y -3.20605 751.9312 3.625 752.4683 3.6001 752.4741 C -5.65625 753.9116 9.43115 757.1304 10.3999 759.4741 c -11.6875 762.606 10.7437 769.3433 12 771.8745 c -12.4497 772.7993 14.3062 773.5366 15.1997 774.0737 C -14.7124 777.6558 14.1436 781.7925 14.5996 785.8745 C -13.8184 785.8745 12.9746 785.8745 12.1997 785.8745 C -11.6997 783.9868 10.1812 779.5679 9.19971 778.0737 c -9.125 777.9683 8.5376 778.2368 8.3999 778.2749 C -8.10596 777.1675 8.2876 776.6616 7.7998 775.6743 c -7.79346 775.6675 7.2251 775.6743 7.19971 775.6743 C -6.08105 773.3062 2.625 770.9116 4.19971 767.8745 C -3.88721 768.0425 3.49365 768.4312 3.3999 768.4741 C -3.33105 768.4741 3.26855 768.4741 3.19971 768.4741 C -3 768.6675 3.08105 769.1304 3 769.4741 C -0.90625 769.6245 1.65625 769.6187 2.6001 770.4741 c -3.94971 771.7124 5.19385 773.7368 6.19971 775.2749 c -4.34375 772.1187 8.3125 778.4487 7 778.4741 C -7.51855 779.5181 8.44336 780.4995 9 781.4741 C -8.78125 781.5181 9.19971 782.2749 Y -8.9751 782.2241 8.8999 782.1812 8.6001 782.0737 C -10.2813 783.4116 10.3062 786.6304 12 787.8745 c -14.1748 789.48 14.7935 787.48 15.5996 790.6733 C -18.1558 790.6733 19.1245 790.0806 19.7998 792.0737 C -19.8496 792.0864 18.7998 792.0737 Y -18.0435 792.2983 16.062 792.2495 15.1997 792.6733 c -14.9434 792.8052 14.6685 793.7808 14.3999 793.8745 c -10.856 795.1489 10.5747 792.9116 8.6001 796.6733 c -6.70605 800.2739 6.4126 803.3481 4.19971 806.0737 C -4.76855 806.9175 4.86865 806.7544 5.3999 807.0737 C -3.6626 809.73 2.69385 813.2114 0 814.2739 C -0 814.3481 0.037598 815.0552 0 815.0737 C -1.2251 815.4106 1.44385 815.311 2.3999 815.8735 C -1.44385 813.9487 5.23096 809.1489 6.3999 806.6733 C -7.1748 807.186 7.13721 807.6177 7.7998 806.2739 C -7.70605 806.2173 7.5874 805.2612 7.6001 805.0737 c -7.75 802.3608 9.5625 799.7358 10.1997 796.6733 C -12.1748 797.1802 13.3999 796.6304 15.5996 797.2739 C -15.2061 799.3921 14.6309 800.1548 14.1997 802.2739 C -15.4873 802.5171 15.231 802.6548 16.1997 803.4731 c -16.437 803.6802 15.8184 804.23 15.7998 804.2739 c -15.2749 805.3735 15.1875 810.2046 15.3999 812.0737 C -13.7124 811.73 12.3311 810.6606 11.1997 810.4731 c -10.7749 810.4106 10.4248 810.4731 10 810.4731 C -9.2749 812.2671 6.80615 814.355 6.6001 815.4731 c -6.4375 816.3481 6.875 816.7856 7 817.2729 C -7.1499 817.1733 7.94336 817.0854 8 817.0737 C -8.44336 814.0796 9.2373 813.8921 10.5996 811.4731 C -12.6558 811.8794 14.0186 812.7231 16.3999 813.0737 C -13.4497 817.5854 12.0747 823.5542 9.3999 828.4731 c -8.1875 830.6978 5.5249 832.2856 5.19971 835.2729 c -5.16846 835.5103 5.38086 836.1919 5.3999 836.0728 C -5.79346 838.0298 6.21875 838.8296 7.19971 840.0728 c -7.50586 840.4731 7.81836 840.9673 8.19971 841.2729 c -8.3999 841.4419 8.9624 841.8228 9.19971 841.8735 c -b -%%PageTrailer -gsave annotatepage grestore showpage -%%Trailer -Adobe_Illustrator_AI3 /terminate get exec -Adobe_pattern_AI3 /terminate get exec -Adobe_customcolor /terminate get exec -Adobe_cshow /terminate get exec -Adobe_cmykcolor /terminate get exec -Adobe_packedarray /terminate get exec -%%EOF +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Adobe Illustrator(TM) 3.2 +%%AI8_CreatorVersion: 12.0.0 +%%For: (fluxus) (x) +%%Title: (bug.eps) +%%CreationDate: 4/15/2006 11:11 PM +%%BoundingBox: -2 747 53 843 +% -2 747 53 843 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%DocumentSuppliedResources: procset Adobe_packedarray 2.0 0 +%%+ procset Adobe_cmykcolor 1.1 0 +%%+ procset Adobe_cshow 1.1 0 +%%+ procset Adobe_customcolor 1.0 0 +%%+ procset Adobe_pattern_AI3 1.0 0 +%%+ procset Adobe_Illustrator_AI3 1.0 1 +%AI3_ColorUsage: Color +%AI3_IncludePlacedImages +%%CMYKCustomColor: 1 1 1 1 ([Registration]) +%AI3_TemplateBox: 298.5 420.3896 298.5 420.3896 +%AI3_TileBox: 0.157715 0.044861 595.1177 841.9648 +%AI3_DocumentPreview: Header +%%PageOrigin:-32 11.8896 +%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments +%%BeginProlog +%%BeginResource: procset Adobe_packedarray 2.0 0 +%%Title: (Packed Array Operators) +%%Version: 2.0 0 +%%CreationDate: (8/2/90) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +userdict /Adobe_packedarray 5 dict dup begin put +/initialize +{ +/packedarray where + { + pop + } + { + Adobe_packedarray begin + Adobe_packedarray + { + dup xcheck + { + bind + } if + userdict 3 1 roll put + } forall + end + } ifelse +} def +/terminate +{ +} def +/packedarray +{ +array astore readonly +} def +/setpacking +{ +pop +} def +/currentpacking +{ +false +} def +currentdict readonly pop end +%%EndResource +Adobe_packedarray /initialize get exec +%%BeginResource: procset Adobe_cmykcolor 1.1 0 +%%Title: (CMYK Color Operators) +%%Version: 1.1 0 +%%CreationDate: (1/23/89) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_cmykcolor 4 dict dup begin put +/initialize +{ +/setcmykcolor where + { + pop + } + { + userdict /Adobe_cmykcolor_vars 2 dict dup begin put + /_setrgbcolor + /setrgbcolor load def + /_currentrgbcolor + /currentrgbcolor load def + Adobe_cmykcolor begin + Adobe_cmykcolor + { + dup xcheck + { + bind + } if + pop pop + } forall + end + end + Adobe_cmykcolor begin + } ifelse +} def +/terminate +{ +currentdict Adobe_cmykcolor eq + { + end + } if +} def +/setcmykcolor +{ +1 sub 4 1 roll +3 + { + 3 index add neg dup 0 lt + { + pop 0 + } if + 3 1 roll + } repeat +Adobe_cmykcolor_vars /_setrgbcolor get exec +pop +} def +/currentcmykcolor +{ +Adobe_cmykcolor_vars /_currentrgbcolor get exec +3 + { + 1 sub neg 3 1 roll + } repeat +0 +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_cshow 1.1 0 +%%Title: (cshow Operator) +%%Version: 1.1 0 +%%CreationDate: (1/23/89) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_cshow 3 dict dup begin put +/initialize +{ +/cshow where + { + pop + } + { + userdict /Adobe_cshow_vars 1 dict dup begin put + /_cshow + {} def + Adobe_cshow begin + Adobe_cshow + { + dup xcheck + { + bind + } if + userdict 3 1 roll put + } forall + end + end + } ifelse +} def +/terminate +{ +} def +/cshow +{ +exch +Adobe_cshow_vars + exch /_cshow + exch put + { + 0 0 Adobe_cshow_vars /_cshow get exec + } forall +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_customcolor 1.0 0 +%%Title: (Custom Color Operators) +%%Version: 1.0 0 +%%CreationDate: (5/9/88) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_customcolor 5 dict dup begin put +/initialize +{ +/setcustomcolor where + { + pop + } + { + Adobe_customcolor begin + Adobe_customcolor + { + dup xcheck + { + bind + } if + pop pop + } forall + end + Adobe_customcolor begin + } ifelse +} def +/terminate +{ +currentdict Adobe_customcolor eq + { + end + } if +} def +/findcmykcustomcolor +{ +5 packedarray +} def +/setcustomcolor +{ +exch +aload pop pop +4 + { + 4 index mul 4 1 roll + } repeat +5 -1 roll pop +setcmykcolor +} def +/setoverprint +{ +pop +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_pattern_AI3 1.1 0 +%%Title: (Adobe Illustrator (R) Version 3.0 Pattern Operators) +%%Version: 1.1 0 +%%CreationDate: (7/21/89) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_pattern_AI3 16 dict dup begin put +/initialize +{ +/definepattern where + { + pop + } + { + Adobe_pattern_AI3 begin + Adobe_pattern_AI3 + { + dup xcheck + { + bind + } if + pop pop + } forall + mark + cachestatus 7 1 roll pop pop pop pop exch pop exch + { + { + 10000 add + dup 2 index gt + { + exit + } if + dup setcachelimit + } loop + } stopped + cleartomark + } ifelse +} def +/terminate +{ +currentdict Adobe_pattern_AI3 eq + { + end + } if +} def +errordict +/nocurrentpoint +{ +pop +stop +} put +errordict +/invalidaccess +{ +pop +stop +} put +/patternencoding +256 array def +0 1 255 +{ +patternencoding exch ( ) 2 copy exch 0 exch put cvn put +} for +/definepattern +{ +17 dict begin +/uniform exch def +/cache exch def +/key exch def +/procarray exch def +/mtx exch matrix invertmatrix def +/height exch def +/width exch def +/ctm matrix currentmatrix def +/ptm matrix def +/str 32 string def +/slice 9 dict def +slice /s 1 put +slice /q 256 procarray length div sqrt floor cvi put +slice /b 0 put +/FontBBox [0 0 0 0] def +/FontMatrix mtx matrix copy def +/Encoding patternencoding def +/FontType 3 def +/BuildChar + { + exch + begin + /setstrokeadjust where {pop true setstrokeadjust} if + slice begin + dup q dup mul mod s idiv /i exch def + dup q dup mul mod s mod /j exch def + q dup mul idiv procarray exch get + /xl j width s div mul def + /xg j 1 add width s div mul def + /yl i height s div mul def + /yg i 1 add height s div mul def + uniform + { + 1 1 + } + { + width 0 dtransform + dup mul exch dup mul add sqrt dup 1 add exch div + 0 height dtransform + dup mul exch dup mul add sqrt dup 1 add exch div + } ifelse + width 0 cache + { + xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul + setcachedevice + } + { + setcharwidth + } ifelse + gsave + scale + newpath + xl yl moveto + xg yl lineto + xg yg lineto + xl yg lineto + closepath + clip + newpath + end + end + exec + grestore + } def +key currentdict definefont +end +} def +/patterncachesize +{ +gsave +newpath +0 0 moveto +width 0 lineto +width height lineto +0 height lineto +closepath +patternmatrix setmatrix +pathbbox +exch ceiling 4 -1 roll floor sub 3 1 roll +ceiling exch floor sub +mul 1 add +grestore +} def +/patterncachelimit +{ +cachestatus 7 1 roll 6 npop 8 mul +} def +/patternpath +{ +exch dup begin setfont +ctm setmatrix +concat +slice exch /b exch slice /q get dup mul mul put +FontMatrix concat +uniform + { + width 0 dtransform round width div exch round width div exch + 0 height dtransform round height div exch height div exch + 0 0 transform round exch round exch + ptm astore setmatrix + } + { + ptm currentmatrix pop + } ifelse +{currentpoint} stopped not + { + 2 npop + pathbbox + true + 4 index 3 index eq + 4 index 3 index eq + and + { + pop false + { + {2 npop} + {3 npop true} + {7 npop true} + {pop true} + pathforall + } stopped + { + 5 npop true + } if + } if + { + height div ceiling height mul 4 1 roll + width div ceiling width mul 4 1 roll + height div floor height mul 4 1 roll + width div floor width mul 4 1 roll + 2 index sub height div ceiling cvi exch + 3 index sub width div ceiling cvi exch + 4 2 roll moveto + FontMatrix mtx invertmatrix + dup dup 4 get exch 5 get rmoveto + ptm ptm concatmatrix pop + slice /s + patterncachesize patterncachelimit div ceiling sqrt ceiling cvi + dup slice /q get gt + { + pop slice /q get + } if + put + 0 1 slice /s get dup mul 1 sub + { + slice /b get add + gsave + 0 1 str length 1 sub + { + str exch 2 index put + } for + pop + dup + { + gsave + ptm setmatrix + 1 index str length idiv {str show} repeat + 1 index str length mod str exch 0 exch getinterval show + grestore + 0 height rmoveto + } repeat + grestore + } for + 2 npop + } + { + 4 npop + } ifelse + } if +end +} def +/patternclip +{ +clip +} def +/patternstrokepath +{ +strokepath +} def +/patternmatrix +matrix def +/patternfill +{ +dup type /dicttype eq + { + Adobe_pattern_AI3 /patternmatrix get + } if +gsave +patternclip +Adobe_pattern_AI3 /patternpath get exec +grestore +newpath +} def +/patternstroke +{ +dup type /dicttype eq + { + Adobe_pattern_AI3 /patternmatrix get + } if +gsave +patternstrokepath +true + { + { + { + newpath + moveto + } + { + lineto + } + { + curveto + } + { + closepath + 3 copy + Adobe_pattern_AI3 /patternfill get exec + } pathforall + 3 npop + } stopped + { + 5 npop + patternclip + Adobe_pattern_AI3 /patternfill get exec + } if + } + { + patternclip + Adobe_pattern_AI3 /patternfill get exec + } ifelse +grestore +newpath +} def +/patternashow +{ +3 index type /dicttype eq + { + Adobe_pattern_AI3 /patternmatrix get 4 1 roll + } if + { + 2 npop (0) exch + 2 copy 0 exch put pop + gsave + false charpath currentpoint + 6 index 6 index 6 index + Adobe_pattern_AI3 /patternfill get exec + grestore + newpath moveto + 2 copy rmoveto + } exch cshow +5 npop +} def +/patternawidthshow +{ +6 index type /dicttype eq + { + Adobe_pattern_AI3 /patternmatrix get 7 1 roll + } if + { + 2 npop (0) exch + 2 copy 0 exch put + gsave + _sp eq {5 index 5 index rmoveto} if + false charpath currentpoint + 9 index 9 index 9 index + Adobe_pattern_AI3 /patternfill get exec + grestore + newpath moveto + 2 copy rmoveto + } exch cshow +8 npop +} def +/patternashowstroke +{ +4 index type /dicttype eq + { + patternmatrix /patternmatrix get 5 1 roll + } if +4 1 roll + { + 2 npop (0) exch + 2 copy 0 exch put pop + gsave + false charpath + currentpoint + 4 index setmatrix + 7 index 7 index 7 index + Adobe_pattern_AI3 /patternstroke get exec + grestore + newpath moveto + 2 copy rmoveto + } exch cshow +6 npop +} def +/patternawidthshowstroke +{ +7 index type /dicttype eq + { + patternmatrix /patternmatrix get 8 1 roll + } if +7 1 roll + { + 2 npop (0) exch + 2 copy 0 exch put + gsave + _sp eq {5 index 5 index rmoveto} if + false charpath currentpoint + 7 index setmatrix + 10 index 10 index 10 index + Adobe_pattern_AI3 /patternstroke get exec + grestore + newpath moveto + 2 copy rmoveto + } exch cshow +9 npop +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_Illustrator_AI3 1.1 0 +%%Title: (Adobe Illustrator (R) Version 3.0 Full Prolog) +%%Version: 1.1 0 +%%CreationDate: (3/7/1994) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_Illustrator_AI3 71 dict dup begin put +/initialize +{ +userdict /Adobe_Illustrator_AI3_vars 67 dict dup begin put +/_lp /none def +/_pf {} def +/_ps {} def +/_psf {} def +/_pss {} def +/_pjsf {} def +/_pjss {} def +/_pola 0 def +/_doClip 0 def +/cf currentflat def +/_tm matrix def +/_renderStart [/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0] def +/_renderEnd [null null null null /i1 /i1 /i1 /i1] def +/_render -1 def +/_rise 0 def +/_ax 0 def +/_ay 0 def +/_cx 0 def +/_cy 0 def +/_leading [0 0] def +/_ctm matrix def +/_mtx matrix def +/_sp 16#020 def +/_hyphen (-) def +/_fScl 0 def +/_cnt 0 def +/_hs 1 def +/_nativeEncoding 0 def +/_useNativeEncoding 0 def +/_tempEncode 0 def +/_pntr 0 def +/_tDict 2 dict def +/_wv 0 def +/Tx {} def +/Tj {} def +/CRender {} def +/_AI3_savepage {} def +/_gf null def +/_cf 4 array def +/_if null def +/_of false def +/_fc {} def +/_gs null def +/_cs 4 array def +/_is null def +/_os false def +/_sc {} def +/_pd 1 dict def +/_ed 15 dict def +/_pm matrix def +/_fm null def +/_fd null def +/_fdd null def +/_sm null def +/_sd null def +/_sdd null def +/_i null def +Adobe_Illustrator_AI3 begin +Adobe_Illustrator_AI3 dup /nc get begin + { + dup xcheck + { + bind + } if + pop pop + } forall +end +end +end +Adobe_Illustrator_AI3 begin +Adobe_Illustrator_AI3_vars begin +newpath +} def +/terminate +{ +end +end +} def +/_ +null def +/ddef +{ +Adobe_Illustrator_AI3_vars 3 1 roll put +} def +/xput +{ +dup load dup length exch maxlength eq + { + dup dup load dup + length 2 mul dict copy def + } if +load begin def end +} def +/npop +{ + { + pop + } repeat +} def +/sw +{ +dup length exch stringwidth +exch 5 -1 roll 3 index mul add +4 1 roll 3 1 roll mul add +} def +/swj +{ +dup 4 1 roll +dup length exch stringwidth +exch 5 -1 roll 3 index mul add +4 1 roll 3 1 roll mul add +6 2 roll /_cnt 0 ddef +{1 index eq {/_cnt _cnt 1 add ddef} if} forall pop +exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop +} def +/ss +{ +4 1 roll + { + 2 npop + (0) exch 2 copy 0 exch put pop + gsave + false charpath currentpoint + 4 index setmatrix + stroke + grestore + moveto + 2 copy rmoveto + } exch cshow +3 npop +} def +/jss +{ +4 1 roll + { + 2 npop + (0) exch 2 copy 0 exch put + gsave + _sp eq + { + exch 6 index 6 index 6 index 5 -1 roll widthshow + currentpoint + } + { + false charpath currentpoint + 4 index setmatrix stroke + }ifelse + grestore + moveto + 2 copy rmoveto + } exch cshow +6 npop +} def +/sp +{ + { + 2 npop (0) exch + 2 copy 0 exch put pop + false charpath + 2 copy rmoveto + } exch cshow +2 npop +} def +/jsp +{ + { + 2 npop + (0) exch 2 copy 0 exch put + _sp eq + { + exch 5 index 5 index 5 index 5 -1 roll widthshow + } + { + false charpath + }ifelse + 2 copy rmoveto + } exch cshow +5 npop +} def +/pl +{ +transform +0.25 sub round 0.25 add exch +0.25 sub round 0.25 add exch +itransform +} def +/setstrokeadjust where + { + pop true setstrokeadjust + /c + { + curveto + } def + /C + /c load def + /v + { + currentpoint 6 2 roll curveto + } def + /V + /v load def + /y + { + 2 copy curveto + } def + /Y + /y load def + /l + { + lineto + } def + /L + /l load def + /m + { + moveto + } def + } + { + /c + { + pl curveto + } def + /C + /c load def + /v + { + currentpoint 6 2 roll pl curveto + } def + /V + /v load def + /y + { + pl 2 copy curveto + } def + /Y + /y load def + /l + { + pl lineto + } def + /L + /l load def + /m + { + pl moveto + } def + } ifelse +/d +{ +setdash +} def +/cf {} def +/i +{ +dup 0 eq + { + pop cf + } if +setflat +} def +/j +{ +setlinejoin +} def +/J +{ +setlinecap +} def +/M +{ +setmiterlimit +} def +/w +{ +setlinewidth +} def +/H +{} def +/h +{ +closepath +} def +/N +{ +_pola 0 eq + { + _doClip 1 eq {clip /_doClip 0 ddef} if + newpath + } + { + /CRender {N} ddef + }ifelse +} def +/n +{N} def +/F +{ +_pola 0 eq + { + _doClip 1 eq + { + gsave _pf grestore clip newpath /_lp /none ddef _fc + /_doClip 0 ddef + } + { + _pf + }ifelse + } + { + /CRender {F} ddef + }ifelse +} def +/f +{ +closepath +F +} def +/S +{ +_pola 0 eq + { + _doClip 1 eq + { + gsave _ps grestore clip newpath /_lp /none ddef _sc + /_doClip 0 ddef + } + { + _ps + }ifelse + } + { + /CRender {S} ddef + }ifelse +} def +/s +{ +closepath +S +} def +/B +{ +_pola 0 eq + { + _doClip 1 eq + gsave F grestore + { + gsave S grestore clip newpath /_lp /none ddef _sc + /_doClip 0 ddef + } + { + S + }ifelse + } + { + /CRender {B} ddef + }ifelse +} def +/b +{ +closepath +B +} def +/W +{ +/_doClip 1 ddef +} def +/* +{ +count 0 ne + { + dup type (stringtype) eq {pop} if + } if +_pola 0 eq {newpath} if +} def +/u +{} def +/U +{} def +/q +{ +_pola 0 eq {gsave} if +} def +/Q +{ +_pola 0 eq {grestore} if +} def +/*u +{ +_pola 1 add /_pola exch ddef +} def +/*U +{ +_pola 1 sub /_pola exch ddef +_pola 0 eq {CRender} if +} def +/D +{pop} def +/*w +{} def +/*W +{} def +/` +{ +/_i save ddef +6 1 roll 4 npop +concat pop +userdict begin +/showpage {} def +0 setgray +0 setlinecap +1 setlinewidth +0 setlinejoin +10 setmiterlimit +[] 0 setdash +/setstrokeadjust where {pop false setstrokeadjust} if +newpath +0 setgray +false setoverprint +} def +/~ +{ +end +_i restore +} def +/@ +{} def +/& +{} def +/O +{ +0 ne +/_of exch ddef +/_lp /none ddef +} def +/R +{ +0 ne +/_os exch ddef +/_lp /none ddef +} def +/g +{ +/_gf exch ddef +/_fc +{ +_lp /fill ne + { + _of setoverprint + _gf setgray + /_lp /fill ddef + } if +} ddef +/_pf +{ +_fc +fill +} ddef +/_psf +{ +_fc +ashow +} ddef +/_pjsf +{ +_fc +awidthshow +} ddef +/_lp /none ddef +} def +/G +{ +/_gs exch ddef +/_sc +{ +_lp /stroke ne + { + _os setoverprint + _gs setgray + /_lp /stroke ddef + } if +} ddef +/_ps +{ +_sc +stroke +} ddef +/_pss +{ +_sc +ss +} ddef +/_pjss +{ +_sc +jss +} ddef +/_lp /none ddef +} def +/k +{ +_cf astore pop +/_fc +{ +_lp /fill ne + { + _of setoverprint + _cf aload pop setcmykcolor + /_lp /fill ddef + } if +} ddef +/_pf +{ +_fc +fill +} ddef +/_psf +{ +_fc +ashow +} ddef +/_pjsf +{ +_fc +awidthshow +} ddef +/_lp /none ddef +} def +/K +{ +_cs astore pop +/_sc +{ +_lp /stroke ne + { + _os setoverprint + _cs aload pop setcmykcolor + /_lp /stroke ddef + } if +} ddef +/_ps +{ +_sc +stroke +} ddef +/_pss +{ +_sc +ss +} ddef +/_pjss +{ +_sc +jss +} ddef +/_lp /none ddef +} def +/x +{ +/_gf exch ddef +findcmykcustomcolor +/_if exch ddef +/_fc +{ +_lp /fill ne + { + _of setoverprint + _if _gf 1 exch sub setcustomcolor + /_lp /fill ddef + } if +} ddef +/_pf +{ +_fc +fill +} ddef +/_psf +{ +_fc +ashow +} ddef +/_pjsf +{ +_fc +awidthshow +} ddef +/_lp /none ddef +} def +/X +{ +/_gs exch ddef +findcmykcustomcolor +/_is exch ddef +/_sc +{ +_lp /stroke ne + { + _os setoverprint + _is _gs 1 exch sub setcustomcolor + /_lp /stroke ddef + } if +} ddef +/_ps +{ +_sc +stroke +} ddef +/_pss +{ +_sc +ss +} ddef +/_pjss +{ +_sc +jss +} ddef +/_lp /none ddef +} def +/dp +{ +dup null eq +{ +pop +_dp 0 ne + { + 0 1 _dp 1 sub _dl mod + { + _da exch get 3 get + } for + _dp 1 sub _dl mod 1 add packedarray + _da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll + definepattern pop + } if +} +{ +_dp 0 ne _dp _dl mod 0 eq and + { + null dp + } if +7 packedarray _da exch _dp _dl mod exch put +_dp _dl mod _da 0 get 4 get 2 packedarray +/_dp _dp 1 add def +} ifelse +} def +/E +{ +_ed begin +dup 0 get type /arraytype ne + { + 0 + { + dup 1 add index type /arraytype eq + { + 1 add + } + { + exit + } ifelse + } loop + array astore + } if +/_dd exch def +/_ury exch def +/_urx exch def +/_lly exch def +/_llx exch def +/_n exch def +/_y 0 def +/_dl 4 def +/_dp 0 def +/_da _dl array def +0 1 _dd length 1 sub + { + /_d exch _dd exch get def + 0 2 _d length 2 sub + { + /_x exch def + /_c _d _x get _ ne def + /_r _d _x 1 add get cvlit def + _r _ ne + { + _urx _llx sub _ury _lly sub [1 0 0 1 0 0] + [ + /save cvx + _llx neg _lly neg /translate cvx + _c + { + nc /begin cvx + } if + _r dup type /stringtype eq + { + cvx + } + { + {exec} /forall cvx + } ifelse + _c + { + /end cvx + } if + /restore cvx + ] cvx + /_fn 12 _n length add string def + _y _fn cvs pop + /_y _y 1 add def + _fn 12 _n putinterval + _fn _c false dp + _d exch _x 1 add exch put + } if + } for + } for +null dp +_n _dd /_pd +end xput +} def +/fc +{ +_fm dup concatmatrix pop +} def +/p +{ +/_fm exch ddef +9 -2 roll _pm translate fc +7 -2 roll _pm scale fc +5 -1 roll _pm rotate fc +4 -2 roll exch 0 ne + { + dup _pm rotate fc + 1 -1 _pm scale fc + neg _pm rotate fc + } + { + pop + } ifelse +dup _pm rotate fc +exch dup sin exch cos div 1 0 0 1 0 6 2 roll +_pm astore fc +neg _pm rotate fc +_pd exch get /_fdd exch ddef +/_pf +{ +save +/_doClip 0 ddef +0 1 _fdd length 1 sub + { + /_fd exch _fdd exch get ddef + _fd + 0 2 _fd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _fc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _fm + patternfill + } + { + pop + fill + } ifelse + grestore + pop + } for + pop + } for +restore +newpath +} ddef +/_psf +{ +save +/_doClip 0 ddef +0 1 _fdd length 1 sub + { + /_fd exch _fdd exch get ddef + _fd + 0 2 _fd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _fc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _fm + 9 copy 6 npop patternashow + } + { + pop + 6 copy 3 npop ashow + } ifelse + grestore + pop + } for + pop + } for +restore +%3 npop newpath +sw rmoveto +} ddef +/_pjsf +{ +save +/_doClip 0 ddef +0 1 _fdd length 1 sub + { + /_fd exch _fdd exch get ddef + _fd + 0 2 _fd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _fc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _fm + 12 copy 6 npop patternawidthshow + } + { + pop 9 copy 3 npop awidthshow + } ifelse + grestore + pop + } for + pop + } for +restore +swj rmoveto +} ddef +/_lp /none ddef +} def +/sc +{ +_sm dup concatmatrix pop +} def +/P +{ +/_sm exch ddef +9 -2 roll _pm translate sc +7 -2 roll _pm scale sc +5 -1 roll _pm rotate sc +4 -2 roll exch 0 ne + { + dup _pm rotate sc + 1 -1 _pm scale sc + neg _pm rotate sc + } + { + pop + } ifelse +dup _pm rotate sc +exch dup sin exch cos div 1 0 0 1 0 6 2 roll +_pm astore sc +neg _pm rotate sc +_pd exch get /_sdd exch ddef +/_ps +{ +save +/_doClip 0 ddef +0 1 _sdd length 1 sub + { + /_sd exch _sdd exch get ddef + _sd + 0 2 _sd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _sc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _sm + patternstroke + } + { + pop stroke + } ifelse + grestore + pop + } for + pop + } for +restore +newpath +} ddef +/_pss +{ +save +/_doClip 0 ddef +0 1 _sdd length 1 sub + { + /_sd exch _sdd exch get ddef + _sd + 0 2 _sd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _sc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _sm + 10 copy 6 npop patternashowstroke + } + { + pop 7 copy 3 npop ss + } ifelse + grestore + pop + } for + pop + } for +restore +pop sw rmoveto +} ddef +/_pjss +{ +save +/_doClip 0 ddef +0 1 _sdd length 1 sub + { + /_sd exch _sdd exch get ddef + _sd + 0 2 _sd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _sc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _sm + 13 copy 6 npop patternawidthshowstroke + } + { + pop 10 copy 3 npop jss + } ifelse + grestore + pop + } for + pop + } for +restore +pop swj rmoveto +} ddef +/_lp /none ddef +} def +/A +{ +pop +} def +/nc 3 dict def +nc begin +/setgray +{ +pop +} bind def +/setcmykcolor +{ +4 npop +} bind def +/setcustomcolor +{ +2 npop +} bind def +currentdict readonly pop end +currentdict readonly pop end +setpacking +/annotatepage +{ +} def +%%EndResource +%%EndProlog +%%BeginSetup +Adobe_cmykcolor /initialize get exec +Adobe_cshow /initialize get exec +Adobe_customcolor /initialize get exec +Adobe_pattern_AI3 /initialize get exec +Adobe_Illustrator_AI3 /initialize get exec +%%EndSetup +0 A +0 O +0.25 1 1 0.25 k +0 R +0 0 0 1 K +0 J 0 j 0.2 w 4 M []0 d +9.19971 841.8735 m +10.3311 842.1226 8.4126 839.4165 8 839.2729 c +9.57471 839.1421 9.3999 839.0728 v +9 838.9233 8.8623 838.561 8.6001 838.2729 c +7.39355 836.9985 6.49365 836.7915 7.3999 834.8735 C +8.03125 834.9233 8.1626 835.1919 8.6001 834.8735 c +9.32471 834.3423 7.78125 832.979 10 832.0728 c +11.356 831.5229 14.1997 832.1792 15.7998 832.2729 C +15.1997 831.8481 12.5186 830.4546 12.3999 829.6733 c +12.1812 828.2612 12.9434 828.686 13.5996 828.4731 C +13.2998 827.2544 13.106 827.5854 14.1997 827.0737 C +13.9058 825.7485 14.3687 824.8296 15.3999 824.0737 C +15.1309 824.0229 15.0996 823.2983 15.1997 823.4731 C +16.7246 820.23 19.1123 818.5229 21.9995 816.6733 C +21.6309 816.3979 20.6558 815.2925 20.5996 815.2739 C +21.5811 815.061 22.6807 814.1675 23.1997 814.0737 c +25.1621 813.7358 24.1309 815.5171 25.7998 814.2739 C +26.6689 815.0239 26.7061 815.8735 25.9995 816.2729 C +28.0439 816.4048 32.4873 820.0112 33.7998 821.6733 c +34.6494 822.7612 35.0557 823.9985 34.999 825.4731 C +36.499 826.3667 36.6807 826.5669 35.999 828.0737 C +38.5498 828.7544 34.6494 830.9604 33.5996 831.6733 C +35.2559 831.6235 37.4619 830.6421 39.3994 831.0728 c +40.8428 831.4048 40.2432 832.3169 40.5996 833.2729 c +41.0186 834.4165 42.5557 833.5415 42.999 834.4731 c +43.1182 834.7417 42.999 836.0728 Y +42.3311 836.8979 41.6055 837.5981 40.7998 838.2729 c +40.0811 838.8794 42.4736 838.6919 41.999 838.8735 c +41.293 839.1479 40.9424 840.7671 40.5996 841.4731 C +42.5557 840.1978 45.3623 837.6665 44.5986 833.8735 c +44.124 831.5298 41.2871 829.8423 40.1992 827.8735 c +37.6934 823.3608 36.5117 817.7612 33.3994 813.8735 c +33.2178 813.6548 33.1182 813.3608 32.7998 813.2739 c +32.3496 813.1606 33.4121 812.8677 33.5996 812.8735 c +38.4121 813.0864 39.874 811.2544 40.7998 816.0737 C +40.8428 815.8169 40.4053 818.0737 42.1992 818.6733 C +42.5557 815.4302 40.749 813.4673 39.3994 811.2739 C +37.5996 811.7231 36.3115 812.2739 33.7998 812.2739 C +33.7998 810.0112 33.793 805.686 33.1992 804.4731 c +33.168 804.4233 32.6182 803.5981 32.7998 803.4731 c +33.9248 802.7231 34.6367 801.4048 34.1992 800.0737 c +33.9365 799.3052 32.999 797.7427 33.7998 797.2739 c +35.624 796.2114 37.168 797.3052 38.7998 796.8735 C +40.0742 800.6548 40.874 803.8608 42.1992 807.8735 C +42.624 807.6987 42.6924 807.5425 42.999 807.2739 C +44.7861 810.73 46.999 812.7485 47.999 817.0737 C +48.3994 815.8735 L +49.7373 815.98 49.999 816.0737 V +48.4678 814.7856 47.0674 812.6235 46.999 812.4731 c +44.9561 809.3237 44.4111 808.8481 43.999 807.2739 C +44.9932 807.2427 44.6494 807.5552 45.5986 806.6733 C +44.6436 805.8989 45.2686 805.9048 44.7998 805.0737 c +44.7617 805.0171 44.0742 805.0737 43.999 805.0737 C +43.624 803.2427 42.4307 802.436 41.999 801.0737 c +41.3994 799.2046 41.5557 798.2983 40.3994 796.4741 c +38.4561 793.4302 38.249 794.9546 34.5996 793.8745 c +33.7686 792.7495 33.5996 792.6733 v +32.6748 792.2983 31.1309 792.1987 30.1992 792.0737 C +30.9619 790.1802 31.7998 790.4741 34.3994 790.4741 C +35.0371 788.0308 35.1934 789.2681 37.1992 788.2739 c +38.0742 787.8433 38.793 786.0991 39.3994 785.2739 c +39.999 784.4614 41.499 783.8433 41.999 783.0737 c +42.1807 782.7866 41.668 782.5308 41.5996 782.4741 C +44.5049 779.7056 47.499 773.8804 51.1992 772.0737 c +51.3242 772.0181 51.7803 771.8862 51.7998 771.8745 c +52.1436 771.6929 52.2178 771.3745 52.3994 771.2749 C +50.8682 771.6245 51.3057 771.1558 50.999 771.2749 C +51.2178 769.8745 50.5986 769.8745 V +49.4561 774.1743 45.3369 775.1304 43.5986 778.8745 C +43.3555 778.4624 42.8369 778.3179 42.7998 778.2749 C +40.999 780.8931 38.7305 783.2056 37.3994 786.0737 C +36.4248 785.9429 35.9678 785.9429 34.999 786.0737 C +35.1553 784.6245 35.5244 783.0181 35.3994 781.2749 c +35.2432 779.2612 34.8623 776.6558 34.5996 774.6743 C +35.3623 774.3237 36.1309 773.9556 36.7998 773.4741 c +37.2559 773.1499 38.1992 772.437 38.3994 771.8745 c +39.1621 769.6929 38.1992 765.2183 38.5996 762.0747 c +38.6748 761.437 39.2871 760.2368 39.1992 759.4741 c +39.1494 759.0991 38.4619 758.9116 38.5996 758.0747 c +38.7686 757.0122 39.7549 755.5435 40.1992 754.6753 c +41.0811 752.9253 41.6924 751.1128 41.999 748.8745 C +40.3496 749.8628 41.7373 748.5815 40.1992 748.0747 c +39.7061 747.9185 40.1992 748.8745 Y +40.3115 751.7866 39.9424 753.1685 38.999 755.2749 c +38.9492 755.3804 38.0498 756.2866 37.999 756.4741 c +37.2178 759.269 36.6367 763.4556 36.999 767.4741 c +37.1992 769.7495 37.5303 770.1245 35.999 770.8745 c +35.3311 771.2056 34.8994 771.2437 33.999 771.4741 C +33.3057 768.7056 32.5557 766.3491 30.999 764.4741 c +27.2686 759.9995 20.481 761.3491 17.9995 766.0737 c +17.1621 767.6675 16.3745 769.3179 15.7998 771.2749 C +14.7061 770.8745 14.106 770.73 13 770.2749 C +13.5308 766.6675 12.6812 763.0366 12.7998 760.0747 C +12.5308 760.4312 12.0562 760.731 11.7998 761.0747 C +10.4248 756.4253 6.0376 755.6304 5 750.2749 C +4.7998 752.7437 4 751.8745 Y +3.20605 751.9312 3.625 752.4683 3.6001 752.4741 C +5.65625 753.9116 9.43115 757.1304 10.3999 759.4741 c +11.6875 762.606 10.7437 769.3433 12 771.8745 c +12.4497 772.7993 14.3062 773.5366 15.1997 774.0737 C +14.7124 777.6558 14.1436 781.7925 14.5996 785.8745 C +13.8184 785.8745 12.9746 785.8745 12.1997 785.8745 C +11.6997 783.9868 10.1812 779.5679 9.19971 778.0737 c +9.125 777.9683 8.5376 778.2368 8.3999 778.2749 C +8.10596 777.1675 8.2876 776.6616 7.7998 775.6743 c +7.79346 775.6675 7.2251 775.6743 7.19971 775.6743 C +6.08105 773.3062 2.625 770.9116 4.19971 767.8745 C +3.88721 768.0425 3.49365 768.4312 3.3999 768.4741 C +3.33105 768.4741 3.26855 768.4741 3.19971 768.4741 C +3 768.6675 3.08105 769.1304 3 769.4741 C +0.90625 769.6245 1.65625 769.6187 2.6001 770.4741 c +3.94971 771.7124 5.19385 773.7368 6.19971 775.2749 c +4.34375 772.1187 8.3125 778.4487 7 778.4741 C +7.51855 779.5181 8.44336 780.4995 9 781.4741 C +8.78125 781.5181 9.19971 782.2749 Y +8.9751 782.2241 8.8999 782.1812 8.6001 782.0737 C +10.2813 783.4116 10.3062 786.6304 12 787.8745 c +14.1748 789.48 14.7935 787.48 15.5996 790.6733 C +18.1558 790.6733 19.1245 790.0806 19.7998 792.0737 C +19.8496 792.0864 18.7998 792.0737 Y +18.0435 792.2983 16.062 792.2495 15.1997 792.6733 c +14.9434 792.8052 14.6685 793.7808 14.3999 793.8745 c +10.856 795.1489 10.5747 792.9116 8.6001 796.6733 c +6.70605 800.2739 6.4126 803.3481 4.19971 806.0737 C +4.76855 806.9175 4.86865 806.7544 5.3999 807.0737 C +3.6626 809.73 2.69385 813.2114 0 814.2739 C +0 814.3481 0.037598 815.0552 0 815.0737 C +1.2251 815.4106 1.44385 815.311 2.3999 815.8735 C +1.44385 813.9487 5.23096 809.1489 6.3999 806.6733 C +7.1748 807.186 7.13721 807.6177 7.7998 806.2739 C +7.70605 806.2173 7.5874 805.2612 7.6001 805.0737 c +7.75 802.3608 9.5625 799.7358 10.1997 796.6733 C +12.1748 797.1802 13.3999 796.6304 15.5996 797.2739 C +15.2061 799.3921 14.6309 800.1548 14.1997 802.2739 C +15.4873 802.5171 15.231 802.6548 16.1997 803.4731 c +16.437 803.6802 15.8184 804.23 15.7998 804.2739 c +15.2749 805.3735 15.1875 810.2046 15.3999 812.0737 C +13.7124 811.73 12.3311 810.6606 11.1997 810.4731 c +10.7749 810.4106 10.4248 810.4731 10 810.4731 C +9.2749 812.2671 6.80615 814.355 6.6001 815.4731 c +6.4375 816.3481 6.875 816.7856 7 817.2729 C +7.1499 817.1733 7.94336 817.0854 8 817.0737 C +8.44336 814.0796 9.2373 813.8921 10.5996 811.4731 C +12.6558 811.8794 14.0186 812.7231 16.3999 813.0737 C +13.4497 817.5854 12.0747 823.5542 9.3999 828.4731 c +8.1875 830.6978 5.5249 832.2856 5.19971 835.2729 c +5.16846 835.5103 5.38086 836.1919 5.3999 836.0728 C +5.79346 838.0298 6.21875 838.8296 7.19971 840.0728 c +7.50586 840.4731 7.81836 840.9673 8.19971 841.2729 c +8.3999 841.4419 8.9624 841.8228 9.19971 841.8735 c +b +%%PageTrailer +gsave annotatepage grestore showpage +%%Trailer +Adobe_Illustrator_AI3 /terminate get exec +Adobe_pattern_AI3 /terminate get exec +Adobe_customcolor /terminate get exec +Adobe_cshow /terminate get exec +Adobe_cmykcolor /terminate get exec +Adobe_packedarray /terminate get exec +%%EOF diff --git a/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/pelican.ai b/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/pelican.ai index e4d461e96892df9e9d2ef6b6cdba3e7b14b9f111..4cd501a43ff36b0b303b4d9d8662afe70560c563 100644 --- a/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/pelican.ai +++ b/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/pelican.ai @@ -1,147 +1,147 @@ -%!PS-Adobe-3.0 -%%Creator: Adobe Illustrator(TM) 3.2 -%%AI8_CreatorVersion: 12.0.0 -%%For: (fluxus) (x) -%%Title: (pelican.ai) -%%CreationDate: 4/15/2006 11:28 PM -%%BoundingBox: 38 221 564 654 -%%DocumentProcessColors: Black -%%DocumentNeededResources: procset Adobe_packedarray 2.0 0 -%%+ procset Adobe_cshow 1.1 0 -%%+ procset Adobe_customcolor 1.0 0 -%%+ procset Adobe_pattern_AI3 1.0 0 -%%+ procset Adobe_Illustrator_AI3 1.0 1 -%AI3_ColorUsage: Color -%%CMYKCustomColor: 1 1 1 1 ([Registration]) -%AI3_TemplateBox: 298.5 420.3896 298.5 420.3896 -%AI3_TileBox: 0.157715 0.044861 595.1177 841.9648 -%AI3_DocumentPreview: None -%%PageOrigin:-32 11.8896 -%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 -%AI9_Flatten: 1 -%AI12_CMSettings: 00.MS -%%EndComments -%%BeginProlog -%%IncludeResource: procset Adobe_packedarray 2.0 0 -Adobe_packedarray /initialize get exec -%%IncludeResource: procset Adobe_cshow 1.1 0 -%%IncludeResource: procset Adobe_customcolor 1.0 0 -%%IncludeResource: procset Adobe_pattern_AI3 1.0 0 -%%IncludeResource: procset Adobe_Illustrator_AI3 1.0 1 -%%EndProlog -%%BeginSetup -Adobe_cshow /initialize get exec -Adobe_customcolor /initialize get exec -Adobe_pattern_AI3 /initialize get exec -Adobe_Illustrator_AI3 /initialize get exec -%%EndSetup -0 A -0 O -0.823529 g -0 J 0 j 1 w 4 M []0 d -406.3574 653.9336 m -464.8369 654.4839 476.1016 604.7227 506.8555 577.2656 c -518.2334 567.1074 538.876 556.4058 541.0449 537.8945 C -525.793 545.1372 515.3398 557.5967 502.1924 566.9033 c -492.1299 574.0298 478.9131 577.0991 467.4844 582.9634 c -454.5439 589.603 441.3213 599.4785 424.4873 589.1792 c -413.7012 582.5776 412.9746 565.8579 406.3574 554.9893 c -401.2715 546.6338 390.2637 539.4668 382.0098 534.269 c -370.5801 527.0684 326.3232 509.3872 322.4365 499.042 C -331.416 493.8628 340.3955 488.6816 349.375 483.5005 C -370.4541 474.8203 420.0293 453.8994 428.1152 435.3247 C -427.9424 435.3247 427.7695 435.3247 427.5967 435.3247 C -422.0781 438.2988 418.0566 441.834 411.0205 443.6128 C -411.0205 442.9214 411.0205 442.2324 411.0205 441.541 C -415.6807 438.0884 420.3457 434.6333 425.0059 431.1807 C -426.5615 431.6968 428.1152 432.2153 429.6689 432.7339 C -436.3252 429.1694 440.0146 421.5771 446.2451 417.1924 c -468.749 401.3643 540.2861 360.04 557.624 408.9043 C -559.6963 408.7314 561.7676 408.5586 563.8398 408.3857 C -564.2002 369.6592 525.0967 377.3896 496.4951 382.4844 c -485.8457 384.3838 476.0742 379.3203 465.4141 380.9307 c -458.0371 382.0459 454.999 385.5068 447.8008 386.1123 C -444.6514 384.4326 443.9072 382.2314 441.583 379.8955 C -441.7559 379.5498 441.9287 379.2041 442.1016 378.8584 C -453.1211 376.5439 474.8496 358.7158 485.6162 352.4404 c -499.0371 344.6182 513.7188 346.8398 528.6133 341.043 C -531.0205 346.2412 546.2559 365.248 551.9258 365.9072 C -552.0986 365.3896 552.2715 364.8721 552.4424 364.3545 C -553.4883 360.7607 550.0078 356.1338 548.2988 353.4756 c -539.4346 339.6855 527.2559 336.8584 503.748 337.415 C -507.8379 329.7158 516.5977 331.1191 522.3965 325.501 C -510.8311 324.9131 495.6875 323.7822 486.6533 327.5732 C -483.0273 329.6455 479.4004 331.7178 475.7744 333.79 C -468.749 335.082 467.1133 328.6885 461.7891 327.5732 c -451.8096 325.4854 442.6299 328.9424 433.8125 329.6455 C -427.6152 314.2881 411.4697 330.1348 399.1045 326.5381 C -395.1328 323.6025 391.1621 320.666 387.1904 317.7314 C -380.2559 315.4561 375.2725 320.9756 368.0234 319.2861 C -363.707 316.8682 359.3877 314.4502 355.0732 312.0322 C -346.0449 325.4189 337.3516 308.3584 325.0264 313.0693 c -319.249 315.2764 317.3877 322.9951 312.0762 324.9834 c -302.3477 328.626 290.0044 321.8848 280.4756 325.501 c -275.7075 327.3125 274.5767 334.043 270.1157 335.8623 C -266.6616 335.6885 263.208 335.5166 259.7544 335.3428 C -254.7881 336.4834 253.1904 341.9092 248.8755 343.6338 C -245.7686 343.8066 242.6592 343.9775 239.5513 344.1494 C -236.9614 347.4326 234.3711 350.7119 231.7803 353.9941 C -227.1187 356.2158 222.1738 353.7666 218.312 356.0654 C -217.707 358.9385 216.9556 361.4961 214.6855 362.8008 C -210.5415 362.9736 206.396 363.1465 202.2529 363.3174 C -200.6987 365.3896 199.145 367.4639 197.5903 369.5332 C -193.9648 370.2246 190.3384 370.916 186.7119 371.6074 C -183.0776 383.6631 179.9097 377.1084 172.7246 383.0029 C -172.0347 384.5557 171.3433 386.1123 170.6528 387.665 C -167.4033 390.2705 160.396 389.1025 157.1846 391.291 C -150.2778 399.2334 143.3691 407.1787 136.4629 415.1201 C -135.7725 415.1201 135.0811 415.1201 134.3906 415.1201 C -129.8872 408.9912 123.022 405.2783 118.332 399.5791 c -109.856 389.2803 103.8877 376.3271 98.6465 362.8008 c -91.7344 344.96 87.7056 323.8467 83.6235 304.2627 c -81.5273 294.2061 81.9316 284.2168 78.4434 275.7705 c -74.5234 266.2822 66.5 259.7139 60.8296 251.9404 c -54.7129 243.5557 51.2388 224.7588 40.627 221.3779 C -40.7998 221.7217 40.9727 222.0674 41.144 222.4131 C -39.79 227.2139 42.2383 230.333 43.2163 234.3291 C -41.1147 235.4502 39.3652 235.8232 38.5547 238.4736 C -40.1084 244.3438 41.6626 250.2139 43.2163 256.085 C -42.6357 258.7764 38.5103 262.4824 40.1084 267.4814 c -41.354 271.3818 44.9365 271.5908 45.2896 277.3262 C -43.8086 279.5244 41.9907 280.7529 40.1084 282.5049 C -40.1084 282.6777 40.1084 282.8506 40.1084 283.0234 C -52.8052 283.6553 57.1475 290.5166 61.3481 299.6006 C -53.7988 301.8721 41.7808 303.3838 38.5547 309.96 C -46.126 307.9092 59.4692 305.3623 67.0459 307.3721 C -69.4639 315.3115 71.8813 323.2568 74.2993 331.1992 C -77.9248 347.085 81.5513 362.9736 85.1777 378.8584 C -87.957 392.2158 84.7827 409.2002 90.3579 419.7832 C -92.7749 421.6826 95.1934 423.5815 97.6104 425.481 C -99.3364 431.1782 101.064 436.8784 102.7905 442.5757 C -107.7554 450.8428 114.814 456.6777 119.3677 465.8892 C -115.0508 468.8232 110.7329 471.7593 106.417 474.6938 C -106.7617 476.2495 107.1074 477.8027 107.4531 479.3564 C -93.3389 475.1343 85.5649 470.4336 75.8525 462.7798 C -65.6665 462.7798 55.4756 462.7798 45.2896 462.7798 C -45.4609 463.1255 45.6338 463.4712 45.8066 463.8169 C -74.2612 470.5581 82.3726 479.2275 102.7905 491.7886 C -114.7041 497.832 126.6211 503.8774 138.5347 509.9204 C -142.1606 513.2007 145.7881 516.4824 149.4136 519.7622 C -168.4629 531.9883 188.5562 540.2256 210.5415 549.8081 c -217.877 553.0059 224.0391 558.6489 232.2988 561.2056 c -245.8008 565.3853 266.6577 569.8081 284.1025 566.3867 C -292.7354 563.4507 301.3701 560.5142 310.0039 557.5801 C -324.5254 553.9165 346.2764 558.8447 355.0732 564.3149 c -369.0625 573.0098 372.4688 593.5171 375.793 613.0088 C -376.6572 620.606 377.5195 628.2046 378.3838 635.8013 C -383.2783 647.8481 394.3535 648.647 406.3574 653.9336 C -f -%%PageTrailer -gsave annotatepage grestore showpage -%%Trailer -Adobe_Illustrator_AI3 /terminate get exec -Adobe_pattern_AI3 /terminate get exec -Adobe_customcolor /terminate get exec -Adobe_cshow /terminate get exec -Adobe_packedarray /terminate get exec -%%EOF +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(TM) 3.2 +%%AI8_CreatorVersion: 12.0.0 +%%For: (fluxus) (x) +%%Title: (pelican.ai) +%%CreationDate: 4/15/2006 11:28 PM +%%BoundingBox: 38 221 564 654 +%%DocumentProcessColors: Black +%%DocumentNeededResources: procset Adobe_packedarray 2.0 0 +%%+ procset Adobe_cshow 1.1 0 +%%+ procset Adobe_customcolor 1.0 0 +%%+ procset Adobe_pattern_AI3 1.0 0 +%%+ procset Adobe_Illustrator_AI3 1.0 1 +%AI3_ColorUsage: Color +%%CMYKCustomColor: 1 1 1 1 ([Registration]) +%AI3_TemplateBox: 298.5 420.3896 298.5 420.3896 +%AI3_TileBox: 0.157715 0.044861 595.1177 841.9648 +%AI3_DocumentPreview: None +%%PageOrigin:-32 11.8896 +%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments +%%BeginProlog +%%IncludeResource: procset Adobe_packedarray 2.0 0 +Adobe_packedarray /initialize get exec +%%IncludeResource: procset Adobe_cshow 1.1 0 +%%IncludeResource: procset Adobe_customcolor 1.0 0 +%%IncludeResource: procset Adobe_pattern_AI3 1.0 0 +%%IncludeResource: procset Adobe_Illustrator_AI3 1.0 1 +%%EndProlog +%%BeginSetup +Adobe_cshow /initialize get exec +Adobe_customcolor /initialize get exec +Adobe_pattern_AI3 /initialize get exec +Adobe_Illustrator_AI3 /initialize get exec +%%EndSetup +0 A +0 O +0.823529 g +0 J 0 j 1 w 4 M []0 d +406.3574 653.9336 m +464.8369 654.4839 476.1016 604.7227 506.8555 577.2656 c +518.2334 567.1074 538.876 556.4058 541.0449 537.8945 C +525.793 545.1372 515.3398 557.5967 502.1924 566.9033 c +492.1299 574.0298 478.9131 577.0991 467.4844 582.9634 c +454.5439 589.603 441.3213 599.4785 424.4873 589.1792 c +413.7012 582.5776 412.9746 565.8579 406.3574 554.9893 c +401.2715 546.6338 390.2637 539.4668 382.0098 534.269 c +370.5801 527.0684 326.3232 509.3872 322.4365 499.042 C +331.416 493.8628 340.3955 488.6816 349.375 483.5005 C +370.4541 474.8203 420.0293 453.8994 428.1152 435.3247 C +427.9424 435.3247 427.7695 435.3247 427.5967 435.3247 C +422.0781 438.2988 418.0566 441.834 411.0205 443.6128 C +411.0205 442.9214 411.0205 442.2324 411.0205 441.541 C +415.6807 438.0884 420.3457 434.6333 425.0059 431.1807 C +426.5615 431.6968 428.1152 432.2153 429.6689 432.7339 C +436.3252 429.1694 440.0146 421.5771 446.2451 417.1924 c +468.749 401.3643 540.2861 360.04 557.624 408.9043 C +559.6963 408.7314 561.7676 408.5586 563.8398 408.3857 C +564.2002 369.6592 525.0967 377.3896 496.4951 382.4844 c +485.8457 384.3838 476.0742 379.3203 465.4141 380.9307 c +458.0371 382.0459 454.999 385.5068 447.8008 386.1123 C +444.6514 384.4326 443.9072 382.2314 441.583 379.8955 C +441.7559 379.5498 441.9287 379.2041 442.1016 378.8584 C +453.1211 376.5439 474.8496 358.7158 485.6162 352.4404 c +499.0371 344.6182 513.7188 346.8398 528.6133 341.043 C +531.0205 346.2412 546.2559 365.248 551.9258 365.9072 C +552.0986 365.3896 552.2715 364.8721 552.4424 364.3545 C +553.4883 360.7607 550.0078 356.1338 548.2988 353.4756 c +539.4346 339.6855 527.2559 336.8584 503.748 337.415 C +507.8379 329.7158 516.5977 331.1191 522.3965 325.501 C +510.8311 324.9131 495.6875 323.7822 486.6533 327.5732 C +483.0273 329.6455 479.4004 331.7178 475.7744 333.79 C +468.749 335.082 467.1133 328.6885 461.7891 327.5732 c +451.8096 325.4854 442.6299 328.9424 433.8125 329.6455 C +427.6152 314.2881 411.4697 330.1348 399.1045 326.5381 C +395.1328 323.6025 391.1621 320.666 387.1904 317.7314 C +380.2559 315.4561 375.2725 320.9756 368.0234 319.2861 C +363.707 316.8682 359.3877 314.4502 355.0732 312.0322 C +346.0449 325.4189 337.3516 308.3584 325.0264 313.0693 c +319.249 315.2764 317.3877 322.9951 312.0762 324.9834 c +302.3477 328.626 290.0044 321.8848 280.4756 325.501 c +275.7075 327.3125 274.5767 334.043 270.1157 335.8623 C +266.6616 335.6885 263.208 335.5166 259.7544 335.3428 C +254.7881 336.4834 253.1904 341.9092 248.8755 343.6338 C +245.7686 343.8066 242.6592 343.9775 239.5513 344.1494 C +236.9614 347.4326 234.3711 350.7119 231.7803 353.9941 C +227.1187 356.2158 222.1738 353.7666 218.312 356.0654 C +217.707 358.9385 216.9556 361.4961 214.6855 362.8008 C +210.5415 362.9736 206.396 363.1465 202.2529 363.3174 C +200.6987 365.3896 199.145 367.4639 197.5903 369.5332 C +193.9648 370.2246 190.3384 370.916 186.7119 371.6074 C +183.0776 383.6631 179.9097 377.1084 172.7246 383.0029 C +172.0347 384.5557 171.3433 386.1123 170.6528 387.665 C +167.4033 390.2705 160.396 389.1025 157.1846 391.291 C +150.2778 399.2334 143.3691 407.1787 136.4629 415.1201 C +135.7725 415.1201 135.0811 415.1201 134.3906 415.1201 C +129.8872 408.9912 123.022 405.2783 118.332 399.5791 c +109.856 389.2803 103.8877 376.3271 98.6465 362.8008 c +91.7344 344.96 87.7056 323.8467 83.6235 304.2627 c +81.5273 294.2061 81.9316 284.2168 78.4434 275.7705 c +74.5234 266.2822 66.5 259.7139 60.8296 251.9404 c +54.7129 243.5557 51.2388 224.7588 40.627 221.3779 C +40.7998 221.7217 40.9727 222.0674 41.144 222.4131 C +39.79 227.2139 42.2383 230.333 43.2163 234.3291 C +41.1147 235.4502 39.3652 235.8232 38.5547 238.4736 C +40.1084 244.3438 41.6626 250.2139 43.2163 256.085 C +42.6357 258.7764 38.5103 262.4824 40.1084 267.4814 c +41.354 271.3818 44.9365 271.5908 45.2896 277.3262 C +43.8086 279.5244 41.9907 280.7529 40.1084 282.5049 C +40.1084 282.6777 40.1084 282.8506 40.1084 283.0234 C +52.8052 283.6553 57.1475 290.5166 61.3481 299.6006 C +53.7988 301.8721 41.7808 303.3838 38.5547 309.96 C +46.126 307.9092 59.4692 305.3623 67.0459 307.3721 C +69.4639 315.3115 71.8813 323.2568 74.2993 331.1992 C +77.9248 347.085 81.5513 362.9736 85.1777 378.8584 C +87.957 392.2158 84.7827 409.2002 90.3579 419.7832 C +92.7749 421.6826 95.1934 423.5815 97.6104 425.481 C +99.3364 431.1782 101.064 436.8784 102.7905 442.5757 C +107.7554 450.8428 114.814 456.6777 119.3677 465.8892 C +115.0508 468.8232 110.7329 471.7593 106.417 474.6938 C +106.7617 476.2495 107.1074 477.8027 107.4531 479.3564 C +93.3389 475.1343 85.5649 470.4336 75.8525 462.7798 C +65.6665 462.7798 55.4756 462.7798 45.2896 462.7798 C +45.4609 463.1255 45.6338 463.4712 45.8066 463.8169 C +74.2612 470.5581 82.3726 479.2275 102.7905 491.7886 C +114.7041 497.832 126.6211 503.8774 138.5347 509.9204 C +142.1606 513.2007 145.7881 516.4824 149.4136 519.7622 C +168.4629 531.9883 188.5562 540.2256 210.5415 549.8081 c +217.877 553.0059 224.0391 558.6489 232.2988 561.2056 c +245.8008 565.3853 266.6577 569.8081 284.1025 566.3867 C +292.7354 563.4507 301.3701 560.5142 310.0039 557.5801 C +324.5254 553.9165 346.2764 558.8447 355.0732 564.3149 c +369.0625 573.0098 372.4688 593.5171 375.793 613.0088 C +376.6572 620.606 377.5195 628.2046 378.3838 635.8013 C +383.2783 647.8481 394.3535 648.647 406.3574 653.9336 C +f +%%PageTrailer +gsave annotatepage grestore showpage +%%Trailer +Adobe_Illustrator_AI3 /terminate get exec +Adobe_pattern_AI3 /terminate get exec +Adobe_customcolor /terminate get exec +Adobe_cshow /terminate get exec +Adobe_packedarray /terminate get exec +%%EOF diff --git a/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/tiger.ai b/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/tiger.ai index 37c8b5b48483a9e65f45594dc54f4dff023c8b7b..e4944fb115889e7cce5fe6f461c12a92a0fade79 100644 --- a/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/tiger.ai +++ b/htdocs/includes/phpexcel/PHPExcel/Shared/PDF/images/tiger.ai @@ -1,3599 +1,3599 @@ -%!PS-Adobe-3.0 -%%Creator: Adobe Illustrator(TM) 3.2 -%%AI8_CreatorVersion: 12.0.0 -%%For: (fluxus) (x) -%%Title: (tiger.ai) -%%CreationDate: 4/14/2006 11:35 PM -%%BoundingBox: 22 167 567 730 -%%DocumentProcessColors: Cyan Magenta Yellow Black -%%DocumentNeededResources: procset Adobe_packedarray 2.0 0 -%%+ procset Adobe_cmykcolor 1.1 0 -%%+ procset Adobe_cshow 1.1 0 -%%+ procset Adobe_customcolor 1.0 0 -%%+ procset Adobe_pattern_AI3 1.0 0 -%%+ procset Adobe_Illustrator_AI3 1.0 1 -%AI3_ColorUsage: Color -%%CMYKCustomColor: 0.74902 0.678431 0.670588 0.901961 ([Registration]) -%AI3_TemplateBox: 306.5 396.5 306.5 396.5 -%AI3_TileBox: 0 1 612 793 -%AI3_DocumentPreview: None -%%PageOrigin:0 0 -%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 -%AI9_Flatten: 1 -%AI12_CMSettings: 00.MS -%%EndComments -%%BeginProlog -%%IncludeResource: procset Adobe_packedarray 2.0 0 -Adobe_packedarray /initialize get exec -%%IncludeResource: procset Adobe_cmykcolor 1.1 0 -%%IncludeResource: procset Adobe_cshow 1.1 0 -%%IncludeResource: procset Adobe_customcolor 1.0 0 -%%IncludeResource: procset Adobe_pattern_AI3 1.0 0 -%%IncludeResource: procset Adobe_Illustrator_AI3 1.0 1 -%%EndProlog -0 A -u -0 O -1 g -0 J 0 j 1 w 4 M []0 d -90.5 477.5 m -90.5767 475.4434 89.7798 475.5801 v -88.7646 475.4863 70.6641 528.3682 48.02 525.9795 c -67.6445 533.9883 90.5 477.5 v -F -0 R -0 G -0.1892 w 10 M -90.5 477.5 m -90.5767 475.4434 89.7798 475.5801 v -88.7646 475.4863 70.6641 528.3682 48.02 525.9795 c -67.6445 533.9883 90.5 477.5 v -90.5 477.5 l -s -0 O -1 g -1 w 4 M -94.3398 480.8594 m -93.7446 478.8555 92.8999 479.1797 v -92.0552 479.5107 93.0249 535.3975 71.0601 540.8594 c -92.0981 541.709 94.3398 480.8594 v -F -0 R -0 G -0.1892 w 10 M -94.3398 480.8594 m -93.7446 478.8555 92.8999 479.1797 v -92.0552 479.5107 93.0249 535.3975 71.0601 540.8594 c -92.0981 541.709 94.3398 480.8594 v -94.3398 480.8594 l -s -0 O -1 g -1 w 4 M -124.5801 434.2998 m -126.3872 433.2363 125.7798 432.3799 v -125.3525 431.7461 71.2617 445.8291 60.98 425.6602 c -64.9063 446.4102 124.5801 434.2998 v -F -0 R -0 G -0.1892 w 10 M -124.5801 434.2998 m -126.3872 433.2363 125.7798 432.3799 v -125.3525 431.7461 71.2617 445.8291 60.98 425.6602 c -64.9063 446.4102 124.5801 434.2998 v -124.5801 434.2998 l -s -0 O -1 g -1 w 4 M -121.46 423.0195 m -123.5381 422.624 123.3799 421.8193 v -123.0249 420.8838 67.2534 417.207 63.8599 394.7002 c -61.04 415.7598 121.46 423.0195 v -F -0 R -0 G -0.1892 w 10 M -121.46 423.0195 m -123.5381 422.624 123.3799 421.8193 v -123.0249 420.8838 67.2534 417.207 63.8599 394.7002 c -61.04 415.7598 121.46 423.0195 v -121.46 423.0195 l -s -0 O -1 g -1 w 4 M -116.8999 429.0195 m -118.8223 428.4082 118.3398 427.5801 v -118.0615 426.7617 62.3481 431.2617 55.7002 409.5801 c -55.9902 430.7334 116.8999 429.0195 v -F -0 R -0 G -0.1892 w 10 M -116.8999 429.0195 m -118.8223 428.4082 118.3398 427.5801 v -118.0615 426.7617 62.3481 431.2617 55.7002 409.5801 c -55.9902 430.7334 116.8999 429.0195 v -116.8999 429.0195 l -s -0 O -1 g -1 w 4 M -105.1401 449.1797 m -106.5298 447.6514 105.8599 447.0195 v -105.123 446.5039 57.0054 474.9434 41.54 458.2998 c -51.0586 477.2549 105.1401 449.1797 v -F -0 R -0 G -0.1892 w 10 M -105.1401 449.1797 m -106.5298 447.6514 105.8599 447.0195 v -105.123 446.5039 57.0054 474.9434 41.54 458.2998 c -51.0586 477.2549 105.1401 449.1797 v -105.1401 449.1797 l -s -0 O -1 g -1 w 4 M -96.7402 444.6201 m -98.3936 443.2139 97.7002 442.46 v -97.1265 441.9131 46.0977 464.7266 32.4199 446.54 c -39.9297 466.3496 96.7402 444.6201 v -F -0 R -0 G -0.1892 w 10 M -96.7402 444.6201 m -98.3936 443.2139 97.7002 442.46 v -97.1265 441.9131 46.0977 464.7266 32.4199 446.54 c -39.9297 466.3496 96.7402 444.6201 v -96.7402 444.6201 l -s -0 O -1 g -1 w 4 M -93.8599 440.0596 m -95.6982 438.9629 95.0601 438.1396 v -94.6206 437.5059 40.9614 453.1494 30.02 433.3398 c -34.6279 453.917 93.8599 440.0596 v -F -0 R -0 G -0.1892 w 10 M -93.8599 440.0596 m -95.6982 438.9629 95.0601 438.1396 v -94.6206 437.5059 40.9614 453.1494 30.02 433.3398 c -34.6279 453.917 93.8599 440.0596 v -93.8599 440.0596 l -s -0 O -1 g -1 w 4 M -105.6201 439.3398 m -106.9736 437.7129 106.1001 437.1797 v -105.4302 436.7549 61.3545 471.1279 43.7002 456.6201 c -55.7529 474.1826 105.6201 439.3398 v -F -0 R -0 G -0.1892 w 10 M -105.6201 439.3398 m -106.9736 437.7129 106.1001 437.1797 v -105.4302 436.7549 61.3545 471.1279 43.7002 456.6201 c -55.7529 474.1826 105.6201 439.3398 v -105.6201 439.3398 l -s -0 O -1 g -1 w 4 M -84.02 471.2598 m -84.6416 469.2607 83.7798 469.0996 v -82.8799 468.8213 51.4209 515.0215 30.2598 506.7803 c -47.0215 519.6416 84.02 471.2598 v -F -0 R -0 G -0.1892 w 10 M -84.02 471.2598 m -84.6416 469.2607 83.7798 469.0996 v -82.8799 468.8213 51.4209 515.0215 30.2598 506.7803 c -47.0215 519.6416 84.02 471.2598 v -84.02 471.2598 l -s -0 O -1 g -1 w 4 M -84.7402 463.5801 m -85.8174 461.7725 84.98 461.4199 v -84.1929 460.9639 43.5078 499.292 24.7402 486.6201 c -38.2158 502.8535 84.7402 463.5801 v -F -0 R -0 G -0.1892 w 10 M -84.7402 463.5801 m -85.8174 461.7725 84.98 461.4199 v -84.1929 460.9639 43.5078 499.292 24.7402 486.6201 c -38.2158 502.8535 84.7402 463.5801 v -84.7402 463.5801 l -s -0 O -1 g -1 w 4 M -84.5 458.7803 m -85.8535 457.0732 84.98 456.6201 v -84.3105 456.1182 40.2344 490.4883 22.5801 476.0596 c -34.6328 493.541 84.5 458.7803 v -F -0 R -0 G -0.1892 w 10 M -84.5 458.7803 m -85.8535 457.0732 84.98 456.6201 v -84.3105 456.1182 40.2344 490.4883 22.5801 476.0596 c -34.6328 493.541 84.5 458.7803 v -84.5 458.7803 l -s -0 O -1 g -1 w 4 M -82.1001 456.8594 m -82.7407 450.2168 83.8281 442.9902 85.7002 439.5801 c -81.7808 425.9189 91.46 411.5 v -91.0205 403.4795 92.8999 399.9795 v -97.1816 390.7207 102.5 389.8994 v -106.7334 389.1299 116.3286 385.7529 127.2197 384.1396 c -146.0215 368.7197 142.5801 354.6201 v -142.0615 336.6006 138.02 334.9395 v -150.8599 347.1582 140.4199 328.7002 v -135.3799 308.0596 l -163.6206 331.7598 146.4199 311.4199 v -135.3799 282.8594 l -157.0205 303.1592 149.0601 293.8994 v -145.7002 284.2998 l -193.1001 314.1582 159.1401 281.6602 v -168.02 285.5596 172.8198 282.3799 v -180.3418 283.8008 179.54 282.1396 v -156.5815 270.6006 152.6602 250.46 v -161.8613 261.3584 158.4199 249.5 v -158.8999 236.7803 l -163.1816 260.4795 162.7402 219.0195 v -183.8599 238.9209 171.1401 216.1396 v -171.1401 197.6602 l -187.8198 215.5996 180.7402 201.5 v -191.7798 211.2002 187.46 194.54 v -186.5 183.0391 191.2998 195.2598 v -208.9399 229.0205 202.3398 200.2998 v -201.4614 179.0791 206.6602 195.2598 v -207.1807 183.9199 217.2197 176.0596 v -215.9814 231.8789 230.1802 192.3799 v -234.5 174.1396 l -237.541 184.3594 237.1401 189.9795 v -253.3809 208.1191 246.02 181.3398 v -262.6206 206.3594 259.2197 191.8994 v -250.7407 174.2402 252.5 168.8594 v -270.98 207.2402 272.4199 208.9395 v -270.1016 162.3584 282.02 201.9795 v -288.1401 188.7607 285.1401 183.9795 v -293.8613 192.7207 293.0601 196.2197 v -298.04 205.2607 301.2197 190.2197 v -303.1016 179.96 304.8198 183.5 v -309.2598 157.0781 310.5801 182.0596 v -312.3418 197.1201 304.3398 209.8994 v -305.2998 213.3994 302.1802 217.8193 v -317.1797 194.04 309.3799 225.7393 v -321.582 216.9199 322.8203 216.8594 v -307.9395 242.4385 317.54 237.2598 v -311.9004 248.5996 331.7002 235.3398 v -314.1006 252.999 333.3799 242.54 v -342.2617 235.3994 333.8594 246.3799 v -318.0605 264.001 342.2598 244.2197 v -355.0205 226.1602 355.9395 223.0996 v -344.9023 255.2002 340.0996 258.3799 v -349.3018 298.3203 394.5801 281.1797 v -402.1016 262.2393 407.0605 282.3799 v -421.0215 289.5195 433.46 259.0996 v -437.7422 274.1191 436.8203 277.0996 v -444.3418 275.8779 443.54 277.0996 v -457.9805 272.3594 459.3799 273.2598 v -466.7813 265.7598 467.2998 269.6602 v -477.3418 266.6406 475.2197 270.6201 v -484.8223 253.4404 485.2998 249.5 v -487.9395 264.8594 l -490.0996 261.7393 l -491.8613 270.1592 491.0605 271.5801 v -490.1025 272.7988 512.9814 264.001 518.1797 241.0996 c -520.5801 231.9795 l -527.0625 248.1602 525.3799 252.6201 v -531.0225 251.6787 531.3799 246.8594 v -535.8613 272.3594 530.6602 279.0195 v -535.4219 279.8408 536.6602 275.8994 v -536.6602 283.8193 l -544.6621 282.9199 544.5801 285.5 v -549.502 289.959 551.7793 284.7803 v -538.0615 323.4004 558.2598 302.2998 v -566.2207 290.4004 562.3398 311.1797 v -558.3008 331.7598 553.9014 333.5186 559.2207 333.9795 c -560.0625 337.9209 557.7793 339.7393 v -555.6602 341.4385 559.2207 339.7393 y -564.4609 335.2803 558.7402 359.4199 v -565.7813 357.7207 552.5 389.8994 v -555.6602 392.4795 551.2998 401.6602 v -560.0625 396.8789 563.0605 398.54 v -562.7021 400.3994 559.2207 404.7803 v -535.4219 465.0801 557.7793 440.7803 v -570.8965 425.9746 563.7793 451.0996 v -553.834 477.4658 554.6602 482.2998 v -82.1001 456.8594 l -F -0 R -0 G -1.1 w 10 M -82.1001 456.8594 m -82.7407 450.2168 83.8281 442.9902 85.7002 439.5801 c -81.7808 425.9189 91.46 411.5 v -91.0205 403.4795 92.8999 399.9795 v -97.1816 390.7207 102.5 389.8994 v -106.7334 389.1299 116.3286 385.7529 127.2197 384.1396 c -146.0215 368.7197 142.5801 354.6201 v -142.0615 336.6006 138.02 334.9395 v -150.8599 347.1582 140.4199 328.7002 v -135.3799 308.0596 l -163.6206 331.7598 146.4199 311.4199 v -135.3799 282.8594 l -157.0205 303.1592 149.0601 293.8994 v -145.7002 284.2998 l -193.1001 314.1582 159.1401 281.6602 v -168.02 285.5596 172.8198 282.3799 v -180.3418 283.8008 179.54 282.1396 v -156.5815 270.6006 152.6602 250.46 v -161.8613 261.3584 158.4199 249.5 v -158.8999 236.7803 l -163.1816 260.4795 162.7402 219.0195 v -183.8599 238.9209 171.1401 216.1396 v -171.1401 197.6602 l -187.8198 215.5996 180.7402 201.5 v -191.7798 211.2002 187.46 194.54 v -186.5 183.0391 191.2998 195.2598 v -208.9399 229.0205 202.3398 200.2998 v -201.4614 179.0791 206.6602 195.2598 v -207.1807 183.9199 217.2197 176.0596 v -215.9814 231.8789 230.1802 192.3799 v -234.5 174.1396 l -237.541 184.3594 237.1401 189.9795 v -253.3809 208.1191 246.02 181.3398 v -262.6206 206.3594 259.2197 191.8994 v -250.7407 174.2402 252.5 168.8594 v -270.98 207.2402 272.4199 208.9395 v -270.1016 162.3584 282.02 201.9795 v -288.1401 188.7607 285.1401 183.9795 v -293.8613 192.7207 293.0601 196.2197 v -298.04 205.2607 301.2197 190.2197 v -303.1016 179.96 304.8198 183.5 v -309.2598 157.0781 310.5801 182.0596 v -312.3418 197.1201 304.3398 209.8994 v -305.2998 213.3994 302.1802 217.8193 v -317.1797 194.04 309.3799 225.7393 v -321.582 216.9199 322.8203 216.8594 v -307.9395 242.4385 317.54 237.2598 v -311.9004 248.5996 331.7002 235.3398 v -314.1006 252.999 333.3799 242.54 v -342.2617 235.3994 333.8594 246.3799 v -318.0605 264.001 342.2598 244.2197 v -355.0205 226.1602 355.9395 223.0996 v -344.9023 255.2002 340.0996 258.3799 v -349.3018 298.3203 394.5801 281.1797 v -402.1016 262.2393 407.0605 282.3799 v -421.0215 289.5195 433.46 259.0996 v -437.7422 274.1191 436.8203 277.0996 v -444.3418 275.8779 443.54 277.0996 v -457.9805 272.3594 459.3799 273.2598 v -466.7813 265.7598 467.2998 269.6602 v -477.3418 266.6406 475.2197 270.6201 v -484.8223 253.4404 485.2998 249.5 v -487.9395 264.8594 l -490.0996 261.7393 l -491.8613 270.1592 491.0605 271.5801 v -490.1025 272.7988 512.9814 264.001 518.1797 241.0996 c -520.5801 231.9795 l -527.0625 248.1602 525.3799 252.6201 v -531.0225 251.6787 531.3799 246.8594 v -535.8613 272.3594 530.6602 279.0195 v -535.4219 279.8408 536.6602 275.8994 v -536.6602 283.8193 l -544.6621 282.9199 544.5801 285.5 v -549.502 289.959 551.7793 284.7803 v -538.0615 323.4004 558.2598 302.2998 v -566.2207 290.4004 562.3398 311.1797 v -558.3008 331.7598 553.9014 333.5186 559.2207 333.9795 c -560.0625 337.9209 557.7793 339.7393 v -555.6602 341.4385 559.2207 339.7393 y -564.4609 335.2803 558.7402 359.4199 v -565.7813 357.7207 552.5 389.8994 v -555.6602 392.4795 551.2998 401.6602 v -560.0625 396.8789 563.0605 398.54 v -562.7021 400.3994 559.2207 404.7803 v -535.4219 465.0801 557.7793 440.7803 v -570.8965 425.9746 563.7793 451.0996 v -553.834 477.4658 554.6602 482.2998 v -82.1001 456.8594 l -82.1001 456.8594 l -s -0 O -0.164706 0.627451 1 0.031373 k -1 w 4 M -554.6602 482.0596 m -555.3799 481.7715 557.8066 480.5361 559.2197 478.7002 c -566.6621 466.8418 560.9004 487.0996 v -550.8223 518.7607 560.4199 506.54 v -567.1016 498.5215 563.54 513.5 v -559.3301 531.5498 556.5801 538.46 y -569.3027 533.2803 539.7793 576.8594 v -549.6201 572.7793 l -527.9414 616.4404 504.2598 622.2197 v -495.3799 628.7002 l -537.623 670.5605 523.46 711.0195 v -516.0605 716.7607 505.46 706.7002 v -498.4609 701.3594 491.7793 703.0996 v -457.9805 701.8018 455.7793 701.8994 v -453.582 701.8018 415.3018 742.7217 343.2197 723.2598 c -337.4219 721.1602 332.6602 722.54 v -312.3418 740.0811 258.7397 715.0996 v -247.6616 712.8008 246.02 712.7002 v -244.1406 712.8008 241.0615 712.8008 232.3398 705.7393 c -223.46 698.7197 223.0205 697.8418 220.8198 696.1396 c -202.7817 683.7607 197.54 682.9395 v -184.7407 675.8408 180.02 664.9395 v -175.9399 663.5 l -174.1807 655.6016 173.7798 654.3799 v -168.4614 650.3213 167.54 644.0596 v -157.9014 637.5605 158.4199 632.7793 v -156.5815 627.001 155.7798 621.7393 v -147.7808 616.4404 148.5801 613.3398 v -140.2998 597.9609 141.6201 590.54 v -134.5806 590.9209 131.54 588.3799 v -130.6206 583.001 128.8999 582.6201 v -125.7798 581.2393 128.4199 576.8594 v -126.6606 573.7617 126.2598 572.0596 v -127.1001 568.9209 122.1797 562.7002 v -115.2197 542.0811 117.3799 536.2998 v -117.8599 531.0801 114.7397 529.3398 v -110.8208 529.7598 120.02 516.6201 v -120.9414 515.2393 117.3799 512.54 v -98.5015 508.6396 95.7798 490.7002 v -80.8999 474.3193 80.8999 468.6201 v -80.8999 466.0664 81.1973 462.6025 81.8599 457.5801 c -81.3418 448.3594 111.6201 447.5 v -142.0615 446.5996 554.6602 482.0596 y -F -0 R -0 G -1.1 w 10 M -554.6602 482.0596 m -555.3799 481.7715 557.8066 480.5361 559.2197 478.7002 c -566.6621 466.8418 560.9004 487.0996 v -550.8223 518.7607 560.4199 506.54 v -567.1016 498.5215 563.54 513.5 v -559.3301 531.5498 556.5801 538.46 y -569.3027 533.2803 539.7793 576.8594 v -549.6201 572.7793 l -527.9414 616.4404 504.2598 622.2197 v -495.3799 628.7002 l -537.623 670.5605 523.46 711.0195 v -516.0605 716.7607 505.46 706.7002 v -498.4609 701.3594 491.7793 703.0996 v -457.9805 701.8018 455.7793 701.8994 v -453.582 701.8018 415.3018 742.7217 343.2197 723.2598 c -337.4219 721.1602 332.6602 722.54 v -312.3418 740.0811 258.7397 715.0996 v -247.6616 712.8008 246.02 712.7002 v -244.1406 712.8008 241.0615 712.8008 232.3398 705.7393 c -223.46 698.7197 223.0205 697.8418 220.8198 696.1396 c -202.7817 683.7607 197.54 682.9395 v -184.7407 675.8408 180.02 664.9395 v -175.9399 663.5 l -174.1807 655.6016 173.7798 654.3799 v -168.4614 650.3213 167.54 644.0596 v -157.9014 637.5605 158.4199 632.7793 v -156.5815 627.001 155.7798 621.7393 v -147.7808 616.4404 148.5801 613.3398 v -140.2998 597.9609 141.6201 590.54 v -134.5806 590.9209 131.54 588.3799 v -130.6206 583.001 128.8999 582.6201 v -125.7798 581.2393 128.4199 576.8594 v -126.6606 573.7617 126.2598 572.0596 v -127.1001 568.9209 122.1797 562.7002 v -115.2197 542.0811 117.3799 536.2998 v -117.8599 531.0801 114.7397 529.3398 v -110.8208 529.7598 120.02 516.6201 v -120.9414 515.2393 117.3799 512.54 v -98.5015 508.6396 95.7798 490.7002 v -80.8999 474.3193 80.8999 468.6201 v -80.8999 466.0664 81.1973 462.6025 81.8599 457.5801 c -81.3418 448.3594 111.6201 447.5 v -142.0615 446.5996 554.6602 482.0596 y -554.6602 482.0596 l -s -0 O -0.164706 0.627451 1 0.031373 k -1 w 4 M -97.9399 457.3398 m -70.3398 500.7197 86.1802 438.6201 y -95.8613 400.8389 238.3398 442.2197 y -424.1025 475.6396 436.3398 480.1396 v -448.7402 484.4404 553.46 477.5 y -547.2207 495.9795 l -476.0215 546.9199 454.9014 521.4004 439.9395 525.7402 c -424.9805 530.2012 427.6211 519.6416 424.0996 518.7803 c -420.582 517.8799 377.4609 545.1602 370.3398 544.2197 c -363.3828 543.4014 335.5059 569.5273 351.8594 534.6201 c -369.541 497.2012 287.7007 491.4795 269.2998 503.8994 c -250.7407 516.1201 277.2197 483.5 y -297.3799 461.5615 259.46 480.1396 y -221.7007 494.1201 195.3008 465.9609 191.7798 465.0195 c -188.2617 464.2012 182.9814 460.6807 182.1802 467.6602 c -181.2197 474.7617 172.959 493.1309 138.02 464.2998 c -116.1006 445.9395 100.8198 470.0596 y -97.9399 457.3398 l -F -0.054902 0.607843 0.878431 0 k -371.7793 542.2998 m -364.8203 541.4814 336.918 567.5938 353.2998 532.7002 c -371.6406 493.9609 289.1406 489.5596 270.7402 501.9795 c -252.1807 514.2002 278.6602 481.5801 y -298.8198 459.6416 260.8999 478.2197 y -223.1406 492.2002 196.7407 464.04 193.2197 463.0996 c -189.7017 462.2813 184.4214 458.7607 183.6201 465.7393 c -182.6602 472.8418 174.543 491.0283 139.46 462.3799 c -116.1802 443.1992 101.2998 466.7002 y -97.9399 455.6602 l -70.3208 499.46 86.8999 435.2598 y -96.5815 397.4785 239.7798 440.2998 y -425.54 473.7197 437.7793 478.2197 v -450.1807 482.5205 553.9395 475.5801 y -547.9395 494.54 l -476.5801 545.6406 456.3418 519.4805 441.3799 523.8193 c -426.4209 528.2813 429.0605 517.7217 425.54 516.8594 c -422.0215 515.96 378.9004 543.2402 371.7793 542.2998 c -F -0.047059 0.537255 0.772549 0 k -373.2197 540.3799 m -366.2598 539.5615 339.0537 565.9922 354.7402 530.7793 c -372.6416 490.9395 290.5806 487.6396 272.1802 500.0596 c -253.6206 512.2783 280.1001 479.6602 y -300.2598 457.7188 262.3398 476.2998 y -224.5806 490.2793 198.1807 462.1182 194.6602 461.1797 c -191.1392 460.3594 185.8594 456.8379 185.0601 463.8193 c -184.1001 470.9189 176.127 488.9238 140.8999 460.46 c -116.2593 440.458 101.7798 463.3398 y -97.7002 453.9795 l -71.6216 496.8799 87.6201 431.8994 y -97.3018 394.1191 241.2197 438.3799 y -426.9805 471.7998 439.2197 476.2998 v -451.6211 480.5977 554.4199 473.6602 y -548.4199 493.3398 l -477.1406 544.3594 457.7813 517.5605 442.8203 521.8994 c -427.8613 526.3613 430.501 515.8018 426.9805 514.9395 c -423.4609 514.04 380.3408 541.3203 373.2197 540.3799 c -F -0.039216 0.462745 0.67451 0 k -374.6602 538.46 m -367.7002 537.6416 340.498 564.0752 356.1797 528.8594 c -374.7422 487.5293 291.4326 486.1113 273.6201 498.1396 c -255.0605 510.3604 281.54 477.7393 y -301.7002 455.8018 263.7798 474.3799 y -226.0205 488.3594 199.6206 460.2002 196.1001 459.2598 c -192.5815 458.4414 187.3018 454.9209 186.5 461.8994 c -185.54 469.001 177.7134 486.8164 142.3398 458.54 c -116.3408 437.7197 102.2598 460.2197 y -97.7002 452.2998 l -73.7983 492.7617 88.3398 428.54 y -98.0215 390.7588 242.6602 436.46 y -428.4199 469.8799 440.6602 474.3799 v -453.0625 478.6807 554.9004 471.9795 y -548.9004 492.1396 l -477.7012 543.0801 459.2217 515.6406 444.2598 519.9795 c -429.3008 524.4414 431.9414 513.8818 428.4199 513.0195 c -424.9014 512.1201 381.7813 539.4004 374.6602 538.46 c -F -0.035294 0.396078 0.572549 0 k -376.0996 536.54 m -369.1406 535.7188 342.4951 562.3994 357.6201 526.9395 c -376.1816 483.7998 293.4609 483.7998 275.0601 496.2197 c -256.501 508.4385 282.98 475.8193 y -303.1401 453.8789 265.2197 472.46 y -227.4609 486.4395 201.0605 458.2783 197.54 457.3398 c -194.0215 456.5186 188.7417 452.998 187.9399 459.9795 c -186.98 467.0791 179.2974 484.7139 143.7798 456.6201 c -116.4199 434.9785 102.5 456.8594 y -97.7002 450.6201 l -75.98 488.8613 89.0601 425.1797 y -98.7393 387.3994 244.1001 434.54 y -429.8623 467.96 442.0996 472.46 v -454.5039 476.7578 555.3799 470.0596 y -549.6201 490.7002 l -478.2637 541.8008 460.6621 513.7178 445.7002 518.0596 c -430.7432 522.5186 433.3828 511.959 429.8594 511.0996 c -426.3418 510.2002 383.2227 537.4785 376.0996 536.54 c -F -0.031373 0.333333 0.470588 0 k -377.54 534.6201 m -370.582 533.8018 342.0225 559.5967 359.0605 525.0195 c -380.2617 482.3213 294.9009 481.8799 276.5 494.2998 c -257.9409 506.5205 284.4199 473.8994 y -304.5801 451.959 266.6602 470.54 y -228.9009 484.5195 202.501 456.3604 198.98 455.4199 c -195.4614 454.6016 190.1816 451.0801 189.3799 458.0596 c -188.4199 465.1592 180.8818 482.6094 145.2197 454.7002 c -116.5015 432.2383 102.98 453.5 y -97.7002 448.9395 l -77.9409 485.4004 89.7798 421.8193 y -99.4614 384.0391 245.54 432.6201 y -431.3027 466.04 443.54 470.54 v -455.9434 474.8408 555.8594 468.1396 y -550.0996 489.5 l -478.8223 540.5186 462.1016 511.8008 447.1406 516.1396 c -432.1836 520.6016 434.8232 510.0391 431.2998 509.1797 c -427.7813 508.2793 384.6631 535.5605 377.54 534.6201 c -F -0.027451 0.278431 0.372549 0 k -378.9805 532.7002 m -372.0195 531.8818 343.0449 557.4678 360.5 523.0996 c -383.0215 479.0791 296.3408 479.96 277.9399 492.3799 c -259.3809 504.5977 285.8599 471.9795 y -306.02 450.0391 268.1001 468.6201 y -230.3408 482.5996 203.9409 454.4385 200.4199 453.5 c -196.9014 452.6787 191.6216 449.1582 190.8198 456.1396 c -189.8599 463.2393 182.4658 480.5049 146.6602 452.7793 c -116.5806 429.5 103.46 450.1396 y -97.7002 447.2598 l -80.1201 480.3994 90.5 418.46 y -100.1792 380.6787 246.98 430.7002 y -432.7422 464.1201 444.9805 468.6201 v -457.3828 472.918 556.3398 466.46 y -550.5801 488.2998 l -479.3818 539.2393 463.541 509.8779 448.5801 514.2197 c -433.623 518.6816 436.2637 508.1191 432.7402 507.2598 c -429.2217 506.3594 386.1035 533.6406 378.9805 532.7002 c -F -0.019608 0.215686 0.286275 0 k -380.4199 530.7793 m -373.4629 529.959 343.2754 554.9023 361.9395 521.1797 c -386.2227 477.6006 297.7808 478.04 279.3799 490.46 c -260.8208 502.6807 287.2998 470.0596 y -307.46 448.1191 269.54 466.7002 y -231.7808 480.6797 205.3809 452.5205 201.8599 451.5801 c -198.3418 450.7588 193.0615 447.2402 192.2598 454.2197 c -191.2998 461.3193 184.0498 478.3994 148.1001 450.8594 c -116.6602 426.7588 103.9399 446.7793 y -97.7002 445.5801 l -81.8599 476.7197 91.2197 415.0996 y -100.9014 377.3193 248.4199 428.7793 y -434.1826 462.2002 446.4199 466.7002 v -458.8232 471.001 556.8203 464.54 y -551.2998 486.8594 l -479.9434 537.9609 464.9814 507.9609 450.0195 512.2998 c -435.0625 516.7588 437.7031 506.1992 434.1797 505.3398 c -430.6621 504.4395 387.543 531.7207 380.4199 530.7793 c -F -0.015686 0.156863 0.203922 0 k -381.8594 528.8594 m -374.9023 528.0391 344.7148 552.9824 363.3799 519.2598 c -387.6631 475.6777 299.2231 476.1201 280.8198 488.54 c -262.2607 500.7578 288.7402 468.1396 y -308.9023 446.1992 270.98 464.7793 y -233.2207 478.7598 206.8208 450.5977 203.2998 449.6602 c -199.7817 448.8389 194.5015 445.3184 193.7002 452.2998 c -192.7402 459.3994 185.6357 476.2949 149.54 448.9395 c -116.7417 424.0186 104.1802 443.4199 y -97.7002 443.6602 l -82.7192 472.8193 91.9399 411.7393 y -101.6216 373.959 249.8599 426.8594 y -435.623 460.2793 447.8594 464.7793 v -460.2637 469.0781 557.2998 462.6201 y -551.7793 485.6602 l -480.502 536.6787 466.4219 506.0381 451.46 510.3799 c -436.501 514.8389 439.1426 504.2793 435.6201 503.4199 c -432.1016 502.5195 388.9834 529.7979 381.8594 528.8594 c -F -0.011765 0.098039 0.12549 0 k -383.2998 526.9395 m -376.3418 526.1191 346.582 551.2949 364.8203 517.3398 c -389.1006 472.4404 300.6606 474.2002 282.2598 486.6201 c -263.7007 498.8408 290.1802 466.2197 y -310.3418 444.2793 272.4199 462.8594 y -234.6606 476.8398 208.2607 448.6807 204.7402 447.7393 c -201.2217 446.9189 195.9414 443.4004 195.1401 450.3799 c -194.1802 457.4785 187.2197 474.1904 150.98 447.0195 c -116.8208 421.2793 104.6602 440.0596 y -97.7002 441.9795 l -83.3599 468.4805 92.6602 408.3799 y -102.3418 370.5986 251.2998 424.9395 y -437.0625 458.3594 449.2998 462.8594 v -461.7012 467.1602 557.7793 460.9395 y -552.2598 484.46 l -481.0615 535.3994 467.8613 504.1201 452.9004 508.46 c -437.9414 512.9189 440.5801 502.3594 437.0605 501.5 c -433.541 500.5996 390.4209 527.8809 383.2998 526.9395 c -F -0 0.039216 0.05098 0 k -384.7402 525.0195 m -377.7822 524.2012 349.208 549.9893 366.2598 515.4199 c -389.6621 468.3193 302.1006 472.2793 283.7002 484.7002 c -265.1406 496.918 291.6201 464.2998 y -311.7822 442.3594 273.8599 460.9395 y -236.1006 474.9199 209.7007 446.7578 206.1802 445.8193 c -202.6616 444.999 197.3818 441.4785 196.5801 448.46 c -195.6226 455.5586 188.8042 472.085 152.4199 445.0996 c -116.8999 418.5391 105.1401 436.7002 y -97.7002 440.2998 l -83.5591 465.8984 93.3799 405.0195 y -103.0615 367.2393 252.7402 423.0195 y -438.502 456.4395 450.7402 460.9395 v -463.1426 465.2383 558.2598 459.0195 y -552.9805 483.0195 l -481.6211 534.1201 469.3018 502.1982 454.3398 506.54 c -439.3828 511.001 442.0234 500.4385 438.5 499.5801 c -434.9814 498.6797 391.8613 525.9609 384.7402 525.0195 c -F -1 g -97.7002 438.6201 m -83.54 462.8818 94.1001 401.6602 y -103.7817 363.8789 254.1802 421.0996 y -439.9424 454.5195 452.1797 459.0195 v -464.5801 463.3203 558.7402 457.0996 y -553.46 481.8193 l -482.1826 532.8418 470.7422 500.2803 455.7793 504.6201 c -440.8203 509.0811 443.4609 498.5215 439.9395 497.6602 c -436.4219 496.7598 393.3008 524.041 386.1797 523.0996 c -379.2227 522.2813 351.4785 548.4678 367.7002 513.5 c -392.2305 461.002 300.9463 472.0898 285.1401 482.7803 c -266.5806 495.001 293.0601 462.3799 y -313.2197 440.4395 275.2998 459.0195 y -237.541 473 211.1406 444.8408 207.6201 443.8994 c -204.1016 443.0791 198.8218 439.5586 198.02 446.54 c -197.0601 453.6416 190.3877 469.9834 153.8599 443.1797 c -116.9814 415.8008 105.6201 433.3398 y -97.7002 438.6201 l -F -0 g -143.2998 405.7402 m -135.4614 392.9189 158.4199 378.3799 v -159.8818 376.8584 140.1802 381.5 v -133.2607 383.6787 131.54 395.1797 v -126.2217 399.958 120.98 406.2197 v -115.6616 412.2803 143.2998 405.7402 y -F -0.8 g -297.3799 458.0596 m -316.8486 428.5371 316.0996 423.2598 v -314.7607 411.8408 314.54 401.2803 318.0195 396.8594 c -321.582 392.4795 331.2197 356.0596 y -330.8223 354.6387 344.4199 396.3799 v -357.2217 414.0391 335.2998 434.2998 v -296.5015 465.9609 297.3799 458.0596 v -F -0 g -165.3799 376.2197 m -177.7017 368.2803 161.7798 333.9795 v -168.98 336.6201 l -168.02 324.2793 164.4199 321.7393 v -172.3398 325.0996 l -177.7017 316.3594 173.2998 311.1797 v -191.7798 302.2803 190.8198 295.3398 v -197.9409 304.04 193.46 311.1797 v -189.1401 318.1201 181.2197 313.7188 182.1802 333.9795 c -172.3398 330.3799 l -178.5801 340.1191 178.5801 347.1797 v -169.7002 344.54 l -186.7949 373.7549 174.98 375.2598 v -168.4614 376.2002 165.3799 376.2197 y -F -0.8 g -201.1401 357.7393 m -204.1016 362.5586 201.1401 361.5801 v -197.9409 360.7998 163.6206 344.5205 156.98 333.9795 c -194.8613 360.7998 201.1401 357.7393 v -F -212.4199 348.8594 m -215.54 353.7578 212.4199 352.9395 v -209.3818 351.999 175.0615 335.7197 168.5 325.0996 c -206.2998 351.999 212.4199 348.8594 v -F -227.0601 365.6602 m -230.0601 370.4795 227.0601 369.5 v -223.9014 368.7197 189.5815 352.4404 182.8999 341.8994 c -220.8198 368.7197 227.0601 365.6602 v -F -201.3799 317.6602 m -201.4614 324.2793 198.5 323.4199 v -195.3008 322.5195 155.7007 303.1592 149.0601 292.7002 c -195.3008 320.7578 201.3799 317.6602 v -F -202.8198 329.6602 m -204.1016 334.8389 201.1401 333.9795 v -198.8218 333.958 169.7817 321.2002 163.2197 310.7002 c -195.7402 334.3994 202.8198 329.6602 v -F -186.98 277.0996 m -175.9399 268.9395 l -187.3809 277.2002 191.2998 275.8994 v -183.8599 263.5586 182.8999 257.8994 v -194.4199 271.9209 200.6602 271.5801 v -208.9399 271.04 209.0601 259.0996 v -215.1006 270.6006 218.6602 270.1396 v -219.9414 263.1201 218.6602 255.7393 v -223.0205 264.001 227.54 262.2197 v -234.4614 264.4395 233.54 251.6602 v -233.5806 240.2402 232.8198 237.2598 v -238.8608 266.1992 241.46 266.54 v -250.3018 267.958 255.6201 258.3799 v -251.1802 266.6406 256.5801 264.3799 v -268.3398 262.6777 271.9399 255.2598 v -264.3799 268.3994 270.5 264.8594 v -278.0215 264.8789 279.3799 257.8994 v -288.5815 234.5186 290.8999 232.7002 v -282.4209 256.5195 284.1802 256.46 v -281.9814 269.7197 287.7798 253.3398 v -284.1802 268.8389 290.4199 267.9795 v -296.5015 267.0801 301.3398 256.0781 310.5801 258.6201 c -321.1426 252.5596 323.2998 328.7002 v -186.98 277.0996 l -F -0 g -192.2598 379.3398 m -208.501 385.8799 252.5 379.3398 v -260.4199 378.8408 267.8599 388.46 v -275.3818 398.1992 304.8608 406.1191 312.0195 403.8193 c -322.5801 396.8594 l -323.2998 395.6602 l -336.9824 384.1201 337.46 375.7393 v -337.8613 367.3994 321.582 314.5996 311.0605 297.0195 c -300.4614 279.3994 289.9014 265.7598 268.8198 268.46 c -245.8999 272.7988 217.7002 268.46 v -185.6216 270.1592 182.6602 279.0195 v -179.4609 287.7578 194.8999 304.46 y -199.7002 313.7188 198.5 329.6602 v -197.0601 345.3994 197.5015 376.2002 192.2598 379.3398 c -F -0.047059 0.745098 0.211765 0 k -216.5 377.1797 m -225.6606 356.8398 193.2197 285.0195 y -190.9014 283.3594 207.0273 276.7109 218.1802 279.5 c -230.2207 282.3008 274.5801 277.5801 y -300.4614 294.7998 314.6602 343.5801 y -325.9805 370.04 306.7402 373.5801 v -287.2617 377.0791 216.5 377.1797 y -F -0.247059 0.933333 0.509804 0.070588 k -214.1001 343.0996 m -217.8438 357.1641 219.5864 370.1426 216.5 377.1797 c -285.0605 370.04 297.3799 393.0195 v -302.0454 401.583 318.2813 367.8389 317.7793 357.2598 c -248.54 341.4385 232.3398 353.6602 v -214.1001 343.0996 l -F -0.266667 0.972549 0.580392 0.137255 k -219.1401 325.0996 m -221.2617 317.2393 218.6602 312.8594 v -216.8599 311.96 215.54 311.4199 v -216.8599 307.5586 223.46 305.8994 v -225.6606 300.958 228.2598 300.6201 v -230.9409 300.0801 236.2207 293.9189 240.7402 295.3398 c -245.0215 296.5586 257.2998 300.8594 y -263.5015 304.4795 273.1401 300.6201 v -275.792 301.4023 276.2598 305.8994 v -276.8096 310.9707 280.2197 315.0391 282.5 317.1797 c -284.6216 319.4404 295.1816 333.5186 293.7798 333.9795 c -292.5415 334.3994 219.1401 325.0996 y -F -0 0.698039 0.356863 0 k -214.3398 378.3799 m -211.1406 353.7578 214.5801 344.54 v -218.1802 335.2803 217.3018 333.0801 216.5 328.7002 c -215.54 324.2793 220.3809 313.2803 226.5801 306.6201 c -239.7798 304.9395 l -256.46 308.8809 266.6602 305.8994 v -276.4736 304.3232 280.3398 320.7803 v -285.5 327.7998 293.54 330.8594 v -301.3398 333.958 309.2598 379.7188 304.8198 388.46 c -300.4614 397.3203 284.6216 402.1592 267.1401 385.0996 c -249.4209 367.8389 247.2197 386.3193 214.3398 378.3799 c -F -0 R -0 G -1.1 w 10 M -214.3398 378.3799 m -211.1406 353.7578 214.5801 344.54 v -218.1802 335.2803 217.3018 333.0801 216.5 328.7002 c -215.54 324.2793 220.3809 313.2803 226.5801 306.6201 c -239.7798 304.9395 l -256.46 308.8809 266.6602 305.8994 v -276.4736 304.3232 280.3398 320.7803 v -285.5 327.7998 293.54 330.8594 v -301.3398 333.958 309.2598 379.7188 304.8198 388.46 c -300.4614 397.3203 284.6216 402.1592 267.1401 385.0996 c -249.4209 367.8389 247.2197 386.3193 214.3398 378.3799 c -214.3398 378.3799 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -216.02 296.0596 m -215.1006 298.3203 210.2598 298.7002 v -185.6216 302.7197 176.4199 316.46 v -168.9009 322.5195 173.7798 309.7393 v -185.1802 287.3193 192.7402 284.2998 v -210.7017 279.8408 216.02 296.0596 v -F -0 R -0 G -0.550001 w 10 M -216.02 296.0596 m -215.1006 298.3203 210.2598 298.7002 v -185.6216 302.7197 176.4199 316.46 v -168.9009 322.5195 173.7798 309.7393 v -185.1802 287.3193 192.7402 284.2998 v -210.7017 279.8408 216.02 296.0596 v -216.02 296.0596 l -s -0 O -0.145098 0.898039 0.682353 0.027451 k -1 w 4 M -303.8599 366.3799 m -304.6426 375.1855 306.7905 384.6602 304.8198 388.46 c -297.771 402.7041 279.0991 396.7754 267.1401 385.0996 c -249.4209 367.8389 247.2197 386.3193 214.3398 378.3799 c -212.2998 363.041 213.1401 351.9795 v -254.2617 364.7598 255.1401 358.7002 v -256.9014 362.1201 267.1401 362.0596 v -277.1406 362.1201 302.1558 363.4082 303.8599 366.3799 c -F -0 R -0.231373 1 0.941176 0.172549 K -2.2 w 10 M -256.5801 377.4199 m -261.7402 372.2402 257.7798 361.5801 v -241.9399 344.0791 244.1001 328.7002 v -S -0 O -0.011765 0 0.239216 0 k -1 w 4 M -203.7798 284.2998 m -198.8218 298.3203 208.5801 290.7803 v -213.7808 288.6387 212.4199 286.9395 v -211.1406 285.1201 204.98 280.7188 203.7798 284.2998 c -F -0 R -0 G -0.550001 w 10 M -203.7798 284.2998 m -198.8218 298.3203 208.5801 290.7803 v -213.7808 288.6387 212.4199 286.9395 v -211.1406 285.1201 204.98 280.7188 203.7798 284.2998 c -203.7798 284.2998 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -209.2998 282.8594 m -205.333 294.1826 213.1401 288.1396 v -217.9399 285.5068 216.2598 285.0195 v -211.2295 283.623 216.2432 280.8076 209.2998 282.8594 c -F -0 R -0 G -0.550001 w 10 M -209.2998 282.8594 m -205.333 294.1826 213.1401 288.1396 v -217.9399 285.5068 216.2598 285.0195 v -211.2295 283.623 216.2432 280.8076 209.2998 282.8594 c -209.2998 282.8594 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -214.5801 282.8594 m -210.6128 294.1826 218.4199 288.1396 v -223.1694 285.6582 221.54 285.0195 v -217.8296 283.623 221.5229 280.8076 214.5801 282.8594 c -F -0 R -0 G -0.550001 w 10 M -214.5801 282.8594 m -210.6128 294.1826 218.4199 288.1396 v -223.1694 285.6582 221.54 285.0195 v -217.8296 283.623 221.5229 280.8076 214.5801 282.8594 c -214.5801 282.8594 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -221.7798 282.6201 m -217.8726 293.9648 225.6201 287.8994 v -230.4365 285.4131 228.7402 284.7803 v -225.5288 283.623 228.7856 280.5869 221.7798 282.6201 c -F -0 R -0 G -0.550001 w 10 M -221.7798 282.6201 m -217.8726 293.9648 225.6201 287.8994 v -230.4365 285.4131 228.7402 284.7803 v -225.5288 283.623 228.7856 280.5869 221.7798 282.6201 c -221.7798 282.6201 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -228.98 282.8594 m -225.001 294.0508 232.8198 288.1396 v -236.9697 286.3086 235.9399 284.7803 v -234.8574 283.4912 235.9136 280.6758 228.98 282.8594 c -F -0 R -0 G -0.550001 w 10 M -228.98 282.8594 m -225.001 294.0508 232.8198 288.1396 v -236.9697 286.3086 235.9399 284.7803 v -234.8574 283.4912 235.9136 280.6758 228.98 282.8594 c -228.98 282.8594 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -236.1802 282.1396 m -230.9409 295.6807 240.98 288.6201 v -246.3418 286.4404 245.0601 284.7803 v -243.7017 282.9199 245.0215 279.3994 236.1802 282.1396 c -F -0 R -0 G -0.550001 w 10 M -236.1802 282.1396 m -230.9409 295.6807 240.98 288.6201 v -246.3418 286.4404 245.0601 284.7803 v -243.7017 282.9199 245.0215 279.3994 236.1802 282.1396 c -236.1802 282.1396 l -s -*u -0.266667 0.972549 0.580392 0.137255 K -2.2 w -204.98 300.8594 m -219.5 304.04 226.1001 300.6201 v -232.7002 299.1992 234.02 299.6602 v -235.3398 300.0801 238.8198 300.6201 y -S -1 D -242.4199 291.2598 m -255.5815 306.2402 268.8198 301.3398 v -276.4976 298.5703 275.3818 302.2803 276.2598 305.4199 c -277.1406 308.4385 277.3613 313.0586 282.98 316.46 c -S -*U -0 D -0 O -0.011765 0 0.239216 0 k -1 w 4 M -261.3799 308.7803 m -256.9014 320.7578 253.9399 306.6201 v -250.7407 292.5986 247.2197 288.6387 245.54 285.5 c -245.4609 279.8408 254.6602 280.2197 v -266.5806 280.7188 267.1401 283.8193 v -267.4614 286.8799 265.7002 299.6406 261.3799 308.7803 c -F -0 R -0 G -0.550001 w 10 M -261.3799 308.7803 m -256.9014 320.7578 253.9399 306.6201 v -250.7407 292.5986 247.2197 288.6387 245.54 285.5 c -245.4609 279.8408 254.6602 280.2197 v -266.5806 280.7188 267.1401 283.8193 v -267.4614 286.8799 265.7002 299.6406 261.3799 308.7803 c -261.3799 308.7803 l -s -*u -0.266667 0.972549 0.580392 0.137255 K -2.2 w -276.7402 300.8594 m -280.6616 303.6006 283.2197 302.2998 v -S -283.9399 319.0996 m -287.041 324.3896 292.3398 325.3398 v -S -*U -0 O -0.701961 g -1 w 4 M -196.5801 278.54 m -216.4209 275 221.2998 276.8594 v -230.9409 276.7588 221.7798 274.46 v -207.6201 274.5586 198.7402 275.8994 v -186.0605 282.0391 196.5801 278.54 v -F -0.011765 0 0.239216 0 k -211.9399 381.0195 m -231.3799 381.0391 233.54 380.0596 v -241.501 346.2803 237.6201 337.8193 v -236.2207 334.8389 233.0601 340.9395 v -212.8999 377.0791 209.2998 379.3398 v -205.8608 381.4805 210.7017 381.0391 211.9399 381.0195 c -F -0 R -0 G -0.550001 w 10 M -211.9399 381.0195 m -231.3799 381.0391 233.54 380.0596 v -241.501 346.2803 237.6201 337.8193 v -236.2207 334.8389 233.0601 340.9395 v -212.8999 377.0791 209.2998 379.3398 v -205.8608 381.4805 210.7017 381.0391 211.9399 381.0195 c -211.9399 381.0195 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -127.2197 383.8994 m -137 382.1406 150.98 379.3398 v -156.1401 354.6387 159.6201 349.3398 v -163.1816 344.0791 159.2217 344.0791 155.2998 347.1797 c -151.3018 350.2393 135.02 365.6406 132.7402 370.46 c -130.6206 375.3193 127.2197 383.8994 y -F -0 R -0 G -0.550001 w 10 M -127.2197 383.8994 m -137 382.1406 150.98 379.3398 v -156.1401 354.6387 159.6201 349.3398 v -163.1816 344.0791 159.2217 344.0791 155.2998 347.1797 c -151.3018 350.2393 135.02 365.6406 132.7402 370.46 c -130.6206 375.3193 127.2197 383.8994 y -127.2197 383.8994 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -151.2197 379.0996 m -157.6377 377.3379 158.6602 375.0195 v -159.855 372.4658 157.46 368.7803 y -156.3247 365.2041 155.0601 367.5801 v -153.6802 369.9629 150.5215 378.3867 151.2197 379.0996 c -F -0 R -0 G -0.550001 w 10 M -151.2197 379.0996 m -157.6377 377.3379 158.6602 375.0195 v -159.855 372.4658 157.46 368.7803 y -156.3247 365.2041 155.0601 367.5801 v -153.6802 369.9629 150.5215 378.3867 151.2197 379.0996 c -151.2197 379.0996 l -s -0 O -0 g -1 w 4 M -151.2197 379.3398 m -155.2617 373.5586 159.1401 373.5801 v -163.1816 373.5586 163.6016 374.0146 166.8198 373.3398 c -171.7617 372.2402 171.3198 374.4385 178.5801 373.0996 c -181.4839 372.5908 184.3018 373.5586 187.46 372.1396 c -190.46 370.9209 193.981 371.7988 195.3799 374.0596 c -196.6206 376.2002 201.8599 380.7803 y -187.8198 378.8408 184.8198 377.8994 v -160.1001 376.6396 151.2197 379.3398 v -F -0.011765 0 0.239216 0 k -200.4199 379.0996 m -193.2656 375.209 192.7402 372.6201 v -192.3848 369.9297 198.5 365.8994 y -201.625 360.7998 202.3398 363.5 v -202.9448 366.0801 201.2407 378.6201 200.4199 379.0996 c -F -0 R -0 G -0.550001 w 10 M -200.4199 379.0996 m -193.2656 375.209 192.7402 372.6201 v -192.3848 369.9297 198.5 365.8994 y -201.625 360.7998 202.3398 363.5 v -202.9448 366.0801 201.2407 378.6201 200.4199 379.0996 c -200.4199 379.0996 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -159.1401 373.0996 m -166.8345 360.7422 167.0601 373.0996 v -167.6865 374.458 165.8599 374.54 v -159.0679 374.5664 160.7407 379.0781 159.1401 373.0996 c -F -0 R -0 G -0.550001 w 10 M -159.1401 373.0996 m -166.8345 360.7422 167.0601 373.0996 v -167.6865 374.458 165.8599 374.54 v -159.0679 374.5664 160.7407 379.0781 159.1401 373.0996 c -159.1401 373.0996 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -167.0601 372.8594 m -175.7358 360.4707 174.98 372.8594 v -175.0449 373.2441 173.0601 373.3398 v -167.8926 373.8682 168.272 378.8359 167.0601 372.8594 c -F -0 R -0 G -0.550001 w 10 M -167.0601 372.8594 m -175.7358 360.4707 174.98 372.8594 v -175.0449 373.2441 173.0601 373.3398 v -167.8926 373.8682 168.272 378.8359 167.0601 372.8594 c -167.0601 372.8594 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -174.98 372.8594 m -183.7134 361.0762 182.8999 371.6602 v -183.1089 373.0664 181.2197 373.3398 v -177.0078 374.1729 176.7754 377.7461 174.98 372.8594 c -F -0 R -0 G -0.550001 w 10 M -174.98 372.8594 m -183.7134 361.0762 182.8999 371.6602 v -183.1089 373.0664 181.2197 373.3398 v -177.0078 374.1729 176.7754 377.7461 174.98 372.8594 c -174.98 372.8594 l -s -0 O -0.011765 0 0.239216 0 k -1 w 4 M -182.4199 372.6201 m -191.2109 359.9619 191.54 370.7002 v -193.4023 372.2354 191.54 372.3799 v -185.0815 373.2939 185.96 378.1953 182.4199 372.6201 c -F -0 R -0 G -0.550001 w 10 M -182.4199 372.6201 m -191.2109 359.9619 191.54 370.7002 v -193.4023 372.2354 191.54 372.3799 v -185.0815 373.2939 185.96 378.1953 182.4199 372.6201 c -182.4199 372.6201 l -s -0 O -0.105882 0.031373 0.356863 0 k -1 w 4 M -142.8198 368.7803 m -134.4199 370.46 l -131.4463 375.9795 129.1401 382.7002 y -136.1216 381.6465 149.7798 378.6201 v -150.8335 374.9141 152.4199 368.54 v -142.8198 368.7803 l -F -214.3398 373.8193 m -212.4702 376.6807 211.0229 378.6152 210.2598 379.0996 c -206.9937 381.1328 211.5513 380.7178 212.8999 380.7803 c -231.02 380.7178 233.0601 379.8193 v -233.6694 377.4219 234.5 373.5801 v -223.3232 375.9033 214.3398 373.8193 v -F -0.164706 0.627451 1 0.031373 k -273.3799 525.9795 m -303.7617 521.5303 331.832 560.7363 333.8594 571.3398 c -335.7051 582.0322 324.5 595.0996 y -326.0264 598.4883 320.7012 613.9756 314.9004 624.1396 c -309.085 634.3057 291.5938 633.2334 272.4199 634.2197 c -254.876 635.2734 234.5479 609.6201 233.0601 607.5801 c -231.644 605.749 238.4214 563.6406 239.7798 557.4199 c -241.3232 551.0547 238.3398 521.8994 y -276.085 532.0254 242.7754 530.2441 273.3799 525.9795 c -F -0.047059 0.517647 0.756863 0 k -233.7798 606.8594 m -232.4722 605.0713 239.125 563.7266 240.5 557.6602 c -241.9761 551.3721 239.0601 522.8594 y -275.0649 532.6279 243.4014 530.9385 273.3799 526.7002 c -303.2769 522.3848 330.8379 560.876 332.6602 571.3398 c -334.6406 581.7871 323.7793 594.6201 y -325.1357 597.9434 319.9082 613.1504 314.1797 623.1797 c -308.5039 633.1084 291.332 632.0547 272.4199 633.0195 c -255.2817 634.0586 235.3232 608.873 233.7798 606.8594 c -F -0.035294 0.372549 0.533333 0 k -234.7402 606.1396 m -233.2998 604.3926 239.8281 563.8154 241.2197 557.6602 c -242.6265 551.6885 239.7798 523.8193 y -274.3735 533.7822 244.0254 531.6338 273.3799 527.4199 c -302.792 523.2393 329.8447 561.0176 331.7002 571.3398 c -333.5762 581.54 322.8203 594.1396 y -324.248 597.3965 319.1172 612.3223 313.46 622.2197 c -307.9238 631.9111 291.0703 630.8789 272.4199 631.8193 c -255.6846 632.8447 236.0981 608.124 234.7402 606.1396 c -F -0.023529 0.239216 0.32549 0 k -235.46 605.6602 m -234.1255 603.7158 240.5313 563.9043 241.9399 557.8994 c -243.2769 552.0049 240.5 524.54 y -272.9121 534.4951 244.6494 532.3301 273.3799 528.1396 c -302.3096 524.0938 328.8516 561.1563 330.7402 571.3398 c -332.5117 581.293 322.0996 593.6602 y -323.3594 596.8516 318.3242 611.4941 312.7402 621.0195 c -307.3418 630.7129 290.8066 629.7002 272.6602 630.6201 c -256.0903 631.6299 236.8711 607.376 235.46 605.6602 c -F -0.011765 0.109804 0.137255 0 k -236.1802 604.9395 m -234.9536 603.0391 241.2368 563.9912 242.6602 558.1396 c -243.9297 552.3223 241.2197 525.5 y -271.8921 535.208 245.2759 533.0234 273.6201 529.0996 c -301.8247 524.9453 327.8555 561.2979 329.54 571.0996 c -331.4453 581.0479 321.1406 593.1797 y -322.4697 596.3066 317.5332 610.6689 312.2598 620.0596 c -306.7617 629.5186 290.5449 628.5244 272.6602 629.4199 c -256.4961 630.416 237.6465 606.6289 236.1802 604.9395 c -F -1 g -273.6201 529.8193 m -301.3398 525.7998 326.8613 561.4395 328.5801 571.0996 c -330.3828 580.8008 320.1797 592.7002 y -321.582 595.7598 316.7402 609.8408 311.54 619.0996 c -306.1807 628.3203 290.2808 627.3457 272.6602 628.2197 c -256.9014 629.2012 238.4214 605.8809 237.1401 604.2197 c -235.7817 602.3594 241.9399 564.0801 243.3799 558.3799 c -244.5801 552.6416 241.9399 526.2197 y -269.9912 535.7002 245.8999 533.7197 273.6201 529.8193 c -F -0.8 g -324.7402 567.2598 m -294.0801 558.7998 281.2998 560.54 v -263.9409 567.8213 254.1802 543.7393 v -250.3018 535.9209 248.1802 533.6602 v -245.8999 531.5215 324.7402 567.2598 y -F -0 g -328.8203 569.6602 m -296.9409 556.1602 285.8599 556.7002 v -267.9009 561.6602 258.7402 545.6602 v -249.4209 535.4814 246.02 533.6602 v -245.4609 531.9609 252.5 536.2998 v -264.02 530.54 l -280.2197 520.0801 290.8999 537.7393 v -295.1816 550.001 295.2197 552.1396 v -295.1816 554.4004 318.5 560.5615 320.1797 561.0195 c -322.0205 561.4395 329.2813 566.0596 328.8203 569.6602 c -F -0.45098 0 1 0 k -276.7402 530.0596 m -269.1416 530.0762 259.9302 534.3271 259.9399 541.0996 c -259.9302 548.0742 269.1416 554.9648 276.7402 555.0195 c -284.2617 554.9648 290.3911 549.3945 290.4199 542.54 c -290.3911 535.6465 284.2617 530.0762 276.7402 530.0596 c -F -0.658824 0.2 1 0.039216 k -272.6602 548.54 m -267.3848 547.6328 261.7881 545.9814 261.8599 546.1396 c -263.5591 551.2998 270.5576 554.9648 276.7402 555.0195 c -281.4248 554.9648 285.5938 552.79 288.02 549.5 c -282.2046 549.8408 272.6602 548.54 v -F -1 g -285.8599 548.7793 m -281.1006 552.2002 281.0601 549.7393 v -285.0605 544.9395 285.8599 548.7793 v -F -0 g -275.0601 539.6602 m -272.1919 539.7412 269.9624 541.9707 270.02 544.7002 c -269.9624 547.4697 272.1919 549.6992 275.0601 549.7393 c -277.6904 549.6992 279.9199 547.4697 279.8599 544.7002 c -279.9199 541.9707 277.6904 539.7412 275.0601 539.6602 c -F -0.164706 0.627451 1 0.031373 k -160.5801 554.2998 m -157.0205 577.7217 159.6201 582.6201 v -171.541 593.5615 171.1401 597.5 v -170.6602 617.3213 169.46 618.1396 v -168.02 619.0801 159.6606 625.6807 153.1401 618.6201 c -141.6201 598.8418 142.5801 591.7393 v -142.5801 589.5801 l -134.1416 590.04 132.5 587.8994 v -131.0601 582.1201 129.8599 581.6602 v -126.6606 579.041 128.8999 575.8994 v -126.6606 573.3193 127.2197 568.9395 v -135.3799 564.6201 l -137.6602 548.6816 149.54 543.0195 v -154.8608 540.3994 158.3408 547.8008 160.5801 554.2998 c -F -1 g -159.3799 556.46 m -156.272 577.4121 158.6602 581.6602 v -169.3398 591.668 168.98 595.3398 v -168.5479 613.0518 167.2998 613.8193 v -166.1719 614.6357 158.6479 620.5752 152.6602 614.2998 c -142.4121 596.4199 143.2998 590.0596 v -143.2998 588.1396 l -135.6802 588.5 134.1802 586.46 v -132.9082 581.3721 131.7798 580.9395 v -128.9478 578.5996 130.8198 575.8994 v -128.9478 573.4521 129.3799 569.4199 v -136.8198 565.5801 l -138.8481 551.2754 149.54 546.1396 v -154.3281 543.8232 157.46 550.4863 159.3799 556.46 c -F -0.043137 0.478431 0.701961 0 k -168.7402 617.1797 m -167.6455 618.0576 159.4063 624.4063 152.8999 617.6602 c -141.8193 598.2363 142.5801 591.2598 v -142.5801 589.3398 l -134.5254 589.6563 132.7402 587.4199 v -131.5229 581.9336 130.3398 581.4199 v -127.2319 578.9307 129.3799 575.8994 v -127.2319 573.3535 127.7002 569.1797 v -135.8599 564.8594 l -137.9575 549.3291 149.54 543.7393 v -154.7266 541.2559 158.1201 548.4697 160.3398 555.0195 c -156.8335 577.6445 159.3799 582.3799 v -170.9912 593.0889 170.6602 597.0195 v -170.1318 616.2529 168.7402 617.1797 v -F -0.027451 0.305882 0.423529 0 k -168.2598 615.9795 m -167.271 617.0332 159.1543 623.1289 152.8999 616.46 c -142.0161 597.6318 142.8198 591.0195 v -142.8198 588.8594 l -134.9097 589.2705 133.2197 587.1797 v -131.9839 581.7461 130.8198 581.4199 v -127.8032 578.8203 129.8599 575.8994 v -127.8032 573.3867 128.1802 569.1797 v -136.1001 565.0996 l -138.2554 549.9795 149.54 544.46 v -154.5942 542.1104 157.9014 549.1426 160.1001 555.5 c -156.6465 577.5674 159.1401 582.1396 v -170.4414 592.6133 169.9399 596.2998 v -169.604 615.1875 168.2598 615.9795 v -F -0.015686 0.141176 0.184314 0 k -167.7798 615.0195 m -166.8994 616.0107 158.8999 621.8525 152.8999 615.2598 c -142.2153 597.0244 143.0601 590.54 v -143.0601 588.3799 l -135.2959 588.8857 133.7002 586.9395 v -132.4473 581.5586 131.2998 581.1797 v -128.377 578.71 130.3398 575.8994 v -128.377 573.4209 128.8999 569.4199 v -136.5801 565.3398 l -138.5503 550.6279 149.54 545.4199 v -154.46 542.9668 157.6807 549.8145 159.6201 555.9795 c -156.459 577.4912 158.8999 581.8994 v -169.8896 592.1426 169.46 595.8193 v -169.0762 614.1201 167.7798 615.0195 v -F -1 g -159.3799 556.46 m -156.272 577.4121 158.6602 581.6602 v -169.3398 591.668 168.98 595.3398 v -168.5479 613.0518 167.2998 613.8193 v -166.5249 614.9883 158.6479 620.5752 152.6602 614.2998 c -142.4121 596.4199 143.2998 590.0596 v -143.2998 588.1396 l -135.6802 588.5 134.1802 586.46 v -132.9082 581.3721 131.7798 580.9395 v -128.9478 578.5996 130.8198 575.8994 v -128.9478 573.4521 129.3799 569.4199 v -136.8198 565.5801 l -138.8481 551.2754 149.54 546.1396 v -154.3281 543.8232 157.46 550.5938 159.3799 556.46 c -F -0.8 g -156.02 563.4199 m -132.2695 574.6396 131.2998 575.4199 v -141.291 566.501 142.1001 566.54 v -143.0503 566.501 156.02 563.4199 y -F -0 g -137.2998 570.1396 m -157.46 566.2803 157.46 561.5 v -157.46 558.2383 157.1934 543.4756 151.2197 545.1797 c -142.0615 547.8008 146.0215 563.6406 137.2998 570.1396 c -F -0.45098 0 1 0 k -146.4199 566.0596 m -156.3369 564.4395 157.46 561.5 v -158.1201 559.6807 158.8496 550.541 152.8999 549.2598 c -147.8335 548.3379 145.3809 559.582 146.4199 566.0596 c -F -0 g -240.98 519.2598 m -240.5098 521.1729 241.9497 521.0283 243.8599 521.6602 c -246.1206 522.2813 259.5415 526.46 260.4199 529.3398 c -261.3008 532.1816 275.7798 527.4199 y -277.8008 526.46 282.7402 523.5801 y -287.9214 522.2813 295.2197 521.8994 y -297.8218 520.7402 301.46 517.5801 y -317.6211 506.4414 331.2197 514.46 y -353.2617 521.6211 346.5801 540.6201 y -343.3613 550.4404 346.8203 554.2998 y -347.1006 558.3604 354.9805 551.4199 y -357.8818 546.7012 358.8203 541.0996 y -367.5605 528.8818 363.8594 548.54 y -364.043 549.5596 360.9609 553.5195 360.9805 554.7793 c -360.9609 556.1602 359.0605 559.8193 y -355.6807 563.6406 358.3398 571.3398 y -360.3008 586.5195 357.8594 584.54 y -356.5615 586.5195 346.3398 575.4199 y -344.0215 571.7813 337.46 570.1396 y -334.3418 568.04 330.5 569.6602 y -327.7422 570.0195 321.6201 562.2197 y -324.6602 562.541 327.3008 557.7002 330.0195 557.4199 c -332.5801 557.2617 334.5605 560.1201 336.2598 560.7793 c -338.082 561.4395 341.0605 555.0195 y -341.6025 552.2002 335.54 546.8594 y -335.002 541.8604 333.1406 543.7393 y -329.9414 544.2793 328.6211 540.1016 327.6201 535.0996 c -326.4219 529.9805 321.8594 529.5801 y -320.041 521.4004 318.7402 524.7793 y -318.5 530.8613 312.0195 524.54 y -310.5801 522.2813 305.54 524.7793 y -298.04 526.9014 300.7402 529.0996 y -302.6602 531.5215 314.9004 529.0996 y -317.4004 530.8613 308.6602 535.3398 y -307.9395 537.2402 309.1406 542.0596 y -310.3613 545.5996 317.7793 551.6602 y -328.1816 553.0801 325.2197 554.7793 y -318.2813 560.5615 312.0195 552.1396 y -309.4805 545.3818 290.4199 528.8594 y -285.0605 525.1396 287.9214 532.6201 283.46 528.8594 c -279.1206 525.1396 256.5801 535.0996 y -243.7422 536.3525 240.7373 519.0361 236.8999 522.3799 c -242.8135 513.0967 240.98 519.2598 v -F -455.2998 702.1396 m -427.1816 693.4395 424.0996 672.8594 v -421.4629 647.6816 444.0195 628.2197 v -444.3418 621.2813 446.6602 617.6602 v -444.7813 612.4805 465.3799 620.7793 v -495.3799 630.1396 l -502.4219 632.7197 508.0996 642.3799 v -513.8623 652.0801 530.5801 672.7617 526.5801 700.46 c -527.9414 712.8008 521.2998 713.1797 v -512.1006 715.001 504.2598 706.7002 v -496.7021 703.1211 494.1797 703.5801 v -455.2998 702.1396 l -F -515.54 703.3398 m -517.7334 713.1533 512.4199 707.8994 v -504.668 701.5371 496.3398 701.4199 v -480.4668 699.1162 475.6992 684.6201 v -471.2695 655.0732 480.0195 648.8594 v -485.3047 640.5537 492.9805 647.8994 v -500.7949 655.0732 517.8438 688.3252 515.54 703.3398 c -F -0.2 g -515.0605 702.8594 m -517.3105 712.5537 512.1797 707.4199 v -504.4805 701.1514 496.3398 701.1797 v -480.7207 698.7725 475.9395 684.6201 v -471.6914 655.5293 480.2598 649.3398 v -485.4727 641.2734 492.9805 648.3799 v -500.6797 655.5293 517.3877 688.2051 515.0605 702.8594 c -F -0.4 g -514.5801 702.6201 m -516.8906 711.9561 511.6992 706.9395 v -504.2959 700.7617 496.3398 700.7002 v -480.9746 698.4297 476.4199 684.3799 v -472.1143 655.9873 480.5 649.8193 v -485.6387 641.9961 493.2197 649.0996 v -500.5664 655.9873 516.9346 688.083 514.5801 702.6201 c -F -0.6 g -514.0996 702.1396 m -516.4668 711.3584 511.46 706.2197 v -504.1113 700.376 496.3398 700.46 v -481.2324 698.0859 476.6602 684.3799 v -472.5371 656.4463 480.7402 650.54 v -485.8066 642.7178 493.2197 649.5801 v -500.4512 656.4463 516.4785 687.9629 514.0996 702.1396 c -F -0.8 g -513.8594 701.6602 m -516.0469 710.7578 511.2197 705.7393 v -503.9258 699.9893 496.3398 699.9795 v -481.4863 697.7432 476.9004 684.3799 v -472.959 656.9043 480.9805 651.0195 v -485.9746 643.4385 493.2197 650.0596 v -500.3359 656.9043 516.0225 687.8428 513.8594 701.6602 c -F -1 g -513.3799 701.4199 m -515.6211 710.1602 510.7402 705.2598 v -503.7422 699.6006 496.3398 699.5 v -481.7402 697.3994 477.3799 684.1396 v -473.3809 657.3604 481.2197 651.7393 v -486.1426 644.1602 493.2197 650.7793 v -500.2207 657.3604 515.5664 687.7207 513.3799 701.4199 c -F -0.254902 0.941176 1 0.243137 k -280.5801 477.7402 m -258.2217 498.9609 249.3799 499.8193 v -211.5801 504.2402 195.3799 484.46 v -214.6616 506.8809 245.0601 500.7803 v -221.2617 505.5605 207.6201 501.9795 v -189.1401 502.04 178.5801 486.6201 v -175.46 481.3398 l -179.8999 497.6406 200.1802 504.1396 v -225.2217 509.5205 237.1401 504.1396 v -213.3418 511.7217 202.3398 509.4199 v -168.9009 512.1602 154.8198 483.0195 v -159.2217 498.9609 175.46 506.7803 v -190.46 516.5596 212.8999 513.5 v -228.7402 509.96 234.5 507.2598 v -240.1807 504.6797 238.8608 507.7617 229.7002 513.0195 c -223.46 524.041 208.1001 523.5801 v -160.981 519.6416 149.54 506.54 v -164.5015 518.7607 175.9399 521.8994 v -200.5806 530.6406 209.7798 529.8193 v -237.1016 528.6602 245.54 533.1797 v -233.1416 527.5615 236.6602 524.0596 v -240.1807 520.5195 247.6616 512.1602 247.7002 510.8594 c -247.6616 509.5205 274.2798 485.2109 278.1802 480.3799 c -280.5801 477.7402 l -F -0.8 g -432.9805 264.3799 m -415.8516 304.5918 402.0195 315.0195 v -430.7002 297.4395 434.6602 277.5801 v -434.5498 266.6406 432.9805 264.3799 v -F -484.5801 256.2197 m -455.4512 316.6904 435.1406 343.0996 v -482.9502 301.8418 488.4199 272.7803 v -488.9004 266.54 l -485.7793 269.4199 l -485.1514 259.4912 484.5801 256.2197 v -F -546.7402 309.5 m -478.002 374.9912 476.4199 377.6602 v -542.9004 305.1416 546.2598 296.7803 v -544.002 306.79 546.7402 309.5 v -F -339.3799 261.7393 m -360.8506 318.8906 381.8594 294.1396 v -398.25 283.1406 397.7002 279.7393 v -393.3008 286.9902 373.46 286.46 v -352.6016 289.7402 339.3799 261.7393 v -F -548.9004 401.8994 m -499.4502 433.292 491.2998 435.0195 v -478.2129 437.5371 545.6504 403.04 551.0605 391.5801 c -553.3496 394.2412 548.9004 401.8994 v -F -0 g -383.2998 284.7803 m -405.623 286.8799 413.0605 294.3799 v -417.8594 290.2998 l -437.2998 332.54 l -441.3799 327.0195 l -457.1025 343.2002 456.2598 351.9795 v -455.3408 360.7998 470.4199 345.5 y -469.4219 358.1602 477.3799 350.7803 v -474.7012 367.8389 483.8594 358.9395 v -472.3496 392.2139 497.0605 363.9795 v -503.3027 356.8398 498.5 364.2197 y -469.8613 417.1201 493.7002 401.1797 v -495.8213 426.3584 494.4199 431.1797 v -493.1816 436.04 490.9805 460.6807 485.7793 466.46 c -480.4209 472.1211 486.1426 473.8809 492.2598 468.1396 c -479.9814 494.5615 494.4199 481.3398 v -490.541 498.0801 485.7793 501.2598 v -479.543 520.0811 496.3398 508.2197 v -491.4219 521.8398 487.9395 525.2598 v -475.1406 555.7207 483.1406 550.46 v -487.9395 546.3799 l -480.4209 561.8818 487.46 556.9395 v -494.502 552.2002 494.4199 552.6201 y -471.1807 589.1602 493.7002 569.8994 v -484.6465 585.1113 480.9805 592.7002 v -460.1816 615.1201 475.9395 608.0596 v -481.2197 606.3799 l -471.623 617.3213 462.7402 619.0996 v -454.0205 620.8398 465.4609 627.8818 472.5801 625.5801 c -479.543 623.4795 496.8203 615.0195 y -510.7813 594.4395 515.2998 593.8994 v -493.1816 602.3594 499.7002 593.6602 v -515.6211 578.1602 507.6201 578.54 v -501.1016 570.6797 506.4199 561.0195 v -486.0752 581.2305 502.3398 553.0996 v -510.0195 535.0996 l -483.0605 562.3203 495.3799 538.2197 v -514.3018 512.1602 516.5 511.8193 v -518.7012 511.2803 523.46 501.5 y -518.6602 503.8994 l -524.4199 494.0596 l -512.1006 507.3193 518.6602 492.8594 v -524.9004 477.0195 l -502.4219 501.1611 517.46 468.6201 v -499.3418 474.3193 509.0605 455.4199 v -507.2617 437.7988 507.6201 432.1396 v -508.1406 426.3584 509.4609 395.1201 504.7402 386.2998 c -499.7813 377.5205 511.2227 356.4004 513.3799 351.9795 c -515.6211 347.5996 519.582 335.7197 510.0195 345.7393 c -500.2207 355.959 505.0615 349.8008 507.3799 340.2197 c -509.4609 330.4395 516.0605 313.2803 515.2998 307.0996 c -513.8623 305.7988 510.2598 309.7393 v -494.0625 334.8389 495.8594 319.0996 v -494.502 310.2002 491.0605 300.6201 v -487.4629 288.6387 487.46 298.2197 v -483.9414 316.8008 480.9805 308.54 v -477.7813 300.0801 473.8203 293.4795 470.6602 290.7803 c -467.6621 288.2002 461.9414 313.2803 460.5801 301.8193 c -447.4209 315.4805 442.0996 297.5 v -429.3799 279.5 l -428.9414 293.04 427.7002 286.46 v -394.6211 279.8408 383.2998 284.7803 v -F -345.3799 677.1797 m -332.5801 685.9609 328.0996 685.5801 v -323.7822 685.0801 358.541 695.2012 403.9395 664.9395 c -409.1406 661.7598 413.0605 662.2998 v -416.6211 659.5615 413.54 655.5801 v -403.8613 645.041 416.1797 632.7793 v -436.4219 625.2412 430.3398 634.9395 v -442.1406 630.5215 444.7402 626.0596 v -447.4209 621.7207 446.1797 626.0596 y -439.0615 634.04 432.5 639.7393 v -426.7422 641.96 423.6201 651.2598 v -420.582 660.4395 417.9414 671.4414 422.9004 675.0195 c -418.3809 670.1211 419.2998 674.54 v -420.1426 678.9199 424.1025 682.8799 425.7793 683.4199 c -427.6211 683.7607 445.6621 701.1416 453.1406 701.6602 c -443.0215 700.04 439.7002 701.1797 v -436.4219 702.2402 407.1602 714.7803 400.5801 716.0596 c -382.0801 723.3604 395.2998 721.0996 v -434.6621 716.9814 454.5801 702.3799 v -446.7607 711.7012 426.5 719.4199 v -402.1016 733.2607 363.3799 727.8193 v -343.8008 724.2412 335.2998 722.2998 v -332.3623 722.9209 331.7002 723.2598 v -331.043 723.7998 318.0605 733.7002 287.7798 725.8994 c -269 720.9414 259.46 715.5801 v -242.8208 714.3408 238.8198 710.7793 v -218.4009 694.7598 216.2598 693.9795 v -214.0015 693.001 201.4614 684.6416 200.6602 684.1396 c -227.6406 691.46 230.1802 694.2197 v -232.9209 696.7393 252.0605 699.6006 254.6602 698.0596 c -257.3408 696.5215 266.5806 697.1816 256.1001 696.6201 c -339.1807 680.2393 340.0996 678.1396 v -340.9424 675.8408 345.3799 677.1797 y -F -0.164706 0.627451 1 0.031373 k -423.8594 687.2598 m -412.6621 695.4199 410.4199 695.4199 v -408.2617 695.4199 394.6211 706.6396 390.0195 706.2197 c -385.3809 705.7617 371.9629 716.7607 341.7793 707.6602 c -341.1602 709.9395 345.1406 710.7793 v -352.1621 713.2393 352.5801 713.8994 v -374.8203 718.5195 382.8203 714.6201 v -392.8613 711.7012 399.6201 704.7793 v -412.002 701.3594 415.46 702.3799 v -425.2012 700.04 425.54 698.0596 v -432.0225 694.7598 430.0996 691.8193 v -430.4814 690.1396 423.8594 687.2598 v -F -410.1797 689.6602 m -411.0508 688.9063 412.1719 688.7979 412.8203 687.9795 c -413.0938 687.5625 412.7773 687.2041 412.3398 687.0195 c -411.2842 686.749 410.123 687.375 408.9805 686.7793 c -408.4238 686.501 407.7178 686.7002 407.0605 686.7793 c -405.3125 687.3506 403.3018 687.377 401.54 686.54 c -399.2578 687.8623 396.6631 687.2217 394.3398 688.2197 c -394.3086 688.3516 394.0645 687.9697 394.0996 687.9795 c -390.6318 689.2588 386.5156 688.9492 383.7793 691.5801 c -381.1709 691.9131 378.5762 692.4219 375.8594 693.2598 c -373.9063 693.7305 372.3584 694.8174 370.5801 695.6602 c -369.0605 696.5117 367.457 697.085 365.7793 697.5801 c -363.7207 697.9922 361.707 697.8701 359.54 698.54 c -359.5234 698.4678 359.3125 698.0908 359.2998 698.0596 c -358.8652 698.2393 358.5469 698.8809 358.3398 698.7793 c -356.5088 698.2471 354.8721 699.3174 353.0605 699.0195 c -351.7441 700.2871 349.8438 700.0186 348.2598 700.46 c -344.8828 701.4365 341.415 700.04 338.1797 701.1797 c -342.6055 703.167 347.7607 701.8105 352.3398 704.0596 c -354.791 705.3916 357.7188 704.1797 360.5 705.0195 c -361.0801 705.1729 361.8418 705.3965 362.1797 704.7793 c -362.4297 704.8086 362.6289 705.0723 362.6602 705.0195 c -365.3887 703.7695 367.9355 702.3682 370.5801 701.1797 c -371.0391 701.0332 371.627 701.29 372.0195 701.1797 c -373.5752 699.7305 375.7109 699.8428 377.2998 698.54 c -379.1094 699.0537 381.082 698.6338 383.0605 699.2598 c -383.0693 699.3506 383.3262 698.9766 383.2998 699.0195 c -384.6055 699.8232 385.875 699.5264 386.9004 699.2598 c -387.2285 699.0625 387.959 698.792 388.3398 698.7793 c -389.5303 698.4072 390.4736 697.8799 391.7002 697.5801 c -391.8965 697.6592 392.0986 698.0332 392.1797 698.0596 c -393.4141 697.5195 394.5586 697.5801 395.2998 696.3799 c -395.4297 696.4492 395.6113 696.7109 395.7793 696.6201 c -396.8311 696.3105 397.5469 695.4795 398.6602 695.1797 c -399.291 695.0977 399.9629 694.4092 400.5801 694.2197 c -403.2266 693.4111 405.2559 691.7285 407.7793 690.8594 c -408.5049 690.4033 409.4668 690.1465 410.1797 689.6602 c -F -325.9395 705.2598 m -323.0957 707.1514 320.4922 708.3682 317.7793 710.2998 c -317.6055 710.4795 317.2109 710.29 317.0605 710.54 c -315.8789 711.0967 314.9043 711.7354 313.9395 712.46 c -313.2295 712.9209 312.3271 712.9082 311.7793 713.1797 c -308.9697 714.6123 306.0776 715.2266 303.3799 716.54 c -304.0713 717.2432 305.3047 716.9736 306.02 717.9795 c -306.1733 717.5527 306.4351 717.2402 306.7402 717.5 c -308.6699 718.4453 310.7051 718.6133 312.5 718.46 c -314.4248 718.4121 316.3164 718.0781 318.2598 717.7393 c -318.6055 717.7275 318.8242 717.1514 319.2197 717.0195 c -321.6318 716.3145 324.2598 716.8926 326.6602 716.0596 c -328.3398 715.2793 330.0684 714.375 331.46 712.9395 c -331.707 712.6855 331.3496 712.3545 330.9805 712.2197 c -331.4697 712.2607 331.7695 712.0352 331.9395 711.7393 c -331.9834 711.4277 331.9834 711.0938 331.9395 710.7793 c -331.7676 710.4893 331.46 710.377 330.9805 710.2998 c -329.502 710.1123 331.4502 711.6289 330.7402 711.0195 c -329.2813 710.2422 330.1016 708.6963 329.2998 707.4199 c -328.9736 707.5137 328.7217 707.7529 328.8203 708.1396 c -329.0977 707.6064 328.4355 707.2881 328.3398 706.9395 c -327.8281 706.1426 326.8398 704.585 325.9395 705.2598 c -F -290.1802 697.0996 m -286.6494 698.043 283.2944 697.918 279.8599 699.2598 c -279.9033 699.3535 279.6582 698.9697 279.6201 699.0195 c -278.084 699.6533 277.0737 700.7168 275.7798 701.8994 c -274.8872 702.8428 273.063 702.418 271.7002 702.8594 c -271.3042 703.0898 271.0806 703.6514 270.7402 703.5801 c -269.4102 703.8682 268.3906 704.9121 267.1401 705.5 c -269.811 706.4141 272.4629 706.3809 275.0601 706.7002 c -275.2949 706.8242 275.4536 706.4697 275.54 706.46 c -275.751 706.4697 275.8926 706.7119 276.02 706.9395 c -276.2554 706.5537 276.5864 706.1934 276.98 706.46 c -277.4722 707.0674 278.084 706.8584 278.6602 706.7002 c -278.835 706.8027 278.9746 706.4697 279.1401 706.46 c -279.2695 706.4697 279.4136 706.8125 279.6201 706.7002 c -279.7109 706.8105 279.855 706.4697 280.1001 706.46 c -280.1504 706.4697 280.292 706.7119 280.3398 706.9395 c -281.2017 706.001 282.1733 706.6113 282.98 706.46 c -284.2207 706.165 284.5137 704.8994 285.6201 704.54 c -290.8833 703.1377 295.4336 700.7793 300.2598 698.54 c -300.5693 698.3213 300.7998 698.0479 300.7402 697.5801 c -300.9751 697.6201 301.3184 697.7168 301.46 697.5801 c -302.6914 696.7666 303.8359 696.1641 304.5801 694.9395 c -304.8418 694.585 304.479 694.1357 304.3398 694.2197 c -299.3506 695.2881 294.9438 695.9551 290.1802 697.0996 c -F -274.8198 648.6201 m -273.1206 649.8799 272.4775 652.1113 271.2197 654.1396 c -271.0015 654.4561 271.3042 654.8047 271.7002 654.8594 c -272.2686 655.0752 272.8662 654.5498 273.3799 654.3799 c -275.2354 653.3789 276.9248 652.0137 279.1401 651.9795 c -281.3096 649.4043 285.9941 648.9795 286.1001 645.2598 c -286.0039 644.3164 284.4321 645.3242 283.9399 644.2998 c -281.2642 645.4834 278.6357 645.3701 276.02 646.9395 c -275.3384 647.4033 275.7031 647.9023 274.8198 648.6201 c -F -244.5801 706.46 m -244.729 706.3711 252.4614 706.1143 252.5 705.9795 c -252.3945 705.6514 243.8911 704.4971 243.3799 704.7793 c -243.3105 704.7676 235.0474 702.0938 234.98 702.1396 c -235.1934 702.3896 244.2871 706.373 244.5801 706.46 c -F -0 g -261.6201 695.6602 m -245.2402 693.6602 240.5 692.2998 v -235.5605 691.0205 215.1006 682.6611 211.7002 680.54 c -197.0601 674.5205 178.3398 652.46 v -186.7207 656.2617 189.1401 659.4199 v -204.1016 673.2002 203.7798 670.46 v -217.3018 679.8008 216.7402 677.4199 v -243.481 689.7002 241.2197 686.2998 v -265.04 691.2412 264.02 688.9395 v -284.6216 684.2002 281.54 683.8994 v -275.1606 682.6611 282.2598 678.6201 v -278.4609 673.8604 272.4199 678.3799 v -266.5806 682.6611 269.8809 680.2393 264.5 679.0996 c -261.5215 678.2598 256.5801 682.7002 v -250.3018 687.7207 240.7402 683.6602 v -206.96 669.9004 204.7402 669.2598 v -200.8018 666.1611 198.2598 662.2998 v -191.7798 657.3604 188.4199 655.8193 v -174.4014 643.0615 173.0601 641.4199 v -169.3398 635.8018 168.5 635.4199 v -175.501 639.54 177.6201 641.6602 v -193.1001 652.7402 198.98 653.6602 v -203.8809 656.9209 204.7402 658.46 v -220.6016 668.5801 225.1401 668.54 v -235.3398 662.8613 238.1001 670.46 v -244.3613 672.54 250.5801 671.1797 v -254.041 674.0811 253.2197 676.46 v -254.9214 678.4805 256.1001 674.2998 v -259.7598 670.3398 264.98 672.6201 v -269.4414 672.7617 267.1401 670.2197 v -262.3999 665.9404 249.3799 665.6602 v -235.7817 665.0596 217.7002 656.7793 v -184.9614 645.2598 174.7402 633.7393 v -167.8018 624.1396 161.7798 622.9395 v -155.48 621.9414 148.8198 613.8193 v -159.6606 620.1797 169.46 620.2998 v -173.96 622.8193 169.7002 618.8594 v -165.8218 610.501 167.54 604.46 v -166.9209 598.8418 166.1001 597.0195 v -157.46 583.001 157.46 580.46 v -157.46 577.7217 158.7798 566.9404 159.1401 566.2998 c -159.6606 565.6201 158.1201 568.04 162.2598 565.3398 c -166.4814 562.7598 169.5605 561.001 170.4199 557.8994 c -171.3198 554.8398 168.2407 563.8613 168.02 565.8193 c -167.8018 567.8213 163.1816 575.7412 164.1802 578.2998 c -165.1616 577.2793 166.1001 575.6602 v -165.3799 576.4014 166.1001 580.46 v -166.9209 586.0801 168.5 589.5801 v -170 593.1201 172.2007 597.3008 172.5801 598.2197 c -173.0815 599.0596 173.0815 605.4414 174.7402 602.54 c -178.3398 599.6602 l -175.2798 602.5801 177.6201 604.9395 v -176.6001 611.1602 178.5801 614.0596 v -186.2817 623.2617 187.9399 624.3799 v -189.7998 625.46 188.1802 625.0996 y -194.8613 629.6406 188.4199 627.9795 v -184.0806 626.1201 180.7402 626.0596 v -172.4214 623.9209 176.8999 628.46 v -181.2197 633.1611 192.2217 639.1016 196.3398 638.7793 c -197.2998 637.0996 l -209.54 639.7393 l -208.3398 638.7793 l -208.0615 639.1016 212.6602 639.5 v -217.3018 639.9795 223.6807 638.4414 225.1401 640.46 c -226.7598 642.4014 230.5015 643.501 230.1802 641.8994 c -229.6206 640.4209 229.46 638.2998 y -234.9009 644.5996 234.2598 642.1396 v -233.5806 639.7617 224.5615 634.04 222.98 627.2598 c -234.5 636.1396 l -238.3398 639.5 l -242.3818 637.1211 242.6602 638.7793 v -242.8208 640.6396 247.8799 647.0215 249.1401 646.7002 c -250.52 646.5801 252.7207 649.6611 252.5 646.7002 c -252.2817 643.9395 260.6602 638.0596 y -264.1616 639.9795 265.7002 638.54 v -267.2407 636.9004 271.9399 660.1396 y -299.2998 671.8994 l -347.2998 675.7393 l -328.5801 683.1797 l -261.6201 695.6602 l -F -*u -1 D -0 R -0.435294 0.886275 0.8 0.670588 K -1 J 2.2 w 10 M -281.54 476.7803 m -265.04 495.2217 255.8599 498.1396 v -241.0615 505.5605 214.1001 496.9395 v -S -252.2598 499.5801 m -224.5615 508.4209 207.6201 503.8994 v -187.3809 501.6006 178.1001 486.3799 v -S -248.4199 501.0195 m -229.6206 508.8604 213.3799 511.3398 v -195.0801 514.1406 176.8999 506.2998 v -163.3999 499.6201 157.46 488.2998 v -S -249.3799 500.54 m -232.4814 512.5996 231.3799 514.2197 v -223.6807 526.2412 209.2998 526.7002 v -185.8398 525.7998 166.8198 517.0996 v -S -*U -0 D -0 O -0 g -0 J 1 w 4 M -247.9399 510.3799 m -249.6802 508.7842 279.3799 477.0195 y -318.0605 436.7002 287.2998 474.3799 y -278.8999 479.5996 268.8198 500.2998 y -267.4614 503.3594 284.1802 492.3799 y -288.5815 491.4795 303.6201 470.2998 y -296.0601 473 301.46 465.0195 y -304.4214 462.8818 326.9004 445.8193 y -330.8223 441.3193 335.2998 439.5801 y -350.6211 445.2793 343.7002 430.7002 y -346.2227 423.2793 352.3398 435.9795 y -364.7021 454.5195 346.5801 451.8193 y -313.6621 448.8008 306.2598 466.46 y -303.541 469.04 313.2197 466.46 y -322.4629 464.2012 305.2998 480.1396 y -307.9395 480.041 318.0195 472.46 y -329.502 462.4395 331.7002 464.54 y -351.502 474.3193 362.9004 465.9795 y -365.1416 464.2012 358.9805 456.7207 360.7402 451.0996 c -362.502 445.2793 367.7002 431.6602 y -365.1416 429.8789 365.54 417.9795 y -384.0605 392.4795 373.46 394.7002 y -356.3408 395.1201 372.7402 386.7793 y -376.1406 384.5596 385.9395 376.7002 y -382.7402 377.96 380.9004 372.1396 y -386.2617 367.8389 383.2998 362.54 y -376.582 361.2393 375.3799 356.7793 y -382.7402 348.0391 371.7793 347.6602 y -375.7012 342.7588 370.3398 329.6602 y -365.1416 329.5586 358.0996 323.4199 y -360.7422 318.1201 349.2197 311.8994 y -340.0615 310.2002 343.2197 302.7793 y -334.3418 296.1201 331.7002 278.54 y -330.8223 267.0801 328.1816 263.5586 333.8594 265.8193 c -339.623 267.958 338.6602 281.6602 y -333.4609 298.7598 380.6602 316.46 y -384.9414 318.1201 385.9395 323.8994 y -388.0215 323.4004 397.7002 315.0195 y -406.0615 302.7197 406.5801 312.8594 y -407.8203 316.8008 406.0996 323.4199 y -412.6621 347.1582 397.2197 354.1396 y -386.2617 391.1602 401.7793 381.9795 y -404.7422 375.7588 416.6602 369.9795 y -420.5 372.6201 l -418.8223 377.96 428.1797 384.6201 y -431.1416 377.5205 437.7793 386.2998 y -441.7012 413.1582 455.2998 397.3398 y -459.7422 396.001 461.0605 403.5801 y -465.0225 414.9199 461.0605 429.9795 y -465.0225 430.3203 475.7002 423.7393 y -478.6621 427.6807 468.541 446.1582 473.0605 443.4199 c -477.3418 440.8809 482.1797 439.0996 y -483.0605 441.3193 472.0996 454.9395 y -467.2207 458.04 461.54 480.3799 y -469.4219 476.5205 458.4199 493.3398 y -458.4219 496.7598 465.1406 509.1797 y -464.1416 516.5596 465.1406 516.1396 y -468.1016 514.8008 476.9023 513.041 469.46 519.9795 c -461.9414 527.1201 470.4199 532.46 y -475.1406 535.4814 460.0996 535.0996 y -454.4629 539.8809 454.8203 544.2197 y -463.7021 542.0811 447.8623 557.9209 445.2197 561.9795 c -442.582 565.8418 453.1406 571.5801 y -467.6621 575.5205 454.8203 579.0195 y -433.3418 578.5996 445.2197 590.54 y -451.8223 590.04 450.0195 592.7002 y -444.3418 594.001 433.7002 601.0996 y -429.3828 605 433.46 604.2197 y -451.8223 602.8018 420.2598 615.0195 y -428.9414 615.1201 409.2197 626.54 y -406.9424 628.3203 403.46 636.6201 y -396.8223 642.4014 391.46 649.8193 y -391.1025 654.7207 385.9395 659.8994 y -373.0615 674.96 366.9805 674.54 y -350.6211 678.4805 344.9004 677.6602 y -286.8198 672.8594 l -257.7798 658.6807 266.4199 635.6602 y -273.4014 626.3408 283.46 630.6201 y -288.5815 637.3398 301.46 634.9395 y -323.7822 631.3994 320.9004 635.4199 y -318.2813 640.4209 300.4614 647.2393 300.2598 647.8994 c -300.02 648.5596 290.4199 652.2197 y -287.041 653.6211 282.2598 663.7393 y -278.6816 667.4814 296.1802 661.0996 y -294.7402 660.001 302.8999 655.5801 y -322.0205 656.7002 333.6201 644.7793 y -345.5625 626.5615 345.8594 635.6602 y -348.8623 645.9199 335.7793 669.2598 y -336.3223 671.4414 345.3799 664.2197 y -346.8828 666.3799 347.7793 659.8994 y -347.9814 657.3604 352.0996 648.6201 y -355.2422 634.2607 359.2998 642.3799 y -364.3398 632.0596 l -365.8018 629.2012 359.2998 620.7793 y -358.9805 617.7607 359.8613 617.9814 353.7793 609.7393 c -347.543 601.2607 351.3799 596.54 y -349.7402 589.1602 359.54 589.5801 y -362.2813 587.1797 366.0195 587.1797 y -368.002 584.9814 370.5801 585.7393 y -372.4014 589.8193 379.2197 587.6602 y -380.7607 590.2617 389.7793 590.7793 y -390.8809 593.5615 391.3203 595.3203 395.0605 596.0596 c -398.8018 596.6406 371.7793 644.0596 y -378.7813 644.8203 369.8594 658.46 y -367.3418 665.7197 379.8828 649.6611 382.3398 648.1396 c -384.7207 646.5801 385.8223 644.1602 384.0195 644.2998 c -382.3018 644.5996 380.3223 642.1807 381.8594 641.8994 c -383.4004 641.7412 397.7021 625.2412 401.54 614.0596 c -405.1807 602.8018 411.7813 598.3994 418.5801 591.7393 c -425.4219 585.2002 424.5801 558.6201 y -424.1025 548.8994 430.8203 537.2598 y -432.9004 533.0596 428.1797 513.0195 y -426.082 510.6201 427.7002 509.6602 y -428.7227 508.4209 436.0996 493.8193 y -434.2207 494.1201 438.2598 490.2197 y -443.9023 483.5596 436.8203 486.8594 y -430.2607 488.6211 438.0195 477.7393 y -439.2822 475.8604 429.3799 480.8594 y -419.2617 481.5801 432.0195 473.6602 y -441.4805 465.7393 428.9004 470.54 y -423.8809 472.5605 427.46 465.0195 y -430.9209 463.3203 449.7793 455.6602 y -450.2813 451.4404 446.9004 445.8193 y -447.4209 441.54 444.9805 437.8994 y -443.6816 428.7793 443.0605 427.8193 y -438.4014 427.6807 430.3398 412.46 y -428.2813 409.6396 417.1406 396.3799 y -414.8623 388.7402 395.0605 396.6201 y -387.8027 392.9189 390.0195 396.6201 y -389.5615 399.0801 394.8203 405.7393 y -402.541 408.54 399.6201 420.3799 y -404.082 421.959 391.7617 425.04 391.9395 426.3799 c -392.2012 427.6807 398.6602 429.2598 y -407.3809 431.4199 402.5 434.0596 y -401.8809 438.459 405.1406 444.6201 y -417.9414 445.501 405.1406 463.3398 y -393.3008 471.6797 392.1797 477.9795 y -406.0615 487.0801 397.043 500.7197 397.2197 504.6201 c -397.4814 508.6396 398.9004 532.46 y -396.6006 539.2207 393.3799 554.2998 y -395.7227 559.9014 403.9395 573.7393 y -406.9424 578.3818 416.6211 583.6611 414.2598 586.9395 c -411.7813 590.2617 403.2197 588.3799 y -394.6211 589.8193 395.2998 584.0596 y -393.5215 583.001 392.6602 577.5801 y -391.8486 568.7744 382.0996 561.9795 y -369.7617 555.0605 379.9395 550.7002 y -386.4824 543.4014 375.6201 543.2598 y -363.6006 545.1602 372.7402 533.8994 y -384.502 519.8594 381.1406 516.8594 y -369.9824 515.6816 383.7793 505.5801 y -382.9609 507.7617 383.2998 505.8193 v -383.4004 503.8018 386.7012 499.1816 387.6201 496.9395 c -388.4629 494.7793 384.0195 494.54 y -384.7207 484.001 367.7002 488.54 y -367.7813 488.6211 366.0195 488.2998 v -364.2607 488.1797 351.9414 489.0605 345.6201 491.4199 c -339.1807 493.9014 331.7002 493.8193 y -327.3008 491.9209 318.9805 492.1396 v -310.5801 492.3604 301.7002 489.2598 y -296.9409 489.7207 306.4014 494.5615 306.7402 494.2998 c -306.8408 494.1201 313.002 500.2803 304.1001 499.5801 c -280.2246 497.8232 268.3398 509.1797 y -266.1416 510.6201 263.2998 513.7393 y -252.2817 515.8994 264.7402 500.0596 y -266.1416 498.5215 264.5 497.4199 y -263.7197 499.1816 255.1401 505.0996 y -252.0488 506.1914 250.5488 507.6582 247.9399 510.3799 c -F -0.435294 0.886275 0.8 0.670588 k -221.7798 523.0996 m -234.4614 517.001 237.3799 513.9795 v -240.1807 510.8408 255.6201 498.3799 y -249.6416 500.501 246.7402 502.46 v -243.9199 504.4609 232.1001 513.5 y -227.8613 520.0801 221.7798 523.0996 v -F -0.45098 0 1 0 k -157.9399 557.4199 m -158.2617 557.6406 157.6855 560.624 157.46 561.2598 c -156.3369 564.2188 146.4199 565.8193 y -146.2109 564.3389 146.1514 562.585 146.1802 560.7793 c -151.6206 554.71 157.9399 557.4199 v -F -0.658824 0.2 1 0.039216 k -157.9399 557.6602 m -157.395 557.5225 157.875 560.7051 157.7002 561.2598 c -156.5552 564.2188 146.4199 566.0596 y -146.2109 564.4492 146.1514 562.6924 146.1802 560.7793 c -150.9609 555.2598 157.9399 557.6602 v -F -0 g -153.1401 557.6602 m -152.3721 557.54 151.8154 558.7949 151.7002 560.2998 c -151.8154 561.8857 152.3721 563.1416 153.1401 563.1797 c -153.7471 563.1416 154.3066 561.8857 154.3398 560.2998 c -154.3066 558.7949 153.7471 557.54 153.1401 557.6602 c -F -102.98 449.6602 m -96.7402 438.6797 124.1001 445.3398 v -139.4214 446.5996 142.1001 449.1797 v -143.3818 448.3594 152.583 445.1338 155.7798 444.3799 c -163.1816 442.6396 172.3398 453.7402 y -177.481 465.1904 180.5 465.2598 v -183.6416 465.1904 180.02 463.3398 y -172.8608 452.3193 173.2998 450.6201 v -167.5806 428.5586 150.02 427.5801 v -132.2144 426.6338 133.7002 420.1396 v -143.3818 422.8398 145.9399 420.1396 v -157.9014 420.6387 149.0601 413.6602 v -141.6201 400.9395 l -141.7734 396.5313 130.5801 400.46 v -119.8398 404.1387 108.5 418.2197 y -90.9658 434.333 102.98 449.6602 v -F -0.066667 0.470588 0.290196 0 k -101.54 445.3398 m -99.3799 434.7197 139.9399 446.0596 v -144.7017 446.1582 147.3799 445.3398 v -149.9814 444.3994 163.1816 441.3193 165.3799 442.7002 c -157.46 427.6807 144.7402 429.5 v -130.1816 427.6807 130.5801 422.2998 v -135.02 414.4805 140.4199 411.7402 v -143.3818 409.2002 143.0601 405.7402 v -142.501 402.1592 139.4214 400.3994 137.2998 399.5 c -135.02 398.6406 131.5015 402.1592 129.8599 402.1396 c -127.981 402.1592 118.7407 409.2002 114.02 414.3799 c -109.0615 419.7578 99.8218 432.958 100.3398 435.9795 c -100.7002 439.1191 101.54 445.3398 y -F -0.262745 0.682353 0.52549 0.062745 k -105.1401 426.1396 m -107.96 421.7402 111.481 417.1201 114.02 414.3799 c -118.7407 409.2002 127.981 402.1592 129.8599 402.1396 c -131.5015 402.1592 135.02 398.6406 137.2998 399.5 c -139.4214 400.3994 142.501 402.1592 143.0601 405.7402 c -143.3818 409.2002 140.4199 411.7402 y -136.9277 413.5254 133.9136 417.3682 132.2598 419.8994 c -132.3799 417.1201 126.7402 417.9795 v -120.9414 418.8799 115.2197 421.959 113.54 425.4199 c -111.7017 429.001 109.0615 431.6406 110.8999 427.5801 c -112.5801 423.7207 115.2197 419.7578 116.8999 419.4199 c -118.7407 418.8799 118.3018 417.5596 115.7002 417.9795 c -113.0215 418.4404 109.9399 418.8799 105.1401 424.7002 c -F -0.254902 0.941176 1 0.243137 k -102.2598 449.1797 m -104.2207 464.2012 105.6201 468.6201 v -104.6602 476.0811 107.2998 480.6201 v -109.9399 485.3213 112.1406 492.1396 115.46 498.1396 c -118.7407 504.0195 118.9614 508.4209 123.3799 510.1396 c -127.7598 511.9395 134.3599 521.4004 137.54 522.6201 c -140.5205 523.6016 140.4199 522.6201 y -147.7808 539 162.7402 534.6201 v -144.9199 537.6797 162.2598 548.0596 v -157.0205 546.8115 160.5801 554.54 v -163.0713 559.6445 162.5215 552.2002 150.5 539.1797 c -144.9199 529.7598 139.2197 526.46 v -133.4814 523.1602 120.2817 515.4609 119.0601 511.3398 c -117.6416 507.1016 114.1206 500.7197 111.8599 498.8594 c -109.7217 497.2012 106.6401 492.5811 106.1001 488.7803 c -104.8809 484.4404 103.46 483.0195 v -101.8018 481.8008 101.5806 478.2803 101.54 476.0596 c -101.5806 473.8809 99.3799 470.8018 99.6201 468.1396 c -100.4814 447.2598 100.1001 445.0996 v -102.2598 449.1797 l -F -1 g -92.8999 444.1396 m -90.5815 445.7188 85.7002 439.0996 v -93.771 402.8193 93.8599 401.1797 v -94.981 403.5898 93.6201 411.5 v -92.1201 419.4297 91.2197 433.3398 y -92.8999 444.1396 l -F -0.254902 0.941176 1 0.243137 k -116.6602 510.8594 m -97.1816 507.3193 97.7002 475.0996 v -96.7402 447.9795 l -95.4199 476.0811 94.1001 477.7393 v -92.7798 479.5996 97.1816 491.9209 93.6201 485.4199 c -78.2598 469.9209 87.1401 446.54 v -88.7095 442.9707 85.46 447.9795 v -80.3506 461.8896 81.6201 468.8594 v -81.7808 471.3506 83.7798 474.3799 v -93.3296 487.3018 96.2598 489.7393 v -98.2808 505.6709 115.2197 511.3398 v -121.4912 513.9199 116.6602 510.8594 v -F -0 g -269.7798 583.5801 m -270.6055 584.0498 270.5957 585.1182 271.2197 585.2598 c -272.499 585.6846 272.6792 586.8584 273.1401 587.6602 c -274.208 589.1719 274.4214 590.8594 275.0601 592.46 c -275.3599 593.2686 275.3911 594.3193 275.0601 595.0996 c -273.7544 597.7734 272.9814 600.4688 271.46 603.0195 c -271.1001 603.6318 270.812 604.5049 270.5 605.1797 c -270.0825 606.6865 268.7002 607.7764 267.8599 609.2598 c -267.4375 609.7129 268.0137 610.7305 267.1401 610.9395 c -266.2402 610.9395 264.6465 611.5752 264.5 610.46 c -263.7441 607.6016 264.855 604.8271 265.9399 602.0596 c -265.0591 601.3779 265.4263 600.3682 265.7002 599.4199 c -266.377 595.5557 265.0566 591.8691 264.2598 588.1396 c -264.1953 587.9336 264.5718 587.7148 264.5 587.6602 c -263.1968 584.6934 261.5981 582.0029 259.7002 579.5 c -258.7642 578.293 257.8066 577.2842 257.2998 576.1396 c -256.8535 575.249 256.4048 574.1885 256.5801 573.0195 c -252.9033 570.0439 250.4263 565.8125 247.46 561.5 c -247.0474 560.835 247.3662 559.5049 247.9399 559.0996 c -248.8662 558.7705 249.9199 559.8965 250.3398 560.7793 c -250.8633 561.5957 251.252 562.3105 251.7798 562.9395 c -251.9385 563.2109 251.7417 563.6719 251.7798 563.8994 c -254.7871 566.3857 256.623 569.6162 259.2197 572.2998 c -261.4663 572.583 263.1558 573.6797 264.98 574.7002 c -265.417 574.9902 265.9951 574.7168 266.4199 574.9395 c -268.2417 576.2266 268.2393 578.4678 268.3398 580.46 c -268.4097 581.54 268.6255 582.9893 269.7798 583.5801 c -F -260.1802 588.6201 m -260.2905 588.6582 260.1201 589.124 260.1802 589.3398 c -260.4199 589.7168 260.8613 589.9229 261.1401 590.2998 c -261.1616 590.5186 260.9814 590.9355 261.1401 591.0195 c -263.6982 593.7842 263.979 597.1113 262.8198 600.3799 c -263.9673 601.0635 264.0342 602.4512 263.54 603.5 c -262.6279 605.252 262.417 607.3711 261.3799 609.0195 c -260.4609 610.4648 258.7256 611.833 257.2998 610.46 c -256.7554 609.958 256.3999 609.0938 256.8198 608.2998 c -256.7769 608.1318 257.0913 607.9707 257.0601 607.8193 c -256.9424 607.5244 256.3423 607.2773 256.3398 606.8594 c -256.3042 605.333 255.2529 603.6699 255.8599 602.2998 c -256.7959 600.418 257.6958 598.373 258.5 596.54 c -257.0815 594.0918 258.2192 591.3994 256.3398 589.3398 c -256.1406 589.1738 256.1504 588.749 256.3398 588.6201 c -256.6064 587.9932 257.0527 587.5469 257.54 587.1797 c -257.811 587.0908 258.1929 587.0908 258.5 587.1797 c -259.0498 587.624 259.4863 588.1592 260.1802 588.6201 c -F -329.2998 599.8994 m -330.7754 597.9434 331.0957 594.8691 328.8203 593.4199 c -329.4463 589.7002 333.1328 591.877 335.54 592.46 c -335.3223 592.8867 335.5713 593.2666 335.7793 593.1797 c -337.0449 593.2881 337.793 594.4229 338.9004 594.1396 c -339.4395 595.9326 341.2402 596.7051 342.0195 598.2197 c -343.8457 602.2881 343.1982 606.9893 340.3398 610.46 c -340.1338 610.8389 340.3711 611.4072 340.3398 611.8994 c -339.4043 614.2373 337.1289 614.583 335.0605 615.2598 c -333.707 619.6035 332.9785 624.0361 330.9805 628.2197 c -329.2666 628.376 328.498 630.2881 327.1406 631.0996 c -325.5605 631.8701 324.9365 630.1348 324.9805 628.9395 c -324.9902 628.7598 325.4863 628.5127 325.2197 628.2197 c -325.2148 627.9297 324.9297 627.8096 324.9805 627.7393 c -324.9316 627.5117 325.1738 627.3682 325.2197 627.2598 c -324.3105 626.3193 322.7461 625.793 322.3398 624.6201 c -321.373 620.4531 324.2021 617.0166 325.9395 613.5801 c -326.6865 612.248 325.877 610.8486 324.9805 609.5 c -324.5605 608.7559 324.6797 607.5146 324.9805 606.6201 c -325.8105 604.0107 327.5605 602.0957 329.2998 599.8994 c -F -288.2598 579.7393 m -286.7358 577.6543 282.9849 574.8291 286.1001 572.7793 c -286.4048 572.5664 286.8125 572.5615 287.0601 572.7793 c -289.2246 574.4307 291.4302 575.4248 294.02 576.1396 c -294.2456 576.0967 294.5479 575.583 294.98 575.6602 c -296.7271 576.5332 298.9375 576.4688 300.2598 578.0596 c -304.3833 577.6953 308.3047 578.9209 312.0195 580.46 c -313.3135 580.8535 314.7109 581.4678 316.0996 582.1396 c -317.5449 582.6533 318.8691 583.6758 320.1797 585.0195 c -320.2373 585.0801 320.6289 584.9814 320.9004 585.0195 c -320.8789 585.9297 321.9365 586.0713 322.0996 586.7002 c -322.3086 587.0098 322.1426 587.4463 322.3398 587.6602 c -324.6416 589.3496 325.6543 591.5693 324.2598 594.1396 c -324.0537 594.8213 323.7793 595.501 323.0605 596.0596 c -321.9629 597.0244 320.751 596.0859 319.7002 596.54 c -319.4258 595.7305 318.625 595.918 318.2598 595.8193 c -317.2539 595.2197 315.7881 595.8633 314.9004 595.3398 c -313.3447 594.6152 311.9785 594.4297 310.3398 593.8994 c -310.0713 593.9258 309.2168 594.0293 309.1406 593.4199 c -308.8926 593.4893 308.7295 593.7461 308.6602 593.6602 c -306.5146 593.2852 305.1294 593.0498 303.6201 591.2598 c -303.584 591.0439 303.0967 591.2402 302.8999 591.0195 c -301.8701 590.2012 301.4263 588.8457 300.2598 588.1396 c -299.9937 587.9697 299.605 588.1563 299.2998 587.8994 c -298.6807 587.54 298.2773 586.834 297.6201 586.46 c -297.2095 586.0898 296.7705 586.4473 296.8999 586.7002 c -297.0752 588.8721 297.793 590.8369 297.1401 592.9395 c -299.4463 595.6729 302.2134 597.8164 304.1001 600.8594 c -304.2178 603.2041 304.9785 605.5635 304.8198 607.8193 c -304.8418 608.0596 304.5249 608.8662 304.3398 609.2598 c -304.0449 610.1885 305.041 611.3594 304.1001 612.1396 c -302.5688 613.4814 301.1479 612.5166 300.2598 610.9395 c -298.2178 610.5098 295.9448 609.749 294.2598 611.1797 c -293.103 611.9717 292.4673 612.9697 291.6201 614.0596 c -290.5039 615.5625 290.8735 617.1416 290.8999 618.8594 c -290.9551 619.0039 290.6094 619.1523 290.6602 619.3398 c -290.6118 619.4502 290.8521 619.5938 290.8999 619.8193 c -290.2231 620.4297 289.9209 621.5938 288.7402 621.9795 c -289.1357 623.1416 288.3921 624.1133 287.54 624.3799 c -285.2383 625.208 283.395 623.1025 281.2998 622.9395 c -280.748 623.002 280.2344 624.1445 279.6201 624.6201 c -279.0464 624.7393 278.271 624.7754 277.9399 624.3799 c -277.1167 623.9287 276.4688 623.8037 275.54 623.6602 c -273.855 623.0977 272.4512 621.8936 270.7402 621.0195 c -269.1895 620.0117 268.1382 618.4297 266.8999 616.9395 c -265.9136 615.7109 265.7646 613.0566 267.3799 612.6201 c -269.355 611.792 270.7881 614.7656 272.8999 614.2998 c -273.2935 614.3506 273.5215 614.0068 273.3799 613.5801 c -273.8286 613.46 274.0688 613.7119 274.3398 614.0596 c -275.2231 612.9004 276.5049 612.5283 277.46 611.6602 c -278.605 610.5752 280.5249 611.0332 281.54 609.9795 c -283.3232 608.2852 282.7065 605.3359 284.8999 603.9795 c -284.1968 602.4561 283.5298 601.0518 283.2197 599.4199 c -282.8506 598.1553 283.9424 596.8398 285.3799 597.0195 c -286.6592 597.041 286.9473 597.877 287.54 599.1797 c -287.7754 598.7666 288.291 598.4404 288.2598 598.2197 c -287.7417 595.5771 286.6133 593.3857 286.1001 590.7793 c -286.0449 590.3623 285.709 590.1387 285.3799 590.2998 c -284.7656 585.6963 280.3086 583.0635 277.46 579.5 c -277.0664 579.0293 277.0615 577.6563 277.46 577.0996 c -279.0537 575.6865 281.2109 577.3877 282.98 578.0596 c -283.3135 579.2666 284.2593 580.3037 285.6201 580.2197 c -286.0063 580.2314 286.2656 580.8271 286.5801 580.9395 c -287.0049 581.1221 287.5566 580.875 287.7798 581.1797 c -289.772 582.4082 291.3223 583.625 293.2998 585.0195 c -293.4438 585.0752 293.8232 584.9023 294.02 585.0195 c -294.4185 585.2002 294.625 585.624 294.98 585.7393 c -295.3613 586.0469 295.6279 585.7275 295.9399 585.5 c -295.1313 585.0361 295.1265 583.9834 294.5 583.8193 c -293.6338 583.4668 293.0166 582.9033 292.3398 582.3799 c -291.9536 582.2002 291.229 582.4707 291.1401 582.3799 c -290.4561 581.1436 289.1528 580.6611 288.2598 579.7393 c -F -227.54 633.9795 m -217.2583 637.2002 204.98 609.0195 v -202.3398 603.2402 199.7002 601.0996 v -197.0601 598.8418 184.7407 594.8818 182.6602 590.54 c -171.1401 572.7793 l -187.3809 590.4795 190.8198 593.1797 v -199.7002 602.3594 196.1001 594.8594 v -180.7808 583.001 182.1802 572.7793 v -175.9399 557.04 174.98 554.7793 v -192.6606 590.04 195.3799 591.2598 v -197.9409 592.6807 199.2607 592.6807 198.02 588.6201 c -196.6206 584.7607 196.1816 566.7197 193.2197 564.6201 c -201.9009 586.9609 201.1401 590.54 v -204.541 594.4395 207.1401 588.6201 v -205.9399 571.0996 l -210.7402 557.8994 l -208.0615 570.2402 209.7798 587.4199 v -207.6201 598.8418 211.9399 592.7002 v -216.4209 586.5195 226.981 579.9199 227.0601 574.7002 c -221.2617 594.001 211.2197 599.1797 v -206.6602 592.7002 l -205.46 594.8594 l -201.4614 595.7598 206.4199 603.2598 v -211.1406 610.7217 210.7402 611.6602 y -217.7407 603.6797 219.6201 603.7393 v -234.02 612.041 235.46 585.2598 v -242.8208 601.04 232.8198 608.54 v -216.4209 610.7217 217.7002 616.46 v -225.6201 630.1396 l -229.6206 635.8018 227.7798 632.7793 y -F -205.46 615.9795 m -191.3408 616.001 187.9399 610.2197 v -180.02 599.6602 l -198.8218 610.7217 203.2998 612.1396 v -207.6201 613.3613 205.46 615.9795 y -F -161.54 609.0195 m -159.2217 607.6396 158.8999 604.46 v -158.3408 601.4814 155.7007 601.04 156.5 597.9795 c -157.46 594.8818 159.6606 592.2412 159.6201 596.54 c -159.6606 601.04 161.4199 603.2402 162.2598 604.46 c -163.1816 605.8809 164.9409 610.7217 161.54 609.0195 c -F -151.7002 541.5801 m -142.501 546.041 138.98 549.9795 v -135.4614 553.9609 135.9585 548.2783 130.5801 548.7793 c -124.189 549.166 125.2998 566.7793 y -120.98 558.3799 l -119.6216 542.5205 128.4199 545.1797 v -132.7183 546.4492 134.1416 544.7217 132.5 543.7393 c -130.6206 542.96 138.541 542.5205 135.3799 540.8594 c -132.3799 539 148.2197 544.7217 145.7002 533.1797 c -151.7002 541.5801 l -F -137.7798 525.7393 m -120.9414 520.9609 116.8999 531.5 v -111.7017 528.8818 114.02 525.5 v -116.54 522.2813 117.8599 521.8994 y -123.7998 520.5195 123.1401 519.7393 v -122.48 518.7607 119.7798 514.9395 y -131.0601 521.6211 137.7798 525.7393 v -F -1 g -389.0605 439.8193 m -388.6523 437.4316 386.8135 436.5508 384.7402 435.7402 c -382.6133 436.8721 379.7559 440.29 377.7793 437.8994 c -377.1602 438.5479 376.3037 438.6123 375.8594 439.3398 c -375.4141 440.3311 375.7129 441.4805 375.3799 442.46 c -374.7363 443.7578 373.957 445.2607 374.1797 446.7803 c -376.1484 447.6025 376.8027 449.6982 376.3398 451.5801 c -376.2051 451.9209 375.7324 452.1387 375.8594 452.54 c -376.1582 452.8779 376.5078 453.1279 376.8203 453.5 c -376.6523 453.2715 376.4941 453.0146 376.3398 453.0195 c -375.7012 453.1543 375.8359 453.8545 375.8594 454.2197 c -376.623 456.2021 378.8379 456.4922 380.4199 455.1797 c -380.6025 455.8018 381.1621 455.5879 381.6201 455.6602 c -381.5859 456.2578 382.0352 456.8379 382.3398 457.3398 c -382.8223 458.5059 384.6152 457.2891 385.46 458.0596 c -386.6738 458.8711 387.8438 459.6416 389.0605 459.0195 c -391.0215 457.8633 392.9004 456.5313 394.0996 454.7002 c -394.8516 453.6963 395.1152 452.2881 395.0605 451.3398 c -395.0098 450.5215 393.4902 450.9102 393.1406 449.8994 c -392.4033 447.9658 394.417 447.3945 395.2998 445.8193 c -395.4678 445.5391 395.1777 445.2031 394.8203 445.0996 c -394.3789 444.9561 393.5166 445.165 393.6201 444.6201 c -394.7363 441.1514 391.7051 440.4082 389.0605 439.8193 c -F -378.5 418.2197 m -378.5527 420.1299 376.791 422.0645 378.0195 423.9795 c -378.2695 423.793 378.4141 423.5498 378.5 423.5 c -378.7109 423.5498 378.8555 423.793 378.9805 423.9795 c -380.6455 421.5029 384.6631 420.4805 384.5 417.2598 c -384.4834 416.8594 383.2881 415.8486 384.2598 415.0996 c -382.2871 413.6572 382.2266 411.0508 381.1406 408.8594 c -379.8398 409.2939 378.5078 409.6924 377.2998 410.2998 c -377.6289 411.9346 377.499 413.7871 378.5 415.3398 c -378.8789 416.0068 378.5645 417.1924 378.5 418.2197 c -F -0.8 g -195.8599 428.0596 m -177.1953 416.9697 192.7402 433.8193 v -202.3398 444.3994 213.3799 450.6201 y -224.7798 455.4004 228.7402 456.6201 v -232.7002 458.041 249.4209 463.7598 252.98 464.2998 c -256.46 464.6406 267.02 469.04 274.5801 464.54 c -281.9814 460.2412 290.8999 455.4199 y -272.7417 464.6406 268.8198 461.8994 v -264.8218 459.3604 256.9014 459.7998 250.3398 456.3799 c -234.02 451.4404 230.4199 449.1797 v -226.981 447.0391 215.54 434.2803 213.8599 435.2598 c -212.0215 436.04 214.2197 436.4795 215.54 439.5801 c -216.8599 442.6396 214.6616 444.3994 205.9399 437.4199 c -197.0601 430.3203 195.8599 428.0596 y -F -0 g -203.7798 434.7803 m -205.436 449.0264 214.8198 447.2598 v -223.8105 451.7842 226.8198 453.9795 v -235.7578 455.8203 237.1401 456.3799 v -257.5254 466.0684 273.7183 461.0986 274.3398 462.3799 c -274.9185 463.5605 296.5063 455.7314 300.5 451.3398 c -300.9082 450.749 289.2222 457.3945 278.6602 459.5 c -269.4536 461.249 245.6934 459.2021 233.7798 453.0195 c -230.4248 451.4521 220.585 445.0898 217.7002 445.0996 c -215.0166 445.335 203.7798 434.7803 y -F -0.8 g -199.7002 406.46 m -182.9814 409.2002 201.3799 411.0195 v -221.2617 413.1582 225.6201 418.9395 v -240.6201 429.001 243.6201 429.5 v -246.7808 429.8789 279.7808 437.7988 280.3398 440.54 c -280.6616 443.0791 286.8198 443.0791 288.5 442.2197 c -290.3408 441.3193 289.46 440 286.3398 439.0996 c -283.3018 438.2402 248.9814 420.2002 241.9399 418.9395 c -234.9009 417.5596 222.1401 409.2002 216.98 407.8994 c -211.5801 406.5586 199.7002 406.46 y -F -0 g -221.0601 414.6201 m -211.731 415.6113 221.2998 416.54 v -230.8906 420.2764 233.0601 423.2598 v -240.8047 428.3887 242.4199 428.54 v -243.9585 428.8369 259.3135 432.8936 259.46 434.2998 c -259.7646 435.5957 297.2383 449.4365 302.1802 445.8193 c -305.3022 443.6162 294.4111 445.46 283.7002 440.54 c -282.3223 439.9277 245.084 423.8818 241.46 423.2598 c -237.8745 422.5303 231.3418 418.251 228.7402 417.5 c -225.9346 416.8975 221.0601 414.6201 y -F -212.4199 412.2197 m -218.1802 412.7188 216.98 411.0195 v -215.54 409.2002 212.8999 410.0596 y -212.4199 412.2197 l -F -204.5 410.54 m -210.2598 410.96 209.0601 409.0996 v -207.6201 407.4395 204.98 408.3799 y -204.5 410.54 l -F -193.2197 408.8594 m -198.8218 409.2002 197.54 407.4199 v -196.1816 405.6797 193.46 406.46 y -193.2197 408.8594 l -F -184.8198 407.8994 m -190.46 408.3193 189.1401 406.46 v -187.8198 404.7988 185.2998 405.7402 y -184.8198 407.8994 l -F -227.0601 451.3398 m -231.8218 451.4404 230.4199 449.6602 v -229.1816 447.9199 225.6201 448.46 y -227.0601 451.3398 l -F -216.02 445.3398 m -223.1357 447.6338 220.3398 443.8994 v -219.0605 442.2002 216.5 443.1797 y -216.02 445.3398 l -F -203.7798 440.0596 m -209.3818 440.4395 208.1001 438.6201 v -206.7417 436.9209 204.02 437.8994 y -203.7798 440.0596 l -F -195.3799 433.3398 m -201.02 433.8389 199.7002 432.1396 v -198.3799 430.3203 195.8599 431.1797 y -195.3799 433.3398 l -F -187.9399 428.0596 m -193.5415 428.5586 192.2598 426.8594 v -190.9014 425.041 188.1802 425.8994 y -187.9399 428.0596 l -F -230.8999 421.0996 m -238.4238 421.6689 236.6602 419.4199 v -234.9102 416.9834 231.3799 418.2197 y -230.8999 421.0996 l -F -242.1802 426.3799 m -249.8647 426.9482 248.1802 424.7002 v -246.3511 422.2637 242.8999 423.5 y -242.1802 426.3799 l -F -254.1802 431.1797 m -261.7446 431.7891 259.9399 429.5 v -258.231 427.1045 254.6602 428.2998 y -254.1802 431.1797 l -F -265.46 436.46 m -273.1831 437.0693 271.46 434.7803 v -269.6694 432.3848 266.1802 433.5801 y -265.46 436.46 l -F -235.2197 456.3799 m -242.8232 456.8691 240.98 454.46 v -239.3096 452.1846 234.98 452.54 y -235.2197 456.3799 l -F -246.2598 459.7402 m -253.8247 460.3877 252.02 458.0596 v -250.311 455.7031 245.54 455.8994 y -246.2598 459.7402 l -F -221.2998 415.8193 m -226.981 416.2402 225.6201 414.3799 v -224.3408 412.7188 221.7798 413.6602 y -221.2998 415.8193 l -F -0.254902 0.941176 1 0.243137 k -140.6602 525.0195 m -135.9009 515.2393 135.3799 511.8193 v -136.3398 521.4004 137.7798 523.5801 v -138.98 525.7998 140.6602 525.0195 y -F -120.5 509.4199 m -116.9814 493.6807 117.3799 490.7002 v -116.1006 503.3594 116.6602 504.6201 v -116.9814 506 120.5 509.4199 y -F -0.8 g -143.2998 591.5 m -143.0601 588.1396 l -140.6602 587.8994 l -156.3608 573.9795 156.98 565.5801 v -157.9014 574.6396 143.2998 591.5 v -F -0 g -147.8599 590.2998 m -147.2891 590.6475 147.5288 591.4658 147.1401 591.7393 c -146.1919 592.3203 148.5078 592.3828 148.3398 593.1797 c -147.8359 594.4971 148.0425 594.5215 147.8599 595.8193 c -147.8457 596.5801 148.4912 598.2744 148.8198 598.7002 c -150.5073 600.5762 149.0503 603.8018 150.7402 605.4199 c -151.189 605.8252 151.6016 606.4326 151.9399 606.8594 c -152.6406 607.9521 153.9414 608.4893 155.0601 609.5 c -155.3384 609.7041 155.1152 610.6133 155.7798 610.46 c -156.5264 610.3857 157.8921 610.5293 157.9399 609.5 c -157.7192 607.2705 156.2578 605.3789 154.8198 603.5 c -155.3457 602.7705 154.8418 602.0713 154.5801 601.3398 c -153.0605 598.5771 153.2695 595.4502 153.1401 592.2197 c -153.0703 592.2344 152.7344 592.1475 152.6602 591.9795 c -153.1304 589.5225 153.7734 587.1025 154.8198 584.54 c -155.1416 583.6279 155.6602 582.6436 155.7798 581.6602 c -155.9478 580.8682 156.0605 579.9531 155.54 579.2598 c -157.8511 575.998 156.4111 573.082 157.7002 569.1797 c -157.9233 568.5098 159.7856 566.4053 159.3799 566.54 c -156.5117 567.54 156.3896 567.9775 156.2598 568.7002 c -156.0342 569.4922 155.6694 571.0059 155.2998 571.5801 c -155.3384 571.8486 155.1514 573.9219 155.0601 573.9795 c -153.4014 576.6748 154.8945 576.4834 153.3799 579.0195 c -151.8174 579.8232 150.7544 581.0381 149.54 582.3799 c -149.3022 582.54 150.5601 583.3369 150.2598 583.5801 c -149.1582 584.9912 147.8911 585.833 148.3398 587.4199 c -148.4312 588.2334 148.5801 589.3975 147.8599 590.2998 c -F -143.7798 588.3799 m -144.2598 580.8008 146.8999 579.0195 v -149.54 577.2793 148.2197 578.1602 144.7402 579.5 c -141.1807 580.8008 142.5801 581.6602 y -139.4214 581.2393 142.1001 579.0195 v -144.7017 576.8408 148.6616 574.2002 146.8999 574.2197 c -145.1406 574.2002 136.7817 578.5996 136.8198 581.6602 c -136.7817 584.7607 135.6201 589.3398 y -136.8896 590.1514 142.1001 590.0596 v -143.7104 589.2705 143.7798 588.3799 v -F -1 g -143.0601 567.7393 m -133.5679 570.8906 113.2998 567.2598 v -123.1733 569.4463 143.7798 567.0195 v -155.1514 565.5654 143.0601 567.7393 y -F -0 R -0 G -1 J 0.11 w 10 M -143.0601 567.7393 m -133.5679 570.8906 113.2998 567.2598 v -123.1733 569.4463 143.7798 567.0195 v -155.1514 565.5654 143.0601 567.7393 y -143.0601 567.7393 l -s -0 O -1 g -0 J 1 w 4 M -145.2197 567.9795 m -136.1768 571.7695 115.7002 569.8994 v -125.6982 571.2266 145.9399 567.0195 v -157.2178 564.5957 145.2197 567.9795 y -F -0 R -0 G -1 J 0.11 w 10 M -145.2197 567.9795 m -136.1768 571.7695 115.7002 569.8994 v -125.6982 571.2266 145.9399 567.0195 v -157.2178 564.5957 145.2197 567.9795 y -145.2197 567.9795 l -s -0 O -1 g -0 J 1 w 4 M -147.1401 567.7393 m -138.457 572.3311 117.8599 571.8193 v -127.9663 572.5713 147.8599 566.7793 v -158.9048 563.6113 147.1401 567.7393 y -F -0 R -0 G -1 J 0.11 w 10 M -147.1401 567.7393 m -138.457 572.3311 117.8599 571.8193 v -127.9663 572.5713 147.8599 566.7793 v -158.9048 563.6113 147.1401 567.7393 y -147.1401 567.7393 l -s -0 O -1 g -0 J 1 w 4 M -148.5801 567.5 m -141.1064 572.2881 122.6602 573.5 v -131.7178 573.3105 149.2998 566.54 v -158.7729 562.9014 148.5801 567.5 y -F -0 R -0 G -1 J 0.11 w 10 M -148.5801 567.5 m -141.1064 572.2881 122.6602 573.5 v -131.7178 573.3105 149.2998 566.54 v -158.7729 562.9014 148.5801 567.5 y -148.5801 567.5 l -s -0 O -1 g -0 J 1 w 4 M -275.54 555.9795 m -274.3999 555.2764 274.5801 556.46 v -274.8726 557.873 305.9023 572.3594 309.8594 572.0596 c -276.6055 557.5586 275.54 555.9795 v -F -0 R -0 G -1 J 0.11 w 10 M -275.54 555.9795 m -274.3999 555.2764 274.5801 556.46 v -274.8726 557.873 305.9023 572.3594 309.8594 572.0596 c -276.6055 557.5586 275.54 555.9795 v -275.54 555.9795 l -s -0 O -1 g -0 J 1 w 4 M -271.7002 555.2598 m -270.728 554.4941 270.98 555.7393 v -270.9922 557.1201 300.7881 574.001 304.8198 573.9795 c -272.7441 556.9424 271.7002 555.2598 v -F -0 R -0 G -1 J 0.11 w 10 M -271.7002 555.2598 m -270.728 554.4941 270.98 555.7393 v -270.9922 557.1201 300.7881 574.001 304.8198 573.9795 c -272.7441 556.9424 271.7002 555.2598 v -271.7002 555.2598 l -s -0 O -1 g -0 J 1 w 4 M -268.1001 553.8193 m -267.1665 552.9199 267.1401 554.2998 v -267.2578 555.5576 289.0566 572.6045 299.7798 574.7002 c -280.0161 565.7266 268.1001 553.8193 v -F -0 R -0 G -1 J 0.11 w 10 M -268.1001 553.8193 m -267.1665 552.9199 267.1401 554.2998 v -267.2578 555.5576 289.0566 572.6045 299.7798 574.7002 c -280.0161 565.7266 268.1001 553.8193 v -268.1001 553.8193 l -s -0 O -1 g -0 J 1 w 4 M -264.98 551.6602 m -264.0918 550.9561 264.02 552.1396 v -264.1758 553.3301 283.7935 568.6709 293.54 570.6201 c -275.6602 562.4814 264.98 551.6602 v -F -0 R -0 G -1 J 0.11 w 10 M -264.98 551.6602 m -264.0918 550.9561 264.02 552.1396 v -264.1758 553.3301 283.7935 568.6709 293.54 570.6201 c -275.6602 562.4814 264.98 551.6602 v -264.98 551.6602 l -s -0 O -0.8 g -0 J 1 w 4 M -230.1802 388.9395 m -213.3418 391.5986 231.8599 393.2598 v -251.6216 395.5586 256.1001 401.1797 v -270.98 411.3994 274.1001 411.7402 v -277.1406 412.2803 295.1816 416.2402 295.7002 418.9395 c -296.0601 421.5195 302.6602 424.1602 304.3398 423.2598 c -306.1807 422.4004 306.1807 412.2803 303.1401 411.5 c -300.02 410.5205 279.3418 402.6006 272.4199 401.1797 c -265.2607 399.958 252.5 391.5986 247.2197 390.3799 c -241.9399 388.959 230.1802 388.9395 y -F -0 g -310.3398 429.9795 m -307.0615 428.3408 305.7798 425.4199 v -298.7002 413.8203 282.98 410.2998 v -257.7798 400.3994 249.1401 398.2998 v -234.4614 392.7002 226.3398 393.5 v -218.6216 393.3584 225.3799 391.5801 v -247.6616 393.7998 251.2998 395.6602 v -268.5605 401.499 271.9399 404.2998 v -275.1606 407.2207 295.1816 412.7188 297.6201 414.8594 c -300.02 417.1201 310.8008 426.3584 310.3398 429.9795 c -F -245.7798 395.4199 m -251.5229 395.6865 250.3398 393.9795 v -248.9863 392.2783 246.2598 393.2598 y -245.7798 395.4199 l -F -237.8599 393.9795 m -243.5981 394.2002 242.4199 392.54 v -241.064 390.79 238.3398 391.8193 y -237.8599 393.9795 l -F -226.3398 392.54 m -232.1289 392.8281 230.8999 391.0996 v -229.5918 389.4199 226.8198 390.3799 y -226.3398 392.54 l -F -217.9399 392.0596 m -223.731 392.2275 222.5 390.6201 v -221.1943 388.8193 218.4199 389.8994 y -217.9399 392.0596 l -F -264.02 403.5801 m -271.6133 403.9082 270.02 401.6602 v -268.2368 399.3701 264.7402 400.7002 y -264.02 403.5801 l -F -275.2998 408.3799 m -281.8569 412.0762 281.2998 406.46 v -280.9736 403.6953 276.02 405.5 y -275.2998 408.3799 l -F -285.3799 411.5 m -293.2231 415.6113 291.3799 409.5801 v -290.4609 406.9063 286.1001 408.6201 y -285.3799 411.5 l -F -295.7002 416.7803 m -300.6079 422.2373 301.7002 414.8594 v -302.228 412.1162 296.4199 413.8994 y -295.7002 416.7803 l -F -254.4199 398.54 m -260.2686 398.8945 258.98 397.0996 v -257.7319 395.4844 255.1401 396.3799 y -254.4199 398.54 l -F -1 g -293.7798 532.2197 m -292.8799 531.4473 292.8198 532.7002 v -292.8774 533.8018 312.1113 548.3906 321.8594 549.9795 c -304.1289 542.5107 293.7798 532.2197 v -F -0 R -0 G -1 J 0.11 w 10 M -293.7798 532.2197 m -292.8799 531.4473 292.8198 532.7002 v -292.8774 533.8018 312.1113 548.3906 321.8594 549.9795 c -304.1289 542.5107 293.7798 532.2197 v -293.7798 532.2197 l -s -0 O -0 g -0 J 1 w 4 M -296.8999 461.8994 m -321.1426 437.3594 331.2197 433.3398 v -341.3818 421.0811 336.9805 392.54 v -333.4609 384.1201 330.0195 406.9395 v -333.4609 434.7197 321.1406 417.0195 v -311.9004 428.0098 318.9805 427.5801 v -322.4629 425.4795 322.8203 427.3398 v -323.3408 429.001 314.54 443.96 295.7002 459.7402 c -276.7017 475.6396 296.8999 461.8994 y -F -1 g -232.8198 419.4199 m -232.4814 421.2988 234.5 420.3799 v -236.4414 419.54 340.0615 412.7188 374.9004 386.2998 c -325.1025 411.8408 232.8198 419.4199 v -F -0 R -0 G -1 J 0.11 w 10 M -232.8198 419.4199 m -232.4814 421.2988 234.5 420.3799 v -236.4414 419.54 340.0615 412.7188 374.9004 386.2998 c -325.1025 411.8408 232.8198 419.4199 v -232.8198 419.4199 l -s -0 O -1 g -0 J 1 w 4 M -244.1001 424.2197 m -243.9199 426.1396 246.02 425.1797 v -247.8799 424.3809 398.1416 425.4795 424.0996 389.8994 c -399.9004 417.5596 244.1001 424.2197 v -F -0 R -0 G -1 J 0.11 w 10 M -244.1001 424.2197 m -243.9199 426.1396 246.02 425.1797 v -247.8799 424.3809 398.1416 425.4795 424.0996 389.8994 c -399.9004 417.5596 244.1001 424.2197 v -244.1001 424.2197 l -s -0 O -1 g -0 J 1 w 4 M -256.8198 428.54 m -256.6807 430.5391 258.7402 429.7402 v -260.6406 428.7803 451.3809 443.0791 477.3799 407.4199 c -466.7813 435.6006 256.8198 428.54 v -F -0 R -0 G -1 J 0.11 w 10 M -256.8198 428.54 m -256.6807 430.5391 258.7402 429.7402 v -260.6406 428.7803 451.3809 443.0791 477.3799 407.4199 c -466.7813 435.6006 256.8198 428.54 v -256.8198 428.54 l -s -0 O -1 g -0 J 1 w 4 M -267.8599 433.8193 m -267.6802 435.8193 269.7798 435.0195 v -271.6401 434.0596 406.0615 476.5205 432.0195 440.7803 c -417.2813 467.9404 267.8599 433.8193 v -F -0 R -0 G -1 J 0.11 w 10 M -267.8599 433.8193 m -267.6802 435.8193 269.7798 435.0195 v -271.6401 434.0596 406.0615 476.5205 432.0195 440.7803 c -417.2813 467.9404 267.8599 433.8193 v -267.8599 433.8193 l -s -0 O -1 g -0 J 1 w 4 M -204.02 408.8594 m -203.8809 410.7393 205.9399 409.8193 v -207.8408 408.9795 227.4199 406.5586 229.7002 363.9795 c -221.7007 410.0791 204.02 408.8594 v -F -0 R -0 G -1 J 0.11 w 10 M -204.02 408.8594 m -203.8809 410.7393 205.9399 409.8193 v -207.8408 408.9795 227.4199 406.5586 229.7002 363.9795 c -221.7007 410.0791 204.02 408.8594 v -204.02 408.8594 l -s -0 O -1 g -0 J 1 w 4 M -194.4199 406.9395 m -194.2017 408.9795 196.1001 408.1396 v -198.1616 407.2207 213.7808 412.2803 210.7402 369.5 c -212.0215 408.3193 194.4199 406.9395 v -F -0 R -0 G -1 J 0.11 w 10 M -194.4199 406.9395 m -194.2017 408.9795 196.1001 408.1396 v -198.1616 407.2207 213.7808 412.2803 210.7402 369.5 c -212.0215 408.3193 194.4199 406.9395 v -194.4199 406.9395 l -s -0 O -1 g -0 J 1 w 4 M -185.54 406.46 m -185.4009 408.541 187.46 407.6602 v -189.3608 406.7793 206.2998 406.1191 192.7402 381.5 c -203.2207 407.8809 185.54 406.46 v -F -0 R -0 G -1 J 0.11 w 10 M -185.54 406.46 m -185.4009 408.541 187.46 407.6602 v -189.3608 406.7793 206.2998 406.1191 192.7402 381.5 c -203.2207 407.8809 185.54 406.46 v -185.54 406.46 l -s -0 O -1 g -0 J 1 w 4 M -237.6201 455.4199 m -237.1904 453.1299 238.8198 454.46 v -256.5703 468.3555 292.2559 533.1484 353.54 539.4199 c -311.3691 552.668 237.6201 455.4199 v -F -0 R -0 G -1 J 0.11 w 10 M -237.6201 455.4199 m -237.1904 453.1299 238.8198 454.46 v -256.5703 468.3555 292.2559 533.1484 353.54 539.4199 c -311.3691 552.668 237.6201 455.4199 v -237.6201 455.4199 l -s -0 O -1 g -0 J 1 w 4 M -250.1001 457.3398 m -248.499 458.6211 250.5801 459.2598 v -252.6104 459.9971 376.2949 539.749 419.54 531.0195 c -389.6914 539.2471 250.1001 457.3398 v -F -0 R -0 G -1 J 0.11 w 10 M -250.1001 457.3398 m -248.499 458.6211 250.5801 459.2598 v -252.6104 459.9971 376.2949 539.749 419.54 531.0195 c -389.6914 539.2471 250.1001 457.3398 v -250.1001 457.3398 l -s -0 O -1 g -0 J 1 w 4 M -227.0601 450.6201 m -226.5151 448.8389 228.5 449.8994 v -238.2681 455.5449 242.2446 518.4746 290.1802 519.7402 c -254.5278 536.043 227.0601 450.6201 v -F -0 R -0 G -1 J 0.11 w 10 M -227.0601 450.6201 m -226.5151 448.8389 228.5 449.8994 v -238.2681 455.5449 242.2446 518.4746 290.1802 519.7402 c -254.5278 536.043 227.0601 450.6201 v -227.0601 450.6201 l -s -0 O -1 g -0 J 1 w 4 M -205.2197 438.3799 m -203.9746 437.0547 206.1802 437.4199 v -217.3926 438.7998 240.9365 484.1953 289.9399 478.7002 c -254.6577 494.3906 205.2197 438.3799 v -F -0 R -0 G -1 J 0.11 w 10 M -205.2197 438.3799 m -203.9746 437.0547 206.1802 437.4199 v -217.3926 438.7998 240.9365 484.1953 289.9399 478.7002 c -254.6577 494.3906 205.2197 438.3799 v -205.2197 438.3799 l -s -0 O -1 g -0 J 1 w 4 M -217.46 445.0996 m -216.6294 443.5898 218.6602 444.3799 v -229.4624 447.8818 243.855 496.9521 292.8198 500.7803 c -255.3633 509.5928 217.46 445.0996 v -F -0 R -0 G -1 J 0.11 w 10 M -217.46 445.0996 m -216.6294 443.5898 218.6602 444.3799 v -229.4624 447.8818 243.855 496.9521 292.8198 500.7803 c -255.3633 509.5928 217.46 445.0996 v -217.46 445.0996 l -s -0 O -1 g -0 J 1 w 4 M -197.2998 432.8594 m -196.4551 431.6914 198.2598 431.8994 v -207.3247 433.1045 226.395 469.877 265.9399 465.2598 c -237.5098 478.1338 197.2998 432.8594 v -F -0 R -0 G -1 J 0.11 w 10 M -197.2998 432.8594 m -196.4551 431.6914 198.2598 431.8994 v -207.3247 433.1045 226.395 469.877 265.9399 465.2598 c -237.5098 478.1338 197.2998 432.8594 v -197.2998 432.8594 l -s -0 O -1 g -0 J 1 w 4 M -189.1401 426.3799 m -187.9497 425.1895 189.6201 425.4199 v -194.2856 425.6572 227.9863 462.0459 248.4199 445.0996 c -235.0854 465.5889 189.1401 426.3799 v -F -0 R -0 G -1 J 0.11 w 10 M -189.1401 426.3799 m -187.9497 425.1895 189.6201 425.4199 v -194.2856 425.6572 227.9863 462.0459 248.4199 445.0996 c -235.0854 465.5889 189.1401 426.3799 v -189.1401 426.3799 l -s -0 O -1 g -0 J 1 w 4 M -265.46 461.4199 m -264.2192 462.9434 266.4199 463.3398 v -268.4697 463.791 401.2441 527.2734 443.0605 513.0195 c -414.4668 525.082 265.46 461.4199 v -F -0 R -0 G -1 J 0.11 w 10 M -265.46 461.4199 m -264.2192 462.9434 266.4199 463.3398 v -268.4697 463.791 401.2441 527.2734 443.0605 513.0195 c -414.4668 525.082 265.46 461.4199 v -265.46 461.4199 l -s -0 O -1 g -0 J 1 w 4 M -228.7402 390.6201 m -228.5215 392.7002 230.4199 391.8193 v -232.4814 390.9395 249.4209 390.2793 235.7002 365.6602 c -246.3418 392.041 228.7402 390.6201 v -F -0 R -0 G -1 J 0.11 w 10 M -228.7402 390.6201 m -228.5215 392.7002 230.4199 391.8193 v -232.4814 390.9395 249.4209 390.2793 235.7002 365.6602 c -246.3418 392.041 228.7402 390.6201 v -228.7402 390.6201 l -s -0 O -1 g -0 J 1 w 4 M -240.2598 392.54 m -239.96 394.46 241.9399 393.5 v -243.9199 392.7002 263.5015 390.2793 265.7002 347.6602 c -257.7798 393.7998 240.2598 392.54 v -F -0 R -0 G -1 J 0.11 w 10 M -240.2598 392.54 m -239.96 394.46 241.9399 393.5 v -243.9199 392.7002 263.5015 390.2793 265.7002 347.6602 c -257.7798 393.7998 240.2598 392.54 v -240.2598 392.54 l -s -0 O -1 g -0 J 1 w 4 M -247.7002 394.2197 m -247.4409 396.2188 249.3799 395.4199 v -251.4009 394.46 278.4609 390.7207 304.3398 355.0996 c -265.2607 395.5586 247.7002 394.2197 v -F -0 R -0 G -1 J 0.11 w 10 M -247.7002 394.2197 m -247.4409 396.2188 249.3799 395.4199 v -251.4009 394.46 278.4609 390.7207 304.3398 355.0996 c -265.2607 395.5586 247.7002 394.2197 v -247.7002 394.2197 l -s -0 O -1 g -0 J 1 w 4 M -256.1001 396.3799 m -255.5674 398.4053 257.54 397.8193 v -259.7266 397.1865 282.2021 399.2764 324.0195 361.5801 c -273.3174 400.1191 256.1001 396.3799 v -F -0 R -0 G -1 J 0.11 w 10 M -256.1001 396.3799 m -255.5674 398.4053 257.54 397.8193 v -259.7266 397.1865 282.2021 399.2764 324.0195 361.5801 c -273.3174 400.1191 256.1001 396.3799 v -256.1001 396.3799 l -s -0 O -1 g -0 J 1 w 4 M -267.3799 401.4199 m -267.0078 403.2461 269.0601 402.6201 v -271.165 402.0273 309.4834 397.0762 366.2598 358.7002 c -284.7559 404.96 267.3799 401.4199 v -F -0 R -0 G -1 J 0.11 w 10 M -267.3799 401.4199 m -267.0078 403.2461 269.0601 402.6201 v -271.165 402.0273 309.4834 397.0762 366.2598 358.7002 c -284.7559 404.96 267.3799 401.4199 v -267.3799 401.4199 l -s -0 O -1 g -0 J 1 w 4 M -222.98 414.1396 m -222.7998 416.0186 224.8999 415.0996 v -226.7598 414.2598 285.5 411.3994 318.9805 381.9795 c -280.5488 409.1719 222.98 414.1396 v -F -0 R -0 G -1 J 0.11 w 10 M -222.98 414.1396 m -222.7998 416.0186 224.8999 415.0996 v -226.7598 414.2598 285.5 411.3994 318.9805 381.9795 c -280.5488 409.1719 222.98 414.1396 v -222.98 414.1396 l -s -0 O -1 g -0 J 1 w 4 M -211.9399 409.5801 m -211.8008 411.6201 213.8599 410.7803 v -215.7607 409.8584 242.8208 406.1191 268.8198 370.46 c -229.6206 410.96 211.9399 409.5801 v -F -0 R -0 G -1 J 0.11 w 10 M -211.9399 409.5801 m -211.8008 411.6201 213.8599 410.7803 v -215.7607 409.8584 242.8208 406.1191 268.8198 370.46 c -229.6206 410.96 211.9399 409.5801 v -211.9399 409.5801 l -s -0 O -1 g -0 J 1 w 4 M -279.3799 406.46 m -278.833 408.2764 281.0601 407.8994 v -283.0688 407.3672 321.6465 405.2354 381.1406 370.9395 c -295.748 408.8672 279.3799 406.46 v -F -0 R -0 G -1 J 0.11 w 10 M -279.3799 406.46 m -278.833 408.2764 281.0601 407.8994 v -283.0688 407.3672 321.6465 405.2354 381.1406 370.9395 c -295.748 408.8672 279.3799 406.46 v -279.3799 406.46 l -s -0 O -1 g -0 J 1 w 4 M -288.7402 409.0996 m -288.0728 410.917 290.1802 410.54 v -292.3086 410.0068 330.8867 407.876 390.5 373.5801 c -305.6479 411.9463 288.7402 409.0996 v -F -0 R -0 G -1 J 0.11 w 10 M -288.7402 409.0996 m -288.0728 410.917 290.1802 410.54 v -292.3086 410.0068 330.8867 407.876 390.5 373.5801 c -305.6479 411.9463 288.7402 409.0996 v -288.7402 409.0996 l -s -0 O -1 g -0 J 1 w 4 M -299.2998 414.6201 m -298.6328 416.415 300.7402 416.0596 v -302.8687 415.5049 350.2471 410.7363 449.0605 373.0996 c -316.208 417.4473 299.2998 414.6201 v -F -0 R -0 G -1 J 0.11 w 10 M -299.2998 414.6201 m -298.6328 416.415 300.7402 416.0596 v -302.8687 415.5049 350.2471 410.7363 449.0605 373.0996 c -316.208 417.4473 299.2998 414.6201 v -299.2998 414.6201 l -s -0 O -0 g -0 J 1 w 4 M -176.8999 406.9395 m -182.54 407.4395 181.2197 405.7402 v -179.8999 403.9209 177.3799 404.7803 y -176.8999 406.9395 l -F -210.7402 391.5801 m -216.4209 392.041 215.0601 390.3799 v -213.7808 388.5195 211.2197 389.4199 y -210.7402 391.5801 l -F -201.1401 392.0596 m -206.7417 392.4795 205.46 390.6201 v -204.1016 388.959 201.3799 389.8994 y -201.1401 392.0596 l -F -96.02 405.0195 m -101.665 403.585 99.8599 402.3799 v -98.0166 401.1221 95.7798 402.8594 y -96.02 405.0195 l -F -98.4199 415.5801 m -103.8633 414.1445 102.02 412.9395 v -100.2178 411.6826 97.9399 413.4199 y -98.4199 415.5801 l -F -90.5 420.3799 m -95.9434 418.9854 94.1001 417.7402 v -92.2974 416.5225 90.02 418.2197 y -90.5 420.3799 l -F -0.8 g -178.1001 337.8193 m -176.3818 337.9209 172.1001 335.6602 v -169.7817 335.7197 157.46 331.7598 151.2197 320.7803 c -164.9409 331.3203 178.1001 337.8193 v -F -274.5801 236.0596 m -274.7842 235.7266 274.8438 235.2627 275.0601 235.3398 c -275.8877 235.2002 277.2441 234.8691 277.2197 235.5801 c -276.1733 240.3057 275.2134 245.7363 270.7402 247.8193 c -269.9648 248.0313 268.3784 247.5771 268.3398 246.6201 c -268.1553 244.9277 268.0278 243.4443 268.3398 241.8193 c -268.6978 240.2695 271.0713 240.2578 272.1802 241.8193 c -273.1113 239.9404 273.5864 237.9121 274.5801 236.0596 c -F -262.3398 230.7803 m -263.2666 229.2461 263.125 227.2012 264.7402 226.7002 c -265.4961 226.2607 267.5313 227.333 267.1401 228.6201 c -266.1895 230.7803 265.7622 233.2441 264.2598 235.3398 c -264.0151 235.5244 264.2769 236.1104 264.02 236.54 c -263.4487 237.8115 262.189 238.623 260.6602 238.2197 c -259.4146 235.8369 260.6768 233.4941 262.3398 231.5 c -262.501 231.4473 262.3184 231.0342 262.3398 230.7803 c -F -218.8999 236.54 m -218.7607 236.9258 218.7197 237.4346 218.8999 237.7393 c -219.4854 238.9229 220.3569 240.1592 220.1001 241.3398 c -219.603 242.4434 218.377 242.2441 217.7002 241.5801 c -216.4136 240.5234 216.3584 238.5146 215.54 237.0195 c -215.3838 236.5947 215.4395 235.9658 215.0601 235.5801 c -214.4336 235.0732 213.9487 233.3955 214.1001 232.7002 c -214.1118 232.4238 213.9102 221.5254 214.1001 221.8994 c -214.8369 222.6201 218.1919 233.3291 218.1802 234.3799 c -218.3311 235.1143 219.1353 235.625 218.8999 236.54 c -F -190.5801 243.9795 m -193.5752 246.7305 196.6445 249.9893 196.1001 254.0596 c -196.0303 255.1445 194.0767 254.5664 193.9399 253.5801 c -192.9897 249.6465 190.748 246.7207 187.9399 243.9795 c -185.5063 241.8369 183.459 234.8594 183.1401 234.3799 c -187.2681 240.082 189.7495 243.1016 190.5801 243.9795 c -F -175.7002 250.46 m -176.3218 250.9492 175.9902 251.4893 176.1802 251.8994 c -177.2769 253.457 178.707 254.8281 178.8198 256.7002 c -178.731 257.0449 178.3159 257.3857 177.8599 257.1797 c -177.6416 256.9375 177.2646 256.793 177.1401 256.7002 c -174.915 253.957 173.3745 251.0186 171.8599 247.8193 c -171.5864 247.5322 170.3262 242.5928 170.6602 242.54 c -170.9336 242.377 172.8271 246.9746 173.0601 247.0996 c -174.4473 247.8555 174.459 249.6318 175.7002 250.46 c -F -194.1802 229.0996 m -194.6406 230 196.3735 231.3223 196.3398 232.2197 c -196.1216 233.3213 196.6353 234.9082 195.6201 234.1396 c -194.2495 233.1074 190.4551 231.625 190.1001 225.2598 c -190.1313 224.6064 193.4023 227.5713 194.1802 229.0996 c -F -210.02 247.8193 m -210.481 248.6738 211.2583 248.1533 211.7002 248.54 c -212.4775 248.8516 213.1494 249.4658 213.3799 250.2197 c -214.5366 252.543 216.4834 254.5469 216.7402 257.1797 c -215 258.7256 214.2534 256.4814 213.6201 255.5 c -212.1055 257.2305 211.0063 255.1709 209.54 254.54 c -209.499 254.5684 209.2642 254.9502 209.2998 255.0195 c -207.8862 254.4365 207.1401 253.2461 205.9399 252.3799 c -205.8535 252.2402 205.4097 252.4395 205.2197 252.3799 c -204.5288 251.626 203.4585 251.2686 203.0601 250.46 c -201.9297 247.541 198.4761 245.2354 196.3398 237.0195 c -196.8198 235.9395 201.3633 244.2461 201.8599 244.9395 c -202.8198 246.3291 202.9497 243.1875 204.2598 243.9795 c -204.4087 243.9482 204.6128 243.6865 204.7402 243.5 c -204.9727 243.8477 205.2129 244.0996 205.7002 243.9795 c -205.6401 244.4189 205.4937 245.0313 205.7002 245.1797 c -207.0752 246.2813 206.9814 247.4551 207.8599 248.7803 c -208.3447 247.9521 209.5112 248.7412 210.02 247.8193 c -F -275.7798 188.0596 m -283.9614 210.54 279.1401 222.8594 v -291.6606 199.0996 286.5801 186.8594 v -286.1602 198.2188 281.7798 203.6602 v -277.3613 189.6387 275.7798 188.0596 v -F -259.46 190.9395 m -265.4814 200.6406 256.5801 220.9395 v -255.7998 198.4395 248.4199 186.3799 v -263.9409 208.5605 259.46 190.9395 v -F -248.6602 193.0996 m -248.3218 215.1602 248.6602 218.54 v -244.5801 200.1992 233.2998 189.7393 v -249.2002 202.8389 248.6602 193.0996 v -F -238.1001 228.3799 m -244.5801 213.3994 233.54 193.0996 v -240.6201 206.5781 235.46 214.2197 v -238.2007 218.0186 238.1001 228.3799 v -F -216.98 193.5801 m -215.7607 210.7588 217.7002 213.2598 v -217.9614 220.2197 217.46 221.4199 v -221.9214 228.1396 222.2598 219.9795 v -223.6807 211.4189 226.8198 206.2998 v -230.7197 200.4199 230.4199 193.3398 v -219.5 226.5986 216.98 193.5801 v -F -212.8999 224.0596 m -205.6401 212.0791 203.7798 191.1797 v -202.1216 198.001 206.4199 213.7393 v -210.9199 230.7803 212.8999 224.0596 v -F -188.8999 202.2197 m -194.4199 208.1191 195.8599 213.5 v -199.9209 231.001 192.98 221.4199 v -193.1001 212.7393 184.1001 204.6201 v -189.3608 207.2402 188.8999 202.2197 v -F -182.6602 207.7393 m -186.2817 226.8193 187.2197 227.6602 v -189.1401 231.4395 186.02 227.8994 v -176.3818 206.7988 172.1001 199.5801 v -180.7808 209.6602 182.6602 207.7393 v -F -176.1802 225.9795 m -188.9214 250.5801 164.8999 222.1396 v -177.0415 232.9785 176.1802 225.9795 v -F -159.1401 242.0596 m -164.5015 262.6777 167.2998 262.46 v -176.3818 272.3594 169.2197 260.7803 v -162.5215 250.1406 163.2197 239.4199 v -162.5215 249.9199 159.1401 242.0596 v -F -522.5 254.54 m -509.3496 265.541 506.6602 269.4199 v -521.4512 249.041 521.54 241.3398 v -524.2012 249.5908 522.5 254.54 v -F -528.5 278.7803 m -505.501 295.2412 501.6201 303.5 v -530.8018 271.04 530.9004 266.0596 v -531.3516 275.9912 528.5 278.7803 v -F -547.2197 448.2197 m -534.1016 456.9414 532.3398 454.7002 v -544.002 447.5908 546.7402 438.1396 v -545.1006 448.1406 547.2197 448.2197 v -F -556.5801 359.6602 m -537.3799 372.8594 l -558.3008 354.0918 558.7402 349.5801 v -556.5801 359.6602 l -F -*u -0 R -0 G -1 J 1.1 w 10 M -126.7402 384.3799 m -150.98 379.0996 l -S -1 D -182.1802 206.0596 m -181.5513 209.9912 171.6201 198.3799 v -S -188.1802 200.54 m -190.3496 207.79 183.1401 202.9395 v -S -247.46 191.1797 m -249.2002 203.3906 236.6602 189.0195 v -S -*U -U -%%PageTrailer -gsave annotatepage grestore showpage -%%Trailer -Adobe_Illustrator_AI3 /terminate get exec -Adobe_pattern_AI3 /terminate get exec -Adobe_customcolor /terminate get exec -Adobe_cshow /terminate get exec -Adobe_cmykcolor /terminate get exec -Adobe_packedarray /terminate get exec -%%EOF +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(TM) 3.2 +%%AI8_CreatorVersion: 12.0.0 +%%For: (fluxus) (x) +%%Title: (tiger.ai) +%%CreationDate: 4/14/2006 11:35 PM +%%BoundingBox: 22 167 567 730 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%DocumentNeededResources: procset Adobe_packedarray 2.0 0 +%%+ procset Adobe_cmykcolor 1.1 0 +%%+ procset Adobe_cshow 1.1 0 +%%+ procset Adobe_customcolor 1.0 0 +%%+ procset Adobe_pattern_AI3 1.0 0 +%%+ procset Adobe_Illustrator_AI3 1.0 1 +%AI3_ColorUsage: Color +%%CMYKCustomColor: 0.74902 0.678431 0.670588 0.901961 ([Registration]) +%AI3_TemplateBox: 306.5 396.5 306.5 396.5 +%AI3_TileBox: 0 1 612 793 +%AI3_DocumentPreview: None +%%PageOrigin:0 0 +%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments +%%BeginProlog +%%IncludeResource: procset Adobe_packedarray 2.0 0 +Adobe_packedarray /initialize get exec +%%IncludeResource: procset Adobe_cmykcolor 1.1 0 +%%IncludeResource: procset Adobe_cshow 1.1 0 +%%IncludeResource: procset Adobe_customcolor 1.0 0 +%%IncludeResource: procset Adobe_pattern_AI3 1.0 0 +%%IncludeResource: procset Adobe_Illustrator_AI3 1.0 1 +%%EndProlog +0 A +u +0 O +1 g +0 J 0 j 1 w 4 M []0 d +90.5 477.5 m +90.5767 475.4434 89.7798 475.5801 v +88.7646 475.4863 70.6641 528.3682 48.02 525.9795 c +67.6445 533.9883 90.5 477.5 v +F +0 R +0 G +0.1892 w 10 M +90.5 477.5 m +90.5767 475.4434 89.7798 475.5801 v +88.7646 475.4863 70.6641 528.3682 48.02 525.9795 c +67.6445 533.9883 90.5 477.5 v +90.5 477.5 l +s +0 O +1 g +1 w 4 M +94.3398 480.8594 m +93.7446 478.8555 92.8999 479.1797 v +92.0552 479.5107 93.0249 535.3975 71.0601 540.8594 c +92.0981 541.709 94.3398 480.8594 v +F +0 R +0 G +0.1892 w 10 M +94.3398 480.8594 m +93.7446 478.8555 92.8999 479.1797 v +92.0552 479.5107 93.0249 535.3975 71.0601 540.8594 c +92.0981 541.709 94.3398 480.8594 v +94.3398 480.8594 l +s +0 O +1 g +1 w 4 M +124.5801 434.2998 m +126.3872 433.2363 125.7798 432.3799 v +125.3525 431.7461 71.2617 445.8291 60.98 425.6602 c +64.9063 446.4102 124.5801 434.2998 v +F +0 R +0 G +0.1892 w 10 M +124.5801 434.2998 m +126.3872 433.2363 125.7798 432.3799 v +125.3525 431.7461 71.2617 445.8291 60.98 425.6602 c +64.9063 446.4102 124.5801 434.2998 v +124.5801 434.2998 l +s +0 O +1 g +1 w 4 M +121.46 423.0195 m +123.5381 422.624 123.3799 421.8193 v +123.0249 420.8838 67.2534 417.207 63.8599 394.7002 c +61.04 415.7598 121.46 423.0195 v +F +0 R +0 G +0.1892 w 10 M +121.46 423.0195 m +123.5381 422.624 123.3799 421.8193 v +123.0249 420.8838 67.2534 417.207 63.8599 394.7002 c +61.04 415.7598 121.46 423.0195 v +121.46 423.0195 l +s +0 O +1 g +1 w 4 M +116.8999 429.0195 m +118.8223 428.4082 118.3398 427.5801 v +118.0615 426.7617 62.3481 431.2617 55.7002 409.5801 c +55.9902 430.7334 116.8999 429.0195 v +F +0 R +0 G +0.1892 w 10 M +116.8999 429.0195 m +118.8223 428.4082 118.3398 427.5801 v +118.0615 426.7617 62.3481 431.2617 55.7002 409.5801 c +55.9902 430.7334 116.8999 429.0195 v +116.8999 429.0195 l +s +0 O +1 g +1 w 4 M +105.1401 449.1797 m +106.5298 447.6514 105.8599 447.0195 v +105.123 446.5039 57.0054 474.9434 41.54 458.2998 c +51.0586 477.2549 105.1401 449.1797 v +F +0 R +0 G +0.1892 w 10 M +105.1401 449.1797 m +106.5298 447.6514 105.8599 447.0195 v +105.123 446.5039 57.0054 474.9434 41.54 458.2998 c +51.0586 477.2549 105.1401 449.1797 v +105.1401 449.1797 l +s +0 O +1 g +1 w 4 M +96.7402 444.6201 m +98.3936 443.2139 97.7002 442.46 v +97.1265 441.9131 46.0977 464.7266 32.4199 446.54 c +39.9297 466.3496 96.7402 444.6201 v +F +0 R +0 G +0.1892 w 10 M +96.7402 444.6201 m +98.3936 443.2139 97.7002 442.46 v +97.1265 441.9131 46.0977 464.7266 32.4199 446.54 c +39.9297 466.3496 96.7402 444.6201 v +96.7402 444.6201 l +s +0 O +1 g +1 w 4 M +93.8599 440.0596 m +95.6982 438.9629 95.0601 438.1396 v +94.6206 437.5059 40.9614 453.1494 30.02 433.3398 c +34.6279 453.917 93.8599 440.0596 v +F +0 R +0 G +0.1892 w 10 M +93.8599 440.0596 m +95.6982 438.9629 95.0601 438.1396 v +94.6206 437.5059 40.9614 453.1494 30.02 433.3398 c +34.6279 453.917 93.8599 440.0596 v +93.8599 440.0596 l +s +0 O +1 g +1 w 4 M +105.6201 439.3398 m +106.9736 437.7129 106.1001 437.1797 v +105.4302 436.7549 61.3545 471.1279 43.7002 456.6201 c +55.7529 474.1826 105.6201 439.3398 v +F +0 R +0 G +0.1892 w 10 M +105.6201 439.3398 m +106.9736 437.7129 106.1001 437.1797 v +105.4302 436.7549 61.3545 471.1279 43.7002 456.6201 c +55.7529 474.1826 105.6201 439.3398 v +105.6201 439.3398 l +s +0 O +1 g +1 w 4 M +84.02 471.2598 m +84.6416 469.2607 83.7798 469.0996 v +82.8799 468.8213 51.4209 515.0215 30.2598 506.7803 c +47.0215 519.6416 84.02 471.2598 v +F +0 R +0 G +0.1892 w 10 M +84.02 471.2598 m +84.6416 469.2607 83.7798 469.0996 v +82.8799 468.8213 51.4209 515.0215 30.2598 506.7803 c +47.0215 519.6416 84.02 471.2598 v +84.02 471.2598 l +s +0 O +1 g +1 w 4 M +84.7402 463.5801 m +85.8174 461.7725 84.98 461.4199 v +84.1929 460.9639 43.5078 499.292 24.7402 486.6201 c +38.2158 502.8535 84.7402 463.5801 v +F +0 R +0 G +0.1892 w 10 M +84.7402 463.5801 m +85.8174 461.7725 84.98 461.4199 v +84.1929 460.9639 43.5078 499.292 24.7402 486.6201 c +38.2158 502.8535 84.7402 463.5801 v +84.7402 463.5801 l +s +0 O +1 g +1 w 4 M +84.5 458.7803 m +85.8535 457.0732 84.98 456.6201 v +84.3105 456.1182 40.2344 490.4883 22.5801 476.0596 c +34.6328 493.541 84.5 458.7803 v +F +0 R +0 G +0.1892 w 10 M +84.5 458.7803 m +85.8535 457.0732 84.98 456.6201 v +84.3105 456.1182 40.2344 490.4883 22.5801 476.0596 c +34.6328 493.541 84.5 458.7803 v +84.5 458.7803 l +s +0 O +1 g +1 w 4 M +82.1001 456.8594 m +82.7407 450.2168 83.8281 442.9902 85.7002 439.5801 c +81.7808 425.9189 91.46 411.5 v +91.0205 403.4795 92.8999 399.9795 v +97.1816 390.7207 102.5 389.8994 v +106.7334 389.1299 116.3286 385.7529 127.2197 384.1396 c +146.0215 368.7197 142.5801 354.6201 v +142.0615 336.6006 138.02 334.9395 v +150.8599 347.1582 140.4199 328.7002 v +135.3799 308.0596 l +163.6206 331.7598 146.4199 311.4199 v +135.3799 282.8594 l +157.0205 303.1592 149.0601 293.8994 v +145.7002 284.2998 l +193.1001 314.1582 159.1401 281.6602 v +168.02 285.5596 172.8198 282.3799 v +180.3418 283.8008 179.54 282.1396 v +156.5815 270.6006 152.6602 250.46 v +161.8613 261.3584 158.4199 249.5 v +158.8999 236.7803 l +163.1816 260.4795 162.7402 219.0195 v +183.8599 238.9209 171.1401 216.1396 v +171.1401 197.6602 l +187.8198 215.5996 180.7402 201.5 v +191.7798 211.2002 187.46 194.54 v +186.5 183.0391 191.2998 195.2598 v +208.9399 229.0205 202.3398 200.2998 v +201.4614 179.0791 206.6602 195.2598 v +207.1807 183.9199 217.2197 176.0596 v +215.9814 231.8789 230.1802 192.3799 v +234.5 174.1396 l +237.541 184.3594 237.1401 189.9795 v +253.3809 208.1191 246.02 181.3398 v +262.6206 206.3594 259.2197 191.8994 v +250.7407 174.2402 252.5 168.8594 v +270.98 207.2402 272.4199 208.9395 v +270.1016 162.3584 282.02 201.9795 v +288.1401 188.7607 285.1401 183.9795 v +293.8613 192.7207 293.0601 196.2197 v +298.04 205.2607 301.2197 190.2197 v +303.1016 179.96 304.8198 183.5 v +309.2598 157.0781 310.5801 182.0596 v +312.3418 197.1201 304.3398 209.8994 v +305.2998 213.3994 302.1802 217.8193 v +317.1797 194.04 309.3799 225.7393 v +321.582 216.9199 322.8203 216.8594 v +307.9395 242.4385 317.54 237.2598 v +311.9004 248.5996 331.7002 235.3398 v +314.1006 252.999 333.3799 242.54 v +342.2617 235.3994 333.8594 246.3799 v +318.0605 264.001 342.2598 244.2197 v +355.0205 226.1602 355.9395 223.0996 v +344.9023 255.2002 340.0996 258.3799 v +349.3018 298.3203 394.5801 281.1797 v +402.1016 262.2393 407.0605 282.3799 v +421.0215 289.5195 433.46 259.0996 v +437.7422 274.1191 436.8203 277.0996 v +444.3418 275.8779 443.54 277.0996 v +457.9805 272.3594 459.3799 273.2598 v +466.7813 265.7598 467.2998 269.6602 v +477.3418 266.6406 475.2197 270.6201 v +484.8223 253.4404 485.2998 249.5 v +487.9395 264.8594 l +490.0996 261.7393 l +491.8613 270.1592 491.0605 271.5801 v +490.1025 272.7988 512.9814 264.001 518.1797 241.0996 c +520.5801 231.9795 l +527.0625 248.1602 525.3799 252.6201 v +531.0225 251.6787 531.3799 246.8594 v +535.8613 272.3594 530.6602 279.0195 v +535.4219 279.8408 536.6602 275.8994 v +536.6602 283.8193 l +544.6621 282.9199 544.5801 285.5 v +549.502 289.959 551.7793 284.7803 v +538.0615 323.4004 558.2598 302.2998 v +566.2207 290.4004 562.3398 311.1797 v +558.3008 331.7598 553.9014 333.5186 559.2207 333.9795 c +560.0625 337.9209 557.7793 339.7393 v +555.6602 341.4385 559.2207 339.7393 y +564.4609 335.2803 558.7402 359.4199 v +565.7813 357.7207 552.5 389.8994 v +555.6602 392.4795 551.2998 401.6602 v +560.0625 396.8789 563.0605 398.54 v +562.7021 400.3994 559.2207 404.7803 v +535.4219 465.0801 557.7793 440.7803 v +570.8965 425.9746 563.7793 451.0996 v +553.834 477.4658 554.6602 482.2998 v +82.1001 456.8594 l +F +0 R +0 G +1.1 w 10 M +82.1001 456.8594 m +82.7407 450.2168 83.8281 442.9902 85.7002 439.5801 c +81.7808 425.9189 91.46 411.5 v +91.0205 403.4795 92.8999 399.9795 v +97.1816 390.7207 102.5 389.8994 v +106.7334 389.1299 116.3286 385.7529 127.2197 384.1396 c +146.0215 368.7197 142.5801 354.6201 v +142.0615 336.6006 138.02 334.9395 v +150.8599 347.1582 140.4199 328.7002 v +135.3799 308.0596 l +163.6206 331.7598 146.4199 311.4199 v +135.3799 282.8594 l +157.0205 303.1592 149.0601 293.8994 v +145.7002 284.2998 l +193.1001 314.1582 159.1401 281.6602 v +168.02 285.5596 172.8198 282.3799 v +180.3418 283.8008 179.54 282.1396 v +156.5815 270.6006 152.6602 250.46 v +161.8613 261.3584 158.4199 249.5 v +158.8999 236.7803 l +163.1816 260.4795 162.7402 219.0195 v +183.8599 238.9209 171.1401 216.1396 v +171.1401 197.6602 l +187.8198 215.5996 180.7402 201.5 v +191.7798 211.2002 187.46 194.54 v +186.5 183.0391 191.2998 195.2598 v +208.9399 229.0205 202.3398 200.2998 v +201.4614 179.0791 206.6602 195.2598 v +207.1807 183.9199 217.2197 176.0596 v +215.9814 231.8789 230.1802 192.3799 v +234.5 174.1396 l +237.541 184.3594 237.1401 189.9795 v +253.3809 208.1191 246.02 181.3398 v +262.6206 206.3594 259.2197 191.8994 v +250.7407 174.2402 252.5 168.8594 v +270.98 207.2402 272.4199 208.9395 v +270.1016 162.3584 282.02 201.9795 v +288.1401 188.7607 285.1401 183.9795 v +293.8613 192.7207 293.0601 196.2197 v +298.04 205.2607 301.2197 190.2197 v +303.1016 179.96 304.8198 183.5 v +309.2598 157.0781 310.5801 182.0596 v +312.3418 197.1201 304.3398 209.8994 v +305.2998 213.3994 302.1802 217.8193 v +317.1797 194.04 309.3799 225.7393 v +321.582 216.9199 322.8203 216.8594 v +307.9395 242.4385 317.54 237.2598 v +311.9004 248.5996 331.7002 235.3398 v +314.1006 252.999 333.3799 242.54 v +342.2617 235.3994 333.8594 246.3799 v +318.0605 264.001 342.2598 244.2197 v +355.0205 226.1602 355.9395 223.0996 v +344.9023 255.2002 340.0996 258.3799 v +349.3018 298.3203 394.5801 281.1797 v +402.1016 262.2393 407.0605 282.3799 v +421.0215 289.5195 433.46 259.0996 v +437.7422 274.1191 436.8203 277.0996 v +444.3418 275.8779 443.54 277.0996 v +457.9805 272.3594 459.3799 273.2598 v +466.7813 265.7598 467.2998 269.6602 v +477.3418 266.6406 475.2197 270.6201 v +484.8223 253.4404 485.2998 249.5 v +487.9395 264.8594 l +490.0996 261.7393 l +491.8613 270.1592 491.0605 271.5801 v +490.1025 272.7988 512.9814 264.001 518.1797 241.0996 c +520.5801 231.9795 l +527.0625 248.1602 525.3799 252.6201 v +531.0225 251.6787 531.3799 246.8594 v +535.8613 272.3594 530.6602 279.0195 v +535.4219 279.8408 536.6602 275.8994 v +536.6602 283.8193 l +544.6621 282.9199 544.5801 285.5 v +549.502 289.959 551.7793 284.7803 v +538.0615 323.4004 558.2598 302.2998 v +566.2207 290.4004 562.3398 311.1797 v +558.3008 331.7598 553.9014 333.5186 559.2207 333.9795 c +560.0625 337.9209 557.7793 339.7393 v +555.6602 341.4385 559.2207 339.7393 y +564.4609 335.2803 558.7402 359.4199 v +565.7813 357.7207 552.5 389.8994 v +555.6602 392.4795 551.2998 401.6602 v +560.0625 396.8789 563.0605 398.54 v +562.7021 400.3994 559.2207 404.7803 v +535.4219 465.0801 557.7793 440.7803 v +570.8965 425.9746 563.7793 451.0996 v +553.834 477.4658 554.6602 482.2998 v +82.1001 456.8594 l +82.1001 456.8594 l +s +0 O +0.164706 0.627451 1 0.031373 k +1 w 4 M +554.6602 482.0596 m +555.3799 481.7715 557.8066 480.5361 559.2197 478.7002 c +566.6621 466.8418 560.9004 487.0996 v +550.8223 518.7607 560.4199 506.54 v +567.1016 498.5215 563.54 513.5 v +559.3301 531.5498 556.5801 538.46 y +569.3027 533.2803 539.7793 576.8594 v +549.6201 572.7793 l +527.9414 616.4404 504.2598 622.2197 v +495.3799 628.7002 l +537.623 670.5605 523.46 711.0195 v +516.0605 716.7607 505.46 706.7002 v +498.4609 701.3594 491.7793 703.0996 v +457.9805 701.8018 455.7793 701.8994 v +453.582 701.8018 415.3018 742.7217 343.2197 723.2598 c +337.4219 721.1602 332.6602 722.54 v +312.3418 740.0811 258.7397 715.0996 v +247.6616 712.8008 246.02 712.7002 v +244.1406 712.8008 241.0615 712.8008 232.3398 705.7393 c +223.46 698.7197 223.0205 697.8418 220.8198 696.1396 c +202.7817 683.7607 197.54 682.9395 v +184.7407 675.8408 180.02 664.9395 v +175.9399 663.5 l +174.1807 655.6016 173.7798 654.3799 v +168.4614 650.3213 167.54 644.0596 v +157.9014 637.5605 158.4199 632.7793 v +156.5815 627.001 155.7798 621.7393 v +147.7808 616.4404 148.5801 613.3398 v +140.2998 597.9609 141.6201 590.54 v +134.5806 590.9209 131.54 588.3799 v +130.6206 583.001 128.8999 582.6201 v +125.7798 581.2393 128.4199 576.8594 v +126.6606 573.7617 126.2598 572.0596 v +127.1001 568.9209 122.1797 562.7002 v +115.2197 542.0811 117.3799 536.2998 v +117.8599 531.0801 114.7397 529.3398 v +110.8208 529.7598 120.02 516.6201 v +120.9414 515.2393 117.3799 512.54 v +98.5015 508.6396 95.7798 490.7002 v +80.8999 474.3193 80.8999 468.6201 v +80.8999 466.0664 81.1973 462.6025 81.8599 457.5801 c +81.3418 448.3594 111.6201 447.5 v +142.0615 446.5996 554.6602 482.0596 y +F +0 R +0 G +1.1 w 10 M +554.6602 482.0596 m +555.3799 481.7715 557.8066 480.5361 559.2197 478.7002 c +566.6621 466.8418 560.9004 487.0996 v +550.8223 518.7607 560.4199 506.54 v +567.1016 498.5215 563.54 513.5 v +559.3301 531.5498 556.5801 538.46 y +569.3027 533.2803 539.7793 576.8594 v +549.6201 572.7793 l +527.9414 616.4404 504.2598 622.2197 v +495.3799 628.7002 l +537.623 670.5605 523.46 711.0195 v +516.0605 716.7607 505.46 706.7002 v +498.4609 701.3594 491.7793 703.0996 v +457.9805 701.8018 455.7793 701.8994 v +453.582 701.8018 415.3018 742.7217 343.2197 723.2598 c +337.4219 721.1602 332.6602 722.54 v +312.3418 740.0811 258.7397 715.0996 v +247.6616 712.8008 246.02 712.7002 v +244.1406 712.8008 241.0615 712.8008 232.3398 705.7393 c +223.46 698.7197 223.0205 697.8418 220.8198 696.1396 c +202.7817 683.7607 197.54 682.9395 v +184.7407 675.8408 180.02 664.9395 v +175.9399 663.5 l +174.1807 655.6016 173.7798 654.3799 v +168.4614 650.3213 167.54 644.0596 v +157.9014 637.5605 158.4199 632.7793 v +156.5815 627.001 155.7798 621.7393 v +147.7808 616.4404 148.5801 613.3398 v +140.2998 597.9609 141.6201 590.54 v +134.5806 590.9209 131.54 588.3799 v +130.6206 583.001 128.8999 582.6201 v +125.7798 581.2393 128.4199 576.8594 v +126.6606 573.7617 126.2598 572.0596 v +127.1001 568.9209 122.1797 562.7002 v +115.2197 542.0811 117.3799 536.2998 v +117.8599 531.0801 114.7397 529.3398 v +110.8208 529.7598 120.02 516.6201 v +120.9414 515.2393 117.3799 512.54 v +98.5015 508.6396 95.7798 490.7002 v +80.8999 474.3193 80.8999 468.6201 v +80.8999 466.0664 81.1973 462.6025 81.8599 457.5801 c +81.3418 448.3594 111.6201 447.5 v +142.0615 446.5996 554.6602 482.0596 y +554.6602 482.0596 l +s +0 O +0.164706 0.627451 1 0.031373 k +1 w 4 M +97.9399 457.3398 m +70.3398 500.7197 86.1802 438.6201 y +95.8613 400.8389 238.3398 442.2197 y +424.1025 475.6396 436.3398 480.1396 v +448.7402 484.4404 553.46 477.5 y +547.2207 495.9795 l +476.0215 546.9199 454.9014 521.4004 439.9395 525.7402 c +424.9805 530.2012 427.6211 519.6416 424.0996 518.7803 c +420.582 517.8799 377.4609 545.1602 370.3398 544.2197 c +363.3828 543.4014 335.5059 569.5273 351.8594 534.6201 c +369.541 497.2012 287.7007 491.4795 269.2998 503.8994 c +250.7407 516.1201 277.2197 483.5 y +297.3799 461.5615 259.46 480.1396 y +221.7007 494.1201 195.3008 465.9609 191.7798 465.0195 c +188.2617 464.2012 182.9814 460.6807 182.1802 467.6602 c +181.2197 474.7617 172.959 493.1309 138.02 464.2998 c +116.1006 445.9395 100.8198 470.0596 y +97.9399 457.3398 l +F +0.054902 0.607843 0.878431 0 k +371.7793 542.2998 m +364.8203 541.4814 336.918 567.5938 353.2998 532.7002 c +371.6406 493.9609 289.1406 489.5596 270.7402 501.9795 c +252.1807 514.2002 278.6602 481.5801 y +298.8198 459.6416 260.8999 478.2197 y +223.1406 492.2002 196.7407 464.04 193.2197 463.0996 c +189.7017 462.2813 184.4214 458.7607 183.6201 465.7393 c +182.6602 472.8418 174.543 491.0283 139.46 462.3799 c +116.1802 443.1992 101.2998 466.7002 y +97.9399 455.6602 l +70.3208 499.46 86.8999 435.2598 y +96.5815 397.4785 239.7798 440.2998 y +425.54 473.7197 437.7793 478.2197 v +450.1807 482.5205 553.9395 475.5801 y +547.9395 494.54 l +476.5801 545.6406 456.3418 519.4805 441.3799 523.8193 c +426.4209 528.2813 429.0605 517.7217 425.54 516.8594 c +422.0215 515.96 378.9004 543.2402 371.7793 542.2998 c +F +0.047059 0.537255 0.772549 0 k +373.2197 540.3799 m +366.2598 539.5615 339.0537 565.9922 354.7402 530.7793 c +372.6416 490.9395 290.5806 487.6396 272.1802 500.0596 c +253.6206 512.2783 280.1001 479.6602 y +300.2598 457.7188 262.3398 476.2998 y +224.5806 490.2793 198.1807 462.1182 194.6602 461.1797 c +191.1392 460.3594 185.8594 456.8379 185.0601 463.8193 c +184.1001 470.9189 176.127 488.9238 140.8999 460.46 c +116.2593 440.458 101.7798 463.3398 y +97.7002 453.9795 l +71.6216 496.8799 87.6201 431.8994 y +97.3018 394.1191 241.2197 438.3799 y +426.9805 471.7998 439.2197 476.2998 v +451.6211 480.5977 554.4199 473.6602 y +548.4199 493.3398 l +477.1406 544.3594 457.7813 517.5605 442.8203 521.8994 c +427.8613 526.3613 430.501 515.8018 426.9805 514.9395 c +423.4609 514.04 380.3408 541.3203 373.2197 540.3799 c +F +0.039216 0.462745 0.67451 0 k +374.6602 538.46 m +367.7002 537.6416 340.498 564.0752 356.1797 528.8594 c +374.7422 487.5293 291.4326 486.1113 273.6201 498.1396 c +255.0605 510.3604 281.54 477.7393 y +301.7002 455.8018 263.7798 474.3799 y +226.0205 488.3594 199.6206 460.2002 196.1001 459.2598 c +192.5815 458.4414 187.3018 454.9209 186.5 461.8994 c +185.54 469.001 177.7134 486.8164 142.3398 458.54 c +116.3408 437.7197 102.2598 460.2197 y +97.7002 452.2998 l +73.7983 492.7617 88.3398 428.54 y +98.0215 390.7588 242.6602 436.46 y +428.4199 469.8799 440.6602 474.3799 v +453.0625 478.6807 554.9004 471.9795 y +548.9004 492.1396 l +477.7012 543.0801 459.2217 515.6406 444.2598 519.9795 c +429.3008 524.4414 431.9414 513.8818 428.4199 513.0195 c +424.9014 512.1201 381.7813 539.4004 374.6602 538.46 c +F +0.035294 0.396078 0.572549 0 k +376.0996 536.54 m +369.1406 535.7188 342.4951 562.3994 357.6201 526.9395 c +376.1816 483.7998 293.4609 483.7998 275.0601 496.2197 c +256.501 508.4385 282.98 475.8193 y +303.1401 453.8789 265.2197 472.46 y +227.4609 486.4395 201.0605 458.2783 197.54 457.3398 c +194.0215 456.5186 188.7417 452.998 187.9399 459.9795 c +186.98 467.0791 179.2974 484.7139 143.7798 456.6201 c +116.4199 434.9785 102.5 456.8594 y +97.7002 450.6201 l +75.98 488.8613 89.0601 425.1797 y +98.7393 387.3994 244.1001 434.54 y +429.8623 467.96 442.0996 472.46 v +454.5039 476.7578 555.3799 470.0596 y +549.6201 490.7002 l +478.2637 541.8008 460.6621 513.7178 445.7002 518.0596 c +430.7432 522.5186 433.3828 511.959 429.8594 511.0996 c +426.3418 510.2002 383.2227 537.4785 376.0996 536.54 c +F +0.031373 0.333333 0.470588 0 k +377.54 534.6201 m +370.582 533.8018 342.0225 559.5967 359.0605 525.0195 c +380.2617 482.3213 294.9009 481.8799 276.5 494.2998 c +257.9409 506.5205 284.4199 473.8994 y +304.5801 451.959 266.6602 470.54 y +228.9009 484.5195 202.501 456.3604 198.98 455.4199 c +195.4614 454.6016 190.1816 451.0801 189.3799 458.0596 c +188.4199 465.1592 180.8818 482.6094 145.2197 454.7002 c +116.5015 432.2383 102.98 453.5 y +97.7002 448.9395 l +77.9409 485.4004 89.7798 421.8193 y +99.4614 384.0391 245.54 432.6201 y +431.3027 466.04 443.54 470.54 v +455.9434 474.8408 555.8594 468.1396 y +550.0996 489.5 l +478.8223 540.5186 462.1016 511.8008 447.1406 516.1396 c +432.1836 520.6016 434.8232 510.0391 431.2998 509.1797 c +427.7813 508.2793 384.6631 535.5605 377.54 534.6201 c +F +0.027451 0.278431 0.372549 0 k +378.9805 532.7002 m +372.0195 531.8818 343.0449 557.4678 360.5 523.0996 c +383.0215 479.0791 296.3408 479.96 277.9399 492.3799 c +259.3809 504.5977 285.8599 471.9795 y +306.02 450.0391 268.1001 468.6201 y +230.3408 482.5996 203.9409 454.4385 200.4199 453.5 c +196.9014 452.6787 191.6216 449.1582 190.8198 456.1396 c +189.8599 463.2393 182.4658 480.5049 146.6602 452.7793 c +116.5806 429.5 103.46 450.1396 y +97.7002 447.2598 l +80.1201 480.3994 90.5 418.46 y +100.1792 380.6787 246.98 430.7002 y +432.7422 464.1201 444.9805 468.6201 v +457.3828 472.918 556.3398 466.46 y +550.5801 488.2998 l +479.3818 539.2393 463.541 509.8779 448.5801 514.2197 c +433.623 518.6816 436.2637 508.1191 432.7402 507.2598 c +429.2217 506.3594 386.1035 533.6406 378.9805 532.7002 c +F +0.019608 0.215686 0.286275 0 k +380.4199 530.7793 m +373.4629 529.959 343.2754 554.9023 361.9395 521.1797 c +386.2227 477.6006 297.7808 478.04 279.3799 490.46 c +260.8208 502.6807 287.2998 470.0596 y +307.46 448.1191 269.54 466.7002 y +231.7808 480.6797 205.3809 452.5205 201.8599 451.5801 c +198.3418 450.7588 193.0615 447.2402 192.2598 454.2197 c +191.2998 461.3193 184.0498 478.3994 148.1001 450.8594 c +116.6602 426.7588 103.9399 446.7793 y +97.7002 445.5801 l +81.8599 476.7197 91.2197 415.0996 y +100.9014 377.3193 248.4199 428.7793 y +434.1826 462.2002 446.4199 466.7002 v +458.8232 471.001 556.8203 464.54 y +551.2998 486.8594 l +479.9434 537.9609 464.9814 507.9609 450.0195 512.2998 c +435.0625 516.7588 437.7031 506.1992 434.1797 505.3398 c +430.6621 504.4395 387.543 531.7207 380.4199 530.7793 c +F +0.015686 0.156863 0.203922 0 k +381.8594 528.8594 m +374.9023 528.0391 344.7148 552.9824 363.3799 519.2598 c +387.6631 475.6777 299.2231 476.1201 280.8198 488.54 c +262.2607 500.7578 288.7402 468.1396 y +308.9023 446.1992 270.98 464.7793 y +233.2207 478.7598 206.8208 450.5977 203.2998 449.6602 c +199.7817 448.8389 194.5015 445.3184 193.7002 452.2998 c +192.7402 459.3994 185.6357 476.2949 149.54 448.9395 c +116.7417 424.0186 104.1802 443.4199 y +97.7002 443.6602 l +82.7192 472.8193 91.9399 411.7393 y +101.6216 373.959 249.8599 426.8594 y +435.623 460.2793 447.8594 464.7793 v +460.2637 469.0781 557.2998 462.6201 y +551.7793 485.6602 l +480.502 536.6787 466.4219 506.0381 451.46 510.3799 c +436.501 514.8389 439.1426 504.2793 435.6201 503.4199 c +432.1016 502.5195 388.9834 529.7979 381.8594 528.8594 c +F +0.011765 0.098039 0.12549 0 k +383.2998 526.9395 m +376.3418 526.1191 346.582 551.2949 364.8203 517.3398 c +389.1006 472.4404 300.6606 474.2002 282.2598 486.6201 c +263.7007 498.8408 290.1802 466.2197 y +310.3418 444.2793 272.4199 462.8594 y +234.6606 476.8398 208.2607 448.6807 204.7402 447.7393 c +201.2217 446.9189 195.9414 443.4004 195.1401 450.3799 c +194.1802 457.4785 187.2197 474.1904 150.98 447.0195 c +116.8208 421.2793 104.6602 440.0596 y +97.7002 441.9795 l +83.3599 468.4805 92.6602 408.3799 y +102.3418 370.5986 251.2998 424.9395 y +437.0625 458.3594 449.2998 462.8594 v +461.7012 467.1602 557.7793 460.9395 y +552.2598 484.46 l +481.0615 535.3994 467.8613 504.1201 452.9004 508.46 c +437.9414 512.9189 440.5801 502.3594 437.0605 501.5 c +433.541 500.5996 390.4209 527.8809 383.2998 526.9395 c +F +0 0.039216 0.05098 0 k +384.7402 525.0195 m +377.7822 524.2012 349.208 549.9893 366.2598 515.4199 c +389.6621 468.3193 302.1006 472.2793 283.7002 484.7002 c +265.1406 496.918 291.6201 464.2998 y +311.7822 442.3594 273.8599 460.9395 y +236.1006 474.9199 209.7007 446.7578 206.1802 445.8193 c +202.6616 444.999 197.3818 441.4785 196.5801 448.46 c +195.6226 455.5586 188.8042 472.085 152.4199 445.0996 c +116.8999 418.5391 105.1401 436.7002 y +97.7002 440.2998 l +83.5591 465.8984 93.3799 405.0195 y +103.0615 367.2393 252.7402 423.0195 y +438.502 456.4395 450.7402 460.9395 v +463.1426 465.2383 558.2598 459.0195 y +552.9805 483.0195 l +481.6211 534.1201 469.3018 502.1982 454.3398 506.54 c +439.3828 511.001 442.0234 500.4385 438.5 499.5801 c +434.9814 498.6797 391.8613 525.9609 384.7402 525.0195 c +F +1 g +97.7002 438.6201 m +83.54 462.8818 94.1001 401.6602 y +103.7817 363.8789 254.1802 421.0996 y +439.9424 454.5195 452.1797 459.0195 v +464.5801 463.3203 558.7402 457.0996 y +553.46 481.8193 l +482.1826 532.8418 470.7422 500.2803 455.7793 504.6201 c +440.8203 509.0811 443.4609 498.5215 439.9395 497.6602 c +436.4219 496.7598 393.3008 524.041 386.1797 523.0996 c +379.2227 522.2813 351.4785 548.4678 367.7002 513.5 c +392.2305 461.002 300.9463 472.0898 285.1401 482.7803 c +266.5806 495.001 293.0601 462.3799 y +313.2197 440.4395 275.2998 459.0195 y +237.541 473 211.1406 444.8408 207.6201 443.8994 c +204.1016 443.0791 198.8218 439.5586 198.02 446.54 c +197.0601 453.6416 190.3877 469.9834 153.8599 443.1797 c +116.9814 415.8008 105.6201 433.3398 y +97.7002 438.6201 l +F +0 g +143.2998 405.7402 m +135.4614 392.9189 158.4199 378.3799 v +159.8818 376.8584 140.1802 381.5 v +133.2607 383.6787 131.54 395.1797 v +126.2217 399.958 120.98 406.2197 v +115.6616 412.2803 143.2998 405.7402 y +F +0.8 g +297.3799 458.0596 m +316.8486 428.5371 316.0996 423.2598 v +314.7607 411.8408 314.54 401.2803 318.0195 396.8594 c +321.582 392.4795 331.2197 356.0596 y +330.8223 354.6387 344.4199 396.3799 v +357.2217 414.0391 335.2998 434.2998 v +296.5015 465.9609 297.3799 458.0596 v +F +0 g +165.3799 376.2197 m +177.7017 368.2803 161.7798 333.9795 v +168.98 336.6201 l +168.02 324.2793 164.4199 321.7393 v +172.3398 325.0996 l +177.7017 316.3594 173.2998 311.1797 v +191.7798 302.2803 190.8198 295.3398 v +197.9409 304.04 193.46 311.1797 v +189.1401 318.1201 181.2197 313.7188 182.1802 333.9795 c +172.3398 330.3799 l +178.5801 340.1191 178.5801 347.1797 v +169.7002 344.54 l +186.7949 373.7549 174.98 375.2598 v +168.4614 376.2002 165.3799 376.2197 y +F +0.8 g +201.1401 357.7393 m +204.1016 362.5586 201.1401 361.5801 v +197.9409 360.7998 163.6206 344.5205 156.98 333.9795 c +194.8613 360.7998 201.1401 357.7393 v +F +212.4199 348.8594 m +215.54 353.7578 212.4199 352.9395 v +209.3818 351.999 175.0615 335.7197 168.5 325.0996 c +206.2998 351.999 212.4199 348.8594 v +F +227.0601 365.6602 m +230.0601 370.4795 227.0601 369.5 v +223.9014 368.7197 189.5815 352.4404 182.8999 341.8994 c +220.8198 368.7197 227.0601 365.6602 v +F +201.3799 317.6602 m +201.4614 324.2793 198.5 323.4199 v +195.3008 322.5195 155.7007 303.1592 149.0601 292.7002 c +195.3008 320.7578 201.3799 317.6602 v +F +202.8198 329.6602 m +204.1016 334.8389 201.1401 333.9795 v +198.8218 333.958 169.7817 321.2002 163.2197 310.7002 c +195.7402 334.3994 202.8198 329.6602 v +F +186.98 277.0996 m +175.9399 268.9395 l +187.3809 277.2002 191.2998 275.8994 v +183.8599 263.5586 182.8999 257.8994 v +194.4199 271.9209 200.6602 271.5801 v +208.9399 271.04 209.0601 259.0996 v +215.1006 270.6006 218.6602 270.1396 v +219.9414 263.1201 218.6602 255.7393 v +223.0205 264.001 227.54 262.2197 v +234.4614 264.4395 233.54 251.6602 v +233.5806 240.2402 232.8198 237.2598 v +238.8608 266.1992 241.46 266.54 v +250.3018 267.958 255.6201 258.3799 v +251.1802 266.6406 256.5801 264.3799 v +268.3398 262.6777 271.9399 255.2598 v +264.3799 268.3994 270.5 264.8594 v +278.0215 264.8789 279.3799 257.8994 v +288.5815 234.5186 290.8999 232.7002 v +282.4209 256.5195 284.1802 256.46 v +281.9814 269.7197 287.7798 253.3398 v +284.1802 268.8389 290.4199 267.9795 v +296.5015 267.0801 301.3398 256.0781 310.5801 258.6201 c +321.1426 252.5596 323.2998 328.7002 v +186.98 277.0996 l +F +0 g +192.2598 379.3398 m +208.501 385.8799 252.5 379.3398 v +260.4199 378.8408 267.8599 388.46 v +275.3818 398.1992 304.8608 406.1191 312.0195 403.8193 c +322.5801 396.8594 l +323.2998 395.6602 l +336.9824 384.1201 337.46 375.7393 v +337.8613 367.3994 321.582 314.5996 311.0605 297.0195 c +300.4614 279.3994 289.9014 265.7598 268.8198 268.46 c +245.8999 272.7988 217.7002 268.46 v +185.6216 270.1592 182.6602 279.0195 v +179.4609 287.7578 194.8999 304.46 y +199.7002 313.7188 198.5 329.6602 v +197.0601 345.3994 197.5015 376.2002 192.2598 379.3398 c +F +0.047059 0.745098 0.211765 0 k +216.5 377.1797 m +225.6606 356.8398 193.2197 285.0195 y +190.9014 283.3594 207.0273 276.7109 218.1802 279.5 c +230.2207 282.3008 274.5801 277.5801 y +300.4614 294.7998 314.6602 343.5801 y +325.9805 370.04 306.7402 373.5801 v +287.2617 377.0791 216.5 377.1797 y +F +0.247059 0.933333 0.509804 0.070588 k +214.1001 343.0996 m +217.8438 357.1641 219.5864 370.1426 216.5 377.1797 c +285.0605 370.04 297.3799 393.0195 v +302.0454 401.583 318.2813 367.8389 317.7793 357.2598 c +248.54 341.4385 232.3398 353.6602 v +214.1001 343.0996 l +F +0.266667 0.972549 0.580392 0.137255 k +219.1401 325.0996 m +221.2617 317.2393 218.6602 312.8594 v +216.8599 311.96 215.54 311.4199 v +216.8599 307.5586 223.46 305.8994 v +225.6606 300.958 228.2598 300.6201 v +230.9409 300.0801 236.2207 293.9189 240.7402 295.3398 c +245.0215 296.5586 257.2998 300.8594 y +263.5015 304.4795 273.1401 300.6201 v +275.792 301.4023 276.2598 305.8994 v +276.8096 310.9707 280.2197 315.0391 282.5 317.1797 c +284.6216 319.4404 295.1816 333.5186 293.7798 333.9795 c +292.5415 334.3994 219.1401 325.0996 y +F +0 0.698039 0.356863 0 k +214.3398 378.3799 m +211.1406 353.7578 214.5801 344.54 v +218.1802 335.2803 217.3018 333.0801 216.5 328.7002 c +215.54 324.2793 220.3809 313.2803 226.5801 306.6201 c +239.7798 304.9395 l +256.46 308.8809 266.6602 305.8994 v +276.4736 304.3232 280.3398 320.7803 v +285.5 327.7998 293.54 330.8594 v +301.3398 333.958 309.2598 379.7188 304.8198 388.46 c +300.4614 397.3203 284.6216 402.1592 267.1401 385.0996 c +249.4209 367.8389 247.2197 386.3193 214.3398 378.3799 c +F +0 R +0 G +1.1 w 10 M +214.3398 378.3799 m +211.1406 353.7578 214.5801 344.54 v +218.1802 335.2803 217.3018 333.0801 216.5 328.7002 c +215.54 324.2793 220.3809 313.2803 226.5801 306.6201 c +239.7798 304.9395 l +256.46 308.8809 266.6602 305.8994 v +276.4736 304.3232 280.3398 320.7803 v +285.5 327.7998 293.54 330.8594 v +301.3398 333.958 309.2598 379.7188 304.8198 388.46 c +300.4614 397.3203 284.6216 402.1592 267.1401 385.0996 c +249.4209 367.8389 247.2197 386.3193 214.3398 378.3799 c +214.3398 378.3799 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +216.02 296.0596 m +215.1006 298.3203 210.2598 298.7002 v +185.6216 302.7197 176.4199 316.46 v +168.9009 322.5195 173.7798 309.7393 v +185.1802 287.3193 192.7402 284.2998 v +210.7017 279.8408 216.02 296.0596 v +F +0 R +0 G +0.550001 w 10 M +216.02 296.0596 m +215.1006 298.3203 210.2598 298.7002 v +185.6216 302.7197 176.4199 316.46 v +168.9009 322.5195 173.7798 309.7393 v +185.1802 287.3193 192.7402 284.2998 v +210.7017 279.8408 216.02 296.0596 v +216.02 296.0596 l +s +0 O +0.145098 0.898039 0.682353 0.027451 k +1 w 4 M +303.8599 366.3799 m +304.6426 375.1855 306.7905 384.6602 304.8198 388.46 c +297.771 402.7041 279.0991 396.7754 267.1401 385.0996 c +249.4209 367.8389 247.2197 386.3193 214.3398 378.3799 c +212.2998 363.041 213.1401 351.9795 v +254.2617 364.7598 255.1401 358.7002 v +256.9014 362.1201 267.1401 362.0596 v +277.1406 362.1201 302.1558 363.4082 303.8599 366.3799 c +F +0 R +0.231373 1 0.941176 0.172549 K +2.2 w 10 M +256.5801 377.4199 m +261.7402 372.2402 257.7798 361.5801 v +241.9399 344.0791 244.1001 328.7002 v +S +0 O +0.011765 0 0.239216 0 k +1 w 4 M +203.7798 284.2998 m +198.8218 298.3203 208.5801 290.7803 v +213.7808 288.6387 212.4199 286.9395 v +211.1406 285.1201 204.98 280.7188 203.7798 284.2998 c +F +0 R +0 G +0.550001 w 10 M +203.7798 284.2998 m +198.8218 298.3203 208.5801 290.7803 v +213.7808 288.6387 212.4199 286.9395 v +211.1406 285.1201 204.98 280.7188 203.7798 284.2998 c +203.7798 284.2998 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +209.2998 282.8594 m +205.333 294.1826 213.1401 288.1396 v +217.9399 285.5068 216.2598 285.0195 v +211.2295 283.623 216.2432 280.8076 209.2998 282.8594 c +F +0 R +0 G +0.550001 w 10 M +209.2998 282.8594 m +205.333 294.1826 213.1401 288.1396 v +217.9399 285.5068 216.2598 285.0195 v +211.2295 283.623 216.2432 280.8076 209.2998 282.8594 c +209.2998 282.8594 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +214.5801 282.8594 m +210.6128 294.1826 218.4199 288.1396 v +223.1694 285.6582 221.54 285.0195 v +217.8296 283.623 221.5229 280.8076 214.5801 282.8594 c +F +0 R +0 G +0.550001 w 10 M +214.5801 282.8594 m +210.6128 294.1826 218.4199 288.1396 v +223.1694 285.6582 221.54 285.0195 v +217.8296 283.623 221.5229 280.8076 214.5801 282.8594 c +214.5801 282.8594 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +221.7798 282.6201 m +217.8726 293.9648 225.6201 287.8994 v +230.4365 285.4131 228.7402 284.7803 v +225.5288 283.623 228.7856 280.5869 221.7798 282.6201 c +F +0 R +0 G +0.550001 w 10 M +221.7798 282.6201 m +217.8726 293.9648 225.6201 287.8994 v +230.4365 285.4131 228.7402 284.7803 v +225.5288 283.623 228.7856 280.5869 221.7798 282.6201 c +221.7798 282.6201 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +228.98 282.8594 m +225.001 294.0508 232.8198 288.1396 v +236.9697 286.3086 235.9399 284.7803 v +234.8574 283.4912 235.9136 280.6758 228.98 282.8594 c +F +0 R +0 G +0.550001 w 10 M +228.98 282.8594 m +225.001 294.0508 232.8198 288.1396 v +236.9697 286.3086 235.9399 284.7803 v +234.8574 283.4912 235.9136 280.6758 228.98 282.8594 c +228.98 282.8594 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +236.1802 282.1396 m +230.9409 295.6807 240.98 288.6201 v +246.3418 286.4404 245.0601 284.7803 v +243.7017 282.9199 245.0215 279.3994 236.1802 282.1396 c +F +0 R +0 G +0.550001 w 10 M +236.1802 282.1396 m +230.9409 295.6807 240.98 288.6201 v +246.3418 286.4404 245.0601 284.7803 v +243.7017 282.9199 245.0215 279.3994 236.1802 282.1396 c +236.1802 282.1396 l +s +*u +0.266667 0.972549 0.580392 0.137255 K +2.2 w +204.98 300.8594 m +219.5 304.04 226.1001 300.6201 v +232.7002 299.1992 234.02 299.6602 v +235.3398 300.0801 238.8198 300.6201 y +S +1 D +242.4199 291.2598 m +255.5815 306.2402 268.8198 301.3398 v +276.4976 298.5703 275.3818 302.2803 276.2598 305.4199 c +277.1406 308.4385 277.3613 313.0586 282.98 316.46 c +S +*U +0 D +0 O +0.011765 0 0.239216 0 k +1 w 4 M +261.3799 308.7803 m +256.9014 320.7578 253.9399 306.6201 v +250.7407 292.5986 247.2197 288.6387 245.54 285.5 c +245.4609 279.8408 254.6602 280.2197 v +266.5806 280.7188 267.1401 283.8193 v +267.4614 286.8799 265.7002 299.6406 261.3799 308.7803 c +F +0 R +0 G +0.550001 w 10 M +261.3799 308.7803 m +256.9014 320.7578 253.9399 306.6201 v +250.7407 292.5986 247.2197 288.6387 245.54 285.5 c +245.4609 279.8408 254.6602 280.2197 v +266.5806 280.7188 267.1401 283.8193 v +267.4614 286.8799 265.7002 299.6406 261.3799 308.7803 c +261.3799 308.7803 l +s +*u +0.266667 0.972549 0.580392 0.137255 K +2.2 w +276.7402 300.8594 m +280.6616 303.6006 283.2197 302.2998 v +S +283.9399 319.0996 m +287.041 324.3896 292.3398 325.3398 v +S +*U +0 O +0.701961 g +1 w 4 M +196.5801 278.54 m +216.4209 275 221.2998 276.8594 v +230.9409 276.7588 221.7798 274.46 v +207.6201 274.5586 198.7402 275.8994 v +186.0605 282.0391 196.5801 278.54 v +F +0.011765 0 0.239216 0 k +211.9399 381.0195 m +231.3799 381.0391 233.54 380.0596 v +241.501 346.2803 237.6201 337.8193 v +236.2207 334.8389 233.0601 340.9395 v +212.8999 377.0791 209.2998 379.3398 v +205.8608 381.4805 210.7017 381.0391 211.9399 381.0195 c +F +0 R +0 G +0.550001 w 10 M +211.9399 381.0195 m +231.3799 381.0391 233.54 380.0596 v +241.501 346.2803 237.6201 337.8193 v +236.2207 334.8389 233.0601 340.9395 v +212.8999 377.0791 209.2998 379.3398 v +205.8608 381.4805 210.7017 381.0391 211.9399 381.0195 c +211.9399 381.0195 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +127.2197 383.8994 m +137 382.1406 150.98 379.3398 v +156.1401 354.6387 159.6201 349.3398 v +163.1816 344.0791 159.2217 344.0791 155.2998 347.1797 c +151.3018 350.2393 135.02 365.6406 132.7402 370.46 c +130.6206 375.3193 127.2197 383.8994 y +F +0 R +0 G +0.550001 w 10 M +127.2197 383.8994 m +137 382.1406 150.98 379.3398 v +156.1401 354.6387 159.6201 349.3398 v +163.1816 344.0791 159.2217 344.0791 155.2998 347.1797 c +151.3018 350.2393 135.02 365.6406 132.7402 370.46 c +130.6206 375.3193 127.2197 383.8994 y +127.2197 383.8994 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +151.2197 379.0996 m +157.6377 377.3379 158.6602 375.0195 v +159.855 372.4658 157.46 368.7803 y +156.3247 365.2041 155.0601 367.5801 v +153.6802 369.9629 150.5215 378.3867 151.2197 379.0996 c +F +0 R +0 G +0.550001 w 10 M +151.2197 379.0996 m +157.6377 377.3379 158.6602 375.0195 v +159.855 372.4658 157.46 368.7803 y +156.3247 365.2041 155.0601 367.5801 v +153.6802 369.9629 150.5215 378.3867 151.2197 379.0996 c +151.2197 379.0996 l +s +0 O +0 g +1 w 4 M +151.2197 379.3398 m +155.2617 373.5586 159.1401 373.5801 v +163.1816 373.5586 163.6016 374.0146 166.8198 373.3398 c +171.7617 372.2402 171.3198 374.4385 178.5801 373.0996 c +181.4839 372.5908 184.3018 373.5586 187.46 372.1396 c +190.46 370.9209 193.981 371.7988 195.3799 374.0596 c +196.6206 376.2002 201.8599 380.7803 y +187.8198 378.8408 184.8198 377.8994 v +160.1001 376.6396 151.2197 379.3398 v +F +0.011765 0 0.239216 0 k +200.4199 379.0996 m +193.2656 375.209 192.7402 372.6201 v +192.3848 369.9297 198.5 365.8994 y +201.625 360.7998 202.3398 363.5 v +202.9448 366.0801 201.2407 378.6201 200.4199 379.0996 c +F +0 R +0 G +0.550001 w 10 M +200.4199 379.0996 m +193.2656 375.209 192.7402 372.6201 v +192.3848 369.9297 198.5 365.8994 y +201.625 360.7998 202.3398 363.5 v +202.9448 366.0801 201.2407 378.6201 200.4199 379.0996 c +200.4199 379.0996 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +159.1401 373.0996 m +166.8345 360.7422 167.0601 373.0996 v +167.6865 374.458 165.8599 374.54 v +159.0679 374.5664 160.7407 379.0781 159.1401 373.0996 c +F +0 R +0 G +0.550001 w 10 M +159.1401 373.0996 m +166.8345 360.7422 167.0601 373.0996 v +167.6865 374.458 165.8599 374.54 v +159.0679 374.5664 160.7407 379.0781 159.1401 373.0996 c +159.1401 373.0996 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +167.0601 372.8594 m +175.7358 360.4707 174.98 372.8594 v +175.0449 373.2441 173.0601 373.3398 v +167.8926 373.8682 168.272 378.8359 167.0601 372.8594 c +F +0 R +0 G +0.550001 w 10 M +167.0601 372.8594 m +175.7358 360.4707 174.98 372.8594 v +175.0449 373.2441 173.0601 373.3398 v +167.8926 373.8682 168.272 378.8359 167.0601 372.8594 c +167.0601 372.8594 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +174.98 372.8594 m +183.7134 361.0762 182.8999 371.6602 v +183.1089 373.0664 181.2197 373.3398 v +177.0078 374.1729 176.7754 377.7461 174.98 372.8594 c +F +0 R +0 G +0.550001 w 10 M +174.98 372.8594 m +183.7134 361.0762 182.8999 371.6602 v +183.1089 373.0664 181.2197 373.3398 v +177.0078 374.1729 176.7754 377.7461 174.98 372.8594 c +174.98 372.8594 l +s +0 O +0.011765 0 0.239216 0 k +1 w 4 M +182.4199 372.6201 m +191.2109 359.9619 191.54 370.7002 v +193.4023 372.2354 191.54 372.3799 v +185.0815 373.2939 185.96 378.1953 182.4199 372.6201 c +F +0 R +0 G +0.550001 w 10 M +182.4199 372.6201 m +191.2109 359.9619 191.54 370.7002 v +193.4023 372.2354 191.54 372.3799 v +185.0815 373.2939 185.96 378.1953 182.4199 372.6201 c +182.4199 372.6201 l +s +0 O +0.105882 0.031373 0.356863 0 k +1 w 4 M +142.8198 368.7803 m +134.4199 370.46 l +131.4463 375.9795 129.1401 382.7002 y +136.1216 381.6465 149.7798 378.6201 v +150.8335 374.9141 152.4199 368.54 v +142.8198 368.7803 l +F +214.3398 373.8193 m +212.4702 376.6807 211.0229 378.6152 210.2598 379.0996 c +206.9937 381.1328 211.5513 380.7178 212.8999 380.7803 c +231.02 380.7178 233.0601 379.8193 v +233.6694 377.4219 234.5 373.5801 v +223.3232 375.9033 214.3398 373.8193 v +F +0.164706 0.627451 1 0.031373 k +273.3799 525.9795 m +303.7617 521.5303 331.832 560.7363 333.8594 571.3398 c +335.7051 582.0322 324.5 595.0996 y +326.0264 598.4883 320.7012 613.9756 314.9004 624.1396 c +309.085 634.3057 291.5938 633.2334 272.4199 634.2197 c +254.876 635.2734 234.5479 609.6201 233.0601 607.5801 c +231.644 605.749 238.4214 563.6406 239.7798 557.4199 c +241.3232 551.0547 238.3398 521.8994 y +276.085 532.0254 242.7754 530.2441 273.3799 525.9795 c +F +0.047059 0.517647 0.756863 0 k +233.7798 606.8594 m +232.4722 605.0713 239.125 563.7266 240.5 557.6602 c +241.9761 551.3721 239.0601 522.8594 y +275.0649 532.6279 243.4014 530.9385 273.3799 526.7002 c +303.2769 522.3848 330.8379 560.876 332.6602 571.3398 c +334.6406 581.7871 323.7793 594.6201 y +325.1357 597.9434 319.9082 613.1504 314.1797 623.1797 c +308.5039 633.1084 291.332 632.0547 272.4199 633.0195 c +255.2817 634.0586 235.3232 608.873 233.7798 606.8594 c +F +0.035294 0.372549 0.533333 0 k +234.7402 606.1396 m +233.2998 604.3926 239.8281 563.8154 241.2197 557.6602 c +242.6265 551.6885 239.7798 523.8193 y +274.3735 533.7822 244.0254 531.6338 273.3799 527.4199 c +302.792 523.2393 329.8447 561.0176 331.7002 571.3398 c +333.5762 581.54 322.8203 594.1396 y +324.248 597.3965 319.1172 612.3223 313.46 622.2197 c +307.9238 631.9111 291.0703 630.8789 272.4199 631.8193 c +255.6846 632.8447 236.0981 608.124 234.7402 606.1396 c +F +0.023529 0.239216 0.32549 0 k +235.46 605.6602 m +234.1255 603.7158 240.5313 563.9043 241.9399 557.8994 c +243.2769 552.0049 240.5 524.54 y +272.9121 534.4951 244.6494 532.3301 273.3799 528.1396 c +302.3096 524.0938 328.8516 561.1563 330.7402 571.3398 c +332.5117 581.293 322.0996 593.6602 y +323.3594 596.8516 318.3242 611.4941 312.7402 621.0195 c +307.3418 630.7129 290.8066 629.7002 272.6602 630.6201 c +256.0903 631.6299 236.8711 607.376 235.46 605.6602 c +F +0.011765 0.109804 0.137255 0 k +236.1802 604.9395 m +234.9536 603.0391 241.2368 563.9912 242.6602 558.1396 c +243.9297 552.3223 241.2197 525.5 y +271.8921 535.208 245.2759 533.0234 273.6201 529.0996 c +301.8247 524.9453 327.8555 561.2979 329.54 571.0996 c +331.4453 581.0479 321.1406 593.1797 y +322.4697 596.3066 317.5332 610.6689 312.2598 620.0596 c +306.7617 629.5186 290.5449 628.5244 272.6602 629.4199 c +256.4961 630.416 237.6465 606.6289 236.1802 604.9395 c +F +1 g +273.6201 529.8193 m +301.3398 525.7998 326.8613 561.4395 328.5801 571.0996 c +330.3828 580.8008 320.1797 592.7002 y +321.582 595.7598 316.7402 609.8408 311.54 619.0996 c +306.1807 628.3203 290.2808 627.3457 272.6602 628.2197 c +256.9014 629.2012 238.4214 605.8809 237.1401 604.2197 c +235.7817 602.3594 241.9399 564.0801 243.3799 558.3799 c +244.5801 552.6416 241.9399 526.2197 y +269.9912 535.7002 245.8999 533.7197 273.6201 529.8193 c +F +0.8 g +324.7402 567.2598 m +294.0801 558.7998 281.2998 560.54 v +263.9409 567.8213 254.1802 543.7393 v +250.3018 535.9209 248.1802 533.6602 v +245.8999 531.5215 324.7402 567.2598 y +F +0 g +328.8203 569.6602 m +296.9409 556.1602 285.8599 556.7002 v +267.9009 561.6602 258.7402 545.6602 v +249.4209 535.4814 246.02 533.6602 v +245.4609 531.9609 252.5 536.2998 v +264.02 530.54 l +280.2197 520.0801 290.8999 537.7393 v +295.1816 550.001 295.2197 552.1396 v +295.1816 554.4004 318.5 560.5615 320.1797 561.0195 c +322.0205 561.4395 329.2813 566.0596 328.8203 569.6602 c +F +0.45098 0 1 0 k +276.7402 530.0596 m +269.1416 530.0762 259.9302 534.3271 259.9399 541.0996 c +259.9302 548.0742 269.1416 554.9648 276.7402 555.0195 c +284.2617 554.9648 290.3911 549.3945 290.4199 542.54 c +290.3911 535.6465 284.2617 530.0762 276.7402 530.0596 c +F +0.658824 0.2 1 0.039216 k +272.6602 548.54 m +267.3848 547.6328 261.7881 545.9814 261.8599 546.1396 c +263.5591 551.2998 270.5576 554.9648 276.7402 555.0195 c +281.4248 554.9648 285.5938 552.79 288.02 549.5 c +282.2046 549.8408 272.6602 548.54 v +F +1 g +285.8599 548.7793 m +281.1006 552.2002 281.0601 549.7393 v +285.0605 544.9395 285.8599 548.7793 v +F +0 g +275.0601 539.6602 m +272.1919 539.7412 269.9624 541.9707 270.02 544.7002 c +269.9624 547.4697 272.1919 549.6992 275.0601 549.7393 c +277.6904 549.6992 279.9199 547.4697 279.8599 544.7002 c +279.9199 541.9707 277.6904 539.7412 275.0601 539.6602 c +F +0.164706 0.627451 1 0.031373 k +160.5801 554.2998 m +157.0205 577.7217 159.6201 582.6201 v +171.541 593.5615 171.1401 597.5 v +170.6602 617.3213 169.46 618.1396 v +168.02 619.0801 159.6606 625.6807 153.1401 618.6201 c +141.6201 598.8418 142.5801 591.7393 v +142.5801 589.5801 l +134.1416 590.04 132.5 587.8994 v +131.0601 582.1201 129.8599 581.6602 v +126.6606 579.041 128.8999 575.8994 v +126.6606 573.3193 127.2197 568.9395 v +135.3799 564.6201 l +137.6602 548.6816 149.54 543.0195 v +154.8608 540.3994 158.3408 547.8008 160.5801 554.2998 c +F +1 g +159.3799 556.46 m +156.272 577.4121 158.6602 581.6602 v +169.3398 591.668 168.98 595.3398 v +168.5479 613.0518 167.2998 613.8193 v +166.1719 614.6357 158.6479 620.5752 152.6602 614.2998 c +142.4121 596.4199 143.2998 590.0596 v +143.2998 588.1396 l +135.6802 588.5 134.1802 586.46 v +132.9082 581.3721 131.7798 580.9395 v +128.9478 578.5996 130.8198 575.8994 v +128.9478 573.4521 129.3799 569.4199 v +136.8198 565.5801 l +138.8481 551.2754 149.54 546.1396 v +154.3281 543.8232 157.46 550.4863 159.3799 556.46 c +F +0.043137 0.478431 0.701961 0 k +168.7402 617.1797 m +167.6455 618.0576 159.4063 624.4063 152.8999 617.6602 c +141.8193 598.2363 142.5801 591.2598 v +142.5801 589.3398 l +134.5254 589.6563 132.7402 587.4199 v +131.5229 581.9336 130.3398 581.4199 v +127.2319 578.9307 129.3799 575.8994 v +127.2319 573.3535 127.7002 569.1797 v +135.8599 564.8594 l +137.9575 549.3291 149.54 543.7393 v +154.7266 541.2559 158.1201 548.4697 160.3398 555.0195 c +156.8335 577.6445 159.3799 582.3799 v +170.9912 593.0889 170.6602 597.0195 v +170.1318 616.2529 168.7402 617.1797 v +F +0.027451 0.305882 0.423529 0 k +168.2598 615.9795 m +167.271 617.0332 159.1543 623.1289 152.8999 616.46 c +142.0161 597.6318 142.8198 591.0195 v +142.8198 588.8594 l +134.9097 589.2705 133.2197 587.1797 v +131.9839 581.7461 130.8198 581.4199 v +127.8032 578.8203 129.8599 575.8994 v +127.8032 573.3867 128.1802 569.1797 v +136.1001 565.0996 l +138.2554 549.9795 149.54 544.46 v +154.5942 542.1104 157.9014 549.1426 160.1001 555.5 c +156.6465 577.5674 159.1401 582.1396 v +170.4414 592.6133 169.9399 596.2998 v +169.604 615.1875 168.2598 615.9795 v +F +0.015686 0.141176 0.184314 0 k +167.7798 615.0195 m +166.8994 616.0107 158.8999 621.8525 152.8999 615.2598 c +142.2153 597.0244 143.0601 590.54 v +143.0601 588.3799 l +135.2959 588.8857 133.7002 586.9395 v +132.4473 581.5586 131.2998 581.1797 v +128.377 578.71 130.3398 575.8994 v +128.377 573.4209 128.8999 569.4199 v +136.5801 565.3398 l +138.5503 550.6279 149.54 545.4199 v +154.46 542.9668 157.6807 549.8145 159.6201 555.9795 c +156.459 577.4912 158.8999 581.8994 v +169.8896 592.1426 169.46 595.8193 v +169.0762 614.1201 167.7798 615.0195 v +F +1 g +159.3799 556.46 m +156.272 577.4121 158.6602 581.6602 v +169.3398 591.668 168.98 595.3398 v +168.5479 613.0518 167.2998 613.8193 v +166.5249 614.9883 158.6479 620.5752 152.6602 614.2998 c +142.4121 596.4199 143.2998 590.0596 v +143.2998 588.1396 l +135.6802 588.5 134.1802 586.46 v +132.9082 581.3721 131.7798 580.9395 v +128.9478 578.5996 130.8198 575.8994 v +128.9478 573.4521 129.3799 569.4199 v +136.8198 565.5801 l +138.8481 551.2754 149.54 546.1396 v +154.3281 543.8232 157.46 550.5938 159.3799 556.46 c +F +0.8 g +156.02 563.4199 m +132.2695 574.6396 131.2998 575.4199 v +141.291 566.501 142.1001 566.54 v +143.0503 566.501 156.02 563.4199 y +F +0 g +137.2998 570.1396 m +157.46 566.2803 157.46 561.5 v +157.46 558.2383 157.1934 543.4756 151.2197 545.1797 c +142.0615 547.8008 146.0215 563.6406 137.2998 570.1396 c +F +0.45098 0 1 0 k +146.4199 566.0596 m +156.3369 564.4395 157.46 561.5 v +158.1201 559.6807 158.8496 550.541 152.8999 549.2598 c +147.8335 548.3379 145.3809 559.582 146.4199 566.0596 c +F +0 g +240.98 519.2598 m +240.5098 521.1729 241.9497 521.0283 243.8599 521.6602 c +246.1206 522.2813 259.5415 526.46 260.4199 529.3398 c +261.3008 532.1816 275.7798 527.4199 y +277.8008 526.46 282.7402 523.5801 y +287.9214 522.2813 295.2197 521.8994 y +297.8218 520.7402 301.46 517.5801 y +317.6211 506.4414 331.2197 514.46 y +353.2617 521.6211 346.5801 540.6201 y +343.3613 550.4404 346.8203 554.2998 y +347.1006 558.3604 354.9805 551.4199 y +357.8818 546.7012 358.8203 541.0996 y +367.5605 528.8818 363.8594 548.54 y +364.043 549.5596 360.9609 553.5195 360.9805 554.7793 c +360.9609 556.1602 359.0605 559.8193 y +355.6807 563.6406 358.3398 571.3398 y +360.3008 586.5195 357.8594 584.54 y +356.5615 586.5195 346.3398 575.4199 y +344.0215 571.7813 337.46 570.1396 y +334.3418 568.04 330.5 569.6602 y +327.7422 570.0195 321.6201 562.2197 y +324.6602 562.541 327.3008 557.7002 330.0195 557.4199 c +332.5801 557.2617 334.5605 560.1201 336.2598 560.7793 c +338.082 561.4395 341.0605 555.0195 y +341.6025 552.2002 335.54 546.8594 y +335.002 541.8604 333.1406 543.7393 y +329.9414 544.2793 328.6211 540.1016 327.6201 535.0996 c +326.4219 529.9805 321.8594 529.5801 y +320.041 521.4004 318.7402 524.7793 y +318.5 530.8613 312.0195 524.54 y +310.5801 522.2813 305.54 524.7793 y +298.04 526.9014 300.7402 529.0996 y +302.6602 531.5215 314.9004 529.0996 y +317.4004 530.8613 308.6602 535.3398 y +307.9395 537.2402 309.1406 542.0596 y +310.3613 545.5996 317.7793 551.6602 y +328.1816 553.0801 325.2197 554.7793 y +318.2813 560.5615 312.0195 552.1396 y +309.4805 545.3818 290.4199 528.8594 y +285.0605 525.1396 287.9214 532.6201 283.46 528.8594 c +279.1206 525.1396 256.5801 535.0996 y +243.7422 536.3525 240.7373 519.0361 236.8999 522.3799 c +242.8135 513.0967 240.98 519.2598 v +F +455.2998 702.1396 m +427.1816 693.4395 424.0996 672.8594 v +421.4629 647.6816 444.0195 628.2197 v +444.3418 621.2813 446.6602 617.6602 v +444.7813 612.4805 465.3799 620.7793 v +495.3799 630.1396 l +502.4219 632.7197 508.0996 642.3799 v +513.8623 652.0801 530.5801 672.7617 526.5801 700.46 c +527.9414 712.8008 521.2998 713.1797 v +512.1006 715.001 504.2598 706.7002 v +496.7021 703.1211 494.1797 703.5801 v +455.2998 702.1396 l +F +515.54 703.3398 m +517.7334 713.1533 512.4199 707.8994 v +504.668 701.5371 496.3398 701.4199 v +480.4668 699.1162 475.6992 684.6201 v +471.2695 655.0732 480.0195 648.8594 v +485.3047 640.5537 492.9805 647.8994 v +500.7949 655.0732 517.8438 688.3252 515.54 703.3398 c +F +0.2 g +515.0605 702.8594 m +517.3105 712.5537 512.1797 707.4199 v +504.4805 701.1514 496.3398 701.1797 v +480.7207 698.7725 475.9395 684.6201 v +471.6914 655.5293 480.2598 649.3398 v +485.4727 641.2734 492.9805 648.3799 v +500.6797 655.5293 517.3877 688.2051 515.0605 702.8594 c +F +0.4 g +514.5801 702.6201 m +516.8906 711.9561 511.6992 706.9395 v +504.2959 700.7617 496.3398 700.7002 v +480.9746 698.4297 476.4199 684.3799 v +472.1143 655.9873 480.5 649.8193 v +485.6387 641.9961 493.2197 649.0996 v +500.5664 655.9873 516.9346 688.083 514.5801 702.6201 c +F +0.6 g +514.0996 702.1396 m +516.4668 711.3584 511.46 706.2197 v +504.1113 700.376 496.3398 700.46 v +481.2324 698.0859 476.6602 684.3799 v +472.5371 656.4463 480.7402 650.54 v +485.8066 642.7178 493.2197 649.5801 v +500.4512 656.4463 516.4785 687.9629 514.0996 702.1396 c +F +0.8 g +513.8594 701.6602 m +516.0469 710.7578 511.2197 705.7393 v +503.9258 699.9893 496.3398 699.9795 v +481.4863 697.7432 476.9004 684.3799 v +472.959 656.9043 480.9805 651.0195 v +485.9746 643.4385 493.2197 650.0596 v +500.3359 656.9043 516.0225 687.8428 513.8594 701.6602 c +F +1 g +513.3799 701.4199 m +515.6211 710.1602 510.7402 705.2598 v +503.7422 699.6006 496.3398 699.5 v +481.7402 697.3994 477.3799 684.1396 v +473.3809 657.3604 481.2197 651.7393 v +486.1426 644.1602 493.2197 650.7793 v +500.2207 657.3604 515.5664 687.7207 513.3799 701.4199 c +F +0.254902 0.941176 1 0.243137 k +280.5801 477.7402 m +258.2217 498.9609 249.3799 499.8193 v +211.5801 504.2402 195.3799 484.46 v +214.6616 506.8809 245.0601 500.7803 v +221.2617 505.5605 207.6201 501.9795 v +189.1401 502.04 178.5801 486.6201 v +175.46 481.3398 l +179.8999 497.6406 200.1802 504.1396 v +225.2217 509.5205 237.1401 504.1396 v +213.3418 511.7217 202.3398 509.4199 v +168.9009 512.1602 154.8198 483.0195 v +159.2217 498.9609 175.46 506.7803 v +190.46 516.5596 212.8999 513.5 v +228.7402 509.96 234.5 507.2598 v +240.1807 504.6797 238.8608 507.7617 229.7002 513.0195 c +223.46 524.041 208.1001 523.5801 v +160.981 519.6416 149.54 506.54 v +164.5015 518.7607 175.9399 521.8994 v +200.5806 530.6406 209.7798 529.8193 v +237.1016 528.6602 245.54 533.1797 v +233.1416 527.5615 236.6602 524.0596 v +240.1807 520.5195 247.6616 512.1602 247.7002 510.8594 c +247.6616 509.5205 274.2798 485.2109 278.1802 480.3799 c +280.5801 477.7402 l +F +0.8 g +432.9805 264.3799 m +415.8516 304.5918 402.0195 315.0195 v +430.7002 297.4395 434.6602 277.5801 v +434.5498 266.6406 432.9805 264.3799 v +F +484.5801 256.2197 m +455.4512 316.6904 435.1406 343.0996 v +482.9502 301.8418 488.4199 272.7803 v +488.9004 266.54 l +485.7793 269.4199 l +485.1514 259.4912 484.5801 256.2197 v +F +546.7402 309.5 m +478.002 374.9912 476.4199 377.6602 v +542.9004 305.1416 546.2598 296.7803 v +544.002 306.79 546.7402 309.5 v +F +339.3799 261.7393 m +360.8506 318.8906 381.8594 294.1396 v +398.25 283.1406 397.7002 279.7393 v +393.3008 286.9902 373.46 286.46 v +352.6016 289.7402 339.3799 261.7393 v +F +548.9004 401.8994 m +499.4502 433.292 491.2998 435.0195 v +478.2129 437.5371 545.6504 403.04 551.0605 391.5801 c +553.3496 394.2412 548.9004 401.8994 v +F +0 g +383.2998 284.7803 m +405.623 286.8799 413.0605 294.3799 v +417.8594 290.2998 l +437.2998 332.54 l +441.3799 327.0195 l +457.1025 343.2002 456.2598 351.9795 v +455.3408 360.7998 470.4199 345.5 y +469.4219 358.1602 477.3799 350.7803 v +474.7012 367.8389 483.8594 358.9395 v +472.3496 392.2139 497.0605 363.9795 v +503.3027 356.8398 498.5 364.2197 y +469.8613 417.1201 493.7002 401.1797 v +495.8213 426.3584 494.4199 431.1797 v +493.1816 436.04 490.9805 460.6807 485.7793 466.46 c +480.4209 472.1211 486.1426 473.8809 492.2598 468.1396 c +479.9814 494.5615 494.4199 481.3398 v +490.541 498.0801 485.7793 501.2598 v +479.543 520.0811 496.3398 508.2197 v +491.4219 521.8398 487.9395 525.2598 v +475.1406 555.7207 483.1406 550.46 v +487.9395 546.3799 l +480.4209 561.8818 487.46 556.9395 v +494.502 552.2002 494.4199 552.6201 y +471.1807 589.1602 493.7002 569.8994 v +484.6465 585.1113 480.9805 592.7002 v +460.1816 615.1201 475.9395 608.0596 v +481.2197 606.3799 l +471.623 617.3213 462.7402 619.0996 v +454.0205 620.8398 465.4609 627.8818 472.5801 625.5801 c +479.543 623.4795 496.8203 615.0195 y +510.7813 594.4395 515.2998 593.8994 v +493.1816 602.3594 499.7002 593.6602 v +515.6211 578.1602 507.6201 578.54 v +501.1016 570.6797 506.4199 561.0195 v +486.0752 581.2305 502.3398 553.0996 v +510.0195 535.0996 l +483.0605 562.3203 495.3799 538.2197 v +514.3018 512.1602 516.5 511.8193 v +518.7012 511.2803 523.46 501.5 y +518.6602 503.8994 l +524.4199 494.0596 l +512.1006 507.3193 518.6602 492.8594 v +524.9004 477.0195 l +502.4219 501.1611 517.46 468.6201 v +499.3418 474.3193 509.0605 455.4199 v +507.2617 437.7988 507.6201 432.1396 v +508.1406 426.3584 509.4609 395.1201 504.7402 386.2998 c +499.7813 377.5205 511.2227 356.4004 513.3799 351.9795 c +515.6211 347.5996 519.582 335.7197 510.0195 345.7393 c +500.2207 355.959 505.0615 349.8008 507.3799 340.2197 c +509.4609 330.4395 516.0605 313.2803 515.2998 307.0996 c +513.8623 305.7988 510.2598 309.7393 v +494.0625 334.8389 495.8594 319.0996 v +494.502 310.2002 491.0605 300.6201 v +487.4629 288.6387 487.46 298.2197 v +483.9414 316.8008 480.9805 308.54 v +477.7813 300.0801 473.8203 293.4795 470.6602 290.7803 c +467.6621 288.2002 461.9414 313.2803 460.5801 301.8193 c +447.4209 315.4805 442.0996 297.5 v +429.3799 279.5 l +428.9414 293.04 427.7002 286.46 v +394.6211 279.8408 383.2998 284.7803 v +F +345.3799 677.1797 m +332.5801 685.9609 328.0996 685.5801 v +323.7822 685.0801 358.541 695.2012 403.9395 664.9395 c +409.1406 661.7598 413.0605 662.2998 v +416.6211 659.5615 413.54 655.5801 v +403.8613 645.041 416.1797 632.7793 v +436.4219 625.2412 430.3398 634.9395 v +442.1406 630.5215 444.7402 626.0596 v +447.4209 621.7207 446.1797 626.0596 y +439.0615 634.04 432.5 639.7393 v +426.7422 641.96 423.6201 651.2598 v +420.582 660.4395 417.9414 671.4414 422.9004 675.0195 c +418.3809 670.1211 419.2998 674.54 v +420.1426 678.9199 424.1025 682.8799 425.7793 683.4199 c +427.6211 683.7607 445.6621 701.1416 453.1406 701.6602 c +443.0215 700.04 439.7002 701.1797 v +436.4219 702.2402 407.1602 714.7803 400.5801 716.0596 c +382.0801 723.3604 395.2998 721.0996 v +434.6621 716.9814 454.5801 702.3799 v +446.7607 711.7012 426.5 719.4199 v +402.1016 733.2607 363.3799 727.8193 v +343.8008 724.2412 335.2998 722.2998 v +332.3623 722.9209 331.7002 723.2598 v +331.043 723.7998 318.0605 733.7002 287.7798 725.8994 c +269 720.9414 259.46 715.5801 v +242.8208 714.3408 238.8198 710.7793 v +218.4009 694.7598 216.2598 693.9795 v +214.0015 693.001 201.4614 684.6416 200.6602 684.1396 c +227.6406 691.46 230.1802 694.2197 v +232.9209 696.7393 252.0605 699.6006 254.6602 698.0596 c +257.3408 696.5215 266.5806 697.1816 256.1001 696.6201 c +339.1807 680.2393 340.0996 678.1396 v +340.9424 675.8408 345.3799 677.1797 y +F +0.164706 0.627451 1 0.031373 k +423.8594 687.2598 m +412.6621 695.4199 410.4199 695.4199 v +408.2617 695.4199 394.6211 706.6396 390.0195 706.2197 c +385.3809 705.7617 371.9629 716.7607 341.7793 707.6602 c +341.1602 709.9395 345.1406 710.7793 v +352.1621 713.2393 352.5801 713.8994 v +374.8203 718.5195 382.8203 714.6201 v +392.8613 711.7012 399.6201 704.7793 v +412.002 701.3594 415.46 702.3799 v +425.2012 700.04 425.54 698.0596 v +432.0225 694.7598 430.0996 691.8193 v +430.4814 690.1396 423.8594 687.2598 v +F +410.1797 689.6602 m +411.0508 688.9063 412.1719 688.7979 412.8203 687.9795 c +413.0938 687.5625 412.7773 687.2041 412.3398 687.0195 c +411.2842 686.749 410.123 687.375 408.9805 686.7793 c +408.4238 686.501 407.7178 686.7002 407.0605 686.7793 c +405.3125 687.3506 403.3018 687.377 401.54 686.54 c +399.2578 687.8623 396.6631 687.2217 394.3398 688.2197 c +394.3086 688.3516 394.0645 687.9697 394.0996 687.9795 c +390.6318 689.2588 386.5156 688.9492 383.7793 691.5801 c +381.1709 691.9131 378.5762 692.4219 375.8594 693.2598 c +373.9063 693.7305 372.3584 694.8174 370.5801 695.6602 c +369.0605 696.5117 367.457 697.085 365.7793 697.5801 c +363.7207 697.9922 361.707 697.8701 359.54 698.54 c +359.5234 698.4678 359.3125 698.0908 359.2998 698.0596 c +358.8652 698.2393 358.5469 698.8809 358.3398 698.7793 c +356.5088 698.2471 354.8721 699.3174 353.0605 699.0195 c +351.7441 700.2871 349.8438 700.0186 348.2598 700.46 c +344.8828 701.4365 341.415 700.04 338.1797 701.1797 c +342.6055 703.167 347.7607 701.8105 352.3398 704.0596 c +354.791 705.3916 357.7188 704.1797 360.5 705.0195 c +361.0801 705.1729 361.8418 705.3965 362.1797 704.7793 c +362.4297 704.8086 362.6289 705.0723 362.6602 705.0195 c +365.3887 703.7695 367.9355 702.3682 370.5801 701.1797 c +371.0391 701.0332 371.627 701.29 372.0195 701.1797 c +373.5752 699.7305 375.7109 699.8428 377.2998 698.54 c +379.1094 699.0537 381.082 698.6338 383.0605 699.2598 c +383.0693 699.3506 383.3262 698.9766 383.2998 699.0195 c +384.6055 699.8232 385.875 699.5264 386.9004 699.2598 c +387.2285 699.0625 387.959 698.792 388.3398 698.7793 c +389.5303 698.4072 390.4736 697.8799 391.7002 697.5801 c +391.8965 697.6592 392.0986 698.0332 392.1797 698.0596 c +393.4141 697.5195 394.5586 697.5801 395.2998 696.3799 c +395.4297 696.4492 395.6113 696.7109 395.7793 696.6201 c +396.8311 696.3105 397.5469 695.4795 398.6602 695.1797 c +399.291 695.0977 399.9629 694.4092 400.5801 694.2197 c +403.2266 693.4111 405.2559 691.7285 407.7793 690.8594 c +408.5049 690.4033 409.4668 690.1465 410.1797 689.6602 c +F +325.9395 705.2598 m +323.0957 707.1514 320.4922 708.3682 317.7793 710.2998 c +317.6055 710.4795 317.2109 710.29 317.0605 710.54 c +315.8789 711.0967 314.9043 711.7354 313.9395 712.46 c +313.2295 712.9209 312.3271 712.9082 311.7793 713.1797 c +308.9697 714.6123 306.0776 715.2266 303.3799 716.54 c +304.0713 717.2432 305.3047 716.9736 306.02 717.9795 c +306.1733 717.5527 306.4351 717.2402 306.7402 717.5 c +308.6699 718.4453 310.7051 718.6133 312.5 718.46 c +314.4248 718.4121 316.3164 718.0781 318.2598 717.7393 c +318.6055 717.7275 318.8242 717.1514 319.2197 717.0195 c +321.6318 716.3145 324.2598 716.8926 326.6602 716.0596 c +328.3398 715.2793 330.0684 714.375 331.46 712.9395 c +331.707 712.6855 331.3496 712.3545 330.9805 712.2197 c +331.4697 712.2607 331.7695 712.0352 331.9395 711.7393 c +331.9834 711.4277 331.9834 711.0938 331.9395 710.7793 c +331.7676 710.4893 331.46 710.377 330.9805 710.2998 c +329.502 710.1123 331.4502 711.6289 330.7402 711.0195 c +329.2813 710.2422 330.1016 708.6963 329.2998 707.4199 c +328.9736 707.5137 328.7217 707.7529 328.8203 708.1396 c +329.0977 707.6064 328.4355 707.2881 328.3398 706.9395 c +327.8281 706.1426 326.8398 704.585 325.9395 705.2598 c +F +290.1802 697.0996 m +286.6494 698.043 283.2944 697.918 279.8599 699.2598 c +279.9033 699.3535 279.6582 698.9697 279.6201 699.0195 c +278.084 699.6533 277.0737 700.7168 275.7798 701.8994 c +274.8872 702.8428 273.063 702.418 271.7002 702.8594 c +271.3042 703.0898 271.0806 703.6514 270.7402 703.5801 c +269.4102 703.8682 268.3906 704.9121 267.1401 705.5 c +269.811 706.4141 272.4629 706.3809 275.0601 706.7002 c +275.2949 706.8242 275.4536 706.4697 275.54 706.46 c +275.751 706.4697 275.8926 706.7119 276.02 706.9395 c +276.2554 706.5537 276.5864 706.1934 276.98 706.46 c +277.4722 707.0674 278.084 706.8584 278.6602 706.7002 c +278.835 706.8027 278.9746 706.4697 279.1401 706.46 c +279.2695 706.4697 279.4136 706.8125 279.6201 706.7002 c +279.7109 706.8105 279.855 706.4697 280.1001 706.46 c +280.1504 706.4697 280.292 706.7119 280.3398 706.9395 c +281.2017 706.001 282.1733 706.6113 282.98 706.46 c +284.2207 706.165 284.5137 704.8994 285.6201 704.54 c +290.8833 703.1377 295.4336 700.7793 300.2598 698.54 c +300.5693 698.3213 300.7998 698.0479 300.7402 697.5801 c +300.9751 697.6201 301.3184 697.7168 301.46 697.5801 c +302.6914 696.7666 303.8359 696.1641 304.5801 694.9395 c +304.8418 694.585 304.479 694.1357 304.3398 694.2197 c +299.3506 695.2881 294.9438 695.9551 290.1802 697.0996 c +F +274.8198 648.6201 m +273.1206 649.8799 272.4775 652.1113 271.2197 654.1396 c +271.0015 654.4561 271.3042 654.8047 271.7002 654.8594 c +272.2686 655.0752 272.8662 654.5498 273.3799 654.3799 c +275.2354 653.3789 276.9248 652.0137 279.1401 651.9795 c +281.3096 649.4043 285.9941 648.9795 286.1001 645.2598 c +286.0039 644.3164 284.4321 645.3242 283.9399 644.2998 c +281.2642 645.4834 278.6357 645.3701 276.02 646.9395 c +275.3384 647.4033 275.7031 647.9023 274.8198 648.6201 c +F +244.5801 706.46 m +244.729 706.3711 252.4614 706.1143 252.5 705.9795 c +252.3945 705.6514 243.8911 704.4971 243.3799 704.7793 c +243.3105 704.7676 235.0474 702.0938 234.98 702.1396 c +235.1934 702.3896 244.2871 706.373 244.5801 706.46 c +F +0 g +261.6201 695.6602 m +245.2402 693.6602 240.5 692.2998 v +235.5605 691.0205 215.1006 682.6611 211.7002 680.54 c +197.0601 674.5205 178.3398 652.46 v +186.7207 656.2617 189.1401 659.4199 v +204.1016 673.2002 203.7798 670.46 v +217.3018 679.8008 216.7402 677.4199 v +243.481 689.7002 241.2197 686.2998 v +265.04 691.2412 264.02 688.9395 v +284.6216 684.2002 281.54 683.8994 v +275.1606 682.6611 282.2598 678.6201 v +278.4609 673.8604 272.4199 678.3799 v +266.5806 682.6611 269.8809 680.2393 264.5 679.0996 c +261.5215 678.2598 256.5801 682.7002 v +250.3018 687.7207 240.7402 683.6602 v +206.96 669.9004 204.7402 669.2598 v +200.8018 666.1611 198.2598 662.2998 v +191.7798 657.3604 188.4199 655.8193 v +174.4014 643.0615 173.0601 641.4199 v +169.3398 635.8018 168.5 635.4199 v +175.501 639.54 177.6201 641.6602 v +193.1001 652.7402 198.98 653.6602 v +203.8809 656.9209 204.7402 658.46 v +220.6016 668.5801 225.1401 668.54 v +235.3398 662.8613 238.1001 670.46 v +244.3613 672.54 250.5801 671.1797 v +254.041 674.0811 253.2197 676.46 v +254.9214 678.4805 256.1001 674.2998 v +259.7598 670.3398 264.98 672.6201 v +269.4414 672.7617 267.1401 670.2197 v +262.3999 665.9404 249.3799 665.6602 v +235.7817 665.0596 217.7002 656.7793 v +184.9614 645.2598 174.7402 633.7393 v +167.8018 624.1396 161.7798 622.9395 v +155.48 621.9414 148.8198 613.8193 v +159.6606 620.1797 169.46 620.2998 v +173.96 622.8193 169.7002 618.8594 v +165.8218 610.501 167.54 604.46 v +166.9209 598.8418 166.1001 597.0195 v +157.46 583.001 157.46 580.46 v +157.46 577.7217 158.7798 566.9404 159.1401 566.2998 c +159.6606 565.6201 158.1201 568.04 162.2598 565.3398 c +166.4814 562.7598 169.5605 561.001 170.4199 557.8994 c +171.3198 554.8398 168.2407 563.8613 168.02 565.8193 c +167.8018 567.8213 163.1816 575.7412 164.1802 578.2998 c +165.1616 577.2793 166.1001 575.6602 v +165.3799 576.4014 166.1001 580.46 v +166.9209 586.0801 168.5 589.5801 v +170 593.1201 172.2007 597.3008 172.5801 598.2197 c +173.0815 599.0596 173.0815 605.4414 174.7402 602.54 c +178.3398 599.6602 l +175.2798 602.5801 177.6201 604.9395 v +176.6001 611.1602 178.5801 614.0596 v +186.2817 623.2617 187.9399 624.3799 v +189.7998 625.46 188.1802 625.0996 y +194.8613 629.6406 188.4199 627.9795 v +184.0806 626.1201 180.7402 626.0596 v +172.4214 623.9209 176.8999 628.46 v +181.2197 633.1611 192.2217 639.1016 196.3398 638.7793 c +197.2998 637.0996 l +209.54 639.7393 l +208.3398 638.7793 l +208.0615 639.1016 212.6602 639.5 v +217.3018 639.9795 223.6807 638.4414 225.1401 640.46 c +226.7598 642.4014 230.5015 643.501 230.1802 641.8994 c +229.6206 640.4209 229.46 638.2998 y +234.9009 644.5996 234.2598 642.1396 v +233.5806 639.7617 224.5615 634.04 222.98 627.2598 c +234.5 636.1396 l +238.3398 639.5 l +242.3818 637.1211 242.6602 638.7793 v +242.8208 640.6396 247.8799 647.0215 249.1401 646.7002 c +250.52 646.5801 252.7207 649.6611 252.5 646.7002 c +252.2817 643.9395 260.6602 638.0596 y +264.1616 639.9795 265.7002 638.54 v +267.2407 636.9004 271.9399 660.1396 y +299.2998 671.8994 l +347.2998 675.7393 l +328.5801 683.1797 l +261.6201 695.6602 l +F +*u +1 D +0 R +0.435294 0.886275 0.8 0.670588 K +1 J 2.2 w 10 M +281.54 476.7803 m +265.04 495.2217 255.8599 498.1396 v +241.0615 505.5605 214.1001 496.9395 v +S +252.2598 499.5801 m +224.5615 508.4209 207.6201 503.8994 v +187.3809 501.6006 178.1001 486.3799 v +S +248.4199 501.0195 m +229.6206 508.8604 213.3799 511.3398 v +195.0801 514.1406 176.8999 506.2998 v +163.3999 499.6201 157.46 488.2998 v +S +249.3799 500.54 m +232.4814 512.5996 231.3799 514.2197 v +223.6807 526.2412 209.2998 526.7002 v +185.8398 525.7998 166.8198 517.0996 v +S +*U +0 D +0 O +0 g +0 J 1 w 4 M +247.9399 510.3799 m +249.6802 508.7842 279.3799 477.0195 y +318.0605 436.7002 287.2998 474.3799 y +278.8999 479.5996 268.8198 500.2998 y +267.4614 503.3594 284.1802 492.3799 y +288.5815 491.4795 303.6201 470.2998 y +296.0601 473 301.46 465.0195 y +304.4214 462.8818 326.9004 445.8193 y +330.8223 441.3193 335.2998 439.5801 y +350.6211 445.2793 343.7002 430.7002 y +346.2227 423.2793 352.3398 435.9795 y +364.7021 454.5195 346.5801 451.8193 y +313.6621 448.8008 306.2598 466.46 y +303.541 469.04 313.2197 466.46 y +322.4629 464.2012 305.2998 480.1396 y +307.9395 480.041 318.0195 472.46 y +329.502 462.4395 331.7002 464.54 y +351.502 474.3193 362.9004 465.9795 y +365.1416 464.2012 358.9805 456.7207 360.7402 451.0996 c +362.502 445.2793 367.7002 431.6602 y +365.1416 429.8789 365.54 417.9795 y +384.0605 392.4795 373.46 394.7002 y +356.3408 395.1201 372.7402 386.7793 y +376.1406 384.5596 385.9395 376.7002 y +382.7402 377.96 380.9004 372.1396 y +386.2617 367.8389 383.2998 362.54 y +376.582 361.2393 375.3799 356.7793 y +382.7402 348.0391 371.7793 347.6602 y +375.7012 342.7588 370.3398 329.6602 y +365.1416 329.5586 358.0996 323.4199 y +360.7422 318.1201 349.2197 311.8994 y +340.0615 310.2002 343.2197 302.7793 y +334.3418 296.1201 331.7002 278.54 y +330.8223 267.0801 328.1816 263.5586 333.8594 265.8193 c +339.623 267.958 338.6602 281.6602 y +333.4609 298.7598 380.6602 316.46 y +384.9414 318.1201 385.9395 323.8994 y +388.0215 323.4004 397.7002 315.0195 y +406.0615 302.7197 406.5801 312.8594 y +407.8203 316.8008 406.0996 323.4199 y +412.6621 347.1582 397.2197 354.1396 y +386.2617 391.1602 401.7793 381.9795 y +404.7422 375.7588 416.6602 369.9795 y +420.5 372.6201 l +418.8223 377.96 428.1797 384.6201 y +431.1416 377.5205 437.7793 386.2998 y +441.7012 413.1582 455.2998 397.3398 y +459.7422 396.001 461.0605 403.5801 y +465.0225 414.9199 461.0605 429.9795 y +465.0225 430.3203 475.7002 423.7393 y +478.6621 427.6807 468.541 446.1582 473.0605 443.4199 c +477.3418 440.8809 482.1797 439.0996 y +483.0605 441.3193 472.0996 454.9395 y +467.2207 458.04 461.54 480.3799 y +469.4219 476.5205 458.4199 493.3398 y +458.4219 496.7598 465.1406 509.1797 y +464.1416 516.5596 465.1406 516.1396 y +468.1016 514.8008 476.9023 513.041 469.46 519.9795 c +461.9414 527.1201 470.4199 532.46 y +475.1406 535.4814 460.0996 535.0996 y +454.4629 539.8809 454.8203 544.2197 y +463.7021 542.0811 447.8623 557.9209 445.2197 561.9795 c +442.582 565.8418 453.1406 571.5801 y +467.6621 575.5205 454.8203 579.0195 y +433.3418 578.5996 445.2197 590.54 y +451.8223 590.04 450.0195 592.7002 y +444.3418 594.001 433.7002 601.0996 y +429.3828 605 433.46 604.2197 y +451.8223 602.8018 420.2598 615.0195 y +428.9414 615.1201 409.2197 626.54 y +406.9424 628.3203 403.46 636.6201 y +396.8223 642.4014 391.46 649.8193 y +391.1025 654.7207 385.9395 659.8994 y +373.0615 674.96 366.9805 674.54 y +350.6211 678.4805 344.9004 677.6602 y +286.8198 672.8594 l +257.7798 658.6807 266.4199 635.6602 y +273.4014 626.3408 283.46 630.6201 y +288.5815 637.3398 301.46 634.9395 y +323.7822 631.3994 320.9004 635.4199 y +318.2813 640.4209 300.4614 647.2393 300.2598 647.8994 c +300.02 648.5596 290.4199 652.2197 y +287.041 653.6211 282.2598 663.7393 y +278.6816 667.4814 296.1802 661.0996 y +294.7402 660.001 302.8999 655.5801 y +322.0205 656.7002 333.6201 644.7793 y +345.5625 626.5615 345.8594 635.6602 y +348.8623 645.9199 335.7793 669.2598 y +336.3223 671.4414 345.3799 664.2197 y +346.8828 666.3799 347.7793 659.8994 y +347.9814 657.3604 352.0996 648.6201 y +355.2422 634.2607 359.2998 642.3799 y +364.3398 632.0596 l +365.8018 629.2012 359.2998 620.7793 y +358.9805 617.7607 359.8613 617.9814 353.7793 609.7393 c +347.543 601.2607 351.3799 596.54 y +349.7402 589.1602 359.54 589.5801 y +362.2813 587.1797 366.0195 587.1797 y +368.002 584.9814 370.5801 585.7393 y +372.4014 589.8193 379.2197 587.6602 y +380.7607 590.2617 389.7793 590.7793 y +390.8809 593.5615 391.3203 595.3203 395.0605 596.0596 c +398.8018 596.6406 371.7793 644.0596 y +378.7813 644.8203 369.8594 658.46 y +367.3418 665.7197 379.8828 649.6611 382.3398 648.1396 c +384.7207 646.5801 385.8223 644.1602 384.0195 644.2998 c +382.3018 644.5996 380.3223 642.1807 381.8594 641.8994 c +383.4004 641.7412 397.7021 625.2412 401.54 614.0596 c +405.1807 602.8018 411.7813 598.3994 418.5801 591.7393 c +425.4219 585.2002 424.5801 558.6201 y +424.1025 548.8994 430.8203 537.2598 y +432.9004 533.0596 428.1797 513.0195 y +426.082 510.6201 427.7002 509.6602 y +428.7227 508.4209 436.0996 493.8193 y +434.2207 494.1201 438.2598 490.2197 y +443.9023 483.5596 436.8203 486.8594 y +430.2607 488.6211 438.0195 477.7393 y +439.2822 475.8604 429.3799 480.8594 y +419.2617 481.5801 432.0195 473.6602 y +441.4805 465.7393 428.9004 470.54 y +423.8809 472.5605 427.46 465.0195 y +430.9209 463.3203 449.7793 455.6602 y +450.2813 451.4404 446.9004 445.8193 y +447.4209 441.54 444.9805 437.8994 y +443.6816 428.7793 443.0605 427.8193 y +438.4014 427.6807 430.3398 412.46 y +428.2813 409.6396 417.1406 396.3799 y +414.8623 388.7402 395.0605 396.6201 y +387.8027 392.9189 390.0195 396.6201 y +389.5615 399.0801 394.8203 405.7393 y +402.541 408.54 399.6201 420.3799 y +404.082 421.959 391.7617 425.04 391.9395 426.3799 c +392.2012 427.6807 398.6602 429.2598 y +407.3809 431.4199 402.5 434.0596 y +401.8809 438.459 405.1406 444.6201 y +417.9414 445.501 405.1406 463.3398 y +393.3008 471.6797 392.1797 477.9795 y +406.0615 487.0801 397.043 500.7197 397.2197 504.6201 c +397.4814 508.6396 398.9004 532.46 y +396.6006 539.2207 393.3799 554.2998 y +395.7227 559.9014 403.9395 573.7393 y +406.9424 578.3818 416.6211 583.6611 414.2598 586.9395 c +411.7813 590.2617 403.2197 588.3799 y +394.6211 589.8193 395.2998 584.0596 y +393.5215 583.001 392.6602 577.5801 y +391.8486 568.7744 382.0996 561.9795 y +369.7617 555.0605 379.9395 550.7002 y +386.4824 543.4014 375.6201 543.2598 y +363.6006 545.1602 372.7402 533.8994 y +384.502 519.8594 381.1406 516.8594 y +369.9824 515.6816 383.7793 505.5801 y +382.9609 507.7617 383.2998 505.8193 v +383.4004 503.8018 386.7012 499.1816 387.6201 496.9395 c +388.4629 494.7793 384.0195 494.54 y +384.7207 484.001 367.7002 488.54 y +367.7813 488.6211 366.0195 488.2998 v +364.2607 488.1797 351.9414 489.0605 345.6201 491.4199 c +339.1807 493.9014 331.7002 493.8193 y +327.3008 491.9209 318.9805 492.1396 v +310.5801 492.3604 301.7002 489.2598 y +296.9409 489.7207 306.4014 494.5615 306.7402 494.2998 c +306.8408 494.1201 313.002 500.2803 304.1001 499.5801 c +280.2246 497.8232 268.3398 509.1797 y +266.1416 510.6201 263.2998 513.7393 y +252.2817 515.8994 264.7402 500.0596 y +266.1416 498.5215 264.5 497.4199 y +263.7197 499.1816 255.1401 505.0996 y +252.0488 506.1914 250.5488 507.6582 247.9399 510.3799 c +F +0.435294 0.886275 0.8 0.670588 k +221.7798 523.0996 m +234.4614 517.001 237.3799 513.9795 v +240.1807 510.8408 255.6201 498.3799 y +249.6416 500.501 246.7402 502.46 v +243.9199 504.4609 232.1001 513.5 y +227.8613 520.0801 221.7798 523.0996 v +F +0.45098 0 1 0 k +157.9399 557.4199 m +158.2617 557.6406 157.6855 560.624 157.46 561.2598 c +156.3369 564.2188 146.4199 565.8193 y +146.2109 564.3389 146.1514 562.585 146.1802 560.7793 c +151.6206 554.71 157.9399 557.4199 v +F +0.658824 0.2 1 0.039216 k +157.9399 557.6602 m +157.395 557.5225 157.875 560.7051 157.7002 561.2598 c +156.5552 564.2188 146.4199 566.0596 y +146.2109 564.4492 146.1514 562.6924 146.1802 560.7793 c +150.9609 555.2598 157.9399 557.6602 v +F +0 g +153.1401 557.6602 m +152.3721 557.54 151.8154 558.7949 151.7002 560.2998 c +151.8154 561.8857 152.3721 563.1416 153.1401 563.1797 c +153.7471 563.1416 154.3066 561.8857 154.3398 560.2998 c +154.3066 558.7949 153.7471 557.54 153.1401 557.6602 c +F +102.98 449.6602 m +96.7402 438.6797 124.1001 445.3398 v +139.4214 446.5996 142.1001 449.1797 v +143.3818 448.3594 152.583 445.1338 155.7798 444.3799 c +163.1816 442.6396 172.3398 453.7402 y +177.481 465.1904 180.5 465.2598 v +183.6416 465.1904 180.02 463.3398 y +172.8608 452.3193 173.2998 450.6201 v +167.5806 428.5586 150.02 427.5801 v +132.2144 426.6338 133.7002 420.1396 v +143.3818 422.8398 145.9399 420.1396 v +157.9014 420.6387 149.0601 413.6602 v +141.6201 400.9395 l +141.7734 396.5313 130.5801 400.46 v +119.8398 404.1387 108.5 418.2197 y +90.9658 434.333 102.98 449.6602 v +F +0.066667 0.470588 0.290196 0 k +101.54 445.3398 m +99.3799 434.7197 139.9399 446.0596 v +144.7017 446.1582 147.3799 445.3398 v +149.9814 444.3994 163.1816 441.3193 165.3799 442.7002 c +157.46 427.6807 144.7402 429.5 v +130.1816 427.6807 130.5801 422.2998 v +135.02 414.4805 140.4199 411.7402 v +143.3818 409.2002 143.0601 405.7402 v +142.501 402.1592 139.4214 400.3994 137.2998 399.5 c +135.02 398.6406 131.5015 402.1592 129.8599 402.1396 c +127.981 402.1592 118.7407 409.2002 114.02 414.3799 c +109.0615 419.7578 99.8218 432.958 100.3398 435.9795 c +100.7002 439.1191 101.54 445.3398 y +F +0.262745 0.682353 0.52549 0.062745 k +105.1401 426.1396 m +107.96 421.7402 111.481 417.1201 114.02 414.3799 c +118.7407 409.2002 127.981 402.1592 129.8599 402.1396 c +131.5015 402.1592 135.02 398.6406 137.2998 399.5 c +139.4214 400.3994 142.501 402.1592 143.0601 405.7402 c +143.3818 409.2002 140.4199 411.7402 y +136.9277 413.5254 133.9136 417.3682 132.2598 419.8994 c +132.3799 417.1201 126.7402 417.9795 v +120.9414 418.8799 115.2197 421.959 113.54 425.4199 c +111.7017 429.001 109.0615 431.6406 110.8999 427.5801 c +112.5801 423.7207 115.2197 419.7578 116.8999 419.4199 c +118.7407 418.8799 118.3018 417.5596 115.7002 417.9795 c +113.0215 418.4404 109.9399 418.8799 105.1401 424.7002 c +F +0.254902 0.941176 1 0.243137 k +102.2598 449.1797 m +104.2207 464.2012 105.6201 468.6201 v +104.6602 476.0811 107.2998 480.6201 v +109.9399 485.3213 112.1406 492.1396 115.46 498.1396 c +118.7407 504.0195 118.9614 508.4209 123.3799 510.1396 c +127.7598 511.9395 134.3599 521.4004 137.54 522.6201 c +140.5205 523.6016 140.4199 522.6201 y +147.7808 539 162.7402 534.6201 v +144.9199 537.6797 162.2598 548.0596 v +157.0205 546.8115 160.5801 554.54 v +163.0713 559.6445 162.5215 552.2002 150.5 539.1797 c +144.9199 529.7598 139.2197 526.46 v +133.4814 523.1602 120.2817 515.4609 119.0601 511.3398 c +117.6416 507.1016 114.1206 500.7197 111.8599 498.8594 c +109.7217 497.2012 106.6401 492.5811 106.1001 488.7803 c +104.8809 484.4404 103.46 483.0195 v +101.8018 481.8008 101.5806 478.2803 101.54 476.0596 c +101.5806 473.8809 99.3799 470.8018 99.6201 468.1396 c +100.4814 447.2598 100.1001 445.0996 v +102.2598 449.1797 l +F +1 g +92.8999 444.1396 m +90.5815 445.7188 85.7002 439.0996 v +93.771 402.8193 93.8599 401.1797 v +94.981 403.5898 93.6201 411.5 v +92.1201 419.4297 91.2197 433.3398 y +92.8999 444.1396 l +F +0.254902 0.941176 1 0.243137 k +116.6602 510.8594 m +97.1816 507.3193 97.7002 475.0996 v +96.7402 447.9795 l +95.4199 476.0811 94.1001 477.7393 v +92.7798 479.5996 97.1816 491.9209 93.6201 485.4199 c +78.2598 469.9209 87.1401 446.54 v +88.7095 442.9707 85.46 447.9795 v +80.3506 461.8896 81.6201 468.8594 v +81.7808 471.3506 83.7798 474.3799 v +93.3296 487.3018 96.2598 489.7393 v +98.2808 505.6709 115.2197 511.3398 v +121.4912 513.9199 116.6602 510.8594 v +F +0 g +269.7798 583.5801 m +270.6055 584.0498 270.5957 585.1182 271.2197 585.2598 c +272.499 585.6846 272.6792 586.8584 273.1401 587.6602 c +274.208 589.1719 274.4214 590.8594 275.0601 592.46 c +275.3599 593.2686 275.3911 594.3193 275.0601 595.0996 c +273.7544 597.7734 272.9814 600.4688 271.46 603.0195 c +271.1001 603.6318 270.812 604.5049 270.5 605.1797 c +270.0825 606.6865 268.7002 607.7764 267.8599 609.2598 c +267.4375 609.7129 268.0137 610.7305 267.1401 610.9395 c +266.2402 610.9395 264.6465 611.5752 264.5 610.46 c +263.7441 607.6016 264.855 604.8271 265.9399 602.0596 c +265.0591 601.3779 265.4263 600.3682 265.7002 599.4199 c +266.377 595.5557 265.0566 591.8691 264.2598 588.1396 c +264.1953 587.9336 264.5718 587.7148 264.5 587.6602 c +263.1968 584.6934 261.5981 582.0029 259.7002 579.5 c +258.7642 578.293 257.8066 577.2842 257.2998 576.1396 c +256.8535 575.249 256.4048 574.1885 256.5801 573.0195 c +252.9033 570.0439 250.4263 565.8125 247.46 561.5 c +247.0474 560.835 247.3662 559.5049 247.9399 559.0996 c +248.8662 558.7705 249.9199 559.8965 250.3398 560.7793 c +250.8633 561.5957 251.252 562.3105 251.7798 562.9395 c +251.9385 563.2109 251.7417 563.6719 251.7798 563.8994 c +254.7871 566.3857 256.623 569.6162 259.2197 572.2998 c +261.4663 572.583 263.1558 573.6797 264.98 574.7002 c +265.417 574.9902 265.9951 574.7168 266.4199 574.9395 c +268.2417 576.2266 268.2393 578.4678 268.3398 580.46 c +268.4097 581.54 268.6255 582.9893 269.7798 583.5801 c +F +260.1802 588.6201 m +260.2905 588.6582 260.1201 589.124 260.1802 589.3398 c +260.4199 589.7168 260.8613 589.9229 261.1401 590.2998 c +261.1616 590.5186 260.9814 590.9355 261.1401 591.0195 c +263.6982 593.7842 263.979 597.1113 262.8198 600.3799 c +263.9673 601.0635 264.0342 602.4512 263.54 603.5 c +262.6279 605.252 262.417 607.3711 261.3799 609.0195 c +260.4609 610.4648 258.7256 611.833 257.2998 610.46 c +256.7554 609.958 256.3999 609.0938 256.8198 608.2998 c +256.7769 608.1318 257.0913 607.9707 257.0601 607.8193 c +256.9424 607.5244 256.3423 607.2773 256.3398 606.8594 c +256.3042 605.333 255.2529 603.6699 255.8599 602.2998 c +256.7959 600.418 257.6958 598.373 258.5 596.54 c +257.0815 594.0918 258.2192 591.3994 256.3398 589.3398 c +256.1406 589.1738 256.1504 588.749 256.3398 588.6201 c +256.6064 587.9932 257.0527 587.5469 257.54 587.1797 c +257.811 587.0908 258.1929 587.0908 258.5 587.1797 c +259.0498 587.624 259.4863 588.1592 260.1802 588.6201 c +F +329.2998 599.8994 m +330.7754 597.9434 331.0957 594.8691 328.8203 593.4199 c +329.4463 589.7002 333.1328 591.877 335.54 592.46 c +335.3223 592.8867 335.5713 593.2666 335.7793 593.1797 c +337.0449 593.2881 337.793 594.4229 338.9004 594.1396 c +339.4395 595.9326 341.2402 596.7051 342.0195 598.2197 c +343.8457 602.2881 343.1982 606.9893 340.3398 610.46 c +340.1338 610.8389 340.3711 611.4072 340.3398 611.8994 c +339.4043 614.2373 337.1289 614.583 335.0605 615.2598 c +333.707 619.6035 332.9785 624.0361 330.9805 628.2197 c +329.2666 628.376 328.498 630.2881 327.1406 631.0996 c +325.5605 631.8701 324.9365 630.1348 324.9805 628.9395 c +324.9902 628.7598 325.4863 628.5127 325.2197 628.2197 c +325.2148 627.9297 324.9297 627.8096 324.9805 627.7393 c +324.9316 627.5117 325.1738 627.3682 325.2197 627.2598 c +324.3105 626.3193 322.7461 625.793 322.3398 624.6201 c +321.373 620.4531 324.2021 617.0166 325.9395 613.5801 c +326.6865 612.248 325.877 610.8486 324.9805 609.5 c +324.5605 608.7559 324.6797 607.5146 324.9805 606.6201 c +325.8105 604.0107 327.5605 602.0957 329.2998 599.8994 c +F +288.2598 579.7393 m +286.7358 577.6543 282.9849 574.8291 286.1001 572.7793 c +286.4048 572.5664 286.8125 572.5615 287.0601 572.7793 c +289.2246 574.4307 291.4302 575.4248 294.02 576.1396 c +294.2456 576.0967 294.5479 575.583 294.98 575.6602 c +296.7271 576.5332 298.9375 576.4688 300.2598 578.0596 c +304.3833 577.6953 308.3047 578.9209 312.0195 580.46 c +313.3135 580.8535 314.7109 581.4678 316.0996 582.1396 c +317.5449 582.6533 318.8691 583.6758 320.1797 585.0195 c +320.2373 585.0801 320.6289 584.9814 320.9004 585.0195 c +320.8789 585.9297 321.9365 586.0713 322.0996 586.7002 c +322.3086 587.0098 322.1426 587.4463 322.3398 587.6602 c +324.6416 589.3496 325.6543 591.5693 324.2598 594.1396 c +324.0537 594.8213 323.7793 595.501 323.0605 596.0596 c +321.9629 597.0244 320.751 596.0859 319.7002 596.54 c +319.4258 595.7305 318.625 595.918 318.2598 595.8193 c +317.2539 595.2197 315.7881 595.8633 314.9004 595.3398 c +313.3447 594.6152 311.9785 594.4297 310.3398 593.8994 c +310.0713 593.9258 309.2168 594.0293 309.1406 593.4199 c +308.8926 593.4893 308.7295 593.7461 308.6602 593.6602 c +306.5146 593.2852 305.1294 593.0498 303.6201 591.2598 c +303.584 591.0439 303.0967 591.2402 302.8999 591.0195 c +301.8701 590.2012 301.4263 588.8457 300.2598 588.1396 c +299.9937 587.9697 299.605 588.1563 299.2998 587.8994 c +298.6807 587.54 298.2773 586.834 297.6201 586.46 c +297.2095 586.0898 296.7705 586.4473 296.8999 586.7002 c +297.0752 588.8721 297.793 590.8369 297.1401 592.9395 c +299.4463 595.6729 302.2134 597.8164 304.1001 600.8594 c +304.2178 603.2041 304.9785 605.5635 304.8198 607.8193 c +304.8418 608.0596 304.5249 608.8662 304.3398 609.2598 c +304.0449 610.1885 305.041 611.3594 304.1001 612.1396 c +302.5688 613.4814 301.1479 612.5166 300.2598 610.9395 c +298.2178 610.5098 295.9448 609.749 294.2598 611.1797 c +293.103 611.9717 292.4673 612.9697 291.6201 614.0596 c +290.5039 615.5625 290.8735 617.1416 290.8999 618.8594 c +290.9551 619.0039 290.6094 619.1523 290.6602 619.3398 c +290.6118 619.4502 290.8521 619.5938 290.8999 619.8193 c +290.2231 620.4297 289.9209 621.5938 288.7402 621.9795 c +289.1357 623.1416 288.3921 624.1133 287.54 624.3799 c +285.2383 625.208 283.395 623.1025 281.2998 622.9395 c +280.748 623.002 280.2344 624.1445 279.6201 624.6201 c +279.0464 624.7393 278.271 624.7754 277.9399 624.3799 c +277.1167 623.9287 276.4688 623.8037 275.54 623.6602 c +273.855 623.0977 272.4512 621.8936 270.7402 621.0195 c +269.1895 620.0117 268.1382 618.4297 266.8999 616.9395 c +265.9136 615.7109 265.7646 613.0566 267.3799 612.6201 c +269.355 611.792 270.7881 614.7656 272.8999 614.2998 c +273.2935 614.3506 273.5215 614.0068 273.3799 613.5801 c +273.8286 613.46 274.0688 613.7119 274.3398 614.0596 c +275.2231 612.9004 276.5049 612.5283 277.46 611.6602 c +278.605 610.5752 280.5249 611.0332 281.54 609.9795 c +283.3232 608.2852 282.7065 605.3359 284.8999 603.9795 c +284.1968 602.4561 283.5298 601.0518 283.2197 599.4199 c +282.8506 598.1553 283.9424 596.8398 285.3799 597.0195 c +286.6592 597.041 286.9473 597.877 287.54 599.1797 c +287.7754 598.7666 288.291 598.4404 288.2598 598.2197 c +287.7417 595.5771 286.6133 593.3857 286.1001 590.7793 c +286.0449 590.3623 285.709 590.1387 285.3799 590.2998 c +284.7656 585.6963 280.3086 583.0635 277.46 579.5 c +277.0664 579.0293 277.0615 577.6563 277.46 577.0996 c +279.0537 575.6865 281.2109 577.3877 282.98 578.0596 c +283.3135 579.2666 284.2593 580.3037 285.6201 580.2197 c +286.0063 580.2314 286.2656 580.8271 286.5801 580.9395 c +287.0049 581.1221 287.5566 580.875 287.7798 581.1797 c +289.772 582.4082 291.3223 583.625 293.2998 585.0195 c +293.4438 585.0752 293.8232 584.9023 294.02 585.0195 c +294.4185 585.2002 294.625 585.624 294.98 585.7393 c +295.3613 586.0469 295.6279 585.7275 295.9399 585.5 c +295.1313 585.0361 295.1265 583.9834 294.5 583.8193 c +293.6338 583.4668 293.0166 582.9033 292.3398 582.3799 c +291.9536 582.2002 291.229 582.4707 291.1401 582.3799 c +290.4561 581.1436 289.1528 580.6611 288.2598 579.7393 c +F +227.54 633.9795 m +217.2583 637.2002 204.98 609.0195 v +202.3398 603.2402 199.7002 601.0996 v +197.0601 598.8418 184.7407 594.8818 182.6602 590.54 c +171.1401 572.7793 l +187.3809 590.4795 190.8198 593.1797 v +199.7002 602.3594 196.1001 594.8594 v +180.7808 583.001 182.1802 572.7793 v +175.9399 557.04 174.98 554.7793 v +192.6606 590.04 195.3799 591.2598 v +197.9409 592.6807 199.2607 592.6807 198.02 588.6201 c +196.6206 584.7607 196.1816 566.7197 193.2197 564.6201 c +201.9009 586.9609 201.1401 590.54 v +204.541 594.4395 207.1401 588.6201 v +205.9399 571.0996 l +210.7402 557.8994 l +208.0615 570.2402 209.7798 587.4199 v +207.6201 598.8418 211.9399 592.7002 v +216.4209 586.5195 226.981 579.9199 227.0601 574.7002 c +221.2617 594.001 211.2197 599.1797 v +206.6602 592.7002 l +205.46 594.8594 l +201.4614 595.7598 206.4199 603.2598 v +211.1406 610.7217 210.7402 611.6602 y +217.7407 603.6797 219.6201 603.7393 v +234.02 612.041 235.46 585.2598 v +242.8208 601.04 232.8198 608.54 v +216.4209 610.7217 217.7002 616.46 v +225.6201 630.1396 l +229.6206 635.8018 227.7798 632.7793 y +F +205.46 615.9795 m +191.3408 616.001 187.9399 610.2197 v +180.02 599.6602 l +198.8218 610.7217 203.2998 612.1396 v +207.6201 613.3613 205.46 615.9795 y +F +161.54 609.0195 m +159.2217 607.6396 158.8999 604.46 v +158.3408 601.4814 155.7007 601.04 156.5 597.9795 c +157.46 594.8818 159.6606 592.2412 159.6201 596.54 c +159.6606 601.04 161.4199 603.2402 162.2598 604.46 c +163.1816 605.8809 164.9409 610.7217 161.54 609.0195 c +F +151.7002 541.5801 m +142.501 546.041 138.98 549.9795 v +135.4614 553.9609 135.9585 548.2783 130.5801 548.7793 c +124.189 549.166 125.2998 566.7793 y +120.98 558.3799 l +119.6216 542.5205 128.4199 545.1797 v +132.7183 546.4492 134.1416 544.7217 132.5 543.7393 c +130.6206 542.96 138.541 542.5205 135.3799 540.8594 c +132.3799 539 148.2197 544.7217 145.7002 533.1797 c +151.7002 541.5801 l +F +137.7798 525.7393 m +120.9414 520.9609 116.8999 531.5 v +111.7017 528.8818 114.02 525.5 v +116.54 522.2813 117.8599 521.8994 y +123.7998 520.5195 123.1401 519.7393 v +122.48 518.7607 119.7798 514.9395 y +131.0601 521.6211 137.7798 525.7393 v +F +1 g +389.0605 439.8193 m +388.6523 437.4316 386.8135 436.5508 384.7402 435.7402 c +382.6133 436.8721 379.7559 440.29 377.7793 437.8994 c +377.1602 438.5479 376.3037 438.6123 375.8594 439.3398 c +375.4141 440.3311 375.7129 441.4805 375.3799 442.46 c +374.7363 443.7578 373.957 445.2607 374.1797 446.7803 c +376.1484 447.6025 376.8027 449.6982 376.3398 451.5801 c +376.2051 451.9209 375.7324 452.1387 375.8594 452.54 c +376.1582 452.8779 376.5078 453.1279 376.8203 453.5 c +376.6523 453.2715 376.4941 453.0146 376.3398 453.0195 c +375.7012 453.1543 375.8359 453.8545 375.8594 454.2197 c +376.623 456.2021 378.8379 456.4922 380.4199 455.1797 c +380.6025 455.8018 381.1621 455.5879 381.6201 455.6602 c +381.5859 456.2578 382.0352 456.8379 382.3398 457.3398 c +382.8223 458.5059 384.6152 457.2891 385.46 458.0596 c +386.6738 458.8711 387.8438 459.6416 389.0605 459.0195 c +391.0215 457.8633 392.9004 456.5313 394.0996 454.7002 c +394.8516 453.6963 395.1152 452.2881 395.0605 451.3398 c +395.0098 450.5215 393.4902 450.9102 393.1406 449.8994 c +392.4033 447.9658 394.417 447.3945 395.2998 445.8193 c +395.4678 445.5391 395.1777 445.2031 394.8203 445.0996 c +394.3789 444.9561 393.5166 445.165 393.6201 444.6201 c +394.7363 441.1514 391.7051 440.4082 389.0605 439.8193 c +F +378.5 418.2197 m +378.5527 420.1299 376.791 422.0645 378.0195 423.9795 c +378.2695 423.793 378.4141 423.5498 378.5 423.5 c +378.7109 423.5498 378.8555 423.793 378.9805 423.9795 c +380.6455 421.5029 384.6631 420.4805 384.5 417.2598 c +384.4834 416.8594 383.2881 415.8486 384.2598 415.0996 c +382.2871 413.6572 382.2266 411.0508 381.1406 408.8594 c +379.8398 409.2939 378.5078 409.6924 377.2998 410.2998 c +377.6289 411.9346 377.499 413.7871 378.5 415.3398 c +378.8789 416.0068 378.5645 417.1924 378.5 418.2197 c +F +0.8 g +195.8599 428.0596 m +177.1953 416.9697 192.7402 433.8193 v +202.3398 444.3994 213.3799 450.6201 y +224.7798 455.4004 228.7402 456.6201 v +232.7002 458.041 249.4209 463.7598 252.98 464.2998 c +256.46 464.6406 267.02 469.04 274.5801 464.54 c +281.9814 460.2412 290.8999 455.4199 y +272.7417 464.6406 268.8198 461.8994 v +264.8218 459.3604 256.9014 459.7998 250.3398 456.3799 c +234.02 451.4404 230.4199 449.1797 v +226.981 447.0391 215.54 434.2803 213.8599 435.2598 c +212.0215 436.04 214.2197 436.4795 215.54 439.5801 c +216.8599 442.6396 214.6616 444.3994 205.9399 437.4199 c +197.0601 430.3203 195.8599 428.0596 y +F +0 g +203.7798 434.7803 m +205.436 449.0264 214.8198 447.2598 v +223.8105 451.7842 226.8198 453.9795 v +235.7578 455.8203 237.1401 456.3799 v +257.5254 466.0684 273.7183 461.0986 274.3398 462.3799 c +274.9185 463.5605 296.5063 455.7314 300.5 451.3398 c +300.9082 450.749 289.2222 457.3945 278.6602 459.5 c +269.4536 461.249 245.6934 459.2021 233.7798 453.0195 c +230.4248 451.4521 220.585 445.0898 217.7002 445.0996 c +215.0166 445.335 203.7798 434.7803 y +F +0.8 g +199.7002 406.46 m +182.9814 409.2002 201.3799 411.0195 v +221.2617 413.1582 225.6201 418.9395 v +240.6201 429.001 243.6201 429.5 v +246.7808 429.8789 279.7808 437.7988 280.3398 440.54 c +280.6616 443.0791 286.8198 443.0791 288.5 442.2197 c +290.3408 441.3193 289.46 440 286.3398 439.0996 c +283.3018 438.2402 248.9814 420.2002 241.9399 418.9395 c +234.9009 417.5596 222.1401 409.2002 216.98 407.8994 c +211.5801 406.5586 199.7002 406.46 y +F +0 g +221.0601 414.6201 m +211.731 415.6113 221.2998 416.54 v +230.8906 420.2764 233.0601 423.2598 v +240.8047 428.3887 242.4199 428.54 v +243.9585 428.8369 259.3135 432.8936 259.46 434.2998 c +259.7646 435.5957 297.2383 449.4365 302.1802 445.8193 c +305.3022 443.6162 294.4111 445.46 283.7002 440.54 c +282.3223 439.9277 245.084 423.8818 241.46 423.2598 c +237.8745 422.5303 231.3418 418.251 228.7402 417.5 c +225.9346 416.8975 221.0601 414.6201 y +F +212.4199 412.2197 m +218.1802 412.7188 216.98 411.0195 v +215.54 409.2002 212.8999 410.0596 y +212.4199 412.2197 l +F +204.5 410.54 m +210.2598 410.96 209.0601 409.0996 v +207.6201 407.4395 204.98 408.3799 y +204.5 410.54 l +F +193.2197 408.8594 m +198.8218 409.2002 197.54 407.4199 v +196.1816 405.6797 193.46 406.46 y +193.2197 408.8594 l +F +184.8198 407.8994 m +190.46 408.3193 189.1401 406.46 v +187.8198 404.7988 185.2998 405.7402 y +184.8198 407.8994 l +F +227.0601 451.3398 m +231.8218 451.4404 230.4199 449.6602 v +229.1816 447.9199 225.6201 448.46 y +227.0601 451.3398 l +F +216.02 445.3398 m +223.1357 447.6338 220.3398 443.8994 v +219.0605 442.2002 216.5 443.1797 y +216.02 445.3398 l +F +203.7798 440.0596 m +209.3818 440.4395 208.1001 438.6201 v +206.7417 436.9209 204.02 437.8994 y +203.7798 440.0596 l +F +195.3799 433.3398 m +201.02 433.8389 199.7002 432.1396 v +198.3799 430.3203 195.8599 431.1797 y +195.3799 433.3398 l +F +187.9399 428.0596 m +193.5415 428.5586 192.2598 426.8594 v +190.9014 425.041 188.1802 425.8994 y +187.9399 428.0596 l +F +230.8999 421.0996 m +238.4238 421.6689 236.6602 419.4199 v +234.9102 416.9834 231.3799 418.2197 y +230.8999 421.0996 l +F +242.1802 426.3799 m +249.8647 426.9482 248.1802 424.7002 v +246.3511 422.2637 242.8999 423.5 y +242.1802 426.3799 l +F +254.1802 431.1797 m +261.7446 431.7891 259.9399 429.5 v +258.231 427.1045 254.6602 428.2998 y +254.1802 431.1797 l +F +265.46 436.46 m +273.1831 437.0693 271.46 434.7803 v +269.6694 432.3848 266.1802 433.5801 y +265.46 436.46 l +F +235.2197 456.3799 m +242.8232 456.8691 240.98 454.46 v +239.3096 452.1846 234.98 452.54 y +235.2197 456.3799 l +F +246.2598 459.7402 m +253.8247 460.3877 252.02 458.0596 v +250.311 455.7031 245.54 455.8994 y +246.2598 459.7402 l +F +221.2998 415.8193 m +226.981 416.2402 225.6201 414.3799 v +224.3408 412.7188 221.7798 413.6602 y +221.2998 415.8193 l +F +0.254902 0.941176 1 0.243137 k +140.6602 525.0195 m +135.9009 515.2393 135.3799 511.8193 v +136.3398 521.4004 137.7798 523.5801 v +138.98 525.7998 140.6602 525.0195 y +F +120.5 509.4199 m +116.9814 493.6807 117.3799 490.7002 v +116.1006 503.3594 116.6602 504.6201 v +116.9814 506 120.5 509.4199 y +F +0.8 g +143.2998 591.5 m +143.0601 588.1396 l +140.6602 587.8994 l +156.3608 573.9795 156.98 565.5801 v +157.9014 574.6396 143.2998 591.5 v +F +0 g +147.8599 590.2998 m +147.2891 590.6475 147.5288 591.4658 147.1401 591.7393 c +146.1919 592.3203 148.5078 592.3828 148.3398 593.1797 c +147.8359 594.4971 148.0425 594.5215 147.8599 595.8193 c +147.8457 596.5801 148.4912 598.2744 148.8198 598.7002 c +150.5073 600.5762 149.0503 603.8018 150.7402 605.4199 c +151.189 605.8252 151.6016 606.4326 151.9399 606.8594 c +152.6406 607.9521 153.9414 608.4893 155.0601 609.5 c +155.3384 609.7041 155.1152 610.6133 155.7798 610.46 c +156.5264 610.3857 157.8921 610.5293 157.9399 609.5 c +157.7192 607.2705 156.2578 605.3789 154.8198 603.5 c +155.3457 602.7705 154.8418 602.0713 154.5801 601.3398 c +153.0605 598.5771 153.2695 595.4502 153.1401 592.2197 c +153.0703 592.2344 152.7344 592.1475 152.6602 591.9795 c +153.1304 589.5225 153.7734 587.1025 154.8198 584.54 c +155.1416 583.6279 155.6602 582.6436 155.7798 581.6602 c +155.9478 580.8682 156.0605 579.9531 155.54 579.2598 c +157.8511 575.998 156.4111 573.082 157.7002 569.1797 c +157.9233 568.5098 159.7856 566.4053 159.3799 566.54 c +156.5117 567.54 156.3896 567.9775 156.2598 568.7002 c +156.0342 569.4922 155.6694 571.0059 155.2998 571.5801 c +155.3384 571.8486 155.1514 573.9219 155.0601 573.9795 c +153.4014 576.6748 154.8945 576.4834 153.3799 579.0195 c +151.8174 579.8232 150.7544 581.0381 149.54 582.3799 c +149.3022 582.54 150.5601 583.3369 150.2598 583.5801 c +149.1582 584.9912 147.8911 585.833 148.3398 587.4199 c +148.4312 588.2334 148.5801 589.3975 147.8599 590.2998 c +F +143.7798 588.3799 m +144.2598 580.8008 146.8999 579.0195 v +149.54 577.2793 148.2197 578.1602 144.7402 579.5 c +141.1807 580.8008 142.5801 581.6602 y +139.4214 581.2393 142.1001 579.0195 v +144.7017 576.8408 148.6616 574.2002 146.8999 574.2197 c +145.1406 574.2002 136.7817 578.5996 136.8198 581.6602 c +136.7817 584.7607 135.6201 589.3398 y +136.8896 590.1514 142.1001 590.0596 v +143.7104 589.2705 143.7798 588.3799 v +F +1 g +143.0601 567.7393 m +133.5679 570.8906 113.2998 567.2598 v +123.1733 569.4463 143.7798 567.0195 v +155.1514 565.5654 143.0601 567.7393 y +F +0 R +0 G +1 J 0.11 w 10 M +143.0601 567.7393 m +133.5679 570.8906 113.2998 567.2598 v +123.1733 569.4463 143.7798 567.0195 v +155.1514 565.5654 143.0601 567.7393 y +143.0601 567.7393 l +s +0 O +1 g +0 J 1 w 4 M +145.2197 567.9795 m +136.1768 571.7695 115.7002 569.8994 v +125.6982 571.2266 145.9399 567.0195 v +157.2178 564.5957 145.2197 567.9795 y +F +0 R +0 G +1 J 0.11 w 10 M +145.2197 567.9795 m +136.1768 571.7695 115.7002 569.8994 v +125.6982 571.2266 145.9399 567.0195 v +157.2178 564.5957 145.2197 567.9795 y +145.2197 567.9795 l +s +0 O +1 g +0 J 1 w 4 M +147.1401 567.7393 m +138.457 572.3311 117.8599 571.8193 v +127.9663 572.5713 147.8599 566.7793 v +158.9048 563.6113 147.1401 567.7393 y +F +0 R +0 G +1 J 0.11 w 10 M +147.1401 567.7393 m +138.457 572.3311 117.8599 571.8193 v +127.9663 572.5713 147.8599 566.7793 v +158.9048 563.6113 147.1401 567.7393 y +147.1401 567.7393 l +s +0 O +1 g +0 J 1 w 4 M +148.5801 567.5 m +141.1064 572.2881 122.6602 573.5 v +131.7178 573.3105 149.2998 566.54 v +158.7729 562.9014 148.5801 567.5 y +F +0 R +0 G +1 J 0.11 w 10 M +148.5801 567.5 m +141.1064 572.2881 122.6602 573.5 v +131.7178 573.3105 149.2998 566.54 v +158.7729 562.9014 148.5801 567.5 y +148.5801 567.5 l +s +0 O +1 g +0 J 1 w 4 M +275.54 555.9795 m +274.3999 555.2764 274.5801 556.46 v +274.8726 557.873 305.9023 572.3594 309.8594 572.0596 c +276.6055 557.5586 275.54 555.9795 v +F +0 R +0 G +1 J 0.11 w 10 M +275.54 555.9795 m +274.3999 555.2764 274.5801 556.46 v +274.8726 557.873 305.9023 572.3594 309.8594 572.0596 c +276.6055 557.5586 275.54 555.9795 v +275.54 555.9795 l +s +0 O +1 g +0 J 1 w 4 M +271.7002 555.2598 m +270.728 554.4941 270.98 555.7393 v +270.9922 557.1201 300.7881 574.001 304.8198 573.9795 c +272.7441 556.9424 271.7002 555.2598 v +F +0 R +0 G +1 J 0.11 w 10 M +271.7002 555.2598 m +270.728 554.4941 270.98 555.7393 v +270.9922 557.1201 300.7881 574.001 304.8198 573.9795 c +272.7441 556.9424 271.7002 555.2598 v +271.7002 555.2598 l +s +0 O +1 g +0 J 1 w 4 M +268.1001 553.8193 m +267.1665 552.9199 267.1401 554.2998 v +267.2578 555.5576 289.0566 572.6045 299.7798 574.7002 c +280.0161 565.7266 268.1001 553.8193 v +F +0 R +0 G +1 J 0.11 w 10 M +268.1001 553.8193 m +267.1665 552.9199 267.1401 554.2998 v +267.2578 555.5576 289.0566 572.6045 299.7798 574.7002 c +280.0161 565.7266 268.1001 553.8193 v +268.1001 553.8193 l +s +0 O +1 g +0 J 1 w 4 M +264.98 551.6602 m +264.0918 550.9561 264.02 552.1396 v +264.1758 553.3301 283.7935 568.6709 293.54 570.6201 c +275.6602 562.4814 264.98 551.6602 v +F +0 R +0 G +1 J 0.11 w 10 M +264.98 551.6602 m +264.0918 550.9561 264.02 552.1396 v +264.1758 553.3301 283.7935 568.6709 293.54 570.6201 c +275.6602 562.4814 264.98 551.6602 v +264.98 551.6602 l +s +0 O +0.8 g +0 J 1 w 4 M +230.1802 388.9395 m +213.3418 391.5986 231.8599 393.2598 v +251.6216 395.5586 256.1001 401.1797 v +270.98 411.3994 274.1001 411.7402 v +277.1406 412.2803 295.1816 416.2402 295.7002 418.9395 c +296.0601 421.5195 302.6602 424.1602 304.3398 423.2598 c +306.1807 422.4004 306.1807 412.2803 303.1401 411.5 c +300.02 410.5205 279.3418 402.6006 272.4199 401.1797 c +265.2607 399.958 252.5 391.5986 247.2197 390.3799 c +241.9399 388.959 230.1802 388.9395 y +F +0 g +310.3398 429.9795 m +307.0615 428.3408 305.7798 425.4199 v +298.7002 413.8203 282.98 410.2998 v +257.7798 400.3994 249.1401 398.2998 v +234.4614 392.7002 226.3398 393.5 v +218.6216 393.3584 225.3799 391.5801 v +247.6616 393.7998 251.2998 395.6602 v +268.5605 401.499 271.9399 404.2998 v +275.1606 407.2207 295.1816 412.7188 297.6201 414.8594 c +300.02 417.1201 310.8008 426.3584 310.3398 429.9795 c +F +245.7798 395.4199 m +251.5229 395.6865 250.3398 393.9795 v +248.9863 392.2783 246.2598 393.2598 y +245.7798 395.4199 l +F +237.8599 393.9795 m +243.5981 394.2002 242.4199 392.54 v +241.064 390.79 238.3398 391.8193 y +237.8599 393.9795 l +F +226.3398 392.54 m +232.1289 392.8281 230.8999 391.0996 v +229.5918 389.4199 226.8198 390.3799 y +226.3398 392.54 l +F +217.9399 392.0596 m +223.731 392.2275 222.5 390.6201 v +221.1943 388.8193 218.4199 389.8994 y +217.9399 392.0596 l +F +264.02 403.5801 m +271.6133 403.9082 270.02 401.6602 v +268.2368 399.3701 264.7402 400.7002 y +264.02 403.5801 l +F +275.2998 408.3799 m +281.8569 412.0762 281.2998 406.46 v +280.9736 403.6953 276.02 405.5 y +275.2998 408.3799 l +F +285.3799 411.5 m +293.2231 415.6113 291.3799 409.5801 v +290.4609 406.9063 286.1001 408.6201 y +285.3799 411.5 l +F +295.7002 416.7803 m +300.6079 422.2373 301.7002 414.8594 v +302.228 412.1162 296.4199 413.8994 y +295.7002 416.7803 l +F +254.4199 398.54 m +260.2686 398.8945 258.98 397.0996 v +257.7319 395.4844 255.1401 396.3799 y +254.4199 398.54 l +F +1 g +293.7798 532.2197 m +292.8799 531.4473 292.8198 532.7002 v +292.8774 533.8018 312.1113 548.3906 321.8594 549.9795 c +304.1289 542.5107 293.7798 532.2197 v +F +0 R +0 G +1 J 0.11 w 10 M +293.7798 532.2197 m +292.8799 531.4473 292.8198 532.7002 v +292.8774 533.8018 312.1113 548.3906 321.8594 549.9795 c +304.1289 542.5107 293.7798 532.2197 v +293.7798 532.2197 l +s +0 O +0 g +0 J 1 w 4 M +296.8999 461.8994 m +321.1426 437.3594 331.2197 433.3398 v +341.3818 421.0811 336.9805 392.54 v +333.4609 384.1201 330.0195 406.9395 v +333.4609 434.7197 321.1406 417.0195 v +311.9004 428.0098 318.9805 427.5801 v +322.4629 425.4795 322.8203 427.3398 v +323.3408 429.001 314.54 443.96 295.7002 459.7402 c +276.7017 475.6396 296.8999 461.8994 y +F +1 g +232.8198 419.4199 m +232.4814 421.2988 234.5 420.3799 v +236.4414 419.54 340.0615 412.7188 374.9004 386.2998 c +325.1025 411.8408 232.8198 419.4199 v +F +0 R +0 G +1 J 0.11 w 10 M +232.8198 419.4199 m +232.4814 421.2988 234.5 420.3799 v +236.4414 419.54 340.0615 412.7188 374.9004 386.2998 c +325.1025 411.8408 232.8198 419.4199 v +232.8198 419.4199 l +s +0 O +1 g +0 J 1 w 4 M +244.1001 424.2197 m +243.9199 426.1396 246.02 425.1797 v +247.8799 424.3809 398.1416 425.4795 424.0996 389.8994 c +399.9004 417.5596 244.1001 424.2197 v +F +0 R +0 G +1 J 0.11 w 10 M +244.1001 424.2197 m +243.9199 426.1396 246.02 425.1797 v +247.8799 424.3809 398.1416 425.4795 424.0996 389.8994 c +399.9004 417.5596 244.1001 424.2197 v +244.1001 424.2197 l +s +0 O +1 g +0 J 1 w 4 M +256.8198 428.54 m +256.6807 430.5391 258.7402 429.7402 v +260.6406 428.7803 451.3809 443.0791 477.3799 407.4199 c +466.7813 435.6006 256.8198 428.54 v +F +0 R +0 G +1 J 0.11 w 10 M +256.8198 428.54 m +256.6807 430.5391 258.7402 429.7402 v +260.6406 428.7803 451.3809 443.0791 477.3799 407.4199 c +466.7813 435.6006 256.8198 428.54 v +256.8198 428.54 l +s +0 O +1 g +0 J 1 w 4 M +267.8599 433.8193 m +267.6802 435.8193 269.7798 435.0195 v +271.6401 434.0596 406.0615 476.5205 432.0195 440.7803 c +417.2813 467.9404 267.8599 433.8193 v +F +0 R +0 G +1 J 0.11 w 10 M +267.8599 433.8193 m +267.6802 435.8193 269.7798 435.0195 v +271.6401 434.0596 406.0615 476.5205 432.0195 440.7803 c +417.2813 467.9404 267.8599 433.8193 v +267.8599 433.8193 l +s +0 O +1 g +0 J 1 w 4 M +204.02 408.8594 m +203.8809 410.7393 205.9399 409.8193 v +207.8408 408.9795 227.4199 406.5586 229.7002 363.9795 c +221.7007 410.0791 204.02 408.8594 v +F +0 R +0 G +1 J 0.11 w 10 M +204.02 408.8594 m +203.8809 410.7393 205.9399 409.8193 v +207.8408 408.9795 227.4199 406.5586 229.7002 363.9795 c +221.7007 410.0791 204.02 408.8594 v +204.02 408.8594 l +s +0 O +1 g +0 J 1 w 4 M +194.4199 406.9395 m +194.2017 408.9795 196.1001 408.1396 v +198.1616 407.2207 213.7808 412.2803 210.7402 369.5 c +212.0215 408.3193 194.4199 406.9395 v +F +0 R +0 G +1 J 0.11 w 10 M +194.4199 406.9395 m +194.2017 408.9795 196.1001 408.1396 v +198.1616 407.2207 213.7808 412.2803 210.7402 369.5 c +212.0215 408.3193 194.4199 406.9395 v +194.4199 406.9395 l +s +0 O +1 g +0 J 1 w 4 M +185.54 406.46 m +185.4009 408.541 187.46 407.6602 v +189.3608 406.7793 206.2998 406.1191 192.7402 381.5 c +203.2207 407.8809 185.54 406.46 v +F +0 R +0 G +1 J 0.11 w 10 M +185.54 406.46 m +185.4009 408.541 187.46 407.6602 v +189.3608 406.7793 206.2998 406.1191 192.7402 381.5 c +203.2207 407.8809 185.54 406.46 v +185.54 406.46 l +s +0 O +1 g +0 J 1 w 4 M +237.6201 455.4199 m +237.1904 453.1299 238.8198 454.46 v +256.5703 468.3555 292.2559 533.1484 353.54 539.4199 c +311.3691 552.668 237.6201 455.4199 v +F +0 R +0 G +1 J 0.11 w 10 M +237.6201 455.4199 m +237.1904 453.1299 238.8198 454.46 v +256.5703 468.3555 292.2559 533.1484 353.54 539.4199 c +311.3691 552.668 237.6201 455.4199 v +237.6201 455.4199 l +s +0 O +1 g +0 J 1 w 4 M +250.1001 457.3398 m +248.499 458.6211 250.5801 459.2598 v +252.6104 459.9971 376.2949 539.749 419.54 531.0195 c +389.6914 539.2471 250.1001 457.3398 v +F +0 R +0 G +1 J 0.11 w 10 M +250.1001 457.3398 m +248.499 458.6211 250.5801 459.2598 v +252.6104 459.9971 376.2949 539.749 419.54 531.0195 c +389.6914 539.2471 250.1001 457.3398 v +250.1001 457.3398 l +s +0 O +1 g +0 J 1 w 4 M +227.0601 450.6201 m +226.5151 448.8389 228.5 449.8994 v +238.2681 455.5449 242.2446 518.4746 290.1802 519.7402 c +254.5278 536.043 227.0601 450.6201 v +F +0 R +0 G +1 J 0.11 w 10 M +227.0601 450.6201 m +226.5151 448.8389 228.5 449.8994 v +238.2681 455.5449 242.2446 518.4746 290.1802 519.7402 c +254.5278 536.043 227.0601 450.6201 v +227.0601 450.6201 l +s +0 O +1 g +0 J 1 w 4 M +205.2197 438.3799 m +203.9746 437.0547 206.1802 437.4199 v +217.3926 438.7998 240.9365 484.1953 289.9399 478.7002 c +254.6577 494.3906 205.2197 438.3799 v +F +0 R +0 G +1 J 0.11 w 10 M +205.2197 438.3799 m +203.9746 437.0547 206.1802 437.4199 v +217.3926 438.7998 240.9365 484.1953 289.9399 478.7002 c +254.6577 494.3906 205.2197 438.3799 v +205.2197 438.3799 l +s +0 O +1 g +0 J 1 w 4 M +217.46 445.0996 m +216.6294 443.5898 218.6602 444.3799 v +229.4624 447.8818 243.855 496.9521 292.8198 500.7803 c +255.3633 509.5928 217.46 445.0996 v +F +0 R +0 G +1 J 0.11 w 10 M +217.46 445.0996 m +216.6294 443.5898 218.6602 444.3799 v +229.4624 447.8818 243.855 496.9521 292.8198 500.7803 c +255.3633 509.5928 217.46 445.0996 v +217.46 445.0996 l +s +0 O +1 g +0 J 1 w 4 M +197.2998 432.8594 m +196.4551 431.6914 198.2598 431.8994 v +207.3247 433.1045 226.395 469.877 265.9399 465.2598 c +237.5098 478.1338 197.2998 432.8594 v +F +0 R +0 G +1 J 0.11 w 10 M +197.2998 432.8594 m +196.4551 431.6914 198.2598 431.8994 v +207.3247 433.1045 226.395 469.877 265.9399 465.2598 c +237.5098 478.1338 197.2998 432.8594 v +197.2998 432.8594 l +s +0 O +1 g +0 J 1 w 4 M +189.1401 426.3799 m +187.9497 425.1895 189.6201 425.4199 v +194.2856 425.6572 227.9863 462.0459 248.4199 445.0996 c +235.0854 465.5889 189.1401 426.3799 v +F +0 R +0 G +1 J 0.11 w 10 M +189.1401 426.3799 m +187.9497 425.1895 189.6201 425.4199 v +194.2856 425.6572 227.9863 462.0459 248.4199 445.0996 c +235.0854 465.5889 189.1401 426.3799 v +189.1401 426.3799 l +s +0 O +1 g +0 J 1 w 4 M +265.46 461.4199 m +264.2192 462.9434 266.4199 463.3398 v +268.4697 463.791 401.2441 527.2734 443.0605 513.0195 c +414.4668 525.082 265.46 461.4199 v +F +0 R +0 G +1 J 0.11 w 10 M +265.46 461.4199 m +264.2192 462.9434 266.4199 463.3398 v +268.4697 463.791 401.2441 527.2734 443.0605 513.0195 c +414.4668 525.082 265.46 461.4199 v +265.46 461.4199 l +s +0 O +1 g +0 J 1 w 4 M +228.7402 390.6201 m +228.5215 392.7002 230.4199 391.8193 v +232.4814 390.9395 249.4209 390.2793 235.7002 365.6602 c +246.3418 392.041 228.7402 390.6201 v +F +0 R +0 G +1 J 0.11 w 10 M +228.7402 390.6201 m +228.5215 392.7002 230.4199 391.8193 v +232.4814 390.9395 249.4209 390.2793 235.7002 365.6602 c +246.3418 392.041 228.7402 390.6201 v +228.7402 390.6201 l +s +0 O +1 g +0 J 1 w 4 M +240.2598 392.54 m +239.96 394.46 241.9399 393.5 v +243.9199 392.7002 263.5015 390.2793 265.7002 347.6602 c +257.7798 393.7998 240.2598 392.54 v +F +0 R +0 G +1 J 0.11 w 10 M +240.2598 392.54 m +239.96 394.46 241.9399 393.5 v +243.9199 392.7002 263.5015 390.2793 265.7002 347.6602 c +257.7798 393.7998 240.2598 392.54 v +240.2598 392.54 l +s +0 O +1 g +0 J 1 w 4 M +247.7002 394.2197 m +247.4409 396.2188 249.3799 395.4199 v +251.4009 394.46 278.4609 390.7207 304.3398 355.0996 c +265.2607 395.5586 247.7002 394.2197 v +F +0 R +0 G +1 J 0.11 w 10 M +247.7002 394.2197 m +247.4409 396.2188 249.3799 395.4199 v +251.4009 394.46 278.4609 390.7207 304.3398 355.0996 c +265.2607 395.5586 247.7002 394.2197 v +247.7002 394.2197 l +s +0 O +1 g +0 J 1 w 4 M +256.1001 396.3799 m +255.5674 398.4053 257.54 397.8193 v +259.7266 397.1865 282.2021 399.2764 324.0195 361.5801 c +273.3174 400.1191 256.1001 396.3799 v +F +0 R +0 G +1 J 0.11 w 10 M +256.1001 396.3799 m +255.5674 398.4053 257.54 397.8193 v +259.7266 397.1865 282.2021 399.2764 324.0195 361.5801 c +273.3174 400.1191 256.1001 396.3799 v +256.1001 396.3799 l +s +0 O +1 g +0 J 1 w 4 M +267.3799 401.4199 m +267.0078 403.2461 269.0601 402.6201 v +271.165 402.0273 309.4834 397.0762 366.2598 358.7002 c +284.7559 404.96 267.3799 401.4199 v +F +0 R +0 G +1 J 0.11 w 10 M +267.3799 401.4199 m +267.0078 403.2461 269.0601 402.6201 v +271.165 402.0273 309.4834 397.0762 366.2598 358.7002 c +284.7559 404.96 267.3799 401.4199 v +267.3799 401.4199 l +s +0 O +1 g +0 J 1 w 4 M +222.98 414.1396 m +222.7998 416.0186 224.8999 415.0996 v +226.7598 414.2598 285.5 411.3994 318.9805 381.9795 c +280.5488 409.1719 222.98 414.1396 v +F +0 R +0 G +1 J 0.11 w 10 M +222.98 414.1396 m +222.7998 416.0186 224.8999 415.0996 v +226.7598 414.2598 285.5 411.3994 318.9805 381.9795 c +280.5488 409.1719 222.98 414.1396 v +222.98 414.1396 l +s +0 O +1 g +0 J 1 w 4 M +211.9399 409.5801 m +211.8008 411.6201 213.8599 410.7803 v +215.7607 409.8584 242.8208 406.1191 268.8198 370.46 c +229.6206 410.96 211.9399 409.5801 v +F +0 R +0 G +1 J 0.11 w 10 M +211.9399 409.5801 m +211.8008 411.6201 213.8599 410.7803 v +215.7607 409.8584 242.8208 406.1191 268.8198 370.46 c +229.6206 410.96 211.9399 409.5801 v +211.9399 409.5801 l +s +0 O +1 g +0 J 1 w 4 M +279.3799 406.46 m +278.833 408.2764 281.0601 407.8994 v +283.0688 407.3672 321.6465 405.2354 381.1406 370.9395 c +295.748 408.8672 279.3799 406.46 v +F +0 R +0 G +1 J 0.11 w 10 M +279.3799 406.46 m +278.833 408.2764 281.0601 407.8994 v +283.0688 407.3672 321.6465 405.2354 381.1406 370.9395 c +295.748 408.8672 279.3799 406.46 v +279.3799 406.46 l +s +0 O +1 g +0 J 1 w 4 M +288.7402 409.0996 m +288.0728 410.917 290.1802 410.54 v +292.3086 410.0068 330.8867 407.876 390.5 373.5801 c +305.6479 411.9463 288.7402 409.0996 v +F +0 R +0 G +1 J 0.11 w 10 M +288.7402 409.0996 m +288.0728 410.917 290.1802 410.54 v +292.3086 410.0068 330.8867 407.876 390.5 373.5801 c +305.6479 411.9463 288.7402 409.0996 v +288.7402 409.0996 l +s +0 O +1 g +0 J 1 w 4 M +299.2998 414.6201 m +298.6328 416.415 300.7402 416.0596 v +302.8687 415.5049 350.2471 410.7363 449.0605 373.0996 c +316.208 417.4473 299.2998 414.6201 v +F +0 R +0 G +1 J 0.11 w 10 M +299.2998 414.6201 m +298.6328 416.415 300.7402 416.0596 v +302.8687 415.5049 350.2471 410.7363 449.0605 373.0996 c +316.208 417.4473 299.2998 414.6201 v +299.2998 414.6201 l +s +0 O +0 g +0 J 1 w 4 M +176.8999 406.9395 m +182.54 407.4395 181.2197 405.7402 v +179.8999 403.9209 177.3799 404.7803 y +176.8999 406.9395 l +F +210.7402 391.5801 m +216.4209 392.041 215.0601 390.3799 v +213.7808 388.5195 211.2197 389.4199 y +210.7402 391.5801 l +F +201.1401 392.0596 m +206.7417 392.4795 205.46 390.6201 v +204.1016 388.959 201.3799 389.8994 y +201.1401 392.0596 l +F +96.02 405.0195 m +101.665 403.585 99.8599 402.3799 v +98.0166 401.1221 95.7798 402.8594 y +96.02 405.0195 l +F +98.4199 415.5801 m +103.8633 414.1445 102.02 412.9395 v +100.2178 411.6826 97.9399 413.4199 y +98.4199 415.5801 l +F +90.5 420.3799 m +95.9434 418.9854 94.1001 417.7402 v +92.2974 416.5225 90.02 418.2197 y +90.5 420.3799 l +F +0.8 g +178.1001 337.8193 m +176.3818 337.9209 172.1001 335.6602 v +169.7817 335.7197 157.46 331.7598 151.2197 320.7803 c +164.9409 331.3203 178.1001 337.8193 v +F +274.5801 236.0596 m +274.7842 235.7266 274.8438 235.2627 275.0601 235.3398 c +275.8877 235.2002 277.2441 234.8691 277.2197 235.5801 c +276.1733 240.3057 275.2134 245.7363 270.7402 247.8193 c +269.9648 248.0313 268.3784 247.5771 268.3398 246.6201 c +268.1553 244.9277 268.0278 243.4443 268.3398 241.8193 c +268.6978 240.2695 271.0713 240.2578 272.1802 241.8193 c +273.1113 239.9404 273.5864 237.9121 274.5801 236.0596 c +F +262.3398 230.7803 m +263.2666 229.2461 263.125 227.2012 264.7402 226.7002 c +265.4961 226.2607 267.5313 227.333 267.1401 228.6201 c +266.1895 230.7803 265.7622 233.2441 264.2598 235.3398 c +264.0151 235.5244 264.2769 236.1104 264.02 236.54 c +263.4487 237.8115 262.189 238.623 260.6602 238.2197 c +259.4146 235.8369 260.6768 233.4941 262.3398 231.5 c +262.501 231.4473 262.3184 231.0342 262.3398 230.7803 c +F +218.8999 236.54 m +218.7607 236.9258 218.7197 237.4346 218.8999 237.7393 c +219.4854 238.9229 220.3569 240.1592 220.1001 241.3398 c +219.603 242.4434 218.377 242.2441 217.7002 241.5801 c +216.4136 240.5234 216.3584 238.5146 215.54 237.0195 c +215.3838 236.5947 215.4395 235.9658 215.0601 235.5801 c +214.4336 235.0732 213.9487 233.3955 214.1001 232.7002 c +214.1118 232.4238 213.9102 221.5254 214.1001 221.8994 c +214.8369 222.6201 218.1919 233.3291 218.1802 234.3799 c +218.3311 235.1143 219.1353 235.625 218.8999 236.54 c +F +190.5801 243.9795 m +193.5752 246.7305 196.6445 249.9893 196.1001 254.0596 c +196.0303 255.1445 194.0767 254.5664 193.9399 253.5801 c +192.9897 249.6465 190.748 246.7207 187.9399 243.9795 c +185.5063 241.8369 183.459 234.8594 183.1401 234.3799 c +187.2681 240.082 189.7495 243.1016 190.5801 243.9795 c +F +175.7002 250.46 m +176.3218 250.9492 175.9902 251.4893 176.1802 251.8994 c +177.2769 253.457 178.707 254.8281 178.8198 256.7002 c +178.731 257.0449 178.3159 257.3857 177.8599 257.1797 c +177.6416 256.9375 177.2646 256.793 177.1401 256.7002 c +174.915 253.957 173.3745 251.0186 171.8599 247.8193 c +171.5864 247.5322 170.3262 242.5928 170.6602 242.54 c +170.9336 242.377 172.8271 246.9746 173.0601 247.0996 c +174.4473 247.8555 174.459 249.6318 175.7002 250.46 c +F +194.1802 229.0996 m +194.6406 230 196.3735 231.3223 196.3398 232.2197 c +196.1216 233.3213 196.6353 234.9082 195.6201 234.1396 c +194.2495 233.1074 190.4551 231.625 190.1001 225.2598 c +190.1313 224.6064 193.4023 227.5713 194.1802 229.0996 c +F +210.02 247.8193 m +210.481 248.6738 211.2583 248.1533 211.7002 248.54 c +212.4775 248.8516 213.1494 249.4658 213.3799 250.2197 c +214.5366 252.543 216.4834 254.5469 216.7402 257.1797 c +215 258.7256 214.2534 256.4814 213.6201 255.5 c +212.1055 257.2305 211.0063 255.1709 209.54 254.54 c +209.499 254.5684 209.2642 254.9502 209.2998 255.0195 c +207.8862 254.4365 207.1401 253.2461 205.9399 252.3799 c +205.8535 252.2402 205.4097 252.4395 205.2197 252.3799 c +204.5288 251.626 203.4585 251.2686 203.0601 250.46 c +201.9297 247.541 198.4761 245.2354 196.3398 237.0195 c +196.8198 235.9395 201.3633 244.2461 201.8599 244.9395 c +202.8198 246.3291 202.9497 243.1875 204.2598 243.9795 c +204.4087 243.9482 204.6128 243.6865 204.7402 243.5 c +204.9727 243.8477 205.2129 244.0996 205.7002 243.9795 c +205.6401 244.4189 205.4937 245.0313 205.7002 245.1797 c +207.0752 246.2813 206.9814 247.4551 207.8599 248.7803 c +208.3447 247.9521 209.5112 248.7412 210.02 247.8193 c +F +275.7798 188.0596 m +283.9614 210.54 279.1401 222.8594 v +291.6606 199.0996 286.5801 186.8594 v +286.1602 198.2188 281.7798 203.6602 v +277.3613 189.6387 275.7798 188.0596 v +F +259.46 190.9395 m +265.4814 200.6406 256.5801 220.9395 v +255.7998 198.4395 248.4199 186.3799 v +263.9409 208.5605 259.46 190.9395 v +F +248.6602 193.0996 m +248.3218 215.1602 248.6602 218.54 v +244.5801 200.1992 233.2998 189.7393 v +249.2002 202.8389 248.6602 193.0996 v +F +238.1001 228.3799 m +244.5801 213.3994 233.54 193.0996 v +240.6201 206.5781 235.46 214.2197 v +238.2007 218.0186 238.1001 228.3799 v +F +216.98 193.5801 m +215.7607 210.7588 217.7002 213.2598 v +217.9614 220.2197 217.46 221.4199 v +221.9214 228.1396 222.2598 219.9795 v +223.6807 211.4189 226.8198 206.2998 v +230.7197 200.4199 230.4199 193.3398 v +219.5 226.5986 216.98 193.5801 v +F +212.8999 224.0596 m +205.6401 212.0791 203.7798 191.1797 v +202.1216 198.001 206.4199 213.7393 v +210.9199 230.7803 212.8999 224.0596 v +F +188.8999 202.2197 m +194.4199 208.1191 195.8599 213.5 v +199.9209 231.001 192.98 221.4199 v +193.1001 212.7393 184.1001 204.6201 v +189.3608 207.2402 188.8999 202.2197 v +F +182.6602 207.7393 m +186.2817 226.8193 187.2197 227.6602 v +189.1401 231.4395 186.02 227.8994 v +176.3818 206.7988 172.1001 199.5801 v +180.7808 209.6602 182.6602 207.7393 v +F +176.1802 225.9795 m +188.9214 250.5801 164.8999 222.1396 v +177.0415 232.9785 176.1802 225.9795 v +F +159.1401 242.0596 m +164.5015 262.6777 167.2998 262.46 v +176.3818 272.3594 169.2197 260.7803 v +162.5215 250.1406 163.2197 239.4199 v +162.5215 249.9199 159.1401 242.0596 v +F +522.5 254.54 m +509.3496 265.541 506.6602 269.4199 v +521.4512 249.041 521.54 241.3398 v +524.2012 249.5908 522.5 254.54 v +F +528.5 278.7803 m +505.501 295.2412 501.6201 303.5 v +530.8018 271.04 530.9004 266.0596 v +531.3516 275.9912 528.5 278.7803 v +F +547.2197 448.2197 m +534.1016 456.9414 532.3398 454.7002 v +544.002 447.5908 546.7402 438.1396 v +545.1006 448.1406 547.2197 448.2197 v +F +556.5801 359.6602 m +537.3799 372.8594 l +558.3008 354.0918 558.7402 349.5801 v +556.5801 359.6602 l +F +*u +0 R +0 G +1 J 1.1 w 10 M +126.7402 384.3799 m +150.98 379.0996 l +S +1 D +182.1802 206.0596 m +181.5513 209.9912 171.6201 198.3799 v +S +188.1802 200.54 m +190.3496 207.79 183.1401 202.9395 v +S +247.46 191.1797 m +249.2002 203.3906 236.6602 189.0195 v +S +*U +U +%%PageTrailer +gsave annotatepage grestore showpage +%%Trailer +Adobe_Illustrator_AI3 /terminate get exec +Adobe_pattern_AI3 /terminate get exec +Adobe_customcolor /terminate get exec +Adobe_cshow /terminate get exec +Adobe_cmykcolor /terminate get exec +Adobe_packedarray /terminate get exec +%%EOF diff --git a/htdocs/includes/phpexcel/PHPExcel/locale/pt/br/functions b/htdocs/includes/phpexcel/PHPExcel/locale/pt/br/functions index f3ba3a3523f04e17ee94f910f0412b0f55c97d90..a062a7fad51059f954a0125b974c740802a202e8 100644 --- a/htdocs/includes/phpexcel/PHPExcel/locale/pt/br/functions +++ b/htdocs/includes/phpexcel/PHPExcel/locale/pt/br/functions @@ -1,408 +1,408 @@ -## -## Add-in and Automation functions Funções Suplemento e Automação -## -GETPIVOTDATA = INFODADOSTABELADINÂMICA ## Retorna os dados armazenados em um relatório de tabela dinâmica - - -## -## Cube functions Funções de Cubo -## -CUBEKPIMEMBER = MEMBROKPICUBO ## Retorna o nome de um KPI (indicador de desempenho-chave), uma propriedade e uma medida e exibe o nome e a propriedade na célula. Um KPI é uma medida quantificável, como o lucro bruto mensal ou a rotatividade trimestral dos funcionários, usada para monitorar o desempenho de uma organização. -CUBEMEMBER = MEMBROCUBO ## Retorna um membro ou tupla em uma hierarquia de cubo. Use para validar se o membro ou tupla existe no cubo. -CUBEMEMBERPROPERTY = PROPRIEDADEMEMBROCUBO ## Retorna o valor da propriedade de um membro no cubo. Usada para validar a existência do nome do membro no cubo e para retornar a propriedade especificada para esse membro. -CUBERANKEDMEMBER = MEMBROCLASSIFICADOCUBO ## Retorna o enésimo membro, ou o membro ordenado, em um conjunto. Use para retornar um ou mais elementos em um conjunto, assim como o melhor vendedor ou os dez melhores alunos. -CUBESET = CONJUNTOCUBO ## Define um conjunto calculado de membros ou tuplas enviando uma expressão do conjunto para o cubo no servidor, que cria o conjunto e o retorna para o Microsoft Office Excel. -CUBESETCOUNT = CONTAGEMCONJUNTOCUBO ## Retorna o número de itens em um conjunto. -CUBEVALUE = VALORCUBO ## Retorna um valor agregado de um cubo. - - -## -## Database functions Funções de banco de dados -## -DAVERAGE = BDMÉDIA ## Retorna a média das entradas selecionadas de um banco de dados -DCOUNT = BDCONTAR ## Conta as células que contêm números em um banco de dados -DCOUNTA = BDCONTARA ## Conta células não vazias em um banco de dados -DGET = BDEXTRAIR ## Extrai de um banco de dados um único registro que corresponde a um critério específico -DMAX = BDMÁX ## Retorna o valor máximo de entradas selecionadas de um banco de dados -DMIN = BDMÍN ## Retorna o valor mínimo de entradas selecionadas de um banco de dados -DPRODUCT = BDMULTIPL ## Multiplica os valores em um campo específico de registros que correspondem ao critério em um banco de dados -DSTDEV = BDEST ## Estima o desvio padrão com base em uma amostra de entradas selecionadas de um banco de dados -DSTDEVP = BDDESVPA ## Calcula o desvio padrão com base na população inteira de entradas selecionadas de um banco de dados -DSUM = BDSOMA ## Adiciona os números à coluna de campos de registros do banco de dados que correspondem ao critério -DVAR = BDVAREST ## Estima a variância com base em uma amostra de entradas selecionadas de um banco de dados -DVARP = BDVARP ## Calcula a variância com base na população inteira de entradas selecionadas de um banco de dados - - -## -## Date and time functions Funções de data e hora -## -DATE = DATA ## Retorna o número de série de uma data específica -DATEVALUE = DATA.VALOR ## Converte uma data na forma de texto para um número de série -DAY = DIA ## Converte um número de série em um dia do mês -DAYS360 = DIAS360 ## Calcula o número de dias entre duas datas com base em um ano de 360 dias -EDATE = DATAM ## Retorna o número de série da data que é o número indicado de meses antes ou depois da data inicial -EOMONTH = FIMMÊS ## Retorna o número de série do último dia do mês antes ou depois de um número especificado de meses -HOUR = HORA ## Converte um número de série em uma hora -MINUTE = MINUTO ## Converte um número de série em um minuto -MONTH = MÊS ## Converte um número de série em um mês -NETWORKDAYS = DIATRABALHOTOTAL ## Retorna o número de dias úteis inteiros entre duas datas -NOW = AGORA ## Retorna o número de série seqüencial da data e hora atuais -SECOND = SEGUNDO ## Converte um número de série em um segundo -TIME = HORA ## Retorna o número de série de uma hora específica -TIMEVALUE = VALOR.TEMPO ## Converte um horário na forma de texto para um número de série -TODAY = HOJE ## Retorna o número de série da data de hoje -WEEKDAY = DIA.DA.SEMANA ## Converte um número de série em um dia da semana -WEEKNUM = NÚMSEMANA ## Converte um número de série em um número que representa onde a semana cai numericamente em um ano -WORKDAY = DIATRABALHO ## Retorna o número de série da data antes ou depois de um número específico de dias úteis -YEAR = ANO ## Converte um número de série em um ano -YEARFRAC = FRAÇÃOANO ## Retorna a fração do ano que representa o número de dias entre data_inicial e data_final - - -## -## Engineering functions Funções de engenharia -## -BESSELI = BESSELI ## Retorna a função de Bessel In(x) modificada -BESSELJ = BESSELJ ## Retorna a função de Bessel Jn(x) -BESSELK = BESSELK ## Retorna a função de Bessel Kn(x) modificada -BESSELY = BESSELY ## Retorna a função de Bessel Yn(x) -BIN2DEC = BIN2DEC ## Converte um número binário em decimal -BIN2HEX = BIN2HEX ## Converte um número binário em hexadecimal -BIN2OCT = BIN2OCT ## Converte um número binário em octal -COMPLEX = COMPLEX ## Converte coeficientes reais e imaginários e um número complexo -CONVERT = CONVERTER ## Converte um número de um sistema de medida para outro -DEC2BIN = DECABIN ## Converte um número decimal em binário -DEC2HEX = DECAHEX ## Converte um número decimal em hexadecimal -DEC2OCT = DECAOCT ## Converte um número decimal em octal -DELTA = DELTA ## Testa se dois valores são iguais -ERF = FUNERRO ## Retorna a função de erro -ERFC = FUNERROCOMPL ## Retorna a função de erro complementar -GESTEP = DEGRAU ## Testa se um número é maior do que um valor limite -HEX2BIN = HEXABIN ## Converte um número hexadecimal em binário -HEX2DEC = HEXADEC ## Converte um número hexadecimal em decimal -HEX2OCT = HEXAOCT ## Converte um número hexadecimal em octal -IMABS = IMABS ## Retorna o valor absoluto (módulo) de um número complexo -IMAGINARY = IMAGINÁRIO ## Retorna o coeficiente imaginário de um número complexo -IMARGUMENT = IMARG ## Retorna o argumento teta, um ângulo expresso em radianos -IMCONJUGATE = IMCONJ ## Retorna o conjugado complexo de um número complexo -IMCOS = IMCOS ## Retorna o cosseno de um número complexo -IMDIV = IMDIV ## Retorna o quociente de dois números complexos -IMEXP = IMEXP ## Retorna o exponencial de um número complexo -IMLN = IMLN ## Retorna o logaritmo natural de um número complexo -IMLOG10 = IMLOG10 ## Retorna o logaritmo de base 10 de um número complexo -IMLOG2 = IMLOG2 ## Retorna o logaritmo de base 2 de um número complexo -IMPOWER = IMPOT ## Retorna um número complexo elevado a uma potência inteira -IMPRODUCT = IMPROD ## Retorna o produto de números complexos -IMREAL = IMREAL ## Retorna o coeficiente real de um número complexo -IMSIN = IMSENO ## Retorna o seno de um número complexo -IMSQRT = IMRAIZ ## Retorna a raiz quadrada de um número complexo -IMSUB = IMSUBTR ## Retorna a diferença entre dois números complexos -IMSUM = IMSOMA ## Retorna a soma de números complexos -OCT2BIN = OCTABIN ## Converte um número octal em binário -OCT2DEC = OCTADEC ## Converte um número octal em decimal -OCT2HEX = OCTAHEX ## Converte um número octal em hexadecimal - - -## -## Financial functions Funções financeiras -## -ACCRINT = JUROSACUM ## Retorna a taxa de juros acumulados de um título que paga uma taxa periódica de juros -ACCRINTM = JUROSACUMV ## Retorna os juros acumulados de um título que paga juros no vencimento -AMORDEGRC = AMORDEGRC ## Retorna a depreciação para cada período contábil usando o coeficiente de depreciação -AMORLINC = AMORLINC ## Retorna a depreciação para cada período contábil -COUPDAYBS = CUPDIASINLIQ ## Retorna o número de dias do início do período de cupom até a data de liquidação -COUPDAYS = CUPDIAS ## Retorna o número de dias no período de cupom que contém a data de quitação -COUPDAYSNC = CUPDIASPRÓX ## Retorna o número de dias da data de liquidação até a data do próximo cupom -COUPNCD = CUPDATAPRÓX ## Retorna a próxima data de cupom após a data de quitação -COUPNUM = CUPNÚM ## Retorna o número de cupons pagáveis entre as datas de quitação e vencimento -COUPPCD = CUPDATAANT ## Retorna a data de cupom anterior à data de quitação -CUMIPMT = PGTOJURACUM ## Retorna os juros acumulados pagos entre dois períodos -CUMPRINC = PGTOCAPACUM ## Retorna o capital acumulado pago sobre um empréstimo entre dois períodos -DB = BD ## Retorna a depreciação de um ativo para um período especificado, usando o método de balanço de declínio fixo -DDB = BDD ## Retorna a depreciação de um ativo com relação a um período especificado usando o método de saldos decrescentes duplos ou qualquer outro método especificado por você -DISC = DESC ## Retorna a taxa de desconto de um título -DOLLARDE = MOEDADEC ## Converte um preço em formato de moeda, na forma fracionária, em um preço na forma decimal -DOLLARFR = MOEDAFRA ## Converte um preço, apresentado na forma decimal, em um preço apresentado na forma fracionária -DURATION = DURAÇÃO ## Retorna a duração anual de um título com pagamentos de juros periódicos -EFFECT = EFETIVA ## Retorna a taxa de juros anual efetiva -FV = VF ## Retorna o valor futuro de um investimento -FVSCHEDULE = VFPLANO ## Retorna o valor futuro de um capital inicial após a aplicação de uma série de taxas de juros compostas -INTRATE = TAXAJUROS ## Retorna a taxa de juros de um título totalmente investido -IPMT = IPGTO ## Retorna o pagamento de juros para um investimento em um determinado período -IRR = TIR ## Retorna a taxa interna de retorno de uma série de fluxos de caixa -ISPMT = ÉPGTO ## Calcula os juros pagos durante um período específico de um investimento -MDURATION = MDURAÇÃO ## Retorna a duração de Macauley modificada para um título com um valor de paridade equivalente a R$ 100 -MIRR = MTIR ## Calcula a taxa interna de retorno em que fluxos de caixa positivos e negativos são financiados com diferentes taxas -NOMINAL = NOMINAL ## Retorna a taxa de juros nominal anual -NPER = NPER ## Retorna o número de períodos de um investimento -NPV = VPL ## Retorna o valor líquido atual de um investimento com base em uma série de fluxos de caixa periódicos e em uma taxa de desconto -ODDFPRICE = PREÇOPRIMINC ## Retorna o preço por R$ 100 de valor nominal de um título com um primeiro período indefinido -ODDFYIELD = LUCROPRIMINC ## Retorna o rendimento de um título com um primeiro período indefinido -ODDLPRICE = PREÇOÚLTINC ## Retorna o preço por R$ 100 de valor nominal de um título com um último período de cupom indefinido -ODDLYIELD = LUCROÚLTINC ## Retorna o rendimento de um título com um último período indefinido -PMT = PGTO ## Retorna o pagamento periódico de uma anuidade -PPMT = PPGTO ## Retorna o pagamento de capital para determinado período de investimento -PRICE = PREÇO ## Retorna a preço por R$ 100,00 de valor nominal de um título que paga juros periódicos -PRICEDISC = PREÇODESC ## Retorna o preço por R$ 100,00 de valor nominal de um título descontado -PRICEMAT = PREÇOVENC ## Retorna o preço por R$ 100,00 de valor nominal de um título que paga juros no vencimento -PV = VP ## Retorna o valor presente de um investimento -RATE = TAXA ## Retorna a taxa de juros por período de uma anuidade -RECEIVED = RECEBER ## Retorna a quantia recebida no vencimento de um título totalmente investido -SLN = DPD ## Retorna a depreciação em linha reta de um ativo durante um período -SYD = SDA ## Retorna a depreciação dos dígitos da soma dos anos de um ativo para um período especificado -TBILLEQ = OTN ## Retorna o rendimento de um título equivalente a uma obrigação do Tesouro -TBILLPRICE = OTNVALOR ## Retorna o preço por R$ 100,00 de valor nominal de uma obrigação do Tesouro -TBILLYIELD = OTNLUCRO ## Retorna o rendimento de uma obrigação do Tesouro -VDB = BDV ## Retorna a depreciação de um ativo para um período especificado ou parcial usando um método de balanço declinante -XIRR = XTIR ## Fornece a taxa interna de retorno para um programa de fluxos de caixa que não é necessariamente periódico -XNPV = XVPL ## Retorna o valor presente líquido de um programa de fluxos de caixa que não é necessariamente periódico -YIELD = LUCRO ## Retorna o lucro de um título que paga juros periódicos -YIELDDISC = LUCRODESC ## Retorna o rendimento anual de um título descontado. Por exemplo, uma obrigação do Tesouro -YIELDMAT = LUCROVENC ## Retorna o lucro anual de um título que paga juros no vencimento - - -## -## Information functions Funções de informação -## -CELL = CÉL ## Retorna informações sobre formatação, localização ou conteúdo de uma célula -ERROR.TYPE = TIPO.ERRO ## Retorna um número correspondente a um tipo de erro -INFO = INFORMAÇÃO ## Retorna informações sobre o ambiente operacional atual -ISBLANK = ÉCÉL.VAZIA ## Retorna VERDADEIRO se o valor for vazio -ISERR = ÉERRO ## Retorna VERDADEIRO se o valor for um valor de erro diferente de #N/D -ISERROR = ÉERROS ## Retorna VERDADEIRO se o valor for um valor de erro -ISEVEN = ÉPAR ## Retorna VERDADEIRO se o número for par -ISLOGICAL = ÉLÓGICO ## Retorna VERDADEIRO se o valor for um valor lógico -ISNA = É.NÃO.DISP ## Retorna VERDADEIRO se o valor for o valor de erro #N/D -ISNONTEXT = É.NÃO.TEXTO ## Retorna VERDADEIRO se o valor for diferente de texto -ISNUMBER = ÉNÚM ## Retorna VERDADEIRO se o valor for um número -ISODD = ÉIMPAR ## Retorna VERDADEIRO se o número for ímpar -ISREF = ÉREF ## Retorna VERDADEIRO se o valor for uma referência -ISTEXT = ÉTEXTO ## Retorna VERDADEIRO se o valor for texto -N = N ## Retorna um valor convertido em um número -NA = NÃO.DISP ## Retorna o valor de erro #N/D -TYPE = TIPO ## Retorna um número indicando o tipo de dados de um valor - - -## -## Logical functions Funções lógicas -## -AND = E ## Retorna VERDADEIRO se todos os seus argumentos forem VERDADEIROS -FALSE = FALSO ## Retorna o valor lógico FALSO -IF = SE ## Especifica um teste lógico a ser executado -IFERROR = SEERRO ## Retornará um valor que você especifica se uma fórmula for avaliada para um erro; do contrário, retornará o resultado da fórmula -NOT = NÃO ## Inverte o valor lógico do argumento -OR = OU ## Retorna VERDADEIRO se um dos argumentos for VERDADEIRO -TRUE = VERDADEIRO ## Retorna o valor lógico VERDADEIRO - - -## -## Lookup and reference functions Funções de pesquisa e referência -## -ADDRESS = ENDEREÇO ## Retorna uma referência como texto para uma única célula em uma planilha -AREAS = ÁREAS ## Retorna o número de áreas em uma referência -CHOOSE = ESCOLHER ## Escolhe um valor a partir de uma lista de valores -COLUMN = COL ## Retorna o número da coluna de uma referência -COLUMNS = COLS ## Retorna o número de colunas em uma referência -HLOOKUP = PROCH ## Procura na linha superior de uma matriz e retorna o valor da célula especificada -HYPERLINK = HYPERLINK ## Cria um atalho ou salto que abre um documento armazenado em um servidor de rede, uma intranet ou na Internet -INDEX = ÍNDICE ## Usa um índice para escolher um valor de uma referência ou matriz -INDIRECT = INDIRETO ## Retorna uma referência indicada por um valor de texto -LOOKUP = PROC ## Procura valores em um vetor ou em uma matriz -MATCH = CORRESP ## Procura valores em uma referência ou em uma matriz -OFFSET = DESLOC ## Retorna um deslocamento de referência com base em uma determinada referência -ROW = LIN ## Retorna o número da linha de uma referência -ROWS = LINS ## Retorna o número de linhas em uma referência -RTD = RTD ## Recupera dados em tempo real de um programa que ofereça suporte a automação COM (automação: uma forma de trabalhar com objetos de um aplicativo a partir de outro aplicativo ou ferramenta de desenvolvimento. Chamada inicialmente de automação OLE, a automação é um padrão industrial e um recurso do modelo de objeto componente (COM).) -TRANSPOSE = TRANSPOR ## Retorna a transposição de uma matriz -VLOOKUP = PROCV ## Procura na primeira coluna de uma matriz e move ao longo da linha para retornar o valor de uma célula - - -## -## Math and trigonometry functions Funções matemáticas e trigonométricas -## -ABS = ABS ## Retorna o valor absoluto de um número -ACOS = ACOS ## Retorna o arco cosseno de um número -ACOSH = ACOSH ## Retorna o cosseno hiperbólico inverso de um número -ASIN = ASEN ## Retorna o arco seno de um número -ASINH = ASENH ## Retorna o seno hiperbólico inverso de um número -ATAN = ATAN ## Retorna o arco tangente de um número -ATAN2 = ATAN2 ## Retorna o arco tangente das coordenadas x e y especificadas -ATANH = ATANH ## Retorna a tangente hiperbólica inversa de um número -CEILING = TETO ## Arredonda um número para o inteiro mais próximo ou para o múltiplo mais próximo de significância -COMBIN = COMBIN ## Retorna o número de combinações de um determinado número de objetos -COS = COS ## Retorna o cosseno de um número -COSH = COSH ## Retorna o cosseno hiperbólico de um número -DEGREES = GRAUS ## Converte radianos em graus -EVEN = PAR ## Arredonda um número para cima até o inteiro par mais próximo -EXP = EXP ## Retorna e elevado à potência de um número especificado -FACT = FATORIAL ## Retorna o fatorial de um número -FACTDOUBLE = FATDUPLO ## Retorna o fatorial duplo de um número -FLOOR = ARREDMULTB ## Arredonda um número para baixo até zero -GCD = MDC ## Retorna o máximo divisor comum -INT = INT ## Arredonda um número para baixo até o número inteiro mais próximo -LCM = MMC ## Retorna o mínimo múltiplo comum -LN = LN ## Retorna o logaritmo natural de um número -LOG = LOG ## Retorna o logaritmo de um número de uma base especificada -LOG10 = LOG10 ## Retorna o logaritmo de base 10 de um número -MDETERM = MATRIZ.DETERM ## Retorna o determinante de uma matriz de uma variável do tipo matriz -MINVERSE = MATRIZ.INVERSO ## Retorna a matriz inversa de uma matriz -MMULT = MATRIZ.MULT ## Retorna o produto de duas matrizes -MOD = RESTO ## Retorna o resto da divisão -MROUND = MARRED ## Retorna um número arredondado ao múltiplo desejado -MULTINOMIAL = MULTINOMIAL ## Retorna o multinomial de um conjunto de números -ODD = ÍMPAR ## Arredonda um número para cima até o inteiro ímpar mais próximo -PI = PI ## Retorna o valor de Pi -POWER = POTÊNCIA ## Fornece o resultado de um número elevado a uma potência -PRODUCT = MULT ## Multiplica seus argumentos -QUOTIENT = QUOCIENTE ## Retorna a parte inteira de uma divisão -RADIANS = RADIANOS ## Converte graus em radianos -RAND = ALEATÓRIO ## Retorna um número aleatório entre 0 e 1 -RANDBETWEEN = ALEATÓRIOENTRE ## Retorna um número aleatório entre os números especificados -ROMAN = ROMANO ## Converte um algarismo arábico em romano, como texto -ROUND = ARRED ## Arredonda um número até uma quantidade especificada de dígitos -ROUNDDOWN = ARREDONDAR.PARA.BAIXO ## Arredonda um número para baixo até zero -ROUNDUP = ARREDONDAR.PARA.CIMA ## Arredonda um número para cima, afastando-o de zero -SERIESSUM = SOMASEQÜÊNCIA ## Retorna a soma de uma série polinomial baseada na fórmula -SIGN = SINAL ## Retorna o sinal de um número -SIN = SEN ## Retorna o seno de um ângulo dado -SINH = SENH ## Retorna o seno hiperbólico de um número -SQRT = RAIZ ## Retorna uma raiz quadrada positiva -SQRTPI = RAIZPI ## Retorna a raiz quadrada de (núm* pi) -SUBTOTAL = SUBTOTAL ## Retorna um subtotal em uma lista ou em um banco de dados -SUM = SOMA ## Soma seus argumentos -SUMIF = SOMASE ## Adiciona as células especificadas por um determinado critério -SUMIFS = SOMASE ## Adiciona as células em um intervalo que atende a vários critérios -SUMPRODUCT = SOMARPRODUTO ## Retorna a soma dos produtos de componentes correspondentes de matrizes -SUMSQ = SOMAQUAD ## Retorna a soma dos quadrados dos argumentos -SUMX2MY2 = SOMAX2DY2 ## Retorna a soma da diferença dos quadrados dos valores correspondentes em duas matrizes -SUMX2PY2 = SOMAX2SY2 ## Retorna a soma da soma dos quadrados dos valores correspondentes em duas matrizes -SUMXMY2 = SOMAXMY2 ## Retorna a soma dos quadrados das diferenças dos valores correspondentes em duas matrizes -TAN = TAN ## Retorna a tangente de um número -TANH = TANH ## Retorna a tangente hiperbólica de um número -TRUNC = TRUNCAR ## Trunca um número para um inteiro - - -## -## Statistical functions Funções estatísticas -## -AVEDEV = DESV.MÉDIO ## Retorna a média aritmética dos desvios médios dos pontos de dados a partir de sua média -AVERAGE = MÉDIA ## Retorna a média dos argumentos -AVERAGEA = MÉDIAA ## Retorna a média dos argumentos, inclusive números, texto e valores lógicos -AVERAGEIF = MÉDIASE ## Retorna a média (média aritmética) de todas as células em um intervalo que atendem a um determinado critério -AVERAGEIFS = MÉDIASES ## Retorna a média (média aritmética) de todas as células que atendem a múltiplos critérios. -BETADIST = DISTBETA ## Retorna a função de distribuição cumulativa beta -BETAINV = BETA.ACUM.INV ## Retorna o inverso da função de distribuição cumulativa para uma distribuição beta especificada -BINOMDIST = DISTRBINOM ## Retorna a probabilidade de distribuição binomial do termo individual -CHIDIST = DIST.QUI ## Retorna a probabilidade unicaudal da distribuição qui-quadrada -CHIINV = INV.QUI ## Retorna o inverso da probabilidade uni-caudal da distribuição qui-quadrada -CHITEST = TESTE.QUI ## Retorna o teste para independência -CONFIDENCE = INT.CONFIANÇA ## Retorna o intervalo de confiança para uma média da população -CORREL = CORREL ## Retorna o coeficiente de correlação entre dois conjuntos de dados -COUNT = CONT.NÚM ## Calcula quantos números há na lista de argumentos -COUNTA = CONT.VALORES ## Calcula quantos valores há na lista de argumentos -COUNTBLANK = CONTAR.VAZIO ## Conta o número de células vazias no intervalo especificado -COUNTIF = CONT.SE ## Calcula o número de células não vazias em um intervalo que corresponde a determinados critérios -COUNTIFS = CONT.SES ## Conta o número de células dentro de um intervalo que atende a múltiplos critérios -COVAR = COVAR ## Retorna a covariância, a média dos produtos dos desvios pares -CRITBINOM = CRIT.BINOM ## Retorna o menor valor para o qual a distribuição binomial cumulativa é menor ou igual ao valor padrão -DEVSQ = DESVQ ## Retorna a soma dos quadrados dos desvios -EXPONDIST = DISTEXPON ## Retorna a distribuição exponencial -FDIST = DISTF ## Retorna a distribuição de probabilidade F -FINV = INVF ## Retorna o inverso da distribuição de probabilidades F -FISHER = FISHER ## Retorna a transformação Fisher -FISHERINV = FISHERINV ## Retorna o inverso da transformação Fisher -FORECAST = PREVISÃO ## Retorna um valor ao longo de uma linha reta -FREQUENCY = FREQÜÊNCIA ## Retorna uma distribuição de freqüência como uma matriz vertical -FTEST = TESTEF ## Retorna o resultado de um teste F -GAMMADIST = DISTGAMA ## Retorna a distribuição gama -GAMMAINV = INVGAMA ## Retorna o inverso da distribuição cumulativa gama -GAMMALN = LNGAMA ## Retorna o logaritmo natural da função gama, G(x) -GEOMEAN = MÉDIA.GEOMÉTRICA ## Retorna a média geométrica -GROWTH = CRESCIMENTO ## Retorna valores ao longo de uma tendência exponencial -HARMEAN = MÉDIA.HARMÔNICA ## Retorna a média harmônica -HYPGEOMDIST = DIST.HIPERGEOM ## Retorna a distribuição hipergeométrica -INTERCEPT = INTERCEPÇÃO ## Retorna a intercepção da linha de regressão linear -KURT = CURT ## Retorna a curtose de um conjunto de dados -LARGE = MAIOR ## Retorna o maior valor k-ésimo de um conjunto de dados -LINEST = PROJ.LIN ## Retorna os parâmetros de uma tendência linear -LOGEST = PROJ.LOG ## Retorna os parâmetros de uma tendência exponencial -LOGINV = INVLOG ## Retorna o inverso da distribuição lognormal -LOGNORMDIST = DIST.LOGNORMAL ## Retorna a distribuição lognormal cumulativa -MAX = MÁXIMO ## Retorna o valor máximo em uma lista de argumentos -MAXA = MÁXIMOA ## Retorna o maior valor em uma lista de argumentos, inclusive números, texto e valores lógicos -MEDIAN = MED ## Retorna a mediana dos números indicados -MIN = MÍNIMO ## Retorna o valor mínimo em uma lista de argumentos -MINA = MÍNIMOA ## Retorna o menor valor em uma lista de argumentos, inclusive números, texto e valores lógicos -MODE = MODO ## Retorna o valor mais comum em um conjunto de dados -NEGBINOMDIST = DIST.BIN.NEG ## Retorna a distribuição binomial negativa -NORMDIST = DIST.NORM ## Retorna a distribuição cumulativa normal -NORMINV = INV.NORM ## Retorna o inverso da distribuição cumulativa normal -NORMSDIST = DIST.NORMP ## Retorna a distribuição cumulativa normal padrão -NORMSINV = INV.NORMP ## Retorna o inverso da distribuição cumulativa normal padrão -PEARSON = PEARSON ## Retorna o coeficiente de correlação do momento do produto Pearson -PERCENTILE = PERCENTIL ## Retorna o k-ésimo percentil de valores em um intervalo -PERCENTRANK = ORDEM.PORCENTUAL ## Retorna a ordem percentual de um valor em um conjunto de dados -PERMUT = PERMUT ## Retorna o número de permutações de um determinado número de objetos -POISSON = POISSON ## Retorna a distribuição Poisson -PROB = PROB ## Retorna a probabilidade de valores em um intervalo estarem entre dois limites -QUARTILE = QUARTIL ## Retorna o quartil do conjunto de dados -RANK = ORDEM ## Retorna a posição de um número em uma lista de números -RSQ = RQUAD ## Retorna o quadrado do coeficiente de correlação do momento do produto de Pearson -SKEW = DISTORÇÃO ## Retorna a distorção de uma distribuição -SLOPE = INCLINAÇÃO ## Retorna a inclinação da linha de regressão linear -SMALL = MENOR ## Retorna o menor valor k-ésimo do conjunto de dados -STANDARDIZE = PADRONIZAR ## Retorna um valor normalizado -STDEV = DESVPAD ## Estima o desvio padrão com base em uma amostra -STDEVA = DESVPADA ## Estima o desvio padrão com base em uma amostra, inclusive números, texto e valores lógicos -STDEVP = DESVPADP ## Calcula o desvio padrão com base na população total -STDEVPA = DESVPADPA ## Calcula o desvio padrão com base na população total, inclusive números, texto e valores lógicos -STEYX = EPADYX ## Retorna o erro padrão do valor-y previsto para cada x da regressão -TDIST = DISTT ## Retorna a distribuição t de Student -TINV = INVT ## Retorna o inverso da distribuição t de Student -TREND = TENDÊNCIA ## Retorna valores ao longo de uma tendência linear -TRIMMEAN = MÉDIA.INTERNA ## Retorna a média do interior de um conjunto de dados -TTEST = TESTET ## Retorna a probabilidade associada ao teste t de Student -VAR = VAR ## Estima a variância com base em uma amostra -VARA = VARA ## Estima a variância com base em uma amostra, inclusive números, texto e valores lógicos -VARP = VARP ## Calcula a variância com base na população inteira -VARPA = VARPA ## Calcula a variância com base na população total, inclusive números, texto e valores lógicos -WEIBULL = WEIBULL ## Retorna a distribuição Weibull -ZTEST = TESTEZ ## Retorna o valor de probabilidade uni-caudal de um teste-z - - -## -## Text functions Funções de texto -## -ASC = ASC ## Altera letras do inglês ou katakana de largura total (bytes duplos) dentro de uma seqüência de caracteres para caracteres de meia largura (byte único) -BAHTTEXT = BAHTTEXT ## Converte um número em um texto, usando o formato de moeda ß (baht) -CHAR = CARACT ## Retorna o caractere especificado pelo número de código -CLEAN = TIRAR ## Remove todos os caracteres do texto que não podem ser impressos -CODE = CÓDIGO ## Retorna um código numérico para o primeiro caractere de uma seqüência de caracteres de texto -CONCATENATE = CONCATENAR ## Agrupa vários itens de texto em um único item de texto -DOLLAR = MOEDA ## Converte um número em texto, usando o formato de moeda $ (dólar) -EXACT = EXATO ## Verifica se dois valores de texto são idênticos -FIND = PROCURAR ## Procura um valor de texto dentro de outro (diferencia maiúsculas de minúsculas) -FINDB = PROCURARB ## Procura um valor de texto dentro de outro (diferencia maiúsculas de minúsculas) -FIXED = DEF.NÚM.DEC ## Formata um número como texto com um número fixo de decimais -JIS = JIS ## Altera letras do inglês ou katakana de meia largura (byte único) dentro de uma seqüência de caracteres para caracteres de largura total (bytes duplos) -LEFT = ESQUERDA ## Retorna os caracteres mais à esquerda de um valor de texto -LEFTB = ESQUERDAB ## Retorna os caracteres mais à esquerda de um valor de texto -LEN = NÚM.CARACT ## Retorna o número de caracteres em uma seqüência de texto -LENB = NÚM.CARACTB ## Retorna o número de caracteres em uma seqüência de texto -LOWER = MINÚSCULA ## Converte texto para minúsculas -MID = EXT.TEXTO ## Retorna um número específico de caracteres de uma seqüência de texto começando na posição especificada -MIDB = EXT.TEXTOB ## Retorna um número específico de caracteres de uma seqüência de texto começando na posição especificada -PHONETIC = FONÉTICA ## Extrai os caracteres fonéticos (furigana) de uma seqüência de caracteres de texto -PROPER = PRI.MAIÚSCULA ## Coloca a primeira letra de cada palavra em maiúscula em um valor de texto -REPLACE = MUDAR ## Muda os caracteres dentro do texto -REPLACEB = MUDARB ## Muda os caracteres dentro do texto -REPT = REPT ## Repete o texto um determinado número de vezes -RIGHT = DIREITA ## Retorna os caracteres mais à direita de um valor de texto -RIGHTB = DIREITAB ## Retorna os caracteres mais à direita de um valor de texto -SEARCH = LOCALIZAR ## Localiza um valor de texto dentro de outro (não diferencia maiúsculas de minúsculas) -SEARCHB = LOCALIZARB ## Localiza um valor de texto dentro de outro (não diferencia maiúsculas de minúsculas) -SUBSTITUTE = SUBSTITUIR ## Substitui um novo texto por um texto antigo em uma seqüência de texto -T = T ## Converte os argumentos em texto -TEXT = TEXTO ## Formata um número e o converte em texto -TRIM = ARRUMAR ## Remove espaços do texto -UPPER = MAIÚSCULA ## Converte o texto em maiúsculas -VALUE = VALOR ## Converte um argumento de texto em um número +## +## Add-in and Automation functions Funções Suplemento e Automação +## +GETPIVOTDATA = INFODADOSTABELADINÂMICA ## Retorna os dados armazenados em um relatório de tabela dinâmica + + +## +## Cube functions Funções de Cubo +## +CUBEKPIMEMBER = MEMBROKPICUBO ## Retorna o nome de um KPI (indicador de desempenho-chave), uma propriedade e uma medida e exibe o nome e a propriedade na célula. Um KPI é uma medida quantificável, como o lucro bruto mensal ou a rotatividade trimestral dos funcionários, usada para monitorar o desempenho de uma organização. +CUBEMEMBER = MEMBROCUBO ## Retorna um membro ou tupla em uma hierarquia de cubo. Use para validar se o membro ou tupla existe no cubo. +CUBEMEMBERPROPERTY = PROPRIEDADEMEMBROCUBO ## Retorna o valor da propriedade de um membro no cubo. Usada para validar a existência do nome do membro no cubo e para retornar a propriedade especificada para esse membro. +CUBERANKEDMEMBER = MEMBROCLASSIFICADOCUBO ## Retorna o enésimo membro, ou o membro ordenado, em um conjunto. Use para retornar um ou mais elementos em um conjunto, assim como o melhor vendedor ou os dez melhores alunos. +CUBESET = CONJUNTOCUBO ## Define um conjunto calculado de membros ou tuplas enviando uma expressão do conjunto para o cubo no servidor, que cria o conjunto e o retorna para o Microsoft Office Excel. +CUBESETCOUNT = CONTAGEMCONJUNTOCUBO ## Retorna o número de itens em um conjunto. +CUBEVALUE = VALORCUBO ## Retorna um valor agregado de um cubo. + + +## +## Database functions Funções de banco de dados +## +DAVERAGE = BDMÉDIA ## Retorna a média das entradas selecionadas de um banco de dados +DCOUNT = BDCONTAR ## Conta as células que contêm números em um banco de dados +DCOUNTA = BDCONTARA ## Conta células não vazias em um banco de dados +DGET = BDEXTRAIR ## Extrai de um banco de dados um único registro que corresponde a um critério específico +DMAX = BDMÁX ## Retorna o valor máximo de entradas selecionadas de um banco de dados +DMIN = BDMÍN ## Retorna o valor mínimo de entradas selecionadas de um banco de dados +DPRODUCT = BDMULTIPL ## Multiplica os valores em um campo específico de registros que correspondem ao critério em um banco de dados +DSTDEV = BDEST ## Estima o desvio padrão com base em uma amostra de entradas selecionadas de um banco de dados +DSTDEVP = BDDESVPA ## Calcula o desvio padrão com base na população inteira de entradas selecionadas de um banco de dados +DSUM = BDSOMA ## Adiciona os números à coluna de campos de registros do banco de dados que correspondem ao critério +DVAR = BDVAREST ## Estima a variância com base em uma amostra de entradas selecionadas de um banco de dados +DVARP = BDVARP ## Calcula a variância com base na população inteira de entradas selecionadas de um banco de dados + + +## +## Date and time functions Funções de data e hora +## +DATE = DATA ## Retorna o número de série de uma data específica +DATEVALUE = DATA.VALOR ## Converte uma data na forma de texto para um número de série +DAY = DIA ## Converte um número de série em um dia do mês +DAYS360 = DIAS360 ## Calcula o número de dias entre duas datas com base em um ano de 360 dias +EDATE = DATAM ## Retorna o número de série da data que é o número indicado de meses antes ou depois da data inicial +EOMONTH = FIMMÊS ## Retorna o número de série do último dia do mês antes ou depois de um número especificado de meses +HOUR = HORA ## Converte um número de série em uma hora +MINUTE = MINUTO ## Converte um número de série em um minuto +MONTH = MÊS ## Converte um número de série em um mês +NETWORKDAYS = DIATRABALHOTOTAL ## Retorna o número de dias úteis inteiros entre duas datas +NOW = AGORA ## Retorna o número de série seqüencial da data e hora atuais +SECOND = SEGUNDO ## Converte um número de série em um segundo +TIME = HORA ## Retorna o número de série de uma hora específica +TIMEVALUE = VALOR.TEMPO ## Converte um horário na forma de texto para um número de série +TODAY = HOJE ## Retorna o número de série da data de hoje +WEEKDAY = DIA.DA.SEMANA ## Converte um número de série em um dia da semana +WEEKNUM = NÚMSEMANA ## Converte um número de série em um número que representa onde a semana cai numericamente em um ano +WORKDAY = DIATRABALHO ## Retorna o número de série da data antes ou depois de um número específico de dias úteis +YEAR = ANO ## Converte um número de série em um ano +YEARFRAC = FRAÇÃOANO ## Retorna a fração do ano que representa o número de dias entre data_inicial e data_final + + +## +## Engineering functions Funções de engenharia +## +BESSELI = BESSELI ## Retorna a função de Bessel In(x) modificada +BESSELJ = BESSELJ ## Retorna a função de Bessel Jn(x) +BESSELK = BESSELK ## Retorna a função de Bessel Kn(x) modificada +BESSELY = BESSELY ## Retorna a função de Bessel Yn(x) +BIN2DEC = BIN2DEC ## Converte um número binário em decimal +BIN2HEX = BIN2HEX ## Converte um número binário em hexadecimal +BIN2OCT = BIN2OCT ## Converte um número binário em octal +COMPLEX = COMPLEX ## Converte coeficientes reais e imaginários e um número complexo +CONVERT = CONVERTER ## Converte um número de um sistema de medida para outro +DEC2BIN = DECABIN ## Converte um número decimal em binário +DEC2HEX = DECAHEX ## Converte um número decimal em hexadecimal +DEC2OCT = DECAOCT ## Converte um número decimal em octal +DELTA = DELTA ## Testa se dois valores são iguais +ERF = FUNERRO ## Retorna a função de erro +ERFC = FUNERROCOMPL ## Retorna a função de erro complementar +GESTEP = DEGRAU ## Testa se um número é maior do que um valor limite +HEX2BIN = HEXABIN ## Converte um número hexadecimal em binário +HEX2DEC = HEXADEC ## Converte um número hexadecimal em decimal +HEX2OCT = HEXAOCT ## Converte um número hexadecimal em octal +IMABS = IMABS ## Retorna o valor absoluto (módulo) de um número complexo +IMAGINARY = IMAGINÁRIO ## Retorna o coeficiente imaginário de um número complexo +IMARGUMENT = IMARG ## Retorna o argumento teta, um ângulo expresso em radianos +IMCONJUGATE = IMCONJ ## Retorna o conjugado complexo de um número complexo +IMCOS = IMCOS ## Retorna o cosseno de um número complexo +IMDIV = IMDIV ## Retorna o quociente de dois números complexos +IMEXP = IMEXP ## Retorna o exponencial de um número complexo +IMLN = IMLN ## Retorna o logaritmo natural de um número complexo +IMLOG10 = IMLOG10 ## Retorna o logaritmo de base 10 de um número complexo +IMLOG2 = IMLOG2 ## Retorna o logaritmo de base 2 de um número complexo +IMPOWER = IMPOT ## Retorna um número complexo elevado a uma potência inteira +IMPRODUCT = IMPROD ## Retorna o produto de números complexos +IMREAL = IMREAL ## Retorna o coeficiente real de um número complexo +IMSIN = IMSENO ## Retorna o seno de um número complexo +IMSQRT = IMRAIZ ## Retorna a raiz quadrada de um número complexo +IMSUB = IMSUBTR ## Retorna a diferença entre dois números complexos +IMSUM = IMSOMA ## Retorna a soma de números complexos +OCT2BIN = OCTABIN ## Converte um número octal em binário +OCT2DEC = OCTADEC ## Converte um número octal em decimal +OCT2HEX = OCTAHEX ## Converte um número octal em hexadecimal + + +## +## Financial functions Funções financeiras +## +ACCRINT = JUROSACUM ## Retorna a taxa de juros acumulados de um título que paga uma taxa periódica de juros +ACCRINTM = JUROSACUMV ## Retorna os juros acumulados de um título que paga juros no vencimento +AMORDEGRC = AMORDEGRC ## Retorna a depreciação para cada período contábil usando o coeficiente de depreciação +AMORLINC = AMORLINC ## Retorna a depreciação para cada período contábil +COUPDAYBS = CUPDIASINLIQ ## Retorna o número de dias do início do período de cupom até a data de liquidação +COUPDAYS = CUPDIAS ## Retorna o número de dias no período de cupom que contém a data de quitação +COUPDAYSNC = CUPDIASPRÓX ## Retorna o número de dias da data de liquidação até a data do próximo cupom +COUPNCD = CUPDATAPRÓX ## Retorna a próxima data de cupom após a data de quitação +COUPNUM = CUPNÚM ## Retorna o número de cupons pagáveis entre as datas de quitação e vencimento +COUPPCD = CUPDATAANT ## Retorna a data de cupom anterior à data de quitação +CUMIPMT = PGTOJURACUM ## Retorna os juros acumulados pagos entre dois períodos +CUMPRINC = PGTOCAPACUM ## Retorna o capital acumulado pago sobre um empréstimo entre dois períodos +DB = BD ## Retorna a depreciação de um ativo para um período especificado, usando o método de balanço de declínio fixo +DDB = BDD ## Retorna a depreciação de um ativo com relação a um período especificado usando o método de saldos decrescentes duplos ou qualquer outro método especificado por você +DISC = DESC ## Retorna a taxa de desconto de um título +DOLLARDE = MOEDADEC ## Converte um preço em formato de moeda, na forma fracionária, em um preço na forma decimal +DOLLARFR = MOEDAFRA ## Converte um preço, apresentado na forma decimal, em um preço apresentado na forma fracionária +DURATION = DURAÇÃO ## Retorna a duração anual de um título com pagamentos de juros periódicos +EFFECT = EFETIVA ## Retorna a taxa de juros anual efetiva +FV = VF ## Retorna o valor futuro de um investimento +FVSCHEDULE = VFPLANO ## Retorna o valor futuro de um capital inicial após a aplicação de uma série de taxas de juros compostas +INTRATE = TAXAJUROS ## Retorna a taxa de juros de um título totalmente investido +IPMT = IPGTO ## Retorna o pagamento de juros para um investimento em um determinado período +IRR = TIR ## Retorna a taxa interna de retorno de uma série de fluxos de caixa +ISPMT = ÉPGTO ## Calcula os juros pagos durante um período específico de um investimento +MDURATION = MDURAÇÃO ## Retorna a duração de Macauley modificada para um título com um valor de paridade equivalente a R$ 100 +MIRR = MTIR ## Calcula a taxa interna de retorno em que fluxos de caixa positivos e negativos são financiados com diferentes taxas +NOMINAL = NOMINAL ## Retorna a taxa de juros nominal anual +NPER = NPER ## Retorna o número de períodos de um investimento +NPV = VPL ## Retorna o valor líquido atual de um investimento com base em uma série de fluxos de caixa periódicos e em uma taxa de desconto +ODDFPRICE = PREÇOPRIMINC ## Retorna o preço por R$ 100 de valor nominal de um título com um primeiro período indefinido +ODDFYIELD = LUCROPRIMINC ## Retorna o rendimento de um título com um primeiro período indefinido +ODDLPRICE = PREÇOÚLTINC ## Retorna o preço por R$ 100 de valor nominal de um título com um último período de cupom indefinido +ODDLYIELD = LUCROÚLTINC ## Retorna o rendimento de um título com um último período indefinido +PMT = PGTO ## Retorna o pagamento periódico de uma anuidade +PPMT = PPGTO ## Retorna o pagamento de capital para determinado período de investimento +PRICE = PREÇO ## Retorna a preço por R$ 100,00 de valor nominal de um título que paga juros periódicos +PRICEDISC = PREÇODESC ## Retorna o preço por R$ 100,00 de valor nominal de um título descontado +PRICEMAT = PREÇOVENC ## Retorna o preço por R$ 100,00 de valor nominal de um título que paga juros no vencimento +PV = VP ## Retorna o valor presente de um investimento +RATE = TAXA ## Retorna a taxa de juros por período de uma anuidade +RECEIVED = RECEBER ## Retorna a quantia recebida no vencimento de um título totalmente investido +SLN = DPD ## Retorna a depreciação em linha reta de um ativo durante um período +SYD = SDA ## Retorna a depreciação dos dígitos da soma dos anos de um ativo para um período especificado +TBILLEQ = OTN ## Retorna o rendimento de um título equivalente a uma obrigação do Tesouro +TBILLPRICE = OTNVALOR ## Retorna o preço por R$ 100,00 de valor nominal de uma obrigação do Tesouro +TBILLYIELD = OTNLUCRO ## Retorna o rendimento de uma obrigação do Tesouro +VDB = BDV ## Retorna a depreciação de um ativo para um período especificado ou parcial usando um método de balanço declinante +XIRR = XTIR ## Fornece a taxa interna de retorno para um programa de fluxos de caixa que não é necessariamente periódico +XNPV = XVPL ## Retorna o valor presente líquido de um programa de fluxos de caixa que não é necessariamente periódico +YIELD = LUCRO ## Retorna o lucro de um título que paga juros periódicos +YIELDDISC = LUCRODESC ## Retorna o rendimento anual de um título descontado. Por exemplo, uma obrigação do Tesouro +YIELDMAT = LUCROVENC ## Retorna o lucro anual de um título que paga juros no vencimento + + +## +## Information functions Funções de informação +## +CELL = CÉL ## Retorna informações sobre formatação, localização ou conteúdo de uma célula +ERROR.TYPE = TIPO.ERRO ## Retorna um número correspondente a um tipo de erro +INFO = INFORMAÇÃO ## Retorna informações sobre o ambiente operacional atual +ISBLANK = ÉCÉL.VAZIA ## Retorna VERDADEIRO se o valor for vazio +ISERR = ÉERRO ## Retorna VERDADEIRO se o valor for um valor de erro diferente de #N/D +ISERROR = ÉERROS ## Retorna VERDADEIRO se o valor for um valor de erro +ISEVEN = ÉPAR ## Retorna VERDADEIRO se o número for par +ISLOGICAL = ÉLÓGICO ## Retorna VERDADEIRO se o valor for um valor lógico +ISNA = É.NÃO.DISP ## Retorna VERDADEIRO se o valor for o valor de erro #N/D +ISNONTEXT = É.NÃO.TEXTO ## Retorna VERDADEIRO se o valor for diferente de texto +ISNUMBER = ÉNÚM ## Retorna VERDADEIRO se o valor for um número +ISODD = ÉIMPAR ## Retorna VERDADEIRO se o número for ímpar +ISREF = ÉREF ## Retorna VERDADEIRO se o valor for uma referência +ISTEXT = ÉTEXTO ## Retorna VERDADEIRO se o valor for texto +N = N ## Retorna um valor convertido em um número +NA = NÃO.DISP ## Retorna o valor de erro #N/D +TYPE = TIPO ## Retorna um número indicando o tipo de dados de um valor + + +## +## Logical functions Funções lógicas +## +AND = E ## Retorna VERDADEIRO se todos os seus argumentos forem VERDADEIROS +FALSE = FALSO ## Retorna o valor lógico FALSO +IF = SE ## Especifica um teste lógico a ser executado +IFERROR = SEERRO ## Retornará um valor que você especifica se uma fórmula for avaliada para um erro; do contrário, retornará o resultado da fórmula +NOT = NÃO ## Inverte o valor lógico do argumento +OR = OU ## Retorna VERDADEIRO se um dos argumentos for VERDADEIRO +TRUE = VERDADEIRO ## Retorna o valor lógico VERDADEIRO + + +## +## Lookup and reference functions Funções de pesquisa e referência +## +ADDRESS = ENDEREÇO ## Retorna uma referência como texto para uma única célula em uma planilha +AREAS = ÁREAS ## Retorna o número de áreas em uma referência +CHOOSE = ESCOLHER ## Escolhe um valor a partir de uma lista de valores +COLUMN = COL ## Retorna o número da coluna de uma referência +COLUMNS = COLS ## Retorna o número de colunas em uma referência +HLOOKUP = PROCH ## Procura na linha superior de uma matriz e retorna o valor da célula especificada +HYPERLINK = HYPERLINK ## Cria um atalho ou salto que abre um documento armazenado em um servidor de rede, uma intranet ou na Internet +INDEX = ÍNDICE ## Usa um índice para escolher um valor de uma referência ou matriz +INDIRECT = INDIRETO ## Retorna uma referência indicada por um valor de texto +LOOKUP = PROC ## Procura valores em um vetor ou em uma matriz +MATCH = CORRESP ## Procura valores em uma referência ou em uma matriz +OFFSET = DESLOC ## Retorna um deslocamento de referência com base em uma determinada referência +ROW = LIN ## Retorna o número da linha de uma referência +ROWS = LINS ## Retorna o número de linhas em uma referência +RTD = RTD ## Recupera dados em tempo real de um programa que ofereça suporte a automação COM (automação: uma forma de trabalhar com objetos de um aplicativo a partir de outro aplicativo ou ferramenta de desenvolvimento. Chamada inicialmente de automação OLE, a automação é um padrão industrial e um recurso do modelo de objeto componente (COM).) +TRANSPOSE = TRANSPOR ## Retorna a transposição de uma matriz +VLOOKUP = PROCV ## Procura na primeira coluna de uma matriz e move ao longo da linha para retornar o valor de uma célula + + +## +## Math and trigonometry functions Funções matemáticas e trigonométricas +## +ABS = ABS ## Retorna o valor absoluto de um número +ACOS = ACOS ## Retorna o arco cosseno de um número +ACOSH = ACOSH ## Retorna o cosseno hiperbólico inverso de um número +ASIN = ASEN ## Retorna o arco seno de um número +ASINH = ASENH ## Retorna o seno hiperbólico inverso de um número +ATAN = ATAN ## Retorna o arco tangente de um número +ATAN2 = ATAN2 ## Retorna o arco tangente das coordenadas x e y especificadas +ATANH = ATANH ## Retorna a tangente hiperbólica inversa de um número +CEILING = TETO ## Arredonda um número para o inteiro mais próximo ou para o múltiplo mais próximo de significância +COMBIN = COMBIN ## Retorna o número de combinações de um determinado número de objetos +COS = COS ## Retorna o cosseno de um número +COSH = COSH ## Retorna o cosseno hiperbólico de um número +DEGREES = GRAUS ## Converte radianos em graus +EVEN = PAR ## Arredonda um número para cima até o inteiro par mais próximo +EXP = EXP ## Retorna e elevado à potência de um número especificado +FACT = FATORIAL ## Retorna o fatorial de um número +FACTDOUBLE = FATDUPLO ## Retorna o fatorial duplo de um número +FLOOR = ARREDMULTB ## Arredonda um número para baixo até zero +GCD = MDC ## Retorna o máximo divisor comum +INT = INT ## Arredonda um número para baixo até o número inteiro mais próximo +LCM = MMC ## Retorna o mínimo múltiplo comum +LN = LN ## Retorna o logaritmo natural de um número +LOG = LOG ## Retorna o logaritmo de um número de uma base especificada +LOG10 = LOG10 ## Retorna o logaritmo de base 10 de um número +MDETERM = MATRIZ.DETERM ## Retorna o determinante de uma matriz de uma variável do tipo matriz +MINVERSE = MATRIZ.INVERSO ## Retorna a matriz inversa de uma matriz +MMULT = MATRIZ.MULT ## Retorna o produto de duas matrizes +MOD = RESTO ## Retorna o resto da divisão +MROUND = MARRED ## Retorna um número arredondado ao múltiplo desejado +MULTINOMIAL = MULTINOMIAL ## Retorna o multinomial de um conjunto de números +ODD = ÍMPAR ## Arredonda um número para cima até o inteiro ímpar mais próximo +PI = PI ## Retorna o valor de Pi +POWER = POTÊNCIA ## Fornece o resultado de um número elevado a uma potência +PRODUCT = MULT ## Multiplica seus argumentos +QUOTIENT = QUOCIENTE ## Retorna a parte inteira de uma divisão +RADIANS = RADIANOS ## Converte graus em radianos +RAND = ALEATÓRIO ## Retorna um número aleatório entre 0 e 1 +RANDBETWEEN = ALEATÓRIOENTRE ## Retorna um número aleatório entre os números especificados +ROMAN = ROMANO ## Converte um algarismo arábico em romano, como texto +ROUND = ARRED ## Arredonda um número até uma quantidade especificada de dígitos +ROUNDDOWN = ARREDONDAR.PARA.BAIXO ## Arredonda um número para baixo até zero +ROUNDUP = ARREDONDAR.PARA.CIMA ## Arredonda um número para cima, afastando-o de zero +SERIESSUM = SOMASEQÜÊNCIA ## Retorna a soma de uma série polinomial baseada na fórmula +SIGN = SINAL ## Retorna o sinal de um número +SIN = SEN ## Retorna o seno de um ângulo dado +SINH = SENH ## Retorna o seno hiperbólico de um número +SQRT = RAIZ ## Retorna uma raiz quadrada positiva +SQRTPI = RAIZPI ## Retorna a raiz quadrada de (núm* pi) +SUBTOTAL = SUBTOTAL ## Retorna um subtotal em uma lista ou em um banco de dados +SUM = SOMA ## Soma seus argumentos +SUMIF = SOMASE ## Adiciona as células especificadas por um determinado critério +SUMIFS = SOMASE ## Adiciona as células em um intervalo que atende a vários critérios +SUMPRODUCT = SOMARPRODUTO ## Retorna a soma dos produtos de componentes correspondentes de matrizes +SUMSQ = SOMAQUAD ## Retorna a soma dos quadrados dos argumentos +SUMX2MY2 = SOMAX2DY2 ## Retorna a soma da diferença dos quadrados dos valores correspondentes em duas matrizes +SUMX2PY2 = SOMAX2SY2 ## Retorna a soma da soma dos quadrados dos valores correspondentes em duas matrizes +SUMXMY2 = SOMAXMY2 ## Retorna a soma dos quadrados das diferenças dos valores correspondentes em duas matrizes +TAN = TAN ## Retorna a tangente de um número +TANH = TANH ## Retorna a tangente hiperbólica de um número +TRUNC = TRUNCAR ## Trunca um número para um inteiro + + +## +## Statistical functions Funções estatísticas +## +AVEDEV = DESV.MÉDIO ## Retorna a média aritmética dos desvios médios dos pontos de dados a partir de sua média +AVERAGE = MÉDIA ## Retorna a média dos argumentos +AVERAGEA = MÉDIAA ## Retorna a média dos argumentos, inclusive números, texto e valores lógicos +AVERAGEIF = MÉDIASE ## Retorna a média (média aritmética) de todas as células em um intervalo que atendem a um determinado critério +AVERAGEIFS = MÉDIASES ## Retorna a média (média aritmética) de todas as células que atendem a múltiplos critérios. +BETADIST = DISTBETA ## Retorna a função de distribuição cumulativa beta +BETAINV = BETA.ACUM.INV ## Retorna o inverso da função de distribuição cumulativa para uma distribuição beta especificada +BINOMDIST = DISTRBINOM ## Retorna a probabilidade de distribuição binomial do termo individual +CHIDIST = DIST.QUI ## Retorna a probabilidade unicaudal da distribuição qui-quadrada +CHIINV = INV.QUI ## Retorna o inverso da probabilidade uni-caudal da distribuição qui-quadrada +CHITEST = TESTE.QUI ## Retorna o teste para independência +CONFIDENCE = INT.CONFIANÇA ## Retorna o intervalo de confiança para uma média da população +CORREL = CORREL ## Retorna o coeficiente de correlação entre dois conjuntos de dados +COUNT = CONT.NÚM ## Calcula quantos números há na lista de argumentos +COUNTA = CONT.VALORES ## Calcula quantos valores há na lista de argumentos +COUNTBLANK = CONTAR.VAZIO ## Conta o número de células vazias no intervalo especificado +COUNTIF = CONT.SE ## Calcula o número de células não vazias em um intervalo que corresponde a determinados critérios +COUNTIFS = CONT.SES ## Conta o número de células dentro de um intervalo que atende a múltiplos critérios +COVAR = COVAR ## Retorna a covariância, a média dos produtos dos desvios pares +CRITBINOM = CRIT.BINOM ## Retorna o menor valor para o qual a distribuição binomial cumulativa é menor ou igual ao valor padrão +DEVSQ = DESVQ ## Retorna a soma dos quadrados dos desvios +EXPONDIST = DISTEXPON ## Retorna a distribuição exponencial +FDIST = DISTF ## Retorna a distribuição de probabilidade F +FINV = INVF ## Retorna o inverso da distribuição de probabilidades F +FISHER = FISHER ## Retorna a transformação Fisher +FISHERINV = FISHERINV ## Retorna o inverso da transformação Fisher +FORECAST = PREVISÃO ## Retorna um valor ao longo de uma linha reta +FREQUENCY = FREQÜÊNCIA ## Retorna uma distribuição de freqüência como uma matriz vertical +FTEST = TESTEF ## Retorna o resultado de um teste F +GAMMADIST = DISTGAMA ## Retorna a distribuição gama +GAMMAINV = INVGAMA ## Retorna o inverso da distribuição cumulativa gama +GAMMALN = LNGAMA ## Retorna o logaritmo natural da função gama, G(x) +GEOMEAN = MÉDIA.GEOMÉTRICA ## Retorna a média geométrica +GROWTH = CRESCIMENTO ## Retorna valores ao longo de uma tendência exponencial +HARMEAN = MÉDIA.HARMÔNICA ## Retorna a média harmônica +HYPGEOMDIST = DIST.HIPERGEOM ## Retorna a distribuição hipergeométrica +INTERCEPT = INTERCEPÇÃO ## Retorna a intercepção da linha de regressão linear +KURT = CURT ## Retorna a curtose de um conjunto de dados +LARGE = MAIOR ## Retorna o maior valor k-ésimo de um conjunto de dados +LINEST = PROJ.LIN ## Retorna os parâmetros de uma tendência linear +LOGEST = PROJ.LOG ## Retorna os parâmetros de uma tendência exponencial +LOGINV = INVLOG ## Retorna o inverso da distribuição lognormal +LOGNORMDIST = DIST.LOGNORMAL ## Retorna a distribuição lognormal cumulativa +MAX = MÁXIMO ## Retorna o valor máximo em uma lista de argumentos +MAXA = MÁXIMOA ## Retorna o maior valor em uma lista de argumentos, inclusive números, texto e valores lógicos +MEDIAN = MED ## Retorna a mediana dos números indicados +MIN = MÍNIMO ## Retorna o valor mínimo em uma lista de argumentos +MINA = MÍNIMOA ## Retorna o menor valor em uma lista de argumentos, inclusive números, texto e valores lógicos +MODE = MODO ## Retorna o valor mais comum em um conjunto de dados +NEGBINOMDIST = DIST.BIN.NEG ## Retorna a distribuição binomial negativa +NORMDIST = DIST.NORM ## Retorna a distribuição cumulativa normal +NORMINV = INV.NORM ## Retorna o inverso da distribuição cumulativa normal +NORMSDIST = DIST.NORMP ## Retorna a distribuição cumulativa normal padrão +NORMSINV = INV.NORMP ## Retorna o inverso da distribuição cumulativa normal padrão +PEARSON = PEARSON ## Retorna o coeficiente de correlação do momento do produto Pearson +PERCENTILE = PERCENTIL ## Retorna o k-ésimo percentil de valores em um intervalo +PERCENTRANK = ORDEM.PORCENTUAL ## Retorna a ordem percentual de um valor em um conjunto de dados +PERMUT = PERMUT ## Retorna o número de permutações de um determinado número de objetos +POISSON = POISSON ## Retorna a distribuição Poisson +PROB = PROB ## Retorna a probabilidade de valores em um intervalo estarem entre dois limites +QUARTILE = QUARTIL ## Retorna o quartil do conjunto de dados +RANK = ORDEM ## Retorna a posição de um número em uma lista de números +RSQ = RQUAD ## Retorna o quadrado do coeficiente de correlação do momento do produto de Pearson +SKEW = DISTORÇÃO ## Retorna a distorção de uma distribuição +SLOPE = INCLINAÇÃO ## Retorna a inclinação da linha de regressão linear +SMALL = MENOR ## Retorna o menor valor k-ésimo do conjunto de dados +STANDARDIZE = PADRONIZAR ## Retorna um valor normalizado +STDEV = DESVPAD ## Estima o desvio padrão com base em uma amostra +STDEVA = DESVPADA ## Estima o desvio padrão com base em uma amostra, inclusive números, texto e valores lógicos +STDEVP = DESVPADP ## Calcula o desvio padrão com base na população total +STDEVPA = DESVPADPA ## Calcula o desvio padrão com base na população total, inclusive números, texto e valores lógicos +STEYX = EPADYX ## Retorna o erro padrão do valor-y previsto para cada x da regressão +TDIST = DISTT ## Retorna a distribuição t de Student +TINV = INVT ## Retorna o inverso da distribuição t de Student +TREND = TENDÊNCIA ## Retorna valores ao longo de uma tendência linear +TRIMMEAN = MÉDIA.INTERNA ## Retorna a média do interior de um conjunto de dados +TTEST = TESTET ## Retorna a probabilidade associada ao teste t de Student +VAR = VAR ## Estima a variância com base em uma amostra +VARA = VARA ## Estima a variância com base em uma amostra, inclusive números, texto e valores lógicos +VARP = VARP ## Calcula a variância com base na população inteira +VARPA = VARPA ## Calcula a variância com base na população total, inclusive números, texto e valores lógicos +WEIBULL = WEIBULL ## Retorna a distribuição Weibull +ZTEST = TESTEZ ## Retorna o valor de probabilidade uni-caudal de um teste-z + + +## +## Text functions Funções de texto +## +ASC = ASC ## Altera letras do inglês ou katakana de largura total (bytes duplos) dentro de uma seqüência de caracteres para caracteres de meia largura (byte único) +BAHTTEXT = BAHTTEXT ## Converte um número em um texto, usando o formato de moeda ß (baht) +CHAR = CARACT ## Retorna o caractere especificado pelo número de código +CLEAN = TIRAR ## Remove todos os caracteres do texto que não podem ser impressos +CODE = CÓDIGO ## Retorna um código numérico para o primeiro caractere de uma seqüência de caracteres de texto +CONCATENATE = CONCATENAR ## Agrupa vários itens de texto em um único item de texto +DOLLAR = MOEDA ## Converte um número em texto, usando o formato de moeda $ (dólar) +EXACT = EXATO ## Verifica se dois valores de texto são idênticos +FIND = PROCURAR ## Procura um valor de texto dentro de outro (diferencia maiúsculas de minúsculas) +FINDB = PROCURARB ## Procura um valor de texto dentro de outro (diferencia maiúsculas de minúsculas) +FIXED = DEF.NÚM.DEC ## Formata um número como texto com um número fixo de decimais +JIS = JIS ## Altera letras do inglês ou katakana de meia largura (byte único) dentro de uma seqüência de caracteres para caracteres de largura total (bytes duplos) +LEFT = ESQUERDA ## Retorna os caracteres mais à esquerda de um valor de texto +LEFTB = ESQUERDAB ## Retorna os caracteres mais à esquerda de um valor de texto +LEN = NÚM.CARACT ## Retorna o número de caracteres em uma seqüência de texto +LENB = NÚM.CARACTB ## Retorna o número de caracteres em uma seqüência de texto +LOWER = MINÚSCULA ## Converte texto para minúsculas +MID = EXT.TEXTO ## Retorna um número específico de caracteres de uma seqüência de texto começando na posição especificada +MIDB = EXT.TEXTOB ## Retorna um número específico de caracteres de uma seqüência de texto começando na posição especificada +PHONETIC = FONÉTICA ## Extrai os caracteres fonéticos (furigana) de uma seqüência de caracteres de texto +PROPER = PRI.MAIÚSCULA ## Coloca a primeira letra de cada palavra em maiúscula em um valor de texto +REPLACE = MUDAR ## Muda os caracteres dentro do texto +REPLACEB = MUDARB ## Muda os caracteres dentro do texto +REPT = REPT ## Repete o texto um determinado número de vezes +RIGHT = DIREITA ## Retorna os caracteres mais à direita de um valor de texto +RIGHTB = DIREITAB ## Retorna os caracteres mais à direita de um valor de texto +SEARCH = LOCALIZAR ## Localiza um valor de texto dentro de outro (não diferencia maiúsculas de minúsculas) +SEARCHB = LOCALIZARB ## Localiza um valor de texto dentro de outro (não diferencia maiúsculas de minúsculas) +SUBSTITUTE = SUBSTITUIR ## Substitui um novo texto por um texto antigo em uma seqüência de texto +T = T ## Converte os argumentos em texto +TEXT = TEXTO ## Formata um número e o converte em texto +TRIM = ARRUMAR ## Remove espaços do texto +UPPER = MAIÚSCULA ## Converte o texto em maiúsculas +VALUE = VALOR ## Converte um argumento de texto em um número diff --git a/htdocs/includes/phpexcel/PHPExcel/locale/pt/functions b/htdocs/includes/phpexcel/PHPExcel/locale/pt/functions index 7fe9e3b5800295ffb11ef4ba1f351d69bcaff0fa..ba4eb471bad941df9662a357bd396e860dd306e5 100644 --- a/htdocs/includes/phpexcel/PHPExcel/locale/pt/functions +++ b/htdocs/includes/phpexcel/PHPExcel/locale/pt/functions @@ -1,408 +1,408 @@ -## -## Add-in and Automation functions Funções de Suplemento e Automatização -## -GETPIVOTDATA = OBTERDADOSDIN ## Devolve dados armazenados num relatório de Tabela Dinâmica - - -## -## Cube functions Funções de cubo -## -CUBEKPIMEMBER = MEMBROKPICUBO ## Devolve o nome, propriedade e medição de um KPI (key performance indicator) e apresenta o nome e a propriedade na célula. Um KPI é uma medida quantificável, como, por exemplo, o lucro mensal bruto ou a rotatividade trimestral de pessoal, utilizada para monitorizar o desempenho de uma organização. -CUBEMEMBER = MEMBROCUBO ## Devolve um membro ou cadeia de identificação numa hierarquia de cubo. Utilizada para validar a existência do membro ou cadeia de identificação no cubo. -CUBEMEMBERPROPERTY = PROPRIEDADEMEMBROCUBO ## Devolve o valor de uma propriedade de membro no cubo. Utilizada para validar a existência de um nome de membro no cubo e para devolver a propriedade especificada para esse membro. -CUBERANKEDMEMBER = MEMBROCLASSIFICADOCUBO ## Devolve o enésimo ou a classificação mais alta num conjunto. Utilizada para devolver um ou mais elementos num conjunto, tal como o melhor vendedor ou os 10 melhores alunos. -CUBESET = CONJUNTOCUBO ## Define um conjunto calculado de membros ou cadeias de identificação enviando uma expressão de conjunto para o cubo no servidor, que cria o conjunto e, em seguida, devolve o conjunto ao Microsoft Office Excel. -CUBESETCOUNT = CONTARCONJUNTOCUBO ## Devolve o número de itens num conjunto. -CUBEVALUE = VALORCUBO ## Devolve um valor agregado do cubo. - - -## -## Database functions Funções de base de dados -## -DAVERAGE = BDMÉDIA ## Devolve a média das entradas da base de dados seleccionadas -DCOUNT = BDCONTAR ## Conta as células que contêm números numa base de dados -DCOUNTA = BDCONTAR.VAL ## Conta as células que não estejam em branco numa base de dados -DGET = BDOBTER ## Extrai de uma base de dados um único registo que corresponde aos critérios especificados -DMAX = BDMÁX ## Devolve o valor máximo das entradas da base de dados seleccionadas -DMIN = BDMÍN ## Devolve o valor mínimo das entradas da base de dados seleccionadas -DPRODUCT = BDMULTIPL ## Multiplica os valores de um determinado campo de registos que correspondem aos critérios numa base de dados -DSTDEV = BDDESVPAD ## Calcula o desvio-padrão com base numa amostra de entradas da base de dados seleccionadas -DSTDEVP = BDDESVPADP ## Calcula o desvio-padrão com base na população total das entradas da base de dados seleccionadas -DSUM = BDSOMA ## Adiciona os números na coluna de campo dos registos de base de dados que correspondem aos critérios -DVAR = BDVAR ## Calcula a variância com base numa amostra das entradas de base de dados seleccionadas -DVARP = BDVARP ## Calcula a variância com base na população total das entradas de base de dados seleccionadas - - -## -## Date and time functions Funções de data e hora -## -DATE = DATA ## Devolve o número de série de uma determinada data -DATEVALUE = DATA.VALOR ## Converte uma data em forma de texto num número de série -DAY = DIA ## Converte um número de série num dia do mês -DAYS360 = DIAS360 ## Calcula o número de dias entre duas datas com base num ano com 360 dias -EDATE = DATAM ## Devolve um número de série de data que corresponde ao número de meses indicado antes ou depois da data de início -EOMONTH = FIMMÊS ## Devolve o número de série do último dia do mês antes ou depois de um número de meses especificado -HOUR = HORA ## Converte um número de série numa hora -MINUTE = MINUTO ## Converte um número de série num minuto -MONTH = MÊS ## Converte um número de série num mês -NETWORKDAYS = DIATRABALHOTOTAL ## Devolve o número total de dias úteis entre duas datas -NOW = AGORA ## Devolve o número de série da data e hora actuais -SECOND = SEGUNDO ## Converte um número de série num segundo -TIME = TEMPO ## Devolve o número de série de um determinado tempo -TIMEVALUE = VALOR.TEMPO ## Converte um tempo em forma de texto num número de série -TODAY = HOJE ## Devolve o número de série da data actual -WEEKDAY = DIA.SEMANA ## Converte um número de série num dia da semana -WEEKNUM = NÚMSEMANA ## Converte um número de série num número que representa o número da semana num determinado ano -WORKDAY = DIA.TRABALHO ## Devolve o número de série da data antes ou depois de um número de dias úteis especificado -YEAR = ANO ## Converte um número de série num ano -YEARFRAC = FRACÇÃOANO ## Devolve a fracção de ano que representa o número de dias inteiros entre a data_de_início e a data_de_fim - - -## -## Engineering functions Funções de engenharia -## -BESSELI = BESSELI ## Devolve a função de Bessel modificada In(x) -BESSELJ = BESSELJ ## Devolve a função de Bessel Jn(x) -BESSELK = BESSELK ## Devolve a função de Bessel modificada Kn(x) -BESSELY = BESSELY ## Devolve a função de Bessel Yn(x) -BIN2DEC = BINADEC ## Converte um número binário em decimal -BIN2HEX = BINAHEX ## Converte um número binário em hexadecimal -BIN2OCT = BINAOCT ## Converte um número binário em octal -COMPLEX = COMPLEXO ## Converte coeficientes reais e imaginários num número complexo -CONVERT = CONVERTER ## Converte um número de um sistema de medida noutro -DEC2BIN = DECABIN ## Converte um número decimal em binário -DEC2HEX = DECAHEX ## Converte um número decimal em hexadecimal -DEC2OCT = DECAOCT ## Converte um número decimal em octal -DELTA = DELTA ## Testa se dois valores são iguais -ERF = FUNCERRO ## Devolve a função de erro -ERFC = FUNCERROCOMPL ## Devolve a função de erro complementar -GESTEP = DEGRAU ## Testa se um número é maior do que um valor limite -HEX2BIN = HEXABIN ## Converte um número hexadecimal em binário -HEX2DEC = HEXADEC ## Converte um número hexadecimal em decimal -HEX2OCT = HEXAOCT ## Converte um número hexadecimal em octal -IMABS = IMABS ## Devolve o valor absoluto (módulo) de um número complexo -IMAGINARY = IMAGINÁRIO ## Devolve o coeficiente imaginário de um número complexo -IMARGUMENT = IMARG ## Devolve o argumento Teta, um ângulo expresso em radianos -IMCONJUGATE = IMCONJ ## Devolve o conjugado complexo de um número complexo -IMCOS = IMCOS ## Devolve o co-seno de um número complexo -IMDIV = IMDIV ## Devolve o quociente de dois números complexos -IMEXP = IMEXP ## Devolve o exponencial de um número complexo -IMLN = IMLN ## Devolve o logaritmo natural de um número complexo -IMLOG10 = IMLOG10 ## Devolve o logaritmo de base 10 de um número complexo -IMLOG2 = IMLOG2 ## Devolve o logaritmo de base 2 de um número complexo -IMPOWER = IMPOT ## Devolve um número complexo elevado a uma potência inteira -IMPRODUCT = IMPROD ## Devolve o produto de números complexos -IMREAL = IMREAL ## Devolve o coeficiente real de um número complexo -IMSIN = IMSENO ## Devolve o seno de um número complexo -IMSQRT = IMRAIZ ## Devolve a raiz quadrada de um número complexo -IMSUB = IMSUBTR ## Devolve a diferença entre dois números complexos -IMSUM = IMSOMA ## Devolve a soma de números complexos -OCT2BIN = OCTABIN ## Converte um número octal em binário -OCT2DEC = OCTADEC ## Converte um número octal em decimal -OCT2HEX = OCTAHEX ## Converte um número octal em hexadecimal - - -## -## Financial functions Funções financeiras -## -ACCRINT = JUROSACUM ## Devolve os juros acumulados de um título que paga juros periódicos -ACCRINTM = JUROSACUMV ## Devolve os juros acumulados de um título que paga juros no vencimento -AMORDEGRC = AMORDEGRC ## Devolve a depreciação correspondente a cada período contabilístico utilizando um coeficiente de depreciação -AMORLINC = AMORLINC ## Devolve a depreciação correspondente a cada período contabilístico -COUPDAYBS = CUPDIASINLIQ ## Devolve o número de dias entre o início do período do cupão e a data de regularização -COUPDAYS = CUPDIAS ## Devolve o número de dias no período do cupão que contém a data de regularização -COUPDAYSNC = CUPDIASPRÓX ## Devolve o número de dias entre a data de regularização e a data do cupão seguinte -COUPNCD = CUPDATAPRÓX ## Devolve a data do cupão seguinte após a data de regularização -COUPNUM = CUPNÚM ## Devolve o número de cupões a serem pagos entre a data de regularização e a data de vencimento -COUPPCD = CUPDATAANT ## Devolve a data do cupão anterior antes da data de regularização -CUMIPMT = PGTOJURACUM ## Devolve os juros cumulativos pagos entre dois períodos -CUMPRINC = PGTOCAPACUM ## Devolve o capital cumulativo pago a título de empréstimo entre dois períodos -DB = BD ## Devolve a depreciação de um activo relativo a um período especificado utilizando o método das quotas degressivas fixas -DDB = BDD ## Devolve a depreciação de um activo relativo a um período especificado utilizando o método das quotas degressivas duplas ou qualquer outro método especificado -DISC = DESC ## Devolve a taxa de desconto de um título -DOLLARDE = MOEDADEC ## Converte um preço em unidade monetária, expresso como uma fracção, num preço em unidade monetária, expresso como um número decimal -DOLLARFR = MOEDAFRA ## Converte um preço em unidade monetária, expresso como um número decimal, num preço em unidade monetária, expresso como uma fracção -DURATION = DURAÇÃO ## Devolve a duração anual de um título com pagamentos de juros periódicos -EFFECT = EFECTIVA ## Devolve a taxa de juros anual efectiva -FV = VF ## Devolve o valor futuro de um investimento -FVSCHEDULE = VFPLANO ## Devolve o valor futuro de um capital inicial após a aplicação de uma série de taxas de juro compostas -INTRATE = TAXAJUROS ## Devolve a taxa de juros de um título investido na totalidade -IPMT = IPGTO ## Devolve o pagamento dos juros de um investimento durante um determinado período -IRR = TIR ## Devolve a taxa de rentabilidade interna para uma série de fluxos monetários -ISPMT = É.PGTO ## Calcula os juros pagos durante um período específico de um investimento -MDURATION = MDURAÇÃO ## Devolve a duração modificada de Macauley de um título com um valor de paridade equivalente a € 100 -MIRR = MTIR ## Devolve a taxa interna de rentabilidade em que os fluxos monetários positivos e negativos são financiados com taxas diferentes -NOMINAL = NOMINAL ## Devolve a taxa de juros nominal anual -NPER = NPER ## Devolve o número de períodos de um investimento -NPV = VAL ## Devolve o valor actual líquido de um investimento com base numa série de fluxos monetários periódicos e numa taxa de desconto -ODDFPRICE = PREÇOPRIMINC ## Devolve o preço por € 100 do valor nominal de um título com um período inicial incompleto -ODDFYIELD = LUCROPRIMINC ## Devolve o lucro de um título com um período inicial incompleto -ODDLPRICE = PREÇOÚLTINC ## Devolve o preço por € 100 do valor nominal de um título com um período final incompleto -ODDLYIELD = LUCROÚLTINC ## Devolve o lucro de um título com um período final incompleto -PMT = PGTO ## Devolve o pagamento periódico de uma anuidade -PPMT = PPGTO ## Devolve o pagamento sobre o capital de um investimento num determinado período -PRICE = PREÇO ## Devolve o preço por € 100 do valor nominal de um título que paga juros periódicos -PRICEDISC = PREÇODESC ## Devolve o preço por € 100 do valor nominal de um título descontado -PRICEMAT = PREÇOVENC ## Devolve o preço por € 100 do valor nominal de um título que paga juros no vencimento -PV = VA ## Devolve o valor actual de um investimento -RATE = TAXA ## Devolve a taxa de juros por período de uma anuidade -RECEIVED = RECEBER ## Devolve o montante recebido no vencimento de um título investido na totalidade -SLN = AMORT ## Devolve uma depreciação linear de um activo durante um período -SYD = AMORTD ## Devolve a depreciação por algarismos da soma dos anos de um activo durante um período especificado -TBILLEQ = OTN ## Devolve o lucro de um título equivalente a uma Obrigação do Tesouro -TBILLPRICE = OTNVALOR ## Devolve o preço por € 100 de valor nominal de uma Obrigação do Tesouro -TBILLYIELD = OTNLUCRO ## Devolve o lucro de uma Obrigação do Tesouro -VDB = BDV ## Devolve a depreciação de um activo relativo a um período específico ou parcial utilizando um método de quotas degressivas -XIRR = XTIR ## Devolve a taxa interna de rentabilidade de um plano de fluxos monetários que não seja necessariamente periódica -XNPV = XVAL ## Devolve o valor actual líquido de um plano de fluxos monetários que não seja necessariamente periódico -YIELD = LUCRO ## Devolve o lucro de um título que paga juros periódicos -YIELDDISC = LUCRODESC ## Devolve o lucro anual de um título emitido abaixo do valor nominal, por exemplo, uma Obrigação do Tesouro -YIELDMAT = LUCROVENC ## Devolve o lucro anual de um título que paga juros na data de vencimento - - -## -## Information functions Funções de informação -## -CELL = CÉL ## Devolve informações sobre a formatação, localização ou conteúdo de uma célula -ERROR.TYPE = TIPO.ERRO ## Devolve um número correspondente a um tipo de erro -INFO = INFORMAÇÃO ## Devolve informações sobre o ambiente de funcionamento actual -ISBLANK = É.CÉL.VAZIA ## Devolve VERDADEIRO se o valor estiver em branco -ISERR = É.ERROS ## Devolve VERDADEIRO se o valor for um valor de erro diferente de #N/D -ISERROR = É.ERRO ## Devolve VERDADEIRO se o valor for um valor de erro -ISEVEN = ÉPAR ## Devolve VERDADEIRO se o número for par -ISLOGICAL = É.LÓGICO ## Devolve VERDADEIRO se o valor for lógico -ISNA = É.NÃO.DISP ## Devolve VERDADEIRO se o valor for o valor de erro #N/D -ISNONTEXT = É.NÃO.TEXTO ## Devolve VERDADEIRO se o valor não for texto -ISNUMBER = É.NÚM ## Devolve VERDADEIRO se o valor for um número -ISODD = ÉÍMPAR ## Devolve VERDADEIRO se o número for ímpar -ISREF = É.REF ## Devolve VERDADEIRO se o valor for uma referência -ISTEXT = É.TEXTO ## Devolve VERDADEIRO se o valor for texto -N = N ## Devolve um valor convertido num número -NA = NÃO.DISP ## Devolve o valor de erro #N/D -TYPE = TIPO ## Devolve um número que indica o tipo de dados de um valor - - -## -## Logical functions Funções lógicas -## -AND = E ## Devolve VERDADEIRO se todos os respectivos argumentos corresponderem a VERDADEIRO -FALSE = FALSO ## Devolve o valor lógico FALSO -IF = SE ## Especifica um teste lógico a ser executado -IFERROR = SE.ERRO ## Devolve um valor definido pelo utilizador se ocorrer um erro na fórmula, e devolve o resultado da fórmula se não ocorrer nenhum erro -NOT = NÃO ## Inverte a lógica do respectivo argumento -OR = OU ## Devolve VERDADEIRO se qualquer argumento for VERDADEIRO -TRUE = VERDADEIRO ## Devolve o valor lógico VERDADEIRO - - -## -## Lookup and reference functions Funções de pesquisa e referência -## -ADDRESS = ENDEREÇO ## Devolve uma referência a uma única célula numa folha de cálculo como texto -AREAS = ÁREAS ## Devolve o número de áreas numa referência -CHOOSE = SELECCIONAR ## Selecciona um valor a partir de uma lista de valores -COLUMN = COL ## Devolve o número da coluna de uma referência -COLUMNS = COLS ## Devolve o número de colunas numa referência -HLOOKUP = PROCH ## Procura na linha superior de uma matriz e devolve o valor da célula indicada -HYPERLINK = HIPERLIGAÇÃO ## Cria um atalho ou hiperligação que abre um documento armazenado num servidor de rede, numa intranet ou na Internet -INDEX = ÍNDICE ## Utiliza um índice para escolher um valor de uma referência ou de uma matriz -INDIRECT = INDIRECTO ## Devolve uma referência indicada por um valor de texto -LOOKUP = PROC ## Procura valores num vector ou numa matriz -MATCH = CORRESP ## Procura valores numa referência ou numa matriz -OFFSET = DESLOCAMENTO ## Devolve o deslocamento de referência de uma determinada referência -ROW = LIN ## Devolve o número da linha de uma referência -ROWS = LINS ## Devolve o número de linhas numa referência -RTD = RTD ## Obtém dados em tempo real a partir de um programa que suporte automatização COM (automatização: modo de trabalhar com objectos de uma aplicação a partir de outra aplicação ou ferramenta de desenvolvimento. Anteriormente conhecida como automatização OLE, a automatização é uma norma da indústria de software e uma funcionalidade COM (Component Object Model).) -TRANSPOSE = TRANSPOR ## Devolve a transposição de uma matriz -VLOOKUP = PROCV ## Procura na primeira coluna de uma matriz e percorre a linha para devolver o valor de uma célula - - -## -## Math and trigonometry functions Funções matemáticas e trigonométricas -## -ABS = ABS ## Devolve o valor absoluto de um número -ACOS = ACOS ## Devolve o arco de co-seno de um número -ACOSH = ACOSH ## Devolve o co-seno hiperbólico inverso de um número -ASIN = ASEN ## Devolve o arco de seno de um número -ASINH = ASENH ## Devolve o seno hiperbólico inverso de um número -ATAN = ATAN ## Devolve o arco de tangente de um número -ATAN2 = ATAN2 ## Devolve o arco de tangente das coordenadas x e y -ATANH = ATANH ## Devolve a tangente hiperbólica inversa de um número -CEILING = ARRED.EXCESSO ## Arredonda um número para o número inteiro mais próximo ou para o múltiplo de significância mais próximo -COMBIN = COMBIN ## Devolve o número de combinações de um determinado número de objectos -COS = COS ## Devolve o co-seno de um número -COSH = COSH ## Devolve o co-seno hiperbólico de um número -DEGREES = GRAUS ## Converte radianos em graus -EVEN = PAR ## Arredonda um número por excesso para o número inteiro mais próximo -EXP = EXP ## Devolve e elevado à potência de um determinado número -FACT = FACTORIAL ## Devolve o factorial de um número -FACTDOUBLE = FACTDUPLO ## Devolve o factorial duplo de um número -FLOOR = ARRED.DEFEITO ## Arredonda um número por defeito até zero -GCD = MDC ## Devolve o maior divisor comum -INT = INT ## Arredonda um número por defeito para o número inteiro mais próximo -LCM = MMC ## Devolve o mínimo múltiplo comum -LN = LN ## Devolve o logaritmo natural de um número -LOG = LOG ## Devolve o logaritmo de um número com uma base especificada -LOG10 = LOG10 ## Devolve o logaritmo de base 10 de um número -MDETERM = MATRIZ.DETERM ## Devolve o determinante matricial de uma matriz -MINVERSE = MATRIZ.INVERSA ## Devolve o inverso matricial de uma matriz -MMULT = MATRIZ.MULT ## Devolve o produto matricial de duas matrizes -MOD = RESTO ## Devolve o resto da divisão -MROUND = MARRED ## Devolve um número arredondado para o múltiplo pretendido -MULTINOMIAL = POLINOMIAL ## Devolve o polinomial de um conjunto de números -ODD = ÍMPAR ## Arredonda por excesso um número para o número inteiro ímpar mais próximo -PI = PI ## Devolve o valor de pi -POWER = POTÊNCIA ## Devolve o resultado de um número elevado a uma potência -PRODUCT = PRODUTO ## Multiplica os respectivos argumentos -QUOTIENT = QUOCIENTE ## Devolve a parte inteira de uma divisão -RADIANS = RADIANOS ## Converte graus em radianos -RAND = ALEATÓRIO ## Devolve um número aleatório entre 0 e 1 -RANDBETWEEN = ALEATÓRIOENTRE ## Devolve um número aleatório entre os números especificados -ROMAN = ROMANO ## Converte um número árabe em romano, como texto -ROUND = ARRED ## Arredonda um número para um número de dígitos especificado -ROUNDDOWN = ARRED.PARA.BAIXO ## Arredonda um número por defeito até zero -ROUNDUP = ARRED.PARA.CIMA ## Arredonda um número por excesso, afastando-o de zero -SERIESSUM = SOMASÉRIE ## Devolve a soma de uma série de potências baseada na fórmula -SIGN = SINAL ## Devolve o sinal de um número -SIN = SEN ## Devolve o seno de um determinado ângulo -SINH = SENH ## Devolve o seno hiperbólico de um número -SQRT = RAIZQ ## Devolve uma raiz quadrada positiva -SQRTPI = RAIZPI ## Devolve a raiz quadrada de (núm * pi) -SUBTOTAL = SUBTOTAL ## Devolve um subtotal numa lista ou base de dados -SUM = SOMA ## Adiciona os respectivos argumentos -SUMIF = SOMA.SE ## Adiciona as células especificadas por um determinado critério -SUMIFS = SOMA.SE.S ## Adiciona as células num intervalo que cumpre vários critérios -SUMPRODUCT = SOMARPRODUTO ## Devolve a soma dos produtos de componentes de matrizes correspondentes -SUMSQ = SOMARQUAD ## Devolve a soma dos quadrados dos argumentos -SUMX2MY2 = SOMAX2DY2 ## Devolve a soma da diferença dos quadrados dos valores correspondentes em duas matrizes -SUMX2PY2 = SOMAX2SY2 ## Devolve a soma da soma dos quadrados dos valores correspondentes em duas matrizes -SUMXMY2 = SOMAXMY2 ## Devolve a soma dos quadrados da diferença dos valores correspondentes em duas matrizes -TAN = TAN ## Devolve a tangente de um número -TANH = TANH ## Devolve a tangente hiperbólica de um número -TRUNC = TRUNCAR ## Trunca um número para um número inteiro - - -## -## Statistical functions Funções estatísticas -## -AVEDEV = DESV.MÉDIO ## Devolve a média aritmética dos desvios absolutos à média dos pontos de dados -AVERAGE = MÉDIA ## Devolve a média dos respectivos argumentos -AVERAGEA = MÉDIAA ## Devolve uma média dos respectivos argumentos, incluindo números, texto e valores lógicos -AVERAGEIF = MÉDIA.SE ## Devolve a média aritmética de todas as células num intervalo que cumprem determinado critério -AVERAGEIFS = MÉDIA.SE.S ## Devolve a média aritmética de todas as células que cumprem múltiplos critérios -BETADIST = DISTBETA ## Devolve a função de distribuição cumulativa beta -BETAINV = BETA.ACUM.INV ## Devolve o inverso da função de distribuição cumulativa relativamente a uma distribuição beta específica -BINOMDIST = DISTRBINOM ## Devolve a probabilidade de distribuição binomial de termo individual -CHIDIST = DIST.CHI ## Devolve a probabilidade unicaudal da distribuição qui-quadrada -CHIINV = INV.CHI ## Devolve o inverso da probabilidade unicaudal da distribuição qui-quadrada -CHITEST = TESTE.CHI ## Devolve o teste para independência -CONFIDENCE = INT.CONFIANÇA ## Devolve o intervalo de confiança correspondente a uma média de população -CORREL = CORREL ## Devolve o coeficiente de correlação entre dois conjuntos de dados -COUNT = CONTAR ## Conta os números que existem na lista de argumentos -COUNTA = CONTAR.VAL ## Conta os valores que existem na lista de argumentos -COUNTBLANK = CONTAR.VAZIO ## Conta o número de células em branco num intervalo -COUNTIF = CONTAR.SE ## Calcula o número de células num intervalo que corresponde aos critérios determinados -COUNTIFS = CONTAR.SE.S ## Conta o número de células num intervalo que cumprem múltiplos critérios -COVAR = COVAR ## Devolve a covariância, que é a média dos produtos de desvios de pares -CRITBINOM = CRIT.BINOM ## Devolve o menor valor em que a distribuição binomial cumulativa é inferior ou igual a um valor de critério -DEVSQ = DESVQ ## Devolve a soma dos quadrados dos desvios -EXPONDIST = DISTEXPON ## Devolve a distribuição exponencial -FDIST = DISTF ## Devolve a distribuição da probabilidade F -FINV = INVF ## Devolve o inverso da distribuição da probabilidade F -FISHER = FISHER ## Devolve a transformação Fisher -FISHERINV = FISHERINV ## Devolve o inverso da transformação Fisher -FORECAST = PREVISÃO ## Devolve um valor ao longo de uma tendência linear -FREQUENCY = FREQUÊNCIA ## Devolve uma distribuição de frequência como uma matriz vertical -FTEST = TESTEF ## Devolve o resultado de um teste F -GAMMADIST = DISTGAMA ## Devolve a distribuição gama -GAMMAINV = INVGAMA ## Devolve o inverso da distribuição gama cumulativa -GAMMALN = LNGAMA ## Devolve o logaritmo natural da função gama, Γ(x) -GEOMEAN = MÉDIA.GEOMÉTRICA ## Devolve a média geométrica -GROWTH = CRESCIMENTO ## Devolve valores ao longo de uma tendência exponencial -HARMEAN = MÉDIA.HARMÓNICA ## Devolve a média harmónica -HYPGEOMDIST = DIST.HIPERGEOM ## Devolve a distribuição hipergeométrica -INTERCEPT = INTERCEPTAR ## Devolve a intercepção da linha de regressão linear -KURT = CURT ## Devolve a curtose de um conjunto de dados -LARGE = MAIOR ## Devolve o maior valor k-ésimo de um conjunto de dados -LINEST = PROJ.LIN ## Devolve os parâmetros de uma tendência linear -LOGEST = PROJ.LOG ## Devolve os parâmetros de uma tendência exponencial -LOGINV = INVLOG ## Devolve o inverso da distribuição normal logarítmica -LOGNORMDIST = DIST.NORMALLOG ## Devolve a distribuição normal logarítmica cumulativa -MAX = MÁXIMO ## Devolve o valor máximo numa lista de argumentos -MAXA = MÁXIMOA ## Devolve o valor máximo numa lista de argumentos, incluindo números, texto e valores lógicos -MEDIAN = MED ## Devolve a mediana dos números indicados -MIN = MÍNIMO ## Devolve o valor mínimo numa lista de argumentos -MINA = MÍNIMOA ## Devolve o valor mínimo numa lista de argumentos, incluindo números, texto e valores lógicos -MODE = MODA ## Devolve o valor mais comum num conjunto de dados -NEGBINOMDIST = DIST.BIN.NEG ## Devolve a distribuição binominal negativa -NORMDIST = DIST.NORM ## Devolve a distribuição cumulativa normal -NORMINV = INV.NORM ## Devolve o inverso da distribuição cumulativa normal -NORMSDIST = DIST.NORMP ## Devolve a distribuição cumulativa normal padrão -NORMSINV = INV.NORMP ## Devolve o inverso da distribuição cumulativa normal padrão -PEARSON = PEARSON ## Devolve o coeficiente de correlação momento/produto de Pearson -PERCENTILE = PERCENTIL ## Devolve o k-ésimo percentil de valores num intervalo -PERCENTRANK = ORDEM.PERCENTUAL ## Devolve a ordem percentual de um valor num conjunto de dados -PERMUT = PERMUTAR ## Devolve o número de permutações de um determinado número de objectos -POISSON = POISSON ## Devolve a distribuição de Poisson -PROB = PROB ## Devolve a probabilidade dos valores num intervalo se encontrarem entre dois limites -QUARTILE = QUARTIL ## Devolve o quartil de um conjunto de dados -RANK = ORDEM ## Devolve a ordem de um número numa lista numérica -RSQ = RQUAD ## Devolve o quadrado do coeficiente de correlação momento/produto de Pearson -SKEW = DISTORÇÃO ## Devolve a distorção de uma distribuição -SLOPE = DECLIVE ## Devolve o declive da linha de regressão linear -SMALL = MENOR ## Devolve o menor valor de k-ésimo de um conjunto de dados -STANDARDIZE = NORMALIZAR ## Devolve um valor normalizado -STDEV = DESVPAD ## Calcula o desvio-padrão com base numa amostra -STDEVA = DESVPADA ## Calcula o desvio-padrão com base numa amostra, incluindo números, texto e valores lógicos -STDEVP = DESVPADP ## Calcula o desvio-padrão com base na população total -STDEVPA = DESVPADPA ## Calcula o desvio-padrão com base na população total, incluindo números, texto e valores lógicos -STEYX = EPADYX ## Devolve o erro-padrão do valor de y previsto para cada x na regressão -TDIST = DISTT ## Devolve a distribuição t de Student -TINV = INVT ## Devolve o inverso da distribuição t de Student -TREND = TENDÊNCIA ## Devolve valores ao longo de uma tendência linear -TRIMMEAN = MÉDIA.INTERNA ## Devolve a média do interior de um conjunto de dados -TTEST = TESTET ## Devolve a probabilidade associada ao teste t de Student -VAR = VAR ## Calcula a variância com base numa amostra -VARA = VARA ## Calcula a variância com base numa amostra, incluindo números, texto e valores lógicos -VARP = VARP ## Calcula a variância com base na população total -VARPA = VARPA ## Calcula a variância com base na população total, incluindo números, texto e valores lógicos -WEIBULL = WEIBULL ## Devolve a distribuição Weibull -ZTEST = TESTEZ ## Devolve o valor de probabilidade unicaudal de um teste-z - - -## -## Text functions Funções de texto -## -ASC = ASC ## Altera letras ou katakana de largura total (byte duplo) numa cadeia de caracteres para caracteres de largura média (byte único) -BAHTTEXT = TEXTO.BAHT ## Converte um número em texto, utilizando o formato monetário ß (baht) -CHAR = CARÁCT ## Devolve o carácter especificado pelo número de código -CLEAN = LIMPAR ## Remove do texto todos os caracteres não imprimíveis -CODE = CÓDIGO ## Devolve um código numérico correspondente ao primeiro carácter numa cadeia de texto -CONCATENATE = CONCATENAR ## Agrupa vários itens de texto num único item de texto -DOLLAR = MOEDA ## Converte um número em texto, utilizando o formato monetário € (Euro) -EXACT = EXACTO ## Verifica se dois valores de texto são idênticos -FIND = LOCALIZAR ## Localiza um valor de texto dentro de outro (sensível às maiúsculas e minúsculas) -FINDB = LOCALIZARB ## Localiza um valor de texto dentro de outro (sensível às maiúsculas e minúsculas) -FIXED = FIXA ## Formata um número como texto com um número fixo de decimais -JIS = JIS ## Altera letras ou katakana de largura média (byte único) numa cadeia de caracteres para caracteres de largura total (byte duplo) -LEFT = ESQUERDA ## Devolve os caracteres mais à esquerda de um valor de texto -LEFTB = ESQUERDAB ## Devolve os caracteres mais à esquerda de um valor de texto -LEN = NÚM.CARACT ## Devolve o número de caracteres de uma cadeia de texto -LENB = NÚM.CARACTB ## Devolve o número de caracteres de uma cadeia de texto -LOWER = MINÚSCULAS ## Converte o texto em minúsculas -MID = SEG.TEXTO ## Devolve um número específico de caracteres de uma cadeia de texto, a partir da posição especificada -MIDB = SEG.TEXTOB ## Devolve um número específico de caracteres de uma cadeia de texto, a partir da posição especificada -PHONETIC = FONÉTICA ## Retira os caracteres fonéticos (furigana) de uma cadeia de texto -PROPER = INICIAL.MAIÚSCULA ## Coloca em maiúsculas a primeira letra de cada palavra de um valor de texto -REPLACE = SUBSTITUIR ## Substitui caracteres no texto -REPLACEB = SUBSTITUIRB ## Substitui caracteres no texto -REPT = REPETIR ## Repete texto um determinado número de vezes -RIGHT = DIREITA ## Devolve os caracteres mais à direita de um valor de texto -RIGHTB = DIREITAB ## Devolve os caracteres mais à direita de um valor de texto -SEARCH = PROCURAR ## Localiza um valor de texto dentro de outro (não sensível a maiúsculas e minúsculas) -SEARCHB = PROCURARB ## Localiza um valor de texto dentro de outro (não sensível a maiúsculas e minúsculas) -SUBSTITUTE = SUBST ## Substitui texto novo por texto antigo numa cadeia de texto -T = T ## Converte os respectivos argumentos em texto -TEXT = TEXTO ## Formata um número e converte-o em texto -TRIM = COMPACTAR ## Remove espaços do texto -UPPER = MAIÚSCULAS ## Converte texto em maiúsculas -VALUE = VALOR ## Converte um argumento de texto num número +## +## Add-in and Automation functions Funções de Suplemento e Automatização +## +GETPIVOTDATA = OBTERDADOSDIN ## Devolve dados armazenados num relatório de Tabela Dinâmica + + +## +## Cube functions Funções de cubo +## +CUBEKPIMEMBER = MEMBROKPICUBO ## Devolve o nome, propriedade e medição de um KPI (key performance indicator) e apresenta o nome e a propriedade na célula. Um KPI é uma medida quantificável, como, por exemplo, o lucro mensal bruto ou a rotatividade trimestral de pessoal, utilizada para monitorizar o desempenho de uma organização. +CUBEMEMBER = MEMBROCUBO ## Devolve um membro ou cadeia de identificação numa hierarquia de cubo. Utilizada para validar a existência do membro ou cadeia de identificação no cubo. +CUBEMEMBERPROPERTY = PROPRIEDADEMEMBROCUBO ## Devolve o valor de uma propriedade de membro no cubo. Utilizada para validar a existência de um nome de membro no cubo e para devolver a propriedade especificada para esse membro. +CUBERANKEDMEMBER = MEMBROCLASSIFICADOCUBO ## Devolve o enésimo ou a classificação mais alta num conjunto. Utilizada para devolver um ou mais elementos num conjunto, tal como o melhor vendedor ou os 10 melhores alunos. +CUBESET = CONJUNTOCUBO ## Define um conjunto calculado de membros ou cadeias de identificação enviando uma expressão de conjunto para o cubo no servidor, que cria o conjunto e, em seguida, devolve o conjunto ao Microsoft Office Excel. +CUBESETCOUNT = CONTARCONJUNTOCUBO ## Devolve o número de itens num conjunto. +CUBEVALUE = VALORCUBO ## Devolve um valor agregado do cubo. + + +## +## Database functions Funções de base de dados +## +DAVERAGE = BDMÉDIA ## Devolve a média das entradas da base de dados seleccionadas +DCOUNT = BDCONTAR ## Conta as células que contêm números numa base de dados +DCOUNTA = BDCONTAR.VAL ## Conta as células que não estejam em branco numa base de dados +DGET = BDOBTER ## Extrai de uma base de dados um único registo que corresponde aos critérios especificados +DMAX = BDMÁX ## Devolve o valor máximo das entradas da base de dados seleccionadas +DMIN = BDMÍN ## Devolve o valor mínimo das entradas da base de dados seleccionadas +DPRODUCT = BDMULTIPL ## Multiplica os valores de um determinado campo de registos que correspondem aos critérios numa base de dados +DSTDEV = BDDESVPAD ## Calcula o desvio-padrão com base numa amostra de entradas da base de dados seleccionadas +DSTDEVP = BDDESVPADP ## Calcula o desvio-padrão com base na população total das entradas da base de dados seleccionadas +DSUM = BDSOMA ## Adiciona os números na coluna de campo dos registos de base de dados que correspondem aos critérios +DVAR = BDVAR ## Calcula a variância com base numa amostra das entradas de base de dados seleccionadas +DVARP = BDVARP ## Calcula a variância com base na população total das entradas de base de dados seleccionadas + + +## +## Date and time functions Funções de data e hora +## +DATE = DATA ## Devolve o número de série de uma determinada data +DATEVALUE = DATA.VALOR ## Converte uma data em forma de texto num número de série +DAY = DIA ## Converte um número de série num dia do mês +DAYS360 = DIAS360 ## Calcula o número de dias entre duas datas com base num ano com 360 dias +EDATE = DATAM ## Devolve um número de série de data que corresponde ao número de meses indicado antes ou depois da data de início +EOMONTH = FIMMÊS ## Devolve o número de série do último dia do mês antes ou depois de um número de meses especificado +HOUR = HORA ## Converte um número de série numa hora +MINUTE = MINUTO ## Converte um número de série num minuto +MONTH = MÊS ## Converte um número de série num mês +NETWORKDAYS = DIATRABALHOTOTAL ## Devolve o número total de dias úteis entre duas datas +NOW = AGORA ## Devolve o número de série da data e hora actuais +SECOND = SEGUNDO ## Converte um número de série num segundo +TIME = TEMPO ## Devolve o número de série de um determinado tempo +TIMEVALUE = VALOR.TEMPO ## Converte um tempo em forma de texto num número de série +TODAY = HOJE ## Devolve o número de série da data actual +WEEKDAY = DIA.SEMANA ## Converte um número de série num dia da semana +WEEKNUM = NÚMSEMANA ## Converte um número de série num número que representa o número da semana num determinado ano +WORKDAY = DIA.TRABALHO ## Devolve o número de série da data antes ou depois de um número de dias úteis especificado +YEAR = ANO ## Converte um número de série num ano +YEARFRAC = FRACÇÃOANO ## Devolve a fracção de ano que representa o número de dias inteiros entre a data_de_início e a data_de_fim + + +## +## Engineering functions Funções de engenharia +## +BESSELI = BESSELI ## Devolve a função de Bessel modificada In(x) +BESSELJ = BESSELJ ## Devolve a função de Bessel Jn(x) +BESSELK = BESSELK ## Devolve a função de Bessel modificada Kn(x) +BESSELY = BESSELY ## Devolve a função de Bessel Yn(x) +BIN2DEC = BINADEC ## Converte um número binário em decimal +BIN2HEX = BINAHEX ## Converte um número binário em hexadecimal +BIN2OCT = BINAOCT ## Converte um número binário em octal +COMPLEX = COMPLEXO ## Converte coeficientes reais e imaginários num número complexo +CONVERT = CONVERTER ## Converte um número de um sistema de medida noutro +DEC2BIN = DECABIN ## Converte um número decimal em binário +DEC2HEX = DECAHEX ## Converte um número decimal em hexadecimal +DEC2OCT = DECAOCT ## Converte um número decimal em octal +DELTA = DELTA ## Testa se dois valores são iguais +ERF = FUNCERRO ## Devolve a função de erro +ERFC = FUNCERROCOMPL ## Devolve a função de erro complementar +GESTEP = DEGRAU ## Testa se um número é maior do que um valor limite +HEX2BIN = HEXABIN ## Converte um número hexadecimal em binário +HEX2DEC = HEXADEC ## Converte um número hexadecimal em decimal +HEX2OCT = HEXAOCT ## Converte um número hexadecimal em octal +IMABS = IMABS ## Devolve o valor absoluto (módulo) de um número complexo +IMAGINARY = IMAGINÁRIO ## Devolve o coeficiente imaginário de um número complexo +IMARGUMENT = IMARG ## Devolve o argumento Teta, um ângulo expresso em radianos +IMCONJUGATE = IMCONJ ## Devolve o conjugado complexo de um número complexo +IMCOS = IMCOS ## Devolve o co-seno de um número complexo +IMDIV = IMDIV ## Devolve o quociente de dois números complexos +IMEXP = IMEXP ## Devolve o exponencial de um número complexo +IMLN = IMLN ## Devolve o logaritmo natural de um número complexo +IMLOG10 = IMLOG10 ## Devolve o logaritmo de base 10 de um número complexo +IMLOG2 = IMLOG2 ## Devolve o logaritmo de base 2 de um número complexo +IMPOWER = IMPOT ## Devolve um número complexo elevado a uma potência inteira +IMPRODUCT = IMPROD ## Devolve o produto de números complexos +IMREAL = IMREAL ## Devolve o coeficiente real de um número complexo +IMSIN = IMSENO ## Devolve o seno de um número complexo +IMSQRT = IMRAIZ ## Devolve a raiz quadrada de um número complexo +IMSUB = IMSUBTR ## Devolve a diferença entre dois números complexos +IMSUM = IMSOMA ## Devolve a soma de números complexos +OCT2BIN = OCTABIN ## Converte um número octal em binário +OCT2DEC = OCTADEC ## Converte um número octal em decimal +OCT2HEX = OCTAHEX ## Converte um número octal em hexadecimal + + +## +## Financial functions Funções financeiras +## +ACCRINT = JUROSACUM ## Devolve os juros acumulados de um título que paga juros periódicos +ACCRINTM = JUROSACUMV ## Devolve os juros acumulados de um título que paga juros no vencimento +AMORDEGRC = AMORDEGRC ## Devolve a depreciação correspondente a cada período contabilístico utilizando um coeficiente de depreciação +AMORLINC = AMORLINC ## Devolve a depreciação correspondente a cada período contabilístico +COUPDAYBS = CUPDIASINLIQ ## Devolve o número de dias entre o início do período do cupão e a data de regularização +COUPDAYS = CUPDIAS ## Devolve o número de dias no período do cupão que contém a data de regularização +COUPDAYSNC = CUPDIASPRÓX ## Devolve o número de dias entre a data de regularização e a data do cupão seguinte +COUPNCD = CUPDATAPRÓX ## Devolve a data do cupão seguinte após a data de regularização +COUPNUM = CUPNÚM ## Devolve o número de cupões a serem pagos entre a data de regularização e a data de vencimento +COUPPCD = CUPDATAANT ## Devolve a data do cupão anterior antes da data de regularização +CUMIPMT = PGTOJURACUM ## Devolve os juros cumulativos pagos entre dois períodos +CUMPRINC = PGTOCAPACUM ## Devolve o capital cumulativo pago a título de empréstimo entre dois períodos +DB = BD ## Devolve a depreciação de um activo relativo a um período especificado utilizando o método das quotas degressivas fixas +DDB = BDD ## Devolve a depreciação de um activo relativo a um período especificado utilizando o método das quotas degressivas duplas ou qualquer outro método especificado +DISC = DESC ## Devolve a taxa de desconto de um título +DOLLARDE = MOEDADEC ## Converte um preço em unidade monetária, expresso como uma fracção, num preço em unidade monetária, expresso como um número decimal +DOLLARFR = MOEDAFRA ## Converte um preço em unidade monetária, expresso como um número decimal, num preço em unidade monetária, expresso como uma fracção +DURATION = DURAÇÃO ## Devolve a duração anual de um título com pagamentos de juros periódicos +EFFECT = EFECTIVA ## Devolve a taxa de juros anual efectiva +FV = VF ## Devolve o valor futuro de um investimento +FVSCHEDULE = VFPLANO ## Devolve o valor futuro de um capital inicial após a aplicação de uma série de taxas de juro compostas +INTRATE = TAXAJUROS ## Devolve a taxa de juros de um título investido na totalidade +IPMT = IPGTO ## Devolve o pagamento dos juros de um investimento durante um determinado período +IRR = TIR ## Devolve a taxa de rentabilidade interna para uma série de fluxos monetários +ISPMT = É.PGTO ## Calcula os juros pagos durante um período específico de um investimento +MDURATION = MDURAÇÃO ## Devolve a duração modificada de Macauley de um título com um valor de paridade equivalente a € 100 +MIRR = MTIR ## Devolve a taxa interna de rentabilidade em que os fluxos monetários positivos e negativos são financiados com taxas diferentes +NOMINAL = NOMINAL ## Devolve a taxa de juros nominal anual +NPER = NPER ## Devolve o número de períodos de um investimento +NPV = VAL ## Devolve o valor actual líquido de um investimento com base numa série de fluxos monetários periódicos e numa taxa de desconto +ODDFPRICE = PREÇOPRIMINC ## Devolve o preço por € 100 do valor nominal de um título com um período inicial incompleto +ODDFYIELD = LUCROPRIMINC ## Devolve o lucro de um título com um período inicial incompleto +ODDLPRICE = PREÇOÚLTINC ## Devolve o preço por € 100 do valor nominal de um título com um período final incompleto +ODDLYIELD = LUCROÚLTINC ## Devolve o lucro de um título com um período final incompleto +PMT = PGTO ## Devolve o pagamento periódico de uma anuidade +PPMT = PPGTO ## Devolve o pagamento sobre o capital de um investimento num determinado período +PRICE = PREÇO ## Devolve o preço por € 100 do valor nominal de um título que paga juros periódicos +PRICEDISC = PREÇODESC ## Devolve o preço por € 100 do valor nominal de um título descontado +PRICEMAT = PREÇOVENC ## Devolve o preço por € 100 do valor nominal de um título que paga juros no vencimento +PV = VA ## Devolve o valor actual de um investimento +RATE = TAXA ## Devolve a taxa de juros por período de uma anuidade +RECEIVED = RECEBER ## Devolve o montante recebido no vencimento de um título investido na totalidade +SLN = AMORT ## Devolve uma depreciação linear de um activo durante um período +SYD = AMORTD ## Devolve a depreciação por algarismos da soma dos anos de um activo durante um período especificado +TBILLEQ = OTN ## Devolve o lucro de um título equivalente a uma Obrigação do Tesouro +TBILLPRICE = OTNVALOR ## Devolve o preço por € 100 de valor nominal de uma Obrigação do Tesouro +TBILLYIELD = OTNLUCRO ## Devolve o lucro de uma Obrigação do Tesouro +VDB = BDV ## Devolve a depreciação de um activo relativo a um período específico ou parcial utilizando um método de quotas degressivas +XIRR = XTIR ## Devolve a taxa interna de rentabilidade de um plano de fluxos monetários que não seja necessariamente periódica +XNPV = XVAL ## Devolve o valor actual líquido de um plano de fluxos monetários que não seja necessariamente periódico +YIELD = LUCRO ## Devolve o lucro de um título que paga juros periódicos +YIELDDISC = LUCRODESC ## Devolve o lucro anual de um título emitido abaixo do valor nominal, por exemplo, uma Obrigação do Tesouro +YIELDMAT = LUCROVENC ## Devolve o lucro anual de um título que paga juros na data de vencimento + + +## +## Information functions Funções de informação +## +CELL = CÉL ## Devolve informações sobre a formatação, localização ou conteúdo de uma célula +ERROR.TYPE = TIPO.ERRO ## Devolve um número correspondente a um tipo de erro +INFO = INFORMAÇÃO ## Devolve informações sobre o ambiente de funcionamento actual +ISBLANK = É.CÉL.VAZIA ## Devolve VERDADEIRO se o valor estiver em branco +ISERR = É.ERROS ## Devolve VERDADEIRO se o valor for um valor de erro diferente de #N/D +ISERROR = É.ERRO ## Devolve VERDADEIRO se o valor for um valor de erro +ISEVEN = ÉPAR ## Devolve VERDADEIRO se o número for par +ISLOGICAL = É.LÓGICO ## Devolve VERDADEIRO se o valor for lógico +ISNA = É.NÃO.DISP ## Devolve VERDADEIRO se o valor for o valor de erro #N/D +ISNONTEXT = É.NÃO.TEXTO ## Devolve VERDADEIRO se o valor não for texto +ISNUMBER = É.NÚM ## Devolve VERDADEIRO se o valor for um número +ISODD = ÉÍMPAR ## Devolve VERDADEIRO se o número for ímpar +ISREF = É.REF ## Devolve VERDADEIRO se o valor for uma referência +ISTEXT = É.TEXTO ## Devolve VERDADEIRO se o valor for texto +N = N ## Devolve um valor convertido num número +NA = NÃO.DISP ## Devolve o valor de erro #N/D +TYPE = TIPO ## Devolve um número que indica o tipo de dados de um valor + + +## +## Logical functions Funções lógicas +## +AND = E ## Devolve VERDADEIRO se todos os respectivos argumentos corresponderem a VERDADEIRO +FALSE = FALSO ## Devolve o valor lógico FALSO +IF = SE ## Especifica um teste lógico a ser executado +IFERROR = SE.ERRO ## Devolve um valor definido pelo utilizador se ocorrer um erro na fórmula, e devolve o resultado da fórmula se não ocorrer nenhum erro +NOT = NÃO ## Inverte a lógica do respectivo argumento +OR = OU ## Devolve VERDADEIRO se qualquer argumento for VERDADEIRO +TRUE = VERDADEIRO ## Devolve o valor lógico VERDADEIRO + + +## +## Lookup and reference functions Funções de pesquisa e referência +## +ADDRESS = ENDEREÇO ## Devolve uma referência a uma única célula numa folha de cálculo como texto +AREAS = ÁREAS ## Devolve o número de áreas numa referência +CHOOSE = SELECCIONAR ## Selecciona um valor a partir de uma lista de valores +COLUMN = COL ## Devolve o número da coluna de uma referência +COLUMNS = COLS ## Devolve o número de colunas numa referência +HLOOKUP = PROCH ## Procura na linha superior de uma matriz e devolve o valor da célula indicada +HYPERLINK = HIPERLIGAÇÃO ## Cria um atalho ou hiperligação que abre um documento armazenado num servidor de rede, numa intranet ou na Internet +INDEX = ÍNDICE ## Utiliza um índice para escolher um valor de uma referência ou de uma matriz +INDIRECT = INDIRECTO ## Devolve uma referência indicada por um valor de texto +LOOKUP = PROC ## Procura valores num vector ou numa matriz +MATCH = CORRESP ## Procura valores numa referência ou numa matriz +OFFSET = DESLOCAMENTO ## Devolve o deslocamento de referência de uma determinada referência +ROW = LIN ## Devolve o número da linha de uma referência +ROWS = LINS ## Devolve o número de linhas numa referência +RTD = RTD ## Obtém dados em tempo real a partir de um programa que suporte automatização COM (automatização: modo de trabalhar com objectos de uma aplicação a partir de outra aplicação ou ferramenta de desenvolvimento. Anteriormente conhecida como automatização OLE, a automatização é uma norma da indústria de software e uma funcionalidade COM (Component Object Model).) +TRANSPOSE = TRANSPOR ## Devolve a transposição de uma matriz +VLOOKUP = PROCV ## Procura na primeira coluna de uma matriz e percorre a linha para devolver o valor de uma célula + + +## +## Math and trigonometry functions Funções matemáticas e trigonométricas +## +ABS = ABS ## Devolve o valor absoluto de um número +ACOS = ACOS ## Devolve o arco de co-seno de um número +ACOSH = ACOSH ## Devolve o co-seno hiperbólico inverso de um número +ASIN = ASEN ## Devolve o arco de seno de um número +ASINH = ASENH ## Devolve o seno hiperbólico inverso de um número +ATAN = ATAN ## Devolve o arco de tangente de um número +ATAN2 = ATAN2 ## Devolve o arco de tangente das coordenadas x e y +ATANH = ATANH ## Devolve a tangente hiperbólica inversa de um número +CEILING = ARRED.EXCESSO ## Arredonda um número para o número inteiro mais próximo ou para o múltiplo de significância mais próximo +COMBIN = COMBIN ## Devolve o número de combinações de um determinado número de objectos +COS = COS ## Devolve o co-seno de um número +COSH = COSH ## Devolve o co-seno hiperbólico de um número +DEGREES = GRAUS ## Converte radianos em graus +EVEN = PAR ## Arredonda um número por excesso para o número inteiro mais próximo +EXP = EXP ## Devolve e elevado à potência de um determinado número +FACT = FACTORIAL ## Devolve o factorial de um número +FACTDOUBLE = FACTDUPLO ## Devolve o factorial duplo de um número +FLOOR = ARRED.DEFEITO ## Arredonda um número por defeito até zero +GCD = MDC ## Devolve o maior divisor comum +INT = INT ## Arredonda um número por defeito para o número inteiro mais próximo +LCM = MMC ## Devolve o mínimo múltiplo comum +LN = LN ## Devolve o logaritmo natural de um número +LOG = LOG ## Devolve o logaritmo de um número com uma base especificada +LOG10 = LOG10 ## Devolve o logaritmo de base 10 de um número +MDETERM = MATRIZ.DETERM ## Devolve o determinante matricial de uma matriz +MINVERSE = MATRIZ.INVERSA ## Devolve o inverso matricial de uma matriz +MMULT = MATRIZ.MULT ## Devolve o produto matricial de duas matrizes +MOD = RESTO ## Devolve o resto da divisão +MROUND = MARRED ## Devolve um número arredondado para o múltiplo pretendido +MULTINOMIAL = POLINOMIAL ## Devolve o polinomial de um conjunto de números +ODD = ÍMPAR ## Arredonda por excesso um número para o número inteiro ímpar mais próximo +PI = PI ## Devolve o valor de pi +POWER = POTÊNCIA ## Devolve o resultado de um número elevado a uma potência +PRODUCT = PRODUTO ## Multiplica os respectivos argumentos +QUOTIENT = QUOCIENTE ## Devolve a parte inteira de uma divisão +RADIANS = RADIANOS ## Converte graus em radianos +RAND = ALEATÓRIO ## Devolve um número aleatório entre 0 e 1 +RANDBETWEEN = ALEATÓRIOENTRE ## Devolve um número aleatório entre os números especificados +ROMAN = ROMANO ## Converte um número árabe em romano, como texto +ROUND = ARRED ## Arredonda um número para um número de dígitos especificado +ROUNDDOWN = ARRED.PARA.BAIXO ## Arredonda um número por defeito até zero +ROUNDUP = ARRED.PARA.CIMA ## Arredonda um número por excesso, afastando-o de zero +SERIESSUM = SOMASÉRIE ## Devolve a soma de uma série de potências baseada na fórmula +SIGN = SINAL ## Devolve o sinal de um número +SIN = SEN ## Devolve o seno de um determinado ângulo +SINH = SENH ## Devolve o seno hiperbólico de um número +SQRT = RAIZQ ## Devolve uma raiz quadrada positiva +SQRTPI = RAIZPI ## Devolve a raiz quadrada de (núm * pi) +SUBTOTAL = SUBTOTAL ## Devolve um subtotal numa lista ou base de dados +SUM = SOMA ## Adiciona os respectivos argumentos +SUMIF = SOMA.SE ## Adiciona as células especificadas por um determinado critério +SUMIFS = SOMA.SE.S ## Adiciona as células num intervalo que cumpre vários critérios +SUMPRODUCT = SOMARPRODUTO ## Devolve a soma dos produtos de componentes de matrizes correspondentes +SUMSQ = SOMARQUAD ## Devolve a soma dos quadrados dos argumentos +SUMX2MY2 = SOMAX2DY2 ## Devolve a soma da diferença dos quadrados dos valores correspondentes em duas matrizes +SUMX2PY2 = SOMAX2SY2 ## Devolve a soma da soma dos quadrados dos valores correspondentes em duas matrizes +SUMXMY2 = SOMAXMY2 ## Devolve a soma dos quadrados da diferença dos valores correspondentes em duas matrizes +TAN = TAN ## Devolve a tangente de um número +TANH = TANH ## Devolve a tangente hiperbólica de um número +TRUNC = TRUNCAR ## Trunca um número para um número inteiro + + +## +## Statistical functions Funções estatísticas +## +AVEDEV = DESV.MÉDIO ## Devolve a média aritmética dos desvios absolutos à média dos pontos de dados +AVERAGE = MÉDIA ## Devolve a média dos respectivos argumentos +AVERAGEA = MÉDIAA ## Devolve uma média dos respectivos argumentos, incluindo números, texto e valores lógicos +AVERAGEIF = MÉDIA.SE ## Devolve a média aritmética de todas as células num intervalo que cumprem determinado critério +AVERAGEIFS = MÉDIA.SE.S ## Devolve a média aritmética de todas as células que cumprem múltiplos critérios +BETADIST = DISTBETA ## Devolve a função de distribuição cumulativa beta +BETAINV = BETA.ACUM.INV ## Devolve o inverso da função de distribuição cumulativa relativamente a uma distribuição beta específica +BINOMDIST = DISTRBINOM ## Devolve a probabilidade de distribuição binomial de termo individual +CHIDIST = DIST.CHI ## Devolve a probabilidade unicaudal da distribuição qui-quadrada +CHIINV = INV.CHI ## Devolve o inverso da probabilidade unicaudal da distribuição qui-quadrada +CHITEST = TESTE.CHI ## Devolve o teste para independência +CONFIDENCE = INT.CONFIANÇA ## Devolve o intervalo de confiança correspondente a uma média de população +CORREL = CORREL ## Devolve o coeficiente de correlação entre dois conjuntos de dados +COUNT = CONTAR ## Conta os números que existem na lista de argumentos +COUNTA = CONTAR.VAL ## Conta os valores que existem na lista de argumentos +COUNTBLANK = CONTAR.VAZIO ## Conta o número de células em branco num intervalo +COUNTIF = CONTAR.SE ## Calcula o número de células num intervalo que corresponde aos critérios determinados +COUNTIFS = CONTAR.SE.S ## Conta o número de células num intervalo que cumprem múltiplos critérios +COVAR = COVAR ## Devolve a covariância, que é a média dos produtos de desvios de pares +CRITBINOM = CRIT.BINOM ## Devolve o menor valor em que a distribuição binomial cumulativa é inferior ou igual a um valor de critério +DEVSQ = DESVQ ## Devolve a soma dos quadrados dos desvios +EXPONDIST = DISTEXPON ## Devolve a distribuição exponencial +FDIST = DISTF ## Devolve a distribuição da probabilidade F +FINV = INVF ## Devolve o inverso da distribuição da probabilidade F +FISHER = FISHER ## Devolve a transformação Fisher +FISHERINV = FISHERINV ## Devolve o inverso da transformação Fisher +FORECAST = PREVISÃO ## Devolve um valor ao longo de uma tendência linear +FREQUENCY = FREQUÊNCIA ## Devolve uma distribuição de frequência como uma matriz vertical +FTEST = TESTEF ## Devolve o resultado de um teste F +GAMMADIST = DISTGAMA ## Devolve a distribuição gama +GAMMAINV = INVGAMA ## Devolve o inverso da distribuição gama cumulativa +GAMMALN = LNGAMA ## Devolve o logaritmo natural da função gama, Γ(x) +GEOMEAN = MÉDIA.GEOMÉTRICA ## Devolve a média geométrica +GROWTH = CRESCIMENTO ## Devolve valores ao longo de uma tendência exponencial +HARMEAN = MÉDIA.HARMÓNICA ## Devolve a média harmónica +HYPGEOMDIST = DIST.HIPERGEOM ## Devolve a distribuição hipergeométrica +INTERCEPT = INTERCEPTAR ## Devolve a intercepção da linha de regressão linear +KURT = CURT ## Devolve a curtose de um conjunto de dados +LARGE = MAIOR ## Devolve o maior valor k-ésimo de um conjunto de dados +LINEST = PROJ.LIN ## Devolve os parâmetros de uma tendência linear +LOGEST = PROJ.LOG ## Devolve os parâmetros de uma tendência exponencial +LOGINV = INVLOG ## Devolve o inverso da distribuição normal logarítmica +LOGNORMDIST = DIST.NORMALLOG ## Devolve a distribuição normal logarítmica cumulativa +MAX = MÁXIMO ## Devolve o valor máximo numa lista de argumentos +MAXA = MÁXIMOA ## Devolve o valor máximo numa lista de argumentos, incluindo números, texto e valores lógicos +MEDIAN = MED ## Devolve a mediana dos números indicados +MIN = MÍNIMO ## Devolve o valor mínimo numa lista de argumentos +MINA = MÍNIMOA ## Devolve o valor mínimo numa lista de argumentos, incluindo números, texto e valores lógicos +MODE = MODA ## Devolve o valor mais comum num conjunto de dados +NEGBINOMDIST = DIST.BIN.NEG ## Devolve a distribuição binominal negativa +NORMDIST = DIST.NORM ## Devolve a distribuição cumulativa normal +NORMINV = INV.NORM ## Devolve o inverso da distribuição cumulativa normal +NORMSDIST = DIST.NORMP ## Devolve a distribuição cumulativa normal padrão +NORMSINV = INV.NORMP ## Devolve o inverso da distribuição cumulativa normal padrão +PEARSON = PEARSON ## Devolve o coeficiente de correlação momento/produto de Pearson +PERCENTILE = PERCENTIL ## Devolve o k-ésimo percentil de valores num intervalo +PERCENTRANK = ORDEM.PERCENTUAL ## Devolve a ordem percentual de um valor num conjunto de dados +PERMUT = PERMUTAR ## Devolve o número de permutações de um determinado número de objectos +POISSON = POISSON ## Devolve a distribuição de Poisson +PROB = PROB ## Devolve a probabilidade dos valores num intervalo se encontrarem entre dois limites +QUARTILE = QUARTIL ## Devolve o quartil de um conjunto de dados +RANK = ORDEM ## Devolve a ordem de um número numa lista numérica +RSQ = RQUAD ## Devolve o quadrado do coeficiente de correlação momento/produto de Pearson +SKEW = DISTORÇÃO ## Devolve a distorção de uma distribuição +SLOPE = DECLIVE ## Devolve o declive da linha de regressão linear +SMALL = MENOR ## Devolve o menor valor de k-ésimo de um conjunto de dados +STANDARDIZE = NORMALIZAR ## Devolve um valor normalizado +STDEV = DESVPAD ## Calcula o desvio-padrão com base numa amostra +STDEVA = DESVPADA ## Calcula o desvio-padrão com base numa amostra, incluindo números, texto e valores lógicos +STDEVP = DESVPADP ## Calcula o desvio-padrão com base na população total +STDEVPA = DESVPADPA ## Calcula o desvio-padrão com base na população total, incluindo números, texto e valores lógicos +STEYX = EPADYX ## Devolve o erro-padrão do valor de y previsto para cada x na regressão +TDIST = DISTT ## Devolve a distribuição t de Student +TINV = INVT ## Devolve o inverso da distribuição t de Student +TREND = TENDÊNCIA ## Devolve valores ao longo de uma tendência linear +TRIMMEAN = MÉDIA.INTERNA ## Devolve a média do interior de um conjunto de dados +TTEST = TESTET ## Devolve a probabilidade associada ao teste t de Student +VAR = VAR ## Calcula a variância com base numa amostra +VARA = VARA ## Calcula a variância com base numa amostra, incluindo números, texto e valores lógicos +VARP = VARP ## Calcula a variância com base na população total +VARPA = VARPA ## Calcula a variância com base na população total, incluindo números, texto e valores lógicos +WEIBULL = WEIBULL ## Devolve a distribuição Weibull +ZTEST = TESTEZ ## Devolve o valor de probabilidade unicaudal de um teste-z + + +## +## Text functions Funções de texto +## +ASC = ASC ## Altera letras ou katakana de largura total (byte duplo) numa cadeia de caracteres para caracteres de largura média (byte único) +BAHTTEXT = TEXTO.BAHT ## Converte um número em texto, utilizando o formato monetário ß (baht) +CHAR = CARÁCT ## Devolve o carácter especificado pelo número de código +CLEAN = LIMPAR ## Remove do texto todos os caracteres não imprimíveis +CODE = CÓDIGO ## Devolve um código numérico correspondente ao primeiro carácter numa cadeia de texto +CONCATENATE = CONCATENAR ## Agrupa vários itens de texto num único item de texto +DOLLAR = MOEDA ## Converte um número em texto, utilizando o formato monetário € (Euro) +EXACT = EXACTO ## Verifica se dois valores de texto são idênticos +FIND = LOCALIZAR ## Localiza um valor de texto dentro de outro (sensível às maiúsculas e minúsculas) +FINDB = LOCALIZARB ## Localiza um valor de texto dentro de outro (sensível às maiúsculas e minúsculas) +FIXED = FIXA ## Formata um número como texto com um número fixo de decimais +JIS = JIS ## Altera letras ou katakana de largura média (byte único) numa cadeia de caracteres para caracteres de largura total (byte duplo) +LEFT = ESQUERDA ## Devolve os caracteres mais à esquerda de um valor de texto +LEFTB = ESQUERDAB ## Devolve os caracteres mais à esquerda de um valor de texto +LEN = NÚM.CARACT ## Devolve o número de caracteres de uma cadeia de texto +LENB = NÚM.CARACTB ## Devolve o número de caracteres de uma cadeia de texto +LOWER = MINÚSCULAS ## Converte o texto em minúsculas +MID = SEG.TEXTO ## Devolve um número específico de caracteres de uma cadeia de texto, a partir da posição especificada +MIDB = SEG.TEXTOB ## Devolve um número específico de caracteres de uma cadeia de texto, a partir da posição especificada +PHONETIC = FONÉTICA ## Retira os caracteres fonéticos (furigana) de uma cadeia de texto +PROPER = INICIAL.MAIÚSCULA ## Coloca em maiúsculas a primeira letra de cada palavra de um valor de texto +REPLACE = SUBSTITUIR ## Substitui caracteres no texto +REPLACEB = SUBSTITUIRB ## Substitui caracteres no texto +REPT = REPETIR ## Repete texto um determinado número de vezes +RIGHT = DIREITA ## Devolve os caracteres mais à direita de um valor de texto +RIGHTB = DIREITAB ## Devolve os caracteres mais à direita de um valor de texto +SEARCH = PROCURAR ## Localiza um valor de texto dentro de outro (não sensível a maiúsculas e minúsculas) +SEARCHB = PROCURARB ## Localiza um valor de texto dentro de outro (não sensível a maiúsculas e minúsculas) +SUBSTITUTE = SUBST ## Substitui texto novo por texto antigo numa cadeia de texto +T = T ## Converte os respectivos argumentos em texto +TEXT = TEXTO ## Formata um número e converte-o em texto +TRIM = COMPACTAR ## Remove espaços do texto +UPPER = MAIÚSCULAS ## Converte texto em maiúsculas +VALUE = VALOR ## Converte um argumento de texto num número diff --git a/htdocs/includes/phpexcel/PHPExcel/locale/sv/functions b/htdocs/includes/phpexcel/PHPExcel/locale/sv/functions index 9af37d8e40104fbfb3109b1e6dd89ae342f96e2c..73b2deb5eb29e4f4c4d8c34c92fc38569d62376c 100644 --- a/htdocs/includes/phpexcel/PHPExcel/locale/sv/functions +++ b/htdocs/includes/phpexcel/PHPExcel/locale/sv/functions @@ -1,408 +1,408 @@ -## -## Add-in and Automation functions Tilläggs- och automatiseringsfunktioner -## -GETPIVOTDATA = HÄMTA.PIVOTDATA ## Returnerar data som lagrats i en pivottabellrapport - - -## -## Cube functions Kubfunktioner -## -CUBEKPIMEMBER = KUBKPIMEDLEM ## Returnerar namn, egenskap och mått för en KPI och visar namnet och egenskapen i cellen. En KPI, eller prestandaindikator, är ett kvantifierbart mått, t.ex. månatlig bruttovinst eller personalomsättning per kvartal, som används för att analysera ett företags resultat. -CUBEMEMBER = KUBMEDLEM ## Returnerar en medlem eller ett par i en kubhierarki. Används för att verifiera att medlemmen eller paret finns i kuben. -CUBEMEMBERPROPERTY = KUBMEDLEMSEGENSKAP ## Returnerar värdet för en medlemsegenskap i kuben. Används för att verifiera att ett medlemsnamn finns i kuben, samt för att returnera den angivna egenskapen för medlemmen. -CUBERANKEDMEMBER = KUBRANGORDNADMEDLEM ## Returnerar den n:te, eller rangordnade, medlemmen i en uppsättning. Används för att returnera ett eller flera element i en uppsättning, till exempelvis den bästa försäljaren eller de tio bästa eleverna. -CUBESET = KUBINSTÄLLNING ## Definierar en beräknad uppsättning medlemmar eller par genom att skicka ett bestämt uttryck till kuben på servern, som skapar uppsättningen och sedan returnerar den till Microsoft Office Excel. -CUBESETCOUNT = KUBINSTÄLLNINGANTAL ## Returnerar antalet objekt i en uppsättning. -CUBEVALUE = KUBVÄRDE ## Returnerar ett mängdvärde från en kub. - - -## -## Database functions Databasfunktioner -## -DAVERAGE = DMEDEL ## Returnerar medelvärdet av databasposterna -DCOUNT = DANTAL ## Räknar antalet celler som innehåller tal i en databas -DCOUNTA = DANTALV ## Räknar ifyllda celler i en databas -DGET = DHÄMTA ## Hämtar en enstaka post från en databas som uppfyller de angivna villkoren -DMAX = DMAX ## Returnerar det största värdet från databasposterna -DMIN = DMIN ## Returnerar det minsta värdet från databasposterna -DPRODUCT = DPRODUKT ## Multiplicerar värdena i ett visst fält i poster som uppfyller villkoret -DSTDEV = DSTDAV ## Uppskattar standardavvikelsen baserat på ett urval av databasposterna -DSTDEVP = DSTDAVP ## Beräknar standardavvikelsen utifrån hela populationen av valda databasposter -DSUM = DSUMMA ## Summerar talen i kolumnfält i databasposter som uppfyller villkoret -DVAR = DVARIANS ## Uppskattar variansen baserat på ett urval av databasposterna -DVARP = DVARIANSP ## Beräknar variansen utifrån hela populationen av valda databasposter - - -## -## Date and time functions Tid- och datumfunktioner -## -DATE = DATUM ## Returnerar ett serienummer för ett visst datum -DATEVALUE = DATUMVÄRDE ## Konverterar ett datum i textformat till ett serienummer -DAY = DAG ## Konverterar ett serienummer till dag i månaden -DAYS360 = DAGAR360 ## Beräknar antalet dagar mellan två datum baserat på ett 360-dagarsår -EDATE = EDATUM ## Returnerar serienumret för ett datum som infaller ett visst antal månader före eller efter startdatumet -EOMONTH = SLUTMÅNAD ## Returnerar serienumret för sista dagen i månaden ett visst antal månader tidigare eller senare -HOUR = TIMME ## Konverterar ett serienummer till en timme -MINUTE = MINUT ## Konverterar ett serienummer till en minut -MONTH = MÅNAD ## Konverterar ett serienummer till en månad -NETWORKDAYS = NETTOARBETSDAGAR ## Returnerar antalet hela arbetsdagar mellan två datum -NOW = NU ## Returnerar serienumret för dagens datum och aktuell tid -SECOND = SEKUND ## Konverterar ett serienummer till en sekund -TIME = KLOCKSLAG ## Returnerar serienumret för en viss tid -TIMEVALUE = TIDVÄRDE ## Konverterar en tid i textformat till ett serienummer -TODAY = IDAG ## Returnerar serienumret för dagens datum -WEEKDAY = VECKODAG ## Konverterar ett serienummer till en dag i veckan -WEEKNUM = VECKONR ## Konverterar ett serienummer till ett veckonummer -WORKDAY = ARBETSDAGAR ## Returnerar serienumret för ett datum ett visst antal arbetsdagar tidigare eller senare -YEAR = ÅR ## Konverterar ett serienummer till ett år -YEARFRAC = ÅRDEL ## Returnerar en del av ett år som representerar antalet hela dagar mellan start- och slutdatum - - -## -## Engineering functions Tekniska funktioner -## -BESSELI = BESSELI ## Returnerar den modifierade Bessel-funktionen In(x) -BESSELJ = BESSELJ ## Returnerar Bessel-funktionen Jn(x) -BESSELK = BESSELK ## Returnerar den modifierade Bessel-funktionen Kn(x) -BESSELY = BESSELY ## Returnerar Bessel-funktionen Yn(x) -BIN2DEC = BIN.TILL.DEC ## Omvandlar ett binärt tal till decimalt -BIN2HEX = BIN.TILL.HEX ## Omvandlar ett binärt tal till hexadecimalt -BIN2OCT = BIN.TILL.OKT ## Omvandlar ett binärt tal till oktalt -COMPLEX = KOMPLEX ## Omvandlar reella och imaginära koefficienter till ett komplext tal -CONVERT = KONVERTERA ## Omvandlar ett tal från ett måttsystem till ett annat -DEC2BIN = DEC.TILL.BIN ## Omvandlar ett decimalt tal till binärt -DEC2HEX = DEC.TILL.HEX ## Omvandlar ett decimalt tal till hexadecimalt -DEC2OCT = DEC.TILL.OKT ## Omvandlar ett decimalt tal till oktalt -DELTA = DELTA ## Testar om två värden är lika -ERF = FELF ## Returnerar felfunktionen -ERFC = FELFK ## Returnerar den komplementära felfunktionen -GESTEP = SLSTEG ## Testar om ett tal är större än ett tröskelvärde -HEX2BIN = HEX.TILL.BIN ## Omvandlar ett hexadecimalt tal till binärt -HEX2DEC = HEX.TILL.DEC ## Omvandlar ett hexadecimalt tal till decimalt -HEX2OCT = HEX.TILL.OKT ## Omvandlar ett hexadecimalt tal till oktalt -IMABS = IMABS ## Returnerar absolutvärdet (modulus) för ett komplext tal -IMAGINARY = IMAGINÄR ## Returnerar den imaginära koefficienten för ett komplext tal -IMARGUMENT = IMARGUMENT ## Returnerar det komplexa talets argument, en vinkel uttryckt i radianer -IMCONJUGATE = IMKONJUGAT ## Returnerar det komplexa talets konjugat -IMCOS = IMCOS ## Returnerar cosinus för ett komplext tal -IMDIV = IMDIV ## Returnerar kvoten för två komplexa tal -IMEXP = IMEUPPHÖJT ## Returnerar exponenten för ett komplext tal -IMLN = IMLN ## Returnerar den naturliga logaritmen för ett komplext tal -IMLOG10 = IMLOG10 ## Returnerar 10-logaritmen för ett komplext tal -IMLOG2 = IMLOG2 ## Returnerar 2-logaritmen för ett komplext tal -IMPOWER = IMUPPHÖJT ## Returnerar ett komplext tal upphöjt till en exponent -IMPRODUCT = IMPRODUKT ## Returnerar produkten av komplexa tal -IMREAL = IMREAL ## Returnerar den reella koefficienten för ett komplext tal -IMSIN = IMSIN ## Returnerar sinus för ett komplext tal -IMSQRT = IMROT ## Returnerar kvadratroten av ett komplext tal -IMSUB = IMDIFF ## Returnerar differensen mellan två komplexa tal -IMSUM = IMSUM ## Returnerar summan av komplexa tal -OCT2BIN = OKT.TILL.BIN ## Omvandlar ett oktalt tal till binärt -OCT2DEC = OKT.TILL.DEC ## Omvandlar ett oktalt tal till decimalt -OCT2HEX = OKT.TILL.HEX ## Omvandlar ett oktalt tal till hexadecimalt - - -## -## Financial functions Finansiella funktioner -## -ACCRINT = UPPLRÄNTA ## Returnerar den upplupna räntan för värdepapper med periodisk ränta -ACCRINTM = UPPLOBLRÄNTA ## Returnerar den upplupna räntan för ett värdepapper som ger avkastning på förfallodagen -AMORDEGRC = AMORDEGRC ## Returnerar avskrivningen för varje redovisningsperiod med hjälp av en avskrivningskoefficient -AMORLINC = AMORLINC ## Returnerar avskrivningen för varje redovisningsperiod -COUPDAYBS = KUPDAGBB ## Returnerar antal dagar från början av kupongperioden till likviddagen -COUPDAYS = KUPDAGARS ## Returnerar antalet dagar i kupongperioden som innehåller betalningsdatumet -COUPDAYSNC = KUPDAGNK ## Returnerar antalet dagar från betalningsdatumet till nästa kupongdatum -COUPNCD = KUPNKD ## Returnerar nästa kupongdatum efter likviddagen -COUPNUM = KUPANT ## Returnerar kuponger som förfaller till betalning mellan likviddagen och förfallodagen -COUPPCD = KUPFKD ## Returnerar föregående kupongdatum före likviddagen -CUMIPMT = KUMRÄNTA ## Returnerar den ackumulerade räntan som betalats mellan två perioder -CUMPRINC = KUMPRIS ## Returnerar det ackumulerade kapitalbeloppet som betalats på ett lån mellan två perioder -DB = DB ## Returnerar avskrivningen för en tillgång under en angiven tid enligt metoden för fast degressiv avskrivning -DDB = DEGAVSKR ## Returnerar en tillgångs värdeminskning under en viss period med hjälp av dubbel degressiv avskrivning eller någon annan metod som du anger -DISC = DISK ## Returnerar diskonteringsräntan för ett värdepapper -DOLLARDE = DECTAL ## Omvandlar ett pris uttryckt som ett bråk till ett decimaltal -DOLLARFR = BRÅK ## Omvandlar ett pris i kronor uttryckt som ett decimaltal till ett bråk -DURATION = LÖPTID ## Returnerar den årliga löptiden för en säkerhet med periodiska räntebetalningar -EFFECT = EFFRÄNTA ## Returnerar den årliga effektiva räntesatsen -FV = SLUTVÄRDE ## Returnerar det framtida värdet på en investering -FVSCHEDULE = FÖRRÄNTNING ## Returnerar det framtida värdet av ett begynnelsekapital beräknat på olika räntenivåer -INTRATE = ÅRSRÄNTA ## Returnerar räntesatsen för ett betalt värdepapper -IPMT = RBETALNING ## Returnerar räntedelen av en betalning för en given period -IRR = IR ## Returnerar internräntan för en serie betalningar -ISPMT = RALÅN ## Beräknar räntan som har betalats under en specifik betalningsperiod -MDURATION = MLÖPTID ## Returnerar den modifierade Macauley-löptiden för ett värdepapper med det antagna nominella värdet 100 kr -MIRR = MODIR ## Returnerar internräntan där positiva och negativa betalningar finansieras med olika räntor -NOMINAL = NOMRÄNTA ## Returnerar den årliga nominella räntesatsen -NPER = PERIODER ## Returnerar antalet perioder för en investering -NPV = NETNUVÄRDE ## Returnerar nuvärdet av en serie periodiska betalningar vid en given diskonteringsränta -ODDFPRICE = UDDAFPRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper med en udda första period -ODDFYIELD = UDDAFAVKASTNING ## Returnerar avkastningen för en säkerhet med en udda första period -ODDLPRICE = UDDASPRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper med en udda sista period -ODDLYIELD = UDDASAVKASTNING ## Returnerar avkastningen för en säkerhet med en udda sista period -PMT = BETALNING ## Returnerar den periodiska betalningen för en annuitet -PPMT = AMORT ## Returnerar amorteringsdelen av en annuitetsbetalning för en given period -PRICE = PRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper som ger periodisk ränta -PRICEDISC = PRISDISK ## Returnerar priset per 100 kr nominellt värde för ett diskonterat värdepapper -PRICEMAT = PRISFÖRF ## Returnerar priset per 100 kr nominellt värde för ett värdepapper som ger ränta på förfallodagen -PV = PV ## Returnerar nuvärdet av en serie lika stora periodiska betalningar -RATE = RÄNTA ## Returnerar räntesatsen per period i en annuitet -RECEIVED = BELOPP ## Returnerar beloppet som utdelas på förfallodagen för ett betalat värdepapper -SLN = LINAVSKR ## Returnerar den linjära avskrivningen för en tillgång under en period -SYD = ÅRSAVSKR ## Returnerar den årliga avskrivningssumman för en tillgång under en angiven period -TBILLEQ = SSVXEKV ## Returnerar avkastningen motsvarande en obligation för en statsskuldväxel -TBILLPRICE = SSVXPRIS ## Returnerar priset per 100 kr nominellt värde för en statsskuldväxel -TBILLYIELD = SSVXRÄNTA ## Returnerar avkastningen för en statsskuldväxel -VDB = VDEGRAVSKR ## Returnerar avskrivningen för en tillgång under en angiven period (med degressiv avskrivning) -XIRR = XIRR ## Returnerar internräntan för en serie betalningar som inte nödvändigtvis är periodiska -XNPV = XNUVÄRDE ## Returnerar det nuvarande nettovärdet för en serie betalningar som inte nödvändigtvis är periodiska -YIELD = NOMAVK ## Returnerar avkastningen för ett värdepapper som ger periodisk ränta -YIELDDISC = NOMAVKDISK ## Returnerar den årliga avkastningen för diskonterade värdepapper, exempelvis en statsskuldväxel -YIELDMAT = NOMAVKFÖRF ## Returnerar den årliga avkastningen för ett värdepapper som ger ränta på förfallodagen - - -## -## Information functions Informationsfunktioner -## -CELL = CELL ## Returnerar information om formatering, plats och innehåll i en cell -ERROR.TYPE = FEL.TYP ## Returnerar ett tal som motsvarar ett felvärde -INFO = INFO ## Returnerar information om operativsystemet -ISBLANK = ÄRREF ## Returnerar SANT om värdet är tomt -ISERR = Ä ## Returnerar SANT om värdet är ett felvärde annat än #SAKNAS! -ISERROR = ÄRFEL ## Returnerar SANT om värdet är ett felvärde -ISEVEN = ÄRJÄMN ## Returnerar SANT om talet är jämnt -ISLOGICAL = ÄREJTEXT ## Returnerar SANT om värdet är ett logiskt värde -ISNA = ÄRLOGISK ## Returnerar SANT om värdet är felvärdet #SAKNAS! -ISNONTEXT = ÄRSAKNAD ## Returnerar SANT om värdet inte är text -ISNUMBER = ÄRTAL ## Returnerar SANT om värdet är ett tal -ISODD = ÄRUDDA ## Returnerar SANT om talet är udda -ISREF = ÄRTOM ## Returnerar SANT om värdet är en referens -ISTEXT = ÄRTEXT ## Returnerar SANT om värdet är text -N = N ## Returnerar ett värde omvandlat till ett tal -NA = SAKNAS ## Returnerar felvärdet #SAKNAS! -TYPE = VÄRDETYP ## Returnerar ett tal som anger värdets datatyp - - -## -## Logical functions Logiska funktioner -## -AND = OCH ## Returnerar SANT om alla argument är sanna -FALSE = FALSKT ## Returnerar det logiska värdet FALSKT -IF = OM ## Anger vilket logiskt test som ska utföras -IFERROR = OMFEL ## Returnerar ett värde som du anger om en formel utvärderar till ett fel; annars returneras resultatet av formeln -NOT = ICKE ## Inverterar logiken för argumenten -OR = ELLER ## Returnerar SANT om något argument är SANT -TRUE = SANT ## Returnerar det logiska värdet SANT - - -## -## Lookup and reference functions Sök- och referensfunktioner -## -ADDRESS = ADRESS ## Returnerar en referens som text till en enstaka cell i ett kalkylblad -AREAS = OMRÅDEN ## Returnerar antalet områden i en referens -CHOOSE = VÄLJ ## Väljer ett värde i en lista över värden -COLUMN = KOLUMN ## Returnerar kolumnnumret för en referens -COLUMNS = KOLUMNER ## Returnerar antalet kolumner i en referens -HLOOKUP = LETAKOLUMN ## Söker i den översta raden i en matris och returnerar värdet för angiven cell -HYPERLINK = HYPERLÄNK ## Skapar en genväg eller ett hopp till ett dokument i nätverket, i ett intranät eller på Internet -INDEX = INDEX ## Använder ett index för ett välja ett värde i en referens eller matris -INDIRECT = INDIREKT ## Returnerar en referens som anges av ett textvärde -LOOKUP = LETAUPP ## Letar upp värden i en vektor eller matris -MATCH = PASSA ## Letar upp värden i en referens eller matris -OFFSET = FÖRSKJUTNING ## Returnerar en referens förskjuten i förhållande till en given referens -ROW = RAD ## Returnerar radnumret för en referens -ROWS = RADER ## Returnerar antalet rader i en referens -RTD = RTD ## Hämtar realtidsdata från ett program som stöder COM-automation (Automation: Ett sätt att arbeta med ett programs objekt från ett annat program eller utvecklingsverktyg. Detta kallades tidigare för OLE Automation, och är en branschstandard och ingår i Component Object Model (COM).) -TRANSPOSE = TRANSPONERA ## Transponerar en matris -VLOOKUP = LETARAD ## Letar i den första kolumnen i en matris och flyttar över raden för att returnera värdet för en cell - - -## -## Math and trigonometry functions Matematiska och trigonometriska funktioner -## -ABS = ABS ## Returnerar absolutvärdet av ett tal -ACOS = ARCCOS ## Returnerar arcus cosinus för ett tal -ACOSH = ARCCOSH ## Returnerar inverterad hyperbolisk cosinus för ett tal -ASIN = ARCSIN ## Returnerar arcus cosinus för ett tal -ASINH = ARCSINH ## Returnerar hyperbolisk arcus sinus för ett tal -ATAN = ARCTAN ## Returnerar arcus tangens för ett tal -ATAN2 = ARCTAN2 ## Returnerar arcus tangens för en x- och en y- koordinat -ATANH = ARCTANH ## Returnerar hyperbolisk arcus tangens för ett tal -CEILING = RUNDA.UPP ## Avrundar ett tal till närmaste heltal eller närmaste signifikanta multipel -COMBIN = KOMBIN ## Returnerar antalet kombinationer för ett givet antal objekt -COS = COS ## Returnerar cosinus för ett tal -COSH = COSH ## Returnerar hyperboliskt cosinus för ett tal -DEGREES = GRADER ## Omvandlar radianer till grader -EVEN = JÄMN ## Avrundar ett tal uppåt till närmaste heltal -EXP = EXP ## Returnerar e upphöjt till ett givet tal -FACT = FAKULTET ## Returnerar fakulteten för ett tal -FACTDOUBLE = DUBBELFAKULTET ## Returnerar dubbelfakulteten för ett tal -FLOOR = RUNDA.NED ## Avrundar ett tal nedåt mot noll -GCD = SGD ## Returnerar den största gemensamma nämnaren -INT = HELTAL ## Avrundar ett tal nedåt till närmaste heltal -LCM = MGM ## Returnerar den minsta gemensamma multipeln -LN = LN ## Returnerar den naturliga logaritmen för ett tal -LOG = LOG ## Returnerar logaritmen för ett tal för en given bas -LOG10 = LOG10 ## Returnerar 10-logaritmen för ett tal -MDETERM = MDETERM ## Returnerar matrisen som är avgörandet av en matris -MINVERSE = MINVERT ## Returnerar matrisinversen av en matris -MMULT = MMULT ## Returnerar matrisprodukten av två matriser -MOD = REST ## Returnerar resten vid en division -MROUND = MAVRUNDA ## Returnerar ett tal avrundat till en given multipel -MULTINOMIAL = MULTINOMIAL ## Returnerar multinomialen för en uppsättning tal -ODD = UDDA ## Avrundar ett tal uppåt till närmaste udda heltal -PI = PI ## Returnerar värdet pi -POWER = UPPHÖJT.TILL ## Returnerar resultatet av ett tal upphöjt till en exponent -PRODUCT = PRODUKT ## Multiplicerar argumenten -QUOTIENT = KVOT ## Returnerar heltalsdelen av en division -RADIANS = RADIANER ## Omvandlar grader till radianer -RAND = SLUMP ## Returnerar ett slumptal mellan 0 och 1 -RANDBETWEEN = SLUMP.MELLAN ## Returnerar ett slumptal mellan de tal som du anger -ROMAN = ROMERSK ## Omvandlar vanliga (arabiska) siffror till romerska som text -ROUND = AVRUNDA ## Avrundar ett tal till ett angivet antal siffror -ROUNDDOWN = AVRUNDA.NEDÅT ## Avrundar ett tal nedåt mot noll -ROUNDUP = AVRUNDA.UPPÅT ## Avrundar ett tal uppåt, från noll -SERIESSUM = SERIESUMMA ## Returnerar summan av en potensserie baserat på formeln -SIGN = TECKEN ## Returnerar tecknet för ett tal -SIN = SIN ## Returnerar sinus för en given vinkel -SINH = SINH ## Returnerar hyperbolisk sinus för ett tal -SQRT = ROT ## Returnerar den positiva kvadratroten -SQRTPI = ROTPI ## Returnerar kvadratroten för (tal * pi) -SUBTOTAL = DELSUMMA ## Returnerar en delsumma i en lista eller databas -SUM = SUMMA ## Summerar argumenten -SUMIF = SUMMA.OM ## Summerar celler enligt ett angivet villkor -SUMIFS = SUMMA.OMF ## Lägger till cellerna i ett område som uppfyller flera kriterier -SUMPRODUCT = PRODUKTSUMMA ## Returnerar summan av produkterna i motsvarande matriskomponenter -SUMSQ = KVADRATSUMMA ## Returnerar summan av argumentens kvadrater -SUMX2MY2 = SUMMAX2MY2 ## Returnerar summan av differensen mellan kvadraterna för motsvarande värden i två matriser -SUMX2PY2 = SUMMAX2PY2 ## Returnerar summan av summan av kvadraterna av motsvarande värden i två matriser -SUMXMY2 = SUMMAXMY2 ## Returnerar summan av kvadraten av skillnaden mellan motsvarande värden i två matriser -TAN = TAN ## Returnerar tangens för ett tal -TANH = TANH ## Returnerar hyperbolisk tangens för ett tal -TRUNC = AVKORTA ## Avkortar ett tal till ett heltal - - -## -## Statistical functions Statistiska funktioner -## -AVEDEV = MEDELAVV ## Returnerar medelvärdet för datapunkters absoluta avvikelse från deras medelvärde -AVERAGE = MEDEL ## Returnerar medelvärdet av argumenten -AVERAGEA = AVERAGEA ## Returnerar medelvärdet av argumenten, inklusive tal, text och logiska värden -AVERAGEIF = MEDELOM ## Returnerar medelvärdet (aritmetiskt medelvärde) för alla celler i ett område som uppfyller ett givet kriterium -AVERAGEIFS = MEDELOMF ## Returnerar medelvärdet (det aritmetiska medelvärdet) för alla celler som uppfyller flera villkor. -BETADIST = BETAFÖRD ## Returnerar den kumulativa betafördelningsfunktionen -BETAINV = BETAINV ## Returnerar inversen till den kumulativa fördelningsfunktionen för en viss betafördelning -BINOMDIST = BINOMFÖRD ## Returnerar den individuella binomialfördelningen -CHIDIST = CHI2FÖRD ## Returnerar den ensidiga sannolikheten av c2-fördelningen -CHIINV = CHI2INV ## Returnerar inversen av chi2-fördelningen -CHITEST = CHI2TEST ## Returnerar oberoendetesten -CONFIDENCE = KONFIDENS ## Returnerar konfidensintervallet för en populations medelvärde -CORREL = KORREL ## Returnerar korrelationskoefficienten mellan två datamängder -COUNT = ANTAL ## Räknar hur många tal som finns bland argumenten -COUNTA = ANTALV ## Räknar hur många värden som finns bland argumenten -COUNTBLANK = ANTAL.TOMMA ## Räknar antalet tomma celler i ett område -COUNTIF = ANTAL.OM ## Räknar antalet celler i ett område som uppfyller angivna villkor. -COUNTIFS = ANTAL.OMF ## Räknar antalet celler i ett område som uppfyller flera villkor. -COVAR = KOVAR ## Returnerar kovariansen, d.v.s. medelvärdet av produkterna för parade avvikelser -CRITBINOM = KRITBINOM ## Returnerar det minsta värdet för vilket den kumulativa binomialfördelningen är mindre än eller lika med ett villkorsvärde -DEVSQ = KVADAVV ## Returnerar summan av kvadrater på avvikelser -EXPONDIST = EXPONFÖRD ## Returnerar exponentialfördelningen -FDIST = FFÖRD ## Returnerar F-sannolikhetsfördelningen -FINV = FINV ## Returnerar inversen till F-sannolikhetsfördelningen -FISHER = FISHER ## Returnerar Fisher-transformationen -FISHERINV = FISHERINV ## Returnerar inversen till Fisher-transformationen -FORECAST = PREDIKTION ## Returnerar ett värde längs en linjär trendlinje -FREQUENCY = FREKVENS ## Returnerar en frekvensfördelning som en lodrät matris -FTEST = FTEST ## Returnerar resultatet av en F-test -GAMMADIST = GAMMAFÖRD ## Returnerar gammafördelningen -GAMMAINV = GAMMAINV ## Returnerar inversen till den kumulativa gammafördelningen -GAMMALN = GAMMALN ## Returnerar den naturliga logaritmen för gammafunktionen, G(x) -GEOMEAN = GEOMEDEL ## Returnerar det geometriska medelvärdet -GROWTH = EXPTREND ## Returnerar värden längs en exponentiell trend -HARMEAN = HARMMEDEL ## Returnerar det harmoniska medelvärdet -HYPGEOMDIST = HYPGEOMFÖRD ## Returnerar den hypergeometriska fördelningen -INTERCEPT = SKÄRNINGSPUNKT ## Returnerar skärningspunkten för en linjär regressionslinje -KURT = TOPPIGHET ## Returnerar toppigheten av en mängd data -LARGE = STÖRSTA ## Returnerar det n:te största värdet i en mängd data -LINEST = REGR ## Returnerar parametrar till en linjär trendlinje -LOGEST = EXPREGR ## Returnerar parametrarna i en exponentiell trend -LOGINV = LOGINV ## Returnerar inversen till den lognormala fördelningen -LOGNORMDIST = LOGNORMFÖRD ## Returnerar den kumulativa lognormala fördelningen -MAX = MAX ## Returnerar det största värdet i en lista av argument -MAXA = MAXA ## Returnerar det största värdet i en lista av argument, inklusive tal, text och logiska värden -MEDIAN = MEDIAN ## Returnerar medianen för angivna tal -MIN = MIN ## Returnerar det minsta värdet i en lista med argument -MINA = MINA ## Returnerar det minsta värdet i en lista över argument, inklusive tal, text och logiska värden -MODE = TYPVÄRDE ## Returnerar det vanligaste värdet i en datamängd -NEGBINOMDIST = NEGBINOMFÖRD ## Returnerar den negativa binomialfördelningen -NORMDIST = NORMFÖRD ## Returnerar den kumulativa normalfördelningen -NORMINV = NORMINV ## Returnerar inversen till den kumulativa normalfördelningen -NORMSDIST = NORMSFÖRD ## Returnerar den kumulativa standardnormalfördelningen -NORMSINV = NORMSINV ## Returnerar inversen till den kumulativa standardnormalfördelningen -PEARSON = PEARSON ## Returnerar korrelationskoefficienten till Pearsons momentprodukt -PERCENTILE = PERCENTIL ## Returnerar den n:te percentilen av värden i ett område -PERCENTRANK = PROCENTRANG ## Returnerar procentrangen för ett värde i en datamängd -PERMUT = PERMUT ## Returnerar antal permutationer för ett givet antal objekt -POISSON = POISSON ## Returnerar Poisson-fördelningen -PROB = SANNOLIKHET ## Returnerar sannolikheten att värden i ett område ligger mellan två gränser -QUARTILE = KVARTIL ## Returnerar kvartilen av en mängd data -RANK = RANG ## Returnerar rangordningen för ett tal i en lista med tal -RSQ = RKV ## Returnerar kvadraten av Pearsons produktmomentkorrelationskoefficient -SKEW = SNEDHET ## Returnerar snedheten för en fördelning -SLOPE = LUTNING ## Returnerar lutningen på en linjär regressionslinje -SMALL = MINSTA ## Returnerar det n:te minsta värdet i en mängd data -STANDARDIZE = STANDARDISERA ## Returnerar ett normaliserat värde -STDEV = STDAV ## Uppskattar standardavvikelsen baserat på ett urval -STDEVA = STDEVA ## Uppskattar standardavvikelsen baserat på ett urval, inklusive tal, text och logiska värden -STDEVP = STDAVP ## Beräknar standardavvikelsen baserat på hela populationen -STDEVPA = STDEVPA ## Beräknar standardavvikelsen baserat på hela populationen, inklusive tal, text och logiska värden -STEYX = STDFELYX ## Returnerar standardfelet för ett förutspått y-värde för varje x-värde i regressionen -TDIST = TFÖRD ## Returnerar Students t-fördelning -TINV = TINV ## Returnerar inversen till Students t-fördelning -TREND = TREND ## Returnerar värden längs en linjär trend -TRIMMEAN = TRIMMEDEL ## Returnerar medelvärdet av mittpunkterna i en datamängd -TTEST = TTEST ## Returnerar sannolikheten beräknad ur Students t-test -VAR = VARIANS ## Uppskattar variansen baserat på ett urval -VARA = VARA ## Uppskattar variansen baserat på ett urval, inklusive tal, text och logiska värden -VARP = VARIANSP ## Beräknar variansen baserat på hela populationen -VARPA = VARPA ## Beräknar variansen baserat på hela populationen, inklusive tal, text och logiska värden -WEIBULL = WEIBULL ## Returnerar Weibull-fördelningen -ZTEST = ZTEST ## Returnerar det ensidiga sannolikhetsvärdet av ett z-test - - -## -## Text functions Textfunktioner -## -ASC = ASC ## Ändrar helbredds (dubbel byte) engelska bokstäver eller katakana inom en teckensträng till tecken med halvt breddsteg (enkel byte) -BAHTTEXT = BAHTTEXT ## Omvandlar ett tal till text med valutaformatet ß (baht) -CHAR = TECKENKOD ## Returnerar tecknet som anges av kod -CLEAN = STÄDA ## Tar bort alla icke utskrivbara tecken i en text -CODE = KOD ## Returnerar en numerisk kod för det första tecknet i en textsträng -CONCATENATE = SAMMANFOGA ## Sammanfogar flera textdelar till en textsträng -DOLLAR = VALUTA ## Omvandlar ett tal till text med valutaformat -EXACT = EXAKT ## Kontrollerar om två textvärden är identiska -FIND = HITTA ## Hittar en text i en annan (skiljer på gemener och versaler) -FINDB = HITTAB ## Hittar en text i en annan (skiljer på gemener och versaler) -FIXED = FASTTAL ## Formaterar ett tal som text med ett fast antal decimaler -JIS = JIS ## Ändrar halvbredds (enkel byte) engelska bokstäver eller katakana inom en teckensträng till tecken med helt breddsteg (dubbel byte) -LEFT = VÄNSTER ## Returnerar tecken längst till vänster i en sträng -LEFTB = VÄNSTERB ## Returnerar tecken längst till vänster i en sträng -LEN = LÄNGD ## Returnerar antalet tecken i en textsträng -LENB = LÄNGDB ## Returnerar antalet tecken i en textsträng -LOWER = GEMENER ## Omvandlar text till gemener -MID = EXTEXT ## Returnerar angivet antal tecken från en text med början vid den position som du anger -MIDB = EXTEXTB ## Returnerar angivet antal tecken från en text med början vid den position som du anger -PHONETIC = PHONETIC ## Returnerar de fonetiska (furigana) tecknen i en textsträng -PROPER = INITIAL ## Ändrar första bokstaven i varje ord i ett textvärde till versal -REPLACE = ERSÄTT ## Ersätter tecken i text -REPLACEB = ERSÄTTB ## Ersätter tecken i text -REPT = REP ## Upprepar en text ett bestämt antal gånger -RIGHT = HÖGER ## Returnerar tecken längst till höger i en sträng -RIGHTB = HÖGERB ## Returnerar tecken längst till höger i en sträng -SEARCH = SÖK ## Hittar ett textvärde i ett annat (skiljer inte på gemener och versaler) -SEARCHB = SÖKB ## Hittar ett textvärde i ett annat (skiljer inte på gemener och versaler) -SUBSTITUTE = BYT.UT ## Ersätter gammal text med ny text i en textsträng -T = T ## Omvandlar argumenten till text -TEXT = TEXT ## Formaterar ett tal och omvandlar det till text -TRIM = RENSA ## Tar bort blanksteg från text -UPPER = VERSALER ## Omvandlar text till versaler -VALUE = TEXTNUM ## Omvandlar ett textargument till ett tal +## +## Add-in and Automation functions Tilläggs- och automatiseringsfunktioner +## +GETPIVOTDATA = HÄMTA.PIVOTDATA ## Returnerar data som lagrats i en pivottabellrapport + + +## +## Cube functions Kubfunktioner +## +CUBEKPIMEMBER = KUBKPIMEDLEM ## Returnerar namn, egenskap och mått för en KPI och visar namnet och egenskapen i cellen. En KPI, eller prestandaindikator, är ett kvantifierbart mått, t.ex. månatlig bruttovinst eller personalomsättning per kvartal, som används för att analysera ett företags resultat. +CUBEMEMBER = KUBMEDLEM ## Returnerar en medlem eller ett par i en kubhierarki. Används för att verifiera att medlemmen eller paret finns i kuben. +CUBEMEMBERPROPERTY = KUBMEDLEMSEGENSKAP ## Returnerar värdet för en medlemsegenskap i kuben. Används för att verifiera att ett medlemsnamn finns i kuben, samt för att returnera den angivna egenskapen för medlemmen. +CUBERANKEDMEMBER = KUBRANGORDNADMEDLEM ## Returnerar den n:te, eller rangordnade, medlemmen i en uppsättning. Används för att returnera ett eller flera element i en uppsättning, till exempelvis den bästa försäljaren eller de tio bästa eleverna. +CUBESET = KUBINSTÄLLNING ## Definierar en beräknad uppsättning medlemmar eller par genom att skicka ett bestämt uttryck till kuben på servern, som skapar uppsättningen och sedan returnerar den till Microsoft Office Excel. +CUBESETCOUNT = KUBINSTÄLLNINGANTAL ## Returnerar antalet objekt i en uppsättning. +CUBEVALUE = KUBVÄRDE ## Returnerar ett mängdvärde från en kub. + + +## +## Database functions Databasfunktioner +## +DAVERAGE = DMEDEL ## Returnerar medelvärdet av databasposterna +DCOUNT = DANTAL ## Räknar antalet celler som innehåller tal i en databas +DCOUNTA = DANTALV ## Räknar ifyllda celler i en databas +DGET = DHÄMTA ## Hämtar en enstaka post från en databas som uppfyller de angivna villkoren +DMAX = DMAX ## Returnerar det största värdet från databasposterna +DMIN = DMIN ## Returnerar det minsta värdet från databasposterna +DPRODUCT = DPRODUKT ## Multiplicerar värdena i ett visst fält i poster som uppfyller villkoret +DSTDEV = DSTDAV ## Uppskattar standardavvikelsen baserat på ett urval av databasposterna +DSTDEVP = DSTDAVP ## Beräknar standardavvikelsen utifrån hela populationen av valda databasposter +DSUM = DSUMMA ## Summerar talen i kolumnfält i databasposter som uppfyller villkoret +DVAR = DVARIANS ## Uppskattar variansen baserat på ett urval av databasposterna +DVARP = DVARIANSP ## Beräknar variansen utifrån hela populationen av valda databasposter + + +## +## Date and time functions Tid- och datumfunktioner +## +DATE = DATUM ## Returnerar ett serienummer för ett visst datum +DATEVALUE = DATUMVÄRDE ## Konverterar ett datum i textformat till ett serienummer +DAY = DAG ## Konverterar ett serienummer till dag i månaden +DAYS360 = DAGAR360 ## Beräknar antalet dagar mellan två datum baserat på ett 360-dagarsår +EDATE = EDATUM ## Returnerar serienumret för ett datum som infaller ett visst antal månader före eller efter startdatumet +EOMONTH = SLUTMÅNAD ## Returnerar serienumret för sista dagen i månaden ett visst antal månader tidigare eller senare +HOUR = TIMME ## Konverterar ett serienummer till en timme +MINUTE = MINUT ## Konverterar ett serienummer till en minut +MONTH = MÅNAD ## Konverterar ett serienummer till en månad +NETWORKDAYS = NETTOARBETSDAGAR ## Returnerar antalet hela arbetsdagar mellan två datum +NOW = NU ## Returnerar serienumret för dagens datum och aktuell tid +SECOND = SEKUND ## Konverterar ett serienummer till en sekund +TIME = KLOCKSLAG ## Returnerar serienumret för en viss tid +TIMEVALUE = TIDVÄRDE ## Konverterar en tid i textformat till ett serienummer +TODAY = IDAG ## Returnerar serienumret för dagens datum +WEEKDAY = VECKODAG ## Konverterar ett serienummer till en dag i veckan +WEEKNUM = VECKONR ## Konverterar ett serienummer till ett veckonummer +WORKDAY = ARBETSDAGAR ## Returnerar serienumret för ett datum ett visst antal arbetsdagar tidigare eller senare +YEAR = ÅR ## Konverterar ett serienummer till ett år +YEARFRAC = ÅRDEL ## Returnerar en del av ett år som representerar antalet hela dagar mellan start- och slutdatum + + +## +## Engineering functions Tekniska funktioner +## +BESSELI = BESSELI ## Returnerar den modifierade Bessel-funktionen In(x) +BESSELJ = BESSELJ ## Returnerar Bessel-funktionen Jn(x) +BESSELK = BESSELK ## Returnerar den modifierade Bessel-funktionen Kn(x) +BESSELY = BESSELY ## Returnerar Bessel-funktionen Yn(x) +BIN2DEC = BIN.TILL.DEC ## Omvandlar ett binärt tal till decimalt +BIN2HEX = BIN.TILL.HEX ## Omvandlar ett binärt tal till hexadecimalt +BIN2OCT = BIN.TILL.OKT ## Omvandlar ett binärt tal till oktalt +COMPLEX = KOMPLEX ## Omvandlar reella och imaginära koefficienter till ett komplext tal +CONVERT = KONVERTERA ## Omvandlar ett tal från ett måttsystem till ett annat +DEC2BIN = DEC.TILL.BIN ## Omvandlar ett decimalt tal till binärt +DEC2HEX = DEC.TILL.HEX ## Omvandlar ett decimalt tal till hexadecimalt +DEC2OCT = DEC.TILL.OKT ## Omvandlar ett decimalt tal till oktalt +DELTA = DELTA ## Testar om två värden är lika +ERF = FELF ## Returnerar felfunktionen +ERFC = FELFK ## Returnerar den komplementära felfunktionen +GESTEP = SLSTEG ## Testar om ett tal är större än ett tröskelvärde +HEX2BIN = HEX.TILL.BIN ## Omvandlar ett hexadecimalt tal till binärt +HEX2DEC = HEX.TILL.DEC ## Omvandlar ett hexadecimalt tal till decimalt +HEX2OCT = HEX.TILL.OKT ## Omvandlar ett hexadecimalt tal till oktalt +IMABS = IMABS ## Returnerar absolutvärdet (modulus) för ett komplext tal +IMAGINARY = IMAGINÄR ## Returnerar den imaginära koefficienten för ett komplext tal +IMARGUMENT = IMARGUMENT ## Returnerar det komplexa talets argument, en vinkel uttryckt i radianer +IMCONJUGATE = IMKONJUGAT ## Returnerar det komplexa talets konjugat +IMCOS = IMCOS ## Returnerar cosinus för ett komplext tal +IMDIV = IMDIV ## Returnerar kvoten för två komplexa tal +IMEXP = IMEUPPHÖJT ## Returnerar exponenten för ett komplext tal +IMLN = IMLN ## Returnerar den naturliga logaritmen för ett komplext tal +IMLOG10 = IMLOG10 ## Returnerar 10-logaritmen för ett komplext tal +IMLOG2 = IMLOG2 ## Returnerar 2-logaritmen för ett komplext tal +IMPOWER = IMUPPHÖJT ## Returnerar ett komplext tal upphöjt till en exponent +IMPRODUCT = IMPRODUKT ## Returnerar produkten av komplexa tal +IMREAL = IMREAL ## Returnerar den reella koefficienten för ett komplext tal +IMSIN = IMSIN ## Returnerar sinus för ett komplext tal +IMSQRT = IMROT ## Returnerar kvadratroten av ett komplext tal +IMSUB = IMDIFF ## Returnerar differensen mellan två komplexa tal +IMSUM = IMSUM ## Returnerar summan av komplexa tal +OCT2BIN = OKT.TILL.BIN ## Omvandlar ett oktalt tal till binärt +OCT2DEC = OKT.TILL.DEC ## Omvandlar ett oktalt tal till decimalt +OCT2HEX = OKT.TILL.HEX ## Omvandlar ett oktalt tal till hexadecimalt + + +## +## Financial functions Finansiella funktioner +## +ACCRINT = UPPLRÄNTA ## Returnerar den upplupna räntan för värdepapper med periodisk ränta +ACCRINTM = UPPLOBLRÄNTA ## Returnerar den upplupna räntan för ett värdepapper som ger avkastning på förfallodagen +AMORDEGRC = AMORDEGRC ## Returnerar avskrivningen för varje redovisningsperiod med hjälp av en avskrivningskoefficient +AMORLINC = AMORLINC ## Returnerar avskrivningen för varje redovisningsperiod +COUPDAYBS = KUPDAGBB ## Returnerar antal dagar från början av kupongperioden till likviddagen +COUPDAYS = KUPDAGARS ## Returnerar antalet dagar i kupongperioden som innehåller betalningsdatumet +COUPDAYSNC = KUPDAGNK ## Returnerar antalet dagar från betalningsdatumet till nästa kupongdatum +COUPNCD = KUPNKD ## Returnerar nästa kupongdatum efter likviddagen +COUPNUM = KUPANT ## Returnerar kuponger som förfaller till betalning mellan likviddagen och förfallodagen +COUPPCD = KUPFKD ## Returnerar föregående kupongdatum före likviddagen +CUMIPMT = KUMRÄNTA ## Returnerar den ackumulerade räntan som betalats mellan två perioder +CUMPRINC = KUMPRIS ## Returnerar det ackumulerade kapitalbeloppet som betalats på ett lån mellan två perioder +DB = DB ## Returnerar avskrivningen för en tillgång under en angiven tid enligt metoden för fast degressiv avskrivning +DDB = DEGAVSKR ## Returnerar en tillgångs värdeminskning under en viss period med hjälp av dubbel degressiv avskrivning eller någon annan metod som du anger +DISC = DISK ## Returnerar diskonteringsräntan för ett värdepapper +DOLLARDE = DECTAL ## Omvandlar ett pris uttryckt som ett bråk till ett decimaltal +DOLLARFR = BRÅK ## Omvandlar ett pris i kronor uttryckt som ett decimaltal till ett bråk +DURATION = LÖPTID ## Returnerar den årliga löptiden för en säkerhet med periodiska räntebetalningar +EFFECT = EFFRÄNTA ## Returnerar den årliga effektiva räntesatsen +FV = SLUTVÄRDE ## Returnerar det framtida värdet på en investering +FVSCHEDULE = FÖRRÄNTNING ## Returnerar det framtida värdet av ett begynnelsekapital beräknat på olika räntenivåer +INTRATE = ÅRSRÄNTA ## Returnerar räntesatsen för ett betalt värdepapper +IPMT = RBETALNING ## Returnerar räntedelen av en betalning för en given period +IRR = IR ## Returnerar internräntan för en serie betalningar +ISPMT = RALÅN ## Beräknar räntan som har betalats under en specifik betalningsperiod +MDURATION = MLÖPTID ## Returnerar den modifierade Macauley-löptiden för ett värdepapper med det antagna nominella värdet 100 kr +MIRR = MODIR ## Returnerar internräntan där positiva och negativa betalningar finansieras med olika räntor +NOMINAL = NOMRÄNTA ## Returnerar den årliga nominella räntesatsen +NPER = PERIODER ## Returnerar antalet perioder för en investering +NPV = NETNUVÄRDE ## Returnerar nuvärdet av en serie periodiska betalningar vid en given diskonteringsränta +ODDFPRICE = UDDAFPRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper med en udda första period +ODDFYIELD = UDDAFAVKASTNING ## Returnerar avkastningen för en säkerhet med en udda första period +ODDLPRICE = UDDASPRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper med en udda sista period +ODDLYIELD = UDDASAVKASTNING ## Returnerar avkastningen för en säkerhet med en udda sista period +PMT = BETALNING ## Returnerar den periodiska betalningen för en annuitet +PPMT = AMORT ## Returnerar amorteringsdelen av en annuitetsbetalning för en given period +PRICE = PRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper som ger periodisk ränta +PRICEDISC = PRISDISK ## Returnerar priset per 100 kr nominellt värde för ett diskonterat värdepapper +PRICEMAT = PRISFÖRF ## Returnerar priset per 100 kr nominellt värde för ett värdepapper som ger ränta på förfallodagen +PV = PV ## Returnerar nuvärdet av en serie lika stora periodiska betalningar +RATE = RÄNTA ## Returnerar räntesatsen per period i en annuitet +RECEIVED = BELOPP ## Returnerar beloppet som utdelas på förfallodagen för ett betalat värdepapper +SLN = LINAVSKR ## Returnerar den linjära avskrivningen för en tillgång under en period +SYD = ÅRSAVSKR ## Returnerar den årliga avskrivningssumman för en tillgång under en angiven period +TBILLEQ = SSVXEKV ## Returnerar avkastningen motsvarande en obligation för en statsskuldväxel +TBILLPRICE = SSVXPRIS ## Returnerar priset per 100 kr nominellt värde för en statsskuldväxel +TBILLYIELD = SSVXRÄNTA ## Returnerar avkastningen för en statsskuldväxel +VDB = VDEGRAVSKR ## Returnerar avskrivningen för en tillgång under en angiven period (med degressiv avskrivning) +XIRR = XIRR ## Returnerar internräntan för en serie betalningar som inte nödvändigtvis är periodiska +XNPV = XNUVÄRDE ## Returnerar det nuvarande nettovärdet för en serie betalningar som inte nödvändigtvis är periodiska +YIELD = NOMAVK ## Returnerar avkastningen för ett värdepapper som ger periodisk ränta +YIELDDISC = NOMAVKDISK ## Returnerar den årliga avkastningen för diskonterade värdepapper, exempelvis en statsskuldväxel +YIELDMAT = NOMAVKFÖRF ## Returnerar den årliga avkastningen för ett värdepapper som ger ränta på förfallodagen + + +## +## Information functions Informationsfunktioner +## +CELL = CELL ## Returnerar information om formatering, plats och innehåll i en cell +ERROR.TYPE = FEL.TYP ## Returnerar ett tal som motsvarar ett felvärde +INFO = INFO ## Returnerar information om operativsystemet +ISBLANK = ÄRREF ## Returnerar SANT om värdet är tomt +ISERR = Ä ## Returnerar SANT om värdet är ett felvärde annat än #SAKNAS! +ISERROR = ÄRFEL ## Returnerar SANT om värdet är ett felvärde +ISEVEN = ÄRJÄMN ## Returnerar SANT om talet är jämnt +ISLOGICAL = ÄREJTEXT ## Returnerar SANT om värdet är ett logiskt värde +ISNA = ÄRLOGISK ## Returnerar SANT om värdet är felvärdet #SAKNAS! +ISNONTEXT = ÄRSAKNAD ## Returnerar SANT om värdet inte är text +ISNUMBER = ÄRTAL ## Returnerar SANT om värdet är ett tal +ISODD = ÄRUDDA ## Returnerar SANT om talet är udda +ISREF = ÄRTOM ## Returnerar SANT om värdet är en referens +ISTEXT = ÄRTEXT ## Returnerar SANT om värdet är text +N = N ## Returnerar ett värde omvandlat till ett tal +NA = SAKNAS ## Returnerar felvärdet #SAKNAS! +TYPE = VÄRDETYP ## Returnerar ett tal som anger värdets datatyp + + +## +## Logical functions Logiska funktioner +## +AND = OCH ## Returnerar SANT om alla argument är sanna +FALSE = FALSKT ## Returnerar det logiska värdet FALSKT +IF = OM ## Anger vilket logiskt test som ska utföras +IFERROR = OMFEL ## Returnerar ett värde som du anger om en formel utvärderar till ett fel; annars returneras resultatet av formeln +NOT = ICKE ## Inverterar logiken för argumenten +OR = ELLER ## Returnerar SANT om något argument är SANT +TRUE = SANT ## Returnerar det logiska värdet SANT + + +## +## Lookup and reference functions Sök- och referensfunktioner +## +ADDRESS = ADRESS ## Returnerar en referens som text till en enstaka cell i ett kalkylblad +AREAS = OMRÅDEN ## Returnerar antalet områden i en referens +CHOOSE = VÄLJ ## Väljer ett värde i en lista över värden +COLUMN = KOLUMN ## Returnerar kolumnnumret för en referens +COLUMNS = KOLUMNER ## Returnerar antalet kolumner i en referens +HLOOKUP = LETAKOLUMN ## Söker i den översta raden i en matris och returnerar värdet för angiven cell +HYPERLINK = HYPERLÄNK ## Skapar en genväg eller ett hopp till ett dokument i nätverket, i ett intranät eller på Internet +INDEX = INDEX ## Använder ett index för ett välja ett värde i en referens eller matris +INDIRECT = INDIREKT ## Returnerar en referens som anges av ett textvärde +LOOKUP = LETAUPP ## Letar upp värden i en vektor eller matris +MATCH = PASSA ## Letar upp värden i en referens eller matris +OFFSET = FÖRSKJUTNING ## Returnerar en referens förskjuten i förhållande till en given referens +ROW = RAD ## Returnerar radnumret för en referens +ROWS = RADER ## Returnerar antalet rader i en referens +RTD = RTD ## Hämtar realtidsdata från ett program som stöder COM-automation (Automation: Ett sätt att arbeta med ett programs objekt från ett annat program eller utvecklingsverktyg. Detta kallades tidigare för OLE Automation, och är en branschstandard och ingår i Component Object Model (COM).) +TRANSPOSE = TRANSPONERA ## Transponerar en matris +VLOOKUP = LETARAD ## Letar i den första kolumnen i en matris och flyttar över raden för att returnera värdet för en cell + + +## +## Math and trigonometry functions Matematiska och trigonometriska funktioner +## +ABS = ABS ## Returnerar absolutvärdet av ett tal +ACOS = ARCCOS ## Returnerar arcus cosinus för ett tal +ACOSH = ARCCOSH ## Returnerar inverterad hyperbolisk cosinus för ett tal +ASIN = ARCSIN ## Returnerar arcus cosinus för ett tal +ASINH = ARCSINH ## Returnerar hyperbolisk arcus sinus för ett tal +ATAN = ARCTAN ## Returnerar arcus tangens för ett tal +ATAN2 = ARCTAN2 ## Returnerar arcus tangens för en x- och en y- koordinat +ATANH = ARCTANH ## Returnerar hyperbolisk arcus tangens för ett tal +CEILING = RUNDA.UPP ## Avrundar ett tal till närmaste heltal eller närmaste signifikanta multipel +COMBIN = KOMBIN ## Returnerar antalet kombinationer för ett givet antal objekt +COS = COS ## Returnerar cosinus för ett tal +COSH = COSH ## Returnerar hyperboliskt cosinus för ett tal +DEGREES = GRADER ## Omvandlar radianer till grader +EVEN = JÄMN ## Avrundar ett tal uppåt till närmaste heltal +EXP = EXP ## Returnerar e upphöjt till ett givet tal +FACT = FAKULTET ## Returnerar fakulteten för ett tal +FACTDOUBLE = DUBBELFAKULTET ## Returnerar dubbelfakulteten för ett tal +FLOOR = RUNDA.NED ## Avrundar ett tal nedåt mot noll +GCD = SGD ## Returnerar den största gemensamma nämnaren +INT = HELTAL ## Avrundar ett tal nedåt till närmaste heltal +LCM = MGM ## Returnerar den minsta gemensamma multipeln +LN = LN ## Returnerar den naturliga logaritmen för ett tal +LOG = LOG ## Returnerar logaritmen för ett tal för en given bas +LOG10 = LOG10 ## Returnerar 10-logaritmen för ett tal +MDETERM = MDETERM ## Returnerar matrisen som är avgörandet av en matris +MINVERSE = MINVERT ## Returnerar matrisinversen av en matris +MMULT = MMULT ## Returnerar matrisprodukten av två matriser +MOD = REST ## Returnerar resten vid en division +MROUND = MAVRUNDA ## Returnerar ett tal avrundat till en given multipel +MULTINOMIAL = MULTINOMIAL ## Returnerar multinomialen för en uppsättning tal +ODD = UDDA ## Avrundar ett tal uppåt till närmaste udda heltal +PI = PI ## Returnerar värdet pi +POWER = UPPHÖJT.TILL ## Returnerar resultatet av ett tal upphöjt till en exponent +PRODUCT = PRODUKT ## Multiplicerar argumenten +QUOTIENT = KVOT ## Returnerar heltalsdelen av en division +RADIANS = RADIANER ## Omvandlar grader till radianer +RAND = SLUMP ## Returnerar ett slumptal mellan 0 och 1 +RANDBETWEEN = SLUMP.MELLAN ## Returnerar ett slumptal mellan de tal som du anger +ROMAN = ROMERSK ## Omvandlar vanliga (arabiska) siffror till romerska som text +ROUND = AVRUNDA ## Avrundar ett tal till ett angivet antal siffror +ROUNDDOWN = AVRUNDA.NEDÅT ## Avrundar ett tal nedåt mot noll +ROUNDUP = AVRUNDA.UPPÅT ## Avrundar ett tal uppåt, från noll +SERIESSUM = SERIESUMMA ## Returnerar summan av en potensserie baserat på formeln +SIGN = TECKEN ## Returnerar tecknet för ett tal +SIN = SIN ## Returnerar sinus för en given vinkel +SINH = SINH ## Returnerar hyperbolisk sinus för ett tal +SQRT = ROT ## Returnerar den positiva kvadratroten +SQRTPI = ROTPI ## Returnerar kvadratroten för (tal * pi) +SUBTOTAL = DELSUMMA ## Returnerar en delsumma i en lista eller databas +SUM = SUMMA ## Summerar argumenten +SUMIF = SUMMA.OM ## Summerar celler enligt ett angivet villkor +SUMIFS = SUMMA.OMF ## Lägger till cellerna i ett område som uppfyller flera kriterier +SUMPRODUCT = PRODUKTSUMMA ## Returnerar summan av produkterna i motsvarande matriskomponenter +SUMSQ = KVADRATSUMMA ## Returnerar summan av argumentens kvadrater +SUMX2MY2 = SUMMAX2MY2 ## Returnerar summan av differensen mellan kvadraterna för motsvarande värden i två matriser +SUMX2PY2 = SUMMAX2PY2 ## Returnerar summan av summan av kvadraterna av motsvarande värden i två matriser +SUMXMY2 = SUMMAXMY2 ## Returnerar summan av kvadraten av skillnaden mellan motsvarande värden i två matriser +TAN = TAN ## Returnerar tangens för ett tal +TANH = TANH ## Returnerar hyperbolisk tangens för ett tal +TRUNC = AVKORTA ## Avkortar ett tal till ett heltal + + +## +## Statistical functions Statistiska funktioner +## +AVEDEV = MEDELAVV ## Returnerar medelvärdet för datapunkters absoluta avvikelse från deras medelvärde +AVERAGE = MEDEL ## Returnerar medelvärdet av argumenten +AVERAGEA = AVERAGEA ## Returnerar medelvärdet av argumenten, inklusive tal, text och logiska värden +AVERAGEIF = MEDELOM ## Returnerar medelvärdet (aritmetiskt medelvärde) för alla celler i ett område som uppfyller ett givet kriterium +AVERAGEIFS = MEDELOMF ## Returnerar medelvärdet (det aritmetiska medelvärdet) för alla celler som uppfyller flera villkor. +BETADIST = BETAFÖRD ## Returnerar den kumulativa betafördelningsfunktionen +BETAINV = BETAINV ## Returnerar inversen till den kumulativa fördelningsfunktionen för en viss betafördelning +BINOMDIST = BINOMFÖRD ## Returnerar den individuella binomialfördelningen +CHIDIST = CHI2FÖRD ## Returnerar den ensidiga sannolikheten av c2-fördelningen +CHIINV = CHI2INV ## Returnerar inversen av chi2-fördelningen +CHITEST = CHI2TEST ## Returnerar oberoendetesten +CONFIDENCE = KONFIDENS ## Returnerar konfidensintervallet för en populations medelvärde +CORREL = KORREL ## Returnerar korrelationskoefficienten mellan två datamängder +COUNT = ANTAL ## Räknar hur många tal som finns bland argumenten +COUNTA = ANTALV ## Räknar hur många värden som finns bland argumenten +COUNTBLANK = ANTAL.TOMMA ## Räknar antalet tomma celler i ett område +COUNTIF = ANTAL.OM ## Räknar antalet celler i ett område som uppfyller angivna villkor. +COUNTIFS = ANTAL.OMF ## Räknar antalet celler i ett område som uppfyller flera villkor. +COVAR = KOVAR ## Returnerar kovariansen, d.v.s. medelvärdet av produkterna för parade avvikelser +CRITBINOM = KRITBINOM ## Returnerar det minsta värdet för vilket den kumulativa binomialfördelningen är mindre än eller lika med ett villkorsvärde +DEVSQ = KVADAVV ## Returnerar summan av kvadrater på avvikelser +EXPONDIST = EXPONFÖRD ## Returnerar exponentialfördelningen +FDIST = FFÖRD ## Returnerar F-sannolikhetsfördelningen +FINV = FINV ## Returnerar inversen till F-sannolikhetsfördelningen +FISHER = FISHER ## Returnerar Fisher-transformationen +FISHERINV = FISHERINV ## Returnerar inversen till Fisher-transformationen +FORECAST = PREDIKTION ## Returnerar ett värde längs en linjär trendlinje +FREQUENCY = FREKVENS ## Returnerar en frekvensfördelning som en lodrät matris +FTEST = FTEST ## Returnerar resultatet av en F-test +GAMMADIST = GAMMAFÖRD ## Returnerar gammafördelningen +GAMMAINV = GAMMAINV ## Returnerar inversen till den kumulativa gammafördelningen +GAMMALN = GAMMALN ## Returnerar den naturliga logaritmen för gammafunktionen, G(x) +GEOMEAN = GEOMEDEL ## Returnerar det geometriska medelvärdet +GROWTH = EXPTREND ## Returnerar värden längs en exponentiell trend +HARMEAN = HARMMEDEL ## Returnerar det harmoniska medelvärdet +HYPGEOMDIST = HYPGEOMFÖRD ## Returnerar den hypergeometriska fördelningen +INTERCEPT = SKÄRNINGSPUNKT ## Returnerar skärningspunkten för en linjär regressionslinje +KURT = TOPPIGHET ## Returnerar toppigheten av en mängd data +LARGE = STÖRSTA ## Returnerar det n:te största värdet i en mängd data +LINEST = REGR ## Returnerar parametrar till en linjär trendlinje +LOGEST = EXPREGR ## Returnerar parametrarna i en exponentiell trend +LOGINV = LOGINV ## Returnerar inversen till den lognormala fördelningen +LOGNORMDIST = LOGNORMFÖRD ## Returnerar den kumulativa lognormala fördelningen +MAX = MAX ## Returnerar det största värdet i en lista av argument +MAXA = MAXA ## Returnerar det största värdet i en lista av argument, inklusive tal, text och logiska värden +MEDIAN = MEDIAN ## Returnerar medianen för angivna tal +MIN = MIN ## Returnerar det minsta värdet i en lista med argument +MINA = MINA ## Returnerar det minsta värdet i en lista över argument, inklusive tal, text och logiska värden +MODE = TYPVÄRDE ## Returnerar det vanligaste värdet i en datamängd +NEGBINOMDIST = NEGBINOMFÖRD ## Returnerar den negativa binomialfördelningen +NORMDIST = NORMFÖRD ## Returnerar den kumulativa normalfördelningen +NORMINV = NORMINV ## Returnerar inversen till den kumulativa normalfördelningen +NORMSDIST = NORMSFÖRD ## Returnerar den kumulativa standardnormalfördelningen +NORMSINV = NORMSINV ## Returnerar inversen till den kumulativa standardnormalfördelningen +PEARSON = PEARSON ## Returnerar korrelationskoefficienten till Pearsons momentprodukt +PERCENTILE = PERCENTIL ## Returnerar den n:te percentilen av värden i ett område +PERCENTRANK = PROCENTRANG ## Returnerar procentrangen för ett värde i en datamängd +PERMUT = PERMUT ## Returnerar antal permutationer för ett givet antal objekt +POISSON = POISSON ## Returnerar Poisson-fördelningen +PROB = SANNOLIKHET ## Returnerar sannolikheten att värden i ett område ligger mellan två gränser +QUARTILE = KVARTIL ## Returnerar kvartilen av en mängd data +RANK = RANG ## Returnerar rangordningen för ett tal i en lista med tal +RSQ = RKV ## Returnerar kvadraten av Pearsons produktmomentkorrelationskoefficient +SKEW = SNEDHET ## Returnerar snedheten för en fördelning +SLOPE = LUTNING ## Returnerar lutningen på en linjär regressionslinje +SMALL = MINSTA ## Returnerar det n:te minsta värdet i en mängd data +STANDARDIZE = STANDARDISERA ## Returnerar ett normaliserat värde +STDEV = STDAV ## Uppskattar standardavvikelsen baserat på ett urval +STDEVA = STDEVA ## Uppskattar standardavvikelsen baserat på ett urval, inklusive tal, text och logiska värden +STDEVP = STDAVP ## Beräknar standardavvikelsen baserat på hela populationen +STDEVPA = STDEVPA ## Beräknar standardavvikelsen baserat på hela populationen, inklusive tal, text och logiska värden +STEYX = STDFELYX ## Returnerar standardfelet för ett förutspått y-värde för varje x-värde i regressionen +TDIST = TFÖRD ## Returnerar Students t-fördelning +TINV = TINV ## Returnerar inversen till Students t-fördelning +TREND = TREND ## Returnerar värden längs en linjär trend +TRIMMEAN = TRIMMEDEL ## Returnerar medelvärdet av mittpunkterna i en datamängd +TTEST = TTEST ## Returnerar sannolikheten beräknad ur Students t-test +VAR = VARIANS ## Uppskattar variansen baserat på ett urval +VARA = VARA ## Uppskattar variansen baserat på ett urval, inklusive tal, text och logiska värden +VARP = VARIANSP ## Beräknar variansen baserat på hela populationen +VARPA = VARPA ## Beräknar variansen baserat på hela populationen, inklusive tal, text och logiska värden +WEIBULL = WEIBULL ## Returnerar Weibull-fördelningen +ZTEST = ZTEST ## Returnerar det ensidiga sannolikhetsvärdet av ett z-test + + +## +## Text functions Textfunktioner +## +ASC = ASC ## Ändrar helbredds (dubbel byte) engelska bokstäver eller katakana inom en teckensträng till tecken med halvt breddsteg (enkel byte) +BAHTTEXT = BAHTTEXT ## Omvandlar ett tal till text med valutaformatet ß (baht) +CHAR = TECKENKOD ## Returnerar tecknet som anges av kod +CLEAN = STÄDA ## Tar bort alla icke utskrivbara tecken i en text +CODE = KOD ## Returnerar en numerisk kod för det första tecknet i en textsträng +CONCATENATE = SAMMANFOGA ## Sammanfogar flera textdelar till en textsträng +DOLLAR = VALUTA ## Omvandlar ett tal till text med valutaformat +EXACT = EXAKT ## Kontrollerar om två textvärden är identiska +FIND = HITTA ## Hittar en text i en annan (skiljer på gemener och versaler) +FINDB = HITTAB ## Hittar en text i en annan (skiljer på gemener och versaler) +FIXED = FASTTAL ## Formaterar ett tal som text med ett fast antal decimaler +JIS = JIS ## Ändrar halvbredds (enkel byte) engelska bokstäver eller katakana inom en teckensträng till tecken med helt breddsteg (dubbel byte) +LEFT = VÄNSTER ## Returnerar tecken längst till vänster i en sträng +LEFTB = VÄNSTERB ## Returnerar tecken längst till vänster i en sträng +LEN = LÄNGD ## Returnerar antalet tecken i en textsträng +LENB = LÄNGDB ## Returnerar antalet tecken i en textsträng +LOWER = GEMENER ## Omvandlar text till gemener +MID = EXTEXT ## Returnerar angivet antal tecken från en text med början vid den position som du anger +MIDB = EXTEXTB ## Returnerar angivet antal tecken från en text med början vid den position som du anger +PHONETIC = PHONETIC ## Returnerar de fonetiska (furigana) tecknen i en textsträng +PROPER = INITIAL ## Ändrar första bokstaven i varje ord i ett textvärde till versal +REPLACE = ERSÄTT ## Ersätter tecken i text +REPLACEB = ERSÄTTB ## Ersätter tecken i text +REPT = REP ## Upprepar en text ett bestämt antal gånger +RIGHT = HÖGER ## Returnerar tecken längst till höger i en sträng +RIGHTB = HÖGERB ## Returnerar tecken längst till höger i en sträng +SEARCH = SÖK ## Hittar ett textvärde i ett annat (skiljer inte på gemener och versaler) +SEARCHB = SÖKB ## Hittar ett textvärde i ett annat (skiljer inte på gemener och versaler) +SUBSTITUTE = BYT.UT ## Ersätter gammal text med ny text i en textsträng +T = T ## Omvandlar argumenten till text +TEXT = TEXT ## Formaterar ett tal och omvandlar det till text +TRIM = RENSA ## Tar bort blanksteg från text +UPPER = VERSALER ## Omvandlar text till versaler +VALUE = TEXTNUM ## Omvandlar ett textargument till ett tal diff --git a/htdocs/societe/checkvat/checkVatService.xml b/htdocs/societe/checkvat/checkVatService.xml index b4ceace39cd574f02cbbcdc2447fafae0f50587f..373775c2487da2d339785d3846b5f86f3290a7ef 100644 --- a/htdocs/societe/checkvat/checkVatService.xml +++ b/htdocs/societe/checkvat/checkVatService.xml @@ -1,173 +1,173 @@ -<?xml version="1.0" encoding="UTF-8"?> -<wsdl:definitions targetNamespace="urn:ec.europa.eu:taxud:vies:services:checkVat" xmlns:tns1="urn:ec.europa.eu:taxud:vies:services:checkVat:types" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:impl="urn:ec.europa.eu:taxud:vies:services:checkVat" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"> - <xsd:documentation> Specific disclaimer for this service ----------------------------------------- The - objective of this Internet site is to allow persons involved in the intra-Community supply of - goods or of services to obtain confirmation of the validity of the VAT identification number of - any specified person, in accordance to article 27 of Council Regulation (EC) No. 1798/2003 of 7 - October 2003. Any other use and any extraction and use of the data which is not in conformity - with the objective of this site is strictly forbidden. Any retransmission of the contents of - this site, whether for a commercial purpose or otherwise, as well as any more general use other - than as far as is necessary to support the activity of a legitimate user (for example: to draw - up their own invoices) is expressly forbidden. In addition, any copying or reproduction of the - contents of this site is strictly forbidden. The European Commission maintains this website to - enhance the access by taxable persons making intra-Community supplies to verification of their - customers VAT identification numbers. Our goal is to supply instantaneous and accurate - information. However the Commission accepts no responsibility or liability whatsoever with - regard to the information obtained using this site. This information: - is obtained from Member - States databases over which the Commission services have no control and for which the Commission - assumes no responsibility; it is the responsibility of the Member States to keep their databases - complete, accurate and up to date; - is not professional or legal advice (if you need specific - advice, you should always consult a suitably qualified professional); - does not in itself give - a right to exempt intra-Community supplies from Value Added Tax; - does not change any - obligations imposed on taxable persons in relation to intra-Community supplies. It is our goal - to minimise disruption caused by technical errors. However some data or information on our site - may have been created or structured in files or formats which are not error-free and we cannot - guarantee that our service will not be interrupted or otherwise affected by such problems. The - Commission accepts no responsibility with regard to such problems incurred as a result of using - this site or any linked external sites. This disclaimer is not intended to limit the liability - of the Commission in contravention of any requirements laid down in applicable national law nor - to exclude its liability for matters which may not be excluded under that law. Usage: The - countryCode input parameter must follow the pattern [A-Z]{2} The vatNumber input parameter must - follow the [0-9A-Za-z\+\*\.]{2,12} In case of problem, the returned FaultString can take the - following specific values: - INVALID_INPUT: The provided CountryCode is invalid or the VAT - number is empty; - SERVICE_UNAVAILABLE: The SOAP service is unavailable, try again later; - - MS_UNAVAILABLE: The Member State service is unavailable, try again later or with another Member - State; - TIMEOUT: The Member State service could not be reach in time, try again later or with - another Member State; - SERVER_BUSY: The service can't process your request. Try again latter. </xsd:documentation> - <wsdl:types> - <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="urn:ec.europa.eu:taxud:vies:services:checkVat:types" xmlns="urn:ec.europa.eu:taxud:vies:services:checkVat:types"> - <xsd:element name="checkVat"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="countryCode" type="xsd:string"/> - <xsd:element name="vatNumber" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="checkVatResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="countryCode" type="xsd:string"/> - <xsd:element name="vatNumber" type="xsd:string"/> - <xsd:element name="requestDate" type="xsd:date"/> - <xsd:element name="valid" type="xsd:boolean"/> - <xsd:element maxOccurs="1" minOccurs="0" name="name" nillable="true" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="address" nillable="true" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="checkVatApprox"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="countryCode" type="xsd:string"/> - <xsd:element name="vatNumber" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderName" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderCompanyType" type="tns1:companyTypeCode"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderStreet" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderPostcode" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderCity" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="requesterCountryCode" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="requesterVatNumber" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="checkVatApproxResponse"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="countryCode" type="xsd:string"/> - <xsd:element name="vatNumber" type="xsd:string"/> - <xsd:element name="requestDate" type="xsd:date"/> - <xsd:element name="valid" type="xsd:boolean"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderName" nillable="true" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderCompanyType" nillable="true" type="tns1:companyTypeCode"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderAddress" nillable="true" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderStreet" nillable="true" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderPostcode" nillable="true" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderCity" type="xsd:string"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderNameMatch" type="tns1:matchCode"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderCompanyTypeMatch" type="tns1:matchCode"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderStreetMatch" type="tns1:matchCode"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderPostcodeMatch" type="tns1:matchCode"/> - <xsd:element maxOccurs="1" minOccurs="0" name="traderCityMatch" type="tns1:matchCode"/> - <xsd:element name="requestIdentifier" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:simpleType name="companyTypeCode"> - <xsd:restriction base="xsd:string"> - <xsd:pattern value="[A-Z]{2}\-[1-9][0-9]?"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="matchCode"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="1"> - <xsd:annotation> - <xsd:documentation>VALID</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="2"> - <xsd:annotation> - <xsd:documentation>INVALID</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - </xsd:schema> - </wsdl:types> - <wsdl:message name="checkVatRequest"> - <wsdl:part name="parameters" element="tns1:checkVat"> - </wsdl:part> - </wsdl:message> - <wsdl:message name="checkVatApproxResponse"> - <wsdl:part name="parameters" element="tns1:checkVatApproxResponse"> - </wsdl:part> - </wsdl:message> - <wsdl:message name="checkVatApproxRequest"> - <wsdl:part name="parameters" element="tns1:checkVatApprox"> - </wsdl:part> - </wsdl:message> - <wsdl:message name="checkVatResponse"> - <wsdl:part name="parameters" element="tns1:checkVatResponse"> - </wsdl:part> - </wsdl:message> - <wsdl:portType name="checkVatPortType"> - <wsdl:operation name="checkVat"> - <wsdl:input name="checkVatRequest" message="impl:checkVatRequest"> - </wsdl:input> - <wsdl:output name="checkVatResponse" message="impl:checkVatResponse"> - </wsdl:output> - </wsdl:operation> - <wsdl:operation name="checkVatApprox"> - <wsdl:input name="checkVatApproxRequest" message="impl:checkVatApproxRequest"> - </wsdl:input> - <wsdl:output name="checkVatApproxResponse" message="impl:checkVatApproxResponse"> - </wsdl:output> - </wsdl:operation> - </wsdl:portType> - <wsdl:binding name="checkVatBinding" type="impl:checkVatPortType"> - <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> - <wsdl:operation name="checkVat"> - <wsdlsoap:operation soapAction=""/> - <wsdl:input name="checkVatRequest"> - <wsdlsoap:body use="literal"/> - </wsdl:input> - <wsdl:output name="checkVatResponse"> - <wsdlsoap:body use="literal"/> - </wsdl:output> - </wsdl:operation> - <wsdl:operation name="checkVatApprox"> - <wsdlsoap:operation soapAction=""/> - <wsdl:input name="checkVatApproxRequest"> - <wsdlsoap:body use="literal"/> - </wsdl:input> - <wsdl:output name="checkVatApproxResponse"> - <wsdlsoap:body use="literal"/> - </wsdl:output> - </wsdl:operation> - </wsdl:binding> - <wsdl:service name="checkVatService"> - <wsdl:port name="checkVatPort" binding="impl:checkVatBinding"> - <wsdlsoap:address location="http://ec.europa.eu/taxation_customs/vies/services/checkVatService"/> - </wsdl:port> - </wsdl:service> -</wsdl:definitions> +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions targetNamespace="urn:ec.europa.eu:taxud:vies:services:checkVat" xmlns:tns1="urn:ec.europa.eu:taxud:vies:services:checkVat:types" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:impl="urn:ec.europa.eu:taxud:vies:services:checkVat" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"> + <xsd:documentation> Specific disclaimer for this service ----------------------------------------- The + objective of this Internet site is to allow persons involved in the intra-Community supply of + goods or of services to obtain confirmation of the validity of the VAT identification number of + any specified person, in accordance to article 27 of Council Regulation (EC) No. 1798/2003 of 7 + October 2003. Any other use and any extraction and use of the data which is not in conformity + with the objective of this site is strictly forbidden. Any retransmission of the contents of + this site, whether for a commercial purpose or otherwise, as well as any more general use other + than as far as is necessary to support the activity of a legitimate user (for example: to draw + up their own invoices) is expressly forbidden. In addition, any copying or reproduction of the + contents of this site is strictly forbidden. The European Commission maintains this website to + enhance the access by taxable persons making intra-Community supplies to verification of their + customers VAT identification numbers. Our goal is to supply instantaneous and accurate + information. However the Commission accepts no responsibility or liability whatsoever with + regard to the information obtained using this site. This information: - is obtained from Member + States databases over which the Commission services have no control and for which the Commission + assumes no responsibility; it is the responsibility of the Member States to keep their databases + complete, accurate and up to date; - is not professional or legal advice (if you need specific + advice, you should always consult a suitably qualified professional); - does not in itself give + a right to exempt intra-Community supplies from Value Added Tax; - does not change any + obligations imposed on taxable persons in relation to intra-Community supplies. It is our goal + to minimise disruption caused by technical errors. However some data or information on our site + may have been created or structured in files or formats which are not error-free and we cannot + guarantee that our service will not be interrupted or otherwise affected by such problems. The + Commission accepts no responsibility with regard to such problems incurred as a result of using + this site or any linked external sites. This disclaimer is not intended to limit the liability + of the Commission in contravention of any requirements laid down in applicable national law nor + to exclude its liability for matters which may not be excluded under that law. Usage: The + countryCode input parameter must follow the pattern [A-Z]{2} The vatNumber input parameter must + follow the [0-9A-Za-z\+\*\.]{2,12} In case of problem, the returned FaultString can take the + following specific values: - INVALID_INPUT: The provided CountryCode is invalid or the VAT + number is empty; - SERVICE_UNAVAILABLE: The SOAP service is unavailable, try again later; - + MS_UNAVAILABLE: The Member State service is unavailable, try again later or with another Member + State; - TIMEOUT: The Member State service could not be reach in time, try again later or with + another Member State; - SERVER_BUSY: The service can't process your request. Try again latter. </xsd:documentation> + <wsdl:types> + <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="urn:ec.europa.eu:taxud:vies:services:checkVat:types" xmlns="urn:ec.europa.eu:taxud:vies:services:checkVat:types"> + <xsd:element name="checkVat"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="countryCode" type="xsd:string"/> + <xsd:element name="vatNumber" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="checkVatResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="countryCode" type="xsd:string"/> + <xsd:element name="vatNumber" type="xsd:string"/> + <xsd:element name="requestDate" type="xsd:date"/> + <xsd:element name="valid" type="xsd:boolean"/> + <xsd:element maxOccurs="1" minOccurs="0" name="name" nillable="true" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="address" nillable="true" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="checkVatApprox"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="countryCode" type="xsd:string"/> + <xsd:element name="vatNumber" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderName" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderCompanyType" type="tns1:companyTypeCode"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderStreet" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderPostcode" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderCity" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="requesterCountryCode" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="requesterVatNumber" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="checkVatApproxResponse"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="countryCode" type="xsd:string"/> + <xsd:element name="vatNumber" type="xsd:string"/> + <xsd:element name="requestDate" type="xsd:date"/> + <xsd:element name="valid" type="xsd:boolean"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderName" nillable="true" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderCompanyType" nillable="true" type="tns1:companyTypeCode"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderAddress" nillable="true" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderStreet" nillable="true" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderPostcode" nillable="true" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderCity" type="xsd:string"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderNameMatch" type="tns1:matchCode"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderCompanyTypeMatch" type="tns1:matchCode"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderStreetMatch" type="tns1:matchCode"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderPostcodeMatch" type="tns1:matchCode"/> + <xsd:element maxOccurs="1" minOccurs="0" name="traderCityMatch" type="tns1:matchCode"/> + <xsd:element name="requestIdentifier" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:simpleType name="companyTypeCode"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="[A-Z]{2}\-[1-9][0-9]?"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="matchCode"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="1"> + <xsd:annotation> + <xsd:documentation>VALID</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="2"> + <xsd:annotation> + <xsd:documentation>INVALID</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + </xsd:schema> + </wsdl:types> + <wsdl:message name="checkVatRequest"> + <wsdl:part name="parameters" element="tns1:checkVat"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="checkVatApproxResponse"> + <wsdl:part name="parameters" element="tns1:checkVatApproxResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="checkVatApproxRequest"> + <wsdl:part name="parameters" element="tns1:checkVatApprox"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="checkVatResponse"> + <wsdl:part name="parameters" element="tns1:checkVatResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="checkVatPortType"> + <wsdl:operation name="checkVat"> + <wsdl:input name="checkVatRequest" message="impl:checkVatRequest"> + </wsdl:input> + <wsdl:output name="checkVatResponse" message="impl:checkVatResponse"> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="checkVatApprox"> + <wsdl:input name="checkVatApproxRequest" message="impl:checkVatApproxRequest"> + </wsdl:input> + <wsdl:output name="checkVatApproxResponse" message="impl:checkVatApproxResponse"> + </wsdl:output> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="checkVatBinding" type="impl:checkVatPortType"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="checkVat"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="checkVatRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="checkVatResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="checkVatApprox"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="checkVatApproxRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="checkVatApproxResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="checkVatService"> + <wsdl:port name="checkVatPort" binding="impl:checkVatBinding"> + <wsdlsoap:address location="http://ec.europa.eu/taxation_customs/vies/services/checkVatService"/> + </wsdl:port> + </wsdl:service> +</wsdl:definitions>