2
0
mirror of https://github.com/ACSPRI/queXS synced 2024-04-02 12:12:16 +00:00

Import from DCARF SVN

This commit is contained in:
azammitdcarf
2008-10-15 04:55:53 +00:00
parent ec24d5af18
commit 4f0b4f0bbb
57 changed files with 17565 additions and 0 deletions

View File

@@ -0,0 +1,141 @@
<?php
/*
* LimeSurvey
* Copyright (C) 2007 The LimeSurvey Project Team / Carsten Schmitz
* All rights reserved.
* License: GNU/GPL License v2 or later, see LICENSE.php
* LimeSurvey is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*
* $Id: access_denied.php 4247 2008-02-16 00:24:07Z lemeur $
*/
if (!isset($dbprefix) || isset($_REQUEST['dbprefix'])) {die("Cannot run this script directly (access_denied)");}
if (isset($_SESSION['loginID']))
{
$accesssummary = "<br /><strong>".$clang->gT("Access denied!")."</strong><br />\n";
$action=returnglobal('action');
if ( $action == "dumpdb" )
{
$accesssummary .= "<p>".$clang->gT("You are not allowed dump the database!")."</p>";
$accesssummary .= "<a href='$scriptname'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "dumplabel")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed export a label set!")."</p>";
$accesssummary .= "<a href='$scriptname'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "edituser")
{
$accesssummary .= $clang->gT("You are not allowed to change user data!");
$accesssummary .= "<br /><br /><a href='$scriptname?action=editusers'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "newsurvey")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to create new surveys!")."</p>";
$accesssummary .= "<a href='$scriptname'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "deletesurvey")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to delete this survey!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "addquestion")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to add new questions for this survey!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "activate")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to activate this survey!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "deactivate")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to deactivate this survey!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "addgroup")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to add a group to this survey!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "ordergroups")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to order groups in this survey!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "editsurvey")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to edit this survey!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "editgroup")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to edit groups in this survey!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "browse_response" || $action == "listcolumn" || $action == "vvexport" || $action == "vvimport")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to browse responses!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "assessment")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to set assessment rules!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "delusergroup")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to delete this group!")."</p>";
$accesssummary .= "<a href='$scriptname?action=editusergroups'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "importsurvey")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to import a survey!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "importgroup")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to import a group!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "importquestion")
{
$accesssummary .= "<p>".$clang->gT("You are not allowed to to import a question!")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "CSRFwarn")
{
$accesssummary .= "<p><font color='red'>".$clang->gT("Security Alert")."</font>: ".$clang->gT("Someone may be trying to use your LimeSurvey session (CSRF attack suspected). If you just clicked on a malicious link, please report this to your system administrator.")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
elseif($action == "FakeGET")
{
$accesssummary .= "<p><font color='red'>".$clang->gT("Security Alert")."</font>: ".$clang->gT("Someone may be trying to use your LimeSurvey session by using dangerous GET requests (CSRF attack suspected). If you just clicked on a malicious link, please report this to your system administrator.")."</p>";
$accesssummary .= "<a href='$scriptname?sid={$sid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
else
{
$accesssummary .= "<br />".$clang->gT("You are not allowed to perform this operation!")."<br />\n";
if(!empty($sid))
$accesssummary .= "<br /><br /><a href='$scriptname?sid=$sid>".$clang->gT("Continue")."</a><br />&nbsp;\n";
elseif(!empty($ugid))
//elseif(isset($_GET['ugid']))
{
$accesssummary .= "<br /><br /><a href='$scriptname?action=editusergroups&ugid={$ugid}'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
else
$accesssummary .= "<br /><br /><a href='$scriptname'>".$clang->gT("Continue")."</a><br />&nbsp;\n";
}
}
?>

View File

@@ -0,0 +1,550 @@
<?php
/*
* LimeSurvey
* Copyright (C) 2007 The LimeSurvey Project Team / Carsten Schmitz
* All rights reserved.
* License: GNU/GPL License v2 or later, see LICENSE.php
* LimeSurvey is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*
* $Id: activate.php 4973 2008-06-01 14:07:01Z c_schmitz $
*/
//Ensure script is not run directly, avoid path disclosure
include_once("login_check.php"); //Login Check dies also if the script is started directly
$postsid=returnglobal('sid');
$activateoutput='';
if (!isset($_POST['ok']) || !$_POST['ok'])
{
if (isset($_GET['fixnumbering']) && $_GET['fixnumbering'])
{
//Fix a question id - requires renumbering a question
$oldqid = $_GET['fixnumbering'];
$query = "SELECT qid FROM {$dbprefix}questions ORDER BY qid DESC";
$result = db_select_limit_assoc($query, 1) or safe_die($query."<br />".$connect->ErrorMsg());
while ($row=$result->FetchRow()) {$lastqid=$row['qid'];}
$newqid=$lastqid+1;
$query = "UPDATE {$dbprefix}questions SET qid=$newqid WHERE qid=$oldqid";
$result = $connect->Execute($query) or safe_die($query."<br />".$connect->ErrorMsg());
//Update conditions.. firstly conditions FOR this question
$query = "UPDATE {$dbprefix}conditions SET qid=$newqid WHERE qid=$oldqid";
$result = $connect->Execute($query) or safe_die($query."<br />".$connect->ErrorMsg());
//Now conditions based upon this question
$query = "SELECT cqid, cfieldname FROM {$dbprefix}conditions WHERE cqid=$oldqid";
$result = db_execute_assoc($query) or safe_die($query."<br />".$connect->ErrorMsg());
while ($row=$result->FetchRow())
{
$switcher[]=array("cqid"=>$row['cqid'], "cfieldname"=>$row['cfieldname']);
}
if (isset($switcher))
{
foreach ($switcher as $switch)
{
$query = "UPDATE {$dbprefix}conditions
SET cqid=$newqid,
cfieldname='".str_replace("X".$oldqid, "X".$newqid, $switch['cfieldname'])."'
WHERE cqid=$oldqid";
$result = $connect->Execute($query) or safe_die($query."<br />".$connect->ErrorMsg());
}
}
//Now question_attributes
$query = "UPDATE {$dbprefix}question_attributes SET qid=$newqid WHERE qid=$oldqid";
$result = $connect->Execute($query) or safe_die($query."<br />".$connect->ErrorMsg());
//Now answers
$query = "UPDATE {$dbprefix}answers SET qid=$newqid WHERE qid=$oldqid";
$result = $connect->Execute($query) or safe_die($query."<br />".$connect->ErrorMsg());
}
//CHECK TO MAKE SURE ALL QUESTION TYPES THAT REQUIRE ANSWERS HAVE ACTUALLY GOT ANSWERS
//THESE QUESTION TYPES ARE:
// # "L" -> LIST
// # "O" -> LIST WITH COMMENT
// # "M" -> MULTIPLE OPTIONS
// # "P" -> MULTIPLE OPTIONS WITH COMMENTS
// # "A", "B", "C", "E", "F", "H", "^" -> Various Array Types
// # "R" -> RANKING
// # "U" -> FILE CSV MORE
// # "I" -> FILE CSV ONE
// # "1" -> MULTI SCALE
$chkquery = "SELECT qid, question, gid FROM {$dbprefix}questions WHERE sid={$_GET['sid']} AND type IN ('L', 'O', 'M', 'P', 'A', 'B', 'C', 'E', 'F', 'R', 'J', '!', '^', '1')";
$chkresult = db_execute_assoc($chkquery) or safe_die ("Couldn't get list of questions<br />$chkquery<br />".$connect->ErrorMsg());
while ($chkrow = $chkresult->FetchRow())
{
$chaquery = "SELECT * FROM {$dbprefix}answers WHERE qid = {$chkrow['qid']} ORDER BY sortorder, answer";
$charesult=$connect->Execute($chaquery);
$chacount=$charesult->RecordCount();
if (!$chacount > 0)
{
$failedcheck[]=array($chkrow['qid'], $chkrow['question'], ": ".$clang->gT("This question is a multiple answer type question but has no answers."), $chkrow['gid']);
}
}
//NOW CHECK THAT ALL QUESTIONS HAVE A 'QUESTION TYPE' FIELD
$chkquery = "SELECT qid, question, gid FROM {$dbprefix}questions WHERE sid={$_GET['sid']} AND type = ''";
$chkresult = db_execute_assoc($chkquery) or safe_die ("Couldn't check questions for missing types<br />$chkquery<br />".$connect->ErrorMsg());
while ($chkrow = $chkresult->FetchRow())
{
$failedcheck[]=array($chkrow['qid'], $chkrow['question'], ": ".$clang->gT("This question does not have a question 'type' set."), $chkrow['gid']);
}
//CHECK THAT FLEXIBLE LABEL TYPE QUESTIONS HAVE AN "LID" SET
$chkquery = "SELECT qid, question, gid FROM {$dbprefix}questions WHERE sid={$_GET['sid']} AND type IN ('F', 'H', 'W', 'Z', '1') AND (lid = 0 OR lid is null)";
$chkresult = db_execute_assoc($chkquery) or safe_die ("Couldn't check questions for missing LIDs<br />$chkquery<br />".$connect->ErrorMsg());
while($chkrow = $chkresult->FetchRow()){
$failedcheck[]=array($chkrow['qid'], $chkrow['question'], ": ".$clang->gT("This question requires a Labelset, but none is set."), $chkrow['gid']);
} // while
//CHECK THAT FLEXIBLE LABEL TYPE QUESTIONS HAVE AN "LID1" SET FOR MULTI SCALE
$chkquery = "SELECT qid, question, gid FROM {$dbprefix}questions WHERE sid={$_GET['sid']} AND (type ='1') AND (lid1 = 0 OR lid1 is null)";
$chkresult = db_execute_assoc($chkquery) or safe_die ("Couldn't check questions for missing LIDs<br />$chkquery<br />".$connect->ErrorMsg());
while($chkrow = $chkresult->FetchRow()){
$failedcheck[]=array($chkrow['qid'], $chkrow['question'], ": ".$clang->gT("This question requires a second Labelset, but none is set."), $chkrow['gid']);
} // while
//NOW check that all used labelsets have all necessary languages
$chkquery = "SELECT qid, question, gid, lid FROM {$dbprefix}questions WHERE sid={$_GET['sid']} AND type IN ('F', 'H', 'W', 'Z', '1') AND (lid > 0) AND (lid is not null)";
$chkresult = db_execute_assoc($chkquery) or safe_die ("Couldn't check questions for missing LID languages<br />$chkquery<br />".$connect->ErrorMsg());
$slangs = GetAdditionalLanguagesFromSurveyID($surveyid);
$baselang = GetBaseLanguageFromSurveyID($surveyid);
array_unshift($slangs,$baselang);
while ($chkrow = $chkresult->FetchRow())
{
foreach ($slangs as $surveylanguage)
{
$chkquery2 = "SELECT lid FROM {$dbprefix}labels WHERE language='$surveylanguage' AND (lid = {$chkrow['lid']}) ";
$chkresult2 = db_execute_assoc($chkquery2);
if ($chkresult2->RecordCount()==0)
{
$failedcheck[]=array($chkrow['qid'], $chkrow['question'], ": ".$clang->gT("The labelset used in this question does not exists or is missing a translation."), $chkrow['gid']);
}
} //foreach
} //while
//CHECK THAT ALL CONDITIONS SET ARE FOR QUESTIONS THAT PRECEED THE QUESTION CONDITION
//A: Make an array of all the qids in order of appearance
// $qorderquery="SELECT * FROM {$dbprefix}questions, {$dbprefix}groups WHERE {$dbprefix}questions.gid={$dbprefix}groups.gid AND {$dbprefix}questions.sid={$_GET['sid']} ORDER BY {$dbprefix}groups.sortorder, {$dbprefix}questions.title";
// $qorderresult=$connect->Execute($qorderquery) or safe_die("Couldn't generate a list of questions in order<br />$qorderquery<br />".$connect->ErrorMsg());
// $qordercount=$qorderresult->RecordCount();
// $c=0;
// while ($qorderrow=$qorderresult->FetchRow())
// {
// $qidorder[]=array($c, $qorderrow['qid']);
// $c++;
// }
//TO AVOID NATURAL SORT ORDER ISSUES, FIRST GET ALL QUESTIONS IN NATURAL SORT ORDER, AND FIND OUT WHICH NUMBER IN THAT ORDER THIS QUESTION IS
$qorderquery = "SELECT * FROM {$dbprefix}questions WHERE sid=$surveyid AND type not in ('S', 'D', 'T', 'Q')";
$qorderresult = db_execute_assoc($qorderquery) or safe_die ("$qorderquery<br />".$connect->ErrorMsg());
$qrows = array(); //Create an empty array in case FetchRow does not return any rows
while ($qrow = $qorderresult->FetchRow()) {$qrows[] = $qrow;} // Get table output into array
usort($qrows, 'CompareGroupThenTitle'); // Perform a case insensitive natural sort on group name then question title of a multidimensional array
$c=0;
foreach ($qrows as $qr)
{
$qidorder[]=array($c, $qrow['qid']);
$c++;
}
$qordercount="";
//1: Get each condition's question id
$conquery= "SELECT {$dbprefix}conditions.qid, cqid, {$dbprefix}questions.question, "
. "{$dbprefix}questions.gid "
. "FROM {$dbprefix}conditions, {$dbprefix}questions, {$dbprefix}groups "
. "WHERE {$dbprefix}conditions.qid={$dbprefix}questions.qid "
. "AND {$dbprefix}questions.gid={$dbprefix}groups.gid ORDER BY {$dbprefix}conditions.qid";
$conresult=db_execute_assoc($conquery) or safe_die("Couldn't check conditions for relative consistency<br />$conquery<br />".$connect->ErrorMsg());
//2: Check each conditions cqid that it occurs later than the cqid
while ($conrow=$conresult->FetchRow())
{
$cqidfound=0;
$qidfound=0;
$b=0;
while ($b<$qordercount)
{
if ($conrow['cqid'] == $qidorder[$b][1])
{
$cqidfound = 1;
$b=$qordercount;
}
if ($conrow['qid'] == $qidorder[$b][1])
{
$qidfound = 1;
$b=$qordercount;
}
if ($qidfound == 1)
{
$failedcheck[]=array($conrow['qid'], $conrow['question'], ": ".$clang->gT("This question has a condition set, however the condition is based on a question that appears after it."), $conrow['gid']);
}
$b++;
}
}
//CHECK THAT ALL THE CREATED FIELDS WILL BE UNIQUE
$fieldmap=createFieldMap($surveyid, "full");
if (isset($fieldmap))
{
foreach($fieldmap as $fielddata)
{
$fieldlist[]=$fielddata['fieldname'];
}
$fieldlist=array_reverse($fieldlist); //let's always change the later duplicate, not the earlier one
}
$checkKeysUniqueComparison = create_function('$value','if ($value > 1) return true;');
@$duplicates = array_keys (array_filter (array_count_values($fieldlist), $checkKeysUniqueComparison));
if (isset($duplicates))
{
foreach ($duplicates as $dup)
{
$badquestion=arraySearchByKey($dup, $fieldmap, "fieldname", 1);
$fix = "[<a href='$scriptname?action=activate&amp;sid=$surveyid&amp;fixnumbering=".$badquestion['qid']."'>Click Here to Fix</a>]";
$failedcheck[]=array($badquestion['qid'], $badquestion['question'], ": Bad duplicate fieldname $fix", $badquestion['gid']);
}
}
//IF ANY OF THE CHECKS FAILED, PRESENT THIS SCREEN
if (isset($failedcheck) && $failedcheck)
{
$activateoutput .= "<br />\n<table bgcolor='#FFFFFF' width='500' align='center' style='border: 1px solid #555555' cellpadding='6' cellspacing='0'>\n";
$activateoutput .= "\t\t\t\t<tr bgcolor='#555555'><td height='4'><font size='1' face='verdana' color='white'><strong>".$clang->gT("Activate Survey")." ($surveyid)</strong></font></td></tr>\n";
$activateoutput .= "\t<tr>\n";
$activateoutput .= "\t\t<td align='center' bgcolor='#ffeeee'>\n";
$activateoutput .= "\t\t\t<font color='red'><strong>".$clang->gT("Error")."</strong><br />\n";
$activateoutput .= "\t\t\t".$clang->gT("Survey does not pass consistency check")."</font>\n";
$activateoutput .= "\t\t</td>\n";
$activateoutput .= "\t</tr>\n";
$activateoutput .= "\t<tr>\n";
$activateoutput .= "\t\t<td>\n";
$activateoutput .= "\t\t\t<strong>".$clang->gT("The following problems have been found:")."</strong><br />\n";
$activateoutput .= "\t\t\t<ul>\n";
foreach ($failedcheck as $fc)
{
$activateoutput .= "\t\t\t\t<li> Question qid-{$fc[0]} (\"<a href='$scriptname?sid=$surveyid&amp;gid=$fc[3]&amp;qid=$fc[0]'>{$fc[1]}</a>\"){$fc[2]}</li>\n";
}
$activateoutput .= "\t\t\t</ul>\n";
$activateoutput .= "\t\t\t".$clang->gT("The survey cannot be activated until these problems have been resolved.")."\n";
$activateoutput .= "\t\t</td>\n";
$activateoutput .= "\t</tr>\n";
$activateoutput .= "</table><br />&nbsp;\n";
return;
}
$activateoutput .= "<br />\n<table class='alertbox'>\n";
$activateoutput .= "\t\t\t\t<tr><td height='4'><strong>".$clang->gT("Activate Survey")." ($surveyid)</strong></td></tr>\n";
$activateoutput .= "\t<tr>\n";
$activateoutput .= "\t\t<td align='center' bgcolor='#ffeeee'>\n";
$activateoutput .= "\t\t\t<font color='red'><strong>".$clang->gT("Warning")."</strong><br />\n";
$activateoutput .= "\t\t\t".$clang->gT("READ THIS CAREFULLY BEFORE PROCEEDING")."\n";
$activateoutput .= "\t\t\t</font>\n";
$activateoutput .= "\t\t</td>\n";
$activateoutput .= "\t</tr>\n";
$activateoutput .= "\t<tr>\n";
$activateoutput .= "\t\t<td>\n";
$activateoutput .= $clang->gT("You should only activate a survey when you are absolutely certain that your survey setup is finished and will not need changing.")."<br /><br />\n";
$activateoutput .= $clang->gT("Once a survey is activated you can no longer:")."<ul><li>".$clang->gT("Add or delete groups")."</li><li>".$clang->gT("Add or remove answers to Multiple Answer questions")."</li><li>".$clang->gT("Add or delete questions")."</li></ul>\n";
$activateoutput .= $clang->gT("However you can still:")."<ul><li>".$clang->gT("Edit (change) your questions code, text or type")."</li><li>".$clang->gT("Edit (change) your group names")."</li><li>".$clang->gT("Add, Remove or Edit pre-defined question answers (except for Multi-answer questions)")."</li><li>".$clang->gT("Change survey name or description")."</li></ul>\n";
$activateoutput .= $clang->gT("Once data has been entered into this survey, if you want to add or remove groups or questions, you will need to de-activate this survey, which will move all data that has already been entered into a separate archived table.")."<br /><br />\n";
$activateoutput .= "\t\t</td>\n";
$activateoutput .= "\t</tr>\n";
$activateoutput .= "\t<tr>\n";
$activateoutput .= "\t\t<td align='center'>\n";
// $activateoutput .= "\t\t\t<input type='submit' value=\"".$clang->gT("Activate Survey")."\" onclick=\"window.open('$scriptname?action=activate&amp;ok=Y&amp;sid={$_GET['sid']}', '_top')\" />\n";
$activateoutput .= "\t\t\t<input type='submit' value=\"".$clang->gT("Activate Survey")."\" onclick=\"".get2post("$scriptname?action=activate&amp;ok=Y&amp;sid={$_GET['sid']}")."\" />\n";
$activateoutput .= "\t\t<br />&nbsp;</td>\n";
$activateoutput .= "\t</tr>\n";
$activateoutput .= "</table><br />&nbsp;\n";
}
else
{
//Create the survey responses table
$createsurvey = "id I NOTNULL AUTO PRIMARY,\n";
$createsurvey .= " submitdate T,\n";
$createsurvey .= " startlanguage C(20) NOTNULL ,\n";
//Check for any additional fields for this survey and create necessary fields (token and datestamp)
$pquery = "SELECT private, allowregister, datestamp, ipaddr, refurl FROM {$dbprefix}surveys WHERE sid={$postsid}";
$presult=db_execute_assoc($pquery);
while($prow=$presult->FetchRow())
{
if ($prow['private'] == "N")
{
$createsurvey .= " token C(36),\n";
$surveynotprivate="TRUE";
}
if ($prow['allowregister'] == "Y")
{
$surveyallowsregistration="TRUE";
}
if ($prow['datestamp'] == "Y")
{
$createsurvey .= " datestamp T NOTNULL,\n";
$createsurvey .= " startdate T NOTNULL,\n";
}
if ($prow['ipaddr'] == "Y")
{
$createsurvey .= " ipaddr X,\n";
}
//Check to see if 'refurl' field is required.
if ($prow['refurl'] == "Y")
{
$createsurvey .= " refurl X,\n";
}
}
//Get list of questions for the base language
$aquery = " SELECT * FROM ".db_table_name('questions').", ".db_table_name('groups')
." WHERE ".db_table_name('questions').".gid=".db_table_name('groups').".gid "
." AND ".db_table_name('questions').".sid={$postsid} "
." AND ".db_table_name('groups').".language='".GetbaseLanguageFromSurveyid($postsid). "' "
." AND ".db_table_name('questions').".language='".GetbaseLanguageFromSurveyid($postsid). "' "
." ORDER BY ".db_table_name('groups').".group_order, title";
$aresult = db_execute_assoc($aquery);
while ($arow=$aresult->FetchRow()) //With each question, create the appropriate field(s)
{
if ( substr($createsurvey, strlen($createsurvey)-2, 2) != ",\n") {$createsurvey .= ",\n";}
if ($arow['type'] != "M" && $arow['type'] != "A" && $arow['type'] != "B" &&
$arow['type'] != "C" && $arow['type'] != "E" && $arow['type'] != "F" &&
$arow['type'] != "H" && $arow['type'] != "P" && $arow['type'] != "R" &&
$arow['type'] != "Q" && $arow['type'] != "^" && $arow['type'] != "J" &&
$arow['type'] != "K" && $arow['type'] != "1")
{
$createsurvey .= " `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}`";
switch($arow['type'])
{
case "N": //NUMERICAL
$createsurvey .= " C(20)";
break;
case "S": //SHORT TEXT
if ($databasetype=='mysql') {$createsurvey .= " X";}
else {$createsurvey .= " C(255)";}
break;
case "L": //LIST (RADIO)
case "!": //LIST (DROPDOWN)
case "W":
case "Z":
$createsurvey .= " C(5)";
if ($arow['other'] == "Y")
{
$createsurvey .= ",\n`{$arow['sid']}X{$arow['gid']}X{$arow['qid']}other` X";
}
break;
case "I": // CSV ONE
$createsurvey .= " C(5)";
break;
case "O": //DROPDOWN LIST WITH COMMENT
$createsurvey .= " C(5),\n `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}comment` X";
break;
case "T": //LONG TEXT
$createsurvey .= " X";
break;
case "U": //HUGE TEXT
$createsurvey .= " X";
break;
case "D": //DATE
$createsurvey .= " D";
break;
case "5": //5 Point Choice
case "G": //Gender
case "Y": //YesNo
case "X": //Boilerplate
$createsurvey .= " C(1)";
break;
}
}
elseif ($arow['type'] == "M" || $arow['type'] == "A" || $arow['type'] == "B" ||
$arow['type'] == "C" || $arow['type'] == "E" || $arow['type'] == "F" ||
$arow['type'] == "H" || $arow['type'] == "P" || $arow['type'] == "^")
{
//MULTI ENTRY
$abquery = "SELECT a.*, q.other FROM {$dbprefix}answers as a, {$dbprefix}questions as q"
." WHERE a.qid=q.qid AND sid={$postsid} AND q.qid={$arow['qid']} "
." AND a.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." AND q.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." ORDER BY a.sortorder, a.answer";
$abresult=db_execute_assoc($abquery) or safe_die ("Couldn't get perform answers query<br />$abquery<br />".$connect->ErrorMsg());
while ($abrow=$abresult->FetchRow())
{
$createsurvey .= " `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}{$abrow['code']}` C(5),\n";
if ($abrow['other']=="Y") {$alsoother="Y";}
if ($arow['type'] == "P")
{
$createsurvey .= " `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}{$abrow['code']}comment` X,\n";
}
}
if ((isset($alsoother) && $alsoother=="Y") && ($arow['type']=="M" || $arow['type']=="P" || $arow['type']=="1")) //Sc: check!
{
$createsurvey .= " `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}other` C(255),\n";
if ($arow['type']=="P")
{
$createsurvey .= " `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}othercomment` X,\n";
}
}
}
elseif ($arow['type'] == "Q")
{
$abquery = "SELECT a.*, q.other FROM {$dbprefix}answers as a, {$dbprefix}questions as q WHERE a.qid=q.qid AND sid={$postsid} AND q.qid={$arow['qid']} "
." AND a.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." AND q.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." ORDER BY a.sortorder, a.answer";
$abresult=db_execute_assoc($abquery) or safe_die ("Couldn't get perform answers query<br />$abquery<br />".$connect->ErrorMsg());
while ($abrow = $abresult->FetchRow())
{
$createsurvey .= " `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}{$abrow['code']}`";
if ($databasetype=='mysql')
{
$createsurvey .= " X";
}
else
{
$createsurvey .= " C(255)";
}
$createsurvey .= ",\n";
}
}
elseif ($arow['type'] == "K") //Multiple Numeric - replica of multiple short text, except numbers only
{
$abquery = "SELECT a.*, q.other FROM {$dbprefix}answers as a, {$dbprefix}questions as q WHERE a.qid=q.qid AND sid={$postsid} AND q.qid={$arow['qid']} "
." AND a.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." AND q.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." ORDER BY a.sortorder, a.answer";
$abresult=db_execute_assoc($abquery) or safe_die ("Couldn't get perform answers query<br />$abquery<br />".$connect->ErrorMsg());
while ($abrow = $abresult->FetchRow())
{
$createsurvey .= " `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}{$abrow['code']}` C(20),\n";
}
} //End if ($arow['type'] == "K")
/* elseif ($arow['type'] == "J")
{
$abquery = "SELECT {$dbprefix}answers.*, {$dbprefix}questions.other FROM {$dbprefix}answers, {$dbprefix}questions WHERE {$dbprefix}answers.qid={$dbprefix}questions.qid AND sid={$_GET['sid']} AND {$dbprefix}questions.qid={$arow['qid']} ORDER BY {$dbprefix}answers.sortorder, {$dbprefix}answers.answer";
$abresult=db_execute_assoc($abquery) or safe_die ("Couldn't get perform answers query<br />$abquery<br />".$connect->ErrorMsg());
while ($abrow = $abresultt->FetchRow())
{
$createsurvey .= " `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}{$abrow['code']}` C(5),\n";
}
}*/
elseif ($arow['type'] == "R")
{
//MULTI ENTRY
$abquery = "SELECT a.*, q.other FROM {$dbprefix}answers as a, {$dbprefix}questions as q"
." WHERE a.qid=q.qid AND sid={$postsid} AND q.qid={$arow['qid']} "
." AND a.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." AND q.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." ORDER BY a.sortorder, a.answer";
$abresult=$connect->Execute($abquery) or safe_die ("Couldn't get perform answers query<br />$abquery<br />".$connect->ErrorMsg());
$abcount=$abresult->RecordCount();
for ($i=1; $i<=$abcount; $i++)
{
$createsurvey .= " `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}$i` C(5),\n";
}
}
elseif ($arow['type'] == "1")
{
$abquery = "SELECT a.*, q.other FROM {$dbprefix}answers as a, {$dbprefix}questions as q"
." WHERE a.qid=q.qid AND sid={$postsid} AND q.qid={$arow['qid']} "
." AND a.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." AND q.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." ORDER BY a.sortorder, a.answer";
$abresult=db_execute_assoc($abquery) or safe_die ("Couldn't get perform answers query<br />$abquery<br />".$connect->ErrorMsg());
$abcount=$abresult->RecordCount();
while ($abrow = $abresult->FetchRow())
{
$abmultiscalequery = "SELECT a.*, q.other FROM {$dbprefix}answers as a, {$dbprefix}questions as q, {$dbprefix}labels as l"
." WHERE a.qid=q.qid AND sid={$postsid} AND q.qid={$arow['qid']} "
." AND l.lid=q.lid AND sid={$postsid} AND q.qid={$arow['qid']} AND l.title = '' "
." AND l.language='".GetbaseLanguageFromSurveyid($postsid). "' "
." AND q.language='".GetbaseLanguageFromSurveyid($postsid). "' ";
$abmultiscaleresult=$connect->Execute($abmultiscalequery) or safe_die ("Couldn't get perform answers query<br />$abmultiscalequery<br />".$connect->ErrorMsg());
$abmultiscaleresultcount =$abmultiscaleresult->RecordCount();
$abmultiscaleresultcount = 1;
for ($j=0; $j<=$abmultiscaleresultcount; $j++)
{
$createsurvey .= " `{$arow['sid']}X{$arow['gid']}X{$arow['qid']}{$abrow['code']}#$j` C(5),\n";
}
}
}
}
// If last question is of type MCABCEFHP^QKJR let's get rid of the ending coma in createsurvey
$createsurvey = rtrim($createsurvey, ",\n")."\n"; // Does nothing if not ending with a comma
$tabname = "{$dbprefix}survey_{$postsid}"; # not using db_table_name as it quotes the table name (as does CreateTableSQL)
$taboptarray = array('mysql' => 'TYPE='.$databasetabletype.' CHARACTER SET utf8 COLLATE utf8_unicode_ci');
$dict = NewDataDictionary($connect);
$sqlarray = $dict->CreateTableSQL($tabname, $createsurvey, $taboptarray);
$execresult=$dict->ExecuteSQLArray($sqlarray,1);
if ($execresult==0 || $execresult==1)
{
$activateoutput .= "<br />\n<table width='350' align='center' style='border: 1px solid #555555' cellpadding='1' cellspacing='0'>\n" .
"<tr bgcolor='#555555'><td height='4'><font size='1' face='verdana' color='white'><strong>".$clang->gT("Activate Survey")." ($surveyid)</strong></font></td></tr>\n" .
"<tr><td>\n" .
"<font color='red'>".$clang->gT("Survey could not be actived.")."</font><br />\n" .
"<center><a href='$scriptname?sid={$postsid}'>".$clang->gT("Main Admin Screen")."</a></center>\n" .
"DB ".$clang->gT("Error").":<br />\n<font color='red'>" . $connect->ErrorMsg() . "</font>\n" .
"<pre>$createsurvey</pre>\n" .
"</td></tr></table></br>&nbsp;\n" .
"</body>\n</html>";
}
if ($execresult != 0 && $execresult !=1)
{
$anquery = "SELECT autonumber_start FROM {$dbprefix}surveys WHERE sid={$postsid}";
if ($anresult=db_execute_assoc($anquery))
{
//if there is an autonumber_start field, start auto numbering here
while($row=$anresult->FetchRow())
{
if ($row['autonumber_start'] > 0)
{
$autonumberquery = "ALTER TABLE {$dbprefix}survey_{$postsid} AUTO_INCREMENT = ".$row['autonumber_start'];
if ($result = $connect->Execute($autonumberquery))
{
//We're happy it worked!
}
else
{
//Continue regardless - it's not the end of the world
}
}
}
}
$activateoutput .= "<br />\n<table class='alertbox'>\n";
$activateoutput .= "\t\t\t\t<tr><td height='4'><strong>".$clang->gT("Activate Survey")." ($surveyid)</td></tr>\n";
$activateoutput .= "\t\t\t\t<tr><td align='center'><font class='successtitle'>".$clang->gT("Survey has been activated. Results table has been successfully created.")."</font><br /><br />\n";
$acquery = "UPDATE {$dbprefix}surveys SET active='Y' WHERE sid=".returnglobal('sid');
$acresult = $connect->Execute($acquery);
// Private means data privacy, not closed access survey
// if (isset($surveynotprivate) && $surveynotprivate) //This survey is tracked, and therefore a tokens table MUST exist
// {
// $activateoutput .= $clang->gT("This is not an anonymous survey. A token table must also be created.")."<br /><br />\n";
// $activateoutput .= "<input type='submit' value='".$clang->gT("Initialise Tokens")."' onclick=\"window.open('$scriptname?action=tokens&amp;sid={$_GET['sid']}&amp;createtable=Y', '_top')\" />\n";
// }
// elseif (isset($surveyallowsregistration) && $surveyallowsregistration == "TRUE")
if (isset($surveyallowsregistration) && $surveyallowsregistration == "TRUE")
{
$activateoutput .= $clang->gT("This survey allows public registration. A token table must also be created.")."<br /><br />\n";
// $activateoutput .= "<input type='submit' value='".$clang->gT("Initialise Tokens")."' onclick=\"window.open('$scriptname?action=tokens&amp;sid={$_GET['sid']}&amp;createtable=Y', '_top')\" />\n";
$activateoutput .= "<input type='submit' value='".$clang->gT("Initialise Tokens")."' onclick=\"".get2post("$scriptname?action=tokens&amp;sid={$postsid}&amp;createtable=Y")."\" />\n";
}
else
{
$activateoutput .= $clang->gT("This survey is now active, and responses can be recorded.")."<br /><br />\n";
$activateoutput .= "<strong>".$clang->gT("Open-access mode").":</strong> ".$clang->gT("No invitation code is needed to complete the survey.")."<br />".$clang->gT("You can switch to the closed-access mode by initialising a token table with the button below.")."<br /><br />\n";
// $activateoutput .= $clang->gT("Optional").": <input type='submit' value='".$clang->gT("Switch to closed-access mode")."' onclick=\"window.open('$scriptname?action=tokens&amp;sid={$_GET['sid']}&amp;createtable=Y', '_top')\" />\n";
$activateoutput .= $clang->gT("Optional").": <input type='submit' value='".$clang->gT("Switch to closed-access mode")."' onclick=\"".get2post("$scriptname?action=tokens&amp;sid={$postsid}&amp;createtable=Y")."\" />\n";
}
$activateoutput .= "\t\t\t\t</font></font></td></tr></table><br />&nbsp;\n";
}
}
?>

View File

@@ -0,0 +1,656 @@
<?php
/*
* LimeSurvey
* Copyright (C) 2007 The LimeSurvey Project Team / Carsten Schmitz
* All rights reserved.
* License: GNU/GPL License v2 or later, see LICENSE.php
* LimeSurvey is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*
* $Id: admin.php 4945 2008-05-29 17:01:48Z c_schmitz $
*/
// Security Checked: POST, GET, SESSION, REQUEST, returnglobal, DB
require_once(dirname(__FILE__).'/../classes/core/startup.php');
// XML code for LS1.70 is based on the experimental PHP4 domxml
// extension. PHP5 uses the PHP5/dom extension.
// the following file is a wrapper to use PHP4/domxml scripts
// with PHP5/dom or PHP6/dom
// see http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/index.en.html#licence
if (version_compare(PHP_VERSION,'5','>='))
{
require_once(dirname(__FILE__).'/classes/core/domxml-php4-to-php5.php');
}
require_once(dirname(__FILE__).'/../config-defaults.php');
require_once(dirname(__FILE__).'/../common.php');
require_once($rootdir.'/classes/core/html_entity_decode_php4.php'); // has been secured
require_once('htmleditor-functions.php');
//@ini_set('session.gc_maxlifetime', $sessionlifetime); Might cause problems in client??
// Reset FileManagerContext
$_SESSION['FileManagerContext']='';
if (!isset($adminlang)) {$adminlang=returnglobal('adminlang');} // Admin language
if (!isset($surveyid)) {$surveyid=returnglobal('sid');} //SurveyID
if (!isset($ugid)) {$ugid=returnglobal('ugid');} //Usergroup-ID
if (!isset($gid)) {$gid=returnglobal('gid');} //GroupID
if (!isset($qid)) {$qid=returnglobal('qid');} //QuestionID
if (!isset($lid)) {$lid=returnglobal('lid');} //LabelID
if (!isset($code)) {$code=returnglobal('code');} // ??
if (!isset($action)) {$action=returnglobal('action');} //Desired action
if (!isset($subaction)) {$subaction=returnglobal('subaction');} //Desired subaction
if (!isset($editedaction)) {$editedaction=returnglobal('editedaction');} // for html editor integration
if ($action != "showprintablesurvey")
{
$adminoutput = helpscreenscript();
$adminoutput .= "<table width='100%' border='0' cellpadding='0' cellspacing='0' >\n"
."\t<tr>\n"
."\t\t<td valign='top' align='center' bgcolor='#F8F8FF'>\n";
} else {$adminoutput='';}
include_once("login_check.php");
if ( $action == 'CSRFwarn')
{
include("access_denied.php");
}
if ( $action == 'FakeGET')
{
include("access_denied.php");
}
if(isset($_SESSION['loginID']) && $action!='login')
{
//VARIOUS DATABASE OPTIONS/ACTIONS PERFORMED HERE
if ($action == "delsurvey" || $action == "delgroup" || $action == "delgroupall" ||
$action == "delquestion" || $action == "delquestionall" || $action == "insertnewsurvey" ||
$action == "copynewquestion" || $action == "insertnewgroup" || $action == "insertCSV" ||
$action == "insertnewquestion" || $action == "updatesurvey" || $action == "updatesurvey2" ||
$action == "updategroup" || $action == "deactivate" ||
$action == "updatequestion" || $action == "modanswer" || $action == "renumberquestions" ||
$action == "delattribute" || $action == "addattribute" || $action == "editattribute")
{
include("database.php");
}
sendcacheheaders();
/* Check user right actions for validity
Currently existing user rights:
`configurator`
`create_survey`
`create_user`
`delete_user`
`manage_label`
`manage_template`
`superadmin`
*/
if ($action == "importsurvey")
{
if ($_SESSION['USER_RIGHT_CREATE_SURVEY']==1) {include("http_importsurvey.php");}
else { include("access_denied.php");}
}
elseif ($action == "dumpdb")
{
if ($_SESSION['USER_RIGHT_CONFIGURATOR']==1) {include("dumpdb.php");}
else { include("access_denied.php");}
}
elseif ($action == "dumplabel")
{
if ($_SESSION['USER_RIGHT_MANAGE_LABEL']==1) {include("dumplabel.php");}
else { include("access_denied.php");}
}
elseif ($action == "exportlabelresources")
{
if ($_SESSION['USER_RIGHT_MANAGE_TEMPLATE']==1) {$_SESSION['FileManagerContext']="edit:label:$lid"; include("export_resources_zip.php");}
else { include("access_denied.php");}
}
elseif ($action == "checkintegrity")
{
if ($_SESSION['USER_RIGHT_CONFIGURATOR']==1) {include("integritycheck.php");}
else { include("access_denied.php");}
}
elseif ($action=="labels" || $action=="newlabelset" || $action=="insertlabelset" ||
$action=="deletelabelset" || $action=="editlabelset" || $action=="modlabelsetanswers" ||
$action=="updateset" || $action=="importlabels" ||$action == "importlabelresources")
{
if ($_SESSION['USER_RIGHT_MANAGE_LABEL']==1) {$_SESSION['FileManagerContext']="edit:label:$lid"; include("labels.php");}
else { include("access_denied.php");}
}
elseif ($action=="templates" || $action=="templatecopy" || $action=="templatesavechanges" ||
$action=="templaterename" || $action=="templateupload" || $action=="templatefiledelete" ||
$action=="templatezip" || $action=="templaterefresh")
{
if ($_SESSION['USER_RIGHT_MANAGE_TEMPLATE']==1) {include("templates.php");}
else { include("access_denied.php");}
}
/* Check survey right actions for validity
Currently existing survey rights:
`edit_survey_property`
`define_questions`
`browse_response`
`export`
`delete_survey`
`activate_survey`
*/
if (isset($surveyid) && $surveyid)
{
$surquery = "SELECT * FROM {$dbprefix}surveys_rights WHERE sid=".db_quote($surveyid)." AND uid = ".db_quote($_SESSION['loginID']); //Getting rights for this survey
$surresult = db_execute_assoc($surquery);
$surrows = $surresult->FetchRow();
}
if ($action == "activate")
{
if($surrows['activate_survey'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("activate.php");}
else { include("access_denied.php");}
}
elseif ($action == "conditions")
{
if($surrows['define_questions'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("conditions.php");}
else { include("access_denied.php");}
}
elseif ($action == "importsurvresources")
{
if ($surrows['define_questions'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {$_SESSION['FileManagerContext']="edit:survey:$surveyid";include("import_resources_zip.php");}
else { include("access_denied.php");}
}
elseif ($action == "exportstructurecsv")
{
if($surrows['export'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("export_structure_csv.php");}
else { include("access_denied.php");}
}
elseif ($action == "exportstructurequexml")
{
if($surrows['export'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("export_structure_quexml.php");}
else { include("access_denied.php");}
}
elseif ($action == "exportsurvresources")
{
if($surrows['export'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {$_SESSION['FileManagerContext']="edit:survey:$surveyid";include("export_resources_zip.php");}
else { include("access_denied.php");}
}
elseif ($action == "dumpquestion")
{
if($surrows['export'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("dumpquestion.php");}
else { include("access_denied.php");}
}
elseif ($action == "dumpgroup")
{
if($surrows['export'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("dumpgroup.php");}
else { include("access_denied.php");}
}
elseif ($action == "deactivate")
{
if($surrows['activate_survey'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("deactivate.php");}
else { include("access_denied.php");}
}
elseif ($action == "deletesurvey")
{
if($surrows['delete_survey'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("deletesurvey.php");}
else { include("access_denied.php");}
}
elseif ($action == "resetsurveylogic")
{
if($surrows['define_questions'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("resetsurveylogic.php");}
else { include("access_denied.php");}
}
elseif ($action == "importgroup")
{
if($surrows['define_questions'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("importgroup.php");}
else { include("access_denied.php");}
}
elseif ($action == "importquestion")
{
if($surrows['define_questions'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("importquestion.php");}
else { include("access_denied.php");}
}
elseif ($action == "listcolumn")
{
if($surrows['browse_response'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("listcolumn.php");}
else { include("access_denied.php");}
}
elseif ($action == "previewquestion")
{
if($surrows['define_questions'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("preview.php");}
else { include("access_denied.php");}
}
elseif ($action=="addgroup" || $action=="editgroup")
{
if($surrows['define_questions'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {$_SESSION['FileManagerContext']="edit:group:$surveyid"; include("grouphandling.php");}
else { include("access_denied.php");}
}
elseif ($action == "vvexport")
{
if($surrows['browse_response'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("vvexport.php");}
else { include("access_denied.php");}
}
elseif ($action == "vvimport")
{
if($surrows['browse_response'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("vvimport.php");}
else { include("access_denied.php");}
}
elseif ($action == "importoldresponses")
{
if($surrows['browse_response'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("importoldresponses.php");}
else { include("access_denied.php");}
}
elseif ($action == "saved")
{
if($surrows['browse_response'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("saved.php");}
else { include("access_denied.php");}
}
elseif ($action == "exportresults")
{
if($surrows['export'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("exportresults.php");}
else { include("access_denied.php");}
}
elseif ($action == "exportspss")
{
if($surrows['export'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("spss.php");}
else { include("access_denied.php");}
}
elseif ($action == "statistics")
{
if($surrows['browse_response'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("statistics.php");}
else { include("access_denied.php");}
}
elseif ($action == "dataentry")
{
if($surrows['browse_response'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("dataentry.php");}
else { include("access_denied.php");}
}
elseif ($action == "browse")
{
if($surrows['browse_response'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("browse.php");}
else { include("access_denied.php");}
}
elseif ($action == "tokens")
{
if($surrows['activate_survey'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {$_SESSION['FileManagerContext']="edit:emailsettings:$surveyid"; include("tokens.php");}
else { include("access_denied.php"); }
}
elseif ($action=="showprintablesurvey")
{
include("printablesurvey.php"); //No special right needed to show the printable survey
}
elseif ($action=="assessments" || $action=="assessmentdelete" || $action=="assessmentedit" || $action=="assessmentadd" || $action=="assessmentupdate")
{
if($surrows['define_questions'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {include("assessments.php");}
else { include("access_denied.php");}
}
elseif ($action == "replacementfields")
{
switch ($editedaction)
{
case 'labels':
if ($_SESSION['USER_RIGHT_SUPERADMIN'] == 1 || $_SESSION['USER_RIGHT_MANAGE_LABEL']==1)
{
include("fck_LimeReplacementFields.php");exit;
}
else
{
include("access_denied.php");
}
break;
case 'newsurvey':
if ($_SESSION['USER_RIGHT_SUPERADMIN'] == 1 || $_SESSION['USER_RIGHT_CREATE_SURVEY'] == 1)
{
include("fck_LimeReplacementFields.php");exit;
}
else
{
include("access_denied.php");
}
break;
case 'updatesurvey':
if ($_SESSION['USER_RIGHT_SUPERADMIN'] == 1 || $surrows['edit_survey_property'])
{
include("fck_LimeReplacementFields.php");exit;
}
else
{
include("access_denied.php");
}
break;
case 'tokens': // email
if ( $_SESSION['USER_RIGHT_SUPERADMIN'] == 1 || $surrows['activate_survey'])
{
include("fck_LimeReplacementFields.php");exit;
}
else
{
include("access_denied.php");
}
case 'editquestion':
case 'copyquestion':
case 'editgroup':
case 'addquestion':
case 'addgroup':
case 'editanswer':
if ( $_SESSION['USER_RIGHT_SUPERADMIN'] == 1 || $surrows['define_questions'])
{
include("fck_LimeReplacementFields.php");exit;
}
else
{
include("access_denied.php");
}
break;
default:
break;
}
}
if (!isset($assessmentsoutput) && !isset($statisticsoutput) && !isset($browseoutput) && !isset($savedsurveyoutput) && !isset( $listcolumnoutput ) &&
!isset($dataentryoutput) && !isset($conditionsoutput) && !isset($importoldresponsesoutput) &&
!isset($vvoutput) && !isset($tokenoutput) && !isset($exportoutput) && !isset($templatesoutput) &&
(isset($surveyid) || $action=="listurveys" || $action=="changelang" || $action=="changehtmleditormode" || $action=="checksettings" || //Still to check
$action=="editsurvey" || $action=="updatesurvey" || $action=="ordergroups" ||
$action=="newsurvey" || $action=="listsurveys" ||
$action=="surveyrights" || $action=="quotas") )
{
if ($action=="editsurvey" || $action=="updatesurvey")
{
$_SESSION['FileManagerContext']="edit:survey:$surveyid";
}
include("html.php");
}
if ($action=="addquestion" || $action=="copyquestion" || $action=="editquestion" ||
$action=="orderquestions" || $action=="editattribute" || $action=="delattribute" ||
$action=="addattribute" )
{if($surrows['define_questions'] || $_SESSION['USER_RIGHT_SUPERADMIN'] == 1) {$_SESSION['FileManagerContext']="edit:question:$surveyid";include("questionhandling.php");}
else { include("access_denied.php");}
}
if ($action=="adduser" || $action=="deluser" || $action=="moduser" || $action=="setusertemplates" || $action=="usertemplates" || //Still to check
$action=="userrights" || $action=="modifyuser" || $action=="editusers" ||
$action=="addusergroup" || $action=="editusergroup" || $action=="mailusergroup" ||
$action=="delusergroup" || $action=="usergroupindb" || $action=="mailsendusergroup" ||
$action=="editusergroupindb" || $action=="editusergroups" || $action=="deleteuserfromgroup" ||
$action=="addusertogroup" || $action=="setuserrights" || $action=="setasadminchild")
{
include ("userrighthandling.php");
}
// For some output we dont want to have the standard admin menu bar
if (!isset($labelsoutput) && !isset($templatesoutput) && !isset($printablesurveyoutput) &&
!isset($assessmentsoutput) && !isset($tokenoutput) && !isset($browseoutput) &&
!isset($dataentryoutput) && !isset($statisticsoutput)&& !isset($savedsurveyoutput) &&
!isset($exportoutput) && !isset($importoldresponsesoutput) && !isset($conditionsoutput) &&
!isset($vvoutput) && !isset($listcolumnoutput) && !isset($importlabelresources))
{
$adminoutput.= showadminmenu();
}
if (isset($databaseoutput)) {$adminoutput.= $databaseoutput;}
if (isset($templatesoutput)) {$adminoutput.= $templatesoutput;}
if (isset($accesssummary )) {$adminoutput.= $accesssummary;}
if (isset($surveysummary )) {$adminoutput.= $surveysummary;}
if (isset($usergroupsummary)){$adminoutput.= $usergroupsummary;}
if (isset($usersummary )) {$adminoutput.= $usersummary;}
if (isset($groupsummary )) {$adminoutput.= $groupsummary;}
if (isset($questionsummary)) {$adminoutput.= $questionsummary;}
if (isset($vasummary )) {$adminoutput.= $vasummary;}
if (isset($addsummary )) {$adminoutput.= $addsummary;}
if (isset($answersummary )) {$adminoutput.= $answersummary;}
if (isset($cssummary )) {$adminoutput.= $cssummary;}
if (isset($listcolumnoutput)) {$adminoutput.= $listcolumnoutput;}
if (isset($editgroup)) {$adminoutput.= $editgroup;}
if (isset($editquestion)) {$adminoutput.= $editquestion;}
if (isset($editsurvey)) {$adminoutput.= $editsurvey;}
if (isset($quotasoutput)) {$adminoutput.= $quotasoutput;}
if (isset($labelsoutput)) {$adminoutput.= $labelsoutput;}
if (isset($listsurveys)) {$adminoutput.= $listsurveys; }
if (isset($integritycheck)) {$adminoutput.= $integritycheck;}
if (isset($ordergroups)){$adminoutput.= $ordergroups;}
if (isset($orderquestions)) {$adminoutput.= $orderquestions;}
if (isset($surveysecurity)) {$adminoutput.= $surveysecurity;}
if (isset($exportstructure)) {$adminoutput.= $exportstructure;}
if (isset($newsurvey)) {$adminoutput.= $newsurvey;}
if (isset($newgroupoutput)) {$adminoutput.= $newgroupoutput;}
if (isset($newquestionoutput)) {$adminoutput.= $newquestionoutput;}
if (isset($newanswer)) {$adminoutput.= $newanswer;}
if (isset($editanswer)) {$adminoutput.= $editanswer;}
if (isset($assessmentsoutput)) {$adminoutput.= $assessmentsoutput;}
if (isset($importsurvey)) {$adminoutput.= $importsurvey;}
if (isset($importsurvresourcesoutput)) {$adminoutput.= $importsurvresourcesoutput;}
if (isset($importgroup)) {$adminoutput.= $importgroup;}
if (isset($importquestion)) {$adminoutput.= $importquestion;}
if (isset($printablesurveyoutput)) {$adminoutput.= $printablesurveyoutput;}
if (isset($activateoutput)) {$adminoutput.= $activateoutput;}
if (isset($deactivateoutput)) {$adminoutput.= $deactivateoutput;}
if (isset($tokenoutput)) {$adminoutput.= $tokenoutput;}
if (isset($browseoutput)) {$adminoutput.= $browseoutput;}
if (isset($dataentryoutput)) {$adminoutput.= $dataentryoutput;}
if (isset($statisticsoutput)) {$adminoutput.= $statisticsoutput;}
if (isset($exportoutput)) {$adminoutput.= $exportoutput;}
if (isset($savedsurveyoutput)) {$adminoutput.= $savedsurveyoutput;}
if (isset($importoldresponsesoutput)) {$adminoutput.= $importoldresponsesoutput;}
if (isset($conditionsoutput)) {$adminoutput.= $conditionsoutput;}
if (isset($deletesurveyoutput)) {$adminoutput.= $deletesurveyoutput;}
if (isset($resetsurveylogicoutput)) {$adminoutput.= $resetsurveylogicoutput;}
if (isset($vvoutput)) {$adminoutput.= $vvoutput;}
if (isset($dumpdboutput)) {$adminoutput.= $dumpdboutput;}
if (!isset($printablesurveyoutput) && ($subaction!='export'))
{
if (!isset($_SESSION['metaHeader'])) {$_SESSION['metaHeader']='';}
$adminoutput = getAdminHeader($_SESSION['metaHeader']).$adminoutput; // All future output is written into this and then outputted at the end of file
unset($_SESSION['metaHeader']);
$adminoutput.= "\t\t</td>\n".helpscreen()
. "\t</tr>\n"
. "</table>\n";
$adminoutput .= "<script type=\"text/javascript\">\n"
. "<!--\n"
. "\tfor(i=0; i<document.forms.length; i++)\n"
. "\t{\n"
// . "\t\talert('TIBO formname=' + document.forms[i].name + '\\nformaction=' + document.forms[i].action);\n"
. "\t\tvar el = document.createElement('input');\n"
. "\t\tel.type = 'hidden';\n"
. "\t\tel.name = 'checksessionbypost';\n"
. "\t\tel.value = '".$_SESSION['checksessionpost']."';\n"
. "\t\tdocument.forms[i].appendChild(el);\n"
. "\t}\n"
. "\n"
. "\tfunction addHiddenElement(theform,thename,thevalue)\n"
. "\t{\n"
. "\t\tvar myel = document.createElement('input');\n"
. "\t\tmyel.type = 'hidden';\n"
. "\t\tmyel.name = thename;\n"
. "\t\ttheform.appendChild(myel);\n"
. "\t\tmyel.value = thevalue;\n"
. "\t\treturn myel;\n"
. "\t}\n"
. "\n"
. "\tfunction sendPost(myaction,checkcode,arrayparam,arrayval)\n"
. "\t{\n"
. "\t\tvar myform = document.createElement('form');\n"
. "\t\tdocument.body.appendChild(myform);\n"
. "\t\tmyform.action =myaction;\n"
. "\t\tmyform.method = 'POST';\n"
. "\t\tfor (i=0;i<arrayparam.length;i++)\n"
. "\t\t{\n"
. "\t\t\taddHiddenElement(myform,arrayparam[i],arrayval[i])\n"
. "\t\t}\n"
. "\t\taddHiddenElement(myform,'checksessionbypost',checkcode)\n"
. "\t\tmyform.submit();\n"
. "\t}\n"
. "\n"
. "//-->\n"
. "</script>\n";
$adminoutput .= ""
. getAdminFooter("http://docs.limesurvey.org", $clang->gT("LimeSurvey Online Manual"));
}
}
else
{ //not logged in
sendcacheheaders();
if (!isset($_SESSION['metaHeader'])) {$_SESSION['metaHeader']='';}
$adminoutput = getAdminHeader($_SESSION['metaHeader']).$adminoutput; // All future output is written into this and then outputted at the end of file
unset($_SESSION['metaHeader']);
$adminoutput.= "\t\t</td>\n".helpscreen()
. "\t</tr>\n"
. "</table>\n"
. getAdminFooter("http://docs.limesurvey.org", $clang->gT("LimeSurvey Online Manual"));
}
if (($action=='showphpinfo') && ($_SESSION['USER_RIGHT_CONFIGURATOR'] == 1))
{
phpinfo();
}
else
{
echo $adminoutput;
}
function helpscreenscript()
// returns the script part for online help to be included outside a table
{
$helpoutput= "<script type='text/javascript'>\n"
."\tfunction showhelp(action)\n"
."\t\t{\n"
."\t\tvar name='help';\n"
."\t\tif (action == \"hide\")\n"
."\t\t\t{\n"
."\t\t\tdocument.getElementById(name).style.display='none';\n"
."\t\t\t}\n"
."\t\telse if (action == \"show\")\n"
."\t\t\t{\n"
."\t\t\tdocument.getElementById(name).style.display='';\n"
."\t\t\t}\n"
."\t\t}\n"
."</script>\n";
return $helpoutput;
}
function helpscreen()
// This functions loads the nescessary helpscreens for each action and hides the help window
//
{
global $homeurl, $langdir, $imagefiles;
global $surveyid, $gid, $qid, $action, $clang;
$helpoutput="\t\t<td id='help' width='200' valign='top' style='display: none' bgcolor='#CCCCCC'>\n"
."\t\t\t<table width='100%'><tr><td>"
."<table width='100%' align='center' cellspacing='0'>\n"
."\t\t\t\t<tr>\n"
."\t\t\t\t\t<td bgcolor='#555555' height='8'>\n"
."\t\t\t\t\t\t<font color='white' size='1'><strong>"
.$clang->gT("Help")."</strong>\n"
."\t\t\t\t\t</font></td>\n"
."\t\t\t\t</tr>\n"
."\t\t\t\t<tr>\n"
."\t\t\t\t\t<td align='center' bgcolor='#AAAAAA' style='border-style: solid; border-width: 1px; border-color: #555555'>\n"
."\t\t\t\t\t\t<img src='$imagefiles/blank.gif' alt='' width='20' hspace='0' border='0' align='left' />\n"
."\t\t\t\t\t\t<input type='image' src='$imagefiles/close.gif' name='CloseHelp' align='right' onclick=\"showhelp('hide')\" />\n"
."\t\t\t\t\t</td>\n"
."\t\t\t\t</tr>\n"
."\t\t\t\t<tr>\n"
."\t\t\t\t\t<td bgcolor='silver' height='100%' style='border-style: solid; border-width: 1px; border-color: #333333'>\n";
//determine which help document to show
if (!$surveyid && $action != "editusers")
{
$helpdoc = "$langdir/admin.html";
}
elseif (!$surveyid && $action=="editusers")
{
$helpdoc = "$langdir/users.html";
}
elseif ($surveyid && !$gid)
{
$helpdoc = "$langdir/survey.html";
}
elseif ($surveyid && $gid && !$qid)
{
$helpdoc = "$langdir/group.html";
}
elseif ($surveyid && $gid && $qid && !returnglobal('viewanswer'))
{
$helpdoc = "$langdir/question.html";
}
elseif ($surveyid && $gid && $qid && (returnglobal('viewanswer')))
{
$helpdoc = "$langdir/answer.html";
}
$helpoutput.= "\t\t\t\t\t\t<iframe width='200' height='400' src='$helpdoc' marginwidth='2' marginheight='2'>\n"
."\t\t\t\t\t\t</iframe>\n"
."\t\t\t\t\t</td>"
."\t\t\t\t</tr>\n"
."\t\t\t</table></td></tr></table>\n"
."\t\t</td>\n";
return $helpoutput;
}
function convertToArray($stringtoconvert, $seperator, $start, $end)
// this function is still used to read SQL files from version 1.0 or older
{
$begin=strpos($stringtoconvert, $start)+strlen($start);
$len=strpos($stringtoconvert, $end)-$begin;
$stringtoconvert=substr($stringtoconvert, $begin, $len);
$stringtoconvert=str_replace('\n',"\n",$stringtoconvert); //removes masking
$stringtoconvert=stripslashes($stringtoconvert);
$resultarray=explode($seperator, $stringtoconvert);
return $resultarray;
}
function get2post($url)
{
$url = preg_replace('/&amp;/i','&',$url);
list($calledscript,$query) = explode('?',$url);
$aqueryitems = explode('&',$query);
$arrayParam = Array();
$arrayVal = Array();
foreach ($aqueryitems as $queryitem)
{
list($paramname, $value) = explode ('=', $queryitem);
//error_log("TIBO URL=$url Form Action=$calledscript, param=$paramname, value=$value");
$arrayParam[] = "'".$paramname."'";
$arrayVal[] = "'".$value."'";
}
// $Paramlist = "[" . implode(",",$arrayParam) . "]";
// $Valuelist = "[" . implode(",",$arrayVal) . "]";
$Paramlist = "new Array(" . implode(",",$arrayParam) . ")";
$Valuelist = "new Array(" . implode(",",$arrayVal) . ")";
$callscript = "sendPost('$calledscript','".$_SESSION['checksessionpost']."',$Paramlist,$Valuelist);";
//error_log("TIBO = $callscript");
return $callscript;
}
?>

View File

@@ -0,0 +1,223 @@
<?php
/*
* LimeSurvey
* Copyright (C) 2007 The LimeSurvey Project Team / Carsten Schmitz
* All rights reserved.
* License: GNU/GPL License v2 or later, see LICENSE.php
* LimeSurvey is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*
* $Id: assessments.php 5096 2008-06-18 08:28:32Z c_schmitz $
*/
include_once("login_check.php");
if (!isset($surveyid)) {$surveyid=returnglobal('sid');}
if (!isset($action)) {$action=returnglobal('action');}
$actsurquery = "SELECT edit_survey_property FROM {$dbprefix}surveys_rights WHERE sid=$surveyid AND uid = ".$_SESSION['loginID']; //Getting rights for this survey
$actsurresult = $connect->Execute($actsurquery) or safe_die($connect->ErrorMsg());
$actsurrows = $actsurresult->FetchRow();
if($_SESSION['USER_RIGHT_SUPERADMIN'] == 1 || $actsurrows['edit_survey_property']){
if ($action == "assessmentadd") {
$inserttable=$dbprefix."assessments";
$query = $connect->GetInsertSQL($inserttable, array(
'sid' => $surveyid,
'scope' => $_POST['scope'],
'gid' => $_POST['gid'],
'minimum' => $_POST['minimum'],
'maximum' => $_POST['maximum'],
'name' => $_POST['name'],
'message' => $_POST['message'],
'link' => $_POST['link'] ));
$result=$connect->Execute($query) or safe_die("Error inserting<br />$query<br />".$connect->ErrorMsg());
} elseif ($action == "assessmentupdate") {
$query = "UPDATE {$dbprefix}assessments
SET scope='".db_quote($_POST['scope'])."',
gid=".sanitize_int($_POST['gid']).",
minimum='".sanitize_int($_POST['minimum'])."',
maximum='".sanitize_int($_POST['maximum'])."',
name='".db_quote($_POST['name'])."',
message='".db_quote($_POST['message'])."',
link='".db_quote($_POST['link'])."'
WHERE id=".sanitize_int($_POST['id']);
$result = $connect->Execute($query) or safe_die("Error updating<br />$query<br />".$connect->ErrorMsg());
} elseif ($action == "assessmentdelete") {
$query = "DELETE FROM {$dbprefix}assessments
WHERE id=".sanitize_int($_POST['id']);
$result=$connect->Execute($query);
}
$assessmentsoutput= "<table width='100%' border='0' >\n"
. "\t<tr>\n"
. "\t\t<td>\n"
. "\t\t\t<table class='menubar'>\n"
. "\t\t\t<tr>\n"
. "\t\t\t\t<td colspan='2' height='8'>\n"
. "\t\t\t\t\t<strong>".$clang->gT("Assessments")."</strong></td></tr>\n";
$assessmentsoutput.= "\t<tr >\n"
. "\t\t<td>\n"
. "\t\t\t<a href=\"#\" onclick=\"window.open('$scriptname?sid=$surveyid', '_top')\" onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Return to Survey Administration", "js")."');return false\">" .
"<img name='Administration' src='$imagefiles/home.png' title='' alt='' align='left' /></a>\n"
. "\t\t\t<img src='$imagefiles/blank.gif' alt='' width='11' border='0' hspace='0' align='left' />\n"
. "\t\t\t<img src='$imagefiles/seperator.gif' alt='' border='0' hspace='0' align='left' />\n"
. "\t\t</td>\n"
. "\t</tr>\n";
$assessmentsoutput.= "</table>";
if ($surveyid == "") {
$assessmentsoutput.= $clang->gT("No SID Provided");
exit;
}
$assessments=getAssessments($surveyid);
//$assessmentsoutput.= "<pre>";print_r($assessments);echo "</pre>";
$groups=getGroups($surveyid);
$groupselect="<select name='gid'>\n";
foreach($groups as $group) {
$groupselect.="<option value='".$group['gid']."'>".$group['group_name']."</option>\n";
}
$groupselect .="</select>\n";
$headings=array($clang->gT("Scope"), $clang->gT("Group"), $clang->gT("Minimum"), $clang->gT("Maximum"), $clang->gT("Heading"), $clang->gT("Message"), $clang->gT("URL"));
$inputs=array("<select name='scope'><option value='T'>".$clang->gT("Total")."</option><option value='G'>".$clang->gT("Group")."</option></select>",
$groupselect,
"<input type='text' name='minimum' />",
"<input type='text' name='maximum' />",
"<input type='text' name='name' size='80'/>",
"<textarea name='message' rows='10' cols='80'></textarea >",
"<input type='text' name='link' size='80' />");
$actiontitle=$clang->gT("Add");
$actionvalue="assessmentadd";
$thisid="";
if ($action == "assessmentedit") {
$query = "SELECT * FROM {$dbprefix}assessments WHERE id=".sanitize_int($_POST['id']);
$results = db_execute_assoc($query);
while($row=$results->FetchRow()) {
$editdata=$row;
}
$scopeselect = "<select name='scope'><option ";
if ($editdata['scope'] == "T") {$scopeselect .= "selected='selected' ";}
$scopeselect .= "value='T'>".$clang->gT("Total")."</option><option value='G'";
if ($editdata['scope'] == "G") {$scopeselect .= " selected='selected'";}
$scopeselect .= ">".$clang->gT("Group")."</option></select>";
$groupselect=str_replace("'".$editdata['gid']."'", "'".$editdata['gid']."' selected", $groupselect);
$inputs=array($scopeselect,
$groupselect,
"<input type='text' name='minimum' value='".$editdata['minimum']."' />",
"<input type='text' name='maximum' value='".$editdata['maximum']."' />",
"<input type='text' name='name' size='80' value='".htmlentities(stripslashes($editdata['name']), ENT_QUOTES,'UTF-8')."'/>",
"<textarea name='message' rows='10' cols='80'>".htmlentities(stripslashes($editdata['message']), ENT_QUOTES,'UTF-8')."</textarea>",
"<input type='text' name='link' size='80' value='".$editdata['link']."' />");
$actiontitle=$clang->gT("Edit");
$actionvalue="assessmentupdate";
$thisid=$editdata['id'];
}
//$assessmentsoutput.= "<pre>"; print_r($edits); $assessmentsoutput.= "</pre>";
//PRESENT THE PAGE
$assessmentsoutput.= "<br /><table align='center' width='90%'>
<tr><td colspan='12'>".$clang->gT("If you create any assessments in this page, for the currently selected survey, the assessment will be performed at the end of the survey after submission")."</th></tr>"
."<tr><th>ID</th><th>SID</th>\n";
foreach ($headings as $head) {
$assessmentsoutput.= "<th>$head</th>\n";
}
$assessmentsoutput.= "<th>".$clang->gT("Actions")."</th>";
$assessmentsoutput.= "</tr>\n";
$flipflop=true;
foreach($assessments as $assess) {
$flipflop=!$flipflop;
if ($flipflop==true){$assessmentsoutput.= "<tr class='oddrow'>\n";}
else {$assessmentsoutput.= "<tr class='evenrow'>\n";}
$assessmentsoutput.= "<td>".$assess['id']."</td>\n";
$assessmentsoutput.= "<td>".$assess['sid']."</td>\n";
if ($assess['scope'] == "T") { $assessmentsoutput.= "<td>".$clang->gT("Total")."</td>\n"; }
else {$assessmentsoutput.= "<td>".$clang->gT("Group")."</td>\n"; }
$assessmentsoutput.= "<td>".$groups[$assess['gid']]['group_name']." (".$assess['gid'].")</td>\n";
$assessmentsoutput.= "<td>".$assess['minimum']."</td>\n";
$assessmentsoutput.= "<td>".$assess['maximum']."</td>\n";
$assessmentsoutput.= "<td>".stripslashes($assess['name'])."</td>\n";
$assessmentsoutput.= "<td>".stripslashes($assess['message'])."</td>\n";
$assessmentsoutput.= "<td>".stripslashes($assess['link'])."</td>\n";
$assessmentsoutput.= "<td>
<table width='100%'>
<tr><td align='center'><form method='post' action='$scriptname?sid=$surveyid'>
<input type='submit' value='".$clang->gT("Edit")."' />
<input type='hidden' name='action' value='assessmentedit' />
<input type='hidden' name='id' value='".$assess['id']."' />
</form></td>
<td align='center'><form method='post' action='$scriptname?sid=$surveyid'>
<input type='submit' value='".$clang->gT("Delete")."' onclick='return confirm(\"".$clang->gT("Are you sure you want to delete this entry?","js")."\")' />
<input type='hidden' name='action' value='assessmentdelete' />
<input type='hidden' name='id' value='".$assess['id']."' />
</form>
</td>
</tr>
</table>
</td>\n";
$assessmentsoutput.= "</tr>\n";
}
$assessmentsoutput.= "</table>";
$assessmentsoutput.= "<br /><form method='post' name='assessmentsform' action='$scriptname?sid=$surveyid'><table align='center' cellspacing='0' border='0' class='form2columns'>\n";
$assessmentsoutput.= "<tr><th colspan='2'>$actiontitle</th></tr>\n";
$i=0;
foreach ($headings as $head) {
$assessmentsoutput.= "<tr><td>$head</td><td>".$inputs[$i]."</td></tr>\n";
$i++;
}
$assessmentsoutput.= "<tr><th colspan='2' align='center'><input type='submit' value='".$clang->gT("Save")."' />\n";
if ($action == "assessmentedit") $assessmentsoutput.= "&nbsp;&nbsp;&nbsp;&nbsp;<input type='submit' value='".$clang->gT("Cancel")."' onclick=\"document.assessmentsform.action.value='assessments'\" />\n";
$assessmentsoutput.= "<input type='hidden' name='sid' value='$surveyid' />\n"
."<input type='hidden' name='action' value='$actionvalue' />\n"
."<input type='hidden' name='id' value='$thisid' />\n"
."</th></tr>\n"
."</table></form></td></tr></table>\n";
}
else
{
$action = "assessment";
include("access_denied.php");
include("admin.php");
}
function getAssessments($surveyid) {
global $dbprefix, $connect;
$query = "SELECT id, sid, scope, gid, minimum, maximum, name, message, link
FROM ".db_table_name('assessments')."
WHERE sid='$surveyid'
ORDER BY scope, gid";
$result=db_execute_assoc($query) or safe_die("Error getting assessments<br />$query<br />".$connect->ErrorMsg());
$output=array();
while($row=$result->FetchRow()) {
$output[]=$row;
}
return $output;
}
function getGroups($surveyid) {
global $dbprefix, $connect;
$baselang = GetBaseLanguageFromSurveyID($surveyid);
$query = "SELECT gid, group_name
FROM ".db_table_name('groups')."
WHERE sid='$surveyid' and language='$baselang'
ORDER BY group_order";
$result = db_execute_assoc($query) or safe_die("Error getting groups<br />$query<br />".$connect->ErrorMsg());
$output=array();
while($row=$result->FetchRow()) {
$output[$row['gid']]=$row;
}
return $output;
}
?>

View File

@@ -0,0 +1,728 @@
<?php
/*
* LimeSurvey
* Copyright (C) 2007 The LimeSurvey Project Team / Carsten Schmitz
* All rights reserved.
* License: GNU/GPL License v2 or later, see LICENSE.php
* LimeSurvey is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*
* $Id: browse.php 5144 2008-06-22 12:46:05Z c_schmitz $
*/
include_once("login_check.php"); //Login Check dies also if the script is started directly
if (!isset($limit)) {$limit=returnglobal('limit');}
if (!isset($surveyid)) {$surveyid=returnglobal('sid');}
if (!isset($id)) {$id=returnglobal('id');}
if (!isset($order)) {$order=returnglobal('order');}
if (!isset($browselang)) {$browselang=returnglobal('browselang');}
//Ensure script is not run directly, avoid path disclosure
if (!isset($dbprefix) || isset($_REQUEST['dbprefix'])) {die("Cannot run this script directly");}
//Check if results table exists
$tablelist = $connect->MetaTables() or safe_die ("Error getting tokens<br />".$connect->ErrorMsg());
foreach ($tablelist as $tbl)
{
if (db_quote_id($tbl) == db_table_name('survey_'.$surveyid)) $resultsexist = 1;
}
if (!isset($resultsexist)) die("Your results table is missing!");
$sumquery5 = "SELECT b.* FROM {$dbprefix}surveys AS a INNER JOIN {$dbprefix}surveys_rights AS b ON a.sid = b.sid WHERE a.sid=$surveyid AND b.uid = ".$_SESSION['loginID']; //Getting rights for this survey and user
$sumresult5 = db_execute_assoc($sumquery5);
$sumrows5 = $sumresult5->FetchRow();
require_once(dirname(__FILE__).'/sessioncontrol.php');
// Set language for questions and labels to base language of this survey
if (isset($browselang) && $browselang!='')
{
$_SESSION['browselang']=$browselang;
$language=$_SESSION['browselang'];
}
elseif (isset($_SESSION['browselang']))
{
$language=$_SESSION['browselang'];
}
else
{
$language = GetBaseLanguageFromSurveyID($surveyid);
}
$surveyoptions = browsemenubar();
$browseoutput = "<table><tr><td></td></tr></table>\n"
."<table class='menubar'>\n";
if (!$database_exists) //DATABASE DOESN'T EXIST OR CAN'T CONNECT
{
$browseoutput .= "\t<tr ><td colspan='2' height='4'><strong>"
. $clang->gT("Browse Responses")."</strong></td></tr>\n"
."\t<tr><td align='center'>$setfont\n"
."<strong><font color='red'>".$clang->gT("Error")."</font></strong><br />\n"
. $clang->gT("The defined LimeSurvey database does not exist")."<br />\n"
. $clang->gT("Either your selected database has not yet been created or there is a problem accessing it.")."<br /><br />\n"
."<input type='submit' value='".$clang->gT("Main Admin Screen")."' onclick=\"window.open('$scriptname', '_top')\" /><br />\n"
."</td></tr></table>\n"
."</body>\n</html>";
return;
}
if (!$surveyid && !$subaction) //NO SID OR ACTION PROVIDED
{
$browseoutput .= "\t<tr ><td colspan='2' height='4'><strong>"
. $clang->gT("Browse Responses")."</strong></td></tr>\n"
."\t<tr><td align='center'>$setfont\n"
."<strong><font color='red'>".$clang->gT("Error")."</font></strong><br />\n"
. $clang->gT("You have not selected a survey to browse.")."<br /><br />\n"
."<input type='submit' value='"
. $clang->gT("Main Admin Screen")."' onclick=\"window.open('$scriptname', '_top')\" /><br />\n"
."</td></tr></table>\n";
return;
}
//CHECK IF SURVEY IS ACTIVATED AND EXISTS
$actquery = "SELECT * FROM ".db_table_name('surveys')." as a inner join ".db_table_name('surveys_languagesettings')." as b on (b.surveyls_survey_id=a.sid and b.surveyls_language=a.language) WHERE a.sid=$surveyid";
$actresult = db_execute_assoc($actquery);
$actcount = $actresult->RecordCount();
if ($actcount > 0)
{
while ($actrow = $actresult->FetchRow())
{
$surveytable = db_table_name("survey_".$actrow['sid']);
$surveyname = "{$actrow['surveyls_title']}";
if ($actrow['active'] == "N") //SURVEY IS NOT ACTIVE YET
{
$browseoutput .= "\t<tr><td colspan='2' height='4'><strong>"
. $clang->gT("Browse Responses").":</strong> $surveyname</td></tr>\n"
."\t<tr><td align='center'>\n"
."<strong><font color='red'>".$clang->gT("Error")."</font></strong><br />\n"
. $clang->gT("This survey has not been activated. There are no results to browse.")."<br /><br />\n"
."<input type='submit' value='"
. $clang->gT("Main Admin Screen")."' onclick=\"window.open('$scriptname?sid=$surveyid', '_top')\" /><br />\n"
."</td></tr></table>\n"
."</body>\n</html>";
return;
}
}
}
else //SURVEY MATCHING $surveyid DOESN'T EXIST
{
$browseoutput .= "\t<tr><td colspan='2' height='4'><strong>"
. $clang->gT("Browse Responses")."</strong></td></tr>\n"
."\t<tr><td align='center'>\n"
."<strong><font color='red'>".$clang->gT("Error")."</font></strong><br />\n"
. $clang->gT("There is no matching survey.")." ($surveyid)<br /><br />\n"
."<input type='submit' value='".$clang->gT("Main Admin Screen")."' onclick=\"window.open('$scriptname', '_top')\" /><br />\n"
."</td></tr></table>\n"
."</body>\n</html>";
return;
}
//OK. IF WE GOT THIS FAR, THEN THE SURVEY EXISTS AND IT IS ACTIVE, SO LETS GET TO WORK.
$qulanguage = GetBaseLanguageFromSurveyID($surveyid);
if ($subaction == "id") // Looking at a SINGLE entry
{
//SHOW HEADER
$browseoutput .= "\t<tr><td colspan='2' height='4'><strong>".$clang->gT("Browse Responses").":</strong> $surveyname</td></tr>\n";
if (!isset($_POST['sql']) || !$_POST['sql']) {$browseoutput .= "$surveyoptions";} // Don't show options if coming from tokens script
$browseoutput .= "</table>\n"
."<table><tr><td></td></tr></table>\n";
//FIRST LETS GET THE NAMES OF THE QUESTIONS AND MATCH THEM TO THE FIELD NAMES FOR THE DATABASE
$fnquery = "SELECT * FROM ".db_table_name("questions").", ".db_table_name("groups").", ".db_table_name("surveys")."
WHERE ".db_table_name("questions").".gid=".db_table_name("groups").".gid AND ".db_table_name("groups").".sid=".db_table_name("surveys").".sid
AND ".db_table_name("questions").".sid='$surveyid' AND
".db_table_name("questions").".language='{$language}' AND ".db_table_name("groups").".language='{$language}' ORDER BY ".db_table_name("groups").".group_order, ".db_table_name("questions").".title";
$fnresult = db_execute_assoc($fnquery);
$fncount = 0;
$fnrows = array(); //Create an empty array in case fetch_array does not return any rows
while ($fnrow = $fnresult->FetchRow()) {++$fncount; $fnrows[] = $fnrow; $private = $fnrow['private']; $datestamp=$fnrow['datestamp']; $ipaddr=$fnrow['ipaddr']; $refurl=$fnrow['refurl'];} // Get table output into array
// Perform a case insensitive natural sort on group name then question title of a multidimensional array
usort($fnrows, 'CompareGroupThenTitle');
$fnames[] = array("id", "id", "id");
if ($private == "N") //add token to top ofl ist is survey is not private
{
$fnames[] = array("token", "token", $clang->gT("Token ID"));
}
$fnames[] = array("completed", "Completed", $clang->gT("Completed"), "0");
if ($datestamp == "Y") //add datetime to list if survey is datestamped
{
// submitdate for not-datestamped surveys is always 1980/01/01
// so only display it when datestamped
$fnames[] = array("startdate", "startdate", $clang->gT("Date Started"));
$fnames[] = array("datestamp", "datestamp", $clang->gT("Date Last Action"));
$fnames[] = array("submitdate", "submitdate", $clang->gT("Date Submitted"));
}
if ($ipaddr == "Y") //add ipaddr to list if survey should save submitters IP address
{
$fnames[] = array("ipaddr", "ipaddr", $clang->gT("IP Address"));
}
if ($refurl == "Y") //add refer_URL to list if survey should save referring URL
{
$fnames[] = array("refurl", "refurl", $clang->gT("Referring URL"));
}
foreach ($fnrows as $fnrow)
{
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}";
$fquestion = $fnrow['question'];
if ($fnrow['type'] == "Q" || $fnrow['type'] == "M" ||
$fnrow['type'] == "A" || $fnrow['type'] == "B" ||
$fnrow['type'] == "C" || $fnrow['type'] == "E" ||
$fnrow['type'] == "F" || $fnrow['type'] == "H" ||
$fnrow['type'] == "J" || $fnrow['type'] == "K" ||
$fnrow['type'] == "P" || $fnrow['type'] == "^")
{
$fnrquery = "SELECT * FROM ".db_table_name("answers")." WHERE qid={$fnrow['qid']} AND language='{$language}' ORDER BY sortorder, answer";
$fnrresult = db_execute_assoc($fnrquery);
while ($fnrrow = $fnrresult->FetchRow())
{
$fnames[] = array("$field{$fnrrow['code']}", "$ftitle ({$fnrrow['code']})", "{$fnrow['question']} ({$fnrrow['answer']})");
if ($fnrow['type'] == "P") {$fnames[] = array("$field{$fnrrow['code']}"."comment", "$ftitle"."comment", "{$fnrow['question']} (".$clang->gT("Comment").")");}
}
if ($fnrow['other'] == "Y" and ($fnrow['type']=="!" or $fnrow['type']=="L" or $fnrow['type']=="M" or $fnrow['type']=="P" || $fnrow['type'] == "Z" || $fnrow['type'] == "W"))
{
$fnames[] = array("$field"."other", "$ftitle"."other", "{$fnrow['question']}(".$clang->gT("Other").")");
}
}
elseif ($fnrow['type'] == "R")
{
$fnrquery = "SELECT * FROM ".db_table_name("answers")." WHERE qid={$fnrow['qid']} AND
language='{$language}'
ORDER BY sortorder, answer";
$fnrresult = $connect->Execute($fnrquery);
$fnrcount = $fnrresult->RecordCount();
for ($i=1; $i<=$fnrcount; $i++)
{
$fnames[] = array("$field$i", "$ftitle ($i)", "{$fnrow['question']} ($i)");
}
}
elseif ($fnrow['type'] == "O")
{
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}");
$field2 = $field."comment";
$ftitle2 = $ftitle."[Comment]";
$longtitle = "{$fnrow['question']}<br />[Comment]";
$fnames[] = array("$field2", "$ftitle2", "$longtitle");
}
elseif ($fnrow['type'] == "1") // multi scale
{
$i2query = "SELECT ".db_table_name("answers").".*, ".db_table_name("questions").".other FROM ".db_table_name("answers").", ".db_table_name("questions")."
WHERE ".db_table_name("answers").".qid=".db_table_name("questions").".qid AND
".db_table_name("answers").".language='{$language}' AND ".db_table_name("questions").".language='{$language}' AND
".db_table_name("questions").".qid={$fnrow['qid']} AND ".db_table_name("questions").".sid=$surveyid
ORDER BY ".db_table_name("answers").".sortorder, ".db_table_name("answers").".answer";
$i2result = db_execute_assoc($i2query);
$otherexists = "";
while ($i2row = $i2result->FetchRow())
{
// first scale
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}{$i2row['code']}#0";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}Opt{$i2row['code']}";
if ($i2row['other'] == "Y") {$otherexists = "Y";}
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}<br />\n[{$i2row['answer']}]<br>[".$clang->gT("1. scale")."]", "{$fnrow['gid']}");
// second scale
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}{$i2row['code']}#1";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}Opt{$i2row['code']}";
if ($i2row['other'] == "Y") {$otherexists = "Y";}
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}<br />\n[{$i2row['answer']}]<br>[".$clang->gT("2. scale")."]", "{$fnrow['gid']}");
}
if ($otherexists == "Y")
{
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}"."other";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}OptOther";
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}<br />\n[Other]", "{$fnrow['gid']}");
}
}
else
{
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}");
if (($fnrow['type'] == "L" || $fnrow['type'] == "!" || $fnrow['type'] == "W" || $fnrow['type'] == "Z") && $fnrow['other'] == "Y")
{
$fnames[] = array("$field"."other", "$ftitle"."other", "{$fnrow['question']}(".$clang->gT("Other").")");
}
}
}
$nfncount = count($fnames)-1;
//SHOW INDIVIDUAL RECORD
$idquery = "SELECT *, CASE WHEN submitdate IS NULL THEN 'N' ELSE 'Y' END as completed FROM $surveytable WHERE ";
if (incompleteAnsFilterstate() === true) {$idquery .= "submitdate >= ".$connect->DBDate('1980-01-01'). " AND ";}
if ($id<1) {$id=1;}
if (isset($_POST['sql']) && $_POST['sql'])
{
if (get_magic_quotes_gpc()) {$idquery .= stripslashes($_POST['sql']);}
else {$idquery .= "{$_POST['sql']}";}
}
else {$idquery .= "id=$id";}
$idresult = db_execute_assoc($idquery) or safe_die ("Couldn't get entry<br />\n$idquery<br />\n".$connect->ErrorMsg());
while ($idrow = $idresult->FetchRow()) {$id=$idrow['id']; $rlangauge=$idrow['startlanguage'];}
$next=$id+1;
$last=$id-1;
$browseoutput .= "<table width='99%' align='center' style='border: 1px solid #555555' cellpadding='1' cellspacing='0'>\n"
."\t<tr>\n"
."\t\t<td colspan='2' height='4'><strong>"
. $clang->gT("View Response").":</strong> $id</td></tr>\n"
."\t<tr><td colspan='2'>\n"
."\t\t\t<img src='$imagefiles/blank.gif' width='31' height='20' border='0' hspace='0' align='left' alt='' />\n"
."\t\t\t<img src='$imagefiles/seperator.gif' border='0' hspace='0' align='left' alt='' />\n";
if (isset($rlangauge))
{
$browseoutput .="\t\t\t<a href='$scriptname?action=dataentry&amp;subaction=edit&amp;id=$id&amp;sid=$surveyid&amp;language=$rlangauge&amp;surveytable=$surveytable'" .
"onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Edit this entry", "js")."')\">" .
"<img align='left' src='$imagefiles/edit.png' title='' alt='' /></a>\n";
}
if ($sumrows5['delete_survey'])
{
// $browseoutput .= "\t\t\t<a href='$scriptname?action=dataentry&amp;subaction=delete&amp;id=$id&amp;sid=$surveyid&amp;surveytable=$surveytable'" .
// "onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Delete this entry", "js")."')\">"
// ."<img align='left' hspace='0' border='0' src='$imagefiles/delete.png' alt='' title='' onclick=\"return confirm('".$clang->gT("Are you sure you want to delete this entry?","js")."')\" /></a>\n";
$browseoutput .= "\t\t\t<a href='#'" .
"onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Delete this entry", "js")."')\">"
."<img align='left' hspace='0' border='0' src='$imagefiles/delete.png' alt='' title='' onclick=\"if (confirm('".$clang->gT("Are you sure you want to delete this entry?","js")."')) {".get2post("$scriptname?action=dataentry&amp;subaction=delete&amp;id=$id&amp;sid=$surveyid&amp;surveytable=$surveytable")."}\" /></a>\n";
}
$browseoutput .= "\t\t\t<a href='$scriptname?action=exportresults&amp;sid=$surveyid&amp;id=$id'" .
"onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Export this Response", "js")."')\">" .
"<img name='ExportAnswer' src='$imagefiles/export.png' title='' alt='". $clang->gT("Export this Response")."'align='left' /></a>\n"
."\t\t\t<img src='$imagefiles/seperator.gif' border='0' hspace='0' align='left' alt='' />\n"
."\t\t\t<img src='$imagefiles/blank.gif' width='20' height='20' border='0' hspace='0' align='left' alt='' />\n"
."\t\t\t<a href='$scriptname?action=browse&amp;subaction=id&amp;id=$last&amp;sid=$surveyid&amp;surveytable=$surveytable'" .
"onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Show previous...", "js")."')\">".
"<img name='DataBack' align='left' src='$imagefiles/databack.png' alt='' /></a>\n"
."\t\t\t<img src='$imagefiles/blank.gif' width='13' height='20' border='0' hspace='0' align='left' alt='' />\n"
."\t\t\t<a href='$scriptname?action=browse&amp;subaction=id&amp;id=$next&amp;sid=$surveyid&amp;surveytable=$surveytable'" .
"onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Show next...", "js")."')\">" .
"<img name='DataForward' align='left' src='$imagefiles/dataforward.png' alt='' /></a>\n"
."\t\t</td>\n"
."\t</tr>\n"
."\t<tr><td colspan='2' bgcolor='#CCCCCC' height='1'></td></tr>\n";
$idresult = db_execute_assoc($idquery) or safe_die ("Couldn't get entry<br />$idquery<br />".$connect->ErrorMsg());
while ($idrow = $idresult->FetchRow())
{
$i=0;
for ($i; $i<$nfncount+1; $i++)
{
$browseoutput .= "\t<tr>\n"
."\t\t<td bgcolor='#EFEFEF' valign='top' align='right' width='33%' style='padding-right: 5px'>"
."$setfont{$fnames[$i][2]}</font></td>\n"
."\t\t<td valign='top' align='left' style='padding-left: 5px'>$setfont"
.htmlspecialchars(getextendedanswer($fnames[$i][0], $idrow[$fnames[$i][0]]), ENT_QUOTES)
."</font></td>\n"
."\t</tr>\n"
."\t<tr><td colspan='2' bgcolor='#CCCCCC' height='1'></td></tr>\n";
}
}
$browseoutput .= "</table>\n"
."<table width='99%' align='center'>\n"
."\t<tr>\n"
."\t\t<td bgcolor='#EEEEEE' align='center'>\n";
// if (isset($_POST['sql']) && $_POST['sql']) {$browseoutput .= "\t\t\t<input type='submit' value='Close Window' onclick=\"window.close();\" />\n";}
$browseoutput .= "\t\t</td>\n"
."\t</tr>\n"
."</table>\n";
}
elseif ($subaction == "all")
{
$browseoutput .= ("\t<tr><td colspan='2' height='4'><strong>"
. $clang->gT("Browse Responses").":</strong> $surveyname</td></tr>\n");
if (!isset($_POST['sql']))
{$browseoutput .= "$surveyoptions";} //don't show options when called from another script with a filter on
else
{
$browseoutput .= "\n<tr><td><table width='100%' align='center' border='0' bgcolor='#EFEFEF'>\n"
."\t<tr>\n"
."\t\t<td align='center'>\n"
."\t\t\t".$clang->gT("Showing Filtered Results")."<br />\n"
."\t\t\t&nbsp;[<a href=\"javascript:window.close()\">".$clang->gT("Close")."</a>]"
."\t\t</font></td>\n"
."\t</tr>\n"
."</table></td></tr>\n";
}
$browseoutput .= "</table>\n";
//FIRST LETS GET THE NAMES OF THE QUESTIONS AND MATCH THEM TO THE FIELD NAMES FOR THE DATABASE
$fnquery = "SELECT * FROM ".db_table_name("questions").", ".db_table_name("groups").",
".db_table_name("surveys")." WHERE ".db_table_name("questions").".gid=".db_table_name("groups").".gid AND
".db_table_name("questions").".language='{$language}' AND ".db_table_name("groups").".language='{$language}' AND
".db_table_name("groups").".sid=".db_table_name("surveys").".sid AND ".db_table_name("questions").".sid='$surveyid' ORDER BY ".db_table_name("groups").".group_order";
$fnresult = db_execute_assoc($fnquery);
$fncount = 0;
$fnrows = array(); //Create an empty array in case FetchRow does not return any rows
while ($fnrow = $fnresult->FetchRow())
{
++$fncount;
$fnrows[] = $fnrow;
$private = $fnrow['private'];
$datestamp=$fnrow['datestamp'];
$ipaddr=$fnrow['ipaddr'];
$refurl=$fnrow['refurl'];
} // Get table output into array
// Perform a case insensitive natural sort on group name then question title of a multidimensional array
usort($fnrows, 'CompareGroupThenTitle');
if ($private == "N") //Add token to list
{
$fnames[] = array("token", $clang->gT("Token"), $clang->gT("Token ID"), "0");
}
$fnames[] = array("completed", "Completed", $clang->gT("Completed"), "0");
if ($datestamp == "Y") //Add datestamp
{
// submitdate for not-datestamped surveys is always 1980/01/01
// so only display it when datestamped
$fnames[] = array("startdate", "startdate", $clang->gT("Date Started"), "0");
$fnames[] = array("datestamp", "Datestamp", $clang->gT("Date Last Action"), "0");
$fnames[] = array("submitdate", "submitdate", $clang->gT("Date Submitted"), "0");
}
if ($ipaddr == "Y") // Add IP Address
{
$fnames[] = array("ipaddr", "IPAddress", $clang->gT("IP Address"), "0");
}
if ($refurl == "Y") // refurl
{
$fnames[] = array("refurl", "refurl", $clang->gT("Referring URL"), "0");
}
foreach ($fnrows as $fnrow)
{
if ($fnrow['type'] != "Q" && $fnrow['type'] != "M" && $fnrow['type'] != "A" &&
$fnrow['type'] != "B" && $fnrow['type'] != "C" && $fnrow['type'] != "E" &&
$fnrow['type'] != "F" && $fnrow['type'] != "H" && $fnrow['type'] != "P" &&
$fnrow['type'] != "J" && $fnrow['type'] != "K" && $fnrow['type'] != "1" &&
$fnrow['type'] != "O" && $fnrow['type'] != "R" && $fnrow['type'] != "^")
{
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}";
$fquestion = $fnrow['question'];
$fnames[] = array("$field", "$ftitle", "$fquestion", "{$fnrow['gid']}");
if (($fnrow['type'] == "L" || $fnrow['type'] == "!" || $fnrow['type'] == "W" || $fnrow['type'] == "Z") && $fnrow['other'] == "Y")
{
$fnames[] = array("$field"."other", "$ftitle"."other", "{$fnrow['question']}(".$clang->gT("Other").")", "{$fnrow['gid']}");
}
}
elseif ($fnrow['type'] == "O")
{
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}";
$fquestion = $fnrow['question'];
$fnames[] = array("$field", "$ftitle", "$fquestion", "{$fnrow['gid']}");
$field .= "comment";
$ftitle .= "[comment]";
$fquestion .= " (comment)";
$fnames[] = array("$field", "$ftitle", "$fquestion", "{$fnrow['gid']}");
}
elseif ($fnrow['type'] == "1") // multi scale
{
$i2query = "SELECT ".db_table_name("answers").".*, ".db_table_name("questions").".other FROM ".db_table_name("answers").", ".db_table_name("questions")."
WHERE ".db_table_name("answers").".qid=".db_table_name("questions").".qid AND
".db_table_name("answers").".language='{$language}' AND ".db_table_name("questions").".language='{$language}' AND
".db_table_name("questions").".qid={$fnrow['qid']} AND ".db_table_name("questions").".sid=$surveyid
ORDER BY ".db_table_name("answers").".sortorder, ".db_table_name("answers").".answer";
$i2result = db_execute_assoc($i2query);
$otherexists = "";
while ($i2row = $i2result->FetchRow())
{
// first scale
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}{$i2row['code']}#0";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}Opt{$i2row['code']}";
if ($i2row['other'] == "Y") {$otherexists = "Y";}
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}<br />\n[{$i2row['answer']}]<br>[".$clang->gT("1. scale")."]", "{$fnrow['gid']}");
// second scale
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}{$i2row['code']}#1";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}Opt{$i2row['code']}";
if ($i2row['other'] == "Y") {$otherexists = "Y";}
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}<br />\n[{$i2row['answer']}]<br>[".$clang->gT("2. scale")."]", "{$fnrow['gid']}");
}
if ($otherexists == "Y")
{
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}"."other";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}OptOther";
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}<br />\n[Other]", "{$fnrow['gid']}");
if ($fnrow['type'] == "P")
{
$fnames[] = array("$field"."comment", "$ftitle"."Comment", "{$fnrow['question']}<br />\n[Other]<br />\n[Comment]", "{$fnrow['gid']}");
}
}
}
elseif ($fnrow['type'] == "R")
{
$i2query = "SELECT ".db_table_name("answers").".*, ".db_table_name("questions").".other FROM
".db_table_name("answers").", ".db_table_name("questions")."
WHERE ".db_table_name("answers").".qid=".db_table_name("questions").".qid AND
".db_table_name("answers").".language='{$language}' AND ".db_table_name("questions").".language='{$language}'
AND ".db_table_name("questions").".qid={$fnrow['qid']} AND ".db_table_name("questions").".sid=$surveyid
ORDER BY ".db_table_name("answers").".sortorder, ".db_table_name("answers").".answer";
$i2result = $connect->Execute($i2query);
$i2count = $i2result->RecordCount();
for ($i=1; $i<=$i2count; $i++)
{
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}$i";
$ftitle = "Grp{$fnrow['qid']}Qst{$fnrow['title']}Opt$i";
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}<br />\n[$i]", "{$fnrow['gid']}");
}
}
else
{
$i2query = "SELECT ".db_table_name("answers").".*, ".db_table_name("questions").".other FROM ".db_table_name("answers").", ".db_table_name("questions")."
WHERE ".db_table_name("answers").".qid=".db_table_name("questions").".qid AND
".db_table_name("answers").".language='{$language}' AND ".db_table_name("questions").".language='{$language}' AND
".db_table_name("questions").".qid={$fnrow['qid']} AND ".db_table_name("questions").".sid=$surveyid
ORDER BY ".db_table_name("answers").".sortorder, ".db_table_name("answers").".answer";
$i2result = db_execute_assoc($i2query);
$otherexists = "";
while ($i2row = $i2result->FetchRow())
{
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}{$i2row['code']}";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}Opt{$i2row['code']}";
if ($i2row['other'] == "Y") {$otherexists = "Y";}
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}<br />\n[{$i2row['answer']}]", "{$fnrow['gid']}");
if ($fnrow['type'] == "P") {$fnames[] = array("$field"."comment", "$ftitle", "{$fnrow['question']}<br />\n[{$i2row['answer']}]<br />\n[Comment]", "{$fnrow['gid']}");}
}
if ($otherexists == "Y")
{
$field = "{$fnrow['sid']}X{$fnrow['gid']}X{$fnrow['qid']}"."other";
$ftitle = "Grp{$fnrow['gid']}Qst{$fnrow['title']}OptOther";
$fnames[] = array("$field", "$ftitle", "{$fnrow['question']}<br />\n[Other]", "{$fnrow['gid']}");
if ($fnrow['type'] == "P")
{
$fnames[] = array("$field"."comment", "$ftitle"."Comment", "{$fnrow['question']}<br />\n[Other]<br />\n[Comment]", "{$fnrow['gid']}");
}
}
}
}
$fncount = count($fnames);
//NOW LETS CREATE A TABLE WITH THOSE HEADINGS
if ($fncount < 10) {$cellwidth = "10%";} else {$cellwidth = "100";}
$tableheader = "<!-- DATA TABLE -->";
if ($fncount < 10) {$tableheader .= "<table width='100%' border='0' cellpadding='0' cellspacing='1' style='border: 1px solid #555555' class='menu2columns'>\n";}
else {$fnwidth = (($fncount-1)*180); $tableheader .= "<table width='$fnwidth' border='0' cellpadding='1' cellspacing='1' style='border: 1px solid #555555'>\n";}
$tableheader .= "\t<tr valign='top'>\n"
. "\t\t<td class='evenrow' width='$cellwidth'><strong>id</strong></td>\n";
foreach ($fnames as $fn)
{
if (!isset($currentgroup)) {$currentgroup = $fn[3]; $gbc = "oddrow";}
if ($currentgroup != $fn[3])
{
$currentgroup = $fn[3];
if ($gbc == "oddrow") {$gbc = "evenrow";}
else {$gbc = "oddrow";}
}
$tableheader .= "\t\t<td class='$gbc' width='$cellwidth'><strong>"
. strip_tags("$fn[2]")
. "</strong></td>\n";
}
$tableheader .= "\t</tr>\n\n";
$start=returnglobal('start');
$limit=returnglobal('limit');
if (!isset($limit) || $limit== '') {$limit = 50;}
if (!isset($start) || $start =='') {$start = 0;}
//LETS COUNT THE DATA
$dtquery = "SELECT count(*) FROM $surveytable";
if (incompleteAnsFilterstate() === true) {$dtquery .= " WHERE submitdate is not null ";}
$dtresult=db_execute_num($dtquery);
while ($dtrow=$dtresult->FetchRow()) {$dtcount=$dtrow[0];}
if ($limit > $dtcount) {$limit=$dtcount;}
//NOW LETS SHOW THE DATA
if (isset($_POST['sql']))
{
if ($_POST['sql'] == "NULL")
{
$dtquery = "SELECT *, CASE WHEN submitdate IS NULL THEN 'N' ELSE 'Y' END as completed FROM $surveytable ";
if (incompleteAnsFilterstate() === true) {$dtquery .= " WHERE submitdate is not null ";}
$dtquery .= " ORDER BY id";
}
else
{
$dtquery = "SELECT *, CASE WHEN submitdate IS NULL THEN 'N' ELSE 'Y' END as completed FROM $surveytable WHERE ";
if (incompleteAnsFilterstate() === true) {
$dtquery .= " submitdate is not null ";
if (stripcslashes($_POST['sql']) !== "") { $dtquery .= " AND "; }
}
if (stripcslashes($_POST['sql']) !== "") { $dtquery .= stripcslashes($_POST['sql'])." "; }
$dtquery .= " ORDER BY id";
}
}
else
{
$dtquery = "SELECT *, CASE WHEN submitdate IS NULL THEN 'N' ELSE 'Y' END as completed FROM $surveytable ";
if (incompleteAnsFilterstate() === true) {$dtquery .= " WHERE submitdate is not null ";}
$dtquery .= " ORDER BY id";
}
if ($order == "desc") {$dtquery .= " DESC";}
if (isset($limit))
{
if (!isset($start)) {$start = 0;}
$dtresult = db_select_limit_assoc($dtquery, $limit, $start) or safe_die("Couldn't get surveys<br />$dtquery<br />".$connect->ErrorMsg());
}
else
{
$dtresult = db_execute_assoc($dtquery) or safe_die("Couldn't get surveys<br />$dtquery<br />".$connect->ErrorMsg());
}
$dtcount2 = $dtresult->RecordCount();
$cells = $fncount+1;
//CONTROL MENUBAR
$last=$start-$limit;
$next=$start+$limit;
$end=$dtcount-$limit;
if ($end < 0) {$end=0;}
if ($last <0) {$last=0;}
if ($next >= $dtcount) {$next=$dtcount-$limit;}
if ($end < 0) {$end=0;}
$browseoutput .= "<table><tr><td></td></tr></table>\n"
."<table class='menubar'>\n"
."\t<tr ><td colspan='2' height='4'><strong>"
. $clang->gT("Data View Control").":</strong></td></tr>\n";
if (!isset($_POST['sql']))
{
$browseoutput .= "\t<tr><td align='left' width='200'>\n"
."\t\t\t<a href='$scriptname?action=browse&amp;subaction=all&amp;sid=$surveyid&amp;start=0&amp;limit=$limit' " .
"onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Show start..", "js")."');return false\">" .
"<img name='DataBegin' align='left' src='$imagefiles/databegin.png' title='' /></a>\n"
."\t\t\t<a href='$scriptname?action=browse&amp;subaction=all&amp;sid=$surveyid&amp;start=$last&amp;limit=$limit' " .
"onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Show previous...", "js")."');return false\">" .
"<img name='DataBack' align='left' src='$imagefiles/databack.png' title='' /></a>\n"
."\t\t\t<img src='$imagefiles/blank.gif' width='13' height='20' border='0' hspace='0' align='left' alt='' />\n"
."\t\t\t<a href='$scriptname?action=browse&amp;subaction=all&amp;sid=$surveyid&amp;start=$next&amp;limit=$limit' " .
"onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Show next...", "js")."');return false\">".
"<img name='DataForward' align='left' src='$imagefiles/dataforward.png' title='' /></a>\n"
."\t\t\t<a href='$scriptname?action=browse&amp;subaction=all&amp;sid=$surveyid&amp;start=$end&amp;limit=$limit' " .
"onmouseout=\"hideTooltip()\" onmouseover=\"showTooltip(event,'".$clang->gT("Show last...", "js")."');return false\">" .
"<img name='DataEnd' align='left' src='$imagefiles/dataend.png' title='' /></a>\n"
."\t\t\t<img src='$imagefiles/seperator.gif' border='0' hspace='0' align='left' alt='' />\n";
} else {
$browseoutput .= "\t<tr><td align='left'>\n";
}
if (incompleteAnsFilterstate() === true)
{
$selecthide="selected='selected'";
$selectshow="";
}
else
{
$selecthide="";
$selectshow="selected='selected'";
}
$browseoutput .=("\t\t</td>\n"
."\t\t<td align='left' valign='center'>\n"
."\t\t<form action='$scriptname?action=browse' method='post'><font size='1' face='verdana'>\n"
."\t\t\t<img src='$imagefiles/blank.gif' width='31' height='20' border='0' hspace='0' align='right' alt='' />\n"
."\t\t\t".$clang->gT("Records Displayed:")."<input type='text' size='4' value='$dtcount2' name='limit' id='limit' />\n"
."\t\t\t&nbsp&nbsp ".$clang->gT("Starting From:")."<input type='text' size='4' value='$start' name='start' id='start' />\n"
."\t\t\t&nbsp&nbsp ".$clang->gT("Filter incomplete answers:")."<select name='filterinc' onchange='javascript:document.getElementById(\"limit\").value=\"\";submit();'>\n"
."\t\t\t\t<option value='filter' $selecthide>".$clang->gT("Enable")."</option>\n"
."\t\t\t\t<option value='show' $selectshow>".$clang->gT("Disable")."</option>\n"
."\t\t\t</select>\n"
."\t\t\t&nbsp&nbsp&nbsp&nbsp<input type='submit' value='".$clang->gT("Show")."' />\n"
."\t\t</font>\n"
."\t\t<input type='hidden' name='sid' value='$surveyid' />\n"
."\t\t<input type='hidden' name='action' value='browse' />\n"
."\t\t<input type='hidden' name='subaction' value='all' />\n");
if (isset($_POST['sql']))
{
$browseoutput .= "\t\t<input type='hidden' name='sql' value='".html_escape($_POST['sql'])."' />\n";
}
$browseoutput .= "\t\t</form></td>\n"
."\t</tr>\n"
."</table>\n"
."<table><tr><td></td></tr></table>\n";
$browseoutput .= $tableheader;
while ($dtrow = $dtresult->FetchRow())
{
if (!isset($bgcc)) {$bgcc="evenrow";}
else
{
if ($bgcc == "evenrow") {$bgcc = "oddrow";}
else {$bgcc = "evenrow";}
}
$browseoutput .= "\t<tr class='$bgcc' valign='top'>\n"
."\t\t<td align='center'><font face='verdana' size='1'>\n"
."\t\t\t<a href='$scriptname?action=browse&amp;sid=$surveyid&amp;subaction=id&amp;id={$dtrow['id']}' title='".$clang->gT("View This Record")."'>"
."{$dtrow['id']}</a></font></td>\n";
$i = 0;
if ($private == "N")
{
$SQL = "Select * FROM ".db_table_name('tokens_'.$surveyid)." WHERE token=?";
if ( db_tables_exist(db_table_name_nq('tokens_'.$surveyid)) &&
$SQLResult = db_execute_assoc($SQL, $dtrow['token']))
{
$TokenRow = $SQLResult->FetchRow();
}
$browseoutput .= "\t\t<td align='center'><font size='1'>\n";
if (isset($TokenRow) && $TokenRow)
{
$browseoutput .= "\t\t<a href='$scriptname?action=tokens&amp;sid=$surveyid&amp;subaction=edit&amp;tid={$TokenRow['tid']}' title='".$clang->gT("Edit this token")."'>";
}
$browseoutput .= "{$dtrow['token']}";
if (isset($TokenRow) && $TokenRow)
{
$browseoutput .= "</a>\n";
}
$i++;
}
for ($i; $i<$fncount; $i++)
{
$browseoutput .= "\t\t<td align='center'><font size='1' face='verdana'>"
. htmlspecialchars($dtrow[$fnames[$i][0]])
."</font></td>\n";
}
$browseoutput .= "\t</tr>\n";
}
$browseoutput .= "</table>\n<br />\n";
}
else
{
$browseoutput .= "\t<tr><td colspan='2' height='4'><strong>"
. $clang->gT("Browse Responses").":</strong> $surveyname</td></tr>\n"
. $surveyoptions;
$browseoutput .= "</table>\n";
$num_total_answers=0;
$num_completed_answers=0;
$gnquery = "SELECT count(id) FROM $surveytable";
$gnquery2 = "SELECT count(id) FROM $surveytable WHERE submitdate is not null";
$gnresult = db_execute_num($gnquery);
$gnresult2 = db_execute_num($gnquery2);
while ($gnrow=$gnresult->FetchRow()) {$num_total_answers=$gnrow[0];}
while ($gnrow2=$gnresult2->FetchRow()) {$num_completed_answers=$gnrow2[0];}
$browseoutput .= "<table width='100%' border='0'>\n"
."\t<tr><td align='center'>".sprintf($clang->gT("%d responses for this survey"), $num_total_answers)." ("
.sprintf($clang->gT("%d full responses"), $num_completed_answers).", "
.sprintf($clang->gT("%d responses not completely filled out"), $num_total_answers-$num_completed_answers).")"
."\t</td></tr>\n"
."</table>\n";
}
?>

View File

@@ -0,0 +1,529 @@
<?php
/*
* Class ProgressBar
*
* Author: Gerd Weitenberg (hahnebuechen@web.de)
* Date: 2005.03.09
*
*/
class ProgressBar
{
// private vars
var $code; // unique code
var $status = 'new'; // current status (new,show,hide)
var $step = 0; // current step
var $position = array(); // current bar position
// public vars
var $min = 0; // minimal steps
var $max = 100; // maximal steps
var $left = 10; // bar position from left
var $top = 25; // bar position from top
var $width = 300; // bar width
var $height = 25; // bar height
var $pedding = 0; // bar pedding
var $color = '#0033ff'; // bar color
var $bgr_color = '#c0c0c0'; // bar background color
var $border = 1; // bar border width
var $brd_color = '#000000'; // bar border color
var $direction = 'right'; // direction of motion (right,left,up,down)
var $frame = array('show' => false); // ProgressBar Frame
/* 'show' => false, # frame show (true/false)
'left' => 200, # frame position from left
'top' => 100, # frame position from top
'width' => 300, # frame width
'height' => 75, # frame height
'color' => '#c0c0c0', # frame color
'border' => 2, # frame border
'brd_color' => '#dfdfdf #404040 #404040 #dfdfdf' # frame border color
*/
var $label = array(); // ProgressBar Labels
/* 'name' => array( # label name
'type' => 'text', # label type (text,button,step,percent,crossbar)
'value' => 'Please wait ...', # label value
'left' => 10, # label position from left
'top' => 20, # label position from top
'width' => 0, # label width
'height' => 0, # label height
'align' => 'left', # label align
'font-size' => 11, # label font size
'font-family' => 'Verdana, Tahoma, Arial', # label font family
'font-weight' => '', # label font weight
'color' => '#000000', # label font color
'bgr_color' => '' # label background color
)
*/
// constructor
function ProgressBar($width=0,$height=0)
{
$this->code = substr(md5(microtime()), 0, 6);
if ($width>0) {$this->width = $width;}
if ($height>0) {$this->height = $height;}
}
// private functions
function _calculatePercent($step)
{
$percent = round(($step - $this->min) / ($this->max - $this->min) * 100);
if ($percent > 100) {$percent = 100;}
return $percent;
}
function _calculatePosition($step)
{
switch ($this->direction) {
case 'right':
case 'left':
$bar = $this->width;
break;
case 'down':
case 'up':
$bar = $this->height;
break;
}
$pixel = round(($step - $this->min) * ($bar - ($this->pedding * 2)) / ($this->max - $this->min));
if ($step <= $this->min) {$pixel = 0;}
if ($step >= $this->max) {$pixel = $bar - ($this->pedding * 2);}
switch ($this->direction) {
case 'right':
$position['left'] = $this->pedding;
$position['top'] = $this->pedding;
$position['width'] = $pixel;
$position['height'] = $this->height - ($this->pedding * 2);
break;
case 'left':
$position['left'] = $this->width - $this->pedding - $pixel;
$position['top'] = $this->pedding;
$position['width'] = $pixel;
$position['height'] = $this->height - ($this->pedding * 2);
break;
case 'down':
$position['left'] = $this->pedding;
$position['top'] = $this->pedding;
$position['width'] = $this->width - ($this->pedding * 2);
$position['height'] = $pixel;
break;
case 'up':
$position['left'] = $this->pedding;
$position['top'] = $this->height - $this->pedding - $pixel;
$position['width'] = $this->width - ($this->pedding * 2);
$position['height'] = $pixel;
break;
}
return $position;
}
function _setStep($step)
{
if ($step > $this->max) {$step = $this->max;}
if ($step < $this->min) {$step = $this->min;}
$this->step = $step;
}
// public functions
function setFrame($width=0,$height=0)
{
$this->frame = array(
'show' => true,
'left' => 20,
'top' => 35,
'width' => 320,
'height' => 90,
'color' => '#c0c0c0',
'border' => 2,
'brd_color' => '#dfdfdf #404040 #404040 #dfdfdf'
);
if ($width>0) {$this->frame['width'] = $width;}
if ($height>0) {$this->frame['height'] = $height;}
}
function addLabel($type,$name,$value='&nbsp;')
{
switch($type) {
case 'text':
$this->label[$name] = array(
'type' => 'text',
'value' => $value,
'left' => $this->left,
'top' => $this->top - 16,
'width' => 0,
'height' => 0,
'align' => 'left',
'font-size' => 11,
'font-family' => 'Verdana, Tahoma, Arial',
'font-weight' => 'normal',
'color' => '#000000',
'bgr_color' => ''
);
break;
case 'button':
$this->label[$name] = array(
'type' => 'button',
'value' => $value,
'action' => '',
'target' => 'self',
'left' => $this->left,
'top' => $this->top + $this->height + 10,
'width' => 0,
'height' => 0,
'align' => 'center',
'font-size' => 11,
'font-family' => 'Verdana, Tahoma, Arial',
'font-weight' => 'normal',
'color' => '#000000',
'bgr_color' => ''
);
break;
case 'step':
$this->label[$name] = array(
'type' => 'step',
'value' => $value,
'left' => $this->left + 5,
'top' => $this->top + 5,
'width' => 10,
'height' => 0,
'align' => 'right',
'font-size' => 11,
'font-family' => 'Verdana, Tahoma, Arial',
'font-weight' => 'normal',
'color' => '#000000',
'bgr_color' => ''
);
break;
case 'percent':
$this->label[$name] = array(
'type' => 'percent',
'value' => $value,
'left' => $this->left + $this->width - 50,
'top' => $this->top - 16,
'width' => 50,
'height' => 0,
'align' => 'right',
'font-size' => 11,
'font-family' => 'Verdana, Tahoma, Arial',
'font-weight' => 'normal',
'color' => '#000000',
'bgr_color' => ''
);
break;
case 'crossbar':
$this->label[$name] = array(
'type' => 'crossbar',
'value' => $value,
'left' => $this->left + ($this->width / 2),
'top' => $this->top - 16,
'width' => 10,
'height' => 0,
'align' => 'center',
'font-size' => 11,
'font-family' => 'Verdana, Tahoma, Arial',
'font-weight' => 'normal',
'color' => '#000000',
'bgr_color' => ''
);
break;
}
}
function addButton($name,$value,$action,$target='self')
{
$this->addLabel('button',$name,$value);
$this->label[$name]['action'] = $action;
$this->label[$name]['target'] = $target;
}
function setLabelPosition($name,$left,$top,$width,$height,$align='')
{
$this->label[$name]['top'] = intval($top);
$this->label[$name]['left'] = intval($left);
$this->label[$name]['width'] = intval($width);
$this->label[$name]['height'] = intval($height);
if ($align!='') {$this->label[$name]['align'] = $align;}
if ($this->status!='new') {
echo '<script type="text/JavaScript">document.getElementById("plbl'.$name.$this->code.'").style.top="'.$this->label[$name]['top'].'px";document.getElementById("plbl'.$name.$this->code.'").style.left="'.$this->label[$name]['left'].'px";document.getElementById("plbl'.$name.$this->code.'").style.width="'.$this->label[$name]['width'].'px";document.getElementById("plbl'.$name.$this->code.'").style.height="'.$this->label[$name]['height'].'px";document.getElementById("plbl'.$name.$this->code.'").style.align="'.$this->label[$name]['align'].'";</script>'."\n";
flush();
}
}
function setLabelColor($name,$color)
{
$this->label[$name]['color'] = $color;
if ($this->status!='new') {
echo '<script type="text/JavaScript">document.getElementById("plbl'.$name.$this->code.'").style.color="'.$color.'";</script>'."\n";
flush();
}
}
function setLabelBackground($name,$color)
{
$this->label[$name]['bgr_color'] = $color;
if ($this->status!='new') {
echo '<script type="text/JavaScript">document.getElementById("plbl'.$name.$this->code.'").style.background="'.$color.'";</script>'."\n";
flush();
}
}
function setLabelFont($name,$size,$family='',$weight='')
{
$this->label[$name]['font-size'] = intval($size);
if ($family!='') {$this->label[$name]['font-family'] = $family;}
if ($weight!='') {$this->label[$name]['font-weight'] = $weight;}
if ($this->status!='new') {
echo '<script type="text/JavaScript">document.getElementById("plbl'.$name.$this->code.'").style.font-size="'.$this->label[$name]['font-size'].'px";document.getElementById("plbl'.$name.$this->code.'").style.font-family="'.$this->label[$name]['font-family'].'";document.getElementById("plbl'.$name.$this->code.'").style.font-weight="'.$this->label[$name]['font-weight'].'";</script>'."\n";
flush();
}
}
function setLabelValue($name,$value)
{
$this->label[$name]['value'] = $value;
if ($this->status!='new') {
echo '<script type="text/JavaScript">PBlabelText'.$this->code.'("'.$name.'","'.$this->label[$name]['value'].'");</script>'."\n";
flush();
}
}
function setBarColor($color)
{
$this->color = $color;
if ($this->status!='new') {
echo '<script type="text/JavaScript">document.getElementById("pbar'.$this->code.'").style.background="'.$color.'";</script>'."\n";
flush();
}
}
function setBarBackground($color)
{
$this->bgr_color = $color;
if ($this->status!='new') {
echo '<script type="text/JavaScript">document.getElementById("pbrd'.$this->code.'").style.background="'.$color.'";</script>'."\n";
flush();
}
}
function setBarDirection($direction)
{
$this->direction = $direction;
if ($this->status!='new') {
$this->position = $this->_calculatePosition($this->step);
echo '<script type="text/JavaScript">';
echo 'PBposition'.$this->code.'("left",'.$this->position['left'].');';
echo 'PBposition'.$this->code.'("top",'.$this->position['top'].');';
echo 'PBposition'.$this->code.'("width",'.$this->position['width'].');';
echo 'PBposition'.$this->code.'("height",'.$this->position['height'].');';
echo '</script>'."\n";
flush();
}
}
function getHtml()
{
$html = '';
$js = '';
$this->_setStep($this->step);
$this->position = $this->_calculatePosition($this->step);
$style_brd = 'position:absolute;top:'.$this->top.'px;left:'.$this->left.'px;width:'.$this->width.'px;height:'.$this->height.'px;background:'.$this->bgr_color.';';
if ($this->border>0) {$style_brd .= 'border:'.$this->border.'px solid;border-color:'.$this->brd_color.';';}
$style_bar = 'position:absolute;top:'.$this->position['top'].'px;left:'.$this->position['left'].'px;'.'width:'.$this->position['width'].'px;height:'.$this->position['height'].'px;background:'.$this->color.';';
if ($this->frame['show']==true) {
if ($this->frame['border']>0) {$border = 'border:'.$this->frame['border'].'px solid;border-color:'.$this->frame['brd_color'].';';}
$html = '<div id="pfrm'.$this->code.'" style="position:absolute;top:'.$this->frame['top'].'px;left:'.$this->frame['left'].'px;width:'.$this->frame['width'].'px;height:'.$this->frame['height'].'px;'.$border.'background:'.$this->frame['color'].';">'."\n";
}
$html .= '<div id="pbrd'.$this->code.'" style="'.$style_brd.'">'."\n";
$html .= '<div id="pbar'.$this->code.'" style="'.$style_bar.'"></div></div>'."\n";
$js .= 'function PBposition'.$this->code.'(item,pixel) {'."\n";
$js .= ' pixel = parseInt(pixel);'."\n";
$js .= ' switch(item) {'."\n";
$js .= ' case "left": document.getElementById("pbar'.$this->code.'").style.left=(pixel) + \'px\'; break;'."\n";
$js .= ' case "top": document.getElementById("pbar'.$this->code.'").style.top=(pixel) + \'px\'; break;'."\n";
$js .= ' case "width": document.getElementById("pbar'.$this->code.'").style.width=(pixel) + \'px\'; break;'."\n";
$js .= ' case "height": document.getElementById("pbar'.$this->code.'").style.height=(pixel) + \'px\'; break;'."\n";
$js .= ' }'."\n";
$js .= '}'."\n";
foreach($this->label as $name => $data) {
$style_lbl = 'position:absolute;top:'.$data['top'].'px;left:'.$data['left'].'px;text-align:'.$data['align'].';';
if ($data['width']>0) {$style_lbl .= 'width:'.$data['width'].'px;';}
if ($data['height']>0) {$style_lbl .= 'height:'.$data['height'].'px;';}
if (array_key_exists('font-size', $data)) {$style_lbl .= 'font-size:'.$data['font-size'].'px;';}
if (array_key_exists('font-family', $data)) {$style_lbl .= 'font-family:'.$data['font-family'].';';}
if (array_key_exists('font-weight', $data)) {$style_lbl .= 'font-weight:'.$data['font-weight'].';';}
if (array_key_exists('bgr_color', $data) && ($data['bgr_color']!='')) {$style_lbl .= 'background:'.$data['bgr_color'].';';}
if (array_key_exists('type', $data)) {
switch ($data['type']) {
case 'text':
$html .= '<div id="plbl'.$name.$this->code.'" style="'.$style_lbl.'">'.$data['value'].'</div>'."\n";
break;
case 'button':
$html .= '<div><input id="plbl'.$name.$this->code.'" type="button" value="'.$data['value'].'" style="'.$style_lbl.'" onclick="'.$data['target'].'.location.href=\''.$data['action'].'\'" /></div>'."\n";
break;
case 'step':
$html .= '<div id="plbl'.$name.$this->code.'" style="'.$style_lbl.'">'.$this->step.'</div>'."\n";
break;
case 'percent':
$html .= '<div id="plbl'.$name.$this->code.'" style="'.$style_lbl.'">'.$this->_calculatePercent($this->step).'%</div>'."\n";
break;
case 'crossbar':
$html .= '<div id="plbl'.$name.$this->code.'" style="'.$style_lbl.'">'.$data['value'].'</div>'."\n";
$js .= 'function PBrotaryCross'.$name.$this->code.'() {'."\n";
$js .= ' cross = document.getElementById("plbl'.$name.$this->code.'").firstChild.nodeValue;'."\n";
$js .= ' switch(cross) {'."\n";
$js .= ' case "--": cross = "\\\\"; break;'."\n";
$js .= ' case "\\\\": cross = "|"; break;'."\n";
$js .= ' case "|": cross = "/"; break;'."\n";
$js .= ' default: cross = "--"; break;'."\n";
$js .= ' }'."\n";
$js .= ' document.getElementById("plbl'.$name.$this->code.'").firstChild.nodeValue = cross;'."\n";
$js .= '}'."\n";
break;
}
}
}
if(count($this->label)>0) {
$js .= 'function PBlabelText'.$this->code.'(name,text) {'."\n";
$js .= ' name = "plbl" + name + "'.$this->code.'";'."\n";
$js .= ' document.getElementById(name).firstChild.nodeValue=text;'."\n";
$js .= '}'."\n";
}
if ($this->frame['show']==true) {
$html .= '</div>'."\n";
}
$html .= '<script type="text/JavaScript">'."\n";
$html .= $js;
$html .= '</script>'."\n";
return $html;
}
function show()
{
$this->status = 'show';
echo $this->getHtml();
flush();
}
function moveStep($step)
{
$last_step = $this->step;
$this->_setStep($step);
$js = '';
$new_position = $this->_calculatePosition($this->step);
if ($new_position['width']!=$this->position['width'] && ($this->direction=='right' || $this->direction=='left')) {
if ($this->direction=='left') {
$js .= 'PBposition'.$this->code.'("left",'.$new_position['left'].');';
}
$js .= 'PBposition'.$this->code.'("width",'.$new_position['width'].');';
}
if ($new_position['height']!=$this->position['height'] && ($this->direction=='up' || $this->direction=='down')) {
if ($this->direction=='up') {
$js .= 'PBposition'.$this->code.'("top",'.$new_position['top'].');';
}
$js .= 'PBposition'.$this->code.'("height",'.$new_position['height'].');';
}
$this->position = $new_position;
foreach($this->label as $name => $data) {
if (array_key_exists('type', $data)) {
switch($data['type']) {
case 'step':
if ($this->step!=$last_step) {
$js .= 'PBlabelText'.$this->code.'("'.$name.'","'.$this->step.'/'.$this->max.'");';
}
break;
case 'percent':
$percent = $this->_calculatePercent($this->step);
if ($percent!=$this->_calculatePercent($last_step)) {
$js .= 'PBlabelText'.$this->code.'("'.$name.'","'.$percent.'%");';
}
break;
case 'crossbar':
$js .= 'PBrotaryCross'.$name.$this->code.'();';
break;
}
}
}
if ($js!='') {
echo '<script type="text/JavaScript">'.$js.'</script>'."\n";
flush ();
}
}
function moveNext()
{
$this->moveStep($this->step + 1);
}
function moveMin()
{
$this->moveStep($this->min);
}
function hide()
{
if ($this->status=='show') {
$this->status = 'hide';
echo '<script type="text/JavaScript">document.getElementById("pbrd'.$this->code.'").style.visibility="hidden";document.getElementById("pbar'.$this->code.'").style.visibility="hidden";';
if ($this->frame['show']==true) {
echo 'document.getElementById("pfrm'.$this->code.'").style.visibility="hidden";';
}
foreach($this->label as $name => $data) {
echo 'document.getElementById("plbl'.$name.$this->code.'").style.visibility="hidden";';
}
echo '</script>'."\n";
flush();
}
}
function unhide()
{
if ($this->status=='hide') {
$this->status = 'show';
echo '<script type="text/JavaScript">document.getElementById("pbrd'.$this->code.'").style.visibility="visible";document.getElementById("pbar'.$this->code.'").style.visibility="visible";';
if ($this->frame['show']==true) {
echo 'document.getElementById("pfrm'.$this->code.'").style.visibility="visible";';
}
foreach($this->label as $name => $data) {
echo 'document.getElementById("plbl'.$name.$this->code.'").style.visibility="visible";';
}
echo '</script>'."\n";
flush();
}
}
}
?>

View File

@@ -0,0 +1,483 @@
<?php
/*
Requires PHP5, uses built-in DOM extension.
To be used in PHP4 scripts using DOMXML extension: allows PHP4/DOMXML scripts to run on PHP5/DOM.
(Optional: requires PHP5/XSL extension for domxml_xslt functions, PHP>=5.1 for XPath evaluation functions, and PHP>=5.1/libxml for DOMXML error reports)
Typical use:
{
if (version_compare(PHP_VERSION,'5','>='))
require_once('domxml-php4-to-php5.php');
}
Version 1.19, 2007-09-30, http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
------------------------------------------------------------------
Written by Alexandre Alapetite, http://alexandre.alapetite.net/cv/
Copyright 2004-2007, Licence: Creative Commons "Attribution-ShareAlike 2.0 France" BY-SA (FR),
http://creativecommons.org/licenses/by-sa/2.0/fr/
http://alexandre.alapetite.net/divers/apropos/#by-sa
- Attribution. You must give the original author credit
- Share Alike. If you alter, transform, or build upon this work,
you may distribute the resulting work only under a license identical to this one
(Can be included in GPL/LGPL projects)
- The French law is authoritative
- Any of these conditions can be waived if you get permission from Alexandre Alapetite
- Please send to Alexandre Alapetite the modifications you make,
in order to improve this file for the benefit of everybody
If you want to distribute this code, please do it as a link to:
http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
*/
define('DOMXML_LOAD_PARSING',0);
define('DOMXML_LOAD_VALIDATING',1);
define('DOMXML_LOAD_RECOVERING',2);
define('DOMXML_LOAD_SUBSTITUTE_ENTITIES',4);
//define('DOMXML_LOAD_COMPLETE_ATTRS',8);
define('DOMXML_LOAD_DONT_KEEP_BLANKS',16);
function domxml_new_doc($version) {return new php4DOMDocument();}
function domxml_new_xmldoc($version) {return new php4DOMDocument();}
function domxml_open_file($filename,$mode=DOMXML_LOAD_PARSING,&$error=null)
{
$dom=new php4DOMDocument($mode);
$errorMode=(func_num_args()>2)&&defined('LIBXML_VERSION');
if ($errorMode) libxml_use_internal_errors(true);
if (!$dom->myDOMNode->load($filename)) $dom=null;
if ($errorMode)
{
$error=array_map('_error_report',libxml_get_errors());
libxml_clear_errors();
}
return $dom;
}
function domxml_open_mem($str,$mode=DOMXML_LOAD_PARSING,&$error=null)
{
$dom=new php4DOMDocument($mode);
$errorMode=(func_num_args()>2)&&defined('LIBXML_VERSION');
if ($errorMode) libxml_use_internal_errors(true);
if (!$dom->myDOMNode->loadXML($str)) $dom=null;
if ($errorMode)
{
$error=array_map('_error_report',libxml_get_errors());
libxml_clear_errors();
}
return $dom;
}
function html_doc($html_doc,$from_file=false)
{
$dom=new php4DOMDocument();
if ($from_file) $result=$dom->myDOMNode->loadHTMLFile($html_doc);
else $result=$dom->myDOMNode->loadHTML($html_doc);
return $result ? $dom : null;
}
function html_doc_file($filename) {return html_doc($filename,true);}
function xmldoc($str) {return domxml_open_mem($str);}
function xmldocfile($filename) {return domxml_open_file($filename);}
function xpath_eval($xpath_context,$eval_str,$contextnode=null) {return $xpath_context->xpath_eval($eval_str,$contextnode);}
function xpath_new_context($dom_document) {return new php4DOMXPath($dom_document);}
function xpath_register_ns($xpath_context,$prefix,$namespaceURI) {return $xpath_context->myDOMXPath->registerNamespace($prefix,$namespaceURI);}
function _entityDecode($text) {return html_entity_decode_php4(strtr($text,array('&apos;'=>'\'')),ENT_QUOTES,'UTF-8');}
function _error_report($error) {return array('errormessage'=>$error->message,'nodename'=>'','line'=>$error->line,'col'=>$error->column)+($error->file==''?array():array('directory'=>dirname($error->file),'file'=>basename($error->file)));}
class php4DOMAttr extends php4DOMNode
{
function name() {return $this->myDOMNode->name;}
function set_content($text) {}
//function set_value($content) {return $this->myDOMNode->value=htmlspecialchars($content,ENT_QUOTES);}
function specified() {return $this->myDOMNode->specified;}
function value() {return $this->myDOMNode->value;}
}
class php4DOMDocument extends php4DOMNode
{
function php4DOMDocument($mode=DOMXML_LOAD_PARSING)
{
$this->myDOMNode=new DOMDocument();
$this->myOwnerDocument=$this;
if ($mode & DOMXML_LOAD_VALIDATING) $this->myDOMNode->validateOnParse=true;
if ($mode & DOMXML_LOAD_RECOVERING) $this->myDOMNode->recover=true;
if ($mode & DOMXML_LOAD_SUBSTITUTE_ENTITIES) $this->myDOMNode->substituteEntities=true;
if ($mode & DOMXML_LOAD_DONT_KEEP_BLANKS) $this->myDOMNode->preserveWhiteSpace=false;
}
function add_root($name)
{
if ($this->myDOMNode->hasChildNodes()) $this->myDOMNode->removeChild($this->myDOMNode->firstChild);
return new php4DOMElement($this->myDOMNode->appendChild($this->myDOMNode->createElement($name)),$this->myOwnerDocument);
}
function create_attribute($name,$value)
{
$myAttr=$this->myDOMNode->createAttribute($name);
$myAttr->value=htmlspecialchars($value,ENT_QUOTES);
return new php4DOMAttr($myAttr,$this);
}
function create_cdata_section($content) {return new php4DOMNode($this->myDOMNode->createCDATASection($content),$this);}
function create_comment($data) {return new php4DOMNode($this->myDOMNode->createComment($data),$this);}
function create_element($name) {return new php4DOMElement($this->myDOMNode->createElement($name),$this);}
function create_element_ns($uri,$name,$prefix=null)
{
if ($prefix==null) $prefix=$this->myDOMNode->lookupPrefix($uri);
if (($prefix==null)&&(($this->myDOMNode->documentElement==null)||(!$this->myDOMNode->documentElement->isDefaultNamespace($uri)))) $prefix='a'.sprintf('%u',crc32($uri));
return new php4DOMElement($this->myDOMNode->createElementNS($uri,$prefix==null ? $name : $prefix.':'.$name),$this);
}
function create_entity_reference($content) {return new php4DOMNode($this->myDOMNode->createEntityReference($content),$this);} //By Walter Ebert 2007-01-22
function create_processing_instruction($target,$data=''){return new php4DomProcessingInstruction($this->myDOMNode->createProcessingInstruction($target,$data),$this);}
function create_text_node($content) {return new php4DOMText($this->myDOMNode->createTextNode($content),$this);}
function document_element() {return parent::_newDOMElement($this->myDOMNode->documentElement,$this);}
function dump_file($filename,$compressionmode=false,$format=false)
{
$format0=$this->myDOMNode->formatOutput;
$this->myDOMNode->formatOutput=$format;
$res=$this->myDOMNode->save($filename);
$this->myDOMNode->formatOutput=$format0;
return $res;
}
function dump_mem($format=false,$encoding=false)
{
$format0=$this->myDOMNode->formatOutput;
$this->myDOMNode->formatOutput=$format;
$encoding0=$this->myDOMNode->encoding;
if ($encoding) $this->myDOMNode->encoding=$encoding;
$dump=$this->myDOMNode->saveXML();
$this->myDOMNode->formatOutput=$format0;
if ($encoding) $this->myDOMNode->encoding= $encoding0=='' ? 'UTF-8' : $encoding0; //UTF-8 is XML default encoding
return $dump;
}
function free()
{
if ($this->myDOMNode->hasChildNodes()) $this->myDOMNode->removeChild($this->myDOMNode->firstChild);
$this->myDOMNode=null;
$this->myOwnerDocument=null;
}
function get_element_by_id($id) {return parent::_newDOMElement($this->myDOMNode->getElementById($id),$this);}
function get_elements_by_tagname($name)
{
$myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
$nodeSet=array();
$i=0;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item($i++)) $nodeSet[]=new php4DOMElement($node,$this);
return $nodeSet;
}
function html_dump_mem() {return $this->myDOMNode->saveHTML();}
function root() {return parent::_newDOMElement($this->myDOMNode->documentElement,$this);}
function xpath_new_context() {return new php4DOMXPath($this);}
}
class php4DOMElement extends php4DOMNode
{
function add_namespace($uri,$prefix)
{
if ($this->myDOMNode->hasAttributeNS('http://www.w3.org/2000/xmlns/',$prefix)) return false;
else
{
$this->myDOMNode->setAttributeNS('http://www.w3.org/2000/xmlns/','xmlns:'.$prefix,$uri); //By Daniel Walker 2006-09-08
return true;
}
}
function get_attribute($name) {return $this->myDOMNode->getAttribute($name);}
function get_attribute_node($name) {return parent::_newDOMElement($this->myDOMNode->getAttributeNode($name),$this->myOwnerDocument);}
function get_elements_by_tagname($name)
{
$myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
$nodeSet=array();
$i=0;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item($i++)) $nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);
return $nodeSet;
}
function has_attribute($name) {return $this->myDOMNode->hasAttribute($name);}
function remove_attribute($name) {return $this->myDOMNode->removeAttribute($name);}
function set_attribute($name,$value)
{
//return $this->myDOMNode->setAttribute($name,$value); //Does not return a DomAttr
$myAttr=$this->myDOMNode->ownerDocument->createAttribute($name);
$myAttr->value=htmlspecialchars($value,ENT_QUOTES); //Entity problem reported by AL-DesignWorks 2007-09-07
$this->myDOMNode->setAttributeNode($myAttr);
return new php4DOMAttr($myAttr,$this->myOwnerDocument);
}
/*function set_attribute_node($attr)
{
$this->myDOMNode->setAttributeNode($this->_importNode($attr));
return $attr;
}*/
function set_name($name)
{
if ($this->myDOMNode->prefix=='') $newNode=$this->myDOMNode->ownerDocument->createElement($name);
else $newNode=$this->myDOMNode->ownerDocument->createElementNS($this->myDOMNode->namespaceURI,$this->myDOMNode->prefix.':'.$name);
$myDOMNodeList=$this->myDOMNode->attributes;
$i=0;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item($i++))
if ($node->namespaceURI=='') $newNode->setAttribute($node->name,$node->value);
else $newNode->setAttributeNS($node->namespaceURI,$node->nodeName,$node->value);
$myDOMNodeList=$this->myDOMNode->childNodes;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item(0)) $newNode->appendChild($node);
$this->myDOMNode->parentNode->replaceChild($newNode,$this->myDOMNode);
$this->myDOMNode=$newNode;
return true;
}
function tagname() {return $this->myDOMNode->tagName;}
}
class php4DOMNode
{
public $myDOMNode;
public $myOwnerDocument;
function php4DOMNode($aDomNode,$aOwnerDocument)
{
$this->myDOMNode=$aDomNode;
$this->myOwnerDocument=$aOwnerDocument;
}
function __get($name)
{
switch ($name)
{
case 'type': return $this->myDOMNode->nodeType;
case 'tagname': return $this->myDOMNode->tagName; //DomElement
case 'content': return $this->myDOMNode->textContent;
case 'name': return $this->myDOMNode->name; //DomAttribute
case 'value': return $this->myDOMNode->value;
default:
$myErrors=debug_backtrace();
trigger_error('Undefined property: '.get_class($this).'::$'.$name.' ['.$myErrors[0]['file'].':'.$myErrors[0]['line'].']',E_USER_NOTICE);
return false;
}
}
function add_child($newnode) {return append_child($newnode);}
function add_namespace($uri,$prefix) {return false;}
function append_child($newnode) {return self::_newDOMElement($this->myDOMNode->appendChild($this->_importNode($newnode)),$this->myOwnerDocument);}
function append_sibling($newnode) {return self::_newDOMElement($this->myDOMNode->parentNode->appendChild($this->_importNode($newnode)),$this->myOwnerDocument);}
function attributes()
{
$myDOMNodeList=$this->myDOMNode->attributes;
$nodeSet=array();
$i=0;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item($i++)) $nodeSet[]=new php4DOMAttr($node,$this->myOwnerDocument);
return $nodeSet;
}
function child_nodes()
{
$myDOMNodeList=$this->myDOMNode->childNodes;
$nodeSet=array();
$i=0;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item($i++)) $nodeSet[]=self::_newDOMElement($node,$this->myOwnerDocument);
return $nodeSet;
}
function children() {return $this->child_nodes();}
function clone_node($deep=false) {return self::_newDOMElement($this->myDOMNode->cloneNode($deep),$this->myOwnerDocument);}
//dump_node($node) should only be called on php4DOMDocument
function dump_node($node=null) {return $node==null ? $this->myOwnerDocument->myDOMNode->saveXML($this->myDOMNode) : $this->myOwnerDocument->myDOMNode->saveXML($node->myDOMNode);}
function first_child() {return self::_newDOMElement($this->myDOMNode->firstChild,$this->myOwnerDocument);}
function get_content() {return $this->myDOMNode->textContent;}
function has_attributes() {return $this->myDOMNode->hasAttributes();}
function has_child_nodes() {return $this->myDOMNode->hasChildNodes();}
function insert_before($newnode,$refnode) {return self::_newDOMElement($this->myDOMNode->insertBefore($this->_importNode($newnode),$refnode==null?null:$refnode->myDOMNode),$this->myOwnerDocument);}
function is_blank_node() {return ($this->myDOMNode->nodeType===XML_TEXT_NODE)&&preg_match('%^\s*$%',$this->myDOMNode->nodeValue);}
function last_child() {return self::_newDOMElement($this->myDOMNode->lastChild,$this->myOwnerDocument);}
function new_child($name,$content)
{
$mySubNode=$this->myDOMNode->ownerDocument->createElement($name);
$mySubNode->appendChild($this->myDOMNode->ownerDocument->createTextNode(_entityDecode($content)));
$this->myDOMNode->appendChild($mySubNode);
return new php4DOMElement($mySubNode,$this->myOwnerDocument);
}
function next_sibling() {return self::_newDOMElement($this->myDOMNode->nextSibling,$this->myOwnerDocument);}
function node_name() {return ($this->myDOMNode->nodeType===XML_ELEMENT_NODE) ? $this->myDOMNode->localName : $this->myDOMNode->nodeName;} //Avoid namespace prefix for DOMElement
function node_type() {return $this->myDOMNode->nodeType;}
function node_value() {return $this->myDOMNode->nodeValue;}
function owner_document() {return $this->myOwnerDocument;}
function parent_node() {return self::_newDOMElement($this->myDOMNode->parentNode,$this->myOwnerDocument);}
function prefix() {return $this->myDOMNode->prefix;}
function previous_sibling() {return self::_newDOMElement($this->myDOMNode->previousSibling,$this->myOwnerDocument);}
function remove_child($oldchild) {return self::_newDOMElement($this->myDOMNode->removeChild($oldchild->myDOMNode),$this->myOwnerDocument);}
function replace_child($newnode,$oldnode) {return self::_newDOMElement($this->myDOMNode->replaceChild($this->_importNode($newnode),$oldnode->myDOMNode),$this->myOwnerDocument);}
function replace_node($newnode) {return self::_newDOMElement($this->myDOMNode->parentNode->replaceChild($this->_importNode($newnode),$this->myDOMNode),$this->myOwnerDocument);}
function set_content($text) {return $this->myDOMNode->appendChild($this->myDOMNode->ownerDocument->createTextNode(_entityDecode($text)));} //Entity problem reported by AL-DesignWorks 2007-09-07
//function set_name($name) {return $this->myOwnerDocument->renameNode($this->myDOMNode,$this->myDOMNode->namespaceURI,$name);}
function set_namespace($uri,$prefix=null)
{//Contributions by Daniel Walker 2006-09-08
$nsprefix=$this->myDOMNode->lookupPrefix($uri);
if ($nsprefix==null)
{
$nsprefix= $prefix==null ? $nsprefix='a'.sprintf('%u',crc32($uri)) : $prefix;
if ($this->myDOMNode->nodeType===XML_ATTRIBUTE_NODE)
{
if (($prefix!=null)&&$this->myDOMNode->ownerElement->hasAttributeNS('http://www.w3.org/2000/xmlns/',$nsprefix)&&
($this->myDOMNode->ownerElement->getAttributeNS('http://www.w3.org/2000/xmlns/',$nsprefix)!=$uri))
{//Remove namespace
$parent=$this->myDOMNode->ownerElement;
$parent->removeAttributeNode($this->myDOMNode);
$parent->setAttribute($this->myDOMNode->localName,$this->myDOMNode->nodeValue);
$this->myDOMNode=$parent->getAttributeNode($this->myDOMNode->localName);
return;
}
$this->myDOMNode->ownerElement->setAttributeNS('http://www.w3.org/2000/xmlns/','xmlns:'.$nsprefix,$uri);
}
}
if ($this->myDOMNode->nodeType===XML_ATTRIBUTE_NODE)
{
$parent=$this->myDOMNode->ownerElement;
$parent->removeAttributeNode($this->myDOMNode);
$parent->setAttributeNS($uri,$nsprefix.':'.$this->myDOMNode->localName,$this->myDOMNode->nodeValue);
$this->myDOMNode=$parent->getAttributeNodeNS($uri,$this->myDOMNode->localName);
}
elseif ($this->myDOMNode->nodeType===XML_ELEMENT_NODE)
{
$NewNode=$this->myDOMNode->ownerDocument->createElementNS($uri,$nsprefix.':'.$this->myDOMNode->localName);
foreach ($this->myDOMNode->attributes as $n) $NewNode->appendChild($n->cloneNode(true));
foreach ($this->myDOMNode->childNodes as $n) $NewNode->appendChild($n->cloneNode(true));
$xpath=new DOMXPath($this->myDOMNode->ownerDocument);
$myDOMNodeList=$xpath->query('namespace::*[name()!="xml"]',$this->myDOMNode); //Add old namespaces
foreach ($myDOMNodeList as $n) $NewNode->setAttributeNS('http://www.w3.org/2000/xmlns/',$n->nodeName,$n->nodeValue);
$this->myDOMNode->parentNode->replaceChild($NewNode,$this->myDOMNode);
$this->myDOMNode=$NewNode;
}
}
function unlink_node()
{
if ($this->myDOMNode->parentNode!=null)
{
if ($this->myDOMNode->nodeType===XML_ATTRIBUTE_NODE) $this->myDOMNode->parentNode->removeAttributeNode($this->myDOMNode);
else $this->myDOMNode->parentNode->removeChild($this->myDOMNode);
}
}
protected function _importNode($newnode) {return $this->myOwnerDocument===$newnode->myOwnerDocument ? $newnode->myDOMNode : $this->myOwnerDocument->myDOMNode->importNode($newnode->myDOMNode,true);} //To import DOMNode from another DOMDocument
static function _newDOMElement($aDOMNode,$aOwnerDocument)
{//Check the PHP5 DOMNode before creating a new associated PHP4 DOMNode wrapper
if ($aDOMNode==null) return null;
switch ($aDOMNode->nodeType)
{
case XML_ELEMENT_NODE: return new php4DOMElement($aDOMNode,$aOwnerDocument);
case XML_TEXT_NODE: return new php4DOMText($aDOMNode,$aOwnerDocument);
case XML_ATTRIBUTE_NODE: return new php4DOMAttr($aDOMNode,$aOwnerDocument);
case XML_PI_NODE: return new php4DomProcessingInstruction($aDOMNode,$aOwnerDocument);
default: return new php4DOMNode($aDOMNode,$aOwnerDocument);
}
}
}
class php4DomProcessingInstruction extends php4DOMNode
{
function data() {return $this->myDOMNode->data;}
function target() {return $this->myDOMNode->target;}
}
class php4DOMText extends php4DOMNode
{
function __get($name)
{
if ($name==='tagname') return '#text';
else return parent::__get($name);
}
function tagname() {return '#text';}
function set_content($text) {$this->myDOMNode->nodeValue=$text; return true;}
}
if (!defined('XPATH_NODESET'))
{
define('XPATH_UNDEFINED',0);
define('XPATH_NODESET',1);
define('XPATH_BOOLEAN',2);
define('XPATH_NUMBER',3);
define('XPATH_STRING',4);
/*define('XPATH_POINT',5);
define('XPATH_RANGE',6);
define('XPATH_LOCATIONSET',7);
define('XPATH_USERS',8);
define('XPATH_XSLT_TREE',9);*/
}
class php4DOMNodelist
{
private $myDOMNodelist;
public $nodeset;
public $type;
public $value;
function php4DOMNodelist($aDOMNodelist,$aOwnerDocument)
{
if (is_object($aDOMNodelist)||is_array($aDOMNodelist))
{
$this->myDOMNodelist=$aDOMNodelist;
$this->nodeset=array();
if (isset($this->myDOMNodelist))
{
$this->type=XPATH_NODESET;
$i=0;
while ($node=$this->myDOMNodelist->item($i++)) $this->nodeset[]=php4DOMNode::_newDOMElement($node,$aOwnerDocument);
}
else $this->type=XPATH_UNDEFINED;
}
elseif (is_int($aDOMNodelist)||is_float($aDOMNodelist))
{
$this->type=XPATH_NUMBER;
$this->value=$aDOMNodelist;
}
elseif (is_bool($aDOMNodelist))
{
$this->type=XPATH_BOOLEAN;
$this->value=$aDOMNodelist;
}
elseif (is_string($aDOMNodelist))
{
$this->type=XPATH_STRING;
$this->value=$aDOMNodelist;
}
else $this->type=XPATH_UNDEFINED;
}
}
class php4DOMXPath
{
public $myDOMXPath;
private $myOwnerDocument;
function php4DOMXPath($dom_document)
{
//TODO: If $dom_document is a DomElement, make that default $contextnode and modify XPath. Ex: '/test'
$this->myOwnerDocument=$dom_document->myOwnerDocument;
$this->myDOMXPath=new DOMXPath($this->myOwnerDocument->myDOMNode);
}
function xpath_eval($eval_str,$contextnode=null)
{
if (method_exists($this->myDOMXPath,'evaluate'))
return isset($contextnode) ? new php4DOMNodelist($this->myDOMXPath->evaluate($eval_str,$contextnode->myDOMNode),$this->myOwnerDocument) : new php4DOMNodelist($this->myDOMXPath->evaluate($eval_str),$this->myOwnerDocument);
else return isset($contextnode) ? new php4DOMNodelist($this->myDOMXPath->query($eval_str,$contextnode->myDOMNode),$this->myOwnerDocument) : new php4DOMNodelist($this->myDOMXPath->query($eval_str),$this->myOwnerDocument);
}
function xpath_register_ns($prefix,$namespaceURI) {return $this->myDOMXPath->registerNamespace($prefix,$namespaceURI);}
}
if (extension_loaded('xsl'))
{//See also: http://alexandre.alapetite.net/doc-alex/xslt-php4-php5/
function domxml_xslt_stylesheet($xslstring) {return new php4DomXsltStylesheet(DOMDocument::loadXML($xslstring));}
function domxml_xslt_stylesheet_doc($dom_document) {return new php4DomXsltStylesheet($dom_document);}
function domxml_xslt_stylesheet_file($xslfile) {return new php4DomXsltStylesheet(DOMDocument::load($xslfile));}
class php4DomXsltStylesheet
{
private $myxsltProcessor;
function php4DomXsltStylesheet($dom_document)
{
$this->myxsltProcessor=new xsltProcessor();
$this->myxsltProcessor->importStyleSheet($dom_document);
}
function process($dom_document,$xslt_parameters=array(),$param_is_xpath=false)
{
foreach ($xslt_parameters as $param=>$value) $this->myxsltProcessor->setParameter('',$param,$value);
$myphp4DOMDocument=new php4DOMDocument();
$myphp4DOMDocument->myDOMNode=$this->myxsltProcessor->transformToDoc($dom_document->myDOMNode);
return $myphp4DOMDocument;
}
function result_dump_file($dom_document,$filename)
{
$html=$dom_document->myDOMNode->saveHTML();
file_put_contents($filename,$html);
return $html;
}
function result_dump_mem($dom_document) {return $dom_document->myDOMNode->saveHTML();}
}
}
?>

View File

@@ -0,0 +1,485 @@
<?php
/*******************************************************************************
*
* SHA256 static class for PHP4
* implemented by feyd _at_ devnetwork .dot. net
* specification from http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf
*
* ? Copyright 2005 Developer's Network. All rights reserved.
* This is licensed under the Lesser General Public License (LGPL)
*
* Thanks to CertainKey Inc. for providing some example outputs in Javascript
*
*----- Version 1.0.1 ----------------------------------------------------------
*
* Syntax:
* string SHA256::hash( string message[, string format ])
*
* Description:
* SHA256::hash() is a static function that must be called with `message`
* and optionally `format`. Possible values for `format` are:
* 'bin' binary string output
* 'hex' default; hexidecimal string output (lower case)
*
* Failures return FALSE.
*
* Usage:
* $hash = SHA256::hash('string to hash');
*
******************************************************************************/
// hashing class state and storage object. Abstract base class only.
class hashData
{
// final hash
var $hash = null;
}
// hashing class. Abstract base class only.
class hash
{
// The base modes are:
// 'bin' - binary output (most compact)
// 'bit' - bit output (largest)
// 'oct' - octal output (medium-large)
// 'hex' - hexidecimal (default, medium)
// perform a hash on a string
function hash($str, $mode = 'hex')
{
trigger_error('hash::hash() NOT IMPLEMENTED', E_USER_WARNING);
return false;
}
// chop the resultant hash into $length byte chunks
function hashChunk($str, $length, $mode = 'hex')
{
trigger_error('hash::hashChunk() NOT IMPLEMENTED', E_USER_WARNING);
return false;
}
// perform a hash on a file
function hashFile($filename, $mode = 'hex')
{
trigger_error('hash::hashFile() NOT IMPLEMENTED', E_USER_WARNING);
return false;
}
// chop the resultant hash into $length byte chunks
function hashChunkFile($filename, $length, $mode = 'hex')
{
trigger_error('hash::hashChunkFile() NOT IMPLEMENTED', E_USER_WARNING);
return false;
}
}
// ------------
class SHA256Data extends hashData
{
// buffer
var $buf = array();
// padded data
var $chunks = null;
function SHA256Data($str)
{
$M = strlen($str); // number of bytes
$L1 = ($M >> 28) & 0x0000000F; // top order bits
$L2 = $M << 3; // number of bits
$l = pack('N*', $L1, $L2);
// 64 = 64 bits needed for the size mark. 1 = the 1 bit added to the
// end. 511 = 511 bits to get the number to be at least large enough
// to require one block. 512 is the block size.
$k = $L2 + 64 + 1 + 511;
$k -= $k % 512 + $L2 + 64 + 1;
$k >>= 3; // convert to byte count
$str .= chr(0x80) . str_repeat(chr(0), $k) . $l;
assert('strlen($str) % 64 == 0');
// break the binary string into 512-bit blocks
preg_match_all( '#.{64}#', $str, $this->chunks );
$this->chunks = $this->chunks[0];
// H(0)
/*
$this->hash = array
(
(int)0x6A09E667, (int)0xBB67AE85,
(int)0x3C6EF372, (int)0xA54FF53A,
(int)0x510E527F, (int)0x9B05688C,
(int)0x1F83D9AB, (int)0x5BE0CD19,
);
*/
$this->hash = array
(
1779033703, -1150833019,
1013904242, -1521486534,
1359893119, -1694144372,
528734635, 1541459225,
);
}
}
// static class. Access via SHA256::hash()
class SHA256 extends hash
{
function hash($str, $mode = 'hex')
{
static $modes = array( 'hex', 'bin', 'bit' );
$ret = false;
if(!in_array(strtolower($mode), $modes))
{
trigger_error('mode specified is unrecognized: ' . $mode, E_USER_WARNING);
}
else
{
$data =& new SHA256Data($str);
SHA256::compute($data);
$func = array('SHA256', 'hash' . $mode);
if(is_callable($func))
{
$func = 'hash' . $mode;
$ret = SHA256::$func($data);
//$ret = call_user_func($func, $data);
}
else
{
trigger_error('SHA256::hash' . $mode . '() NOT IMPLEMENTED.', E_USER_WARNING);
}
}
return $ret;
}
// ------------
// begin internal functions
// 32-bit summation
function sum()
{
$T = 0;
for($x = 0, $y = func_num_args(); $x < $y; $x++)
{
// argument
$a = func_get_arg($x);
// carry storage
$c = 0;
for($i = 0; $i < 32; $i++)
{
// sum of the bits at $i
$j = (($T >> $i) & 1) + (($a >> $i) & 1) + $c;
// carry of the bits at $i
$c = ($j >> 1) & 1;
// strip the carry
$j &= 1;
// clear the bit
$T &= ~(1 << $i);
// set the bit
$T |= $j << $i;
}
}
return $T;
}
// compute the hash
function compute(&$hashData)
{
static $vars = 'abcdefgh';
static $K = null;
if($K === null)
{
/*
$K = array(
(int)0x428A2F98, (int)0x71374491, (int)0xB5C0FBCF, (int)0xE9B5DBA5,
(int)0x3956C25B, (int)0x59F111F1, (int)0x923F82A4, (int)0xAB1C5ED5,
(int)0xD807AA98, (int)0x12835B01, (int)0x243185BE, (int)0x550C7DC3,
(int)0x72BE5D74, (int)0x80DEB1FE, (int)0x9BDC06A7, (int)0xC19BF174,
(int)0xE49B69C1, (int)0xEFBE4786, (int)0x0FC19DC6, (int)0x240CA1CC,
(int)0x2DE92C6F, (int)0x4A7484AA, (int)0x5CB0A9DC, (int)0x76F988DA,
(int)0x983E5152, (int)0xA831C66D, (int)0xB00327C8, (int)0xBF597FC7,
(int)0xC6E00BF3, (int)0xD5A79147, (int)0x06CA6351, (int)0x14292967,
(int)0x27B70A85, (int)0x2E1B2138, (int)0x4D2C6DFC, (int)0x53380D13,
(int)0x650A7354, (int)0x766A0ABB, (int)0x81C2C92E, (int)0x92722C85,
(int)0xA2BFE8A1, (int)0xA81A664B, (int)0xC24B8B70, (int)0xC76C51A3,
(int)0xD192E819, (int)0xD6990624, (int)0xF40E3585, (int)0x106AA070,
(int)0x19A4C116, (int)0x1E376C08, (int)0x2748774C, (int)0x34B0BCB5,
(int)0x391C0CB3, (int)0x4ED8AA4A, (int)0x5B9CCA4F, (int)0x682E6FF3,
(int)0x748F82EE, (int)0x78A5636F, (int)0x84C87814, (int)0x8CC70208,
(int)0x90BEFFFA, (int)0xA4506CEB, (int)0xBEF9A3F7, (int)0xC67178F2
);
*/
$K = array (
1116352408, 1899447441, -1245643825, -373957723,
961987163, 1508970993, -1841331548, -1424204075,
-670586216, 310598401, 607225278, 1426881987,
1925078388, -2132889090, -1680079193, -1046744716,
-459576895, -272742522, 264347078, 604807628,
770255983, 1249150122, 1555081692, 1996064986,
-1740746414, -1473132947, -1341970488, -1084653625,
-958395405, -710438585, 113926993, 338241895,
666307205, 773529912, 1294757372, 1396182291,
1695183700, 1986661051, -2117940946, -1838011259,
-1564481375, -1474664885, -1035236496, -949202525,
-778901479, -694614492, -200395387, 275423344,
430227734, 506948616, 659060556, 883997877,
958139571, 1322822218, 1537002063, 1747873779,
1955562222, 2024104815, -2067236844, -1933114872,
-1866530822, -1538233109, -1090935817, -965641998,
);
}
$W = array();
for($i = 0, $numChunks = sizeof($hashData->chunks); $i < $numChunks; $i++)
{
// initialize the registers
for($j = 0; $j < 8; $j++)
${$vars{$j}} = $hashData->hash[$j];
// the SHA-256 compression function
for($j = 0; $j < 64; $j++)
{
if($j < 16)
{
$T1 = ord($hashData->chunks[$i]{$j*4 }) & 0xFF; $T1 <<= 8;
$T1 |= ord($hashData->chunks[$i]{$j*4+1}) & 0xFF; $T1 <<= 8;
$T1 |= ord($hashData->chunks[$i]{$j*4+2}) & 0xFF; $T1 <<= 8;
$T1 |= ord($hashData->chunks[$i]{$j*4+3}) & 0xFF;
$W[$j] = $T1;
}
else
{
$W[$j] = SHA256::sum(((($W[$j-2] >> 17) & 0x00007FFF) | ($W[$j-2] << 15)) ^ ((($W[$j-2] >> 19) & 0x00001FFF) | ($W[$j-2] << 13)) ^ (($W[$j-2] >> 10) & 0x003FFFFF), $W[$j-7], ((($W[$j-15] >> 7) & 0x01FFFFFF) | ($W[$j-15] << 25)) ^ ((($W[$j-15] >> 18) & 0x00003FFF) | ($W[$j-15] << 14)) ^ (($W[$j-15] >> 3) & 0x1FFFFFFF), $W[$j-16]);
}
$T1 = SHA256::sum($h, ((($e >> 6) & 0x03FFFFFF) | ($e << 26)) ^ ((($e >> 11) & 0x001FFFFF) | ($e << 21)) ^ ((($e >> 25) & 0x0000007F) | ($e << 7)), ($e & $f) ^ (~$e & $g), $K[$j], $W[$j]);
$T2 = SHA256::sum(((($a >> 2) & 0x3FFFFFFF) | ($a << 30)) ^ ((($a >> 13) & 0x0007FFFF) | ($a << 19)) ^ ((($a >> 22) & 0x000003FF) | ($a << 10)), ($a & $b) ^ ($a & $c) ^ ($b & $c));
$h = $g;
$g = $f;
$f = $e;
$e = SHA256::sum($d, $T1);
$d = $c;
$c = $b;
$b = $a;
$a = SHA256::sum($T1, $T2);
}
// compute the next hash set
for($j = 0; $j < 8; $j++)
$hashData->hash[$j] = SHA256::sum(${$vars{$j}}, $hashData->hash[$j]);
}
}
// set up the display of the hash in hex.
function hashHex(&$hashData)
{
$str = '';
reset($hashData->hash);
do
{
$str .= sprintf('%08x', current($hashData->hash));
}
while(next($hashData->hash));
return $str;
}
// set up the output of the hash in binary
function hashBin(&$hashData)
{
$str = '';
reset($hashData->hash);
do
{
$str .= pack('N', current($hashData->hash));
}
while(next($hashData->hash));
return $str;
}
}
//--------------
// REMOVAL ALL FUNCTIONS AFTER THIS WHEN NOT TESTING
//--------------
// format a string into 4 byte hex chunks
function hexerize($str)
{
$n = 0;
$b = 0;
if(is_array($str))
{
reset($str);
$o = 'array(' . sizeof($str) . ')::' . "\n\n";
while($s = current($str))
{
$o .= hexerize($s);
next($str);
}
$o .= 'end array;'."\n";
}
else
{
if(is_integer($str) || is_float($str))
$str = pack('N',$str);
$o = 'string(' . strlen($str) . ')' . "::\n";
for($i = 0, $j = strlen($str); $i < $j; $i++, $b = $i % 4)
{
$o .= sprintf('%02X', ord($str{$i}));
// only process when 32-bits have passed through
if($i != 0 && $b == 3)
{
// process new line points
if($n == 3)
$o .= "\n";
else
$o .= ' ';
++$n;
$n %= 4;
}
}
}
return $o . "\n";
}
// testing functions
function test1()
{
$it = 1;
echo '<pre>';
$test = array('abc','abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq');
foreach($test as $str)
{
echo 'Testing ' . var_export($str,true) . "\n";
list($s1,$s2) = explode(' ', microtime());
for($x = 0; $x < $it; $x++)
$data =& new SHA256Data($str);
list($e1,$e2) = explode(' ', microtime());
echo hexerize($data->chunks);
echo hexerize($data->hash);
echo 'processing took ' . (($e2 - $s2 + $e1 - $s1) / $it) . ' seconds.' . "\n\n\n";
}
echo '</pre>';
}
function test2()
{
$it = 1;
echo '<pre>';
$test = array('abc','abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq');
foreach($test as $str)
{
echo 'Testing ' . var_export($str,true) . "\n";
list($s1,$s2) = explode(' ', microtime());
for($x = 0; $x < $it; $x++)
$o = SHA256::hash($str);
list($e1,$e2) = explode(' ', microtime());
echo $o;
echo 'processing took ' . (($e2 - $s2 + $e1 - $s1) / $it) . ' seconds.' . "\n\n\n";
}
echo '</pre>';
}
function testSum()
{
echo '<pre>';
echo SHA256::sum(1,2,3,4,5,6,7,8,9,10);
echo '</pre>';
}
function testSpeedHash($it = 10)
{
$it = intval($it);
if($it === 0)
$it = 10;
set_time_limit(-1);
echo '<pre>' . "\n";
$test = array(
''=>'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
'abc'=>'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',
'message digest'=>'f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650',
'secure hash algorithm'=>'f30ceb2bb2829e79e4ca9753d35a8ecc00262d164cc077080295381cbd643f0d',
'SHA256 is considered to be safe'=>'6819d915c73f4d1e77e4e1b52d1fa0f9cf9beaead3939f15874bd988e2a23630',
'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'=>'248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1',
'For this sample, this 63-byte string will be used as input data'=>'f08a78cbbaee082b052ae0708f32fa1e50c5c421aa772ba5dbb406a2ea6be342',
'This is exactly 64 bytes long, not counting the terminating byte'=>'ab64eff7e88e2e46165e29f2bce41826bd4c7b3552f6b382a9e7d3af47c245f8',
);
foreach($test as $str => $hash)
{
echo 'Testing ' . var_export($str,true) . "\n";
echo 'Start time: ' . date('Y-m-d H:i:s') . "\n";
if($it > 1)
{
list($s1,$s2) = explode(' ', microtime());
$o = SHA256::hash($str);
list($e1,$e2) = explode(' ', microtime());
echo 'estimated time to perform test: ' . (($e2 - $s2 + $e1 - $s1) * $it) . ' seconds for ' . $it . ' iterations.' . "\n";
}
$t = 0;
for($x = 0; $x < $it; $x++)
{
list($s1,$s2) = explode(' ', microtime());
$o = SHA256::hash($str);
list($e1,$e2) = explode(' ', microtime());
$t += $e2 - $s2 + $e1 - $s1;
}
echo var_export($o,true) . ' == ' . var_export($hash,true) . ' ' . (strcasecmp($o,$hash)==0 ? 'PASSED' : 'FAILED') . "\n";
echo 'processing took ' . ($t / $it) . ' seconds.' . "\n\n\n";
}
echo '</pre>';
}
//testSpeedHash(1);
//--------------
// END REMOVAL HERE
//--------------
/* EOF :: Document Settings: tab:4; */
?>

View File

@@ -0,0 +1,411 @@
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP Version 4 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2002 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Author: Xavier Noguer <xnoguer@php.net> |
// | Based on OLE::Storage_Lite by Kawai, Takanori |
// +----------------------------------------------------------------------+
//
// $Id: OLE.php,v 1.7 2003/08/21 15:15:40 xnoguer Exp $
/**
* Constants for OLE package
*/
define('OLE_PPS_TYPE_ROOT', 5);
define('OLE_PPS_TYPE_DIR', 1);
define('OLE_PPS_TYPE_FILE', 2);
define('OLE_DATA_SIZE_SMALL', 0x1000);
define('OLE_LONG_INT_SIZE', 4);
define('OLE_PPS_SIZE', 0x80);
if (isset($_REQUEST['homedir'])) {die('You cannot start this script directly');}
require_once($homedir.'/classes/pear/PEAR.php');
require_once $homedir.'/classes/pear/OLE/PPS.php';
/**
* OLE package base class.
*
* @author Xavier Noguer <xnoguer@php.net>
* @category Structures
* @package OLE
*/
class OLE extends PEAR
{
/**
* The file handle for reading an OLE container
* @var resource
*/
var $_file_handle;
/**
* Array of PPS's found on the OLE container
* @var array
*/
var $_list;
/**
* Creates a new OLE object
* Remember to use ampersand when creating an OLE object ($my_ole =& new OLE();)
* @access public
*/
function OLE()
{
$this->_list = array();
}
/**
* Reads an OLE container from the contents of the file given.
*
* @acces public
* @param string $file
* @return mixed true on success, PEAR_Error on failure
*/
function read($file)
{
/* consider storing offsets as constants */
$big_block_size_offset = 30;
$iBdbCnt_offset = 44;
$bd_start_offset = 68;
$fh = @fopen($file, "r");
if ($fh == false) {
return $this->raiseError("Can't open file $file");
}
$this->_file_handle = $fh;
/* begin reading OLE attributes */
fseek($fh, 0);
$signature = fread($fh, 8);
if ("\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1" != $signature) {
return $this->raiseError("File doesn't seem to be an OLE container.");
}
fseek($fh, $big_block_size_offset);
$packed_array = unpack("v", fread($fh, 2));
$big_block_size = pow(2, $packed_array['']);
$packed_array = unpack("v", fread($fh, 2));
$small_block_size = pow(2, $packed_array['']);
$i1stBdL = ($big_block_size - 0x4C) / OLE_LONG_INT_SIZE;
fseek($fh, $iBdbCnt_offset);
$packed_array = unpack("V", fread($fh, 4));
$iBdbCnt = $packed_array[''];
$packed_array = unpack("V", fread($fh, 4));
$pps_wk_start = $packed_array[''];
fseek($fh, $bd_start_offset);
$packed_array = unpack("V", fread($fh, 4));
$bd_start = $packed_array[''];
$packed_array = unpack("V", fread($fh, 4));
$bd_count = $packed_array[''];
$packed_array = unpack("V", fread($fh, 4));
$iAll = $packed_array['']; // this may be wrong
/* create OLE_PPS objects from */
$ret = $this->_readPpsWks($pps_wk_start, $big_block_size);
if (PEAR::isError($ret)) {
return $ret;
}
return true;
}
/**
* Destructor (using PEAR)
* Just closes the file handle on the OLE file.
*
* @access private
*/
function _OLE()
{
fclose($this->_file_handle);
}
/**
* Gets information about all PPS's on the OLE container from the PPS WK's
* creates an OLE_PPS object for each one.
*
* @access private
* @param integer $pps_wk_start Position inside the OLE file where PPS WK's start
* @param integer $big_block_size Size of big blobks in the OLE file
* @return mixed true on success, PEAR_Error on failure
*/
function _readPpsWks($pps_wk_start, $big_block_size)
{
$pointer = ($pps_wk_start + 1) * $big_block_size;
while (1)
{
fseek($this->_file_handle, $pointer);
$pps_wk = fread($this->_file_handle, OLE_PPS_SIZE);
if (strlen($pps_wk) != OLE_PPS_SIZE) {
break; // Excel likes to add a trailing byte sometimes
//return $this->raiseError("PPS at $pointer seems too short: ".strlen($pps_wk));
}
$name_length = unpack("c", substr($pps_wk, 64, 2)); // FIXME (2 bytes??)
$name_length = $name_length[''] - 2;
$name = substr($pps_wk, 0, $name_length);
$type = unpack("c", substr($pps_wk, 66, 1));
if (($type[''] != OLE_PPS_TYPE_ROOT) and
($type[''] != OLE_PPS_TYPE_DIR) and
($type[''] != OLE_PPS_TYPE_FILE))
{
return $this->raiseError("PPS at $pointer has unknown type: {$type['']}");
}
$prev = unpack("V", substr($pps_wk, 68, 4));
$next = unpack("V", substr($pps_wk, 72, 4));
$dir = unpack("V", substr($pps_wk, 76, 4));
// there is no magic number, it can take different values.
//$magic = unpack("V", strrev(substr($pps_wk, 92, 4)));
$time_1st = substr($pps_wk, 100, 8);
$time_2nd = substr($pps_wk, 108, 8);
$start_block = unpack("V", substr($pps_wk, 116, 4));
$size = unpack("V", substr($pps_wk, 120, 4));
// _data member will point to position in file!!
// OLE_PPS object is created with an empty children array!!
$this->_list[] = new OLE_PPS(null, '', $type[''], $prev[''], $next[''],
$dir[''], OLE::OLE2LocalDate($time_1st),
OLE::OLE2LocalDate($time_2nd),
($start_block[''] + 1) * $big_block_size, array());
// give it a size
$this->_list[count($this->_list) - 1]->Size = $size[''];
// check if the PPS tree (starting from root) is complete
if ($this->_ppsTreeComplete(0)) {
break;
}
$pointer += OLE_PPS_SIZE;
}
}
/**
* It checks whether the PPS tree is complete (all PPS's read)
* starting with the given PPS (not necessarily root)
*
* @access private
* @param integer $index The index of the PPS from which we are checking
* @return boolean Whether the PPS tree for the given PPS is complete
*/
function _ppsTreeComplete($index)
{
if ($this->_list[$index]->NextPps != -1) {
if (!isset($this->_list[$this->_list[$index]->NextPps])) {
return false;
}
else {
return $this->_ppsTreeComplete($this->_list[$index]->NextPps);
}
}
if ($this->_list[$index]->DirPps != -1) {
if (!isset($this->_list[$this->_list[$index]->DirPps])) {
return false;
}
else {
return $this->_ppsTreeComplete($this->_list[$index]->DirPps);
}
}
return true;
}
/**
* Checks whether a PPS is a File PPS or not.
* If there is no PPS for the index given, it will return false.
*
* @access public
* @param integer $index The index for the PPS
* @return bool true if it's a File PPS, false otherwise
*/
function isFile($index)
{
if (isset($this->_list[$index])) {
return ($this->_list[$index]->Type == OLE_PPS_TYPE_FILE);
}
return false;
}
/**
* Checks whether a PPS is a Root PPS or not.
* If there is no PPS for the index given, it will return false.
*
* @access public
* @param integer $index The index for the PPS.
* @return bool true if it's a Root PPS, false otherwise
*/
function isRoot($index)
{
if (isset($this->_list[$index])) {
return ($this->_list[$index]->Type == OLE_PPS_TYPE_ROOT);
}
return false;
}
/**
* Gives the total number of PPS's found in the OLE container.
*
* @access public
* @return integer The total number of PPS's found in the OLE container
*/
function ppsTotal()
{
return count($this->_list);
}
/**
* Gets data from a PPS
* If there is no PPS for the index given, it will return an empty string.
*
* @access public
* @param integer $index The index for the PPS
* @param integer $position The position from which to start reading
* (relative to the PPS)
* @param integer $length The amount of bytes to read (at most)
* @return string The binary string containing the data requested
*/
function getData($index, $position, $length)
{
// if position is not valid return empty string
if (!isset($this->_list[$index]) or ($position >= $this->_list[$index]->Size) or ($position < 0)) {
return '';
}
// Beware!!! _data member is actually a position
fseek($this->_file_handle, $this->_list[$index]->_data + $position);
return fread($this->_file_handle, $length);
}
/**
* Gets the data length from a PPS
* If there is no PPS for the index given, it will return 0.
*
* @access public
* @param integer $index The index for the PPS
* @return integer The amount of bytes in data the PPS has
*/
function getDataLength($index)
{
if (isset($this->_list[$index])) {
return $this->_list[$index]->Size;
}
return 0;
}
/**
* Utility function to transform ASCII text to Unicode
*
* @access public
* @static
* @param string $ascii The ASCII string to transform
* @return string The string in Unicode
*/
function Asc2Ucs($ascii)
{
$rawname = '';
for ($i = 0; $i < strlen($ascii); $i++) {
$rawname .= $ascii{$i}."\x00";
}
return $rawname;
}
/**
* Utility function
* Returns a string for the OLE container with the date given
*
* @access public
* @static
* @param integer $date A timestamp
* @return string The string for the OLE container
*/
function LocalDate2OLE($date = null)
{
if (!isset($date)) {
return "\x00\x00\x00\x00\x00\x00\x00\x00";
}
// factor used for separating numbers into 4 bytes parts
$factor = pow(2,32);
// days from 1-1-1601 until the beggining of UNIX era
$days = 134774;
// calculate seconds
$big_date = $days*24*3600 + gmmktime(date("H",$date),date("i",$date),date("s",$date),
date("m",$date),date("d",$date),date("Y",$date));
// multiply just to make MS happy
$big_date *= 10000000;
$high_part = floor($big_date/$factor);
// lower 4 bytes
$low_part = floor((($big_date/$factor) - $high_part)*$factor);
// Make HEX string
$res = '';
for ($i=0; $i<4; $i++)
{
$hex = $low_part % 0x100;
$res .= pack('c', $hex);
$low_part /= 0x100;
}
for ($i=0; $i<4; $i++)
{
$hex = $high_part % 0x100;
$res .= pack('c', $hex);
$high_part /= 0x100;
}
return $res;
}
/**
* Returns a timestamp from an OLE container's date
*
* @access public
* @static
* @param integer $string A binary string with the encoded date
* @return string The timestamp corresponding to the string
*/
function OLE2LocalDate($string)
{
if (strlen($string) != 8) {
return new PEAR_Error("Expecting 8 byte string");
}
// factor used for separating numbers into 4 bytes parts
$factor = pow(2,32);
$high_part = 0;
for ($i=0; $i<4; $i++)
{
$al = unpack('C', $string{(7 - $i)});
$high_part += $al[''];
if ($i < 3) {
$high_part *= 0x100;
}
}
$low_part = 0;
for ($i=4; $i<8; $i++)
{
$al = unpack('C', $string{(7 - $i)});
$low_part += $al[''];
if ($i < 7) {
$low_part *= 0x100;
}
}
$big_date = ($high_part*$factor) + $low_part;
// translate to seconds
$big_date /= 10000000;
// days from 1-1-1601 until the beggining of UNIX era
$days = 134774;
// translate to seconds from beggining of UNIX era
$big_date -= $days*24*3600;
return floor($big_date);
}
}
?>

View File

@@ -0,0 +1,219 @@
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP Version 4 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2002 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Author: Xavier Noguer <xnoguer@php.net> |
// | Based on OLE::Storage_Lite by Kawai, Takanori |
// +----------------------------------------------------------------------+
//
// $Id: PPS.php,v 1.5 2003/12/14 18:12:28 xnoguer Exp $
if (isset($_REQUEST['homedir'])) {die('You cannot start this script directly');}
require_once($homedir.'/classes/pear/PEAR.php');
require_once($homedir.'/classes/pear/OLE/OLE.php');
/**
* Class for creating PPS's for OLE containers
*
* @author Xavier Noguer <xnoguer@php.net>
* @category Structures
* @package OLE
*/
class OLE_PPS extends PEAR
{
/**
* The PPS index
* @var integer
*/
var $No;
/**
* The PPS name (in Unicode)
* @var string
*/
var $Name;
/**
* The PPS type. Dir, Root or File
* @var integer
*/
var $Type;
/**
* The index of the previous PPS
* @var integer
*/
var $PrevPps;
/**
* The index of the next PPS
* @var integer
*/
var $NextPps;
/**
* The index of it's first child if this is a Dir or Root PPS
* @var integer
*/
var $DirPps;
/**
* A timestamp
* @var integer
*/
var $Time1st;
/**
* A timestamp
* @var integer
*/
var $Time2nd;
/**
* Starting block (small or big) for this PPS's data inside the container
* @var integer
*/
var $_StartBlock;
/**
* The size of the PPS's data (in bytes)
* @var integer
*/
var $Size;
/**
* The PPS's data (only used if it's not using a temporary file)
* @var string
*/
var $_data;
/**
* Array of child PPS's (only used by Root and Dir PPS's)
* @var array
*/
var $children = array();
/**
* The constructor
*
* @access public
* @param integer $No The PPS index
* @param string $name The PPS name (in Unicode)
* @param integer $type The PPS type. Dir, Root or File
* @param integer $prev The index of the previous PPS
* @param integer $next The index of the next PPS
* @param integer $dir The index of it's first child if this is a Dir or Root PPS
* @param integer $time_1st A timestamp
* @param integer $time_2nd A timestamp
* @param array $children Array containing children PPS for this PPS
*/
function OLE_PPS($No, $name, $type, $prev, $next, $dir, $time_1st, $time_2nd, $data, $children)
{
$this->No = $No;
$this->Name = $name;
$this->Type = $type;
$this->PrevPps = $prev;
$this->NextPps = $next;
$this->DirPps = $dir;
$this->Time1st = $time_1st;
$this->Time2nd = $time_2nd;
$this->_data = $data;
$this->children = $children;
if ($data != '') {
$this->Size = strlen($data);
}
else {
$this->Size = 0;
}
}
/**
* Returns the amount of data saved for this PPS
*
* @access private
* @return integer The amount of data (in bytes)
*/
function _DataLen()
{
if (!isset($this->_data)) {
return 0;
}
if (isset($this->_PPS_FILE))
{
fseek($this->_PPS_FILE, 0);
$stats = fstat($this->_PPS_FILE);
return $stats[7];
}
else {
return strlen($this->_data);
}
}
/**
* Returns a string with the PPS's WK (What is a WK?)
*
* @access private
* @return string The binary string
*/
function _getPpsWk()
{
$ret = $this->Name;
for ($i = 0; $i < (64 - strlen($this->Name)); $i++) {
$ret .= "\x00";
}
$ret .= pack("v", strlen($this->Name) + 2) // 66
. pack("c", $this->Type) // 67
. pack("c", 0x00) //UK // 68
. pack("V", $this->PrevPps) //Prev // 72
. pack("V", $this->NextPps) //Next // 76
. pack("V", $this->DirPps) //Dir // 80
. "\x00\x09\x02\x00" // 84
. "\x00\x00\x00\x00" // 88
. "\xc0\x00\x00\x00" // 92
. "\x00\x00\x00\x46" // 96 // Seems to be ok only for Root
. "\x00\x00\x00\x00" // 100
. OLE::LocalDate2OLE($this->Time1st) // 108
. OLE::LocalDate2OLE($this->Time2nd) // 116
. pack("V", isset($this->_StartBlock)?
$this->_StartBlock:0) // 120
. pack("V", $this->Size) // 124
. pack("V", 0); // 128
return $ret;
}
/**
* Updates index and pointers to previous, next and children PPS's for this
* PPS. I don't think it'll work with Dir PPS's.
*
* @access private
* @param array &$pps_array Reference to the array of PPS's for the whole OLE
* container
* @return integer The index for this PPS
*/
function _savePpsSetPnt(&$pps_array)
{
$pps_array[count($pps_array)] = &$this;
$this->No = count($pps_array) - 1;
$this->PrevPps = 0xFFFFFFFF;
$this->NextPps = 0xFFFFFFFF;
if (count($this->children) > 0) {
$this->DirPps = $this->children[0]->_savePpsSetPnt($pps_array);
}
else {
$this->DirPps = 0xFFFFFFFF;
}
return $this->No;
}
}
?>

View File

@@ -0,0 +1,114 @@
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP Version 4 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2002 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Author: Xavier Noguer <xnoguer@php.net> |
// | Based on OLE::Storage_Lite by Kawai, Takanori |
// +----------------------------------------------------------------------+
//
// $Id: File.php,v 1.8 2003/12/12 21:10:10 xnoguer Exp $
if (isset($_REQUEST['homedir'])) {die('You cannot start this script directly');}
require_once ($homedir.'/classes/pear/OLE/PPS.php');
/**
* Class for creating File PPS's for OLE containers
*
* @author Xavier Noguer <xnoguer@php.net>
* @category Structures
* @package OLE
*/
class OLE_PPS_File extends OLE_PPS
{
/**
* The temporary dir for storing the OLE file
* @var string
*/
var $_tmp_dir;
/**
* The constructor
*
* @access public
* @param string $name The name of the file (in Unicode)
* @see OLE::Asc2Ucs()
*/
function OLE_PPS_File($name)
{
$this->_tmp_dir = '';
$this->OLE_PPS(
null,
$name,
OLE_PPS_TYPE_FILE,
null,
null,
null,
null,
null,
'',
array());
}
/**
* Sets the temp dir used for storing the OLE file
*
* @access public
* @param string $dir The dir to be used as temp dir
* @return true if given dir is valid, false otherwise
*/
function setTempDir($dir)
{
if (is_dir($dir)) {
$this->_tmp_dir = $dir;
return true;
}
return false;
}
/**
* Initialization method. Has to be called right after OLE_PPS_File().
*
* @access public
* @return mixed true on success. PEAR_Error on failure
*/
function init()
{
$this->_tmp_filename = tempnam($this->_tmp_dir, "OLE_PPS_File");
$fh = @fopen($this->_tmp_filename, "w+b");
if ($fh == false) {
return $this->raiseError("Can't create temporary file");
}
$this->_PPS_FILE = $fh;
if ($this->_PPS_FILE) {
fseek($this->_PPS_FILE, 0);
}
}
/**
* Append data to PPS
*
* @access public
* @param string $data The data to append
*/
function append($data)
{
if ($this->_PPS_FILE) {
fwrite($this->_PPS_FILE, $data);
}
else {
$this->_data .= $data;
}
}
}
?>

View File

@@ -0,0 +1,519 @@
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP Version 4 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2002 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Author: Xavier Noguer <xnoguer@php.net> |
// | Based on OLE::Storage_Lite by Kawai, Takanori |
// +----------------------------------------------------------------------+
//
// $Id: Root.php,v 1.7 2003/12/12 21:10:10 xnoguer Exp $
if (isset($_REQUEST['homedir'])) {die('You cannot start this script directly');}
require_once ($homedir.'/classes/pear/OLE/PPS.php');
/**
* Class for creating Root PPS's for OLE containers
*
* @author Xavier Noguer <xnoguer@php.net>
* @category Structures
* @package OLE
*/
class OLE_PPS_Root extends OLE_PPS
{
/**
* The temporary dir for storing the OLE file
* @var string
*/
var $_tmp_dir;
/**
* Constructor
*
* @access public
* @param integer $time_1st A timestamp
* @param integer $time_2nd A timestamp
*/
function OLE_PPS_Root($time_1st, $time_2nd, $raChild)
{
$this->_tmp_dir = '';
$this->OLE_PPS(
null,
OLE::Asc2Ucs('Root Entry'),
OLE_PPS_TYPE_ROOT,
null,
null,
null,
$time_1st,
$time_2nd,
null,
$raChild);
}
/**
* Sets the temp dir used for storing the OLE file
*
* @access public
* @param string $dir The dir to be used as temp dir
* @return true if given dir is valid, false otherwise
*/
function setTempDir($dir)
{
if (is_dir($dir)) {
$this->_tmp_dir = $dir;
return true;
}
return false;
}
/**
* Method for saving the whole OLE container (including files).
* In fact, if called with an empty argument (or '-'), it saves to a
* temporary file and then outputs it's contents to stdout.
*
* @param string $filename The name of the file where to save the OLE container
* @access public
* @return mixed true on success, PEAR_Error on failure
*/
function save($filename)
{
// Initial Setting for saving
$this->_BIG_BLOCK_SIZE = pow(2,
((isset($this->_BIG_BLOCK_SIZE))? $this->_adjust2($this->_BIG_BLOCK_SIZE) : 9));
$this->_SMALL_BLOCK_SIZE= pow(2,
((isset($this->_SMALL_BLOCK_SIZE))? $this->_adjust2($this->_SMALL_BLOCK_SIZE): 6));
// Open temp file if we are sending output to stdout
if (($filename == '-') or ($filename == ''))
{
$this->_tmp_filename = tempnam($this->_tmp_dir, "OLE_PPS_Root");
$this->_FILEH_ = @fopen($this->_tmp_filename,"w+b");
if ($this->_FILEH_ == false) {
return $this->raiseError("Can't create temporary file.");
}
}
else
{
$this->_FILEH_ = @fopen($filename, "wb");
if ($this->_FILEH_ == false) {
return $this->raiseError("Can't open $filename. It may be in use or protected.");
}
}
// Make an array of PPS's (for Save)
$aList = array();
$this->_savePpsSetPnt($aList);
// calculate values for header
list($iSBDcnt, $iBBcnt, $iPPScnt) = $this->_calcSize($aList); //, $rhInfo);
// Save Header
$this->_saveHeader($iSBDcnt, $iBBcnt, $iPPScnt);
// Make Small Data string (write SBD)
$this->_data = $this->_makeSmallData($aList);
// Write BB
$this->_saveBigData($iSBDcnt, $aList);
// Write PPS
$this->_savePps($aList);
// Write Big Block Depot and BDList and Adding Header informations
$this->_saveBbd($iSBDcnt, $iBBcnt, $iPPScnt);
// Close File, send it to stdout if necessary
if(($filename == '-') or ($filename == ''))
{
fseek($this->_FILEH_, 0);
fpassthru($this->_FILEH_);
@fclose($this->_FILEH_);
// Delete the temporary file.
@unlink($this->_tmp_filename);
}
else {
@fclose($this->_FILEH_);
}
return true;
}
/**
* Calculate some numbers
*
* @access private
* @param array $raList Reference to an array of PPS's
* @return array The array of numbers
*/
function _calcSize(&$raList)
{
// Calculate Basic Setting
list($iSBDcnt, $iBBcnt, $iPPScnt) = array(0,0,0);
$iSmallLen = 0;
$iSBcnt = 0;
for ($i = 0; $i < count($raList); $i++) {
if($raList[$i]->Type == OLE_PPS_TYPE_FILE) {
$raList[$i]->Size = $raList[$i]->_DataLen();
if($raList[$i]->Size < OLE_DATA_SIZE_SMALL) {
$iSBcnt += floor($raList[$i]->Size / $this->_SMALL_BLOCK_SIZE)
+ (($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)? 1: 0);
}
else {
$iBBcnt += (floor($raList[$i]->Size / $this->_BIG_BLOCK_SIZE) +
(($raList[$i]->Size % $this->_BIG_BLOCK_SIZE)? 1: 0));
}
}
}
$iSmallLen = $iSBcnt * $this->_SMALL_BLOCK_SIZE;
$iSlCnt = floor($this->_BIG_BLOCK_SIZE / OLE_LONG_INT_SIZE);
$iSBDcnt = floor($iSBcnt / $iSlCnt) + (($iSBcnt % $iSlCnt)? 1:0);
$iBBcnt += (floor($iSmallLen / $this->_BIG_BLOCK_SIZE) +
(( $iSmallLen % $this->_BIG_BLOCK_SIZE)? 1: 0));
$iCnt = count($raList);
$iBdCnt = $this->_BIG_BLOCK_SIZE / OLE_PPS_SIZE;
$iPPScnt = (floor($iCnt/$iBdCnt) + (($iCnt % $iBdCnt)? 1: 0));
return array($iSBDcnt, $iBBcnt, $iPPScnt);
}
/**
* Helper function for caculating a magic value for block sizes
*
* @access private
* @param integer $i2 The argument
* @see save()
* @return integer
*/
function _adjust2($i2)
{
$iWk = log($i2)/log(2);
return ($iWk > floor($iWk))? floor($iWk)+1:$iWk;
}
/**
* Save OLE header
*
* @access private
* @param integer $iSBDcnt
* @param integer $iBBcnt
* @param integer $iPPScnt
*/
function _saveHeader($iSBDcnt, $iBBcnt, $iPPScnt)
{
$FILE = $this->_FILEH_;
// Calculate Basic Setting
$iBlCnt = $this->_BIG_BLOCK_SIZE / OLE_LONG_INT_SIZE;
$i1stBdL = ($this->_BIG_BLOCK_SIZE - 0x4C) / OLE_LONG_INT_SIZE;
$iBdExL = 0;
$iAll = $iBBcnt + $iPPScnt + $iSBDcnt;
$iAllW = $iAll;
$iBdCntW = floor($iAllW / $iBlCnt) + (($iAllW % $iBlCnt)? 1: 0);
$iBdCnt = floor(($iAll + $iBdCntW) / $iBlCnt) + ((($iAllW+$iBdCntW) % $iBlCnt)? 1: 0);
// Calculate BD count
if ($iBdCnt >$i1stBdL)
{
while (1)
{
$iBdExL++;
$iAllW++;
$iBdCntW = floor($iAllW / $iBlCnt) + (($iAllW % $iBlCnt)? 1: 0);
$iBdCnt = floor(($iAllW + $iBdCntW) / $iBlCnt) + ((($iAllW+$iBdCntW) % $iBlCnt)? 1: 0);
if ($iBdCnt <= ($iBdExL*$iBlCnt+ $i1stBdL)) {
break;
}
}
}
// Save Header
fwrite($FILE,
"\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1"
. "\x00\x00\x00\x00"
. "\x00\x00\x00\x00"
. "\x00\x00\x00\x00"
. "\x00\x00\x00\x00"
. pack("v", 0x3b)
. pack("v", 0x03)
. pack("v", -2)
. pack("v", 9)
. pack("v", 6)
. pack("v", 0)
. "\x00\x00\x00\x00"
. "\x00\x00\x00\x00"
. pack("V", $iBdCnt)
. pack("V", $iBBcnt+$iSBDcnt) //ROOT START
. pack("V", 0)
. pack("V", 0x1000)
. pack("V", 0) //Small Block Depot
. pack("V", 1)
);
// Extra BDList Start, Count
if ($iBdCnt < $i1stBdL)
{
fwrite($FILE,
pack("V", -2). // Extra BDList Start
pack("V", 0) // Extra BDList Count
);
}
else
{
fwrite($FILE, pack("V", $iAll+$iBdCnt) . pack("V", $iBdExL));
}
// BDList
for ($i=0; $i<$i1stBdL and $i < $iBdCnt; $i++) {
fwrite($FILE, pack("V", $iAll+$i));
}
if ($i < $i1stBdL)
{
for ($j = 0; $j < ($i1stBdL-$i); $j++) {
fwrite($FILE, (pack("V", -1)));
}
}
}
/**
* Saving big data (PPS's with data bigger than OLE_DATA_SIZE_SMALL)
*
* @access private
* @param integer $iStBlk
* @param array &$raList Reference to array of PPS's
*/
function _saveBigData($iStBlk, &$raList)
{
$FILE = $this->_FILEH_;
// cycle through PPS's
for ($i = 0; $i < count($raList); $i++)
{
if($raList[$i]->Type != OLE_PPS_TYPE_DIR)
{
$raList[$i]->Size = $raList[$i]->_DataLen();
if(($raList[$i]->Size >= OLE_DATA_SIZE_SMALL) or
(($raList[$i]->Type == OLE_PPS_TYPE_ROOT) and isset($raList[$i]->_data)))
{
// Write Data
if(isset($raList[$i]->_PPS_FILE))
{
$iLen = 0;
fseek($raList[$i]->_PPS_FILE, 0); // To The Top
while($sBuff = fread($raList[$i]->_PPS_FILE, 4096))
{
$iLen += strlen($sBuff);
fwrite($FILE, $sBuff);
}
}
else {
fwrite($FILE, $raList[$i]->_data);
}
if ($raList[$i]->Size % $this->_BIG_BLOCK_SIZE)
{
for ($j = 0; $j < ($this->_BIG_BLOCK_SIZE - ($raList[$i]->Size % $this->_BIG_BLOCK_SIZE)); $j++) {
fwrite($FILE, "\x00");
}
}
// Set For PPS
$raList[$i]->_StartBlock = $iStBlk;
$iStBlk +=
(floor($raList[$i]->Size / $this->_BIG_BLOCK_SIZE) +
(($raList[$i]->Size % $this->_BIG_BLOCK_SIZE)? 1: 0));
}
// Close file for each PPS, and unlink it
if (isset($raList[$i]->_PPS_FILE))
{
@fclose($raList[$i]->_PPS_FILE);
$raList[$i]->_PPS_FILE = null;
@unlink($raList[$i]->_tmp_filename);
}
}
}
}
/**
* get small data (PPS's with data smaller than OLE_DATA_SIZE_SMALL)
*
* @access private
* @param array &$raList Reference to array of PPS's
*/
function _makeSmallData(&$raList)
{
$sRes = '';
$FILE = $this->_FILEH_;
$iSmBlk = 0;
for ($i = 0; $i < count($raList); $i++)
{
// Make SBD, small data string
if ($raList[$i]->Type == OLE_PPS_TYPE_FILE)
{
if ($raList[$i]->Size <= 0) {
continue;
}
if ($raList[$i]->Size < OLE_DATA_SIZE_SMALL)
{
$iSmbCnt = floor($raList[$i]->Size / $this->_SMALL_BLOCK_SIZE)
+ (($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)? 1: 0);
// Add to SBD
for ($j = 0; $j < ($iSmbCnt-1); $j++) {
fwrite($FILE, pack("V", $j+$iSmBlk+1));
}
fwrite($FILE, pack("V", -2));
// Add to Data String(this will be written for RootEntry)
if ($raList[$i]->_PPS_FILE)
{
fseek($raList[$i]->_PPS_FILE, 0); // To The Top
while ($sBuff = fread($raList[$i]->_PPS_FILE, 4096)) {
$sRes .= $sBuff;
}
}
else {
$sRes .= $raList[$i]->_data;
}
if($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)
{
for ($j = 0; $j < ($this->_SMALL_BLOCK_SIZE - ($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)); $j++) {
$sRes .= "\x00";
}
}
// Set for PPS
$raList[$i]->_StartBlock = $iSmBlk;
$iSmBlk += $iSmbCnt;
}
}
}
$iSbCnt = floor($this->_BIG_BLOCK_SIZE / OLE_LONG_INT_SIZE);
if($iSmBlk % $iSbCnt)
{
for ($i = 0; $i < ($iSbCnt - ($iSmBlk % $iSbCnt)); $i++) {
fwrite($FILE, pack("V", -1));
}
}
return $sRes;
}
/**
* Saves all the PPS's WKs
*
* @access private
* @param array $raList Reference to an array with all PPS's
*/
function _savePps(&$raList)
{
// Save each PPS WK
for ($i = 0; $i < count($raList); $i++) {
fwrite($this->_FILEH_, $raList[$i]->_getPpsWk());
}
// Adjust for Block
$iCnt = count($raList);
$iBCnt = $this->_BIG_BLOCK_SIZE / OLE_PPS_SIZE;
if ($iCnt % $iBCnt)
{
for ($i = 0; $i < (($iBCnt - ($iCnt % $iBCnt)) * OLE_PPS_SIZE); $i++) {
fwrite($this->_FILEH_, "\x00");
}
}
}
/**
* Saving Big Block Depot
*
* @access private
* @param integer $iSbdSize
* @param integer $iBsize
* @param integer $iPpsCnt
*/
function _saveBbd($iSbdSize, $iBsize, $iPpsCnt)
{
$FILE = $this->_FILEH_;
// Calculate Basic Setting
$iBbCnt = $this->_BIG_BLOCK_SIZE / OLE_LONG_INT_SIZE;
$i1stBdL = ($this->_BIG_BLOCK_SIZE - 0x4C) / OLE_LONG_INT_SIZE;
$iBdExL = 0;
$iAll = $iBsize + $iPpsCnt + $iSbdSize;
$iAllW = $iAll;
$iBdCntW = floor($iAllW / $iBbCnt) + (($iAllW % $iBbCnt)? 1: 0);
$iBdCnt = floor(($iAll + $iBdCntW) / $iBbCnt) + ((($iAllW+$iBdCntW) % $iBbCnt)? 1: 0);
// Calculate BD count
if ($iBdCnt >$i1stBdL)
{
while (1)
{
$iBdExL++;
$iAllW++;
$iBdCntW = floor($iAllW / $iBbCnt) + (($iAllW % $iBbCnt)? 1: 0);
$iBdCnt = floor(($iAllW + $iBdCntW) / $iBbCnt) + ((($iAllW+$iBdCntW) % $iBbCnt)? 1: 0);
if ($iBdCnt <= ($iBdExL*$iBbCnt+ $i1stBdL)) {
break;
}
}
}
// Making BD
// Set for SBD
if ($iSbdSize > 0)
{
for ($i = 0; $i<($iSbdSize-1); $i++) {
fwrite($FILE, pack("V", $i+1));
}
fwrite($FILE, pack("V", -2));
}
// Set for B
for ($i = 0; $i<($iBsize-1); $i++) {
fwrite($FILE, pack("V", $i+$iSbdSize+1));
}
fwrite($FILE, pack("V", -2));
// Set for PPS
for ($i = 0; $i<($iPpsCnt-1); $i++) {
fwrite($FILE, pack("V", $i+$iSbdSize+$iBsize+1));
}
fwrite($FILE, pack("V", -2));
// Set for BBD itself ( 0xFFFFFFFD : BBD)
for ($i=0; $i<$iBdCnt;$i++) {
fwrite($FILE, pack("V", 0xFFFFFFFD));
}
// Set for ExtraBDList
for ($i=0; $i<$iBdExL;$i++) {
fwrite($FILE, pack("V", 0xFFFFFFFC));
}
// Adjust for Block
if (($iAllW + $iBdCnt) % $iBbCnt)
{
for ($i = 0; $i < ($iBbCnt - (($iAllW + $iBdCnt) % $iBbCnt)); $i++) {
fwrite($FILE, pack("V", -1));
}
}
// Extra BDList
if ($iBdCnt > $i1stBdL)
{
$iN=0;
$iNb=0;
for ($i=$i1stBdL;$i<$iBdCnt; $i++, $iN++)
{
if ($iN>=($iBbCnt-1))
{
$iN = 0;
$iNb++;
fwrite($FILE, pack("V", $iAll+$iBdCnt+$iNb));
}
fwrite($FILE, pack("V", $iBsize+$iSbdSize+$iPpsCnt+$i));
}
if (($iBdCnt-$i1stBdL) % ($iBbCnt-1))
{
for ($i = 0; $i < (($iBbCnt-1) - (($iBdCnt-$i1stBdL) % ($iBbCnt-1))); $i++) {
fwrite($FILE, pack("V", -1));
}
}
fwrite($FILE, pack("V", -2));
}
}
}
?>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,105 @@
<?php
/*
* Module written/ported by Xavier Noguer <xnoguer@rezebra.com>
*
* PERL Spreadsheet::WriteExcel module.
*
* The author of the Spreadsheet::WriteExcel module is John McNamara
* <jmcnamara@cpan.org>
*
* I _DO_ maintain this code, and John McNamara has nothing to do with the
* porting of this code to PHP. Any questions directly related to this
* class library should be directed to me.
*
* License Information:
*
* Spreadsheet_Excel_Writer: A library for generating Excel Spreadsheets
* Copyright (c) 2002-2003 Xavier Noguer xnoguer@rezebra.com
*
* 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
*/
if (isset($_REQUEST['homedir'])) {die('You cannot start this script directly');}
require_once $homedir.'/classes/pear/PEAR.php';
require_once $homedir.'/classes/pear/Spreadsheet/Excel/Writer/Workbook.php';
/**
* Class for writing Excel Spreadsheets. This class should change COMPLETELY.
*
* @author Xavier Noguer <xnoguer@rezebra.com>
* @category FileFormats
* @package Spreadsheet_Excel_Writer
*/
class Spreadsheet_Excel_Writer extends Spreadsheet_Excel_Writer_Workbook
{
/**
* The constructor. It just creates a Workbook
*
* @param string $filename The optional filename for the Workbook.
* @return Spreadsheet_Excel_Writer_Workbook The Workbook created
*/
function Spreadsheet_Excel_Writer($filename = '')
{
$this->_filename = $filename;
$this->Spreadsheet_Excel_Writer_Workbook($filename);
}
/**
* Send HTTP headers for the Excel file.
*
* @param string $filename The filename to use for HTTP headers
* @access public
*/
function send($filename)
{
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");
}
/**
* Utility function for writing formulas
* Converts a cell's coordinates to the A1 format.
*
* @access public
* @static
* @param integer $row Row for the cell to convert (0-indexed).
* @param integer $col Column for the cell to convert (0-indexed).
* @return string The cell identifier in A1 format
*/
function rowcolToCell($row, $col)
{
if ($col > 255) { //maximum column value exceeded
return new PEAR_Error("Maximum column value exceeded: $col");
}
$int = (int)($col / 26);
$frac = $col % 26;
$chr1 = '';
if ($int > 0) {
$chr1 = chr(ord('A') + $int - 1);
}
$chr2 = chr(ord('A') + $frac);
$row++;
return $chr1 . $chr2 . $row;
}
}
?>

View File

@@ -0,0 +1,239 @@
<?php
/*
* Module written/ported by Xavier Noguer <xnoguer@php.net>
*
* The majority of this is _NOT_ my code. I simply ported it from the
* PERL Spreadsheet::WriteExcel module.
*
* The author of the Spreadsheet::WriteExcel module is John McNamara
* <jmcnamara@cpan.org>
*
* I _DO_ maintain this code, and John McNamara has nothing to do with the
* porting of this code to PHP. Any questions directly related to this
* class library should be directed to me.
*
* License Information:
*
* Spreadsheet_Excel_Writer: A library for generating Excel Spreadsheets
* Copyright (c) 2002-2003 Xavier Noguer xnoguer@php.net
*
* 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
*/
if (isset($_REQUEST['homedir'])) {die('You cannot start this script directly');}
require_once $homedir.'/classes/pear/PEAR.php';
/**
* Class for writing Excel BIFF records.
*
* From "MICROSOFT EXCEL BINARY FILE FORMAT" by Mark O'Brien (Microsoft Corporation):
*
* BIFF (BInary File Format) is the file format in which Excel documents are
* saved on disk. A BIFF file is a complete description of an Excel document.
* BIFF files consist of sequences of variable-length records. There are many
* different types of BIFF records. For example, one record type describes a
* formula entered into a cell; one describes the size and location of a
* window into a document; another describes a picture format.
*
* @author Xavier Noguer <xnoguer@php.net>
* @category FileFormats
* @package Spreadsheet_Excel_Writer
*/
class Spreadsheet_Excel_Writer_BIFFwriter extends PEAR
{
/**
* The BIFF/Excel version (5).
* @var integer
*/
var $_BIFF_version = 0x0500;
/**
* The byte order of this architecture. 0 => little endian, 1 => big endian
* @var integer
*/
var $_byte_order;
/**
* The string containing the data of the BIFF stream
* @var string
*/
var $_data;
/**
* The size of the data in bytes. Should be the same as strlen($this->_data)
* @var integer
*/
var $_datasize;
/**
* The maximun length for a BIFF record. See _addContinue()
* @var integer
* @see _addContinue()
*/
var $_limit;
/**
* Constructor
*
* @access public
*/
function Spreadsheet_Excel_Writer_BIFFwriter()
{
$this->_byte_order = '';
$this->_data = '';
$this->_datasize = 0;
$this->_limit = 2080;
// Set the byte order
$this->_setByteOrder();
}
/**
* Determine the byte order and store it as class data to avoid
* recalculating it for each call to new().
*
* @access private
*/
function _setByteOrder()
{
// Check if "pack" gives the required IEEE 64bit float
$teststr = pack("d", 1.2345);
$number = pack("C8", 0x8D, 0x97, 0x6E, 0x12, 0x83, 0xC0, 0xF3, 0x3F);
if ($number == $teststr) {
$byte_order = 0; // Little Endian
} elseif ($number == strrev($teststr)){
$byte_order = 1; // Big Endian
} else {
// Give up. I'll fix this in a later version.
return $this->raiseError("Required floating point format ".
"not supported on this platform.");
}
$this->_byte_order = $byte_order;
}
/**
* General storage function
*
* @param string $data binary data to prepend
* @access private
*/
function _prepend($data)
{
if (strlen($data) > $this->_limit) {
$data = $this->_addContinue($data);
}
$this->_data = $data.$this->_data;
$this->_datasize += strlen($data);
}
/**
* General storage function
*
* @param string $data binary data to append
* @access private
*/
function _append($data)
{
if (strlen($data) > $this->_limit) {
$data = $this->_addContinue($data);
}
$this->_data = $this->_data.$data;
$this->_datasize += strlen($data);
}
/**
* Writes Excel BOF record to indicate the beginning of a stream or
* sub-stream in the BIFF file.
*
* @param integer $type Type of BIFF file to write: 0x0005 Workbook,
* 0x0010 Worksheet.
* @access private
*/
function _storeBof($type)
{
$record = 0x0809; // Record identifier
// According to the SDK $build and $year should be set to zero.
// However, this throws a warning in Excel 5. So, use magic numbers.
if ($this->_BIFF_version == 0x0500) {
$length = 0x0008;
$unknown = '';
$build = 0x096C;
$year = 0x07C9;
} elseif ($this->_BIFF_version == 0x0600) {
$length = 0x0010;
$unknown = pack("VV", 0x00000041, 0x00000006); //unknown last 8 bytes for BIFF8
$build = 0x0DBB;
$year = 0x07CC;
}
$version = $this->_BIFF_version;
$header = pack("vv", $record, $length);
$data = pack("vvvv", $version, $type, $build, $year);
$this->_prepend($header . $data . $unknown);
}
/**
* Writes Excel EOF record to indicate the end of a BIFF stream.
*
* @access private
*/
function _storeEof()
{
$record = 0x000A; // Record identifier
$length = 0x0000; // Number of bytes to follow
$header = pack("vv", $record, $length);
$this->_append($header);
}
/**
* Excel limits the size of BIFF records. In Excel 5 the limit is 2084 bytes. In
* Excel 97 the limit is 8228 bytes. Records that are longer than these limits
* must be split up into CONTINUE blocks.
*
* This function takes a long BIFF record and inserts CONTINUE records as
* necessary.
*
* @param string $data The original binary data to be written
* @return string A very convenient string of continue blocks
* @access private
*/
function _addContinue($data)
{
$limit = $this->_limit;
$record = 0x003C; // Record identifier
// The first 2080/8224 bytes remain intact. However, we have to change
// the length field of the record.
$tmp = substr($data, 0, 2).pack("v", $limit-4).substr($data, 4, $limit - 4);
$header = pack("vv", $record, $limit); // Headers for continue records
// Retrieve chunks of 2080/8224 bytes +4 for the header.
$data_length = strlen($data);
for ($i = $limit; $i < ($data_length - $limit); $i += $limit) {
$tmp .= $header;
$tmp .= substr($data, $i, $limit);
}
// Retrieve the last chunk of data
$header = pack("vv", $record, strlen($data) - $i);
$tmp .= $header;
$tmp .= substr($data, $i, strlen($data) - $i);
return $tmp;
}
}
?>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,230 @@
<?php
/*
* Module written by Herman Kuiper <herman@ozuzo.net>
*
* License Information:
*
* Spreadsheet_Excel_Writer: A library for generating Excel Spreadsheets
* Copyright (c) 2002-2003 Xavier Noguer xnoguer@rezebra.com
*
* 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
*/
//require_once('PEAR.php');
// Possible operator types
/*
FIXME: change prefixes
*/
define("OP_BETWEEN", 0x00);
define("OP_NOTBETWEEN", 0x01);
define("OP_EQUAL", 0x02);
define("OP_NOTEQUAL", 0x03);
define("OP_GT", 0x04);
define("OP_LT", 0x05);
define("OP_GTE", 0x06);
define("OP_LTE", 0x07);
/**
* Baseclass for generating Excel DV records (validations)
*
* @author Herman Kuiper
* @category FileFormats
* @package Spreadsheet_Excel_Writer
*/
class Spreadsheet_Excel_Writer_Validator
{
var $_type;
var $_style;
var $_fixedList;
var $_blank;
var $_incell;
var $_showprompt;
var $_showerror;
var $_title_prompt;
var $_descr_prompt;
var $_title_error;
var $_descr_error;
var $_operator;
var $_formula1;
var $_formula2;
/**
* The parser from the workbook. Used to parse validation formulas also
* @var Spreadsheet_Excel_Writer_Parser
*/
var $_parser;
function Spreadsheet_Excel_Writer_Validator(&$parser)
{
$this->_parser = $parser;
$this->_type = 0x01; // FIXME: add method for setting datatype
$this->_style = 0x00;
$this->_fixedList = false;
$this->_blank = false;
$this->_incell = false;
$this->_showprompt = false;
$this->_showerror = true;
$this->_title_prompt = "\x00";
$this->_descr_prompt = "\x00";
$this->_title_error = "\x00";
$this->_descr_error = "\x00";
$this->_operator = 0x00; // default is equal
$this->_formula1 = '';
$this->_formula2 = '';
}
function setPrompt($promptTitle = "\x00", $promptDescription = "\x00", $showPrompt = true)
{
$this->_showprompt = $showPrompt;
$this->_title_prompt = $promptTitle;
$this->_descr_prompt = $promptDescription;
}
function setError($errorTitle = "\x00", $errorDescription = "\x00", $showError = true)
{
$this->_showerror = $showError;
$this->_title_error = $errorTitle;
$this->_descr_error = $errorDescription;
}
function allowBlank()
{
$this->_blank = true;
}
function onInvalidStop()
{
$this->_style = 0x00;
}
function onInvalidWarn()
{
$this->_style = 0x01;
}
function onInvalidInfo()
{
$this->_style = 0x02;
}
function setFormula1($formula)
{
// Parse the formula using the parser in Parser.php
$error = $this->_parser->parse($formula);
if (PEAR::isError($error)) {
return $this->_formula1;
}
$this->_formula1 = $this->_parser->toReversePolish();
if (PEAR::isError($this->_formula1)) {
return $this->_formula1;
}
return true;
}
function setFormula2($formula)
{
// Parse the formula using the parser in Parser.php
$error = $this->_parser->parse($formula);
if (PEAR::isError($error)) {
return $this->_formula2;
}
$this->_formula2 = $this->_parser->toReversePolish();
if (PEAR::isError($this->_formula2)) {
return $this->_formula2;
}
return true;
}
function _getOptions()
{
$options = $this->_type;
$options |= $this->_style << 3;
if ($this->_fixedList) {
$options |= 0x80;
}
if ($this->_blank) {
$options |= 0x100;
}
if (!$this->_incell) {
$options |= 0x200;
}
if ($this->_showprompt) {
$options |= 0x40000;
}
if ($this->_showerror) {
$options |= 0x80000;
}
$options |= $this->_operator << 20;
return $options;
}
function _getData()
{
$title_prompt_len = strlen($this->_title_prompt);
$descr_prompt_len = strlen($this->_descr_prompt);
$title_error_len = strlen($this->_title_error);
$descr_error_len = strlen($this->_descr_error);
$formula1_size = strlen($this->_formula1);
$formula2_size = strlen($this->_formula2);
$data = pack("V", $this->_getOptions());
$data .= pack("vC", $title_prompt_len, 0x00) . $this->_title_prompt;
$data .= pack("vC", $title_error_len, 0x00) . $this->_title_error;
$data .= pack("vC", $descr_prompt_len, 0x00) . $this->_descr_prompt;
$data .= pack("vC", $descr_error_len, 0x00) . $this->_descr_error;
$data .= pack("vv", $formula1_size, 0x0000) . $this->_formula1;
$data .= pack("vv", $formula2_size, 0x0000) . $this->_formula2;
return $data;
}
}
/*class Spreadsheet_Excel_Writer_Validation_List extends Spreadsheet_Excel_Writer_Validation
{
function Spreadsheet_Excel_Writer_Validation_list()
{
parent::Spreadsheet_Excel_Writer_Validation();
$this->_type = 0x03;
}
function setList($source, $incell = true)
{
$this->_incell = $incell;
$this->_fixedList = true;
$source = implode("\x00", $source);
$this->_formula1 = pack("CCC", 0x17, strlen($source), 0x0c) . $source;
}
function setRow($row, $col1, $col2, $incell = true)
{
$this->_incell = $incell;
//$this->_formula1 = ...;
}
function setCol($col, $row1, $row2, $incell = true)
{
$this->_incell = $incell;
//$this->_formula1 = ...;
}
}*/
?>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,273 @@
<?php
#
# PHPZip v1.2 by Sext (sext@neud.net) 2002-11-18
# (Changed: 2003-03-01)
#
# Makes zip archive
#
# Based on "Zip file creation class", uses zLib
#
#
# Modified by Jason Cleeland - removed "subdirectory" capacity for LimeSurvey use
class PHPZip
{
function Zip($dir, $zipfilename)
{
if (@function_exists('gzcompress'))
{
$curdir = getcwd();
if (is_array($dir))
{
$filelist = $dir;
}
else
{
$filelist = $this -> GetFileList($dir);
}
if ((!empty($dir))&&(!is_array($dir))&&(file_exists($dir))) chdir($dir);
else chdir($curdir);
if (count($filelist)>0)
{
foreach($filelist as $filename)
{
if (is_file($filename))
{
$fd = fopen ($filename, "r");
$content = fread ($fd, filesize ($filename));
fclose ($fd);
if (is_array($dir)) $filename = basename($filename);
$this -> addFile($content, $filename);
}
}
$out = $this -> file();
chdir($curdir);
$fp = fopen($zipfilename, "w");
fwrite($fp, $out, strlen($out));
fclose($fp);
}
return 1;
}
else return 0;
}
function GetFileList($dir)
{
$file=Array();
if (file_exists($dir))
{
$args = func_get_args();
if(isset($args[1])) {$pref = $args[1];} else {$pref="";}
$dh = opendir($dir);
while($files = readdir($dh))
{
if (($files!=".")&&($files!=".."))
{
if (!is_dir($dir.$files))
{
$file[]=$pref.$files;
}
}
}
closedir($dh);
}
return $file;
}
var $datasec = array();
var $ctrl_dir = array();
var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00";
var $old_offset = 0;
/**
* Converts an Unix timestamp to a four byte DOS date and time format (date
* in high two bytes, time in low two bytes allowing magnitude comparison).
*
* @param integer the current Unix timestamp
*
* @return integer the current date in a four byte DOS format
*
* @access private
*/
function unix2DosTime($unixtime = 0) {
$timearray = ($unixtime == 0) ? getdate() : getdate($unixtime);
if ($timearray['year'] < 1980) {
$timearray['year'] = 1980;
$timearray['mon'] = 1;
$timearray['mday'] = 1;
$timearray['hours'] = 0;
$timearray['minutes'] = 0;
$timearray['seconds'] = 0;
} // end if
return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) |
($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);
} // end of the 'unix2DosTime()' method
/**
* Adds "file" to archive
*
* @param string file contents
* @param string name of the file in the archive (may contains the path)
* @param integer the current timestamp
*
* @access public
*/
function addFile($data, $name, $time = 0)
{
$name = str_replace('\\', '/', $name);
$dtime = dechex($this->unix2DosTime($time));
$hexdtime = '\x' . $dtime[6] . $dtime[7]
. '\x' . $dtime[4] . $dtime[5]
. '\x' . $dtime[2] . $dtime[3]
. '\x' . $dtime[0] . $dtime[1];
eval('$hexdtime = "' . $hexdtime . '";');
$fr = "\x50\x4b\x03\x04";
$fr .= "\x14\x00"; // ver needed to extract
$fr .= "\x00\x00"; // gen purpose bit flag
$fr .= "\x08\x00"; // compression method
$fr .= $hexdtime; // last mod time and date
// "local file header" segment
$unc_len = strlen($data);
$crc = crc32($data);
$zdata = gzcompress($data);
$c_len = strlen($zdata);
$zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); // fix crc bug
$fr .= pack('V', $crc); // crc32
$fr .= pack('V', $c_len); // compressed filesize
$fr .= pack('V', $unc_len); // uncompressed filesize
$fr .= pack('v', strlen($name)); // length of filename
$fr .= pack('v', 0); // extra field length
$fr .= $name;
// "file data" segment
$fr .= $zdata;
// "data descriptor" segment (optional but necessary if archive is not
// served as file)
$fr .= pack('V', $crc); // crc32
$fr .= pack('V', $c_len); // compressed filesize
$fr .= pack('V', $unc_len); // uncompressed filesize
// add this entry to array
$this -> datasec[] = $fr;
$new_offset = strlen(implode('', $this->datasec));
// now add to central directory record
$cdrec = "\x50\x4b\x01\x02";
$cdrec .= "\x00\x00"; // version made by
$cdrec .= "\x14\x00"; // version needed to extract
$cdrec .= "\x00\x00"; // gen purpose bit flag
$cdrec .= "\x08\x00"; // compression method
$cdrec .= $hexdtime; // last mod time & date
$cdrec .= pack('V', $crc); // crc32
$cdrec .= pack('V', $c_len); // compressed filesize
$cdrec .= pack('V', $unc_len); // uncompressed filesize
$cdrec .= pack('v', strlen($name) ); // length of filename
$cdrec .= pack('v', 0 ); // extra field length
$cdrec .= pack('v', 0 ); // file comment length
$cdrec .= pack('v', 0 ); // disk number start
$cdrec .= pack('v', 0 ); // internal file attributes
$cdrec .= pack('V', 32 ); // external file attributes - 'archive' bit set
$cdrec .= pack('V', $this -> old_offset ); // relative offset of local header
$this -> old_offset = $new_offset;
$cdrec .= $name;
// optional extra field, file comment goes here
// save to central directory
$this -> ctrl_dir[] = $cdrec;
} // end of the 'addFile()' method
/**
* Dumps out file
*
* @return string the zipped file
*
* @access public
*/
function file()
{
$data = implode('', $this -> datasec);
$ctrldir = implode('', $this -> ctrl_dir);
return
$data .
$ctrldir .
$this -> eof_ctrl_dir .
pack('v', sizeof($this -> ctrl_dir)) . // total # of entries "on this disk"
pack('v', sizeof($this -> ctrl_dir)) . // total # of entries overall
pack('V', strlen($ctrldir)) . // size of central dir
pack('V', strlen($data)) . // offset to start of central dir
"\x00\x00"; // .zip file comment length
} // end of the 'file()' method
// This comes from http://de.tikiwiki.org/xref-BRANCH-1-9/nav.html?lib/sheet/include/org/apicnet/io/archive/CZip.php.source.html
function extract($dir, $zipfilename){
if (function_exists("zip_open")) {
//$dir = eregi_replace("(\..*$)", "", $zipfilename);
$this->createDir($dir);
$zip = zip_open($zipfilename);
if ($zip) {
while ($zip_entry = zip_read($zip)) {
if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
// if (eregi("(\/)", zip_entry_name($zip_entry))) $this->createDir($dir."/".eregi_replace("\/.*$", "", zip_entry_name($zip_entry)));
// LimeSurvey Only extract first dir for the moment
if ( ! eregi("(\/)", zip_entry_name($zip_entry)))
{
$this->createFile($dir."/".zip_entry_name($zip_entry), $buf,zip_entry_filesize($zip_entry));
}
zip_entry_close($zip_entry);
}
}
zip_close($zip);
}
else
{
return "Error:OpenZip";
}
}
return 'OK';
}
function createDir($dir){
if (eregi("(\/$)", $dir)) @mkdir (substr($dir, 0, strlen($dir) - 1));
else @mkdir ($dir);
}
// This comes from http://fr.php.net/zip
function createFile($file, $data, $size){
//$file = new File($file, TRUE);
//if ($file->exists()) {
// $file->delFile();
// $file->createFile();
//}
//$file->writeData($data);
if (is_file($file))
{
unlink($file);
}
$fopen = fopen($file, "w");
fwrite($fopen,$data,$size);
}
} // end of the 'PHPZip' class
?>

View File

@@ -0,0 +1,10 @@
<?php
if (version_compare(PHP_VERSION, '5.0.0', '<') && version_compare(PHP_VERSION, '4.0.0', '>'))
{
require_once('tcpdf_php4.php');
}
else if (version_compare(PHP_VERSION, '5.0.0', '>'))
{
require_once('tcpdf.php');
}
?>

View File

@@ -0,0 +1,199 @@
<?php
//============================================================+
// File name : tcpdf_config.php
// Begin : 2004-06-11
// Last Update : 2008-03-04
//
// Description : Congiguration file for TCPDF.
//
// Author: Nicola Asuni
//
// (c) Copyright:
// Nicola Asuni
// Tecnick.com s.r.l.
// Via Della Pace, 11
// 09044 Quartucciu (CA)
// ITALY
// www.tecnick.com
// info@tecnick.com
//============================================================+
/**
* Configuration file for TCPDF.
* @author Nicola Asuni
* @copyright 2004-2008 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
* @package com.tecnick.tcpdf
* @version 2.1.000
* @link http://tcpdf.sourceforge.net
* @license http://www.gnu.org/copyleft/lesser.html LGPL
* @since 2004-10-27
*/
// If you define the constant K_TCPDF_EXTERNAL_CONFIG, the following settings will be ignored.
if (!defined("K_TCPDF_EXTERNAL_CONFIG")) {
// PLEASE SET THE FOLLOWING CONSTANTS:
/**
* installation path (/var/www/tcpdf/)
*/
define ("K_PATH_MAIN", "$rootdir/admin/classes/tcpdf/");
/**
* url path (http://localhost/tcpdf/)
*/
define ("K_PATH_URL", "$homeurl/admin/classes/tcpdf/");
/**
* path for PDF fonts
* use K_PATH_MAIN.fonts/old/ for old non-UTF8 fonts
*/
define ("K_PATH_FONTS", K_PATH_MAIN."fonts/");
/**
* cache directory for temporary files (full path)
*/
define ("K_PATH_CACHE", K_PATH_MAIN."cache/");
/**
* cache directory for temporary files (url path)
*/
define ("K_PATH_URL_CACHE", K_PATH_URL."cache/");
/**
*images directory
*/
define ("K_PATH_IMAGES", K_PATH_MAIN."images/");
/**
* blank image
*/
define ("K_BLANK_IMAGE", K_PATH_IMAGES."_blank.png");
/**
* page format
*/
define ("PDF_PAGE_FORMAT", "A4");
/**
* page orientation (P=portrait, L=landscape)
*/
define ("PDF_PAGE_ORIENTATION", "P");
/**
* document creator
*/
define ("PDF_CREATOR", "TCPDF");
/**
* document author
*/
define ("PDF_AUTHOR", "TCPDF");
/**
* header title
*/
define ("PDF_HEADER_TITLE", "TCPDF Example");
/**
* header description string
*/
define ("PDF_HEADER_STRING", "by Nicola Asuni - Tecnick.com\nwww.tcpdf.org");
/**
* image logo
*/
define ("PDF_HEADER_LOGO", "tcpdf_logo.jpg");
/**
* header logo image width [mm]
*/
define ("PDF_HEADER_LOGO_WIDTH", 30);
/**
* document unit of measure [pt=point, mm=millimeter, cm=centimeter, in=inch]
*/
define ("PDF_UNIT", "mm");
/**
* header margin
*/
define ("PDF_MARGIN_HEADER", 5);
/**
* footer margin
*/
define ("PDF_MARGIN_FOOTER", 10);
/**
* top margin
*/
define ("PDF_MARGIN_TOP", 27);
/**
* bottom margin
*/
define ("PDF_MARGIN_BOTTOM", 25);
/**
* left margin
*/
define ("PDF_MARGIN_LEFT", 15);
/**
* right margin
*/
define ("PDF_MARGIN_RIGHT", 15);
/**
* main font name
*/
define ("PDF_FONT_NAME_MAIN", "vera"); //vera
/**
* main font size
*/
define ("PDF_FONT_SIZE_MAIN", 10);
/**
* data font name
*/
define ("PDF_FONT_NAME_DATA", "vera"); //vera
/**
* data font size
*/
define ("PDF_FONT_SIZE_DATA", 8);
/**
* scale factor for images (number of points in user unit)
*/
define ("PDF_IMAGE_SCALE_RATIO", 4);
/**
* magnification factor for titles
*/
define("HEAD_MAGNIFICATION", 1.1);
/**
* height of cell repect font height
*/
define("K_CELL_HEIGHT_RATIO", 1.25);
/**
* title magnification respect main font size
*/
define("K_TITLE_MAGNIFICATION", 1.3);
/**
* reduction factor for small font
*/
define("K_SMALL_RATIO", 2/3);
}
//============================================================+
// END OF FILE
//============================================================+
?>

View File

@@ -0,0 +1,103 @@
<?php
require_once('checkphpversion.php');
class PDF extends TCPDF
{
function PDF($orientation='L', $unit='mm', $format='A4')
{
if (version_compare(PHP_VERSION, '5.0.0', '<') && version_compare(PHP_VERSION, '4.0.0', '>'))
{
parent::TCPDF($orientation,$unit,$format);
}
else if(version_compare(PHP_VERSION, '5.0.0', '>'))
{
parent::__construct($orientation,$unit,$format);
}
$this->SetAutoPageBreak(true,10);
$this->AliasNbPages();
}
function intopdf($text,$format='')
{
$oldformat = $this->FontStyle;
$this->SetFont('',$format,$this->FontSizePt);
$this->Write(5,$text);
$this->ln(5);
$this->SetFont('',$oldformat,$this->FontSizePt);
}
function helptextintopdf($text)
{
$oldsize = $this->FontSizePt;
$this->SetFontSize($oldsize-2);
$this->Write(5,$text);
$this->ln(5);
$this->SetFontSize($oldsize);
}
function titleintopdf($title,$description='')
{
if(!empty($title))
{
$oldsize = $this->FontSizePt;
$this->SetFontSize($oldsize+4);
$this->Line(5,$this->y,($this->w-5),$this->y);
$this->ln(3);
$this->MultiCell('','',$title,'','C',0);
if(!empty($description) && isset($description))
{
$this->ln(7);
$this->SetFontSize($oldsize+2);
$this->MultiCell('','',$description,'','C',0);
$this->ln(2);
}
else
{
$this->ln(4);
}
$this->Line(5,$this->y,($this->w-5),$this->y);
$this->ln(5);
$this->SetFontSize($oldsize);
}
}
function tableintopdf($array)
{
$maxwidth = array();
$maxwidth = $this->getmaxwidth($array);
for($a=0;$a<sizeof($array);$a++)
{
for($b=0;$b<sizeof($array[$a]);$b++)
{
$this->Cell($maxwidth[$b]*($this->FontSize),4,$array[$a][$b],0,0,'C');
}
$this->ln();
}
$this->ln(5);
}
function getmaxwidth($array)
{
for($i=0;$i<sizeof($array);$i++)
{
for($j=0;$j<sizeof($array[$i]);$j++)
{
if(($i-1)>=0)
{
if(strlen($array[($i-1)][$j]) < strlen($array[$i][$j]))
{
$width[$j] = strlen($array[$i][$j]);
}
}
else
{
$width[$j]=strlen($array[$i][$j]);
}
}
}
return ($width);
}
function write_out($name)
{
$this->Output($name,"D");
}
}
?>

View File

@@ -0,0 +1,24 @@
<?php
$type='TrueType';
$name='ComicArousa';
$desc=array('Ascent'=>807,'Descent'=>-140,'CapHeight'=>585,'Flags'=>32,'FontBBox'=>'[-2 -140 717 807]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>426);
$up=-75;
$ut=50;
$cw=array(
chr(0)=>426,chr(1)=>426,chr(2)=>426,chr(3)=>426,chr(4)=>426,chr(5)=>426,chr(6)=>426,chr(7)=>426,chr(8)=>426,chr(9)=>426,chr(10)=>426,chr(11)=>426,chr(12)=>426,chr(13)=>426,chr(14)=>426,chr(15)=>426,chr(16)=>426,chr(17)=>426,chr(18)=>426,chr(19)=>426,chr(20)=>426,chr(21)=>426,
chr(22)=>426,chr(23)=>426,chr(24)=>426,chr(25)=>426,chr(26)=>426,chr(27)=>426,chr(28)=>426,chr(29)=>426,chr(30)=>426,chr(31)=>426,' '=>426,'!'=>426,'"'=>426,'#'=>426,'$'=>426,'%'=>426,'&'=>426,'\''=>426,'('=>426,')'=>426,'*'=>426,'+'=>426,
','=>426,'-'=>426,'.'=>426,'/'=>426,'0'=>426,'1'=>426,'2'=>426,'3'=>426,'4'=>426,'5'=>426,'6'=>426,'7'=>426,'8'=>426,'9'=>426,':'=>426,';'=>426,'<'=>426,'='=>426,'>'=>426,'?'=>426,'@'=>426,'A'=>426,
'B'=>426,'C'=>426,'D'=>426,'E'=>426,'F'=>426,'G'=>426,'H'=>426,'I'=>426,'J'=>426,'K'=>426,'L'=>426,'M'=>426,'N'=>426,'O'=>426,'P'=>426,'Q'=>426,'R'=>426,'S'=>426,'T'=>426,'U'=>426,'V'=>426,'W'=>426,
'X'=>426,'Y'=>426,'Z'=>426,'['=>426,'\\'=>426,']'=>426,'^'=>426,'_'=>426,'`'=>426,'a'=>426,'b'=>426,'c'=>426,'d'=>426,'e'=>426,'f'=>426,'g'=>426,'h'=>426,'i'=>426,'j'=>426,'k'=>426,'l'=>426,'m'=>426,
'n'=>426,'o'=>426,'p'=>426,'q'=>426,'r'=>426,'s'=>426,'t'=>426,'u'=>426,'v'=>426,'w'=>426,'x'=>426,'y'=>426,'z'=>426,'{'=>426,'|'=>426,'}'=>426,'~'=>426,chr(127)=>426,chr(128)=>426,chr(129)=>426,chr(130)=>426,chr(131)=>426,
chr(132)=>426,chr(133)=>426,chr(134)=>426,chr(135)=>426,chr(136)=>426,chr(137)=>426,chr(138)=>426,chr(139)=>426,chr(140)=>426,chr(141)=>426,chr(142)=>426,chr(143)=>426,chr(144)=>426,chr(145)=>426,chr(146)=>426,chr(147)=>426,chr(148)=>426,chr(149)=>426,chr(150)=>426,chr(151)=>426,chr(152)=>426,chr(153)=>426,
chr(154)=>426,chr(155)=>426,chr(156)=>426,chr(157)=>426,chr(158)=>426,chr(159)=>426,chr(160)=>426,chr(161)=>426,chr(162)=>426,chr(163)=>426,chr(164)=>426,chr(165)=>426,chr(166)=>426,chr(167)=>426,chr(168)=>426,chr(169)=>426,chr(170)=>426,chr(171)=>426,chr(172)=>426,chr(173)=>426,chr(174)=>426,chr(175)=>426,
chr(176)=>426,chr(177)=>426,chr(178)=>426,chr(179)=>426,chr(180)=>426,chr(181)=>426,chr(182)=>426,chr(183)=>426,chr(184)=>426,chr(185)=>426,chr(186)=>426,chr(187)=>426,chr(188)=>426,chr(189)=>426,chr(190)=>426,chr(191)=>426,chr(192)=>426,chr(193)=>426,chr(194)=>426,chr(195)=>426,chr(196)=>426,chr(197)=>426,
chr(198)=>426,chr(199)=>426,chr(200)=>426,chr(201)=>426,chr(202)=>426,chr(203)=>426,chr(204)=>426,chr(205)=>426,chr(206)=>426,chr(207)=>426,chr(208)=>426,chr(209)=>426,chr(210)=>426,chr(211)=>426,chr(212)=>426,chr(213)=>426,chr(214)=>426,chr(215)=>426,chr(216)=>426,chr(217)=>426,chr(218)=>426,chr(219)=>426,
chr(220)=>426,chr(221)=>426,chr(222)=>426,chr(223)=>426,chr(224)=>426,chr(225)=>426,chr(226)=>426,chr(227)=>426,chr(228)=>426,chr(229)=>426,chr(230)=>426,chr(231)=>426,chr(232)=>426,chr(233)=>426,chr(234)=>426,chr(235)=>426,chr(236)=>426,chr(237)=>426,chr(238)=>426,chr(239)=>426,chr(240)=>426,chr(241)=>426,
chr(242)=>426,chr(243)=>426,chr(244)=>426,chr(245)=>426,chr(246)=>426,chr(247)=>426,chr(248)=>426,chr(249)=>426,chr(250)=>426,chr(251)=>426,chr(252)=>426,chr(253)=>426,chr(254)=>426,chr(255)=>426);
$enc='gb2312';
$diff='32 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 128 /.notdef 130 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 142 /.notdef 145 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 158 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef';
$file='comicarousa.z';
$originalsize=78364;
?>

View File

@@ -0,0 +1,112 @@
<?php
$type='TrueTypeUnicode';
$name='DejaVuSans-ExtraLight';
$desc=array('Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-733 -339 1659 1114]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>600);
$up=-42;
$ut=44;
$cw=array(
0=>600, 32=>318, 33=>401, 34=>460, 35=>838, 36=>636, 37=>950, 38=>780, 39=>275, 40=>390, 41=>390, 42=>500, 43=>838, 44=>318, 45=>361, 46=>318,
47=>337, 48=>636, 49=>636, 50=>636, 51=>636, 52=>636, 53=>636, 54=>636, 55=>636, 56=>636, 57=>636, 58=>337, 59=>337, 60=>838, 61=>838, 62=>838,
63=>531, 64=>1000, 65=>684, 66=>655, 67=>698, 68=>770, 69=>632, 70=>575, 71=>775, 72=>752, 73=>295, 74=>295, 75=>656, 76=>557, 77=>863, 78=>748,
79=>787, 80=>603, 81=>787, 82=>695, 83=>635, 84=>611, 85=>732, 86=>684, 87=>989, 88=>685, 89=>611, 90=>685, 91=>390, 92=>337, 93=>390, 94=>838,
95=>500, 96=>500, 97=>613, 98=>635, 99=>550, 100=>635, 101=>615, 102=>352, 103=>600, 104=>634, 105=>278, 106=>278, 107=>579, 108=>278, 109=>974, 110=>634,
111=>612, 112=>635, 113=>635, 114=>411, 115=>521, 116=>392, 117=>634, 118=>592, 119=>818, 120=>592, 121=>592, 122=>525, 123=>636, 124=>337, 125=>636, 126=>838,
8364=>636, 1027=>557, 8218=>318, 402=>352, 8222=>518, 8230=>1000, 8224=>500, 8225=>500, 710=>500, 8240=>1342, 352=>635, 8249=>400, 338=>1070, 1036=>656, 381=>685, 1039=>752,
8216=>318, 8217=>318, 8220=>518, 8221=>518, 8211=>500, 8212=>1000, 732=>500, 353=>521, 8250=>400, 339=>1023, 1116=>604, 382=>525, 376=>611, 160=>318, 161=>401, 162=>636,
163=>636, 164=>636, 165=>636, 166=>337, 167=>500, 168=>500, 169=>1000, 170=>471, 171=>612, 172=>838, 173=>361, 174=>1000, 175=>500, 176=>500, 177=>838, 178=>401,
179=>401, 180=>483, 181=>636, 182=>636, 183=>318, 184=>500, 185=>401, 186=>471, 187=>612, 188=>969, 189=>969, 190=>969, 191=>536, 192=>684, 193=>684, 194=>684,
195=>684, 196=>684, 197=>684, 198=>974, 199=>698, 200=>632, 201=>632, 202=>632, 203=>632, 204=>295, 205=>295, 206=>295, 207=>295, 208=>775, 209=>748, 210=>787,
211=>787, 212=>787, 213=>787, 214=>787, 215=>838, 216=>787, 217=>732, 218=>732, 219=>732, 220=>732, 221=>611, 222=>605, 223=>676, 224=>613, 225=>613, 226=>613,
227=>613, 228=>613, 229=>613, 230=>982, 231=>550, 232=>615, 233=>615, 234=>615, 235=>615, 236=>278, 237=>278, 238=>278, 239=>278, 240=>612, 241=>634, 242=>612,
243=>612, 244=>612, 245=>612, 246=>612, 247=>838, 248=>612, 249=>634, 250=>634, 251=>634, 252=>634, 253=>592, 254=>635, 255=>592, 256=>684, 257=>613, 258=>684,
259=>613, 260=>684, 261=>613, 262=>698, 263=>550, 264=>698, 265=>550, 266=>698, 267=>550, 268=>698, 269=>550, 270=>770, 271=>635, 272=>775, 273=>635, 274=>632,
275=>615, 276=>632, 277=>615, 278=>632, 279=>615, 280=>632, 281=>615, 282=>632, 283=>615, 284=>775, 285=>600, 286=>775, 287=>600, 288=>775, 289=>600, 290=>775,
291=>600, 292=>752, 293=>634, 294=>916, 295=>695, 296=>295, 297=>278, 298=>295, 299=>278, 300=>295, 301=>278, 302=>295, 303=>278, 304=>295, 305=>278, 306=>590,
307=>556, 308=>295, 309=>278, 310=>656, 311=>579, 312=>579, 313=>557, 314=>293, 315=>557, 316=>278, 317=>557, 318=>375, 319=>557, 320=>342, 321=>562, 322=>284,
323=>748, 324=>634, 325=>748, 326=>634, 327=>748, 328=>634, 329=>813, 330=>757, 331=>634, 332=>787, 333=>612, 334=>787, 335=>612, 336=>787, 337=>612, 340=>695,
341=>411, 342=>695, 343=>411, 344=>695, 345=>411, 346=>635, 347=>521, 348=>635, 349=>521, 350=>635, 351=>521, 354=>611, 355=>392, 356=>611, 357=>392, 358=>611,
359=>392, 360=>732, 361=>634, 362=>732, 363=>634, 364=>732, 365=>634, 366=>732, 367=>634, 368=>732, 369=>634, 370=>732, 371=>634, 372=>989, 373=>818, 374=>611,
375=>592, 377=>685, 378=>525, 379=>685, 380=>525, 383=>352, 384=>635, 385=>735, 386=>686, 387=>635, 390=>698, 391=>698, 392=>550, 393=>775, 394=>824, 395=>686,
396=>635, 397=>612, 398=>632, 399=>787, 400=>585, 401=>575, 403=>775, 404=>685, 405=>965, 406=>354, 407=>295, 408=>690, 409=>526, 410=>278, 413=>748, 414=>634,
415=>787, 416=>934, 417=>757, 420=>652, 421=>635, 423=>635, 424=>521, 425=>632, 427=>392, 428=>611, 429=>392, 430=>611, 431=>879, 432=>779, 433=>764, 434=>721,
435=>696, 436=>805, 437=>685, 438=>525, 448=>295, 449=>492, 450=>459, 451=>295, 452=>1422, 453=>1299, 454=>1154, 455=>835, 456=>787, 457=>457, 458=>931, 459=>924,
460=>797, 461=>684, 462=>613, 463=>295, 464=>278, 465=>787, 466=>612, 467=>732, 468=>634, 469=>732, 470=>634, 471=>732, 472=>634, 473=>732, 474=>634, 475=>732,
476=>634, 477=>615, 478=>684, 479=>613, 480=>684, 481=>613, 482=>974, 483=>982, 486=>775, 487=>600, 488=>656, 489=>579, 490=>787, 491=>612, 492=>787, 493=>612,
496=>278, 497=>1422, 498=>1299, 499=>1154, 500=>775, 501=>600, 504=>748, 505=>634, 506=>684, 507=>613, 508=>974, 509=>982, 510=>787, 511=>612, 512=>684, 513=>613,
514=>684, 515=>613, 516=>632, 517=>615, 518=>632, 519=>615, 520=>295, 521=>278, 522=>295, 523=>278, 524=>787, 525=>612, 526=>787, 527=>612, 528=>695, 529=>411,
530=>695, 531=>411, 532=>732, 533=>634, 534=>732, 535=>634, 536=>635, 537=>521, 538=>611, 539=>392, 542=>752, 543=>634, 550=>684, 551=>613, 552=>632, 553=>615,
554=>787, 555=>612, 556=>787, 557=>612, 558=>787, 559=>612, 560=>787, 561=>612, 562=>611, 563=>592, 567=>278, 568=>1032, 569=>1032, 581=>684, 592=>614, 593=>635,
594=>635, 595=>635, 596=>550, 598=>635, 599=>727, 600=>615, 601=>615, 603=>541, 604=>541, 607=>326, 608=>637, 609=>635, 611=>685, 613=>634, 616=>372, 617=>387,
623=>974, 624=>974, 628=>634, 629=>612, 640=>602, 641=>602, 649=>634, 650=>618, 651=>598, 652=>592, 653=>818, 654=>592, 665=>580, 668=>661, 670=>667, 671=>583,
675=>1014, 678=>824, 682=>641, 683=>654, 699=>318, 700=>318, 702=>307, 711=>500, 713=>500, 714=>483, 715=>500, 717=>500, 718=>500, 719=>483, 728=>500, 729=>500,
730=>500, 731=>500, 733=>500, 755=>500, 759=>500, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0,
779=>0, 780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 795=>0, 803=>0, 804=>0,
805=>0, 806=>0, 807=>0, 808=>0, 812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0,
824=>0, 831=>0, 847=>0, 856=>0, 860=>0, 861=>0, 865=>0, 884=>278, 885=>278, 890=>361, 891=>549, 892=>550, 893=>549, 894=>337, 900=>483, 901=>500,
902=>692, 903=>318, 904=>746, 905=>871, 906=>408, 908=>813, 910=>825, 911=>826, 912=>387, 913=>684, 914=>655, 915=>557, 916=>684, 917=>632, 918=>685, 919=>752,
920=>787, 921=>295, 922=>656, 923=>684, 924=>863, 925=>748, 926=>632, 927=>787, 928=>752, 929=>603, 931=>632, 932=>611, 933=>611, 934=>787, 935=>685, 936=>787,
937=>764, 938=>295, 939=>611, 940=>659, 941=>541, 942=>654, 943=>387, 944=>579, 945=>659, 946=>638, 947=>592, 948=>612, 949=>541, 950=>544, 951=>634, 952=>612,
953=>387, 954=>604, 955=>592, 956=>636, 957=>559, 958=>558, 959=>612, 960=>602, 961=>635, 962=>587, 963=>634, 964=>602, 965=>579, 966=>660, 967=>592, 968=>660,
969=>837, 970=>387, 971=>579, 972=>612, 973=>579, 974=>837, 988=>575, 1010=>550, 1011=>278, 1012=>787, 1013=>615, 1014=>615, 1015=>605, 1016=>635, 1017=>698, 1021=>698,
1022=>698, 1023=>698, 1024=>632, 1025=>632, 1026=>786, 1028=>698, 1029=>635, 1030=>295, 1031=>295, 1032=>295, 1033=>1094, 1034=>1045, 1035=>786, 1037=>748, 1038=>609, 1040=>684,
1041=>686, 1042=>655, 1043=>557, 1044=>776, 1045=>632, 1046=>863, 1047=>636, 1048=>748, 1049=>748, 1050=>656, 1051=>752, 1052=>863, 1053=>752, 1054=>787, 1055=>752, 1056=>603,
1057=>698, 1058=>611, 1059=>609, 1060=>787, 1061=>685, 1062=>776, 1063=>686, 1064=>1003, 1065=>1025, 1066=>833, 1067=>882, 1068=>686, 1069=>698, 1070=>1031, 1071=>695, 1072=>613,
1073=>612, 1074=>586, 1075=>491, 1076=>672, 1077=>615, 1078=>733, 1079=>541, 1080=>657, 1081=>657, 1082=>604, 1083=>639, 1084=>754, 1085=>661, 1086=>612, 1087=>660, 1088=>635,
1089=>550, 1090=>529, 1091=>592, 1092=>917, 1093=>592, 1094=>681, 1095=>591, 1096=>873, 1097=>893, 1098=>703, 1099=>765, 1100=>589, 1101=>549, 1102=>813, 1103=>602, 1104=>615,
1105=>615, 1106=>644, 1107=>491, 1108=>549, 1109=>521, 1110=>278, 1111=>278, 1112=>278, 1113=>898, 1114=>892, 1115=>637, 1117=>657, 1118=>592, 1119=>662, 1121=>837, 1124=>942,
1125=>749, 1136=>787, 1137=>660, 1138=>787, 1168=>557, 1169=>491, 1176=>636, 1177=>541, 1188=>1014, 1189=>868, 1194=>698, 1195=>550, 1198=>611, 1199=>592, 1204=>934, 1205=>809,
1210=>686, 1211=>634, 1216=>278, 1217=>863, 1218=>733, 1232=>684, 1233=>613, 1234=>684, 1235=>613, 1236=>974, 1237=>982, 1238=>632, 1239=>615, 1240=>787, 1241=>615, 1242=>787,
1243=>615, 1244=>863, 1245=>733, 1246=>636, 1247=>541, 1250=>748, 1251=>657, 1252=>748, 1253=>657, 1254=>787, 1255=>612, 1256=>787, 1257=>612, 1258=>787, 1259=>612, 1260=>698,
1261=>549, 1262=>609, 1263=>592, 1264=>609, 1265=>592, 1266=>609, 1267=>592, 1268=>686, 1269=>591, 1272=>882, 1273=>765, 1352=>732, 1357=>732, 1359=>635, 1363=>787, 1365=>787,
1370=>318, 1373=>392, 1377=>974, 1387=>634, 1389=>1002, 1391=>634, 1392=>634, 1397=>278, 1400=>634, 1402=>974, 1405=>634, 1407=>1002, 1408=>634, 1409=>600, 1411=>1002, 1413=>612,
1417=>337, 1652=>292, 7426=>982, 7428=>550, 7433=>278, 7435=>604, 7437=>754, 7438=>650, 7439=>612, 7440=>550, 7441=>684, 7442=>684, 7443=>684, 7444=>1023, 7446=>612, 7447=>612,
7456=>592, 7457=>818, 7458=>525, 7462=>525, 7463=>592, 7464=>654, 7543=>635, 7680=>684, 7681=>613, 7682=>655, 7683=>635, 7684=>655, 7685=>635, 7686=>655, 7687=>635, 7688=>698,
7689=>550, 7690=>770, 7691=>635, 7692=>770, 7693=>635, 7694=>770, 7695=>635, 7696=>770, 7697=>635, 7698=>770, 7699=>635, 7700=>632, 7701=>615, 7702=>632, 7703=>615, 7704=>632,
7705=>615, 7706=>632, 7707=>615, 7708=>632, 7709=>615, 7710=>575, 7711=>352, 7712=>775, 7713=>600, 7714=>752, 7715=>634, 7716=>752, 7717=>634, 7718=>752, 7719=>634, 7720=>752,
7721=>634, 7722=>752, 7723=>634, 7724=>295, 7725=>278, 7726=>295, 7727=>278, 7728=>656, 7729=>579, 7730=>656, 7731=>579, 7732=>656, 7733=>579, 7734=>557, 7735=>278, 7736=>557,
7737=>278, 7738=>557, 7739=>278, 7740=>557, 7741=>278, 7742=>863, 7743=>974, 7744=>863, 7745=>974, 7746=>863, 7747=>974, 7748=>748, 7749=>634, 7750=>748, 7751=>634, 7752=>748,
7753=>634, 7754=>748, 7755=>634, 7756=>787, 7757=>612, 7758=>787, 7759=>612, 7760=>787, 7761=>612, 7762=>787, 7763=>612, 7764=>603, 7765=>635, 7766=>603, 7767=>635, 7768=>695,
7769=>411, 7770=>695, 7771=>411, 7772=>695, 7773=>411, 7774=>695, 7775=>411, 7776=>635, 7777=>521, 7778=>635, 7779=>521, 7780=>635, 7781=>521, 7782=>635, 7783=>521, 7784=>635,
7785=>521, 7786=>611, 7787=>392, 7788=>611, 7789=>392, 7790=>611, 7791=>392, 7792=>611, 7793=>392, 7794=>732, 7795=>634, 7796=>732, 7797=>634, 7798=>732, 7799=>634, 7800=>732,
7801=>634, 7802=>732, 7803=>634, 7804=>684, 7805=>592, 7806=>684, 7807=>592, 7808=>989, 7809=>818, 7810=>989, 7811=>818, 7812=>989, 7813=>818, 7814=>989, 7815=>818, 7816=>989,
7817=>818, 7818=>685, 7819=>592, 7820=>685, 7821=>592, 7822=>611, 7823=>592, 7824=>685, 7825=>525, 7826=>685, 7827=>525, 7828=>685, 7829=>525, 7830=>634, 7831=>392, 7832=>818,
7833=>592, 7834=>613, 7835=>352, 7840=>684, 7841=>613, 7842=>684, 7843=>613, 7844=>684, 7845=>613, 7846=>684, 7847=>613, 7848=>684, 7849=>613, 7850=>684, 7851=>613, 7852=>684,
7853=>613, 7854=>684, 7855=>613, 7856=>684, 7857=>613, 7858=>684, 7859=>613, 7860=>684, 7861=>613, 7862=>684, 7863=>613, 7864=>632, 7865=>615, 7866=>632, 7867=>615, 7868=>632,
7869=>615, 7870=>632, 7871=>615, 7872=>632, 7873=>615, 7874=>632, 7875=>615, 7876=>632, 7877=>615, 7878=>632, 7879=>615, 7880=>295, 7881=>278, 7882=>295, 7883=>278, 7884=>787,
7885=>612, 7886=>787, 7887=>612, 7888=>787, 7889=>612, 7890=>787, 7891=>612, 7892=>787, 7893=>612, 7894=>787, 7895=>612, 7896=>787, 7897=>612, 7898=>934, 7899=>757, 7900=>934,
7901=>757, 7902=>934, 7903=>757, 7904=>934, 7905=>757, 7906=>934, 7907=>757, 7908=>732, 7909=>634, 7910=>732, 7911=>634, 7912=>879, 7913=>779, 7914=>879, 7915=>779, 7916=>879,
7917=>779, 7918=>879, 7919=>779, 7920=>879, 7921=>779, 7922=>611, 7923=>592, 7924=>611, 7925=>592, 7926=>611, 7927=>592, 7928=>611, 7929=>592, 7936=>659, 7937=>659, 7938=>659,
7939=>659, 7940=>659, 7941=>659, 7942=>659, 7943=>659, 7944=>684, 7945=>684, 7946=>877, 7947=>877, 7948=>769, 7949=>801, 7950=>708, 7951=>743, 7952=>541, 7953=>541, 7954=>541,
7955=>541, 7956=>541, 7957=>541, 7960=>711, 7961=>711, 7962=>966, 7963=>975, 7964=>898, 7965=>928, 7968=>634, 7969=>634, 7970=>634, 7971=>634, 7972=>634, 7973=>634, 7974=>634,
7975=>634, 7976=>837, 7977=>835, 7978=>1086, 7979=>1089, 7980=>1027, 7981=>1051, 7982=>934, 7983=>947, 7984=>338, 7985=>338, 7986=>338, 7987=>338, 7988=>338, 7989=>338, 7990=>338,
7991=>338, 7992=>380, 7993=>374, 7994=>635, 7995=>635, 7996=>570, 7997=>600, 7998=>489, 7999=>493, 8000=>612, 8001=>612, 8002=>612, 8003=>612, 8004=>612, 8005=>612, 8008=>804,
8009=>848, 8010=>1095, 8011=>1100, 8012=>938, 8013=>970, 8016=>579, 8017=>579, 8018=>579, 8019=>579, 8020=>579, 8021=>579, 8022=>579, 8023=>579, 8025=>784, 8027=>998, 8029=>1012,
8031=>897, 8032=>837, 8033=>837, 8034=>837, 8035=>837, 8036=>837, 8037=>837, 8038=>837, 8039=>837, 8040=>802, 8041=>843, 8042=>1089, 8043=>1095, 8044=>946, 8045=>972, 8046=>921,
8047=>952, 8048=>659, 8049=>659, 8050=>541, 8051=>548, 8052=>634, 8053=>654, 8054=>338, 8055=>338, 8056=>612, 8057=>612, 8058=>579, 8059=>579, 8060=>837, 8061=>837, 8064=>659,
8065=>659, 8066=>659, 8067=>659, 8068=>659, 8069=>659, 8070=>659, 8071=>659, 8072=>684, 8073=>684, 8074=>877, 8075=>877, 8076=>769, 8077=>801, 8078=>708, 8079=>743, 8080=>634,
8081=>634, 8082=>634, 8083=>634, 8084=>634, 8085=>634, 8086=>634, 8087=>634, 8088=>837, 8089=>835, 8090=>1086, 8091=>1089, 8092=>1027, 8093=>1051, 8094=>934, 8095=>947, 8096=>837,
8097=>837, 8098=>837, 8099=>837, 8100=>837, 8101=>837, 8102=>837, 8103=>837, 8104=>802, 8105=>843, 8106=>1089, 8107=>1095, 8108=>946, 8109=>972, 8110=>921, 8111=>952, 8112=>659,
8113=>659, 8114=>659, 8115=>659, 8116=>659, 8118=>659, 8119=>659, 8120=>684, 8121=>684, 8122=>716, 8123=>692, 8124=>684, 8125=>500, 8126=>500, 8127=>500, 8128=>500, 8129=>500,
8130=>634, 8131=>634, 8132=>654, 8134=>634, 8135=>634, 8136=>805, 8137=>746, 8138=>931, 8139=>871, 8140=>752, 8141=>500, 8142=>500, 8143=>500, 8144=>338, 8145=>338, 8146=>338,
8147=>338, 8150=>338, 8151=>338, 8152=>295, 8153=>295, 8154=>475, 8155=>408, 8157=>500, 8158=>500, 8159=>500, 8160=>579, 8161=>579, 8162=>579, 8163=>579, 8164=>635, 8165=>635,
8166=>579, 8167=>579, 8168=>611, 8169=>611, 8170=>845, 8171=>825, 8172=>685, 8173=>500, 8174=>500, 8175=>500, 8178=>837, 8179=>837, 8180=>837, 8182=>837, 8183=>837, 8184=>941,
8185=>813, 8186=>922, 8187=>826, 8188=>764, 8189=>500, 8190=>500, 8192=>500, 8193=>1000, 8194=>500, 8195=>1000, 8196=>330, 8197=>250, 8198=>167, 8199=>636, 8200=>318, 8201=>200,
8202=>100, 8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>361, 8209=>361, 8210=>636, 8213=>1000, 8214=>500, 8215=>500, 8219=>318, 8223=>518, 8228=>334, 8229=>667,
8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>200, 8241=>1735, 8251=>838, 8252=>485, 8253=>531, 8254=>500, 8255=>804, 8256=>804, 8258=>1000, 8259=>500, 8260=>167,
8261=>390, 8262=>390, 8263=>922, 8264=>733, 8265=>733, 8267=>636, 8268=>500, 8269=>500, 8270=>500, 8271=>337, 8272=>804, 8273=>500, 8274=>450, 8275=>838, 8276=>804, 8287=>222,
8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>401, 8305=>179, 8308=>401, 8320=>401, 8321=>401, 8322=>401,
8323=>401, 8324=>401, 8363=>636, 8369=>635, 8451=>1123, 8457=>952, 8470=>1165, 8471=>1000, 8486=>764, 8487=>764, 8490=>656, 8491=>684, 8494=>854, 8498=>575, 8500=>462, 8523=>780,
8531=>969, 8532=>969, 8543=>568, 8544=>295, 8545=>492, 8546=>689, 8547=>923, 8548=>684, 8549=>922, 8550=>1120, 8551=>1317, 8552=>917, 8553=>685, 8554=>933, 8555=>1131, 8556=>557,
8557=>698, 8558=>770, 8559=>863, 8560=>278, 8561=>458, 8562=>637, 8563=>812, 8564=>592, 8565=>811, 8566=>991, 8567=>1170, 8568=>819, 8569=>592, 8570=>822, 8571=>1002, 8572=>278,
8573=>550, 8574=>635, 8575=>974, 8576=>1285, 8579=>698, 8580=>549, 8592=>838, 8593=>838, 8594=>838, 8595=>838, 8596=>838, 8597=>838, 8598=>838, 8599=>838, 8600=>838, 8601=>838,
8644=>838, 8645=>838, 8646=>838, 8647=>838, 8648=>838, 8649=>838, 8650=>838, 8704=>684, 8707=>632, 8710=>684, 8711=>684, 8722=>838, 8725=>167, 8726=>637, 8727=>626, 8728=>626,
8756=>636, 8757=>636, 8758=>260, 8759=>636, 8764=>636, 9134=>521, 9167=>945, 10731=>494, 57344=>684, 57345=>684, 57346=>684, 57347=>684, 57348=>684, 57349=>684, 57351=>684, 57352=>684,
57353=>684, 57354=>684, 57355=>684, 57356=>684, 57357=>684, 57358=>684, 57359=>684, 57360=>684, 57361=>684, 57362=>684, 57363=>684, 57364=>684, 64256=>689, 64257=>630, 64258=>630, 64259=>967,
64260=>967, 64297=>838, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0,
65038=>0, 65039=>0, 65533=>1025);
$enc='';
$diff='';
$file='DejaVuSans-ExtraLight.z';
$ctg='DejaVuSans-ExtraLight.ctg.z';
$originalsize=132684;
?>

View File

@@ -0,0 +1,287 @@
<?php
$type='TrueTypeUnicode';
$name='DejaVuSans';
$desc=array('Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-1021 -356 1681 1068]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>600);
$up=-42;
$ut=44;
$cw=array(
0=>600, 32=>318, 33=>401, 34=>460, 35=>838, 36=>636, 37=>950, 38=>780, 39=>275, 40=>390, 41=>390, 42=>500, 43=>838, 44=>318, 45=>361, 46=>318,
47=>337, 48=>636, 49=>636, 50=>636, 51=>636, 52=>636, 53=>636, 54=>636, 55=>636, 56=>636, 57=>636, 58=>337, 59=>337, 60=>838, 61=>838, 62=>838,
63=>531, 64=>1000, 65=>684, 66=>686, 67=>698, 68=>770, 69=>632, 70=>575, 71=>775, 72=>752, 73=>295, 74=>295, 75=>656, 76=>557, 77=>863, 78=>748,
79=>787, 80=>603, 81=>787, 82=>695, 83=>635, 84=>611, 85=>732, 86=>684, 87=>989, 88=>685, 89=>611, 90=>685, 91=>390, 92=>337, 93=>390, 94=>838,
95=>500, 96=>500, 97=>613, 98=>635, 99=>550, 100=>635, 101=>615, 102=>352, 103=>635, 104=>634, 105=>278, 106=>278, 107=>579, 108=>278, 109=>974, 110=>634,
111=>612, 112=>635, 113=>635, 114=>411, 115=>521, 116=>392, 117=>634, 118=>592, 119=>818, 120=>592, 121=>592, 122=>525, 123=>636, 124=>337, 125=>636, 126=>838,
8364=>636, 1027=>610, 8218=>318, 402=>352, 8222=>518, 8230=>1000, 8224=>500, 8225=>500, 710=>500, 8240=>1342, 352=>635, 8249=>400, 338=>1070, 1036=>710, 381=>685, 1039=>752,
8216=>318, 8217=>318, 8220=>518, 8221=>518, 8226=>590, 8211=>500, 8212=>1000, 732=>500, 8482=>1000, 353=>521, 8250=>400, 339=>1023, 1116=>604, 382=>525, 376=>611, 160=>318,
161=>401, 162=>636, 163=>636, 164=>636, 165=>636, 166=>337, 167=>500, 168=>500, 169=>1000, 170=>471, 171=>612, 172=>838, 173=>361, 174=>1000, 175=>500, 176=>500,
177=>838, 178=>401, 179=>401, 180=>500, 181=>636, 182=>636, 183=>318, 184=>500, 185=>401, 186=>471, 187=>612, 188=>969, 189=>969, 190=>969, 191=>531, 192=>684,
193=>684, 194=>684, 195=>684, 196=>684, 197=>684, 198=>974, 199=>698, 200=>632, 201=>632, 202=>632, 203=>632, 204=>295, 205=>295, 206=>295, 207=>295, 208=>775,
209=>748, 210=>787, 211=>787, 212=>787, 213=>787, 214=>787, 215=>838, 216=>787, 217=>732, 218=>732, 219=>732, 220=>732, 221=>611, 222=>605, 223=>630, 224=>613,
225=>613, 226=>613, 227=>613, 228=>613, 229=>613, 230=>982, 231=>550, 232=>615, 233=>615, 234=>615, 235=>615, 236=>278, 237=>278, 238=>278, 239=>278, 240=>612,
241=>634, 242=>612, 243=>612, 244=>612, 245=>612, 246=>612, 247=>838, 248=>612, 249=>634, 250=>634, 251=>634, 252=>634, 253=>592, 254=>635, 255=>592, 256=>684,
257=>613, 258=>684, 259=>613, 260=>684, 261=>613, 262=>698, 263=>550, 264=>698, 265=>550, 266=>698, 267=>550, 268=>698, 269=>550, 270=>770, 271=>635, 272=>775,
273=>635, 274=>632, 275=>615, 276=>632, 277=>615, 278=>632, 279=>615, 280=>632, 281=>615, 282=>632, 283=>615, 284=>775, 285=>635, 286=>775, 287=>635, 288=>775,
289=>635, 290=>775, 291=>635, 292=>752, 293=>634, 294=>916, 295=>695, 296=>295, 297=>278, 298=>295, 299=>278, 300=>295, 301=>278, 302=>295, 303=>278, 304=>295,
305=>278, 306=>590, 307=>556, 308=>295, 309=>278, 310=>656, 311=>579, 312=>579, 313=>557, 314=>293, 315=>557, 316=>278, 317=>557, 318=>375, 319=>557, 320=>342,
321=>562, 322=>284, 323=>748, 324=>634, 325=>748, 326=>634, 327=>748, 328=>634, 329=>813, 330=>748, 331=>634, 332=>787, 333=>612, 334=>787, 335=>612, 336=>787,
337=>612, 340=>695, 341=>411, 342=>695, 343=>411, 344=>695, 345=>411, 346=>635, 347=>521, 348=>635, 349=>521, 350=>635, 351=>521, 354=>611, 355=>392, 356=>611,
357=>392, 358=>611, 359=>392, 360=>732, 361=>634, 362=>732, 363=>634, 364=>732, 365=>634, 366=>732, 367=>634, 368=>732, 369=>634, 370=>732, 371=>634, 372=>989,
373=>818, 374=>611, 375=>592, 377=>685, 378=>525, 379=>685, 380=>525, 383=>352, 384=>635, 385=>735, 386=>686, 387=>635, 388=>686, 389=>635, 390=>703, 391=>698,
392=>550, 393=>775, 394=>819, 395=>686, 396=>635, 397=>612, 398=>632, 399=>787, 400=>614, 401=>575, 403=>775, 404=>687, 405=>984, 406=>354, 407=>295, 408=>746,
409=>579, 410=>278, 411=>592, 412=>974, 413=>748, 414=>634, 415=>787, 416=>913, 417=>612, 418=>949, 419=>759, 420=>652, 421=>635, 422=>695, 423=>635, 424=>521,
425=>632, 426=>336, 427=>392, 428=>611, 429=>392, 430=>611, 431=>858, 432=>634, 433=>764, 434=>721, 435=>744, 436=>729, 437=>685, 438=>525, 439=>666, 440=>666,
441=>578, 442=>525, 443=>636, 444=>666, 445=>578, 446=>510, 447=>635, 448=>295, 449=>492, 450=>459, 451=>295, 452=>1422, 453=>1299, 454=>1154, 455=>835, 456=>787,
457=>457, 458=>931, 459=>924, 460=>797, 461=>684, 462=>613, 463=>295, 464=>278, 465=>787, 466=>612, 467=>732, 468=>634, 469=>732, 470=>634, 471=>732, 472=>634,
473=>732, 474=>634, 475=>732, 476=>634, 477=>615, 478=>684, 479=>613, 480=>684, 481=>613, 482=>974, 483=>982, 484=>775, 485=>635, 486=>775, 487=>635, 488=>656,
489=>579, 490=>787, 491=>612, 492=>787, 493=>612, 494=>666, 495=>578, 496=>278, 497=>1422, 498=>1299, 499=>1154, 500=>775, 501=>635, 502=>1113, 503=>682, 504=>748,
505=>634, 506=>684, 507=>613, 508=>974, 509=>982, 510=>787, 511=>612, 512=>684, 513=>613, 514=>684, 515=>613, 516=>632, 517=>615, 518=>632, 519=>615, 520=>295,
521=>278, 522=>295, 523=>278, 524=>787, 525=>612, 526=>787, 527=>612, 528=>695, 529=>411, 530=>695, 531=>411, 532=>732, 533=>634, 534=>732, 535=>634, 536=>635,
537=>521, 538=>611, 539=>392, 540=>627, 541=>521, 542=>752, 543=>634, 544=>735, 545=>838, 546=>698, 547=>610, 548=>685, 549=>525, 550=>684, 551=>613, 552=>632,
553=>615, 554=>787, 555=>612, 556=>787, 557=>612, 558=>787, 559=>612, 560=>787, 561=>612, 562=>611, 563=>592, 564=>475, 565=>843, 566=>477, 567=>278, 568=>998,
569=>998, 570=>684, 571=>698, 572=>550, 573=>557, 574=>611, 575=>521, 576=>525, 577=>603, 578=>479, 579=>686, 580=>732, 581=>684, 582=>632, 583=>615, 584=>295,
585=>278, 586=>781, 587=>635, 588=>695, 589=>411, 590=>611, 591=>592, 592=>600, 593=>635, 594=>635, 595=>635, 596=>549, 597=>550, 598=>635, 599=>696, 600=>615,
601=>615, 602=>819, 603=>541, 604=>532, 605=>775, 606=>664, 607=>278, 608=>696, 609=>635, 610=>629, 611=>596, 612=>596, 613=>634, 614=>634, 615=>634, 616=>278,
617=>338, 618=>372, 619=>396, 620=>487, 621=>278, 622=>706, 623=>974, 624=>974, 625=>974, 626=>646, 627=>642, 628=>634, 629=>612, 630=>858, 631=>728, 632=>660,
633=>414, 634=>414, 635=>414, 636=>411, 637=>411, 638=>437, 639=>530, 640=>604, 641=>604, 642=>521, 643=>336, 644=>336, 645=>461, 646=>336, 647=>392, 648=>392,
649=>634, 650=>618, 651=>598, 652=>592, 653=>818, 654=>592, 655=>611, 656=>525, 657=>525, 658=>578, 659=>578, 660=>510, 661=>510, 662=>510, 663=>510, 664=>787,
665=>580, 666=>664, 667=>708, 668=>654, 669=>292, 670=>667, 671=>507, 672=>727, 673=>510, 674=>510, 675=>1014, 676=>1058, 677=>1013, 678=>824, 679=>610, 680=>778,
681=>848, 682=>641, 683=>654, 684=>515, 685=>515, 686=>570, 687=>664, 688=>404, 689=>399, 690=>175, 691=>259, 692=>295, 693=>296, 694=>379, 695=>515, 696=>373,
697=>278, 698=>460, 699=>318, 700=>318, 701=>318, 702=>307, 703=>307, 704=>370, 705=>370, 706=>500, 707=>500, 708=>500, 709=>500, 711=>500, 712=>275, 713=>500,
714=>500, 715=>500, 716=>275, 717=>500, 718=>500, 719=>500, 720=>337, 721=>337, 722=>307, 723=>307, 724=>500, 725=>500, 726=>413, 727=>500, 728=>500, 729=>500,
730=>500, 731=>500, 733=>500, 734=>315, 735=>500, 736=>426, 737=>166, 738=>373, 739=>444, 740=>370, 741=>493, 742=>493, 743=>493, 744=>493, 745=>493, 748=>500,
749=>500, 750=>500, 755=>500, 759=>500, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 850=>0, 851=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0,
884=>278, 885=>278, 890=>500, 891=>549, 892=>550, 893=>549, 894=>337, 900=>500, 901=>500, 902=>692, 903=>318, 904=>746, 905=>871, 906=>408, 908=>813, 910=>825,
911=>826, 912=>338, 913=>684, 914=>686, 915=>557, 916=>684, 917=>632, 918=>685, 919=>752, 920=>787, 921=>295, 922=>656, 923=>684, 924=>863, 925=>748, 926=>632,
927=>787, 928=>752, 929=>603, 931=>632, 932=>611, 933=>611, 934=>787, 935=>685, 936=>787, 937=>764, 938=>295, 939=>611, 940=>659, 941=>548, 942=>654, 943=>338,
944=>579, 945=>659, 946=>638, 947=>592, 948=>612, 949=>541, 950=>544, 951=>634, 952=>612, 953=>338, 954=>589, 955=>592, 956=>636, 957=>559, 958=>558, 959=>612,
960=>602, 961=>635, 962=>587, 963=>634, 964=>602, 965=>579, 966=>660, 967=>578, 968=>660, 969=>837, 970=>338, 971=>579, 972=>612, 973=>579, 974=>837, 976=>614,
977=>619, 978=>699, 979=>842, 980=>699, 981=>660, 982=>837, 983=>664, 984=>787, 985=>612, 986=>648, 987=>587, 988=>575, 989=>458, 990=>660, 991=>660, 992=>865,
993=>627, 994=>934, 995=>837, 996=>758, 997=>659, 998=>792, 999=>615, 1000=>687, 1001=>607, 1002=>768, 1003=>625, 1004=>699, 1005=>612, 1006=>611, 1007=>536, 1008=>664,
1009=>635, 1010=>550, 1011=>278, 1012=>787, 1013=>615, 1014=>615, 1015=>605, 1016=>635, 1017=>698, 1018=>863, 1019=>651, 1020=>635, 1021=>703, 1022=>698, 1023=>703, 1024=>632,
1025=>632, 1026=>786, 1028=>698, 1029=>635, 1030=>295, 1031=>295, 1032=>295, 1033=>1094, 1034=>1045, 1035=>786, 1037=>748, 1038=>609, 1040=>684, 1041=>686, 1042=>686, 1043=>610,
1044=>781, 1045=>632, 1046=>1077, 1047=>641, 1048=>748, 1049=>748, 1050=>710, 1051=>752, 1052=>863, 1053=>752, 1054=>787, 1055=>752, 1056=>603, 1057=>698, 1058=>611, 1059=>609,
1060=>861, 1061=>685, 1062=>776, 1063=>686, 1064=>1069, 1065=>1094, 1066=>833, 1067=>882, 1068=>686, 1069=>698, 1070=>1080, 1071=>695, 1072=>613, 1073=>617, 1074=>589, 1075=>525,
1076=>691, 1077=>615, 1078=>901, 1079=>532, 1080=>650, 1081=>650, 1082=>604, 1083=>639, 1084=>754, 1085=>654, 1086=>612, 1087=>654, 1088=>635, 1089=>550, 1090=>583, 1091=>592,
1092=>855, 1093=>592, 1094=>681, 1095=>591, 1096=>915, 1097=>942, 1098=>707, 1099=>790, 1100=>589, 1101=>549, 1102=>842, 1103=>602, 1104=>615, 1105=>615, 1106=>625, 1107=>525,
1108=>549, 1109=>521, 1110=>278, 1111=>278, 1112=>278, 1113=>902, 1114=>898, 1115=>652, 1117=>650, 1118=>592, 1119=>654, 1120=>934, 1121=>837, 1122=>771, 1123=>672, 1124=>942,
1125=>749, 1126=>879, 1127=>783, 1128=>1160, 1129=>1001, 1130=>787, 1131=>612, 1132=>1027, 1133=>824, 1134=>636, 1135=>541, 1136=>856, 1137=>876, 1138=>787, 1139=>592, 1140=>781,
1141=>665, 1142=>781, 1143=>665, 1144=>992, 1145=>904, 1146=>953, 1147=>758, 1148=>1180, 1149=>1028, 1150=>934, 1151=>837, 1152=>698, 1153=>550, 1154=>502, 1155=>0, 1156=>0,
1157=>0, 1158=>0, 1160=>418, 1161=>418, 1162=>772, 1163=>677, 1164=>686, 1165=>589, 1166=>603, 1167=>635, 1168=>610, 1169=>525, 1170=>675, 1171=>556, 1172=>624, 1173=>530,
1174=>1077, 1175=>901, 1176=>641, 1177=>532, 1178=>710, 1179=>604, 1180=>710, 1181=>604, 1182=>710, 1183=>604, 1184=>856, 1185=>832, 1186=>752, 1187=>661, 1188=>1014, 1189=>877,
1190=>1081, 1191=>916, 1192=>796, 1193=>651, 1194=>698, 1195=>550, 1196=>611, 1197=>529, 1198=>611, 1199=>592, 1200=>611, 1201=>592, 1202=>685, 1203=>592, 1204=>934, 1205=>807,
1206=>686, 1207=>591, 1208=>686, 1209=>591, 1210=>686, 1211=>634, 1212=>941, 1213=>728, 1214=>941, 1215=>728, 1216=>295, 1217=>1077, 1218=>901, 1219=>656, 1220=>604, 1221=>776,
1222=>670, 1223=>752, 1224=>661, 1225=>776, 1226=>681, 1227=>686, 1228=>591, 1229=>888, 1230=>774, 1231=>278, 1232=>684, 1233=>613, 1234=>684, 1235=>613, 1236=>974, 1237=>982,
1238=>632, 1239=>615, 1240=>787, 1241=>615, 1242=>787, 1243=>615, 1244=>1077, 1245=>901, 1246=>641, 1247=>532, 1248=>666, 1249=>578, 1250=>748, 1251=>650, 1252=>748, 1253=>650,
1254=>787, 1255=>612, 1256=>787, 1257=>612, 1258=>787, 1259=>612, 1260=>698, 1261=>549, 1262=>609, 1263=>592, 1264=>609, 1265=>592, 1266=>609, 1267=>592, 1268=>686, 1269=>591,
1270=>557, 1271=>491, 1272=>882, 1273=>790, 1274=>675, 1275=>556, 1276=>685, 1277=>592, 1278=>685, 1279=>592, 1280=>686, 1281=>589, 1282=>1006, 1283=>897, 1284=>975, 1285=>869,
1286=>679, 1287=>588, 1288=>1072, 1289=>957, 1290=>1072, 1291=>967, 1292=>775, 1293=>660, 1294=>773, 1295=>711, 1296=>614, 1297=>541, 1298=>752, 1299=>639, 1329=>867, 1330=>732,
1331=>882, 1332=>882, 1333=>732, 1334=>644, 1335=>682, 1336=>732, 1337=>851, 1338=>882, 1339=>732, 1340=>557, 1341=>824, 1342=>986, 1343=>732, 1344=>707, 1345=>644, 1346=>882,
1347=>777, 1348=>882, 1349=>732, 1350=>840, 1351=>732, 1352=>732, 1353=>732, 1354=>791, 1355=>644, 1356=>882, 1357=>732, 1358=>882, 1359=>635, 1360=>732, 1361=>732, 1362=>799,
1363=>861, 1364=>790, 1365=>787, 1366=>635, 1369=>307, 1370=>318, 1371=>500, 1372=>500, 1373=>392, 1374=>526, 1375=>500, 1377=>974, 1378=>634, 1379=>762, 1380=>767, 1381=>634,
1382=>697, 1383=>533, 1384=>634, 1385=>700, 1386=>697, 1387=>634, 1388=>404, 1389=>894, 1390=>641, 1391=>634, 1392=>634, 1393=>635, 1394=>702, 1395=>634, 1396=>659, 1397=>278,
1398=>760, 1399=>516, 1400=>634, 1401=>453, 1402=>974, 1403=>516, 1404=>769, 1405=>634, 1406=>696, 1407=>974, 1408=>634, 1409=>635, 1410=>501, 1411=>974, 1412=>648, 1413=>612,
1414=>629, 1415=>763, 1417=>337, 1418=>433, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0,
1469=>0, 1471=>0, 1472=>295, 1473=>0, 1474=>0, 1475=>295, 1478=>456, 1479=>0, 1488=>629, 1489=>608, 1490=>448, 1491=>594, 1492=>640, 1493=>272, 1494=>423, 1495=>640,
1496=>648, 1497=>272, 1498=>592, 1499=>556, 1500=>599, 1501=>640, 1502=>659, 1503=>272, 1504=>441, 1505=>700, 1506=>636, 1507=>640, 1508=>604, 1509=>521, 1510=>581, 1511=>663,
1512=>592, 1513=>808, 1514=>657, 1520=>471, 1521=>454, 1522=>471, 1548=>323, 1557=>0, 1563=>318, 1567=>531, 1569=>470, 1570=>278, 1571=>278, 1572=>483, 1573=>278, 1574=>783,
1575=>278, 1576=>941, 1577=>524, 1578=>941, 1579=>941, 1580=>646, 1581=>646, 1582=>646, 1583=>445, 1584=>445, 1585=>483, 1586=>483, 1587=>1221, 1588=>1221, 1589=>1209, 1590=>1209,
1591=>925, 1592=>925, 1593=>597, 1594=>597, 1600=>293, 1601=>1037, 1602=>776, 1603=>824, 1604=>727, 1605=>619, 1606=>734, 1607=>524, 1608=>483, 1609=>783, 1610=>783, 1611=>0,
1612=>0, 1613=>0, 1614=>0, 1615=>0, 1616=>0, 1617=>0, 1618=>0, 1619=>0, 1620=>0, 1621=>0, 1626=>500, 1632=>537, 1633=>537, 1634=>537, 1635=>537, 1636=>537,
1637=>537, 1638=>537, 1639=>537, 1640=>537, 1641=>537, 1642=>537, 1643=>325, 1644=>318, 1645=>545, 1646=>941, 1647=>776, 1652=>292, 1657=>941, 1658=>941, 1659=>941, 1660=>941,
1661=>941, 1662=>941, 1663=>941, 1664=>941, 1665=>646, 1666=>646, 1667=>646, 1668=>646, 1669=>646, 1670=>646, 1671=>646, 1681=>483, 1682=>483, 1685=>610, 1688=>483, 1697=>1037,
1700=>1037, 1702=>1037, 1705=>895, 1711=>895, 1717=>727, 1722=>734, 1727=>646, 1734=>483, 1740=>783, 1742=>783, 1749=>524, 1776=>537, 1777=>537, 1778=>537, 1779=>537, 1780=>537,
1781=>537, 1782=>537, 1783=>537, 1784=>537, 1785=>537, 3647=>652, 3713=>670, 3714=>684, 3716=>688, 3719=>482, 3720=>628, 3722=>684, 3725=>688, 3732=>669, 3733=>642, 3734=>645,
3735=>655, 3737=>659, 3738=>625, 3739=>625, 3740=>745, 3741=>767, 3742=>687, 3743=>687, 3745=>702, 3746=>688, 3747=>684, 3749=>649, 3751=>632, 3754=>703, 3755=>819, 3757=>633,
3758=>684, 3759=>788, 3760=>632, 3761=>0, 3762=>539, 3763=>539, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>663, 3776=>375,
3777=>657, 3778=>460, 3779=>547, 3780=>491, 3782=>674, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>1028, 3805=>1028, 5121=>684, 5122=>684, 5123=>684,
5124=>684, 5125=>769, 5126=>769, 5127=>769, 5129=>769, 5130=>769, 5131=>769, 5132=>835, 5133=>834, 5134=>835, 5135=>834, 5136=>835, 5137=>834, 5138=>967, 5139=>1007, 5140=>967,
5141=>1007, 5142=>769, 5143=>967, 5144=>1007, 5145=>967, 5146=>1007, 5147=>769, 5149=>256, 5150=>543, 5151=>423, 5152=>423, 5153=>389, 5154=>389, 5155=>393, 5156=>389, 5157=>466,
5158=>385, 5159=>256, 5160=>389, 5161=>389, 5162=>389, 5163=>1090, 5164=>909, 5165=>953, 5166=>1117, 5167=>684, 5168=>684, 5169=>684, 5170=>684, 5171=>729, 5172=>729, 5173=>729,
5175=>729, 5176=>729, 5177=>729, 5178=>835, 5179=>834, 5180=>835, 5181=>834, 5182=>835, 5183=>834, 5184=>967, 5185=>1007, 5186=>967, 5187=>1007, 5188=>967, 5189=>1007, 5190=>967,
5191=>1007, 5192=>729, 5193=>508, 5194=>192, 5196=>732, 5197=>732, 5198=>732, 5199=>732, 5200=>730, 5201=>730, 5202=>730, 5204=>730, 5205=>730, 5206=>730, 5207=>921, 5208=>889,
5209=>921, 5210=>889, 5211=>921, 5212=>889, 5213=>928, 5214=>900, 5215=>928, 5216=>900, 5217=>947, 5218=>900, 5219=>947, 5220=>900, 5221=>947, 5222=>434, 5223=>877, 5224=>877,
5225=>866, 5226=>890, 5227=>628, 5228=>628, 5229=>628, 5230=>628, 5231=>628, 5232=>694, 5233=>628, 5234=>628, 5235=>628, 5236=>860, 5237=>771, 5238=>815, 5239=>816, 5240=>815,
5241=>816, 5242=>860, 5243=>771, 5244=>860, 5245=>771, 5246=>815, 5247=>816, 5248=>815, 5249=>816, 5250=>815, 5251=>407, 5252=>407, 5253=>750, 5254=>775, 5255=>750, 5256=>775,
5257=>628, 5258=>628, 5259=>628, 5260=>628, 5261=>628, 5262=>628, 5263=>628, 5264=>628, 5265=>628, 5266=>860, 5267=>771, 5268=>815, 5269=>816, 5270=>815, 5271=>816, 5272=>860,
5273=>771, 5274=>860, 5275=>771, 5276=>815, 5277=>816, 5278=>815, 5279=>816, 5280=>815, 5281=>435, 5282=>435, 5283=>610, 5284=>557, 5285=>557, 5286=>557, 5287=>610, 5288=>522,
5289=>610, 5290=>557, 5291=>557, 5292=>749, 5293=>769, 5294=>746, 5295=>764, 5296=>746, 5297=>764, 5298=>749, 5299=>769, 5300=>749, 5301=>769, 5302=>746, 5303=>764, 5304=>746,
5305=>764, 5306=>746, 5307=>386, 5308=>508, 5309=>386, 5312=>852, 5313=>852, 5314=>852, 5315=>823, 5316=>852, 5317=>852, 5318=>852, 5319=>852, 5320=>852, 5321=>1069, 5322=>1035,
5323=>1059, 5324=>852, 5325=>1059, 5326=>852, 5327=>852, 5328=>600, 5329=>453, 5330=>600, 5331=>852, 5332=>852, 5333=>852, 5334=>852, 5335=>852, 5336=>852, 5337=>852, 5338=>852,
5339=>852, 5340=>1069, 5341=>1035, 5342=>1059, 5343=>1030, 5344=>1059, 5345=>1030, 5346=>1069, 5347=>1035, 5348=>1069, 5349=>1035, 5350=>1083, 5351=>1030, 5352=>1083, 5353=>1030, 5354=>600,
5356=>729, 5357=>603, 5358=>603, 5359=>603, 5360=>603, 5361=>603, 5362=>661, 5363=>603, 5364=>603, 5365=>603, 5366=>834, 5367=>754, 5368=>792, 5369=>771, 5370=>792, 5371=>771,
5372=>834, 5373=>754, 5374=>834, 5375=>754, 5376=>792, 5377=>771, 5378=>792, 5379=>771, 5380=>792, 5381=>418, 5382=>420, 5383=>418, 5392=>712, 5393=>712, 5394=>712, 5395=>892,
5396=>892, 5397=>892, 5398=>892, 5399=>910, 5400=>872, 5401=>910, 5402=>872, 5403=>910, 5404=>872, 5405=>1140, 5406=>1100, 5407=>1140, 5408=>1100, 5409=>1140, 5410=>1100, 5411=>1140,
5412=>1100, 5413=>641, 5414=>627, 5415=>627, 5416=>627, 5417=>627, 5418=>627, 5419=>667, 5420=>627, 5421=>627, 5422=>627, 5423=>844, 5424=>781, 5425=>816, 5426=>818, 5427=>816,
5428=>818, 5429=>844, 5430=>781, 5431=>844, 5432=>781, 5433=>816, 5434=>818, 5435=>816, 5436=>818, 5437=>816, 5438=>418, 5440=>389, 5441=>484, 5442=>916, 5443=>916, 5444=>916,
5445=>916, 5446=>916, 5447=>916, 5448=>603, 5449=>603, 5450=>603, 5451=>603, 5452=>603, 5453=>603, 5454=>834, 5455=>754, 5456=>418, 5458=>729, 5459=>684, 5460=>684, 5461=>684,
5462=>684, 5463=>726, 5464=>726, 5465=>726, 5466=>726, 5467=>924, 5468=>1007, 5469=>508, 5470=>732, 5471=>732, 5472=>732, 5473=>732, 5474=>732, 5475=>732, 5476=>730, 5477=>730,
5478=>730, 5479=>730, 5480=>947, 5481=>900, 5482=>508, 5492=>831, 5493=>831, 5494=>831, 5495=>831, 5496=>831, 5497=>831, 5498=>831, 5499=>563, 5500=>752, 5501=>484, 5502=>1047,
5503=>1047, 5504=>1047, 5505=>1047, 5506=>1047, 5507=>1047, 5508=>1047, 5509=>825, 5514=>831, 5515=>831, 5516=>831, 5517=>831, 5518=>1259, 5519=>1259, 5520=>1259, 5521=>1002, 5522=>1002,
5523=>1259, 5524=>1259, 5525=>700, 5526=>1073, 5536=>852, 5537=>852, 5538=>852, 5539=>852, 5540=>852, 5541=>852, 5542=>600, 5543=>643, 5544=>643, 5545=>643, 5546=>643, 5547=>643,
5548=>643, 5549=>643, 5550=>418, 5551=>628, 5598=>770, 5601=>767, 5702=>468, 5703=>468, 5742=>444, 5743=>1047, 5744=>1310, 5745=>1632, 5746=>1632, 5747=>1375, 5748=>1375, 5749=>1632,
5750=>1632, 7424=>592, 7425=>717, 7426=>982, 7427=>586, 7428=>550, 7429=>605, 7430=>605, 7431=>491, 7432=>541, 7433=>278, 7434=>395, 7435=>579, 7436=>583, 7437=>754, 7438=>650,
7439=>612, 7440=>550, 7441=>684, 7442=>684, 7443=>684, 7444=>1023, 7446=>612, 7447=>612, 7448=>524, 7449=>602, 7450=>602, 7451=>583, 7452=>574, 7453=>737, 7454=>948, 7455=>638,
7456=>592, 7457=>818, 7458=>525, 7459=>526, 7462=>583, 7463=>592, 7464=>564, 7465=>524, 7466=>590, 7467=>639, 7468=>431, 7469=>613, 7470=>432, 7472=>485, 7473=>398, 7474=>398,
7475=>488, 7476=>474, 7477=>186, 7478=>186, 7479=>413, 7480=>351, 7481=>543, 7482=>471, 7483=>471, 7484=>496, 7485=>439, 7486=>380, 7487=>438, 7488=>385, 7489=>461, 7490=>623,
7491=>392, 7492=>392, 7493=>405, 7494=>648, 7495=>428, 7496=>405, 7497=>417, 7498=>417, 7499=>360, 7500=>359, 7501=>405, 7502=>179, 7503=>426, 7504=>623, 7505=>409, 7506=>414,
7507=>370, 7508=>414, 7509=>414, 7510=>428, 7511=>295, 7512=>405, 7513=>470, 7514=>623, 7515=>417, 7517=>402, 7518=>373, 7519=>385, 7520=>416, 7521=>364, 7522=>179, 7523=>259,
7524=>405, 7525=>417, 7526=>402, 7527=>373, 7528=>385, 7529=>416, 7530=>364, 7543=>635, 7544=>474, 7547=>372, 7557=>278, 7579=>405, 7580=>370, 7581=>370, 7582=>414, 7583=>360,
7584=>296, 7585=>233, 7586=>405, 7587=>405, 7588=>261, 7589=>250, 7590=>261, 7591=>261, 7592=>234, 7593=>250, 7594=>235, 7595=>376, 7596=>623, 7597=>623, 7598=>411, 7599=>479,
7600=>409, 7601=>414, 7602=>414, 7603=>360, 7604=>287, 7605=>295, 7606=>508, 7607=>418, 7608=>361, 7609=>406, 7610=>417, 7611=>366, 7612=>437, 7613=>366, 7614=>392, 7615=>414,
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>684, 7681=>613, 7682=>686, 7683=>635, 7684=>686, 7685=>635, 7686=>686, 7687=>635, 7688=>698, 7689=>550,
7690=>770, 7691=>635, 7692=>770, 7693=>635, 7694=>770, 7695=>635, 7696=>770, 7697=>635, 7698=>770, 7699=>635, 7700=>632, 7701=>615, 7702=>632, 7703=>615, 7704=>632, 7705=>615,
7706=>632, 7707=>615, 7708=>632, 7709=>615, 7710=>575, 7711=>352, 7712=>775, 7713=>635, 7714=>752, 7715=>634, 7716=>752, 7717=>634, 7718=>752, 7719=>634, 7720=>752, 7721=>634,
7722=>752, 7723=>634, 7724=>295, 7725=>278, 7726=>295, 7727=>278, 7728=>656, 7729=>579, 7730=>656, 7731=>579, 7732=>656, 7733=>579, 7734=>557, 7735=>288, 7736=>557, 7737=>288,
7738=>557, 7739=>278, 7740=>557, 7741=>278, 7742=>863, 7743=>974, 7744=>863, 7745=>974, 7746=>863, 7747=>974, 7748=>748, 7749=>634, 7750=>748, 7751=>634, 7752=>748, 7753=>634,
7754=>748, 7755=>634, 7756=>787, 7757=>612, 7758=>787, 7759=>612, 7760=>787, 7761=>612, 7762=>787, 7763=>612, 7764=>603, 7765=>635, 7766=>603, 7767=>635, 7768=>695, 7769=>411,
7770=>695, 7771=>411, 7772=>695, 7773=>411, 7774=>695, 7775=>411, 7776=>635, 7777=>521, 7778=>635, 7779=>521, 7780=>635, 7781=>521, 7782=>635, 7783=>521, 7784=>635, 7785=>521,
7786=>611, 7787=>392, 7788=>611, 7789=>392, 7790=>611, 7791=>392, 7792=>611, 7793=>392, 7794=>732, 7795=>634, 7796=>732, 7797=>634, 7798=>732, 7799=>634, 7800=>732, 7801=>634,
7802=>732, 7803=>634, 7804=>684, 7805=>592, 7806=>684, 7807=>592, 7808=>989, 7809=>818, 7810=>989, 7811=>818, 7812=>989, 7813=>818, 7814=>989, 7815=>818, 7816=>989, 7817=>818,
7818=>685, 7819=>592, 7820=>685, 7821=>592, 7822=>611, 7823=>592, 7824=>685, 7825=>525, 7826=>685, 7827=>525, 7828=>685, 7829=>525, 7830=>634, 7831=>392, 7832=>818, 7833=>592,
7834=>613, 7835=>352, 7840=>684, 7841=>613, 7842=>684, 7843=>613, 7844=>684, 7845=>613, 7846=>684, 7847=>613, 7848=>684, 7849=>613, 7850=>684, 7851=>613, 7852=>684, 7853=>613,
7854=>684, 7855=>613, 7856=>684, 7857=>613, 7858=>684, 7859=>613, 7860=>684, 7861=>613, 7862=>684, 7863=>613, 7864=>632, 7865=>615, 7866=>632, 7867=>615, 7868=>632, 7869=>615,
7870=>632, 7871=>615, 7872=>632, 7873=>615, 7874=>632, 7875=>615, 7876=>632, 7877=>615, 7878=>632, 7879=>615, 7880=>295, 7881=>278, 7882=>295, 7883=>278, 7884=>787, 7885=>612,
7886=>787, 7887=>612, 7888=>787, 7889=>612, 7890=>787, 7891=>612, 7892=>787, 7893=>612, 7894=>787, 7895=>612, 7896=>787, 7897=>612, 7898=>913, 7899=>612, 7900=>913, 7901=>612,
7902=>913, 7903=>612, 7904=>913, 7905=>612, 7906=>913, 7907=>612, 7908=>732, 7909=>634, 7910=>732, 7911=>634, 7912=>858, 7913=>634, 7914=>858, 7915=>634, 7916=>858, 7917=>634,
7918=>858, 7919=>634, 7920=>858, 7921=>634, 7922=>611, 7923=>592, 7924=>611, 7925=>592, 7926=>611, 7927=>592, 7928=>611, 7929=>592, 7936=>659, 7937=>659, 7938=>659, 7939=>659,
7940=>659, 7941=>659, 7942=>659, 7943=>659, 7944=>684, 7945=>684, 7946=>877, 7947=>877, 7948=>769, 7949=>801, 7950=>708, 7951=>743, 7952=>541, 7953=>541, 7954=>541, 7955=>541,
7956=>541, 7957=>541, 7960=>711, 7961=>711, 7962=>966, 7963=>975, 7964=>898, 7965=>928, 7968=>634, 7969=>634, 7970=>634, 7971=>634, 7972=>634, 7973=>634, 7974=>634, 7975=>634,
7976=>837, 7977=>835, 7978=>1086, 7979=>1089, 7980=>1027, 7981=>1051, 7982=>934, 7983=>947, 7984=>338, 7985=>338, 7986=>338, 7987=>338, 7988=>338, 7989=>338, 7990=>338, 7991=>338,
7992=>380, 7993=>374, 7994=>635, 7995=>635, 7996=>570, 7997=>600, 7998=>489, 7999=>493, 8000=>612, 8001=>612, 8002=>612, 8003=>612, 8004=>612, 8005=>612, 8008=>804, 8009=>848,
8010=>1095, 8011=>1100, 8012=>938, 8013=>970, 8016=>579, 8017=>579, 8018=>579, 8019=>579, 8020=>579, 8021=>579, 8022=>579, 8023=>579, 8025=>784, 8027=>998, 8029=>1012, 8031=>897,
8032=>837, 8033=>837, 8034=>837, 8035=>837, 8036=>837, 8037=>837, 8038=>837, 8039=>837, 8040=>802, 8041=>843, 8042=>1089, 8043=>1095, 8044=>946, 8045=>972, 8046=>921, 8047=>952,
8048=>659, 8049=>659, 8050=>541, 8051=>548, 8052=>634, 8053=>654, 8054=>338, 8055=>338, 8056=>612, 8057=>612, 8058=>579, 8059=>579, 8060=>837, 8061=>837, 8064=>659, 8065=>659,
8066=>659, 8067=>659, 8068=>659, 8069=>659, 8070=>659, 8071=>659, 8072=>684, 8073=>684, 8074=>877, 8075=>877, 8076=>769, 8077=>801, 8078=>708, 8079=>743, 8080=>634, 8081=>634,
8082=>634, 8083=>634, 8084=>634, 8085=>634, 8086=>634, 8087=>634, 8088=>837, 8089=>835, 8090=>1086, 8091=>1089, 8092=>1027, 8093=>1051, 8094=>934, 8095=>947, 8096=>837, 8097=>837,
8098=>837, 8099=>837, 8100=>837, 8101=>837, 8102=>837, 8103=>837, 8104=>802, 8105=>843, 8106=>1089, 8107=>1095, 8108=>946, 8109=>972, 8110=>921, 8111=>952, 8112=>659, 8113=>659,
8114=>659, 8115=>659, 8116=>659, 8118=>659, 8119=>659, 8120=>684, 8121=>684, 8122=>716, 8123=>692, 8124=>684, 8125=>500, 8126=>500, 8127=>500, 8128=>500, 8129=>500, 8130=>634,
8131=>634, 8132=>654, 8134=>634, 8135=>634, 8136=>805, 8137=>746, 8138=>931, 8139=>871, 8140=>752, 8141=>500, 8142=>500, 8143=>500, 8144=>338, 8145=>338, 8146=>338, 8147=>338,
8150=>338, 8151=>338, 8152=>295, 8153=>295, 8154=>475, 8155=>408, 8157=>500, 8158=>500, 8159=>500, 8160=>579, 8161=>579, 8162=>579, 8163=>579, 8164=>635, 8165=>635, 8166=>579,
8167=>579, 8168=>611, 8169=>611, 8170=>845, 8171=>825, 8172=>685, 8173=>500, 8174=>500, 8175=>500, 8178=>837, 8179=>837, 8180=>837, 8182=>837, 8183=>837, 8184=>941, 8185=>813,
8186=>922, 8187=>826, 8188=>764, 8189=>500, 8190=>500, 8192=>500, 8193=>1000, 8194=>500, 8195=>1000, 8196=>330, 8197=>250, 8198=>167, 8199=>636, 8200=>318, 8201=>200, 8202=>100,
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>361, 8209=>361, 8210=>636, 8213=>1000, 8214=>500, 8215=>500, 8219=>318, 8223=>518, 8227=>590, 8228=>334, 8229=>667,
8231=>318, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>200, 8241=>1735, 8242=>227, 8243=>374, 8244=>520, 8245=>227, 8246=>374, 8247=>520, 8248=>339, 8251=>838,
8252=>485, 8253=>531, 8254=>500, 8255=>804, 8256=>804, 8257=>250, 8258=>1000, 8259=>500, 8260=>167, 8261=>390, 8262=>390, 8263=>922, 8264=>733, 8265=>733, 8266=>497, 8267=>636,
8268=>500, 8269=>500, 8270=>500, 8271=>337, 8272=>804, 8273=>500, 8274=>450, 8275=>838, 8276=>804, 8277=>838, 8278=>586, 8279=>663, 8280=>838, 8281=>838, 8282=>318, 8283=>797,
8284=>838, 8285=>318, 8286=>318, 8287=>222, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>401, 8305=>179,
8308=>401, 8309=>401, 8310=>401, 8311=>401, 8312=>401, 8313=>401, 8314=>528, 8315=>528, 8316=>528, 8317=>246, 8318=>246, 8319=>398, 8320=>401, 8321=>401, 8322=>401, 8323=>401,
8324=>401, 8325=>401, 8326=>401, 8327=>401, 8328=>401, 8329=>401, 8330=>528, 8331=>528, 8332=>528, 8333=>246, 8334=>246, 8336=>392, 8337=>417, 8338=>414, 8339=>444, 8340=>417,
8352=>877, 8353=>636, 8354=>636, 8355=>636, 8356=>636, 8357=>974, 8358=>748, 8359=>1272, 8360=>1074, 8361=>989, 8362=>784, 8363=>636, 8365=>636, 8366=>636, 8367=>1272, 8368=>636,
8369=>636, 8370=>636, 8371=>636, 8372=>774, 8373=>641, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>1019, 8449=>1019, 8450=>698, 8451=>1123, 8452=>642, 8453=>1019, 8454=>1067,
8455=>614, 8456=>698, 8457=>952, 8459=>988, 8460=>754, 8461=>850, 8462=>634, 8463=>634, 8464=>470, 8465=>697, 8466=>720, 8467=>413, 8468=>818, 8469=>801, 8470=>1040, 8471=>1000,
8472=>697, 8473=>702, 8474=>787, 8475=>798, 8476=>814, 8477=>792, 8478=>896, 8479=>684, 8480=>1020, 8481=>1074, 8483=>684, 8484=>745, 8485=>578, 8486=>764, 8487=>764, 8488=>616,
8489=>338, 8490=>656, 8491=>684, 8492=>786, 8493=>703, 8494=>854, 8495=>592, 8496=>605, 8497=>786, 8498=>575, 8499=>1069, 8500=>462, 8501=>745, 8502=>674, 8503=>469, 8504=>648,
8505=>380, 8506=>926, 8507=>1194, 8508=>702, 8509=>728, 8510=>655, 8511=>849, 8512=>811, 8513=>775, 8514=>557, 8515=>557, 8516=>611, 8517=>819, 8518=>708, 8519=>615, 8520=>351,
8521=>351, 8523=>780, 8526=>526, 8531=>969, 8532=>969, 8533=>969, 8534=>969, 8535=>969, 8536=>969, 8537=>969, 8538=>969, 8539=>969, 8540=>969, 8541=>969, 8542=>969, 8543=>568,
8544=>295, 8545=>492, 8546=>689, 8547=>923, 8548=>684, 8549=>922, 8550=>1120, 8551=>1317, 8552=>917, 8553=>685, 8554=>933, 8555=>1131, 8556=>557, 8557=>698, 8558=>770, 8559=>863,
8560=>278, 8561=>458, 8562=>637, 8563=>812, 8564=>592, 8565=>811, 8566=>991, 8567=>1170, 8568=>819, 8569=>592, 8570=>822, 8571=>1002, 8572=>278, 8573=>550, 8574=>635, 8575=>974,
8576=>1245, 8577=>770, 8578=>1245, 8579=>703, 8580=>549, 8592=>838, 8593=>838, 8594=>838, 8595=>838, 8596=>838, 8597=>838, 8598=>838, 8599=>838, 8600=>838, 8601=>838, 8602=>838,
8603=>838, 8604=>838, 8605=>838, 8606=>838, 8607=>838, 8608=>838, 8609=>838, 8610=>838, 8611=>838, 8612=>838, 8613=>838, 8614=>838, 8615=>838, 8616=>838, 8617=>838, 8618=>838,
8619=>838, 8620=>838, 8621=>838, 8622=>838, 8623=>838, 8624=>838, 8625=>838, 8626=>838, 8627=>838, 8628=>838, 8629=>838, 8630=>838, 8631=>838, 8632=>838, 8633=>838, 8634=>838,
8635=>838, 8636=>838, 8637=>838, 8638=>838, 8639=>838, 8640=>838, 8641=>838, 8642=>838, 8643=>838, 8644=>838, 8645=>838, 8646=>838, 8647=>838, 8648=>838, 8649=>838, 8650=>838,
8651=>838, 8652=>838, 8653=>838, 8654=>838, 8655=>838, 8656=>838, 8657=>838, 8658=>838, 8659=>838, 8660=>838, 8661=>838, 8662=>838, 8663=>838, 8664=>838, 8665=>838, 8666=>838,
8667=>838, 8668=>838, 8669=>838, 8670=>838, 8671=>838, 8672=>838, 8673=>838, 8674=>838, 8675=>838, 8676=>838, 8677=>838, 8678=>838, 8679=>838, 8680=>838, 8681=>838, 8682=>838,
8683=>838, 8684=>838, 8685=>838, 8686=>838, 8687=>838, 8688=>838, 8689=>838, 8690=>838, 8691=>838, 8692=>838, 8693=>838, 8694=>838, 8695=>838, 8696=>838, 8697=>838, 8698=>838,
8699=>838, 8700=>838, 8701=>838, 8702=>838, 8703=>838, 8704=>684, 8705=>636, 8706=>517, 8707=>632, 8708=>632, 8709=>871, 8710=>669, 8711=>669, 8712=>871, 8713=>871, 8714=>718,
8715=>871, 8716=>871, 8717=>718, 8718=>636, 8719=>757, 8720=>757, 8721=>674, 8722=>838, 8723=>838, 8724=>838, 8725=>167, 8726=>637, 8727=>838, 8728=>626, 8729=>318, 8730=>637,
8731=>637, 8732=>637, 8733=>677, 8734=>833, 8735=>838, 8736=>896, 8737=>896, 8738=>838, 8739=>500, 8740=>500, 8741=>500, 8742=>500, 8743=>732, 8744=>732, 8745=>732, 8746=>732,
8747=>521, 8748=>789, 8749=>1057, 8750=>521, 8751=>789, 8752=>1057, 8753=>521, 8754=>521, 8755=>521, 8756=>636, 8757=>636, 8758=>260, 8759=>636, 8760=>838, 8761=>838, 8762=>838,
8763=>838, 8764=>838, 8765=>838, 8766=>838, 8767=>838, 8768=>375, 8769=>838, 8770=>838, 8771=>838, 8772=>838, 8773=>838, 8774=>838, 8775=>838, 8776=>838, 8777=>838, 8778=>838,
8779=>838, 8780=>838, 8781=>838, 8782=>838, 8783=>838, 8784=>838, 8785=>838, 8786=>839, 8787=>839, 8788=>1000, 8789=>1000, 8790=>838, 8791=>838, 8792=>838, 8793=>838, 8794=>838,
8795=>838, 8796=>838, 8797=>838, 8798=>838, 8799=>838, 8800=>838, 8801=>838, 8802=>838, 8803=>838, 8804=>838, 8805=>838, 8806=>838, 8807=>838, 8808=>838, 8809=>838, 8810=>1047,
8811=>1047, 8812=>464, 8813=>838, 8814=>838, 8815=>838, 8816=>838, 8817=>838, 8818=>838, 8819=>838, 8820=>838, 8821=>838, 8822=>838, 8823=>838, 8824=>838, 8825=>838, 8826=>838,
8827=>838, 8828=>838, 8829=>838, 8830=>838, 8831=>838, 8832=>838, 8833=>838, 8834=>838, 8835=>838, 8836=>838, 8837=>838, 8838=>838, 8839=>838, 8840=>838, 8841=>838, 8842=>838,
8843=>838, 8844=>732, 8845=>732, 8846=>732, 8847=>838, 8848=>838, 8849=>838, 8850=>838, 8851=>722, 8852=>722, 8853=>838, 8854=>838, 8855=>838, 8856=>838, 8857=>838, 8858=>838,
8859=>838, 8860=>838, 8861=>838, 8862=>838, 8863=>838, 8864=>838, 8865=>838, 8866=>871, 8867=>871, 8868=>871, 8869=>871, 8870=>521, 8871=>521, 8872=>871, 8873=>871, 8874=>871,
8875=>871, 8876=>871, 8877=>871, 8878=>871, 8879=>871, 8882=>838, 8883=>838, 8884=>838, 8885=>838, 8886=>1000, 8887=>1000, 8888=>838, 8889=>838, 8890=>521, 8891=>732, 8892=>732,
8893=>732, 8896=>820, 8897=>820, 8898=>820, 8899=>820, 8900=>494, 8901=>318, 8902=>626, 8904=>1000, 8905=>1000, 8906=>1000, 8907=>1000, 8908=>1000, 8909=>838, 8918=>838, 8919=>838,
8920=>1422, 8921=>1422, 8922=>838, 8923=>838, 8924=>838, 8925=>838, 8926=>838, 8927=>838, 8928=>838, 8929=>838, 8930=>838, 8931=>838, 8932=>838, 8933=>838, 8934=>838, 8935=>838,
8936=>838, 8937=>838, 8938=>838, 8939=>838, 8940=>838, 8941=>838, 8946=>1000, 8947=>871, 8948=>718, 8949=>871, 8950=>871, 8951=>718, 8952=>871, 8953=>871, 8954=>1000, 8955=>871,
8956=>718, 8957=>871, 8958=>718, 8959=>871, 8962=>635, 8966=>871, 8968=>390, 8969=>390, 8970=>390, 8971=>390, 8976=>838, 8977=>513, 8984=>1000, 8985=>838, 8992=>521, 8993=>521,
8997=>1000, 9000=>1443, 9085=>757, 9115=>500, 9116=>500, 9117=>500, 9118=>500, 9119=>500, 9120=>500, 9121=>500, 9122=>500, 9123=>500, 9124=>500, 9125=>500, 9126=>500, 9127=>750,
9128=>750, 9129=>750, 9130=>750, 9131=>750, 9132=>750, 9133=>750, 9134=>521, 9166=>838, 9167=>945, 9250=>635, 9251=>635, 9312=>896, 9313=>896, 9314=>896, 9315=>896, 9316=>896,
9317=>896, 9318=>896, 9319=>896, 9320=>896, 9321=>896, 9600=>769, 9601=>769, 9602=>769, 9603=>769, 9604=>769, 9605=>769, 9606=>769, 9607=>769, 9608=>769, 9609=>769, 9610=>769,
9611=>769, 9612=>769, 9613=>769, 9614=>769, 9615=>769, 9616=>769, 9617=>769, 9618=>769, 9619=>769, 9620=>769, 9621=>769, 9622=>769, 9623=>769, 9624=>769, 9625=>769, 9626=>769,
9627=>769, 9628=>769, 9629=>769, 9630=>769, 9631=>769, 9632=>945, 9633=>945, 9634=>945, 9635=>945, 9636=>945, 9637=>945, 9638=>945, 9639=>945, 9640=>945, 9641=>945, 9642=>678,
9643=>678, 9644=>945, 9645=>945, 9646=>550, 9647=>550, 9648=>769, 9649=>769, 9650=>769, 9651=>769, 9652=>502, 9653=>502, 9654=>769, 9655=>769, 9656=>502, 9657=>502, 9658=>769,
9659=>769, 9660=>769, 9661=>769, 9662=>502, 9663=>502, 9664=>769, 9665=>769, 9666=>502, 9667=>502, 9668=>769, 9669=>769, 9670=>769, 9671=>769, 9672=>769, 9673=>873, 9674=>494,
9675=>873, 9676=>873, 9677=>873, 9678=>873, 9679=>873, 9680=>873, 9681=>873, 9682=>873, 9683=>873, 9684=>873, 9685=>873, 9686=>527, 9687=>527, 9688=>791, 9689=>970, 9690=>970,
9691=>970, 9692=>387, 9693=>387, 9694=>387, 9695=>387, 9696=>873, 9697=>873, 9698=>769, 9699=>769, 9700=>769, 9701=>769, 9702=>590, 9703=>945, 9704=>945, 9705=>945, 9706=>945,
9707=>945, 9708=>769, 9709=>769, 9710=>769, 9711=>1119, 9712=>945, 9713=>945, 9714=>945, 9715=>945, 9716=>873, 9717=>873, 9718=>873, 9719=>873, 9720=>769, 9721=>769, 9722=>769,
9723=>830, 9724=>830, 9725=>732, 9726=>732, 9727=>769, 9728=>896, 9729=>1000, 9730=>896, 9731=>896, 9732=>896, 9733=>896, 9734=>896, 9735=>573, 9736=>896, 9737=>896, 9738=>888,
9739=>888, 9740=>671, 9741=>1013, 9742=>1246, 9743=>1250, 9744=>896, 9745=>896, 9746=>896, 9747=>532, 9748=>896, 9749=>896, 9750=>896, 9751=>896, 9752=>896, 9753=>896, 9754=>896,
9755=>896, 9756=>896, 9757=>609, 9758=>896, 9759=>609, 9760=>896, 9761=>896, 9762=>896, 9763=>896, 9764=>669, 9765=>746, 9766=>649, 9767=>784, 9768=>545, 9769=>896, 9770=>896,
9771=>896, 9772=>710, 9773=>896, 9774=>896, 9775=>896, 9776=>896, 9777=>896, 9778=>896, 9779=>896, 9780=>896, 9781=>896, 9782=>896, 9783=>896, 9784=>896, 9785=>896, 9786=>896,
9787=>896, 9788=>896, 9789=>896, 9790=>896, 9791=>614, 9792=>731, 9793=>731, 9794=>896, 9795=>896, 9796=>896, 9797=>896, 9798=>896, 9799=>896, 9800=>896, 9801=>896, 9802=>896,
9803=>896, 9804=>896, 9805=>896, 9806=>896, 9807=>896, 9808=>896, 9809=>896, 9810=>896, 9811=>896, 9812=>896, 9813=>896, 9814=>896, 9815=>896, 9816=>896, 9817=>896, 9818=>896,
9819=>896, 9820=>896, 9821=>896, 9822=>896, 9823=>896, 9824=>896, 9825=>896, 9826=>896, 9827=>896, 9828=>896, 9829=>896, 9830=>896, 9831=>896, 9832=>896, 9833=>472, 9834=>638,
9835=>896, 9836=>896, 9837=>472, 9838=>357, 9839=>484, 9840=>748, 9841=>766, 9842=>896, 9843=>896, 9844=>896, 9845=>896, 9846=>896, 9847=>896, 9848=>896, 9849=>896, 9850=>896,
9851=>896, 9852=>896, 9853=>896, 9854=>896, 9855=>896, 9856=>869, 9857=>869, 9858=>869, 9859=>869, 9860=>869, 9861=>869, 9862=>896, 9863=>896, 9864=>896, 9865=>896, 9866=>896,
9867=>896, 9868=>896, 9869=>896, 9870=>896, 9871=>896, 9872=>896, 9873=>896, 9874=>896, 9875=>896, 9876=>896, 9877=>541, 9878=>896, 9879=>896, 9880=>896, 9881=>896, 9882=>896,
9883=>896, 9884=>896, 9888=>896, 9889=>702, 9890=>838, 9891=>838, 9892=>838, 9893=>838, 9894=>838, 9895=>838, 9896=>838, 9897=>838, 9898=>838, 9899=>838, 9900=>838, 9901=>838,
9902=>838, 9903=>838, 9904=>844, 9905=>838, 9906=>731, 9985=>838, 9986=>838, 9987=>838, 9988=>838, 9990=>838, 9991=>838, 9992=>838, 9993=>838, 9996=>838, 9997=>838, 9998=>838,
9999=>838, 10000=>838, 10001=>838, 10002=>838, 10003=>838, 10004=>838, 10005=>838, 10006=>838, 10007=>838, 10008=>838, 10009=>838, 10010=>838, 10011=>838, 10012=>838, 10013=>838, 10014=>838,
10015=>838, 10016=>838, 10017=>838, 10018=>838, 10019=>838, 10020=>838, 10021=>838, 10022=>838, 10023=>838, 10025=>838, 10026=>838, 10027=>838, 10028=>838, 10029=>838, 10030=>838, 10031=>838,
10032=>838, 10033=>838, 10034=>838, 10035=>838, 10036=>838, 10037=>838, 10038=>838, 10039=>838, 10040=>838, 10041=>838, 10042=>838, 10043=>838, 10044=>838, 10045=>838, 10046=>838, 10047=>838,
10048=>838, 10049=>838, 10050=>838, 10051=>838, 10052=>838, 10053=>838, 10054=>838, 10055=>838, 10056=>838, 10057=>838, 10058=>838, 10059=>838, 10061=>896, 10063=>896, 10064=>896, 10065=>896,
10066=>896, 10070=>896, 10072=>838, 10073=>838, 10074=>838, 10075=>322, 10076=>322, 10077=>538, 10078=>538, 10081=>838, 10082=>838, 10083=>838, 10084=>838, 10085=>838, 10086=>838, 10087=>838,
10088=>838, 10089=>838, 10090=>838, 10091=>838, 10092=>838, 10093=>838, 10094=>838, 10095=>838, 10096=>838, 10097=>838, 10098=>838, 10099=>838, 10100=>838, 10101=>838, 10102=>896, 10103=>896,
10104=>896, 10105=>896, 10106=>896, 10107=>896, 10108=>896, 10109=>896, 10110=>896, 10111=>896, 10112=>838, 10113=>838, 10114=>838, 10115=>838, 10116=>838, 10117=>838, 10118=>838, 10119=>838,
10120=>838, 10121=>838, 10122=>838, 10123=>838, 10124=>838, 10125=>838, 10126=>838, 10127=>838, 10128=>838, 10129=>838, 10130=>838, 10131=>838, 10132=>838, 10136=>838, 10137=>838, 10138=>838,
10139=>838, 10140=>838, 10141=>838, 10142=>838, 10143=>838, 10144=>838, 10145=>838, 10146=>838, 10147=>838, 10148=>838, 10149=>838, 10150=>838, 10151=>838, 10152=>838, 10153=>838, 10154=>838,
10155=>838, 10156=>838, 10157=>838, 10158=>838, 10159=>838, 10161=>838, 10162=>838, 10163=>838, 10164=>838, 10165=>838, 10166=>838, 10167=>838, 10168=>838, 10169=>838, 10170=>838, 10171=>838,
10172=>838, 10173=>838, 10174=>838, 10208=>494, 10214=>495, 10215=>495, 10216=>390, 10217=>390, 10218=>556, 10219=>556, 10224=>838, 10225=>838, 10226=>838, 10227=>838, 10228=>1157, 10229=>1434,
10230=>1434, 10231=>1434, 10232=>1434, 10233=>1434, 10234=>1434, 10235=>1434, 10236=>1434, 10237=>1434, 10238=>1434, 10239=>1434, 10240=>732, 10241=>732, 10242=>732, 10243=>732, 10244=>732, 10245=>732,
10246=>732, 10247=>732, 10248=>732, 10249=>732, 10250=>732, 10251=>732, 10252=>732, 10253=>732, 10254=>732, 10255=>732, 10256=>732, 10257=>732, 10258=>732, 10259=>732, 10260=>732, 10261=>732,
10262=>732, 10263=>732, 10264=>732, 10265=>732, 10266=>732, 10267=>732, 10268=>732, 10269=>732, 10270=>732, 10271=>732, 10272=>732, 10273=>732, 10274=>732, 10275=>732, 10276=>732, 10277=>732,
10278=>732, 10279=>732, 10280=>732, 10281=>732, 10282=>732, 10283=>732, 10284=>732, 10285=>732, 10286=>732, 10287=>732, 10288=>732, 10289=>732, 10290=>732, 10291=>732, 10292=>732, 10293=>732,
10294=>732, 10295=>732, 10296=>732, 10297=>732, 10298=>732, 10299=>732, 10300=>732, 10301=>732, 10302=>732, 10303=>732, 10304=>732, 10305=>732, 10306=>732, 10307=>732, 10308=>732, 10309=>732,
10310=>732, 10311=>732, 10312=>732, 10313=>732, 10314=>732, 10315=>732, 10316=>732, 10317=>732, 10318=>732, 10319=>732, 10320=>732, 10321=>732, 10322=>732, 10323=>732, 10324=>732, 10325=>732,
10326=>732, 10327=>732, 10328=>732, 10329=>732, 10330=>732, 10331=>732, 10332=>732, 10333=>732, 10334=>732, 10335=>732, 10336=>732, 10337=>732, 10338=>732, 10339=>732, 10340=>732, 10341=>732,
10342=>732, 10343=>732, 10344=>732, 10345=>732, 10346=>732, 10347=>732, 10348=>732, 10349=>732, 10350=>732, 10351=>732, 10352=>732, 10353=>732, 10354=>732, 10355=>732, 10356=>732, 10357=>732,
10358=>732, 10359=>732, 10360=>732, 10361=>732, 10362=>732, 10363=>732, 10364=>732, 10365=>732, 10366=>732, 10367=>732, 10368=>732, 10369=>732, 10370=>732, 10371=>732, 10372=>732, 10373=>732,
10374=>732, 10375=>732, 10376=>732, 10377=>732, 10378=>732, 10379=>732, 10380=>732, 10381=>732, 10382=>732, 10383=>732, 10384=>732, 10385=>732, 10386=>732, 10387=>732, 10388=>732, 10389=>732,
10390=>732, 10391=>732, 10392=>732, 10393=>732, 10394=>732, 10395=>732, 10396=>732, 10397=>732, 10398=>732, 10399=>732, 10400=>732, 10401=>732, 10402=>732, 10403=>732, 10404=>732, 10405=>732,
10406=>732, 10407=>732, 10408=>732, 10409=>732, 10410=>732, 10411=>732, 10412=>732, 10413=>732, 10414=>732, 10415=>732, 10416=>732, 10417=>732, 10418=>732, 10419=>732, 10420=>732, 10421=>732,
10422=>732, 10423=>732, 10424=>732, 10425=>732, 10426=>732, 10427=>732, 10428=>732, 10429=>732, 10430=>732, 10431=>732, 10432=>732, 10433=>732, 10434=>732, 10435=>732, 10436=>732, 10437=>732,
10438=>732, 10439=>732, 10440=>732, 10441=>732, 10442=>732, 10443=>732, 10444=>732, 10445=>732, 10446=>732, 10447=>732, 10448=>732, 10449=>732, 10450=>732, 10451=>732, 10452=>732, 10453=>732,
10454=>732, 10455=>732, 10456=>732, 10457=>732, 10458=>732, 10459=>732, 10460=>732, 10461=>732, 10462=>732, 10463=>732, 10464=>732, 10465=>732, 10466=>732, 10467=>732, 10468=>732, 10469=>732,
10470=>732, 10471=>732, 10472=>732, 10473=>732, 10474=>732, 10475=>732, 10476=>732, 10477=>732, 10478=>732, 10479=>732, 10480=>732, 10481=>732, 10482=>732, 10483=>732, 10484=>732, 10485=>732,
10486=>732, 10487=>732, 10488=>732, 10489=>732, 10490=>732, 10491=>732, 10492=>732, 10493=>732, 10494=>732, 10495=>732, 10502=>838, 10503=>838, 10506=>838, 10507=>838, 10560=>683, 10561=>683,
10702=>838, 10703=>1000, 10704=>1000, 10705=>1000, 10706=>1000, 10707=>1000, 10708=>1000, 10709=>1000, 10731=>494, 10752=>1000, 10753=>1000, 10754=>1000, 10764=>1325, 10765=>521, 10766=>521, 10767=>521,
10768=>521, 10769=>521, 10770=>521, 10771=>521, 10772=>521, 10773=>521, 10774=>521, 10775=>521, 10776=>521, 10777=>521, 10778=>521, 10779=>521, 10780=>521, 10877=>838, 10878=>838, 10879=>838,
10880=>838, 10881=>838, 10882=>838, 10883=>838, 10884=>838, 10885=>838, 10886=>838, 10887=>838, 10888=>838, 10889=>838, 10890=>838, 10891=>838, 10892=>838, 10893=>838, 10894=>838, 10895=>838,
10896=>838, 10897=>838, 10898=>838, 10899=>838, 10900=>838, 10901=>838, 10902=>838, 10903=>838, 10904=>838, 10905=>838, 10906=>838, 10907=>838, 10908=>838, 10909=>838, 10910=>838, 10911=>838,
10912=>838, 10926=>838, 10927=>838, 10928=>838, 10929=>838, 10930=>838, 10931=>838, 10932=>838, 10933=>838, 10934=>838, 10935=>838, 10936=>838, 10937=>838, 10938=>838, 11001=>838, 11002=>838,
11008=>838, 11009=>838, 11010=>838, 11011=>838, 11012=>838, 11013=>838, 11014=>838, 11015=>838, 11016=>838, 11017=>838, 11018=>838, 11019=>838, 11020=>838, 11021=>838, 11022=>836, 11023=>836,
11024=>836, 11025=>836, 11026=>945, 11027=>945, 11028=>945, 11029=>945, 11030=>769, 11031=>769, 11032=>769, 11033=>769, 11034=>945, 11040=>869, 11041=>873, 11042=>873, 11043=>873, 11360=>557,
11361=>278, 11362=>557, 11363=>603, 11364=>695, 11365=>613, 11366=>392, 11367=>752, 11368=>634, 11369=>656, 11370=>579, 11371=>685, 11372=>525, 11380=>592, 11381=>654, 11382=>568, 11383=>660,
61440=>977, 61441=>977, 61960=>781, 62047=>592, 63173=>612, 64256=>689, 64257=>630, 64258=>630, 64259=>967, 64260=>967, 64261=>686, 64262=>861, 64275=>1202, 64276=>1202, 64277=>1196, 64278=>1186,
64279=>1529, 64285=>296, 64287=>494, 64288=>636, 64297=>838, 64298=>799, 64299=>799, 64300=>799, 64301=>799, 64302=>663, 64303=>663, 64304=>663, 64305=>655, 64306=>454, 64307=>607, 64308=>690,
64309=>336, 64310=>437, 64312=>683, 64313=>336, 64314=>642, 64315=>666, 64316=>635, 64318=>736, 64320=>456, 64321=>771, 64323=>651, 64324=>666, 64326=>639, 64327=>688, 64328=>642, 64329=>799,
64330=>726, 64331=>272, 64332=>655, 64333=>666, 64334=>666, 64338=>941, 64339=>982, 64340=>278, 64341=>302, 64342=>941, 64343=>982, 64344=>278, 64345=>302, 64346=>941, 64347=>982, 64348=>278,
64349=>302, 64350=>941, 64351=>982, 64352=>278, 64353=>302, 64354=>941, 64355=>982, 64356=>278, 64357=>302, 64358=>941, 64359=>982, 64360=>278, 64361=>302, 64362=>1037, 64363=>1035, 64364=>478,
64365=>506, 64366=>1037, 64367=>1035, 64368=>478, 64369=>506, 64370=>646, 64371=>646, 64372=>618, 64373=>646, 64374=>646, 64375=>646, 64376=>618, 64377=>646, 64378=>646, 64379=>646, 64380=>618,
64381=>646, 64382=>646, 64383=>646, 64384=>618, 64385=>646, 64394=>483, 64395=>552, 64396=>483, 64397=>552, 64398=>895, 64399=>895, 64400=>476, 64401=>552, 64402=>895, 64403=>895, 64404=>476,
64405=>552, 64414=>734, 64415=>761, 64473=>483, 64474=>517, 64488=>278, 64489=>302, 64508=>783, 64509=>833, 64510=>278, 64511=>302, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0,
65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0, 65038=>0, 65039=>0, 65136=>293, 65137=>293, 65138=>293, 65139=>262, 65140=>293,
65142=>293, 65143=>293, 65144=>293, 65145=>293, 65146=>293, 65147=>293, 65148=>293, 65149=>293, 65150=>293, 65151=>293, 65152=>470, 65153=>278, 65154=>305, 65155=>278, 65156=>305, 65157=>483,
65158=>517, 65159=>278, 65160=>305, 65161=>783, 65162=>833, 65163=>278, 65164=>302, 65165=>278, 65166=>305, 65167=>941, 65168=>982, 65169=>278, 65170=>302, 65171=>524, 65172=>536, 65173=>941,
65174=>982, 65175=>278, 65176=>302, 65177=>941, 65178=>982, 65179=>278, 65180=>302, 65181=>646, 65182=>646, 65183=>618, 65184=>646, 65185=>646, 65186=>646, 65187=>618, 65188=>646, 65189=>646,
65190=>646, 65191=>618, 65192=>646, 65193=>445, 65194=>525, 65195=>445, 65196=>525, 65197=>483, 65198=>552, 65199=>483, 65200=>552, 65201=>1221, 65202=>1275, 65203=>838, 65204=>892, 65205=>1221,
65206=>1275, 65207=>838, 65208=>892, 65209=>1209, 65210=>1225, 65211=>849, 65212=>867, 65213=>1209, 65214=>1225, 65215=>849, 65216=>867, 65217=>925, 65218=>949, 65219=>796, 65220=>820, 65221=>925,
65222=>949, 65223=>796, 65224=>820, 65225=>597, 65226=>532, 65227=>597, 65228=>482, 65229=>597, 65230=>532, 65231=>523, 65232=>482, 65233=>1037, 65234=>1035, 65235=>478, 65236=>506, 65237=>776,
65238=>834, 65239=>478, 65240=>506, 65241=>824, 65242=>843, 65243=>476, 65244=>552, 65245=>727, 65246=>757, 65247=>305, 65248=>331, 65249=>619, 65250=>666, 65251=>536, 65252=>578, 65253=>734,
65254=>761, 65255=>278, 65256=>302, 65257=>524, 65258=>536, 65259=>527, 65260=>461, 65261=>483, 65262=>517, 65263=>783, 65264=>833, 65265=>783, 65266=>833, 65267=>278, 65268=>302, 65269=>570,
65270=>597, 65271=>570, 65272=>597, 65273=>570, 65274=>597, 65275=>570, 65276=>597, 65279=>0, 65533=>1025);
$enc='';
$diff='';
$file='DejaVuSans.z';
$ctg='DejaVuSans.ctg.z';
$originalsize=520788;
?>

View File

@@ -0,0 +1,287 @@
<?php
$type='TrueTypeUnicode';
$name='DejaVuSans-Bold';
$desc=array('Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-1069 -388 1975 1123]','ItalicAngle'=>0,'StemV'=>120,'MissingWidth'=>600);
$up=-42;
$ut=44;
$cw=array(
0=>600, 32=>348, 33=>456, 34=>521, 35=>838, 36=>696, 37=>1002, 38=>872, 39=>306, 40=>457, 41=>457, 42=>523, 43=>838, 44=>380, 45=>415, 46=>380,
47=>365, 48=>696, 49=>696, 50=>696, 51=>696, 52=>696, 53=>696, 54=>696, 55=>696, 56=>696, 57=>696, 58=>400, 59=>400, 60=>838, 61=>838, 62=>838,
63=>580, 64=>1000, 65=>774, 66=>762, 67=>734, 68=>830, 69=>683, 70=>683, 71=>821, 72=>837, 73=>372, 74=>372, 75=>775, 76=>637, 77=>995, 78=>837,
79=>850, 80=>733, 81=>850, 82=>770, 83=>720, 84=>682, 85=>812, 86=>774, 87=>1103, 88=>771, 89=>724, 90=>725, 91=>457, 92=>365, 93=>457, 94=>838,
95=>500, 96=>500, 97=>675, 98=>716, 99=>593, 100=>716, 101=>678, 102=>435, 103=>716, 104=>712, 105=>343, 106=>343, 107=>665, 108=>343, 109=>1042, 110=>712,
111=>687, 112=>716, 113=>716, 114=>493, 115=>595, 116=>478, 117=>712, 118=>652, 119=>924, 120=>645, 121=>652, 122=>582, 123=>712, 124=>365, 125=>712, 126=>838,
8364=>696, 1027=>637, 8218=>380, 402=>435, 8222=>657, 8230=>1000, 8224=>500, 8225=>500, 710=>500, 8240=>1440, 352=>720, 8249=>412, 338=>1167, 1036=>817, 381=>725, 1039=>837,
8216=>380, 8217=>380, 8220=>657, 8221=>657, 8226=>639, 8211=>500, 8212=>1000, 732=>500, 8482=>1000, 353=>595, 8250=>412, 339=>1094, 1116=>679, 382=>582, 376=>724, 160=>348,
161=>456, 162=>696, 163=>696, 164=>636, 165=>696, 166=>365, 167=>500, 168=>500, 169=>1000, 170=>564, 171=>646, 172=>838, 173=>415, 174=>1000, 175=>500, 176=>500,
177=>838, 178=>438, 179=>438, 180=>500, 181=>736, 182=>636, 183=>380, 184=>500, 185=>438, 186=>564, 187=>646, 188=>1035, 189=>1035, 190=>1035, 191=>580, 192=>774,
193=>774, 194=>774, 195=>774, 196=>774, 197=>774, 198=>1085, 199=>734, 200=>683, 201=>683, 202=>683, 203=>683, 204=>372, 205=>372, 206=>372, 207=>372, 208=>838,
209=>837, 210=>850, 211=>850, 212=>850, 213=>850, 214=>850, 215=>838, 216=>850, 217=>812, 218=>812, 219=>812, 220=>812, 221=>724, 222=>738, 223=>719, 224=>675,
225=>675, 226=>675, 227=>675, 228=>675, 229=>675, 230=>1048, 231=>593, 232=>678, 233=>678, 234=>678, 235=>678, 236=>343, 237=>343, 238=>343, 239=>343, 240=>687,
241=>712, 242=>687, 243=>687, 244=>687, 245=>687, 246=>687, 247=>838, 248=>687, 249=>712, 250=>712, 251=>712, 252=>712, 253=>652, 254=>716, 255=>652, 256=>774,
257=>675, 258=>774, 259=>675, 260=>774, 261=>675, 262=>734, 263=>593, 264=>734, 265=>593, 266=>734, 267=>593, 268=>734, 269=>593, 270=>830, 271=>716, 272=>838,
273=>716, 274=>683, 275=>678, 276=>683, 277=>678, 278=>683, 279=>678, 280=>683, 281=>678, 282=>683, 283=>678, 284=>821, 285=>716, 286=>821, 287=>716, 288=>821,
289=>716, 290=>821, 291=>716, 292=>837, 293=>712, 294=>974, 295=>790, 296=>372, 297=>343, 298=>372, 299=>343, 300=>372, 301=>343, 302=>372, 303=>343, 304=>372,
305=>343, 306=>744, 307=>686, 308=>372, 309=>343, 310=>775, 311=>665, 312=>665, 313=>637, 314=>343, 315=>637, 316=>343, 317=>637, 318=>479, 319=>637, 320=>557,
321=>642, 322=>371, 323=>837, 324=>712, 325=>837, 326=>712, 327=>837, 328=>712, 329=>983, 330=>837, 331=>712, 332=>850, 333=>687, 334=>850, 335=>687, 336=>850,
337=>687, 340=>770, 341=>493, 342=>770, 343=>493, 344=>770, 345=>493, 346=>720, 347=>595, 348=>720, 349=>595, 350=>720, 351=>595, 354=>682, 355=>478, 356=>682,
357=>478, 358=>682, 359=>478, 360=>812, 361=>712, 362=>812, 363=>712, 364=>812, 365=>712, 366=>812, 367=>712, 368=>812, 369=>712, 370=>812, 371=>712, 372=>1103,
373=>924, 374=>724, 375=>652, 377=>725, 378=>582, 379=>725, 380=>582, 383=>435, 384=>716, 385=>811, 386=>762, 387=>716, 388=>762, 389=>716, 390=>734, 391=>734,
392=>593, 393=>838, 394=>879, 395=>757, 396=>716, 397=>688, 398=>683, 399=>849, 400=>696, 401=>683, 403=>821, 404=>793, 405=>1045, 406=>436, 407=>389, 408=>775,
409=>665, 410=>360, 411=>592, 412=>1042, 413=>837, 414=>712, 415=>850, 416=>874, 417=>687, 418=>1114, 419=>962, 420=>782, 421=>716, 422=>770, 423=>720, 424=>595,
425=>683, 426=>552, 427=>478, 428=>707, 429=>478, 430=>682, 431=>835, 432=>712, 433=>769, 434=>813, 435=>797, 436=>778, 437=>725, 438=>582, 439=>772, 440=>772,
441=>641, 442=>582, 443=>696, 444=>772, 445=>641, 446=>573, 447=>716, 448=>372, 449=>659, 450=>544, 451=>372, 452=>1555, 453=>1412, 454=>1298, 455=>1009, 456=>980,
457=>686, 458=>1209, 459=>1180, 460=>1055, 461=>774, 462=>675, 463=>372, 464=>343, 465=>850, 466=>687, 467=>812, 468=>712, 469=>812, 470=>712, 471=>812, 472=>712,
473=>812, 474=>712, 475=>812, 476=>712, 477=>678, 478=>774, 479=>675, 480=>774, 481=>675, 482=>1085, 483=>1048, 484=>821, 485=>716, 486=>821, 487=>716, 488=>775,
489=>665, 490=>850, 491=>687, 492=>850, 493=>687, 494=>772, 495=>582, 496=>343, 497=>1555, 498=>1412, 499=>1298, 500=>821, 501=>716, 502=>1289, 503=>787, 504=>837,
505=>712, 506=>774, 507=>675, 508=>1085, 509=>1048, 510=>850, 511=>687, 512=>774, 513=>675, 514=>774, 515=>675, 516=>683, 517=>678, 518=>683, 519=>678, 520=>372,
521=>343, 522=>372, 523=>343, 524=>850, 525=>687, 526=>850, 527=>687, 528=>770, 529=>493, 530=>770, 531=>493, 532=>812, 533=>712, 534=>812, 535=>712, 536=>720,
537=>595, 538=>682, 539=>478, 540=>690, 541=>607, 542=>837, 543=>712, 544=>837, 545=>865, 546=>809, 547=>659, 548=>725, 549=>582, 550=>774, 551=>675, 552=>683,
553=>678, 554=>850, 555=>687, 556=>850, 557=>687, 558=>850, 559=>687, 560=>850, 561=>687, 562=>724, 563=>652, 564=>492, 565=>867, 566=>512, 567=>343, 568=>1088,
569=>1088, 570=>774, 571=>734, 572=>593, 573=>637, 574=>682, 575=>595, 576=>582, 577=>782, 578=>614, 579=>762, 580=>812, 581=>774, 582=>683, 583=>678, 584=>372,
585=>343, 586=>860, 587=>791, 588=>770, 589=>493, 590=>724, 591=>652, 592=>675, 593=>716, 594=>716, 595=>716, 596=>593, 597=>593, 598=>717, 599=>792, 600=>678,
601=>678, 602=>876, 603=>557, 604=>545, 605=>815, 606=>731, 607=>343, 608=>792, 609=>716, 610=>627, 611=>735, 612=>635, 613=>712, 614=>712, 615=>712, 616=>545,
617=>440, 618=>545, 619=>559, 620=>693, 621=>343, 622=>841, 623=>1042, 624=>1042, 625=>1042, 626=>712, 627=>793, 628=>642, 629=>687, 630=>909, 631=>681, 632=>796,
633=>538, 634=>538, 635=>650, 636=>493, 637=>493, 638=>596, 639=>596, 640=>642, 641=>642, 642=>595, 643=>415, 644=>435, 645=>605, 646=>552, 647=>478, 648=>478,
649=>920, 650=>769, 651=>670, 652=>652, 653=>924, 654=>652, 655=>724, 656=>694, 657=>684, 658=>641, 659=>641, 660=>573, 661=>573, 662=>573, 663=>573, 664=>850,
665=>633, 666=>731, 667=>685, 668=>691, 669=>343, 670=>732, 671=>539, 672=>792, 673=>573, 674=>573, 675=>1156, 676=>1214, 677=>1155, 678=>974, 679=>769, 680=>929,
681=>1026, 682=>792, 683=>780, 684=>591, 685=>415, 686=>677, 687=>789, 688=>456, 689=>456, 690=>219, 691=>315, 692=>315, 693=>315, 694=>411, 695=>591, 696=>417,
697=>302, 698=>521, 699=>380, 700=>380, 701=>380, 702=>366, 703=>366, 704=>326, 705=>326, 706=>500, 707=>500, 708=>500, 709=>500, 711=>500, 712=>306, 713=>500,
714=>500, 715=>500, 716=>306, 717=>500, 718=>500, 719=>500, 720=>337, 721=>337, 722=>366, 723=>366, 724=>500, 725=>500, 726=>500, 727=>500, 728=>500, 729=>500,
730=>500, 731=>500, 733=>500, 734=>351, 735=>500, 736=>412, 737=>219, 738=>381, 739=>413, 740=>326, 741=>500, 742=>500, 743=>500, 744=>500, 745=>500, 748=>500,
749=>500, 750=>500, 755=>500, 759=>500, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 850=>0, 851=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0,
884=>302, 885=>302, 890=>500, 891=>593, 892=>550, 893=>549, 894=>337, 900=>441, 901=>500, 902=>797, 903=>380, 904=>846, 905=>1009, 906=>563, 908=>891, 910=>980,
911=>894, 912=>390, 913=>774, 914=>762, 915=>637, 916=>774, 917=>683, 918=>725, 919=>837, 920=>850, 921=>372, 922=>775, 923=>774, 924=>995, 925=>837, 926=>632,
927=>850, 928=>837, 929=>733, 931=>683, 932=>682, 933=>724, 934=>850, 935=>771, 936=>850, 937=>850, 938=>372, 939=>724, 940=>687, 941=>557, 942=>712, 943=>390,
944=>675, 945=>687, 946=>716, 947=>681, 948=>687, 949=>557, 950=>591, 951=>712, 952=>687, 953=>390, 954=>710, 955=>633, 956=>736, 957=>681, 958=>591, 959=>687,
960=>791, 961=>716, 962=>593, 963=>779, 964=>638, 965=>675, 966=>782, 967=>645, 968=>794, 969=>869, 970=>390, 971=>675, 972=>687, 973=>675, 974=>869, 976=>651,
977=>661, 978=>746, 979=>981, 980=>746, 981=>796, 982=>869, 983=>744, 984=>850, 985=>687, 986=>734, 987=>593, 988=>683, 989=>494, 990=>702, 991=>660, 992=>919,
993=>627, 994=>1093, 995=>837, 996=>832, 997=>716, 998=>928, 999=>744, 1000=>733, 1001=>650, 1002=>789, 1003=>671, 1004=>752, 1005=>716, 1006=>682, 1007=>590, 1008=>744,
1009=>716, 1010=>593, 1011=>343, 1012=>850, 1013=>645, 1014=>644, 1015=>738, 1016=>716, 1017=>734, 1018=>995, 1019=>732, 1020=>716, 1021=>698, 1022=>734, 1023=>698, 1024=>683,
1025=>683, 1026=>878, 1028=>734, 1029=>720, 1030=>372, 1031=>372, 1032=>372, 1033=>1154, 1034=>1130, 1035=>878, 1037=>837, 1038=>771, 1040=>774, 1041=>762, 1042=>762, 1043=>637,
1044=>891, 1045=>683, 1046=>1224, 1047=>710, 1048=>837, 1049=>837, 1050=>817, 1051=>831, 1052=>995, 1053=>837, 1054=>850, 1055=>837, 1056=>733, 1057=>734, 1058=>682, 1059=>771,
1060=>992, 1061=>771, 1062=>928, 1063=>808, 1064=>1235, 1065=>1326, 1066=>939, 1067=>1036, 1068=>762, 1069=>734, 1070=>1174, 1071=>770, 1072=>675, 1073=>698, 1074=>633, 1075=>522,
1076=>808, 1077=>678, 1078=>995, 1079=>581, 1080=>701, 1081=>701, 1082=>679, 1083=>732, 1084=>817, 1085=>691, 1086=>687, 1087=>691, 1088=>716, 1089=>593, 1090=>580, 1091=>652,
1092=>992, 1093=>645, 1094=>741, 1095=>687, 1096=>1062, 1097=>1105, 1098=>751, 1099=>904, 1100=>632, 1101=>593, 1102=>972, 1103=>642, 1104=>678, 1105=>678, 1106=>714, 1107=>522,
1108=>593, 1109=>595, 1110=>343, 1111=>343, 1112=>343, 1113=>991, 1114=>956, 1115=>734, 1117=>701, 1118=>652, 1119=>691, 1120=>1093, 1121=>869, 1122=>840, 1123=>736, 1124=>1012,
1125=>839, 1126=>992, 1127=>832, 1128=>1358, 1129=>1121, 1130=>850, 1131=>687, 1132=>1236, 1133=>1007, 1134=>696, 1135=>557, 1136=>1075, 1137=>1061, 1138=>850, 1139=>667, 1140=>850,
1141=>695, 1142=>850, 1143=>695, 1144=>1148, 1145=>1043, 1146=>1074, 1147=>863, 1148=>1405, 1149=>1173, 1150=>1093, 1151=>869, 1152=>734, 1153=>593, 1154=>652, 1155=>0, 1156=>0,
1157=>0, 1158=>0, 1160=>418, 1161=>418, 1162=>957, 1163=>807, 1164=>762, 1165=>611, 1166=>733, 1167=>716, 1168=>637, 1169=>522, 1170=>666, 1171=>543, 1172=>808, 1173=>669,
1174=>1224, 1175=>995, 1176=>710, 1177=>581, 1178=>775, 1179=>679, 1180=>817, 1181=>679, 1182=>817, 1183=>679, 1184=>1015, 1185=>826, 1186=>956, 1187=>808, 1188=>1103, 1189=>874,
1190=>1273, 1191=>1017, 1192=>875, 1193=>710, 1194=>734, 1195=>593, 1196=>682, 1197=>580, 1198=>724, 1199=>652, 1200=>724, 1201=>652, 1202=>771, 1203=>645, 1204=>1112, 1205=>1000,
1206=>808, 1207=>687, 1208=>808, 1209=>687, 1210=>808, 1211=>712, 1212=>1026, 1213=>810, 1214=>1026, 1215=>810, 1216=>372, 1217=>1224, 1218=>995, 1219=>775, 1220=>630, 1221=>951,
1222=>805, 1223=>837, 1224=>691, 1225=>957, 1226=>807, 1227=>808, 1228=>687, 1229=>1115, 1230=>933, 1231=>343, 1232=>774, 1233=>675, 1234=>774, 1235=>675, 1236=>1085, 1237=>1048,
1238=>683, 1239=>678, 1240=>849, 1241=>678, 1242=>849, 1243=>678, 1244=>1224, 1245=>995, 1246=>710, 1247=>581, 1248=>772, 1249=>641, 1250=>837, 1251=>701, 1252=>837, 1253=>701,
1254=>850, 1255=>687, 1256=>850, 1257=>687, 1258=>850, 1259=>687, 1260=>734, 1261=>593, 1262=>771, 1263=>652, 1264=>771, 1265=>652, 1266=>771, 1267=>652, 1268=>808, 1269=>687,
1270=>637, 1271=>522, 1272=>1036, 1273=>904, 1274=>666, 1275=>543, 1276=>771, 1277=>645, 1278=>771, 1279=>645, 1280=>762, 1281=>608, 1282=>1159, 1283=>893, 1284=>1119, 1285=>920,
1286=>828, 1287=>693, 1288=>1242, 1289=>1017, 1290=>1248, 1291=>1013, 1292=>839, 1293=>638, 1294=>938, 1295=>803, 1296=>696, 1297=>557, 1298=>831, 1299=>732, 1329=>984, 1330=>812,
1331=>984, 1332=>984, 1333=>812, 1334=>777, 1335=>812, 1336=>812, 1337=>975, 1338=>984, 1339=>812, 1340=>710, 1341=>1078, 1342=>1136, 1343=>812, 1344=>710, 1345=>757, 1346=>984,
1347=>876, 1348=>984, 1349=>793, 1350=>984, 1351=>812, 1352=>812, 1353=>812, 1354=>958, 1355=>777, 1356=>984, 1357=>812, 1358=>984, 1359=>720, 1360=>812, 1361=>793, 1362=>895,
1363=>850, 1364=>936, 1365=>850, 1366=>720, 1369=>366, 1370=>380, 1371=>550, 1372=>550, 1373=>380, 1374=>546, 1375=>521, 1377=>1042, 1378=>712, 1379=>866, 1380=>868, 1381=>712,
1382=>817, 1383=>653, 1384=>712, 1385=>811, 1386=>817, 1387=>712, 1388=>498, 1389=>1018, 1390=>716, 1391=>712, 1392=>712, 1393=>716, 1394=>819, 1395=>712, 1396=>751, 1397=>343,
1398=>882, 1399=>559, 1400=>712, 1401=>559, 1402=>1042, 1403=>559, 1404=>863, 1405=>712, 1406=>813, 1407=>1042, 1408=>712, 1409=>716, 1410=>571, 1411=>1042, 1412=>778, 1413=>687,
1414=>720, 1415=>862, 1417=>400, 1418=>487, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0,
1469=>0, 1471=>0, 1472=>372, 1473=>0, 1474=>0, 1475=>372, 1478=>532, 1479=>0, 1488=>751, 1489=>731, 1490=>537, 1491=>684, 1492=>778, 1493=>372, 1494=>521, 1495=>778,
1496=>770, 1497=>372, 1498=>778, 1499=>750, 1500=>718, 1501=>778, 1502=>856, 1503=>372, 1504=>532, 1505=>855, 1506=>720, 1507=>802, 1508=>777, 1509=>628, 1510=>751, 1511=>803,
1512=>778, 1513=>963, 1514=>822, 1520=>692, 1521=>692, 1522=>692, 1548=>380, 1557=>0, 1563=>400, 1567=>580, 1569=>511, 1570=>343, 1571=>343, 1572=>622, 1573=>343, 1574=>917,
1575=>343, 1576=>1005, 1577=>590, 1578=>1005, 1579=>1005, 1580=>721, 1581=>721, 1582=>721, 1583=>513, 1584=>513, 1585=>576, 1586=>576, 1587=>1380, 1588=>1380, 1589=>1345, 1590=>1345,
1591=>1039, 1592=>1039, 1593=>683, 1594=>683, 1600=>342, 1601=>1162, 1602=>894, 1603=>917, 1604=>868, 1605=>733, 1606=>854, 1607=>590, 1608=>622, 1609=>917, 1610=>917, 1611=>0,
1612=>0, 1613=>0, 1614=>0, 1615=>0, 1616=>0, 1617=>0, 1618=>0, 1619=>0, 1620=>0, 1621=>0, 1626=>500, 1632=>610, 1633=>610, 1634=>610, 1635=>610, 1636=>610,
1637=>610, 1638=>610, 1639=>610, 1640=>610, 1641=>610, 1642=>610, 1643=>374, 1644=>380, 1645=>545, 1646=>1005, 1647=>894, 1652=>292, 1657=>1005, 1658=>1005, 1659=>1005, 1660=>1005,
1661=>1005, 1662=>1005, 1663=>1005, 1664=>1005, 1665=>721, 1666=>721, 1667=>721, 1668=>721, 1669=>721, 1670=>721, 1671=>721, 1681=>576, 1682=>576, 1685=>681, 1688=>576, 1697=>1162,
1700=>1162, 1702=>1162, 1705=>1024, 1711=>1024, 1717=>868, 1722=>854, 1727=>721, 1734=>622, 1740=>917, 1742=>917, 1749=>590, 1776=>610, 1777=>610, 1778=>610, 1779=>610, 1780=>610,
1781=>610, 1782=>610, 1783=>610, 1784=>610, 1785=>610, 3647=>743, 3713=>790, 3714=>748, 3716=>749, 3719=>569, 3720=>742, 3722=>744, 3725=>761, 3732=>706, 3733=>704, 3734=>747,
3735=>819, 3737=>730, 3738=>727, 3739=>727, 3740=>922, 3741=>827, 3742=>866, 3743=>866, 3745=>836, 3746=>761, 3747=>770, 3749=>769, 3751=>713, 3754=>827, 3755=>1031, 3757=>724,
3758=>784, 3759=>934, 3760=>688, 3761=>0, 3762=>610, 3763=>610, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>670, 3776=>516,
3777=>860, 3778=>516, 3779=>650, 3780=>632, 3782=>759, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>1363, 3805=>1363, 5121=>774, 5122=>774, 5123=>774,
5124=>774, 5125=>905, 5126=>905, 5127=>905, 5129=>905, 5130=>905, 5131=>905, 5132=>1018, 5133=>1009, 5134=>1018, 5135=>1009, 5136=>1018, 5137=>1009, 5138=>1149, 5139=>1140, 5140=>1149,
5141=>1140, 5142=>905, 5143=>1149, 5144=>1142, 5145=>1149, 5146=>1142, 5147=>905, 5149=>310, 5150=>529, 5151=>425, 5152=>425, 5153=>395, 5154=>395, 5155=>395, 5156=>395, 5157=>564,
5158=>470, 5159=>310, 5160=>395, 5161=>395, 5162=>395, 5163=>1213, 5164=>986, 5165=>1216, 5166=>1297, 5167=>774, 5168=>774, 5169=>774, 5170=>774, 5171=>886, 5172=>886, 5173=>886,
5175=>886, 5176=>886, 5177=>886, 5178=>1018, 5179=>1009, 5180=>1018, 5181=>1009, 5182=>1018, 5183=>1009, 5184=>1149, 5185=>1140, 5186=>1149, 5187=>1140, 5188=>1149, 5189=>1142, 5190=>1149,
5191=>1142, 5192=>886, 5193=>576, 5194=>229, 5196=>812, 5197=>812, 5198=>812, 5199=>812, 5200=>815, 5201=>815, 5202=>815, 5204=>815, 5205=>815, 5206=>815, 5207=>1056, 5208=>1048,
5209=>1056, 5210=>1048, 5211=>1056, 5212=>1048, 5213=>1060, 5214=>1054, 5215=>1060, 5216=>1054, 5217=>1060, 5218=>1052, 5219=>1060, 5220=>1052, 5221=>1060, 5222=>483, 5223=>1005, 5224=>1005,
5225=>1023, 5226=>1017, 5227=>743, 5228=>743, 5229=>743, 5230=>743, 5231=>743, 5232=>755, 5233=>743, 5234=>743, 5235=>743, 5236=>1029, 5237=>975, 5238=>980, 5239=>975, 5240=>980,
5241=>975, 5242=>1029, 5243=>975, 5244=>1029, 5245=>975, 5246=>980, 5247=>975, 5248=>980, 5249=>975, 5250=>980, 5251=>501, 5252=>501, 5253=>938, 5254=>938, 5255=>938, 5256=>938,
5257=>743, 5258=>743, 5259=>743, 5260=>743, 5261=>743, 5262=>755, 5263=>743, 5264=>743, 5265=>743, 5266=>1029, 5267=>975, 5268=>1029, 5269=>975, 5270=>1029, 5271=>975, 5272=>1029,
5273=>975, 5274=>1029, 5275=>975, 5276=>1029, 5277=>975, 5278=>1029, 5279=>975, 5280=>1029, 5281=>501, 5282=>501, 5283=>626, 5284=>626, 5285=>626, 5286=>626, 5287=>626, 5288=>667,
5289=>626, 5290=>626, 5291=>626, 5292=>881, 5293=>854, 5294=>863, 5295=>874, 5296=>863, 5297=>874, 5298=>881, 5299=>874, 5300=>881, 5301=>874, 5302=>863, 5303=>874, 5304=>863,
5305=>874, 5306=>863, 5307=>436, 5308=>548, 5309=>436, 5312=>988, 5313=>988, 5314=>988, 5315=>988, 5316=>931, 5317=>931, 5318=>931, 5319=>931, 5320=>931, 5321=>1238, 5322=>1247,
5323=>1200, 5324=>1228, 5325=>1200, 5326=>1228, 5327=>931, 5328=>660, 5329=>497, 5330=>660, 5331=>988, 5332=>988, 5333=>988, 5334=>988, 5335=>931, 5336=>931, 5337=>931, 5338=>931,
5339=>931, 5340=>1231, 5341=>1247, 5342=>1283, 5343=>1228, 5344=>1283, 5345=>1228, 5346=>1228, 5347=>1214, 5348=>1228, 5349=>1214, 5350=>1283, 5351=>1228, 5352=>1283, 5353=>1228, 5354=>660,
5356=>886, 5357=>730, 5358=>730, 5359=>730, 5360=>730, 5361=>730, 5362=>755, 5363=>730, 5364=>730, 5365=>730, 5366=>998, 5367=>958, 5368=>967, 5369=>989, 5370=>967, 5371=>989,
5372=>998, 5373=>958, 5374=>998, 5375=>958, 5376=>967, 5377=>989, 5378=>967, 5379=>989, 5380=>967, 5381=>493, 5382=>460, 5383=>493, 5392=>923, 5393=>923, 5394=>923, 5395=>1136,
5396=>1136, 5397=>1136, 5398=>1136, 5399=>1209, 5400=>1202, 5401=>1209, 5402=>1202, 5403=>1209, 5404=>1202, 5405=>1431, 5406=>1420, 5407=>1431, 5408=>1420, 5409=>1431, 5410=>1420, 5411=>1431,
5412=>1420, 5413=>746, 5414=>776, 5415=>776, 5416=>776, 5417=>776, 5418=>776, 5419=>776, 5420=>776, 5421=>776, 5422=>776, 5423=>1003, 5424=>1003, 5425=>1013, 5426=>996, 5427=>1013,
5428=>996, 5429=>1003, 5430=>1003, 5431=>1003, 5432=>1003, 5433=>1013, 5434=>996, 5435=>1013, 5436=>996, 5437=>1013, 5438=>495, 5440=>395, 5441=>510, 5442=>1033, 5443=>1033, 5444=>976,
5445=>976, 5446=>976, 5447=>976, 5448=>733, 5449=>733, 5450=>733, 5451=>733, 5452=>733, 5453=>733, 5454=>1003, 5455=>959, 5456=>495, 5458=>886, 5459=>774, 5460=>774, 5461=>774,
5462=>774, 5463=>928, 5464=>928, 5465=>928, 5466=>928, 5467=>1172, 5468=>1142, 5469=>602, 5470=>812, 5471=>812, 5472=>812, 5473=>812, 5474=>812, 5475=>812, 5476=>815, 5477=>815,
5478=>815, 5479=>815, 5480=>1060, 5481=>1052, 5482=>548, 5492=>977, 5493=>977, 5494=>977, 5495=>977, 5496=>977, 5497=>977, 5498=>977, 5499=>618, 5500=>837, 5501=>510, 5502=>1238,
5503=>1238, 5504=>1238, 5505=>1238, 5506=>1238, 5507=>1238, 5508=>1238, 5509=>989, 5514=>977, 5515=>977, 5516=>977, 5517=>977, 5518=>1591, 5519=>1591, 5520=>1591, 5521=>1295, 5522=>1295,
5523=>1591, 5524=>1591, 5525=>848, 5526=>1273, 5536=>988, 5537=>988, 5538=>931, 5539=>931, 5540=>931, 5541=>931, 5542=>660, 5543=>776, 5544=>776, 5545=>776, 5546=>776, 5547=>776,
5548=>776, 5549=>776, 5550=>495, 5551=>743, 5598=>830, 5601=>830, 5702=>496, 5703=>496, 5742=>413, 5743=>1238, 5744=>1591, 5745=>2016, 5746=>2016, 5747=>1720, 5748=>1678, 5749=>2016,
5750=>2016, 7424=>652, 7425=>833, 7426=>1048, 7427=>608, 7428=>593, 7429=>676, 7430=>676, 7431=>559, 7432=>557, 7433=>343, 7434=>494, 7435=>665, 7436=>539, 7437=>817, 7438=>701,
7439=>687, 7440=>593, 7441=>660, 7442=>660, 7443=>660, 7444=>1094, 7446=>687, 7447=>687, 7448=>556, 7449=>642, 7450=>642, 7451=>580, 7452=>634, 7453=>737, 7454=>948, 7455=>695,
7456=>652, 7457=>924, 7458=>582, 7459=>646, 7462=>539, 7463=>652, 7464=>691, 7465=>556, 7466=>781, 7467=>732, 7468=>487, 7469=>683, 7470=>480, 7472=>523, 7473=>430, 7474=>430,
7475=>517, 7476=>527, 7477=>234, 7478=>234, 7479=>488, 7480=>401, 7481=>626, 7482=>527, 7483=>527, 7484=>535, 7485=>509, 7486=>461, 7487=>485, 7488=>430, 7489=>511, 7490=>695,
7491=>458, 7492=>458, 7493=>479, 7494=>712, 7495=>479, 7496=>479, 7497=>479, 7498=>479, 7499=>386, 7500=>386, 7501=>479, 7502=>219, 7503=>487, 7504=>664, 7505=>456, 7506=>488,
7507=>414, 7508=>488, 7509=>488, 7510=>479, 7511=>388, 7512=>456, 7513=>462, 7514=>664, 7515=>501, 7517=>451, 7518=>429, 7519=>433, 7520=>493, 7521=>406, 7522=>219, 7523=>315,
7524=>456, 7525=>501, 7526=>451, 7527=>429, 7528=>433, 7529=>493, 7530=>406, 7543=>716, 7544=>527, 7547=>545, 7557=>514, 7579=>479, 7580=>414, 7581=>414, 7582=>488, 7583=>386,
7584=>377, 7585=>348, 7586=>479, 7587=>456, 7588=>347, 7589=>281, 7590=>347, 7591=>347, 7592=>431, 7593=>326, 7594=>330, 7595=>370, 7596=>664, 7597=>664, 7598=>562, 7599=>562,
7600=>448, 7601=>488, 7602=>542, 7603=>422, 7604=>396, 7605=>388, 7606=>583, 7607=>494, 7608=>399, 7609=>451, 7610=>501, 7611=>417, 7612=>523, 7613=>470, 7614=>455, 7615=>425,
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>774, 7681=>675, 7682=>762, 7683=>716, 7684=>762, 7685=>716, 7686=>762, 7687=>716, 7688=>734, 7689=>593,
7690=>830, 7691=>716, 7692=>830, 7693=>716, 7694=>830, 7695=>716, 7696=>830, 7697=>716, 7698=>830, 7699=>716, 7700=>683, 7701=>678, 7702=>683, 7703=>678, 7704=>683, 7705=>678,
7706=>683, 7707=>678, 7708=>683, 7709=>678, 7710=>683, 7711=>435, 7712=>821, 7713=>716, 7714=>837, 7715=>712, 7716=>837, 7717=>712, 7718=>837, 7719=>712, 7720=>837, 7721=>712,
7722=>837, 7723=>712, 7724=>372, 7725=>343, 7726=>372, 7727=>343, 7728=>775, 7729=>665, 7730=>775, 7731=>665, 7732=>775, 7733=>665, 7734=>637, 7735=>343, 7736=>637, 7737=>343,
7738=>637, 7739=>343, 7740=>637, 7741=>343, 7742=>995, 7743=>1042, 7744=>995, 7745=>1042, 7746=>995, 7747=>1042, 7748=>837, 7749=>712, 7750=>837, 7751=>712, 7752=>837, 7753=>712,
7754=>837, 7755=>712, 7756=>850, 7757=>687, 7758=>850, 7759=>687, 7760=>850, 7761=>687, 7762=>850, 7763=>687, 7764=>733, 7765=>716, 7766=>733, 7767=>716, 7768=>770, 7769=>493,
7770=>770, 7771=>493, 7772=>770, 7773=>493, 7774=>770, 7775=>493, 7776=>720, 7777=>595, 7778=>720, 7779=>595, 7780=>720, 7781=>595, 7782=>720, 7783=>595, 7784=>720, 7785=>595,
7786=>682, 7787=>478, 7788=>682, 7789=>478, 7790=>682, 7791=>478, 7792=>682, 7793=>478, 7794=>812, 7795=>712, 7796=>812, 7797=>712, 7798=>812, 7799=>712, 7800=>812, 7801=>712,
7802=>812, 7803=>712, 7804=>774, 7805=>652, 7806=>774, 7807=>652, 7808=>1103, 7809=>924, 7810=>1103, 7811=>924, 7812=>1103, 7813=>924, 7814=>1103, 7815=>924, 7816=>1103, 7817=>924,
7818=>771, 7819=>645, 7820=>771, 7821=>645, 7822=>724, 7823=>652, 7824=>725, 7825=>582, 7826=>725, 7827=>582, 7828=>725, 7829=>582, 7830=>712, 7831=>478, 7832=>924, 7833=>652,
7834=>675, 7835=>435, 7840=>774, 7841=>675, 7842=>774, 7843=>675, 7844=>774, 7845=>675, 7846=>774, 7847=>675, 7848=>774, 7849=>675, 7850=>774, 7851=>675, 7852=>774, 7853=>675,
7854=>774, 7855=>675, 7856=>774, 7857=>675, 7858=>774, 7859=>675, 7860=>774, 7861=>675, 7862=>774, 7863=>675, 7864=>683, 7865=>678, 7866=>683, 7867=>678, 7868=>683, 7869=>678,
7870=>683, 7871=>678, 7872=>683, 7873=>678, 7874=>683, 7875=>678, 7876=>683, 7877=>678, 7878=>683, 7879=>678, 7880=>372, 7881=>343, 7882=>372, 7883=>343, 7884=>850, 7885=>687,
7886=>850, 7887=>687, 7888=>850, 7889=>687, 7890=>850, 7891=>687, 7892=>850, 7893=>687, 7894=>850, 7895=>687, 7896=>850, 7897=>687, 7898=>874, 7899=>687, 7900=>874, 7901=>687,
7902=>874, 7903=>687, 7904=>874, 7905=>687, 7906=>874, 7907=>687, 7908=>812, 7909=>712, 7910=>812, 7911=>712, 7912=>835, 7913=>712, 7914=>835, 7915=>712, 7916=>835, 7917=>712,
7918=>835, 7919=>712, 7920=>835, 7921=>712, 7922=>724, 7923=>652, 7924=>724, 7925=>652, 7926=>724, 7927=>652, 7928=>724, 7929=>652, 7936=>687, 7937=>687, 7938=>687, 7939=>687,
7940=>687, 7941=>687, 7942=>687, 7943=>687, 7944=>774, 7945=>774, 7946=>1041, 7947=>1043, 7948=>935, 7949=>963, 7950=>835, 7951=>859, 7952=>557, 7953=>557, 7954=>557, 7955=>557,
7956=>557, 7957=>557, 7960=>792, 7961=>794, 7962=>1100, 7963=>1096, 7964=>1023, 7965=>1052, 7968=>712, 7969=>712, 7970=>712, 7971=>712, 7972=>712, 7973=>712, 7974=>712, 7975=>712,
7976=>945, 7977=>951, 7978=>1250, 7979=>1250, 7980=>1180, 7981=>1206, 7982=>1054, 7983=>1063, 7984=>390, 7985=>390, 7986=>390, 7987=>390, 7988=>390, 7989=>390, 7990=>390, 7991=>390,
7992=>483, 7993=>489, 7994=>777, 7995=>785, 7996=>712, 7997=>738, 7998=>604, 7999=>604, 8000=>687, 8001=>687, 8002=>687, 8003=>687, 8004=>687, 8005=>687, 8008=>892, 8009=>933,
8010=>1221, 8011=>1224, 8012=>1053, 8013=>1082, 8016=>675, 8017=>675, 8018=>675, 8019=>675, 8020=>675, 8021=>675, 8022=>675, 8023=>675, 8025=>930, 8027=>1184, 8029=>1199, 8031=>1049,
8032=>869, 8033=>869, 8034=>869, 8035=>869, 8036=>869, 8037=>869, 8038=>869, 8039=>869, 8040=>909, 8041=>958, 8042=>1246, 8043=>1251, 8044=>1076, 8045=>1105, 8046=>1028, 8047=>1076,
8048=>687, 8049=>687, 8050=>557, 8051=>557, 8052=>712, 8053=>712, 8054=>390, 8055=>390, 8056=>687, 8057=>687, 8058=>675, 8059=>675, 8060=>869, 8061=>869, 8064=>687, 8065=>687,
8066=>687, 8067=>687, 8068=>687, 8069=>687, 8070=>687, 8071=>687, 8072=>774, 8073=>774, 8074=>1041, 8075=>1043, 8076=>935, 8077=>963, 8078=>835, 8079=>859, 8080=>712, 8081=>712,
8082=>712, 8083=>712, 8084=>712, 8085=>712, 8086=>712, 8087=>712, 8088=>945, 8089=>951, 8090=>1250, 8091=>1250, 8092=>1180, 8093=>1206, 8094=>1054, 8095=>1063, 8096=>869, 8097=>869,
8098=>869, 8099=>869, 8100=>869, 8101=>869, 8102=>869, 8103=>869, 8104=>909, 8105=>958, 8106=>1246, 8107=>1251, 8108=>1076, 8109=>1105, 8110=>1028, 8111=>1076, 8112=>687, 8113=>687,
8114=>687, 8115=>687, 8116=>687, 8118=>687, 8119=>687, 8120=>774, 8121=>774, 8122=>876, 8123=>797, 8124=>774, 8125=>500, 8126=>500, 8127=>500, 8128=>500, 8129=>500, 8130=>712,
8131=>712, 8132=>712, 8134=>712, 8135=>712, 8136=>929, 8137=>846, 8138=>1080, 8139=>1009, 8140=>837, 8141=>500, 8142=>500, 8143=>500, 8144=>390, 8145=>390, 8146=>390, 8147=>390,
8150=>390, 8151=>390, 8152=>372, 8153=>372, 8154=>621, 8155=>563, 8157=>500, 8158=>500, 8159=>500, 8160=>675, 8161=>675, 8162=>675, 8163=>675, 8164=>716, 8165=>716, 8166=>675,
8167=>675, 8168=>724, 8169=>724, 8170=>1020, 8171=>980, 8172=>838, 8173=>500, 8174=>500, 8175=>500, 8178=>869, 8179=>869, 8180=>869, 8182=>869, 8183=>869, 8184=>1065, 8185=>891,
8186=>1084, 8187=>894, 8188=>850, 8189=>500, 8190=>500, 8192=>500, 8193=>1000, 8194=>500, 8195=>1000, 8196=>330, 8197=>250, 8198=>167, 8199=>696, 8200=>380, 8201=>200, 8202=>100,
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>415, 8209=>415, 8210=>696, 8213=>1000, 8214=>500, 8215=>500, 8219=>380, 8223=>657, 8227=>639, 8228=>333, 8229=>667,
8231=>348, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>200, 8241=>1887, 8242=>264, 8243=>447, 8244=>630, 8245=>264, 8246=>447, 8247=>630, 8248=>733, 8251=>972,
8252=>627, 8253=>580, 8254=>500, 8255=>828, 8256=>828, 8257=>329, 8258=>1023, 8259=>500, 8260=>456, 8261=>457, 8262=>457, 8263=>1030, 8264=>829, 8265=>829, 8266=>513, 8267=>636,
8268=>500, 8269=>500, 8270=>523, 8271=>400, 8272=>828, 8273=>523, 8274=>556, 8275=>838, 8276=>828, 8277=>838, 8278=>684, 8279=>813, 8280=>838, 8281=>838, 8282=>380, 8283=>872,
8284=>838, 8285=>380, 8286=>380, 8287=>222, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>438, 8305=>219,
8308=>438, 8309=>438, 8310=>438, 8311=>438, 8312=>438, 8313=>438, 8314=>528, 8315=>528, 8316=>528, 8317=>288, 8318=>288, 8319=>456, 8320=>438, 8321=>438, 8322=>438, 8323=>438,
8324=>438, 8325=>438, 8326=>438, 8327=>438, 8328=>438, 8329=>438, 8330=>528, 8331=>528, 8332=>528, 8333=>288, 8334=>288, 8336=>458, 8337=>479, 8338=>488, 8339=>413, 8340=>479,
8352=>929, 8353=>696, 8354=>696, 8355=>696, 8356=>696, 8357=>1042, 8358=>837, 8359=>1518, 8360=>1205, 8361=>1103, 8362=>904, 8363=>696, 8365=>696, 8366=>682, 8367=>1392, 8368=>696,
8369=>696, 8370=>696, 8371=>696, 8372=>859, 8373=>696, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>1120, 8449=>1170, 8450=>734, 8451=>1211, 8452=>896, 8453=>1091, 8454=>1144,
8455=>614, 8456=>698, 8457=>1086, 8459=>1073, 8460=>913, 8461=>850, 8462=>712, 8463=>712, 8464=>604, 8465=>694, 8466=>868, 8467=>472, 8468=>974, 8469=>837, 8470=>1203, 8471=>1000,
8472=>697, 8473=>702, 8474=>850, 8475=>876, 8476=>814, 8477=>792, 8478=>896, 8479=>710, 8480=>1020, 8481=>1281, 8483=>755, 8484=>725, 8485=>578, 8486=>850, 8487=>769, 8488=>763,
8489=>338, 8490=>775, 8491=>774, 8492=>928, 8493=>776, 8494=>854, 8495=>636, 8496=>738, 8497=>811, 8498=>683, 8499=>1193, 8500=>465, 8501=>794, 8502=>736, 8503=>503, 8504=>695,
8505=>380, 8506=>945, 8507=>1348, 8508=>790, 8509=>737, 8510=>652, 8511=>845, 8512=>840, 8513=>775, 8514=>557, 8515=>637, 8516=>760, 8517=>830, 8518=>716, 8519=>678, 8520=>343,
8521=>343, 8523=>872, 8526=>547, 8531=>1035, 8532=>1035, 8533=>1035, 8534=>1035, 8535=>1035, 8536=>1035, 8537=>1035, 8538=>1035, 8539=>1035, 8540=>1035, 8541=>1035, 8542=>1035, 8543=>615,
8544=>372, 8545=>659, 8546=>945, 8547=>1099, 8548=>774, 8549=>1099, 8550=>1386, 8551=>1672, 8552=>1121, 8553=>771, 8554=>1120, 8555=>1407, 8556=>637, 8557=>734, 8558=>830, 8559=>995,
8560=>343, 8561=>607, 8562=>872, 8563=>984, 8564=>652, 8565=>962, 8566=>1227, 8567=>1491, 8568=>969, 8569=>645, 8570=>969, 8571=>1233, 8572=>343, 8573=>593, 8574=>716, 8575=>1042,
8576=>1289, 8577=>830, 8578=>1289, 8579=>734, 8580=>593, 8592=>838, 8593=>838, 8594=>838, 8595=>838, 8596=>838, 8597=>838, 8598=>838, 8599=>838, 8600=>838, 8601=>838, 8602=>838,
8603=>838, 8604=>838, 8605=>838, 8606=>838, 8607=>838, 8608=>838, 8609=>838, 8610=>838, 8611=>838, 8612=>838, 8613=>838, 8614=>838, 8615=>838, 8616=>838, 8617=>838, 8618=>838,
8619=>838, 8620=>838, 8621=>838, 8622=>838, 8623=>838, 8624=>838, 8625=>838, 8626=>838, 8627=>838, 8628=>838, 8629=>838, 8630=>838, 8631=>838, 8632=>838, 8633=>838, 8634=>838,
8635=>838, 8636=>838, 8637=>838, 8638=>838, 8639=>838, 8640=>838, 8641=>838, 8642=>838, 8643=>838, 8644=>838, 8645=>838, 8646=>838, 8647=>838, 8648=>838, 8649=>838, 8650=>838,
8651=>838, 8652=>838, 8653=>838, 8654=>838, 8655=>838, 8656=>838, 8657=>838, 8658=>838, 8659=>838, 8660=>838, 8661=>838, 8662=>838, 8663=>838, 8664=>838, 8665=>838, 8666=>838,
8667=>838, 8668=>838, 8669=>838, 8670=>838, 8671=>838, 8672=>838, 8673=>838, 8674=>838, 8675=>838, 8676=>838, 8677=>838, 8678=>838, 8679=>838, 8680=>838, 8681=>838, 8682=>838,
8683=>838, 8684=>838, 8685=>838, 8686=>838, 8687=>838, 8688=>838, 8689=>838, 8690=>838, 8691=>838, 8692=>838, 8693=>838, 8694=>838, 8695=>838, 8696=>838, 8697=>838, 8698=>838,
8699=>838, 8700=>838, 8701=>838, 8702=>838, 8703=>838, 8704=>774, 8705=>696, 8706=>544, 8707=>683, 8708=>683, 8709=>856, 8710=>697, 8711=>697, 8712=>896, 8713=>896, 8714=>750,
8715=>896, 8716=>896, 8717=>750, 8718=>636, 8719=>787, 8720=>787, 8721=>718, 8722=>838, 8723=>838, 8724=>696, 8725=>167, 8726=>696, 8727=>838, 8728=>626, 8729=>380, 8730=>667,
8731=>667, 8732=>667, 8733=>669, 8734=>833, 8735=>838, 8736=>896, 8737=>896, 8738=>838, 8739=>500, 8740=>500, 8741=>500, 8742=>500, 8743=>812, 8744=>812, 8745=>812, 8746=>812,
8747=>610, 8748=>929, 8749=>1295, 8750=>563, 8751=>977, 8752=>1313, 8753=>563, 8754=>563, 8755=>563, 8756=>696, 8757=>696, 8758=>294, 8759=>696, 8760=>838, 8761=>838, 8762=>838,
8763=>838, 8764=>838, 8765=>838, 8766=>838, 8767=>838, 8768=>375, 8769=>838, 8770=>838, 8771=>838, 8772=>838, 8773=>838, 8774=>838, 8775=>838, 8776=>838, 8777=>838, 8778=>838,
8779=>838, 8780=>838, 8781=>838, 8782=>838, 8783=>838, 8784=>838, 8785=>838, 8786=>838, 8787=>838, 8788=>1063, 8789=>1063, 8790=>838, 8791=>838, 8792=>838, 8793=>838, 8794=>838,
8795=>838, 8796=>838, 8797=>838, 8798=>838, 8799=>838, 8800=>838, 8801=>838, 8802=>838, 8803=>838, 8804=>838, 8805=>838, 8806=>838, 8807=>838, 8808=>841, 8809=>841, 8810=>1047,
8811=>1047, 8812=>500, 8813=>838, 8814=>838, 8815=>838, 8816=>838, 8817=>838, 8818=>838, 8819=>838, 8820=>838, 8821=>838, 8822=>838, 8823=>838, 8824=>838, 8825=>838, 8826=>838,
8827=>838, 8828=>838, 8829=>838, 8830=>838, 8831=>838, 8832=>838, 8833=>838, 8834=>838, 8835=>838, 8836=>838, 8837=>838, 8838=>838, 8839=>838, 8840=>838, 8841=>838, 8842=>838,
8843=>838, 8844=>812, 8845=>812, 8846=>812, 8847=>838, 8848=>838, 8849=>838, 8850=>838, 8851=>754, 8852=>754, 8853=>838, 8854=>838, 8855=>838, 8856=>838, 8857=>838, 8858=>838,
8859=>838, 8860=>838, 8861=>838, 8862=>838, 8863=>838, 8864=>838, 8865=>838, 8866=>914, 8867=>914, 8868=>914, 8869=>914, 8870=>542, 8871=>542, 8872=>914, 8873=>914, 8874=>914,
8875=>914, 8876=>914, 8877=>914, 8878=>914, 8879=>914, 8882=>838, 8883=>838, 8884=>838, 8885=>838, 8886=>1000, 8887=>1000, 8888=>838, 8889=>838, 8890=>542, 8891=>812, 8892=>812,
8893=>812, 8896=>843, 8897=>843, 8898=>843, 8899=>843, 8900=>494, 8901=>380, 8902=>626, 8904=>1000, 8905=>1000, 8906=>1000, 8907=>1000, 8908=>1000, 8909=>838, 8918=>838, 8919=>838,
8920=>1422, 8921=>1422, 8922=>838, 8923=>838, 8924=>838, 8925=>838, 8926=>838, 8927=>838, 8928=>838, 8929=>838, 8930=>838, 8931=>838, 8932=>838, 8933=>838, 8934=>838, 8935=>838,
8936=>838, 8937=>838, 8938=>838, 8939=>838, 8940=>838, 8941=>838, 8946=>1158, 8947=>896, 8948=>750, 8949=>896, 8950=>896, 8951=>750, 8952=>896, 8953=>896, 8954=>1158, 8955=>896,
8956=>750, 8957=>896, 8958=>750, 8959=>896, 8962=>716, 8966=>917, 8968=>457, 8969=>457, 8970=>457, 8971=>457, 8976=>838, 8977=>539, 8984=>928, 8985=>838, 8992=>610, 8993=>610,
8997=>1000, 9000=>1443, 9085=>863, 9115=>500, 9116=>500, 9117=>500, 9118=>500, 9119=>500, 9120=>500, 9121=>500, 9122=>500, 9123=>500, 9124=>500, 9125=>500, 9126=>500, 9127=>750,
9128=>750, 9129=>750, 9130=>750, 9131=>750, 9132=>750, 9133=>750, 9134=>610, 9166=>838, 9167=>945, 9250=>716, 9251=>716, 9312=>847, 9313=>847, 9314=>847, 9315=>847, 9316=>847,
9317=>847, 9318=>847, 9319=>847, 9320=>847, 9321=>847, 9600=>769, 9601=>769, 9602=>769, 9603=>769, 9604=>769, 9605=>769, 9606=>769, 9607=>769, 9608=>769, 9609=>769, 9610=>769,
9611=>769, 9612=>769, 9613=>769, 9614=>769, 9615=>769, 9616=>769, 9617=>769, 9618=>769, 9619=>769, 9620=>769, 9621=>769, 9622=>769, 9623=>769, 9624=>769, 9625=>769, 9626=>769,
9627=>769, 9628=>769, 9629=>769, 9630=>769, 9631=>769, 9632=>945, 9633=>945, 9634=>945, 9635=>945, 9636=>945, 9637=>945, 9638=>945, 9639=>945, 9640=>945, 9641=>945, 9642=>678,
9643=>678, 9644=>945, 9645=>945, 9646=>550, 9647=>550, 9648=>769, 9649=>769, 9650=>769, 9651=>769, 9652=>502, 9653=>502, 9654=>769, 9655=>769, 9656=>502, 9657=>502, 9658=>769,
9659=>769, 9660=>769, 9661=>769, 9662=>502, 9663=>502, 9664=>769, 9665=>769, 9666=>502, 9667=>502, 9668=>769, 9669=>769, 9670=>769, 9671=>769, 9672=>769, 9673=>873, 9674=>494,
9675=>873, 9676=>873, 9677=>873, 9678=>873, 9679=>873, 9680=>873, 9681=>873, 9682=>873, 9683=>873, 9684=>873, 9685=>873, 9686=>527, 9687=>527, 9688=>840, 9689=>970, 9690=>970,
9691=>970, 9692=>387, 9693=>387, 9694=>387, 9695=>387, 9696=>769, 9697=>769, 9698=>769, 9699=>769, 9700=>769, 9701=>769, 9702=>639, 9703=>945, 9704=>945, 9705=>945, 9706=>945,
9707=>945, 9708=>769, 9709=>769, 9710=>769, 9711=>1119, 9712=>945, 9713=>945, 9714=>945, 9715=>945, 9716=>873, 9717=>873, 9718=>873, 9719=>873, 9720=>769, 9721=>769, 9722=>769,
9723=>830, 9724=>830, 9725=>732, 9726=>732, 9727=>769, 9728=>896, 9729=>1000, 9730=>896, 9731=>896, 9732=>896, 9733=>896, 9734=>896, 9735=>573, 9736=>896, 9737=>896, 9738=>888,
9739=>888, 9740=>671, 9741=>1013, 9742=>1246, 9743=>1250, 9744=>896, 9745=>896, 9746=>896, 9747=>532, 9748=>896, 9749=>896, 9750=>896, 9751=>896, 9752=>896, 9753=>896, 9754=>896,
9755=>896, 9756=>896, 9757=>609, 9758=>896, 9759=>609, 9760=>896, 9761=>896, 9762=>896, 9763=>896, 9764=>669, 9765=>746, 9766=>649, 9767=>784, 9768=>545, 9769=>896, 9770=>896,
9771=>896, 9772=>710, 9773=>896, 9774=>896, 9775=>896, 9776=>896, 9777=>896, 9778=>896, 9779=>896, 9780=>896, 9781=>896, 9782=>896, 9783=>896, 9784=>896, 9785=>896, 9786=>896,
9787=>896, 9788=>896, 9789=>896, 9790=>896, 9791=>614, 9792=>731, 9793=>731, 9794=>896, 9795=>896, 9796=>896, 9797=>896, 9798=>896, 9799=>896, 9800=>896, 9801=>896, 9802=>896,
9803=>896, 9804=>896, 9805=>896, 9806=>896, 9807=>896, 9808=>896, 9809=>896, 9810=>896, 9811=>896, 9812=>896, 9813=>896, 9814=>896, 9815=>896, 9816=>896, 9817=>896, 9818=>896,
9819=>896, 9820=>896, 9821=>896, 9822=>896, 9823=>896, 9824=>896, 9825=>896, 9826=>896, 9827=>896, 9828=>896, 9829=>896, 9830=>896, 9831=>896, 9832=>896, 9833=>472, 9834=>638,
9835=>896, 9836=>896, 9837=>472, 9838=>357, 9839=>484, 9840=>748, 9841=>766, 9842=>896, 9843=>896, 9844=>896, 9845=>896, 9846=>896, 9847=>896, 9848=>896, 9849=>896, 9850=>896,
9851=>896, 9852=>896, 9853=>896, 9854=>896, 9855=>896, 9856=>869, 9857=>869, 9858=>869, 9859=>869, 9860=>869, 9861=>869, 9862=>896, 9863=>896, 9864=>896, 9865=>896, 9866=>896,
9867=>896, 9868=>896, 9869=>896, 9870=>896, 9871=>896, 9872=>896, 9873=>896, 9874=>896, 9875=>896, 9876=>896, 9877=>541, 9878=>896, 9879=>896, 9880=>896, 9881=>896, 9882=>896,
9883=>896, 9884=>896, 9888=>896, 9889=>702, 9890=>838, 9891=>838, 9892=>838, 9893=>838, 9894=>838, 9895=>838, 9896=>838, 9897=>838, 9898=>838, 9899=>838, 9900=>838, 9901=>838,
9902=>838, 9903=>838, 9904=>844, 9905=>838, 9906=>731, 9985=>838, 9986=>838, 9987=>838, 9988=>838, 9990=>838, 9991=>838, 9992=>838, 9993=>838, 9996=>838, 9997=>838, 9998=>838,
9999=>838, 10000=>838, 10001=>838, 10002=>838, 10003=>838, 10004=>838, 10005=>838, 10006=>838, 10007=>838, 10008=>838, 10009=>838, 10010=>838, 10011=>838, 10012=>838, 10013=>838, 10014=>838,
10015=>838, 10016=>838, 10017=>838, 10018=>838, 10019=>838, 10020=>838, 10021=>838, 10022=>838, 10023=>838, 10025=>838, 10026=>838, 10027=>838, 10028=>838, 10029=>838, 10030=>838, 10031=>838,
10032=>838, 10033=>838, 10034=>838, 10035=>838, 10036=>838, 10037=>838, 10038=>838, 10039=>838, 10040=>838, 10041=>838, 10042=>838, 10043=>838, 10044=>838, 10045=>838, 10046=>838, 10047=>838,
10048=>838, 10049=>838, 10050=>838, 10051=>838, 10052=>838, 10053=>838, 10054=>838, 10055=>838, 10056=>838, 10057=>838, 10058=>838, 10059=>838, 10061=>896, 10063=>896, 10064=>896, 10065=>896,
10066=>896, 10070=>896, 10072=>838, 10073=>838, 10074=>838, 10075=>347, 10076=>347, 10077=>587, 10078=>587, 10081=>838, 10082=>838, 10083=>838, 10084=>838, 10085=>838, 10086=>838, 10087=>838,
10088=>838, 10089=>838, 10090=>838, 10091=>838, 10092=>838, 10093=>838, 10094=>838, 10095=>838, 10096=>838, 10097=>838, 10098=>838, 10099=>838, 10100=>838, 10101=>838, 10102=>847, 10103=>847,
10104=>847, 10105=>847, 10106=>847, 10107=>847, 10108=>847, 10109=>847, 10110=>847, 10111=>847, 10112=>838, 10113=>838, 10114=>838, 10115=>838, 10116=>838, 10117=>838, 10118=>838, 10119=>838,
10120=>838, 10121=>838, 10122=>838, 10123=>838, 10124=>838, 10125=>838, 10126=>838, 10127=>838, 10128=>838, 10129=>838, 10130=>838, 10131=>838, 10132=>838, 10136=>838, 10137=>838, 10138=>838,
10139=>838, 10140=>838, 10141=>838, 10142=>838, 10143=>838, 10144=>838, 10145=>838, 10146=>838, 10147=>838, 10148=>838, 10149=>838, 10150=>838, 10151=>838, 10152=>838, 10153=>838, 10154=>838,
10155=>838, 10156=>838, 10157=>838, 10158=>838, 10159=>838, 10161=>838, 10162=>838, 10163=>838, 10164=>838, 10165=>838, 10166=>838, 10167=>838, 10168=>838, 10169=>838, 10170=>838, 10171=>838,
10172=>838, 10173=>838, 10174=>838, 10208=>494, 10214=>487, 10215=>487, 10216=>457, 10217=>457, 10218=>721, 10219=>721, 10224=>838, 10225=>838, 10226=>838, 10227=>838, 10228=>1157, 10229=>1434,
10230=>1434, 10231=>1434, 10232=>1434, 10233=>1434, 10234=>1434, 10235=>1434, 10236=>1434, 10237=>1434, 10238=>1434, 10239=>1434, 10240=>781, 10241=>781, 10242=>781, 10243=>781, 10244=>781, 10245=>781,
10246=>781, 10247=>781, 10248=>781, 10249=>781, 10250=>781, 10251=>781, 10252=>781, 10253=>781, 10254=>781, 10255=>781, 10256=>781, 10257=>781, 10258=>781, 10259=>781, 10260=>781, 10261=>781,
10262=>781, 10263=>781, 10264=>781, 10265=>781, 10266=>781, 10267=>781, 10268=>781, 10269=>781, 10270=>781, 10271=>781, 10272=>781, 10273=>781, 10274=>781, 10275=>781, 10276=>781, 10277=>781,
10278=>781, 10279=>781, 10280=>781, 10281=>781, 10282=>781, 10283=>781, 10284=>781, 10285=>781, 10286=>781, 10287=>781, 10288=>781, 10289=>781, 10290=>781, 10291=>781, 10292=>781, 10293=>781,
10294=>781, 10295=>781, 10296=>781, 10297=>781, 10298=>781, 10299=>781, 10300=>781, 10301=>781, 10302=>781, 10303=>781, 10304=>781, 10305=>781, 10306=>781, 10307=>781, 10308=>781, 10309=>781,
10310=>781, 10311=>781, 10312=>781, 10313=>781, 10314=>781, 10315=>781, 10316=>781, 10317=>781, 10318=>781, 10319=>781, 10320=>781, 10321=>781, 10322=>781, 10323=>781, 10324=>781, 10325=>781,
10326=>781, 10327=>781, 10328=>781, 10329=>781, 10330=>781, 10331=>781, 10332=>781, 10333=>781, 10334=>781, 10335=>781, 10336=>781, 10337=>781, 10338=>781, 10339=>781, 10340=>781, 10341=>781,
10342=>781, 10343=>781, 10344=>781, 10345=>781, 10346=>781, 10347=>781, 10348=>781, 10349=>781, 10350=>781, 10351=>781, 10352=>781, 10353=>781, 10354=>781, 10355=>781, 10356=>781, 10357=>781,
10358=>781, 10359=>781, 10360=>781, 10361=>781, 10362=>781, 10363=>781, 10364=>781, 10365=>781, 10366=>781, 10367=>781, 10368=>781, 10369=>781, 10370=>781, 10371=>781, 10372=>781, 10373=>781,
10374=>781, 10375=>781, 10376=>781, 10377=>781, 10378=>781, 10379=>781, 10380=>781, 10381=>781, 10382=>781, 10383=>781, 10384=>781, 10385=>781, 10386=>781, 10387=>781, 10388=>781, 10389=>781,
10390=>781, 10391=>781, 10392=>781, 10393=>781, 10394=>781, 10395=>781, 10396=>781, 10397=>781, 10398=>781, 10399=>781, 10400=>781, 10401=>781, 10402=>781, 10403=>781, 10404=>781, 10405=>781,
10406=>781, 10407=>781, 10408=>781, 10409=>781, 10410=>781, 10411=>781, 10412=>781, 10413=>781, 10414=>781, 10415=>781, 10416=>781, 10417=>781, 10418=>781, 10419=>781, 10420=>781, 10421=>781,
10422=>781, 10423=>781, 10424=>781, 10425=>781, 10426=>781, 10427=>781, 10428=>781, 10429=>781, 10430=>781, 10431=>781, 10432=>781, 10433=>781, 10434=>781, 10435=>781, 10436=>781, 10437=>781,
10438=>781, 10439=>781, 10440=>781, 10441=>781, 10442=>781, 10443=>781, 10444=>781, 10445=>781, 10446=>781, 10447=>781, 10448=>781, 10449=>781, 10450=>781, 10451=>781, 10452=>781, 10453=>781,
10454=>781, 10455=>781, 10456=>781, 10457=>781, 10458=>781, 10459=>781, 10460=>781, 10461=>781, 10462=>781, 10463=>781, 10464=>781, 10465=>781, 10466=>781, 10467=>781, 10468=>781, 10469=>781,
10470=>781, 10471=>781, 10472=>781, 10473=>781, 10474=>781, 10475=>781, 10476=>781, 10477=>781, 10478=>781, 10479=>781, 10480=>781, 10481=>781, 10482=>781, 10483=>781, 10484=>781, 10485=>781,
10486=>781, 10487=>781, 10488=>781, 10489=>781, 10490=>781, 10491=>781, 10492=>781, 10493=>781, 10494=>781, 10495=>781, 10502=>838, 10503=>838, 10506=>838, 10507=>838, 10560=>838, 10561=>838,
10702=>838, 10703=>1046, 10704=>1046, 10705=>1000, 10706=>1000, 10707=>1000, 10708=>1000, 10709=>1000, 10731=>494, 10752=>1000, 10753=>1000, 10754=>1000, 10764=>1661, 10765=>563, 10766=>563, 10767=>563,
10768=>563, 10769=>563, 10770=>563, 10771=>563, 10772=>563, 10773=>563, 10774=>563, 10775=>563, 10776=>563, 10777=>563, 10778=>563, 10779=>563, 10780=>563, 10877=>838, 10878=>838, 10879=>838,
10880=>838, 10881=>838, 10882=>838, 10883=>838, 10884=>838, 10885=>838, 10886=>838, 10887=>838, 10888=>838, 10889=>838, 10890=>838, 10891=>838, 10892=>838, 10893=>838, 10894=>838, 10895=>838,
10896=>838, 10897=>838, 10898=>838, 10899=>838, 10900=>838, 10901=>838, 10902=>838, 10903=>838, 10904=>838, 10905=>838, 10906=>838, 10907=>838, 10908=>838, 10909=>838, 10910=>838, 10911=>838,
10912=>838, 10926=>838, 10927=>838, 10928=>838, 10929=>838, 10930=>838, 10931=>838, 10932=>838, 10933=>838, 10934=>838, 10935=>838, 10936=>838, 10937=>838, 10938=>838, 11001=>838, 11002=>838,
11008=>838, 11009=>838, 11010=>838, 11011=>838, 11012=>838, 11013=>838, 11014=>838, 11015=>838, 11016=>838, 11017=>838, 11018=>838, 11019=>838, 11020=>838, 11021=>838, 11022=>838, 11023=>838,
11024=>838, 11025=>838, 11026=>945, 11027=>945, 11028=>945, 11029=>945, 11030=>769, 11031=>769, 11032=>769, 11033=>769, 11034=>945, 11040=>869, 11041=>873, 11042=>873, 11043=>873, 11360=>637,
11361=>360, 11362=>637, 11363=>733, 11364=>770, 11365=>675, 11366=>478, 11367=>956, 11368=>712, 11369=>775, 11370=>665, 11371=>725, 11372=>582, 11380=>652, 11381=>649, 11382=>516, 11383=>782,
61960=>860, 62047=>720, 63173=>687, 64256=>810, 64257=>741, 64258=>741, 64259=>1115, 64260=>1116, 64261=>808, 64262=>1020, 64275=>1388, 64276=>1384, 64277=>1378, 64278=>1384, 64279=>1713, 64285=>372,
64287=>692, 64288=>720, 64297=>838, 64298=>963, 64299=>963, 64300=>963, 64301=>963, 64302=>751, 64303=>751, 64304=>751, 64305=>731, 64306=>537, 64307=>684, 64308=>778, 64309=>467, 64310=>521,
64312=>770, 64313=>467, 64314=>778, 64315=>750, 64316=>718, 64318=>856, 64320=>532, 64321=>855, 64323=>802, 64324=>777, 64326=>751, 64327=>803, 64328=>778, 64329=>963, 64330=>822, 64331=>372,
64332=>731, 64333=>754, 64334=>777, 64338=>1005, 64339=>1059, 64340=>375, 64341=>408, 64342=>1005, 64343=>1059, 64344=>375, 64345=>408, 64346=>1005, 64347=>1059, 64348=>375, 64349=>408, 64350=>1005,
64351=>1059, 64352=>375, 64353=>408, 64354=>1005, 64355=>1059, 64356=>375, 64357=>408, 64358=>1005, 64359=>1059, 64360=>375, 64361=>408, 64362=>1162, 64363=>1191, 64364=>655, 64365=>720, 64366=>1162,
64367=>1191, 64368=>655, 64369=>720, 64370=>721, 64371=>721, 64372=>721, 64373=>721, 64374=>721, 64375=>721, 64376=>721, 64377=>721, 64378=>721, 64379=>721, 64380=>721, 64381=>721, 64382=>721,
64383=>721, 64384=>721, 64385=>721, 64394=>576, 64395=>622, 64396=>576, 64397=>622, 64398=>1024, 64399=>1024, 64400=>582, 64401=>582, 64402=>1024, 64403=>1024, 64404=>582, 64405=>582, 64414=>854,
64415=>900, 64473=>622, 64474=>627, 64488=>375, 64489=>408, 64508=>917, 64509=>1012, 64510=>375, 64511=>408, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0,
65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0, 65038=>0, 65039=>0, 65136=>342, 65137=>342, 65138=>342, 65139=>346, 65140=>342, 65142=>342, 65143=>342,
65144=>342, 65145=>342, 65146=>342, 65147=>342, 65148=>342, 65149=>342, 65150=>342, 65151=>342, 65152=>511, 65153=>343, 65154=>375, 65155=>343, 65156=>375, 65157=>622, 65158=>627, 65159=>343,
65160=>375, 65161=>917, 65162=>917, 65163=>375, 65164=>408, 65165=>343, 65166=>375, 65167=>1005, 65168=>1059, 65169=>375, 65170=>408, 65171=>590, 65172=>606, 65173=>1005, 65174=>1059, 65175=>375,
65176=>408, 65177=>1005, 65178=>1059, 65179=>375, 65180=>408, 65181=>721, 65182=>721, 65183=>721, 65184=>721, 65185=>721, 65186=>721, 65187=>721, 65188=>721, 65189=>721, 65190=>721, 65191=>721,
65192=>721, 65193=>513, 65194=>578, 65195=>513, 65196=>578, 65197=>576, 65198=>622, 65199=>576, 65200=>622, 65201=>1380, 65202=>1414, 65203=>983, 65204=>1018, 65205=>1380, 65206=>1414, 65207=>983,
65208=>1018, 65209=>1345, 65210=>1364, 65211=>966, 65212=>985, 65213=>1345, 65214=>1364, 65215=>966, 65216=>985, 65217=>1039, 65218=>1071, 65219=>942, 65220=>974, 65221=>1039, 65222=>1071, 65223=>942,
65224=>974, 65225=>683, 65226=>683, 65227=>683, 65228=>564, 65229=>683, 65230=>683, 65231=>683, 65232=>564, 65233=>1162, 65234=>1191, 65235=>655, 65236=>720, 65237=>894, 65238=>901, 65239=>655,
65240=>720, 65241=>917, 65242=>931, 65243=>582, 65244=>582, 65245=>868, 65246=>893, 65247=>375, 65248=>408, 65249=>733, 65250=>784, 65251=>619, 65252=>670, 65253=>854, 65254=>900, 65255=>375,
65256=>408, 65257=>590, 65258=>606, 65259=>693, 65260=>660, 65261=>622, 65262=>627, 65263=>917, 65264=>1012, 65265=>917, 65266=>1012, 65267=>375, 65268=>408, 65269=>745, 65270=>759, 65271=>745,
65272=>759, 65273=>745, 65274=>759, 65275=>745, 65276=>759, 65279=>0, 65533=>1113);
$enc='';
$diff='';
$file='DejaVuSans-Bold.z';
$ctg='DejaVuSans-Bold.ctg.z';
$originalsize=494260;
?>

View File

@@ -0,0 +1,267 @@
<?php
$type='TrueTypeUnicode';
$name='DejaVuSans-BoldOblique';
$desc=array('Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>96,'FontBBox'=>'[-1067 -388 2005 1121]','ItalicAngle'=>-11,'StemV'=>120,'MissingWidth'=>600);
$up=-42;
$ut=44;
$cw=array(
0=>600, 32=>348, 33=>456, 34=>521, 35=>696, 36=>696, 37=>1002, 38=>872, 39=>306, 40=>457, 41=>457, 42=>523, 43=>838, 44=>380, 45=>415, 46=>380,
47=>365, 48=>696, 49=>696, 50=>696, 51=>696, 52=>696, 53=>696, 54=>696, 55=>696, 56=>696, 57=>696, 58=>400, 59=>400, 60=>838, 61=>838, 62=>838,
63=>580, 64=>1000, 65=>774, 66=>762, 67=>734, 68=>830, 69=>683, 70=>683, 71=>821, 72=>837, 73=>372, 74=>372, 75=>775, 76=>637, 77=>995, 78=>837,
79=>850, 80=>733, 81=>850, 82=>770, 83=>720, 84=>682, 85=>812, 86=>774, 87=>1103, 88=>771, 89=>724, 90=>725, 91=>457, 92=>365, 93=>457, 94=>838,
95=>500, 96=>500, 97=>675, 98=>716, 99=>593, 100=>716, 101=>678, 102=>435, 103=>716, 104=>712, 105=>343, 106=>343, 107=>665, 108=>343, 109=>1042, 110=>712,
111=>687, 112=>716, 113=>716, 114=>493, 115=>595, 116=>478, 117=>712, 118=>652, 119=>924, 120=>645, 121=>652, 122=>582, 123=>712, 124=>365, 125=>712, 126=>838,
8364=>696, 1027=>637, 8218=>380, 402=>435, 8222=>644, 8230=>1000, 8224=>500, 8225=>500, 710=>500, 8240=>1454, 352=>720, 8249=>412, 338=>1167, 1036=>817, 381=>725, 1039=>837,
8216=>380, 8217=>380, 8220=>644, 8221=>644, 8226=>639, 8211=>500, 8212=>1000, 732=>500, 8482=>1000, 353=>595, 8250=>412, 339=>1094, 1116=>679, 382=>582, 376=>724, 160=>348,
161=>456, 162=>696, 163=>696, 164=>636, 165=>696, 166=>365, 167=>500, 168=>500, 169=>1000, 170=>564, 171=>650, 172=>838, 173=>415, 174=>1000, 175=>500, 176=>500,
177=>838, 178=>438, 179=>438, 180=>500, 181=>736, 182=>636, 183=>380, 184=>500, 185=>438, 186=>564, 187=>650, 188=>1035, 189=>1035, 190=>1035, 191=>580, 192=>774,
193=>774, 194=>774, 195=>774, 196=>774, 197=>774, 198=>1085, 199=>734, 200=>683, 201=>683, 202=>683, 203=>683, 204=>372, 205=>372, 206=>372, 207=>372, 208=>845,
209=>837, 210=>850, 211=>850, 212=>850, 213=>850, 214=>850, 215=>838, 216=>850, 217=>812, 218=>812, 219=>812, 220=>812, 221=>724, 222=>742, 223=>719, 224=>675,
225=>675, 226=>675, 227=>675, 228=>675, 229=>675, 230=>1048, 231=>593, 232=>678, 233=>678, 234=>678, 235=>678, 236=>343, 237=>343, 238=>343, 239=>343, 240=>687,
241=>712, 242=>687, 243=>687, 244=>687, 245=>687, 246=>687, 247=>838, 248=>687, 249=>712, 250=>712, 251=>712, 252=>712, 253=>652, 254=>716, 255=>652, 256=>774,
257=>675, 258=>774, 259=>675, 260=>774, 261=>675, 262=>734, 263=>593, 264=>734, 265=>593, 266=>734, 267=>593, 268=>734, 269=>593, 270=>830, 271=>716, 272=>845,
273=>716, 274=>683, 275=>678, 276=>683, 277=>678, 278=>683, 279=>678, 280=>683, 281=>678, 282=>683, 283=>678, 284=>821, 285=>716, 286=>821, 287=>716, 288=>821,
289=>716, 290=>821, 291=>716, 292=>837, 293=>712, 294=>974, 295=>790, 296=>372, 297=>343, 298=>372, 299=>343, 300=>372, 301=>343, 302=>372, 303=>343, 304=>372,
305=>343, 306=>744, 307=>686, 308=>372, 309=>343, 310=>775, 311=>665, 312=>665, 313=>637, 314=>343, 315=>637, 316=>343, 317=>637, 318=>459, 319=>637, 320=>486,
321=>660, 322=>375, 323=>837, 324=>712, 325=>837, 326=>712, 327=>837, 328=>712, 329=>983, 330=>837, 331=>712, 332=>850, 333=>687, 334=>850, 335=>687, 336=>850,
337=>687, 340=>770, 341=>493, 342=>770, 343=>493, 344=>770, 345=>493, 346=>720, 347=>595, 348=>720, 349=>595, 350=>720, 351=>595, 354=>682, 355=>478, 356=>682,
357=>478, 358=>682, 359=>478, 360=>812, 361=>712, 362=>812, 363=>712, 364=>812, 365=>712, 366=>812, 367=>712, 368=>812, 369=>712, 370=>812, 371=>712, 372=>1103,
373=>924, 374=>724, 375=>652, 377=>725, 378=>582, 379=>725, 380=>582, 383=>435, 384=>716, 385=>811, 386=>762, 387=>716, 388=>762, 389=>716, 390=>734, 391=>734,
392=>593, 393=>845, 394=>879, 395=>762, 396=>716, 397=>687, 398=>683, 399=>850, 400=>696, 401=>683, 403=>821, 404=>793, 405=>1045, 406=>436, 407=>389, 408=>775,
409=>665, 410=>360, 411=>592, 412=>1042, 413=>837, 414=>712, 415=>850, 416=>850, 417=>687, 418=>1114, 419=>962, 420=>782, 421=>716, 422=>770, 423=>720, 424=>595,
425=>683, 426=>552, 427=>478, 428=>707, 429=>478, 430=>682, 431=>812, 432=>712, 433=>769, 434=>813, 435=>797, 436=>778, 437=>725, 438=>582, 439=>772, 440=>772,
441=>641, 442=>582, 443=>696, 444=>772, 445=>641, 446=>573, 447=>716, 448=>372, 449=>659, 450=>544, 451=>372, 452=>1548, 453=>1450, 454=>1307, 455=>977, 456=>979,
457=>670, 458=>1193, 459=>1213, 460=>1063, 461=>774, 462=>675, 463=>372, 464=>343, 465=>850, 466=>687, 467=>812, 468=>712, 469=>812, 470=>712, 471=>812, 472=>712,
473=>812, 474=>712, 475=>812, 476=>712, 477=>678, 478=>774, 479=>675, 480=>774, 481=>675, 482=>1085, 483=>1048, 484=>821, 485=>716, 486=>821, 487=>716, 488=>775,
489=>665, 490=>850, 491=>687, 492=>850, 493=>687, 494=>772, 495=>582, 496=>343, 497=>1548, 498=>1450, 499=>1307, 500=>821, 501=>716, 502=>1289, 503=>787, 504=>837,
505=>712, 506=>774, 507=>675, 508=>1085, 509=>1048, 510=>850, 511=>687, 512=>774, 513=>675, 514=>774, 515=>675, 516=>683, 517=>678, 518=>683, 519=>678, 520=>372,
521=>343, 522=>372, 523=>343, 524=>850, 525=>687, 526=>850, 527=>687, 528=>770, 529=>493, 530=>770, 531=>493, 532=>812, 533=>712, 534=>812, 535=>712, 536=>720,
537=>595, 538=>682, 539=>478, 540=>690, 541=>607, 542=>837, 543=>712, 544=>837, 545=>865, 546=>809, 547=>659, 548=>725, 549=>582, 550=>774, 551=>675, 552=>683,
553=>678, 554=>850, 555=>687, 556=>850, 557=>687, 558=>850, 559=>687, 560=>850, 561=>687, 562=>724, 563=>652, 564=>492, 565=>867, 566=>512, 567=>343, 568=>1088,
569=>1088, 570=>774, 571=>734, 572=>593, 573=>637, 574=>682, 575=>595, 576=>582, 577=>782, 578=>614, 579=>762, 580=>812, 581=>774, 582=>683, 583=>678, 584=>372,
585=>343, 586=>860, 587=>791, 588=>770, 589=>493, 590=>724, 591=>652, 592=>675, 593=>716, 594=>716, 595=>716, 596=>593, 597=>593, 598=>791, 599=>792, 600=>678,
601=>678, 602=>876, 603=>557, 604=>545, 605=>774, 606=>731, 607=>343, 608=>792, 609=>716, 610=>627, 611=>735, 612=>635, 613=>712, 614=>712, 615=>712, 616=>545,
617=>440, 618=>545, 619=>559, 620=>693, 621=>343, 622=>841, 623=>1042, 624=>1042, 625=>1042, 626=>712, 627=>793, 628=>642, 629=>687, 630=>909, 631=>682, 632=>796,
633=>538, 634=>538, 635=>650, 636=>493, 637=>493, 638=>596, 639=>596, 640=>642, 641=>642, 642=>595, 643=>415, 644=>435, 645=>605, 646=>552, 647=>478, 648=>478,
649=>920, 650=>769, 651=>670, 652=>652, 653=>924, 654=>652, 655=>724, 656=>694, 657=>684, 658=>641, 659=>641, 660=>573, 661=>573, 662=>573, 663=>573, 664=>850,
665=>633, 666=>731, 667=>685, 668=>691, 669=>343, 670=>732, 671=>539, 672=>792, 673=>573, 674=>573, 675=>1156, 676=>1214, 677=>1155, 678=>974, 679=>769, 680=>929,
681=>1026, 682=>792, 683=>780, 684=>591, 685=>415, 686=>677, 687=>789, 688=>456, 689=>456, 690=>219, 691=>315, 692=>315, 693=>315, 694=>411, 695=>591, 696=>417,
697=>302, 698=>521, 699=>380, 700=>380, 701=>380, 702=>366, 703=>366, 704=>326, 705=>326, 706=>500, 707=>500, 708=>500, 709=>500, 711=>500, 712=>306, 713=>500,
714=>500, 715=>500, 716=>306, 717=>500, 718=>500, 719=>500, 720=>337, 721=>337, 722=>366, 723=>366, 724=>500, 725=>500, 726=>500, 727=>500, 728=>500, 729=>500,
730=>500, 731=>500, 733=>500, 734=>351, 735=>500, 736=>412, 737=>219, 738=>381, 739=>413, 740=>326, 741=>500, 742=>500, 743=>500, 744=>500, 745=>500, 748=>500,
749=>500, 750=>500, 755=>500, 759=>500, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 850=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0, 884=>302,
885=>302, 890=>500, 891=>593, 892=>550, 893=>549, 894=>337, 900=>441, 901=>500, 902=>797, 903=>380, 904=>846, 905=>1009, 906=>563, 908=>891, 910=>980, 911=>894,
912=>390, 913=>774, 914=>762, 915=>637, 916=>774, 917=>683, 918=>725, 919=>837, 920=>850, 921=>372, 922=>775, 923=>774, 924=>995, 925=>837, 926=>632, 927=>850,
928=>837, 929=>733, 931=>683, 932=>682, 933=>724, 934=>850, 935=>771, 936=>850, 937=>850, 938=>372, 939=>724, 940=>687, 941=>557, 942=>712, 943=>390, 944=>675,
945=>687, 946=>716, 947=>681, 948=>687, 949=>557, 950=>591, 951=>712, 952=>687, 953=>390, 954=>710, 955=>633, 956=>736, 957=>681, 958=>591, 959=>687, 960=>791,
961=>716, 962=>593, 963=>779, 964=>638, 965=>675, 966=>782, 967=>645, 968=>794, 969=>869, 970=>390, 971=>675, 972=>687, 973=>675, 974=>869, 976=>651, 977=>661,
978=>746, 979=>981, 980=>746, 981=>796, 982=>869, 983=>744, 984=>850, 985=>687, 986=>734, 987=>593, 988=>683, 989=>494, 990=>702, 991=>660, 992=>919, 993=>627,
994=>1093, 995=>837, 996=>832, 997=>716, 998=>928, 999=>744, 1000=>733, 1001=>650, 1002=>789, 1003=>671, 1004=>752, 1005=>716, 1006=>682, 1007=>590, 1008=>744, 1009=>716,
1010=>593, 1011=>343, 1012=>850, 1013=>645, 1014=>645, 1015=>742, 1016=>716, 1017=>734, 1018=>995, 1019=>732, 1020=>716, 1021=>734, 1022=>734, 1023=>698, 1024=>683, 1025=>683,
1026=>878, 1028=>734, 1029=>720, 1030=>372, 1031=>372, 1032=>372, 1033=>1154, 1034=>1130, 1035=>878, 1037=>837, 1038=>771, 1040=>774, 1041=>762, 1042=>762, 1043=>637, 1044=>891,
1045=>683, 1046=>1224, 1047=>710, 1048=>837, 1049=>837, 1050=>817, 1051=>831, 1052=>995, 1053=>837, 1054=>850, 1055=>837, 1056=>733, 1057=>734, 1058=>682, 1059=>771, 1060=>992,
1061=>771, 1062=>928, 1063=>808, 1064=>1235, 1065=>1326, 1066=>939, 1067=>1036, 1068=>762, 1069=>734, 1070=>1174, 1071=>770, 1072=>675, 1073=>698, 1074=>633, 1075=>522, 1076=>808,
1077=>678, 1078=>995, 1079=>581, 1080=>701, 1081=>701, 1082=>679, 1083=>732, 1084=>817, 1085=>691, 1086=>687, 1087=>691, 1088=>716, 1089=>593, 1090=>580, 1091=>652, 1092=>992,
1093=>645, 1094=>741, 1095=>687, 1096=>1062, 1097=>1105, 1098=>751, 1099=>904, 1100=>632, 1101=>593, 1102=>972, 1103=>642, 1104=>678, 1105=>678, 1106=>714, 1107=>522, 1108=>593,
1109=>595, 1110=>343, 1111=>343, 1112=>343, 1113=>991, 1114=>956, 1115=>734, 1117=>701, 1118=>652, 1119=>691, 1120=>1093, 1121=>869, 1122=>840, 1123=>736, 1124=>1012, 1125=>839,
1126=>992, 1127=>832, 1128=>1358, 1129=>1121, 1130=>850, 1131=>687, 1132=>1236, 1133=>1007, 1134=>696, 1135=>557, 1136=>1075, 1137=>1061, 1138=>850, 1139=>667, 1140=>850, 1141=>695,
1142=>850, 1143=>695, 1144=>1148, 1145=>1043, 1146=>1074, 1147=>863, 1148=>1405, 1149=>1173, 1150=>1093, 1151=>869, 1152=>734, 1153=>593, 1154=>652, 1155=>0, 1156=>0, 1157=>0,
1158=>0, 1160=>418, 1161=>418, 1162=>938, 1163=>806, 1164=>762, 1165=>611, 1166=>736, 1167=>718, 1168=>637, 1169=>522, 1170=>666, 1171=>543, 1172=>789, 1173=>522, 1174=>1224,
1175=>995, 1176=>710, 1177=>581, 1178=>775, 1179=>679, 1180=>817, 1181=>679, 1182=>817, 1183=>679, 1184=>1015, 1185=>826, 1186=>837, 1187=>691, 1188=>1103, 1189=>871, 1190=>1254,
1191=>979, 1192=>875, 1193=>710, 1194=>734, 1195=>593, 1196=>682, 1197=>580, 1198=>724, 1199=>652, 1200=>724, 1201=>652, 1202=>771, 1203=>645, 1204=>1104, 1205=>1001, 1206=>808,
1207=>687, 1208=>808, 1209=>687, 1210=>808, 1211=>712, 1212=>1026, 1213=>810, 1214=>1026, 1215=>810, 1216=>372, 1217=>1224, 1218=>995, 1219=>778, 1220=>629, 1221=>933, 1222=>804,
1223=>837, 1224=>691, 1225=>938, 1226=>806, 1227=>808, 1228=>687, 1229=>1096, 1230=>932, 1231=>343, 1232=>774, 1233=>675, 1234=>774, 1235=>675, 1236=>1085, 1237=>1048, 1238=>683,
1239=>678, 1240=>850, 1241=>678, 1242=>850, 1243=>678, 1244=>1224, 1245=>995, 1246=>710, 1247=>581, 1248=>772, 1249=>641, 1250=>837, 1251=>701, 1252=>837, 1253=>701, 1254=>850,
1255=>687, 1256=>850, 1257=>687, 1258=>850, 1259=>687, 1260=>734, 1261=>593, 1262=>771, 1263=>652, 1264=>771, 1265=>652, 1266=>771, 1267=>652, 1268=>808, 1269=>687, 1270=>637,
1271=>522, 1272=>1036, 1273=>904, 1274=>666, 1275=>543, 1276=>771, 1277=>645, 1278=>771, 1279=>645, 1280=>762, 1281=>608, 1282=>1159, 1283=>893, 1284=>1119, 1285=>920, 1286=>828,
1287=>693, 1288=>1242, 1289=>1017, 1290=>1248, 1291=>1013, 1292=>839, 1293=>638, 1294=>938, 1295=>803, 1296=>696, 1297=>557, 1298=>831, 1299=>732, 1329=>984, 1330=>812, 1331=>984,
1332=>984, 1333=>812, 1334=>777, 1335=>812, 1336=>812, 1337=>975, 1338=>984, 1339=>812, 1340=>710, 1341=>1078, 1342=>1136, 1343=>812, 1344=>710, 1345=>757, 1346=>984, 1347=>876,
1348=>984, 1349=>793, 1350=>984, 1351=>812, 1352=>812, 1353=>812, 1354=>958, 1355=>777, 1356=>984, 1357=>812, 1358=>984, 1359=>720, 1360=>812, 1361=>793, 1362=>895, 1363=>850,
1364=>936, 1365=>850, 1366=>720, 1369=>366, 1370=>380, 1371=>550, 1372=>550, 1373=>380, 1374=>546, 1375=>521, 1377=>1042, 1378=>712, 1379=>866, 1380=>868, 1381=>712, 1382=>817,
1383=>653, 1384=>712, 1385=>811, 1386=>817, 1387=>712, 1388=>498, 1389=>1018, 1390=>716, 1391=>712, 1392=>712, 1393=>716, 1394=>819, 1395=>712, 1396=>751, 1397=>343, 1398=>882,
1399=>559, 1400=>712, 1401=>559, 1402=>1042, 1403=>559, 1404=>863, 1405=>712, 1406=>813, 1407=>1042, 1408=>712, 1409=>716, 1410=>571, 1411=>1042, 1412=>778, 1413=>687, 1414=>720,
1415=>862, 1417=>400, 1418=>487, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0, 1469=>0,
1471=>0, 1472=>372, 1473=>0, 1474=>0, 1475=>372, 1478=>532, 1479=>0, 1488=>751, 1489=>731, 1490=>537, 1491=>684, 1492=>778, 1493=>372, 1494=>521, 1495=>778, 1496=>770,
1497=>372, 1498=>778, 1499=>750, 1500=>718, 1501=>778, 1502=>856, 1503=>372, 1504=>532, 1505=>855, 1506=>720, 1507=>802, 1508=>777, 1509=>628, 1510=>751, 1511=>803, 1512=>778,
1513=>963, 1514=>822, 1520=>692, 1521=>692, 1522=>692, 3647=>743, 3713=>815, 3714=>748, 3716=>749, 3719=>569, 3720=>742, 3722=>744, 3725=>761, 3732=>706, 3733=>704, 3734=>747,
3735=>819, 3737=>730, 3738=>727, 3739=>727, 3740=>922, 3741=>827, 3742=>866, 3743=>866, 3745=>836, 3746=>761, 3747=>770, 3749=>769, 3751=>713, 3754=>827, 3755=>1031, 3757=>724,
3758=>784, 3759=>934, 3760=>688, 3761=>0, 3762=>610, 3763=>610, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>670, 3776=>516,
3777=>860, 3778=>516, 3779=>650, 3780=>632, 3782=>759, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>1363, 3805=>1363, 5121=>774, 5122=>774, 5123=>774,
5124=>774, 5125=>905, 5126=>905, 5127=>905, 5129=>905, 5130=>905, 5131=>905, 5132=>1018, 5133=>1009, 5134=>1018, 5135=>1009, 5136=>1018, 5137=>1009, 5138=>1149, 5139=>1140, 5140=>1149,
5141=>1140, 5142=>905, 5143=>1149, 5144=>1142, 5145=>1149, 5146=>1142, 5147=>905, 5149=>310, 5150=>529, 5151=>425, 5152=>425, 5153=>395, 5154=>395, 5155=>395, 5156=>395, 5157=>564,
5158=>470, 5159=>310, 5160=>395, 5161=>395, 5162=>395, 5163=>1213, 5164=>986, 5165=>1216, 5166=>1297, 5167=>774, 5168=>774, 5169=>774, 5170=>774, 5171=>886, 5172=>886, 5173=>886,
5175=>886, 5176=>886, 5177=>886, 5178=>1018, 5179=>1009, 5180=>1018, 5181=>1009, 5182=>1018, 5183=>1009, 5184=>1149, 5185=>1140, 5186=>1149, 5187=>1140, 5188=>1149, 5189=>1142, 5190=>1149,
5191=>1142, 5192=>886, 5193=>576, 5194=>229, 5196=>812, 5197=>812, 5198=>812, 5199=>812, 5200=>815, 5201=>815, 5202=>815, 5204=>815, 5205=>815, 5206=>815, 5207=>1056, 5208=>1048,
5209=>1056, 5210=>1048, 5211=>1056, 5212=>1048, 5213=>1060, 5214=>1054, 5215=>1060, 5216=>1054, 5217=>1060, 5218=>1052, 5219=>1060, 5220=>1052, 5221=>1060, 5222=>483, 5223=>1005, 5224=>1005,
5225=>1023, 5226=>1017, 5227=>743, 5228=>743, 5229=>743, 5230=>743, 5231=>743, 5232=>743, 5233=>743, 5234=>743, 5235=>743, 5236=>1029, 5237=>975, 5238=>980, 5239=>975, 5240=>980,
5241=>975, 5242=>1029, 5243=>975, 5244=>1029, 5245=>975, 5246=>980, 5247=>975, 5248=>980, 5249=>975, 5250=>980, 5251=>501, 5252=>501, 5253=>938, 5254=>938, 5255=>938, 5256=>938,
5257=>743, 5258=>743, 5259=>743, 5260=>743, 5261=>743, 5262=>743, 5263=>743, 5264=>743, 5265=>743, 5266=>1029, 5267=>975, 5268=>1029, 5269=>975, 5270=>1029, 5271=>975, 5272=>1029,
5273=>975, 5274=>1029, 5275=>975, 5276=>1029, 5277=>975, 5278=>1029, 5279=>975, 5280=>1029, 5281=>501, 5282=>501, 5283=>626, 5284=>626, 5285=>626, 5286=>626, 5287=>626, 5288=>626,
5289=>626, 5290=>626, 5291=>626, 5292=>881, 5293=>854, 5294=>863, 5295=>874, 5296=>863, 5297=>874, 5298=>881, 5299=>874, 5300=>881, 5301=>874, 5302=>863, 5303=>874, 5304=>863,
5305=>874, 5306=>863, 5307=>436, 5308=>548, 5309=>436, 5312=>988, 5313=>988, 5314=>988, 5315=>988, 5316=>931, 5317=>931, 5318=>931, 5319=>931, 5320=>931, 5321=>1238, 5322=>1247,
5323=>1200, 5324=>1228, 5325=>1200, 5326=>1228, 5327=>931, 5328=>660, 5329=>497, 5330=>660, 5331=>988, 5332=>988, 5333=>988, 5334=>988, 5335=>931, 5336=>931, 5337=>931, 5338=>931,
5339=>931, 5340=>1231, 5341=>1247, 5342=>1283, 5343=>1228, 5344=>1283, 5345=>1228, 5346=>1228, 5347=>1214, 5348=>1228, 5349=>1214, 5350=>1283, 5351=>1228, 5352=>1283, 5353=>1228, 5354=>660,
5356=>886, 5357=>730, 5358=>730, 5359=>730, 5360=>730, 5361=>730, 5362=>730, 5363=>730, 5364=>730, 5365=>730, 5366=>998, 5367=>958, 5368=>967, 5369=>989, 5370=>967, 5371=>989,
5372=>998, 5373=>958, 5374=>998, 5375=>958, 5376=>967, 5377=>989, 5378=>967, 5379=>989, 5380=>967, 5381=>493, 5382=>460, 5383=>493, 5392=>923, 5393=>923, 5394=>923, 5395=>1136,
5396=>1136, 5397=>1136, 5398=>1136, 5399=>1209, 5400=>1202, 5401=>1209, 5402=>1202, 5403=>1209, 5404=>1202, 5405=>1431, 5406=>1420, 5407=>1431, 5408=>1420, 5409=>1431, 5410=>1420, 5411=>1431,
5412=>1420, 5413=>746, 5414=>776, 5415=>776, 5416=>776, 5417=>776, 5418=>776, 5419=>776, 5420=>776, 5421=>776, 5422=>776, 5423=>1003, 5424=>1003, 5425=>1013, 5426=>996, 5427=>1013,
5428=>996, 5429=>1003, 5430=>1003, 5431=>1003, 5432=>1003, 5433=>1013, 5434=>996, 5435=>1013, 5436=>996, 5437=>1013, 5438=>495, 5440=>395, 5441=>510, 5442=>1033, 5443=>1033, 5444=>976,
5445=>976, 5446=>976, 5447=>976, 5448=>733, 5449=>733, 5450=>733, 5451=>733, 5452=>733, 5453=>733, 5454=>1003, 5455=>959, 5456=>495, 5458=>886, 5459=>774, 5460=>774, 5461=>774,
5462=>774, 5463=>928, 5464=>928, 5465=>928, 5466=>928, 5467=>1172, 5468=>1142, 5469=>602, 5470=>812, 5471=>812, 5472=>812, 5473=>812, 5474=>812, 5475=>812, 5476=>815, 5477=>815,
5478=>815, 5479=>815, 5480=>1060, 5481=>1052, 5482=>548, 5492=>977, 5493=>977, 5494=>977, 5495=>977, 5496=>977, 5497=>977, 5498=>977, 5499=>618, 5500=>837, 5501=>510, 5502=>1238,
5503=>1238, 5504=>1238, 5505=>1238, 5506=>1238, 5507=>1238, 5508=>1238, 5509=>989, 5514=>977, 5515=>977, 5516=>977, 5517=>977, 5518=>1591, 5519=>1591, 5520=>1591, 5521=>1295, 5522=>1295,
5523=>1591, 5524=>1591, 5525=>848, 5526=>1273, 5536=>988, 5537=>988, 5538=>931, 5539=>931, 5540=>931, 5541=>931, 5542=>660, 5543=>776, 5544=>776, 5545=>776, 5546=>776, 5547=>776,
5548=>776, 5549=>776, 5550=>495, 5551=>743, 5598=>830, 5601=>830, 5702=>496, 5703=>496, 5742=>413, 5743=>1238, 5744=>1591, 5745=>2016, 5746=>2016, 5747=>1720, 5748=>1678, 5749=>2016,
5750=>2016, 7424=>652, 7425=>833, 7426=>1048, 7427=>608, 7428=>593, 7429=>676, 7430=>676, 7431=>559, 7432=>557, 7433=>343, 7434=>494, 7435=>665, 7436=>539, 7437=>817, 7438=>701,
7439=>687, 7440=>593, 7441=>660, 7442=>660, 7443=>660, 7444=>1094, 7446=>687, 7447=>687, 7448=>556, 7449=>642, 7450=>642, 7451=>580, 7452=>634, 7453=>737, 7454=>948, 7455=>695,
7456=>652, 7457=>924, 7458=>582, 7459=>646, 7462=>539, 7463=>652, 7464=>691, 7465=>556, 7466=>781, 7467=>732, 7468=>487, 7469=>683, 7470=>480, 7472=>523, 7473=>430, 7474=>430,
7475=>517, 7476=>527, 7477=>234, 7478=>234, 7479=>488, 7480=>401, 7481=>626, 7482=>527, 7483=>527, 7484=>535, 7485=>509, 7486=>461, 7487=>485, 7488=>430, 7489=>511, 7490=>695,
7491=>458, 7492=>458, 7493=>479, 7494=>712, 7495=>479, 7496=>479, 7497=>479, 7498=>479, 7499=>386, 7500=>386, 7501=>479, 7502=>219, 7503=>487, 7504=>664, 7505=>456, 7506=>488,
7507=>414, 7508=>488, 7509=>488, 7510=>479, 7511=>388, 7512=>456, 7513=>462, 7514=>664, 7515=>501, 7517=>451, 7518=>429, 7519=>433, 7520=>493, 7521=>406, 7522=>219, 7523=>315,
7524=>456, 7525=>501, 7526=>451, 7527=>429, 7528=>433, 7529=>493, 7530=>406, 7543=>716, 7544=>527, 7547=>545, 7557=>514, 7579=>479, 7580=>414, 7581=>414, 7582=>488, 7583=>386,
7584=>377, 7585=>348, 7586=>479, 7587=>456, 7588=>347, 7589=>281, 7590=>347, 7591=>347, 7592=>431, 7593=>326, 7594=>330, 7595=>370, 7596=>664, 7597=>664, 7598=>562, 7599=>562,
7600=>448, 7601=>488, 7602=>542, 7603=>422, 7604=>396, 7605=>388, 7606=>583, 7607=>494, 7608=>399, 7609=>451, 7610=>501, 7611=>417, 7612=>523, 7613=>470, 7614=>455, 7615=>425,
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>774, 7681=>675, 7682=>762, 7683=>716, 7684=>762, 7685=>716, 7686=>762, 7687=>716, 7688=>734, 7689=>593,
7690=>830, 7691=>716, 7692=>830, 7693=>716, 7694=>830, 7695=>716, 7696=>830, 7697=>716, 7698=>830, 7699=>716, 7700=>683, 7701=>678, 7702=>683, 7703=>678, 7704=>683, 7705=>678,
7706=>683, 7707=>678, 7708=>683, 7709=>678, 7710=>683, 7711=>435, 7712=>821, 7713=>716, 7714=>837, 7715=>712, 7716=>837, 7717=>712, 7718=>837, 7719=>712, 7720=>837, 7721=>712,
7722=>837, 7723=>712, 7724=>372, 7725=>343, 7726=>372, 7727=>343, 7728=>775, 7729=>665, 7730=>775, 7731=>665, 7732=>775, 7733=>665, 7734=>637, 7735=>343, 7736=>637, 7737=>343,
7738=>637, 7739=>343, 7740=>637, 7741=>343, 7742=>995, 7743=>1042, 7744=>995, 7745=>1042, 7746=>995, 7747=>1042, 7748=>837, 7749=>712, 7750=>837, 7751=>712, 7752=>837, 7753=>712,
7754=>837, 7755=>712, 7756=>850, 7757=>687, 7758=>850, 7759=>687, 7760=>850, 7761=>687, 7762=>850, 7763=>687, 7764=>733, 7765=>716, 7766=>733, 7767=>716, 7768=>770, 7769=>493,
7770=>770, 7771=>493, 7772=>770, 7773=>493, 7774=>770, 7775=>493, 7776=>720, 7777=>595, 7778=>720, 7779=>595, 7780=>720, 7781=>595, 7782=>720, 7783=>595, 7784=>720, 7785=>595,
7786=>682, 7787=>478, 7788=>682, 7789=>478, 7790=>682, 7791=>478, 7792=>682, 7793=>478, 7794=>812, 7795=>712, 7796=>812, 7797=>712, 7798=>812, 7799=>712, 7800=>812, 7801=>712,
7802=>812, 7803=>712, 7804=>774, 7805=>652, 7806=>774, 7807=>652, 7808=>1103, 7809=>924, 7810=>1103, 7811=>924, 7812=>1103, 7813=>924, 7814=>1103, 7815=>924, 7816=>1103, 7817=>924,
7818=>771, 7819=>645, 7820=>771, 7821=>645, 7822=>724, 7823=>652, 7824=>725, 7825=>582, 7826=>725, 7827=>582, 7828=>725, 7829=>582, 7830=>712, 7831=>478, 7832=>924, 7833=>652,
7834=>675, 7835=>435, 7840=>774, 7841=>675, 7842=>774, 7843=>675, 7844=>774, 7845=>675, 7846=>774, 7847=>675, 7848=>774, 7849=>675, 7850=>774, 7851=>675, 7852=>774, 7853=>675,
7854=>774, 7855=>675, 7856=>774, 7857=>675, 7858=>774, 7859=>675, 7860=>774, 7861=>675, 7862=>774, 7863=>675, 7864=>683, 7865=>678, 7866=>683, 7867=>678, 7868=>683, 7869=>678,
7870=>683, 7871=>678, 7872=>683, 7873=>678, 7874=>683, 7875=>678, 7876=>683, 7877=>678, 7878=>683, 7879=>678, 7880=>372, 7881=>343, 7882=>372, 7883=>343, 7884=>850, 7885=>687,
7886=>850, 7887=>687, 7888=>850, 7889=>687, 7890=>850, 7891=>687, 7892=>850, 7893=>687, 7894=>850, 7895=>687, 7896=>850, 7897=>687, 7898=>850, 7899=>687, 7900=>850, 7901=>687,
7902=>850, 7903=>687, 7904=>850, 7905=>687, 7906=>850, 7907=>687, 7908=>812, 7909=>712, 7910=>812, 7911=>712, 7912=>812, 7913=>712, 7914=>812, 7915=>712, 7916=>812, 7917=>712,
7918=>812, 7919=>712, 7920=>812, 7921=>712, 7922=>724, 7923=>652, 7924=>724, 7925=>652, 7926=>724, 7927=>652, 7928=>724, 7929=>652, 7936=>687, 7937=>687, 7938=>687, 7939=>687,
7940=>687, 7941=>687, 7942=>687, 7943=>687, 7944=>774, 7945=>774, 7946=>1041, 7947=>1043, 7948=>935, 7949=>963, 7950=>835, 7951=>859, 7952=>557, 7953=>557, 7954=>557, 7955=>557,
7956=>557, 7957=>557, 7960=>792, 7961=>794, 7962=>1100, 7963=>1096, 7964=>1023, 7965=>1052, 7968=>712, 7969=>712, 7970=>712, 7971=>712, 7972=>712, 7973=>712, 7974=>712, 7975=>712,
7976=>945, 7977=>951, 7978=>1250, 7979=>1250, 7980=>1180, 7981=>1206, 7982=>1054, 7983=>1063, 7984=>390, 7985=>390, 7986=>390, 7987=>390, 7988=>390, 7989=>390, 7990=>390, 7991=>390,
7992=>483, 7993=>489, 7994=>777, 7995=>785, 7996=>712, 7997=>738, 7998=>604, 7999=>604, 8000=>687, 8001=>687, 8002=>687, 8003=>687, 8004=>687, 8005=>687, 8008=>892, 8009=>933,
8010=>1221, 8011=>1224, 8012=>1053, 8013=>1082, 8016=>675, 8017=>675, 8018=>675, 8019=>675, 8020=>675, 8021=>675, 8022=>675, 8023=>675, 8025=>930, 8027=>1184, 8029=>1199, 8031=>1049,
8032=>869, 8033=>869, 8034=>869, 8035=>869, 8036=>869, 8037=>869, 8038=>869, 8039=>869, 8040=>909, 8041=>958, 8042=>1246, 8043=>1251, 8044=>1076, 8045=>1105, 8046=>1028, 8047=>1076,
8048=>687, 8049=>687, 8050=>557, 8051=>557, 8052=>712, 8053=>712, 8054=>390, 8055=>390, 8056=>687, 8057=>687, 8058=>675, 8059=>675, 8060=>869, 8061=>869, 8064=>687, 8065=>687,
8066=>687, 8067=>687, 8068=>687, 8069=>687, 8070=>687, 8071=>687, 8072=>774, 8073=>774, 8074=>1041, 8075=>1043, 8076=>935, 8077=>963, 8078=>835, 8079=>859, 8080=>712, 8081=>712,
8082=>712, 8083=>712, 8084=>712, 8085=>712, 8086=>712, 8087=>712, 8088=>945, 8089=>951, 8090=>1250, 8091=>1250, 8092=>1180, 8093=>1206, 8094=>1054, 8095=>1063, 8096=>869, 8097=>869,
8098=>869, 8099=>869, 8100=>869, 8101=>869, 8102=>869, 8103=>869, 8104=>909, 8105=>958, 8106=>1246, 8107=>1251, 8108=>1076, 8109=>1105, 8110=>1028, 8111=>1076, 8112=>687, 8113=>687,
8114=>687, 8115=>687, 8116=>687, 8118=>687, 8119=>687, 8120=>774, 8121=>774, 8122=>876, 8123=>797, 8124=>774, 8125=>500, 8126=>500, 8127=>500, 8128=>500, 8129=>500, 8130=>712,
8131=>712, 8132=>712, 8134=>712, 8135=>712, 8136=>929, 8137=>846, 8138=>1080, 8139=>1009, 8140=>837, 8141=>500, 8142=>500, 8143=>500, 8144=>390, 8145=>390, 8146=>390, 8147=>390,
8150=>390, 8151=>390, 8152=>372, 8153=>372, 8154=>621, 8155=>563, 8157=>500, 8158=>500, 8159=>500, 8160=>675, 8161=>675, 8162=>675, 8163=>675, 8164=>716, 8165=>716, 8166=>675,
8167=>675, 8168=>724, 8169=>724, 8170=>1020, 8171=>980, 8172=>838, 8173=>500, 8174=>500, 8175=>500, 8178=>869, 8179=>869, 8180=>869, 8182=>869, 8183=>869, 8184=>1065, 8185=>891,
8186=>1084, 8187=>894, 8188=>850, 8189=>500, 8190=>500, 8192=>500, 8193=>1000, 8194=>500, 8195=>1000, 8196=>330, 8197=>250, 8198=>167, 8199=>696, 8200=>380, 8201=>200, 8202=>100,
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>415, 8209=>415, 8210=>696, 8213=>1000, 8214=>500, 8215=>500, 8219=>380, 8223=>657, 8227=>639, 8228=>380, 8229=>685,
8231=>348, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>200, 8241=>1908, 8242=>264, 8243=>447, 8244=>630, 8245=>264, 8246=>447, 8247=>630, 8248=>733, 8251=>972,
8252=>627, 8253=>580, 8254=>500, 8255=>828, 8256=>828, 8257=>329, 8258=>1023, 8259=>500, 8260=>167, 8261=>457, 8262=>457, 8263=>1030, 8264=>829, 8265=>829, 8266=>513, 8267=>687,
8268=>500, 8269=>500, 8270=>523, 8271=>400, 8272=>828, 8273=>523, 8274=>556, 8275=>838, 8276=>829, 8277=>838, 8278=>684, 8279=>813, 8280=>838, 8281=>838, 8282=>380, 8283=>872,
8284=>838, 8285=>380, 8286=>380, 8287=>222, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>438, 8305=>219,
8308=>438, 8309=>438, 8310=>438, 8311=>438, 8312=>438, 8313=>438, 8314=>528, 8315=>528, 8316=>528, 8317=>288, 8318=>288, 8319=>456, 8320=>438, 8321=>438, 8322=>438, 8323=>438,
8324=>438, 8325=>438, 8326=>438, 8327=>438, 8328=>438, 8329=>438, 8330=>528, 8331=>528, 8332=>528, 8333=>288, 8334=>288, 8336=>458, 8337=>479, 8338=>488, 8339=>413, 8340=>479,
8352=>929, 8353=>696, 8354=>696, 8355=>696, 8356=>696, 8357=>1042, 8358=>837, 8359=>1488, 8360=>1205, 8361=>1103, 8362=>854, 8363=>714, 8365=>696, 8366=>682, 8367=>1392, 8368=>696,
8369=>696, 8370=>696, 8371=>696, 8372=>859, 8373=>696, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>1106, 8449=>1106, 8450=>734, 8451=>1211, 8452=>896, 8453=>1114, 8454=>1148,
8455=>696, 8456=>698, 8457=>952, 8459=>1073, 8460=>913, 8461=>850, 8462=>712, 8463=>712, 8464=>604, 8465=>697, 8466=>868, 8467=>472, 8468=>974, 8469=>837, 8470=>1203, 8471=>1000,
8472=>697, 8473=>702, 8474=>850, 8475=>876, 8476=>814, 8477=>792, 8478=>896, 8479=>710, 8480=>1020, 8481=>1239, 8483=>834, 8484=>725, 8485=>622, 8486=>850, 8487=>769, 8488=>763,
8489=>303, 8490=>775, 8491=>774, 8492=>928, 8493=>776, 8494=>854, 8495=>636, 8496=>738, 8497=>811, 8498=>683, 8499=>1193, 8500=>465, 8501=>794, 8502=>736, 8503=>503, 8504=>695,
8505=>380, 8506=>945, 8507=>1370, 8508=>790, 8509=>737, 8510=>652, 8511=>845, 8512=>840, 8513=>786, 8514=>576, 8515=>637, 8516=>760, 8517=>830, 8518=>716, 8519=>678, 8520=>343,
8521=>343, 8523=>872, 8526=>547, 8531=>1035, 8532=>1035, 8533=>1035, 8534=>1035, 8535=>1035, 8536=>1035, 8537=>1035, 8538=>1035, 8539=>1035, 8540=>1035, 8541=>1035, 8542=>1035, 8543=>615,
8544=>372, 8545=>659, 8546=>945, 8547=>1099, 8548=>774, 8549=>1099, 8550=>1386, 8551=>1672, 8552=>1121, 8553=>771, 8554=>1120, 8555=>1407, 8556=>637, 8557=>734, 8558=>830, 8559=>995,
8560=>343, 8561=>607, 8562=>872, 8563=>984, 8564=>652, 8565=>962, 8566=>1227, 8567=>1491, 8568=>969, 8569=>645, 8570=>969, 8571=>1233, 8572=>343, 8573=>593, 8574=>716, 8575=>1042,
8576=>1289, 8577=>830, 8578=>1289, 8579=>734, 8580=>593, 8592=>838, 8593=>838, 8594=>838, 8595=>838, 8596=>838, 8597=>838, 8598=>838, 8599=>838, 8600=>838, 8601=>838, 8602=>838,
8603=>838, 8604=>838, 8605=>838, 8606=>838, 8607=>838, 8608=>838, 8609=>838, 8610=>838, 8611=>838, 8612=>838, 8613=>838, 8614=>838, 8615=>838, 8616=>838, 8617=>838, 8618=>838,
8619=>838, 8620=>838, 8621=>838, 8622=>838, 8623=>838, 8624=>838, 8625=>838, 8626=>838, 8627=>838, 8628=>838, 8629=>838, 8630=>838, 8631=>838, 8632=>838, 8633=>838, 8634=>838,
8635=>838, 8636=>838, 8637=>838, 8638=>838, 8639=>838, 8640=>838, 8641=>838, 8642=>838, 8643=>838, 8644=>838, 8645=>838, 8646=>838, 8647=>838, 8648=>838, 8649=>838, 8650=>838,
8651=>838, 8652=>838, 8653=>838, 8654=>838, 8655=>838, 8656=>838, 8657=>838, 8658=>838, 8659=>838, 8660=>838, 8661=>838, 8662=>838, 8663=>838, 8664=>838, 8665=>838, 8666=>838,
8667=>838, 8668=>838, 8669=>838, 8670=>838, 8671=>838, 8672=>838, 8673=>838, 8674=>838, 8675=>838, 8676=>838, 8677=>838, 8678=>838, 8679=>838, 8680=>838, 8681=>838, 8682=>838,
8683=>838, 8684=>838, 8685=>838, 8686=>838, 8687=>838, 8688=>838, 8689=>838, 8690=>838, 8691=>838, 8692=>838, 8693=>838, 8694=>838, 8695=>838, 8696=>838, 8697=>838, 8698=>838,
8699=>838, 8700=>838, 8701=>838, 8702=>838, 8703=>838, 8704=>774, 8705=>696, 8706=>544, 8707=>683, 8708=>683, 8709=>856, 8710=>697, 8711=>697, 8712=>896, 8713=>896, 8714=>750,
8715=>896, 8716=>896, 8717=>750, 8718=>636, 8719=>787, 8720=>787, 8721=>718, 8722=>838, 8723=>838, 8724=>696, 8725=>167, 8726=>696, 8727=>838, 8728=>626, 8729=>380, 8730=>667,
8731=>667, 8732=>667, 8733=>669, 8734=>833, 8735=>838, 8736=>896, 8737=>896, 8738=>838, 8739=>500, 8740=>500, 8741=>500, 8742=>500, 8743=>812, 8744=>812, 8745=>812, 8746=>812,
8747=>610, 8748=>929, 8749=>1295, 8750=>563, 8751=>977, 8752=>1313, 8753=>563, 8754=>563, 8755=>563, 8756=>696, 8757=>696, 8758=>294, 8759=>696, 8760=>838, 8761=>838, 8762=>838,
8763=>838, 8764=>838, 8765=>838, 8766=>838, 8767=>838, 8768=>375, 8769=>838, 8770=>838, 8771=>838, 8772=>838, 8773=>838, 8774=>838, 8775=>838, 8776=>838, 8777=>838, 8778=>838,
8779=>838, 8780=>838, 8781=>838, 8782=>838, 8783=>838, 8784=>838, 8785=>838, 8786=>838, 8787=>838, 8788=>1063, 8789=>1063, 8790=>838, 8791=>838, 8792=>838, 8793=>838, 8794=>838,
8795=>838, 8796=>838, 8797=>838, 8798=>838, 8799=>838, 8800=>838, 8801=>838, 8802=>838, 8803=>838, 8804=>838, 8805=>838, 8806=>838, 8807=>838, 8808=>841, 8809=>841, 8810=>1047,
8811=>1047, 8812=>500, 8813=>838, 8814=>838, 8815=>838, 8816=>838, 8817=>838, 8818=>838, 8819=>838, 8820=>838, 8821=>838, 8822=>838, 8823=>838, 8824=>838, 8825=>838, 8826=>838,
8827=>838, 8828=>838, 8829=>838, 8830=>838, 8831=>838, 8832=>838, 8833=>838, 8834=>838, 8835=>838, 8836=>838, 8837=>838, 8838=>838, 8839=>838, 8840=>838, 8841=>838, 8842=>838,
8843=>838, 8844=>812, 8845=>812, 8846=>812, 8847=>838, 8848=>838, 8849=>838, 8850=>838, 8851=>754, 8852=>754, 8853=>838, 8854=>838, 8855=>838, 8856=>838, 8857=>838, 8858=>838,
8859=>838, 8860=>838, 8861=>838, 8862=>838, 8863=>838, 8864=>838, 8865=>838, 8866=>914, 8867=>914, 8868=>914, 8869=>914, 8870=>542, 8871=>542, 8872=>914, 8873=>914, 8874=>914,
8875=>914, 8876=>914, 8877=>914, 8878=>914, 8879=>914, 8882=>838, 8883=>838, 8884=>838, 8885=>838, 8886=>1000, 8887=>1000, 8888=>838, 8889=>838, 8890=>542, 8891=>812, 8892=>812,
8893=>812, 8896=>843, 8897=>843, 8898=>843, 8899=>843, 8900=>494, 8901=>380, 8902=>626, 8904=>1000, 8905=>1000, 8906=>1000, 8907=>1000, 8908=>1000, 8909=>838, 8918=>838, 8919=>838,
8920=>1422, 8921=>1422, 8922=>838, 8923=>838, 8924=>838, 8925=>838, 8926=>838, 8927=>838, 8928=>838, 8929=>838, 8930=>838, 8931=>838, 8932=>838, 8933=>838, 8934=>838, 8935=>838,
8936=>838, 8937=>838, 8938=>838, 8939=>838, 8940=>838, 8941=>838, 8946=>1158, 8947=>896, 8948=>750, 8949=>896, 8950=>896, 8951=>750, 8952=>896, 8953=>896, 8954=>1158, 8955=>896,
8956=>750, 8957=>896, 8958=>750, 8959=>896, 8962=>716, 8966=>917, 8968=>457, 8969=>457, 8970=>457, 8971=>457, 8976=>838, 8977=>539, 8984=>928, 8985=>838, 8992=>610, 8993=>610,
8997=>1000, 9000=>1443, 9085=>863, 9115=>500, 9116=>500, 9117=>500, 9118=>500, 9119=>500, 9120=>500, 9121=>500, 9122=>500, 9123=>500, 9124=>500, 9125=>500, 9126=>500, 9127=>750,
9128=>750, 9129=>750, 9130=>750, 9131=>750, 9132=>750, 9133=>750, 9134=>610, 9166=>838, 9167=>945, 9250=>716, 9251=>716, 9312=>847, 9313=>847, 9314=>847, 9315=>847, 9316=>847,
9317=>847, 9318=>847, 9319=>847, 9320=>847, 9321=>847, 9600=>769, 9601=>769, 9602=>769, 9603=>769, 9604=>769, 9605=>769, 9606=>769, 9607=>769, 9608=>769, 9609=>769, 9610=>769,
9611=>769, 9612=>769, 9613=>769, 9614=>769, 9615=>769, 9616=>769, 9617=>769, 9618=>769, 9619=>769, 9620=>769, 9621=>769, 9622=>769, 9623=>769, 9624=>769, 9625=>769, 9626=>769,
9627=>769, 9628=>769, 9629=>769, 9630=>769, 9631=>769, 9632=>945, 9633=>945, 9634=>945, 9635=>945, 9636=>945, 9637=>945, 9638=>945, 9639=>945, 9640=>945, 9641=>945, 9642=>678,
9643=>678, 9644=>945, 9645=>945, 9646=>550, 9647=>550, 9648=>769, 9649=>769, 9650=>769, 9651=>769, 9652=>502, 9653=>502, 9654=>769, 9655=>769, 9656=>502, 9657=>502, 9658=>769,
9659=>769, 9660=>769, 9661=>769, 9662=>502, 9663=>502, 9664=>769, 9665=>769, 9666=>502, 9667=>502, 9668=>769, 9669=>769, 9670=>769, 9671=>769, 9672=>769, 9673=>873, 9674=>494,
9675=>873, 9676=>873, 9677=>873, 9678=>873, 9679=>873, 9680=>873, 9681=>873, 9682=>873, 9683=>873, 9684=>873, 9685=>873, 9686=>527, 9687=>527, 9688=>840, 9689=>970, 9690=>970,
9691=>970, 9692=>387, 9693=>387, 9694=>387, 9695=>387, 9696=>769, 9697=>769, 9698=>769, 9699=>769, 9700=>769, 9701=>769, 9702=>639, 9703=>945, 9704=>945, 9705=>945, 9706=>945,
9707=>945, 9708=>769, 9709=>769, 9710=>769, 9711=>1119, 9712=>945, 9713=>945, 9714=>945, 9715=>945, 9716=>873, 9717=>873, 9718=>873, 9719=>873, 9720=>769, 9721=>769, 9722=>769,
9723=>830, 9724=>830, 9725=>732, 9726=>732, 9727=>769, 9728=>896, 9729=>1000, 9730=>896, 9731=>896, 9732=>896, 9733=>896, 9734=>896, 9735=>573, 9736=>896, 9737=>896, 9738=>888,
9739=>888, 9740=>671, 9741=>1013, 9742=>1246, 9743=>1250, 9744=>896, 9745=>896, 9746=>896, 9747=>532, 9748=>896, 9749=>896, 9750=>896, 9751=>896, 9752=>896, 9753=>896, 9754=>896,
9755=>896, 9756=>896, 9757=>609, 9758=>896, 9759=>609, 9760=>896, 9761=>896, 9762=>896, 9763=>896, 9764=>669, 9765=>746, 9766=>649, 9767=>784, 9768=>545, 9769=>896, 9770=>896,
9771=>896, 9772=>710, 9773=>896, 9774=>896, 9775=>896, 9776=>896, 9777=>896, 9778=>896, 9779=>896, 9780=>896, 9781=>896, 9782=>896, 9783=>896, 9784=>896, 9785=>896, 9786=>896,
9787=>896, 9788=>896, 9789=>896, 9790=>896, 9791=>614, 9792=>731, 9793=>731, 9794=>896, 9795=>896, 9796=>896, 9797=>896, 9798=>896, 9799=>896, 9800=>896, 9801=>896, 9802=>896,
9803=>896, 9804=>896, 9805=>896, 9806=>896, 9807=>896, 9808=>896, 9809=>896, 9810=>896, 9811=>896, 9812=>896, 9813=>896, 9814=>896, 9815=>896, 9816=>896, 9817=>896, 9818=>896,
9819=>896, 9820=>896, 9821=>896, 9822=>896, 9823=>896, 9824=>896, 9825=>896, 9826=>896, 9827=>896, 9828=>896, 9829=>896, 9830=>896, 9831=>896, 9832=>896, 9833=>472, 9834=>638,
9835=>896, 9836=>896, 9837=>472, 9838=>357, 9839=>484, 9840=>748, 9841=>766, 9842=>896, 9843=>896, 9844=>896, 9845=>896, 9846=>896, 9847=>896, 9848=>896, 9849=>896, 9850=>896,
9851=>896, 9852=>896, 9853=>896, 9854=>896, 9855=>896, 9856=>869, 9857=>869, 9858=>869, 9859=>869, 9860=>869, 9861=>869, 9862=>896, 9863=>896, 9864=>896, 9865=>896, 9866=>896,
9867=>896, 9868=>896, 9869=>896, 9870=>896, 9871=>896, 9872=>896, 9873=>896, 9874=>896, 9875=>896, 9876=>896, 9877=>541, 9878=>896, 9879=>896, 9880=>896, 9881=>896, 9882=>896,
9883=>896, 9884=>896, 9888=>896, 9889=>702, 9890=>838, 9891=>838, 9892=>838, 9893=>838, 9894=>838, 9895=>838, 9896=>838, 9897=>838, 9898=>838, 9899=>838, 9900=>838, 9901=>838,
9902=>838, 9903=>838, 9904=>844, 9905=>838, 9906=>731, 9985=>838, 9986=>838, 9987=>838, 9988=>838, 9990=>838, 9991=>838, 9992=>838, 9993=>838, 9996=>838, 9997=>838, 9998=>838,
9999=>838, 10000=>838, 10001=>838, 10002=>838, 10003=>838, 10004=>838, 10005=>838, 10006=>838, 10007=>838, 10008=>838, 10009=>838, 10010=>838, 10011=>838, 10012=>838, 10013=>838, 10014=>838,
10015=>838, 10016=>838, 10017=>838, 10018=>838, 10019=>838, 10020=>838, 10021=>838, 10022=>838, 10023=>838, 10025=>838, 10026=>838, 10027=>838, 10028=>838, 10029=>838, 10030=>838, 10031=>838,
10032=>838, 10033=>838, 10034=>838, 10035=>838, 10036=>838, 10037=>838, 10038=>838, 10039=>838, 10040=>838, 10041=>838, 10042=>838, 10043=>838, 10044=>838, 10045=>838, 10046=>838, 10047=>838,
10048=>838, 10049=>838, 10050=>838, 10051=>838, 10052=>838, 10053=>838, 10054=>838, 10055=>838, 10056=>838, 10057=>838, 10058=>838, 10059=>838, 10061=>896, 10063=>896, 10064=>896, 10065=>896,
10066=>896, 10070=>896, 10072=>838, 10073=>838, 10074=>838, 10075=>322, 10076=>322, 10077=>538, 10078=>538, 10081=>838, 10082=>838, 10083=>838, 10084=>838, 10085=>838, 10086=>838, 10087=>838,
10088=>838, 10089=>838, 10090=>838, 10091=>838, 10092=>838, 10093=>838, 10094=>838, 10095=>838, 10096=>838, 10097=>838, 10098=>838, 10099=>838, 10100=>838, 10101=>838, 10102=>847, 10103=>847,
10104=>847, 10105=>847, 10106=>847, 10107=>847, 10108=>847, 10109=>847, 10110=>847, 10111=>847, 10112=>838, 10113=>838, 10114=>838, 10115=>838, 10116=>838, 10117=>838, 10118=>838, 10119=>838,
10120=>838, 10121=>838, 10122=>838, 10123=>838, 10124=>838, 10125=>838, 10126=>838, 10127=>838, 10128=>838, 10129=>838, 10130=>838, 10131=>838, 10132=>838, 10136=>838, 10137=>838, 10138=>838,
10139=>838, 10140=>838, 10141=>838, 10142=>838, 10143=>838, 10144=>838, 10145=>838, 10146=>838, 10147=>838, 10148=>838, 10149=>838, 10150=>838, 10151=>838, 10152=>838, 10153=>838, 10154=>838,
10155=>838, 10156=>838, 10157=>838, 10158=>838, 10159=>838, 10161=>838, 10162=>838, 10163=>838, 10164=>838, 10165=>838, 10166=>838, 10167=>838, 10168=>838, 10169=>838, 10170=>838, 10171=>838,
10172=>838, 10173=>838, 10174=>838, 10208=>494, 10214=>487, 10215=>487, 10216=>457, 10217=>457, 10218=>721, 10219=>721, 10224=>838, 10225=>838, 10226=>838, 10227=>838, 10228=>1157, 10229=>1434,
10230=>1434, 10231=>1434, 10232=>1434, 10233=>1434, 10234=>1434, 10235=>1434, 10236=>1434, 10237=>1434, 10238=>1434, 10239=>1434, 10240=>781, 10241=>781, 10242=>781, 10243=>781, 10244=>781, 10245=>781,
10246=>781, 10247=>781, 10248=>781, 10249=>781, 10250=>781, 10251=>781, 10252=>781, 10253=>781, 10254=>781, 10255=>781, 10256=>781, 10257=>781, 10258=>781, 10259=>781, 10260=>781, 10261=>781,
10262=>781, 10263=>781, 10264=>781, 10265=>781, 10266=>781, 10267=>781, 10268=>781, 10269=>781, 10270=>781, 10271=>781, 10272=>781, 10273=>781, 10274=>781, 10275=>781, 10276=>781, 10277=>781,
10278=>781, 10279=>781, 10280=>781, 10281=>781, 10282=>781, 10283=>781, 10284=>781, 10285=>781, 10286=>781, 10287=>781, 10288=>781, 10289=>781, 10290=>781, 10291=>781, 10292=>781, 10293=>781,
10294=>781, 10295=>781, 10296=>781, 10297=>781, 10298=>781, 10299=>781, 10300=>781, 10301=>781, 10302=>781, 10303=>781, 10304=>781, 10305=>781, 10306=>781, 10307=>781, 10308=>781, 10309=>781,
10310=>781, 10311=>781, 10312=>781, 10313=>781, 10314=>781, 10315=>781, 10316=>781, 10317=>781, 10318=>781, 10319=>781, 10320=>781, 10321=>781, 10322=>781, 10323=>781, 10324=>781, 10325=>781,
10326=>781, 10327=>781, 10328=>781, 10329=>781, 10330=>781, 10331=>781, 10332=>781, 10333=>781, 10334=>781, 10335=>781, 10336=>781, 10337=>781, 10338=>781, 10339=>781, 10340=>781, 10341=>781,
10342=>781, 10343=>781, 10344=>781, 10345=>781, 10346=>781, 10347=>781, 10348=>781, 10349=>781, 10350=>781, 10351=>781, 10352=>781, 10353=>781, 10354=>781, 10355=>781, 10356=>781, 10357=>781,
10358=>781, 10359=>781, 10360=>781, 10361=>781, 10362=>781, 10363=>781, 10364=>781, 10365=>781, 10366=>781, 10367=>781, 10368=>781, 10369=>781, 10370=>781, 10371=>781, 10372=>781, 10373=>781,
10374=>781, 10375=>781, 10376=>781, 10377=>781, 10378=>781, 10379=>781, 10380=>781, 10381=>781, 10382=>781, 10383=>781, 10384=>781, 10385=>781, 10386=>781, 10387=>781, 10388=>781, 10389=>781,
10390=>781, 10391=>781, 10392=>781, 10393=>781, 10394=>781, 10395=>781, 10396=>781, 10397=>781, 10398=>781, 10399=>781, 10400=>781, 10401=>781, 10402=>781, 10403=>781, 10404=>781, 10405=>781,
10406=>781, 10407=>781, 10408=>781, 10409=>781, 10410=>781, 10411=>781, 10412=>781, 10413=>781, 10414=>781, 10415=>781, 10416=>781, 10417=>781, 10418=>781, 10419=>781, 10420=>781, 10421=>781,
10422=>781, 10423=>781, 10424=>781, 10425=>781, 10426=>781, 10427=>781, 10428=>781, 10429=>781, 10430=>781, 10431=>781, 10432=>781, 10433=>781, 10434=>781, 10435=>781, 10436=>781, 10437=>781,
10438=>781, 10439=>781, 10440=>781, 10441=>781, 10442=>781, 10443=>781, 10444=>781, 10445=>781, 10446=>781, 10447=>781, 10448=>781, 10449=>781, 10450=>781, 10451=>781, 10452=>781, 10453=>781,
10454=>781, 10455=>781, 10456=>781, 10457=>781, 10458=>781, 10459=>781, 10460=>781, 10461=>781, 10462=>781, 10463=>781, 10464=>781, 10465=>781, 10466=>781, 10467=>781, 10468=>781, 10469=>781,
10470=>781, 10471=>781, 10472=>781, 10473=>781, 10474=>781, 10475=>781, 10476=>781, 10477=>781, 10478=>781, 10479=>781, 10480=>781, 10481=>781, 10482=>781, 10483=>781, 10484=>781, 10485=>781,
10486=>781, 10487=>781, 10488=>781, 10489=>781, 10490=>781, 10491=>781, 10492=>781, 10493=>781, 10494=>781, 10495=>781, 10502=>838, 10503=>838, 10506=>838, 10507=>838, 10560=>838, 10561=>838,
10702=>838, 10703=>1046, 10704=>1046, 10705=>1000, 10706=>1000, 10707=>1000, 10708=>1000, 10709=>1000, 10731=>494, 10752=>1000, 10753=>1000, 10754=>1000, 10764=>1661, 10765=>563, 10766=>563, 10767=>563,
10768=>563, 10769=>563, 10770=>563, 10771=>563, 10772=>563, 10773=>563, 10774=>563, 10775=>563, 10776=>563, 10777=>563, 10778=>563, 10779=>563, 10780=>563, 10877=>838, 10878=>838, 10879=>838,
10880=>838, 10881=>838, 10882=>838, 10883=>838, 10884=>838, 10885=>838, 10886=>838, 10887=>838, 10888=>838, 10889=>838, 10890=>838, 10891=>838, 10892=>838, 10893=>838, 10894=>838, 10895=>838,
10896=>838, 10897=>838, 10898=>838, 10899=>838, 10900=>838, 10901=>838, 10902=>838, 10903=>838, 10904=>838, 10905=>838, 10906=>838, 10907=>838, 10908=>838, 10909=>838, 10910=>838, 10911=>838,
10912=>838, 10926=>838, 10927=>838, 10928=>838, 10929=>838, 10930=>838, 10931=>838, 10932=>838, 10933=>838, 10934=>838, 10935=>838, 10936=>838, 10937=>838, 10938=>838, 11001=>838, 11002=>838,
11008=>838, 11009=>838, 11010=>838, 11011=>838, 11012=>838, 11013=>838, 11014=>838, 11015=>838, 11016=>838, 11017=>838, 11018=>838, 11019=>838, 11020=>838, 11021=>838, 11022=>838, 11023=>838,
11024=>838, 11025=>838, 11026=>945, 11027=>945, 11028=>945, 11029=>945, 11030=>769, 11031=>769, 11032=>769, 11033=>769, 11034=>945, 11040=>869, 11041=>873, 11042=>873, 11043=>873, 11360=>637,
11361=>360, 11362=>637, 11363=>733, 11364=>770, 11365=>675, 11366=>478, 11367=>956, 11368=>712, 11369=>775, 11370=>665, 11371=>725, 11372=>582, 11380=>652, 11381=>649, 11382=>516, 11383=>782,
61960=>860, 62047=>720, 62917=>687, 64256=>833, 64257=>787, 64258=>787, 64259=>1138, 64260=>1139, 64261=>808, 64262=>1020, 64275=>1388, 64276=>1384, 64277=>1378, 64278=>1384, 64279=>1713, 64285=>372,
64287=>692, 64288=>720, 64297=>838, 64298=>975, 64299=>975, 64300=>975, 64301=>975, 64302=>751, 64303=>751, 64304=>751, 64305=>731, 64306=>502, 64307=>684, 64308=>778, 64309=>467, 64310=>521,
64312=>830, 64313=>467, 64314=>778, 64315=>754, 64316=>723, 64318=>868, 64320=>532, 64321=>830, 64323=>827, 64324=>866, 64326=>727, 64327=>814, 64328=>778, 64329=>975, 64330=>822, 64331=>372,
64332=>731, 64333=>754, 64334=>866, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0,
65037=>0, 65038=>0, 65039=>0, 65533=>1113);
$enc='';
$diff='';
$file='DejaVuSans-BoldOblique.z';
$ctg='DejaVuSans-BoldOblique.ctg.z';
$originalsize=468340;
?>

View File

@@ -0,0 +1,287 @@
<?php
$type='TrueTypeUnicode';
$name='DejaVuSansCondensed';
$desc=array('Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-918 -356 1513 1068]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>540);
$up=-42;
$ut=44;
$cw=array(
0=>540, 32=>286, 33=>360, 34=>414, 35=>754, 36=>572, 37=>855, 38=>702, 39=>247, 40=>351, 41=>351, 42=>450, 43=>754, 44=>286, 45=>325, 46=>286,
47=>303, 48=>572, 49=>572, 50=>572, 51=>572, 52=>572, 53=>572, 54=>572, 55=>572, 56=>572, 57=>572, 58=>303, 59=>303, 60=>754, 61=>754, 62=>754,
63=>478, 64=>900, 65=>615, 66=>617, 67=>628, 68=>693, 69=>568, 70=>518, 71=>697, 72=>677, 73=>265, 74=>265, 75=>590, 76=>501, 77=>776, 78=>673,
79=>708, 80=>542, 81=>708, 82=>625, 83=>571, 84=>549, 85=>659, 86=>615, 87=>890, 88=>616, 89=>549, 90=>616, 91=>351, 92=>303, 93=>351, 94=>754,
95=>450, 96=>450, 97=>551, 98=>571, 99=>495, 100=>571, 101=>554, 102=>316, 103=>571, 104=>570, 105=>250, 106=>250, 107=>521, 108=>250, 109=>876, 110=>570,
111=>550, 112=>571, 113=>571, 114=>370, 115=>469, 116=>353, 117=>570, 118=>532, 119=>736, 120=>532, 121=>532, 122=>472, 123=>572, 124=>303, 125=>572, 126=>754,
8364=>572, 1027=>549, 8218=>286, 402=>316, 8222=>466, 8230=>900, 8224=>450, 8225=>450, 710=>450, 8240=>1208, 352=>571, 8249=>360, 338=>962, 1036=>639, 381=>616, 1039=>677,
8216=>286, 8217=>286, 8220=>466, 8221=>466, 8226=>531, 8211=>450, 8212=>900, 732=>450, 8482=>900, 353=>469, 8250=>360, 339=>920, 1116=>543, 382=>472, 376=>549, 160=>286,
161=>360, 162=>572, 163=>572, 164=>572, 165=>572, 166=>303, 167=>450, 168=>450, 169=>900, 170=>424, 171=>550, 172=>754, 173=>325, 174=>900, 175=>450, 176=>450,
177=>754, 178=>360, 179=>360, 180=>450, 181=>572, 182=>572, 183=>286, 184=>450, 185=>360, 186=>424, 187=>550, 188=>872, 189=>872, 190=>872, 191=>478, 192=>615,
193=>615, 194=>615, 195=>615, 196=>615, 197=>615, 198=>876, 199=>628, 200=>568, 201=>568, 202=>568, 203=>568, 204=>265, 205=>265, 206=>265, 207=>265, 208=>697,
209=>673, 210=>708, 211=>708, 212=>708, 213=>708, 214=>708, 215=>754, 216=>708, 217=>659, 218=>659, 219=>659, 220=>659, 221=>549, 222=>544, 223=>567, 224=>551,
225=>551, 226=>551, 227=>551, 228=>551, 229=>551, 230=>883, 231=>495, 232=>554, 233=>554, 234=>554, 235=>554, 236=>250, 237=>250, 238=>250, 239=>250, 240=>550,
241=>570, 242=>550, 243=>550, 244=>550, 245=>550, 246=>550, 247=>754, 248=>550, 249=>570, 250=>570, 251=>570, 252=>570, 253=>532, 254=>571, 255=>532, 256=>615,
257=>551, 258=>615, 259=>551, 260=>615, 261=>551, 262=>628, 263=>495, 264=>628, 265=>495, 266=>628, 267=>495, 268=>628, 269=>495, 270=>693, 271=>571, 272=>697,
273=>571, 274=>568, 275=>554, 276=>568, 277=>554, 278=>568, 279=>554, 280=>568, 281=>554, 282=>568, 283=>554, 284=>697, 285=>571, 286=>697, 287=>571, 288=>697,
289=>571, 290=>697, 291=>571, 292=>677, 293=>570, 294=>824, 295=>625, 296=>265, 297=>250, 298=>265, 299=>250, 300=>265, 301=>250, 302=>265, 303=>250, 304=>265,
305=>250, 306=>531, 307=>500, 308=>265, 309=>250, 310=>590, 311=>521, 312=>521, 313=>501, 314=>264, 315=>501, 316=>250, 317=>501, 318=>337, 319=>501, 320=>308,
321=>505, 322=>255, 323=>673, 324=>570, 325=>673, 326=>570, 327=>673, 328=>570, 329=>732, 330=>673, 331=>570, 332=>708, 333=>550, 334=>708, 335=>550, 336=>708,
337=>550, 340=>625, 341=>370, 342=>625, 343=>370, 344=>625, 345=>370, 346=>571, 347=>469, 348=>571, 349=>469, 350=>571, 351=>469, 354=>549, 355=>353, 356=>549,
357=>353, 358=>549, 359=>353, 360=>659, 361=>570, 362=>659, 363=>570, 364=>659, 365=>570, 366=>659, 367=>570, 368=>659, 369=>570, 370=>659, 371=>570, 372=>890,
373=>736, 374=>549, 375=>532, 377=>616, 378=>472, 379=>616, 380=>472, 383=>316, 384=>571, 385=>661, 386=>617, 387=>571, 388=>617, 389=>571, 390=>633, 391=>628,
392=>495, 393=>697, 394=>737, 395=>617, 396=>571, 397=>550, 398=>568, 399=>708, 400=>553, 401=>518, 403=>697, 404=>618, 405=>885, 406=>318, 407=>265, 408=>671,
409=>521, 410=>250, 411=>532, 412=>876, 413=>673, 414=>570, 415=>708, 416=>822, 417=>550, 418=>854, 419=>683, 420=>586, 421=>571, 422=>625, 423=>571, 424=>469,
425=>568, 426=>302, 427=>353, 428=>549, 429=>353, 430=>549, 431=>772, 432=>570, 433=>688, 434=>648, 435=>669, 436=>656, 437=>616, 438=>472, 439=>599, 440=>599,
441=>520, 442=>472, 443=>572, 444=>599, 445=>520, 446=>459, 447=>571, 448=>265, 449=>443, 450=>413, 451=>266, 452=>1279, 453=>1169, 454=>1039, 455=>751, 456=>708,
457=>411, 458=>838, 459=>831, 460=>717, 461=>615, 462=>551, 463=>265, 464=>250, 465=>708, 466=>550, 467=>659, 468=>570, 469=>659, 470=>570, 471=>659, 472=>570,
473=>659, 474=>570, 475=>659, 476=>570, 477=>554, 478=>615, 479=>551, 480=>615, 481=>551, 482=>876, 483=>883, 484=>697, 485=>571, 486=>697, 487=>571, 488=>590,
489=>521, 490=>708, 491=>550, 492=>708, 493=>550, 494=>599, 495=>520, 496=>250, 497=>1279, 498=>1169, 499=>1039, 500=>697, 501=>571, 502=>1001, 503=>614, 504=>673,
505=>570, 506=>615, 507=>551, 508=>876, 509=>883, 510=>708, 511=>550, 512=>615, 513=>551, 514=>615, 515=>551, 516=>568, 517=>554, 518=>568, 519=>554, 520=>265,
521=>250, 522=>265, 523=>250, 524=>708, 525=>550, 526=>708, 527=>550, 528=>625, 529=>370, 530=>625, 531=>370, 532=>659, 533=>570, 534=>659, 535=>570, 536=>571,
537=>469, 538=>549, 539=>353, 540=>564, 541=>469, 542=>677, 543=>570, 544=>662, 545=>754, 546=>628, 547=>549, 548=>616, 549=>472, 550=>615, 551=>551, 552=>568,
553=>554, 554=>708, 555=>550, 556=>708, 557=>550, 558=>708, 559=>550, 560=>708, 561=>550, 562=>549, 563=>532, 564=>427, 565=>758, 566=>429, 567=>250, 568=>898,
569=>898, 570=>615, 571=>628, 572=>495, 573=>501, 574=>549, 575=>469, 576=>472, 577=>542, 578=>431, 579=>617, 580=>659, 581=>615, 582=>568, 583=>554, 584=>265,
585=>250, 586=>703, 587=>571, 588=>625, 589=>370, 590=>549, 591=>532, 592=>540, 593=>571, 594=>571, 595=>571, 596=>494, 597=>495, 598=>571, 599=>626, 600=>554,
601=>554, 602=>737, 603=>486, 604=>479, 605=>698, 606=>598, 607=>250, 608=>626, 609=>571, 610=>566, 611=>536, 612=>536, 613=>570, 614=>570, 615=>570, 616=>250,
617=>304, 618=>334, 619=>356, 620=>438, 621=>250, 622=>635, 623=>876, 624=>876, 625=>876, 626=>581, 627=>578, 628=>570, 629=>550, 630=>772, 631=>655, 632=>593,
633=>373, 634=>373, 635=>372, 636=>370, 637=>369, 638=>393, 639=>477, 640=>543, 641=>543, 642=>469, 643=>302, 644=>302, 645=>415, 646=>302, 647=>353, 648=>353,
649=>570, 650=>556, 651=>538, 652=>532, 653=>736, 654=>532, 655=>549, 656=>472, 657=>472, 658=>520, 659=>520, 660=>459, 661=>459, 662=>459, 663=>459, 664=>708,
665=>521, 666=>598, 667=>637, 668=>588, 669=>263, 670=>600, 671=>456, 672=>654, 673=>459, 674=>459, 675=>913, 676=>952, 677=>911, 678=>742, 679=>549, 680=>700,
681=>763, 682=>576, 683=>589, 684=>463, 685=>463, 686=>513, 687=>597, 688=>364, 689=>359, 690=>157, 691=>233, 692=>266, 693=>266, 694=>341, 695=>463, 696=>335,
697=>250, 698=>414, 699=>286, 700=>286, 701=>286, 702=>276, 703=>276, 704=>333, 705=>333, 706=>450, 707=>450, 708=>450, 709=>450, 711=>450, 712=>247, 713=>450,
714=>450, 715=>450, 716=>247, 717=>450, 718=>450, 719=>450, 720=>303, 721=>303, 722=>276, 723=>276, 724=>450, 725=>450, 726=>371, 727=>450, 728=>450, 729=>450,
730=>450, 731=>450, 733=>450, 734=>284, 735=>450, 736=>383, 737=>149, 738=>335, 739=>399, 740=>333, 741=>444, 742=>444, 743=>444, 744=>444, 745=>444, 748=>450,
749=>450, 750=>450, 755=>450, 759=>450, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 850=>0, 851=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0,
884=>250, 885=>250, 890=>450, 891=>494, 892=>495, 893=>494, 894=>303, 900=>450, 901=>450, 902=>623, 903=>286, 904=>671, 905=>784, 906=>367, 908=>731, 910=>742,
911=>743, 912=>304, 913=>615, 914=>617, 915=>501, 916=>615, 917=>568, 918=>616, 919=>677, 920=>708, 921=>265, 922=>590, 923=>615, 924=>776, 925=>673, 926=>568,
927=>708, 928=>677, 929=>542, 931=>568, 932=>549, 933=>549, 934=>708, 935=>616, 936=>708, 937=>688, 938=>265, 939=>549, 940=>593, 941=>493, 942=>589, 943=>304,
944=>521, 945=>593, 946=>574, 947=>532, 948=>550, 949=>486, 950=>489, 951=>570, 952=>550, 953=>304, 954=>530, 955=>532, 956=>572, 957=>502, 958=>501, 959=>550,
960=>542, 961=>571, 962=>528, 963=>570, 964=>542, 965=>521, 966=>593, 967=>520, 968=>593, 969=>753, 970=>304, 971=>521, 972=>550, 973=>521, 974=>753, 976=>553,
977=>557, 978=>628, 979=>758, 980=>628, 981=>593, 982=>753, 983=>597, 984=>708, 985=>550, 986=>583, 987=>528, 988=>518, 989=>413, 990=>593, 991=>593, 992=>778,
993=>564, 994=>840, 995=>753, 996=>682, 997=>593, 998=>712, 999=>553, 1000=>618, 1001=>546, 1002=>690, 1003=>563, 1004=>629, 1005=>550, 1006=>549, 1007=>482, 1008=>597,
1009=>571, 1010=>495, 1011=>250, 1012=>708, 1013=>554, 1014=>554, 1015=>544, 1016=>571, 1017=>628, 1018=>776, 1019=>585, 1020=>571, 1021=>633, 1022=>628, 1023=>633, 1024=>568,
1025=>568, 1026=>708, 1028=>628, 1029=>571, 1030=>265, 1031=>265, 1032=>265, 1033=>984, 1034=>940, 1035=>708, 1037=>673, 1038=>548, 1040=>615, 1041=>617, 1042=>617, 1043=>549,
1044=>703, 1045=>568, 1046=>969, 1047=>577, 1048=>673, 1049=>673, 1050=>639, 1051=>677, 1052=>776, 1053=>677, 1054=>708, 1055=>677, 1056=>542, 1057=>628, 1058=>549, 1059=>548,
1060=>774, 1061=>616, 1062=>699, 1063=>617, 1064=>962, 1065=>984, 1066=>749, 1067=>794, 1068=>617, 1069=>628, 1070=>971, 1071=>625, 1072=>551, 1073=>555, 1074=>530, 1075=>473,
1076=>622, 1077=>554, 1078=>811, 1079=>479, 1080=>584, 1081=>584, 1082=>543, 1083=>575, 1084=>679, 1085=>588, 1086=>550, 1087=>588, 1088=>571, 1089=>495, 1090=>524, 1091=>532,
1092=>769, 1093=>532, 1094=>612, 1095=>532, 1096=>823, 1097=>848, 1098=>636, 1099=>710, 1100=>530, 1101=>494, 1102=>757, 1103=>541, 1104=>554, 1105=>554, 1106=>563, 1107=>473,
1108=>494, 1109=>469, 1110=>250, 1111=>250, 1112=>250, 1113=>812, 1114=>809, 1115=>586, 1117=>584, 1118=>532, 1119=>588, 1120=>840, 1121=>753, 1122=>693, 1123=>604, 1124=>848,
1125=>674, 1126=>791, 1127=>705, 1128=>1043, 1129=>901, 1130=>708, 1131=>550, 1132=>924, 1133=>742, 1134=>572, 1135=>486, 1136=>771, 1137=>789, 1138=>708, 1139=>533, 1140=>703,
1141=>598, 1142=>703, 1143=>598, 1144=>893, 1145=>813, 1146=>857, 1147=>682, 1148=>1062, 1149=>925, 1150=>840, 1151=>753, 1152=>628, 1153=>495, 1154=>452, 1155=>0, 1156=>0,
1157=>0, 1158=>0, 1160=>376, 1161=>376, 1162=>695, 1163=>609, 1164=>617, 1165=>530, 1166=>542, 1167=>571, 1168=>549, 1169=>473, 1170=>607, 1171=>500, 1172=>562, 1173=>477,
1174=>969, 1175=>811, 1176=>577, 1177=>479, 1178=>639, 1179=>543, 1180=>639, 1181=>543, 1182=>639, 1183=>543, 1184=>771, 1185=>748, 1186=>677, 1187=>594, 1188=>913, 1189=>789,
1190=>973, 1191=>824, 1192=>716, 1193=>586, 1194=>628, 1195=>495, 1196=>549, 1197=>476, 1198=>549, 1199=>532, 1200=>549, 1201=>532, 1202=>616, 1203=>532, 1204=>840, 1205=>726,
1206=>617, 1207=>532, 1208=>617, 1209=>532, 1210=>617, 1211=>570, 1212=>847, 1213=>655, 1214=>847, 1215=>655, 1216=>265, 1217=>969, 1218=>811, 1219=>590, 1220=>543, 1221=>698,
1222=>603, 1223=>677, 1224=>594, 1225=>699, 1226=>612, 1227=>617, 1228=>532, 1229=>799, 1230=>697, 1231=>250, 1232=>615, 1233=>551, 1234=>615, 1235=>551, 1236=>876, 1237=>883,
1238=>568, 1239=>554, 1240=>708, 1241=>554, 1242=>708, 1243=>554, 1244=>969, 1245=>811, 1246=>577, 1247=>479, 1248=>599, 1249=>520, 1250=>673, 1251=>584, 1252=>673, 1253=>584,
1254=>708, 1255=>550, 1256=>708, 1257=>550, 1258=>708, 1259=>550, 1260=>628, 1261=>494, 1262=>548, 1263=>532, 1264=>548, 1265=>532, 1266=>548, 1267=>532, 1268=>617, 1269=>532,
1270=>501, 1271=>442, 1272=>794, 1273=>710, 1274=>607, 1275=>500, 1276=>616, 1277=>532, 1278=>616, 1279=>532, 1280=>617, 1281=>530, 1282=>905, 1283=>807, 1284=>877, 1285=>782,
1286=>611, 1287=>529, 1288=>964, 1289=>861, 1290=>965, 1291=>870, 1292=>697, 1293=>593, 1294=>695, 1295=>640, 1296=>553, 1297=>486, 1298=>677, 1299=>575, 1329=>780, 1330=>659,
1331=>794, 1332=>794, 1333=>659, 1334=>579, 1335=>613, 1336=>659, 1337=>765, 1338=>794, 1339=>659, 1340=>501, 1341=>741, 1342=>888, 1343=>659, 1344=>636, 1345=>579, 1346=>794,
1347=>699, 1348=>794, 1349=>659, 1350=>756, 1351=>659, 1352=>659, 1353=>659, 1354=>711, 1355=>579, 1356=>794, 1357=>659, 1358=>794, 1359=>571, 1360=>659, 1361=>659, 1362=>719,
1363=>774, 1364=>711, 1365=>708, 1366=>571, 1369=>276, 1370=>286, 1371=>450, 1372=>450, 1373=>352, 1374=>474, 1375=>450, 1377=>876, 1378=>570, 1379=>686, 1380=>690, 1381=>570,
1382=>627, 1383=>479, 1384=>570, 1385=>630, 1386=>627, 1387=>570, 1388=>363, 1389=>804, 1390=>576, 1391=>570, 1392=>570, 1393=>571, 1394=>631, 1395=>570, 1396=>593, 1397=>250,
1398=>684, 1399=>464, 1400=>570, 1401=>407, 1402=>876, 1403=>464, 1404=>691, 1405=>570, 1406=>626, 1407=>876, 1408=>570, 1409=>571, 1410=>451, 1411=>876, 1412=>583, 1413=>550,
1414=>566, 1415=>686, 1417=>303, 1418=>390, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0,
1469=>0, 1471=>0, 1472=>265, 1473=>0, 1474=>0, 1475=>265, 1478=>410, 1479=>0, 1488=>566, 1489=>547, 1490=>403, 1491=>534, 1492=>576, 1493=>245, 1494=>380, 1495=>576,
1496=>583, 1497=>245, 1498=>532, 1499=>500, 1500=>539, 1501=>576, 1502=>593, 1503=>245, 1504=>397, 1505=>629, 1506=>572, 1507=>576, 1508=>543, 1509=>468, 1510=>523, 1511=>596,
1512=>532, 1513=>727, 1514=>591, 1520=>423, 1521=>409, 1522=>423, 1548=>290, 1557=>0, 1563=>286, 1567=>478, 1569=>423, 1570=>250, 1571=>250, 1572=>435, 1573=>250, 1574=>704,
1575=>250, 1576=>847, 1577=>471, 1578=>847, 1579=>847, 1580=>581, 1581=>581, 1582=>581, 1583=>400, 1584=>400, 1585=>435, 1586=>435, 1587=>1099, 1588=>1099, 1589=>1088, 1590=>1088,
1591=>832, 1592=>832, 1593=>537, 1594=>537, 1600=>264, 1601=>933, 1602=>698, 1603=>742, 1604=>654, 1605=>557, 1606=>661, 1607=>471, 1608=>435, 1609=>704, 1610=>704, 1611=>0,
1612=>0, 1613=>0, 1614=>0, 1615=>0, 1616=>0, 1617=>0, 1618=>0, 1619=>0, 1620=>0, 1621=>0, 1626=>450, 1632=>483, 1633=>483, 1634=>483, 1635=>483, 1636=>483,
1637=>483, 1638=>483, 1639=>483, 1640=>483, 1641=>483, 1642=>483, 1643=>292, 1644=>286, 1645=>490, 1646=>847, 1647=>698, 1652=>263, 1657=>847, 1658=>847, 1659=>847, 1660=>847,
1661=>847, 1662=>847, 1663=>847, 1664=>847, 1665=>581, 1666=>581, 1667=>581, 1668=>581, 1669=>581, 1670=>581, 1671=>581, 1681=>435, 1682=>435, 1685=>549, 1688=>435, 1697=>933,
1700=>933, 1702=>933, 1705=>805, 1711=>805, 1717=>654, 1722=>661, 1727=>581, 1734=>435, 1740=>704, 1742=>704, 1749=>471, 1776=>483, 1777=>483, 1778=>483, 1779=>483, 1780=>483,
1781=>483, 1782=>483, 1783=>483, 1784=>483, 1785=>483, 3647=>586, 3713=>603, 3714=>615, 3716=>619, 3719=>434, 3720=>565, 3722=>615, 3725=>619, 3732=>602, 3733=>577, 3734=>580,
3735=>589, 3737=>593, 3738=>563, 3739=>563, 3740=>670, 3741=>690, 3742=>618, 3743=>618, 3745=>631, 3746=>619, 3747=>615, 3749=>584, 3751=>569, 3754=>633, 3755=>737, 3757=>569,
3758=>615, 3759=>708, 3760=>569, 3761=>0, 3762=>485, 3763=>485, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>597, 3776=>337,
3777=>591, 3778=>414, 3779=>492, 3780=>442, 3782=>606, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>925, 3805=>925, 5121=>615, 5122=>615, 5123=>615,
5124=>615, 5125=>692, 5126=>692, 5127=>692, 5129=>692, 5130=>692, 5131=>692, 5132=>751, 5133=>751, 5134=>751, 5135=>751, 5136=>751, 5137=>751, 5138=>870, 5139=>906, 5140=>870,
5141=>906, 5142=>692, 5143=>870, 5144=>906, 5145=>870, 5146=>906, 5147=>692, 5149=>230, 5150=>488, 5151=>381, 5152=>381, 5153=>350, 5154=>350, 5155=>354, 5156=>350, 5157=>419,
5158=>347, 5159=>230, 5160=>350, 5161=>350, 5162=>350, 5163=>980, 5164=>817, 5165=>857, 5166=>1005, 5167=>615, 5168=>615, 5169=>615, 5170=>615, 5171=>656, 5172=>656, 5173=>656,
5175=>656, 5176=>656, 5177=>656, 5178=>751, 5179=>751, 5180=>751, 5181=>751, 5182=>751, 5183=>751, 5184=>870, 5185=>906, 5186=>870, 5187=>906, 5188=>870, 5189=>906, 5190=>870,
5191=>906, 5192=>656, 5193=>457, 5194=>172, 5196=>659, 5197=>659, 5198=>659, 5199=>659, 5200=>657, 5201=>657, 5202=>657, 5204=>657, 5205=>657, 5206=>657, 5207=>829, 5208=>800,
5209=>829, 5210=>800, 5211=>829, 5212=>800, 5213=>835, 5214=>810, 5215=>835, 5216=>810, 5217=>853, 5218=>810, 5219=>853, 5220=>810, 5221=>853, 5222=>457, 5223=>790, 5224=>790,
5225=>779, 5226=>801, 5227=>565, 5228=>565, 5229=>565, 5230=>565, 5231=>565, 5232=>625, 5233=>565, 5234=>565, 5235=>565, 5236=>773, 5237=>693, 5238=>733, 5239=>734, 5240=>733,
5241=>734, 5242=>773, 5243=>693, 5244=>773, 5245=>693, 5246=>733, 5247=>734, 5248=>733, 5249=>734, 5250=>733, 5251=>366, 5252=>366, 5253=>675, 5254=>697, 5255=>675, 5256=>697,
5257=>565, 5258=>565, 5259=>565, 5260=>565, 5261=>565, 5262=>565, 5263=>565, 5264=>565, 5265=>565, 5266=>773, 5267=>693, 5268=>733, 5269=>734, 5270=>733, 5271=>734, 5272=>773,
5273=>693, 5274=>773, 5275=>693, 5276=>733, 5277=>734, 5278=>733, 5279=>734, 5280=>733, 5281=>391, 5282=>391, 5283=>549, 5284=>501, 5285=>501, 5286=>501, 5287=>549, 5288=>470,
5289=>549, 5290=>501, 5291=>501, 5292=>674, 5293=>691, 5294=>671, 5295=>687, 5296=>671, 5297=>687, 5298=>674, 5299=>691, 5300=>674, 5301=>691, 5302=>671, 5303=>687, 5304=>671,
5305=>687, 5306=>671, 5307=>347, 5308=>457, 5309=>347, 5312=>766, 5313=>766, 5314=>766, 5315=>740, 5316=>766, 5317=>766, 5318=>766, 5319=>766, 5320=>766, 5321=>962, 5322=>931,
5323=>953, 5324=>766, 5325=>953, 5326=>766, 5327=>766, 5328=>540, 5329=>407, 5330=>540, 5331=>766, 5332=>766, 5333=>766, 5334=>766, 5335=>766, 5336=>766, 5337=>766, 5338=>766,
5339=>766, 5340=>962, 5341=>931, 5342=>953, 5343=>927, 5344=>953, 5345=>927, 5346=>962, 5347=>931, 5348=>962, 5349=>931, 5350=>975, 5351=>927, 5352=>975, 5353=>927, 5354=>540,
5356=>656, 5357=>542, 5358=>542, 5359=>542, 5360=>542, 5361=>542, 5362=>595, 5363=>542, 5364=>542, 5365=>542, 5366=>751, 5367=>678, 5368=>712, 5369=>694, 5370=>712, 5371=>694,
5372=>751, 5373=>678, 5374=>751, 5375=>678, 5376=>712, 5377=>694, 5378=>712, 5379=>694, 5380=>712, 5381=>376, 5382=>378, 5383=>376, 5392=>641, 5393=>641, 5394=>641, 5395=>802,
5396=>802, 5397=>802, 5398=>802, 5399=>818, 5400=>785, 5401=>818, 5402=>785, 5403=>818, 5404=>785, 5405=>1026, 5406=>989, 5407=>1026, 5408=>989, 5409=>1026, 5410=>989, 5411=>1026,
5412=>989, 5413=>576, 5414=>564, 5415=>564, 5416=>564, 5417=>564, 5418=>564, 5419=>601, 5420=>564, 5421=>564, 5422=>564, 5423=>760, 5424=>703, 5425=>734, 5426=>736, 5427=>734,
5428=>736, 5429=>760, 5430=>703, 5431=>760, 5432=>703, 5433=>734, 5434=>736, 5435=>734, 5436=>736, 5437=>734, 5438=>376, 5440=>350, 5441=>436, 5442=>824, 5443=>824, 5444=>824,
5445=>824, 5446=>824, 5447=>824, 5448=>542, 5449=>542, 5450=>542, 5451=>542, 5452=>542, 5453=>542, 5454=>751, 5455=>678, 5456=>376, 5458=>656, 5459=>615, 5460=>615, 5461=>615,
5462=>615, 5463=>653, 5464=>653, 5465=>653, 5466=>653, 5467=>831, 5468=>906, 5469=>457, 5470=>659, 5471=>659, 5472=>659, 5473=>659, 5474=>659, 5475=>659, 5476=>657, 5477=>657,
5478=>657, 5479=>657, 5480=>853, 5481=>810, 5482=>457, 5492=>747, 5493=>747, 5494=>747, 5495=>747, 5496=>747, 5497=>747, 5498=>747, 5499=>507, 5500=>677, 5501=>436, 5502=>942,
5503=>942, 5504=>942, 5505=>942, 5506=>942, 5507=>942, 5508=>942, 5509=>743, 5514=>747, 5515=>747, 5516=>747, 5517=>747, 5518=>1133, 5519=>1133, 5520=>1133, 5521=>901, 5522=>901,
5523=>1133, 5524=>1133, 5525=>629, 5526=>965, 5536=>766, 5537=>766, 5538=>766, 5539=>766, 5540=>766, 5541=>766, 5542=>540, 5543=>579, 5544=>579, 5545=>579, 5546=>579, 5547=>579,
5548=>579, 5549=>579, 5550=>376, 5551=>565, 5598=>693, 5601=>690, 5702=>421, 5703=>421, 5742=>399, 5743=>942, 5744=>1178, 5745=>1469, 5746=>1469, 5747=>1237, 5748=>1237, 5749=>1469,
5750=>1469, 7424=>532, 7425=>646, 7426=>883, 7427=>527, 7428=>495, 7429=>544, 7430=>544, 7431=>441, 7432=>486, 7433=>250, 7434=>355, 7435=>521, 7436=>524, 7437=>679, 7438=>584,
7439=>550, 7440=>495, 7441=>615, 7442=>615, 7443=>615, 7444=>920, 7446=>550, 7447=>550, 7448=>472, 7449=>541, 7450=>541, 7451=>524, 7452=>517, 7453=>663, 7454=>853, 7455=>574,
7456=>532, 7457=>736, 7458=>472, 7459=>473, 7462=>524, 7463=>532, 7464=>507, 7465=>472, 7466=>531, 7467=>575, 7468=>387, 7469=>552, 7470=>389, 7472=>436, 7473=>358, 7474=>358,
7475=>439, 7476=>426, 7477=>167, 7478=>167, 7479=>372, 7480=>315, 7481=>489, 7482=>424, 7483=>424, 7484=>446, 7485=>396, 7486=>342, 7487=>394, 7488=>346, 7489=>415, 7490=>560,
7491=>352, 7492=>352, 7493=>365, 7494=>583, 7495=>385, 7496=>365, 7497=>375, 7498=>375, 7499=>324, 7500=>323, 7501=>365, 7502=>161, 7503=>383, 7504=>561, 7505=>368, 7506=>372,
7507=>333, 7508=>372, 7509=>372, 7510=>385, 7511=>265, 7512=>364, 7513=>422, 7514=>561, 7515=>375, 7517=>361, 7518=>335, 7519=>347, 7520=>374, 7521=>327, 7522=>161, 7523=>233,
7524=>364, 7525=>375, 7526=>361, 7527=>335, 7528=>347, 7529=>374, 7530=>327, 7543=>571, 7544=>426, 7547=>334, 7557=>250, 7579=>365, 7580=>333, 7581=>333, 7582=>372, 7583=>324,
7584=>267, 7585=>209, 7586=>365, 7587=>364, 7588=>235, 7589=>224, 7590=>234, 7591=>235, 7592=>211, 7593=>224, 7594=>211, 7595=>338, 7596=>561, 7597=>561, 7598=>369, 7599=>431,
7600=>368, 7601=>372, 7602=>372, 7603=>324, 7604=>258, 7605=>265, 7606=>457, 7607=>376, 7608=>325, 7609=>365, 7610=>375, 7611=>330, 7612=>393, 7613=>330, 7614=>353, 7615=>372,
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>615, 7681=>551, 7682=>617, 7683=>571, 7684=>617, 7685=>571, 7686=>617, 7687=>571, 7688=>628, 7689=>495,
7690=>693, 7691=>571, 7692=>693, 7693=>571, 7694=>693, 7695=>571, 7696=>693, 7697=>571, 7698=>693, 7699=>571, 7700=>568, 7701=>554, 7702=>568, 7703=>554, 7704=>568, 7705=>554,
7706=>568, 7707=>554, 7708=>568, 7709=>554, 7710=>518, 7711=>316, 7712=>697, 7713=>571, 7714=>677, 7715=>570, 7716=>677, 7717=>570, 7718=>677, 7719=>570, 7720=>677, 7721=>570,
7722=>677, 7723=>570, 7724=>265, 7725=>250, 7726=>265, 7727=>250, 7728=>590, 7729=>521, 7730=>590, 7731=>521, 7732=>590, 7733=>521, 7734=>501, 7735=>250, 7736=>501, 7737=>250,
7738=>501, 7739=>250, 7740=>501, 7741=>250, 7742=>776, 7743=>876, 7744=>776, 7745=>876, 7746=>776, 7747=>876, 7748=>673, 7749=>570, 7750=>673, 7751=>570, 7752=>673, 7753=>570,
7754=>673, 7755=>570, 7756=>708, 7757=>550, 7758=>708, 7759=>550, 7760=>708, 7761=>550, 7762=>708, 7763=>550, 7764=>542, 7765=>571, 7766=>542, 7767=>571, 7768=>625, 7769=>370,
7770=>625, 7771=>370, 7772=>625, 7773=>370, 7774=>625, 7775=>370, 7776=>571, 7777=>469, 7778=>571, 7779=>469, 7780=>571, 7781=>469, 7782=>571, 7783=>469, 7784=>571, 7785=>469,
7786=>549, 7787=>353, 7788=>549, 7789=>353, 7790=>549, 7791=>353, 7792=>549, 7793=>353, 7794=>659, 7795=>570, 7796=>659, 7797=>570, 7798=>659, 7799=>570, 7800=>659, 7801=>570,
7802=>659, 7803=>570, 7804=>615, 7805=>532, 7806=>615, 7807=>532, 7808=>890, 7809=>736, 7810=>890, 7811=>736, 7812=>890, 7813=>736, 7814=>890, 7815=>736, 7816=>890, 7817=>736,
7818=>616, 7819=>532, 7820=>616, 7821=>532, 7822=>549, 7823=>532, 7824=>616, 7825=>472, 7826=>616, 7827=>472, 7828=>616, 7829=>472, 7830=>570, 7831=>353, 7832=>736, 7833=>532,
7834=>551, 7835=>316, 7840=>615, 7841=>551, 7842=>615, 7843=>551, 7844=>615, 7845=>551, 7846=>615, 7847=>551, 7848=>615, 7849=>551, 7850=>615, 7851=>551, 7852=>615, 7853=>551,
7854=>615, 7855=>551, 7856=>615, 7857=>551, 7858=>615, 7859=>551, 7860=>615, 7861=>551, 7862=>615, 7863=>551, 7864=>568, 7865=>554, 7866=>568, 7867=>554, 7868=>568, 7869=>554,
7870=>568, 7871=>554, 7872=>568, 7873=>554, 7874=>568, 7875=>554, 7876=>568, 7877=>554, 7878=>568, 7879=>554, 7880=>265, 7881=>250, 7882=>265, 7883=>250, 7884=>708, 7885=>550,
7886=>708, 7887=>550, 7888=>708, 7889=>550, 7890=>708, 7891=>550, 7892=>708, 7893=>550, 7894=>708, 7895=>550, 7896=>708, 7897=>550, 7898=>822, 7899=>550, 7900=>822, 7901=>550,
7902=>822, 7903=>550, 7904=>822, 7905=>550, 7906=>822, 7907=>550, 7908=>659, 7909=>570, 7910=>659, 7911=>570, 7912=>772, 7913=>570, 7914=>772, 7915=>570, 7916=>772, 7917=>570,
7918=>772, 7919=>570, 7920=>772, 7921=>570, 7922=>549, 7923=>532, 7924=>549, 7925=>532, 7926=>549, 7927=>532, 7928=>549, 7929=>532, 7936=>593, 7937=>593, 7938=>593, 7939=>593,
7940=>593, 7941=>593, 7942=>593, 7943=>593, 7944=>615, 7945=>615, 7946=>790, 7947=>790, 7948=>692, 7949=>721, 7950=>637, 7951=>668, 7952=>486, 7953=>486, 7954=>486, 7955=>486,
7956=>486, 7957=>486, 7960=>640, 7961=>640, 7962=>869, 7963=>877, 7964=>809, 7965=>835, 7968=>570, 7969=>570, 7970=>570, 7971=>570, 7972=>570, 7973=>570, 7974=>570, 7975=>570,
7976=>753, 7977=>751, 7978=>977, 7979=>980, 7980=>924, 7981=>945, 7982=>840, 7983=>852, 7984=>304, 7985=>304, 7986=>304, 7987=>304, 7988=>304, 7989=>304, 7990=>304, 7991=>304,
7992=>342, 7993=>336, 7994=>571, 7995=>571, 7996=>513, 7997=>540, 7998=>440, 7999=>443, 8000=>550, 8001=>550, 8002=>550, 8003=>550, 8004=>550, 8005=>550, 8008=>724, 8009=>763,
8010=>985, 8011=>989, 8012=>844, 8013=>873, 8016=>521, 8017=>521, 8018=>521, 8019=>521, 8020=>521, 8021=>521, 8022=>521, 8023=>521, 8025=>705, 8027=>897, 8029=>911, 8031=>808,
8032=>753, 8033=>753, 8034=>753, 8035=>753, 8036=>753, 8037=>753, 8038=>753, 8039=>753, 8040=>722, 8041=>759, 8042=>980, 8043=>985, 8044=>851, 8045=>875, 8046=>829, 8047=>857,
8048=>593, 8049=>593, 8050=>486, 8051=>493, 8052=>570, 8053=>589, 8054=>304, 8055=>304, 8056=>550, 8057=>550, 8058=>521, 8059=>521, 8060=>753, 8061=>753, 8064=>593, 8065=>593,
8066=>593, 8067=>593, 8068=>593, 8069=>593, 8070=>593, 8071=>593, 8072=>615, 8073=>615, 8074=>790, 8075=>790, 8076=>692, 8077=>721, 8078=>637, 8079=>668, 8080=>570, 8081=>570,
8082=>570, 8083=>570, 8084=>570, 8085=>570, 8086=>570, 8087=>570, 8088=>753, 8089=>751, 8090=>977, 8091=>980, 8092=>924, 8093=>945, 8094=>840, 8095=>852, 8096=>753, 8097=>753,
8098=>753, 8099=>753, 8100=>753, 8101=>753, 8102=>753, 8103=>753, 8104=>722, 8105=>759, 8106=>980, 8107=>985, 8108=>851, 8109=>875, 8110=>829, 8111=>857, 8112=>593, 8113=>593,
8114=>593, 8115=>593, 8116=>593, 8118=>593, 8119=>593, 8120=>615, 8121=>615, 8122=>645, 8123=>623, 8124=>615, 8125=>450, 8126=>450, 8127=>450, 8128=>450, 8129=>450, 8130=>570,
8131=>570, 8132=>589, 8134=>570, 8135=>570, 8136=>724, 8137=>671, 8138=>837, 8139=>784, 8140=>677, 8141=>450, 8142=>450, 8143=>450, 8144=>304, 8145=>304, 8146=>304, 8147=>304,
8150=>304, 8151=>304, 8152=>265, 8153=>265, 8154=>427, 8155=>367, 8157=>450, 8158=>450, 8159=>450, 8160=>521, 8161=>521, 8162=>521, 8163=>521, 8164=>571, 8165=>571, 8166=>521,
8167=>521, 8168=>549, 8169=>549, 8170=>760, 8171=>742, 8172=>616, 8173=>450, 8174=>450, 8175=>450, 8178=>753, 8179=>753, 8180=>753, 8182=>753, 8183=>753, 8184=>847, 8185=>731,
8186=>830, 8187=>743, 8188=>688, 8189=>450, 8190=>450, 8192=>450, 8193=>900, 8194=>450, 8195=>900, 8196=>296, 8197=>225, 8198=>150, 8199=>572, 8200=>286, 8201=>180, 8202=>89,
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>325, 8209=>325, 8210=>572, 8213=>900, 8214=>450, 8215=>450, 8219=>286, 8223=>466, 8227=>531, 8228=>301, 8229=>601,
8231=>286, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>180, 8241=>1562, 8242=>204, 8243=>336, 8244=>468, 8245=>204, 8246=>336, 8247=>468, 8248=>305, 8251=>754,
8252=>437, 8253=>478, 8254=>450, 8255=>723, 8256=>723, 8257=>225, 8258=>900, 8259=>450, 8260=>150, 8261=>351, 8262=>351, 8263=>830, 8264=>659, 8265=>659, 8266=>447, 8267=>572,
8268=>450, 8269=>450, 8270=>450, 8271=>303, 8272=>723, 8273=>450, 8274=>404, 8275=>754, 8276=>723, 8277=>754, 8278=>527, 8279=>597, 8280=>754, 8281=>754, 8282=>286, 8283=>717,
8284=>754, 8285=>286, 8286=>286, 8287=>200, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>360, 8305=>161,
8308=>360, 8309=>360, 8310=>360, 8311=>360, 8312=>360, 8313=>360, 8314=>475, 8315=>475, 8316=>475, 8317=>221, 8318=>221, 8319=>359, 8320=>360, 8321=>360, 8322=>360, 8323=>360,
8324=>360, 8325=>360, 8326=>360, 8327=>360, 8328=>360, 8329=>360, 8330=>475, 8331=>475, 8332=>475, 8333=>221, 8334=>221, 8336=>352, 8337=>375, 8338=>372, 8339=>399, 8340=>375,
8352=>789, 8353=>572, 8354=>572, 8355=>572, 8356=>572, 8357=>876, 8358=>673, 8359=>1145, 8360=>966, 8361=>890, 8362=>706, 8363=>572, 8365=>572, 8366=>572, 8367=>1145, 8368=>572,
8369=>572, 8370=>572, 8371=>572, 8372=>696, 8373=>577, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>917, 8449=>917, 8450=>628, 8451=>1011, 8452=>578, 8453=>917, 8454=>960,
8455=>553, 8456=>628, 8457=>856, 8459=>889, 8460=>679, 8461=>765, 8462=>570, 8463=>570, 8464=>422, 8465=>627, 8466=>648, 8467=>372, 8468=>736, 8469=>721, 8470=>936, 8471=>900,
8472=>627, 8473=>631, 8474=>708, 8475=>718, 8476=>732, 8477=>713, 8478=>807, 8479=>615, 8480=>917, 8481=>967, 8483=>615, 8484=>670, 8485=>520, 8486=>688, 8487=>688, 8488=>554,
8489=>304, 8490=>590, 8491=>615, 8492=>708, 8493=>633, 8494=>769, 8495=>532, 8496=>545, 8497=>708, 8498=>518, 8499=>962, 8500=>416, 8501=>670, 8502=>606, 8503=>422, 8504=>583,
8505=>342, 8506=>833, 8507=>1074, 8508=>632, 8509=>655, 8510=>589, 8511=>764, 8512=>729, 8513=>697, 8514=>501, 8515=>501, 8516=>549, 8517=>737, 8518=>637, 8519=>554, 8520=>316,
8521=>316, 8523=>702, 8526=>474, 8531=>872, 8532=>872, 8533=>872, 8534=>872, 8535=>872, 8536=>872, 8537=>872, 8538=>872, 8539=>872, 8540=>872, 8541=>872, 8542=>872, 8543=>511,
8544=>265, 8545=>443, 8546=>620, 8547=>831, 8548=>615, 8549=>830, 8550=>1007, 8551=>1185, 8552=>826, 8553=>616, 8554=>839, 8555=>1018, 8556=>501, 8557=>628, 8558=>693, 8559=>776,
8560=>250, 8561=>412, 8562=>573, 8563=>730, 8564=>532, 8565=>729, 8566=>892, 8567=>1053, 8568=>737, 8569=>532, 8570=>740, 8571=>901, 8572=>250, 8573=>495, 8574=>571, 8575=>876,
8576=>1121, 8577=>693, 8578=>1121, 8579=>633, 8580=>494, 8592=>754, 8593=>754, 8594=>754, 8595=>754, 8596=>754, 8597=>754, 8598=>754, 8599=>754, 8600=>754, 8601=>754, 8602=>754,
8603=>754, 8604=>754, 8605=>754, 8606=>754, 8607=>754, 8608=>754, 8609=>754, 8610=>754, 8611=>754, 8612=>754, 8613=>754, 8614=>754, 8615=>754, 8616=>754, 8617=>754, 8618=>754,
8619=>754, 8620=>754, 8621=>754, 8622=>754, 8623=>754, 8624=>754, 8625=>754, 8626=>754, 8627=>754, 8628=>754, 8629=>754, 8630=>754, 8631=>754, 8632=>754, 8633=>754, 8634=>754,
8635=>754, 8636=>754, 8637=>754, 8638=>754, 8639=>754, 8640=>754, 8641=>754, 8642=>754, 8643=>754, 8644=>754, 8645=>754, 8646=>754, 8647=>754, 8648=>754, 8649=>754, 8650=>754,
8651=>754, 8652=>754, 8653=>754, 8654=>754, 8655=>754, 8656=>754, 8657=>754, 8658=>754, 8659=>754, 8660=>754, 8661=>754, 8662=>754, 8663=>754, 8664=>754, 8665=>754, 8666=>754,
8667=>754, 8668=>754, 8669=>754, 8670=>754, 8671=>754, 8672=>754, 8673=>754, 8674=>754, 8675=>754, 8676=>754, 8677=>754, 8678=>754, 8679=>754, 8680=>754, 8681=>754, 8682=>754,
8683=>754, 8684=>754, 8685=>754, 8686=>754, 8687=>754, 8688=>754, 8689=>754, 8690=>754, 8691=>754, 8692=>754, 8693=>754, 8694=>754, 8695=>754, 8696=>754, 8697=>754, 8698=>754,
8699=>754, 8700=>754, 8701=>754, 8702=>754, 8703=>754, 8704=>615, 8705=>572, 8706=>465, 8707=>568, 8708=>568, 8709=>784, 8710=>602, 8711=>602, 8712=>784, 8713=>784, 8714=>646,
8715=>784, 8716=>784, 8717=>646, 8718=>572, 8719=>681, 8720=>681, 8721=>606, 8722=>754, 8723=>754, 8724=>754, 8725=>150, 8726=>573, 8727=>754, 8728=>563, 8729=>286, 8730=>573,
8731=>573, 8732=>573, 8733=>609, 8734=>750, 8735=>754, 8736=>807, 8737=>807, 8738=>754, 8739=>450, 8740=>450, 8741=>450, 8742=>450, 8743=>659, 8744=>659, 8745=>659, 8746=>659,
8747=>469, 8748=>710, 8749=>951, 8750=>469, 8751=>710, 8752=>951, 8753=>469, 8754=>469, 8755=>469, 8756=>572, 8757=>572, 8758=>234, 8759=>572, 8760=>754, 8761=>754, 8762=>754,
8763=>754, 8764=>754, 8765=>754, 8766=>754, 8767=>754, 8768=>337, 8769=>754, 8770=>754, 8771=>754, 8772=>754, 8773=>754, 8774=>754, 8775=>754, 8776=>754, 8777=>754, 8778=>754,
8779=>754, 8780=>754, 8781=>754, 8782=>754, 8783=>754, 8784=>754, 8785=>754, 8786=>754, 8787=>754, 8788=>900, 8789=>900, 8790=>754, 8791=>754, 8792=>754, 8793=>754, 8794=>754,
8795=>754, 8796=>754, 8797=>754, 8798=>754, 8799=>754, 8800=>754, 8801=>754, 8802=>754, 8803=>754, 8804=>754, 8805=>754, 8806=>754, 8807=>754, 8808=>754, 8809=>754, 8810=>942,
8811=>942, 8812=>417, 8813=>754, 8814=>754, 8815=>754, 8816=>754, 8817=>754, 8818=>754, 8819=>754, 8820=>754, 8821=>754, 8822=>754, 8823=>754, 8824=>754, 8825=>754, 8826=>754,
8827=>754, 8828=>754, 8829=>754, 8830=>754, 8831=>754, 8832=>754, 8833=>754, 8834=>754, 8835=>754, 8836=>754, 8837=>754, 8838=>754, 8839=>754, 8840=>754, 8841=>754, 8842=>754,
8843=>754, 8844=>659, 8845=>659, 8846=>659, 8847=>754, 8848=>754, 8849=>754, 8850=>754, 8851=>649, 8852=>649, 8853=>754, 8854=>754, 8855=>754, 8856=>754, 8857=>754, 8858=>754,
8859=>754, 8860=>754, 8861=>754, 8862=>754, 8863=>754, 8864=>754, 8865=>754, 8866=>784, 8867=>784, 8868=>784, 8869=>784, 8870=>468, 8871=>468, 8872=>784, 8873=>784, 8874=>784,
8875=>784, 8876=>784, 8877=>784, 8878=>784, 8879=>784, 8882=>754, 8883=>754, 8884=>754, 8885=>754, 8886=>900, 8887=>900, 8888=>754, 8889=>754, 8890=>468, 8891=>659, 8892=>659,
8893=>659, 8896=>738, 8897=>738, 8898=>738, 8899=>738, 8900=>444, 8901=>286, 8902=>563, 8904=>900, 8905=>900, 8906=>900, 8907=>900, 8908=>900, 8909=>754, 8918=>754, 8919=>754,
8920=>1280, 8921=>1280, 8922=>754, 8923=>754, 8924=>754, 8925=>754, 8926=>754, 8927=>754, 8928=>754, 8929=>754, 8930=>754, 8931=>754, 8932=>754, 8933=>754, 8934=>754, 8935=>754,
8936=>754, 8937=>754, 8938=>754, 8939=>754, 8940=>754, 8941=>754, 8946=>900, 8947=>784, 8948=>646, 8949=>784, 8950=>784, 8951=>646, 8952=>784, 8953=>784, 8954=>900, 8955=>784,
8956=>646, 8957=>784, 8958=>646, 8959=>784, 8962=>571, 8966=>784, 8968=>351, 8969=>351, 8970=>351, 8971=>351, 8976=>754, 8977=>461, 8984=>900, 8985=>754, 8992=>469, 8993=>469,
8997=>900, 9000=>1299, 9085=>681, 9115=>450, 9116=>450, 9117=>450, 9118=>450, 9119=>450, 9120=>450, 9121=>450, 9122=>450, 9123=>450, 9124=>450, 9125=>450, 9126=>450, 9127=>675,
9128=>675, 9129=>675, 9130=>675, 9131=>675, 9132=>675, 9133=>675, 9134=>469, 9166=>754, 9167=>850, 9250=>571, 9251=>571, 9312=>807, 9313=>807, 9314=>807, 9315=>807, 9316=>807,
9317=>807, 9318=>807, 9319=>807, 9320=>807, 9321=>807, 9600=>692, 9601=>692, 9602=>692, 9603=>692, 9604=>692, 9605=>692, 9606=>692, 9607=>692, 9608=>692, 9609=>692, 9610=>692,
9611=>692, 9612=>692, 9613=>692, 9614=>692, 9615=>692, 9616=>692, 9617=>692, 9618=>692, 9619=>692, 9620=>692, 9621=>692, 9622=>692, 9623=>692, 9624=>692, 9625=>692, 9626=>692,
9627=>692, 9628=>692, 9629=>692, 9630=>692, 9631=>692, 9632=>850, 9633=>850, 9634=>850, 9635=>850, 9636=>850, 9637=>850, 9638=>850, 9639=>850, 9640=>850, 9641=>850, 9642=>610,
9643=>610, 9644=>850, 9645=>850, 9646=>495, 9647=>495, 9648=>692, 9649=>692, 9650=>692, 9651=>692, 9652=>452, 9653=>452, 9654=>692, 9655=>692, 9656=>452, 9657=>452, 9658=>692,
9659=>692, 9660=>692, 9661=>692, 9662=>452, 9663=>452, 9664=>692, 9665=>692, 9666=>452, 9667=>452, 9668=>692, 9669=>692, 9670=>692, 9671=>692, 9672=>692, 9673=>785, 9674=>444,
9675=>785, 9676=>785, 9677=>785, 9678=>785, 9679=>785, 9680=>785, 9681=>785, 9682=>785, 9683=>785, 9684=>785, 9685=>785, 9686=>474, 9687=>474, 9688=>712, 9689=>873, 9690=>873,
9691=>873, 9692=>348, 9693=>348, 9694=>348, 9695=>348, 9696=>785, 9697=>785, 9698=>692, 9699=>692, 9700=>692, 9701=>692, 9702=>531, 9703=>850, 9704=>850, 9705=>850, 9706=>850,
9707=>850, 9708=>692, 9709=>692, 9710=>692, 9711=>1007, 9712=>850, 9713=>850, 9714=>850, 9715=>850, 9716=>785, 9717=>785, 9718=>785, 9719=>785, 9720=>692, 9721=>692, 9722=>692,
9723=>747, 9724=>747, 9725=>659, 9726=>659, 9727=>692, 9728=>807, 9729=>900, 9730=>807, 9731=>807, 9732=>807, 9733=>807, 9734=>807, 9735=>515, 9736=>806, 9737=>807, 9738=>799,
9739=>799, 9740=>604, 9741=>911, 9742=>1121, 9743=>1125, 9744=>807, 9745=>807, 9746=>807, 9747=>479, 9748=>807, 9749=>807, 9750=>807, 9751=>807, 9752=>807, 9753=>807, 9754=>807,
9755=>807, 9756=>807, 9757=>548, 9758=>807, 9759=>548, 9760=>807, 9761=>807, 9762=>807, 9763=>807, 9764=>602, 9765=>671, 9766=>584, 9767=>705, 9768=>490, 9769=>807, 9770=>807,
9771=>807, 9772=>639, 9773=>807, 9774=>807, 9775=>807, 9776=>807, 9777=>807, 9778=>807, 9779=>807, 9780=>807, 9781=>807, 9782=>807, 9783=>807, 9784=>807, 9785=>807, 9786=>807,
9787=>807, 9788=>807, 9789=>807, 9790=>807, 9791=>552, 9792=>658, 9793=>658, 9794=>807, 9795=>807, 9796=>807, 9797=>807, 9798=>807, 9799=>807, 9800=>807, 9801=>807, 9802=>807,
9803=>807, 9804=>807, 9805=>807, 9806=>807, 9807=>807, 9808=>807, 9809=>807, 9810=>807, 9811=>807, 9812=>807, 9813=>807, 9814=>807, 9815=>807, 9816=>807, 9817=>807, 9818=>807,
9819=>807, 9820=>807, 9821=>807, 9822=>807, 9823=>807, 9824=>807, 9825=>807, 9826=>807, 9827=>807, 9828=>807, 9829=>807, 9830=>807, 9831=>807, 9832=>807, 9833=>424, 9834=>574,
9835=>807, 9836=>807, 9837=>424, 9838=>321, 9839=>435, 9840=>673, 9841=>689, 9842=>807, 9843=>807, 9844=>807, 9845=>807, 9846=>807, 9847=>807, 9848=>807, 9849=>807, 9850=>807,
9851=>807, 9852=>807, 9853=>807, 9854=>807, 9855=>807, 9856=>782, 9857=>782, 9858=>782, 9859=>782, 9860=>782, 9861=>782, 9862=>807, 9863=>807, 9864=>807, 9865=>807, 9866=>807,
9867=>807, 9868=>807, 9869=>807, 9870=>807, 9871=>807, 9872=>807, 9873=>807, 9874=>807, 9875=>807, 9876=>807, 9877=>487, 9878=>807, 9879=>807, 9880=>807, 9881=>807, 9882=>807,
9883=>807, 9884=>807, 9888=>807, 9889=>632, 9890=>754, 9891=>754, 9892=>754, 9893=>754, 9894=>754, 9895=>754, 9896=>754, 9897=>754, 9898=>754, 9899=>754, 9900=>754, 9901=>754,
9902=>754, 9903=>754, 9904=>759, 9905=>754, 9906=>658, 9985=>754, 9986=>754, 9987=>754, 9988=>754, 9990=>754, 9991=>754, 9992=>754, 9993=>754, 9996=>754, 9997=>754, 9998=>754,
9999=>754, 10000=>754, 10001=>754, 10002=>754, 10003=>754, 10004=>754, 10005=>754, 10006=>754, 10007=>754, 10008=>754, 10009=>754, 10010=>754, 10011=>754, 10012=>754, 10013=>754, 10014=>754,
10015=>754, 10016=>754, 10017=>754, 10018=>754, 10019=>754, 10020=>754, 10021=>754, 10022=>754, 10023=>754, 10025=>754, 10026=>754, 10027=>754, 10028=>754, 10029=>754, 10030=>754, 10031=>754,
10032=>754, 10033=>754, 10034=>754, 10035=>754, 10036=>754, 10037=>754, 10038=>754, 10039=>754, 10040=>754, 10041=>754, 10042=>754, 10043=>754, 10044=>754, 10045=>754, 10046=>754, 10047=>754,
10048=>754, 10049=>754, 10050=>754, 10051=>754, 10052=>754, 10053=>754, 10054=>754, 10055=>754, 10056=>754, 10057=>754, 10058=>754, 10059=>754, 10061=>807, 10063=>807, 10064=>807, 10065=>807,
10066=>807, 10070=>807, 10072=>754, 10073=>754, 10074=>754, 10075=>290, 10076=>290, 10077=>484, 10078=>484, 10081=>754, 10082=>754, 10083=>754, 10084=>754, 10085=>754, 10086=>754, 10087=>754,
10088=>754, 10089=>754, 10090=>754, 10091=>754, 10092=>754, 10093=>754, 10094=>754, 10095=>754, 10096=>754, 10097=>754, 10098=>754, 10099=>754, 10100=>754, 10101=>754, 10102=>807, 10103=>807,
10104=>807, 10105=>807, 10106=>807, 10107=>807, 10108=>807, 10109=>807, 10110=>807, 10111=>807, 10112=>754, 10113=>754, 10114=>754, 10115=>754, 10116=>754, 10117=>754, 10118=>754, 10119=>754,
10120=>754, 10121=>754, 10122=>754, 10123=>754, 10124=>754, 10125=>754, 10126=>754, 10127=>754, 10128=>754, 10129=>754, 10130=>754, 10131=>754, 10132=>754, 10136=>754, 10137=>754, 10138=>754,
10139=>754, 10140=>754, 10141=>754, 10142=>754, 10143=>754, 10144=>754, 10145=>754, 10146=>754, 10147=>754, 10148=>754, 10149=>754, 10150=>754, 10151=>754, 10152=>754, 10153=>754, 10154=>754,
10155=>754, 10156=>754, 10157=>754, 10158=>754, 10159=>754, 10161=>754, 10162=>754, 10163=>754, 10164=>754, 10165=>754, 10166=>754, 10167=>754, 10168=>754, 10169=>754, 10170=>754, 10171=>754,
10172=>754, 10173=>754, 10174=>754, 10208=>444, 10214=>445, 10215=>445, 10216=>351, 10217=>351, 10218=>500, 10219=>500, 10224=>754, 10225=>754, 10226=>754, 10227=>754, 10228=>1042, 10229=>1290,
10230=>1290, 10231=>1290, 10232=>1290, 10233=>1290, 10234=>1290, 10235=>1290, 10236=>1290, 10237=>1290, 10238=>1290, 10239=>1290, 10240=>659, 10241=>659, 10242=>659, 10243=>659, 10244=>659, 10245=>659,
10246=>659, 10247=>659, 10248=>659, 10249=>659, 10250=>659, 10251=>659, 10252=>659, 10253=>659, 10254=>659, 10255=>659, 10256=>659, 10257=>659, 10258=>659, 10259=>659, 10260=>659, 10261=>659,
10262=>659, 10263=>659, 10264=>659, 10265=>659, 10266=>659, 10267=>659, 10268=>659, 10269=>659, 10270=>659, 10271=>659, 10272=>659, 10273=>659, 10274=>659, 10275=>659, 10276=>659, 10277=>659,
10278=>659, 10279=>659, 10280=>659, 10281=>659, 10282=>659, 10283=>659, 10284=>659, 10285=>659, 10286=>659, 10287=>659, 10288=>659, 10289=>659, 10290=>659, 10291=>659, 10292=>659, 10293=>659,
10294=>659, 10295=>659, 10296=>659, 10297=>659, 10298=>659, 10299=>659, 10300=>659, 10301=>659, 10302=>659, 10303=>659, 10304=>659, 10305=>659, 10306=>659, 10307=>659, 10308=>659, 10309=>659,
10310=>659, 10311=>659, 10312=>659, 10313=>659, 10314=>659, 10315=>659, 10316=>659, 10317=>659, 10318=>659, 10319=>659, 10320=>659, 10321=>659, 10322=>659, 10323=>659, 10324=>659, 10325=>659,
10326=>659, 10327=>659, 10328=>659, 10329=>659, 10330=>659, 10331=>659, 10332=>659, 10333=>659, 10334=>659, 10335=>659, 10336=>659, 10337=>659, 10338=>659, 10339=>659, 10340=>659, 10341=>659,
10342=>659, 10343=>659, 10344=>659, 10345=>659, 10346=>659, 10347=>659, 10348=>659, 10349=>659, 10350=>659, 10351=>659, 10352=>659, 10353=>659, 10354=>659, 10355=>659, 10356=>659, 10357=>659,
10358=>659, 10359=>659, 10360=>659, 10361=>659, 10362=>659, 10363=>659, 10364=>659, 10365=>659, 10366=>659, 10367=>659, 10368=>659, 10369=>659, 10370=>659, 10371=>659, 10372=>659, 10373=>659,
10374=>659, 10375=>659, 10376=>659, 10377=>659, 10378=>659, 10379=>659, 10380=>659, 10381=>659, 10382=>659, 10383=>659, 10384=>659, 10385=>659, 10386=>659, 10387=>659, 10388=>659, 10389=>659,
10390=>659, 10391=>659, 10392=>659, 10393=>659, 10394=>659, 10395=>659, 10396=>659, 10397=>659, 10398=>659, 10399=>659, 10400=>659, 10401=>659, 10402=>659, 10403=>659, 10404=>659, 10405=>659,
10406=>659, 10407=>659, 10408=>659, 10409=>659, 10410=>659, 10411=>659, 10412=>659, 10413=>659, 10414=>659, 10415=>659, 10416=>659, 10417=>659, 10418=>659, 10419=>659, 10420=>659, 10421=>659,
10422=>659, 10423=>659, 10424=>659, 10425=>659, 10426=>659, 10427=>659, 10428=>659, 10429=>659, 10430=>659, 10431=>659, 10432=>659, 10433=>659, 10434=>659, 10435=>659, 10436=>659, 10437=>659,
10438=>659, 10439=>659, 10440=>659, 10441=>659, 10442=>659, 10443=>659, 10444=>659, 10445=>659, 10446=>659, 10447=>659, 10448=>659, 10449=>659, 10450=>659, 10451=>659, 10452=>659, 10453=>659,
10454=>659, 10455=>659, 10456=>659, 10457=>659, 10458=>659, 10459=>659, 10460=>659, 10461=>659, 10462=>659, 10463=>659, 10464=>659, 10465=>659, 10466=>659, 10467=>659, 10468=>659, 10469=>659,
10470=>659, 10471=>659, 10472=>659, 10473=>659, 10474=>659, 10475=>659, 10476=>659, 10477=>659, 10478=>659, 10479=>659, 10480=>659, 10481=>659, 10482=>659, 10483=>659, 10484=>659, 10485=>659,
10486=>659, 10487=>659, 10488=>659, 10489=>659, 10490=>659, 10491=>659, 10492=>659, 10493=>659, 10494=>659, 10495=>659, 10502=>754, 10503=>754, 10506=>754, 10507=>754, 10560=>615, 10561=>615,
10702=>754, 10703=>900, 10704=>900, 10705=>900, 10706=>900, 10707=>900, 10708=>900, 10709=>900, 10731=>444, 10752=>900, 10753=>900, 10754=>900, 10764=>1192, 10765=>469, 10766=>469, 10767=>469,
10768=>469, 10769=>469, 10770=>469, 10771=>469, 10772=>469, 10773=>469, 10774=>469, 10775=>469, 10776=>469, 10777=>469, 10778=>469, 10779=>469, 10780=>469, 10877=>754, 10878=>754, 10879=>754,
10880=>754, 10881=>754, 10882=>754, 10883=>754, 10884=>754, 10885=>754, 10886=>754, 10887=>754, 10888=>754, 10889=>754, 10890=>754, 10891=>754, 10892=>754, 10893=>754, 10894=>754, 10895=>754,
10896=>754, 10897=>754, 10898=>754, 10899=>754, 10900=>754, 10901=>754, 10902=>754, 10903=>754, 10904=>754, 10905=>754, 10906=>754, 10907=>754, 10908=>754, 10909=>754, 10910=>754, 10911=>754,
10912=>754, 10926=>754, 10927=>754, 10928=>754, 10929=>754, 10930=>754, 10931=>754, 10932=>754, 10933=>754, 10934=>754, 10935=>754, 10936=>754, 10937=>754, 10938=>754, 11001=>754, 11002=>754,
11008=>754, 11009=>754, 11010=>754, 11011=>754, 11012=>754, 11013=>754, 11014=>754, 11015=>754, 11016=>754, 11017=>754, 11018=>754, 11019=>754, 11020=>754, 11021=>754, 11022=>752, 11023=>752,
11024=>752, 11025=>752, 11026=>850, 11027=>850, 11028=>850, 11029=>850, 11030=>692, 11031=>692, 11032=>692, 11033=>692, 11034=>850, 11040=>782, 11041=>786, 11042=>786, 11043=>786, 11360=>501,
11361=>250, 11362=>501, 11363=>542, 11364=>625, 11365=>551, 11366=>353, 11367=>677, 11368=>570, 11369=>590, 11370=>521, 11371=>616, 11372=>472, 11380=>532, 11381=>589, 11382=>511, 11383=>593,
61440=>879, 61441=>879, 61960=>703, 62047=>532, 63173=>550, 64256=>620, 64257=>567, 64258=>567, 64259=>870, 64260=>870, 64261=>617, 64262=>774, 64275=>1081, 64276=>1081, 64277=>1076, 64278=>1067,
64279=>1376, 64285=>266, 64287=>444, 64288=>572, 64297=>754, 64298=>719, 64299=>719, 64300=>719, 64301=>719, 64302=>597, 64303=>597, 64304=>597, 64305=>589, 64306=>408, 64307=>546, 64308=>621,
64309=>302, 64310=>393, 64312=>615, 64313=>302, 64314=>577, 64315=>599, 64316=>571, 64318=>663, 64320=>410, 64321=>694, 64323=>586, 64324=>599, 64326=>575, 64327=>619, 64328=>577, 64329=>719,
64330=>653, 64331=>245, 64332=>589, 64333=>599, 64334=>599, 64338=>847, 64339=>883, 64340=>250, 64341=>271, 64342=>847, 64343=>883, 64344=>250, 64345=>271, 64346=>847, 64347=>883, 64348=>250,
64349=>271, 64350=>847, 64351=>883, 64352=>250, 64353=>271, 64354=>847, 64355=>883, 64356=>250, 64357=>271, 64358=>847, 64359=>883, 64360=>250, 64361=>271, 64362=>933, 64363=>932, 64364=>430,
64365=>455, 64366=>933, 64367=>932, 64368=>430, 64369=>455, 64370=>581, 64371=>581, 64372=>556, 64373=>581, 64374=>581, 64375=>581, 64376=>556, 64377=>581, 64378=>581, 64379=>581, 64380=>556,
64381=>581, 64382=>581, 64383=>581, 64384=>556, 64385=>581, 64394=>435, 64395=>497, 64396=>435, 64397=>497, 64398=>805, 64399=>805, 64400=>428, 64401=>497, 64402=>805, 64403=>805, 64404=>428,
64405=>497, 64414=>661, 64415=>685, 64473=>435, 64474=>465, 64488=>250, 64489=>271, 64508=>704, 64509=>750, 64510=>250, 64511=>271, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0,
65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0, 65038=>0, 65039=>0, 65136=>264, 65137=>264, 65138=>264, 65139=>235, 65140=>264,
65142=>264, 65143=>264, 65144=>264, 65145=>264, 65146=>264, 65147=>264, 65148=>264, 65149=>264, 65150=>264, 65151=>264, 65152=>423, 65153=>250, 65154=>274, 65155=>250, 65156=>274, 65157=>435,
65158=>465, 65159=>250, 65160=>274, 65161=>704, 65162=>750, 65163=>250, 65164=>271, 65165=>250, 65166=>274, 65167=>847, 65168=>883, 65169=>250, 65170=>271, 65171=>471, 65172=>482, 65173=>847,
65174=>883, 65175=>250, 65176=>271, 65177=>847, 65178=>883, 65179=>250, 65180=>271, 65181=>581, 65182=>581, 65183=>556, 65184=>581, 65185=>581, 65186=>581, 65187=>556, 65188=>581, 65189=>581,
65190=>581, 65191=>556, 65192=>581, 65193=>400, 65194=>472, 65195=>400, 65196=>472, 65197=>435, 65198=>497, 65199=>435, 65200=>497, 65201=>1099, 65202=>1147, 65203=>754, 65204=>803, 65205=>1099,
65206=>1147, 65207=>754, 65208=>803, 65209=>1088, 65210=>1103, 65211=>764, 65212=>780, 65213=>1088, 65214=>1103, 65215=>764, 65216=>780, 65217=>832, 65218=>854, 65219=>716, 65220=>738, 65221=>832,
65222=>854, 65223=>716, 65224=>738, 65225=>537, 65226=>479, 65227=>537, 65228=>434, 65229=>537, 65230=>479, 65231=>470, 65232=>434, 65233=>933, 65234=>932, 65235=>430, 65236=>455, 65237=>698,
65238=>750, 65239=>430, 65240=>455, 65241=>742, 65242=>758, 65243=>428, 65244=>497, 65245=>654, 65246=>681, 65247=>274, 65248=>298, 65249=>557, 65250=>599, 65251=>482, 65252=>520, 65253=>661,
65254=>685, 65255=>250, 65256=>271, 65257=>471, 65258=>482, 65259=>475, 65260=>415, 65261=>435, 65262=>465, 65263=>704, 65264=>750, 65265=>704, 65266=>750, 65267=>250, 65268=>271, 65269=>513,
65270=>537, 65271=>513, 65272=>537, 65273=>513, 65274=>537, 65275=>513, 65276=>537, 65279=>0, 65533=>923);
$enc='';
$diff='';
$file='DejaVuSansCondensed.z';
$ctg='DejaVuSansCondensed.ctg.z';
$originalsize=463772;
?>

View File

@@ -0,0 +1,287 @@
<?php
$type='TrueTypeUnicode';
$name='DejaVuSansCondensed-Bold';
$desc=array('Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-962 -388 1777 1123]','ItalicAngle'=>0,'StemV'=>120,'MissingWidth'=>540);
$up=-42;
$ut=44;
$cw=array(
0=>540, 32=>313, 33=>410, 34=>469, 35=>754, 36=>626, 37=>901, 38=>785, 39=>275, 40=>411, 41=>411, 42=>470, 43=>754, 44=>342, 45=>374, 46=>342,
47=>329, 48=>626, 49=>626, 50=>626, 51=>626, 52=>626, 53=>626, 54=>626, 55=>626, 56=>626, 57=>626, 58=>360, 59=>360, 60=>754, 61=>754, 62=>754,
63=>522, 64=>900, 65=>696, 66=>686, 67=>660, 68=>747, 69=>615, 70=>615, 71=>738, 72=>753, 73=>334, 74=>334, 75=>697, 76=>573, 77=>896, 78=>753,
79=>765, 80=>659, 81=>765, 82=>693, 83=>648, 84=>614, 85=>730, 86=>696, 87=>993, 88=>694, 89=>651, 90=>652, 91=>411, 92=>329, 93=>411, 94=>754,
95=>450, 96=>450, 97=>607, 98=>644, 99=>533, 100=>644, 101=>610, 102=>391, 103=>644, 104=>641, 105=>308, 106=>308, 107=>598, 108=>308, 109=>938, 110=>641,
111=>618, 112=>644, 113=>644, 114=>444, 115=>536, 116=>430, 117=>641, 118=>586, 119=>831, 120=>580, 121=>586, 122=>523, 123=>641, 124=>329, 125=>641, 126=>754,
8364=>626, 1027=>573, 8218=>342, 402=>391, 8222=>591, 8230=>900, 8224=>450, 8225=>450, 710=>450, 8240=>1296, 352=>648, 8249=>371, 338=>1050, 1036=>735, 381=>652, 1039=>753,
8216=>342, 8217=>342, 8220=>591, 8221=>591, 8226=>575, 8211=>450, 8212=>900, 732=>450, 8482=>900, 353=>536, 8250=>371, 339=>984, 1116=>611, 382=>523, 376=>651, 160=>313,
161=>410, 162=>626, 163=>626, 164=>572, 165=>626, 166=>329, 167=>450, 168=>450, 169=>900, 170=>507, 171=>581, 172=>754, 173=>374, 174=>900, 175=>450, 176=>450,
177=>754, 178=>394, 179=>394, 180=>450, 181=>662, 182=>572, 183=>342, 184=>450, 185=>394, 186=>507, 187=>581, 188=>932, 189=>932, 190=>932, 191=>522, 192=>696,
193=>696, 194=>696, 195=>696, 196=>696, 197=>696, 198=>976, 199=>660, 200=>615, 201=>615, 202=>615, 203=>615, 204=>334, 205=>334, 206=>334, 207=>334, 208=>754,
209=>753, 210=>765, 211=>765, 212=>765, 213=>765, 214=>765, 215=>754, 216=>765, 217=>730, 218=>730, 219=>730, 220=>730, 221=>651, 222=>664, 223=>647, 224=>607,
225=>607, 226=>607, 227=>607, 228=>607, 229=>607, 230=>943, 231=>533, 232=>610, 233=>610, 234=>610, 235=>610, 236=>308, 237=>308, 238=>308, 239=>308, 240=>618,
241=>641, 242=>618, 243=>618, 244=>618, 245=>618, 246=>618, 247=>754, 248=>618, 249=>641, 250=>641, 251=>641, 252=>641, 253=>586, 254=>644, 255=>586, 256=>696,
257=>607, 258=>696, 259=>607, 260=>696, 261=>607, 262=>660, 263=>533, 264=>660, 265=>533, 266=>660, 267=>533, 268=>660, 269=>533, 270=>747, 271=>644, 272=>754,
273=>644, 274=>615, 275=>610, 276=>615, 277=>610, 278=>615, 279=>610, 280=>615, 281=>610, 282=>615, 283=>610, 284=>738, 285=>644, 286=>738, 287=>644, 288=>738,
289=>644, 290=>738, 291=>644, 292=>753, 293=>641, 294=>876, 295=>711, 296=>334, 297=>308, 298=>334, 299=>308, 300=>334, 301=>308, 302=>334, 303=>308, 304=>334,
305=>308, 306=>669, 307=>617, 308=>334, 309=>308, 310=>697, 311=>598, 312=>598, 313=>573, 314=>308, 315=>573, 316=>308, 317=>573, 318=>431, 319=>573, 320=>501,
321=>578, 322=>334, 323=>753, 324=>641, 325=>753, 326=>641, 327=>753, 328=>641, 329=>884, 330=>753, 331=>641, 332=>765, 333=>618, 334=>765, 335=>618, 336=>765,
337=>618, 340=>693, 341=>444, 342=>693, 343=>444, 344=>693, 345=>444, 346=>648, 347=>536, 348=>648, 349=>536, 350=>648, 351=>536, 354=>614, 355=>430, 356=>614,
357=>430, 358=>614, 359=>430, 360=>730, 361=>641, 362=>730, 363=>641, 364=>730, 365=>641, 366=>730, 367=>641, 368=>730, 369=>641, 370=>730, 371=>641, 372=>993,
373=>831, 374=>651, 375=>586, 377=>652, 378=>523, 379=>652, 380=>523, 383=>391, 384=>644, 385=>729, 386=>686, 387=>644, 388=>686, 389=>644, 390=>660, 391=>660,
392=>533, 393=>754, 394=>791, 395=>681, 396=>644, 397=>619, 398=>615, 399=>764, 400=>626, 401=>615, 403=>738, 404=>713, 405=>940, 406=>392, 407=>350, 408=>697,
409=>598, 410=>324, 411=>532, 412=>938, 413=>753, 414=>641, 415=>765, 416=>786, 417=>618, 418=>1002, 419=>866, 420=>703, 421=>644, 422=>693, 423=>648, 424=>536,
425=>615, 426=>497, 427=>430, 428=>636, 429=>430, 430=>614, 431=>751, 432=>641, 433=>692, 434=>732, 435=>717, 436=>700, 437=>652, 438=>523, 439=>695, 440=>695,
441=>576, 442=>523, 443=>626, 444=>695, 445=>576, 446=>515, 447=>644, 448=>334, 449=>593, 450=>489, 451=>334, 452=>1399, 453=>1271, 454=>1168, 455=>908, 456=>882,
457=>617, 458=>1088, 459=>1062, 460=>949, 461=>696, 462=>607, 463=>334, 464=>308, 465=>765, 466=>618, 467=>730, 468=>641, 469=>730, 470=>641, 471=>730, 472=>641,
473=>730, 474=>641, 475=>730, 476=>641, 477=>610, 478=>696, 479=>607, 480=>696, 481=>607, 482=>976, 483=>943, 484=>738, 485=>644, 486=>738, 487=>644, 488=>697,
489=>598, 490=>765, 491=>618, 492=>765, 493=>618, 494=>695, 495=>523, 496=>308, 497=>1399, 498=>1271, 499=>1168, 500=>738, 501=>644, 502=>1160, 503=>708, 504=>753,
505=>641, 506=>696, 507=>607, 508=>976, 509=>943, 510=>765, 511=>618, 512=>696, 513=>607, 514=>696, 515=>607, 516=>615, 517=>610, 518=>615, 519=>610, 520=>334,
521=>308, 522=>334, 523=>308, 524=>765, 525=>618, 526=>765, 527=>618, 528=>693, 529=>444, 530=>693, 531=>444, 532=>730, 533=>641, 534=>730, 535=>641, 536=>648,
537=>536, 538=>614, 539=>430, 540=>621, 541=>546, 542=>753, 543=>641, 544=>753, 545=>778, 546=>728, 547=>593, 548=>652, 549=>523, 550=>696, 551=>607, 552=>615,
553=>610, 554=>765, 555=>618, 556=>765, 557=>618, 558=>765, 559=>618, 560=>765, 561=>618, 562=>651, 563=>586, 564=>442, 565=>780, 566=>460, 567=>308, 568=>979,
569=>979, 570=>696, 571=>660, 572=>533, 573=>573, 574=>614, 575=>536, 576=>523, 577=>703, 578=>553, 579=>686, 580=>730, 581=>696, 582=>615, 583=>610, 584=>334,
585=>308, 586=>774, 587=>712, 588=>693, 589=>444, 590=>651, 591=>586, 592=>607, 593=>644, 594=>644, 595=>644, 596=>533, 597=>533, 598=>645, 599=>712, 600=>610,
601=>610, 602=>788, 603=>501, 604=>490, 605=>733, 606=>658, 607=>308, 608=>712, 609=>644, 610=>564, 611=>661, 612=>571, 613=>641, 614=>641, 615=>641, 616=>491,
617=>396, 618=>491, 619=>502, 620=>624, 621=>308, 622=>757, 623=>938, 624=>938, 625=>938, 626=>641, 627=>713, 628=>578, 629=>618, 630=>817, 631=>613, 632=>716,
633=>484, 634=>484, 635=>584, 636=>444, 637=>444, 638=>536, 639=>536, 640=>578, 641=>578, 642=>536, 643=>374, 644=>391, 645=>544, 646=>497, 647=>430, 648=>430,
649=>828, 650=>692, 651=>603, 652=>586, 653=>831, 654=>586, 655=>651, 656=>624, 657=>615, 658=>576, 659=>576, 660=>515, 661=>515, 662=>515, 663=>515, 664=>765,
665=>569, 666=>658, 667=>616, 668=>622, 669=>308, 670=>659, 671=>485, 672=>712, 673=>515, 674=>515, 675=>1040, 676=>1093, 677=>1039, 678=>876, 679=>691, 680=>836,
681=>923, 682=>712, 683=>702, 684=>532, 685=>374, 686=>609, 687=>710, 688=>410, 689=>410, 690=>197, 691=>284, 692=>284, 693=>284, 694=>369, 695=>532, 696=>375,
697=>271, 698=>469, 699=>342, 700=>342, 701=>342, 702=>330, 703=>330, 704=>293, 705=>293, 706=>450, 707=>450, 708=>450, 709=>450, 711=>450, 712=>275, 713=>450,
714=>450, 715=>450, 716=>275, 717=>450, 718=>450, 719=>450, 720=>303, 721=>303, 722=>330, 723=>330, 724=>450, 725=>450, 726=>450, 727=>450, 728=>450, 729=>450,
730=>450, 731=>450, 733=>450, 734=>315, 735=>450, 736=>370, 737=>197, 738=>343, 739=>371, 740=>293, 741=>450, 742=>450, 743=>450, 744=>450, 745=>450, 748=>450,
749=>450, 750=>450, 755=>450, 759=>450, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 850=>0, 851=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0,
884=>271, 885=>271, 890=>450, 891=>533, 892=>495, 893=>494, 894=>303, 900=>397, 901=>450, 902=>717, 903=>342, 904=>761, 905=>908, 906=>507, 908=>801, 910=>882,
911=>804, 912=>351, 913=>696, 914=>686, 915=>573, 916=>696, 917=>615, 918=>652, 919=>753, 920=>765, 921=>334, 922=>697, 923=>696, 924=>896, 925=>753, 926=>568,
927=>765, 928=>753, 929=>659, 931=>615, 932=>614, 933=>651, 934=>765, 935=>694, 936=>765, 937=>765, 938=>334, 939=>651, 940=>618, 941=>501, 942=>641, 943=>351,
944=>607, 945=>618, 946=>644, 947=>613, 948=>618, 949=>501, 950=>532, 951=>641, 952=>618, 953=>351, 954=>639, 955=>569, 956=>662, 957=>613, 958=>532, 959=>618,
960=>712, 961=>644, 962=>533, 963=>701, 964=>574, 965=>607, 966=>704, 967=>580, 968=>714, 969=>782, 970=>351, 971=>607, 972=>618, 973=>607, 974=>782, 976=>585,
977=>594, 978=>671, 979=>883, 980=>671, 981=>716, 982=>782, 983=>669, 984=>765, 985=>618, 986=>660, 987=>533, 988=>615, 989=>444, 990=>632, 991=>593, 992=>827,
993=>564, 994=>983, 995=>753, 996=>749, 997=>644, 998=>835, 999=>669, 1000=>660, 1001=>585, 1002=>709, 1003=>604, 1004=>677, 1005=>644, 1006=>614, 1007=>531, 1008=>669,
1009=>644, 1010=>533, 1011=>308, 1012=>765, 1013=>580, 1014=>580, 1015=>664, 1016=>644, 1017=>660, 1018=>896, 1019=>659, 1020=>644, 1021=>628, 1022=>660, 1023=>628, 1024=>615,
1025=>615, 1026=>791, 1028=>660, 1029=>648, 1030=>334, 1031=>334, 1032=>334, 1033=>1039, 1034=>1017, 1035=>791, 1037=>753, 1038=>694, 1040=>696, 1041=>686, 1042=>686, 1043=>573,
1044=>801, 1045=>615, 1046=>1102, 1047=>639, 1048=>753, 1049=>753, 1050=>735, 1051=>747, 1052=>896, 1053=>753, 1054=>765, 1055=>753, 1056=>659, 1057=>660, 1058=>614, 1059=>694,
1060=>892, 1061=>694, 1062=>835, 1063=>727, 1064=>1112, 1065=>1193, 1066=>845, 1067=>932, 1068=>686, 1069=>660, 1070=>1056, 1071=>693, 1072=>607, 1073=>628, 1074=>569, 1075=>470,
1076=>727, 1077=>610, 1078=>896, 1079=>523, 1080=>630, 1081=>630, 1082=>611, 1083=>659, 1084=>735, 1085=>622, 1086=>618, 1087=>622, 1088=>644, 1089=>533, 1090=>521, 1091=>586,
1092=>893, 1093=>580, 1094=>667, 1095=>618, 1096=>956, 1097=>995, 1098=>676, 1099=>813, 1100=>569, 1101=>533, 1102=>875, 1103=>578, 1104=>610, 1105=>610, 1106=>642, 1107=>470,
1108=>533, 1109=>536, 1110=>308, 1111=>308, 1112=>308, 1113=>892, 1114=>860, 1115=>661, 1117=>630, 1118=>586, 1119=>622, 1120=>983, 1121=>782, 1122=>756, 1123=>662, 1124=>911,
1125=>755, 1126=>893, 1127=>749, 1128=>1222, 1129=>1009, 1130=>765, 1131=>618, 1132=>1112, 1133=>906, 1134=>626, 1135=>501, 1136=>967, 1137=>955, 1138=>765, 1139=>601, 1140=>765,
1141=>625, 1142=>765, 1143=>625, 1144=>1033, 1145=>939, 1146=>967, 1147=>776, 1148=>1265, 1149=>1055, 1150=>983, 1151=>782, 1152=>660, 1153=>533, 1154=>587, 1155=>0, 1156=>0,
1157=>0, 1158=>0, 1160=>376, 1161=>376, 1162=>861, 1163=>726, 1164=>686, 1165=>550, 1166=>659, 1167=>644, 1168=>573, 1169=>470, 1170=>599, 1171=>488, 1172=>727, 1173=>602,
1174=>1102, 1175=>896, 1176=>639, 1177=>523, 1178=>697, 1179=>611, 1180=>735, 1181=>611, 1182=>735, 1183=>611, 1184=>914, 1185=>743, 1186=>860, 1187=>727, 1188=>992, 1189=>787,
1190=>1146, 1191=>915, 1192=>787, 1193=>639, 1194=>660, 1195=>533, 1196=>614, 1197=>521, 1198=>651, 1199=>586, 1200=>651, 1201=>586, 1202=>694, 1203=>580, 1204=>1001, 1205=>900,
1206=>727, 1207=>618, 1208=>727, 1209=>618, 1210=>727, 1211=>641, 1212=>923, 1213=>729, 1214=>923, 1215=>729, 1216=>334, 1217=>1102, 1218=>896, 1219=>697, 1220=>567, 1221=>855,
1222=>725, 1223=>753, 1224=>622, 1225=>861, 1226=>726, 1227=>727, 1228=>618, 1229=>1003, 1230=>839, 1231=>308, 1232=>696, 1233=>607, 1234=>696, 1235=>607, 1236=>976, 1237=>943,
1238=>615, 1239=>610, 1240=>764, 1241=>610, 1242=>764, 1243=>610, 1244=>1102, 1245=>896, 1246=>639, 1247=>523, 1248=>695, 1249=>576, 1250=>753, 1251=>630, 1252=>753, 1253=>630,
1254=>765, 1255=>618, 1256=>765, 1257=>618, 1258=>765, 1259=>618, 1260=>660, 1261=>533, 1262=>694, 1263=>586, 1264=>694, 1265=>586, 1266=>694, 1267=>586, 1268=>727, 1269=>618,
1270=>573, 1271=>470, 1272=>932, 1273=>813, 1274=>599, 1275=>488, 1276=>694, 1277=>580, 1278=>694, 1279=>580, 1280=>686, 1281=>547, 1282=>1043, 1283=>804, 1284=>1007, 1285=>828,
1286=>745, 1287=>624, 1288=>1117, 1289=>915, 1290=>1123, 1291=>912, 1292=>755, 1293=>574, 1294=>844, 1295=>722, 1296=>626, 1297=>501, 1298=>747, 1299=>659, 1329=>886, 1330=>730,
1331=>886, 1332=>886, 1333=>730, 1334=>699, 1335=>730, 1336=>730, 1337=>877, 1338=>886, 1339=>730, 1340=>639, 1341=>970, 1342=>1022, 1343=>730, 1344=>639, 1345=>681, 1346=>886,
1347=>789, 1348=>886, 1349=>714, 1350=>886, 1351=>730, 1352=>730, 1353=>730, 1354=>862, 1355=>699, 1356=>886, 1357=>730, 1358=>886, 1359=>648, 1360=>730, 1361=>714, 1362=>805,
1363=>765, 1364=>842, 1365=>765, 1366=>648, 1369=>330, 1370=>342, 1371=>495, 1372=>495, 1373=>342, 1374=>491, 1375=>468, 1377=>938, 1378=>641, 1379=>779, 1380=>781, 1381=>641,
1382=>735, 1383=>588, 1384=>641, 1385=>729, 1386=>735, 1387=>641, 1388=>448, 1389=>916, 1390=>644, 1391=>641, 1392=>641, 1393=>644, 1394=>737, 1395=>641, 1396=>676, 1397=>308,
1398=>794, 1399=>502, 1400=>641, 1401=>502, 1402=>938, 1403=>502, 1404=>777, 1405=>641, 1406=>732, 1407=>938, 1408=>641, 1409=>644, 1410=>514, 1411=>938, 1412=>700, 1413=>618,
1414=>648, 1415=>776, 1417=>360, 1418=>438, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0,
1469=>0, 1471=>0, 1472=>334, 1473=>0, 1474=>0, 1475=>334, 1478=>479, 1479=>0, 1488=>676, 1489=>658, 1490=>483, 1491=>615, 1492=>700, 1493=>334, 1494=>468, 1495=>700,
1496=>692, 1497=>334, 1498=>700, 1499=>675, 1500=>646, 1501=>700, 1502=>771, 1503=>334, 1504=>479, 1505=>770, 1506=>647, 1507=>721, 1508=>699, 1509=>565, 1510=>676, 1511=>723,
1512=>700, 1513=>867, 1514=>740, 1520=>623, 1521=>623, 1522=>623, 1548=>342, 1557=>0, 1563=>360, 1567=>522, 1569=>460, 1570=>308, 1571=>308, 1572=>559, 1573=>308, 1574=>825,
1575=>308, 1576=>904, 1577=>531, 1578=>904, 1579=>904, 1580=>648, 1581=>648, 1582=>648, 1583=>461, 1584=>461, 1585=>518, 1586=>518, 1587=>1242, 1588=>1242, 1589=>1210, 1590=>1210,
1591=>935, 1592=>935, 1593=>615, 1594=>615, 1600=>308, 1601=>1045, 1602=>804, 1603=>825, 1604=>781, 1605=>659, 1606=>768, 1607=>531, 1608=>559, 1609=>825, 1610=>825, 1611=>0,
1612=>0, 1613=>0, 1614=>0, 1615=>0, 1616=>0, 1617=>0, 1618=>0, 1619=>0, 1620=>0, 1621=>0, 1626=>450, 1632=>549, 1633=>549, 1634=>549, 1635=>549, 1636=>549,
1637=>549, 1638=>549, 1639=>549, 1640=>549, 1641=>549, 1642=>549, 1643=>336, 1644=>342, 1645=>490, 1646=>904, 1647=>804, 1652=>263, 1657=>904, 1658=>904, 1659=>904, 1660=>904,
1661=>904, 1662=>904, 1663=>904, 1664=>904, 1665=>648, 1666=>648, 1667=>648, 1668=>648, 1669=>648, 1670=>648, 1671=>648, 1681=>518, 1682=>518, 1685=>613, 1688=>518, 1697=>1045,
1700=>1045, 1702=>1045, 1705=>921, 1711=>921, 1717=>781, 1722=>768, 1727=>648, 1734=>559, 1740=>825, 1742=>825, 1749=>531, 1776=>549, 1777=>549, 1778=>549, 1779=>549, 1780=>549,
1781=>549, 1782=>549, 1783=>549, 1784=>549, 1785=>549, 3647=>668, 3713=>710, 3714=>673, 3716=>674, 3719=>512, 3720=>668, 3722=>669, 3725=>685, 3732=>635, 3733=>633, 3734=>672,
3735=>737, 3737=>657, 3738=>654, 3739=>654, 3740=>830, 3741=>744, 3742=>779, 3743=>779, 3745=>752, 3746=>685, 3747=>692, 3749=>691, 3751=>642, 3754=>744, 3755=>928, 3757=>651,
3758=>705, 3759=>840, 3760=>620, 3761=>0, 3762=>549, 3763=>549, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>603, 3776=>464,
3777=>774, 3778=>464, 3779=>584, 3780=>569, 3782=>683, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>1227, 3805=>1227, 5121=>696, 5122=>696, 5123=>696,
5124=>696, 5125=>814, 5126=>814, 5127=>814, 5129=>814, 5130=>814, 5131=>814, 5132=>916, 5133=>908, 5134=>916, 5135=>908, 5136=>916, 5137=>908, 5138=>1034, 5139=>1025, 5140=>1034,
5141=>1025, 5142=>814, 5143=>1034, 5144=>1028, 5145=>1034, 5146=>1028, 5147=>814, 5149=>278, 5150=>476, 5151=>382, 5152=>382, 5153=>355, 5154=>355, 5155=>355, 5156=>355, 5157=>507,
5158=>423, 5159=>278, 5160=>355, 5161=>355, 5162=>355, 5163=>1092, 5164=>888, 5165=>1094, 5166=>1167, 5167=>696, 5168=>696, 5169=>696, 5170=>696, 5171=>797, 5172=>797, 5173=>797,
5175=>797, 5176=>797, 5177=>797, 5178=>916, 5179=>908, 5180=>916, 5181=>908, 5182=>916, 5183=>908, 5184=>1034, 5185=>1025, 5186=>1034, 5187=>1025, 5188=>1034, 5189=>1028, 5190=>1034,
5191=>1028, 5192=>797, 5193=>518, 5194=>206, 5196=>730, 5197=>730, 5198=>730, 5199=>730, 5200=>734, 5201=>734, 5202=>734, 5204=>734, 5205=>734, 5206=>734, 5207=>950, 5208=>943,
5209=>950, 5210=>943, 5211=>950, 5212=>943, 5213=>954, 5214=>949, 5215=>954, 5216=>949, 5217=>954, 5218=>946, 5219=>954, 5220=>946, 5221=>954, 5222=>493, 5223=>904, 5224=>904,
5225=>921, 5226=>915, 5227=>668, 5228=>668, 5229=>668, 5230=>668, 5231=>668, 5232=>680, 5233=>668, 5234=>668, 5235=>668, 5236=>926, 5237=>877, 5238=>882, 5239=>877, 5240=>882,
5241=>877, 5242=>926, 5243=>877, 5244=>926, 5245=>877, 5246=>882, 5247=>877, 5248=>882, 5249=>877, 5250=>882, 5251=>451, 5252=>451, 5253=>844, 5254=>844, 5255=>844, 5256=>844,
5257=>668, 5258=>668, 5259=>668, 5260=>668, 5261=>668, 5262=>680, 5263=>668, 5264=>668, 5265=>668, 5266=>926, 5267=>877, 5268=>926, 5269=>877, 5270=>926, 5271=>877, 5272=>926,
5273=>877, 5274=>926, 5275=>877, 5276=>926, 5277=>877, 5278=>926, 5279=>877, 5280=>926, 5281=>451, 5282=>451, 5283=>563, 5284=>563, 5285=>563, 5286=>563, 5287=>563, 5288=>601,
5289=>563, 5290=>563, 5291=>563, 5292=>793, 5293=>769, 5294=>777, 5295=>786, 5296=>777, 5297=>786, 5298=>793, 5299=>786, 5300=>793, 5301=>786, 5302=>777, 5303=>786, 5304=>777,
5305=>786, 5306=>777, 5307=>392, 5308=>493, 5309=>392, 5312=>889, 5313=>889, 5314=>889, 5315=>889, 5316=>838, 5317=>838, 5318=>838, 5319=>838, 5320=>838, 5321=>1114, 5322=>1122,
5323=>1080, 5324=>1105, 5325=>1080, 5326=>1105, 5327=>838, 5328=>593, 5329=>447, 5330=>593, 5331=>889, 5332=>889, 5333=>889, 5334=>889, 5335=>838, 5336=>838, 5337=>838, 5338=>838,
5339=>838, 5340=>1107, 5341=>1122, 5342=>1155, 5343=>1105, 5344=>1155, 5345=>1105, 5346=>1105, 5347=>1093, 5348=>1105, 5349=>1093, 5350=>1155, 5351=>1105, 5352=>1155, 5353=>1105, 5354=>593,
5356=>797, 5357=>657, 5358=>657, 5359=>657, 5360=>657, 5361=>657, 5362=>680, 5363=>657, 5364=>657, 5365=>657, 5366=>897, 5367=>862, 5368=>870, 5369=>890, 5370=>870, 5371=>890,
5372=>897, 5373=>862, 5374=>897, 5375=>862, 5376=>870, 5377=>890, 5378=>870, 5379=>890, 5380=>870, 5381=>443, 5382=>414, 5383=>443, 5392=>831, 5393=>831, 5394=>831, 5395=>1022,
5396=>1022, 5397=>1022, 5398=>1022, 5399=>1088, 5400=>1081, 5401=>1088, 5402=>1081, 5403=>1088, 5404=>1081, 5405=>1288, 5406=>1278, 5407=>1288, 5408=>1278, 5409=>1288, 5410=>1278, 5411=>1288,
5412=>1278, 5413=>671, 5414=>698, 5415=>698, 5416=>698, 5417=>698, 5418=>698, 5419=>698, 5420=>698, 5421=>698, 5422=>698, 5423=>902, 5424=>903, 5425=>911, 5426=>896, 5427=>911,
5428=>896, 5429=>902, 5430=>903, 5431=>902, 5432=>903, 5433=>911, 5434=>896, 5435=>911, 5436=>896, 5437=>911, 5438=>445, 5440=>355, 5441=>458, 5442=>929, 5443=>929, 5444=>878,
5445=>878, 5446=>878, 5447=>878, 5448=>659, 5449=>659, 5450=>659, 5451=>659, 5452=>659, 5453=>659, 5454=>902, 5455=>863, 5456=>445, 5458=>797, 5459=>696, 5460=>696, 5461=>696,
5462=>696, 5463=>835, 5464=>835, 5465=>835, 5466=>835, 5467=>1055, 5468=>1028, 5469=>542, 5470=>730, 5471=>730, 5472=>730, 5473=>730, 5474=>730, 5475=>730, 5476=>734, 5477=>734,
5478=>734, 5479=>734, 5480=>954, 5481=>946, 5482=>493, 5492=>879, 5493=>879, 5494=>879, 5495=>879, 5496=>879, 5497=>879, 5498=>879, 5499=>556, 5500=>753, 5501=>458, 5502=>1114,
5503=>1114, 5504=>1114, 5505=>1114, 5506=>1114, 5507=>1114, 5508=>1114, 5509=>890, 5514=>879, 5515=>879, 5516=>879, 5517=>879, 5518=>1432, 5519=>1432, 5520=>1432, 5521=>1165, 5522=>1165,
5523=>1432, 5524=>1432, 5525=>763, 5526=>1146, 5536=>889, 5537=>889, 5538=>838, 5539=>838, 5540=>838, 5541=>838, 5542=>593, 5543=>698, 5544=>698, 5545=>698, 5546=>698, 5547=>698,
5548=>698, 5549=>698, 5550=>445, 5551=>668, 5598=>747, 5601=>747, 5702=>446, 5703=>446, 5742=>371, 5743=>1114, 5744=>1432, 5745=>1814, 5746=>1814, 5747=>1548, 5748=>1510, 5749=>1814,
5750=>1814, 7424=>586, 7425=>750, 7426=>943, 7427=>547, 7428=>533, 7429=>608, 7430=>608, 7431=>502, 7432=>501, 7433=>308, 7434=>444, 7435=>598, 7436=>485, 7437=>735, 7438=>630,
7439=>618, 7440=>533, 7441=>594, 7442=>594, 7443=>594, 7444=>984, 7446=>618, 7447=>618, 7448=>500, 7449=>578, 7450=>578, 7451=>521, 7452=>571, 7453=>663, 7454=>853, 7455=>625,
7456=>586, 7457=>831, 7458=>523, 7459=>581, 7462=>485, 7463=>586, 7464=>622, 7465=>500, 7466=>703, 7467=>659, 7468=>438, 7469=>615, 7470=>432, 7472=>470, 7473=>387, 7474=>387,
7475=>465, 7476=>474, 7477=>211, 7478=>211, 7479=>439, 7480=>361, 7481=>563, 7482=>474, 7483=>474, 7484=>481, 7485=>458, 7486=>415, 7487=>436, 7488=>387, 7489=>460, 7490=>625,
7491=>412, 7492=>412, 7493=>431, 7494=>641, 7495=>431, 7496=>431, 7497=>431, 7498=>431, 7499=>347, 7500=>347, 7501=>431, 7502=>197, 7503=>438, 7504=>597, 7505=>410, 7506=>439,
7507=>372, 7508=>439, 7509=>439, 7510=>431, 7511=>349, 7512=>410, 7513=>416, 7514=>597, 7515=>451, 7517=>405, 7518=>386, 7519=>389, 7520=>443, 7521=>365, 7522=>197, 7523=>284,
7524=>410, 7525=>451, 7526=>405, 7527=>386, 7528=>389, 7529=>443, 7530=>365, 7543=>644, 7544=>474, 7547=>491, 7557=>462, 7579=>431, 7580=>372, 7581=>372, 7582=>439, 7583=>347,
7584=>339, 7585=>313, 7586=>431, 7587=>410, 7588=>312, 7589=>253, 7590=>312, 7591=>312, 7592=>388, 7593=>293, 7594=>296, 7595=>333, 7596=>598, 7597=>597, 7598=>505, 7599=>505,
7600=>403, 7601=>439, 7602=>488, 7603=>379, 7604=>356, 7605=>349, 7606=>524, 7607=>444, 7608=>359, 7609=>405, 7610=>451, 7611=>375, 7612=>471, 7613=>422, 7614=>409, 7615=>382,
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>696, 7681=>607, 7682=>686, 7683=>644, 7684=>686, 7685=>644, 7686=>686, 7687=>644, 7688=>660, 7689=>533,
7690=>747, 7691=>644, 7692=>747, 7693=>644, 7694=>747, 7695=>644, 7696=>747, 7697=>644, 7698=>747, 7699=>644, 7700=>615, 7701=>610, 7702=>615, 7703=>610, 7704=>615, 7705=>610,
7706=>615, 7707=>610, 7708=>615, 7709=>610, 7710=>615, 7711=>391, 7712=>738, 7713=>644, 7714=>753, 7715=>641, 7716=>753, 7717=>641, 7718=>753, 7719=>641, 7720=>753, 7721=>641,
7722=>753, 7723=>641, 7724=>334, 7725=>308, 7726=>334, 7727=>308, 7728=>697, 7729=>598, 7730=>697, 7731=>598, 7732=>697, 7733=>598, 7734=>573, 7735=>308, 7736=>573, 7737=>308,
7738=>573, 7739=>308, 7740=>573, 7741=>308, 7742=>896, 7743=>938, 7744=>896, 7745=>938, 7746=>896, 7747=>938, 7748=>753, 7749=>641, 7750=>753, 7751=>641, 7752=>753, 7753=>641,
7754=>753, 7755=>641, 7756=>765, 7757=>618, 7758=>765, 7759=>618, 7760=>765, 7761=>618, 7762=>765, 7763=>618, 7764=>659, 7765=>644, 7766=>659, 7767=>644, 7768=>693, 7769=>444,
7770=>693, 7771=>444, 7772=>693, 7773=>444, 7774=>693, 7775=>444, 7776=>648, 7777=>536, 7778=>648, 7779=>536, 7780=>648, 7781=>536, 7782=>648, 7783=>536, 7784=>648, 7785=>536,
7786=>614, 7787=>430, 7788=>614, 7789=>430, 7790=>614, 7791=>430, 7792=>614, 7793=>430, 7794=>730, 7795=>641, 7796=>730, 7797=>641, 7798=>730, 7799=>641, 7800=>730, 7801=>641,
7802=>730, 7803=>641, 7804=>696, 7805=>586, 7806=>696, 7807=>586, 7808=>993, 7809=>831, 7810=>993, 7811=>831, 7812=>993, 7813=>831, 7814=>993, 7815=>831, 7816=>993, 7817=>831,
7818=>694, 7819=>580, 7820=>694, 7821=>580, 7822=>651, 7823=>586, 7824=>652, 7825=>523, 7826=>652, 7827=>523, 7828=>652, 7829=>523, 7830=>641, 7831=>430, 7832=>831, 7833=>586,
7834=>607, 7835=>391, 7840=>696, 7841=>607, 7842=>696, 7843=>607, 7844=>696, 7845=>607, 7846=>696, 7847=>607, 7848=>696, 7849=>607, 7850=>696, 7851=>607, 7852=>696, 7853=>607,
7854=>696, 7855=>607, 7856=>696, 7857=>607, 7858=>696, 7859=>607, 7860=>696, 7861=>607, 7862=>696, 7863=>607, 7864=>615, 7865=>610, 7866=>615, 7867=>610, 7868=>615, 7869=>610,
7870=>615, 7871=>610, 7872=>615, 7873=>610, 7874=>615, 7875=>610, 7876=>615, 7877=>610, 7878=>615, 7879=>610, 7880=>334, 7881=>308, 7882=>334, 7883=>308, 7884=>765, 7885=>618,
7886=>765, 7887=>618, 7888=>765, 7889=>618, 7890=>765, 7891=>618, 7892=>765, 7893=>618, 7894=>765, 7895=>618, 7896=>765, 7897=>618, 7898=>786, 7899=>618, 7900=>786, 7901=>618,
7902=>786, 7903=>618, 7904=>786, 7905=>618, 7906=>786, 7907=>618, 7908=>730, 7909=>641, 7910=>730, 7911=>641, 7912=>751, 7913=>641, 7914=>751, 7915=>641, 7916=>751, 7917=>641,
7918=>751, 7919=>641, 7920=>751, 7921=>641, 7922=>651, 7923=>586, 7924=>651, 7925=>586, 7926=>651, 7927=>586, 7928=>651, 7929=>586, 7936=>618, 7937=>618, 7938=>618, 7939=>618,
7940=>618, 7941=>618, 7942=>618, 7943=>618, 7944=>696, 7945=>696, 7946=>937, 7947=>939, 7948=>841, 7949=>866, 7950=>751, 7951=>773, 7952=>501, 7953=>501, 7954=>501, 7955=>501,
7956=>501, 7957=>501, 7960=>712, 7961=>715, 7962=>989, 7963=>986, 7964=>920, 7965=>947, 7968=>641, 7969=>641, 7970=>641, 7971=>641, 7972=>641, 7973=>641, 7974=>641, 7975=>641,
7976=>851, 7977=>856, 7978=>1125, 7979=>1125, 7980=>1062, 7981=>1085, 7982=>948, 7983=>956, 7984=>351, 7985=>351, 7986=>351, 7987=>351, 7988=>351, 7989=>351, 7990=>351, 7991=>351,
7992=>435, 7993=>440, 7994=>699, 7995=>707, 7996=>641, 7997=>664, 7998=>544, 7999=>544, 8000=>618, 8001=>618, 8002=>618, 8003=>618, 8004=>618, 8005=>618, 8008=>802, 8009=>839,
8010=>1099, 8011=>1101, 8012=>947, 8013=>974, 8016=>607, 8017=>607, 8018=>607, 8019=>607, 8020=>607, 8021=>607, 8022=>607, 8023=>607, 8025=>837, 8027=>1065, 8029=>1079, 8031=>944,
8032=>782, 8033=>782, 8034=>782, 8035=>782, 8036=>782, 8037=>782, 8038=>782, 8039=>782, 8040=>817, 8041=>862, 8042=>1121, 8043=>1126, 8044=>968, 8045=>994, 8046=>925, 8047=>968,
8048=>618, 8049=>618, 8050=>501, 8051=>501, 8052=>641, 8053=>641, 8054=>351, 8055=>351, 8056=>618, 8057=>618, 8058=>607, 8059=>607, 8060=>782, 8061=>782, 8064=>618, 8065=>618,
8066=>618, 8067=>618, 8068=>618, 8069=>618, 8070=>618, 8071=>618, 8072=>696, 8073=>696, 8074=>937, 8075=>939, 8076=>841, 8077=>866, 8078=>751, 8079=>773, 8080=>641, 8081=>641,
8082=>641, 8083=>641, 8084=>641, 8085=>641, 8086=>641, 8087=>641, 8088=>851, 8089=>856, 8090=>1125, 8091=>1125, 8092=>1062, 8093=>1085, 8094=>948, 8095=>956, 8096=>782, 8097=>782,
8098=>782, 8099=>782, 8100=>782, 8101=>782, 8102=>782, 8103=>782, 8104=>817, 8105=>862, 8106=>1121, 8107=>1126, 8108=>968, 8109=>994, 8110=>925, 8111=>968, 8112=>618, 8113=>618,
8114=>618, 8115=>618, 8116=>618, 8118=>618, 8119=>618, 8120=>696, 8121=>696, 8122=>789, 8123=>717, 8124=>696, 8125=>450, 8126=>450, 8127=>450, 8128=>450, 8129=>450, 8130=>641,
8131=>641, 8132=>641, 8134=>641, 8135=>641, 8136=>836, 8137=>761, 8138=>972, 8139=>908, 8140=>753, 8141=>450, 8142=>450, 8143=>450, 8144=>351, 8145=>351, 8146=>351, 8147=>351,
8150=>351, 8151=>351, 8152=>334, 8153=>334, 8154=>559, 8155=>507, 8157=>450, 8158=>450, 8159=>450, 8160=>607, 8161=>607, 8162=>607, 8163=>607, 8164=>644, 8165=>644, 8166=>607,
8167=>607, 8168=>651, 8169=>651, 8170=>918, 8171=>882, 8172=>754, 8173=>450, 8174=>450, 8175=>450, 8178=>782, 8179=>782, 8180=>782, 8182=>782, 8183=>782, 8184=>958, 8185=>801,
8186=>976, 8187=>804, 8188=>765, 8189=>450, 8190=>450, 8192=>450, 8193=>900, 8194=>450, 8195=>900, 8196=>296, 8197=>225, 8198=>150, 8199=>626, 8200=>342, 8201=>180, 8202=>89,
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>374, 8209=>374, 8210=>626, 8213=>900, 8214=>450, 8215=>450, 8219=>342, 8223=>591, 8227=>575, 8228=>299, 8229=>600,
8231=>313, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>180, 8241=>1698, 8242=>237, 8243=>402, 8244=>567, 8245=>237, 8246=>402, 8247=>567, 8248=>659, 8251=>875,
8252=>564, 8253=>522, 8254=>450, 8255=>745, 8256=>745, 8257=>296, 8258=>920, 8259=>450, 8260=>410, 8261=>411, 8262=>411, 8263=>927, 8264=>746, 8265=>746, 8266=>461, 8267=>572,
8268=>450, 8269=>450, 8270=>470, 8271=>360, 8272=>745, 8273=>470, 8274=>500, 8275=>754, 8276=>745, 8277=>754, 8278=>615, 8279=>731, 8280=>754, 8281=>754, 8282=>342, 8283=>784,
8284=>754, 8285=>342, 8286=>342, 8287=>200, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>394, 8305=>197,
8308=>394, 8309=>394, 8310=>394, 8311=>394, 8312=>394, 8313=>394, 8314=>475, 8315=>475, 8316=>475, 8317=>259, 8318=>259, 8319=>410, 8320=>394, 8321=>394, 8322=>394, 8323=>394,
8324=>394, 8325=>394, 8326=>394, 8327=>394, 8328=>394, 8329=>394, 8330=>475, 8331=>475, 8332=>475, 8333=>259, 8334=>259, 8336=>412, 8337=>431, 8338=>439, 8339=>371, 8340=>431,
8352=>836, 8353=>626, 8354=>626, 8355=>626, 8356=>626, 8357=>938, 8358=>753, 8359=>1366, 8360=>1084, 8361=>993, 8362=>813, 8363=>626, 8365=>626, 8366=>614, 8367=>1252, 8368=>626,
8369=>626, 8370=>626, 8371=>626, 8372=>773, 8373=>626, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>1007, 8449=>1053, 8450=>660, 8451=>1090, 8452=>806, 8453=>982, 8454=>1029,
8455=>553, 8456=>628, 8457=>978, 8459=>965, 8460=>822, 8461=>765, 8462=>641, 8463=>641, 8464=>544, 8465=>624, 8466=>781, 8467=>424, 8468=>876, 8469=>753, 8470=>1083, 8471=>900,
8472=>627, 8473=>631, 8474=>765, 8475=>789, 8476=>732, 8477=>713, 8478=>807, 8479=>639, 8480=>917, 8481=>1152, 8483=>679, 8484=>652, 8485=>520, 8486=>765, 8487=>692, 8488=>686,
8489=>304, 8490=>697, 8491=>696, 8492=>835, 8493=>699, 8494=>769, 8495=>572, 8496=>664, 8497=>729, 8498=>615, 8499=>1074, 8500=>418, 8501=>714, 8502=>662, 8503=>453, 8504=>625,
8505=>342, 8506=>851, 8507=>1213, 8508=>710, 8509=>663, 8510=>586, 8511=>760, 8512=>756, 8513=>697, 8514=>501, 8515=>573, 8516=>684, 8517=>747, 8518=>644, 8519=>610, 8520=>308,
8521=>308, 8523=>785, 8526=>492, 8531=>932, 8532=>932, 8533=>932, 8534=>932, 8535=>932, 8536=>932, 8537=>932, 8538=>932, 8539=>932, 8540=>932, 8541=>932, 8542=>932, 8543=>554,
8544=>334, 8545=>593, 8546=>851, 8547=>989, 8548=>696, 8549=>989, 8550=>1247, 8551=>1505, 8552=>1008, 8553=>694, 8554=>1008, 8555=>1266, 8556=>573, 8557=>660, 8558=>747, 8559=>896,
8560=>308, 8561=>546, 8562=>785, 8563=>885, 8564=>586, 8565=>866, 8566=>1104, 8567=>1342, 8568=>872, 8569=>580, 8570=>872, 8571=>1110, 8572=>308, 8573=>533, 8574=>644, 8575=>938,
8576=>1160, 8577=>747, 8578=>1160, 8579=>660, 8580=>533, 8592=>754, 8593=>754, 8594=>754, 8595=>754, 8596=>754, 8597=>754, 8598=>754, 8599=>754, 8600=>754, 8601=>754, 8602=>754,
8603=>754, 8604=>754, 8605=>754, 8606=>754, 8607=>754, 8608=>754, 8609=>754, 8610=>754, 8611=>754, 8612=>754, 8613=>754, 8614=>754, 8615=>754, 8616=>754, 8617=>754, 8618=>754,
8619=>754, 8620=>754, 8621=>754, 8622=>754, 8623=>754, 8624=>754, 8625=>754, 8626=>754, 8627=>754, 8628=>754, 8629=>754, 8630=>754, 8631=>754, 8632=>754, 8633=>754, 8634=>754,
8635=>754, 8636=>754, 8637=>754, 8638=>754, 8639=>754, 8640=>754, 8641=>754, 8642=>754, 8643=>754, 8644=>754, 8645=>754, 8646=>754, 8647=>754, 8648=>754, 8649=>754, 8650=>754,
8651=>754, 8652=>754, 8653=>754, 8654=>754, 8655=>754, 8656=>754, 8657=>754, 8658=>754, 8659=>754, 8660=>754, 8661=>754, 8662=>754, 8663=>754, 8664=>754, 8665=>754, 8666=>754,
8667=>754, 8668=>754, 8669=>754, 8670=>754, 8671=>754, 8672=>754, 8673=>754, 8674=>754, 8675=>754, 8676=>754, 8677=>754, 8678=>754, 8679=>754, 8680=>754, 8681=>754, 8682=>754,
8683=>754, 8684=>754, 8685=>754, 8686=>754, 8687=>754, 8688=>754, 8689=>754, 8690=>754, 8691=>754, 8692=>754, 8693=>754, 8694=>754, 8695=>754, 8696=>754, 8697=>754, 8698=>754,
8699=>754, 8700=>754, 8701=>754, 8702=>754, 8703=>754, 8704=>696, 8705=>626, 8706=>489, 8707=>615, 8708=>615, 8709=>771, 8710=>627, 8711=>627, 8712=>807, 8713=>807, 8714=>675,
8715=>807, 8716=>807, 8717=>675, 8718=>572, 8719=>708, 8720=>708, 8721=>646, 8722=>754, 8723=>754, 8724=>626, 8725=>150, 8726=>626, 8727=>754, 8728=>563, 8729=>342, 8730=>600,
8731=>600, 8732=>600, 8733=>602, 8734=>750, 8735=>754, 8736=>807, 8737=>807, 8738=>754, 8739=>450, 8740=>450, 8741=>450, 8742=>450, 8743=>730, 8744=>730, 8745=>730, 8746=>730,
8747=>549, 8748=>835, 8749=>1165, 8750=>506, 8751=>879, 8752=>1181, 8753=>506, 8754=>506, 8755=>506, 8756=>626, 8757=>626, 8758=>264, 8759=>626, 8760=>754, 8761=>754, 8762=>754,
8763=>754, 8764=>754, 8765=>754, 8766=>754, 8767=>754, 8768=>337, 8769=>754, 8770=>754, 8771=>754, 8772=>754, 8773=>754, 8774=>754, 8775=>754, 8776=>754, 8777=>754, 8778=>754,
8779=>754, 8780=>754, 8781=>754, 8782=>754, 8783=>754, 8784=>754, 8785=>754, 8786=>754, 8787=>754, 8788=>956, 8789=>956, 8790=>754, 8791=>754, 8792=>754, 8793=>754, 8794=>754,
8795=>754, 8796=>754, 8797=>754, 8798=>754, 8799=>754, 8800=>754, 8801=>754, 8802=>754, 8803=>754, 8804=>754, 8805=>754, 8806=>754, 8807=>754, 8808=>756, 8809=>756, 8810=>942,
8811=>942, 8812=>450, 8813=>754, 8814=>754, 8815=>754, 8816=>754, 8817=>754, 8818=>754, 8819=>754, 8820=>754, 8821=>754, 8822=>754, 8823=>754, 8824=>754, 8825=>754, 8826=>754,
8827=>754, 8828=>754, 8829=>754, 8830=>754, 8831=>754, 8832=>754, 8833=>754, 8834=>754, 8835=>754, 8836=>754, 8837=>754, 8838=>754, 8839=>754, 8840=>754, 8841=>754, 8842=>754,
8843=>754, 8844=>730, 8845=>730, 8846=>730, 8847=>754, 8848=>754, 8849=>754, 8850=>754, 8851=>678, 8852=>678, 8853=>754, 8854=>754, 8855=>754, 8856=>754, 8857=>754, 8858=>754,
8859=>754, 8860=>754, 8861=>754, 8862=>754, 8863=>754, 8864=>754, 8865=>754, 8866=>822, 8867=>822, 8868=>822, 8869=>822, 8870=>488, 8871=>488, 8872=>822, 8873=>822, 8874=>822,
8875=>822, 8876=>822, 8877=>822, 8878=>822, 8879=>822, 8882=>754, 8883=>754, 8884=>754, 8885=>754, 8886=>900, 8887=>900, 8888=>754, 8889=>754, 8890=>488, 8891=>730, 8892=>730,
8893=>730, 8896=>758, 8897=>758, 8898=>758, 8899=>758, 8900=>444, 8901=>342, 8902=>563, 8904=>900, 8905=>900, 8906=>900, 8907=>900, 8908=>900, 8909=>754, 8918=>754, 8919=>754,
8920=>1280, 8921=>1280, 8922=>754, 8923=>754, 8924=>754, 8925=>754, 8926=>754, 8927=>754, 8928=>754, 8929=>754, 8930=>754, 8931=>754, 8932=>754, 8933=>754, 8934=>754, 8935=>754,
8936=>754, 8937=>754, 8938=>754, 8939=>754, 8940=>754, 8941=>754, 8946=>1042, 8947=>807, 8948=>675, 8949=>807, 8950=>807, 8951=>675, 8952=>807, 8953=>807, 8954=>1042, 8955=>807,
8956=>675, 8957=>807, 8958=>675, 8959=>807, 8962=>644, 8966=>826, 8968=>411, 8969=>411, 8970=>411, 8971=>411, 8976=>754, 8977=>484, 8984=>835, 8985=>754, 8992=>549, 8993=>549,
8997=>900, 9000=>1299, 9085=>776, 9115=>450, 9116=>450, 9117=>450, 9118=>450, 9119=>450, 9120=>450, 9121=>450, 9122=>450, 9123=>450, 9124=>450, 9125=>450, 9126=>450, 9127=>675,
9128=>675, 9129=>675, 9130=>675, 9131=>675, 9132=>675, 9133=>675, 9134=>549, 9166=>754, 9167=>850, 9250=>644, 9251=>644, 9312=>762, 9313=>762, 9314=>762, 9315=>762, 9316=>762,
9317=>762, 9318=>762, 9319=>762, 9320=>762, 9321=>762, 9600=>692, 9601=>692, 9602=>692, 9603=>692, 9604=>692, 9605=>692, 9606=>692, 9607=>692, 9608=>692, 9609=>692, 9610=>692,
9611=>692, 9612=>692, 9613=>692, 9614=>692, 9615=>692, 9616=>692, 9617=>692, 9618=>692, 9619=>692, 9620=>692, 9621=>692, 9622=>692, 9623=>692, 9624=>692, 9625=>692, 9626=>692,
9627=>692, 9628=>692, 9629=>692, 9630=>692, 9631=>692, 9632=>850, 9633=>850, 9634=>850, 9635=>850, 9636=>850, 9637=>850, 9638=>850, 9639=>850, 9640=>850, 9641=>850, 9642=>610,
9643=>610, 9644=>850, 9645=>850, 9646=>495, 9647=>495, 9648=>692, 9649=>692, 9650=>692, 9651=>692, 9652=>452, 9653=>452, 9654=>692, 9655=>692, 9656=>452, 9657=>452, 9658=>692,
9659=>692, 9660=>692, 9661=>692, 9662=>452, 9663=>452, 9664=>692, 9665=>692, 9666=>452, 9667=>452, 9668=>692, 9669=>692, 9670=>692, 9671=>692, 9672=>692, 9673=>785, 9674=>444,
9675=>785, 9676=>785, 9677=>785, 9678=>785, 9679=>785, 9680=>785, 9681=>785, 9682=>785, 9683=>785, 9684=>785, 9685=>785, 9686=>474, 9687=>474, 9688=>756, 9689=>873, 9690=>873,
9691=>873, 9692=>348, 9693=>348, 9694=>348, 9695=>348, 9696=>692, 9697=>692, 9698=>692, 9699=>692, 9700=>692, 9701=>692, 9702=>575, 9703=>850, 9704=>850, 9705=>850, 9706=>850,
9707=>850, 9708=>692, 9709=>692, 9710=>692, 9711=>1007, 9712=>850, 9713=>850, 9714=>850, 9715=>850, 9716=>785, 9717=>785, 9718=>785, 9719=>785, 9720=>692, 9721=>692, 9722=>692,
9723=>747, 9724=>747, 9725=>659, 9726=>659, 9727=>692, 9728=>807, 9729=>900, 9730=>807, 9731=>807, 9732=>807, 9733=>807, 9734=>807, 9735=>515, 9736=>806, 9737=>807, 9738=>799,
9739=>799, 9740=>604, 9741=>911, 9742=>1121, 9743=>1125, 9744=>807, 9745=>807, 9746=>807, 9747=>479, 9748=>807, 9749=>807, 9750=>807, 9751=>807, 9752=>807, 9753=>807, 9754=>807,
9755=>807, 9756=>807, 9757=>548, 9758=>807, 9759=>548, 9760=>807, 9761=>807, 9762=>807, 9763=>807, 9764=>602, 9765=>671, 9766=>584, 9767=>705, 9768=>490, 9769=>807, 9770=>807,
9771=>807, 9772=>639, 9773=>807, 9774=>807, 9775=>807, 9776=>807, 9777=>807, 9778=>807, 9779=>807, 9780=>807, 9781=>807, 9782=>807, 9783=>807, 9784=>807, 9785=>807, 9786=>807,
9787=>807, 9788=>807, 9789=>807, 9790=>807, 9791=>552, 9792=>658, 9793=>658, 9794=>807, 9795=>807, 9796=>807, 9797=>807, 9798=>807, 9799=>807, 9800=>807, 9801=>807, 9802=>807,
9803=>807, 9804=>807, 9805=>807, 9806=>807, 9807=>807, 9808=>807, 9809=>807, 9810=>807, 9811=>807, 9812=>807, 9813=>807, 9814=>807, 9815=>807, 9816=>807, 9817=>807, 9818=>807,
9819=>807, 9820=>807, 9821=>807, 9822=>807, 9823=>807, 9824=>807, 9825=>807, 9826=>807, 9827=>807, 9828=>807, 9829=>807, 9830=>807, 9831=>807, 9832=>807, 9833=>424, 9834=>574,
9835=>807, 9836=>807, 9837=>424, 9838=>321, 9839=>435, 9840=>673, 9841=>689, 9842=>807, 9843=>807, 9844=>807, 9845=>807, 9846=>807, 9847=>807, 9848=>807, 9849=>807, 9850=>807,
9851=>807, 9852=>807, 9853=>807, 9854=>807, 9855=>807, 9856=>782, 9857=>782, 9858=>782, 9859=>782, 9860=>782, 9861=>782, 9862=>807, 9863=>807, 9864=>807, 9865=>807, 9866=>807,
9867=>807, 9868=>807, 9869=>807, 9870=>807, 9871=>807, 9872=>807, 9873=>807, 9874=>807, 9875=>807, 9876=>807, 9877=>487, 9878=>807, 9879=>807, 9880=>807, 9881=>807, 9882=>807,
9883=>807, 9884=>807, 9888=>807, 9889=>632, 9890=>754, 9891=>754, 9892=>754, 9893=>754, 9894=>754, 9895=>754, 9896=>754, 9897=>754, 9898=>754, 9899=>754, 9900=>754, 9901=>754,
9902=>754, 9903=>754, 9904=>759, 9905=>754, 9906=>658, 9985=>754, 9986=>754, 9987=>754, 9988=>754, 9990=>754, 9991=>754, 9992=>754, 9993=>754, 9996=>754, 9997=>754, 9998=>754,
9999=>754, 10000=>754, 10001=>754, 10002=>754, 10003=>754, 10004=>754, 10005=>754, 10006=>754, 10007=>754, 10008=>754, 10009=>754, 10010=>754, 10011=>754, 10012=>754, 10013=>754, 10014=>754,
10015=>754, 10016=>754, 10017=>754, 10018=>754, 10019=>754, 10020=>754, 10021=>754, 10022=>754, 10023=>754, 10025=>754, 10026=>754, 10027=>754, 10028=>754, 10029=>754, 10030=>754, 10031=>754,
10032=>754, 10033=>754, 10034=>754, 10035=>754, 10036=>754, 10037=>754, 10038=>754, 10039=>754, 10040=>754, 10041=>754, 10042=>754, 10043=>754, 10044=>754, 10045=>754, 10046=>754, 10047=>754,
10048=>754, 10049=>754, 10050=>754, 10051=>754, 10052=>754, 10053=>754, 10054=>754, 10055=>754, 10056=>754, 10057=>754, 10058=>754, 10059=>754, 10061=>807, 10063=>807, 10064=>807, 10065=>807,
10066=>807, 10070=>807, 10072=>754, 10073=>754, 10074=>754, 10075=>312, 10076=>312, 10077=>528, 10078=>528, 10081=>754, 10082=>754, 10083=>754, 10084=>754, 10085=>754, 10086=>754, 10087=>754,
10088=>754, 10089=>754, 10090=>754, 10091=>754, 10092=>754, 10093=>754, 10094=>754, 10095=>754, 10096=>754, 10097=>754, 10098=>754, 10099=>754, 10100=>754, 10101=>754, 10102=>762, 10103=>762,
10104=>762, 10105=>762, 10106=>762, 10107=>762, 10108=>762, 10109=>762, 10110=>762, 10111=>762, 10112=>754, 10113=>754, 10114=>754, 10115=>754, 10116=>754, 10117=>754, 10118=>754, 10119=>754,
10120=>754, 10121=>754, 10122=>754, 10123=>754, 10124=>754, 10125=>754, 10126=>754, 10127=>754, 10128=>754, 10129=>754, 10130=>754, 10131=>754, 10132=>754, 10136=>754, 10137=>754, 10138=>754,
10139=>754, 10140=>754, 10141=>754, 10142=>754, 10143=>754, 10144=>754, 10145=>754, 10146=>754, 10147=>754, 10148=>754, 10149=>754, 10150=>754, 10151=>754, 10152=>754, 10153=>754, 10154=>754,
10155=>754, 10156=>754, 10157=>754, 10158=>754, 10159=>754, 10161=>754, 10162=>754, 10163=>754, 10164=>754, 10165=>754, 10166=>754, 10167=>754, 10168=>754, 10169=>754, 10170=>754, 10171=>754,
10172=>754, 10173=>754, 10174=>754, 10208=>444, 10214=>438, 10215=>438, 10216=>411, 10217=>411, 10218=>648, 10219=>648, 10224=>754, 10225=>754, 10226=>754, 10227=>754, 10228=>1042, 10229=>1290,
10230=>1290, 10231=>1290, 10232=>1290, 10233=>1290, 10234=>1290, 10235=>1290, 10236=>1290, 10237=>1290, 10238=>1290, 10239=>1290, 10240=>703, 10241=>703, 10242=>703, 10243=>703, 10244=>703, 10245=>703,
10246=>703, 10247=>703, 10248=>703, 10249=>703, 10250=>703, 10251=>703, 10252=>703, 10253=>703, 10254=>703, 10255=>703, 10256=>703, 10257=>703, 10258=>703, 10259=>703, 10260=>703, 10261=>703,
10262=>703, 10263=>703, 10264=>703, 10265=>703, 10266=>703, 10267=>703, 10268=>703, 10269=>703, 10270=>703, 10271=>703, 10272=>703, 10273=>703, 10274=>703, 10275=>703, 10276=>703, 10277=>703,
10278=>703, 10279=>703, 10280=>703, 10281=>703, 10282=>703, 10283=>703, 10284=>703, 10285=>703, 10286=>703, 10287=>703, 10288=>703, 10289=>703, 10290=>703, 10291=>703, 10292=>703, 10293=>703,
10294=>703, 10295=>703, 10296=>703, 10297=>703, 10298=>703, 10299=>703, 10300=>703, 10301=>703, 10302=>703, 10303=>703, 10304=>703, 10305=>703, 10306=>703, 10307=>703, 10308=>703, 10309=>703,
10310=>703, 10311=>703, 10312=>703, 10313=>703, 10314=>703, 10315=>703, 10316=>703, 10317=>703, 10318=>703, 10319=>703, 10320=>703, 10321=>703, 10322=>703, 10323=>703, 10324=>703, 10325=>703,
10326=>703, 10327=>703, 10328=>703, 10329=>703, 10330=>703, 10331=>703, 10332=>703, 10333=>703, 10334=>703, 10335=>703, 10336=>703, 10337=>703, 10338=>703, 10339=>703, 10340=>703, 10341=>703,
10342=>703, 10343=>703, 10344=>703, 10345=>703, 10346=>703, 10347=>703, 10348=>703, 10349=>703, 10350=>703, 10351=>703, 10352=>703, 10353=>703, 10354=>703, 10355=>703, 10356=>703, 10357=>703,
10358=>703, 10359=>703, 10360=>703, 10361=>703, 10362=>703, 10363=>703, 10364=>703, 10365=>703, 10366=>703, 10367=>703, 10368=>703, 10369=>703, 10370=>703, 10371=>703, 10372=>703, 10373=>703,
10374=>703, 10375=>703, 10376=>703, 10377=>703, 10378=>703, 10379=>703, 10380=>703, 10381=>703, 10382=>703, 10383=>703, 10384=>703, 10385=>703, 10386=>703, 10387=>703, 10388=>703, 10389=>703,
10390=>703, 10391=>703, 10392=>703, 10393=>703, 10394=>703, 10395=>703, 10396=>703, 10397=>703, 10398=>703, 10399=>703, 10400=>703, 10401=>703, 10402=>703, 10403=>703, 10404=>703, 10405=>703,
10406=>703, 10407=>703, 10408=>703, 10409=>703, 10410=>703, 10411=>703, 10412=>703, 10413=>703, 10414=>703, 10415=>703, 10416=>703, 10417=>703, 10418=>703, 10419=>703, 10420=>703, 10421=>703,
10422=>703, 10423=>703, 10424=>703, 10425=>703, 10426=>703, 10427=>703, 10428=>703, 10429=>703, 10430=>703, 10431=>703, 10432=>703, 10433=>703, 10434=>703, 10435=>703, 10436=>703, 10437=>703,
10438=>703, 10439=>703, 10440=>703, 10441=>703, 10442=>703, 10443=>703, 10444=>703, 10445=>703, 10446=>703, 10447=>703, 10448=>703, 10449=>703, 10450=>703, 10451=>703, 10452=>703, 10453=>703,
10454=>703, 10455=>703, 10456=>703, 10457=>703, 10458=>703, 10459=>703, 10460=>703, 10461=>703, 10462=>703, 10463=>703, 10464=>703, 10465=>703, 10466=>703, 10467=>703, 10468=>703, 10469=>703,
10470=>703, 10471=>703, 10472=>703, 10473=>703, 10474=>703, 10475=>703, 10476=>703, 10477=>703, 10478=>703, 10479=>703, 10480=>703, 10481=>703, 10482=>703, 10483=>703, 10484=>703, 10485=>703,
10486=>703, 10487=>703, 10488=>703, 10489=>703, 10490=>703, 10491=>703, 10492=>703, 10493=>703, 10494=>703, 10495=>703, 10502=>754, 10503=>754, 10506=>754, 10507=>754, 10560=>754, 10561=>754,
10702=>754, 10703=>941, 10704=>941, 10705=>900, 10706=>900, 10707=>900, 10708=>900, 10709=>900, 10731=>444, 10752=>900, 10753=>900, 10754=>900, 10764=>1495, 10765=>506, 10766=>506, 10767=>506,
10768=>506, 10769=>506, 10770=>506, 10771=>506, 10772=>506, 10773=>506, 10774=>506, 10775=>506, 10776=>506, 10777=>506, 10778=>506, 10779=>506, 10780=>506, 10877=>754, 10878=>754, 10879=>754,
10880=>754, 10881=>754, 10882=>754, 10883=>754, 10884=>754, 10885=>754, 10886=>754, 10887=>754, 10888=>754, 10889=>754, 10890=>754, 10891=>754, 10892=>754, 10893=>754, 10894=>754, 10895=>754,
10896=>754, 10897=>754, 10898=>754, 10899=>754, 10900=>754, 10901=>754, 10902=>754, 10903=>754, 10904=>754, 10905=>754, 10906=>754, 10907=>754, 10908=>754, 10909=>754, 10910=>754, 10911=>754,
10912=>754, 10926=>754, 10927=>754, 10928=>754, 10929=>754, 10930=>754, 10931=>754, 10932=>754, 10933=>754, 10934=>754, 10935=>754, 10936=>754, 10937=>754, 10938=>754, 11001=>754, 11002=>754,
11008=>754, 11009=>754, 11010=>754, 11011=>754, 11012=>754, 11013=>754, 11014=>754, 11015=>754, 11016=>754, 11017=>754, 11018=>754, 11019=>754, 11020=>754, 11021=>754, 11022=>754, 11023=>754,
11024=>754, 11025=>754, 11026=>850, 11027=>850, 11028=>850, 11029=>850, 11030=>692, 11031=>692, 11032=>692, 11033=>692, 11034=>850, 11040=>782, 11041=>786, 11042=>786, 11043=>786, 11360=>573,
11361=>324, 11362=>573, 11363=>659, 11364=>693, 11365=>607, 11366=>430, 11367=>860, 11368=>641, 11369=>697, 11370=>598, 11371=>652, 11372=>523, 11380=>586, 11381=>584, 11382=>464, 11383=>704,
61960=>774, 62047=>647, 63173=>618, 64256=>729, 64257=>667, 64258=>667, 64259=>1003, 64260=>1004, 64261=>727, 64262=>917, 64275=>1249, 64276=>1245, 64277=>1240, 64278=>1245, 64279=>1542, 64285=>334,
64287=>623, 64288=>647, 64297=>754, 64298=>867, 64299=>867, 64300=>867, 64301=>867, 64302=>676, 64303=>676, 64304=>676, 64305=>658, 64306=>483, 64307=>615, 64308=>700, 64309=>420, 64310=>468,
64312=>692, 64313=>420, 64314=>700, 64315=>675, 64316=>646, 64318=>771, 64320=>479, 64321=>770, 64323=>721, 64324=>699, 64326=>676, 64327=>723, 64328=>700, 64329=>867, 64330=>740, 64331=>334,
64332=>658, 64333=>678, 64334=>699, 64338=>904, 64339=>953, 64340=>338, 64341=>367, 64342=>904, 64343=>953, 64344=>338, 64345=>367, 64346=>904, 64347=>953, 64348=>338, 64349=>367, 64350=>904,
64351=>953, 64352=>338, 64353=>367, 64354=>904, 64355=>953, 64356=>338, 64357=>367, 64358=>904, 64359=>953, 64360=>338, 64361=>367, 64362=>1045, 64363=>1072, 64364=>589, 64365=>647, 64366=>1045,
64367=>1072, 64368=>589, 64369=>647, 64370=>648, 64371=>648, 64372=>648, 64373=>648, 64374=>648, 64375=>648, 64376=>648, 64377=>648, 64378=>648, 64379=>648, 64380=>648, 64381=>648, 64382=>648,
64383=>648, 64384=>648, 64385=>648, 64394=>518, 64395=>560, 64396=>518, 64397=>560, 64398=>921, 64399=>921, 64400=>523, 64401=>523, 64402=>921, 64403=>921, 64404=>523, 64405=>523, 64414=>768,
64415=>810, 64473=>559, 64474=>564, 64488=>338, 64489=>367, 64508=>825, 64509=>910, 64510=>338, 64511=>367, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0,
65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0, 65038=>0, 65039=>0, 65136=>308, 65137=>308, 65138=>308, 65139=>311, 65140=>308, 65142=>308, 65143=>308,
65144=>308, 65145=>308, 65146=>308, 65147=>308, 65148=>308, 65149=>308, 65150=>308, 65151=>308, 65152=>460, 65153=>308, 65154=>338, 65155=>308, 65156=>338, 65157=>559, 65158=>564, 65159=>308,
65160=>338, 65161=>825, 65162=>825, 65163=>338, 65164=>367, 65165=>308, 65166=>338, 65167=>904, 65168=>953, 65169=>338, 65170=>367, 65171=>531, 65172=>545, 65173=>904, 65174=>953, 65175=>338,
65176=>367, 65177=>904, 65178=>953, 65179=>338, 65180=>367, 65181=>648, 65182=>648, 65183=>648, 65184=>648, 65185=>648, 65186=>648, 65187=>648, 65188=>648, 65189=>648, 65190=>648, 65191=>648,
65192=>648, 65193=>461, 65194=>520, 65195=>461, 65196=>520, 65197=>518, 65198=>560, 65199=>518, 65200=>560, 65201=>1242, 65202=>1272, 65203=>885, 65204=>916, 65205=>1242, 65206=>1272, 65207=>885,
65208=>916, 65209=>1210, 65210=>1228, 65211=>870, 65212=>887, 65213=>1210, 65214=>1228, 65215=>870, 65216=>887, 65217=>935, 65218=>963, 65219=>848, 65220=>876, 65221=>935, 65222=>963, 65223=>848,
65224=>876, 65225=>615, 65226=>615, 65227=>615, 65228=>508, 65229=>615, 65230=>615, 65231=>615, 65232=>508, 65233=>1045, 65234=>1072, 65235=>589, 65236=>647, 65237=>804, 65238=>811, 65239=>589,
65240=>647, 65241=>825, 65242=>838, 65243=>523, 65244=>523, 65245=>781, 65246=>803, 65247=>338, 65248=>367, 65249=>659, 65250=>706, 65251=>557, 65252=>603, 65253=>768, 65254=>810, 65255=>338,
65256=>367, 65257=>531, 65258=>545, 65259=>624, 65260=>594, 65261=>559, 65262=>564, 65263=>825, 65264=>910, 65265=>825, 65266=>910, 65267=>338, 65268=>367, 65269=>670, 65270=>683, 65271=>670,
65272=>683, 65273=>670, 65274=>683, 65275=>670, 65276=>683, 65279=>0, 65533=>1002);
$enc='';
$diff='';
$file='DejaVuSansCondensed-Bold.z';
$ctg='DejaVuSansCondensed-Bold.ctg.z';
$originalsize=456120;
?>

View File

@@ -0,0 +1,267 @@
<?php
$type='TrueTypeUnicode';
$name='DejaVuSansCondensed-BoldOblique';
$desc=array('Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>96,'FontBBox'=>'[-960 -388 1804 1121]','ItalicAngle'=>-11,'StemV'=>120,'MissingWidth'=>540);
$up=-42;
$ut=44;
$cw=array(
0=>540, 32=>313, 33=>410, 34=>469, 35=>626, 36=>626, 37=>901, 38=>785, 39=>275, 40=>411, 41=>411, 42=>470, 43=>754, 44=>342, 45=>374, 46=>342,
47=>329, 48=>626, 49=>626, 50=>626, 51=>626, 52=>626, 53=>626, 54=>626, 55=>626, 56=>626, 57=>626, 58=>360, 59=>360, 60=>754, 61=>754, 62=>754,
63=>522, 64=>900, 65=>696, 66=>686, 67=>660, 68=>747, 69=>615, 70=>615, 71=>738, 72=>753, 73=>334, 74=>334, 75=>697, 76=>573, 77=>896, 78=>753,
79=>765, 80=>659, 81=>765, 82=>693, 83=>648, 84=>614, 85=>730, 86=>696, 87=>993, 88=>694, 89=>651, 90=>652, 91=>411, 92=>329, 93=>411, 94=>754,
95=>450, 96=>450, 97=>607, 98=>644, 99=>533, 100=>644, 101=>610, 102=>391, 103=>644, 104=>641, 105=>308, 106=>308, 107=>598, 108=>308, 109=>938, 110=>641,
111=>618, 112=>644, 113=>644, 114=>444, 115=>536, 116=>430, 117=>641, 118=>586, 119=>831, 120=>580, 121=>586, 122=>523, 123=>641, 124=>329, 125=>641, 126=>754,
8364=>626, 1027=>573, 8218=>342, 402=>391, 8222=>580, 8230=>900, 8224=>450, 8225=>450, 710=>450, 8240=>1309, 352=>648, 8249=>371, 338=>1050, 1036=>735, 381=>652, 1039=>753,
8216=>342, 8217=>342, 8220=>580, 8221=>580, 8226=>575, 8211=>450, 8212=>900, 732=>450, 8482=>900, 353=>536, 8250=>371, 339=>984, 1116=>611, 382=>523, 376=>651, 160=>313,
161=>410, 162=>626, 163=>626, 164=>572, 165=>626, 166=>329, 167=>450, 168=>450, 169=>900, 170=>507, 171=>584, 172=>754, 173=>374, 174=>900, 175=>450, 176=>450,
177=>754, 178=>394, 179=>394, 180=>450, 181=>662, 182=>572, 183=>342, 184=>450, 185=>394, 186=>507, 187=>584, 188=>932, 189=>932, 190=>932, 191=>522, 192=>696,
193=>696, 194=>696, 195=>696, 196=>696, 197=>696, 198=>976, 199=>660, 200=>615, 201=>615, 202=>615, 203=>615, 204=>334, 205=>334, 206=>334, 207=>334, 208=>760,
209=>753, 210=>765, 211=>765, 212=>765, 213=>765, 214=>765, 215=>754, 216=>765, 217=>730, 218=>730, 219=>730, 220=>730, 221=>651, 222=>668, 223=>647, 224=>607,
225=>607, 226=>607, 227=>607, 228=>607, 229=>607, 230=>943, 231=>533, 232=>610, 233=>610, 234=>610, 235=>610, 236=>308, 237=>308, 238=>308, 239=>308, 240=>618,
241=>641, 242=>618, 243=>618, 244=>618, 245=>618, 246=>618, 247=>754, 248=>618, 249=>641, 250=>641, 251=>641, 252=>641, 253=>586, 254=>644, 255=>586, 256=>696,
257=>607, 258=>696, 259=>607, 260=>696, 261=>607, 262=>660, 263=>533, 264=>660, 265=>533, 266=>660, 267=>533, 268=>660, 269=>533, 270=>747, 271=>644, 272=>760,
273=>644, 274=>615, 275=>610, 276=>615, 277=>610, 278=>615, 279=>610, 280=>615, 281=>610, 282=>615, 283=>610, 284=>738, 285=>644, 286=>738, 287=>644, 288=>738,
289=>644, 290=>738, 291=>644, 292=>753, 293=>641, 294=>876, 295=>711, 296=>334, 297=>308, 298=>334, 299=>308, 300=>334, 301=>308, 302=>334, 303=>308, 304=>334,
305=>308, 306=>669, 307=>617, 308=>334, 309=>308, 310=>697, 311=>598, 312=>598, 313=>573, 314=>308, 315=>573, 316=>308, 317=>573, 318=>413, 319=>573, 320=>438,
321=>594, 322=>337, 323=>753, 324=>641, 325=>753, 326=>641, 327=>753, 328=>641, 329=>884, 330=>753, 331=>641, 332=>765, 333=>618, 334=>765, 335=>618, 336=>765,
337=>618, 340=>693, 341=>444, 342=>693, 343=>444, 344=>693, 345=>444, 346=>648, 347=>536, 348=>648, 349=>536, 350=>648, 351=>536, 354=>614, 355=>430, 356=>614,
357=>430, 358=>614, 359=>430, 360=>730, 361=>641, 362=>730, 363=>641, 364=>730, 365=>641, 366=>730, 367=>641, 368=>730, 369=>641, 370=>730, 371=>641, 372=>993,
373=>831, 374=>651, 375=>586, 377=>652, 378=>523, 379=>652, 380=>523, 383=>391, 384=>644, 385=>729, 386=>686, 387=>644, 388=>686, 389=>644, 390=>660, 391=>660,
392=>533, 393=>760, 394=>791, 395=>686, 396=>644, 397=>618, 398=>615, 399=>765, 400=>626, 401=>615, 403=>738, 404=>713, 405=>940, 406=>392, 407=>350, 408=>697,
409=>598, 410=>324, 411=>532, 412=>938, 413=>753, 414=>641, 415=>765, 416=>765, 417=>618, 418=>1002, 419=>866, 420=>703, 421=>644, 422=>693, 423=>648, 424=>536,
425=>615, 426=>497, 427=>430, 428=>636, 429=>430, 430=>614, 431=>730, 432=>641, 433=>692, 434=>732, 435=>717, 436=>700, 437=>652, 438=>523, 439=>695, 440=>695,
441=>576, 442=>523, 443=>626, 444=>695, 445=>576, 446=>515, 447=>644, 448=>334, 449=>593, 450=>489, 451=>334, 452=>1393, 453=>1305, 454=>1176, 455=>879, 456=>881,
457=>603, 458=>1074, 459=>1091, 460=>957, 461=>696, 462=>607, 463=>334, 464=>308, 465=>765, 466=>618, 467=>730, 468=>641, 469=>730, 470=>641, 471=>730, 472=>641,
473=>730, 474=>641, 475=>730, 476=>641, 477=>610, 478=>696, 479=>607, 480=>696, 481=>607, 482=>976, 483=>943, 484=>738, 485=>644, 486=>738, 487=>644, 488=>697,
489=>598, 490=>765, 491=>618, 492=>765, 493=>618, 494=>695, 495=>523, 496=>308, 497=>1393, 498=>1305, 499=>1176, 500=>738, 501=>644, 502=>1160, 503=>708, 504=>753,
505=>641, 506=>696, 507=>607, 508=>976, 509=>943, 510=>765, 511=>618, 512=>696, 513=>607, 514=>696, 515=>607, 516=>615, 517=>610, 518=>615, 519=>610, 520=>334,
521=>308, 522=>334, 523=>308, 524=>765, 525=>618, 526=>765, 527=>618, 528=>693, 529=>444, 530=>693, 531=>444, 532=>730, 533=>641, 534=>730, 535=>641, 536=>648,
537=>536, 538=>614, 539=>430, 540=>621, 541=>546, 542=>753, 543=>641, 544=>753, 545=>778, 546=>728, 547=>593, 548=>652, 549=>523, 550=>696, 551=>607, 552=>615,
553=>610, 554=>765, 555=>618, 556=>765, 557=>618, 558=>765, 559=>618, 560=>765, 561=>618, 562=>651, 563=>586, 564=>442, 565=>780, 566=>460, 567=>308, 568=>979,
569=>979, 570=>696, 571=>660, 572=>533, 573=>573, 574=>614, 575=>536, 576=>523, 577=>703, 578=>553, 579=>686, 580=>730, 581=>696, 582=>615, 583=>610, 584=>334,
585=>308, 586=>774, 587=>712, 588=>693, 589=>444, 590=>651, 591=>586, 592=>607, 593=>644, 594=>644, 595=>644, 596=>533, 597=>533, 598=>712, 599=>712, 600=>610,
601=>610, 602=>788, 603=>501, 604=>490, 605=>696, 606=>658, 607=>308, 608=>712, 609=>644, 610=>564, 611=>661, 612=>571, 613=>641, 614=>641, 615=>641, 616=>491,
617=>396, 618=>491, 619=>502, 620=>624, 621=>308, 622=>757, 623=>938, 624=>938, 625=>938, 626=>641, 627=>713, 628=>578, 629=>618, 630=>817, 631=>613, 632=>716,
633=>484, 634=>484, 635=>584, 636=>444, 637=>444, 638=>536, 639=>536, 640=>578, 641=>578, 642=>536, 643=>374, 644=>391, 645=>544, 646=>497, 647=>430, 648=>430,
649=>828, 650=>692, 651=>603, 652=>586, 653=>831, 654=>586, 655=>651, 656=>624, 657=>615, 658=>576, 659=>576, 660=>515, 661=>515, 662=>515, 663=>515, 664=>765,
665=>569, 666=>658, 667=>616, 668=>622, 669=>308, 670=>659, 671=>485, 672=>712, 673=>515, 674=>515, 675=>1040, 676=>1093, 677=>1039, 678=>876, 679=>691, 680=>836,
681=>923, 682=>712, 683=>702, 684=>532, 685=>374, 686=>609, 687=>710, 688=>410, 689=>410, 690=>197, 691=>284, 692=>284, 693=>284, 694=>369, 695=>532, 696=>375,
697=>271, 698=>469, 699=>342, 700=>342, 701=>342, 702=>330, 703=>330, 704=>293, 705=>293, 706=>450, 707=>450, 708=>450, 709=>450, 711=>450, 712=>275, 713=>450,
714=>450, 715=>450, 716=>275, 717=>450, 718=>450, 719=>450, 720=>303, 721=>303, 722=>330, 723=>330, 724=>450, 725=>450, 726=>450, 727=>450, 728=>450, 729=>450,
730=>450, 731=>450, 733=>450, 734=>315, 735=>450, 736=>370, 737=>197, 738=>343, 739=>371, 740=>293, 741=>450, 742=>450, 743=>450, 744=>450, 745=>450, 748=>450,
749=>450, 750=>450, 755=>450, 759=>450, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 850=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0, 884=>271,
885=>271, 890=>450, 891=>533, 892=>495, 893=>494, 894=>303, 900=>397, 901=>450, 902=>717, 903=>342, 904=>761, 905=>908, 906=>507, 908=>801, 910=>882, 911=>804,
912=>351, 913=>696, 914=>686, 915=>573, 916=>696, 917=>615, 918=>652, 919=>753, 920=>765, 921=>334, 922=>697, 923=>696, 924=>896, 925=>753, 926=>568, 927=>765,
928=>753, 929=>659, 931=>615, 932=>614, 933=>651, 934=>765, 935=>694, 936=>765, 937=>765, 938=>334, 939=>651, 940=>618, 941=>501, 942=>641, 943=>351, 944=>607,
945=>618, 946=>644, 947=>613, 948=>618, 949=>501, 950=>532, 951=>641, 952=>618, 953=>351, 954=>639, 955=>569, 956=>662, 957=>613, 958=>532, 959=>618, 960=>712,
961=>644, 962=>533, 963=>701, 964=>574, 965=>607, 966=>704, 967=>580, 968=>714, 969=>782, 970=>351, 971=>607, 972=>618, 973=>607, 974=>782, 976=>585, 977=>594,
978=>671, 979=>883, 980=>671, 981=>716, 982=>782, 983=>669, 984=>765, 985=>618, 986=>660, 987=>533, 988=>615, 989=>444, 990=>632, 991=>593, 992=>827, 993=>564,
994=>983, 995=>753, 996=>749, 997=>644, 998=>835, 999=>669, 1000=>660, 1001=>585, 1002=>709, 1003=>604, 1004=>677, 1005=>644, 1006=>614, 1007=>531, 1008=>669, 1009=>644,
1010=>533, 1011=>308, 1012=>765, 1013=>580, 1014=>580, 1015=>668, 1016=>644, 1017=>660, 1018=>896, 1019=>659, 1020=>644, 1021=>660, 1022=>660, 1023=>628, 1024=>615, 1025=>615,
1026=>791, 1028=>660, 1029=>648, 1030=>334, 1031=>334, 1032=>334, 1033=>1039, 1034=>1017, 1035=>791, 1037=>753, 1038=>694, 1040=>696, 1041=>686, 1042=>686, 1043=>573, 1044=>801,
1045=>615, 1046=>1102, 1047=>639, 1048=>753, 1049=>753, 1050=>735, 1051=>747, 1052=>896, 1053=>753, 1054=>765, 1055=>753, 1056=>659, 1057=>660, 1058=>614, 1059=>694, 1060=>892,
1061=>694, 1062=>835, 1063=>727, 1064=>1112, 1065=>1193, 1066=>845, 1067=>932, 1068=>686, 1069=>660, 1070=>1056, 1071=>693, 1072=>607, 1073=>628, 1074=>569, 1075=>470, 1076=>727,
1077=>610, 1078=>896, 1079=>523, 1080=>630, 1081=>630, 1082=>611, 1083=>659, 1084=>735, 1085=>622, 1086=>618, 1087=>622, 1088=>644, 1089=>533, 1090=>521, 1091=>586, 1092=>893,
1093=>580, 1094=>667, 1095=>618, 1096=>956, 1097=>995, 1098=>676, 1099=>813, 1100=>569, 1101=>533, 1102=>875, 1103=>578, 1104=>610, 1105=>610, 1106=>642, 1107=>470, 1108=>533,
1109=>536, 1110=>308, 1111=>308, 1112=>308, 1113=>892, 1114=>860, 1115=>661, 1117=>630, 1118=>586, 1119=>622, 1120=>983, 1121=>782, 1122=>756, 1123=>662, 1124=>911, 1125=>755,
1126=>893, 1127=>749, 1128=>1222, 1129=>1009, 1130=>765, 1131=>618, 1132=>1112, 1133=>906, 1134=>626, 1135=>501, 1136=>967, 1137=>955, 1138=>765, 1139=>601, 1140=>765, 1141=>625,
1142=>765, 1143=>625, 1144=>1033, 1145=>939, 1146=>967, 1147=>776, 1148=>1265, 1149=>1055, 1150=>983, 1151=>782, 1152=>660, 1153=>533, 1154=>587, 1155=>0, 1156=>0, 1157=>0,
1158=>0, 1160=>376, 1161=>376, 1162=>844, 1163=>725, 1164=>686, 1165=>550, 1166=>662, 1167=>646, 1168=>573, 1169=>470, 1170=>599, 1171=>488, 1172=>709, 1173=>470, 1174=>1102,
1175=>896, 1176=>639, 1177=>523, 1178=>697, 1179=>611, 1180=>735, 1181=>611, 1182=>735, 1183=>611, 1184=>914, 1185=>743, 1186=>753, 1187=>622, 1188=>992, 1189=>783, 1190=>1129,
1191=>880, 1192=>787, 1193=>639, 1194=>660, 1195=>533, 1196=>614, 1197=>521, 1198=>651, 1199=>586, 1200=>651, 1201=>586, 1202=>694, 1203=>580, 1204=>993, 1205=>901, 1206=>727,
1207=>618, 1208=>727, 1209=>618, 1210=>727, 1211=>641, 1212=>923, 1213=>729, 1214=>923, 1215=>729, 1216=>334, 1217=>1102, 1218=>896, 1219=>700, 1220=>566, 1221=>839, 1222=>724,
1223=>753, 1224=>622, 1225=>844, 1226=>725, 1227=>727, 1228=>618, 1229=>986, 1230=>838, 1231=>308, 1232=>696, 1233=>607, 1234=>696, 1235=>607, 1236=>976, 1237=>943, 1238=>615,
1239=>610, 1240=>765, 1241=>610, 1242=>765, 1243=>610, 1244=>1102, 1245=>896, 1246=>639, 1247=>523, 1248=>695, 1249=>576, 1250=>753, 1251=>630, 1252=>753, 1253=>630, 1254=>765,
1255=>618, 1256=>765, 1257=>618, 1258=>765, 1259=>618, 1260=>660, 1261=>533, 1262=>694, 1263=>586, 1264=>694, 1265=>586, 1266=>694, 1267=>586, 1268=>727, 1269=>618, 1270=>573,
1271=>470, 1272=>932, 1273=>813, 1274=>599, 1275=>488, 1276=>694, 1277=>580, 1278=>694, 1279=>580, 1280=>686, 1281=>547, 1282=>1043, 1283=>804, 1284=>1007, 1285=>828, 1286=>745,
1287=>624, 1288=>1117, 1289=>915, 1290=>1123, 1291=>912, 1292=>755, 1293=>574, 1294=>844, 1295=>722, 1296=>626, 1297=>501, 1298=>747, 1299=>659, 1329=>886, 1330=>730, 1331=>886,
1332=>886, 1333=>730, 1334=>699, 1335=>730, 1336=>730, 1337=>877, 1338=>886, 1339=>730, 1340=>639, 1341=>970, 1342=>1022, 1343=>730, 1344=>639, 1345=>681, 1346=>886, 1347=>789,
1348=>886, 1349=>714, 1350=>886, 1351=>730, 1352=>730, 1353=>730, 1354=>862, 1355=>699, 1356=>886, 1357=>730, 1358=>886, 1359=>648, 1360=>730, 1361=>714, 1362=>805, 1363=>765,
1364=>842, 1365=>765, 1366=>648, 1369=>330, 1370=>342, 1371=>495, 1372=>495, 1373=>342, 1374=>491, 1375=>468, 1377=>938, 1378=>641, 1379=>779, 1380=>781, 1381=>641, 1382=>735,
1383=>588, 1384=>641, 1385=>729, 1386=>735, 1387=>641, 1388=>448, 1389=>916, 1390=>644, 1391=>641, 1392=>641, 1393=>644, 1394=>737, 1395=>641, 1396=>676, 1397=>308, 1398=>794,
1399=>502, 1400=>641, 1401=>502, 1402=>938, 1403=>502, 1404=>777, 1405=>641, 1406=>732, 1407=>938, 1408=>641, 1409=>644, 1410=>514, 1411=>938, 1412=>700, 1413=>618, 1414=>648,
1415=>776, 1417=>360, 1418=>438, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0, 1469=>0,
1471=>0, 1472=>334, 1473=>0, 1474=>0, 1475=>334, 1478=>479, 1479=>0, 1488=>676, 1489=>658, 1490=>483, 1491=>615, 1492=>700, 1493=>334, 1494=>468, 1495=>700, 1496=>692,
1497=>334, 1498=>700, 1499=>675, 1500=>646, 1501=>700, 1502=>771, 1503=>334, 1504=>479, 1505=>770, 1506=>647, 1507=>721, 1508=>699, 1509=>565, 1510=>676, 1511=>723, 1512=>700,
1513=>867, 1514=>740, 1520=>623, 1521=>623, 1522=>623, 3647=>668, 3713=>734, 3714=>673, 3716=>674, 3719=>512, 3720=>668, 3722=>669, 3725=>685, 3732=>635, 3733=>633, 3734=>672,
3735=>737, 3737=>657, 3738=>654, 3739=>654, 3740=>830, 3741=>744, 3742=>779, 3743=>779, 3745=>752, 3746=>685, 3747=>692, 3749=>691, 3751=>642, 3754=>744, 3755=>928, 3757=>651,
3758=>705, 3759=>840, 3760=>620, 3761=>0, 3762=>549, 3763=>549, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>603, 3776=>464,
3777=>774, 3778=>464, 3779=>584, 3780=>569, 3782=>683, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>1227, 3805=>1227, 5121=>696, 5122=>696, 5123=>696,
5124=>696, 5125=>814, 5126=>814, 5127=>814, 5129=>814, 5130=>814, 5131=>814, 5132=>916, 5133=>908, 5134=>916, 5135=>908, 5136=>916, 5137=>908, 5138=>1034, 5139=>1025, 5140=>1034,
5141=>1025, 5142=>814, 5143=>1034, 5144=>1028, 5145=>1034, 5146=>1028, 5147=>814, 5149=>278, 5150=>476, 5151=>382, 5152=>382, 5153=>355, 5154=>355, 5155=>355, 5156=>355, 5157=>507,
5158=>423, 5159=>278, 5160=>355, 5161=>355, 5162=>355, 5163=>1092, 5164=>888, 5165=>1094, 5166=>1167, 5167=>696, 5168=>696, 5169=>696, 5170=>696, 5171=>797, 5172=>797, 5173=>797,
5175=>797, 5176=>797, 5177=>797, 5178=>916, 5179=>908, 5180=>916, 5181=>908, 5182=>916, 5183=>908, 5184=>1034, 5185=>1025, 5186=>1034, 5187=>1025, 5188=>1034, 5189=>1028, 5190=>1034,
5191=>1028, 5192=>797, 5193=>518, 5194=>206, 5196=>730, 5197=>730, 5198=>730, 5199=>730, 5200=>734, 5201=>734, 5202=>734, 5204=>734, 5205=>734, 5206=>734, 5207=>950, 5208=>943,
5209=>950, 5210=>943, 5211=>950, 5212=>943, 5213=>954, 5214=>949, 5215=>954, 5216=>949, 5217=>954, 5218=>946, 5219=>954, 5220=>946, 5221=>954, 5222=>493, 5223=>904, 5224=>904,
5225=>921, 5226=>915, 5227=>668, 5228=>668, 5229=>668, 5230=>668, 5231=>668, 5232=>668, 5233=>668, 5234=>668, 5235=>668, 5236=>926, 5237=>877, 5238=>882, 5239=>877, 5240=>882,
5241=>877, 5242=>926, 5243=>877, 5244=>926, 5245=>877, 5246=>882, 5247=>877, 5248=>882, 5249=>877, 5250=>882, 5251=>451, 5252=>451, 5253=>844, 5254=>844, 5255=>844, 5256=>844,
5257=>668, 5258=>668, 5259=>668, 5260=>668, 5261=>668, 5262=>668, 5263=>668, 5264=>668, 5265=>668, 5266=>926, 5267=>877, 5268=>926, 5269=>877, 5270=>926, 5271=>877, 5272=>926,
5273=>877, 5274=>926, 5275=>877, 5276=>926, 5277=>877, 5278=>926, 5279=>877, 5280=>926, 5281=>451, 5282=>451, 5283=>563, 5284=>563, 5285=>563, 5286=>563, 5287=>563, 5288=>563,
5289=>563, 5290=>563, 5291=>563, 5292=>793, 5293=>769, 5294=>777, 5295=>786, 5296=>777, 5297=>786, 5298=>793, 5299=>786, 5300=>793, 5301=>786, 5302=>777, 5303=>786, 5304=>777,
5305=>786, 5306=>777, 5307=>392, 5308=>493, 5309=>392, 5312=>889, 5313=>889, 5314=>889, 5315=>889, 5316=>838, 5317=>838, 5318=>838, 5319=>838, 5320=>838, 5321=>1114, 5322=>1122,
5323=>1080, 5324=>1105, 5325=>1080, 5326=>1105, 5327=>838, 5328=>593, 5329=>447, 5330=>593, 5331=>889, 5332=>889, 5333=>889, 5334=>889, 5335=>838, 5336=>838, 5337=>838, 5338=>838,
5339=>838, 5340=>1107, 5341=>1122, 5342=>1155, 5343=>1105, 5344=>1155, 5345=>1105, 5346=>1105, 5347=>1093, 5348=>1105, 5349=>1093, 5350=>1155, 5351=>1105, 5352=>1155, 5353=>1105, 5354=>593,
5356=>797, 5357=>657, 5358=>657, 5359=>657, 5360=>657, 5361=>657, 5362=>657, 5363=>657, 5364=>657, 5365=>657, 5366=>897, 5367=>862, 5368=>870, 5369=>890, 5370=>870, 5371=>890,
5372=>897, 5373=>862, 5374=>897, 5375=>862, 5376=>870, 5377=>890, 5378=>870, 5379=>890, 5380=>870, 5381=>443, 5382=>414, 5383=>443, 5392=>831, 5393=>831, 5394=>831, 5395=>1022,
5396=>1022, 5397=>1022, 5398=>1022, 5399=>1088, 5400=>1081, 5401=>1088, 5402=>1081, 5403=>1088, 5404=>1081, 5405=>1288, 5406=>1278, 5407=>1288, 5408=>1278, 5409=>1288, 5410=>1278, 5411=>1288,
5412=>1278, 5413=>671, 5414=>698, 5415=>698, 5416=>698, 5417=>698, 5418=>698, 5419=>698, 5420=>698, 5421=>698, 5422=>698, 5423=>902, 5424=>903, 5425=>911, 5426=>896, 5427=>911,
5428=>896, 5429=>902, 5430=>903, 5431=>902, 5432=>903, 5433=>911, 5434=>896, 5435=>911, 5436=>896, 5437=>911, 5438=>445, 5440=>355, 5441=>458, 5442=>929, 5443=>929, 5444=>878,
5445=>878, 5446=>878, 5447=>878, 5448=>659, 5449=>659, 5450=>659, 5451=>659, 5452=>659, 5453=>659, 5454=>902, 5455=>863, 5456=>445, 5458=>797, 5459=>696, 5460=>696, 5461=>696,
5462=>696, 5463=>835, 5464=>835, 5465=>835, 5466=>835, 5467=>1055, 5468=>1028, 5469=>542, 5470=>730, 5471=>730, 5472=>730, 5473=>730, 5474=>730, 5475=>730, 5476=>734, 5477=>734,
5478=>734, 5479=>734, 5480=>954, 5481=>946, 5482=>493, 5492=>879, 5493=>879, 5494=>879, 5495=>879, 5496=>879, 5497=>879, 5498=>879, 5499=>556, 5500=>753, 5501=>458, 5502=>1114,
5503=>1114, 5504=>1114, 5505=>1114, 5506=>1114, 5507=>1114, 5508=>1114, 5509=>890, 5514=>879, 5515=>879, 5516=>879, 5517=>879, 5518=>1432, 5519=>1432, 5520=>1432, 5521=>1165, 5522=>1165,
5523=>1432, 5524=>1432, 5525=>763, 5526=>1146, 5536=>889, 5537=>889, 5538=>838, 5539=>838, 5540=>838, 5541=>838, 5542=>593, 5543=>698, 5544=>698, 5545=>698, 5546=>698, 5547=>698,
5548=>698, 5549=>698, 5550=>445, 5551=>668, 5598=>747, 5601=>747, 5702=>446, 5703=>446, 5742=>371, 5743=>1114, 5744=>1432, 5745=>1814, 5746=>1814, 5747=>1548, 5748=>1510, 5749=>1814,
5750=>1814, 7424=>586, 7425=>750, 7426=>943, 7427=>547, 7428=>533, 7429=>608, 7430=>608, 7431=>502, 7432=>501, 7433=>308, 7434=>444, 7435=>598, 7436=>485, 7437=>735, 7438=>630,
7439=>618, 7440=>533, 7441=>594, 7442=>594, 7443=>594, 7444=>984, 7446=>618, 7447=>618, 7448=>500, 7449=>578, 7450=>578, 7451=>521, 7452=>571, 7453=>663, 7454=>853, 7455=>625,
7456=>586, 7457=>831, 7458=>523, 7459=>581, 7462=>485, 7463=>586, 7464=>622, 7465=>500, 7466=>703, 7467=>659, 7468=>438, 7469=>615, 7470=>432, 7472=>470, 7473=>387, 7474=>387,
7475=>465, 7476=>474, 7477=>211, 7478=>211, 7479=>439, 7480=>361, 7481=>563, 7482=>474, 7483=>474, 7484=>481, 7485=>458, 7486=>415, 7487=>436, 7488=>387, 7489=>460, 7490=>625,
7491=>412, 7492=>412, 7493=>431, 7494=>641, 7495=>431, 7496=>431, 7497=>431, 7498=>431, 7499=>347, 7500=>347, 7501=>431, 7502=>197, 7503=>438, 7504=>597, 7505=>410, 7506=>439,
7507=>372, 7508=>439, 7509=>439, 7510=>431, 7511=>349, 7512=>410, 7513=>416, 7514=>597, 7515=>451, 7517=>405, 7518=>386, 7519=>389, 7520=>443, 7521=>365, 7522=>197, 7523=>284,
7524=>410, 7525=>451, 7526=>405, 7527=>386, 7528=>389, 7529=>443, 7530=>365, 7543=>644, 7544=>474, 7547=>491, 7557=>462, 7579=>431, 7580=>372, 7581=>372, 7582=>439, 7583=>347,
7584=>339, 7585=>313, 7586=>431, 7587=>410, 7588=>312, 7589=>253, 7590=>312, 7591=>312, 7592=>388, 7593=>293, 7594=>296, 7595=>333, 7596=>598, 7597=>597, 7598=>505, 7599=>505,
7600=>403, 7601=>439, 7602=>488, 7603=>379, 7604=>356, 7605=>349, 7606=>524, 7607=>444, 7608=>359, 7609=>405, 7610=>451, 7611=>375, 7612=>471, 7613=>422, 7614=>409, 7615=>382,
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>696, 7681=>607, 7682=>686, 7683=>644, 7684=>686, 7685=>644, 7686=>686, 7687=>644, 7688=>660, 7689=>533,
7690=>747, 7691=>644, 7692=>747, 7693=>644, 7694=>747, 7695=>644, 7696=>747, 7697=>644, 7698=>747, 7699=>644, 7700=>615, 7701=>610, 7702=>615, 7703=>610, 7704=>615, 7705=>610,
7706=>615, 7707=>610, 7708=>615, 7709=>610, 7710=>615, 7711=>391, 7712=>738, 7713=>644, 7714=>753, 7715=>641, 7716=>753, 7717=>641, 7718=>753, 7719=>641, 7720=>753, 7721=>641,
7722=>753, 7723=>641, 7724=>334, 7725=>308, 7726=>334, 7727=>308, 7728=>697, 7729=>598, 7730=>697, 7731=>598, 7732=>697, 7733=>598, 7734=>573, 7735=>308, 7736=>573, 7737=>308,
7738=>573, 7739=>308, 7740=>573, 7741=>308, 7742=>896, 7743=>938, 7744=>896, 7745=>938, 7746=>896, 7747=>938, 7748=>753, 7749=>641, 7750=>753, 7751=>641, 7752=>753, 7753=>641,
7754=>753, 7755=>641, 7756=>765, 7757=>618, 7758=>765, 7759=>618, 7760=>765, 7761=>618, 7762=>765, 7763=>618, 7764=>659, 7765=>644, 7766=>659, 7767=>644, 7768=>693, 7769=>444,
7770=>693, 7771=>444, 7772=>693, 7773=>444, 7774=>693, 7775=>444, 7776=>648, 7777=>536, 7778=>648, 7779=>536, 7780=>648, 7781=>536, 7782=>648, 7783=>536, 7784=>648, 7785=>536,
7786=>614, 7787=>430, 7788=>614, 7789=>430, 7790=>614, 7791=>430, 7792=>614, 7793=>430, 7794=>730, 7795=>641, 7796=>730, 7797=>641, 7798=>730, 7799=>641, 7800=>730, 7801=>641,
7802=>730, 7803=>641, 7804=>696, 7805=>586, 7806=>696, 7807=>586, 7808=>993, 7809=>831, 7810=>993, 7811=>831, 7812=>993, 7813=>831, 7814=>993, 7815=>831, 7816=>993, 7817=>831,
7818=>694, 7819=>580, 7820=>694, 7821=>580, 7822=>651, 7823=>586, 7824=>652, 7825=>523, 7826=>652, 7827=>523, 7828=>652, 7829=>523, 7830=>641, 7831=>430, 7832=>831, 7833=>586,
7834=>607, 7835=>391, 7840=>696, 7841=>607, 7842=>696, 7843=>607, 7844=>696, 7845=>607, 7846=>696, 7847=>607, 7848=>696, 7849=>607, 7850=>696, 7851=>607, 7852=>696, 7853=>607,
7854=>696, 7855=>607, 7856=>696, 7857=>607, 7858=>696, 7859=>607, 7860=>696, 7861=>607, 7862=>696, 7863=>607, 7864=>615, 7865=>610, 7866=>615, 7867=>610, 7868=>615, 7869=>610,
7870=>615, 7871=>610, 7872=>615, 7873=>610, 7874=>615, 7875=>610, 7876=>615, 7877=>610, 7878=>615, 7879=>610, 7880=>334, 7881=>308, 7882=>334, 7883=>308, 7884=>765, 7885=>618,
7886=>765, 7887=>618, 7888=>765, 7889=>618, 7890=>765, 7891=>618, 7892=>765, 7893=>618, 7894=>765, 7895=>618, 7896=>765, 7897=>618, 7898=>765, 7899=>618, 7900=>765, 7901=>618,
7902=>765, 7903=>618, 7904=>765, 7905=>618, 7906=>765, 7907=>618, 7908=>730, 7909=>641, 7910=>730, 7911=>641, 7912=>730, 7913=>641, 7914=>730, 7915=>641, 7916=>730, 7917=>641,
7918=>730, 7919=>641, 7920=>730, 7921=>641, 7922=>651, 7923=>586, 7924=>651, 7925=>586, 7926=>651, 7927=>586, 7928=>651, 7929=>586, 7936=>618, 7937=>618, 7938=>618, 7939=>618,
7940=>618, 7941=>618, 7942=>618, 7943=>618, 7944=>696, 7945=>696, 7946=>937, 7947=>939, 7948=>841, 7949=>866, 7950=>751, 7951=>773, 7952=>501, 7953=>501, 7954=>501, 7955=>501,
7956=>501, 7957=>501, 7960=>712, 7961=>715, 7962=>989, 7963=>986, 7964=>920, 7965=>947, 7968=>641, 7969=>641, 7970=>641, 7971=>641, 7972=>641, 7973=>641, 7974=>641, 7975=>641,
7976=>851, 7977=>856, 7978=>1125, 7979=>1125, 7980=>1062, 7981=>1085, 7982=>948, 7983=>956, 7984=>351, 7985=>351, 7986=>351, 7987=>351, 7988=>351, 7989=>351, 7990=>351, 7991=>351,
7992=>435, 7993=>440, 7994=>699, 7995=>707, 7996=>641, 7997=>664, 7998=>544, 7999=>544, 8000=>618, 8001=>618, 8002=>618, 8003=>618, 8004=>618, 8005=>618, 8008=>802, 8009=>839,
8010=>1099, 8011=>1101, 8012=>947, 8013=>974, 8016=>607, 8017=>607, 8018=>607, 8019=>607, 8020=>607, 8021=>607, 8022=>607, 8023=>607, 8025=>837, 8027=>1065, 8029=>1079, 8031=>944,
8032=>782, 8033=>782, 8034=>782, 8035=>782, 8036=>782, 8037=>782, 8038=>782, 8039=>782, 8040=>817, 8041=>862, 8042=>1121, 8043=>1126, 8044=>968, 8045=>994, 8046=>925, 8047=>968,
8048=>618, 8049=>618, 8050=>501, 8051=>501, 8052=>641, 8053=>641, 8054=>351, 8055=>351, 8056=>618, 8057=>618, 8058=>607, 8059=>607, 8060=>782, 8061=>782, 8064=>618, 8065=>618,
8066=>618, 8067=>618, 8068=>618, 8069=>618, 8070=>618, 8071=>618, 8072=>696, 8073=>696, 8074=>937, 8075=>939, 8076=>841, 8077=>866, 8078=>751, 8079=>773, 8080=>641, 8081=>641,
8082=>641, 8083=>641, 8084=>641, 8085=>641, 8086=>641, 8087=>641, 8088=>851, 8089=>856, 8090=>1125, 8091=>1125, 8092=>1062, 8093=>1085, 8094=>948, 8095=>956, 8096=>782, 8097=>782,
8098=>782, 8099=>782, 8100=>782, 8101=>782, 8102=>782, 8103=>782, 8104=>817, 8105=>862, 8106=>1121, 8107=>1126, 8108=>968, 8109=>994, 8110=>925, 8111=>968, 8112=>618, 8113=>618,
8114=>618, 8115=>618, 8116=>618, 8118=>618, 8119=>618, 8120=>696, 8121=>696, 8122=>789, 8123=>717, 8124=>696, 8125=>450, 8126=>450, 8127=>450, 8128=>450, 8129=>450, 8130=>641,
8131=>641, 8132=>641, 8134=>641, 8135=>641, 8136=>836, 8137=>761, 8138=>972, 8139=>908, 8140=>753, 8141=>450, 8142=>450, 8143=>450, 8144=>351, 8145=>351, 8146=>351, 8147=>351,
8150=>351, 8151=>351, 8152=>334, 8153=>334, 8154=>559, 8155=>507, 8157=>450, 8158=>450, 8159=>450, 8160=>607, 8161=>607, 8162=>607, 8163=>607, 8164=>644, 8165=>644, 8166=>607,
8167=>607, 8168=>651, 8169=>651, 8170=>918, 8171=>882, 8172=>754, 8173=>450, 8174=>450, 8175=>450, 8178=>782, 8179=>782, 8180=>782, 8182=>782, 8183=>782, 8184=>958, 8185=>801,
8186=>976, 8187=>804, 8188=>765, 8189=>450, 8190=>450, 8192=>450, 8193=>900, 8194=>450, 8195=>900, 8196=>296, 8197=>225, 8198=>150, 8199=>626, 8200=>342, 8201=>180, 8202=>89,
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>374, 8209=>374, 8210=>626, 8213=>900, 8214=>450, 8215=>450, 8219=>342, 8223=>591, 8227=>575, 8228=>342, 8229=>616,
8231=>313, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>180, 8241=>1717, 8242=>237, 8243=>402, 8244=>567, 8245=>237, 8246=>402, 8247=>567, 8248=>659, 8251=>875,
8252=>564, 8253=>522, 8254=>450, 8255=>745, 8256=>745, 8257=>296, 8258=>920, 8259=>450, 8260=>150, 8261=>411, 8262=>411, 8263=>927, 8264=>746, 8265=>746, 8266=>461, 8267=>618,
8268=>450, 8269=>450, 8270=>470, 8271=>360, 8272=>745, 8273=>470, 8274=>500, 8275=>754, 8276=>746, 8277=>754, 8278=>615, 8279=>731, 8280=>754, 8281=>754, 8282=>342, 8283=>784,
8284=>754, 8285=>342, 8286=>342, 8287=>200, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>394, 8305=>197,
8308=>394, 8309=>394, 8310=>394, 8311=>394, 8312=>394, 8313=>394, 8314=>475, 8315=>475, 8316=>475, 8317=>259, 8318=>259, 8319=>410, 8320=>394, 8321=>394, 8322=>394, 8323=>394,
8324=>394, 8325=>394, 8326=>394, 8327=>394, 8328=>394, 8329=>394, 8330=>475, 8331=>475, 8332=>475, 8333=>259, 8334=>259, 8336=>412, 8337=>431, 8338=>439, 8339=>371, 8340=>431,
8352=>836, 8353=>626, 8354=>626, 8355=>626, 8356=>626, 8357=>938, 8358=>753, 8359=>1339, 8360=>1084, 8361=>993, 8362=>768, 8363=>642, 8365=>626, 8366=>614, 8367=>1252, 8368=>626,
8369=>626, 8370=>626, 8371=>626, 8372=>773, 8373=>626, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>995, 8449=>995, 8450=>660, 8451=>1090, 8452=>807, 8453=>1002, 8454=>1033,
8455=>626, 8456=>628, 8457=>856, 8459=>965, 8460=>822, 8461=>765, 8462=>641, 8463=>641, 8464=>544, 8465=>627, 8466=>781, 8467=>424, 8468=>876, 8469=>753, 8470=>1083, 8471=>900,
8472=>627, 8473=>631, 8474=>765, 8475=>789, 8476=>732, 8477=>713, 8478=>807, 8479=>639, 8480=>917, 8481=>1115, 8483=>751, 8484=>652, 8485=>560, 8486=>765, 8487=>692, 8488=>686,
8489=>272, 8490=>697, 8491=>696, 8492=>835, 8493=>699, 8494=>769, 8495=>572, 8496=>664, 8497=>729, 8498=>615, 8499=>1074, 8500=>418, 8501=>714, 8502=>662, 8503=>453, 8504=>625,
8505=>342, 8506=>851, 8507=>1232, 8508=>710, 8509=>663, 8510=>586, 8511=>760, 8512=>756, 8513=>707, 8514=>518, 8515=>573, 8516=>684, 8517=>747, 8518=>644, 8519=>610, 8520=>308,
8521=>308, 8523=>785, 8526=>492, 8531=>932, 8532=>932, 8533=>932, 8534=>932, 8535=>932, 8536=>932, 8537=>932, 8538=>932, 8539=>932, 8540=>932, 8541=>932, 8542=>932, 8543=>554,
8544=>334, 8545=>593, 8546=>851, 8547=>989, 8548=>696, 8549=>989, 8550=>1247, 8551=>1505, 8552=>1008, 8553=>694, 8554=>1008, 8555=>1266, 8556=>573, 8557=>660, 8558=>747, 8559=>896,
8560=>308, 8561=>546, 8562=>785, 8563=>885, 8564=>586, 8565=>866, 8566=>1104, 8567=>1342, 8568=>872, 8569=>580, 8570=>872, 8571=>1110, 8572=>308, 8573=>533, 8574=>644, 8575=>938,
8576=>1160, 8577=>747, 8578=>1160, 8579=>660, 8580=>533, 8592=>754, 8593=>754, 8594=>754, 8595=>754, 8596=>754, 8597=>754, 8598=>754, 8599=>754, 8600=>754, 8601=>754, 8602=>754,
8603=>754, 8604=>754, 8605=>754, 8606=>754, 8607=>754, 8608=>754, 8609=>754, 8610=>754, 8611=>754, 8612=>754, 8613=>754, 8614=>754, 8615=>754, 8616=>754, 8617=>754, 8618=>754,
8619=>754, 8620=>754, 8621=>754, 8622=>754, 8623=>754, 8624=>754, 8625=>754, 8626=>754, 8627=>754, 8628=>754, 8629=>754, 8630=>754, 8631=>754, 8632=>754, 8633=>754, 8634=>754,
8635=>754, 8636=>754, 8637=>754, 8638=>754, 8639=>754, 8640=>754, 8641=>754, 8642=>754, 8643=>754, 8644=>754, 8645=>754, 8646=>754, 8647=>754, 8648=>754, 8649=>754, 8650=>754,
8651=>754, 8652=>754, 8653=>754, 8654=>754, 8655=>754, 8656=>754, 8657=>754, 8658=>754, 8659=>754, 8660=>754, 8661=>754, 8662=>754, 8663=>754, 8664=>754, 8665=>754, 8666=>754,
8667=>754, 8668=>754, 8669=>754, 8670=>754, 8671=>754, 8672=>754, 8673=>754, 8674=>754, 8675=>754, 8676=>754, 8677=>754, 8678=>754, 8679=>754, 8680=>754, 8681=>754, 8682=>754,
8683=>754, 8684=>754, 8685=>754, 8686=>754, 8687=>754, 8688=>754, 8689=>754, 8690=>754, 8691=>754, 8692=>754, 8693=>754, 8694=>754, 8695=>754, 8696=>754, 8697=>754, 8698=>754,
8699=>754, 8700=>754, 8701=>754, 8702=>754, 8703=>754, 8704=>696, 8705=>626, 8706=>489, 8707=>615, 8708=>615, 8709=>771, 8710=>627, 8711=>627, 8712=>807, 8713=>807, 8714=>675,
8715=>807, 8716=>807, 8717=>675, 8718=>572, 8719=>708, 8720=>708, 8721=>646, 8722=>754, 8723=>754, 8724=>626, 8725=>150, 8726=>626, 8727=>754, 8728=>563, 8729=>342, 8730=>600,
8731=>600, 8732=>600, 8733=>602, 8734=>750, 8735=>754, 8736=>807, 8737=>807, 8738=>754, 8739=>450, 8740=>450, 8741=>450, 8742=>450, 8743=>730, 8744=>730, 8745=>730, 8746=>730,
8747=>549, 8748=>835, 8749=>1165, 8750=>506, 8751=>879, 8752=>1181, 8753=>506, 8754=>506, 8755=>506, 8756=>626, 8757=>626, 8758=>264, 8759=>626, 8760=>754, 8761=>754, 8762=>754,
8763=>754, 8764=>754, 8765=>754, 8766=>754, 8767=>754, 8768=>337, 8769=>754, 8770=>754, 8771=>754, 8772=>754, 8773=>754, 8774=>754, 8775=>754, 8776=>754, 8777=>754, 8778=>754,
8779=>754, 8780=>754, 8781=>754, 8782=>754, 8783=>754, 8784=>754, 8785=>754, 8786=>754, 8787=>754, 8788=>956, 8789=>956, 8790=>754, 8791=>754, 8792=>754, 8793=>754, 8794=>754,
8795=>754, 8796=>754, 8797=>754, 8798=>754, 8799=>754, 8800=>754, 8801=>754, 8802=>754, 8803=>754, 8804=>754, 8805=>754, 8806=>754, 8807=>754, 8808=>756, 8809=>756, 8810=>942,
8811=>942, 8812=>450, 8813=>754, 8814=>754, 8815=>754, 8816=>754, 8817=>754, 8818=>754, 8819=>754, 8820=>754, 8821=>754, 8822=>754, 8823=>754, 8824=>754, 8825=>754, 8826=>754,
8827=>754, 8828=>754, 8829=>754, 8830=>754, 8831=>754, 8832=>754, 8833=>754, 8834=>754, 8835=>754, 8836=>754, 8837=>754, 8838=>754, 8839=>754, 8840=>754, 8841=>754, 8842=>754,
8843=>754, 8844=>730, 8845=>730, 8846=>730, 8847=>754, 8848=>754, 8849=>754, 8850=>754, 8851=>678, 8852=>678, 8853=>754, 8854=>754, 8855=>754, 8856=>754, 8857=>754, 8858=>754,
8859=>754, 8860=>754, 8861=>754, 8862=>754, 8863=>754, 8864=>754, 8865=>754, 8866=>822, 8867=>822, 8868=>822, 8869=>822, 8870=>488, 8871=>488, 8872=>822, 8873=>822, 8874=>822,
8875=>822, 8876=>822, 8877=>822, 8878=>822, 8879=>822, 8882=>754, 8883=>754, 8884=>754, 8885=>754, 8886=>900, 8887=>900, 8888=>754, 8889=>754, 8890=>488, 8891=>730, 8892=>730,
8893=>730, 8896=>758, 8897=>758, 8898=>758, 8899=>758, 8900=>444, 8901=>342, 8902=>563, 8904=>900, 8905=>900, 8906=>900, 8907=>900, 8908=>900, 8909=>754, 8918=>754, 8919=>754,
8920=>1280, 8921=>1280, 8922=>754, 8923=>754, 8924=>754, 8925=>754, 8926=>754, 8927=>754, 8928=>754, 8929=>754, 8930=>754, 8931=>754, 8932=>754, 8933=>754, 8934=>754, 8935=>754,
8936=>754, 8937=>754, 8938=>754, 8939=>754, 8940=>754, 8941=>754, 8946=>1042, 8947=>807, 8948=>675, 8949=>807, 8950=>807, 8951=>675, 8952=>807, 8953=>807, 8954=>1042, 8955=>807,
8956=>675, 8957=>807, 8958=>675, 8959=>807, 8962=>644, 8966=>826, 8968=>411, 8969=>411, 8970=>411, 8971=>411, 8976=>754, 8977=>484, 8984=>835, 8985=>754, 8992=>549, 8993=>549,
8997=>900, 9000=>1299, 9085=>776, 9115=>450, 9116=>450, 9117=>450, 9118=>450, 9119=>450, 9120=>450, 9121=>450, 9122=>450, 9123=>450, 9124=>450, 9125=>450, 9126=>450, 9127=>675,
9128=>675, 9129=>675, 9130=>675, 9131=>675, 9132=>675, 9133=>675, 9134=>549, 9166=>754, 9167=>850, 9250=>644, 9251=>644, 9312=>762, 9313=>762, 9314=>762, 9315=>762, 9316=>762,
9317=>762, 9318=>762, 9319=>762, 9320=>762, 9321=>762, 9600=>692, 9601=>692, 9602=>692, 9603=>692, 9604=>692, 9605=>692, 9606=>692, 9607=>692, 9608=>692, 9609=>692, 9610=>692,
9611=>692, 9612=>692, 9613=>692, 9614=>692, 9615=>692, 9616=>692, 9617=>692, 9618=>692, 9619=>692, 9620=>692, 9621=>692, 9622=>692, 9623=>692, 9624=>692, 9625=>692, 9626=>692,
9627=>692, 9628=>692, 9629=>692, 9630=>692, 9631=>692, 9632=>850, 9633=>850, 9634=>850, 9635=>850, 9636=>850, 9637=>850, 9638=>850, 9639=>850, 9640=>850, 9641=>850, 9642=>610,
9643=>610, 9644=>850, 9645=>850, 9646=>495, 9647=>495, 9648=>692, 9649=>692, 9650=>692, 9651=>692, 9652=>452, 9653=>452, 9654=>692, 9655=>692, 9656=>452, 9657=>452, 9658=>692,
9659=>692, 9660=>692, 9661=>692, 9662=>452, 9663=>452, 9664=>692, 9665=>692, 9666=>452, 9667=>452, 9668=>692, 9669=>692, 9670=>692, 9671=>692, 9672=>692, 9673=>785, 9674=>444,
9675=>785, 9676=>785, 9677=>785, 9678=>785, 9679=>785, 9680=>785, 9681=>785, 9682=>785, 9683=>785, 9684=>785, 9685=>785, 9686=>474, 9687=>474, 9688=>756, 9689=>873, 9690=>873,
9691=>873, 9692=>348, 9693=>348, 9694=>348, 9695=>348, 9696=>692, 9697=>692, 9698=>692, 9699=>692, 9700=>692, 9701=>692, 9702=>575, 9703=>850, 9704=>850, 9705=>850, 9706=>850,
9707=>850, 9708=>692, 9709=>692, 9710=>692, 9711=>1007, 9712=>850, 9713=>850, 9714=>850, 9715=>850, 9716=>785, 9717=>785, 9718=>785, 9719=>785, 9720=>692, 9721=>692, 9722=>692,
9723=>747, 9724=>747, 9725=>659, 9726=>659, 9727=>692, 9728=>807, 9729=>900, 9730=>807, 9731=>807, 9732=>807, 9733=>807, 9734=>807, 9735=>515, 9736=>806, 9737=>807, 9738=>799,
9739=>799, 9740=>604, 9741=>911, 9742=>1121, 9743=>1125, 9744=>807, 9745=>807, 9746=>807, 9747=>479, 9748=>807, 9749=>807, 9750=>807, 9751=>807, 9752=>807, 9753=>807, 9754=>807,
9755=>807, 9756=>807, 9757=>548, 9758=>807, 9759=>548, 9760=>807, 9761=>807, 9762=>807, 9763=>807, 9764=>602, 9765=>671, 9766=>584, 9767=>705, 9768=>490, 9769=>807, 9770=>807,
9771=>807, 9772=>639, 9773=>807, 9774=>807, 9775=>807, 9776=>807, 9777=>807, 9778=>807, 9779=>807, 9780=>807, 9781=>807, 9782=>807, 9783=>807, 9784=>807, 9785=>807, 9786=>807,
9787=>807, 9788=>807, 9789=>807, 9790=>807, 9791=>552, 9792=>658, 9793=>658, 9794=>807, 9795=>807, 9796=>807, 9797=>807, 9798=>807, 9799=>807, 9800=>807, 9801=>807, 9802=>807,
9803=>807, 9804=>807, 9805=>807, 9806=>807, 9807=>807, 9808=>807, 9809=>807, 9810=>807, 9811=>807, 9812=>807, 9813=>807, 9814=>807, 9815=>807, 9816=>807, 9817=>807, 9818=>807,
9819=>807, 9820=>807, 9821=>807, 9822=>807, 9823=>807, 9824=>807, 9825=>807, 9826=>807, 9827=>807, 9828=>807, 9829=>807, 9830=>807, 9831=>807, 9832=>807, 9833=>424, 9834=>574,
9835=>807, 9836=>807, 9837=>424, 9838=>321, 9839=>435, 9840=>673, 9841=>689, 9842=>807, 9843=>807, 9844=>807, 9845=>807, 9846=>807, 9847=>807, 9848=>807, 9849=>807, 9850=>807,
9851=>807, 9852=>807, 9853=>807, 9854=>807, 9855=>807, 9856=>782, 9857=>782, 9858=>782, 9859=>782, 9860=>782, 9861=>782, 9862=>807, 9863=>807, 9864=>807, 9865=>807, 9866=>807,
9867=>807, 9868=>807, 9869=>807, 9870=>807, 9871=>807, 9872=>807, 9873=>807, 9874=>807, 9875=>807, 9876=>807, 9877=>487, 9878=>807, 9879=>807, 9880=>807, 9881=>807, 9882=>807,
9883=>807, 9884=>807, 9888=>807, 9889=>632, 9890=>754, 9891=>754, 9892=>754, 9893=>754, 9894=>754, 9895=>754, 9896=>754, 9897=>754, 9898=>754, 9899=>754, 9900=>754, 9901=>754,
9902=>754, 9903=>754, 9904=>759, 9905=>754, 9906=>658, 9985=>754, 9986=>754, 9987=>754, 9988=>754, 9990=>754, 9991=>754, 9992=>754, 9993=>754, 9996=>754, 9997=>754, 9998=>754,
9999=>754, 10000=>754, 10001=>754, 10002=>754, 10003=>754, 10004=>754, 10005=>754, 10006=>754, 10007=>754, 10008=>754, 10009=>754, 10010=>754, 10011=>754, 10012=>754, 10013=>754, 10014=>754,
10015=>754, 10016=>754, 10017=>754, 10018=>754, 10019=>754, 10020=>754, 10021=>754, 10022=>754, 10023=>754, 10025=>754, 10026=>754, 10027=>754, 10028=>754, 10029=>754, 10030=>754, 10031=>754,
10032=>754, 10033=>754, 10034=>754, 10035=>754, 10036=>754, 10037=>754, 10038=>754, 10039=>754, 10040=>754, 10041=>754, 10042=>754, 10043=>754, 10044=>754, 10045=>754, 10046=>754, 10047=>754,
10048=>754, 10049=>754, 10050=>754, 10051=>754, 10052=>754, 10053=>754, 10054=>754, 10055=>754, 10056=>754, 10057=>754, 10058=>754, 10059=>754, 10061=>807, 10063=>807, 10064=>807, 10065=>807,
10066=>807, 10070=>807, 10072=>754, 10073=>754, 10074=>754, 10075=>290, 10076=>290, 10077=>484, 10078=>484, 10081=>754, 10082=>754, 10083=>754, 10084=>754, 10085=>754, 10086=>754, 10087=>754,
10088=>754, 10089=>754, 10090=>754, 10091=>754, 10092=>754, 10093=>754, 10094=>754, 10095=>754, 10096=>754, 10097=>754, 10098=>754, 10099=>754, 10100=>754, 10101=>754, 10102=>762, 10103=>762,
10104=>762, 10105=>762, 10106=>762, 10107=>762, 10108=>762, 10109=>762, 10110=>762, 10111=>762, 10112=>754, 10113=>754, 10114=>754, 10115=>754, 10116=>754, 10117=>754, 10118=>754, 10119=>754,
10120=>754, 10121=>754, 10122=>754, 10123=>754, 10124=>754, 10125=>754, 10126=>754, 10127=>754, 10128=>754, 10129=>754, 10130=>754, 10131=>754, 10132=>754, 10136=>754, 10137=>754, 10138=>754,
10139=>754, 10140=>754, 10141=>754, 10142=>754, 10143=>754, 10144=>754, 10145=>754, 10146=>754, 10147=>754, 10148=>754, 10149=>754, 10150=>754, 10151=>754, 10152=>754, 10153=>754, 10154=>754,
10155=>754, 10156=>754, 10157=>754, 10158=>754, 10159=>754, 10161=>754, 10162=>754, 10163=>754, 10164=>754, 10165=>754, 10166=>754, 10167=>754, 10168=>754, 10169=>754, 10170=>754, 10171=>754,
10172=>754, 10173=>754, 10174=>754, 10208=>444, 10214=>438, 10215=>438, 10216=>411, 10217=>411, 10218=>648, 10219=>648, 10224=>754, 10225=>754, 10226=>754, 10227=>754, 10228=>1042, 10229=>1290,
10230=>1290, 10231=>1290, 10232=>1290, 10233=>1290, 10234=>1290, 10235=>1290, 10236=>1290, 10237=>1290, 10238=>1290, 10239=>1290, 10240=>703, 10241=>703, 10242=>703, 10243=>703, 10244=>703, 10245=>703,
10246=>703, 10247=>703, 10248=>703, 10249=>703, 10250=>703, 10251=>703, 10252=>703, 10253=>703, 10254=>703, 10255=>703, 10256=>703, 10257=>703, 10258=>703, 10259=>703, 10260=>703, 10261=>703,
10262=>703, 10263=>703, 10264=>703, 10265=>703, 10266=>703, 10267=>703, 10268=>703, 10269=>703, 10270=>703, 10271=>703, 10272=>703, 10273=>703, 10274=>703, 10275=>703, 10276=>703, 10277=>703,
10278=>703, 10279=>703, 10280=>703, 10281=>703, 10282=>703, 10283=>703, 10284=>703, 10285=>703, 10286=>703, 10287=>703, 10288=>703, 10289=>703, 10290=>703, 10291=>703, 10292=>703, 10293=>703,
10294=>703, 10295=>703, 10296=>703, 10297=>703, 10298=>703, 10299=>703, 10300=>703, 10301=>703, 10302=>703, 10303=>703, 10304=>703, 10305=>703, 10306=>703, 10307=>703, 10308=>703, 10309=>703,
10310=>703, 10311=>703, 10312=>703, 10313=>703, 10314=>703, 10315=>703, 10316=>703, 10317=>703, 10318=>703, 10319=>703, 10320=>703, 10321=>703, 10322=>703, 10323=>703, 10324=>703, 10325=>703,
10326=>703, 10327=>703, 10328=>703, 10329=>703, 10330=>703, 10331=>703, 10332=>703, 10333=>703, 10334=>703, 10335=>703, 10336=>703, 10337=>703, 10338=>703, 10339=>703, 10340=>703, 10341=>703,
10342=>703, 10343=>703, 10344=>703, 10345=>703, 10346=>703, 10347=>703, 10348=>703, 10349=>703, 10350=>703, 10351=>703, 10352=>703, 10353=>703, 10354=>703, 10355=>703, 10356=>703, 10357=>703,
10358=>703, 10359=>703, 10360=>703, 10361=>703, 10362=>703, 10363=>703, 10364=>703, 10365=>703, 10366=>703, 10367=>703, 10368=>703, 10369=>703, 10370=>703, 10371=>703, 10372=>703, 10373=>703,
10374=>703, 10375=>703, 10376=>703, 10377=>703, 10378=>703, 10379=>703, 10380=>703, 10381=>703, 10382=>703, 10383=>703, 10384=>703, 10385=>703, 10386=>703, 10387=>703, 10388=>703, 10389=>703,
10390=>703, 10391=>703, 10392=>703, 10393=>703, 10394=>703, 10395=>703, 10396=>703, 10397=>703, 10398=>703, 10399=>703, 10400=>703, 10401=>703, 10402=>703, 10403=>703, 10404=>703, 10405=>703,
10406=>703, 10407=>703, 10408=>703, 10409=>703, 10410=>703, 10411=>703, 10412=>703, 10413=>703, 10414=>703, 10415=>703, 10416=>703, 10417=>703, 10418=>703, 10419=>703, 10420=>703, 10421=>703,
10422=>703, 10423=>703, 10424=>703, 10425=>703, 10426=>703, 10427=>703, 10428=>703, 10429=>703, 10430=>703, 10431=>703, 10432=>703, 10433=>703, 10434=>703, 10435=>703, 10436=>703, 10437=>703,
10438=>703, 10439=>703, 10440=>703, 10441=>703, 10442=>703, 10443=>703, 10444=>703, 10445=>703, 10446=>703, 10447=>703, 10448=>703, 10449=>703, 10450=>703, 10451=>703, 10452=>703, 10453=>703,
10454=>703, 10455=>703, 10456=>703, 10457=>703, 10458=>703, 10459=>703, 10460=>703, 10461=>703, 10462=>703, 10463=>703, 10464=>703, 10465=>703, 10466=>703, 10467=>703, 10468=>703, 10469=>703,
10470=>703, 10471=>703, 10472=>703, 10473=>703, 10474=>703, 10475=>703, 10476=>703, 10477=>703, 10478=>703, 10479=>703, 10480=>703, 10481=>703, 10482=>703, 10483=>703, 10484=>703, 10485=>703,
10486=>703, 10487=>703, 10488=>703, 10489=>703, 10490=>703, 10491=>703, 10492=>703, 10493=>703, 10494=>703, 10495=>703, 10502=>754, 10503=>754, 10506=>754, 10507=>754, 10560=>754, 10561=>754,
10702=>754, 10703=>941, 10704=>941, 10705=>900, 10706=>900, 10707=>900, 10708=>900, 10709=>900, 10731=>444, 10752=>900, 10753=>900, 10754=>900, 10764=>1495, 10765=>506, 10766=>506, 10767=>506,
10768=>506, 10769=>506, 10770=>506, 10771=>506, 10772=>506, 10773=>506, 10774=>506, 10775=>506, 10776=>506, 10777=>506, 10778=>506, 10779=>506, 10780=>506, 10877=>754, 10878=>754, 10879=>754,
10880=>754, 10881=>754, 10882=>754, 10883=>754, 10884=>754, 10885=>754, 10886=>754, 10887=>754, 10888=>754, 10889=>754, 10890=>754, 10891=>754, 10892=>754, 10893=>754, 10894=>754, 10895=>754,
10896=>754, 10897=>754, 10898=>754, 10899=>754, 10900=>754, 10901=>754, 10902=>754, 10903=>754, 10904=>754, 10905=>754, 10906=>754, 10907=>754, 10908=>754, 10909=>754, 10910=>754, 10911=>754,
10912=>754, 10926=>754, 10927=>754, 10928=>754, 10929=>754, 10930=>754, 10931=>754, 10932=>754, 10933=>754, 10934=>754, 10935=>754, 10936=>754, 10937=>754, 10938=>754, 11001=>754, 11002=>754,
11008=>754, 11009=>754, 11010=>754, 11011=>754, 11012=>754, 11013=>754, 11014=>754, 11015=>754, 11016=>754, 11017=>754, 11018=>754, 11019=>754, 11020=>754, 11021=>754, 11022=>754, 11023=>754,
11024=>754, 11025=>754, 11026=>850, 11027=>850, 11028=>850, 11029=>850, 11030=>692, 11031=>692, 11032=>692, 11033=>692, 11034=>850, 11040=>782, 11041=>786, 11042=>786, 11043=>786, 11360=>573,
11361=>324, 11362=>573, 11363=>659, 11364=>693, 11365=>607, 11366=>430, 11367=>860, 11368=>641, 11369=>697, 11370=>598, 11371=>652, 11372=>523, 11380=>586, 11381=>584, 11382=>464, 11383=>704,
61960=>774, 62047=>647, 62917=>618, 64256=>749, 64257=>708, 64258=>708, 64259=>1024, 64260=>1024, 64261=>727, 64262=>917, 64275=>1249, 64276=>1245, 64277=>1240, 64278=>1245, 64279=>1542, 64285=>334,
64287=>623, 64288=>647, 64297=>754, 64298=>877, 64299=>877, 64300=>877, 64301=>877, 64302=>676, 64303=>676, 64304=>676, 64305=>658, 64306=>452, 64307=>615, 64308=>700, 64309=>420, 64310=>468,
64312=>747, 64313=>420, 64314=>700, 64315=>678, 64316=>650, 64318=>781, 64320=>479, 64321=>747, 64323=>744, 64324=>779, 64326=>654, 64327=>733, 64328=>700, 64329=>877, 64330=>740, 64331=>334,
64332=>658, 64333=>678, 64334=>779, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0,
65037=>0, 65038=>0, 65039=>0, 65533=>1002);
$enc='';
$diff='';
$file='DejaVuSansCondensed-BoldOblique.z';
$ctg='DejaVuSansCondensed-BoldOblique.ctg.z';
$originalsize=436624;
?>

View File

@@ -0,0 +1,267 @@
<?php
$type='TrueTypeUnicode';
$name='DejaVuSansCondensed-Oblique';
$desc=array('Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>96,'FontBBox'=>'[-914 -385 1493 1068]','ItalicAngle'=>-11,'StemV'=>70,'MissingWidth'=>540);
$up=-42;
$ut=44;
$cw=array(
0=>540, 32=>286, 33=>360, 34=>414, 35=>754, 36=>572, 37=>855, 38=>702, 39=>247, 40=>351, 41=>351, 42=>450, 43=>754, 44=>286, 45=>325, 46=>286,
47=>303, 48=>572, 49=>572, 50=>572, 51=>572, 52=>572, 53=>572, 54=>572, 55=>572, 56=>572, 57=>572, 58=>303, 59=>303, 60=>754, 61=>754, 62=>754,
63=>478, 64=>900, 65=>615, 66=>617, 67=>628, 68=>693, 69=>568, 70=>518, 71=>697, 72=>677, 73=>265, 74=>265, 75=>590, 76=>501, 77=>776, 78=>673,
79=>708, 80=>542, 81=>708, 82=>625, 83=>571, 84=>549, 85=>659, 86=>615, 87=>890, 88=>616, 89=>549, 90=>616, 91=>351, 92=>303, 93=>351, 94=>754,
95=>450, 96=>450, 97=>551, 98=>571, 99=>495, 100=>571, 101=>554, 102=>316, 103=>571, 104=>570, 105=>250, 106=>250, 107=>521, 108=>250, 109=>876, 110=>570,
111=>550, 112=>571, 113=>571, 114=>370, 115=>469, 116=>353, 117=>570, 118=>532, 119=>736, 120=>532, 121=>532, 122=>472, 123=>572, 124=>303, 125=>572, 126=>754,
8364=>572, 1027=>501, 8218=>286, 402=>316, 8222=>466, 8230=>900, 8224=>450, 8225=>450, 710=>450, 8240=>1215, 352=>571, 8249=>360, 338=>962, 1036=>639, 381=>616, 1039=>677,
8216=>286, 8217=>286, 8220=>466, 8221=>466, 8226=>531, 8211=>450, 8212=>900, 732=>450, 8482=>900, 353=>469, 8250=>360, 339=>925, 1116=>543, 382=>472, 376=>549, 160=>286,
161=>360, 162=>572, 163=>572, 164=>572, 165=>572, 166=>303, 167=>450, 168=>450, 169=>900, 170=>424, 171=>555, 172=>754, 173=>325, 174=>900, 175=>450, 176=>450,
177=>754, 178=>360, 179=>360, 180=>450, 181=>572, 182=>572, 183=>286, 184=>450, 185=>360, 186=>424, 187=>555, 188=>872, 189=>872, 190=>872, 191=>478, 192=>615,
193=>615, 194=>615, 195=>615, 196=>615, 197=>615, 198=>876, 199=>628, 200=>568, 201=>568, 202=>568, 203=>568, 204=>265, 205=>265, 206=>265, 207=>265, 208=>697,
209=>673, 210=>708, 211=>708, 212=>708, 213=>708, 214=>708, 215=>754, 216=>708, 217=>659, 218=>659, 219=>659, 220=>659, 221=>549, 222=>547, 223=>567, 224=>551,
225=>551, 226=>551, 227=>551, 228=>551, 229=>551, 230=>896, 231=>495, 232=>554, 233=>554, 234=>554, 235=>554, 236=>250, 237=>250, 238=>250, 239=>250, 240=>550,
241=>570, 242=>550, 243=>550, 244=>550, 245=>550, 246=>550, 247=>754, 248=>550, 249=>570, 250=>570, 251=>570, 252=>570, 253=>532, 254=>571, 255=>532, 256=>615,
257=>551, 258=>615, 259=>551, 260=>615, 261=>551, 262=>628, 263=>495, 264=>628, 265=>495, 266=>628, 267=>495, 268=>628, 269=>495, 270=>693, 271=>571, 272=>697,
273=>571, 274=>568, 275=>554, 276=>568, 277=>554, 278=>568, 279=>554, 280=>568, 281=>554, 282=>568, 283=>554, 284=>697, 285=>571, 286=>697, 287=>571, 288=>697,
289=>571, 290=>697, 291=>571, 292=>677, 293=>570, 294=>824, 295=>625, 296=>265, 297=>250, 298=>265, 299=>250, 300=>265, 301=>250, 302=>265, 303=>250, 304=>265,
305=>250, 306=>531, 307=>500, 308=>265, 309=>250, 310=>590, 311=>521, 312=>521, 313=>501, 314=>250, 315=>501, 316=>250, 317=>501, 318=>296, 319=>501, 320=>536,
321=>505, 322=>258, 323=>673, 324=>570, 325=>673, 326=>570, 327=>673, 328=>570, 329=>732, 330=>673, 331=>570, 332=>708, 333=>550, 334=>708, 335=>550, 336=>708,
337=>550, 340=>625, 341=>370, 342=>625, 343=>370, 344=>625, 345=>370, 346=>571, 347=>469, 348=>571, 349=>469, 350=>571, 351=>469, 354=>549, 355=>353, 356=>549,
357=>353, 358=>549, 359=>353, 360=>659, 361=>570, 362=>659, 363=>570, 364=>659, 365=>570, 366=>659, 367=>570, 368=>659, 369=>570, 370=>659, 371=>570, 372=>890,
373=>736, 374=>549, 375=>532, 377=>616, 378=>472, 379=>616, 380=>472, 383=>316, 384=>571, 385=>661, 386=>617, 387=>571, 388=>617, 389=>571, 390=>633, 391=>628,
392=>495, 393=>697, 394=>737, 395=>617, 396=>571, 397=>550, 398=>568, 399=>708, 400=>553, 401=>518, 403=>697, 404=>618, 405=>885, 406=>318, 407=>265, 408=>671,
409=>521, 410=>250, 411=>532, 412=>876, 413=>673, 414=>570, 415=>708, 416=>822, 417=>550, 418=>844, 419=>663, 420=>586, 421=>571, 422=>625, 423=>571, 424=>469,
425=>568, 426=>302, 427=>353, 428=>549, 429=>353, 430=>549, 431=>754, 432=>570, 433=>688, 434=>648, 435=>669, 436=>656, 437=>616, 438=>472, 439=>599, 440=>599,
441=>520, 442=>472, 443=>572, 444=>599, 445=>520, 446=>459, 447=>571, 448=>265, 449=>443, 450=>413, 451=>266, 452=>1310, 453=>1165, 454=>1043, 455=>767, 456=>751,
457=>500, 458=>938, 459=>923, 460=>820, 461=>615, 462=>551, 463=>265, 464=>250, 465=>708, 466=>550, 467=>659, 468=>570, 469=>659, 470=>570, 471=>659, 472=>570,
473=>659, 474=>570, 475=>659, 476=>570, 477=>554, 478=>615, 479=>551, 480=>615, 481=>551, 482=>876, 483=>896, 484=>697, 485=>571, 486=>697, 487=>571, 488=>590,
489=>521, 490=>708, 491=>550, 492=>708, 493=>550, 494=>599, 495=>472, 496=>250, 497=>1310, 498=>1165, 499=>1043, 500=>697, 501=>571, 502=>1001, 503=>614, 504=>673,
505=>570, 506=>615, 507=>551, 508=>876, 509=>896, 510=>708, 511=>550, 512=>615, 513=>551, 514=>615, 515=>551, 516=>568, 517=>554, 518=>568, 519=>554, 520=>265,
521=>250, 522=>265, 523=>250, 524=>708, 525=>550, 526=>708, 527=>550, 528=>625, 529=>370, 530=>625, 531=>370, 532=>659, 533=>570, 534=>659, 535=>570, 536=>571,
537=>469, 538=>549, 539=>353, 540=>564, 541=>469, 542=>677, 543=>570, 544=>662, 545=>754, 546=>628, 547=>549, 548=>616, 549=>472, 550=>615, 551=>551, 552=>568,
553=>554, 554=>708, 555=>550, 556=>708, 557=>550, 558=>708, 559=>550, 560=>708, 561=>550, 562=>549, 563=>532, 564=>427, 565=>758, 566=>429, 567=>250, 568=>898,
569=>898, 570=>615, 571=>628, 572=>495, 573=>501, 574=>549, 575=>469, 576=>472, 577=>542, 578=>431, 579=>617, 580=>659, 581=>615, 582=>568, 583=>554, 584=>265,
585=>250, 586=>703, 587=>571, 588=>625, 589=>370, 590=>549, 591=>532, 592=>551, 593=>571, 594=>571, 595=>571, 596=>495, 597=>495, 598=>571, 599=>654, 600=>554,
601=>554, 602=>759, 603=>490, 604=>490, 605=>698, 606=>598, 607=>293, 608=>626, 609=>571, 610=>566, 611=>536, 612=>536, 613=>570, 614=>570, 615=>570, 616=>334,
617=>348, 618=>334, 619=>356, 620=>438, 621=>250, 622=>635, 623=>876, 624=>876, 625=>876, 626=>581, 627=>578, 628=>570, 629=>550, 630=>772, 631=>655, 632=>593,
633=>422, 634=>422, 635=>422, 636=>422, 637=>422, 638=>477, 639=>477, 640=>541, 641=>541, 642=>469, 643=>302, 644=>302, 645=>415, 646=>302, 647=>353, 648=>353,
649=>570, 650=>556, 651=>538, 652=>532, 653=>736, 654=>532, 655=>549, 656=>472, 657=>472, 658=>520, 659=>520, 660=>459, 661=>459, 662=>459, 663=>459, 664=>708,
665=>521, 666=>598, 667=>637, 668=>588, 669=>263, 670=>600, 671=>456, 672=>654, 673=>459, 674=>459, 675=>913, 676=>952, 677=>911, 678=>742, 679=>549, 680=>700,
681=>763, 682=>576, 683=>589, 684=>463, 685=>463, 686=>513, 687=>597, 688=>359, 689=>359, 690=>157, 691=>233, 692=>266, 693=>266, 694=>341, 695=>463, 696=>335,
697=>250, 698=>414, 699=>286, 700=>286, 701=>286, 702=>276, 703=>276, 704=>333, 705=>333, 706=>450, 707=>450, 708=>450, 709=>450, 711=>450, 712=>247, 713=>450,
714=>450, 715=>450, 716=>247, 717=>450, 718=>450, 719=>450, 720=>303, 721=>303, 722=>276, 723=>276, 724=>450, 725=>450, 726=>371, 727=>450, 728=>450, 729=>450,
730=>450, 731=>450, 733=>450, 734=>284, 735=>450, 736=>383, 737=>149, 738=>335, 739=>399, 740=>333, 741=>444, 742=>444, 743=>444, 744=>444, 745=>444, 748=>450,
749=>450, 750=>450, 755=>450, 759=>450, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0, 884=>250, 885=>250,
890=>450, 891=>494, 892=>495, 893=>494, 894=>303, 900=>450, 901=>450, 902=>625, 903=>286, 904=>690, 905=>813, 906=>391, 908=>755, 910=>773, 911=>814, 912=>304,
913=>615, 914=>617, 915=>501, 916=>615, 917=>568, 918=>616, 919=>677, 920=>708, 921=>265, 922=>590, 923=>615, 924=>776, 925=>673, 926=>568, 927=>708, 928=>677,
929=>542, 931=>568, 932=>549, 933=>549, 934=>708, 935=>616, 936=>708, 937=>688, 938=>265, 939=>549, 940=>593, 941=>488, 942=>567, 943=>304, 944=>521, 945=>593,
946=>574, 947=>532, 948=>550, 949=>486, 950=>489, 951=>570, 952=>550, 953=>304, 954=>530, 955=>532, 956=>572, 957=>502, 958=>501, 959=>550, 960=>542, 961=>571,
962=>528, 963=>570, 964=>542, 965=>521, 966=>593, 967=>532, 968=>593, 969=>753, 970=>304, 971=>521, 972=>550, 973=>521, 974=>753, 976=>553, 977=>557, 978=>628,
979=>758, 980=>628, 981=>593, 982=>753, 983=>597, 984=>708, 985=>550, 986=>583, 987=>528, 988=>518, 989=>413, 990=>593, 991=>593, 992=>778, 993=>564, 994=>840,
995=>753, 996=>682, 997=>593, 998=>712, 999=>553, 1000=>618, 1001=>546, 1002=>690, 1003=>563, 1004=>629, 1005=>550, 1006=>549, 1007=>482, 1008=>597, 1009=>571, 1010=>495,
1011=>250, 1012=>708, 1013=>554, 1014=>554, 1015=>547, 1016=>571, 1017=>628, 1018=>776, 1019=>585, 1020=>571, 1021=>633, 1022=>628, 1023=>633, 1024=>568, 1025=>568, 1026=>708,
1028=>628, 1029=>571, 1030=>265, 1031=>265, 1032=>265, 1033=>984, 1034=>940, 1035=>708, 1037=>673, 1038=>548, 1040=>615, 1041=>617, 1042=>617, 1043=>501, 1044=>703, 1045=>568,
1046=>969, 1047=>577, 1048=>673, 1049=>673, 1050=>639, 1051=>677, 1052=>776, 1053=>677, 1054=>708, 1055=>677, 1056=>542, 1057=>628, 1058=>549, 1059=>548, 1060=>774, 1061=>616,
1062=>699, 1063=>617, 1064=>962, 1065=>984, 1066=>749, 1067=>736, 1068=>617, 1069=>628, 1070=>971, 1071=>625, 1072=>551, 1073=>555, 1074=>530, 1075=>473, 1076=>622, 1077=>554,
1078=>811, 1079=>479, 1080=>584, 1081=>584, 1082=>543, 1083=>575, 1084=>679, 1085=>588, 1086=>550, 1087=>588, 1088=>571, 1089=>495, 1090=>524, 1091=>532, 1092=>769, 1093=>532,
1094=>612, 1095=>532, 1096=>823, 1097=>848, 1098=>636, 1099=>710, 1100=>530, 1101=>494, 1102=>757, 1103=>541, 1104=>554, 1105=>554, 1106=>563, 1107=>473, 1108=>494, 1109=>469,
1110=>250, 1111=>250, 1112=>250, 1113=>812, 1114=>809, 1115=>586, 1117=>584, 1118=>532, 1119=>588, 1120=>840, 1121=>753, 1122=>693, 1123=>604, 1124=>848, 1125=>674, 1126=>791,
1127=>705, 1128=>1043, 1129=>901, 1130=>708, 1131=>550, 1132=>924, 1133=>742, 1134=>572, 1135=>486, 1136=>771, 1137=>789, 1138=>708, 1139=>533, 1140=>703, 1141=>598, 1142=>703,
1143=>598, 1144=>893, 1145=>813, 1146=>857, 1147=>682, 1148=>1062, 1149=>925, 1150=>840, 1151=>753, 1152=>628, 1153=>495, 1154=>452, 1155=>0, 1156=>0, 1157=>0, 1158=>0,
1160=>376, 1161=>376, 1162=>673, 1163=>591, 1164=>617, 1165=>530, 1166=>542, 1167=>571, 1168=>549, 1169=>473, 1170=>607, 1171=>500, 1172=>501, 1173=>441, 1174=>969, 1175=>811,
1176=>577, 1177=>479, 1178=>639, 1179=>543, 1180=>639, 1181=>543, 1182=>639, 1183=>543, 1184=>771, 1185=>748, 1186=>677, 1187=>594, 1188=>913, 1189=>789, 1190=>1002, 1191=>855,
1192=>716, 1193=>586, 1194=>628, 1195=>495, 1196=>549, 1197=>476, 1198=>549, 1199=>532, 1200=>549, 1201=>532, 1202=>616, 1203=>532, 1204=>840, 1205=>726, 1206=>617, 1207=>532,
1208=>617, 1209=>532, 1210=>617, 1211=>570, 1212=>836, 1213=>658, 1214=>836, 1215=>658, 1216=>265, 1217=>969, 1218=>811, 1219=>589, 1220=>543, 1221=>677, 1222=>575, 1223=>677,
1224=>594, 1225=>677, 1226=>594, 1227=>617, 1228=>532, 1229=>776, 1230=>679, 1231=>250, 1232=>615, 1233=>551, 1234=>615, 1235=>551, 1236=>876, 1237=>896, 1238=>568, 1239=>554,
1240=>708, 1241=>554, 1242=>708, 1243=>554, 1244=>969, 1245=>811, 1246=>577, 1247=>479, 1248=>599, 1249=>520, 1250=>673, 1251=>584, 1252=>673, 1253=>584, 1254=>708, 1255=>550,
1256=>708, 1257=>550, 1258=>708, 1259=>550, 1260=>628, 1261=>494, 1262=>548, 1263=>532, 1264=>548, 1265=>532, 1266=>548, 1267=>532, 1268=>617, 1269=>532, 1270=>501, 1271=>442,
1272=>736, 1273=>710, 1274=>607, 1275=>500, 1276=>616, 1277=>532, 1278=>616, 1279=>532, 1280=>617, 1281=>530, 1282=>905, 1283=>807, 1284=>877, 1285=>782, 1286=>611, 1287=>529,
1288=>964, 1289=>861, 1290=>965, 1291=>870, 1292=>697, 1293=>593, 1294=>695, 1295=>640, 1296=>553, 1297=>486, 1298=>677, 1299=>575, 1329=>780, 1330=>659, 1331=>794, 1332=>794,
1333=>659, 1334=>579, 1335=>613, 1336=>659, 1337=>765, 1338=>794, 1339=>659, 1340=>501, 1341=>741, 1342=>888, 1343=>659, 1344=>636, 1345=>579, 1346=>794, 1347=>699, 1348=>794,
1349=>659, 1350=>756, 1351=>659, 1352=>659, 1353=>659, 1354=>711, 1355=>579, 1356=>794, 1357=>659, 1358=>794, 1359=>571, 1360=>659, 1361=>659, 1362=>719, 1363=>774, 1364=>711,
1365=>708, 1366=>571, 1369=>276, 1370=>286, 1371=>450, 1372=>450, 1373=>352, 1374=>474, 1375=>450, 1377=>876, 1378=>570, 1379=>686, 1380=>690, 1381=>570, 1382=>627, 1383=>479,
1384=>570, 1385=>630, 1386=>627, 1387=>570, 1388=>363, 1389=>804, 1390=>576, 1391=>570, 1392=>570, 1393=>571, 1394=>631, 1395=>570, 1396=>593, 1397=>250, 1398=>684, 1399=>464,
1400=>570, 1401=>407, 1402=>876, 1403=>464, 1404=>691, 1405=>570, 1406=>626, 1407=>876, 1408=>570, 1409=>621, 1410=>451, 1411=>876, 1412=>583, 1413=>550, 1414=>566, 1415=>686,
1417=>303, 1418=>390, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0, 1469=>0, 1471=>0,
1472=>265, 1473=>0, 1474=>0, 1475=>265, 1478=>410, 1479=>0, 1488=>566, 1489=>547, 1490=>403, 1491=>534, 1492=>576, 1493=>245, 1494=>380, 1495=>576, 1496=>583, 1497=>245,
1498=>532, 1499=>500, 1500=>539, 1501=>576, 1502=>593, 1503=>245, 1504=>397, 1505=>629, 1506=>572, 1507=>576, 1508=>543, 1509=>468, 1510=>523, 1511=>596, 1512=>532, 1513=>727,
1514=>591, 1520=>423, 1521=>409, 1522=>423, 3647=>586, 3713=>603, 3714=>615, 3716=>619, 3719=>434, 3720=>565, 3722=>615, 3725=>619, 3732=>577, 3733=>577, 3734=>605, 3735=>589,
3737=>576, 3738=>533, 3739=>533, 3740=>670, 3741=>690, 3742=>618, 3743=>618, 3745=>631, 3746=>619, 3747=>615, 3749=>584, 3751=>569, 3754=>633, 3755=>737, 3757=>569, 3758=>615,
3759=>708, 3760=>569, 3761=>0, 3762=>485, 3763=>485, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>597, 3776=>324, 3777=>611,
3778=>414, 3779=>492, 3780=>442, 3782=>606, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>925, 3805=>925, 5121=>615, 5122=>615, 5123=>615, 5124=>615,
5125=>728, 5126=>728, 5127=>728, 5129=>728, 5130=>647, 5131=>647, 5132=>751, 5133=>751, 5134=>751, 5135=>751, 5136=>751, 5137=>751, 5138=>870, 5139=>906, 5140=>870, 5141=>906,
5142=>728, 5143=>870, 5144=>906, 5145=>870, 5146=>906, 5147=>647, 5149=>230, 5150=>488, 5151=>381, 5152=>381, 5153=>350, 5154=>350, 5155=>354, 5156=>350, 5157=>419, 5158=>347,
5159=>230, 5160=>350, 5161=>350, 5162=>350, 5163=>980, 5164=>817, 5165=>857, 5166=>1005, 5167=>615, 5168=>615, 5169=>615, 5170=>615, 5171=>566, 5172=>566, 5173=>566, 5175=>566,
5176=>566, 5177=>566, 5178=>751, 5179=>615, 5180=>751, 5181=>751, 5182=>751, 5183=>751, 5184=>870, 5185=>906, 5186=>870, 5187=>906, 5188=>870, 5189=>906, 5190=>870, 5191=>906,
5192=>656, 5193=>457, 5194=>172, 5196=>659, 5197=>659, 5198=>659, 5199=>659, 5200=>657, 5201=>657, 5202=>657, 5204=>657, 5205=>657, 5206=>657, 5207=>829, 5208=>800, 5209=>829,
5210=>800, 5211=>829, 5212=>800, 5213=>835, 5214=>810, 5215=>835, 5216=>810, 5217=>853, 5218=>810, 5219=>853, 5220=>810, 5221=>853, 5222=>457, 5223=>790, 5224=>790, 5225=>779,
5226=>801, 5227=>565, 5228=>565, 5229=>565, 5230=>565, 5231=>565, 5232=>565, 5233=>565, 5234=>565, 5235=>565, 5236=>773, 5237=>693, 5238=>733, 5239=>734, 5240=>733, 5241=>734,
5242=>773, 5243=>693, 5244=>773, 5245=>693, 5246=>733, 5247=>734, 5248=>733, 5249=>734, 5250=>733, 5251=>366, 5252=>366, 5253=>675, 5254=>697, 5255=>675, 5256=>697, 5257=>565,
5258=>565, 5259=>565, 5260=>565, 5261=>565, 5262=>565, 5263=>565, 5264=>565, 5265=>565, 5266=>773, 5267=>693, 5268=>733, 5269=>734, 5270=>733, 5271=>734, 5272=>773, 5273=>693,
5274=>773, 5275=>693, 5276=>733, 5277=>734, 5278=>733, 5279=>734, 5280=>733, 5281=>391, 5282=>391, 5283=>470, 5284=>470, 5285=>470, 5286=>470, 5287=>470, 5288=>470, 5289=>470,
5290=>470, 5291=>470, 5292=>674, 5293=>691, 5294=>671, 5295=>687, 5296=>671, 5297=>687, 5298=>674, 5299=>691, 5300=>674, 5301=>691, 5302=>671, 5303=>687, 5304=>671, 5305=>687,
5306=>671, 5307=>347, 5308=>457, 5309=>347, 5312=>766, 5313=>766, 5314=>766, 5315=>766, 5316=>719, 5317=>719, 5318=>719, 5319=>719, 5320=>719, 5321=>962, 5322=>931, 5323=>953,
5324=>766, 5325=>953, 5326=>719, 5327=>766, 5328=>540, 5329=>407, 5330=>540, 5331=>766, 5332=>766, 5333=>766, 5334=>766, 5335=>719, 5336=>719, 5337=>719, 5338=>719, 5339=>719,
5340=>962, 5341=>931, 5342=>953, 5343=>927, 5344=>953, 5345=>927, 5346=>962, 5347=>931, 5348=>962, 5349=>931, 5350=>975, 5351=>927, 5352=>975, 5353=>927, 5354=>540, 5356=>656,
5357=>542, 5358=>542, 5359=>542, 5360=>542, 5361=>542, 5362=>542, 5363=>542, 5364=>542, 5365=>542, 5366=>751, 5367=>678, 5368=>712, 5369=>694, 5370=>712, 5371=>694, 5372=>751,
5373=>678, 5374=>751, 5375=>678, 5376=>712, 5377=>694, 5378=>712, 5379=>694, 5380=>712, 5381=>376, 5382=>378, 5383=>376, 5392=>641, 5393=>641, 5394=>641, 5395=>802, 5396=>802,
5397=>802, 5398=>802, 5399=>818, 5400=>785, 5401=>818, 5402=>785, 5403=>818, 5404=>785, 5405=>1026, 5406=>989, 5407=>1026, 5408=>989, 5409=>1026, 5410=>989, 5411=>1026, 5412=>989,
5413=>576, 5414=>564, 5415=>564, 5416=>564, 5417=>564, 5418=>564, 5419=>564, 5420=>564, 5421=>564, 5422=>564, 5423=>760, 5424=>703, 5425=>734, 5426=>736, 5427=>734, 5428=>736,
5429=>760, 5430=>703, 5431=>760, 5432=>703, 5433=>734, 5434=>736, 5435=>734, 5436=>736, 5437=>734, 5438=>376, 5440=>350, 5441=>436, 5442=>824, 5443=>824, 5444=>776, 5445=>824,
5446=>776, 5447=>776, 5448=>542, 5449=>542, 5450=>542, 5451=>542, 5452=>542, 5453=>542, 5454=>751, 5455=>678, 5456=>376, 5458=>656, 5459=>615, 5460=>615, 5461=>615, 5462=>615,
5463=>605, 5464=>605, 5465=>605, 5466=>605, 5467=>831, 5468=>906, 5469=>457, 5470=>659, 5471=>659, 5472=>659, 5473=>659, 5474=>659, 5475=>659, 5476=>657, 5477=>657, 5478=>657,
5479=>657, 5480=>853, 5481=>810, 5482=>457, 5492=>747, 5493=>747, 5494=>747, 5495=>747, 5496=>747, 5497=>747, 5498=>747, 5499=>507, 5500=>677, 5501=>436, 5502=>942, 5503=>942,
5504=>942, 5505=>942, 5506=>942, 5507=>942, 5508=>942, 5509=>743, 5514=>747, 5515=>747, 5516=>747, 5517=>747, 5518=>1133, 5519=>1133, 5520=>1133, 5521=>901, 5522=>901, 5523=>1133,
5524=>1133, 5525=>629, 5526=>965, 5536=>766, 5537=>766, 5538=>719, 5539=>719, 5540=>719, 5541=>719, 5542=>540, 5543=>579, 5544=>579, 5545=>579, 5546=>579, 5547=>579, 5548=>579,
5549=>579, 5550=>376, 5551=>565, 5598=>693, 5601=>693, 5702=>421, 5703=>421, 5742=>399, 5743=>942, 5744=>1178, 5745=>1469, 5746=>1469, 5747=>1237, 5748=>1237, 5749=>1469, 5750=>1469,
7424=>532, 7425=>646, 7426=>883, 7427=>527, 7428=>495, 7429=>544, 7430=>544, 7431=>441, 7432=>486, 7433=>250, 7434=>355, 7435=>521, 7436=>524, 7437=>679, 7438=>584, 7439=>550,
7440=>495, 7441=>615, 7442=>615, 7443=>615, 7444=>920, 7446=>550, 7447=>550, 7448=>472, 7449=>541, 7450=>541, 7451=>524, 7452=>517, 7453=>663, 7454=>853, 7455=>574, 7456=>532,
7457=>736, 7458=>472, 7459=>473, 7462=>524, 7463=>532, 7464=>507, 7465=>472, 7466=>531, 7467=>575, 7468=>387, 7469=>552, 7470=>389, 7472=>436, 7473=>358, 7474=>358, 7475=>439,
7476=>426, 7477=>167, 7478=>167, 7479=>372, 7480=>315, 7481=>489, 7482=>424, 7483=>424, 7484=>446, 7485=>396, 7486=>342, 7487=>394, 7488=>346, 7489=>415, 7490=>560, 7491=>352,
7492=>352, 7493=>365, 7494=>583, 7495=>385, 7496=>365, 7497=>375, 7498=>375, 7499=>324, 7500=>323, 7501=>365, 7502=>161, 7503=>383, 7504=>561, 7505=>368, 7506=>372, 7507=>333,
7508=>372, 7509=>372, 7510=>385, 7511=>265, 7512=>364, 7513=>422, 7514=>561, 7515=>375, 7516=>900, 7517=>361, 7518=>335, 7519=>347, 7520=>374, 7521=>327, 7522=>161, 7523=>233,
7524=>364, 7525=>375, 7526=>361, 7527=>335, 7528=>347, 7529=>374, 7530=>327, 7543=>571, 7544=>426, 7547=>334, 7557=>250, 7579=>365, 7580=>333, 7581=>333, 7582=>372, 7583=>324,
7584=>267, 7585=>209, 7586=>365, 7587=>364, 7588=>235, 7589=>224, 7590=>234, 7591=>235, 7592=>211, 7593=>224, 7594=>211, 7595=>338, 7596=>561, 7597=>561, 7598=>369, 7599=>431,
7600=>368, 7601=>372, 7602=>372, 7603=>324, 7604=>258, 7605=>265, 7606=>457, 7607=>376, 7608=>325, 7609=>365, 7610=>375, 7611=>330, 7612=>393, 7613=>330, 7614=>353, 7615=>372,
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>615, 7681=>551, 7682=>617, 7683=>571, 7684=>617, 7685=>571, 7686=>617, 7687=>571, 7688=>628, 7689=>495,
7690=>693, 7691=>571, 7692=>693, 7693=>571, 7694=>693, 7695=>571, 7696=>693, 7697=>571, 7698=>693, 7699=>571, 7700=>568, 7701=>554, 7702=>568, 7703=>554, 7704=>568, 7705=>554,
7706=>568, 7707=>554, 7708=>568, 7709=>554, 7710=>518, 7711=>316, 7712=>697, 7713=>571, 7714=>677, 7715=>570, 7716=>677, 7717=>570, 7718=>677, 7719=>570, 7720=>677, 7721=>570,
7722=>677, 7723=>570, 7724=>265, 7725=>250, 7726=>265, 7727=>250, 7728=>590, 7729=>521, 7730=>590, 7731=>521, 7732=>590, 7733=>521, 7734=>501, 7735=>250, 7736=>501, 7737=>250,
7738=>501, 7739=>250, 7740=>501, 7741=>250, 7742=>776, 7743=>876, 7744=>776, 7745=>876, 7746=>776, 7747=>876, 7748=>673, 7749=>570, 7750=>673, 7751=>570, 7752=>673, 7753=>570,
7754=>673, 7755=>570, 7756=>708, 7757=>550, 7758=>708, 7759=>550, 7760=>708, 7761=>550, 7762=>708, 7763=>550, 7764=>542, 7765=>571, 7766=>542, 7767=>571, 7768=>625, 7769=>370,
7770=>625, 7771=>370, 7772=>625, 7773=>370, 7774=>625, 7775=>370, 7776=>571, 7777=>469, 7778=>571, 7779=>469, 7780=>571, 7781=>469, 7782=>571, 7783=>469, 7784=>571, 7785=>469,
7786=>549, 7787=>353, 7788=>549, 7789=>353, 7790=>549, 7791=>353, 7792=>549, 7793=>353, 7794=>659, 7795=>570, 7796=>659, 7797=>570, 7798=>659, 7799=>570, 7800=>659, 7801=>570,
7802=>659, 7803=>570, 7804=>615, 7805=>532, 7806=>615, 7807=>532, 7808=>890, 7809=>736, 7810=>890, 7811=>736, 7812=>890, 7813=>736, 7814=>890, 7815=>736, 7816=>890, 7817=>736,
7818=>616, 7819=>532, 7820=>616, 7821=>532, 7822=>549, 7823=>532, 7824=>616, 7825=>472, 7826=>616, 7827=>472, 7828=>616, 7829=>472, 7830=>570, 7831=>353, 7832=>736, 7833=>532,
7834=>551, 7835=>316, 7840=>615, 7841=>551, 7842=>615, 7843=>551, 7844=>615, 7845=>551, 7846=>615, 7847=>551, 7848=>615, 7849=>551, 7850=>615, 7851=>551, 7852=>615, 7853=>551,
7854=>615, 7855=>551, 7856=>615, 7857=>551, 7858=>615, 7859=>551, 7860=>615, 7861=>551, 7862=>615, 7863=>551, 7864=>568, 7865=>554, 7866=>568, 7867=>554, 7868=>568, 7869=>554,
7870=>568, 7871=>554, 7872=>568, 7873=>554, 7874=>568, 7875=>554, 7876=>568, 7877=>554, 7878=>568, 7879=>554, 7880=>265, 7881=>250, 7882=>265, 7883=>250, 7884=>708, 7885=>550,
7886=>708, 7887=>550, 7888=>708, 7889=>550, 7890=>708, 7891=>550, 7892=>708, 7893=>550, 7894=>708, 7895=>550, 7896=>708, 7897=>550, 7898=>822, 7899=>550, 7900=>822, 7901=>550,
7902=>822, 7903=>550, 7904=>822, 7905=>550, 7906=>822, 7907=>550, 7908=>659, 7909=>570, 7910=>659, 7911=>570, 7912=>754, 7913=>570, 7914=>754, 7915=>570, 7916=>754, 7917=>570,
7918=>754, 7919=>570, 7920=>754, 7921=>570, 7922=>549, 7923=>532, 7924=>549, 7925=>532, 7926=>549, 7927=>532, 7928=>549, 7929=>532, 7936=>593, 7937=>593, 7938=>593, 7939=>593,
7940=>593, 7941=>593, 7942=>593, 7943=>593, 7944=>615, 7945=>615, 7946=>790, 7947=>790, 7948=>692, 7949=>721, 7950=>637, 7951=>668, 7952=>486, 7953=>486, 7954=>486, 7955=>486,
7956=>486, 7957=>486, 7960=>640, 7961=>640, 7962=>869, 7963=>877, 7964=>809, 7965=>835, 7968=>570, 7969=>570, 7970=>570, 7971=>570, 7972=>570, 7973=>570, 7974=>570, 7975=>570,
7976=>753, 7977=>751, 7978=>977, 7979=>980, 7980=>924, 7981=>945, 7982=>840, 7983=>852, 7984=>304, 7985=>304, 7986=>304, 7987=>304, 7988=>304, 7989=>304, 7990=>304, 7991=>304,
7992=>342, 7993=>336, 7994=>571, 7995=>571, 7996=>513, 7997=>540, 7998=>440, 7999=>443, 8000=>550, 8001=>550, 8002=>550, 8003=>550, 8004=>550, 8005=>550, 8008=>724, 8009=>763,
8010=>985, 8011=>989, 8012=>844, 8013=>873, 8016=>521, 8017=>521, 8018=>521, 8019=>521, 8020=>521, 8021=>521, 8022=>521, 8023=>521, 8025=>705, 8027=>897, 8029=>911, 8031=>808,
8032=>753, 8033=>753, 8034=>753, 8035=>753, 8036=>753, 8037=>753, 8038=>753, 8039=>753, 8040=>722, 8041=>759, 8042=>980, 8043=>985, 8044=>851, 8045=>875, 8046=>829, 8047=>857,
8048=>593, 8049=>593, 8050=>486, 8051=>493, 8052=>570, 8053=>589, 8054=>304, 8055=>304, 8056=>550, 8057=>550, 8058=>521, 8059=>521, 8060=>753, 8061=>753, 8064=>593, 8065=>593,
8066=>593, 8067=>593, 8068=>593, 8069=>593, 8070=>593, 8071=>593, 8072=>615, 8073=>615, 8074=>790, 8075=>790, 8076=>692, 8077=>721, 8078=>637, 8079=>668, 8080=>570, 8081=>570,
8082=>570, 8083=>570, 8084=>570, 8085=>570, 8086=>570, 8087=>570, 8088=>753, 8089=>751, 8090=>977, 8091=>980, 8092=>924, 8093=>945, 8094=>840, 8095=>852, 8096=>753, 8097=>753,
8098=>753, 8099=>753, 8100=>753, 8101=>753, 8102=>753, 8103=>753, 8104=>722, 8105=>759, 8106=>980, 8107=>985, 8108=>851, 8109=>875, 8110=>829, 8111=>857, 8112=>593, 8113=>593,
8114=>593, 8115=>593, 8116=>593, 8118=>593, 8119=>593, 8120=>615, 8121=>615, 8122=>645, 8123=>623, 8124=>615, 8125=>450, 8126=>450, 8127=>450, 8128=>450, 8129=>450, 8130=>570,
8131=>570, 8132=>589, 8134=>570, 8135=>570, 8136=>724, 8137=>671, 8138=>837, 8139=>784, 8140=>677, 8141=>450, 8142=>450, 8143=>450, 8144=>304, 8145=>304, 8146=>304, 8147=>304,
8150=>304, 8151=>304, 8152=>265, 8153=>265, 8154=>427, 8155=>367, 8157=>450, 8158=>450, 8159=>450, 8160=>521, 8161=>521, 8162=>521, 8163=>521, 8164=>571, 8165=>571, 8166=>521,
8167=>521, 8168=>549, 8169=>549, 8170=>760, 8171=>742, 8172=>616, 8173=>450, 8174=>450, 8175=>450, 8178=>753, 8179=>753, 8180=>753, 8182=>753, 8183=>753, 8184=>847, 8185=>731,
8186=>830, 8187=>743, 8188=>688, 8189=>450, 8190=>450, 8192=>450, 8193=>900, 8194=>450, 8195=>900, 8196=>296, 8197=>225, 8198=>150, 8199=>572, 8200=>286, 8201=>180, 8202=>89,
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>325, 8209=>325, 8210=>572, 8213=>900, 8214=>0, 8215=>450, 8219=>286, 8223=>466, 8227=>531, 8228=>299, 8229=>600,
8231=>286, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>180, 8241=>1521, 8242=>204, 8243=>336, 8244=>468, 8245=>204, 8246=>336, 8247=>468, 8248=>305, 8251=>754,
8252=>437, 8253=>478, 8254=>450, 8255=>723, 8256=>723, 8257=>225, 8258=>900, 8259=>450, 8260=>150, 8261=>351, 8262=>351, 8263=>830, 8264=>659, 8265=>659, 8266=>447, 8267=>572,
8268=>450, 8269=>450, 8270=>450, 8271=>303, 8272=>723, 8273=>450, 8274=>404, 8275=>754, 8276=>723, 8277=>754, 8278=>527, 8279=>597, 8280=>754, 8281=>754, 8282=>286, 8283=>717,
8284=>754, 8285=>286, 8286=>286, 8287=>200, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>360, 8305=>161,
8308=>360, 8309=>360, 8310=>360, 8311=>360, 8312=>360, 8313=>360, 8314=>475, 8315=>475, 8316=>475, 8317=>221, 8318=>221, 8319=>359, 8320=>360, 8321=>360, 8322=>360, 8323=>360,
8324=>360, 8325=>360, 8326=>360, 8327=>360, 8328=>360, 8329=>360, 8330=>475, 8331=>475, 8332=>475, 8333=>221, 8334=>221, 8336=>352, 8337=>375, 8338=>372, 8339=>399, 8340=>375,
8352=>789, 8353=>572, 8354=>572, 8355=>572, 8356=>572, 8357=>876, 8358=>673, 8359=>1143, 8360=>966, 8361=>890, 8362=>754, 8363=>572, 8365=>590, 8366=>549, 8367=>1145, 8368=>572,
8369=>572, 8370=>572, 8371=>572, 8372=>696, 8373=>577, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>873, 8449=>873, 8450=>628, 8451=>1011, 8452=>807, 8453=>872, 8454=>929,
8455=>553, 8456=>628, 8457=>856, 8459=>889, 8460=>648, 8461=>765, 8462=>570, 8463=>570, 8464=>422, 8465=>627, 8466=>648, 8467=>372, 8468=>736, 8469=>721, 8470=>936, 8471=>900,
8472=>627, 8473=>631, 8474=>708, 8475=>718, 8476=>732, 8477=>713, 8478=>807, 8479=>615, 8480=>917, 8481=>912, 8483=>615, 8484=>670, 8485=>520, 8486=>688, 8487=>688, 8488=>554,
8489=>304, 8490=>590, 8491=>615, 8492=>708, 8493=>633, 8494=>769, 8495=>532, 8496=>545, 8497=>708, 8498=>518, 8499=>962, 8500=>416, 8501=>670, 8502=>606, 8503=>404, 8504=>625,
8505=>342, 8506=>833, 8507=>1041, 8508=>632, 8509=>655, 8510=>589, 8511=>764, 8512=>729, 8513=>697, 8514=>501, 8515=>501, 8516=>549, 8517=>737, 8518=>637, 8519=>554, 8520=>316,
8521=>316, 8523=>702, 8526=>474, 8531=>872, 8532=>872, 8533=>872, 8534=>872, 8535=>872, 8536=>872, 8537=>872, 8538=>872, 8539=>872, 8540=>872, 8541=>872, 8542=>872, 8543=>511,
8544=>265, 8545=>443, 8546=>620, 8547=>831, 8548=>615, 8549=>830, 8550=>1007, 8551=>1185, 8552=>826, 8553=>616, 8554=>839, 8555=>1018, 8556=>501, 8557=>628, 8558=>693, 8559=>776,
8560=>250, 8561=>412, 8562=>573, 8563=>730, 8564=>532, 8565=>729, 8566=>892, 8567=>1053, 8568=>737, 8569=>532, 8570=>740, 8571=>901, 8572=>250, 8573=>495, 8574=>571, 8575=>876,
8576=>1121, 8577=>693, 8578=>1121, 8579=>633, 8580=>494, 8592=>754, 8593=>754, 8594=>754, 8595=>754, 8596=>754, 8597=>754, 8598=>754, 8599=>754, 8600=>754, 8601=>754, 8602=>754,
8603=>754, 8604=>754, 8605=>754, 8606=>754, 8607=>754, 8608=>754, 8609=>754, 8610=>754, 8611=>754, 8612=>754, 8613=>754, 8614=>754, 8615=>754, 8616=>754, 8617=>754, 8618=>754,
8619=>754, 8620=>754, 8621=>754, 8622=>754, 8623=>754, 8624=>754, 8625=>754, 8626=>754, 8627=>754, 8628=>754, 8629=>754, 8630=>754, 8631=>754, 8632=>754, 8633=>754, 8634=>754,
8635=>754, 8636=>754, 8637=>754, 8638=>754, 8639=>754, 8640=>754, 8641=>754, 8642=>754, 8643=>754, 8644=>754, 8645=>754, 8646=>754, 8647=>754, 8648=>754, 8649=>754, 8650=>754,
8651=>754, 8652=>754, 8653=>754, 8654=>754, 8655=>754, 8656=>754, 8657=>754, 8658=>754, 8659=>754, 8660=>754, 8661=>754, 8662=>754, 8663=>754, 8664=>754, 8665=>754, 8666=>754,
8667=>754, 8668=>754, 8669=>754, 8670=>754, 8671=>754, 8672=>754, 8673=>754, 8674=>754, 8675=>754, 8676=>754, 8677=>754, 8678=>754, 8679=>754, 8680=>754, 8681=>754, 8682=>754,
8683=>754, 8684=>754, 8685=>754, 8686=>754, 8687=>754, 8688=>754, 8689=>754, 8690=>754, 8691=>754, 8692=>754, 8693=>754, 8694=>754, 8695=>754, 8696=>754, 8697=>754, 8698=>754,
8699=>754, 8700=>754, 8701=>754, 8702=>754, 8703=>754, 8704=>615, 8705=>572, 8706=>465, 8707=>568, 8708=>568, 8709=>784, 8710=>602, 8711=>602, 8712=>784, 8713=>784, 8714=>646,
8715=>784, 8716=>784, 8717=>646, 8718=>572, 8719=>681, 8720=>681, 8721=>606, 8722=>754, 8723=>754, 8724=>754, 8725=>150, 8726=>573, 8727=>754, 8728=>563, 8729=>286, 8730=>573,
8731=>573, 8732=>573, 8733=>609, 8734=>750, 8735=>754, 8736=>807, 8737=>807, 8738=>754, 8739=>450, 8740=>450, 8741=>450, 8742=>450, 8743=>659, 8744=>659, 8745=>659, 8746=>659,
8747=>469, 8748=>710, 8749=>951, 8750=>469, 8751=>710, 8752=>951, 8753=>469, 8754=>469, 8755=>469, 8756=>572, 8757=>572, 8758=>234, 8759=>572, 8760=>754, 8761=>754, 8762=>754,
8763=>754, 8764=>754, 8765=>754, 8766=>754, 8767=>754, 8768=>337, 8769=>754, 8770=>754, 8771=>754, 8772=>754, 8773=>754, 8774=>754, 8775=>754, 8776=>754, 8777=>754, 8778=>754,
8779=>754, 8780=>754, 8781=>754, 8782=>754, 8783=>754, 8784=>754, 8785=>754, 8786=>754, 8787=>754, 8788=>900, 8789=>900, 8790=>754, 8791=>754, 8792=>754, 8793=>754, 8794=>754,
8795=>754, 8796=>754, 8797=>754, 8798=>754, 8799=>754, 8800=>754, 8801=>754, 8802=>754, 8803=>754, 8804=>754, 8805=>754, 8806=>754, 8807=>754, 8808=>754, 8809=>754, 8810=>942,
8811=>942, 8812=>417, 8813=>754, 8814=>754, 8815=>754, 8816=>754, 8817=>754, 8818=>754, 8819=>754, 8820=>754, 8821=>754, 8822=>754, 8823=>754, 8824=>754, 8825=>754, 8826=>754,
8827=>754, 8828=>754, 8829=>754, 8830=>754, 8831=>754, 8832=>754, 8833=>754, 8834=>754, 8835=>754, 8836=>754, 8837=>754, 8838=>754, 8839=>754, 8840=>754, 8841=>754, 8842=>754,
8843=>754, 8844=>659, 8845=>659, 8846=>659, 8847=>754, 8848=>754, 8849=>754, 8850=>754, 8851=>649, 8852=>649, 8853=>754, 8854=>754, 8855=>754, 8856=>754, 8857=>754, 8858=>754,
8859=>754, 8860=>754, 8861=>754, 8862=>754, 8863=>754, 8864=>754, 8865=>754, 8866=>784, 8867=>784, 8868=>784, 8869=>784, 8870=>468, 8871=>468, 8872=>784, 8873=>784, 8874=>784,
8875=>784, 8876=>784, 8877=>784, 8878=>784, 8879=>784, 8882=>754, 8883=>754, 8884=>754, 8885=>754, 8886=>900, 8887=>900, 8888=>754, 8889=>754, 8890=>468, 8891=>659, 8892=>659,
8893=>659, 8896=>738, 8897=>738, 8898=>738, 8899=>738, 8900=>444, 8901=>286, 8902=>563, 8904=>900, 8905=>900, 8906=>900, 8907=>900, 8908=>900, 8909=>754, 8918=>754, 8919=>754,
8920=>1280, 8921=>1280, 8922=>754, 8923=>754, 8924=>754, 8925=>754, 8926=>754, 8927=>754, 8928=>754, 8929=>754, 8930=>754, 8931=>754, 8932=>754, 8933=>754, 8934=>754, 8935=>754,
8936=>754, 8937=>754, 8938=>754, 8939=>754, 8940=>754, 8941=>754, 8946=>900, 8947=>784, 8948=>646, 8949=>784, 8950=>784, 8951=>646, 8952=>784, 8953=>784, 8954=>900, 8955=>784,
8956=>646, 8957=>784, 8958=>646, 8959=>784, 8962=>571, 8966=>784, 8968=>351, 8969=>351, 8970=>351, 8971=>351, 8976=>754, 8977=>461, 8984=>900, 8985=>754, 8992=>469, 8993=>469,
8997=>900, 9000=>1299, 9085=>681, 9115=>450, 9116=>450, 9117=>450, 9118=>450, 9119=>450, 9120=>450, 9121=>450, 9122=>450, 9123=>450, 9124=>450, 9125=>450, 9126=>450, 9127=>675,
9128=>675, 9129=>675, 9130=>675, 9131=>675, 9132=>675, 9133=>675, 9134=>469, 9166=>754, 9167=>850, 9250=>571, 9251=>571, 9312=>807, 9313=>807, 9314=>807, 9315=>807, 9316=>807,
9317=>807, 9318=>807, 9319=>807, 9320=>807, 9321=>807, 9600=>692, 9601=>692, 9602=>692, 9603=>692, 9604=>692, 9605=>692, 9606=>692, 9607=>692, 9608=>692, 9609=>692, 9610=>692,
9611=>692, 9612=>692, 9613=>692, 9614=>692, 9615=>692, 9616=>692, 9617=>692, 9618=>692, 9619=>692, 9620=>692, 9621=>692, 9622=>692, 9623=>692, 9624=>692, 9625=>692, 9626=>692,
9627=>692, 9628=>692, 9629=>692, 9630=>692, 9631=>692, 9632=>850, 9633=>850, 9634=>850, 9635=>850, 9636=>850, 9637=>850, 9638=>850, 9639=>850, 9640=>850, 9641=>850, 9642=>610,
9643=>610, 9644=>850, 9645=>850, 9646=>495, 9647=>495, 9648=>692, 9649=>692, 9650=>692, 9651=>692, 9652=>452, 9653=>452, 9654=>692, 9655=>692, 9656=>452, 9657=>452, 9658=>692,
9659=>692, 9660=>692, 9661=>692, 9662=>452, 9663=>452, 9664=>692, 9665=>692, 9666=>452, 9667=>452, 9668=>692, 9669=>692, 9670=>692, 9671=>692, 9672=>692, 9673=>785, 9674=>444,
9675=>785, 9676=>785, 9677=>785, 9678=>785, 9679=>785, 9680=>785, 9681=>785, 9682=>785, 9683=>785, 9684=>785, 9685=>785, 9686=>474, 9687=>474, 9688=>712, 9689=>873, 9690=>873,
9691=>873, 9692=>348, 9693=>348, 9694=>348, 9695=>348, 9696=>692, 9697=>692, 9698=>692, 9699=>692, 9700=>692, 9701=>692, 9702=>531, 9703=>850, 9704=>850, 9705=>850, 9706=>850,
9707=>850, 9708=>692, 9709=>692, 9710=>692, 9711=>1007, 9712=>850, 9713=>850, 9714=>850, 9715=>850, 9716=>785, 9717=>785, 9718=>785, 9719=>785, 9720=>692, 9721=>692, 9722=>692,
9723=>747, 9724=>747, 9725=>659, 9726=>659, 9727=>692, 9728=>807, 9729=>900, 9730=>807, 9731=>807, 9732=>807, 9733=>807, 9734=>807, 9735=>515, 9736=>806, 9737=>807, 9738=>799,
9739=>799, 9740=>604, 9741=>911, 9742=>1121, 9743=>1125, 9744=>807, 9745=>807, 9746=>807, 9747=>479, 9748=>807, 9749=>807, 9750=>807, 9751=>807, 9752=>807, 9753=>807, 9754=>807,
9755=>807, 9756=>807, 9757=>548, 9758=>807, 9759=>548, 9760=>807, 9761=>807, 9762=>807, 9763=>807, 9764=>602, 9765=>671, 9766=>584, 9767=>705, 9768=>490, 9769=>807, 9770=>807,
9771=>807, 9772=>639, 9773=>807, 9774=>807, 9775=>807, 9776=>807, 9777=>807, 9778=>807, 9779=>807, 9780=>807, 9781=>807, 9782=>807, 9783=>807, 9784=>807, 9785=>807, 9786=>807,
9787=>807, 9788=>807, 9789=>807, 9790=>807, 9791=>552, 9792=>658, 9793=>658, 9794=>807, 9795=>807, 9796=>807, 9797=>807, 9798=>807, 9799=>807, 9800=>807, 9801=>807, 9802=>807,
9803=>807, 9804=>807, 9805=>807, 9806=>807, 9807=>807, 9808=>807, 9809=>807, 9810=>807, 9811=>807, 9812=>807, 9813=>807, 9814=>807, 9815=>807, 9816=>807, 9817=>807, 9818=>807,
9819=>807, 9820=>807, 9821=>807, 9822=>807, 9823=>807, 9824=>807, 9825=>807, 9826=>807, 9827=>807, 9828=>807, 9829=>807, 9830=>807, 9831=>807, 9832=>807, 9833=>424, 9834=>574,
9835=>807, 9836=>807, 9837=>424, 9838=>321, 9839=>435, 9840=>673, 9841=>689, 9842=>807, 9843=>807, 9844=>807, 9845=>807, 9846=>807, 9847=>807, 9848=>807, 9849=>807, 9850=>807,
9851=>807, 9852=>807, 9853=>807, 9854=>807, 9855=>807, 9856=>782, 9857=>782, 9858=>782, 9859=>782, 9860=>782, 9861=>782, 9862=>800, 9863=>800, 9864=>800, 9865=>800, 9866=>800,
9867=>800, 9868=>800, 9869=>800, 9870=>800, 9871=>800, 9872=>675, 9873=>675, 9874=>800, 9875=>734, 9876=>644, 9877=>483, 9878=>766, 9879=>800, 9880=>615, 9881=>800, 9882=>637,
9883=>800, 9884=>800, 9888=>800, 9889=>800, 9890=>754, 9891=>754, 9892=>754, 9893=>754, 9894=>754, 9895=>754, 9896=>754, 9897=>754, 9898=>754, 9899=>754, 9900=>754, 9901=>754,
9902=>754, 9903=>754, 9904=>759, 9905=>754, 9906=>658, 9985=>754, 9986=>754, 9987=>754, 9988=>754, 9990=>754, 9991=>754, 9992=>754, 9993=>754, 9996=>754, 9997=>754, 9998=>754,
9999=>754, 10000=>754, 10001=>754, 10002=>754, 10003=>754, 10004=>754, 10005=>754, 10006=>754, 10007=>754, 10008=>754, 10009=>754, 10010=>754, 10011=>754, 10012=>754, 10013=>754, 10014=>754,
10015=>754, 10016=>754, 10017=>754, 10018=>754, 10019=>754, 10020=>754, 10021=>754, 10022=>754, 10023=>754, 10025=>754, 10026=>754, 10027=>754, 10028=>754, 10029=>754, 10030=>754, 10031=>754,
10032=>754, 10033=>754, 10034=>754, 10035=>754, 10036=>754, 10037=>754, 10038=>754, 10039=>754, 10040=>754, 10041=>754, 10042=>754, 10043=>754, 10044=>754, 10045=>754, 10046=>754, 10047=>754,
10048=>754, 10049=>754, 10050=>754, 10051=>754, 10052=>754, 10053=>754, 10054=>754, 10055=>754, 10056=>754, 10057=>754, 10058=>754, 10059=>754, 10061=>807, 10063=>807, 10064=>807, 10065=>807,
10066=>807, 10070=>807, 10072=>754, 10073=>754, 10074=>754, 10075=>290, 10076=>290, 10077=>484, 10078=>484, 10081=>754, 10082=>754, 10083=>754, 10084=>754, 10085=>754, 10086=>754, 10087=>754,
10088=>754, 10089=>754, 10090=>754, 10091=>754, 10092=>754, 10093=>754, 10094=>754, 10095=>754, 10096=>754, 10097=>754, 10098=>754, 10099=>754, 10100=>754, 10101=>754, 10102=>807, 10103=>807,
10104=>807, 10105=>807, 10106=>807, 10107=>807, 10108=>807, 10109=>807, 10110=>807, 10111=>807, 10112=>754, 10113=>754, 10114=>754, 10115=>754, 10116=>754, 10117=>754, 10118=>754, 10119=>754,
10120=>754, 10121=>754, 10122=>754, 10123=>754, 10124=>754, 10125=>754, 10126=>754, 10127=>754, 10128=>754, 10129=>754, 10130=>754, 10131=>754, 10132=>754, 10136=>754, 10137=>754, 10138=>754,
10139=>754, 10140=>754, 10141=>754, 10142=>754, 10143=>754, 10144=>754, 10145=>754, 10146=>754, 10147=>754, 10148=>754, 10149=>754, 10150=>754, 10151=>754, 10152=>754, 10153=>754, 10154=>754,
10155=>754, 10156=>754, 10157=>754, 10158=>754, 10159=>754, 10161=>754, 10162=>754, 10163=>754, 10164=>754, 10165=>754, 10166=>754, 10167=>754, 10168=>754, 10169=>754, 10170=>754, 10171=>754,
10172=>754, 10173=>754, 10174=>754, 10208=>444, 10214=>445, 10215=>445, 10216=>351, 10217=>351, 10218=>500, 10219=>500, 10224=>754, 10225=>754, 10226=>754, 10227=>754, 10228=>1042, 10229=>1290,
10230=>1290, 10231=>1290, 10232=>1290, 10233=>1290, 10234=>1290, 10235=>1290, 10236=>1290, 10237=>1290, 10238=>1290, 10239=>1290, 10240=>659, 10241=>659, 10242=>659, 10243=>659, 10244=>659, 10245=>659,
10246=>659, 10247=>659, 10248=>659, 10249=>659, 10250=>659, 10251=>659, 10252=>659, 10253=>659, 10254=>659, 10255=>659, 10256=>659, 10257=>659, 10258=>659, 10259=>659, 10260=>659, 10261=>659,
10262=>659, 10263=>659, 10264=>659, 10265=>659, 10266=>659, 10267=>659, 10268=>659, 10269=>659, 10270=>659, 10271=>659, 10272=>659, 10273=>659, 10274=>659, 10275=>659, 10276=>659, 10277=>659,
10278=>659, 10279=>659, 10280=>659, 10281=>659, 10282=>659, 10283=>659, 10284=>659, 10285=>659, 10286=>659, 10287=>659, 10288=>659, 10289=>659, 10290=>659, 10291=>659, 10292=>659, 10293=>659,
10294=>659, 10295=>659, 10296=>659, 10297=>659, 10298=>659, 10299=>659, 10300=>659, 10301=>659, 10302=>659, 10303=>659, 10304=>659, 10305=>659, 10306=>659, 10307=>659, 10308=>659, 10309=>659,
10310=>659, 10311=>659, 10312=>659, 10313=>659, 10314=>659, 10315=>659, 10316=>659, 10317=>659, 10318=>659, 10319=>659, 10320=>659, 10321=>659, 10322=>659, 10323=>659, 10324=>659, 10325=>659,
10326=>659, 10327=>659, 10328=>659, 10329=>659, 10330=>659, 10331=>659, 10332=>659, 10333=>659, 10334=>659, 10335=>659, 10336=>659, 10337=>659, 10338=>659, 10339=>659, 10340=>659, 10341=>659,
10342=>659, 10343=>659, 10344=>659, 10345=>659, 10346=>659, 10347=>659, 10348=>659, 10349=>659, 10350=>659, 10351=>659, 10352=>659, 10353=>659, 10354=>659, 10355=>659, 10356=>659, 10357=>659,
10358=>659, 10359=>659, 10360=>659, 10361=>659, 10362=>659, 10363=>659, 10364=>659, 10365=>659, 10366=>659, 10367=>659, 10368=>659, 10369=>659, 10370=>659, 10371=>659, 10372=>659, 10373=>659,
10374=>659, 10375=>659, 10376=>659, 10377=>659, 10378=>659, 10379=>659, 10380=>659, 10381=>659, 10382=>659, 10383=>659, 10384=>659, 10385=>659, 10386=>659, 10387=>659, 10388=>659, 10389=>659,
10390=>659, 10391=>659, 10392=>659, 10393=>659, 10394=>659, 10395=>659, 10396=>659, 10397=>659, 10398=>659, 10399=>659, 10400=>659, 10401=>659, 10402=>659, 10403=>659, 10404=>659, 10405=>659,
10406=>659, 10407=>659, 10408=>659, 10409=>659, 10410=>659, 10411=>659, 10412=>659, 10413=>659, 10414=>659, 10415=>659, 10416=>659, 10417=>659, 10418=>659, 10419=>659, 10420=>659, 10421=>659,
10422=>659, 10423=>659, 10424=>659, 10425=>659, 10426=>659, 10427=>659, 10428=>659, 10429=>659, 10430=>659, 10431=>659, 10432=>659, 10433=>659, 10434=>659, 10435=>659, 10436=>659, 10437=>659,
10438=>659, 10439=>659, 10440=>659, 10441=>659, 10442=>659, 10443=>659, 10444=>659, 10445=>659, 10446=>659, 10447=>659, 10448=>659, 10449=>659, 10450=>659, 10451=>659, 10452=>659, 10453=>659,
10454=>659, 10455=>659, 10456=>659, 10457=>659, 10458=>659, 10459=>659, 10460=>659, 10461=>659, 10462=>659, 10463=>659, 10464=>659, 10465=>659, 10466=>659, 10467=>659, 10468=>659, 10469=>659,
10470=>659, 10471=>659, 10472=>659, 10473=>659, 10474=>659, 10475=>659, 10476=>659, 10477=>659, 10478=>659, 10479=>659, 10480=>659, 10481=>659, 10482=>659, 10483=>659, 10484=>659, 10485=>659,
10486=>659, 10487=>659, 10488=>659, 10489=>659, 10490=>659, 10491=>659, 10492=>659, 10493=>659, 10494=>659, 10495=>659, 10502=>754, 10503=>754, 10506=>754, 10507=>754, 10560=>615, 10561=>615,
10702=>754, 10703=>900, 10704=>900, 10705=>900, 10706=>900, 10707=>900, 10708=>900, 10709=>900, 10731=>444, 10752=>900, 10753=>900, 10754=>900, 10764=>1192, 10765=>469, 10766=>469, 10767=>469,
10768=>469, 10769=>469, 10770=>469, 10771=>469, 10772=>469, 10773=>469, 10774=>469, 10775=>469, 10776=>469, 10777=>469, 10778=>469, 10779=>469, 10780=>469, 10877=>754, 10878=>754, 10879=>754,
10880=>754, 10881=>754, 10882=>754, 10883=>754, 10884=>754, 10885=>754, 10886=>754, 10887=>754, 10888=>754, 10889=>754, 10890=>754, 10891=>754, 10892=>754, 10893=>754, 10894=>754, 10895=>754,
10896=>754, 10897=>754, 10898=>754, 10899=>754, 10900=>754, 10901=>754, 10902=>754, 10903=>754, 10904=>754, 10905=>754, 10906=>754, 10907=>754, 10908=>754, 10909=>754, 10910=>754, 10911=>754,
10912=>754, 10926=>754, 10927=>754, 10928=>754, 10929=>754, 10930=>754, 10931=>754, 10932=>754, 10933=>754, 10934=>754, 10935=>754, 10936=>754, 10937=>754, 10938=>754, 11001=>754, 11002=>754,
11008=>754, 11009=>754, 11010=>754, 11011=>754, 11012=>754, 11013=>754, 11014=>754, 11015=>754, 11016=>754, 11017=>754, 11018=>754, 11019=>754, 11020=>754, 11021=>754, 11022=>752, 11023=>752,
11024=>752, 11025=>752, 11026=>850, 11027=>850, 11028=>850, 11029=>850, 11030=>692, 11031=>692, 11032=>692, 11033=>692, 11034=>850, 11040=>782, 11041=>786, 11042=>786, 11043=>786, 11360=>501,
11361=>250, 11362=>501, 11363=>542, 11364=>625, 11365=>551, 11366=>353, 11367=>677, 11368=>570, 11369=>590, 11370=>521, 11371=>616, 11372=>472, 11380=>532, 11381=>589, 11382=>511, 11383=>593,
61960=>703, 62047=>532, 63173=>550, 64256=>649, 64257=>581, 64258=>581, 64259=>899, 64260=>899, 64261=>617, 64262=>774, 64275=>1081, 64276=>1081, 64277=>1076, 64278=>1067, 64279=>1376, 64285=>266,
64287=>444, 64288=>572, 64297=>754, 64298=>719, 64299=>719, 64300=>719, 64301=>719, 64302=>597, 64303=>597, 64304=>597, 64305=>589, 64306=>408, 64307=>546, 64308=>621, 64309=>302, 64310=>393,
64311=>900, 64312=>615, 64313=>302, 64314=>577, 64315=>599, 64316=>571, 64318=>663, 64320=>410, 64321=>694, 64323=>586, 64324=>599, 64326=>575, 64327=>619, 64328=>577, 64329=>719, 64330=>653,
64331=>245, 64332=>589, 64333=>599, 64334=>599, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0,
65036=>0, 65037=>0, 65038=>0, 65039=>0, 65533=>923);
$enc='';
$diff='';
$file='DejaVuSansCondensed-Oblique.z';
$ctg='DejaVuSansCondensed-Oblique.ctg.z';
$originalsize=425256;
?>

View File

@@ -0,0 +1,267 @@
<?php
$type='TrueTypeUnicode';
$name='DejaVuSans-Oblique';
$desc=array('Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>96,'FontBBox'=>'[-1016 -385 1659 1068]','ItalicAngle'=>-11,'StemV'=>70,'MissingWidth'=>600);
$up=-42;
$ut=44;
$cw=array(
0=>600, 32=>318, 33=>401, 34=>460, 35=>838, 36=>636, 37=>950, 38=>780, 39=>275, 40=>390, 41=>390, 42=>500, 43=>838, 44=>318, 45=>361, 46=>318,
47=>337, 48=>636, 49=>636, 50=>636, 51=>636, 52=>636, 53=>636, 54=>636, 55=>636, 56=>636, 57=>636, 58=>337, 59=>337, 60=>838, 61=>838, 62=>838,
63=>531, 64=>1000, 65=>684, 66=>686, 67=>698, 68=>770, 69=>632, 70=>575, 71=>775, 72=>752, 73=>295, 74=>295, 75=>656, 76=>557, 77=>863, 78=>748,
79=>787, 80=>603, 81=>787, 82=>695, 83=>635, 84=>611, 85=>732, 86=>684, 87=>989, 88=>685, 89=>611, 90=>685, 91=>390, 92=>337, 93=>390, 94=>838,
95=>500, 96=>500, 97=>613, 98=>635, 99=>550, 100=>635, 101=>615, 102=>352, 103=>635, 104=>634, 105=>278, 106=>278, 107=>579, 108=>278, 109=>974, 110=>634,
111=>612, 112=>635, 113=>635, 114=>411, 115=>521, 116=>392, 117=>634, 118=>592, 119=>818, 120=>592, 121=>592, 122=>525, 123=>636, 124=>337, 125=>636, 126=>838,
8364=>636, 1027=>557, 8218=>318, 402=>352, 8222=>518, 8230=>1000, 8224=>500, 8225=>500, 710=>500, 8240=>1350, 352=>635, 8249=>400, 338=>1070, 1036=>710, 381=>685, 1039=>752,
8216=>318, 8217=>318, 8220=>518, 8221=>518, 8226=>590, 8211=>500, 8212=>1000, 732=>500, 8482=>1000, 353=>521, 8250=>400, 339=>1028, 1116=>604, 382=>525, 376=>611, 160=>318,
161=>401, 162=>636, 163=>636, 164=>636, 165=>636, 166=>337, 167=>500, 168=>500, 169=>1000, 170=>471, 171=>617, 172=>838, 173=>361, 174=>1000, 175=>500, 176=>500,
177=>838, 178=>401, 179=>401, 180=>500, 181=>636, 182=>636, 183=>318, 184=>500, 185=>401, 186=>471, 187=>617, 188=>969, 189=>969, 190=>969, 191=>531, 192=>684,
193=>684, 194=>684, 195=>684, 196=>684, 197=>684, 198=>974, 199=>698, 200=>632, 201=>632, 202=>632, 203=>632, 204=>295, 205=>295, 206=>295, 207=>295, 208=>775,
209=>748, 210=>787, 211=>787, 212=>787, 213=>787, 214=>787, 215=>838, 216=>787, 217=>732, 218=>732, 219=>732, 220=>732, 221=>611, 222=>608, 223=>630, 224=>613,
225=>613, 226=>613, 227=>613, 228=>613, 229=>613, 230=>995, 231=>550, 232=>615, 233=>615, 234=>615, 235=>615, 236=>278, 237=>278, 238=>278, 239=>278, 240=>612,
241=>634, 242=>612, 243=>612, 244=>612, 245=>612, 246=>612, 247=>838, 248=>612, 249=>634, 250=>634, 251=>634, 252=>634, 253=>592, 254=>635, 255=>592, 256=>684,
257=>613, 258=>684, 259=>613, 260=>684, 261=>613, 262=>698, 263=>550, 264=>698, 265=>550, 266=>698, 267=>550, 268=>698, 269=>550, 270=>770, 271=>635, 272=>775,
273=>635, 274=>632, 275=>615, 276=>632, 277=>615, 278=>632, 279=>615, 280=>632, 281=>615, 282=>632, 283=>615, 284=>775, 285=>635, 286=>775, 287=>635, 288=>775,
289=>635, 290=>775, 291=>635, 292=>752, 293=>634, 294=>916, 295=>695, 296=>295, 297=>278, 298=>295, 299=>278, 300=>295, 301=>278, 302=>295, 303=>278, 304=>295,
305=>278, 306=>590, 307=>556, 308=>295, 309=>278, 310=>656, 311=>579, 312=>579, 313=>557, 314=>278, 315=>557, 316=>278, 317=>557, 318=>329, 319=>557, 320=>596,
321=>562, 322=>287, 323=>748, 324=>634, 325=>748, 326=>634, 327=>748, 328=>634, 329=>813, 330=>748, 331=>634, 332=>787, 333=>612, 334=>787, 335=>612, 336=>787,
337=>612, 340=>695, 341=>411, 342=>695, 343=>411, 344=>695, 345=>411, 346=>635, 347=>521, 348=>635, 349=>521, 350=>635, 351=>521, 354=>611, 355=>392, 356=>611,
357=>392, 358=>611, 359=>392, 360=>732, 361=>634, 362=>732, 363=>634, 364=>732, 365=>634, 366=>732, 367=>634, 368=>732, 369=>634, 370=>732, 371=>634, 372=>989,
373=>818, 374=>611, 375=>592, 377=>685, 378=>525, 379=>685, 380=>525, 383=>352, 384=>635, 385=>735, 386=>686, 387=>635, 388=>686, 389=>635, 390=>703, 391=>698,
392=>550, 393=>775, 394=>819, 395=>686, 396=>635, 397=>612, 398=>632, 399=>787, 400=>614, 401=>575, 403=>775, 404=>687, 405=>984, 406=>354, 407=>295, 408=>746,
409=>579, 410=>278, 411=>592, 412=>974, 413=>748, 414=>634, 415=>787, 416=>913, 417=>612, 418=>938, 419=>737, 420=>652, 421=>635, 422=>695, 423=>635, 424=>521,
425=>632, 426=>336, 427=>392, 428=>611, 429=>392, 430=>611, 431=>838, 432=>634, 433=>764, 434=>721, 435=>744, 436=>729, 437=>685, 438=>525, 439=>666, 440=>666,
441=>578, 442=>525, 443=>636, 444=>666, 445=>578, 446=>510, 447=>635, 448=>295, 449=>492, 450=>459, 451=>295, 452=>1455, 453=>1295, 454=>1160, 455=>852, 456=>835,
457=>556, 458=>1043, 459=>1026, 460=>912, 461=>684, 462=>613, 463=>295, 464=>278, 465=>787, 466=>612, 467=>732, 468=>634, 469=>732, 470=>634, 471=>732, 472=>634,
473=>732, 474=>634, 475=>732, 476=>634, 477=>615, 478=>684, 479=>613, 480=>684, 481=>613, 482=>974, 483=>995, 484=>775, 485=>635, 486=>775, 487=>635, 488=>656,
489=>579, 490=>787, 491=>612, 492=>787, 493=>612, 494=>666, 495=>525, 496=>278, 497=>1455, 498=>1295, 499=>1160, 500=>775, 501=>635, 502=>1113, 503=>682, 504=>748,
505=>634, 506=>684, 507=>613, 508=>974, 509=>995, 510=>787, 511=>612, 512=>684, 513=>613, 514=>684, 515=>613, 516=>632, 517=>615, 518=>632, 519=>615, 520=>295,
521=>278, 522=>295, 523=>278, 524=>787, 525=>612, 526=>787, 527=>612, 528=>695, 529=>411, 530=>695, 531=>411, 532=>732, 533=>634, 534=>732, 535=>634, 536=>635,
537=>521, 538=>611, 539=>392, 540=>627, 541=>521, 542=>752, 543=>634, 544=>735, 545=>838, 546=>698, 547=>610, 548=>685, 549=>525, 550=>684, 551=>613, 552=>632,
553=>615, 554=>787, 555=>612, 556=>787, 557=>612, 558=>787, 559=>612, 560=>787, 561=>612, 562=>611, 563=>592, 564=>475, 565=>843, 566=>477, 567=>278, 568=>998,
569=>998, 570=>684, 571=>698, 572=>550, 573=>557, 574=>611, 575=>521, 576=>525, 577=>603, 578=>479, 579=>686, 580=>732, 581=>684, 582=>632, 583=>615, 584=>295,
585=>278, 586=>781, 587=>635, 588=>695, 589=>411, 590=>611, 591=>592, 592=>613, 593=>635, 594=>635, 595=>635, 596=>550, 597=>550, 598=>635, 599=>727, 600=>615,
601=>615, 602=>844, 603=>545, 604=>545, 605=>775, 606=>664, 607=>326, 608=>696, 609=>635, 610=>629, 611=>596, 612=>596, 613=>634, 614=>634, 615=>634, 616=>372,
617=>387, 618=>372, 619=>396, 620=>487, 621=>278, 622=>706, 623=>974, 624=>974, 625=>974, 626=>646, 627=>642, 628=>634, 629=>612, 630=>858, 631=>728, 632=>660,
633=>469, 634=>469, 635=>469, 636=>469, 637=>469, 638=>530, 639=>530, 640=>602, 641=>602, 642=>521, 643=>336, 644=>336, 645=>461, 646=>336, 647=>392, 648=>392,
649=>634, 650=>618, 651=>598, 652=>592, 653=>818, 654=>592, 655=>611, 656=>525, 657=>525, 658=>578, 659=>578, 660=>510, 661=>510, 662=>510, 663=>510, 664=>787,
665=>580, 666=>664, 667=>708, 668=>654, 669=>292, 670=>667, 671=>507, 672=>727, 673=>510, 674=>510, 675=>1014, 676=>1058, 677=>1013, 678=>824, 679=>610, 680=>778,
681=>848, 682=>641, 683=>654, 684=>515, 685=>515, 686=>570, 687=>664, 688=>399, 689=>399, 690=>175, 691=>259, 692=>295, 693=>296, 694=>379, 695=>515, 696=>373,
697=>278, 698=>460, 699=>318, 700=>318, 701=>318, 702=>307, 703=>307, 704=>370, 705=>370, 706=>500, 707=>500, 708=>500, 709=>500, 711=>500, 712=>275, 713=>500,
714=>500, 715=>500, 716=>275, 717=>500, 718=>500, 719=>500, 720=>337, 721=>337, 722=>307, 723=>307, 724=>500, 725=>500, 726=>413, 727=>500, 728=>500, 729=>500,
730=>500, 731=>500, 733=>500, 734=>315, 735=>500, 736=>426, 737=>166, 738=>373, 739=>444, 740=>370, 741=>493, 742=>493, 743=>493, 744=>493, 745=>493, 748=>500,
749=>500, 750=>500, 755=>500, 759=>500, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0, 884=>278, 885=>278,
890=>500, 891=>549, 892=>550, 893=>549, 894=>337, 900=>500, 901=>500, 902=>695, 903=>318, 904=>767, 905=>903, 906=>435, 908=>839, 910=>860, 911=>905, 912=>338,
913=>684, 914=>686, 915=>557, 916=>684, 917=>632, 918=>685, 919=>752, 920=>787, 921=>295, 922=>656, 923=>684, 924=>863, 925=>748, 926=>632, 927=>787, 928=>752,
929=>603, 931=>632, 932=>611, 933=>611, 934=>787, 935=>685, 936=>787, 937=>764, 938=>295, 939=>611, 940=>659, 941=>543, 942=>631, 943=>338, 944=>579, 945=>659,
946=>638, 947=>592, 948=>612, 949=>541, 950=>544, 951=>634, 952=>612, 953=>338, 954=>589, 955=>592, 956=>636, 957=>559, 958=>558, 959=>612, 960=>602, 961=>635,
962=>587, 963=>634, 964=>602, 965=>579, 966=>660, 967=>592, 968=>660, 969=>837, 970=>338, 971=>579, 972=>612, 973=>579, 974=>837, 976=>614, 977=>619, 978=>699,
979=>842, 980=>699, 981=>660, 982=>837, 983=>664, 984=>787, 985=>612, 986=>648, 987=>587, 988=>575, 989=>458, 990=>660, 991=>660, 992=>865, 993=>627, 994=>934,
995=>837, 996=>758, 997=>659, 998=>792, 999=>615, 1000=>687, 1001=>607, 1002=>768, 1003=>625, 1004=>699, 1005=>612, 1006=>611, 1007=>536, 1008=>664, 1009=>635, 1010=>550,
1011=>278, 1012=>787, 1013=>615, 1014=>615, 1015=>608, 1016=>635, 1017=>698, 1018=>863, 1019=>651, 1020=>635, 1021=>703, 1022=>698, 1023=>703, 1024=>632, 1025=>632, 1026=>786,
1028=>698, 1029=>635, 1030=>295, 1031=>295, 1032=>295, 1033=>1094, 1034=>1045, 1035=>786, 1037=>748, 1038=>609, 1040=>684, 1041=>686, 1042=>686, 1043=>557, 1044=>781, 1045=>632,
1046=>1077, 1047=>641, 1048=>748, 1049=>748, 1050=>710, 1051=>752, 1052=>863, 1053=>752, 1054=>787, 1055=>752, 1056=>603, 1057=>698, 1058=>611, 1059=>609, 1060=>861, 1061=>685,
1062=>776, 1063=>686, 1064=>1069, 1065=>1094, 1066=>833, 1067=>818, 1068=>686, 1069=>698, 1070=>1080, 1071=>695, 1072=>613, 1073=>617, 1074=>589, 1075=>525, 1076=>691, 1077=>615,
1078=>901, 1079=>532, 1080=>650, 1081=>650, 1082=>604, 1083=>639, 1084=>754, 1085=>654, 1086=>612, 1087=>654, 1088=>635, 1089=>550, 1090=>583, 1091=>592, 1092=>855, 1093=>592,
1094=>681, 1095=>591, 1096=>915, 1097=>942, 1098=>707, 1099=>790, 1100=>589, 1101=>549, 1102=>842, 1103=>602, 1104=>615, 1105=>615, 1106=>625, 1107=>525, 1108=>549, 1109=>521,
1110=>278, 1111=>278, 1112=>278, 1113=>902, 1114=>898, 1115=>652, 1117=>650, 1118=>592, 1119=>654, 1120=>934, 1121=>837, 1122=>771, 1123=>672, 1124=>942, 1125=>749, 1126=>879,
1127=>783, 1128=>1160, 1129=>1001, 1130=>787, 1131=>612, 1132=>1027, 1133=>824, 1134=>636, 1135=>541, 1136=>856, 1137=>876, 1138=>787, 1139=>592, 1140=>781, 1141=>665, 1142=>781,
1143=>665, 1144=>992, 1145=>904, 1146=>953, 1147=>758, 1148=>1180, 1149=>1028, 1150=>934, 1151=>837, 1152=>698, 1153=>550, 1154=>502, 1155=>0, 1156=>0, 1157=>0, 1158=>0,
1160=>418, 1161=>418, 1162=>748, 1163=>657, 1164=>686, 1165=>589, 1166=>603, 1167=>635, 1168=>610, 1169=>525, 1170=>675, 1171=>556, 1172=>557, 1173=>491, 1174=>1077, 1175=>901,
1176=>641, 1177=>532, 1178=>710, 1179=>604, 1180=>710, 1181=>604, 1182=>710, 1183=>604, 1184=>856, 1185=>832, 1186=>752, 1187=>661, 1188=>1014, 1189=>877, 1190=>1113, 1191=>950,
1192=>796, 1193=>651, 1194=>698, 1195=>550, 1196=>611, 1197=>529, 1198=>611, 1199=>592, 1200=>611, 1201=>592, 1202=>685, 1203=>592, 1204=>934, 1205=>807, 1206=>686, 1207=>591,
1208=>686, 1209=>591, 1210=>686, 1211=>634, 1212=>929, 1213=>731, 1214=>929, 1215=>731, 1216=>295, 1217=>1077, 1218=>901, 1219=>655, 1220=>604, 1221=>752, 1222=>639, 1223=>752,
1224=>661, 1225=>752, 1226=>661, 1227=>686, 1228=>591, 1229=>863, 1230=>754, 1231=>278, 1232=>684, 1233=>613, 1234=>684, 1235=>613, 1236=>974, 1237=>995, 1238=>632, 1239=>615,
1240=>787, 1241=>615, 1242=>787, 1243=>615, 1244=>1077, 1245=>901, 1246=>641, 1247=>532, 1248=>666, 1249=>578, 1250=>748, 1251=>650, 1252=>748, 1253=>650, 1254=>787, 1255=>612,
1256=>787, 1257=>612, 1258=>787, 1259=>612, 1260=>698, 1261=>549, 1262=>609, 1263=>592, 1264=>609, 1265=>592, 1266=>609, 1267=>592, 1268=>686, 1269=>591, 1270=>557, 1271=>491,
1272=>818, 1273=>790, 1274=>675, 1275=>556, 1276=>685, 1277=>592, 1278=>685, 1279=>592, 1280=>686, 1281=>589, 1282=>1006, 1283=>897, 1284=>975, 1285=>869, 1286=>679, 1287=>588,
1288=>1072, 1289=>957, 1290=>1072, 1291=>967, 1292=>775, 1293=>660, 1294=>773, 1295=>711, 1296=>614, 1297=>541, 1298=>752, 1299=>639, 1329=>867, 1330=>732, 1331=>882, 1332=>882,
1333=>732, 1334=>644, 1335=>682, 1336=>732, 1337=>851, 1338=>882, 1339=>732, 1340=>557, 1341=>824, 1342=>986, 1343=>732, 1344=>707, 1345=>644, 1346=>882, 1347=>777, 1348=>882,
1349=>732, 1350=>840, 1351=>732, 1352=>732, 1353=>732, 1354=>791, 1355=>644, 1356=>882, 1357=>732, 1358=>882, 1359=>635, 1360=>732, 1361=>732, 1362=>799, 1363=>861, 1364=>790,
1365=>787, 1366=>635, 1369=>307, 1370=>318, 1371=>500, 1372=>500, 1373=>392, 1374=>526, 1375=>500, 1377=>974, 1378=>634, 1379=>762, 1380=>767, 1381=>634, 1382=>697, 1383=>533,
1384=>634, 1385=>700, 1386=>697, 1387=>634, 1388=>404, 1389=>894, 1390=>641, 1391=>634, 1392=>634, 1393=>635, 1394=>702, 1395=>634, 1396=>659, 1397=>278, 1398=>760, 1399=>516,
1400=>634, 1401=>453, 1402=>974, 1403=>516, 1404=>769, 1405=>634, 1406=>696, 1407=>974, 1408=>634, 1409=>690, 1410=>501, 1411=>974, 1412=>648, 1413=>612, 1414=>629, 1415=>763,
1417=>337, 1418=>433, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0, 1469=>0, 1471=>0,
1472=>295, 1473=>0, 1474=>0, 1475=>295, 1478=>456, 1479=>0, 1488=>629, 1489=>608, 1490=>448, 1491=>594, 1492=>640, 1493=>272, 1494=>423, 1495=>640, 1496=>648, 1497=>272,
1498=>592, 1499=>556, 1500=>599, 1501=>640, 1502=>659, 1503=>272, 1504=>441, 1505=>700, 1506=>636, 1507=>640, 1508=>604, 1509=>521, 1510=>581, 1511=>663, 1512=>592, 1513=>808,
1514=>657, 1520=>471, 1521=>454, 1522=>471, 3647=>652, 3713=>670, 3714=>684, 3716=>688, 3719=>482, 3720=>628, 3722=>684, 3725=>688, 3732=>642, 3733=>642, 3734=>672, 3735=>655,
3737=>641, 3738=>592, 3739=>592, 3740=>745, 3741=>767, 3742=>687, 3743=>687, 3745=>702, 3746=>688, 3747=>684, 3749=>649, 3751=>632, 3754=>703, 3755=>819, 3757=>633, 3758=>684,
3759=>788, 3760=>632, 3761=>0, 3762=>539, 3763=>539, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>663, 3776=>360, 3777=>679,
3778=>460, 3779=>547, 3780=>491, 3782=>674, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>1028, 3805=>1028, 5121=>684, 5122=>684, 5123=>684, 5124=>684,
5125=>769, 5126=>809, 5127=>809, 5129=>809, 5130=>769, 5131=>719, 5132=>835, 5133=>834, 5134=>835, 5135=>834, 5136=>835, 5137=>834, 5138=>967, 5139=>1007, 5140=>967, 5141=>1007,
5142=>809, 5143=>967, 5144=>1007, 5145=>967, 5146=>1007, 5147=>719, 5149=>256, 5150=>543, 5151=>423, 5152=>423, 5153=>389, 5154=>389, 5155=>393, 5156=>389, 5157=>466, 5158=>385,
5159=>256, 5160=>389, 5161=>389, 5162=>389, 5163=>1090, 5164=>909, 5165=>953, 5166=>1117, 5167=>684, 5168=>684, 5169=>684, 5170=>684, 5171=>729, 5172=>629, 5173=>629, 5175=>629,
5176=>729, 5177=>629, 5178=>835, 5179=>684, 5180=>835, 5181=>834, 5182=>835, 5183=>834, 5184=>967, 5185=>1007, 5186=>967, 5187=>1007, 5188=>967, 5189=>1007, 5190=>967, 5191=>1007,
5192=>729, 5193=>508, 5194=>192, 5196=>732, 5197=>732, 5198=>732, 5199=>732, 5200=>730, 5201=>730, 5202=>730, 5204=>730, 5205=>730, 5206=>730, 5207=>921, 5208=>889, 5209=>921,
5210=>889, 5211=>921, 5212=>889, 5213=>928, 5214=>900, 5215=>928, 5216=>900, 5217=>947, 5218=>900, 5219=>947, 5220=>900, 5221=>947, 5222=>434, 5223=>877, 5224=>877, 5225=>866,
5226=>890, 5227=>628, 5228=>628, 5229=>628, 5230=>628, 5231=>628, 5232=>628, 5233=>628, 5234=>628, 5235=>628, 5236=>860, 5237=>771, 5238=>815, 5239=>816, 5240=>815, 5241=>816,
5242=>860, 5243=>771, 5244=>860, 5245=>771, 5246=>815, 5247=>816, 5248=>815, 5249=>816, 5250=>815, 5251=>407, 5252=>407, 5253=>750, 5254=>775, 5255=>750, 5256=>775, 5257=>628,
5258=>628, 5259=>628, 5260=>628, 5261=>628, 5262=>628, 5263=>628, 5264=>628, 5265=>628, 5266=>860, 5267=>771, 5268=>815, 5269=>816, 5270=>815, 5271=>816, 5272=>860, 5273=>771,
5274=>860, 5275=>771, 5276=>815, 5277=>816, 5278=>815, 5279=>816, 5280=>815, 5281=>435, 5282=>435, 5283=>610, 5284=>522, 5285=>557, 5286=>522, 5287=>610, 5288=>610, 5289=>522,
5290=>557, 5291=>557, 5292=>749, 5293=>769, 5294=>746, 5295=>764, 5296=>746, 5297=>764, 5298=>749, 5299=>769, 5300=>749, 5301=>769, 5302=>746, 5303=>764, 5304=>746, 5305=>764,
5306=>746, 5307=>386, 5308=>508, 5309=>386, 5312=>852, 5313=>852, 5314=>852, 5315=>852, 5316=>852, 5317=>799, 5318=>799, 5319=>852, 5320=>799, 5321=>1069, 5322=>1035, 5323=>1059,
5324=>852, 5325=>1059, 5326=>799, 5327=>852, 5328=>600, 5329=>453, 5330=>600, 5331=>852, 5332=>852, 5333=>852, 5334=>852, 5335=>852, 5336=>799, 5337=>799, 5338=>852, 5339=>799,
5340=>1069, 5341=>1035, 5342=>1059, 5343=>1030, 5344=>1059, 5345=>1030, 5346=>1069, 5347=>1035, 5348=>1069, 5349=>1035, 5350=>1083, 5351=>1030, 5352=>1083, 5353=>1030, 5354=>600, 5356=>729,
5357=>603, 5358=>603, 5359=>603, 5360=>603, 5361=>603, 5362=>603, 5363=>603, 5364=>603, 5365=>603, 5366=>834, 5367=>754, 5368=>792, 5369=>771, 5370=>792, 5371=>771, 5372=>834,
5373=>754, 5374=>834, 5375=>754, 5376=>792, 5377=>771, 5378=>792, 5379=>771, 5380=>792, 5381=>418, 5382=>420, 5383=>418, 5392=>712, 5393=>712, 5394=>712, 5395=>892, 5396=>892,
5397=>892, 5398=>892, 5399=>910, 5400=>872, 5401=>910, 5402=>872, 5403=>910, 5404=>872, 5405=>1140, 5406=>1100, 5407=>1140, 5408=>1100, 5409=>1140, 5410=>1100, 5411=>1140, 5412=>1100,
5413=>641, 5414=>627, 5415=>627, 5416=>627, 5417=>627, 5418=>627, 5419=>627, 5420=>627, 5421=>627, 5422=>627, 5423=>844, 5424=>781, 5425=>816, 5426=>818, 5427=>816, 5428=>818,
5429=>844, 5430=>781, 5431=>844, 5432=>781, 5433=>816, 5434=>818, 5435=>816, 5436=>818, 5437=>816, 5438=>418, 5440=>389, 5441=>484, 5442=>916, 5443=>916, 5444=>863, 5445=>916,
5446=>863, 5447=>863, 5448=>603, 5449=>603, 5450=>603, 5451=>603, 5452=>603, 5453=>603, 5454=>834, 5455=>754, 5456=>418, 5458=>729, 5459=>684, 5460=>684, 5461=>684, 5462=>684,
5463=>726, 5464=>672, 5465=>726, 5466=>726, 5467=>924, 5468=>1007, 5469=>508, 5470=>732, 5471=>732, 5472=>732, 5473=>732, 5474=>732, 5475=>732, 5476=>730, 5477=>730, 5478=>730,
5479=>730, 5480=>947, 5481=>900, 5482=>508, 5492=>831, 5493=>831, 5494=>831, 5495=>831, 5496=>831, 5497=>831, 5498=>831, 5499=>563, 5500=>752, 5501=>484, 5502=>1047, 5503=>1047,
5504=>1047, 5505=>1047, 5506=>1047, 5507=>1047, 5508=>1047, 5509=>825, 5514=>831, 5515=>831, 5516=>831, 5517=>831, 5518=>1259, 5519=>1259, 5520=>1259, 5521=>1002, 5522=>1002, 5523=>1259,
5524=>1259, 5525=>700, 5526=>1073, 5536=>852, 5537=>852, 5538=>799, 5539=>799, 5540=>799, 5541=>799, 5542=>600, 5543=>643, 5544=>643, 5545=>643, 5546=>643, 5547=>643, 5548=>643,
5549=>643, 5550=>418, 5551=>628, 5598=>770, 5601=>770, 5702=>468, 5703=>468, 5742=>444, 5743=>1047, 5744=>1310, 5745=>1632, 5746=>1632, 5747=>1375, 5748=>1375, 5749=>1632, 5750=>1632,
7424=>592, 7425=>717, 7426=>982, 7427=>586, 7428=>550, 7429=>605, 7430=>605, 7431=>491, 7432=>541, 7433=>278, 7434=>395, 7435=>579, 7436=>583, 7437=>754, 7438=>650, 7439=>612,
7440=>550, 7441=>684, 7442=>684, 7443=>684, 7444=>1023, 7446=>612, 7447=>612, 7448=>524, 7449=>602, 7450=>602, 7451=>583, 7452=>574, 7453=>737, 7454=>948, 7455=>638, 7456=>592,
7457=>818, 7458=>525, 7459=>526, 7462=>583, 7463=>592, 7464=>564, 7465=>524, 7466=>590, 7467=>639, 7468=>431, 7469=>613, 7470=>432, 7472=>485, 7473=>398, 7474=>398, 7475=>488,
7476=>474, 7477=>186, 7478=>186, 7479=>413, 7480=>351, 7481=>543, 7482=>471, 7483=>471, 7484=>496, 7485=>439, 7486=>380, 7487=>438, 7488=>385, 7489=>461, 7490=>623, 7491=>392,
7492=>392, 7493=>405, 7494=>648, 7495=>428, 7496=>405, 7497=>417, 7498=>417, 7499=>360, 7500=>359, 7501=>405, 7502=>179, 7503=>426, 7504=>623, 7505=>409, 7506=>414, 7507=>370,
7508=>414, 7509=>414, 7510=>428, 7511=>295, 7512=>405, 7513=>470, 7514=>623, 7515=>417, 7516=>1000, 7517=>402, 7518=>373, 7519=>385, 7520=>416, 7521=>364, 7522=>179, 7523=>259,
7524=>405, 7525=>417, 7526=>402, 7527=>373, 7528=>385, 7529=>416, 7530=>364, 7543=>635, 7544=>474, 7547=>372, 7557=>278, 7579=>405, 7580=>370, 7581=>370, 7582=>414, 7583=>360,
7584=>296, 7585=>233, 7586=>405, 7587=>405, 7588=>261, 7589=>250, 7590=>261, 7591=>261, 7592=>234, 7593=>250, 7594=>235, 7595=>376, 7596=>623, 7597=>623, 7598=>411, 7599=>479,
7600=>409, 7601=>414, 7602=>414, 7603=>360, 7604=>287, 7605=>295, 7606=>508, 7607=>418, 7608=>361, 7609=>406, 7610=>417, 7611=>366, 7612=>437, 7613=>366, 7614=>392, 7615=>414,
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>684, 7681=>613, 7682=>686, 7683=>635, 7684=>686, 7685=>635, 7686=>686, 7687=>635, 7688=>698, 7689=>550,
7690=>770, 7691=>635, 7692=>770, 7693=>635, 7694=>770, 7695=>635, 7696=>770, 7697=>635, 7698=>770, 7699=>635, 7700=>632, 7701=>615, 7702=>632, 7703=>615, 7704=>632, 7705=>615,
7706=>632, 7707=>615, 7708=>632, 7709=>615, 7710=>575, 7711=>352, 7712=>775, 7713=>635, 7714=>752, 7715=>634, 7716=>752, 7717=>634, 7718=>752, 7719=>634, 7720=>752, 7721=>634,
7722=>752, 7723=>634, 7724=>295, 7725=>278, 7726=>295, 7727=>278, 7728=>656, 7729=>579, 7730=>656, 7731=>579, 7732=>656, 7733=>579, 7734=>557, 7735=>278, 7736=>557, 7737=>278,
7738=>557, 7739=>278, 7740=>557, 7741=>278, 7742=>863, 7743=>974, 7744=>863, 7745=>974, 7746=>863, 7747=>974, 7748=>748, 7749=>634, 7750=>748, 7751=>634, 7752=>748, 7753=>634,
7754=>748, 7755=>634, 7756=>787, 7757=>612, 7758=>787, 7759=>612, 7760=>787, 7761=>612, 7762=>787, 7763=>612, 7764=>603, 7765=>635, 7766=>603, 7767=>635, 7768=>695, 7769=>411,
7770=>695, 7771=>411, 7772=>695, 7773=>411, 7774=>695, 7775=>411, 7776=>635, 7777=>521, 7778=>635, 7779=>521, 7780=>635, 7781=>521, 7782=>635, 7783=>521, 7784=>635, 7785=>521,
7786=>611, 7787=>392, 7788=>611, 7789=>392, 7790=>611, 7791=>392, 7792=>611, 7793=>392, 7794=>732, 7795=>634, 7796=>732, 7797=>634, 7798=>732, 7799=>634, 7800=>732, 7801=>634,
7802=>732, 7803=>634, 7804=>684, 7805=>592, 7806=>684, 7807=>592, 7808=>989, 7809=>818, 7810=>989, 7811=>818, 7812=>989, 7813=>818, 7814=>989, 7815=>818, 7816=>989, 7817=>818,
7818=>685, 7819=>592, 7820=>685, 7821=>592, 7822=>611, 7823=>592, 7824=>685, 7825=>525, 7826=>685, 7827=>525, 7828=>685, 7829=>525, 7830=>634, 7831=>392, 7832=>818, 7833=>592,
7834=>613, 7835=>352, 7840=>684, 7841=>613, 7842=>684, 7843=>613, 7844=>684, 7845=>613, 7846=>684, 7847=>613, 7848=>684, 7849=>613, 7850=>684, 7851=>613, 7852=>684, 7853=>613,
7854=>684, 7855=>613, 7856=>684, 7857=>613, 7858=>684, 7859=>613, 7860=>684, 7861=>613, 7862=>684, 7863=>613, 7864=>632, 7865=>615, 7866=>632, 7867=>615, 7868=>632, 7869=>615,
7870=>632, 7871=>615, 7872=>632, 7873=>615, 7874=>632, 7875=>615, 7876=>632, 7877=>615, 7878=>632, 7879=>615, 7880=>295, 7881=>278, 7882=>295, 7883=>278, 7884=>787, 7885=>612,
7886=>787, 7887=>612, 7888=>787, 7889=>612, 7890=>787, 7891=>612, 7892=>787, 7893=>612, 7894=>787, 7895=>612, 7896=>787, 7897=>612, 7898=>913, 7899=>612, 7900=>913, 7901=>612,
7902=>913, 7903=>612, 7904=>913, 7905=>612, 7906=>913, 7907=>612, 7908=>732, 7909=>634, 7910=>732, 7911=>634, 7912=>838, 7913=>634, 7914=>838, 7915=>634, 7916=>838, 7917=>634,
7918=>838, 7919=>634, 7920=>838, 7921=>634, 7922=>611, 7923=>592, 7924=>611, 7925=>592, 7926=>611, 7927=>592, 7928=>611, 7929=>592, 7936=>659, 7937=>659, 7938=>659, 7939=>659,
7940=>659, 7941=>659, 7942=>659, 7943=>659, 7944=>684, 7945=>684, 7946=>877, 7947=>877, 7948=>769, 7949=>801, 7950=>708, 7951=>743, 7952=>541, 7953=>541, 7954=>541, 7955=>541,
7956=>541, 7957=>541, 7960=>711, 7961=>711, 7962=>966, 7963=>975, 7964=>898, 7965=>928, 7968=>634, 7969=>634, 7970=>634, 7971=>634, 7972=>634, 7973=>634, 7974=>634, 7975=>634,
7976=>837, 7977=>835, 7978=>1086, 7979=>1089, 7980=>1027, 7981=>1051, 7982=>934, 7983=>947, 7984=>338, 7985=>338, 7986=>338, 7987=>338, 7988=>338, 7989=>338, 7990=>338, 7991=>338,
7992=>380, 7993=>374, 7994=>635, 7995=>635, 7996=>570, 7997=>600, 7998=>489, 7999=>493, 8000=>612, 8001=>612, 8002=>612, 8003=>612, 8004=>612, 8005=>612, 8008=>804, 8009=>848,
8010=>1095, 8011=>1100, 8012=>938, 8013=>970, 8016=>579, 8017=>579, 8018=>579, 8019=>579, 8020=>579, 8021=>579, 8022=>579, 8023=>579, 8025=>784, 8027=>998, 8029=>1012, 8031=>897,
8032=>837, 8033=>837, 8034=>837, 8035=>837, 8036=>837, 8037=>837, 8038=>837, 8039=>837, 8040=>802, 8041=>843, 8042=>1089, 8043=>1095, 8044=>946, 8045=>972, 8046=>921, 8047=>952,
8048=>659, 8049=>659, 8050=>541, 8051=>548, 8052=>634, 8053=>654, 8054=>338, 8055=>338, 8056=>612, 8057=>612, 8058=>579, 8059=>579, 8060=>837, 8061=>837, 8064=>659, 8065=>659,
8066=>659, 8067=>659, 8068=>659, 8069=>659, 8070=>659, 8071=>659, 8072=>684, 8073=>684, 8074=>877, 8075=>877, 8076=>769, 8077=>801, 8078=>708, 8079=>743, 8080=>634, 8081=>634,
8082=>634, 8083=>634, 8084=>634, 8085=>634, 8086=>634, 8087=>634, 8088=>837, 8089=>835, 8090=>1086, 8091=>1089, 8092=>1027, 8093=>1051, 8094=>934, 8095=>947, 8096=>837, 8097=>837,
8098=>837, 8099=>837, 8100=>837, 8101=>837, 8102=>837, 8103=>837, 8104=>802, 8105=>843, 8106=>1089, 8107=>1095, 8108=>946, 8109=>972, 8110=>921, 8111=>952, 8112=>659, 8113=>659,
8114=>659, 8115=>659, 8116=>659, 8118=>659, 8119=>659, 8120=>684, 8121=>684, 8122=>716, 8123=>692, 8124=>684, 8125=>500, 8126=>500, 8127=>500, 8128=>500, 8129=>500, 8130=>634,
8131=>634, 8132=>654, 8134=>634, 8135=>634, 8136=>805, 8137=>746, 8138=>931, 8139=>871, 8140=>752, 8141=>500, 8142=>500, 8143=>500, 8144=>338, 8145=>338, 8146=>338, 8147=>338,
8150=>338, 8151=>338, 8152=>295, 8153=>295, 8154=>475, 8155=>408, 8157=>500, 8158=>500, 8159=>500, 8160=>579, 8161=>579, 8162=>579, 8163=>579, 8164=>635, 8165=>635, 8166=>579,
8167=>579, 8168=>611, 8169=>611, 8170=>845, 8171=>825, 8172=>685, 8173=>500, 8174=>500, 8175=>500, 8178=>837, 8179=>837, 8180=>837, 8182=>837, 8183=>837, 8184=>941, 8185=>813,
8186=>922, 8187=>826, 8188=>764, 8189=>500, 8190=>500, 8192=>500, 8193=>1000, 8194=>500, 8195=>1000, 8196=>330, 8197=>250, 8198=>167, 8199=>636, 8200=>318, 8201=>200, 8202=>100,
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>361, 8209=>361, 8210=>636, 8213=>1000, 8214=>0, 8215=>500, 8219=>318, 8223=>518, 8227=>590, 8228=>333, 8229=>667,
8231=>318, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>200, 8241=>1690, 8242=>227, 8243=>374, 8244=>520, 8245=>227, 8246=>374, 8247=>520, 8248=>339, 8251=>838,
8252=>485, 8253=>531, 8254=>500, 8255=>804, 8256=>804, 8257=>250, 8258=>1000, 8259=>500, 8260=>167, 8261=>390, 8262=>390, 8263=>922, 8264=>733, 8265=>733, 8266=>497, 8267=>636,
8268=>500, 8269=>500, 8270=>500, 8271=>337, 8272=>804, 8273=>500, 8274=>450, 8275=>838, 8276=>804, 8277=>838, 8278=>586, 8279=>663, 8280=>838, 8281=>838, 8282=>318, 8283=>797,
8284=>838, 8285=>318, 8286=>318, 8287=>222, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>401, 8305=>179,
8308=>401, 8309=>401, 8310=>401, 8311=>401, 8312=>401, 8313=>401, 8314=>528, 8315=>528, 8316=>528, 8317=>246, 8318=>246, 8319=>399, 8320=>401, 8321=>401, 8322=>401, 8323=>401,
8324=>401, 8325=>401, 8326=>401, 8327=>401, 8328=>401, 8329=>401, 8330=>528, 8331=>528, 8332=>528, 8333=>246, 8334=>246, 8336=>392, 8337=>417, 8338=>414, 8339=>444, 8340=>417,
8352=>877, 8353=>636, 8354=>636, 8355=>636, 8356=>636, 8357=>974, 8358=>748, 8359=>1271, 8360=>1074, 8361=>989, 8362=>838, 8363=>636, 8365=>656, 8366=>611, 8367=>1272, 8368=>636,
8369=>636, 8370=>636, 8371=>636, 8372=>774, 8373=>641, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>970, 8449=>970, 8450=>698, 8451=>1123, 8452=>896, 8453=>969, 8454=>1032,
8455=>614, 8456=>698, 8457=>952, 8459=>988, 8460=>720, 8461=>850, 8462=>634, 8463=>634, 8464=>470, 8465=>697, 8466=>720, 8467=>413, 8468=>818, 8469=>801, 8470=>1040, 8471=>1000,
8472=>697, 8473=>702, 8474=>787, 8475=>798, 8476=>814, 8477=>792, 8478=>896, 8479=>684, 8480=>1020, 8481=>1014, 8483=>684, 8484=>745, 8485=>578, 8486=>764, 8487=>764, 8488=>616,
8489=>338, 8490=>656, 8491=>684, 8492=>786, 8493=>703, 8494=>854, 8495=>592, 8496=>605, 8497=>786, 8498=>575, 8499=>1069, 8500=>462, 8501=>745, 8502=>674, 8503=>450, 8504=>695,
8505=>380, 8506=>926, 8507=>1157, 8508=>702, 8509=>728, 8510=>655, 8511=>849, 8512=>811, 8513=>775, 8514=>557, 8515=>557, 8516=>611, 8517=>819, 8518=>708, 8519=>615, 8520=>351,
8521=>351, 8523=>780, 8526=>526, 8531=>969, 8532=>969, 8533=>969, 8534=>969, 8535=>969, 8536=>969, 8537=>969, 8538=>969, 8539=>969, 8540=>969, 8541=>969, 8542=>969, 8543=>568,
8544=>295, 8545=>492, 8546=>689, 8547=>923, 8548=>684, 8549=>922, 8550=>1120, 8551=>1317, 8552=>917, 8553=>685, 8554=>933, 8555=>1131, 8556=>557, 8557=>698, 8558=>770, 8559=>863,
8560=>278, 8561=>458, 8562=>637, 8563=>812, 8564=>592, 8565=>811, 8566=>991, 8567=>1170, 8568=>819, 8569=>592, 8570=>822, 8571=>1002, 8572=>278, 8573=>550, 8574=>635, 8575=>974,
8576=>1245, 8577=>770, 8578=>1245, 8579=>703, 8580=>549, 8592=>838, 8593=>838, 8594=>838, 8595=>838, 8596=>838, 8597=>838, 8598=>838, 8599=>838, 8600=>838, 8601=>838, 8602=>838,
8603=>838, 8604=>838, 8605=>838, 8606=>838, 8607=>838, 8608=>838, 8609=>838, 8610=>838, 8611=>838, 8612=>838, 8613=>838, 8614=>838, 8615=>838, 8616=>838, 8617=>838, 8618=>838,
8619=>838, 8620=>838, 8621=>838, 8622=>838, 8623=>838, 8624=>838, 8625=>838, 8626=>838, 8627=>838, 8628=>838, 8629=>838, 8630=>838, 8631=>838, 8632=>838, 8633=>838, 8634=>838,
8635=>838, 8636=>838, 8637=>838, 8638=>838, 8639=>838, 8640=>838, 8641=>838, 8642=>838, 8643=>838, 8644=>838, 8645=>838, 8646=>838, 8647=>838, 8648=>838, 8649=>838, 8650=>838,
8651=>838, 8652=>838, 8653=>838, 8654=>838, 8655=>838, 8656=>838, 8657=>838, 8658=>838, 8659=>838, 8660=>838, 8661=>838, 8662=>838, 8663=>838, 8664=>838, 8665=>838, 8666=>838,
8667=>838, 8668=>838, 8669=>838, 8670=>838, 8671=>838, 8672=>838, 8673=>838, 8674=>838, 8675=>838, 8676=>838, 8677=>838, 8678=>838, 8679=>838, 8680=>838, 8681=>838, 8682=>838,
8683=>838, 8684=>838, 8685=>838, 8686=>838, 8687=>838, 8688=>838, 8689=>838, 8690=>838, 8691=>838, 8692=>838, 8693=>838, 8694=>838, 8695=>838, 8696=>838, 8697=>838, 8698=>838,
8699=>838, 8700=>838, 8701=>838, 8702=>838, 8703=>838, 8704=>684, 8705=>636, 8706=>517, 8707=>632, 8708=>632, 8709=>871, 8710=>669, 8711=>669, 8712=>871, 8713=>871, 8714=>718,
8715=>871, 8716=>871, 8717=>718, 8718=>636, 8719=>757, 8720=>757, 8721=>674, 8722=>838, 8723=>838, 8724=>838, 8725=>167, 8726=>637, 8727=>838, 8728=>626, 8729=>318, 8730=>637,
8731=>637, 8732=>637, 8733=>677, 8734=>833, 8735=>838, 8736=>896, 8737=>896, 8738=>838, 8739=>500, 8740=>500, 8741=>500, 8742=>500, 8743=>732, 8744=>732, 8745=>732, 8746=>732,
8747=>521, 8748=>789, 8749=>1057, 8750=>521, 8751=>789, 8752=>1057, 8753=>521, 8754=>521, 8755=>521, 8756=>636, 8757=>636, 8758=>260, 8759=>636, 8760=>838, 8761=>838, 8762=>838,
8763=>838, 8764=>838, 8765=>838, 8766=>838, 8767=>838, 8768=>375, 8769=>838, 8770=>838, 8771=>838, 8772=>838, 8773=>838, 8774=>838, 8775=>838, 8776=>838, 8777=>838, 8778=>838,
8779=>838, 8780=>838, 8781=>838, 8782=>838, 8783=>838, 8784=>838, 8785=>838, 8786=>838, 8787=>838, 8788=>1000, 8789=>1000, 8790=>838, 8791=>838, 8792=>838, 8793=>838, 8794=>838,
8795=>838, 8796=>838, 8797=>838, 8798=>838, 8799=>838, 8800=>838, 8801=>838, 8802=>838, 8803=>838, 8804=>838, 8805=>838, 8806=>838, 8807=>838, 8808=>838, 8809=>838, 8810=>1047,
8811=>1047, 8812=>464, 8813=>838, 8814=>838, 8815=>838, 8816=>838, 8817=>838, 8818=>838, 8819=>838, 8820=>838, 8821=>838, 8822=>838, 8823=>838, 8824=>838, 8825=>838, 8826=>838,
8827=>838, 8828=>838, 8829=>838, 8830=>838, 8831=>838, 8832=>838, 8833=>838, 8834=>838, 8835=>838, 8836=>838, 8837=>838, 8838=>838, 8839=>838, 8840=>838, 8841=>838, 8842=>838,
8843=>838, 8844=>732, 8845=>732, 8846=>732, 8847=>838, 8848=>838, 8849=>838, 8850=>838, 8851=>722, 8852=>722, 8853=>838, 8854=>838, 8855=>838, 8856=>838, 8857=>838, 8858=>838,
8859=>838, 8860=>838, 8861=>838, 8862=>838, 8863=>838, 8864=>838, 8865=>838, 8866=>871, 8867=>871, 8868=>871, 8869=>871, 8870=>521, 8871=>521, 8872=>871, 8873=>871, 8874=>871,
8875=>871, 8876=>871, 8877=>871, 8878=>871, 8879=>871, 8882=>838, 8883=>838, 8884=>838, 8885=>838, 8886=>1000, 8887=>1000, 8888=>838, 8889=>838, 8890=>521, 8891=>732, 8892=>732,
8893=>732, 8896=>820, 8897=>820, 8898=>820, 8899=>820, 8900=>494, 8901=>318, 8902=>626, 8904=>1000, 8905=>1000, 8906=>1000, 8907=>1000, 8908=>1000, 8909=>838, 8918=>838, 8919=>838,
8920=>1422, 8921=>1422, 8922=>838, 8923=>838, 8924=>838, 8925=>838, 8926=>838, 8927=>838, 8928=>838, 8929=>838, 8930=>838, 8931=>838, 8932=>838, 8933=>838, 8934=>838, 8935=>838,
8936=>838, 8937=>838, 8938=>838, 8939=>838, 8940=>838, 8941=>838, 8946=>1000, 8947=>871, 8948=>718, 8949=>871, 8950=>871, 8951=>718, 8952=>871, 8953=>871, 8954=>1000, 8955=>871,
8956=>718, 8957=>871, 8958=>718, 8959=>871, 8962=>635, 8966=>871, 8968=>390, 8969=>390, 8970=>390, 8971=>390, 8976=>838, 8977=>513, 8984=>1000, 8985=>838, 8992=>521, 8993=>521,
8997=>1000, 9000=>1443, 9085=>757, 9115=>500, 9116=>500, 9117=>500, 9118=>500, 9119=>500, 9120=>500, 9121=>500, 9122=>500, 9123=>500, 9124=>500, 9125=>500, 9126=>500, 9127=>750,
9128=>750, 9129=>750, 9130=>750, 9131=>750, 9132=>750, 9133=>750, 9134=>521, 9166=>838, 9167=>945, 9250=>635, 9251=>635, 9312=>896, 9313=>896, 9314=>896, 9315=>896, 9316=>896,
9317=>896, 9318=>896, 9319=>896, 9320=>896, 9321=>896, 9600=>769, 9601=>769, 9602=>769, 9603=>769, 9604=>769, 9605=>769, 9606=>769, 9607=>769, 9608=>769, 9609=>769, 9610=>769,
9611=>769, 9612=>769, 9613=>769, 9614=>769, 9615=>769, 9616=>769, 9617=>769, 9618=>769, 9619=>769, 9620=>769, 9621=>769, 9622=>769, 9623=>769, 9624=>769, 9625=>769, 9626=>769,
9627=>769, 9628=>769, 9629=>769, 9630=>769, 9631=>769, 9632=>945, 9633=>945, 9634=>945, 9635=>945, 9636=>945, 9637=>945, 9638=>945, 9639=>945, 9640=>945, 9641=>945, 9642=>678,
9643=>678, 9644=>945, 9645=>945, 9646=>550, 9647=>550, 9648=>769, 9649=>769, 9650=>769, 9651=>769, 9652=>502, 9653=>502, 9654=>769, 9655=>769, 9656=>502, 9657=>502, 9658=>769,
9659=>769, 9660=>769, 9661=>769, 9662=>502, 9663=>502, 9664=>769, 9665=>769, 9666=>502, 9667=>502, 9668=>769, 9669=>769, 9670=>769, 9671=>769, 9672=>769, 9673=>873, 9674=>494,
9675=>873, 9676=>873, 9677=>873, 9678=>873, 9679=>873, 9680=>873, 9681=>873, 9682=>873, 9683=>873, 9684=>873, 9685=>873, 9686=>527, 9687=>527, 9688=>791, 9689=>970, 9690=>970,
9691=>970, 9692=>387, 9693=>387, 9694=>387, 9695=>387, 9696=>769, 9697=>769, 9698=>769, 9699=>769, 9700=>769, 9701=>769, 9702=>590, 9703=>945, 9704=>945, 9705=>945, 9706=>945,
9707=>945, 9708=>769, 9709=>769, 9710=>769, 9711=>1119, 9712=>945, 9713=>945, 9714=>945, 9715=>945, 9716=>873, 9717=>873, 9718=>873, 9719=>873, 9720=>769, 9721=>769, 9722=>769,
9723=>830, 9724=>830, 9725=>732, 9726=>732, 9727=>769, 9728=>896, 9729=>1000, 9730=>896, 9731=>896, 9732=>896, 9733=>896, 9734=>896, 9735=>573, 9736=>896, 9737=>896, 9738=>888,
9739=>888, 9740=>671, 9741=>1013, 9742=>1246, 9743=>1250, 9744=>896, 9745=>896, 9746=>896, 9747=>532, 9748=>896, 9749=>896, 9750=>896, 9751=>896, 9752=>896, 9753=>896, 9754=>896,
9755=>896, 9756=>896, 9757=>609, 9758=>896, 9759=>609, 9760=>896, 9761=>896, 9762=>896, 9763=>896, 9764=>669, 9765=>746, 9766=>649, 9767=>784, 9768=>545, 9769=>896, 9770=>896,
9771=>896, 9772=>710, 9773=>896, 9774=>896, 9775=>896, 9776=>896, 9777=>896, 9778=>896, 9779=>896, 9780=>896, 9781=>896, 9782=>896, 9783=>896, 9784=>896, 9785=>896, 9786=>896,
9787=>896, 9788=>896, 9789=>896, 9790=>896, 9791=>614, 9792=>731, 9793=>731, 9794=>896, 9795=>896, 9796=>896, 9797=>896, 9798=>896, 9799=>896, 9800=>896, 9801=>896, 9802=>896,
9803=>896, 9804=>896, 9805=>896, 9806=>896, 9807=>896, 9808=>896, 9809=>896, 9810=>896, 9811=>896, 9812=>896, 9813=>896, 9814=>896, 9815=>896, 9816=>896, 9817=>896, 9818=>896,
9819=>896, 9820=>896, 9821=>896, 9822=>896, 9823=>896, 9824=>896, 9825=>896, 9826=>896, 9827=>896, 9828=>896, 9829=>896, 9830=>896, 9831=>896, 9832=>896, 9833=>472, 9834=>638,
9835=>896, 9836=>896, 9837=>472, 9838=>357, 9839=>484, 9840=>748, 9841=>766, 9842=>896, 9843=>896, 9844=>896, 9845=>896, 9846=>896, 9847=>896, 9848=>896, 9849=>896, 9850=>896,
9851=>896, 9852=>896, 9853=>896, 9854=>896, 9855=>896, 9856=>869, 9857=>869, 9858=>869, 9859=>869, 9860=>869, 9861=>869, 9862=>890, 9863=>890, 9864=>890, 9865=>890, 9866=>890,
9867=>890, 9868=>890, 9869=>890, 9870=>890, 9871=>890, 9872=>750, 9873=>750, 9874=>890, 9875=>816, 9876=>716, 9877=>537, 9878=>852, 9879=>890, 9880=>684, 9881=>890, 9882=>708,
9883=>890, 9884=>890, 9888=>890, 9889=>890, 9890=>838, 9891=>838, 9892=>838, 9893=>838, 9894=>838, 9895=>838, 9896=>838, 9897=>838, 9898=>838, 9899=>838, 9900=>838, 9901=>838,
9902=>838, 9903=>838, 9904=>844, 9905=>838, 9906=>731, 9985=>838, 9986=>838, 9987=>838, 9988=>838, 9990=>838, 9991=>838, 9992=>838, 9993=>838, 9996=>838, 9997=>838, 9998=>838,
9999=>838, 10000=>838, 10001=>838, 10002=>838, 10003=>838, 10004=>838, 10005=>838, 10006=>838, 10007=>838, 10008=>838, 10009=>838, 10010=>838, 10011=>838, 10012=>838, 10013=>838, 10014=>838,
10015=>838, 10016=>838, 10017=>838, 10018=>838, 10019=>838, 10020=>838, 10021=>838, 10022=>838, 10023=>838, 10025=>838, 10026=>838, 10027=>838, 10028=>838, 10029=>838, 10030=>838, 10031=>838,
10032=>838, 10033=>838, 10034=>838, 10035=>838, 10036=>838, 10037=>838, 10038=>838, 10039=>838, 10040=>838, 10041=>838, 10042=>838, 10043=>838, 10044=>838, 10045=>838, 10046=>838, 10047=>838,
10048=>838, 10049=>838, 10050=>838, 10051=>838, 10052=>838, 10053=>838, 10054=>838, 10055=>838, 10056=>838, 10057=>838, 10058=>838, 10059=>838, 10061=>896, 10063=>896, 10064=>896, 10065=>896,
10066=>896, 10070=>896, 10072=>838, 10073=>838, 10074=>838, 10075=>322, 10076=>322, 10077=>538, 10078=>538, 10081=>838, 10082=>838, 10083=>838, 10084=>838, 10085=>838, 10086=>838, 10087=>838,
10088=>838, 10089=>838, 10090=>838, 10091=>838, 10092=>838, 10093=>838, 10094=>838, 10095=>838, 10096=>838, 10097=>838, 10098=>838, 10099=>838, 10100=>838, 10101=>838, 10102=>896, 10103=>896,
10104=>896, 10105=>896, 10106=>896, 10107=>896, 10108=>896, 10109=>896, 10110=>896, 10111=>896, 10112=>838, 10113=>838, 10114=>838, 10115=>838, 10116=>838, 10117=>838, 10118=>838, 10119=>838,
10120=>838, 10121=>838, 10122=>838, 10123=>838, 10124=>838, 10125=>838, 10126=>838, 10127=>838, 10128=>838, 10129=>838, 10130=>838, 10131=>838, 10132=>838, 10136=>838, 10137=>838, 10138=>838,
10139=>838, 10140=>838, 10141=>838, 10142=>838, 10143=>838, 10144=>838, 10145=>838, 10146=>838, 10147=>838, 10148=>838, 10149=>838, 10150=>838, 10151=>838, 10152=>838, 10153=>838, 10154=>838,
10155=>838, 10156=>838, 10157=>838, 10158=>838, 10159=>838, 10161=>838, 10162=>838, 10163=>838, 10164=>838, 10165=>838, 10166=>838, 10167=>838, 10168=>838, 10169=>838, 10170=>838, 10171=>838,
10172=>838, 10173=>838, 10174=>838, 10208=>494, 10214=>495, 10215=>495, 10216=>390, 10217=>390, 10218=>556, 10219=>556, 10224=>838, 10225=>838, 10226=>838, 10227=>838, 10228=>1157, 10229=>1434,
10230=>1434, 10231=>1434, 10232=>1434, 10233=>1434, 10234=>1434, 10235=>1434, 10236=>1434, 10237=>1434, 10238=>1434, 10239=>1434, 10240=>732, 10241=>732, 10242=>732, 10243=>732, 10244=>732, 10245=>732,
10246=>732, 10247=>732, 10248=>732, 10249=>732, 10250=>732, 10251=>732, 10252=>732, 10253=>732, 10254=>732, 10255=>732, 10256=>732, 10257=>732, 10258=>732, 10259=>732, 10260=>732, 10261=>732,
10262=>732, 10263=>732, 10264=>732, 10265=>732, 10266=>732, 10267=>732, 10268=>732, 10269=>732, 10270=>732, 10271=>732, 10272=>732, 10273=>732, 10274=>732, 10275=>732, 10276=>732, 10277=>732,
10278=>732, 10279=>732, 10280=>732, 10281=>732, 10282=>732, 10283=>732, 10284=>732, 10285=>732, 10286=>732, 10287=>732, 10288=>732, 10289=>732, 10290=>732, 10291=>732, 10292=>732, 10293=>732,
10294=>732, 10295=>732, 10296=>732, 10297=>732, 10298=>732, 10299=>732, 10300=>732, 10301=>732, 10302=>732, 10303=>732, 10304=>732, 10305=>732, 10306=>732, 10307=>732, 10308=>732, 10309=>732,
10310=>732, 10311=>732, 10312=>732, 10313=>732, 10314=>732, 10315=>732, 10316=>732, 10317=>732, 10318=>732, 10319=>732, 10320=>732, 10321=>732, 10322=>732, 10323=>732, 10324=>732, 10325=>732,
10326=>732, 10327=>732, 10328=>732, 10329=>732, 10330=>732, 10331=>732, 10332=>732, 10333=>732, 10334=>732, 10335=>732, 10336=>732, 10337=>732, 10338=>732, 10339=>732, 10340=>732, 10341=>732,
10342=>732, 10343=>732, 10344=>732, 10345=>732, 10346=>732, 10347=>732, 10348=>732, 10349=>732, 10350=>732, 10351=>732, 10352=>732, 10353=>732, 10354=>732, 10355=>732, 10356=>732, 10357=>732,
10358=>732, 10359=>732, 10360=>732, 10361=>732, 10362=>732, 10363=>732, 10364=>732, 10365=>732, 10366=>732, 10367=>732, 10368=>732, 10369=>732, 10370=>732, 10371=>732, 10372=>732, 10373=>732,
10374=>732, 10375=>732, 10376=>732, 10377=>732, 10378=>732, 10379=>732, 10380=>732, 10381=>732, 10382=>732, 10383=>732, 10384=>732, 10385=>732, 10386=>732, 10387=>732, 10388=>732, 10389=>732,
10390=>732, 10391=>732, 10392=>732, 10393=>732, 10394=>732, 10395=>732, 10396=>732, 10397=>732, 10398=>732, 10399=>732, 10400=>732, 10401=>732, 10402=>732, 10403=>732, 10404=>732, 10405=>732,
10406=>732, 10407=>732, 10408=>732, 10409=>732, 10410=>732, 10411=>732, 10412=>732, 10413=>732, 10414=>732, 10415=>732, 10416=>732, 10417=>732, 10418=>732, 10419=>732, 10420=>732, 10421=>732,
10422=>732, 10423=>732, 10424=>732, 10425=>732, 10426=>732, 10427=>732, 10428=>732, 10429=>732, 10430=>732, 10431=>732, 10432=>732, 10433=>732, 10434=>732, 10435=>732, 10436=>732, 10437=>732,
10438=>732, 10439=>732, 10440=>732, 10441=>732, 10442=>732, 10443=>732, 10444=>732, 10445=>732, 10446=>732, 10447=>732, 10448=>732, 10449=>732, 10450=>732, 10451=>732, 10452=>732, 10453=>732,
10454=>732, 10455=>732, 10456=>732, 10457=>732, 10458=>732, 10459=>732, 10460=>732, 10461=>732, 10462=>732, 10463=>732, 10464=>732, 10465=>732, 10466=>732, 10467=>732, 10468=>732, 10469=>732,
10470=>732, 10471=>732, 10472=>732, 10473=>732, 10474=>732, 10475=>732, 10476=>732, 10477=>732, 10478=>732, 10479=>732, 10480=>732, 10481=>732, 10482=>732, 10483=>732, 10484=>732, 10485=>732,
10486=>732, 10487=>732, 10488=>732, 10489=>732, 10490=>732, 10491=>732, 10492=>732, 10493=>732, 10494=>732, 10495=>732, 10502=>838, 10503=>838, 10506=>838, 10507=>838, 10560=>683, 10561=>683,
10702=>838, 10703=>1000, 10704=>1000, 10705=>1000, 10706=>1000, 10707=>1000, 10708=>1000, 10709=>1000, 10731=>494, 10752=>1000, 10753=>1000, 10754=>1000, 10764=>1325, 10765=>521, 10766=>521, 10767=>521,
10768=>521, 10769=>521, 10770=>521, 10771=>521, 10772=>521, 10773=>521, 10774=>521, 10775=>521, 10776=>521, 10777=>521, 10778=>521, 10779=>521, 10780=>521, 10877=>838, 10878=>838, 10879=>838,
10880=>838, 10881=>838, 10882=>838, 10883=>838, 10884=>838, 10885=>838, 10886=>838, 10887=>838, 10888=>838, 10889=>838, 10890=>838, 10891=>838, 10892=>838, 10893=>838, 10894=>838, 10895=>838,
10896=>838, 10897=>838, 10898=>838, 10899=>838, 10900=>838, 10901=>838, 10902=>838, 10903=>838, 10904=>838, 10905=>838, 10906=>838, 10907=>838, 10908=>838, 10909=>838, 10910=>838, 10911=>838,
10912=>838, 10926=>838, 10927=>838, 10928=>838, 10929=>838, 10930=>838, 10931=>838, 10932=>838, 10933=>838, 10934=>838, 10935=>838, 10936=>838, 10937=>838, 10938=>838, 11001=>838, 11002=>838,
11008=>838, 11009=>838, 11010=>838, 11011=>838, 11012=>838, 11013=>838, 11014=>838, 11015=>838, 11016=>838, 11017=>838, 11018=>838, 11019=>838, 11020=>838, 11021=>838, 11022=>836, 11023=>836,
11024=>836, 11025=>836, 11026=>945, 11027=>945, 11028=>945, 11029=>945, 11030=>769, 11031=>769, 11032=>769, 11033=>769, 11034=>945, 11040=>869, 11041=>873, 11042=>873, 11043=>873, 11360=>557,
11361=>278, 11362=>557, 11363=>603, 11364=>695, 11365=>613, 11366=>392, 11367=>752, 11368=>634, 11369=>656, 11370=>579, 11371=>685, 11372=>525, 11380=>592, 11381=>654, 11382=>568, 11383=>660,
61960=>781, 62047=>592, 63173=>612, 64256=>722, 64257=>646, 64258=>646, 64259=>1000, 64260=>1000, 64261=>686, 64262=>861, 64275=>1202, 64276=>1202, 64277=>1196, 64278=>1186, 64279=>1529, 64285=>296,
64287=>494, 64288=>636, 64297=>838, 64298=>799, 64299=>799, 64300=>799, 64301=>799, 64302=>663, 64303=>663, 64304=>663, 64305=>655, 64306=>454, 64307=>607, 64308=>690, 64309=>336, 64310=>437,
64311=>1000, 64312=>683, 64313=>336, 64314=>642, 64315=>666, 64316=>635, 64318=>736, 64320=>456, 64321=>771, 64323=>651, 64324=>666, 64326=>639, 64327=>688, 64328=>642, 64329=>799, 64330=>726,
64331=>272, 64332=>655, 64333=>666, 64334=>666, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0,
65036=>0, 65037=>0, 65038=>0, 65039=>0, 65533=>1025);
$enc='';
$diff='';
$file='DejaVuSans-Oblique.z';
$ctg='DejaVuSans-Oblique.ctg.z';
$originalsize=461680;
?>