Browse files

lang/perl/Moxy: import Moxy.

git-svn-id: http://svn.coderepos.org/share/lang/perl/Moxy/trunk@2891 d0d07461-0603-4401-acd4-de1884942a52
  • Loading branch information...
1 parent 5453ca2 commit dfced1a1fa656c35cdf5de15d79b6607ba324cc8 tokuhirom committed Dec 8, 2007
Showing with 4,540 additions and 0 deletions.
  1. +3 −0 AUTHORS
  2. +67 −0 MANIFEST
  3. +34 −0 META.yml
  4. +53 −0 Makefile.PL
  5. +25 −0 README
  6. +45 −0 TODO
  7. +97 −0 assets/common/useragent.yaml
  8. +5 −0 assets/plugins/ControlPanel/panelcontainer.tt
  9. +535 −0 assets/plugins/GPS/iarea.tt
  10. +641 −0 assets/plugins/Pictogram/ez.sjis.txt
  11. +641 −0 assets/plugins/Pictogram/ez.uni2number.yaml
  12. +253 −0 assets/plugins/Pictogram/i2ezpict.yaml
  13. +1 −0 assets/plugins/Pictogram/pict.tmpl
  14. +1 −0 assets/plugins/QRCode/panel.tt
  15. +11 −0 assets/plugins/ShowHTTPHeaders/panel.tt
  16. +16 −0 assets/plugins/UserAgentSwitcher/panel.tt
  17. +6 −0 assets/plugins/UserID/panel.tt
  18. +60 −0 bin/e_model_info_scraper.pl
  19. +24 −0 config.yaml
  20. +123 −0 deps.txt
  21. +189 −0 lib/Moxy.pm
  22. +85 −0 lib/Moxy/Manual/HackingJA.pod
  23. +32 −0 lib/Moxy/Manual/InstallJA.pod
  24. +77 −0 lib/Moxy/Manual/PluginGuideJA.pod
  25. +63 −0 lib/Moxy/Plugin.pm
  26. +72 −0 lib/Moxy/Plugin/ControlPanel.pm
  27. +35 −0 lib/Moxy/Plugin/CookieCutter.pm
  28. +64 −0 lib/Moxy/Plugin/DisableTableTag.pm
  29. +73 −0 lib/Moxy/Plugin/FlashUseImgTag.pm
  30. +148 −0 lib/Moxy/Plugin/GPS.pm
  31. +28 −0 lib/Moxy/Plugin/HTMLWidth.pm
  32. +41 −0 lib/Moxy/Plugin/HTTPEnv.pm
  33. +140 −0 lib/Moxy/Plugin/Pictogram.pm
  34. +60 −0 lib/Moxy/Plugin/QRCode.pm
  35. +25 −0 lib/Moxy/Plugin/RefererCutter.pm
  36. +44 −0 lib/Moxy/Plugin/ShowHTTPHeaders.pm
  37. +50 −0 lib/Moxy/Plugin/StickyUA.pm
  38. +61 −0 lib/Moxy/Plugin/UserAgentSwitcher.pm
  39. +87 −0 lib/Moxy/Plugin/UserID.pm
  40. +26 −0 lib/Moxy/Plugin/XMLisHTML.pm
  41. +127 −0 lib/Moxy/Scraper.pm
  42. +115 −0 lib/Moxy/Server/HTTPProxy.pm
  43. +10 −0 lib/Moxy/Storage.pm
  44. +48 −0 lib/Moxy/Storage/DBM_File.pm
  45. +39 −0 lib/Moxy/Util.pm
  46. +68 −0 moxy.pl
  47. +17 −0 scandeps-moxy.pl
  48. +7 −0 scraper.pl
  49. +9 −0 t/00.load.t
  50. +7 −0 t/perlcritic.t
  51. +6 −0 t/pod.t
  52. +46 −0 t/spelling.t
View
3 AUTHORS
@@ -0,0 +1,3 @@
+Kan Fushihara(Orignal Author and Current Mainter)
+Tokuhiro Matsuno
+Tatsuhiko Miyagawa
View
67 MANIFEST
@@ -0,0 +1,67 @@
+assets/common/panel.tt
+assets/common/useragent.yaml
+assets/plugins/ControlPanel/panelcontainer.tt
+assets/plugins/GPS/iarea.tt
+assets/plugins/Pictogram/ez.sjis.txt
+assets/plugins/Pictogram/i2ezpict.yaml
+assets/plugins/Pictogram/pict.tmpl
+assets/plugins/QRCode/panel.tt
+assets/plugins/ShowHTTPHeaders/panel.tt
+assets/plugins/UserAgentSwitcher/panel.tt
+assets/plugins/UserID/panel.tt
+AUTHORS
+bin/e_model_info_scraper.pl
+config.yaml
+deps.txt
+inc/Module/AutoInstall.pm
+inc/Module/Install.pm
+inc/Module/Install/AutoInstall.pm
+inc/Module/Install/Base.pm
+inc/Module/Install/Can.pm
+inc/Module/Install/Fetch.pm
+inc/Module/Install/Include.pm
+inc/Module/Install/Makefile.pm
+inc/Module/Install/Metadata.pm
+inc/Module/Install/Scripts.pm
+inc/Module/Install/Win32.pm
+inc/Module/Install/WriteAll.pm
+inc/Path/Class.pm
+inc/Test/More.pm
+inc/Web/Scraper.pm
+lib/Moxy.pm
+lib/Moxy/Manual/HackingJA.pod
+lib/Moxy/Manual/InstallJA.pod
+lib/Moxy/Manual/PluginGuideJA.pod
+lib/Moxy/Plugin.pm
+lib/Moxy/Plugin/ControlPanel.pm
+lib/Moxy/Plugin/CookieCutter.pm
+lib/Moxy/Plugin/DisableTableTag.pm
+lib/Moxy/Plugin/FlashUseImgTag.pm
+lib/Moxy/Plugin/GPS.pm
+lib/Moxy/Plugin/HTMLWidth.pm
+lib/Moxy/Plugin/HTTPEnv.pm
+lib/Moxy/Plugin/Pictogram.pm
+lib/Moxy/Plugin/QRCode.pm
+lib/Moxy/Plugin/RefererCutter.pm
+lib/Moxy/Plugin/ShowHTTPHeaders.pm
+lib/Moxy/Plugin/StickyUA.pm
+lib/Moxy/Plugin/UserAgentSwitcher.pm
+lib/Moxy/Plugin/UserID.pm
+lib/Moxy/Plugin/XMLisHTML.pm
+lib/Moxy/Scraper.pm
+lib/Moxy/Server/HTTPProxy.pm
+lib/Moxy/Storage.pm
+lib/Moxy/Storage/DBM_File.pm
+lib/Moxy/Util.pm
+Makefile.PL
+MANIFEST This list of files
+META.yml
+moxy.pl
+README
+scandeps-moxy.pl
+scraper.pl
+t/00.load.t
+t/perlcritic.t
+t/pod.t
+t/spelling.t
+TODO
View
34 META.yml
@@ -0,0 +1,34 @@
+abstract: ~
+build_requires:
+ Path::Class: 0
+ Test::More: 0
+ Web::Scraper: 0
+distribution_type: module
+generated_by: Module::Install version 0.64
+license: unknown
+name: Moxy
+no_index:
+ directory:
+ - inc
+ - t
+recommends:
+ Encode::Detect: 1
+ HTML::StickyQuery: 0
+ Test::Pod: 0
+ Test::Pod::Coverage: 0
+requires:
+ CGI: 0
+ Carp: 0
+ Class::Accessor: 0
+ FindBin: 0
+ Getopt::Long: 0
+ HTML::Entities::ImodePictogram: 0
+ HTTP::MobileAgent: 0
+ HTTP::Proxy: 0
+ Path::Class: 0
+ Pod::Usage: 0
+ Template: 0
+ UNIVERSAL::require: 0
+ YAML: 0
+tests: t/*.t t/*/*.t t/*/*/*.t
+version: 0.03
View
53 Makefile.PL
@@ -0,0 +1,53 @@
+use strict;
+use warnings;
+use inc::Module::Install;
+
+name("Moxy");
+all_from("lib/Moxy.pm");
+
+requires('HTTP::MobileAgent');
+requires('HTTP::Proxy');
+requires('HTML::Entities::ImodePictogram');
+requires('CGI');
+requires('FindBin');
+requires('Path::Class');
+requires('YAML');
+requires('Template');
+requires('Carp');
+requires('Getopt::Long');
+requires('Pod::Usage');
+requires('Class::Accessor');
+requires('UNIVERSAL::require');
+
+build_requires('Test::More');
+build_requires('Path::Class');
+build_requires('Web::Scraper');
+
+features(
+ 'Better Encoding detection' => [
+ -default => 0,
+ recommends('Encode::Detect', 1.0),
+ ],
+ 'POD Testing' => [
+ -default => 0,
+ recommends('Test::Pod'),
+ recommends('Test::Pod::Coverage'),
+ ],
+ 'StickyAny Plugin' => [
+ recommends('HTML::StickyQuery'),
+ ]
+);
+
+tests 't/*.t t/*/*.t t/*/*/*.t';
+
+auto_include;
+auto_install;
+
+install_script('moxy.pl');
+WriteAll;
+
+use lib qw(lib);
+print "Running pictogram scraper\n";
+require Moxy::Scraper;
+Moxy::Scraper->new->run(qw/i e v/);
+
View
25 README
@@ -0,0 +1,25 @@
+Moxy version 0.0.1
+
+a mobile development proxy.
+
+INSTALLATION
+
+see http://www.au.kddi.com/ezfactory/tec/spec/emoji_kyodaku.html
+
+To install this module, run the following commands:
+
+ perl Makefile.PL
+ make
+ make install
+
+DEPENDENCIES
+
+None.
+
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2007, KAN Fushihara
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
View
45 TODO
@@ -0,0 +1,45 @@
+- Moxy::Plugin
+ - store UI
+
+- Store::SQLite
+- plugin should be server implementation independent
+
+- plugins
+ - live http headers
+ - by comet?
+ - GPS Support(carrier strict, selectable)
+ - support utn
+ - check contents size(max pdu)
+
+- Server::HTTPProxy
+
+- plugins: use render_template
+- plugins: $self is not a self... just a $class.
+
+- add tests.
+
+http://kokogiko.net/m/archives/001955.html
+
+__END__
+- known bugs
+ - can't use gmail(with CookieCutter)
+ - can't use hiki(with StickyUA)
+
+ - set subscribe number
+ - auto select subclass
+ - pict convert
+ - html width change
+ - split referer cutter from core.
+
+- config file
+ - YAML format
+ - plagger type config (one file)
+
+ - set patch id:milkjelly
+ - set http_env
+
+- TODO
+ - pict convert other carrier
+ - pict image server
+
+- store data to gdbm/sqlite?
View
97 assets/common/useragent.yaml
@@ -0,0 +1,97 @@
+---
+pc:
+ -
+ name: Internet Explorer 6 (Windows XP)
+ agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
+ width:
+ height:
+ size:
+ flash: 1
+ cookie: 1
+
+i-mode:
+ -
+ name: SH901iC(端末IDあり)
+ agent: DoCoMo/2.0 SH901iC(c100;TB;W24H12;serTESTI7890ABCDE;icc12345678901234567890)
+ width: 240
+ height: 320
+ size:
+ flash:
+ -
+ name: SH901iC(端末ID無し)
+ agent: DoCoMo/2.0 SH901iC(c100;TB;W24H12)
+ width: 240
+ height: 320
+ size:
+ flash:
+
+ez:
+ -
+ name: W43H(デコメ対応)
+ agent: KDDI-HI38 UP.Browser/6.2.0.11.1.2 (GUI) MMP/2.0
+ width: 240
+ height: 400
+ size:
+ flash: 1
+ cookie: 1
+ -
+ name: W22H(デコメ非対応)
+ agent: KDDI-HI33 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0
+ width: 240
+ height: 320
+ size:
+ flash:
+ cookie: 1
+ -
+ name: A1013K(WAP1端末)
+ agent: UP.Browser/3.04-KC15 UP.Link/3.4.5.9
+ width: 120
+ height: 160
+ size:
+ flash:
+ cookie: 1
+
+softbank:
+ -
+ name: V902SH
+ agent: Vodafone/1.0/V902SH/SHJ001 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
+ width: 240
+ height: 320
+ size:
+ flash: 1
+ -
+ name: V702NK(Nokia端末)
+ agent: Vodafone/1.0/V702NK/NKJ001 Series60/2.6 Nokia6630/2.39.148 Profile/MIDP-2.0 Configuration/CLDC-1.1
+ width: 208
+ height: 176
+ size:
+ flash:
+ - name: J-SH07(type C3)
+ agent: J-PHONE/3.0/J-SH07
+ width: 120
+ height: 117
+ size:
+ flash:
+
+googlebot:
+ -
+ name: KDDI-Googlebot
+ agent: KDDI-SA31 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0 (compatible;
+ -
+ name: Googlebot-Mobile(DoCoMo)
+ agent: DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)
+ -
+ name: Googlebot-Mobile(Nokia)
+ agent: Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)
+
+willcom:
+ -
+ name: WX310K
+ agent: Mozilla/3.0(WILLCOM;KYOCERA/WX310K/2;1.1.5.15.000000/0.1/C100) Opera 7.0
+ width: 240
+
+none:
+ -
+ name: UserAgent無変更
+ agent: none
+ cookie: 1
View
5 assets/plugins/ControlPanel/panelcontainer.tt
@@ -0,0 +1,5 @@
+<div style="background-color:#ddddff">
+ [% FOR part IN parts %]
+ <div>[% part.html %]</div>
+ [% END %]
+</div>
View
535 assets/plugins/GPS/iarea.tt
@@ -0,0 +1,535 @@
+<html>
+<body>
+ <h1>Moxy iarea sender</h1>
+
+[%# version. 070209c. %]
+[% SET areacode2name = {
+ '00100' => '函館/渡島',
+ '00101' => '江差/桧山',
+ '00201' => '小樽/後志',
+ '00202' => '苫小牧/室蘭',
+ '00203' => '岩見沢/空知',
+ '00204' => '浦河/日高',
+ '00205' => '北広島/恵庭/千歳',
+ '00206' => '札幌駅周辺',
+ '00207' => '大通公園周辺',
+ '00208' => 'すすきの',
+ '00209' => '中島公園周辺',
+ '00210' => '桑園/円山/伏見',
+ '00211' => '大通東',
+ '00212' => '山鼻/藻岩周辺',
+ '00213' => '北24条/北大周辺',
+ '00214' => '麻生/新道北',
+ '00215' => '東区',
+ '00216' => '琴似/八軒',
+ '00217' => '手稲/宮の沢/西野',
+ '00218' => '平岸/澄川/西岡',
+ '00219' => '豊平/月寒/清田',
+ '00220' => '白石',
+ '00221' => '厚別',
+ '00222' => '南区/盤渓',
+ '00223' => '江別/石狩',
+ '00300' => '旭川/上川',
+ '00301' => '稚内/宗谷',
+ '00302' => '留萌',
+ '00400' => '網走/北見/紋別',
+ '00500' => '帯広/十勝',
+ '00600' => '釧路',
+ '00601' => '根室',
+ '00700' => '一ノ関',
+ '00800' => '盛岡',
+ '00900' => '沿岸',
+ '01000' => '八戸',
+ '01100' => '青森',
+ '01200' => '弘前',
+ '01300' => '大館',
+ '01400' => '秋田',
+ '01500' => '横手',
+ '01600' => '福島',
+ '01601' => '郡山',
+ '01700' => '会津若松/喜多方',
+ '01800' => 'いわき',
+ '01900' => '仙台市周辺',
+ '01901' => '仙南',
+ '02000' => '石巻/松島/気仙沼',
+ '02100' => '大崎',
+ '02200' => '米沢',
+ '02300' => '山形',
+ '02400' => '新庄',
+ '02500' => '鶴岡',
+ '02600' => '小山',
+ '02700' => '宇都宮',
+ '02800' => '中禅寺湖/日光周辺',
+ '02900' => '鬼怒川/川治',
+ '03000' => '塩原/大田原周辺',
+ '03100' => '那須',
+ '03200' => '尾瀬',
+ '03300' => '前橋/伊勢崎',
+ '03400' => '太田/館林',
+ '03500' => '高崎',
+ '03600' => '伊香保/榛名/草津',
+ '03700' => '沼田/水上',
+ '03800' => '湯沢/奥只見',
+ '03900' => '糸魚川/直江津',
+ '04000' => '長岡',
+ '04100' => '新潟/新津',
+ '04200' => '新発田/村上',
+ '04300' => '佐渡',
+ '04400' => '千葉',
+ '04401' => '船橋/浦安',
+ '04500' => '木更津',
+ '04600' => '内房',
+ '04700' => '外房',
+ '04800' => '茂原/九十九里',
+ '04801' => '八日市場',
+ '04900' => '成田/佐倉',
+ '05000' => '銚子周辺',
+ '05100' => '松戸/柏/野田',
+ '05200' => '取手/つくば',
+ '05300' => '古河',
+ '05400' => '土浦',
+ '05500' => '水戸',
+ '05600' => '日立周辺',
+ '05700' => '東京駅周辺',
+ '05701' => '有楽町/日比谷',
+ '05702' => '秋葉原',
+ '05703' => '神田',
+ '05704' => '御茶ノ水/神保町',
+ '05705' => '麹町/市ヶ谷',
+ '05800' => '銀座',
+ '05802' => '日本橋',
+ '05804' => '人形町/浜町',
+ '05805' => '築地',
+ '05806' => '月島/晴海/豊洲',
+ '05807' => '新橋',
+ '05808' => '浜松町/芝浦',
+ '05809' => '田町/三田',
+ '05810' => '品川',
+ '05900' => '赤坂',
+ '05901' => '青山/信濃町',
+ '05902' => '六本木',
+ '05903' => '西麻布',
+ '05904' => '麻布十番',
+ '05905' => '広尾/白金',
+ '05906' => 'お台場/有明',
+ '06000' => '大崎/五反田',
+ '06001' => '目黒',
+ '06002' => '天王洲',
+ '06003' => '大井町',
+ '06004' => '大森',
+ '06100' => '蒲田/羽田',
+ '06101' => '田園調布',
+ '06200' => '渋谷駅周辺',
+ '06201' => '渋谷明治通り/宮益坂',
+ '06203' => '表参道/原宿',
+ '06204' => '初台/代々木上原',
+ '06205' => '恵比寿/代官山',
+ '06206' => '中目黒',
+ '06207' => '自由が丘',
+ '06208' => '三軒茶屋/三宿',
+ '06209' => '二子玉川',
+ '06210' => '上野毛',
+ '06211' => '下北沢',
+ '06212' => '成城',
+ '06213' => '明大前',
+ '06214' => '下高井戸',
+ '06215' => '用賀/駒沢',
+ '06216' => '世田谷/経堂',
+ '06300' => '新宿東口',
+ '06301' => '西新宿',
+ '06302' => '新宿南口/代々木',
+ '06303' => '新宿歌舞伎町',
+ '06304' => '新宿1〜2丁目',
+ '06305' => '千駄ヶ谷/信濃町',
+ '06306' => '四谷',
+ '06307' => '飯田橋/神楽坂',
+ '06308' => '高田馬場/早稲田',
+ '06309' => '中野',
+ '06310' => '高円寺/阿佐ヶ谷',
+ '06312' => '荻窪/西荻',
+ '06314' => '練馬/西東京市',
+ '06400' => '本郷',
+ '06401' => '根津/千駄木',
+ '06402' => '白山/小石川',
+ '06403' => '大塚/目白台',
+ '06404' => '後楽園/水道橋',
+ '06500' => '池袋',
+ '06501' => '目白',
+ '06502' => '江古田',
+ '06503' => '豊島園/豊玉',
+ '06504' => '成増',
+ '06505' => '王子',
+ '06506' => '上中里',
+ '06507' => '東十条',
+ '06508' => '赤羽',
+ '06509' => '田端/駒込/巣鴨',
+ '06600' => '上野/御徒町',
+ '06601' => '浅草',
+ '06602' => '日暮里',
+ '06603' => '北千住',
+ '06604' => '青砥',
+ '06605' => '柴又',
+ '06700' => '両国',
+ '06701' => '錦糸町/曳舟',
+ '06702' => '亀戸',
+ '06703' => '森下',
+ '06704' => '深川',
+ '06705' => '木場',
+ '06706' => '辰巳/新木場',
+ '06707' => '砂町',
+ '06708' => '葛西臨海公園',
+ '06800' => '吉祥寺/三鷹',
+ '06801' => '国分寺/国立',
+ '06802' => '所沢',
+ '06900' => '飯能/日高',
+ '07000' => '川越/東松山',
+ '07001' => '和光/朝霞/富士見',
+ '07100' => '大宮',
+ '07101' => '浦和',
+ '07102' => '川口',
+ '07200' => '草加/三郷',
+ '07201' => '久喜/羽生',
+ '07202' => '春日部/越谷',
+ '07300' => '熊谷/深谷',
+ '07400' => '秩父/長瀞',
+ '07500' => '府中/調布',
+ '07501' => '多摩',
+ '07600' => '八王子',
+ '07700' => '立川',
+ '07701' => '青梅/福生/奥多摩',
+ '07800' => '溝の口/たまプラーザ/青葉台',
+ '07801' => '港北ニュータウン',
+ '07802' => 'みなとみらい',
+ '07803' => '元町/中華街',
+ '07804' => '関内/伊勢佐木町',
+ '07805' => '石川町',
+ '07806' => '本牧/三渓園',
+ '07807' => '弘明寺/井土ヶ谷',
+ '07808' => '保土ヶ谷',
+ '07809' => '磯子',
+ '07810' => '八景島/金沢文庫',
+ '07811' => '横浜',
+ '07812' => '上大岡/港南台',
+ '07813' => '大船/本郷台',
+ '07814' => '戸塚',
+ '07815' => 'いずみ野/緑園都市',
+ '07816' => '大和/瀬谷/三ツ境',
+ '07817' => '中山/長津田',
+ '07818' => '希望が丘/二俣川',
+ '07819' => '新横浜',
+ '07820' => '川崎/鶴見',
+ '07821' => '武蔵小杉/日吉',
+ '07900' => '新百合ヶ丘/登戸',
+ '08000' => '鎌倉/由比/大船',
+ '08100' => '横須賀/逗子',
+ '08200' => '平塚/大磯',
+ '08201' => '藤沢/茅ヶ崎/江ノ島',
+ '08300' => '町田/相模大野',
+ '08301' => '本厚木/海老名',
+ '08400' => '大島/新島',
+ '08500' => '三宅島/八丈島',
+ '08600' => '小笠原諸島',
+ '08700' => '小田原',
+ '08800' => '箱根',
+ '08900' => '真鶴/湯河原',
+ '09000' => '熱海/伊東/東伊豆',
+ '09200' => '下田/南伊豆',
+ '09300' => '沼津/三島/御殿場',
+ '09301' => '西伊豆',
+ '09302' => '中伊豆',
+ '09400' => '富士吉田',
+ '09500' => '富士/富士宮',
+ '09600' => '甲府',
+ '09700' => '身延線周辺',
+ '09800' => '静岡',
+ '09801' => '焼津/藤枝/志太',
+ '09802' => '静岡清水/庵原',
+ '09900' => '静岡駅周辺',
+ '10000' => '島田/榛原',
+ '10100' => '掛川/小笠',
+ '10101' => '磐田/袋井',
+ '10200' => '軽井沢/小諸',
+ '10300' => '上田/菅平',
+ '10400' => '長野',
+ '10500' => '戸隠/妙高',
+ '10600' => '志賀高原/飯山',
+ '10700' => '小海線沿線/八ヶ岳',
+ '10800' => '諏訪',
+ '10900' => '松本',
+ '11000' => '上高地/乗鞍',
+ '11100' => '大糸線沿線/北アルプス',
+ '11200' => '伊那/天竜峡',
+ '11300' => '木曽',
+ '11400' => '西区/県庁',
+ '11401' => '栄北',
+ '11402' => '栄南',
+ '11403' => '新栄',
+ '11404' => '伏見',
+ '11405' => '大須/上前津/金山',
+ '11406' => '東区',
+ '11407' => '北区',
+ '11408' => '名古屋駅',
+ '11409' => '中村区',
+ '11410' => '中川区',
+ '11411' => '港区',
+ '11412' => '熱田',
+ '11413' => '南区',
+ '11414' => '緑区',
+ '11415' => '塩釜口',
+ '11416' => '植田/原',
+ '11417' => '平針/赤池',
+ '11418' => '瑞穂区役所',
+ '11419' => '新瑞橋',
+ '11420' => '鶴舞',
+ '11421' => '御器所',
+ '11422' => '杁中',
+ '11423' => '石川橋',
+ '11424' => '八事',
+ '11425' => '桜山',
+ '11426' => '千種/今池',
+ '11427' => '池下/覚王山',
+ '11428' => '本山',
+ '11429' => '東山公園/星が丘',
+ '11430' => '一社/上社',
+ '11431' => '本郷/藤ヶ丘',
+ '11432' => '守山区',
+ '11500' => '東海/大府/日進/愛知郡',
+ '11600' => '一宮/稲沢/津島',
+ '11700' => '四日市周辺',
+ '11701' => '桑名周辺',
+ '11702' => '鈴鹿/亀山',
+ '11800' => '瀬戸/春日井/小牧/犬山',
+ '11900' => '東濃',
+ '12000' => '知多半島/西尾/蒲郡',
+ '12100' => '豊田/安城/刈谷/岡崎',
+ '12200' => '豊橋/渥美/奥三河',
+ '12300' => '浜松/浜名湖',
+ '12301' => '天竜/北遠',
+ '12400' => '岐阜',
+ '12401' => '西濃',
+ '12500' => '中濃',
+ '12600' => '飛騨',
+ '12601' => '高山',
+ '12700' => '越前/鯖江/南条',
+ '12800' => '福井/あわら/坂井',
+ '12900' => '大野/勝山/永平寺',
+ '13000' => '小松/加賀/能美',
+ '13101' => '金石/内灘/金沢東',
+ '13102' => '金沢駅/武蔵/東山',
+ '13103' => '片町/香林坊',
+ '13104' => '兼六園/小立野/もりの里/湯涌',
+ '13105' => '金沢西/寺町/有松',
+ '13106' => '野々市/松任',
+ '13200' => '白山麓/手取',
+ '13300' => '津幡/かほく/羽咋',
+ '13400' => '七尾/中能登/能登島',
+ '13500' => '奥能登',
+ '13600' => '高岡/氷見/射水',
+ '13700' => '砺波/小矢部/南砺/五箇山',
+ '13800' => '富山',
+ '13900' => '立山',
+ '14000' => '滑川/魚津/黒部/宇奈月',
+ '14100' => '大津市',
+ '14200' => '湖東/湖南',
+ '14300' => '湖北',
+ '14400' => '湖西',
+ '14500' => '敦賀/三方五湖',
+ '14600' => '小浜/若狭',
+ '14700' => '京都府北部',
+ '14701' => '京都府中部',
+ '14800' => '但馬',
+ '14900' => '京都駅周辺',
+ '14901' => '三条/四条',
+ '14903' => '二条城/御所周辺',
+ '14904' => '西院周辺',
+ '14905' => '祇園/東山',
+ '14907' => '銀閣寺/岡崎周辺',
+ '14908' => '修学院/岩倉/八瀬/大原',
+ '14912' => '桂/洛西',
+ '14913' => '嵐山/嵯峨野',
+ '14914' => '山科',
+ '14915' => '北山通/金閣寺/上賀茂周辺',
+ '14917' => '五条通周辺',
+ '14918' => '東寺/吉祥院周辺',
+ '14919' => '四条大宮',
+ '14920' => '太秦/高雄',
+ '14921' => '伏見/桃山/淀',
+ '15000' => '長岡京市/向日市',
+ '15100' => '南山城',
+ '15200' => '泉北',
+ '15201' => '泉南',
+ '15202' => '南河内',
+ '15300' => '奈良市',
+ '15400' => '生駒/大和郡山',
+ '15500' => '奈良中部',
+ '15600' => '奈良南部',
+ '15800' => '上野/名張',
+ '15900' => '和歌山/海南',
+ '16000' => '橋本/高野山',
+ '16100' => '御坊/有田',
+ '16200' => '田辺',
+ '16300' => '白浜周辺',
+ '16400' => '枯木灘/串本周辺',
+ '16500' => '那智勝浦',
+ '16600' => '新宮',
+ '16700' => '尾鷲/熊野',
+ '16800' => '津/久居',
+ '16900' => '松阪/紀勢',
+ '17000' => '伊勢/鳥羽/志摩',
+ '17200' => '中津/大淀',
+ '17201' => 'お初天神/太融寺/南森町',
+ '17202' => '大阪駅/阪急梅田駅周辺',
+ '17203' => '北浜/本町',
+ '17204' => '京橋周辺',
+ '17205' => '十三/新大阪周辺',
+ '17206' => '心斎橋/堀江',
+ '17208' => '天王寺/あべの橋',
+ '17210' => '阿倍野/住吉/平野',
+ '17212' => '大阪南港',
+ '17213' => '北港/西淀川区',
+ '17214' => '阪急東通/天神橋筋商店街',
+ '17215' => '北新地/堂島/中之島',
+ '17216' => '大阪城周辺',
+ '17217' => '鶴橋/上本町/今里',
+ '17218' => '難波/日本橋',
+ '17219' => '大阪市北東部',
+ '17220' => '福島/野田',
+ '17221' => '土佐堀/江戸堀周辺',
+ '17300' => '池田/箕面/豊能郡',
+ '17301' => '豊中/吹田',
+ '17302' => '高槻/茨木/摂津',
+ '17400' => '枚方/寝屋川周辺',
+ '17500' => '東大阪',
+ '17600' => '尼崎市',
+ '17601' => '宝塚/伊丹/川西/三田',
+ '17700' => '西宮市',
+ '17800' => '芦屋市',
+ '17900' => '神戸/ハーバーランド',
+ '17901' => '元町',
+ '17902' => '北野/新神戸',
+ '17903' => '三宮/ポートアイランド',
+ '17904' => '灘区',
+ '17905' => '兵庫/長田',
+ '17906' => '六甲山/有馬温泉',
+ '17907' => '神戸西区',
+ '17908' => '東灘/六甲アイランド',
+ '17909' => '須磨/垂水',
+ '18000' => '明石市',
+ '18100' => '兵庫丹波',
+ '18200' => '東播磨',
+ '18201' => '北播磨',
+ '18300' => '西播磨',
+ '18400' => '姫路/中播磨',
+ '18500' => '淡路島',
+ '18600' => '鳥取',
+ '18601' => '倉吉',
+ '18602' => '米子/境港',
+ '19100' => '松江/安来',
+ '19101' => '出雲/雲南',
+ '19102' => '大田',
+ '19103' => '浜田/江津',
+ '19104' => '益田',
+ '19105' => '隠岐',
+ '19700' => '備前/瀬戸内',
+ '19800' => '岡山/玉野/赤磐',
+ '19801' => '高梁/新見',
+ '19802' => '津山/美作',
+ '19900' => '倉敷/総社/笠岡',
+ '20000' => '福山/府中',
+ '20001' => '三次/庄原',
+ '20002' => '宮島/廿日市/大竹',
+ '20003' => '呉/江田島',
+ '20004' => '広島',
+ '20005' => '東広島/西条/竹原',
+ '20006' => 'しまなみ海道',
+ '20007' => '三原/尾道',
+ '20008' => '北広島/安芸太田/安芸高田',
+ '20500' => '宇部/山口/防府',
+ '20501' => '萩/長門/秋芳',
+ '20502' => '下関',
+ '20503' => '周南/岩国',
+ '20700' => '高松市周辺',
+ '20800' => '東讃',
+ '20900' => '中讃',
+ '21000' => '西讃',
+ '21100' => '徳島市',
+ '21200' => '徳島県北部',
+ '21300' => '徳島県西部',
+ '21400' => '徳島県南部',
+ '21500' => '中予',
+ '21600' => '東予',
+ '21700' => '南予北部',
+ '21800' => '南予南部',
+ '21900' => '高知市',
+ '22000' => '高知県中部',
+ '22100' => '高知県東部',
+ '22200' => '高知県西部',
+ '22300' => '小倉北区',
+ '22301' => '門司区/小倉南区',
+ '22302' => '若松区/戸畑区/八幡東区',
+ '22303' => '八幡西区',
+ '22304' => '遠賀/筑豊',
+ '22305' => '京築',
+ '22400' => '中央区',
+ '22401' => '博多区/東区',
+ '22402' => '南区/城南区',
+ '22403' => '早良区/西区',
+ '22404' => '太宰府/筑紫野',
+ '22405' => '前原/糸島',
+ '22406' => '宗像/古賀/粕屋',
+ '22500' => '久留米/甘木',
+ '22501' => '柳川/大牟田/筑後',
+ '22600' => '佐賀/鳥栖',
+ '22700' => '唐津/伊万里',
+ '22800' => '壱岐/対馬',
+ '22900' => '佐世保/平戸',
+ '23000' => '五島',
+ '23100' => '長崎',
+ '23200' => '雲仙/島原',
+ '23300' => '天草',
+ '23400' => '熊本',
+ '23401' => '玉名/菊池',
+ '23500' => '中津/日田',
+ '23600' => '国東/宇佐',
+ '23700' => '別府/湯布院/九重',
+ '23800' => '阿蘇/小国',
+ '23900' => '大分',
+ '23901' => '佐伯/竹田',
+ '24000' => '延岡/日向',
+ '24100' => '宮崎/日南',
+ '24200' => '都城/小林',
+ '24300' => '八代/人吉/芦北',
+ '24400' => '鹿児島',
+ '24401' => '川内/出水',
+ '24402' => '国分/隼人',
+ '24500' => '指宿/枕崎',
+ '24600' => '鹿屋/垂水',
+ '24700' => '種子島/屋久島',
+ '24800' => '奄美',
+ '24900' => '那覇/浦添',
+ '25000' => '沖縄/名護',
+ '25100' => '宮古/石垣',
+} %]
+
+ [% IF errstr %]
+ <p style="color:red; font-size: 30px">[% errstr %]</p>
+ [% ELSE %]
+
+ <form method="post" action="[% queries.nl %]">
+ <select name="AREACODE">>
+ [% FOR areacode IN areacode2name.keys.sort %]
+ <option value="[% areacode %]" />[% areacode2name.$areacode %]</label>
+ [% END %]
+ </select>
+
+ [% IF queries.arg1 %]
+ <input type="hidden" name="[% queries.arg1.split("=").0 %]" value="[% queries.arg1.split("=").1 %]" />
+ [% END %]
+ [% IF queries.arg2 %]
+ <input type="hidden" name="[% queries.arg2.split("=").0 %]" value="[% queries.arg2.split("=").1 %]" />
+ [% END %]
+ <input type="submit" value="OK" name="ACTN" />
+ </form>
+ [% END %]
+</body>
+</html>
View
641 assets/plugins/Pictogram/ez.sjis.txt
@@ -0,0 +1,641 @@
+\xF6\x59
+\xF6\x5A
+\xF6\x5B
+\xF7\x48
+\xF7\x49
+\xF7\x4A
+\xF7\x4B
+\xF7\x4C
+\xF7\x4D
+\xF7\x4E
+\xF7\x4F
+\xF6\x9A
+\xF6\xEA
+\xF7\x96
+\xF6\x5E
+\xF6\x5F
+\xF7\x50
+\xF7\x51
+\xF7\x52
+\xF7\x53
+\xF7\x54
+\xF7\x55
+\xF7\x56
+\xF7\x57
+\xF7\x97
+\xF7\x58
+\xF7\x59
+\xF7\x5A
+\xF7\x5B
+\xF7\x5C
+\xF7\x5D
+\xF7\x5E
+\xF7\x5F
+\xF7\x60
+\xF7\x61
+\xF7\x62
+\xF7\x63
+\xF7\x64
+\xF7\x65
+\xF7\x66
+\xF7\x67
+\xF7\x68
+\xF7\x69
+\xF6\x60
+\xF6\x93
+\xF7\xB1
+\xF6\x61
+\xF6\xEB
+\xF7\x7C
+\xF6\xD3
+\xF7\xB2
+\xF6\x9B
+\xF6\xEC
+\xF7\x6A
+\xF7\x6B
+\xF7\x7D
+\xF7\x98
+\xF6\x54
+\xF7\x7E
+\xF6\x62
+\xF7\x6C
+\xF7\x6D
+\xF7\x6E
+\xF7\x6F
+\xF6\x9C
+\xF7\x70
+\xF7\x80
+\xF6\xD4
+\xF6\x63
+\xF7\x71
+\xF7\x72
+\xF6\xED
+\xF7\x73
+\xF6\xB8
+\xF6\x40
+\xF6\x44
+\xF6\x4E
+\xF6\xB9
+\xF7\xAC
+\xF6\xD5
+\xF7\x74
+\xF7\x75
+\xF6\x74
+\xF7\xAD
+\xF7\xB3
+\xF6\xD6
+\xF7\x99
+\xF7\x76
+\xF7\x77
+\xF7\x90
+\xF6\x75
+\xF7\x81
+\xF7\xB4
+\xF6\xEE
+\xF6\x64
+\xF6\x94
+\xF7\x82
+\xF6\x5C
+\xF6\x42
+\xF7\x83
+\xF7\x84
+\xF7\x85
+\xF7\x86
+\xF6\xEF
+\xF7\x87
+\xF6\x76
+\xF6\x65
+\xF6\xFA
+\xF7\x9A
+\xF6\xF0
+\xF7\x9B
+\xF6\x84
+\xF6\xBD
+\xF7\x9C
+\xF7\x9D
+\xF6\xD7
+\xF7\x78
+\xF7\x79
+\xF6\xF1
+\xF6\xF2
+\xF7\x88
+\xF6\x77
+\xF7\x9E
+\xF6\xF3
+\xF6\x8A
+\xF7\x9F
+\xF7\x91
+\xF7\x92
+\xF6\xF4
+\xF7\xA0
+\xF7\x89
+\xF7\x7A
+\xF6\xA7
+\xF6\xBA
+\xF7\xA1
+\xF7\x7B
+\xF7\x8A
+\xF6\xF5
+\xF7\xA2
+\xF6\xD8
+\xF6\xD9
+\xF7\x8B
+\xF6\x78
+\xF6\xA8
+\xF6\xF6
+\xF6\x85
+\xF7\x8C
+\xF6\x8B
+\xF6\x79
+\xF7\xA3
+\xF7\xAE
+\xF7\xA4
+\xF7\xAF
+\xF7\xB0
+\xF6\xF7
+\xF6\x86
+\xF7\x8D
+\xF6\x7A
+\xF7\x93
+\xF6\x9D
+\xF7\xA5
+\xF7\xA6
+\xF6\xDA
+\xF7\xA7
+\xF6\xF8
+\xF6\xF9
+\xF6\x66
+\xF6\x8C
+\xF6\x8D
+\xF6\xA1
+\xF7\xA8
+\xF6\x8E
+\xF7\xA9
+\xF7\xAA
+\xF7\xAB
+\xF6\x55
+\xF6\x56
+\xF6\x57
+\xF6\x58
+\xF6\xFB
+\xF6\xFC
+\xF7\x40
+\xF7\x41
+\xF7\x42
+\xF7\x43
+\xF7\x44
+\xF7\x45
+\xF7\x46
+\xF7\x47
+\xF6\x41
+\xF6\x5D
+\xF6\x67
+\xF6\x68
+\xF6\x69
+\xF6\x6A
+\xF6\x6B
+\xF6\x6C
+\xF6\x6D
+\xF6\x6E
+\xF6\x6F
+\xF6\x70
+\xF6\x71
+\xF6\x72
+\xF6\x73
+\xF6\x7B
+\xF6\x7C
+\xF6\x7D
+\xF6\x7E
+\xF6\x80
+\xF6\x81
+\xF6\x82
+\xF6\x83
+\xF7\x8E
+\xF7\x8F
+\xF6\x87
+\xF6\x88
+\xF6\x89
+\xF6\x43
+\xF6\x8F
+\xF6\x90
+\xF6\x91
+\xF6\x92
+\xF6\x45
+\xF6\x95
+\xF6\x96
+\xF6\x97
+\xF6\x98
+\xF6\x99
+\xF6\x46
+\xF6\x47
+\xF6\x9E
+\xF6\x9F
+\xF6\xA0
+\xF6\xA2
+\xF6\xA3
+\xF6\xA4
+\xF6\xA5
+\xF6\xA6
+\xF6\xA9
+\xF6\xAA
+\xF6\xAB
+\xF6\xAC
+\xF6\xAD
+\xF6\xAE
+\xF6\xAF
+\xF6\x48
+\xF6\xB0
+\xF6\xB1
+\xF6\xB2
+\xF6\xB3
+\xF6\xB4
+\xF6\xB5
+\xF6\xB6
+\xF6\xB7
+\xF6\xBB
+\xF6\xBC
+\xF6\x49
+\xF6\x4A
+\xF6\x4B
+\xF6\x4C
+\xF6\x4D
+\xF6\xBE
+\xF6\xBF
+\xF6\xC0
+\xF6\x4F
+\xF6\x50
+\xF6\x51
+\xF6\x52
+\xF6\x53
+\xF6\xC1
+\xF6\xC2
+\xF6\xC3
+\xF6\xC4
+\xF6\xC5
+\xF6\xC6
+\xF6\xC7
+\xF6\xC8
+\xF6\xC9
+\xF6\xCA
+\xF6\xCB
+\xF6\xCC
+\xF6\xCD
+\xF6\xCE
+\xF6\xCF
+\xF6\xD0
+\xF6\xD1
+\xF6\xD2
+\xF6\xDB
+\xF6\xDC
+\xF6\xDD
+\xF6\xDE
+\xF6\xDF
+\xF6\xE0
+\xF6\xE1
+\xF6\xE2
+\xF6\xE3
+\xF6\xE4
+\xF7\x94
+\xF7\x95
+\xF6\xE5
+\xF6\xE6
+\xF6\xE7
+\xF6\xE8
+\xF6\xE9
+\xF7\xB5
+\xF7\xB6
+\xF7\xB7
+\xF7\xB8
+\xF7\xB9
+\xF7\xBA
+\xF7\xBB
+\xF7\xBC
+\xF7\xBD
+\xF7\xBE
+\xF7\xBF
+\xF7\xC0
+\xF7\xC1
+\xF7\xC2
+\xF7\xC3
+\xF7\xC4
+\xF7\xC5
+\xF7\xC6
+\xF7\xC7
+\xF7\xC8
+\xF7\xC9
+\xF7\xCA
+\xF7\xCB
+\xF7\xCC
+\xF7\xCD
+\xF7\xCE
+\xF7\xCF
+\xF7\xD0
+\xF7\xD1
+\xF7\xE5
+\xF7\xE6
+\xF7\xE7
+\xF7\xE8
+\xF7\xE9
+\xF7\xEA
+\xF7\xEB
+\xF7\xEC
+\xF7\xED
+\xF7\xEE
+\xF7\xEF
+\xF7\xF0
+\xF7\xF1
+\xF7\xF2
+\xF7\xF3
+\xF7\xF4
+\xF7\xF5
+\xF7\xF6
+\xF7\xF7
+\xF7\xF8
+\xF7\xF9
+\xF7\xFA
+\xF7\xFB
+\xF7\xFC
+\xF3\x40
+\xF3\x41
+\xF3\x42
+\xF3\x43
+\xF3\x44
+\xF3\x45
+\xF3\x46
+\xF3\x47
+\xF3\x48
+\xF3\x49
+\xF3\x4A
+\xF3\x4B
+\xF3\x4C
+\xF3\x4D
+\xF3\x4E
+\xF3\x4F
+\xF3\x50
+\xF3\x51
+\xF3\x52
+\xF3\x53
+\xF3\x54
+\xF3\x55
+\xF3\x56
+\xF3\x57
+\xF3\x58
+\xF3\x59
+\xF3\x5A
+\xF3\x5B
+\xF3\x5C
+\xF3\x5D
+\xF3\x5E
+\xF3\x5F
+\xF3\x60
+\xF3\x61
+\xF3\x62
+\xF3\x63
+\xF3\x64
+\xF3\x65
+\xF3\x66
+\xF3\x67
+\xF3\x68
+\xF3\x69
+\xF3\x6A
+\xF3\x6B
+\xF3\x6C
+\xF3\x6D
+\xF3\x6E
+\xF3\x6F
+\xF3\x70
+\xF3\x71
+\xF3\x72
+\xF3\x73
+\xF3\x74
+\xF3\x75
+\xF3\x76
+\xF3\x77
+\xF3\x78
+\xF3\x79
+\xF3\x7A
+\xF3\x7B
+\xF3\x7C
+\xF3\x7D
+\xF3\x7E
+\xF3\x80
+\xF3\x81
+\xF3\x82
+\xF3\x83
+\xF3\x84
+\xF3\x85
+\xF3\x86
+\xF3\x87
+\xF3\x88
+\xF3\x89
+\xF3\x8A
+\xF3\x8B
+\xF3\x8C
+\xF3\x8D
+\xF3\x8E
+\xF3\x8F
+\xF3\x90
+\xF3\x91
+\xF3\x92
+\xF3\x93
+\xF3\x94
+\xF3\x95
+\xF3\x96
+\xF3\x97
+\xF3\x98
+\xF3\x99
+\xF3\x9A
+\xF3\x9B
+\xF3\x9C
+\xF3\x9D
+\xF3\x9E
+\xF3\x9F
+\xF3\xA0
+\xF3\xA1
+\xF3\xA2
+\xF3\xA3
+\xF3\xA4
+\xF3\xA5
+\xF3\xA6
+\xF3\xA7
+\xF3\xA8
+\xF3\xA9
+\xF3\xAA
+\xF3\xAB
+\xF3\xAC
+\xF3\xAD
+\xF3\xAE
+\xF3\xAF
+\xF3\xB0
+\xF3\xB1
+\xF3\xB2
+\xF3\xB3
+\xF3\xB4
+\xF3\xB5
+\xF3\xB6
+\xF3\xB7
+\xF3\xB8
+\xF3\xB9
+\xF3\xBA
+\xF3\xBB
+\xF3\xBC
+\xF3\xBD
+\xF3\xBE
+\xF3\xBF
+\xF3\xC0
+\xF3\xC1
+\xF3\xC2
+\xF3\xC3
+\xF3\xC4
+\xF3\xC5
+\xF3\xC6
+\xF3\xC7
+\xF3\xC8
+\xF3\xC9
+\xF3\xCA
+\xF3\xCB
+\xF3\xCC
+\xF3\xCD
+\xF3\xCE
+\xF7\xD2
+\xF7\xD3
+\xF7\xD4
+\xF7\xD5
+\xF7\xD6
+\xF7\xD7
+\xF7\xD8
+\xF7\xD9
+\xF7\xDA
+\xF7\xDB
+\xF7\xDC
+\xF7\xDD
+\xF7\xDE
+\xF7\xDF
+\xF7\xE0
+\xF7\xE1
+\xF7\xE2
+\xF7\xE3
+\xF7\xE4
+\xF3\xCF
+\xF3\xD0
+\xF3\xD1
+\xF3\xD2
+\xF3\xD3
+\xF3\xD4
+\xF3\xD5
+\xF3\xD6
+\xF3\xD7
+\xF3\xD8
+\xF3\xD9
+\xF3\xDA
+\xF3\xDB
+\xF3\xDC
+\xF3\xDD
+\xF3\xDE
+\xF3\xDF
+\xF3\xE0
+\xF3\xE1
+\xF3\xE2
+\xF3\xE3
+\xF3\xE4
+\xF3\xE5
+\xF3\xE6
+\xF3\xE7
+\xF3\xE8
+\xF3\xE9
+\xF3\xEA
+\xF3\xEB
+\xF3\xEC
+\xF3\xED
+\xF3\xEE
+\xF3\xEF
+\xF3\xF0
+\xF3\xF1
+\xF3\xF2
+\xF3\xF3
+\xF3\xF4
+\xF3\xF5
+\xF3\xF6
+\xF3\xF7
+\xF3\xF8
+\xF3\xF9
+\xF3\xFA
+\xF3\xFB
+\xF3\xFC
+\xF4\x40
+\xF4\x41
+\xF4\x42
+\xF4\x43
+\xF4\x44
+\xF4\x45
+\xF4\x46
+\xF4\x47
+\xF4\x48
+\xF4\x49
+\xF4\x4A
+\xF4\x4B
+\xF4\x4C
+\xF4\x4D
+\xF4\x4E
+\xF4\x4F
+\xF4\x50
+\xF4\x51
+\xF4\x52
+\xF4\x53
+\xF4\x54
+\xF4\x55
+\xF4\x56
+\xF4\x57
+\xF4\x58
+\xF4\x59
+\xF4\x5A
+\xF4\x5B
+\xF4\x5C
+\xF4\x5D
+\xF4\x5E
+\xF4\x5F
+\xF4\x60
+\xF4\x61
+\xF4\x62
+\xF4\x63
+\xF4\x64
+\xF4\x65
+\xF4\x66
+\xF4\x67
+\xF4\x68
+\xF4\x69
+\xF4\x6A
+\xF4\x6B
+\xF4\x6C
+\xF4\x6D
+\xF4\x6E
+\xF4\x6F
+\xF4\x70
+\xF4\x71
+\xF4\x72
+\xF4\x73
+\xF4\x74
+\xF4\x75
+\xF4\x76
+\xF4\x77
+\xF4\x78
+\xF4\x79
+\xF4\x7A
+\xF4\x7B
+\xF4\x7C
+\xF4\x7D
+\xF4\x7E
+\xF4\x80
+\xF4\x81
+\xF4\x82
+\xF4\x83
+\xF4\x84
+\xF4\x85
+\xF4\x86
+\xF4\x87
+\xF4\x88
+\xF4\x89
+\xF4\x8A
+\xF4\x8B
+\xF4\x8C
+\xF4\x8D
View
641 assets/plugins/Pictogram/ez.uni2number.yaml
@@ -0,0 +1,641 @@
+E481: 1
+E482: 2
+E483: 3
+E52C: 4
+E52D: 5
+E52E: 6
+E52F: 7
+E530: 8
+E531: 9
+E532: 10
+E533: 11
+E4C1: 12
+E511: 13
+E579: 14
+E486: 15
+E487: 16
+E534: 17
+E535: 18
+E536: 19
+E537: 20
+E538: 21
+E539: 22
+E53A: 23
+E53B: 24
+E57A: 25
+E53C: 26
+E53D: 27
+E53E: 28
+E53F: 29
+E540: 30
+E541: 31
+E542: 32
+E543: 33
+E544: 34
+E545: 35
+E546: 36
+E547: 37
+E548: 38
+E549: 39
+E54A: 40
+E54B: 41
+E54C: 42
+E54D: 43
+E488: 44
+E4BA: 45
+E594: 46
+E489: 47
+E512: 48
+E560: 49
+E4FA: 50
+E595: 51
+E4C2: 52
+E513: 53
+E54E: 54
+E54F: 55
+E561: 56
+E57B: 57
+E47C: 58
+E562: 59
+E48A: 60
+E550: 61
+E551: 62
+E552: 63
+E553: 64
+E4C3: 65
+E554: 66
+E563: 67
+E4FB: 68
+E48B: 69
+E555: 70
+E556: 71
+E514: 72
+E557: 73
+E4DF: 74
+E468: 75
+E46C: 76
+E476: 77
+E4E0: 78
+E58F: 79
+E4FC: 80
+E558: 81
+E559: 82
+E49C: 83
+E590: 84
+E596: 85
+E4FD: 86
+E57C: 87
+E55A: 88
+E55B: 89
+E573: 90
+E49D: 91
+E564: 92
+E597: 93
+E515: 94
+E48C: 95
+E4BB: 96
+E565: 97
+E484: 98
+E46A: 99
+E566: 100
+E567: 101
+E568: 102
+E569: 103
+E516: 104
+E56A: 105
+E49E: 106
+E48D: 107
+E521: 108
+E57D: 109
+E517: 110
+E57E: 111
+E4AB: 112
+E4E4: 113
+E57F: 114
+E580: 115
+E4FE: 116
+E55C: 117
+E55D: 118
+E518: 119
+E519: 120
+E56B: 121
+E49F: 122
+E581: 123
+E51A: 124
+E4B1: 125
+E582: 126
+E574: 127
+E575: 128
+E51B: 129
+E583: 130
+E56C: 131
+E55E: 132
+E4CE: 133
+E4E1: 134
+E584: 135
+E55F: 136
+E56D: 137
+E51C: 138
+E585: 139
+E4FF: 140
+E500: 141
+E56E: 142
+E4A0: 143
+E4CF: 144
+E51D: 145
+E4AC: 146
+E56F: 147
+E4B2: 148
+E4A1: 149
+E586: 150
+E591: 151
+E587: 152
+E592: 153
+E593: 154
+E51E: 155
+E4AD: 156
+E570: 157
+E4A2: 158
+E576: 159
+E4C4: 160
+E588: 161
+E589: 162
+E501: 163
+E58A: 164
+E51F: 165
+E520: 166
+E48E: 167
+E4B3: 168
+E4B4: 169
+E4C8: 170
+E58B: 171
+E4B5: 172
+E58C: 173
+E58D: 174
+E58E: 175
+E47D: 176
+E47E: 177
+E47F: 178
+E480: 179
+E522: 180
+E523: 181
+E524: 182
+E525: 183
+E526: 184
+E527: 185
+E528: 186
+E529: 187
+E52A: 188
+E52B: 189
+E469: 190
+E485: 191
+E48F: 192
+E490: 193
+E491: 194
+E492: 195
+E493: 196
+E494: 197
+E495: 198
+E496: 199
+E497: 200
+E498: 201
+E499: 202
+E49A: 203
+E49B: 204
+E4A3: 205
+E4A4: 206
+E4A5: 207
+E4A6: 208
+E4A7: 209
+E4A8: 210
+E4A9: 211
+E4AA: 212
+E571: 213
+E572: 214
+E4AE: 215
+E4AF: 216
+E4B0: 217
+E46B: 218
+E4B6: 219
+E4B7: 220
+E4B8: 221
+E4B9: 222
+E46D: 223
+E4BC: 224
+E4BD: 225
+E4BE: 226
+E4BF: 227
+E4C0: 228
+E46E: 229
+E46F: 230
+E4C5: 231
+E4C6: 232
+E4C7: 233
+E4C9: 234
+E4CA: 235
+E4CB: 236
+E4CC: 237
+E4CD: 238
+E4D0: 239
+E4D1: 240
+E4D2: 241
+E4D3: 242
+E4D4: 243
+E4D5: 244
+E4D6: 245
+E470: 246
+E4D7: 247
+E4D8: 248
+E4D9: 249
+E4DA: 250
+E4DB: 251
+E4DC: 252
+E4DD: 253
+E4DE: 254
+E4E2: 255
+E4E3: 256
+E471: 257
+E472: 258
+E473: 259
+E474: 260
+E475: 261
+E4E5: 262
+E4E6: 263
+E4E7: 264
+E477: 265
+E478: 266
+E479: 267
+E47A: 268
+E47B: 269
+E4E8: 270
+E4E9: 271
+E4EA: 272
+E4EB: 273
+E4EC: 274
+E4ED: 275
+E4EE: 276
+E4EF: 277
+E4F0: 278
+E4F1: 279
+E4F2: 280
+E4F3: 281
+E4F4: 282
+E4F5: 283
+E4F6: 284
+E4F7: 285
+E4F8: 286
+E4F9: 287
+E502: 288
+E503: 289
+E504: 290
+E505: 291
+E506: 292
+E507: 293
+E508: 294
+E509: 295
+E50A: 296
+E50B: 297
+E577: 298
+E578: 299
+E50C: 300
+E50D: 301
+E50E: 302
+E50F: 303
+E510: 304
+E598: 305
+E599: 306
+E59A: 307
+E59B: 308
+E59C: 309
+E59D: 310
+E59E: 311
+E59F: 312
+E5A0: 313
+E5A1: 314
+E5A2: 315
+E5A3: 316
+E5A4: 317
+E5A5: 318
+E5A6: 319
+E5A7: 320
+E5A8: 321
+E5A9: 322
+E5AA: 323
+E5AB: 324
+E5AC: 325
+E5AD: 326
+E5AE: 327
+E5AF: 328
+E5B0: 329
+E5B1: 330
+E5B2: 331
+E5B3: 332
+E5B4: 333
+E5B5: 334
+E5B6: 335
+E5B7: 336
+E5B8: 337
+E5B9: 338
+E5BA: 339
+E5BB: 340
+E5BC: 341
+E5BD: 342
+E5BE: 343
+E5BF: 344
+E5C0: 345
+E5C1: 346
+E5C2: 347
+E5C3: 348
+E5C4: 349
+E5C5: 350
+E5C6: 351
+E5C7: 352
+E5C8: 353
+E5C9: 354
+E5CA: 355
+E5CB: 356
+E5CC: 357
+E5CD: 358
+E5CE: 359
+E5CF: 360
+E5D0: 361
+E5D1: 362
+E5D2: 363
+E5D3: 364
+E5D4: 365
+E5D5: 366
+E5D6: 367
+E5D7: 368
+E5D8: 369
+E5D9: 370
+E5DA: 371
+E5DB: 372
+E5DC: 373
+E5DD: 374
+E5DE: 375
+E5DF: 376
+EA80: 377
+EA81: 378
+EA82: 379
+EA83: 380
+EA84: 381
+EA85: 382
+EA86: 383
+EA87: 384
+EA88: 385
+EA89: 386
+EA8A: 387
+EA8B: 388
+EA8C: 389
+EA8D: 390
+EA8E: 391
+EA8F: 392
+EA90: 393
+EA91: 394
+EA92: 395
+EA93: 396
+EA94: 397
+EA95: 398
+EA96: 399
+EA97: 400
+EA98: 401
+EA99: 402
+EA9A: 403
+EA9B: 404
+EA9C: 405
+EA9D: 406
+EA9E: 407
+EA9F: 408
+EAA0: 409
+EAA1: 410
+EAA2: 411
+EAA3: 412
+EAA4: 413
+EAA5: 414
+EAA6: 415
+EAA7: 416
+EAA8: 417
+EAA9: 418
+EAAA: 419
+EAAB: 420
+EAAC: 421
+EAAD: 422
+EAAE: 423
+EAAF: 424
+EAB0: 425
+EAB1: 426
+EAB2: 427
+EAB3: 428
+EAB4: 429
+EAB5: 430
+EAB6: 431
+EAB7: 432
+EAB8: 433
+EAB9: 434
+EABA: 435
+EABB: 436
+EABC: 437
+EABD: 438
+EABE: 439
+EABF: 440
+EAC0: 441
+EAC1: 442
+EAC2: 443
+EAC3: 444
+EAC4: 445
+EAC5: 446
+EAC6: 447
+EAC7: 448
+EAC8: 449
+EAC9: 450
+EACA: 451
+EACB: 452
+EACC: 453
+EACD: 454
+EACE: 455
+EACF: 456
+EAD0: 457
+EAD1: 458
+EAD2: 459
+EAD3: 460
+EAD4: 461
+EAD5: 462
+EAD6: 463
+EAD7: 464
+EAD8: 465
+EAD9: 466
+EADA: 467
+EADB: 468
+EADC: 469
+EADD: 470
+EADE: 471
+EADF: 472
+EAE0: 473
+EAE1: 474
+EAE2: 475
+EAE3: 476
+EAE4: 477
+EAE5: 478
+EAE6: 479
+EAE7: 480
+EAE8: 481
+EAE9: 482
+EAEA: 483
+EAEB: 484
+EAEC: 485
+EAED: 486
+EAEE: 487
+EAEF: 488
+EAF0: 489
+EAF1: 490
+EAF2: 491
+EAF3: 492
+EAF4: 493
+EAF5: 494
+EAF6: 495
+EAF7: 496
+EAF8: 497
+EAF9: 498
+EAFA: 499
+EAFB: 500
+EAFC: 501
+EAFD: 502
+EAFE: 503
+EAFF: 504
+EB00: 505
+EB01: 506
+EB02: 507
+EB03: 508
+EB04: 509
+EB05: 510
+EB06: 511
+EB07: 512
+EB08: 513
+EB09: 514
+EB0A: 515
+EB0B: 516
+EB0C: 517
+EB0D: 518
+EB0E: 700
+EB0F: 701
+EB10: 702
+EB11: 703
+EB12: 704
+EB13: 705
+EB14: 706
+EB15: 707
+EB16: 708
+EB17: 709
+EB18: 710
+EB19: 711
+EB1A: 712
+EB1B: 713
+EB1C: 714
+EB1D: 715
+EB1E: 716
+EB1F: 717
+EB20: 718
+EB21: 719
+EB22: 720
+EB23: 721
+EB24: 722
+EB25: 723
+EB26: 724
+EB27: 725
+EB28: 726
+EB29: 727
+EB2A: 728
+EB2B: 729
+EB2C: 730
+EB2D: 731
+EB2E: 732
+EB2F: 733
+EB30: 734
+EB31: 735
+EB32: 736
+EB33: 737
+EB34: 738
+EB35: 739
+EB36: 740
+EB37: 741
+EB38: 742
+EB39: 743
+EB3A: 744
+EB3B: 745
+EB3C: 746
+EB3D: 747
+EB3E: 748
+EB3F: 749
+EB40: 750
+EB41: 751
+EB42: 752
+EB43: 753
+EB44: 754
+EB45: 755
+EB46: 756
+EB47: 757
+EB48: 758
+EB49: 759
+EB4A: 760
+EB4B: 761
+EB4C: 762
+EB4D: 763
+EB4E: 764
+EB4F: 765
+EB50: 766
+EB51: 767
+EB52: 768
+EB53: 769
+EB54: 770
+EB55: 771
+EB56: 772
+EB57: 773
+EB58: 774
+EB59: 775
+EB5A: 776
+EB5B: 777
+EB5C: 778
+EB5D: 779
+EB5E: 780
+EB5F: 781
+EB60: 782
+EB61: 783
+EB62: 784
+EB63: 785
+EB64: 786
+EB65: 787
+EB66: 788
+EB67: 789
+EB68: 790
+EB69: 791
+EB6A: 792
+EB6B: 793
+EB6C: 794
+EB6D: 795
+EB6E: 796
+EB6F: 797
+EB70: 798
+EB71: 799
+EB72: 800
+EB73: 801
+EB74: 802
+EB75: 803
+EB76: 804
+EB77: 805
+EB78: 806
+EB79: 807
+EB7A: 808
+EB7B: 809
+EB7C: 810
+EB7D: 811
+EB7E: 812
+EB7F: 813
+EB80: 814
+EB81: 815
+EB82: 816
+EB83: 817
+EB84: 818
+EB85: 819
+EB86: 820
+EB87: 821
+EB88: 822
View
253 assets/plugins/Pictogram/i2ezpict.yaml
@@ -0,0 +1,253 @@
+---
+F89F: 44
+F8A0: 107
+F8A1: 95
+F8A2: 191
+F8A3: 16
+F8A4: 190
+F8A5: 305
+F8A6: 481
+F8A7: 192
+F8A8: 193
+F8A9: 194
+F8AA: 195
+F8AB: 196
+F8AC: 197
+F8AD: 198
+F8AE: 199
+F8AF: 200
+F8B0: 201
+F8B1: 202
+F8B2: 203
+F8B3: 218
+F8B4: 45
+F8B5: 306
+F8B6: 220
+F8B7: 219
+F8B8: 421
+F8B9: 307
+F8BA: 222
+F8BB: 308
+F8BC: 172
+F8BD: 341
+F8BE: 217
+F8BF: 125
+F8C0: 125
+F8C1: 216
+F8C2: 379
+F8C3: 168
+F8C4: 112
+F8C5: 156
+F8C6: 375
+F8C7: 376
+F8C8: 212
+F8C9: 205
+F8CA: 378
+F8CB: 206
+F8CC: 213
+F8CD: 208
+F8CE: 99
+F8CF: 207
+F8D0: 146
+F8D1: 93
+F8D2: 52
+F8D3: 65
+F8D4: 245
+F8D5: 124
+F8D6: 104
+F8D7: 289
+F8D8: 110
+F8D9: 70
+F8DA: 223
+F8DB: 294
+F8DC: 309
+F8DD: 310
+F8DE: 311
+F8DF: 106
+F8E0: 176
+F8E1: 177
+F8E2: 94
+F8E3: 83
+F8E4: 122
+F8E5: 312
+F8E6: 144
+F8E7: 313
+F8E8: 85
+F8E9: 161
+F8EA: 56
+F8EB: 288
+F8EC: 232
+F8ED: 300
+F8EE: 414
+F8EF: 314
+F8F0: 315
+F8F1: 316
+F8F2: 317
+F8F3: 318
+F8F4: 817
+F8F5: 319
+F8F6: 320
+F8F7: 43
+F8F8: 42
+F8F9: 728
+F8FA: 729
+F8FB: 116
+F8FC: 178
+F940: 321
+F941: 322
+F942: 323
+F943: 15
+F944: 47
+F945: 134
+F946: 251
+F947: 169
+F948: 234
+F949: 71
+F950: 226
+F951: 233
+F952: 508
+F955: 80
+F956: 0
+F957: 227
+F95B: 63
+F95C: 808
+F95D: 64
+F95E: 46
+F972: 513
+F973: 784
+F974: 166
+F975: 0
+F976: 0
+F977: 108
+F978: 0
+F979: 0
+F97A: 109
+F97B: 299
+F97C: 385
+F97D: 120
+F97E: 118
+F980: 324
+F981: 119
+F982: 334
+F983: 730
+F984: 0
+F985: 818
+F986: 4
+F987: 180
+F988: 181
+F989: 182
+F98A: 183
+F98B: 184
+F98C: 185
+F98D: 186
+F98E: 187
+F98F: 188
+F990: 325
+F991: 51
+F992: 266
+F993: 265
+F994: 266
+F995: 257
+F996: 258
+F997: 443
+F998: 259
+F999: 327
+F99A: 731
+F99B: 343
+F99C: 224
+F99D: 19
+F99E: 273
+F99F: 420
+F9A0: 77
+F9A1: 262
+F9A2: 281
+F9A3: 268
+F9A4: 291
+F9A5: 732
+F9A6: 261
+F9A7: 2
+F9A8: 733
+F9A9: 734
+F9AA: 329
+F9AB: 330
+F9AC: 263
+F9AD: 282
+F9AE: 810
+F9AF: 735
+F9B0: 326
+F9B1: 0
+F9B2: 0
+F9B3: 335
+F9B4: 290
+F9B5: 295
+F9B6: 805
+F9B7: 221
+F9B8: 48
+F9B9: 0
+F9BA: 233
+F9BB: 337
+F9BC: 806
+F9BD: 152
+F9BE: 149
+F9BF: 354
+F9C0: 72
+F9C1: 58
+F9C2: 215
+F9C3: 423
+F9C4: 25
+F9C5: 443
+F9C6: 454
+F9C7: 351
+F9C8: 351
+F9C9: 779
+F9CA: 789
+F9CB: 349
+F9CC: 287
+F9CD: 264
+F9CE: 348
+F9CF: 257
+F9D0: 260
+F9D1: 783
+F9D2: 259
+F9D3: 791
+F9D4: 0
+F9D5: 143
+F9D6: 81
+F9D7: 54
+F9D8: 218
+F9D9: 279
+F9DA: 807
+F9DB: 82
+F9DC: 1
+F9DD: 0
+F9DE: 387
+F9DF: 0
+F9E0: 386
+F9E1: 808
+F9E2: 809
+F9E3: 377
+F9E4: 810
+F9E5: 342
+F9E6: 53
+F9E7: 241
+F9E8: 113
+F9E9: 739
+F9EA: 434
+F9EB: 811
+F9EC: 133
+F9ED: 235
+F9EE: 244
+F9EF: 239
+F9F0: 400
+F9F1: 429
+F9F2: 424
+F9F3: 812
+F9F4: 78
+F9F5: 252
+F9F6: 203
+F9F7: 454
+F9F8: 814
+F9F9: 248
+F9FA: 758
+F9FB: 12
+F9FC: 350
View
1 assets/plugins/Pictogram/pict.tmpl
@@ -0,0 +1 @@
+<img src='http://pictogram.moxy/%s/%s.gif' style='width:1em; height:1em; border: none;' alt="%s" />
View
1 assets/plugins/QRCode/panel.tt
@@ -0,0 +1 @@
+<div id="qrcode_placeholder"><a href="#" onclick="var qrdiv=document.getElementById('qrcode_placeholder');if (qrdiv){qrdiv.innerHTML='<img src=\'http://qrcode.moxy/[% current | uri %]\' />';}">show qrcode for [% current | html %]</a></div>
View
11 assets/plugins/ShowHTTPHeaders/panel.tt
@@ -0,0 +1,11 @@
+<a href="#" onclick="var x=document.getElementById('moxy_show_http_headers');x.style.display = (x.style.display=='none' ? '' : 'none');return false;">show http headers</a>
+<div id="moxy_show_http_headers" style="display:none">
+ <div>
+ <h2 id="moxy_request">Request</h2>
+ <pre>[% request | html %]</pre>
+ </div>
+ <div>
+ <h2 id="moxy_response">Response</h2>
+ <pre>[% response | html %]</pre>
+ </div>
+</div>
View
16 assets/plugins/UserAgentSwitcher/panel.tt
@@ -0,0 +1,16 @@
+<form method="post" action="http://uaswitcher.moxy/[% current_uri | uri %]">
+<!-- pass thru current params -->
+[%- FOR query IN params.keys %]
+<input type="hidden" name="[% query | html %]" value="[% params.item(query) | html %]" />
+[%- END %]
+ü��μ���:
+<select name="moxy_user_agent" onchange="if(this.value){this.form.submit()}">
+[% FOR key IN agents.keys %]
+<option value="" style="background-color:gray">[% key %]</option>
+[% FOR ua IN agents.item(key) %]
+<option value="[% ua.agent %]" [% IF moxy_user_agent == ua.agent %]selected="selected"[% END %]> [% ua.name %][% IF ua.flash %][Flash�б�][% END %]</option>
+[% END %]
+[% END %]
+</select>
+<input type="submit" value="����" />
+</form>
View
6 assets/plugins/UserID/panel.tt
@@ -0,0 +1,6 @@
+<div>
+ <form method="post" action="http://userid.moxy/[% referer | uri %]">
+ UserID: <input type="text" name="user_id" value="[% user_id %]" />
+ <input type="submit" value="send" />
+ </form>
+</div>
View
60 bin/e_model_info_scraper.pl
@@ -0,0 +1,60 @@
+# =========================================================================
+# scrape kddi model info.
+#
+# =========================================================================
+use strict;
+use warnings;
+use utf8;
+use Web::Scraper;
+use URI;
+use Encode;
+use charnames ':full';
+use YAML;
+
+&main;
+
+sub main {
+ my $base_uri = 'http://www.au.kddi.com/ezfactory/tec/spec/new_win/ezkishu.html';
+
+ my $scraper = scraper {
+ process 'table[width="892"] > tr[bgcolor="#ffffff"]', 'au_info[]' => scraper {
+ process 'td', 'elems[]' => 'TEXT';
+ result 'elems[]';
+ };
+ result 'au_info[]';
+ }->scrape( URI->new($base_uri) );
+
+ my $result;
+ for my $row (map { $_->{elems} } @{$scraper->{au_info}}) {
+ my $one;
+ $one->{'model'} = $row->[0];
+ $one->{'browser_type'} = $row->[1];
+ $one->{'display_color'} = $row->[2];
+ ($one->{'display_char_transversal'}, $one->{display_char_longitudinal}) = &_split_by_times($row->[3]);
+ ($one->{'display_browsing_width'}, $one->{display_browsing_height}) = &_split_by_times($row->[4]);
+ ($one->{'display_wallpaper_width'}, $one->{display_wallpaper_height}) = &_split_by_times($row->[5]);
+ $one->{'support_gif'} = $row->[6] eq '-' ? 0 : 1;
+ $one->{'support_jpeg'} = $row->[7] eq '-' ? 0 : 1;
+ $one->{'support_png'} = $row->[8] eq '-' ? 0 : 1;
+
+ if ($row->[11] =~ /\N{WHITE CIRCLE}/) { # 1.1 normal
+ $one->{'flash_lite_1.1'}++;
+ } elsif ($row->[11] =~ /\N{BLACK CIRCLE}/) { # 2.0
+ $one->{'flash_lite_1.1'}++;
+ $one->{'flash_lite_chakuflash'}++;
+ $one->{'flash_lite_2.0'}++;
+ } elsif ($row->[11] =~ /\N{BULLSEYE}/) { # 1.1+chakuflash
+ $one->{'flash_lite_1.1'}++;
+ $one->{'flash_lite_chakuflash'}++;
+ }
+ push @$result, $one;
+ }
+
+ print YAML::Dump($result);
+}
+
+sub _split_by_times {
+ my $x = shift;
+ split /\N{MULTIPLICATION SIGN}/, $x;
+}
+
View
24 config.yaml
@@ -0,0 +1,24 @@
+---
+global:
+ storage:
+ module: DBM_File
+ file: /tmp/moxy.gdbm
+ dbm_class: NDBM_File
+ server:
+ module: HTTPProxy
+ port: 9999
+ host: localhost
+ max_clients: 80
+
+plugins:
+ - module: Pictogram
+ - module: HTMLWidth
+ - module: HTTPEnv
+ - module: ControlPanel
+ - module: GPS
+ - module: UserAgentSwitcher
+ - module: XMLisHTML
+ - module: RefererCutter
+ - module: FlashUseImgTag
+ - module: DisableTableTag