MaxSem has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/324816

Change subject: Convert to new array syntax
......................................................................

Convert to new array syntax

Change-Id: Ief04ee0d01ef4877def3daa5e62da21b494f44d3
---
M HieroTokenizer.php
M SpecialHieroglyphs.php
M data/tables.php
M generateTables.php
M wikihiero.body.php
5 files changed, 1,052 insertions(+), 1,052 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/wikihiero 
refs/changes/16/324816/1

diff --git a/HieroTokenizer.php b/HieroTokenizer.php
index e1f5cc7..6e97510 100644
--- a/HieroTokenizer.php
+++ b/HieroTokenizer.php
@@ -46,9 +46,9 @@
                        return;
                }
 
-               self::$delimiters = array_flip( array( ' ', '-', "\t", "\n", 
"\r" ) );
-               self::$tokenDelimiters = array_flip( array( '*', ':', '(', ')' 
) );
-               self::$singleChars = array_flip( array( '!' ) );
+               self::$delimiters = array_flip( [ ' ', '-', "\t", "\n", "\r" ] 
);
+               self::$tokenDelimiters = array_flip( [ '*', ':', '(', ')' ] );
+               self::$singleChars = array_flip( [ '!' ] );
        }
 
        /**
@@ -61,8 +61,8 @@
                        return $this->blocks;
                }
 
-               $this->blocks = array();
-               $this->currentBlock = array();
+               $this->blocks = [];
+               $this->currentBlock = [];
                $this->token = '';
 
                $text = preg_replace( '/\\<!--.*?--\\>/s', '', $this->text ); 
// remove HTML comments
@@ -95,7 +95,7 @@
                $this->newToken();
                if ( $this->currentBlock ) {
                        $this->blocks[] = $this->currentBlock;
-                       $this->currentBlock = array();
+                       $this->currentBlock = [];
                }
        }
 
@@ -121,7 +121,7 @@
         */
        private function singleCharBlock( $char ) {
                $this->newBlock();
-               $this->blocks[] = array( $char );
+               $this->blocks[] = [ $char ];
        }
 
        /**
diff --git a/SpecialHieroglyphs.php b/SpecialHieroglyphs.php
index 0861875..9cd1971 100644
--- a/SpecialHieroglyphs.php
+++ b/SpecialHieroglyphs.php
@@ -25,22 +25,22 @@
         * @var WikiHiero $hiero
         */
        private $hiero;
-       private $syntaxHelp = array(
-               array( 'code' => '-', 'message' => 'wikihiero-separator', 
'example' => 'A1 - B1' ),
-               array( 'code' => ':', 'message' => 'wikihiero-superposition', 
'example' => 'p:t' ),
-               array( 'code' => '*', 'message' => 'wikihiero-juxtaposition', 
'example' => 'p*t' ),
-               array( 'code' => '!', 'message' => 'wikihiero-eol', 'example' 
=> 'A1-B1 ! C1-D1' ),
-               array( 'code' => '\\', 'message' => 'wikihiero-mirror', 
'example' => 'A1\-A1' ),
-               array( 'code' => '..', 'message' => 'wikihiero-void', 'example' 
=> 'A1 .. B1' ),
-               array( 'code' => '.', 'message' => 'wikihiero-half-void', 
'example' => 'A1 . B1' ),
-               array( 'code' => '<!-- -->', 'message' => 'wikihiero-comment', 
'example' => 'A<!-- B1 -->1' ),
-       );
-       private $helpColumns = array(
+       private $syntaxHelp = [
+               [ 'code' => '-', 'message' => 'wikihiero-separator', 'example' 
=> 'A1 - B1' ],
+               [ 'code' => ':', 'message' => 'wikihiero-superposition', 
'example' => 'p:t' ],
+               [ 'code' => '*', 'message' => 'wikihiero-juxtaposition', 
'example' => 'p*t' ],
+               [ 'code' => '!', 'message' => 'wikihiero-eol', 'example' => 
'A1-B1 ! C1-D1' ],
+               [ 'code' => '\\', 'message' => 'wikihiero-mirror', 'example' => 
'A1\-A1' ],
+               [ 'code' => '..', 'message' => 'wikihiero-void', 'example' => 
'A1 .. B1' ],
+               [ 'code' => '.', 'message' => 'wikihiero-half-void', 'example' 
=> 'A1 . B1' ],
+               [ 'code' => '<!-- -->', 'message' => 'wikihiero-comment', 
'example' => 'A<!-- B1 -->1' ],
+       ];
+       private $helpColumns = [
                'code',
                'meaning',
                'example',
                'result',
-       );
+       ];
 
        public function __construct() {
                parent::__construct( 'Hieroglyphs' );
@@ -70,18 +70,18 @@
 
                $out->addHTML(
                        Html::openElement( 'form',
-                               array(
+                               [
                                        'method' => 'get',
                                        'action' => 
$this->getPageTitle()->getLinkUrl(),
-                               )
+                               ]
                        )
-                       . Html::element( 'textarea', array( 'id' => 
'hiero-text', 'name' => 'text' ), $text )
-                       . Html::element( 'input', array(
+                       . Html::element( 'textarea', [ 'id' => 'hiero-text', 
'name' => 'text' ], $text )
+                       . Html::element( 'input', [
                                'type' => 'submit',
                                'id' => 'hiero-submit',
                                'name' => 'submit',
                                'value' => $this->msg( 'wikihiero-submit' 
)->text(),
-                       ) )
+                       ] )
                        . Html::closeElement( 'form' )
                );
 
@@ -168,7 +168,7 @@
                $syntax = wfMessage( 'wikihiero-syntax' )->text();
                $html .= '<tr><td colspan="5">'
                                . Html::element( 'a',
-                                       array( 'href' => "#syntax", 'title' => 
$syntax ),
+                                       [ 'href' => "#syntax", 'title' => 
$syntax ],
                                        $syntax
                                )
                                . '</td></tr>';
@@ -181,7 +181,7 @@
                        }
                        $html .= '<td>'
                                . Html::element( 'a',
-                                       array( 'href' => "#cat-$cat", 'title' 
=> wfMessage( "wikihiero-category-$cat" )->text() ),
+                                       [ 'href' => "#cat-$cat", 'title' => 
wfMessage( "wikihiero-category-$cat" )->text() ],
                                        $cat
                                )
                                . '</td>';
@@ -192,7 +192,7 @@
                }
                $html .= '<tr><td colspan="5">'
                                . Html::element( 'a',
-                                       array( 'href' => "#cat-$end", 'title' 
=> wfMessage( "wikihiero-category-$end" )->text() ),
+                                       [ 'href' => "#cat-$end", 'title' => 
wfMessage( "wikihiero-category-$end" )->text() ],
                                        $end
                                )
                                . '</td></tr></table>';
@@ -203,7 +203,7 @@
         * Returns an array with hieroglyph categories from Gardiner's list
         */
        private function getCategories() {
-               $res = array();
+               $res = [];
                for ( $i = ord( 'A' ); $i <= ord( 'Z' ); $i++ ) {
                        if ( $i != ord( 'J' ) ) {
                                $res[] = chr( $i );
diff --git a/data/tables.php b/data/tables.php
index 9980ad0..8ffe9dd 100644
--- a/data/tables.php
+++ b/data/tables.php
@@ -1,9 +1,9 @@
 <?php
 
-// File created by generateTables.php version 
8860f200cd7a6cf121b38344e753b4ddaf98ec3d
-// on 2016-12-01 at 21:59
+// File created by generateTables.php version 
621a336fbaa3622837ab88231c9d1d664956d039
+// on 2016-12-01 at 22:04
 
-$wh_prefabs = array(
+$wh_prefabs = [
   "a&A1",
   "a&b&t",
   "a&D",
@@ -117,1008 +117,1008 @@
   "z&X&k",
   "z&x&r",
   "Z6&A1",
-);
+];
 
-$wh_files   = array(
-  "a&A1" => array( 37, 38 ),
-  "a&b&t" => array( 37, 38 ),
-  "a&D" => array( 37, 38 ),
-  "a&F51a&Z2" => array( 38, 38 ),
-  "a&n&D" => array( 37, 38 ),
-  "a&r&t" => array( 45, 38 ),
-  "a&t&x" => array( 37, 38 ),
-  "A&t" => array( 38, 38 ),
-  "A1&n" => array( 37, 38 ),
-  "A1&r" => array( 38, 38 ),
-  "A1" => array( 29, 38 ),
-  "A10" => array( 38, 38 ),
-  "A11" => array( 26, 38 ),
-  "A113" => array( 32, 38 ),
-  "A12" => array( 25, 38 ),
-  "A12D" => array( 28, 38 ),
-  "A13" => array( 30, 38 ),
-  "A14" => array( 36, 34 ),
-  "A14A" => array( 35, 38 ),
-  "A15" => array( 38, 21 ),
-  "A16" => array( 25, 38 ),
-  "A17" => array( 29, 38 ),
-  "A17A" => array( 36, 38 ),
-  "A18" => array( 24, 38 ),
-  "A19" => array( 24, 38 ),
-  "A1s" => array( 22, 27 ),
-  "A2" => array( 27, 38 ),
-  "A20" => array( 28, 38 ),
-  "A21" => array( 24, 38 ),
-  "A21A" => array( 24, 38 ),
-  "A22" => array( 26, 38 ),
-  "A23" => array( 24, 38 ),
-  "A24" => array( 23, 38 ),
-  "A25" => array( 32, 38 ),
-  "A25A" => array( 30, 38 ),
-  "A25as" => array( 21, 27 ),
-  "A26" => array( 27, 38 ),
-  "A27" => array( 25, 38 ),
-  "A28" => array( 24, 38 ),
-  "A29" => array( 22, 38 ),
-  "A2s" => array( 20, 27 ),
-  "A3" => array( 28, 38 ),
-  "A30" => array( 21, 38 ),
-  "A31" => array( 22, 38 ),
-  "A316" => array( 33, 38 ),
-  "A32" => array( 22, 38 ),
-  "A33" => array( 23, 38 ),
-  "A335" => array( 27, 38 ),
-  "A34" => array( 24, 38 ),
-  "A347" => array( 20, 38 ),
-  "A35" => array( 30, 38 ),
-  "A36" => array( 37, 38 ),
-  "A37" => array( 37, 38 ),
-  "A38" => array( 36, 38 ),
-  "A39" => array( 44, 38 ),
-  "A4" => array( 29, 38 ),
-  "A40" => array( 24, 36 ),
-  "A40s" => array( 18, 27 ),
-  "A41" => array( 22, 38 ),
-  "A42" => array( 30, 38 ),
-  "A43" => array( 20, 38 ),
-  "A44" => array( 32, 37 ),
-  "A45" => array( 22, 37 ),
-  "A46" => array( 30, 38 ),
-  "A47" => array( 32, 38 ),
-  "A48" => array( 26, 38 ),
-  "A49" => array( 25, 38 ),
-  "A5" => array( 27, 36 ),
-  "A50" => array( 30, 38 ),
-  "A51" => array( 30, 38 ),
-  "A52" => array( 35, 38 ),
-  "A53" => array( 12, 38 ),
-  "A54" => array( 38, 11 ),
-  "A55" => array( 38, 26 ),
-  "A56" => array( 35, 38 ),
-  "A59" => array( 27, 38 ),
-  "A6" => array( 32, 38 ),
-  "A7" => array( 38, 38 ),
-  "A8" => array( 27, 38 ),
-  "A9" => array( 24, 38 ),
-  "Aa1" => array( 18, 18 ),
-  "Aa10" => array( 37, 8 ),
-  "Aa11" => array( 38, 7 ),
-  "Aa12" => array( 33, 5 ),
-  "Aa13" => array( 37, 8 ),
-  "Aa14" => array( 37, 12 ),
-  "Aa15" => array( 36, 10 ),
-  "Aa16&m" => array( 24, 38 ),
-  "Aa16" => array( 23, 11 ),
-  "Aa17" => array( 22, 18 ),
-  "Aa18" => array( 25, 29 ),
-  "Aa19" => array( 23, 26 ),
-  "Aa2" => array( 20, 20 ),
-  "Aa20" => array( 11, 38 ),
-  "Aa21" => array( 14, 38 ),
-  "Aa22" => array( 38, 38 ),
-  "Aa23" => array( 38, 25 ),
-  "Aa24" => array( 38, 17 ),
-  "Aa25" => array( 27, 38 ),
-  "Aa26" => array( 13, 38 ),
-  "Aa27" => array( 16, 38 ),
-  "Aa28" => array( 8, 38 ),
-  "Aa29" => array( 8, 38 ),
-  "Aa3" => array( 27, 20 ),
-  "Aa30" => array( 9, 38 ),
-  "Aa30A" => array( 38, 9 ),
-  "Aa31" => array( 17, 38 ),
-  "Aa32" => array( 9, 38 ),
-  "Aa4" => array( 28, 18 ),
-  "Aa40" => array( 37, 38 ),
-  "Aa41" => array( 38, 38 ),
-  "Aa5" => array( 32, 32 ),
-  "Aa6" => array( 37, 17 ),
-  "Aa7" => array( 36, 15 ),
-  "Aa8&D" => array( 38, 38 ),
-  "Aa8" => array( 38, 8 ),
-  "Aa9" => array( 36, 8 ),
-  "b&Hb" => array( 38, 38 ),
-  "b&t" => array( 18, 38 ),
-  "B1" => array( 23, 38 ),
-  "B10" => array( 24, 38 ),
-  "B11" => array( 26, 38 ),
-  "B12" => array( 36, 38 ),
-  "B1s" => array( 16, 27 ),
-  "B2&Z2" => array( 36, 38 ),
-  "B2" => array( 26, 38 ),
-  "B23B" => array( 26, 38 ),
-  "B3" => array( 25, 38 ),
-  "B4" => array( 21, 38 ),
-  "B5" => array( 27, 38 ),
-  "B6" => array( 27, 38 ),
-  "B7" => array( 32, 38 ),
-  "B8" => array( 25, 38 ),
-  "B9" => array( 28, 38 ),
-  "bA&k" => array( 38, 38 ),
-  "Ba14" => array( 8, 40 ),
-  "Ba14a" => array( 8, 40 ),
-  "Ba14as" => array( 6, 20 ),
-  "Ba14s" => array( 6, 20 ),
-  "Ba15" => array( 8, 40 ),
-  "Ba15a" => array( 8, 40 ),
-  "Ba15as" => array( 6, 20 ),
-  "Ba15s" => array( 6, 20 ),
-  "Ba16" => array( 11, 40 ),
-  "Ba16a" => array( 11, 40 ),
-  "Ba16as" => array( 6, 20 ),
-  "Ba16s" => array( 6, 20 ),
-  "Ba17" => array( 8, 40 ),
-  "Ba17a" => array( 8, 40 ),
-  "Ba17as" => array( 7, 20 ),
-  "Ba17s" => array( 7, 20 ),
-  "Ba18" => array( 8, 40 ),
-  "Ba18a" => array( 8, 40 ),
-  "Ba18as" => array( 6, 20 ),
-  "Ba18s" => array( 6, 20 ),
-  "Ba19" => array( 6, 40 ),
-  "Ba19a" => array( 6, 40 ),
-  "Ba19as" => array( 4, 20 ),
-  "Ba19s" => array( 4, 20 ),
-  "BLACKDOT" => array( 12, 12 ),
-  "C1" => array( 20, 38 ),
-  "C10" => array( 18, 38 ),
-  "C11" => array( 30, 38 ),
-  "C12" => array( 20, 38 ),
-  "C17" => array( 21, 38 ),
-  "C18" => array( 23, 38 ),
-  "C19" => array( 13, 38 ),
-  "C2" => array( 25, 38 ),
-  "C20" => array( 18, 38 ),
-  "C3" => array( 21, 38 ),
-  "C4" => array( 33, 38 ),
-  "C5" => array( 33, 38 ),
-  "C6" => array( 20, 38 ),
-  "C7" => array( 19, 38 ),
-  "C8" => array( 22, 38 ),
-  "C9" => array( 20, 38 ),
-  "Ca0" => array( 5, 50 ),
-  "Ca1" => array( 14, 48 ),
-  "Ca1a" => array( 14, 50 ),
-  "Ca2" => array( 16, 50 ),
-  "Ca2a" => array( 16, 48 ),
-  "Cah1" => array( 5, 48 ),
-  "Cah1a" => array( 5, 50 ),
-  "Cah2" => array( 14, 48 ),
-  "Cah2a" => array( 14, 50 ),
-  "Cah3" => array( 14, 48 ),
-  "Cah3a" => array( 14, 50 ),
-  "D&d&t" => array( 35, 38 ),
-  "D&d" => array( 35, 38 ),
-  "D&ra" => array( 35, 38 ),
-  "D&t&N17" => array( 35, 38 ),
-  "D&t&tA" => array( 35, 38 ),
-  "D&t" => array( 35, 38 ),
-  "d&w" => array( 37, 38 ),
-  "D&z&f" => array( 37, 38 ),
-  "D&z" => array( 35, 38 ),
-  "D1" => array( 20, 19 ),
-  "D10" => array( 38, 30 ),
-  "D11" => array( 18, 18 ),
-  "D12" => array( 14, 14 ),
-  "D13" => array( 38, 6 ),
-  "D14" => array( 32, 16 ),
-  "D15" => array( 33, 14 ),
-  "D16" => array( 7, 25 ),
-  "D17" => array( 32, 21 ),
-  "D18" => array( 19, 24 ),
-  "D19" => array( 25, 26 ),
-  "D2" => array( 17, 18 ),
-  "D20" => array( 25, 25 ),
-  "D21" => array( 38, 11 ),
-  "D22" => array( 38, 18 ),
-  "D23" => array( 38, 30 ),
-  "D24" => array( 38, 8 ),
-  "D25" => array( 35, 14 ),
-  "D26" => array( 27, 24 ),
-  "D27" => array( 20, 14 ),
-  "D27A" => array( 20, 18 ),
-  "D28" => array( 24, 24 ),
-  "D29" => array( 27, 36 ),
-  "D3" => array( 37, 20 ),
-  "D30" => array( 26, 36 ),
-  "D31" => array( 21, 38 ),
-  "D32" => array( 21, 34 ),
-  "D33" => array( 34, 32 ),
-  "D34" => array( 34, 28 ),
-  "D34A" => array( 38, 32 ),
-  "D35" => array( 37, 8 ),
-  "D36" => array( 37, 12 ),
-  "D37" => array( 37, 12 ),
-  "D38" => array( 37, 12 ),
-  "D39" => array( 37, 12 ),
-  "D4" => array( 38, 12 ),
-  "D40" => array( 37, 12 ),
-  "D41" => array( 37, 12 ),
-  "D42" => array( 37, 12 ),
-  "D43" => array( 38, 15 ),
-  "D44" => array( 38, 18 ),
-  "D45" => array( 36, 24 ),
-  "D46" => array( 37, 12 ),
-  "D46A" => array( 38, 18 ),
-  "D47" => array( 38, 9 ),
-  "D48" => array( 38, 9 ),
-  "D49" => array( 27, 16 ),
-  "D5" => array( 37, 11 ),
-  "D50" => array( 8, 38 ),
-  "D51" => array( 38, 8 ),
-  "D52&t&r" => array( 38, 38 ),
-  "D52" => array( 36, 12 ),
-  "D53" => array( 38, 14 ),
-  "D54" => array( 22, 18 ),
-  "D55" => array( 22, 18 ),
-  "D56" => array( 16, 34 ),
-  "D57" => array( 38, 32 ),
-  "D58" => array( 22, 35 ),
-  "D58s" => array( 16, 27 ),
-  "D59" => array( 38, 36 ),
-  "D6" => array( 37, 14 ),
-  "D60" => array( 27, 38 ),
-  "D61" => array( 38, 28 ),
-  "D62" => array( 37, 28 ),
-  "D63" => array( 34, 33 ),
-  "D7" => array( 36, 13 ),
-  "D8" => array( 38, 12 ),
-  "D9" => array( 38, 22 ),
-  "E1" => array( 38, 30 ),
-  "E10" => array( 38, 27 ),
-  "E11" => array( 36, 27 ),
-  "E12" => array( 38, 22 ),
-  "E13" => array( 27, 38 ),
-  "E14" => array( 36, 30 ),
-  "E15" => array( 38, 32 ),
-  "E16" => array( 38, 38 ),
-  "E17" => array( 44, 38 ),
-  "E18" => array( 38, 36 ),
-  "E19" => array( 33, 38 ),
-  "E2" => array( 38, 27 ),
-  "E20" => array( 38, 38 ),
-  "E21" => array( 42, 23 ),
-  "E22" => array( 38, 21 ),
-  "E23" => array( 38, 15 ),
-  "E24" => array( 49, 20 ),
-  "E25" => array( 38, 22 ),
-  "E26" => array( 38, 29 ),
-  "E27" => array( 22, 38 ),
-  "E28" => array( 36, 38 ),
-  "E29" => array( 32, 38 ),
-  "E3" => array( 38, 29 ),
-  "E30" => array( 34, 38 ),
-  "E31" => array( 36, 36 ),
-  "E32" => array( 31, 25 ),
-  "E33" => array( 32, 24 ),
-  "E34" => array( 38, 24 ),
-  "E4" => array( 41, 38 ),
-  "E5" => array( 38, 27 ),
-  "E6" => array( 36, 36 ),
-  "E7" => array( 34, 32 ),
-  "E8" => array( 38, 31 ),
-  "E8A" => array( 32, 38 ),
-  "E9" => array( 38, 28 ),
-  "f&n&d" => array( 37, 38 ),
-  "f&r&t" => array( 38, 38 ),
-  "F1" => array( 18, 18 ),
-  "F10" => array( 15, 38 ),
-  "F11" => array( 18, 36 ),
-  "F12" => array( 14, 38 ),
-  "F13" => array( 32, 24 ),
-  "F14" => array( 36, 38 ),
-  "F15" => array( 36, 38 ),
-  "F16" => array( 38, 23 ),
-  "F17" => array( 38, 38 ),
-  "F18" => array( 38, 11 ),
-  "F19" => array( 38, 19 ),
-  "F2" => array( 38, 34 ),
-  "F20" => array( 38, 28 ),
-  "F21" => array( 24, 19 ),
-  "F22" => array( 26, 20 ),
-  "F23" => array( 38, 14 ),
-  "F24" => array( 38, 14 ),
-  "F25" => array( 12, 38 ),
-  "F26" => array( 37, 25 ),
-  "F27" => array( 18, 38 ),
-  "F28" => array( 18, 38 ),
-  "F29" => array( 34, 38 ),
-  "F3" => array( 36, 24 ),
-  "F30" => array( 38, 27 ),
-  "F31" => array( 18, 37 ),
-  "F31s" => array( 14, 27 ),
-  "F32" => array( 38, 9 ),
-  "F33" => array( 36, 22 ),
-  "F34" => array( 18, 17 ),
-  "F35" => array( 12, 38 ),
-  "F36" => array( 13, 37 ),
-  "F37" => array( 38, 21 ),
-  "F37B" => array( 32, 19 ),
-  "F38" => array( 22, 15 ),
-  "F39&Z1" => array( 31, 38 ),
-  "F39" => array( 31, 31 ),
-  "F4" => array( 38, 23 ),
-  "F40" => array( 38, 31 ),
-  "F41" => array( 25, 24 ),
-  "F42" => array( 36, 11 ),
-  "F43" => array( 18, 20 ),
-  "F44" => array( 36, 18 ),
-  "F45" => array( 20, 38 ),
-  "F46" => array( 35, 11 ),
-  "F47" => array( 35, 11 ),
-  "F48" => array( 35, 12 ),
-  "F49" => array( 35, 12 ),
-  "F5" => array( 30, 38 ),
-  "F50" => array( 35, 38 ),
-  "F51" => array( 14, 17 ),
-  "F51A" => array( 17, 14 ),
-  "F51B" => array( 17, 14 ),
-  "F52" => array( 15, 20 ),
-  "F6" => array( 32, 35 ),
-  "F7" => array( 37, 28 ),
-  "F8" => array( 36, 38 ),
-  "F9" => array( 18, 26 ),
-  "G1" => array( 35, 38 ),
-  "G10" => array( 38, 38 ),
-  "G11" => array( 34, 18 ),
-  "G12" => array( 34, 21 ),
-  "G13" => array( 35, 30 ),
-  "G14&t" => array( 38, 38 ),
-  "G14" => array( 35, 38 ),
-  "G15" => array( 35, 38 ),
-  "G16" => array( 41, 38 ),
-  "G17" => array( 35, 38 ),
-  "G17s" => array( 24, 27 ),
-  "G18" => array( 46, 38 ),
-  "G19" => array( 38, 38 ),
-  "G1s" => array( 25, 27 ),
-  "G2" => array( 41, 37 ),
-  "G20" => array( 38, 38 ),
-  "G21" => array( 36, 38 ),
-  "G22" => array( 38, 31 ),
-  "G23" => array( 42, 38 ),
-  "G24" => array( 38, 25 ),
-  "G25" => array( 38, 38 ),
-  "G26" => array( 36, 38 ),
-  "G26A" => array( 38, 38 ),
-  "G27" => array( 37, 27 ),
-  "G28" => array( 40, 22 ),
-  "G29" => array( 36, 38 ),
-  "G3" => array( 38, 38 ),
-  "G30" => array( 52, 38 ),
-  "G31" => array( 38, 38 ),
-  "G32" => array( 37, 38 ),
-  "G33" => array( 38, 38 ),
-  "G34" => array( 29, 38 ),
-  "G35" => array( 38, 31 ),
-  "G36" => array( 38, 25 ),
-  "G37" => array( 38, 28 ),
-  "G38" => array( 38, 38 ),
-  "G39" => array( 38, 38 ),
-  "G4" => array( 36, 38 ),
-  "G40" => array( 38, 34 ),
-  "G41" => array( 38, 34 ),
-  "G42" => array( 42, 29 ),
-  "G43" => array( 27, 38 ),
-  "G43s" => array( 18, 28 ),
-  "G44" => array( 34, 38 ),
-  "G45" => array( 38, 38 ),
-  "G46" => array( 28, 38 ),
-  "G47" => array( 32, 38 ),
-  "G48" => array( 44, 27 ),
-  "G49" => array( 38, 20 ),
-  "G5" => array( 35, 38 ),
-  "G50" => array( 38, 28 ),
-  "G51" => array( 37, 30 ),
-  "G52" => array( 38, 22 ),
-  "G53" => array( 35, 36 ),
-  "G54" => array( 37, 31 ),
-  "G5s" => array( 25, 27 ),
-  "G6" => array( 35, 38 ),
-  "G7" => array( 27, 38 ),
-  "G7A" => array( 43, 38 ),
-  "G7AA" => array( 32, 38 ),
-  "G8" => array( 29, 38 ),
-  "G9" => array( 30, 38 ),
-  "H1" => array( 18, 20 ),
-  "H2" => array( 38, 27 ),
-  "H3" => array( 19, 24 ),
-  "H4" => array( 12, 19 ),
-  "H5" => array( 37, 11 ),
-  "H6" => array( 11, 38 ),
-  "H6A" => array( 17, 38 ),
-  "H7" => array( 34, 32 ),
-  "H8" => array( 15, 18 ),
-  "H8W" => array( 37, 38 ),
-  "H_HASH" => array( 38, 16 ),
-  "H_SPACE" => array( 5, 15 ),
-  "HASH" => array( 30, 38 ),
-  "hatching" => array( 75, 46 ),
-  "Hmw&kA" => array( 24, 38 ),
-  "I1" => array( 36, 33 ),
-  "I10" => array( 35, 38 ),
-  "I11" => array( 36, 38 ),
-  "I12" => array( 21, 38 ),
-  "I13" => array( 21, 38 ),
-  "I14" => array( 38, 16 ),
-  "I15" => array( 36, 20 ),
-  "I1S" => array( 35, 25 ),
-  "I2" => array( 38, 23 ),
-  "I3" => array( 41, 12 ),
-  "I4" => array( 37, 31 ),
-  "I5" => array( 37, 20 ),
-  "I5A" => array( 37, 11 ),
-  "I6" => array( 27, 17 ),
-  "I7" => array( 36, 28 ),
-  "I8" => array( 28, 38 ),
-  "I9" => array( 38, 12 ),
-  "ini&n&n" => array( 37, 38 ),
-  "ini&n" => array( 37, 38 ),
-  "ir&n&f" => array( 37, 38 ),
-  "ir&n&k" => array( 37, 38 ),
-  "ir&r&f" => array( 38, 38 ),
-  "ir&t&f" => array( 38, 38 ),
-  "ir&t&n" => array( 37, 38 ),
-  "K1" => array( 38, 19 ),
-  "K2" => array( 37, 16 ),
-  "K3" => array( 38, 15 ),
-  "K4" => array( 42, 19 ),
-  "K5" => array( 38, 13 ),
-  "K6" => array( 20, 27 ),
-  "K7" => array( 31, 30 ),
-  "L1" => array( 24, 36 ),
-  "L2" => array( 37, 38 ),
-  "L3" => array( 28, 38 ),
-  "L4" => array( 45, 22 ),
-  "L5" => array( 38, 13 ),
-  "L6" => array( 19, 18 ),
-  "L7" => array( 25, 38 ),
-  "m&&t" => array( 24, 38 ),
-  "m&a" => array( 37, 38 ),
-  "m&f" => array( 38, 38 ),
-  "m&n" => array( 37, 38 ),
-  "m&r" => array( 38, 38 ),
-  "m&t" => array( 38, 38 ),
-  "M1" => array( 15, 38 ),
-  "M10" => array( 28, 28 ),
-  "M11" => array( 33, 13 ),
-  "M12" => array( 12, 38 ),
-  "M12s" => array( 10, 27 ),
-  "M13" => array( 13, 38 ),
-  "M14" => array( 31, 38 ),
-  "M15" => array( 25, 38 ),
-  "M16" => array( 24, 38 ),
-  "M17" => array( 9, 38 ),
-  "M17s" => array( 6, 27 ),
-  "M18" => array( 12, 38 ),
-  "M19" => array( 31, 38 ),
-  "M2" => array( 30, 30 ),
-  "M20" => array( 38, 38 ),
-  "M21" => array( 32, 38 ),
-  "M22" => array( 18, 38 ),
-  "M23" => array( 18, 38 ),
-  "M23s" => array( 12, 27 ),
-  "M24" => array( 18, 38 ),
-  "M25" => array( 26, 38 ),
-  "M26" => array( 26, 38 ),
-  "M27" => array( 37, 38 ),
-  "M28" => array( 26, 38 ),
-  "M29" => array( 7, 38 ),
-  "M3" => array( 37, 9 ),
-  "M30" => array( 9, 38 ),
-  "M31" => array( 16, 29 ),
-  "M32" => array( 12, 36 ),
-  "M33" => array( 37, 9 ),
-  "M34" => array( 16, 38 ),
-  "M35" => array( 14, 18 ),
-  "M36" => array( 20, 18 ),
-  "M37" => array( 25, 19 ),
-  "M38" => array( 37, 25 ),
-  "M39" => array( 18, 16 ),
-  "M4" => array( 12, 38 ),
-  "M40" => array( 9, 38 ),
-  "M41" => array( 25, 7 ),
-  "M42" => array( 25, 25 ),
-  "M43" => array( 56, 38 ),
-  "M43A" => array( 49, 38 ),
-  "M44" => array( 15, 38 ),
-  "M5" => array( 14, 38 ),
-  "M6" => array( 16, 38 ),
-  "M7" => array( 12, 38 ),
-  "M8" => array( 36, 19 ),
-  "M9" => array( 37, 32 ),
-  "mn&n&t" => array( 38, 38 ),
-  "mn&n&x" => array( 38, 38 ),
-  "mr&&r&r" => array( 49, 38 ),
-  "mr&r&r" => array( 38, 38 ),
-  "mr&r&t" => array( 45, 38 ),
-  "n&A1" => array( 37, 38 ),
-  "n&D" => array( 37, 38 ),
-  "n&f&n" => array( 38, 38 ),
-  "n&f&t" => array( 37, 38 ),
-  "n&n&a" => array( 37, 38 ),
-  "n&n&f" => array( 38, 38 ),
-  "n&nH" => array( 37, 38 ),
-  "n&nm&m" => array( 37, 38 ),
-  "n&t&f" => array( 37, 38 ),
-  "n&t&k" => array( 37, 38 ),
-  "n&t&t" => array( 37, 38 ),
-  "n&U19&nw" => array( 37, 38 ),
-  "n&w" => array( 37, 38 ),
-  "n&wa&w" => array( 37, 38 ),
-  "n&x&f" => array( 37, 38 ),
-  "n&xAst&t" => array( 37, 38 ),
-  "n&xt" => array( 37, 38 ),
-  "N1" => array( 38, 11 ),
-  "N10" => array( 19, 18 ),
-  "N11" => array( 38, 12 ),
-  "N12" => array( 38, 13 ),
-  "N13" => array( 28, 27 ),
-  "N14" => array( 23, 22 ),
-  "N15" => array( 26, 26 ),
-  "N16" => array( 36, 9 ),
-  "N17" => array( 36, 6 ),
-  "N18" => array( 38, 8 ),
-  "N19" => array( 38, 22 ),
-  "N2" => array( 33, 38 ),
-  "N20" => array( 38, 9 ),
-  "N21" => array( 25, 11 ),
-  "N22" => array( 29, 11 ),
-  "N23" => array( 20, 11 ),
-  "N24" => array( 37, 14 ),
-  "N25" => array( 38, 16 ),
-  "N26" => array( 30, 15 ),
-  "N27" => array( 30, 22 ),
-  "N28" => array( 28, 15 ),
-  "N29" => array( 16, 17 ),
-  "N3" => array( 28, 38 ),
-  "N30" => array( 38, 16 ),
-  "N31" => array( 38, 19 ),
-  "N32" => array( 17, 24 ),
-  "N33" => array( 18, 18 ),
-  "N33A" => array( 41, 7 ),
-  "N33B" => array( 7, 7 ),
-  "N33C" => array( 11, 11 ),
-  "N34" => array( 25, 22 ),
-  "N35" => array( 37, 5 ),
-  "N35A" => array( 37, 38 ),
-  "N35B" => array( 37, 21 ),
-  "N35C" => array( 37, 13 ),
-  "N36" => array( 38, 9 ),
-  "N37" => array( 38, 12 ),
-  "N38" => array( 38, 12 ),
-  "N39" => array( 38, 10 ),
-  "N4" => array( 38, 22 ),
-  "N40" => array( 38, 24 ),
-  "N41" => array( 19, 19 ),
-  "N42" => array( 19, 19 ),
-  "N5" => array( 18, 18 ),
-  "N6" => array( 36, 20 ),
-  "N7" => array( 21, 38 ),
-  "N8" => array( 14, 21 ),
-  "N9" => array( 18, 18 ),
-  "nbAki" => array( 58, 40 ),
-  "nswt&bity" => array( 47, 38 ),
-  "O1" => array( 31, 16 ),
-  "O10" => array( 38, 38 ),
-  "O11" => array( 11, 38 ),
-  "O12" => array( 37, 38 ),
-  "O13" => array( 38, 38 ),
-  "O14" => array( 33, 31 ),
-  "O15" => array( 38, 38 ),
-  "O16" => array( 38, 26 ),
-  "O17" => array( 32, 26 ),
-  "O18" => array( 33, 38 ),
-  "O19" => array( 36, 38 ),
-  "O2" => array( 32, 38 ),
-  "O20" => array( 24, 38 ),
-  "O21" => array( 22, 38 ),
-  "O22" => array( 37, 30 ),
-  "O23" => array( 41, 38 ),
-  "O24" => array( 21, 38 ),
-  "O25" => array( 12, 38 ),
-  "O26" => array( 28, 38 ),
-  "O27" => array( 37, 32 ),
-  "O28" => array( 9, 38 ),
-  "O29" => array( 38, 7 ),
-  "O29V" => array( 7, 38 ),
-  "O3" => array( 36, 38 ),
-  "O30" => array( 10, 38 ),
-  "O31" => array( 38, 9 ),
-  "O32" => array( 25, 38 ),
-  "O33" => array( 32, 38 ),
-  "O34" => array( 37, 6 ),
-  "O35" => array( 37, 19 ),
-  "O36" => array( 15, 38 ),
-  "O37" => array( 40, 26 ),
-  "O38" => array( 28, 28 ),
-  "O39" => array( 24, 10 ),
-  "O4" => array( 23, 18 ),
-  "O40" => array( 30, 27 ),
-  "O41" => array( 38, 19 ),
-  "O42" => array( 37, 19 ),
-  "O43" => array( 38, 11 ),
-  "O44" => array( 22, 38 ),
-  "O45" => array( 19, 18 ),
-  "O46" => array( 18, 24 ),
-  "O47" => array( 25, 11 ),
-  "O48" => array( 18, 18 ),
-  "O49" => array( 18, 18 ),
-  "O5" => array( 27, 20 ),
-  "O50" => array( 18, 18 ),
-  "O51" => array( 37, 31 ),
-  "O6" => array( 15, 38 ),
-  "O7" => array( 15, 38 ),
-  "O8" => array( 38, 38 ),
-  "O9" => array( 37, 38 ),
-  "p&z&f" => array( 38, 38 ),
-  "P1" => array( 42, 22 ),
-  "P10" => array( 37, 38 ),
-  "P11" => array( 8, 38 ),
-  "P13" => array( 38, 8 ),
-  "P1A" => array( 42, 22 ),
-  "P2" => array( 38, 30 ),
-  "P3" => array( 38, 24 ),
-  "P4" => array( 38, 20 ),
-  "P44A" => array( 38, 16 ),
-  "P5" => array( 37, 38 ),
-  "P6" => array( 12, 38 ),
-  "P7" => array( 38, 38 ),
-  "P8" => array( 7, 38 ),
-  "P8H" => array( 38, 7 ),
-  "P9" => array( 30, 38 ),
-  "pr&r&t" => array( 45, 38 ),
-  "Q1" => array( 18, 38 ),
-  "Q2" => array( 36, 24 ),
-  "Q3" => array( 12, 15 ),
-  "Q4" => array( 31, 20 ),
-  "Q5" => array( 38, 15 ),
-  "Q6" => array( 38, 24 ),
-  "Q7" => array( 20, 37 ),
-  "Q_HASH" => array( 20, 20 ),
-  "QUERY" => array( 18, 28 ),
-  "r&a&k" => array( 38, 38 ),
-  "r&a&t" => array( 38, 38 ),
-  "r&A1" => array( 38, 38 ),
-  "r&D&d" => array( 37, 38 ),
-  "r&f&n" => array( 38, 38 ),
-  "r&n&f" => array( 38, 38 ),
-  "r&r&t" => array( 53, 38 ),
-  "r&r" => array( 53, 9 ),
-  "r&t" => array( 45, 9 ),
-  "R1" => array( 38, 38 ),
-  "R10" => array( 23, 33 ),
-  "R11" => array( 16, 37 ),
-  "R12" => array( 38, 24 ),
-  "R13" => array( 27, 38 ),
-  "R14" => array( 12, 38 ),
-  "R15" => array( 22, 38 ),
-  "R16" => array( 12, 38 ),
-  "R17" => array( 17, 38 ),
-  "R18" => array( 22, 38 ),
-  "R19" => array( 18, 38 ),
-  "R2" => array( 38, 38 ),
-  "R20" => array( 24, 37 ),
-  "R21" => array( 16, 36 ),
-  "R22" => array( 37, 5 ),
-  "R23" => array( 37, 9 ),
-  "R24" => array( 38, 16 ),
-  "R25" => array( 27, 37 ),
-  "R3" => array( 37, 33 ),
-  "R4" => array( 36, 15 ),
-  "R5" => array( 36, 12 ),
-  "R6" => array( 34, 19 ),
-  "R7" => array( 16, 28 ),
-  "R8" => array( 15, 38 ),
-  "R8A" => array( 38, 38 ),
-  "R9" => array( 16, 37 ),
-  "REDDOT" => array( 12, 12 ),
-  "S1" => array( 24, 36 ),
-  "S10" => array( 23, 24 ),
-  "S106" => array( 30, 9 ),
-  "S11" => array( 24, 20 ),
-  "S12" => array( 38, 19 ),
-  "S13" => array( 38, 38 ),
-  "S14" => array( 38, 38 ),
-  "S14A" => array( 38, 38 ),
-  "S15" => array( 37, 38 ),
-  "S16" => array( 22, 34 ),
-  "S17" => array( 26, 38 ),
-  "S17A" => array( 38, 24 ),
-  "S18" => array( 29, 36 ),
-  "S19" => array( 32, 28 ),
-  "S2" => array( 38, 38 ),
-  "S20" => array( 13, 25 ),
-  "S21" => array( 19, 18 ),
-  "S22" => array( 38, 25 ),
-  "S23" => array( 37, 25 ),
-  "S24" => array( 38, 8 ),
-  "S25" => array( 38, 24 ),
-  "S26" => array( 23, 28 ),
-  "S27" => array( 34, 38 ),
-  "S28&Z2" => array( 36, 38 ),
-  "S28" => array( 36, 38 ),
-  "S29" => array( 8, 38 ),
-  "S29s" => array( 6, 27 ),
-  "S3" => array( 29, 38 ),
-  "S30" => array( 38, 38 ),
-  "S31" => array( 38, 38 ),
-  "S32" => array( 38, 11 ),
-  "S33" => array( 14, 38 ),
-  "S34" => array( 20, 38 ),
-  "S35" => array( 28, 38 ),
-  "S36" => array( 22, 38 ),
-  "S37" => array( 12, 38 ),
-  "S38" => array( 10, 38 ),
-  "S39" => array( 9, 38 ),
-  "S4" => array( 38, 38 ),
-  "S40" => array( 11, 38 ),
-  "S41" => array( 11, 38 ),
-  "S42" => array( 12, 38 ),
-  "S43" => array( 7, 38 ),
-  "S44" => array( 16, 38 ),
-  "S45" => array( 28, 30 ),
-  "S5" => array( 30, 38 ),
-  "S6" => array( 38, 38 ),
-  "S7" => array( 37, 38 ),
-  "S8" => array( 37, 38 ),
-  "S9" => array( 26, 38 ),
-  "SPACE" => array( 38, 13 ),
-  "sSm&m" => array( 36, 38 ),
-  "sti&t" => array( 27, 38 ),
-  "stp&s" => array( 35, 38 ),
-  "t&A" => array( 27, 38 ),
-  "t&A19" => array( 17, 38 ),
-  "t&H" => array( 15, 38 ),
-  "t&I12" => array( 18, 38 ),
-  "t&M30" => array( 15, 38 ),
-  "t&nw" => array( 37, 38 ),
-  "t&r&f" => array( 38, 38 ),
-  "t&r" => array( 45, 9 ),
-  "t&s" => array( 15, 38 ),
-  "t&sti" => array( 27, 38 ),
-  "t&T30" => array( 38, 23 ),
-  "T1" => array( 36, 9 ),
-  "T10" => array( 38, 6 ),
-  "T11" => array( 37, 8 ),
-  "T12" => array( 25, 27 ),
-  "T13" => array( 14, 38 ),
-  "T14" => array( 11, 38 ),
-  "T15" => array( 8, 38 ),
-  "T16" => array( 38, 12 ),
-  "T17" => array( 38, 25 ),
-  "T18" => array( 11, 37 ),
-  "T19" => array( 11, 38 ),
-  "T2" => array( 37, 21 ),
-  "T20" => array( 7, 38 ),
-  "T21" => array( 38, 15 ),
-  "T22" => array( 11, 38 ),
-  "T23" => array( 11, 36 ),
-  "T24" => array( 29, 25 ),
-  "T25" => array( 20, 37 ),
-  "T26" => array( 38, 26 ),
-  "T27" => array( 38, 15 ),
-  "T28" => array( 19, 18 ),
-  "T29" => array( 38, 31 ),
-  "T3" => array( 8, 38 ),
-  "T30" => array( 38, 18 ),
-  "T31" => array( 36, 20 ),
-  "T32" => array( 36, 30 ),
-  "T33" => array( 38, 18 ),
-  "T34" => array( 10, 38 ),
-  "T35" => array( 7, 38 ),
-  "T4" => array( 15, 38 ),
-  "T5" => array( 35, 38 ),
-  "T6" => array( 35, 38 ),
-  "T7" => array( 38, 11 ),
-  "T7A" => array( 20, 38 ),
-  "T8" => array( 9, 38 ),
-  "T8A" => array( 11, 38 ),
-  "T8B" => array( 38, 11 ),
-  "T9" => array( 38, 7 ),
-  "T9A" => array( 38, 8 ),
-  "THREE" => array( 34, 24 ),
-  "Tr_HSPACE" => array( 5, 15 ),
-  "Tr_SPACE" => array( 38, 13 ),
-  "TWO" => array( 21, 24 ),
-  "U1" => array( 36, 38 ),
-  "U10" => array( 34, 28 ),
-  "U11" => array( 29, 38 ),
-  "U12" => array( 29, 38 ),
-  "U13" => array( 37, 26 ),
-  "U14" => array( 38, 14 ),
-  "U15" => array( 38, 16 ),
-  "U16" => array( 38, 25 ),
-  "U17" => array( 32, 23 ),
-  "U18" => array( 38, 29 ),
-  "U19" => array( 34, 25 ),
-  "U2" => array( 38, 24 ),
-  "U20" => array( 36, 9 ),
-  "U21" => array( 36, 22 ),
-  "U22" => array( 12, 24 ),
-  "U23" => array( 8, 38 ),
-  "U24" => array( 12, 38 ),
-  "U25" => array( 15, 38 ),
-  "U26" => array( 12, 38 ),
-  "U27" => array( 8, 38 ),
-  "U28" => array( 13, 38 ),
-  "U29" => array( 13, 38 ),
-  "U3" => array( 38, 38 ),
-  "U30" => array( 16, 22 ),
-  "U31" => array( 37, 16 ),
-  "U32" => array( 14, 38 ),
-  "U33" => array( 9, 38 ),
-  "U34" => array( 12, 38 ),
-  "U35" => array( 32, 38 ),
-  "U35s" => array( 23, 27 ),
-  "U36" => array( 8, 38 ),
-  "U37" => array( 32, 26 ),
-  "U38" => array( 38, 38 ),
-  "U39" => array( 12, 38 ),
-  "U4" => array( 38, 38 ),
-  "U40" => array( 20, 38 ),
-  "U41" => array( 20, 34 ),
-  "U5" => array( 38, 24 ),
-  "U6" => array( 24, 37 ),
-  "U7" => array( 36, 18 ),
-  "U8" => array( 30, 16 ),
-  "U9" => array( 34, 22 ),
-  "V1" => array( 10, 20 ),
-  "V10" => array( 38, 19 ),
-  "V10A" => array( 14, 40 ),
-  "V11" => array( 19, 19 ),
-  "V11A" => array( 16, 40 ),
-  "V12" => array( 29, 18 ),
-  "V13" => array( 38, 10 ),
-  "V14" => array( 38, 10 ),
-  "V15" => array( 38, 25 ),
-  "V16" => array( 37, 19 ),
-  "V17" => array( 13, 38 ),
-  "V18" => array( 13, 38 ),
-  "V19" => array( 23, 23 ),
-  "V2" => array( 38, 16 ),
-  "V20" => array( 12, 13 ),
-  "V21" => array( 35, 38 ),
-  "V22" => array( 38, 25 ),
-  "V23" => array( 38, 27 ),
-  "V24" => array( 7, 38 ),
-  "V25" => array( 9, 38 ),
-  "V26" => array( 38, 9 ),
-  "V27" => array( 38, 7 ),
-  "V28" => array( 10, 38 ),
-  "V29" => array( 18, 38 ),
-  "V3" => array( 38, 15 ),
-  "V30" => array( 38, 12 ),
-  "V31" => array( 38, 11 ),
-  "V31A" => array( 38, 11 ),
-  "V32" => array( 38, 12 ),
-  "V33" => array( 16, 22 ),
-  "V34" => array( 18, 26 ),
-  "V35" => array( 19, 24 ),
-  "V36" => array( 18, 38 ),
-  "V37" => array( 27, 24 ),
-  "V38" => array( 11, 38 ),
-  "V39" => array( 18, 38 ),
-  "V4" => array( 32, 36 ),
-  "V5" => array( 20, 38 ),
-  "V6" => array( 11, 22 ),
-  "V7" => array( 9, 26 ),
-  "V8" => array( 12, 28 ),
-  "V9" => array( 20, 20 ),
-  "V_HASH" => array( 15, 38 ),
-  "VTHREE" => array( 25, 34 ),
-  "w&&t" => array( 18, 38 ),
-  "w&t" => array( 36, 38 ),
-  "w&y" => array( 38, 38 ),
-  "W1" => array( 20, 38 ),
-  "W10" => array( 21, 14 ),
-  "W10A" => array( 15, 15 ),
-  "W11" => array( 21, 18 ),
-  "W12" => array( 21, 18 ),
-  "W13" => array( 21, 19 ),
-  "W14" => array( 12, 38 ),
-  "W15" => array( 19, 38 ),
-  "W16" => array( 26, 38 ),
-  "W17" => array( 32, 38 ),
-  "W18" => array( 40, 38 ),
-  "W19" => array( 15, 38 ),
-  "W19s" => array( 10, 27 ),
-  "W2" => array( 24, 38 ),
-  "W20" => array( 18, 37 ),
-  "W21" => array( 21, 21 ),
-  "W22" => array( 12, 19 ),
-  "W23" => array( 19, 20 ),
-  "W24" => array( 16, 17 ),
-  "W25" => array( 17, 38 ),
-  "W3" => array( 38, 14 ),
-  "W4" => array( 38, 38 ),
-  "W5" => array( 38, 34 ),
-  "W6" => array( 22, 14 ),
-  "W7" => array( 25, 22 ),
-  "W8" => array( 38, 12 ),
-  "W9" => array( 16, 24 ),
-  "wa&W&a" => array( 36, 38 ),
-  "wn&n&t" => array( 37, 38 ),
-  "wr&r&t" => array( 38, 38 ),
-  "x&f&t" => array( 38, 38 ),
-  "x&mt&t" => array( 36, 38 ),
-  "x&r&t&Y1" => array( 45, 38 ),
-  "x&r&t" => array( 45, 38 ),
-  "X1" => array( 20, 11 ),
-  "X2" => array( 13, 20 ),
-  "X3" => array( 10, 19 ),
-  "X4" => array( 38, 10 ),
-  "X5" => array( 38, 11 ),
-  "X6" => array( 24, 18 ),
-  "X7" => array( 12, 17 ),
-  "X8" => array( 19, 38 ),
-  "xAswt" => array( 38, 38 ),
-  "Y1&A1" => array( 38, 38 ),
-  "Y1&n&f" => array( 38, 38 ),
-  "Y1" => array( 38, 10 ),
-  "Y1V" => array( 10, 38 ),
-  "Y2" => array( 38, 10 ),
-  "Y3" => array( 31, 38 ),
-  "Y4" => array( 31, 38 ),
-  "Y5" => array( 38, 13 ),
-  "Y6" => array( 12, 23 ),
-  "Y7" => array( 18, 36 ),
-  "Y8" => array( 21, 38 ),
-  "z&A1&Z1" => array( 38, 38 ),
-  "z&A1" => array( 38, 38 ),
-  "z&Ab&b" => array( 38, 38 ),
-  "z&Dr&r" => array( 38, 38 ),
-  "z&w" => array( 38, 38 ),
-  "z&X&k" => array( 38, 38 ),
-  "z&x&r" => array( 38, 38 ),
-  "Z1" => array( 4, 16 ),
-  "Z10" => array( 24, 15 ),
-  "Z11" => array( 23, 38 ),
-  "Z1s" => array( 4, 11 ),
-  "Z2" => array( 38, 11 ),
-  "Z2s" => array( 28, 11 ),
-  "Z2ss" => array( 18, 11 ),
-  "Z3" => array( 2, 38 ),
-  "Z3A" => array( 11, 38 ),
-  "Z3as" => array( 11, 18 ),
-  "Z4" => array( 16, 14 ),
-  "Z4B" => array( 20, 20 ),
-  "Z5" => array( 14, 14 ),
-  "Z6&A1" => array( 38, 38 ),
-  "Z6" => array( 38, 21 ),
-  "Z7" => array( 12, 17 ),
-  "Z8" => array( 34, 11 ),
-  "Z9" => array( 16, 16 ),
-  "Z91" => array( 12, 4 ),
-  "Z92" => array( 12, 15 ),
-  "Z93" => array( 12, 26 ),
-  "Z94" => array( 12, 38 ),
-  "Z95" => array( 12, 38 ),
-  "Z98A" => array( 5, 15 ),
-);
+$wh_files   = [
+  "a&A1" => [ 37, 38 ],
+  "a&b&t" => [ 37, 38 ],
+  "a&D" => [ 37, 38 ],
+  "a&F51a&Z2" => [ 38, 38 ],
+  "a&n&D" => [ 37, 38 ],
+  "a&r&t" => [ 45, 38 ],
+  "a&t&x" => [ 37, 38 ],
+  "A&t" => [ 38, 38 ],
+  "A1&n" => [ 37, 38 ],
+  "A1&r" => [ 38, 38 ],
+  "A1" => [ 29, 38 ],
+  "A10" => [ 38, 38 ],
+  "A11" => [ 26, 38 ],
+  "A113" => [ 32, 38 ],
+  "A12" => [ 25, 38 ],
+  "A12D" => [ 28, 38 ],
+  "A13" => [ 30, 38 ],
+  "A14" => [ 36, 34 ],
+  "A14A" => [ 35, 38 ],
+  "A15" => [ 38, 21 ],
+  "A16" => [ 25, 38 ],
+  "A17" => [ 29, 38 ],
+  "A17A" => [ 36, 38 ],
+  "A18" => [ 24, 38 ],
+  "A19" => [ 24, 38 ],
+  "A1s" => [ 22, 27 ],
+  "A2" => [ 27, 38 ],
+  "A20" => [ 28, 38 ],
+  "A21" => [ 24, 38 ],
+  "A21A" => [ 24, 38 ],
+  "A22" => [ 26, 38 ],
+  "A23" => [ 24, 38 ],
+  "A24" => [ 23, 38 ],
+  "A25" => [ 32, 38 ],
+  "A25A" => [ 30, 38 ],
+  "A25as" => [ 21, 27 ],
+  "A26" => [ 27, 38 ],
+  "A27" => [ 25, 38 ],
+  "A28" => [ 24, 38 ],
+  "A29" => [ 22, 38 ],
+  "A2s" => [ 20, 27 ],
+  "A3" => [ 28, 38 ],
+  "A30" => [ 21, 38 ],
+  "A31" => [ 22, 38 ],
+  "A316" => [ 33, 38 ],
+  "A32" => [ 22, 38 ],
+  "A33" => [ 23, 38 ],
+  "A335" => [ 27, 38 ],
+  "A34" => [ 24, 38 ],
+  "A347" => [ 20, 38 ],
+  "A35" => [ 30, 38 ],
+  "A36" => [ 37, 38 ],
+  "A37" => [ 37, 38 ],
+  "A38" => [ 36, 38 ],
+  "A39" => [ 44, 38 ],
+  "A4" => [ 29, 38 ],
+  "A40" => [ 24, 36 ],
+  "A40s" => [ 18, 27 ],
+  "A41" => [ 22, 38 ],
+  "A42" => [ 30, 38 ],
+  "A43" => [ 20, 38 ],
+  "A44" => [ 32, 37 ],
+  "A45" => [ 22, 37 ],
+  "A46" => [ 30, 38 ],
+  "A47" => [ 32, 38 ],
+  "A48" => [ 26, 38 ],
+  "A49" => [ 25, 38 ],
+  "A5" => [ 27, 36 ],
+  "A50" => [ 30, 38 ],
+  "A51" => [ 30, 38 ],
+  "A52" => [ 35, 38 ],
+  "A53" => [ 12, 38 ],
+  "A54" => [ 38, 11 ],
+  "A55" => [ 38, 26 ],
+  "A56" => [ 35, 38 ],
+  "A59" => [ 27, 38 ],
+  "A6" => [ 32, 38 ],
+  "A7" => [ 38, 38 ],
+  "A8" => [ 27, 38 ],
+  "A9" => [ 24, 38 ],
+  "Aa1" => [ 18, 18 ],
+  "Aa10" => [ 37, 8 ],
+  "Aa11" => [ 38, 7 ],
+  "Aa12" => [ 33, 5 ],
+  "Aa13" => [ 37, 8 ],
+  "Aa14" => [ 37, 12 ],
+  "Aa15" => [ 36, 10 ],
+  "Aa16&m" => [ 24, 38 ],
+  "Aa16" => [ 23, 11 ],
+  "Aa17" => [ 22, 18 ],
+  "Aa18" => [ 25, 29 ],
+  "Aa19" => [ 23, 26 ],
+  "Aa2" => [ 20, 20 ],
+  "Aa20" => [ 11, 38 ],
+  "Aa21" => [ 14, 38 ],
+  "Aa22" => [ 38, 38 ],
+  "Aa23" => [ 38, 25 ],
+  "Aa24" => [ 38, 17 ],
+  "Aa25" => [ 27, 38 ],
+  "Aa26" => [ 13, 38 ],
+  "Aa27" => [ 16, 38 ],
+  "Aa28" => [ 8, 38 ],
+  "Aa29" => [ 8, 38 ],
+  "Aa3" => [ 27, 20 ],
+  "Aa30" => [ 9, 38 ],
+  "Aa30A" => [ 38, 9 ],
+  "Aa31" => [ 17, 38 ],
+  "Aa32" => [ 9, 38 ],
+  "Aa4" => [ 28, 18 ],
+  "Aa40" => [ 37, 38 ],
+  "Aa41" => [ 38, 38 ],
+  "Aa5" => [ 32, 32 ],
+  "Aa6" => [ 37, 17 ],
+  "Aa7" => [ 36, 15 ],
+  "Aa8&D" => [ 38, 38 ],
+  "Aa8" => [ 38, 8 ],
+  "Aa9" => [ 36, 8 ],
+  "b&Hb" => [ 38, 38 ],
+  "b&t" => [ 18, 38 ],
+  "B1" => [ 23, 38 ],
+  "B10" => [ 24, 38 ],
+  "B11" => [ 26, 38 ],
+  "B12" => [ 36, 38 ],
+  "B1s" => [ 16, 27 ],
+  "B2&Z2" => [ 36, 38 ],
+  "B2" => [ 26, 38 ],
+  "B23B" => [ 26, 38 ],
+  "B3" => [ 25, 38 ],
+  "B4" => [ 21, 38 ],
+  "B5" => [ 27, 38 ],
+  "B6" => [ 27, 38 ],
+  "B7" => [ 32, 38 ],
+  "B8" => [ 25, 38 ],
+  "B9" => [ 28, 38 ],
+  "bA&k" => [ 38, 38 ],
+  "Ba14" => [ 8, 40 ],
+  "Ba14a" => [ 8, 40 ],
+  "Ba14as" => [ 6, 20 ],
+  "Ba14s" => [ 6, 20 ],
+  "Ba15" => [ 8, 40 ],
+  "Ba15a" => [ 8, 40 ],
+  "Ba15as" => [ 6, 20 ],
+  "Ba15s" => [ 6, 20 ],
+  "Ba16" => [ 11, 40 ],
+  "Ba16a" => [ 11, 40 ],
+  "Ba16as" => [ 6, 20 ],
+  "Ba16s" => [ 6, 20 ],
+  "Ba17" => [ 8, 40 ],
+  "Ba17a" => [ 8, 40 ],
+  "Ba17as" => [ 7, 20 ],
+  "Ba17s" => [ 7, 20 ],
+  "Ba18" => [ 8, 40 ],
+  "Ba18a" => [ 8, 40 ],
+  "Ba18as" => [ 6, 20 ],
+  "Ba18s" => [ 6, 20 ],
+  "Ba19" => [ 6, 40 ],
+  "Ba19a" => [ 6, 40 ],
+  "Ba19as" => [ 4, 20 ],
+  "Ba19s" => [ 4, 20 ],
+  "BLACKDOT" => [ 12, 12 ],
+  "C1" => [ 20, 38 ],
+  "C10" => [ 18, 38 ],
+  "C11" => [ 30, 38 ],
+  "C12" => [ 20, 38 ],
+  "C17" => [ 21, 38 ],
+  "C18" => [ 23, 38 ],
+  "C19" => [ 13, 38 ],
+  "C2" => [ 25, 38 ],
+  "C20" => [ 18, 38 ],
+  "C3" => [ 21, 38 ],
+  "C4" => [ 33, 38 ],
+  "C5" => [ 33, 38 ],
+  "C6" => [ 20, 38 ],
+  "C7" => [ 19, 38 ],
+  "C8" => [ 22, 38 ],
+  "C9" => [ 20, 38 ],
+  "Ca0" => [ 5, 50 ],
+  "Ca1" => [ 14, 48 ],
+  "Ca1a" => [ 14, 50 ],
+  "Ca2" => [ 16, 50 ],
+  "Ca2a" => [ 16, 48 ],
+  "Cah1" => [ 5, 48 ],
+  "Cah1a" => [ 5, 50 ],
+  "Cah2" => [ 14, 48 ],
+  "Cah2a" => [ 14, 50 ],
+  "Cah3" => [ 14, 48 ],
+  "Cah3a" => [ 14, 50 ],
+  "D&d&t" => [ 35, 38 ],
+  "D&d" => [ 35, 38 ],
+  "D&ra" => [ 35, 38 ],
+  "D&t&N17" => [ 35, 38 ],
+  "D&t&tA" => [ 35, 38 ],
+  "D&t" => [ 35, 38 ],
+  "d&w" => [ 37, 38 ],
+  "D&z&f" => [ 37, 38 ],
+  "D&z" => [ 35, 38 ],
+  "D1" => [ 20, 19 ],
+  "D10" => [ 38, 30 ],
+  "D11" => [ 18, 18 ],
+  "D12" => [ 14, 14 ],
+  "D13" => [ 38, 6 ],
+  "D14" => [ 32, 16 ],
+  "D15" => [ 33, 14 ],
+  "D16" => [ 7, 25 ],
+  "D17" => [ 32, 21 ],
+  "D18" => [ 19, 24 ],
+  "D19" => [ 25, 26 ],
+  "D2" => [ 17, 18 ],
+  "D20" => [ 25, 25 ],
+  "D21" => [ 38, 11 ],
+  "D22" => [ 38, 18 ],
+  "D23" => [ 38, 30 ],
+  "D24" => [ 38, 8 ],
+  "D25" => [ 35, 14 ],
+  "D26" => [ 27, 24 ],
+  "D27" => [ 20, 14 ],
+  "D27A" => [ 20, 18 ],
+  "D28" => [ 24, 24 ],
+  "D29" => [ 27, 36 ],
+  "D3" => [ 37, 20 ],
+  "D30" => [ 26, 36 ],
+  "D31" => [ 21, 38 ],
+  "D32" => [ 21, 34 ],
+  "D33" => [ 34, 32 ],
+  "D34" => [ 34, 28 ],
+  "D34A" => [ 38, 32 ],
+  "D35" => [ 37, 8 ],
+  "D36" => [ 37, 12 ],
+  "D37" => [ 37, 12 ],
+  "D38" => [ 37, 12 ],
+  "D39" => [ 37, 12 ],
+  "D4" => [ 38, 12 ],
+  "D40" => [ 37, 12 ],
+  "D41" => [ 37, 12 ],
+  "D42" => [ 37, 12 ],
+  "D43" => [ 38, 15 ],
+  "D44" => [ 38, 18 ],
+  "D45" => [ 36, 24 ],
+  "D46" => [ 37, 12 ],
+  "D46A" => [ 38, 18 ],
+  "D47" => [ 38, 9 ],
+  "D48" => [ 38, 9 ],
+  "D49" => [ 27, 16 ],
+  "D5" => [ 37, 11 ],
+  "D50" => [ 8, 38 ],
+  "D51" => [ 38, 8 ],
+  "D52&t&r" => [ 38, 38 ],
+  "D52" => [ 36, 12 ],
+  "D53" => [ 38, 14 ],
+  "D54" => [ 22, 18 ],
+  "D55" => [ 22, 18 ],
+  "D56" => [ 16, 34 ],
+  "D57" => [ 38, 32 ],
+  "D58" => [ 22, 35 ],
+  "D58s" => [ 16, 27 ],
+  "D59" => [ 38, 36 ],
+  "D6" => [ 37, 14 ],
+  "D60" => [ 27, 38 ],
+  "D61" => [ 38, 28 ],
+  "D62" => [ 37, 28 ],
+  "D63" => [ 34, 33 ],
+  "D7" => [ 36, 13 ],
+  "D8" => [ 38, 12 ],
+  "D9" => [ 38, 22 ],
+  "E1" => [ 38, 30 ],
+  "E10" => [ 38, 27 ],
+  "E11" => [ 36, 27 ],
+  "E12" => [ 38, 22 ],
+  "E13" => [ 27, 38 ],
+  "E14" => [ 36, 30 ],
+  "E15" => [ 38, 32 ],
+  "E16" => [ 38, 38 ],
+  "E17" => [ 44, 38 ],
+  "E18" => [ 38, 36 ],
+  "E19" => [ 33, 38 ],
+  "E2" => [ 38, 27 ],
+  "E20" => [ 38, 38 ],
+  "E21" => [ 42, 23 ],
+  "E22" => [ 38, 21 ],
+  "E23" => [ 38, 15 ],
+  "E24" => [ 49, 20 ],
+  "E25" => [ 38, 22 ],
+  "E26" => [ 38, 29 ],
+  "E27" => [ 22, 38 ],
+  "E28" => [ 36, 38 ],
+  "E29" => [ 32, 38 ],
+  "E3" => [ 38, 29 ],
+  "E30" => [ 34, 38 ],
+  "E31" => [ 36, 36 ],
+  "E32" => [ 31, 25 ],
+  "E33" => [ 32, 24 ],
+  "E34" => [ 38, 24 ],
+  "E4" => [ 41, 38 ],
+  "E5" => [ 38, 27 ],
+  "E6" => [ 36, 36 ],
+  "E7" => [ 34, 32 ],
+  "E8" => [ 38, 31 ],
+  "E8A" => [ 32, 38 ],
+  "E9" => [ 38, 28 ],
+  "f&n&d" => [ 37, 38 ],
+  "f&r&t" => [ 38, 38 ],
+  "F1" => [ 18, 18 ],
+  "F10" => [ 15, 38 ],
+  "F11" => [ 18, 36 ],
+  "F12" => [ 14, 38 ],
+  "F13" => [ 32, 24 ],
+  "F14" => [ 36, 38 ],
+  "F15" => [ 36, 38 ],
+  "F16" => [ 38, 23 ],
+  "F17" => [ 38, 38 ],
+  "F18" => [ 38, 11 ],
+  "F19" => [ 38, 19 ],
+  "F2" => [ 38, 34 ],
+  "F20" => [ 38, 28 ],
+  "F21" => [ 24, 19 ],
+  "F22" => [ 26, 20 ],
+  "F23" => [ 38, 14 ],
+  "F24" => [ 38, 14 ],
+  "F25" => [ 12, 38 ],
+  "F26" => [ 37, 25 ],
+  "F27" => [ 18, 38 ],
+  "F28" => [ 18, 38 ],
+  "F29" => [ 34, 38 ],
+  "F3" => [ 36, 24 ],
+  "F30" => [ 38, 27 ],
+  "F31" => [ 18, 37 ],
+  "F31s" => [ 14, 27 ],
+  "F32" => [ 38, 9 ],
+  "F33" => [ 36, 22 ],
+  "F34" => [ 18, 17 ],
+  "F35" => [ 12, 38 ],
+  "F36" => [ 13, 37 ],
+  "F37" => [ 38, 21 ],
+  "F37B" => [ 32, 19 ],
+  "F38" => [ 22, 15 ],
+  "F39&Z1" => [ 31, 38 ],
+  "F39" => [ 31, 31 ],
+  "F4" => [ 38, 23 ],
+  "F40" => [ 38, 31 ],
+  "F41" => [ 25, 24 ],
+  "F42" => [ 36, 11 ],
+  "F43" => [ 18, 20 ],
+  "F44" => [ 36, 18 ],
+  "F45" => [ 20, 38 ],
+  "F46" => [ 35, 11 ],
+  "F47" => [ 35, 11 ],
+  "F48" => [ 35, 12 ],
+  "F49" => [ 35, 12 ],
+  "F5" => [ 30, 38 ],
+  "F50" => [ 35, 38 ],
+  "F51" => [ 14, 17 ],
+  "F51A" => [ 17, 14 ],
+  "F51B" => [ 17, 14 ],
+  "F52" => [ 15, 20 ],
+  "F6" => [ 32, 35 ],
+  "F7" => [ 37, 28 ],
+  "F8" => [ 36, 38 ],
+  "F9" => [ 18, 26 ],
+  "G1" => [ 35, 38 ],
+  "G10" => [ 38, 38 ],
+  "G11" => [ 34, 18 ],
+  "G12" => [ 34, 21 ],
+  "G13" => [ 35, 30 ],
+  "G14&t" => [ 38, 38 ],
+  "G14" => [ 35, 38 ],
+  "G15" => [ 35, 38 ],
+  "G16" => [ 41, 38 ],
+  "G17" => [ 35, 38 ],
+  "G17s" => [ 24, 27 ],
+  "G18" => [ 46, 38 ],
+  "G19" => [ 38, 38 ],
+  "G1s" => [ 25, 27 ],
+  "G2" => [ 41, 37 ],
+  "G20" => [ 38, 38 ],
+  "G21" => [ 36, 38 ],
+  "G22" => [ 38, 31 ],
+  "G23" => [ 42, 38 ],
+  "G24" => [ 38, 25 ],
+  "G25" => [ 38, 38 ],
+  "G26" => [ 36, 38 ],
+  "G26A" => [ 38, 38 ],
+  "G27" => [ 37, 27 ],
+  "G28" => [ 40, 22 ],
+  "G29" => [ 36, 38 ],
+  "G3" => [ 38, 38 ],
+  "G30" => [ 52, 38 ],
+  "G31" => [ 38, 38 ],
+  "G32" => [ 37, 38 ],
+  "G33" => [ 38, 38 ],
+  "G34" => [ 29, 38 ],
+  "G35" => [ 38, 31 ],
+  "G36" => [ 38, 25 ],
+  "G37" => [ 38, 28 ],
+  "G38" => [ 38, 38 ],
+  "G39" => [ 38, 38 ],
+  "G4" => [ 36, 38 ],
+  "G40" => [ 38, 34 ],
+  "G41" => [ 38, 34 ],
+  "G42" => [ 42, 29 ],
+  "G43" => [ 27, 38 ],
+  "G43s" => [ 18, 28 ],
+  "G44" => [ 34, 38 ],
+  "G45" => [ 38, 38 ],
+  "G46" => [ 28, 38 ],
+  "G47" => [ 32, 38 ],
+  "G48" => [ 44, 27 ],
+  "G49" => [ 38, 20 ],
+  "G5" => [ 35, 38 ],
+  "G50" => [ 38, 28 ],
+  "G51" => [ 37, 30 ],
+  "G52" => [ 38, 22 ],
+  "G53" => [ 35, 36 ],
+  "G54" => [ 37, 31 ],
+  "G5s" => [ 25, 27 ],
+  "G6" => [ 35, 38 ],
+  "G7" => [ 27, 38 ],
+  "G7A" => [ 43, 38 ],
+  "G7AA" => [ 32, 38 ],
+  "G8" => [ 29, 38 ],
+  "G9" => [ 30, 38 ],
+  "H1" => [ 18, 20 ],
+  "H2" => [ 38, 27 ],
+  "H3" => [ 19, 24 ],
+  "H4" => [ 12, 19 ],
+  "H5" => [ 37, 11 ],
+  "H6" => [ 11, 38 ],
+  "H6A" => [ 17, 38 ],
+  "H7" => [ 34, 32 ],
+  "H8" => [ 15, 18 ],
+  "H8W" => [ 37, 38 ],
+  "H_HASH" => [ 38, 16 ],
+  "H_SPACE" => [ 5, 15 ],
+  "HASH" => [ 30, 38 ],
+  "hatching" => [ 75, 46 ],
+  "Hmw&kA" => [ 24, 38 ],
+  "I1" => [ 36, 33 ],
+  "I10" => [ 35, 38 ],
+  "I11" => [ 36, 38 ],
+  "I12" => [ 21, 38 ],
+  "I13" => [ 21, 38 ],
+  "I14" => [ 38, 16 ],
+  "I15" => [ 36, 20 ],
+  "I1S" => [ 35, 25 ],
+  "I2" => [ 38, 23 ],
+  "I3" => [ 41, 12 ],
+  "I4" => [ 37, 31 ],
+  "I5" => [ 37, 20 ],
+  "I5A" => [ 37, 11 ],
+  "I6" => [ 27, 17 ],
+  "I7" => [ 36, 28 ],
+  "I8" => [ 28, 38 ],
+  "I9" => [ 38, 12 ],
+  "ini&n&n" => [ 37, 38 ],
+  "ini&n" => [ 37, 38 ],
+  "ir&n&f" => [ 37, 38 ],
+  "ir&n&k" => [ 37, 38 ],
+  "ir&r&f" => [ 38, 38 ],
+  "ir&t&f" => [ 38, 38 ],
+  "ir&t&n" => [ 37, 38 ],
+  "K1" => [ 38, 19 ],
+  "K2" => [ 37, 16 ],
+  "K3" => [ 38, 15 ],
+  "K4" => [ 42, 19 ],
+  "K5" => [ 38, 13 ],
+  "K6" => [ 20, 27 ],
+  "K7" => [ 31, 30 ],
+  "L1" => [ 24, 36 ],
+  "L2" => [ 37, 38 ],
+  "L3" => [ 28, 38 ],
+  "L4" => [ 45, 22 ],
+  "L5" => [ 38, 13 ],
+  "L6" => [ 19, 18 ],
+  "L7" => [ 25, 38 ],
+  "m&&t" => [ 24, 38 ],
+  "m&a" => [ 37, 38 ],
+  "m&f" => [ 38, 38 ],
+  "m&n" => [ 37, 38 ],
+  "m&r" => [ 38, 38 ],
+  "m&t" => [ 38, 38 ],
+  "M1" => [ 15, 38 ],
+  "M10" => [ 28, 28 ],
+  "M11" => [ 33, 13 ],
+  "M12" => [ 12, 38 ],
+  "M12s" => [ 10, 27 ],
+  "M13" => [ 13, 38 ],
+  "M14" => [ 31, 38 ],
+  "M15" => [ 25, 38 ],
+  "M16" => [ 24, 38 ],
+  "M17" => [ 9, 38 ],
+  "M17s" => [ 6, 27 ],
+  "M18" => [ 12, 38 ],
+  "M19" => [ 31, 38 ],
+  "M2" => [ 30, 30 ],
+  "M20" => [ 38, 38 ],
+  "M21" => [ 32, 38 ],
+  "M22" => [ 18, 38 ],
+  "M23" => [ 18, 38 ],
+  "M23s" => [ 12, 27 ],
+  "M24" => [ 18, 38 ],
+  "M25" => [ 26, 38 ],
+  "M26" => [ 26, 38 ],
+  "M27" => [ 37, 38 ],
+  "M28" => [ 26, 38 ],
+  "M29" => [ 7, 38 ],
+  "M3" => [ 37, 9 ],
+  "M30" => [ 9, 38 ],
+  "M31" => [ 16, 29 ],
+  "M32" => [ 12, 36 ],
+  "M33" => [ 37, 9 ],
+  "M34" => [ 16, 38 ],
+  "M35" => [ 14, 18 ],
+  "M36" => [ 20, 18 ],
+  "M37" => [ 25, 19 ],
+  "M38" => [ 37, 25 ],
+  "M39" => [ 18, 16 ],
+  "M4" => [ 12, 38 ],
+  "M40" => [ 9, 38 ],
+  "M41" => [ 25, 7 ],
+  "M42" => [ 25, 25 ],
+  "M43" => [ 56, 38 ],
+  "M43A" => [ 49, 38 ],
+  "M44" => [ 15, 38 ],
+  "M5" => [ 14, 38 ],
+  "M6" => [ 16, 38 ],
+  "M7" => [ 12, 38 ],
+  "M8" => [ 36, 19 ],
+  "M9" => [ 37, 32 ],
+  "mn&n&t" => [ 38, 38 ],
+  "mn&n&x" => [ 38, 38 ],
+  "mr&&r&r" => [ 49, 38 ],
+  "mr&r&r" => [ 38, 38 ],
+  "mr&r&t" => [ 45, 38 ],
+  "n&A1" => [ 37, 38 ],
+  "n&D" => [ 37, 38 ],
+  "n&f&n" => [ 38, 38 ],
+  "n&f&t" => [ 37, 38 ],
+  "n&n&a" => [ 37, 38 ],
+  "n&n&f" => [ 38, 38 ],
+  "n&nH" => [ 37, 38 ],
+  "n&nm&m" => [ 37, 38 ],
+  "n&t&f" => [ 37, 38 ],
+  "n&t&k" => [ 37, 38 ],
+  "n&t&t" => [ 37, 38 ],
+  "n&U19&nw" => [ 37, 38 ],
+  "n&w" => [ 37, 38 ],
+  "n&wa&w" => [ 37, 38 ],
+  "n&x&f" => [ 37, 38 ],
+  "n&xAst&t" => [ 37, 38 ],
+  "n&xt" => [ 37, 38 ],
+  "N1" => [ 38, 11 ],
+  "N10" => [ 19, 18 ],
+  "N11" => [ 38, 12 ],
+  "N12" => [ 38, 13 ],
+  "N13" => [ 28, 27 ],
+  "N14" => [ 23, 22 ],
+  "N15" => [ 26, 26 ],
+  "N16" => [ 36, 9 ],
+  "N17" => [ 36, 6 ],
+  "N18" => [ 38, 8 ],
+  "N19" => [ 38, 22 ],
+  "N2" => [ 33, 38 ],
+  "N20" => [ 38, 9 ],
+  "N21" => [ 25, 11 ],
+  "N22" => [ 29, 11 ],
+  "N23" => [ 20, 11 ],
+  "N24" => [ 37, 14 ],
+  "N25" => [ 38, 16 ],
+  "N26" => [ 30, 15 ],
+  "N27" => [ 30, 22 ],
+  "N28" => [ 28, 15 ],
+  "N29" => [ 16, 17 ],
+  "N3" => [ 28, 38 ],
+  "N30" => [ 38, 16 ],
+  "N31" => [ 38, 19 ],
+  "N32" => [ 17, 24 ],
+  "N33" => [ 18, 18 ],
+  "N33A" => [ 41, 7 ],
+  "N33B" => [ 7, 7 ],
+  "N33C" => [ 11, 11 ],
+  "N34" => [ 25, 22 ],
+  "N35" => [ 37, 5 ],
+  "N35A" => [ 37, 38 ],
+  "N35B" => [ 37, 21 ],
+  "N35C" => [ 37, 13 ],
+  "N36" => [ 38, 9 ],
+  "N37" => [ 38, 12 ],
+  "N38" => [ 38, 12 ],
+  "N39" => [ 38, 10 ],
+  "N4" => [ 38, 22 ],
+  "N40" => [ 38, 24 ],
+  "N41" => [ 19, 19 ],
+  "N42" => [ 19, 19 ],
+  "N5" => [ 18, 18 ],
+  "N6" => [ 36, 20 ],
+  "N7" => [ 21, 38 ],
+  "N8" => [ 14, 21 ],
+  "N9" => [ 18, 18 ],
+  "nbAki" => [ 58, 40 ],
+  "nswt&bity" => [ 47, 38 ],
+  "O1" => [ 31, 16 ],
+  "O10" => [ 38, 38 ],
+  "O11" => [ 11, 38 ],
+  "O12" => [ 37, 38 ],
+  "O13" => [ 38, 38 ],
+  "O14" => [ 33, 31 ],
+  "O15" => [ 38, 38 ],
+  "O16" => [ 38, 26 ],
+  "O17" => [ 32, 26 ],
+  "O18" => [ 33, 38 ],
+  "O19" => [ 36, 38 ],
+  "O2" => [ 32, 38 ],
+  "O20" => [ 24, 38 ],
+  "O21" => [ 22, 38 ],
+  "O22" => [ 37, 30 ],
+  "O23" => [ 41, 38 ],
+  "O24" => [ 21, 38 ],
+  "O25" => [ 12, 38 ],
+  "O26" => [ 28, 38 ],
+  "O27" => [ 37, 32 ],
+  "O28" => [ 9, 38 ],
+  "O29" => [ 38, 7 ],
+  "O29V" => [ 7, 38 ],
+  "O3" => [ 36, 38 ],
+  "O30" => [ 10, 38 ],
+  "O31" => [ 38, 9 ],
+  "O32" => [ 25, 38 ],
+  "O33" => [ 32, 38 ],
+  "O34" => [ 37, 6 ],
+  "O35" => [ 37, 19 ],
+  "O36" => [ 15, 38 ],
+  "O37" => [ 40, 26 ],
+  "O38" => [ 28, 28 ],
+  "O39" => [ 24, 10 ],
+  "O4" => [ 23, 18 ],
+  "O40" => [ 30, 27 ],
+  "O41" => [ 38, 19 ],
+  "O42" => [ 37, 19 ],
+  "O43" => [ 38, 11 ],
+  "O44" => [ 22, 38 ],
+  "O45" => [ 19, 18 ],
+  "O46" => [ 18, 24 ],
+  "O47" => [ 25, 11 ],
+  "O48" => [ 18, 18 ],
+  "O49" => [ 18, 18 ],
+  "O5" => [ 27, 20 ],
+  "O50" => [ 18, 18 ],
+  "O51" => [ 37, 31 ],
+  "O6" => [ 15, 38 ],
+  "O7" => [ 15, 38 ],
+  "O8" => [ 38, 38 ],
+  "O9" => [ 37, 38 ],
+  "p&z&f" => [ 38, 38 ],
+  "P1" => [ 42, 22 ],
+  "P10" => [ 37, 38 ],
+  "P11" => [ 8, 38 ],
+  "P13" => [ 38, 8 ],
+  "P1A" => [ 42, 22 ],
+  "P2" => [ 38, 30 ],
+  "P3" => [ 38, 24 ],
+  "P4" => [ 38, 20 ],
+  "P44A" => [ 38, 16 ],
+  "P5" => [ 37, 38 ],
+  "P6" => [ 12, 38 ],
+  "P7" => [ 38, 38 ],
+  "P8" => [ 7, 38 ],
+  "P8H" => [ 38, 7 ],
+  "P9" => [ 30, 38 ],
+  "pr&r&t" => [ 45, 38 ],
+  "Q1" => [ 18, 38 ],
+  "Q2" => [ 36, 24 ],
+  "Q3" => [ 12, 15 ],
+  "Q4" => [ 31, 20 ],
+  "Q5" => [ 38, 15 ],
+  "Q6" => [ 38, 24 ],
+  "Q7" => [ 20, 37 ],
+  "Q_HASH" => [ 20, 20 ],
+  "QUERY" => [ 18, 28 ],
+  "r&a&k" => [ 38, 38 ],
+  "r&a&t" => [ 38, 38 ],
+  "r&A1" => [ 38, 38 ],
+  "r&D&d" => [ 37, 38 ],
+  "r&f&n" => [ 38, 38 ],
+  "r&n&f" => [ 38, 38 ],
+  "r&r&t" => [ 53, 38 ],
+  "r&r" => [ 53, 9 ],
+  "r&t" => [ 45, 9 ],
+  "R1" => [ 38, 38 ],
+  "R10" => [ 23, 33 ],
+  "R11" => [ 16, 37 ],
+  "R12" => [ 38, 24 ],
+  "R13" => [ 27, 38 ],
+  "R14" => [ 12, 38 ],
+  "R15" => [ 22, 38 ],
+  "R16" => [ 12, 38 ],
+  "R17" => [ 17, 38 ],
+  "R18" => [ 22, 38 ],
+  "R19" => [ 18, 38 ],
+  "R2" => [ 38, 38 ],
+  "R20" => [ 24, 37 ],
+  "R21" => [ 16, 36 ],
+  "R22" => [ 37, 5 ],
+  "R23" => [ 37, 9 ],
+  "R24" => [ 38, 16 ],
+  "R25" => [ 27, 37 ],
+  "R3" => [ 37, 33 ],
+  "R4" => [ 36, 15 ],
+  "R5" => [ 36, 12 ],
+  "R6" => [ 34, 19 ],
+  "R7" => [ 16, 28 ],
+  "R8" => [ 15, 38 ],
+  "R8A" => [ 38, 38 ],
+  "R9" => [ 16, 37 ],
+  "REDDOT" => [ 12, 12 ],
+  "S1" => [ 24, 36 ],
+  "S10" => [ 23, 24 ],
+  "S106" => [ 30, 9 ],
+  "S11" => [ 24, 20 ],
+  "S12" => [ 38, 19 ],
+  "S13" => [ 38, 38 ],
+  "S14" => [ 38, 38 ],
+  "S14A" => [ 38, 38 ],
+  "S15" => [ 37, 38 ],
+  "S16" => [ 22, 34 ],
+  "S17" => [ 26, 38 ],
+  "S17A" => [ 38, 24 ],
+  "S18" => [ 29, 36 ],
+  "S19" => [ 32, 28 ],
+  "S2" => [ 38, 38 ],
+  "S20" => [ 13, 25 ],
+  "S21" => [ 19, 18 ],
+  "S22" => [ 38, 25 ],
+  "S23" => [ 37, 25 ],
+  "S24" => [ 38, 8 ],
+  "S25" => [ 38, 24 ],
+  "S26" => [ 23, 28 ],
+  "S27" => [ 34, 38 ],
+  "S28&Z2" => [ 36, 38 ],
+  "S28" => [ 36, 38 ],
+  "S29" => [ 8, 38 ],
+  "S29s" => [ 6, 27 ],
+  "S3" => [ 29, 38 ],
+  "S30" => [ 38, 38 ],
+  "S31" => [ 38, 38 ],
+  "S32" => [ 38, 11 ],
+  "S33" => [ 14, 38 ],
+  "S34" => [ 20, 38 ],
+  "S35" => [ 28, 38 ],
+  "S36" => [ 22, 38 ],
+  "S37" => [ 12, 38 ],
+  "S38" => [ 10, 38 ],
+  "S39" => [ 9, 38 ],
+  "S4" => [ 38, 38 ],
+  "S40" => [ 11, 38 ],
+  "S41" => [ 11, 38 ],
+  "S42" => [ 12, 38 ],
+  "S43" => [ 7, 38 ],
+  "S44" => [ 16, 38 ],
+  "S45" => [ 28, 30 ],
+  "S5" => [ 30, 38 ],
+  "S6" => [ 38, 38 ],
+  "S7" => [ 37, 38 ],
+  "S8" => [ 37, 38 ],
+  "S9" => [ 26, 38 ],
+  "SPACE" => [ 38, 13 ],
+  "sSm&m" => [ 36, 38 ],
+  "sti&t" => [ 27, 38 ],
+  "stp&s" => [ 35, 38 ],
+  "t&A" => [ 27, 38 ],
+  "t&A19" => [ 17, 38 ],
+  "t&H" => [ 15, 38 ],
+  "t&I12" => [ 18, 38 ],
+  "t&M30" => [ 15, 38 ],
+  "t&nw" => [ 37, 38 ],
+  "t&r&f" => [ 38, 38 ],
+  "t&r" => [ 45, 9 ],
+  "t&s" => [ 15, 38 ],
+  "t&sti" => [ 27, 38 ],
+  "t&T30" => [ 38, 23 ],
+  "T1" => [ 36, 9 ],
+  "T10" => [ 38, 6 ],
+  "T11" => [ 37, 8 ],
+  "T12" => [ 25, 27 ],
+  "T13" => [ 14, 38 ],
+  "T14" => [ 11, 38 ],
+  "T15" => [ 8, 38 ],
+  "T16" => [ 38, 12 ],
+  "T17" => [ 38, 25 ],
+  "T18" => [ 11, 37 ],
+  "T19" => [ 11, 38 ],
+  "T2" => [ 37, 21 ],
+  "T20" => [ 7, 38 ],
+  "T21" => [ 38, 15 ],
+  "T22" => [ 11, 38 ],
+  "T23" => [ 11, 36 ],
+  "T24" => [ 29, 25 ],
+  "T25" => [ 20, 37 ],
+  "T26" => [ 38, 26 ],
+  "T27" => [ 38, 15 ],
+  "T28" => [ 19, 18 ],
+  "T29" => [ 38, 31 ],
+  "T3" => [ 8, 38 ],
+  "T30" => [ 38, 18 ],
+  "T31" => [ 36, 20 ],
+  "T32" => [ 36, 30 ],
+  "T33" => [ 38, 18 ],
+  "T34" => [ 10, 38 ],
+  "T35" => [ 7, 38 ],
+  "T4" => [ 15, 38 ],
+  "T5" => [ 35, 38 ],
+  "T6" => [ 35, 38 ],
+  "T7" => [ 38, 11 ],
+  "T7A" => [ 20, 38 ],
+  "T8" => [ 9, 38 ],
+  "T8A" => [ 11, 38 ],
+  "T8B" => [ 38, 11 ],
+  "T9" => [ 38, 7 ],
+  "T9A" => [ 38, 8 ],
+  "THREE" => [ 34, 24 ],
+  "Tr_HSPACE" => [ 5, 15 ],
+  "Tr_SPACE" => [ 38, 13 ],
+  "TWO" => [ 21, 24 ],
+  "U1" => [ 36, 38 ],
+  "U10" => [ 34, 28 ],
+  "U11" => [ 29, 38 ],
+  "U12" => [ 29, 38 ],
+  "U13" => [ 37, 26 ],
+  "U14" => [ 38, 14 ],
+  "U15" => [ 38, 16 ],
+  "U16" => [ 38, 25 ],
+  "U17" => [ 32, 23 ],
+  "U18" => [ 38, 29 ],
+  "U19" => [ 34, 25 ],
+  "U2" => [ 38, 24 ],
+  "U20" => [ 36, 9 ],
+  "U21" => [ 36, 22 ],
+  "U22" => [ 12, 24 ],
+  "U23" => [ 8, 38 ],
+  "U24" => [ 12, 38 ],
+  "U25" => [ 15, 38 ],
+  "U26" => [ 12, 38 ],
+  "U27" => [ 8, 38 ],
+  "U28" => [ 13, 38 ],
+  "U29" => [ 13, 38 ],
+  "U3" => [ 38, 38 ],
+  "U30" => [ 16, 22 ],
+  "U31" => [ 37, 16 ],
+  "U32" => [ 14, 38 ],
+  "U33" => [ 9, 38 ],
+  "U34" => [ 12, 38 ],
+  "U35" => [ 32, 38 ],
+  "U35s" => [ 23, 27 ],
+  "U36" => [ 8, 38 ],
+  "U37" => [ 32, 26 ],
+  "U38" => [ 38, 38 ],
+  "U39" => [ 12, 38 ],
+  "U4" => [ 38, 38 ],
+  "U40" => [ 20, 38 ],
+  "U41" => [ 20, 34 ],
+  "U5" => [ 38, 24 ],
+  "U6" => [ 24, 37 ],
+  "U7" => [ 36, 18 ],
+  "U8" => [ 30, 16 ],
+  "U9" => [ 34, 22 ],
+  "V1" => [ 10, 20 ],
+  "V10" => [ 38, 19 ],
+  "V10A" => [ 14, 40 ],
+  "V11" => [ 19, 19 ],
+  "V11A" => [ 16, 40 ],
+  "V12" => [ 29, 18 ],
+  "V13" => [ 38, 10 ],
+  "V14" => [ 38, 10 ],
+  "V15" => [ 38, 25 ],
+  "V16" => [ 37, 19 ],
+  "V17" => [ 13, 38 ],
+  "V18" => [ 13, 38 ],
+  "V19" => [ 23, 23 ],
+  "V2" => [ 38, 16 ],
+  "V20" => [ 12, 13 ],
+  "V21" => [ 35, 38 ],
+  "V22" => [ 38, 25 ],
+  "V23" => [ 38, 27 ],
+  "V24" => [ 7, 38 ],
+  "V25" => [ 9, 38 ],
+  "V26" => [ 38, 9 ],
+  "V27" => [ 38, 7 ],
+  "V28" => [ 10, 38 ],
+  "V29" => [ 18, 38 ],
+  "V3" => [ 38, 15 ],
+  "V30" => [ 38, 12 ],
+  "V31" => [ 38, 11 ],
+  "V31A" => [ 38, 11 ],
+  "V32" => [ 38, 12 ],
+  "V33" => [ 16, 22 ],
+  "V34" => [ 18, 26 ],
+  "V35" => [ 19, 24 ],
+  "V36" => [ 18, 38 ],
+  "V37" => [ 27, 24 ],
+  "V38" => [ 11, 38 ],
+  "V39" => [ 18, 38 ],
+  "V4" => [ 32, 36 ],
+  "V5" => [ 20, 38 ],
+  "V6" => [ 11, 22 ],
+  "V7" => [ 9, 26 ],
+  "V8" => [ 12, 28 ],
+  "V9" => [ 20, 20 ],
+  "V_HASH" => [ 15, 38 ],
+  "VTHREE" => [ 25, 34 ],
+  "w&&t" => [ 18, 38 ],
+  "w&t" => [ 36, 38 ],
+  "w&y" => [ 38, 38 ],
+  "W1" => [ 20, 38 ],
+  "W10" => [ 21, 14 ],
+  "W10A" => [ 15, 15 ],
+  "W11" => [ 21, 18 ],
+  "W12" => [ 21, 18 ],
+  "W13" => [ 21, 19 ],
+  "W14" => [ 12, 38 ],
+  "W15" => [ 19, 38 ],
+  "W16" => [ 26, 38 ],
+  "W17" => [ 32, 38 ],
+  "W18" => [ 40, 38 ],
+  "W19" => [ 15, 38 ],
+  "W19s" => [ 10, 27 ],
+  "W2" => [ 24, 38 ],
+  "W20" => [ 18, 37 ],
+  "W21" => [ 21, 21 ],
+  "W22" => [ 12, 19 ],
+  "W23" => [ 19, 20 ],
+  "W24" => [ 16, 17 ],
+  "W25" => [ 17, 38 ],
+  "W3" => [ 38, 14 ],
+  "W4" => [ 38, 38 ],
+  "W5" => [ 38, 34 ],
+  "W6" => [ 22, 14 ],
+  "W7" => [ 25, 22 ],
+  "W8" => [ 38, 12 ],
+  "W9" => [ 16, 24 ],
+  "wa&W&a" => [ 36, 38 ],
+  "wn&n&t" => [ 37, 38 ],
+  "wr&r&t" => [ 38, 38 ],
+  "x&f&t" => [ 38, 38 ],
+  "x&mt&t" => [ 36, 38 ],
+  "x&r&t&Y1" => [ 45, 38 ],
+  "x&r&t" => [ 45, 38 ],
+  "X1" => [ 20, 11 ],
+  "X2" => [ 13, 20 ],
+  "X3" => [ 10, 19 ],
+  "X4" => [ 38, 10 ],
+  "X5" => [ 38, 11 ],
+  "X6" => [ 24, 18 ],
+  "X7" => [ 12, 17 ],
+  "X8" => [ 19, 38 ],
+  "xAswt" => [ 38, 38 ],
+  "Y1&A1" => [ 38, 38 ],
+  "Y1&n&f" => [ 38, 38 ],
+  "Y1" => [ 38, 10 ],
+  "Y1V" => [ 10, 38 ],
+  "Y2" => [ 38, 10 ],
+  "Y3" => [ 31, 38 ],
+  "Y4" => [ 31, 38 ],
+  "Y5" => [ 38, 13 ],
+  "Y6" => [ 12, 23 ],
+  "Y7" => [ 18, 36 ],
+  "Y8" => [ 21, 38 ],
+  "z&A1&Z1" => [ 38, 38 ],
+  "z&A1" => [ 38, 38 ],
+  "z&Ab&b" => [ 38, 38 ],
+  "z&Dr&r" => [ 38, 38 ],
+  "z&w" => [ 38, 38 ],
+  "z&X&k" => [ 38, 38 ],
+  "z&x&r" => [ 38, 38 ],
+  "Z1" => [ 4, 16 ],
+  "Z10" => [ 24, 15 ],
+  "Z11" => [ 23, 38 ],
+  "Z1s" => [ 4, 11 ],
+  "Z2" => [ 38, 11 ],
+  "Z2s" => [ 28, 11 ],
+  "Z2ss" => [ 18, 11 ],
+  "Z3" => [ 2, 38 ],
+  "Z3A" => [ 11, 38 ],
+  "Z3as" => [ 11, 18 ],
+  "Z4" => [ 16, 14 ],
+  "Z4B" => [ 20, 20 ],
+  "Z5" => [ 14, 14 ],
+  "Z6&A1" => [ 38, 38 ],
+  "Z6" => [ 38, 21 ],
+  "Z7" => [ 12, 17 ],
+  "Z8" => [ 34, 11 ],
+  "Z9" => [ 16, 16 ],
+  "Z91" => [ 12, 4 ],
+  "Z92" => [ 12, 15 ],
+  "Z93" => [ 12, 26 ],
+  "Z94" => [ 12, 38 ],
+  "Z95" => [ 12, 38 ],
+  "Z98A" => [ 5, 15 ],
+];
 
 
-$wh_phonemes   =       array( // phoneme -> Gardiner code conversion table
+$wh_phonemes   =       [ // phoneme -> Gardiner code conversion table
        "mSa"   =>      "A12",
        "xr"    =>      "A15",
        "Xrd"   =>      "A17",
@@ -1541,5 +1541,5 @@
        "\"]"   =>      "",
        "['"    =>      "",
        "']"    =>      "",
-);
+];
 
diff --git a/generateTables.php b/generateTables.php
index 9d208d8..afbab53 100644
--- a/generateTables.php
+++ b/generateTables.php
@@ -24,9 +24,9 @@
 
 $IP = getenv( 'MW_INSTALL_PATH' );
 if ( $IP === false ) {
-       $IP = dirname( __FILE__ ) . '/../..';
+       $IP = __DIR__ . '/../..';
 }
-require_once( "$IP/maintenance/Maintenance.php" );
+require_once ( "$IP/maintenance/Maintenance.php" );
 
 class GenerateWikiHieroTables extends Maintenance {
 
@@ -42,8 +42,8 @@
                $repo = new GitInfo( __DIR__ );
                $gitVersion = $repo->getHeadSHA1() ?: '<unknown revision>';
 
-               $wh_prefabs = "\$wh_prefabs = array(\n";
-               $wh_files   = "\$wh_files   = array(\n";
+               $wh_prefabs = "\$wh_prefabs = [\n";
+               $wh_files   = "\$wh_files   = [\n";
 
                $imgDir = __DIR__ . '/img/';
 
@@ -53,7 +53,7 @@
                                while ( ( $file = readdir( $dh ) ) !== false ) {
                                        if ( stristr( $file, 
WikiHiero::IMAGE_EXT ) ) {
                                                list( $width, $height, , ) = 
getimagesize( $imgDir . $file );
-                                               $wh_files .= "  \"" . 
WikiHiero::getCode( $file ) . "\" => array( $width, $height ),\n";
+                                               $wh_files .= "  \"" . 
WikiHiero::getCode( $file ) . "\" => [ $width, $height ],\n";
                                                if ( strchr( $file, '&' ) ) {
                                                        $wh_prefabs .= "  \"" . 
WikiHiero::getCode( $file ) . "\",\n";
                                                }
@@ -65,8 +65,8 @@
                        $this->error( "Images directory $imgDir not found!\n", 
true );
                }
 
-               $wh_prefabs .= ");";
-               $wh_files .= ");";
+               $wh_prefabs .= "];";
+               $wh_files .= "];";
 
                $file = fopen( __DIR__ . '/data/tables.php', 'w+' );
                fwrite( $file, "<?php\n\n" );
@@ -79,16 +79,16 @@
        }
 
        private function serialize() {
-               require( __DIR__ . '/data/tables.php' );
-               $result = array();
-               foreach ( array( 'wh_phonemes', 'wh_prefabs', 'wh_files' ) as 
$varName ) {
+               require ( __DIR__ . '/data/tables.php' );
+               $result = [];
+               foreach ( [ 'wh_phonemes', 'wh_prefabs', 'wh_files' ] as 
$varName ) {
                        $result[$varName] = $$varName;
                }
                file_put_contents( __DIR__ . '/data/tables.ser', serialize( 
$result ) );
        }
 
        private $moreTables = '
-$wh_phonemes   =       array( // phoneme -> Gardiner code conversion table
+$wh_phonemes   =       [ // phoneme -> Gardiner code conversion table
        "mSa"   =>      "A12",
        "xr"    =>      "A15",
        "Xrd"   =>      "A17",
@@ -511,7 +511,7 @@
        "\"]"   =>      "",
        "[\'"   =>      "",
        "\']"   =>      "",
-);
+];
 ';
 
 }
diff --git a/wikihiero.body.php b/wikihiero.body.php
index 1348dfa..7b206aa 100644
--- a/wikihiero.body.php
+++ b/wikihiero.body.php
@@ -39,7 +39,7 @@
 
        private static $phonemes, $prefabs, $files;
 
-       public function __construct( Config $config = null) {
+       public function __construct( Config $config = null ) {
                $this->config = $config ?: 
RequestContext::getMain()->getConfig();
                self::loadData();
        }
@@ -72,7 +72,7 @@
        /**
         * Parser callback for <hiero> tag
         */
-       public static function parserHook( $input, $args = array(), $parser ) {
+       public static function parserHook( $input, $args = [], $parser ) {
                $hiero = new WikiHiero();
                $parser->getOutput()->addModuleStyles( 'ext.wikihiero' );
                // Strip newlines to avoid breakage in the wiki parser block 
pass
@@ -138,14 +138,14 @@
                }
 
                $style = is_null( $margin ) ? null : "margin: {$margin}px;";
-               $attribs = array(
+               $attribs = [
                        'class' => $class,
                    'style' => $style,
                    'src' => $this->getImageUrl( $fileName ),
                    'height' => $height,
                    'title' => $title,
                    'alt' => $glyph,
-               );
+               ];
                return Html::element( 'img', $attribs );
        }
 
@@ -158,10 +158,10 @@
                $width = intval( $width );
                return Html::rawElement(
                        'table',
-                       array(
+                       [
                                'class' => 'mw-hiero-table',
                            'style' => "width: {$width}px;",
-                       ),
+                       ],
                        '<tr><td>&#160;</td></tr>'
                );
        }
@@ -370,11 +370,11 @@
 
                return Html::rawElement(
                        'table',
-                       array(
+                       [
                                'class' => 'mw-hiero-table mw-hiero-outer',
                                'dir' => 'ltr',
                            'style' => $style,
-                       ),
+                       ],
                        "<tr><td>\n$html\n</td></tr>"
                );
        }
@@ -382,7 +382,7 @@
        /**
         * Returns a list of image files used by this extension
         *
-        * @return array: list of files in format 'file' => array( width, 
height )
+        * @return array: list of files in format 'file' => [ width, height ]
         */
        public function getFiles() {
                return self::$files;

-- 
To view, visit https://gerrit.wikimedia.org/r/324816
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ief04ee0d01ef4877def3daa5e62da21b494f44d3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/wikihiero
Gerrit-Branch: master
Gerrit-Owner: MaxSem <maxsem.w...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to