debian/0000755000000000000000000000000011551241534007167 5ustar debian/install0000644000000000000000000000007711551241534010564 0ustar include /usr/share/pgfouine/ version.php /usr/share/pgfouine/ debian/README.Debian0000644000000000000000000000356411551241534011240 0ustar Configuring PostgreSQL to use with pgFouine ------------------------------------------- pgFouine reads PostgreSQL logs to generate its reports. You therefore need to enable query logging in PostgreSQL. The currently recommended method is to do this through syslog. You need to edit your postgresql.conf file (usually, /etc/postgresql/8.1/main/postgresql.conf) and set the following values: log_destination = 'syslog' redirect_stderr = off silent_mode = on log_min_duration_statement = n log_duration = off log_statement = 'none' Where "n" is a number of milliseconds. Any query taking more that n milliseconds will be logged. If n is 0, all queries will be logged. If n is -1, no query will be logged. You then need to edit your syslog configuration file to redirect postgresql log information to a file. If you use sysklogd, just add the following line to /etc/syslog.conf: local0.* -/var/log/pgsql It is also recommended to add ";local0.none" to the "/var/log/messages" line, to avoid duplicate logging. If you use syslog-ng, you could use the following configuration: destination df_pg { file("/var/log/postgres.log"); }; filter f_pg { facility( local0 ); }; log { source(s_all); filter(f_pg); destination( df_pg ); }; Note that the syslog facility can be changed in postgreSQL configuration file. Generating VACUUM reports ------------------------- pgFouine can generate VACUUM reports to help you improve your vacuuming strategy. To do this, get the output of the "vacuum verbose analyze" command, and run: pgfouine_vacuum -file your_vacuum_log > vacuum.html Configuring PHP for generation of graphs ---------------------------------------- pgFouine uses the GD2 library to draw graphs. You need to enable it in PHP configuration has this is not done automatically. As root, edit the /etc/php5/cli/php.ini file and uncomment the ";extension=gd.so" line by removing the leading ";". debian/pgfouine_vacuum.10000644000000000000000000000231611551241534012447 0ustar .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36. .TH pgfouine_vacuum "1" "August 2006" "pgfouine_vacuum " "User Commands" .SH NAME pgfouine_vacuum \- PostgreSQL VACUUM log analyzer .SH SYNOPSIS .B pgfouine_vacuum \fI-file \fR[\fI-report \fR[\fIoutputfile=\fR]\fI\fR] [\fI-filter \fR] .SH DESCRIPTION .TP \fB\-file\fR log file to analyze .TP \- read the log from stdin instead of \fB\-file\fR .TP \fB\-report\fR [outputfile=] list of report blocks separated by a comma report blocks can be: overall, fsm, vacuumedtables, details .IP You can add several \fB\-report\fR options if you want to generate several reports at once. .TP \fB\-filter\fR filter of the form: database or database.schema filter is applied on output only .TP \fB\-title\fR define the title of the reports .TP \fB\-memorylimit\fR <n> PHP memory limit in MB. Default is 128. .TP \fB\-debug\fR debug mode .TP \fB\-profile\fR profile mode .TP \fB\-help\fR this help .SH "AUTHOR" .I pgfouine was written by Guillaume Smet <guillaume-pg at smet dot org>. .TP This manpage was written by Clement Stenac <zorglub at debian dot org> for the Debian project, but may be used by others. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/dirs�����������������������������������������������������������������������������������������0000644�0000000�0000000�00000000036�11551241534�010052� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/usr/bin/ /usr/share/pgfouine ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/patches/�������������������������������������������������������������������������������������0000755�0000000�0000000�00000000000�11551241534�010616� 5����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/patches/20-font-path�������������������������������������������������������������������������0000644�0000000�0000000�00000001311�11551241534�012654� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Description: Patch to use Debian fonts Origin: Barry deFreese <bdefreese@debian.org> Last-Update: 2009-05-11 Index: pgfouine/include/reporting/artichow/Artichow.cfg.php =================================================================== --- pgfouine.orig/include/reporting/artichow/Artichow.cfg.php 2010-05-20 00:51:18.000000000 -0500 +++ pgfouine/include/reporting/artichow/Artichow.cfg.php 2010-05-24 22:56:06.000000000 -0500 @@ -19,7 +19,7 @@ * Don't change the value of the constant ARTICHOW_FONT, only the value of $path (due to a PHP bug) */ -define('ARTICHOW_FONT', ARTICHOW.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'font'); +define('ARTICHOW_FONT', '/usr/share/fonts/truetype/ttf-dejavu'); /* �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/patches/30-use-php-gesi����������������������������������������������������������������������0000644�0000000�0000000�00000001627�11551241534�013275� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Description: Patch to use debian php-geshi instead the one packaged Origin: Marcos Marado <marcos.marado@sonae.com> Last-Update: 2008-11-06 Index: pgfouine/include/reporting/reports.lib.php =================================================================== --- pgfouine.orig/include/reporting/reports.lib.php 2010-05-20 00:51:16.000000000 -0500 +++ pgfouine/include/reporting/reports.lib.php 2010-05-24 22:56:07.000000000 -0500 @@ -24,7 +24,7 @@ require_once('ReportAggregator.class.php'); require_once('TextReportAggregator.class.php'); -include_once('geshi/geshi.php'); +include_once('/usr/share/php-geshi/geshi.php'); require_once('HtmlReportAggregator.class.php'); require_once('HtmlWithGraphsReportAggregator.class.php'); @@ -46,4 +46,4 @@ require_once('reports/NormalizedErrorsReport.class.php'); require_once('reports/NormalizedErrorsMostFrequentReport.class.php'); -?> \ No newline at end of file +?> ���������������������������������������������������������������������������������������������������������debian/patches/25-missing-ignored-lines�������������������������������������������������������������0000644�0000000�0000000�00000002624�11551241534�015177� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Description: Patch to add another set of messages to the parser Origin: Debian Index: pgfouine/include/postgresql/parsers/PostgreSQLParser.class.php =================================================================== --- pgfouine.orig/include/postgresql/parsers/PostgreSQLParser.class.php 2010-05-20 00:51:17.000000000 -0500 +++ pgfouine/include/postgresql/parsers/PostgreSQLParser.class.php 2010-05-24 22:56:07.000000000 -0500 @@ -95,8 +95,14 @@ strpos($postMatch, 'removing file "') !== 0 && strpos($postMatch, 'could not receive data from client') !== 0 && strpos($postMatch, 'checkpoints are occurring too frequently (') !== 0 && - strpos($postMatch, 'invalid length of startup packet') !== 0 && - strpos($postMatch, 'incomplete startup packet') !== 0 + strpos($postMatch, 'database system is ready') !== 0 && + strpos($postMatch, 'database system was shut down') !== 0 && + strpos($postMatch, 'incomplete startup packet') !== 0 && + strpos($postMatch, 'redo record is at') !== 0 && + strpos($postMatch, 'checkpoint record is at') !== 0 && + strpos($postMatch, 'next transaction ID') !== 0 && + strpos($postMatch, 'next MultiXactId') !== 0 && + strpos($postMatch, 'invalid length of startup packet') !== 0 )) { stderr('Unrecognized LOG or DEBUG line: '.$text, true); } @@ -130,4 +136,4 @@ } } -?> \ No newline at end of file +?> ������������������������������������������������������������������������������������������������������������debian/patches/10-include-path����������������������������������������������������������������������0000644�0000000�0000000�00000002117�11551241534�013335� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Description: Patch to include pgfouine dir in PATH Origin: Debian Index: pgfouine/pgfouine.php =================================================================== --- pgfouine.orig/pgfouine.php 2010-05-20 00:51:18.000000000 -0500 +++ pgfouine/pgfouine.php 2010-05-24 23:14:00.000000000 -0500 @@ -32,6 +32,8 @@ error_reporting(E_ALL); } +ini_set( 'include_path', '/usr/share/pgfouine/'); + include('version.php'); require_once('include/lib/common.lib.php'); require_once('include/base.lib.php'); @@ -447,4 +449,4 @@ exit(0); -?> \ No newline at end of file +?> Index: pgfouine/pgfouine_vacuum.php =================================================================== --- pgfouine.orig/pgfouine_vacuum.php 2010-05-20 00:51:18.000000000 -0500 +++ pgfouine/pgfouine_vacuum.php 2010-05-24 23:14:00.000000000 -0500 @@ -30,6 +30,8 @@ error_reporting(E_ALL); } +ini_set( 'include_path', '/usr/share/pgfouine/'); + include('version.php'); require_once('include/lib/common.lib.php'); require_once('include/base.lib.php'); @@ -258,4 +260,4 @@ fclose($stderr); -?> \ No newline at end of file +?> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/patches/15-use-php5��������������������������������������������������������������������������0000644�0000000�0000000�00000001226�11551241534�012433� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Description: Patch for use php5 Origin: Debian Index: pgfouine/pgfouine.php =================================================================== --- pgfouine.orig/pgfouine.php 2010-05-24 22:56:06.000000000 -0500 +++ pgfouine/pgfouine.php 2010-05-24 22:56:06.000000000 -0500 @@ -1,4 +1,4 @@ -#! /usr/bin/php -qC +#! /usr/bin/php5 -qC <?php /* Index: pgfouine/pgfouine_vacuum.php =================================================================== --- pgfouine.orig/pgfouine_vacuum.php 2010-05-24 22:56:06.000000000 -0500 +++ pgfouine/pgfouine_vacuum.php 2010-05-24 22:56:06.000000000 -0500 @@ -1,4 +1,4 @@ -#! /usr/bin/php -qC +#! /usr/bin/php5 -qC <?php /* ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/patches/series�������������������������������������������������������������������������������0000644�0000000�0000000�00000000122�11551241534�012026� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������10-include-path 15-use-php5 20-font-path 25-missing-ignored-lines 30-use-php-gesi ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/source/��������������������������������������������������������������������������������������0000755�0000000�0000000�00000000000�11551241534�010467� 5����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/source/format��������������������������������������������������������������������������������0000644�0000000�0000000�00000000014�11551241534�011675� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3.0 (quilt) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/pgfouine.1�����������������������������������������������������������������������������������0000644�0000000�0000000�00000003755�11551241534�011077� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36. .TH pgfouine "1" "August 2006" "pgfouine " "User Commands" .SH NAME pgfouine \- PostgreSQL log analyzer .SH SYNOPSIS .B pgfouine \fI-file <file> \fR[\fI-top <n>\fR] [\fI-format <format>\fR] [\fI-logtype <logtype>\fR] [\fI-report \fR[\fIoutputfile=\fR]\fI<block1,block2>\fR] .SH DESCRIPTION .TP \fB\-file\fR <file> log file to analyze .TP \- read the log from stdin instead of \fB\-file\fR .TP \fB\-top\fR <n> number of queries in lists. Default is 20. .TP \fB\-format\fR <format> output format: html, html\-with\-graphs or text. Default is html. .TP \fB\-logtype\fR <logtype> log type: syslog or stderr. Default is syslog. for stderr, you have to use the following log_line_prefix: '%t [%p]: [%l\-1] ' .TP \fB\-report\fR [outputfile=]<block1,block2> list of report blocks separated by a comma report blocks can be: overall, hourly, bytype, slowest, n\-mosttime, n\-mostfrequent, n\-slowestaverage, history, n\-mostfrequenterrors, tsung .IP You can add several \fB\-report\fR options if you want to generate several reports at once .TP \fB\-examples\fR <n> maximum number of examples for a normalized query .TP \fB\-onlyselect\fR ignore all queries but SELECT .TP \fB\-from\fR "<date>" ignore lines logged before this date (uses strtotime) .TP \fB\-to\fR "<date>" ignore lines logged after this date (uses strtotime) .TP \fB\-database\fR <database> consider only queries on this database .TP \fB\-user\fR <user> consider only queries executed by this user .TP \fB\-title\fR <title> define the title of the reports .TP \fB\-syslogident\fR <ident> PostgreSQL syslog identity. Default is postgres. .TP \fB\-memorylimit\fR <n> PHP memory limit in MB. Default is 128. .TP \fB\-debug\fR debug mode .TP \fB\-profile\fR profile mode .TP \fB\-help\fR this help .SH "AUTHOR" .I pgfouine was written by Guillaume Smet <guillaume-pg at smet dot org>. .TP This manpage was written by Clement Stenac <zorglub at debian dot org> for the Debian project, but may be used by others. �������������������debian/copyright������������������������������������������������������������������������������������0000644�0000000�0000000�00000004115�11551241534�011123� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������This package was debianized by Clément Stenac <zorglub@debian.org> on Sat, 19 Aug 2006 10:00:01 +0200. It was downloaded from http://pgfouine.projects.postgresql.org/ Upstream author: Guillaume Smet <guillaume-pg at smet dot org> Licence: This software is licensed under the GNU General Public Licence. On Debian systems, this license can be found in /usr/share/common-licenses pgfouine includes the following programs: * The Artichow graphing library is released in the public domain and can be found at http://www.artichow.org * The simpletest testing library is Copyright Marcus Baker (marcus at lastcraft dot com) and is licenced under the GNU Lesser General Public Licence, which can be found in /usr/share/common-licenses on Debian systems. * Upstream tarball includes the DejaVu fonts. This font are based on Bitstream Vera fonts version 1.10. Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. The full licence for this font can be found in the ttf-dejavu-core package * The sorttable javascript sorting script is Copyright (c) 1997 Stuart Langridge and released under the so-called MIT licence, which follows : Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/watch����������������������������������������������������������������������������������������0000644�0000000�0000000�00000000171�11551241534�010217� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������version=3 http://pgfoundry.org/frs/?group_id=1000152 /frs/download.php/[0-9]+/pgfouine-([0-9.]+).tar.gz debian uupdate �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/control��������������������������������������������������������������������������������������0000644�0000000�0000000�00000001656�11551241534�010602� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Source: pgfouine Section: misc Priority: optional Maintainer: Luis Uribe <acme@eviled.org> Build-Depends: debhelper (>= 7) Standards-Version: 3.9.2 Homepage: http://pgfouine.projects.postgresql.org/ Package: pgfouine Architecture: all Depends: ${misc:Depends}, php5-cli, php5-gd, ttf-dejavu, php-geshi Description: PostgreSQL log analyzer pgFouine is a log analyzer for the PostgreSQL database system, used to generate detailed reports from a PostgreSQL log file. . It is able to: * Analyze queries, to help determine which queries should be optimized to speed up PostgreSQL based applications. * Get an overview of the database activity. * Analyse VACUUM maintenance operations. * Generate session files for the Tsung load testing software. pgFouine is easily extensible to add custom reports. . Please refer to /usr/share/doc/pgfouine/README.Debian for information on how to configure PostgreSQL for use with pgfouine. ����������������������������������������������������������������������������������debian/rules����������������������������������������������������������������������������������������0000755�0000000�0000000�00000001710�11551241534�010246� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/make -f build: build-stamp build-stamp: dh_testdir touch build-stamp clean: dh_testdir dh_testroot -rm -f build-stamp rm -rf .pc dh_clean install: build dh_testdir dh_testroot dh_prep binary-indep: build install dh_testdir dh_testroot dh_installdirs -A cp pgfouine.php debian/pgfouine/usr/bin/pgfouine cp pgfouine_vacuum.php debian/pgfouine/usr/bin/pgfouine_vacuum dh_install -A # Remove geshi from upstream because we use the one in Debian rm -rf debian/pgfouine/usr/share/pgfouine/include/reporting/geshi rm -rf debian/pgfouine/usr/share/pgfouine/include/reporting/artichow/font dh_installman -A debian/pgfouine.1 dh_installman -A debian/pgfouine_vacuum.1 dh_installchangelogs -A ChangeLog dh_installdocs -A dh_compress -A dh_fixperms -A dh_installdeb -A dh_gencontrol -A dh_md5sums -A dh_builddeb -A binary-arch: #Nothing to be done here. binary: binary-indep binary-arch .PHONY: binary binary-indep binary-arch clean ��������������������������������������������������������debian/compat���������������������������������������������������������������������������������������0000644�0000000�0000000�00000000002�11551241534�010365� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������7 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������debian/changelog������������������������������������������������������������������������������������0000644�0000000�0000000�00000005041�11551241534�011041� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pgfouine (1.2-3) unstable; urgency=low * debian/patches/10-include-path + Remove '.' from include_path to prevent a security hole * debian/control + Bump Standards Version to 3.9.2. (No changes needed). -- Luis Uribe <acme@eviled.org> Wed, 13 Apr 2011 01:26:07 -0500 pgfouine (1.2-2) unstable; urgency=low * debian/control + Bump Standards Version to 3.9.1. (No changes needed). * Repackage upstream source to remove CVS dirs. * debian/rules + Remove php-geshi from upstream. * debian/copyright + Remove the reference to Geshi because we are not installing it. -- Luis Uribe <acme@eviled.org> Wed, 02 Feb 2011 14:22:52 -0500 pgfouine (1.2-1) unstable; urgency=low * New upstream version (Closes: #540625) * New maintainer (Closes: #580880, #572647) * debian/patches + Remove +40-font-name. Included in upstream + Use DEP-3 format for the comments * debian/control + Bump Standards Version to 3.9.0. (No changes needed). + Add ${misc:Depends} to Depends: + Add Homepage field * debian/compat + Bump debhelper version to 7 * Switch to dpkg-source 3.0 (quilt) format * debian/watch + Add file * debian/copyright + Upstream changes the Bitstream Vera for the DejaVu fonts. -- Luis Uribe <acme@eviled.org> Tue, 20 Jul 2010 14:15:53 -0500 pgfouine (1.0-1.3) unstable; urgency=low * Non-maintainer upload. * Replace ttf-bitstream-vera with ttf-dejavu. (Closes: #461281). + 20-font-path - Change patch to point to ttf-dejavu dir. + 40-font-name - New patch. Replace Vera with DejavuSans. -- Barry deFreese <bdefreese@debian.org> Mon, 11 May 2009 11:05:23 -0400 pgfouine (1.0-1.2) unstable; urgency=low * Non-maintainer upload. * It's php-geshi, not php-gesi. -- Barry deFreese <bdefreese@debian.org> Fri, 07 Nov 2008 09:55:42 -0500 pgfouine (1.0-1.1) unstable; urgency=low * Non-maintainer upload. * 30-use-php-gesi. Use php-gesi. (Closes: #504681). + Thanks to Marcos Marado for the patch. * Remove .pc dir on clean. * Remove binary-arch commands as package is binary-indep. * Remove unnecessary linda override file. * Bump Standards Version to 3.8.0. (No changes needed). -- Barry deFreese <bdefreese@debian.org> Thu, 06 Nov 2008 16:50:59 -0500 pgfouine (1.0-1) unstable; urgency=low * New upstream version (Closes: #433760) -- Clément Stenac <zorglub@debian.org> Tue, 21 Aug 2007 22:28:29 +0200 pgfouine (0.7-1) unstable; urgency=low * Initial release (Closes:#383609) -- Clément Stenac <zorglub@debian.org> Sat, 19 Aug 2006 10:27:19 +0200 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������