Web Camera for mbed-os. This sample works on GR-LYCHEE besides GR-PEACH. When you use this program, we judge you have agreed to the following contents. https://developer.mbed.org/teams/Renesas/wiki/About-LICENSE

Dependencies:   HttpServer_snapshot_mbed-os

For mbed classic sample

For mbed classic sample, please refer to the following.
mbed classic用サンプルについては以下を参照ください。

https://developer.mbed.org/teams/Renesas/code/GR-PEACH_WebCamera_mbed-classic/

License

When you use this program, we judge you have agreed to the following contents.
本プログラムを使用する際は、以下の内容に合意した事になります。

https://developer.mbed.org/teams/Renesas/wiki/About-LICENSE

Information

Japanese version is available in lower part of this page.
このページの後半に日本語版が用意されています.

Video Links on how to setup and run WebCamera Application:

Your video will be live at:

What is this ?

Web Camera sample program using GR-PEACH(with GR-PEACH AUDIO CAMERA Shield) or GR-LYCHEE. When you access GR-PEACH or GR-LYCHEE from a web browser, the following contents is indicated.

  • Camera input picture
  • Control screen of devices connected to the I2C bus
  • LED control screen

When importing this programming, please put a check in "Update all libraries to the latest version".
I consulted this about HTTPServer and RPC./users/yueee_yt/code/HttpServerSample/

Please refer to following link about GR-PEACH AUDIO CAMERA Shield.
https://developer.mbed.org/teams/Renesas/wiki/Audio_Camera-shield

Composition

For GR-PEACH:

  1. GR-PEACH
  2. One of the following
    NTSC analog camera, MT9V111 and GR-PEACH AUDIO CAMERA Shield、OV5642 and GR-PEACH AUDIO CAMERA Shield、GR-PEACH Wireless CAMERA Shield : OV7725
  3. One of the following network
    Ethernet、BP3595 (wifi)、GR-PEACH Wireless CAMERA Shield : ESP32 (wifi)

For GR-LYCHEE:

  1. GR-LYCHEE


The IP address is acquired from DHCP Server by this sample program. When you'd like to use a static IP address, please change the below.

main.cpp (IP address config)

/** Network setting **/
#define USE_DHCP               (1)                 /* Select  0(static configuration) or 1(use DHCP) */
#if (USE_DHCP == 0)
  #define IP_ADDRESS           ("192.168.0.2")     /* IP address      */
  #define SUBNET_MASK          ("255.255.255.0")   /* Subnet mask     */
  #define DEFAULT_GATEWAY      ("192.168.0.3")     /* Default gateway */
#endif


To specify MAC address, add fllowing function to main.cpp.

Specify MAC address

// set mac address
void mbed_mac_address(char *mac) {
    mac[0] = 0x00;
    mac[1] = 0x02;
    mac[2] = 0xF7;
    mac[3] = 0xF0;
    mac[4] = 0x00;
    mac[5] = 0x00;
}


Also, please change the below along your using network type.

main.cpp (Network type setting)

#define NETWORK_TYPE           (0)                 /* Select  0(Ethernet), 1(BP3595), 2(ESP32 STA) ,3(ESP32 AP) */
#if (NETWORK_TYPE >= 1)
  #define SCAN_NETWORK         (1)                 /* Select  0(Use WLAN_SSID, WLAN_PSK, WLAN_SECURITY) or 1(To select a network using the terminal.) */
  #define WLAN_SSID            ("SSIDofYourAP")    /* SSID */
  #define WLAN_PSK             ("PSKofYourAP")     /* PSK(Pre-Shared Key) */
  #define WLAN_SECURITY        NSAPI_SECURITY_WPA_WPA2 /* NSAPI_SECURITY_NONE, NSAPI_SECURITY_WEP, NSAPI_SECURITY_WPA, NSAPI_SECURITY_WPA2 or NSAPI_SECURITY_WPA_WPA2 */
#endif


How to use

  1. Please turn on the power to GR-PEACH or GR-LYCHEE and start terminal software.
  2. Please connect an ethernet cable and press the reset button on board.
  3. An IP address is output on terminal.
    The after explanation assumes an IP address "192.168.0.2".
    Please refer to the following link about how to use the terminal.
    The default value of baud rate in mbed is 9600, and this application uses baud rate 9600.
    https://developer.mbed.org/teams/Renesas/wiki/GR-PEACH-Getting-Started#install-the-usb-serial-communication
    https://developer.mbed.org/handbook/SerialPC
  4. When "http://192.168.0.2/web_top.htm" is opened by a web browser, top screen is indicated.
    The configuration of the top screen is a menu screen on the left side, a description screen of the sample program on the right side.
    If you click on each menu on the left side of the screen, the screen along the menu is indicated on the right screen.
  5. When you click the "Web camera" in the menu screen, the pictures of a camera is indicated.
    It can be changed at a slider bar in "Wait time" at the timing of a renewal of a camera picture. (Defaults are 500ms.)
  6. When you click the "Setting by I2C" of the menu screen, the control screen of the device connected to the I2C bus is indicated.
    By sending a command of a format listed below("Format of the device set by I2C") in Direct input or File reference, data transmission and reception is possible with respect to devices connected to I2C_SDA and I2C_SCL terminals of I2C.
    (In this configuration, you can execute the camera settings such as white balance and automatic exposure with respect to Camera(MT9V111).)
    The communication log of transmission and reception by "Format of the device set by I2C" is displayed in the log window.
    When you press the "Clear" button, the log is cleared. When you press the "Save" button, the log is saved.
  7. When you click the "LED On/Off" of the menu screen, the LED control screen is indicated.
    Each switch switches LED1 ~ LED3 of GR-PEACH(LED1 ~ LED4 of GR-LYCHEE) to ON or OFF.
    Each switch indicates the current state of LED on board. When the LED is On, the color of switch will change the LED color.
  8. When you click the "Top Page" of the menu screen, the top screen is indicated.


The Terminal indication when being a reset start.

********* PROGRAM START ***********
Network Setting up...
MAC Address is 00:02:f7:f0:00:00
IP Address is 192.168.0.2
NetMask is 255.255.255.0
Gateway Address is 192.168.0.3
Network Setup OK




Example of ”Page Top” screen
/media/uploads/1050186/web_top2.jpg


Example of ”Web Camera” screen
/media/uploads/1050186/camera3.jpg


Example of ”Setting by I2C” screen
/media/uploads/1050186/setting_i2c3.jpg

Format of the device set by I2C

Method:I2C addr,data length,data1,data2,data3,...

The details of each parameter is shown below.
For specific settings, check on the specifications of the connected device, you must create a command along the format.

MethodPlease specify one of the following:
"Wr" ・・・ Write functions in I2C
"Rd" ・・・ Read functions in I2C
"WrNoP" ・・・ Write functions in I2C(No STOP condition)
"RdNoP" ・・・ Read functions in I2C(No STOP condition)
I2C addrSet the I2C address of device in hexadecimal.
Ex: If the address is 0x90, set the "90"
data lengthIf Method is "Wr" or "WrNoP", set write size(the size of the data portion) in hexadecimal.
Ex: If the write size is 2 byte(data1, data2), set the "02".
If Method is "Rd" or "RdNoP", set read size in hexadecimal.
Ex: If the read size is 10 byte, set the "0A".
dataIf Method is "Wr" or "WrNoP", set write data in 1 byte unit in hexadecimal.
Ex: If the write data is 0x01 0x02, set "01" in the data1 and "02" in the data2.
If Method is "Rd" or "RdNoP", this parameter is omitted.

An example of the format is shown below.

Wr:90,03,25,45,14

To the device of the I2C address 0x90, the data write of 3Byte(0x25 0x45 0x14)

Rd:90,02

To the device of the I2C address 0x90, the data read of 2Byte


Some of the camera settings commands for MT9V111 is shown below.
In the case of direct input, after writing the commands in a text box, press the "Send" button.
In the case of file reference, after selecting file in the "Choose a text file" button, press the "Send" button.
In MT9V111, the setting value is valid until you shut off the power supply disconnect the USB cable.



Example of ”LED On/Off” screen
/media/uploads/1050186/led2.jpg

Processing

  1. At the time of a reset start.
    1. Data for Web pages written on file_"table.h" is registered with FileSystem. ".htm" files and ".js" files are indicated on "file_table.h "as binary data.
    2. The merit of the picture is begun from a camera using GR-PEACH_video library.
    3. To allow LED operation and Terminal output from the Web browser, registration with the mbed-rpc library is done.
    4. EthernetInterface is started and an IP address is acquired from DHCP Server. (It's possible to set a static IP address.)
      The after explanation assumes an IP address "192.168.0.2".
    5. SnapshotHandler (for pictures), FSHandler (for Web page indication) and RPCHandler (for operation) are registered with HTTPServer.

  2. At the time of "Web Camera" click.
    1. "http://192.168.0.2/camera.htm" is opened.
    2. The function in the JavaScript "http://192.168.0.2/camera.js" is called, and a picture acquisition request to SnapshotHandler occurs periodically.
    3. When GR-PEACH or GR-LYCHEE accept a picture acquisition order to SnapshotHandler, GR-PEACH or GR-LYCHEE change the camera picture acquired from GR-PEACH_video library to JPEG in JPEG Converter in a GraphicsFramework library and replies to a web browser.
      The picture size GR-PEACH or GR-LYCHEE send is QVGA (320 x 240). Even biggest VGA (640 x 480) is expanded on the web browser.

  3. At the time of "Setting by I2C" click.
    1. "http://192.168.0.2/i2c_set.htm" is opened.
    2. When you push the "Send" button, the function in the JavaScript "http://192.168.0.2/camera.js" is called, and a control acquisition request to SnapshotHandler occurs periodically.
    3. When GR-PEACH or GR-LYCHEE accept a control acquisition order to SnapshotHandler, GR-PEACH or GR-LYCHEE analyze the command part and execute the I2C communication using the I2C driver.

      The communication log of transmission and reception by "Format of the device set by I2C" is displayed in the log window.
      In the writing format, GR-PEACH or GR-LYCHEE execute data writing by the I2C communication and displays the results of writing on the log window. In success, it is "OK run". In failure, it is "NG run".
      In the reading format, GR-PEACH or GR-LYCHEE execute data reading by the I2C communication and displays the results of writing on the log window. In success, it is "OK XX,YY,... run". In failure, it is "NG run".
      (XX and YY are the read data in accordance with the specified size.)

      Example of "Write successful example" screen
      /media/uploads/1050186/i2c_log_write.jpg

      Example of "Read successful example(read data=2Byte)" screen
      /media/uploads/1050186/i2c_log_read.jpg

      Also when you connect the "http://192.168.0.2/rpc/SetI2CfromWeb/run,Wr:90,03,25,45,14", etc., GR-PEACH or GR-LYCHEE execute the I2C communication. When you set the writing format to the command part of subsequent of "/run,", GR-PEACH or GR-LYCHEE execute data writing by the I2C communication and displays the results of writing on the web browser. In success, it is "OK run". In failure, it is "NG run".
      When you set the reading format to the command part of subsequent of "/run,", GR-PEACH or GR-LYCHEE execute data reading by the I2C communication and displays the results of writing on the web browser. In success, it is "OK XX,YY,... run". In failure, it is "NG run".
      (XX and YY are the read data in accordance with the specified size.)

      Example of "Write successful example" screen
      /media/uploads/1050186/i2c_write2.jpg

      Example of "Read successful example(read data=2Byte)" screen
      /media/uploads/1050186/i2c_read2.jpg


  4. At the time of "LED On/Off" click.
    1. "http://192.168.0.2/led.htm" is opened.
    2. When you push each switch, the function in the JavaScript "http://192.168.0.2/mbedrpc.js" is called, and a control acquisition request of "http://192.168.0.2/rpc/led1/write 1" etc. occurs to RPCHandler.
    3. When GR-PEACH or GR-LYCHEE accept a control acquisition order to RPCHandler, GR-PEACH or GR-LYCHEE operate an LED using mbed-rpc library.
    4. Then, an information acquisition request of "http://192.168.0.2/rpc/led1/write 1" etc. occurs to RPCHandler.
    5. When GR-PEACH or GR-LYCHEE accept an information acquisition order to RPCHandler, GR-PEACH or GR-LYCHEE get the current status of LED using mbed-rpc library, replies to a web browser.


File in the "file_table.h"

It's modified by making reference to something introduced here about the RPC function ("led.htm" and "mbedrpc.js").
/users/yueee_yt/code/HttpServerSample/


When you enable the following thread startup process and thread process, you can set the device in the I2C at Terminal via as well as via a Web browser.
Command to be sent is the same as at the time through a Web browser.

main.cpp

int main(void) {
    printf("********* PROGRAM START ***********\r\n");

    /* Please enable this line when performing the setting from the Terminal side. */
//    Thread thread(SetI2CfromTerm, NULL, osPriorityBelowNormal, DEFAULT_STACK_SIZE);


i2c_setting.cpp

#if(0) /* Please enable this line when performing the setting from the Terminal side. */
Serial terminal(USBTX, USBRX);
static char recv_term_buffer[I2C_SETTING_STR_BUF_SIZE];

void SetI2CfromTerm(void const *argument) {
    ... Skip ...
}
#endif





Using WiFi BP3595

When using "GR-PEACH Normal", it's possible to do a WiFi connection with BP3595 manufactured by ROHM instead of an ethernet connection. GR-PEACH has a dedicated connector for BP3595. Without the need for complex wiring work, it is capable of high-speed wireless communication of the USB2.0 connection.
/media/uploads/dkato/normal-wifi_01_s.png
https://developer.mbed.org/components/BP3595-for-GR-PEACH/

GR-PEACH、GR-PEACH AUDIO CAMERA Shield、Camera、PC、WiFi access point、BP3595。
/media/uploads/dkato/web_camera_composition_wifi.png

It's necessary to input 5V to VBUS1 to use BP3595. It is possible to supply 5V to VBUS1 by following one of them.

  1. Close GR-PEACH's JP21
    https://developer.mbed.org/teams/Renesas/wiki/Jumper-settings-of-GR-PEACH
  2. Close GR-PEACH AUDIO CAMERA Shield's JP1
    https://developer.mbed.org/teams/Renesas/wiki/Audio_Camera-shield

Modify "User Selection" setting of main.cpp as below when using BP3595.

main.cpp (Network type setting)

#define NETWORK_TYPE           (0)                 /* Select  0(Ethernet), 1(BP3595), 2(ESP32 STA) ,3(ESP32 AP) */
#if (NETWORK_TYPE >= 1)
  #define SCAN_NETWORK         (1)                 /* Select  0(Use WLAN_SSID, WLAN_PSK, WLAN_SECURITY) or 1(To select a network using the terminal.) */
  #define WLAN_SSID            ("SSIDofYourAP")    /* SSID */
  #define WLAN_PSK             ("PSKofYourAP")     /* PSK(Pre-Shared Key) */
  #define WLAN_SECURITY        NSAPI_SECURITY_WPA_WPA2 /* NSAPI_SECURITY_NONE, NSAPI_SECURITY_WEP, NSAPI_SECURITY_WPA, NSAPI_SECURITY_WPA2 or NSAPI_SECURITY_WPA_WPA2 */
#endif


NETWORK_TYPEIf using WiFi BP3595, "NETWORK_TYPE" should be "1".
SCAN_NETWORK0: It's connected to a network using WLAN_SSID, WLAN_PSK and WLAN_SECURITY.
1: A network is chosen from a scan result. A scan result is shown to Terminal.
WLAN_SSIDSet the SSID to connect to the access point. It isn't used in case of "SCAN_NETWORK = 1".
WLAN_PSKSet the password to connect to the access point. It isn't used in case of "SCAN_NETWORK = 1".
WLAN_SECURITYSet the security type to connect to the access point. It isn't used in case of "SCAN_NETWORK = 1".



Appendix

Setting of fixed IP address

Only for Windows(R) user:
You need to set up IP address of your PC to match GR-PEACH WebCamera sample when you use fixed IP address.
The default settings are as below.

GR-PEACH192.168.0.2
Subnet mask255.255.255.0
Default Gate Way192.168.0.3


Setting steps of IP address is shown as below.
We will set "192.168.0.3" for the IP address of PC in following steps.

  1. Open the control panel and click "Network and Sharing Center".
    /media/uploads/MasaoHamanaka/change_ip_eng_1.png

  2. Click "Change adapter settings".
    /media/uploads/MasaoHamanaka/change_ip_eng_2.png

  3. Right-click "Local Area Connection" to open a property.
    /media/uploads/MasaoHamanaka/change_ip_eng_3.png

  4. Select "Internet Protocol Version 4(TCP/IPv4)" and click "Properties".
    /media/uploads/MasaoHamanaka/change_ip_eng_4.png

  5. Check "Use the following IP address:" and "Use the following DNS server addresses:".
  6. Enter "192.168.0.3" to "IP address:", and enter "255.255.255.0" to "Subnet mask:".
    "Default gateway:", "Preferred DNS server:", and "Alternate DNS server:" are empty.
    And click "OK".
    /media/uploads/MasaoHamanaka/change_ip_eng_5.png


MATLAB & WebCamera

Do more with WebCamera.. ...

compare images

/media/uploads/pateshian/grp-matlab.pdf

GR-PEACH and MATLAB operations – Image differences – two jpeg (.jpg) image files. MATLAB using R2014A forward

Example – WebCamera –possible applications: Motion detection, Earthquake monitoring (or Camera vibration) Intruder detection, alarm function

Steganography*, (finding hidden messages in original source vs. modified version)

  • Can be independent of WebCamera – SURF section can be skipped for better performance

-MATLAB change detection, using general or WebCamera pictures - here is Scale Invariant difference of two similar pictures

This would be best case results –

File : difference.m (for MatLab) is complex code and Sqrt, Arctangent in SURF algorithms to do jpg to rgb absolute differences – this would not be fast on GR-PEACH. SURF is used as its 3-5x faster than SIFT.


概要

GR-PEACHとGR-PEACH AUDIO CAMERA Shield、又は、GR-LYCHEEを使ったWeb Cameraサンプルプログラムです。
WebブラウザからGR-PEACHにアクセスすると以下が表示されます。

  • Camera入力画像
  • I2Cバスに繋がっているデバイスの制御画面
  • LED操作画面

Importの際は"Update all libraries to the latest version"にチェックを入れてください。
HTTPServer、および、RPCについて、こちらを参考にさせていただきました。/users/yueee_yt/code/HttpServerSample/

GR-PEACH AUDIO CAMERA Shieldについては下記を参照ください。
https://developer.mbed.org/teams/Renesas/wiki/Audio_Camera-shield

構成

GR-PEACHの場合:

  1. GR-PEACH
  2. 以下のいずれか
    NTSCアナログカメラ、MT9V111 and GR-PEACH AUDIO CAMERA Shield、OV5642 and GR-PEACH AUDIO CAMERA Shield、GR-PEACH Wireless CAMERA Shield : OV7725
  3. 以下のいずれかのネットワーク
    Ethernet、BP3595 (wifi)、GR-PEACH Wireless CAMERA Shield : ESP32 (wifi)

GR-LYCHEEの場合:

  1. GR-LYCHEE


サンプルプログラムではDHCP ServerからIPアドレスを取得します。固定IPアドレスを使用する場合は以下を変更してください。

main.cpp (IP address config)

/** Network setting **/
#define USE_DHCP               (1)                 /* Select  0(static configuration) or 1(use DHCP) */
#if (USE_DHCP == 0)
  #define IP_ADDRESS           ("192.168.0.2")     /* IP address      */
  #define SUBNET_MASK          ("255.255.255.0")   /* Subnet mask     */
  #define DEFAULT_GATEWAY      ("192.168.0.3")     /* Default gateway */
#endif


main.cppの最後にの下記のように関数を追加し、用意したMACアドレスを設定してください。

Specify MAC address

// set mac address
void mbed_mac_address(char *mac) {
    mac[0] = 0x00;
    mac[1] = 0x02;
    mac[2] = 0xF7;
    mac[3] = 0xF0;
    mac[4] = 0x00;
    mac[5] = 0x00;
}


また、使用するネットワークに合わせて以下を変更してください。

main.cpp (Network type setting)

#define NETWORK_TYPE           (0)                 /* Select  0(Ethernet), 1(BP3595), 2(ESP32 STA) ,3(ESP32 AP) */
#if (NETWORK_TYPE >= 1)
  #define SCAN_NETWORK         (1)                 /* Select  0(Use WLAN_SSID, WLAN_PSK, WLAN_SECURITY) or 1(To select a network using the terminal.) */
  #define WLAN_SSID            ("SSIDofYourAP")    /* SSID */
  #define WLAN_PSK             ("PSKofYourAP")     /* PSK(Pre-Shared Key) */
  #define WLAN_SECURITY        NSAPI_SECURITY_WPA_WPA2 /* NSAPI_SECURITY_NONE, NSAPI_SECURITY_WEP, NSAPI_SECURITY_WPA, NSAPI_SECURITY_WPA2 or NSAPI_SECURITY_WPA_WPA2 */
#endif


使い方

  1. GR-PEACH or GR-LYCHEEに電源を入れ、Terminalソフトを立ち上げます。
  2. イーサーネットケーブルを接続し、ボード上のリセットボタンを押します。
  3. Terminal上にIPアドレスが出力されます。
    以降は取得(設定)したIPアドレスが"192.168.0.2"として説明します。
    Terminalの使い方は以下のリンクを参照下さい。
    mbedでのボーレートのデフォルト値は9600で、このサンプルではボーレート9600を使います。
    https://developer.mbed.org/teams/Renesas/wiki/GR-PEACH-Getting-Started#install-the-usb-serial-communication
    https://developer.mbed.org/handbook/SerialPC
  4. PCのWebブラウザで”http://192.168.0.2/web_top.htm”を開くと、トップ画面が表示されます。
    トップ画面は、左側にメニュー画面、右側にサンプルプログラムの説明画面という構成になっており、
    左画面の各メニューをクリックすると、メニューに沿った画面が右画面に表示されます。
  5. メニュー画面の”Web Camera”をクリックすると、Camera画像が表示されます。
    "Wait time"のスライダーバーでCamera画像の更新タイミングが変更できます。(初期値は500msです)
  6. メニュー画面の"Setting by I2C"をクリックすると、I2Cバスに繋がっているデバイスの制御画面が表示されます。
    直接入力(Direct input)欄又はファイル参照(File reference)欄にて、下記("I2Cによるデバイス設定のフォーマット")に記載されているフォーマットのコマンドを送信する事で、I2CのI2C_SDA,I2C_SCL端子に繋がっているデバイスに対して、データの送受信が可能です。
    (今回の構成ではCamera(MT9V111)に対して、ホワイトバランスや自動露出といったカメラ設定が行えます。)
    "I2Cによるデバイス設定のフォーマット"による送受信の通信ログは、ログウィンドウに表示されます。
    "Clear"ボタンを押すとログのクリア、"Save"ボタンを押すとログの保存ができます。
  7. メニュー画面の"LED On/Off"をクリックすると、LED操作画面が表示されます。
    各スイッチはGR-PEACHのLED1~LED3、GR-LYCHEEのLED1~LED4をON/OFF切り替えます。
    スイッチはそれぞれボード上LEDの現状を表しており、ONにすると対応するLEDの色になります。
  8. メニュー画面の"Top Page"をクリックすると、 トップ画面が表示されます。


リセットスタート時のTerminal表示

********* PROGRAM START ***********
Network Setting up...
MAC Address is 00:02:f7:f0:00:00
IP Address is 192.168.0.2
NetMask is 255.255.255.0
Gateway Address is 192.168.0.3
Network Setup OK



”Page Top”画面の例
/media/uploads/1050186/web_top2.jpg


”Web Camera”画面の例
/media/uploads/1050186/camera3.jpg


”Setting by I2C”画面の例
/media/uploads/1050186/setting_i2c3.jpg

I2Cによるデバイス設定のフォーマット

Method:I2C addr,data length,data1,data2,data3,...

各パラメータの詳細を以下に示します。
具体的な設定値については、接続先のデバイスの仕様をご確認のうえ、フォーマットに沿ってコマンドを作成して下さい。

Method以下のいづれかを指定して下さい
"Wr" ・・・ I2Cでの書き込み
"Rd" ・・・ I2Cでの読み出し
"WrNoP" ・・・ I2Cでの書き込み(STOPコンディション省略)
"RdNoP" ・・・ I2Cでの読み出し(STOPコンディション省略)
I2C addr接続先デバイスのI2Cアドレスを16進数で設定して下さい。
(例) アドレスが0x90の場合、"90"を設定
data lengthMethodが"Wr"又は"WrNoP"の場合、書き込むサイズ(data部分のサイズ)を16進数で設定して下さい。
(例) 書き込むサイズが2Byte(data1,data2)の場合、"02"を設定
Methodが"Rd"又は"RdNoP"の場合は読み取るサイズを16進数で設定して下さい。
(例) 読み取りサイズが10Byteの場合、"0A"を設定
dataMethodが"Wr"又は"WrNoP"の場合、書き込むデータを16進数で1Byte単位で設定して下さい。
(例) 書き込みデータが0x01,0x02の場合、data1に"01"、data2に"02"を設定
"Rd"又は"RdNoP"の場合は省略して下さい。

フォーマットの例を以下に示します。

Wr:90,03,25,45,14

I2Cアドレス0x90のデバイスに対して0x25 0x45 0x14の計3Byteのデータ書き込み

Rd:90,02

I2Cアドレス0x90のデバイスに対して2Byteのデータ読み出し


また、MT9V111用のカメラ設定コマンドをいくつか用意しました。
直接入力(Direct input)の場合は、テキストボックスにコマンドを書いた後、"Send"ボタンを押して下さい。
ファイル参照(File reference)の場合は、"Choose a text file"ボタンをクリックしてファイルを選択した後、"Send"ボタンを押して下さい。
MT9V111の場合、USBケーブルを抜き電源供給を遮断するまで設定値が有効になります。



”LED On/Off”画面の例
/media/uploads/1050186/led2.jpg

処理の流れ

  1. リセットスタート時
    1. "file_table.h"に書かれたWeb page用データをFileSystemに登録します。 "file_table.h"には".htm"ファイルと".js"ファイルがバイナリデータとして記載されています。
    2. GR-PEACH_videoライブラリを用いてCameraからの画像取得を開始します。
    3. WebブラウザからI2Cでの設定、LED操作、及び、Terminal出力ができるように、mbed-rpcライブラリへの登録を行います。
    4. EthernetInterfaceを起動し、DHCP ServerからIPアドレスを取得します。(固定アドレスを設定することもできます)
      以降は取得(設定)したIPアドレスが"192.168.0.2"として説明します。
    5. HTTPServerにSnapshotHandler(画像用)、FSHandler(Webページ表示用)、RPCHandler(操作用)を登録します。

  2. "Web Camera"クリック時
    1. "http://192.168.0.2/camera.htm"が開きます。
    2. JavaScript "http://192.168.0.2/camera.js"内の関数が実行され、定期的にSnapshotHandlerへの画像取得要求が発生します。
    3. GR-PEACH or GR-LYCHEEはSnapshotHandlerへの画像取得要求を受けると、GR-PEACH_videoライブラリから取得したCamera画像をGraphicsFrameworkライブラリのJPEG ConverterにてJPEGに変換し、Webブラウザに応答します。
      GR-PEACH or GR-LYCHEEが送信する画像サイズはQVGA(320 x 240)です。Webブラウザ上で最大VGA(640 x 480)まで拡大されます。

  3. "Setting by I2C"クリック時
    1. "http://192.168.0.2/i2c_set.htm"が開きます。
    2. "Send"ボタンを押すと、JavaScript "http://192.168.0.2/mbedrpc.js"内の関数が実行され、RPCHandlerへ "http://192.168.0.2/rpc/SetI2CfromWeb/run,Wr:90,03,25,45,14" などの操作要求が発生します。
    3. GR-PEACH or GR-LYCHEEはRPCHandlerへの操作要求を受けると、"/run,"以降のコマンド部分の解析を行い、I2Cドライバを用いてI2C通信を行います。

      "I2Cによるデバイス設定のフォーマット"による送受信の通信ログは、ログウィンドウに表示されます。
      書き込みフォーマットの場合、I2C通信でデータ書き込みを行ない、ログウィンドウに書き込み結果を表示します。成功の場合は"OK run"、失敗の場合は"NG run"となります。
      読み出しフォーマットの場合、I2C通信でデータ読み出し行ない、ログウィンドウに読み出し結果と読み出したデータを表示します。成功の場合は"OK XX,YY,... run"、失敗の場合は"NG run"となります。
      (XXやYYは指定サイズに応じた読み出したデータです。)

      "書き込み成功例"画面の例
      /media/uploads/1050186/i2c_log_write.jpg

      "読み出し成功例(読み出しデータ=2Byte)"画面の例
      /media/uploads/1050186/i2c_log_read.jpg

      また、 "http://192.168.0.2/rpc/SetI2CfromWeb/run,Wr:90,03,25,45,14" などで直接接続した場合でも、上記同様のI2C通信を行います。 "/run,"以降のコマンド部分を書き込みフォーマットにすると、I2C通信でデータ書き込みを行ない、ブラウザ上に書き込み結果を表示します。成功の場合は"OK run"、失敗の場合は"NG run"となります。
      "/run,"以降のコマンド部分を読み出しフォーマットにすると、I2C通信でデータ読み出しを行ない、ブラウザ上に読み出し結果と読み出したデータを表示します。成功の場合は"OK XX,YY,... run"、失敗の場合は"NG run"となります。
      (XXやYYは指定サイズに応じた読み出したデータです。)

      "書き込み成功例"画面の例
      /media/uploads/1050186/i2c_write2.jpg

      "読み出し成功例(読み出しデータ=2Byte)"画面の例
      /media/uploads/1050186/i2c_read2.jpg

  4. "LED On/Off"クリック時
    1. "http://192.168.0.2/led.htm"が開きます。
    2. 各スイッチを操作すると、JavaScript "http://192.168.0.2/mbedrpc.js"内の関数が実行され、RPCHandlerへ "http://192.168.0.2/rpc/led1/write 1" などの操作要求が発生します。
    3. GR-PEACH or GR-LYCHEEはRPCHandlerへの操作要求を受けると、mbed-rpcライブラリを通してLEDのOn/Off操作を行います。
    4. その後、RPCHandlerへ "http://192.168.0.2/rpc/led1/read" などの情報取得要求が発生します。
    5. GR-PEACH or GR-LYCHEEはRPCHandlerへの情報取得要求を受けると、mbed-rpcライブラリを通してLEDの現在の状態を取得し、Webブラウザに応答します。


"file_table.h"内のファイル

RPC機能("led.htm"、"mbedrpc.js")については、こちらで紹介されているものを参考に一部変更しています。
/users/yueee_yt/code/HttpServerSample/


なお、サンプルプログラムにて、以下のスレッド起動処理とスレッド処理を有効すると、 Webブラウザ経由と同様にTerminal経由でもI2Cでのデバイス設定ができます。
送信するコマンドはWebブラウザ経由時と同じです。

main.cpp

int main(void) {
    printf("********* PROGRAM START ***********\r\n");

    /* Please enable this line when performing the setting from the Terminal side. */
//    Thread thread(SetI2CfromTerm, NULL, osPriorityBelowNormal, DEFAULT_STACK_SIZE);


i2c_setting.cpp

#if(0) /* Please enable this line when performing the setting from the Terminal side. */
Serial terminal(USBTX, USBRX);
static char recv_term_buffer[I2C_SETTING_STR_BUF_SIZE];

void SetI2CfromTerm(void const *argument) {
    ... 省略 ...
}
#endif





WiFi BP3595を使う

「GR-PEACH Normal」をご使用の場合、イーサーネット接続の代わりにROHM製BP3595を使用したWiFi接続を行うことができます。GR-PEACHにはBP3595専用のコネクタが搭載されています。複雑な配線作業をする必要なく、USB2.0接続の高速無線通信が可能です。
/media/uploads/dkato/normal-wifi_01_s.png
https://developer.mbed.org/components/BP3595-for-GR-PEACH/

GR-PEACH、GR-PEACH AUDIO CAMERA Shield、Camera、PC、WiFiアクセスポイント、BP3595。
/media/uploads/dkato/web_camera_composition_wifi.png

BP3595を使用する為にはVBUS1に5Vを入力する必要があります。以下のいずれかの対応でVBUS1に5Vを供給する事が可能です。

  1. GR-PEACHのJP21をショートする。
    https://developer.mbed.org/teams/Renesas/wiki/Jumper-settings-of-GR-PEACH
  2. GR-PEACH AUDIO CAMERA ShieldのJP1をショートする。
    https://developer.mbed.org/teams/Renesas/wiki/Audio_Camera-shield

BP3595を使用する場合はmain.cppのUser Selection の設定を変更してください。

main.cpp (Network type setting)

#define NETWORK_TYPE           (0)                 /* Select  0(Ethernet), 1(BP3595), 2(ESP32 STA) ,3(ESP32 AP) */
#if (NETWORK_TYPE >= 1)
  #define SCAN_NETWORK         (1)                 /* Select  0(Use WLAN_SSID, WLAN_PSK, WLAN_SECURITY) or 1(To select a network using the terminal.) */
  #define WLAN_SSID            ("SSIDofYourAP")    /* SSID */
  #define WLAN_PSK             ("PSKofYourAP")     /* PSK(Pre-Shared Key) */
  #define WLAN_SECURITY        NSAPI_SECURITY_WPA_WPA2 /* NSAPI_SECURITY_NONE, NSAPI_SECURITY_WEP, NSAPI_SECURITY_WPA, NSAPI_SECURITY_WPA2 or NSAPI_SECURITY_WPA_WPA2 */
#endif


NETWORK_TYPEWiFi BP3595を使用する場合は、1を選択します。
SCAN_NETWORK0: WLAN_SSID、WLAN_PSK、WLAN_SECURITYを使ってネットワークに接続します。
1: スキャン結果からネットワークを選択します。スキャン結果はTerminalに表示されます。
WLAN_SSID接続先アクセスポイントのSSIDを設定します。SCAN_NETWORK=1の場合は使用しません。
WLAN_PSK接続先アクセスポイントのパスワードを設定します。SCAN_NETWORK=1の場合は使用しません。
WLAN_SECURITY接続先アクセスポイントのセキュリティタイプを設定します。SCAN_NETWORK=1の場合は使用しません。



付録

固定IPアドレスの設定

以降はWindows PCでの固定IPアドレス設定方法を記載します。
GR-PEACH WebCameraサンプルで、固定IPアドレスを使用する場合、
PC側のIPアドレスをプログラムに合うよう変更する必要があります。
デフォルトでは、以下の設定になっています。

GR-PEACH192.168.0.2
Subnet mask255.255.255.0
Default Gate Way192.168.0.3


以下にIPアドレス設定方法を記載します。
PCに設定するIPアドレスは、192.168.0.3を設定します。

  1. コントロールパネルを開き、「ネットワークと共有センター」をクリックします。
    /media/uploads/MasaoHamanaka/change_ip_jpn_1.png

  2. 「アダプターの設定の変更」をクリックします。
    /media/uploads/MasaoHamanaka/change_ip_jpn_2.png

  3. 「ローカルエリア接続」を右クリックし、プロパティを開きます。
    /media/uploads/MasaoHamanaka/change_ip_jpn_3.png

  4. 「インターネット プロトコル バージョン 4(TCP/IPv4)」を選択し、「プロパティ」をクリックします。
    /media/uploads/MasaoHamanaka/change_ip_jpn_4.png

  5. 「次のIPアドレスを使う」および「次のDNSサーバーのアドレスを使う」をチェックします。
  6. IPアドレスに192.168.0.3、サブネットマスクに255.255.255.0を入力します。
     デフォルトゲートウェイ、優先DNSサーバーおよび代替DNSサーバーを空欄にし、OKをクリックします。
    /media/uploads/MasaoHamanaka/change_ip_jpn_5.png

Files at this revision

API Documentation at this revision

Comitter:
1050186
Date:
Tue Dec 25 09:57:54 2018 +0000
Parent:
22:9e54410bd934
Commit message:
Support Mbed OS 5.10, replace Renesas libraries to mbed-gr-libs and optimize main.cpp and related files for supporting GR-LYCHEE too.;

Changed in this revision

GR-PEACH_video.lib Show diff for this revision Revisions of this file
GraphicsFramework.lib Show diff for this revision Revisions of this file
LWIPBP3595Interface_mbed-os.lib Show diff for this revision Revisions of this file
R_BSP.lib Show diff for this revision Revisions of this file
RomRamBlockDevice.lib Show diff for this revision Revisions of this file
file_table.h Show diff for this revision Revisions of this file
file_table_lychee.h Show annotated file Show diff for this revision Revisions of this file
file_table_peach.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-gr-libs.lib Show annotated file Show diff for this revision Revisions of this file
mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
mbed-rpc.lib Show diff for this revision Revisions of this file
mbed-rpc/Arguments.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rpc/Arguments.h Show annotated file Show diff for this revision Revisions of this file
mbed-rpc/RPCFunction.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rpc/RPCFunction.h Show annotated file Show diff for this revision Revisions of this file
mbed-rpc/RPCVariable.h Show annotated file Show diff for this revision Revisions of this file
mbed-rpc/RpcClasses.h Show annotated file Show diff for this revision Revisions of this file
mbed-rpc/mbed_rpc.h Show annotated file Show diff for this revision Revisions of this file
mbed-rpc/parse_pins.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rpc/parse_pins.h Show annotated file Show diff for this revision Revisions of this file
mbed-rpc/rpc.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rpc/rpc.h Show annotated file Show diff for this revision Revisions of this file
mbed_app.json Show annotated file Show diff for this revision Revisions of this file
--- a/GR-PEACH_video.lib	Thu Jul 13 04:19:35 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://developer.mbed.org/teams/Renesas/code/GR-PEACH_video/#aeefe5171463
--- a/GraphicsFramework.lib	Thu Jul 13 04:19:35 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://developer.mbed.org/teams/Renesas/code/GraphicsFramework/#1ee2176ef13f
--- a/LWIPBP3595Interface_mbed-os.lib	Thu Jul 13 04:19:35 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-https://developer.mbed.org/users/dkato/code/LWIPBP3595Interface_STA_for_mbed-os/#6bd475023468
--- a/R_BSP.lib	Thu Jul 13 04:19:35 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://developer.mbed.org/teams/Renesas/code/R_BSP/#fb9eda52224e
--- a/RomRamBlockDevice.lib	Thu Jul 13 04:19:35 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-https://developer.mbed.org/users/dkato/code/RomRamBlockDevice/#3e16bac28356
--- a/file_table.h	Thu Jul 13 04:19:35 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1224 +0,0 @@
-
-static const char index_htm_tbl[] = {
- 0x3C,0x53,0x43,0x52,0x49,0x50,0x54,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
-,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x0D
-,0x0A,0x3C,0x21,0x2D,0x2D,0x0D,0x0A,0x6C,0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x2E
-,0x68,0x72,0x65,0x66,0x3D,0x22,0x2F,0x77,0x65,0x62,0x5F,0x74,0x6F,0x70,0x2E,0x68
-,0x74,0x6D,0x22,0x3B,0x0D,0x0A,0x2D,0x2D,0x3E,0x0D,0x0A,0x3C,0x2F,0x53,0x43,0x52
-,0x49,0x50,0x54,0x3E,0x0D,0x0A
-};
-
-static const char camaera_js_tbl[] = {
- 0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x20,0x3D,0x20,0x30,0x3B
-,0x20,0x2F,0x2F,0x20,0x53,0x65,0x72,0x69,0x61,0x6C,0x20,0x6E,0x75,0x6D,0x62,0x65
-,0x72,0x20,0x6F,0x66,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6D,0x61
-,0x67,0x65,0x0D,0x0A,0x76,0x61,0x72,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
-,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x29,0x3B,0x20
-,0x2F,0x2F,0x20,0x52,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x73,0x20,0x74,0x6F
-,0x20,0x69,0x6D,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x73,0x20,0x77,0x68,0x69
-,0x63,0x68,0x20,0x68,0x61,0x76,0x65,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
-,0x20,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x69,0x6E,0x67,0x0D,0x0A,0x0D,0x0A
-,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
-,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20
-,0x20,0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x3D,0x20,0x6E,0x65,0x77
-,0x20,0x49,0x6D,0x61,0x67,0x65,0x28,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x69
-,0x6D,0x61,0x67,0x65,0x2E,0x73,0x72,0x63,0x20,0x3D,0x20,0x22,0x63,0x61,0x6D,0x65
-,0x72,0x61,0x2F,0x22,0x20,0x2B,0x20,0x28,0x2B,0x2B,0x69,0x6D,0x61,0x67,0x65,0x4E
-,0x72,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x73,0x74,0x79
-,0x6C,0x65,0x2E,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x3D,0x20,0x22,0x61
-,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x22,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61
-,0x67,0x65,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49,0x6E,0x64,0x65,0x78,0x20
-,0x3D,0x20,0x2D,0x31,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F
-,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C
-,0x6F,0x61,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F,0x6E
-,0x65,0x72,0x72,0x6F,0x72,0x20,0x3D,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D
-,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x76
-,0x61,0x72,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75
-,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42
-,0x79,0x49,0x64,0x28,0x22,0x77,0x65,0x62,0x63,0x61,0x6D,0x22,0x29,0x3B,0x0D,0x0A
-,0x20,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x2E,0x69,0x6E,0x73,0x65,0x72,0x74,0x42
-,0x65,0x66,0x6F,0x72,0x65,0x28,0x69,0x6D,0x61,0x67,0x65,0x2C,0x20,0x77,0x65,0x62
-,0x63,0x61,0x6D,0x2E,0x66,0x69,0x72,0x73,0x74,0x43,0x68,0x69,0x6C,0x64,0x29,0x3B
-,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
-,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C,0x6F,0x61,0x64,0x28,0x29,0x20,0x7B,0x0D
-,0x0A,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49
-,0x6E,0x64,0x65,0x78,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x3B,0x0D
-,0x0A,0x20,0x20,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x31,0x20,0x3C,0x20,0x66,0x69
-,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x6C,0x65,0x6E,0x67,0x74,0x68,0x29,0x20,0x7B
-,0x0D,0x0A,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x64,0x65,0x6C,0x20,0x3D,0x20
-,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x73,0x68,0x69,0x66,0x74,0x28,0x29
-,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x64,0x65,0x6C,0x2E,0x70,0x61,0x72,0x65,0x6E
-,0x74,0x4E,0x6F,0x64,0x65,0x2E,0x72,0x65,0x6D,0x6F,0x76,0x65,0x43,0x68,0x69,0x6C
-,0x64,0x28,0x64,0x65,0x6C,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x7D,0x0D,0x0A,0x20,0x20
-,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x70,0x75,0x73,0x68,0x28,0x74,0x68
-,0x69,0x73,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x74,0x69,0x6D,0x65,0x72,0x49,0x44,0x20
-,0x3D,0x20,0x73,0x65,0x74,0x54,0x69,0x6D,0x65,0x6F,0x75,0x74,0x28,0x66,0x75,0x6E
-,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x7B,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
-,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7D,0x2C,0x20,0x64
-,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x46,0x31,0x2E,0x77,0x61,0x69,0x74,0x74
-,0x69,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
-};
-
-static const char camera_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x63,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F,0x74
-,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
-,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
-,0x72,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72
-,0x61,0x2E,0x6A,0x73,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75
-,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
-,0x0A,0x3C,0x73,0x74,0x79,0x6C,0x65,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
-,0x78,0x74,0x2F,0x63,0x73,0x73,0x22,0x3E,0x0D,0x0A,0x23,0x77,0x65,0x62,0x63,0x61
-,0x6D,0x20,0x69,0x6D,0x67,0x20,0x7B,0x0D,0x0A,0x09,0x6C,0x65,0x66,0x74,0x3A,0x20
-,0x30,0x3B,0x0D,0x0A,0x09,0x72,0x69,0x67,0x68,0x74,0x3A,0x20,0x30,0x3B,0x0D,0x0A
-,0x09,0x6D,0x61,0x78,0x2D,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x36,0x34,0x30,0x70
-,0x78,0x3B,0x20,0x0D,0x0A,0x09,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x31,0x30,0x30
-,0x25,0x3B,0x0D,0x0A,0x09,0x68,0x65,0x69,0x67,0x68,0x74,0x3A,0x20,0x61,0x75,0x74
-,0x6F,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E
-,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79
-,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x20,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x3D
-,0x22,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65
-,0x72,0x28,0x29,0x3B,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20,0x61,0x63
-,0x74,0x69,0x6F,0x6E,0x3D,0x22,0x23,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x46
-,0x31,0x22,0x3E,0x0D,0x0A,0x57,0x61,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x20,0x3C
-,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x72,0x61,0x6E,0x67
-,0x65,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x77,0x61,0x69,0x74,0x74,0x69,0x6D
-,0x65,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x35,0x30,0x30,0x22,0x20,0x6D
-,0x61,0x78,0x3D,0x22,0x31,0x30,0x30,0x30,0x22,0x20,0x73,0x74,0x65,0x70,0x3D,0x22
-,0x35,0x30,0x22,0x3E,0x20,0x5B,0x6D,0x73,0x5D,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72
-,0x6D,0x3E,0x0D,0x0A,0x3C,0x64,0x69,0x76,0x20,0x69,0x64,0x3D,0x22,0x77,0x65,0x62
-,0x63,0x61,0x6D,0x22,0x3E,0x3C,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x3C
-,0x69,0x6D,0x67,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2F
-,0x30,0x22,0x20,0x2F,0x3E,0x3C,0x2F,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E
-,0x3C,0x2F,0x64,0x69,0x76,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D
-,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
-};
-
-static const char mbedrpc_js_tbl[] = {
- 0x2F,0x2F,0x20,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x20,0x4A,0x61,0x76,0x61,0x73
-,0x63,0x72,0x69,0x70,0x74,0x20,0x49,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20
-,0x75,0x73,0x69,0x6E,0x67,0x20,0x48,0x54,0x54,0x50,0x0D,0x0A,0x2F,0x2F,0x20,0x73
-,0x66,0x6F,0x72,0x64,0x20,0x61,0x6E,0x64,0x20,0x4D,0x20,0x57,0x61,0x6C,0x6B,0x65
-,0x72,0x0D,0x0A,0x2F,0x2F,0x20,0x41,0x20,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69
-,0x70,0x74,0x20,0x69,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x6F,0x72
-,0x20,0x74,0x61,0x6C,0x6B,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x6D,0x62,0x65,0x64
-,0x20,0x72,0x70,0x63,0x20,0x6F,0x76,0x65,0x72,0x20,0x68,0x74,0x74,0x70,0x0D,0x0A
-,0x2F,0x2F,0x0D,0x0A,0x2F,0x2F,0x43,0x6F,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20
-,0x28,0x63,0x29,0x20,0x32,0x30,0x31,0x30,0x20,0x41,0x52,0x4D,0x20,0x4C,0x74,0x64
-,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x50,0x65,0x72,0x6D,0x69,0x73,0x73
-,0x69,0x6F,0x6E,0x20,0x69,0x73,0x20,0x68,0x65,0x72,0x65,0x62,0x79,0x20,0x67,0x72
-,0x61,0x6E,0x74,0x65,0x64,0x2C,0x20,0x66,0x72,0x65,0x65,0x20,0x6F,0x66,0x20,0x63
-,0x68,0x61,0x72,0x67,0x65,0x2C,0x20,0x74,0x6F,0x20,0x61,0x6E,0x79,0x20,0x70,0x65
-,0x72,0x73,0x6F,0x6E,0x20,0x6F,0x62,0x74,0x61,0x69,0x6E,0x69,0x6E,0x67,0x20,0x61
-,0x20,0x63,0x6F,0x70,0x79,0x0D,0x0A,0x2F,0x2F,0x6F,0x66,0x20,0x74,0x68,0x69,0x73
-,0x20,0x73,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x61,0x6E,0x64,0x20,0x61,0x73
-,0x73,0x6F,0x63,0x69,0x61,0x74,0x65,0x64,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
-,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x28,0x74,0x68
-,0x65,0x20,0x22,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x22,0x29,0x2C,0x20,0x74
-,0x6F,0x20,0x64,0x65,0x61,0x6C,0x0D,0x0A,0x2F,0x2F,0x69,0x6E,0x20,0x74,0x68,0x65
-,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x77,0x69,0x74,0x68,0x6F,0x75
-,0x74,0x20,0x72,0x65,0x73,0x74,0x72,0x69,0x63,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x69
-,0x6E,0x63,0x6C,0x75,0x64,0x69,0x6E,0x67,0x20,0x77,0x69,0x74,0x68,0x6F,0x75,0x74
-,0x20,0x6C,0x69,0x6D,0x69,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20
-,0x72,0x69,0x67,0x68,0x74,0x73,0x0D,0x0A,0x2F,0x2F,0x74,0x6F,0x20,0x75,0x73,0x65
-,0x2C,0x20,0x63,0x6F,0x70,0x79,0x2C,0x20,0x6D,0x6F,0x64,0x69,0x66,0x79,0x2C,0x20
-,0x6D,0x65,0x72,0x67,0x65,0x2C,0x20,0x70,0x75,0x62,0x6C,0x69,0x73,0x68,0x2C,0x20
-,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x2C,0x20,0x73,0x75,0x62,0x6C
-,0x69,0x63,0x65,0x6E,0x73,0x65,0x2C,0x20,0x61,0x6E,0x64,0x2F,0x6F,0x72,0x20,0x73
-,0x65,0x6C,0x6C,0x0D,0x0A,0x2F,0x2F,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x66
-,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x2C,0x20,0x61
-,0x6E,0x64,0x20,0x74,0x6F,0x20,0x70,0x65,0x72,0x6D,0x69,0x74,0x20,0x70,0x65,0x72
-,0x73,0x6F,0x6E,0x73,0x20,0x74,0x6F,0x20,0x77,0x68,0x6F,0x6D,0x20,0x74,0x68,0x65
-,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x69,0x73,0x0D,0x0A,0x2F,0x2F
-,0x66,0x75,0x72,0x6E,0x69,0x73,0x68,0x65,0x64,0x20,0x74,0x6F,0x20,0x64,0x6F,0x20
-,0x73,0x6F,0x2C,0x20,0x73,0x75,0x62,0x6A,0x65,0x63,0x74,0x20,0x74,0x6F,0x20,0x74
-,0x68,0x65,0x20,0x66,0x6F,0x6C,0x6C,0x6F,0x77,0x69,0x6E,0x67,0x20,0x63,0x6F,0x6E
-,0x64,0x69,0x74,0x69,0x6F,0x6E,0x73,0x3A,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F
-,0x2F,0x54,0x68,0x65,0x20,0x61,0x62,0x6F,0x76,0x65,0x20,0x63,0x6F,0x70,0x79,0x72
-,0x69,0x67,0x68,0x74,0x20,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x61,0x6E,0x64,0x20
-,0x74,0x68,0x69,0x73,0x20,0x70,0x65,0x72,0x6D,0x69,0x73,0x73,0x69,0x6F,0x6E,0x20
-,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x73,0x68,0x61,0x6C,0x6C,0x20,0x62,0x65,0x20
-,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x64,0x20,0x69,0x6E,0x0D,0x0A,0x2F,0x2F,0x61
-,0x6C,0x6C,0x20,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x72,0x20,0x73,0x75,0x62
-,0x73,0x74,0x61,0x6E,0x74,0x69,0x61,0x6C,0x20,0x70,0x6F,0x72,0x74,0x69,0x6F,0x6E
-,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72
-,0x65,0x2E,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20,0x53
-,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x49,0x53,0x20,0x50,0x52,0x4F,0x56,0x49
-,0x44,0x45,0x44,0x20,0x22,0x41,0x53,0x20,0x49,0x53,0x22,0x2C,0x20,0x57,0x49,0x54
-,0x48,0x4F,0x55,0x54,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x59,0x20,0x4F,0x46
-,0x20,0x41,0x4E,0x59,0x20,0x4B,0x49,0x4E,0x44,0x2C,0x20,0x45,0x58,0x50,0x52,0x45
-,0x53,0x53,0x20,0x4F,0x52,0x0D,0x0A,0x2F,0x2F,0x49,0x4D,0x50,0x4C,0x49,0x45,0x44
-,0x2C,0x20,0x49,0x4E,0x43,0x4C,0x55,0x44,0x49,0x4E,0x47,0x20,0x42,0x55,0x54,0x20
-,0x4E,0x4F,0x54,0x20,0x4C,0x49,0x4D,0x49,0x54,0x45,0x44,0x20,0x54,0x4F,0x20,0x54
-,0x48,0x45,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x49,0x45,0x53,0x20,0x4F,0x46
-,0x20,0x4D,0x45,0x52,0x43,0x48,0x41,0x4E,0x54,0x41,0x42,0x49,0x4C,0x49,0x54,0x59
-,0x2C,0x0D,0x0A,0x2F,0x2F,0x46,0x49,0x54,0x4E,0x45,0x53,0x53,0x20,0x46,0x4F,0x52
-,0x20,0x41,0x20,0x50,0x41,0x52,0x54,0x49,0x43,0x55,0x4C,0x41,0x52,0x20,0x50,0x55
-,0x52,0x50,0x4F,0x53,0x45,0x20,0x41,0x4E,0x44,0x20,0x4E,0x4F,0x4E,0x49,0x4E,0x46
-,0x52,0x49,0x4E,0x47,0x45,0x4D,0x45,0x4E,0x54,0x2E,0x20,0x49,0x4E,0x20,0x4E,0x4F
-,0x20,0x45,0x56,0x45,0x4E,0x54,0x20,0x53,0x48,0x41,0x4C,0x4C,0x20,0x54,0x48,0x45
-,0x0D,0x0A,0x2F,0x2F,0x41,0x55,0x54,0x48,0x4F,0x52,0x53,0x20,0x4F,0x52,0x20,0x43
-,0x4F,0x50,0x59,0x52,0x49,0x47,0x48,0x54,0x20,0x48,0x4F,0x4C,0x44,0x45,0x52,0x53
-,0x20,0x42,0x45,0x20,0x4C,0x49,0x41,0x42,0x4C,0x45,0x20,0x46,0x4F,0x52,0x20,0x41
-,0x4E,0x59,0x20,0x43,0x4C,0x41,0x49,0x4D,0x2C,0x20,0x44,0x41,0x4D,0x41,0x47,0x45
-,0x53,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x0D,0x0A,0x2F,0x2F,0x4C,0x49
-,0x41,0x42,0x49,0x4C,0x49,0x54,0x59,0x2C,0x20,0x57,0x48,0x45,0x54,0x48,0x45,0x52
-,0x20,0x49,0x4E,0x20,0x41,0x4E,0x20,0x41,0x43,0x54,0x49,0x4F,0x4E,0x20,0x4F,0x46
-,0x20,0x43,0x4F,0x4E,0x54,0x52,0x41,0x43,0x54,0x2C,0x20,0x54,0x4F,0x52,0x54,0x20
-,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x57,0x49,0x53,0x45,0x2C,0x20,0x41,0x52
-,0x49,0x53,0x49,0x4E,0x47,0x20,0x46,0x52,0x4F,0x4D,0x2C,0x0D,0x0A,0x2F,0x2F,0x4F
-,0x55,0x54,0x20,0x4F,0x46,0x20,0x4F,0x52,0x20,0x49,0x4E,0x20,0x43,0x4F,0x4E,0x4E
-,0x45,0x43,0x54,0x49,0x4F,0x4E,0x20,0x57,0x49,0x54,0x48,0x20,0x54,0x48,0x45,0x20
-,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x4F,0x52,0x20,0x54,0x48,0x45,0x20
-,0x55,0x53,0x45,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x20,0x44,0x45,0x41
-,0x4C,0x49,0x4E,0x47,0x53,0x20,0x49,0x4E,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20
-,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x2E,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x2F
-,0x2F,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x4D,0x65,0x63,0x68,0x61
-,0x6E,0x69,0x73,0x6D,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74
-,0x69,0x6F,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x75,0x72,0x6C,0x29,0x20,0x7B,0x0D
-,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x20,0x3D,0x20,0x28,0x77,0x69,0x6E
-,0x64,0x6F,0x77,0x2E,0x58,0x4D,0x4C,0x48,0x74,0x74,0x70,0x52,0x65,0x71,0x75,0x65
-,0x73,0x74,0x29,0x20,0x3F,0x20,0x6E,0x65,0x77,0x20,0x58,0x4D,0x4C,0x48,0x74,0x74
-,0x70,0x52,0x65,0x71,0x75,0x65,0x73,0x74,0x28,0x29,0x20,0x3A,0x20,0x6E,0x65,0x77
-,0x20,0x41,0x63,0x74,0x69,0x76,0x65,0x58,0x4F,0x62,0x6A,0x65,0x63,0x74,0x28,0x22
-,0x4D,0x69,0x63,0x72,0x6F,0x73,0x6F,0x66,0x74,0x2E,0x58,0x4D,0x4C,0x48,0x54,0x54
-,0x50,0x22,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x69,0x66,0x28,0x21,0x68,0x74
-,0x74,0x70,0x29,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x66,0x61,0x6C,0x73,0x65
-,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x6F,0x70,0x65,0x6E
-,0x28,0x22,0x47,0x45,0x54,0x22,0x2C,0x20,0x75,0x72,0x6C,0x2C,0x20,0x66,0x61,0x6C
-,0x73,0x65,0x29,0x3B,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x73,0x65,0x6E,0x64
-,0x28,0x6E,0x75,0x6C,0x6C,0x29,0x3B,0x20,0x20,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20
-,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x68,0x74,0x74,0x70,0x2E,0x72,0x65,0x73,0x70
-,0x6F,0x6E,0x73,0x65,0x54,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0D,0x0A
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6D,0x62
-,0x65,0x64,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x4E,0x6F,0x20,0x61,0x63,0x74
-,0x69,0x6F,0x6E,0x20,0x6E,0x65,0x65,0x64,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20
-,0x74,0x61,0x6B,0x65,0x6E,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x6D,0x62,0x65,0x64
-,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63,0x20,0x3D
-,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63,0x74
-,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D,0x65
-,0x6E,0x74,0x73,0x29,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x2F,0x2F,0x54,0x68,0x69
-,0x73,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x6F,0x76,0x65,0x72
-,0x72,0x69,0x64,0x64,0x65,0x6E,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x61,0x20
-,0x74,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x6D,0x65,0x63,0x68,0x61,0x6E
-,0x69,0x73,0x6D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52,0x50
-,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x20,0x3D,0x20,0x6E,0x65
-,0x77,0x20,0x6D,0x62,0x65,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
-,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x63,0x6F,0x6E
-,0x73,0x74,0x72,0x75,0x63,0x74,0x6F,0x72,0x20,0x3D,0x20,0x48,0x54,0x54,0x50,0x52
-,0x50,0x43,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x48,0x54,0x54
-,0x50,0x52,0x50,0x43,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x75,0x6E,0x6C,0x69
-,0x6B,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67
-,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20
-,0x6E,0x65,0x65,0x64,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x70,0x61,0x73,0x73,0x65
-,0x64,0x20,0x61,0x6E,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x20,0x61,0x73,0x20
-,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x62,0x65,0x20
-,0x61,0x6C,0x6C,0x6F,0x77,0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x6F,0x6D,0x6D,0x75
-,0x6E,0x69,0x63,0x61,0x74,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x69,0x74,0x73,0x65
-,0x6C,0x66,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
-,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63
-,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63
-,0x74,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D
-,0x65,0x6E,0x74,0x73,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72,0x65,0x74
-,0x75,0x72,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x22,0x2F,0x72,0x70,0x63,0x2F,0x22
-,0x20,0x2B,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x20,0x2B,0x20,0x22,0x2F,0x22,0x20
-,0x2B,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x20,0x2B,0x20,0x22,0x2C,0x22,0x20,0x2B
-,0x20,0x61,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x2E,0x6A,0x6F,0x69,0x6E,0x28
-,0x22,0x2C,0x22,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20
-,0x50,0x69,0x6E,0x20,0x4E,0x61,0x6D,0x65,0x73,0x20,0x74,0x6F,0x20,0x41,0x6C,0x6C
-,0x6F,0x77,0x20,0x70,0x69,0x6E,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x72,0x65
-,0x66,0x66,0x65,0x72,0x65,0x64,0x20,0x74,0x6F,0x20,0x61,0x73,0x20,0x61,0x20,0x74
-,0x79,0x70,0x65,0x20,0x72,0x61,0x74,0x68,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20
-,0x61,0x20,0x73,0x74,0x72,0x69,0x6E,0x67,0x20,0x6F,0x72,0x20,0x6E,0x75,0x6D,0x62
-,0x65,0x72,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x70
-,0x69,0x6E,0x28,0x6E,0x61,0x6D,0x65,0x29,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
-,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x0D,0x0A
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x4C,0x45,0x44,0x31,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
-,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x31,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45
-,0x44,0x32,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45
-,0x44,0x32,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45,0x44,0x33,0x20,0x3D,0x20,0x6E,0x65
-,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x33,0x22,0x29,0x3B,0x0D,0x0A
-,0x4C,0x45,0x44,0x34,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22
-,0x4C,0x45,0x44,0x34,0x22,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20,0x69,0x6E
-,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
-,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74
-,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x44,0x69
-,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62
-,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66
-,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20
-,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F
-,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62
-,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
-,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
-,0x0A,0x09,0x2F,0x2F,0x76,0x61,0x72,0x20,0x61,0x72,0x79,0x20,0x3D,0x20,0x6E,0x65
-,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
-,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x29,0x3B,0x0D
-,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65
-,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
-,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22
-,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D
-,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20
-,0x0D,0x0A,0x09,0x2F,0x2F,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20
-,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
-,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E
-,0x65,0x77,0x22,0x2C,0x20,0x61,0x72,0x79,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65
-,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F
-,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A
-,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
-,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
-,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70
-,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69
-,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79
-,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
-,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
-,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
-,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22
-,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
-,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F
-,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74
-,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69
-,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73
-,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B
-,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C
-,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
-,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D
-,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69
-,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D
-,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09
-,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F
-,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
-,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B
-,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x22,0x2C,0x20
-,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
-,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B
-,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F
-,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69
-,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
-,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
-,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x0D
-,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x2E
-,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D
-,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09
-,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28
-,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
-,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22
-,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A
-,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x41,0x6E
-,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63
-,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x28,0x74
-,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70
-,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B
-,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20
-,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
-,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
-,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69
-,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
-,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
-,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
-,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
-,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
-,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
-,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
-,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
-,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
-,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
-,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
-,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69
-,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
-,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
-,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C
-,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C
-,0x6F,0x67,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E
-,0x77,0x72,0x69,0x74,0x65,0x5F,0x75,0x31,0x36,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63
-,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09
-,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
-,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65
-,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
-,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74
-,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20
-,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
-,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F
-,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70
-,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65
-,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
-,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x28
-,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29
-,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D
-,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29
-,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61
-,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74
-,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73
-,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68
-,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F
-,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67
-,0x49,0x6E,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
-,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
-,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
-,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
-,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
-,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
-,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
-,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
-,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49
-,0x6E,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64
-,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D
-,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C
-,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
-,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
-,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x2E,0x70,0x72,0x6F
-,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x5F,0x75,0x31,0x36,0x20
-,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
-,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74
-,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
-,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
-,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x28,0x74,0x68
-,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B
-,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69
-,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09
-,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E
-,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
-,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
-,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73
-,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
-,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x50,0x77,0x6D,0x4F,0x75,0x74,0x22,0x2C
-,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E
-,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29
-,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F
-,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74
-,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
-,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
-,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
-,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
-,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
-,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
-,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69
-,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
-,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E
-,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72
-,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74
-,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
-,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
-,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
-,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70
-,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
-,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
-,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
-,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64
-,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
-,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
-,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x20,0x3D,0x20
-,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70
-,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75
-,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75
-,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69
-,0x6F,0x64,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
-,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
-,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E
-,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x75,0x73
-,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
-,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
-,0x79,0x70,0x65,0x2E,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x20,0x3D
-,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29
-,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E
-,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22
-,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x22,0x2C,0x20,0x5B,0x76,0x61
-,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
-,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
-,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x20,0x3D,0x20,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
-,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
-,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
-,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
-,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
-,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
-,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
-,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
-,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
-,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
-,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x73,0x65,0x72,0x69,0x61
-,0x6C,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53
-,0x65,0x72,0x69,0x61,0x6C,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C
-,0x20,0x74,0x78,0x2C,0x20,0x72,0x78,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28
-,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x74,0x78,0x20,0x21,0x3D,0x20,0x22,0x73,0x74
-,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72
-,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63
-,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20
-,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20
-,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20
-,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22
-,0x53,0x65,0x72,0x69,0x61,0x6C,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20
-,0x5B,0x74,0x78,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x72,0x78,0x2E,0x5F,0x6E
-,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B
-,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20
-,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D
-,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20
-,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68
-,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x78,0x3B,0x0D,0x0A,0x09
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C
-,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75,0x74,0x63,0x20
-,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65
-,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64
-,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20
-,0x22,0x70,0x75,0x74,0x63,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29
-,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
-,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x67,0x65,0x74,0x63,0x20,0x3D,0x20
-,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
-,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x67
-,0x65,0x74,0x63,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
-,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70,0x72,0x6F,0x74,0x6F
-,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x20,0x3D,0x20
-,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
-,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
-,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29
-,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
-,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x61,0x62
-,0x6C,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
-,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
-,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
-,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20
-,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A
-,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50
-,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
-,0x6C,0x65,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61
-,0x6D,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
-,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
-,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
-,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A
-,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72
-,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20
-,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77
-,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
-,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
-,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
-,0x64,0x5F,0x69,0x6E,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
-,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61
-,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
-,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C
-,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B
-,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
-,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
-,0x64,0x5F,0x66,0x6C,0x6F,0x61,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69
-,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
-,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E
-,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E
-,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22
-,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61
-,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65
-,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
-,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74
-,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
-,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C
-,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F
-,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50,0x43
-,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E
-,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F
-,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61,0x6D
-,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
-,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
-,0x0A,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x2E,0x70,0x72,0x6F
-,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x75,0x6E,0x20,0x3D,0x20,0x66,0x75,0x6E
-,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A
-,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
-,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x2C,0x20,0x22,0x72,0x75,0x6E,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65
-,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
-};
-
-static const char led_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
-,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
-,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
-,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x20,0x75,0x74
-,0x66,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x4C
-,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65
-,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D
-,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74
-,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x2E,0x6A
-,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22,0x6A,0x61,0x76
-,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74
-,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70
-,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65
-,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70
-,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48,0x54,0x54,0x50
-,0x52,0x50,0x43,0x28,0x29,0x3B,0x6C,0x65,0x64,0x31,0x3D,0x6E,0x65,0x77,0x20,0x44
-,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C
-,0x45,0x44,0x31,0x29,0x3B,0x6C,0x65,0x64,0x32,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69
-,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45
-,0x44,0x32,0x29,0x3B,0x6C,0x65,0x64,0x33,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69,0x67
-,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45,0x44
-,0x33,0x29,0x3B,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A
-,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
-,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x0D
-,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x31,0x5F,0x74
-,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72,0x64,0x31,0x20,0x3D,0x20,0x6C,0x65,0x64
-,0x31,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72,0x64,0x31,0x20,0x3D,0x3D,0x20,0x31,0x29
-,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x31,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30
-,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x2E,0x76,0x61,0x6C
-,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x31,0x20,0x4F,0x66,0x66,0x27,0x3B
-,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
-,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
-,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B
-,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23
-,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
-,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
-,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74
-,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30
-,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x31,0x2E,0x77,0x72,0x69
-,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31
-,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x31,0x20,0x4F
-,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
-,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
-,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
-,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D
-,0x20,0x27,0x23,0x66,0x66,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
-,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
-,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29
-,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27
-,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F
-,0x6E,0x20,0x6C,0x65,0x64,0x32,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20
-,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72
-,0x64,0x32,0x20,0x3D,0x20,0x6C,0x65,0x64,0x32,0x2E,0x72,0x65,0x61,0x64,0x28,0x29
-,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72
-,0x64,0x32,0x20,0x3D,0x3D,0x20,0x31,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x32
-,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F
-,0x4C,0x45,0x44,0x32,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45
-,0x44,0x32,0x20,0x4F,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
-,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
-,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74
-,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F
-,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B
-,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
-,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
-,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F
-,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x6C,0x65,0x64,0x32,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D
-,0x20,0x27,0x4C,0x45,0x44,0x32,0x20,0x4F,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
-,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
-,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29
-,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E
-,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30,0x38,0x30,0x30
-,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
-,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
-,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63
-,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27
-,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D
-,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x33,0x5F,0x74
-,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72,0x64,0x33,0x20,0x3D,0x20,0x6C,0x65,0x64
-,0x33,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72,0x64,0x33,0x20,0x3D,0x3D,0x20,0x31,0x29
-,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30
-,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x2E,0x76,0x61,0x6C
-,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F,0x66,0x66,0x27,0x3B
-,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
-,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
-,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B
-,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23
-,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
-,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
-,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74
-,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30
-,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69
-,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33
-,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F
-,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
-,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
-,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
-,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D
-,0x20,0x27,0x23,0x30,0x30,0x30,0x30,0x63,0x63,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
-,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
-,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29
-,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27
-,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70
-,0x74,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F
-,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69
-,0x7A,0x65,0x3D,0x22,0x38,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79
-,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38
-,0x30,0x22,0x3E,0x3C,0x62,0x3E,0x4C,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65
-,0x20,0x53,0x77,0x69,0x74,0x63,0x68,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61
-,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x3C,0x62,0x72
-,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22
-,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F
-,0x4C,0x45,0x44,0x31,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E
-,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B
-,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F
-,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B
-,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30
-,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78
-,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20
-,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x31,0x5F,0x74,0x6F
-,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20
-,0x22,0x4C,0x45,0x44,0x31,0x20,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E
-,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74
-,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D
-,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
-,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
-,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
-,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30
-,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F
-,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A
-,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34
-,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65
-,0x64,0x32,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C
-,0x75,0x65,0x20,0x3D,0x20,0x22,0x4C,0x45,0x44,0x32,0x20,0x4F,0x66,0x66,0x22,0x3E
-,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E
-,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E
-,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x20
-,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49
-,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53
-,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30
-,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64
-,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57
-,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47
-,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63
-,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x33,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29
-,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x22,0x4C,0x45,0x44,0x33,0x20
-,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F
-,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
-};
-
-static const char i2c_set_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
-,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
-,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
-,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
-,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x53,0x65
-,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x69
-,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79
-,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72
-,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50
-,0x43,0x2E,0x6A,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22
-,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72
-,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63
-,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
-,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
-,0x72,0x69,0x70,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48
-,0x54,0x54,0x50,0x52,0x50,0x43,0x28,0x29,0x3B,0x74,0x65,0x72,0x6D,0x3D,0x6E,0x65
-,0x77,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6D,0x62
-,0x65,0x64,0x2C,0x22,0x53,0x65,0x74,0x49,0x32,0x43,0x66,0x72,0x6F,0x6D,0x57,0x65
-,0x62,0x22,0x29,0x3B,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C
-,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
-,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
-,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
-,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
-,0x3E,0x44,0x69,0x72,0x65,0x63,0x74,0x20,0x69,0x6E,0x70,0x75,0x74,0x3C,0x2F,0x62
-,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
-,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
-,0x3D,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x64,0x69,0x72,0x5F
-,0x69,0x6E,0x22,0x3E,0x3C,0x2F,0x69,0x6E,0x70,0x75,0x74,0x3E,0x3C,0x62,0x75,0x74
-,0x74,0x6F,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D
-,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F
-,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63
-,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x64,0x69,0x72,0x5F,0x69,0x6E
-,0x28,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E
-,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A
-,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
-,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
-,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
-,0x3E,0x46,0x69,0x6C,0x65,0x20,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x3C
-,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
-,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79
-,0x70,0x65,0x3D,0x22,0x66,0x69,0x6C,0x65,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
-,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
-,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x6E,0x6F,0x6E,0x65,0x22,0x20
-,0x6F,0x6E,0x63,0x68,0x61,0x6E,0x67,0x65,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69
-,0x6C,0x65,0x6E,0x61,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x74
-,0x68,0x69,0x73,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x22,0x20,0x61,0x63,0x63,0x65
-,0x70,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x3E
-,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74
-,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69,0x6C
-,0x65,0x6E,0x61,0x6D,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
-,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
-,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20
-,0x73,0x69,0x7A,0x65,0x3D,0x22,0x32,0x35,0x22,0x20,0x44,0x49,0x53,0x41,0x42,0x4C
-,0x45,0x44,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
-,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
-,0x6C,0x65,0x5F,0x73,0x65,0x6C,0x65,0x63,0x74,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
-,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
-,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
-,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x66,0x69,0x6C
-,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x2E,0x63,0x6C,0x69,0x63,0x6B,0x28,0x29
-,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x43,0x68,0x6F,0x6F,0x73,0x65,0x20
-,0x61,0x20,0x74,0x65,0x78,0x74,0x20,0x46,0x69,0x6C,0x65,0x22,0x3E,0x0D,0x0A,0x3C
-,0x62,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62
-,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x73,0x6E,0x64,0x62,0x6F,0x78,0x22
-,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D
-,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D
-,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63
-,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x66,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28
-,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E
-,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x3C,0x70,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
-,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
-,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x31,0x38,0x70,0x74,0x22
-,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43,0x4F
-,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x0D,0x0A,0x3C
-,0x62,0x3E,0x4C,0x4F,0x47,0x3A,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
-,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22
-,0x73,0x75,0x62,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74
-,0x61,0x72,0x65,0x61,0x5F,0x63,0x6C,0x65,0x61,0x72,0x22,0x20,0x73,0x74,0x79,0x6C
-,0x65,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B
-,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68
-,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70
-,0x74,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49
-,0x47,0x48,0x54,0x3A,0x32,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F
-,0x4E,0x3A,0x61,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A
-,0x38,0x70,0x78,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x43,0x6C
-,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x20,0x76,0x61
-,0x6C,0x75,0x65,0x3D,0x22,0x43,0x6C,0x65,0x61,0x72,0x22,0x3E,0x0D,0x0A,0x3C,0x62
-,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62,0x6D
-,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61
-,0x5F,0x73,0x61,0x76,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x44,0x49
-,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B,0x3B,0x46,0x4F,0x4E,0x54
-,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46
-,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x57,0x49,0x44
-,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x32
-,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F,0x4E,0x3A,0x61,0x62,0x73
-,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A,0x38,0x32,0x70,0x78,0x22
-,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x53,0x61,0x76,0x65,0x5F,0x74
-,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x3E,0x53,0x61,0x76,0x65,0x3C
-,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20
-,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x22,0x3E
-,0x0D,0x0A,0x3C,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x20,0x69,0x64,0x3D,0x22
-,0x72,0x65,0x73,0x75,0x6C,0x74,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x74,0x65
-,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x22,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x35
-,0x30,0x22,0x20,0x72,0x6F,0x77,0x73,0x3D,0x22,0x32,0x30,0x22,0x20,0x70,0x6C,0x61
-,0x63,0x65,0x68,0x6F,0x6C,0x64,0x65,0x72,0x3D,0x22,0x22,0x20,0x76,0x61,0x6C,0x75
-,0x65,0x3D,0x22,0x22,0x3E,0x3C,0x2F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x3E
-,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72,0x6D,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D
-,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74
-,0x3E,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F
-,0x64,0x69,0x72,0x5F,0x69,0x6E,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20
-,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x69,0x66,0x20,0x28
-,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D
-,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x64,0x69,0x72,0x5F,0x69
-,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75
-,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61
-,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45,0x4E,0x44
-,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
-,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
-,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x64,0x69,0x72,0x5F
-,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63
-,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
-,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
-,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x72,0x63,0x76
-,0x5F,0x74,0x65,0x78,0x74,0x20,0x3D,0x20,0x74,0x65,0x72,0x6D,0x2E,0x72,0x75,0x6E
-,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D
-,0x0A,0x09,0x09,0x69,0x66,0x20,0x28,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x20
-,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09
-,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72
-,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75
-,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A
-,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
-,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
-,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74
-,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
-,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
-,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E
-,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A
-,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F,0x66
-,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
-,0x20,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
-,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22
-,0x66,0x69,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x29,0x2E,0x66,0x69
-,0x6C,0x65,0x73,0x5B,0x30,0x5D,0x3B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20,0x72,0x65
-,0x61,0x64,0x65,0x72,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x46,0x69,0x6C,0x65,0x52
-,0x65,0x61,0x64,0x65,0x72,0x28,0x29,0x3B,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65
-,0x72,0x2E,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
-,0x69,0x6F,0x6E,0x28,0x65,0x76,0x74,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x76,0x61
-,0x72,0x20,0x73,0x74,0x72,0x20,0x3D,0x20,0x65,0x76,0x74,0x2E,0x74,0x61,0x72,0x67
-,0x65,0x74,0x2E,0x72,0x65,0x73,0x75,0x6C,0x74,0x3B,0x0D,0x0A,0x09,0x09,0x76,0x61
-,0x72,0x20,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x73,0x74,0x72
-,0x2E,0x73,0x70,0x6C,0x69,0x74,0x28,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x29,0x3B,0x0D
-,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x63,0x6E,0x74,0x20,0x3D,0x20,0x30,0x3B,0x0D
-,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20
-,0x3D,0x20,0x30,0x3B,0x0D,0x0A,0x09,0x09,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x28
-,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D
-,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x73,0x6E,0x64,0x5F,0x64
-,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29
-,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
-,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
-,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45
-,0x4E,0x44,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65
-,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74
-,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x73
-,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x3B,0x0D,0x0A,0x09
-,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66
-,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61
-,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A
-,0x09,0x09,0x09,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x74,0x65
-,0x72,0x6D,0x2E,0x72,0x75,0x6E,0x28,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B
-,0x63,0x6E,0x74,0x5D,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x69,0x66,0x20,0x28,0x72
-,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22
-,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
-,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F
-,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B
-,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63
-,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
-,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
-,0x3D,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x3B,0x0D,0x0A,0x09,0x09,0x09
-,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F
-,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C
-,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09
-,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x09,0x09,0x63,0x6E,0x74,0x2B,0x2B,0x3B,0x0D,0x0A
-,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65,0x72
-,0x2E,0x72,0x65,0x61,0x64,0x41,0x73,0x54,0x65,0x78,0x74,0x28,0x6F,0x62,0x6A,0x29
-,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
-,0x20,0x43,0x6C,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B
-,0x0D,0x0A,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
-,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
-,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x22,0x22,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
-,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53,0x61,0x76,0x65,0x5F,0x74
-,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
-,0x20,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
-,0x42,0x6C,0x6F,0x62,0x28,0x5B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
-,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
-,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x5D,0x2C,0x20,0x7B,0x74,0x79,0x70,0x65,0x3A
-,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x7D,0x29,0x3B,0x0D
-,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x44,0x65,0x74,0x65,0x72,0x6D,0x69,0x6E,0x65
-,0x73,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09
-,0x69,0x66,0x20,0x28,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D,0x73
-,0x53,0x61,0x76,0x65,0x42,0x6C,0x6F,0x62,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C
-,0x21,0x2D,0x2D,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x09,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D
-,0x73,0x53,0x61,0x76,0x65,0x4F,0x72,0x4F,0x70,0x65,0x6E,0x42,0x6C,0x6F,0x62,0x28
-,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x2C,0x20,0x27,0x63,0x6F,0x6D,0x6D,0x5F
-,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x20,0x65
-,0x6C,0x73,0x65,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x45,0x78
-,0x70,0x65,0x63,0x74,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09,0x09,0x76
-,0x61,0x72,0x20,0x61,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
-,0x63,0x72,0x65,0x61,0x74,0x65,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x28,0x27,0x61
-,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x61,0x2E,0x68,0x72,0x65,0x66,0x20,0x3D,0x20
-,0x55,0x52,0x4C,0x2E,0x63,0x72,0x65,0x61,0x74,0x65,0x4F,0x62,0x6A,0x65,0x63,0x74
-,0x55,0x52,0x4C,0x28,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x29,0x3B,0x0D,0x0A
-,0x09,0x09,0x61,0x2E,0x73,0x65,0x74,0x41,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65
-,0x28,0x27,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x27,0x2C,0x20,0x27,0x63,0x6F
-,0x6D,0x6D,0x5F,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09
-,0x09,0x61,0x2E,0x64,0x69,0x73,0x70,0x61,0x74,0x63,0x68,0x45,0x76,0x65,0x6E,0x74
-,0x28,0x6E,0x65,0x77,0x20,0x43,0x75,0x73,0x74,0x6F,0x6D,0x45,0x76,0x65,0x6E,0x74
-,0x28,0x27,0x63,0x6C,0x69,0x63,0x6B,0x27,0x29,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x0D
-,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
-,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74
-,0x6D,0x6C,0x3E,0x0D,0x0A
-};
-
-static const char web_top_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
-,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
-,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
-,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
-,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x54,0x6F,0x70
-,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C
-,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x73,0x65
-,0x74,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x32,0x30,0x25,0x2C,0x38,0x30,0x25,0x22
-,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D
-,0x65,0x6E,0x75,0x2E,0x68,0x74,0x6D,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D
-,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74
-,0x6D,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65
-,0x22,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E
-,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x59,0x6F,0x75
-,0x20,0x63,0x61,0x6E,0x20,0x6E,0x6F,0x74,0x20,0x76,0x69,0x65,0x77,0x20,0x74,0x68
-,0x69,0x73,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x73,0x69,0x6E,0x63,0x65,0x20
-,0x74,0x68,0x65,0x20,0x66,0x72,0x61,0x6D,0x65,0x20,0x6F,0x66,0x20,0x75,0x6E,0x73
-,0x75,0x70,0x70,0x6F,0x72,0x74,0x65,0x64,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72
-,0x2E,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
-,0x3C,0x2F,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E,0x0D,0x0A,0x3C,0x2F,0x66
-,0x72,0x61,0x6D,0x65,0x73,0x65,0x74,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C
-,0x3E,0x0D,0x0A
-};
-
-static const char menu_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
-,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
-,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
-,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
-,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52,0x2D
-,0x50,0x45,0x41,0x43,0x48,0x20,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x74,0x69,0x74,0x6C
-,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F
-,0x64,0x79,0x20,0x62,0x67,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x22,0x23,0x46,0x46,0x46
-,0x41,0x46,0x41,0x22,0x3E,0x0D,0x0A,0x3C,0x43,0x45,0x4E,0x54,0x45,0x52,0x3E,0x0D
-,0x0A,0x3C,0x50,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
-,0x34,0x22,0x3E,0x3C,0x42,0x3E,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x42,0x3E,0x3C,0x2F
-,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x2F,0x50,0x3E,0x0D,0x0A,0x3C,0x2F,0x43,0x45,0x4E
-,0x54,0x45,0x52,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x70,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
-,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
-,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
-,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
-,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72
-,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x54,0x6F
-,0x70,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
-,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
-,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22
-,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C
-,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2E,0x68
-,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69
-,0x6B,0x61,0x65,0x22,0x3E,0x57,0x65,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C
-,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
-,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
-,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
-,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
-,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
-,0x22,0x69,0x32,0x63,0x5F,0x73,0x65,0x74,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61
-,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x53
-,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x61
-,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
-,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74
-,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20
-,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30
-,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x6C
-,0x65,0x64,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22
-,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F
-,0x4F,0x66,0x66,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F
-,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64
-,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
-};
-
-static const char window_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
-,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
-,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
-,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
-,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52,0x2D
-,0x50,0x45,0x41,0x43,0x48,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x3C,0x2F,0x74,0x69
-,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C
-,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20
-,0x73,0x69,0x7A,0x65,0x3D,0x22,0x31,0x35,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20
-,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30
-,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62,0x3E,0x47,0x52,0x2D,0x50,0x45,0x41,0x43
-,0x48,0x20,0x41,0x75,0x64,0x69,0x6F,0x2F,0x43,0x61,0x6D,0x65,0x72,0x61,0x20,0x53
-,0x68,0x69,0x65,0x6C,0x64,0x20,0x53,0x61,0x6D,0x70,0x6C,0x65,0x3C,0x2F,0x62,0x3E
-,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x54,0x68
-,0x69,0x73,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61
-,0x6D,0x20,0x75,0x73,0x69,0x6E,0x67,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43,0x48
-,0x20,0x61,0x6E,0x64,0x20,0x41,0x75,0x64,0x69,0x6F,0x2F,0x43,0x61,0x6D,0x65,0x72
-,0x61,0x20,0x53,0x68,0x69,0x65,0x6C,0x64,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x57
-,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x74,0x68
-,0x65,0x20,0x4D,0x65,0x6E,0x75,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x6C,0x65
-,0x66,0x74,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x64
-,0x69,0x73,0x70,0x6C,0x61,0x79,0x65,0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x69,0x73
-,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x49,0x74,0x20,0x73,0x68,0x6F,0x77,0x73,0x20,0x74,0x68,0x65
-,0x20,0x6F,0x76,0x65,0x72,0x76,0x69,0x65,0x77,0x20,0x6F,0x66,0x20,0x65,0x61,0x63
-,0x68,0x20,0x6C,0x69,0x6E,0x6B,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72
-,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x73,0x74,0x79,0x6C,0x65,0x20
-,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x63,0x73,0x73,0x22,0x3E
-,0x0D,0x0A,0x2E,0x74,0x61,0x62,0x6C,0x65,0x20,0x74,0x68,0x20,0x7B,0x0D,0x0A,0x20
-,0x20,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F
-,0x72,0x3A,0x20,0x23,0x65,0x36,0x66,0x66,0x65,0x39,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
-,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x74,0x61,0x62,0x6C,0x65
-,0x20,0x63,0x6C,0x61,0x73,0x73,0x3D,0x22,0x74,0x61,0x62,0x6C,0x65,0x22,0x20,0x62
-,0x6F,0x72,0x64,0x65,0x72,0x3D,0x31,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A
-,0x3C,0x74,0x68,0x3E,0x4C,0x69,0x6E,0x6B,0x73,0x3C,0x2F,0x74,0x68,0x3E,0x3C,0x74
-,0x68,0x3E,0x4F,0x76,0x65,0x72,0x76,0x69,0x65,0x77,0x3C,0x2F,0x74,0x68,0x3E,0x0D
-,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74
-,0x64,0x3E,0x54,0x6F,0x70,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x74,0x64,0x3E,0x3C
-,0x74,0x64,0x3E,0x49,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x74,0x75,0x72
-,0x6E,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x74,0x6F,0x70,0x20,0x70,0x61,0x67
-,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74
-,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x57,0x65
-,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64
-,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x74,0x68
-,0x65,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x61,0x63,0x71,0x75,0x69,0x72,0x65,0x64
-,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x63,0x61,0x6D,0x65,0x72,0x61,0x20,0x6F
-,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F,0x77,0x73,0x65
-,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49,0x74,0x20,0x63,0x61,0x6E,0x20,0x62
-,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20,0x61,0x74,0x20,0x61,0x20,0x73
-,0x6C,0x69,0x64,0x65,0x72,0x20,0x62,0x61,0x72,0x20,0x69,0x6E,0x20,0x22,0x57,0x61
-,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x22,0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x20
-,0x74,0x69,0x6D,0x69,0x6E,0x67,0x20,0x6F,0x66,0x20,0x61,0x20,0x72,0x65,0x6E,0x65
-,0x77,0x61,0x6C,0x20,0x6F,0x66,0x20,0x61,0x20,0x63,0x61,0x6D,0x65,0x72,0x61,0x20
-,0x70,0x69,0x63,0x74,0x75,0x72,0x65,0x2E,0x20,0x28,0x44,0x65,0x66,0x61,0x75,0x6C
-,0x74,0x73,0x20,0x61,0x72,0x65,0x20,0x35,0x30,0x30,0x6D,0x73,0x2E,0x29,0x3C,0x2F
-,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E
-,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x53,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79
-,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20
-,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x49,0x32,0x43,0x20,0x73,0x65
-,0x74,0x74,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62
-,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49
-,0x6E,0x20,0x49,0x32,0x43,0x20,0x63,0x6F,0x6D,0x6D,0x75,0x6E,0x69,0x63,0x61,0x74
-,0x69,0x6F,0x6E,0x2C,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43,0x48,0x20,0x65,0x78
-,0x65,0x63,0x75,0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x73,0x65,0x74,0x74,0x69
-,0x6E,0x67,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x65,0x76,0x69,0x63
-,0x65,0x73,0x20,0x63,0x6F,0x6E,0x6E,0x65,0x63,0x74,0x65,0x64,0x20,0x74,0x6F,0x20
-,0x49,0x32,0x43,0x5F,0x53,0x43,0x41,0x20,0x74,0x65,0x72,0x6D,0x69,0x6E,0x61,0x6C
-,0x20,0x61,0x6E,0x64,0x20,0x49,0x32,0x43,0x5F,0x53,0x43,0x4C,0x20,0x74,0x65,0x72
-,0x6D,0x69,0x6E,0x61,0x6C,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x4F,0x6E,0x20,0x74
-,0x68,0x65,0x20,0x62,0x61,0x73,0x69,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20
-,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2C,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43
-,0x48,0x20,0x61,0x63,0x63,0x65,0x73,0x73,0x65,0x73,0x20,0x74,0x6F,0x20,0x72,0x65
-,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x64
-,0x65,0x76,0x69,0x63,0x65,0x73,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x59,0x6F,0x75
-,0x20,0x63,0x61,0x6E,0x20,0x73,0x65,0x6E,0x64,0x20,0x74,0x68,0x65,0x20,0x63,0x6F
-,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x70,0x65
-,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x69,0x6E
-,0x20,0x6F,0x6E,0x65,0x20,0x6F,0x66,0x20,0x74,0x77,0x6F,0x20,0x70,0x61,0x74,0x74
-,0x65,0x72,0x6E,0x73,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D
-,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x44,0x69
-,0x72,0x65,0x63,0x74,0x6C,0x20,0x69,0x6E,0x70,0x75,0x74,0x22,0x20,0x6F,0x72,0x20
-,0x22,0x46,0x69,0x6C,0x65,0x20,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x22
-,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x63,0x72
-,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x61
-,0x6C,0x6F,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20
-,0x61,0x66,0x74,0x65,0x72,0x20,0x79,0x6F,0x75,0x20,0x63,0x68,0x65,0x63,0x6B,0x20
-,0x74,0x68,0x65,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6F
-,0x6E,0x73,0x20,0x6F,0x66,0x20,0x65,0x61,0x63,0x68,0x20,0x64,0x65,0x76,0x69,0x63
-,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x54,0x68,0x65,0x20,0x66,0x6F,0x72,0x6D
-,0x61,0x74,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E
-,0x64,0x20,0x69,0x73,0x3A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70
-,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x4D,0x65,0x74,0x68,0x6F,0x64,0x3A,0x49,0x32
-,0x43,0x20,0x61,0x64,0x64,0x72,0x2C,0x64,0x61,0x74,0x61,0x20,0x6C,0x65,0x6E,0x67
-,0x74,0x68,0x2C,0x64,0x61,0x74,0x61,0x31,0x2C,0x64,0x61,0x74,0x61,0x32,0x2C,0x64
-,0x61,0x74,0x61,0x33,0x2C,0x2E,0x2E,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x4D,0x65,0x74,0x68,0x6F,0x64,0x20,0x69,0x73,0x20,0x62,0x65
-,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B
-,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x57,0x72,0x22
-,0x69,0x73,0x20,0x57,0x72,0x69,0x74,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F
-,0x6E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62
-,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x52,0x64,0x22,0x20,0x69,0x73
-,0x20,0x52,0x65,0x61,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B
-,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x57,0x72,0x4E,0x6F,0x70,0x22,0x20,0x69,0x73
-,0x20,0x57,0x72,0x69,0x74,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28
-,0x4E,0x6F,0x20,0x53,0x54,0x4F,0x50,0x20,0x63,0x6F,0x6E,0x64,0x69,0x74,0x69,0x6F
-,0x6E,0x29,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E
-,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x52,0x64,0x4E,0x6F,0x70
-,0x22,0x20,0x69,0x73,0x20,0x52,0x65,0x61,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69
-,0x6F,0x6E,0x28,0x4E,0x6F,0x20,0x53,0x54,0x4F,0x50,0x20,0x63,0x6F,0x6E,0x64,0x69
-,0x74,0x69,0x6F,0x6E,0x29,0x3C,0x62,0x72,0x3E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A
-,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64
-,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F,0x4F,0x66,0x66,0x3C,0x2F,0x74,0x64,0x3E
-,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73
-,0x20,0x4C,0x45,0x44,0x31,0x2C,0x20,0x4C,0x45,0x44,0x32,0x20,0x61,0x6E,0x64,0x20
-,0x4C,0x45,0x44,0x33,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x74,0x6F,0x67,0x67
-,0x6C,0x65,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65
-,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72
-,0x3E,0x0D,0x0A,0x45,0x61,0x63,0x68,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x69
-,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72
-,0x72,0x65,0x6E,0x74,0x20,0x4C,0x45,0x44,0x20,0x73,0x74,0x61,0x74,0x65,0x2E,0x3C
-,0x62,0x72,0x3E,0x0D,0x0A,0x4C,0x45,0x44,0x20,0x4F,0x4E,0x20,0x61,0x6E,0x64,0x20
-,0x4F,0x46,0x46,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x65,0x73,0x20,0x77,0x68,0x65
-,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x74,0x68,0x65,0x20
-,0x73,0x77,0x69,0x74,0x63,0x68,0x2E,0x20,0x57,0x68,0x65,0x6E,0x20,0x74,0x68,0x65
-,0x20,0x4C,0x45,0x44,0x20,0x69,0x73,0x20,0x4F,0x4E,0x2C,0x20,0x74,0x68,0x65,0x20
-,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x77,0x69
-,0x74,0x63,0x68,0x20,0x77,0x69,0x6C,0x6C,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20
-,0x74,0x68,0x65,0x20,0x4C,0x45,0x44,0x20,0x63,0x6F,0x6C,0x6F,0x72,0x2E,0x3C,0x2F
-,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x61
-,0x62,0x6C,0x65,0x3E,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79
-,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
-};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/file_table_lychee.h	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,1223 @@
+
+static const char index_htm_tbl[] = {
+ 0x3C,0x53,0x43,0x52,0x49,0x50,0x54,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x0D
+,0x0A,0x3C,0x21,0x2D,0x2D,0x0D,0x0A,0x6C,0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x2E
+,0x68,0x72,0x65,0x66,0x3D,0x22,0x2F,0x77,0x65,0x62,0x5F,0x74,0x6F,0x70,0x2E,0x68
+,0x74,0x6D,0x22,0x3B,0x0D,0x0A,0x2D,0x2D,0x3E,0x0D,0x0A,0x3C,0x2F,0x53,0x43,0x52
+,0x49,0x50,0x54,0x3E,0x0D,0x0A
+};
+
+static const char camaera_js_tbl[] = {
+ 0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x20,0x3D,0x20,0x30,0x3B
+,0x20,0x2F,0x2F,0x20,0x53,0x65,0x72,0x69,0x61,0x6C,0x20,0x6E,0x75,0x6D,0x62,0x65
+,0x72,0x20,0x6F,0x66,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6D,0x61
+,0x67,0x65,0x0D,0x0A,0x76,0x61,0x72,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
+,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x29,0x3B,0x20
+,0x2F,0x2F,0x20,0x52,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x73,0x20,0x74,0x6F
+,0x20,0x69,0x6D,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x73,0x20,0x77,0x68,0x69
+,0x63,0x68,0x20,0x68,0x61,0x76,0x65,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
+,0x20,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x69,0x6E,0x67,0x0D,0x0A,0x0D,0x0A
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
+,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20
+,0x20,0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x3D,0x20,0x6E,0x65,0x77
+,0x20,0x49,0x6D,0x61,0x67,0x65,0x28,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x69
+,0x6D,0x61,0x67,0x65,0x2E,0x73,0x72,0x63,0x20,0x3D,0x20,0x22,0x63,0x61,0x6D,0x65
+,0x72,0x61,0x2F,0x22,0x20,0x2B,0x20,0x28,0x2B,0x2B,0x69,0x6D,0x61,0x67,0x65,0x4E
+,0x72,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x73,0x74,0x79
+,0x6C,0x65,0x2E,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x3D,0x20,0x22,0x61
+,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x22,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61
+,0x67,0x65,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49,0x6E,0x64,0x65,0x78,0x20
+,0x3D,0x20,0x2D,0x31,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F
+,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C
+,0x6F,0x61,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F,0x6E
+,0x65,0x72,0x72,0x6F,0x72,0x20,0x3D,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D
+,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x76
+,0x61,0x72,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75
+,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42
+,0x79,0x49,0x64,0x28,0x22,0x77,0x65,0x62,0x63,0x61,0x6D,0x22,0x29,0x3B,0x0D,0x0A
+,0x20,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x2E,0x69,0x6E,0x73,0x65,0x72,0x74,0x42
+,0x65,0x66,0x6F,0x72,0x65,0x28,0x69,0x6D,0x61,0x67,0x65,0x2C,0x20,0x77,0x65,0x62
+,0x63,0x61,0x6D,0x2E,0x66,0x69,0x72,0x73,0x74,0x43,0x68,0x69,0x6C,0x64,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
+,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C,0x6F,0x61,0x64,0x28,0x29,0x20,0x7B,0x0D
+,0x0A,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49
+,0x6E,0x64,0x65,0x78,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x3B,0x0D
+,0x0A,0x20,0x20,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x31,0x20,0x3C,0x20,0x66,0x69
+,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x6C,0x65,0x6E,0x67,0x74,0x68,0x29,0x20,0x7B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x64,0x65,0x6C,0x20,0x3D,0x20
+,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x73,0x68,0x69,0x66,0x74,0x28,0x29
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x64,0x65,0x6C,0x2E,0x70,0x61,0x72,0x65,0x6E
+,0x74,0x4E,0x6F,0x64,0x65,0x2E,0x72,0x65,0x6D,0x6F,0x76,0x65,0x43,0x68,0x69,0x6C
+,0x64,0x28,0x64,0x65,0x6C,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x7D,0x0D,0x0A,0x20,0x20
+,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x70,0x75,0x73,0x68,0x28,0x74,0x68
+,0x69,0x73,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x74,0x69,0x6D,0x65,0x72,0x49,0x44,0x20
+,0x3D,0x20,0x73,0x65,0x74,0x54,0x69,0x6D,0x65,0x6F,0x75,0x74,0x28,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x7B,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
+,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7D,0x2C,0x20,0x64
+,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x46,0x31,0x2E,0x77,0x61,0x69,0x74,0x74
+,0x69,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
+};
+
+static const char camera_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x63,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F,0x74
+,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
+,0x72,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72
+,0x61,0x2E,0x6A,0x73,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75
+,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
+,0x0A,0x3C,0x73,0x74,0x79,0x6C,0x65,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x2F,0x63,0x73,0x73,0x22,0x3E,0x0D,0x0A,0x23,0x77,0x65,0x62,0x63,0x61
+,0x6D,0x20,0x69,0x6D,0x67,0x20,0x7B,0x0D,0x0A,0x09,0x6C,0x65,0x66,0x74,0x3A,0x20
+,0x30,0x3B,0x0D,0x0A,0x09,0x72,0x69,0x67,0x68,0x74,0x3A,0x20,0x30,0x3B,0x0D,0x0A
+,0x09,0x6D,0x61,0x78,0x2D,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x36,0x34,0x30,0x70
+,0x78,0x3B,0x20,0x0D,0x0A,0x09,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x31,0x30,0x30
+,0x25,0x3B,0x0D,0x0A,0x09,0x68,0x65,0x69,0x67,0x68,0x74,0x3A,0x20,0x61,0x75,0x74
+,0x6F,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E
+,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79
+,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x20,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x3D
+,0x22,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65
+,0x72,0x28,0x29,0x3B,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20,0x61,0x63
+,0x74,0x69,0x6F,0x6E,0x3D,0x22,0x23,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x46
+,0x31,0x22,0x3E,0x0D,0x0A,0x57,0x61,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x20,0x3C
+,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x72,0x61,0x6E,0x67
+,0x65,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x77,0x61,0x69,0x74,0x74,0x69,0x6D
+,0x65,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x35,0x30,0x30,0x22,0x20,0x6D
+,0x61,0x78,0x3D,0x22,0x31,0x30,0x30,0x30,0x22,0x20,0x73,0x74,0x65,0x70,0x3D,0x22
+,0x35,0x30,0x22,0x3E,0x20,0x5B,0x6D,0x73,0x5D,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72
+,0x6D,0x3E,0x0D,0x0A,0x3C,0x64,0x69,0x76,0x20,0x69,0x64,0x3D,0x22,0x77,0x65,0x62
+,0x63,0x61,0x6D,0x22,0x3E,0x3C,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x3C
+,0x69,0x6D,0x67,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2F
+,0x30,0x22,0x20,0x2F,0x3E,0x3C,0x2F,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E
+,0x3C,0x2F,0x64,0x69,0x76,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D
+,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char mbedrpc_js_tbl[] = {
+ 0x2F,0x2F,0x20,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x20,0x4A,0x61,0x76,0x61,0x73
+,0x63,0x72,0x69,0x70,0x74,0x20,0x49,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20
+,0x75,0x73,0x69,0x6E,0x67,0x20,0x48,0x54,0x54,0x50,0x0D,0x0A,0x2F,0x2F,0x20,0x73
+,0x66,0x6F,0x72,0x64,0x20,0x61,0x6E,0x64,0x20,0x4D,0x20,0x57,0x61,0x6C,0x6B,0x65
+,0x72,0x0D,0x0A,0x2F,0x2F,0x20,0x41,0x20,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69
+,0x70,0x74,0x20,0x69,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x6F,0x72
+,0x20,0x74,0x61,0x6C,0x6B,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x6D,0x62,0x65,0x64
+,0x20,0x72,0x70,0x63,0x20,0x6F,0x76,0x65,0x72,0x20,0x68,0x74,0x74,0x70,0x0D,0x0A
+,0x2F,0x2F,0x0D,0x0A,0x2F,0x2F,0x43,0x6F,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20
+,0x28,0x63,0x29,0x20,0x32,0x30,0x31,0x30,0x20,0x41,0x52,0x4D,0x20,0x4C,0x74,0x64
+,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x50,0x65,0x72,0x6D,0x69,0x73,0x73
+,0x69,0x6F,0x6E,0x20,0x69,0x73,0x20,0x68,0x65,0x72,0x65,0x62,0x79,0x20,0x67,0x72
+,0x61,0x6E,0x74,0x65,0x64,0x2C,0x20,0x66,0x72,0x65,0x65,0x20,0x6F,0x66,0x20,0x63
+,0x68,0x61,0x72,0x67,0x65,0x2C,0x20,0x74,0x6F,0x20,0x61,0x6E,0x79,0x20,0x70,0x65
+,0x72,0x73,0x6F,0x6E,0x20,0x6F,0x62,0x74,0x61,0x69,0x6E,0x69,0x6E,0x67,0x20,0x61
+,0x20,0x63,0x6F,0x70,0x79,0x0D,0x0A,0x2F,0x2F,0x6F,0x66,0x20,0x74,0x68,0x69,0x73
+,0x20,0x73,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x61,0x6E,0x64,0x20,0x61,0x73
+,0x73,0x6F,0x63,0x69,0x61,0x74,0x65,0x64,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x28,0x74,0x68
+,0x65,0x20,0x22,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x22,0x29,0x2C,0x20,0x74
+,0x6F,0x20,0x64,0x65,0x61,0x6C,0x0D,0x0A,0x2F,0x2F,0x69,0x6E,0x20,0x74,0x68,0x65
+,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x77,0x69,0x74,0x68,0x6F,0x75
+,0x74,0x20,0x72,0x65,0x73,0x74,0x72,0x69,0x63,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x69
+,0x6E,0x63,0x6C,0x75,0x64,0x69,0x6E,0x67,0x20,0x77,0x69,0x74,0x68,0x6F,0x75,0x74
+,0x20,0x6C,0x69,0x6D,0x69,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20
+,0x72,0x69,0x67,0x68,0x74,0x73,0x0D,0x0A,0x2F,0x2F,0x74,0x6F,0x20,0x75,0x73,0x65
+,0x2C,0x20,0x63,0x6F,0x70,0x79,0x2C,0x20,0x6D,0x6F,0x64,0x69,0x66,0x79,0x2C,0x20
+,0x6D,0x65,0x72,0x67,0x65,0x2C,0x20,0x70,0x75,0x62,0x6C,0x69,0x73,0x68,0x2C,0x20
+,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x2C,0x20,0x73,0x75,0x62,0x6C
+,0x69,0x63,0x65,0x6E,0x73,0x65,0x2C,0x20,0x61,0x6E,0x64,0x2F,0x6F,0x72,0x20,0x73
+,0x65,0x6C,0x6C,0x0D,0x0A,0x2F,0x2F,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x66
+,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x2C,0x20,0x61
+,0x6E,0x64,0x20,0x74,0x6F,0x20,0x70,0x65,0x72,0x6D,0x69,0x74,0x20,0x70,0x65,0x72
+,0x73,0x6F,0x6E,0x73,0x20,0x74,0x6F,0x20,0x77,0x68,0x6F,0x6D,0x20,0x74,0x68,0x65
+,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x69,0x73,0x0D,0x0A,0x2F,0x2F
+,0x66,0x75,0x72,0x6E,0x69,0x73,0x68,0x65,0x64,0x20,0x74,0x6F,0x20,0x64,0x6F,0x20
+,0x73,0x6F,0x2C,0x20,0x73,0x75,0x62,0x6A,0x65,0x63,0x74,0x20,0x74,0x6F,0x20,0x74
+,0x68,0x65,0x20,0x66,0x6F,0x6C,0x6C,0x6F,0x77,0x69,0x6E,0x67,0x20,0x63,0x6F,0x6E
+,0x64,0x69,0x74,0x69,0x6F,0x6E,0x73,0x3A,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F
+,0x2F,0x54,0x68,0x65,0x20,0x61,0x62,0x6F,0x76,0x65,0x20,0x63,0x6F,0x70,0x79,0x72
+,0x69,0x67,0x68,0x74,0x20,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x61,0x6E,0x64,0x20
+,0x74,0x68,0x69,0x73,0x20,0x70,0x65,0x72,0x6D,0x69,0x73,0x73,0x69,0x6F,0x6E,0x20
+,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x73,0x68,0x61,0x6C,0x6C,0x20,0x62,0x65,0x20
+,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x64,0x20,0x69,0x6E,0x0D,0x0A,0x2F,0x2F,0x61
+,0x6C,0x6C,0x20,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x72,0x20,0x73,0x75,0x62
+,0x73,0x74,0x61,0x6E,0x74,0x69,0x61,0x6C,0x20,0x70,0x6F,0x72,0x74,0x69,0x6F,0x6E
+,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72
+,0x65,0x2E,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20,0x53
+,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x49,0x53,0x20,0x50,0x52,0x4F,0x56,0x49
+,0x44,0x45,0x44,0x20,0x22,0x41,0x53,0x20,0x49,0x53,0x22,0x2C,0x20,0x57,0x49,0x54
+,0x48,0x4F,0x55,0x54,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x59,0x20,0x4F,0x46
+,0x20,0x41,0x4E,0x59,0x20,0x4B,0x49,0x4E,0x44,0x2C,0x20,0x45,0x58,0x50,0x52,0x45
+,0x53,0x53,0x20,0x4F,0x52,0x0D,0x0A,0x2F,0x2F,0x49,0x4D,0x50,0x4C,0x49,0x45,0x44
+,0x2C,0x20,0x49,0x4E,0x43,0x4C,0x55,0x44,0x49,0x4E,0x47,0x20,0x42,0x55,0x54,0x20
+,0x4E,0x4F,0x54,0x20,0x4C,0x49,0x4D,0x49,0x54,0x45,0x44,0x20,0x54,0x4F,0x20,0x54
+,0x48,0x45,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x49,0x45,0x53,0x20,0x4F,0x46
+,0x20,0x4D,0x45,0x52,0x43,0x48,0x41,0x4E,0x54,0x41,0x42,0x49,0x4C,0x49,0x54,0x59
+,0x2C,0x0D,0x0A,0x2F,0x2F,0x46,0x49,0x54,0x4E,0x45,0x53,0x53,0x20,0x46,0x4F,0x52
+,0x20,0x41,0x20,0x50,0x41,0x52,0x54,0x49,0x43,0x55,0x4C,0x41,0x52,0x20,0x50,0x55
+,0x52,0x50,0x4F,0x53,0x45,0x20,0x41,0x4E,0x44,0x20,0x4E,0x4F,0x4E,0x49,0x4E,0x46
+,0x52,0x49,0x4E,0x47,0x45,0x4D,0x45,0x4E,0x54,0x2E,0x20,0x49,0x4E,0x20,0x4E,0x4F
+,0x20,0x45,0x56,0x45,0x4E,0x54,0x20,0x53,0x48,0x41,0x4C,0x4C,0x20,0x54,0x48,0x45
+,0x0D,0x0A,0x2F,0x2F,0x41,0x55,0x54,0x48,0x4F,0x52,0x53,0x20,0x4F,0x52,0x20,0x43
+,0x4F,0x50,0x59,0x52,0x49,0x47,0x48,0x54,0x20,0x48,0x4F,0x4C,0x44,0x45,0x52,0x53
+,0x20,0x42,0x45,0x20,0x4C,0x49,0x41,0x42,0x4C,0x45,0x20,0x46,0x4F,0x52,0x20,0x41
+,0x4E,0x59,0x20,0x43,0x4C,0x41,0x49,0x4D,0x2C,0x20,0x44,0x41,0x4D,0x41,0x47,0x45
+,0x53,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x0D,0x0A,0x2F,0x2F,0x4C,0x49
+,0x41,0x42,0x49,0x4C,0x49,0x54,0x59,0x2C,0x20,0x57,0x48,0x45,0x54,0x48,0x45,0x52
+,0x20,0x49,0x4E,0x20,0x41,0x4E,0x20,0x41,0x43,0x54,0x49,0x4F,0x4E,0x20,0x4F,0x46
+,0x20,0x43,0x4F,0x4E,0x54,0x52,0x41,0x43,0x54,0x2C,0x20,0x54,0x4F,0x52,0x54,0x20
+,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x57,0x49,0x53,0x45,0x2C,0x20,0x41,0x52
+,0x49,0x53,0x49,0x4E,0x47,0x20,0x46,0x52,0x4F,0x4D,0x2C,0x0D,0x0A,0x2F,0x2F,0x4F
+,0x55,0x54,0x20,0x4F,0x46,0x20,0x4F,0x52,0x20,0x49,0x4E,0x20,0x43,0x4F,0x4E,0x4E
+,0x45,0x43,0x54,0x49,0x4F,0x4E,0x20,0x57,0x49,0x54,0x48,0x20,0x54,0x48,0x45,0x20
+,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x4F,0x52,0x20,0x54,0x48,0x45,0x20
+,0x55,0x53,0x45,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x20,0x44,0x45,0x41
+,0x4C,0x49,0x4E,0x47,0x53,0x20,0x49,0x4E,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20
+,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x2E,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x2F
+,0x2F,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x4D,0x65,0x63,0x68,0x61
+,0x6E,0x69,0x73,0x6D,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x75,0x72,0x6C,0x29,0x20,0x7B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x20,0x3D,0x20,0x28,0x77,0x69,0x6E
+,0x64,0x6F,0x77,0x2E,0x58,0x4D,0x4C,0x48,0x74,0x74,0x70,0x52,0x65,0x71,0x75,0x65
+,0x73,0x74,0x29,0x20,0x3F,0x20,0x6E,0x65,0x77,0x20,0x58,0x4D,0x4C,0x48,0x74,0x74
+,0x70,0x52,0x65,0x71,0x75,0x65,0x73,0x74,0x28,0x29,0x20,0x3A,0x20,0x6E,0x65,0x77
+,0x20,0x41,0x63,0x74,0x69,0x76,0x65,0x58,0x4F,0x62,0x6A,0x65,0x63,0x74,0x28,0x22
+,0x4D,0x69,0x63,0x72,0x6F,0x73,0x6F,0x66,0x74,0x2E,0x58,0x4D,0x4C,0x48,0x54,0x54
+,0x50,0x22,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x69,0x66,0x28,0x21,0x68,0x74
+,0x74,0x70,0x29,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x66,0x61,0x6C,0x73,0x65
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x6F,0x70,0x65,0x6E
+,0x28,0x22,0x47,0x45,0x54,0x22,0x2C,0x20,0x75,0x72,0x6C,0x2C,0x20,0x66,0x61,0x6C
+,0x73,0x65,0x29,0x3B,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x73,0x65,0x6E,0x64
+,0x28,0x6E,0x75,0x6C,0x6C,0x29,0x3B,0x20,0x20,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x68,0x74,0x74,0x70,0x2E,0x72,0x65,0x73,0x70
+,0x6F,0x6E,0x73,0x65,0x54,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6D,0x62
+,0x65,0x64,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x4E,0x6F,0x20,0x61,0x63,0x74
+,0x69,0x6F,0x6E,0x20,0x6E,0x65,0x65,0x64,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20
+,0x74,0x61,0x6B,0x65,0x6E,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x6D,0x62,0x65,0x64
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63,0x74
+,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D,0x65
+,0x6E,0x74,0x73,0x29,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x2F,0x2F,0x54,0x68,0x69
+,0x73,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x6F,0x76,0x65,0x72
+,0x72,0x69,0x64,0x64,0x65,0x6E,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x61,0x20
+,0x74,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x6D,0x65,0x63,0x68,0x61,0x6E
+,0x69,0x73,0x6D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52,0x50
+,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x6D,0x62,0x65,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x63,0x6F,0x6E
+,0x73,0x74,0x72,0x75,0x63,0x74,0x6F,0x72,0x20,0x3D,0x20,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x48,0x54,0x54
+,0x50,0x52,0x50,0x43,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x75,0x6E,0x6C,0x69
+,0x6B,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67
+,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20
+,0x6E,0x65,0x65,0x64,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x70,0x61,0x73,0x73,0x65
+,0x64,0x20,0x61,0x6E,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x20,0x61,0x73,0x20
+,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x62,0x65,0x20
+,0x61,0x6C,0x6C,0x6F,0x77,0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x6F,0x6D,0x6D,0x75
+,0x6E,0x69,0x63,0x61,0x74,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x69,0x74,0x73,0x65
+,0x6C,0x66,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63
+,0x74,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D
+,0x65,0x6E,0x74,0x73,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72,0x65,0x74
+,0x75,0x72,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x22,0x2F,0x72,0x70,0x63,0x2F,0x22
+,0x20,0x2B,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x20,0x2B,0x20,0x22,0x2F,0x22,0x20
+,0x2B,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x20,0x2B,0x20,0x22,0x2C,0x22,0x20,0x2B
+,0x20,0x61,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x2E,0x6A,0x6F,0x69,0x6E,0x28
+,0x22,0x2C,0x22,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20
+,0x50,0x69,0x6E,0x20,0x4E,0x61,0x6D,0x65,0x73,0x20,0x74,0x6F,0x20,0x41,0x6C,0x6C
+,0x6F,0x77,0x20,0x70,0x69,0x6E,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x72,0x65
+,0x66,0x66,0x65,0x72,0x65,0x64,0x20,0x74,0x6F,0x20,0x61,0x73,0x20,0x61,0x20,0x74
+,0x79,0x70,0x65,0x20,0x72,0x61,0x74,0x68,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20
+,0x61,0x20,0x73,0x74,0x72,0x69,0x6E,0x67,0x20,0x6F,0x72,0x20,0x6E,0x75,0x6D,0x62
+,0x65,0x72,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x70
+,0x69,0x6E,0x28,0x6E,0x61,0x6D,0x65,0x29,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x4C,0x45,0x44,0x31,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
+,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x31,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45
+,0x44,0x32,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45
+,0x44,0x32,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45,0x44,0x33,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x33,0x22,0x29,0x3B,0x0D,0x0A
+,0x4C,0x45,0x44,0x34,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22
+,0x4C,0x45,0x44,0x34,0x22,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20,0x69,0x6E
+,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74
+,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62
+,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66
+,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20
+,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F
+,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62
+,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
+,0x0A,0x09,0x2F,0x2F,0x76,0x61,0x72,0x20,0x61,0x72,0x79,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x29,0x3B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65
+,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22
+,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D
+,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20
+,0x0D,0x0A,0x09,0x2F,0x2F,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20
+,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E
+,0x65,0x77,0x22,0x2C,0x20,0x61,0x72,0x79,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65
+,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F
+,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A
+,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70
+,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79
+,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22
+,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74
+,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73
+,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B
+,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C
+,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
+,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69
+,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D
+,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09
+,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F
+,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x22,0x2C,0x20
+,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B
+,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F
+,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69
+,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x2E
+,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09
+,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22
+,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A
+,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x41,0x6E
+,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63
+,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x28,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70
+,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B
+,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20
+,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
+,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
+,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
+,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
+,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
+,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
+,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
+,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69
+,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
+,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C
+,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C
+,0x6F,0x67,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E
+,0x77,0x72,0x69,0x74,0x65,0x5F,0x75,0x31,0x36,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63
+,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65
+,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F
+,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70
+,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65
+,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x28
+,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D
+,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29
+,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61
+,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73
+,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F
+,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67
+,0x49,0x6E,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
+,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
+,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
+,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
+,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49
+,0x6E,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64
+,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C
+,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
+,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x5F,0x75,0x31,0x36,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
+,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x28,0x74,0x68
+,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B
+,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69
+,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09
+,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E
+,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x50,0x77,0x6D,0x4F,0x75,0x74,0x22,0x2C
+,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E
+,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29
+,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F
+,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74
+,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
+,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
+,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
+,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69
+,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
+,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72
+,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
+,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70
+,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64
+,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
+,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70
+,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75
+,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75
+,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69
+,0x6F,0x64,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E
+,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x75,0x73
+,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
+,0x79,0x70,0x65,0x2E,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E
+,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22
+,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
+,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
+,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
+,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
+,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
+,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
+,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x73,0x65,0x72,0x69,0x61
+,0x6C,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53
+,0x65,0x72,0x69,0x61,0x6C,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C
+,0x20,0x74,0x78,0x2C,0x20,0x72,0x78,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28
+,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x74,0x78,0x20,0x21,0x3D,0x20,0x22,0x73,0x74
+,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72
+,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63
+,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20
+,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20
+,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22
+,0x53,0x65,0x72,0x69,0x61,0x6C,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20
+,0x5B,0x74,0x78,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x72,0x78,0x2E,0x5F,0x6E
+,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B
+,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20
+,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D
+,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20
+,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x78,0x3B,0x0D,0x0A,0x09
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75,0x74,0x63,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65
+,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64
+,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20
+,0x22,0x70,0x75,0x74,0x63,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
+,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x67,0x65,0x74,0x63,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
+,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x67
+,0x65,0x74,0x63,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70,0x72,0x6F,0x74,0x6F
+,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
+,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
+,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
+,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x61,0x62
+,0x6C,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
+,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
+,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20
+,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A
+,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50
+,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61
+,0x6D,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
+,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72
+,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77
+,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
+,0x64,0x5F,0x69,0x6E,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61
+,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C
+,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
+,0x64,0x5F,0x66,0x6C,0x6F,0x61,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69
+,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
+,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E
+,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E
+,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22
+,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61
+,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65
+,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C
+,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F
+,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50,0x43
+,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F
+,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61,0x6D
+,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x75,0x6E,0x20,0x3D,0x20,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x72,0x75,0x6E,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65
+,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+};
+
+static const char led_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x20,0x75,0x74
+,0x66,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x4C
+,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65
+,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D
+,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74
+,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x2E,0x6A
+,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22,0x6A,0x61,0x76
+,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74
+,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70
+,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70
+,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48,0x54,0x54,0x50
+,0x52,0x50,0x43,0x28,0x29,0x3B,0x6C,0x65,0x64,0x31,0x3D,0x6E,0x65,0x77,0x20,0x44
+,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C
+,0x45,0x44,0x31,0x29,0x3B,0x6C,0x65,0x64,0x32,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45
+,0x44,0x32,0x29,0x3B,0x6C,0x65,0x64,0x33,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69,0x67
+,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45,0x44
+,0x33,0x29,0x3B,0x6C,0x65,0x64,0x34,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69,0x67,0x69
+,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45,0x44,0x34
+,0x29,0x3B,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63
+,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F
+,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x66,0x75,0x6E,0x63
+,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x31,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65
+,0x28,0x29,0x7B,0x76,0x61,0x72,0x20,0x72,0x64,0x31,0x3D,0x6C,0x65,0x64,0x31,0x2E
+,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x69,0x66,0x28,0x72,0x64,0x31,0x3D,0x3D,0x31
+,0x29,0x7B,0x6C,0x65,0x64,0x31,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30,0x29,0x3B
+,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3D,0x27
+,0x4C,0x45,0x44,0x31,0x20,0x4F,0x66,0x66,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
+,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74
+,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F
+,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x64,0x6F
+,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E
+,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22
+,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23
+,0x30,0x30,0x30,0x30,0x30,0x30,0x27,0x3B,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x6C,0x65
+,0x64,0x31,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x31,0x29,0x3B,0x62,0x74,0x6E,0x5F
+,0x4C,0x45,0x44,0x31,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3D,0x27,0x4C,0x45,0x44,0x31
+,0x20,0x4F,0x6E,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
+,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
+,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x3D,0x27
+,0x23,0x30,0x30,0x38,0x30,0x30,0x30,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64
+,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79
+,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x66,0x66,0x66,0x66,0x66
+,0x66,0x27,0x3B,0x7D,0x7D,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
+,0x6C,0x65,0x64,0x32,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x7B,0x76,0x61
+,0x72,0x20,0x72,0x64,0x32,0x3D,0x6C,0x65,0x64,0x32,0x2E,0x72,0x65,0x61,0x64,0x28
+,0x29,0x3B,0x69,0x66,0x28,0x72,0x64,0x32,0x3D,0x3D,0x31,0x29,0x7B,0x6C,0x65,0x64
+,0x32,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30,0x29,0x3B,0x62,0x74,0x6E,0x5F,0x4C
+,0x45,0x44,0x32,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3D,0x27,0x4C,0x45,0x44,0x32,0x20
+,0x4F,0x66,0x66,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
+,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
+,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x3D,0x27
+,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64
+,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79
+,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x30,0x30,0x30,0x30,0x30
+,0x30,0x27,0x3B,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x6C,0x65,0x64,0x32,0x2E,0x77,0x72
+,0x69,0x74,0x65,0x28,0x31,0x29,0x3B,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x2E
+,0x76,0x61,0x6C,0x75,0x65,0x3D,0x27,0x4C,0x45,0x44,0x32,0x20,0x4F,0x6E,0x27,0x3B
+,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D
+,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44
+,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72
+,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x66,0x66,0x66,0x66
+,0x30,0x30,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74
+,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E
+,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F
+,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x7D,0x7D
+,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x33,0x5F
+,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x7B,0x76,0x61,0x72,0x20,0x72,0x64,0x33
+,0x3D,0x6C,0x65,0x64,0x33,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x69,0x66,0x28
+,0x72,0x64,0x33,0x3D,0x3D,0x31,0x29,0x7B,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69
+,0x74,0x65,0x28,0x30,0x29,0x3B,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x2E,0x76
+,0x61,0x6C,0x75,0x65,0x3D,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F,0x66,0x66,0x27,0x3B
+,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D
+,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44
+,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72
+,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x63,0x30,0x63,0x30
+,0x63,0x30,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74
+,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E
+,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F
+,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x27,0x3B,0x7D,0x65
+,0x6C,0x73,0x65,0x7B,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x31
+,0x29,0x3B,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x2E,0x76,0x61,0x6C,0x75,0x65
+,0x3D,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F,0x6E,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D
+,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79
+,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73
+,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43
+,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x66,0x66,0x36,0x36,0x30,0x30,0x27,0x3B,0x64
+,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65
+,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33
+,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27
+,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x7D,0x7D,0x0D,0x0A,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x34,0x5F,0x74,0x6F,0x67,0x67,0x6C
+,0x65,0x28,0x29,0x7B,0x76,0x61,0x72,0x20,0x72,0x64,0x34,0x3D,0x6C,0x65,0x64,0x34
+,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x69,0x66,0x28,0x72,0x64,0x34,0x3D,0x3D
+,0x31,0x29,0x7B,0x6C,0x65,0x64,0x34,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30,0x29
+,0x3B,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3D
+,0x27,0x4C,0x45,0x44,0x34,0x20,0x4F,0x66,0x66,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D
+,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79
+,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34,0x22,0x29,0x2E,0x73
+,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43
+,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x64
+,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65
+,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34
+,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27
+,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x27,0x3B,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x6C
+,0x65,0x64,0x34,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x31,0x29,0x3B,0x62,0x74,0x6E
+,0x5F,0x4C,0x45,0x44,0x34,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3D,0x27,0x4C,0x45,0x44
+,0x34,0x20,0x4F,0x6E,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67
+,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62
+,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E
+,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x3D
+,0x27,0x23,0x66,0x66,0x30,0x30,0x30,0x30,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
+,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34,0x22,0x29,0x2E,0x73,0x74
+,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x66,0x66,0x66,0x66
+,0x66,0x66,0x27,0x3B,0x7D,0x7D,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
+,0x0A,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64
+,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A
+,0x65,0x3D,0x22,0x38,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C
+,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30
+,0x22,0x3E,0x3C,0x62,0x3E,0x4C,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65,0x20
+,0x53,0x77,0x69,0x74,0x63,0x68,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x3C,0x62,0x72,0x3E
+,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x62
+,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F,0x4C
+,0x45,0x44,0x31,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54
+,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46
+,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F,0x6C
+,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B,0x67
+,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30,0x63
+,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78,0x3B
+,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20,0x6F
+,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x31,0x5F,0x74,0x6F,0x67
+,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x4C,0x45
+,0x44,0x31,0x20,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46
+,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D
+,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B
+,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61
+,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30
+,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78
+,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x32,0x5F
+,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D
+,0x22,0x4C,0x45,0x44,0x32,0x20,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E
+,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D
+,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
+,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
+,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30
+,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F
+,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A
+,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34
+,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65
+,0x64,0x33,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C
+,0x75,0x65,0x3D,0x22,0x4C,0x45,0x44,0x33,0x20,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75
+,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20
+,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34,0x22,0x20,0x73,0x74
+,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59
+,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A
+,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30
+,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63
+,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44
+,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54
+,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D
+,0x22,0x6C,0x65,0x64,0x34,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20
+,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x4C,0x45,0x44,0x34,0x20,0x4F,0x66,0x66,0x22
+,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79
+,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char i2c_set_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x53,0x65
+,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x69
+,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79
+,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72
+,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50
+,0x43,0x2E,0x6A,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22
+,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72
+,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63
+,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
+,0x72,0x69,0x70,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48
+,0x54,0x54,0x50,0x52,0x50,0x43,0x28,0x29,0x3B,0x74,0x65,0x72,0x6D,0x3D,0x6E,0x65
+,0x77,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6D,0x62
+,0x65,0x64,0x2C,0x22,0x53,0x65,0x74,0x49,0x32,0x43,0x66,0x72,0x6F,0x6D,0x57,0x65
+,0x62,0x22,0x29,0x3B,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C
+,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
+,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
+,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
+,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
+,0x3E,0x44,0x69,0x72,0x65,0x63,0x74,0x20,0x69,0x6E,0x70,0x75,0x74,0x3C,0x2F,0x62
+,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x64,0x69,0x72,0x5F
+,0x69,0x6E,0x22,0x3E,0x3C,0x2F,0x69,0x6E,0x70,0x75,0x74,0x3E,0x3C,0x62,0x75,0x74
+,0x74,0x6F,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D
+,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F
+,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63
+,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x64,0x69,0x72,0x5F,0x69,0x6E
+,0x28,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E
+,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A
+,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
+,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
+,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
+,0x3E,0x46,0x69,0x6C,0x65,0x20,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x3C
+,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
+,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79
+,0x70,0x65,0x3D,0x22,0x66,0x69,0x6C,0x65,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
+,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x6E,0x6F,0x6E,0x65,0x22,0x20
+,0x6F,0x6E,0x63,0x68,0x61,0x6E,0x67,0x65,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69
+,0x6C,0x65,0x6E,0x61,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x22,0x20,0x61,0x63,0x63,0x65
+,0x70,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x3E
+,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74
+,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69,0x6C
+,0x65,0x6E,0x61,0x6D,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
+,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20
+,0x73,0x69,0x7A,0x65,0x3D,0x22,0x32,0x35,0x22,0x20,0x44,0x49,0x53,0x41,0x42,0x4C
+,0x45,0x44,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
+,0x6C,0x65,0x5F,0x73,0x65,0x6C,0x65,0x63,0x74,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
+,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
+,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x66,0x69,0x6C
+,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x2E,0x63,0x6C,0x69,0x63,0x6B,0x28,0x29
+,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x43,0x68,0x6F,0x6F,0x73,0x65,0x20
+,0x61,0x20,0x74,0x65,0x78,0x74,0x20,0x46,0x69,0x6C,0x65,0x22,0x3E,0x0D,0x0A,0x3C
+,0x62,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62
+,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x73,0x6E,0x64,0x62,0x6F,0x78,0x22
+,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D
+,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D
+,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63
+,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x66,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28
+,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E
+,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x3C,0x70,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
+,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x31,0x38,0x70,0x74,0x22
+,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43,0x4F
+,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x0D,0x0A,0x3C
+,0x62,0x3E,0x4C,0x4F,0x47,0x3A,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22
+,0x73,0x75,0x62,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74
+,0x61,0x72,0x65,0x61,0x5F,0x63,0x6C,0x65,0x61,0x72,0x22,0x20,0x73,0x74,0x79,0x6C
+,0x65,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68
+,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70
+,0x74,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49
+,0x47,0x48,0x54,0x3A,0x32,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F
+,0x4E,0x3A,0x61,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A
+,0x38,0x70,0x78,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x43,0x6C
+,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x20,0x76,0x61
+,0x6C,0x75,0x65,0x3D,0x22,0x43,0x6C,0x65,0x61,0x72,0x22,0x3E,0x0D,0x0A,0x3C,0x62
+,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62,0x6D
+,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61
+,0x5F,0x73,0x61,0x76,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x44,0x49
+,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B,0x3B,0x46,0x4F,0x4E,0x54
+,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46
+,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x57,0x49,0x44
+,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x32
+,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F,0x4E,0x3A,0x61,0x62,0x73
+,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A,0x38,0x32,0x70,0x78,0x22
+,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x53,0x61,0x76,0x65,0x5F,0x74
+,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x3E,0x53,0x61,0x76,0x65,0x3C
+,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20
+,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x22,0x3E
+,0x0D,0x0A,0x3C,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x20,0x69,0x64,0x3D,0x22
+,0x72,0x65,0x73,0x75,0x6C,0x74,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x22,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x35
+,0x30,0x22,0x20,0x72,0x6F,0x77,0x73,0x3D,0x22,0x32,0x30,0x22,0x20,0x70,0x6C,0x61
+,0x63,0x65,0x68,0x6F,0x6C,0x64,0x65,0x72,0x3D,0x22,0x22,0x20,0x76,0x61,0x6C,0x75
+,0x65,0x3D,0x22,0x22,0x3E,0x3C,0x2F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x3E
+,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72,0x6D,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D
+,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74
+,0x3E,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F
+,0x64,0x69,0x72,0x5F,0x69,0x6E,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20
+,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x69,0x66,0x20,0x28
+,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D
+,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x64,0x69,0x72,0x5F,0x69
+,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75
+,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61
+,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45,0x4E,0x44
+,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
+,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x64,0x69,0x72,0x5F
+,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
+,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
+,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x72,0x63,0x76
+,0x5F,0x74,0x65,0x78,0x74,0x20,0x3D,0x20,0x74,0x65,0x72,0x6D,0x2E,0x72,0x75,0x6E
+,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D
+,0x0A,0x09,0x09,0x69,0x66,0x20,0x28,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x20
+,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09
+,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72
+,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75
+,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A
+,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
+,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
+,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74
+,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
+,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
+,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E
+,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F,0x66
+,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
+,0x20,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22
+,0x66,0x69,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x29,0x2E,0x66,0x69
+,0x6C,0x65,0x73,0x5B,0x30,0x5D,0x3B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20,0x72,0x65
+,0x61,0x64,0x65,0x72,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x46,0x69,0x6C,0x65,0x52
+,0x65,0x61,0x64,0x65,0x72,0x28,0x29,0x3B,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65
+,0x72,0x2E,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x65,0x76,0x74,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x76,0x61
+,0x72,0x20,0x73,0x74,0x72,0x20,0x3D,0x20,0x65,0x76,0x74,0x2E,0x74,0x61,0x72,0x67
+,0x65,0x74,0x2E,0x72,0x65,0x73,0x75,0x6C,0x74,0x3B,0x0D,0x0A,0x09,0x09,0x76,0x61
+,0x72,0x20,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x73,0x74,0x72
+,0x2E,0x73,0x70,0x6C,0x69,0x74,0x28,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x29,0x3B,0x0D
+,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x63,0x6E,0x74,0x20,0x3D,0x20,0x30,0x3B,0x0D
+,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20
+,0x3D,0x20,0x30,0x3B,0x0D,0x0A,0x09,0x09,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x28
+,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D
+,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x73,0x6E,0x64,0x5F,0x64
+,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
+,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45
+,0x4E,0x44,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74
+,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x73
+,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x3B,0x0D,0x0A,0x09
+,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66
+,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61
+,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A
+,0x09,0x09,0x09,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x74,0x65
+,0x72,0x6D,0x2E,0x72,0x75,0x6E,0x28,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B
+,0x63,0x6E,0x74,0x5D,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x69,0x66,0x20,0x28,0x72
+,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22
+,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F
+,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B
+,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
+,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
+,0x3D,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x3B,0x0D,0x0A,0x09,0x09,0x09
+,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F
+,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C
+,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09
+,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x09,0x09,0x63,0x6E,0x74,0x2B,0x2B,0x3B,0x0D,0x0A
+,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65,0x72
+,0x2E,0x72,0x65,0x61,0x64,0x41,0x73,0x54,0x65,0x78,0x74,0x28,0x6F,0x62,0x6A,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x20,0x43,0x6C,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B
+,0x0D,0x0A,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
+,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
+,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x22,0x22,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53,0x61,0x76,0x65,0x5F,0x74
+,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
+,0x20,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
+,0x42,0x6C,0x6F,0x62,0x28,0x5B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
+,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
+,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x5D,0x2C,0x20,0x7B,0x74,0x79,0x70,0x65,0x3A
+,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x7D,0x29,0x3B,0x0D
+,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x44,0x65,0x74,0x65,0x72,0x6D,0x69,0x6E,0x65
+,0x73,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09
+,0x69,0x66,0x20,0x28,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D,0x73
+,0x53,0x61,0x76,0x65,0x42,0x6C,0x6F,0x62,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C
+,0x21,0x2D,0x2D,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x09,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D
+,0x73,0x53,0x61,0x76,0x65,0x4F,0x72,0x4F,0x70,0x65,0x6E,0x42,0x6C,0x6F,0x62,0x28
+,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x2C,0x20,0x27,0x63,0x6F,0x6D,0x6D,0x5F
+,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x20,0x65
+,0x6C,0x73,0x65,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x45,0x78
+,0x70,0x65,0x63,0x74,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09,0x09,0x76
+,0x61,0x72,0x20,0x61,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x63,0x72,0x65,0x61,0x74,0x65,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x28,0x27,0x61
+,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x61,0x2E,0x68,0x72,0x65,0x66,0x20,0x3D,0x20
+,0x55,0x52,0x4C,0x2E,0x63,0x72,0x65,0x61,0x74,0x65,0x4F,0x62,0x6A,0x65,0x63,0x74
+,0x55,0x52,0x4C,0x28,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x29,0x3B,0x0D,0x0A
+,0x09,0x09,0x61,0x2E,0x73,0x65,0x74,0x41,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65
+,0x28,0x27,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x27,0x2C,0x20,0x27,0x63,0x6F
+,0x6D,0x6D,0x5F,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09
+,0x09,0x61,0x2E,0x64,0x69,0x73,0x70,0x61,0x74,0x63,0x68,0x45,0x76,0x65,0x6E,0x74
+,0x28,0x6E,0x65,0x77,0x20,0x43,0x75,0x73,0x74,0x6F,0x6D,0x45,0x76,0x65,0x6E,0x74
+,0x28,0x27,0x63,0x6C,0x69,0x63,0x6B,0x27,0x29,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x0D
+,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
+,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74
+,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char web_top_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x54,0x6F,0x70
+,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C
+,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x73,0x65
+,0x74,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x32,0x30,0x25,0x2C,0x38,0x30,0x25,0x22
+,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D
+,0x65,0x6E,0x75,0x2E,0x68,0x74,0x6D,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D
+,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74
+,0x6D,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65
+,0x22,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E
+,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x59,0x6F,0x75
+,0x20,0x63,0x61,0x6E,0x20,0x6E,0x6F,0x74,0x20,0x76,0x69,0x65,0x77,0x20,0x74,0x68
+,0x69,0x73,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x73,0x69,0x6E,0x63,0x65,0x20
+,0x74,0x68,0x65,0x20,0x66,0x72,0x61,0x6D,0x65,0x20,0x6F,0x66,0x20,0x75,0x6E,0x73
+,0x75,0x70,0x70,0x6F,0x72,0x74,0x65,0x64,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72
+,0x2E,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
+,0x3C,0x2F,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E,0x0D,0x0A,0x3C,0x2F,0x66
+,0x72,0x61,0x6D,0x65,0x73,0x65,0x74,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C
+,0x3E,0x0D,0x0A
+};
+
+static const char menu_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52,0x2D
+,0x50,0x45,0x41,0x43,0x48,0x20,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x74,0x69,0x74,0x6C
+,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F
+,0x64,0x79,0x20,0x62,0x67,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x22,0x23,0x46,0x46,0x46
+,0x41,0x46,0x41,0x22,0x3E,0x0D,0x0A,0x3C,0x43,0x45,0x4E,0x54,0x45,0x52,0x3E,0x0D
+,0x0A,0x3C,0x50,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
+,0x34,0x22,0x3E,0x3C,0x42,0x3E,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x42,0x3E,0x3C,0x2F
+,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x2F,0x50,0x3E,0x0D,0x0A,0x3C,0x2F,0x43,0x45,0x4E
+,0x54,0x45,0x52,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x70,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
+,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
+,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
+,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72
+,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x54,0x6F
+,0x70,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
+,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22
+,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C
+,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2E,0x68
+,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69
+,0x6B,0x61,0x65,0x22,0x3E,0x57,0x65,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C
+,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
+,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
+,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
+,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
+,0x22,0x69,0x32,0x63,0x5F,0x73,0x65,0x74,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61
+,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x53
+,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x61
+,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74
+,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20
+,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30
+,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x6C
+,0x65,0x64,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22
+,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F
+,0x4F,0x66,0x66,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F
+,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64
+,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
+};
+
+static const char window_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x20,0x75,0x74
+,0x66,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52
+,0x2D,0x4C,0x59,0x43,0x48,0x45,0x45,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x3C,0x2F
+,0x74,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D
+,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E
+,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x31,0x35,0x22,0x3E,0x3C,0x73,0x70,0x61
+,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62,0x3E,0x47,0x52,0x2D,0x4C,0x59
+,0x43,0x48,0x45,0x45,0x20,0x57,0x65,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x20
+,0x53,0x61,0x6D,0x70,0x6C,0x65,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x54,0x68,0x69,0x73,0x20,0x73,0x61,0x6D
+,0x70,0x6C,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x20,0x75,0x73,0x69,0x6E
+,0x67,0x20,0x47,0x52,0x2D,0x4C,0x59,0x43,0x48,0x45,0x45,0x2E,0x3C,0x62,0x72,0x3E
+,0x0D,0x0A,0x57,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73
+,0x20,0x74,0x68,0x65,0x20,0x4D,0x65,0x6E,0x75,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65
+,0x20,0x6C,0x65,0x66,0x74,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62
+,0x65,0x20,0x64,0x69,0x73,0x70,0x6C,0x61,0x79,0x65,0x64,0x20,0x69,0x6E,0x20,0x74
+,0x68,0x69,0x73,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D
+,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49,0x74,0x20,0x73,0x68,0x6F,0x77,0x73,0x20
+,0x74,0x68,0x65,0x20,0x6F,0x76,0x65,0x72,0x76,0x69,0x65,0x77,0x20,0x6F,0x66,0x20
+,0x65,0x61,0x63,0x68,0x20,0x6C,0x69,0x6E,0x6B,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E
+,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x73,0x74,0x79
+,0x6C,0x65,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x63,0x73
+,0x73,0x22,0x3E,0x2E,0x74,0x61,0x62,0x6C,0x65,0x20,0x74,0x68,0x7B,0x62,0x61,0x63
+,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x65
+,0x36,0x66,0x66,0x65,0x39,0x7D,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E,0x0D,0x0A
+,0x3C,0x74,0x61,0x62,0x6C,0x65,0x20,0x63,0x6C,0x61,0x73,0x73,0x3D,0x22,0x74,0x61
+,0x62,0x6C,0x65,0x22,0x20,0x62,0x6F,0x72,0x64,0x65,0x72,0x3D,0x31,0x3E,0x0D,0x0A
+,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x68,0x3E,0x4C,0x69,0x6E,0x6B,0x73,0x3C
+,0x2F,0x74,0x68,0x3E,0x3C,0x74,0x68,0x3E,0x4F,0x76,0x65,0x72,0x76,0x69,0x65,0x77
+,0x3C,0x2F,0x74,0x68,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74
+,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x54,0x6F,0x70,0x20,0x50,0x61,0x67,0x65
+,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20,0x77,0x69,0x6C,0x6C
+,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x74
+,0x6F,0x70,0x20,0x70,0x61,0x67,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x3C,0x2F,0x74,0x64
+,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A
+,0x3C,0x74,0x64,0x3E,0x57,0x65,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F
+,0x74,0x64,0x3E,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61
+,0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x61,0x63
+,0x71,0x75,0x69,0x72,0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x63,0x61
+,0x6D,0x65,0x72,0x61,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62,0x20
+,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49,0x74
+,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20
+,0x61,0x74,0x20,0x61,0x20,0x73,0x6C,0x69,0x64,0x65,0x72,0x20,0x62,0x61,0x72,0x20
+,0x69,0x6E,0x20,0x22,0x57,0x61,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x22,0x20,0x61
+,0x74,0x20,0x74,0x68,0x65,0x20,0x74,0x69,0x6D,0x69,0x6E,0x67,0x20,0x6F,0x66,0x20
+,0x61,0x20,0x72,0x65,0x6E,0x65,0x77,0x61,0x6C,0x20,0x6F,0x66,0x20,0x61,0x20,0x63
+,0x61,0x6D,0x65,0x72,0x61,0x20,0x70,0x69,0x63,0x74,0x75,0x72,0x65,0x2E,0x20,0x28
+,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x73,0x20,0x61,0x72,0x65,0x20,0x35,0x30,0x30
+,0x6D,0x73,0x2E,0x29,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E
+,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x53,0x65,0x74,0x74
+,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x64,0x3E,0x3C
+,0x74,0x64,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20
+,0x49,0x32,0x43,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x20,0x74
+,0x68,0x65,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x49,0x6E,0x20,0x49,0x32,0x43,0x20,0x63,0x6F,0x6D,0x6D
+,0x75,0x6E,0x69,0x63,0x61,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x47,0x52,0x2D,0x4C,0x59
+,0x43,0x48,0x45,0x45,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x65,0x73,0x20,0x74,0x68
+,0x65,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x20,0x6F,0x66,0x20,0x74,0x68
+,0x65,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x73,0x20,0x63,0x6F,0x6E,0x6E,0x65,0x63
+,0x74,0x65,0x64,0x20,0x74,0x6F,0x20,0x49,0x32,0x43,0x5F,0x53,0x43,0x41,0x20,0x74
+,0x65,0x72,0x6D,0x69,0x6E,0x61,0x6C,0x20,0x61,0x6E,0x64,0x20,0x49,0x32,0x43,0x5F
+,0x53,0x43,0x4C,0x20,0x74,0x65,0x72,0x6D,0x69,0x6E,0x61,0x6C,0x2E,0x3C,0x62,0x72
+,0x3E,0x0D,0x0A,0x4F,0x6E,0x20,0x74,0x68,0x65,0x20,0x62,0x61,0x73,0x69,0x73,0x20
+,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2C,0x20
+,0x47,0x52,0x2D,0x4C,0x59,0x43,0x48,0x45,0x45,0x20,0x61,0x63,0x63,0x65,0x73,0x73
+,0x65,0x73,0x20,0x74,0x6F,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20
+,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x73,0x2E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x59,0x6F,0x75,0x20,0x63,0x61,0x6E,0x20,0x73,0x65,0x6E
+,0x64,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x6F,0x66
+,0x20,0x74,0x68,0x65,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x66
+,0x6F,0x72,0x6D,0x61,0x74,0x20,0x69,0x6E,0x20,0x6F,0x6E,0x65,0x20,0x6F,0x66,0x20
+,0x74,0x77,0x6F,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x73,0x20,0x62,0x65,0x6C
+,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26
+,0x6E,0x62,0x73,0x70,0x3B,0x22,0x44,0x69,0x72,0x65,0x63,0x74,0x6C,0x20,0x69,0x6E
+,0x70,0x75,0x74,0x22,0x20,0x6F,0x72,0x20,0x22,0x46,0x69,0x6C,0x65,0x20,0x72,0x65
+,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x22,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x50
+,0x6C,0x65,0x61,0x73,0x65,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x63
+,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x61,0x6C,0x6F,0x6E,0x67,0x20,0x74,0x68,0x65
+,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x61,0x66,0x74,0x65,0x72,0x20,0x79,0x6F
+,0x75,0x20,0x63,0x68,0x65,0x63,0x6B,0x20,0x74,0x68,0x65,0x20,0x73,0x70,0x65,0x63
+,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6F,0x6E,0x73,0x20,0x6F,0x66,0x20,0x65,0x61
+,0x63,0x68,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A
+,0x54,0x68,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x6F,0x66,0x20,0x74,0x68
+,0x65,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x69,0x73,0x3A,0x3C,0x62,0x72
+,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x4D
+,0x65,0x74,0x68,0x6F,0x64,0x3A,0x49,0x32,0x43,0x20,0x61,0x64,0x64,0x72,0x2C,0x64
+,0x61,0x74,0x61,0x20,0x6C,0x65,0x6E,0x67,0x74,0x68,0x2C,0x64,0x61,0x74,0x61,0x31
+,0x2C,0x64,0x61,0x74,0x61,0x32,0x2C,0x64,0x61,0x74,0x61,0x33,0x2C,0x2E,0x2E,0x2E
+,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x4D,0x65,0x74,0x68
+,0x6F,0x64,0x20,0x69,0x73,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E
+,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E
+,0x62,0x73,0x70,0x3B,0x22,0x57,0x72,0x22,0x69,0x73,0x20,0x57,0x72,0x69,0x74,0x65
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26
+,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70
+,0x3B,0x22,0x52,0x64,0x22,0x20,0x69,0x73,0x20,0x52,0x65,0x61,0x64,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73
+,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x57
+,0x72,0x4E,0x6F,0x70,0x22,0x20,0x69,0x73,0x20,0x57,0x72,0x69,0x74,0x65,0x20,0x66
+,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x4E,0x6F,0x20,0x53,0x54,0x4F,0x50,0x20
+,0x63,0x6F,0x6E,0x64,0x69,0x74,0x69,0x6F,0x6E,0x29,0x3C,0x62,0x72,0x3E,0x0D,0x0A
+,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73
+,0x70,0x3B,0x22,0x52,0x64,0x4E,0x6F,0x70,0x22,0x20,0x69,0x73,0x20,0x52,0x65,0x61
+,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x4E,0x6F,0x20,0x53,0x54
+,0x4F,0x50,0x20,0x63,0x6F,0x6E,0x64,0x69,0x74,0x69,0x6F,0x6E,0x29,0x3C,0x62,0x72
+,0x3E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C
+,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F
+,0x4F,0x66,0x66,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20,0x69
+,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x4C,0x45,0x44,0x31,0x2C,0x20,0x4C
+,0x45,0x44,0x32,0x20,0x61,0x6E,0x64,0x20,0x4C,0x45,0x44,0x33,0x20,0x6F,0x66,0x20
+,0x74,0x68,0x65,0x20,0x74,0x6F,0x67,0x67,0x6C,0x65,0x20,0x73,0x77,0x69,0x74,0x63
+,0x68,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F
+,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x45,0x61,0x63,0x68,0x20
+,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73
+,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x4C,0x45,0x44
+,0x20,0x73,0x74,0x61,0x74,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x4C,0x45,0x44
+,0x20,0x4F,0x4E,0x20,0x61,0x6E,0x64,0x20,0x4F,0x46,0x46,0x20,0x73,0x77,0x69,0x74
+,0x63,0x68,0x65,0x73,0x20,0x77,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72
+,0x65,0x73,0x73,0x20,0x74,0x68,0x65,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x2E,0x20
+,0x57,0x68,0x65,0x6E,0x20,0x74,0x68,0x65,0x20,0x4C,0x45,0x44,0x20,0x69,0x73,0x20
+,0x4F,0x4E,0x2C,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x6F,0x66
+,0x20,0x74,0x68,0x65,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x77,0x69,0x6C,0x6C
+,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x74,0x68,0x65,0x20,0x4C,0x45,0x44,0x20
+,0x63,0x6F,0x6C,0x6F,0x72,0x2E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74
+,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x61,0x62,0x6C,0x65,0x3E,0x0D,0x0A,0x0D,0x0A
+,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D
+,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/file_table_peach.h	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,1225 @@
+
+static const char index_htm_tbl[] = {
+ 0x3C,0x53,0x43,0x52,0x49,0x50,0x54,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x0D
+,0x0A,0x3C,0x21,0x2D,0x2D,0x0D,0x0A,0x6C,0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x2E
+,0x68,0x72,0x65,0x66,0x3D,0x22,0x2F,0x77,0x65,0x62,0x5F,0x74,0x6F,0x70,0x2E,0x68
+,0x74,0x6D,0x22,0x3B,0x0D,0x0A,0x2D,0x2D,0x3E,0x0D,0x0A,0x3C,0x2F,0x53,0x43,0x52
+,0x49,0x50,0x54,0x3E,0x0D,0x0A
+};
+
+static const char camaera_js_tbl[] = {
+ 0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x20,0x3D,0x20,0x30,0x3B
+,0x20,0x2F,0x2F,0x20,0x53,0x65,0x72,0x69,0x61,0x6C,0x20,0x6E,0x75,0x6D,0x62,0x65
+,0x72,0x20,0x6F,0x66,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6D,0x61
+,0x67,0x65,0x0D,0x0A,0x76,0x61,0x72,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
+,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x29,0x3B,0x20
+,0x2F,0x2F,0x20,0x52,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x73,0x20,0x74,0x6F
+,0x20,0x69,0x6D,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x73,0x20,0x77,0x68,0x69
+,0x63,0x68,0x20,0x68,0x61,0x76,0x65,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
+,0x20,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x69,0x6E,0x67,0x0D,0x0A,0x0D,0x0A
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
+,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20
+,0x20,0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x3D,0x20,0x6E,0x65,0x77
+,0x20,0x49,0x6D,0x61,0x67,0x65,0x28,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x69
+,0x6D,0x61,0x67,0x65,0x2E,0x73,0x72,0x63,0x20,0x3D,0x20,0x22,0x63,0x61,0x6D,0x65
+,0x72,0x61,0x2F,0x22,0x20,0x2B,0x20,0x28,0x2B,0x2B,0x69,0x6D,0x61,0x67,0x65,0x4E
+,0x72,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x73,0x74,0x79
+,0x6C,0x65,0x2E,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x3D,0x20,0x22,0x61
+,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x22,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61
+,0x67,0x65,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49,0x6E,0x64,0x65,0x78,0x20
+,0x3D,0x20,0x2D,0x31,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F
+,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C
+,0x6F,0x61,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F,0x6E
+,0x65,0x72,0x72,0x6F,0x72,0x20,0x3D,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D
+,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x76
+,0x61,0x72,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75
+,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42
+,0x79,0x49,0x64,0x28,0x22,0x77,0x65,0x62,0x63,0x61,0x6D,0x22,0x29,0x3B,0x0D,0x0A
+,0x20,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x2E,0x69,0x6E,0x73,0x65,0x72,0x74,0x42
+,0x65,0x66,0x6F,0x72,0x65,0x28,0x69,0x6D,0x61,0x67,0x65,0x2C,0x20,0x77,0x65,0x62
+,0x63,0x61,0x6D,0x2E,0x66,0x69,0x72,0x73,0x74,0x43,0x68,0x69,0x6C,0x64,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
+,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C,0x6F,0x61,0x64,0x28,0x29,0x20,0x7B,0x0D
+,0x0A,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49
+,0x6E,0x64,0x65,0x78,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x3B,0x0D
+,0x0A,0x20,0x20,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x31,0x20,0x3C,0x20,0x66,0x69
+,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x6C,0x65,0x6E,0x67,0x74,0x68,0x29,0x20,0x7B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x64,0x65,0x6C,0x20,0x3D,0x20
+,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x73,0x68,0x69,0x66,0x74,0x28,0x29
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x64,0x65,0x6C,0x2E,0x70,0x61,0x72,0x65,0x6E
+,0x74,0x4E,0x6F,0x64,0x65,0x2E,0x72,0x65,0x6D,0x6F,0x76,0x65,0x43,0x68,0x69,0x6C
+,0x64,0x28,0x64,0x65,0x6C,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x7D,0x0D,0x0A,0x20,0x20
+,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x70,0x75,0x73,0x68,0x28,0x74,0x68
+,0x69,0x73,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x74,0x69,0x6D,0x65,0x72,0x49,0x44,0x20
+,0x3D,0x20,0x73,0x65,0x74,0x54,0x69,0x6D,0x65,0x6F,0x75,0x74,0x28,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x7B,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
+,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7D,0x2C,0x20,0x64
+,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x46,0x31,0x2E,0x77,0x61,0x69,0x74,0x74
+,0x69,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
+};
+
+static const char camera_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x63,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F,0x74
+,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
+,0x72,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72
+,0x61,0x2E,0x6A,0x73,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75
+,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
+,0x0A,0x3C,0x73,0x74,0x79,0x6C,0x65,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x2F,0x63,0x73,0x73,0x22,0x3E,0x0D,0x0A,0x23,0x77,0x65,0x62,0x63,0x61
+,0x6D,0x20,0x69,0x6D,0x67,0x20,0x7B,0x0D,0x0A,0x09,0x6C,0x65,0x66,0x74,0x3A,0x20
+,0x30,0x3B,0x0D,0x0A,0x09,0x72,0x69,0x67,0x68,0x74,0x3A,0x20,0x30,0x3B,0x0D,0x0A
+,0x09,0x6D,0x61,0x78,0x2D,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x36,0x34,0x30,0x70
+,0x78,0x3B,0x20,0x0D,0x0A,0x09,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x31,0x30,0x30
+,0x25,0x3B,0x0D,0x0A,0x09,0x68,0x65,0x69,0x67,0x68,0x74,0x3A,0x20,0x61,0x75,0x74
+,0x6F,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E
+,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79
+,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x20,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x3D
+,0x22,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65
+,0x72,0x28,0x29,0x3B,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20,0x61,0x63
+,0x74,0x69,0x6F,0x6E,0x3D,0x22,0x23,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x46
+,0x31,0x22,0x3E,0x0D,0x0A,0x57,0x61,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x20,0x3C
+,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x72,0x61,0x6E,0x67
+,0x65,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x77,0x61,0x69,0x74,0x74,0x69,0x6D
+,0x65,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x35,0x30,0x30,0x22,0x20,0x6D
+,0x61,0x78,0x3D,0x22,0x31,0x30,0x30,0x30,0x22,0x20,0x73,0x74,0x65,0x70,0x3D,0x22
+,0x35,0x30,0x22,0x3E,0x20,0x5B,0x6D,0x73,0x5D,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72
+,0x6D,0x3E,0x0D,0x0A,0x3C,0x64,0x69,0x76,0x20,0x69,0x64,0x3D,0x22,0x77,0x65,0x62
+,0x63,0x61,0x6D,0x22,0x3E,0x3C,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x3C
+,0x69,0x6D,0x67,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2F
+,0x30,0x22,0x20,0x2F,0x3E,0x3C,0x2F,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E
+,0x3C,0x2F,0x64,0x69,0x76,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D
+,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char mbedrpc_js_tbl[] = {
+ 0x2F,0x2F,0x20,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x20,0x4A,0x61,0x76,0x61,0x73
+,0x63,0x72,0x69,0x70,0x74,0x20,0x49,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20
+,0x75,0x73,0x69,0x6E,0x67,0x20,0x48,0x54,0x54,0x50,0x0D,0x0A,0x2F,0x2F,0x20,0x73
+,0x66,0x6F,0x72,0x64,0x20,0x61,0x6E,0x64,0x20,0x4D,0x20,0x57,0x61,0x6C,0x6B,0x65
+,0x72,0x0D,0x0A,0x2F,0x2F,0x20,0x41,0x20,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69
+,0x70,0x74,0x20,0x69,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x6F,0x72
+,0x20,0x74,0x61,0x6C,0x6B,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x6D,0x62,0x65,0x64
+,0x20,0x72,0x70,0x63,0x20,0x6F,0x76,0x65,0x72,0x20,0x68,0x74,0x74,0x70,0x0D,0x0A
+,0x2F,0x2F,0x0D,0x0A,0x2F,0x2F,0x43,0x6F,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20
+,0x28,0x63,0x29,0x20,0x32,0x30,0x31,0x30,0x20,0x41,0x52,0x4D,0x20,0x4C,0x74,0x64
+,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x50,0x65,0x72,0x6D,0x69,0x73,0x73
+,0x69,0x6F,0x6E,0x20,0x69,0x73,0x20,0x68,0x65,0x72,0x65,0x62,0x79,0x20,0x67,0x72
+,0x61,0x6E,0x74,0x65,0x64,0x2C,0x20,0x66,0x72,0x65,0x65,0x20,0x6F,0x66,0x20,0x63
+,0x68,0x61,0x72,0x67,0x65,0x2C,0x20,0x74,0x6F,0x20,0x61,0x6E,0x79,0x20,0x70,0x65
+,0x72,0x73,0x6F,0x6E,0x20,0x6F,0x62,0x74,0x61,0x69,0x6E,0x69,0x6E,0x67,0x20,0x61
+,0x20,0x63,0x6F,0x70,0x79,0x0D,0x0A,0x2F,0x2F,0x6F,0x66,0x20,0x74,0x68,0x69,0x73
+,0x20,0x73,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x61,0x6E,0x64,0x20,0x61,0x73
+,0x73,0x6F,0x63,0x69,0x61,0x74,0x65,0x64,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x28,0x74,0x68
+,0x65,0x20,0x22,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x22,0x29,0x2C,0x20,0x74
+,0x6F,0x20,0x64,0x65,0x61,0x6C,0x0D,0x0A,0x2F,0x2F,0x69,0x6E,0x20,0x74,0x68,0x65
+,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x77,0x69,0x74,0x68,0x6F,0x75
+,0x74,0x20,0x72,0x65,0x73,0x74,0x72,0x69,0x63,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x69
+,0x6E,0x63,0x6C,0x75,0x64,0x69,0x6E,0x67,0x20,0x77,0x69,0x74,0x68,0x6F,0x75,0x74
+,0x20,0x6C,0x69,0x6D,0x69,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20
+,0x72,0x69,0x67,0x68,0x74,0x73,0x0D,0x0A,0x2F,0x2F,0x74,0x6F,0x20,0x75,0x73,0x65
+,0x2C,0x20,0x63,0x6F,0x70,0x79,0x2C,0x20,0x6D,0x6F,0x64,0x69,0x66,0x79,0x2C,0x20
+,0x6D,0x65,0x72,0x67,0x65,0x2C,0x20,0x70,0x75,0x62,0x6C,0x69,0x73,0x68,0x2C,0x20
+,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x2C,0x20,0x73,0x75,0x62,0x6C
+,0x69,0x63,0x65,0x6E,0x73,0x65,0x2C,0x20,0x61,0x6E,0x64,0x2F,0x6F,0x72,0x20,0x73
+,0x65,0x6C,0x6C,0x0D,0x0A,0x2F,0x2F,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x66
+,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x2C,0x20,0x61
+,0x6E,0x64,0x20,0x74,0x6F,0x20,0x70,0x65,0x72,0x6D,0x69,0x74,0x20,0x70,0x65,0x72
+,0x73,0x6F,0x6E,0x73,0x20,0x74,0x6F,0x20,0x77,0x68,0x6F,0x6D,0x20,0x74,0x68,0x65
+,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x69,0x73,0x0D,0x0A,0x2F,0x2F
+,0x66,0x75,0x72,0x6E,0x69,0x73,0x68,0x65,0x64,0x20,0x74,0x6F,0x20,0x64,0x6F,0x20
+,0x73,0x6F,0x2C,0x20,0x73,0x75,0x62,0x6A,0x65,0x63,0x74,0x20,0x74,0x6F,0x20,0x74
+,0x68,0x65,0x20,0x66,0x6F,0x6C,0x6C,0x6F,0x77,0x69,0x6E,0x67,0x20,0x63,0x6F,0x6E
+,0x64,0x69,0x74,0x69,0x6F,0x6E,0x73,0x3A,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F
+,0x2F,0x54,0x68,0x65,0x20,0x61,0x62,0x6F,0x76,0x65,0x20,0x63,0x6F,0x70,0x79,0x72
+,0x69,0x67,0x68,0x74,0x20,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x61,0x6E,0x64,0x20
+,0x74,0x68,0x69,0x73,0x20,0x70,0x65,0x72,0x6D,0x69,0x73,0x73,0x69,0x6F,0x6E,0x20
+,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x73,0x68,0x61,0x6C,0x6C,0x20,0x62,0x65,0x20
+,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x64,0x20,0x69,0x6E,0x0D,0x0A,0x2F,0x2F,0x61
+,0x6C,0x6C,0x20,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x72,0x20,0x73,0x75,0x62
+,0x73,0x74,0x61,0x6E,0x74,0x69,0x61,0x6C,0x20,0x70,0x6F,0x72,0x74,0x69,0x6F,0x6E
+,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72
+,0x65,0x2E,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20,0x53
+,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x49,0x53,0x20,0x50,0x52,0x4F,0x56,0x49
+,0x44,0x45,0x44,0x20,0x22,0x41,0x53,0x20,0x49,0x53,0x22,0x2C,0x20,0x57,0x49,0x54
+,0x48,0x4F,0x55,0x54,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x59,0x20,0x4F,0x46
+,0x20,0x41,0x4E,0x59,0x20,0x4B,0x49,0x4E,0x44,0x2C,0x20,0x45,0x58,0x50,0x52,0x45
+,0x53,0x53,0x20,0x4F,0x52,0x0D,0x0A,0x2F,0x2F,0x49,0x4D,0x50,0x4C,0x49,0x45,0x44
+,0x2C,0x20,0x49,0x4E,0x43,0x4C,0x55,0x44,0x49,0x4E,0x47,0x20,0x42,0x55,0x54,0x20
+,0x4E,0x4F,0x54,0x20,0x4C,0x49,0x4D,0x49,0x54,0x45,0x44,0x20,0x54,0x4F,0x20,0x54
+,0x48,0x45,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x49,0x45,0x53,0x20,0x4F,0x46
+,0x20,0x4D,0x45,0x52,0x43,0x48,0x41,0x4E,0x54,0x41,0x42,0x49,0x4C,0x49,0x54,0x59
+,0x2C,0x0D,0x0A,0x2F,0x2F,0x46,0x49,0x54,0x4E,0x45,0x53,0x53,0x20,0x46,0x4F,0x52
+,0x20,0x41,0x20,0x50,0x41,0x52,0x54,0x49,0x43,0x55,0x4C,0x41,0x52,0x20,0x50,0x55
+,0x52,0x50,0x4F,0x53,0x45,0x20,0x41,0x4E,0x44,0x20,0x4E,0x4F,0x4E,0x49,0x4E,0x46
+,0x52,0x49,0x4E,0x47,0x45,0x4D,0x45,0x4E,0x54,0x2E,0x20,0x49,0x4E,0x20,0x4E,0x4F
+,0x20,0x45,0x56,0x45,0x4E,0x54,0x20,0x53,0x48,0x41,0x4C,0x4C,0x20,0x54,0x48,0x45
+,0x0D,0x0A,0x2F,0x2F,0x41,0x55,0x54,0x48,0x4F,0x52,0x53,0x20,0x4F,0x52,0x20,0x43
+,0x4F,0x50,0x59,0x52,0x49,0x47,0x48,0x54,0x20,0x48,0x4F,0x4C,0x44,0x45,0x52,0x53
+,0x20,0x42,0x45,0x20,0x4C,0x49,0x41,0x42,0x4C,0x45,0x20,0x46,0x4F,0x52,0x20,0x41
+,0x4E,0x59,0x20,0x43,0x4C,0x41,0x49,0x4D,0x2C,0x20,0x44,0x41,0x4D,0x41,0x47,0x45
+,0x53,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x0D,0x0A,0x2F,0x2F,0x4C,0x49
+,0x41,0x42,0x49,0x4C,0x49,0x54,0x59,0x2C,0x20,0x57,0x48,0x45,0x54,0x48,0x45,0x52
+,0x20,0x49,0x4E,0x20,0x41,0x4E,0x20,0x41,0x43,0x54,0x49,0x4F,0x4E,0x20,0x4F,0x46
+,0x20,0x43,0x4F,0x4E,0x54,0x52,0x41,0x43,0x54,0x2C,0x20,0x54,0x4F,0x52,0x54,0x20
+,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x57,0x49,0x53,0x45,0x2C,0x20,0x41,0x52
+,0x49,0x53,0x49,0x4E,0x47,0x20,0x46,0x52,0x4F,0x4D,0x2C,0x0D,0x0A,0x2F,0x2F,0x4F
+,0x55,0x54,0x20,0x4F,0x46,0x20,0x4F,0x52,0x20,0x49,0x4E,0x20,0x43,0x4F,0x4E,0x4E
+,0x45,0x43,0x54,0x49,0x4F,0x4E,0x20,0x57,0x49,0x54,0x48,0x20,0x54,0x48,0x45,0x20
+,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x4F,0x52,0x20,0x54,0x48,0x45,0x20
+,0x55,0x53,0x45,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x20,0x44,0x45,0x41
+,0x4C,0x49,0x4E,0x47,0x53,0x20,0x49,0x4E,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20
+,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x2E,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x2F
+,0x2F,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x4D,0x65,0x63,0x68,0x61
+,0x6E,0x69,0x73,0x6D,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x75,0x72,0x6C,0x29,0x20,0x7B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x20,0x3D,0x20,0x28,0x77,0x69,0x6E
+,0x64,0x6F,0x77,0x2E,0x58,0x4D,0x4C,0x48,0x74,0x74,0x70,0x52,0x65,0x71,0x75,0x65
+,0x73,0x74,0x29,0x20,0x3F,0x20,0x6E,0x65,0x77,0x20,0x58,0x4D,0x4C,0x48,0x74,0x74
+,0x70,0x52,0x65,0x71,0x75,0x65,0x73,0x74,0x28,0x29,0x20,0x3A,0x20,0x6E,0x65,0x77
+,0x20,0x41,0x63,0x74,0x69,0x76,0x65,0x58,0x4F,0x62,0x6A,0x65,0x63,0x74,0x28,0x22
+,0x4D,0x69,0x63,0x72,0x6F,0x73,0x6F,0x66,0x74,0x2E,0x58,0x4D,0x4C,0x48,0x54,0x54
+,0x50,0x22,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x69,0x66,0x28,0x21,0x68,0x74
+,0x74,0x70,0x29,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x66,0x61,0x6C,0x73,0x65
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x6F,0x70,0x65,0x6E
+,0x28,0x22,0x47,0x45,0x54,0x22,0x2C,0x20,0x75,0x72,0x6C,0x2C,0x20,0x66,0x61,0x6C
+,0x73,0x65,0x29,0x3B,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x73,0x65,0x6E,0x64
+,0x28,0x6E,0x75,0x6C,0x6C,0x29,0x3B,0x20,0x20,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x68,0x74,0x74,0x70,0x2E,0x72,0x65,0x73,0x70
+,0x6F,0x6E,0x73,0x65,0x54,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6D,0x62
+,0x65,0x64,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x4E,0x6F,0x20,0x61,0x63,0x74
+,0x69,0x6F,0x6E,0x20,0x6E,0x65,0x65,0x64,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20
+,0x74,0x61,0x6B,0x65,0x6E,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x6D,0x62,0x65,0x64
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63,0x74
+,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D,0x65
+,0x6E,0x74,0x73,0x29,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x2F,0x2F,0x54,0x68,0x69
+,0x73,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x6F,0x76,0x65,0x72
+,0x72,0x69,0x64,0x64,0x65,0x6E,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x61,0x20
+,0x74,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x6D,0x65,0x63,0x68,0x61,0x6E
+,0x69,0x73,0x6D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52,0x50
+,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x6D,0x62,0x65,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x63,0x6F,0x6E
+,0x73,0x74,0x72,0x75,0x63,0x74,0x6F,0x72,0x20,0x3D,0x20,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x48,0x54,0x54
+,0x50,0x52,0x50,0x43,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x75,0x6E,0x6C,0x69
+,0x6B,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67
+,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20
+,0x6E,0x65,0x65,0x64,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x70,0x61,0x73,0x73,0x65
+,0x64,0x20,0x61,0x6E,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x20,0x61,0x73,0x20
+,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x62,0x65,0x20
+,0x61,0x6C,0x6C,0x6F,0x77,0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x6F,0x6D,0x6D,0x75
+,0x6E,0x69,0x63,0x61,0x74,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x69,0x74,0x73,0x65
+,0x6C,0x66,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63
+,0x74,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D
+,0x65,0x6E,0x74,0x73,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72,0x65,0x74
+,0x75,0x72,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x22,0x2F,0x72,0x70,0x63,0x2F,0x22
+,0x20,0x2B,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x20,0x2B,0x20,0x22,0x2F,0x22,0x20
+,0x2B,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x20,0x2B,0x20,0x22,0x2C,0x22,0x20,0x2B
+,0x20,0x61,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x2E,0x6A,0x6F,0x69,0x6E,0x28
+,0x22,0x2C,0x22,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20
+,0x50,0x69,0x6E,0x20,0x4E,0x61,0x6D,0x65,0x73,0x20,0x74,0x6F,0x20,0x41,0x6C,0x6C
+,0x6F,0x77,0x20,0x70,0x69,0x6E,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x72,0x65
+,0x66,0x66,0x65,0x72,0x65,0x64,0x20,0x74,0x6F,0x20,0x61,0x73,0x20,0x61,0x20,0x74
+,0x79,0x70,0x65,0x20,0x72,0x61,0x74,0x68,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20
+,0x61,0x20,0x73,0x74,0x72,0x69,0x6E,0x67,0x20,0x6F,0x72,0x20,0x6E,0x75,0x6D,0x62
+,0x65,0x72,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x70
+,0x69,0x6E,0x28,0x6E,0x61,0x6D,0x65,0x29,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x4C,0x45,0x44,0x31,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
+,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x31,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45
+,0x44,0x32,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45
+,0x44,0x32,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45,0x44,0x33,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x33,0x22,0x29,0x3B,0x0D,0x0A
+,0x4C,0x45,0x44,0x34,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22
+,0x4C,0x45,0x44,0x34,0x22,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20,0x69,0x6E
+,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74
+,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62
+,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66
+,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20
+,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F
+,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62
+,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
+,0x0A,0x09,0x2F,0x2F,0x76,0x61,0x72,0x20,0x61,0x72,0x79,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x29,0x3B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65
+,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22
+,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D
+,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20
+,0x0D,0x0A,0x09,0x2F,0x2F,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20
+,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E
+,0x65,0x77,0x22,0x2C,0x20,0x61,0x72,0x79,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65
+,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F
+,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A
+,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70
+,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79
+,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22
+,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74
+,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73
+,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B
+,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C
+,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
+,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69
+,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D
+,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09
+,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F
+,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x22,0x2C,0x20
+,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B
+,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F
+,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69
+,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x2E
+,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09
+,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22
+,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A
+,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x41,0x6E
+,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63
+,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x28,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70
+,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B
+,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20
+,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
+,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
+,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
+,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
+,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
+,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
+,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
+,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69
+,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
+,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C
+,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C
+,0x6F,0x67,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E
+,0x77,0x72,0x69,0x74,0x65,0x5F,0x75,0x31,0x36,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63
+,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65
+,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F
+,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70
+,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65
+,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x28
+,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D
+,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29
+,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61
+,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73
+,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F
+,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67
+,0x49,0x6E,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
+,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
+,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
+,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
+,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49
+,0x6E,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64
+,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C
+,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
+,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x5F,0x75,0x31,0x36,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
+,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x28,0x74,0x68
+,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B
+,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69
+,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09
+,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E
+,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x50,0x77,0x6D,0x4F,0x75,0x74,0x22,0x2C
+,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E
+,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29
+,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F
+,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74
+,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
+,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
+,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
+,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69
+,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
+,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72
+,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
+,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70
+,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64
+,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
+,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70
+,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75
+,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75
+,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69
+,0x6F,0x64,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E
+,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x75,0x73
+,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
+,0x79,0x70,0x65,0x2E,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E
+,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22
+,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
+,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
+,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
+,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
+,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
+,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
+,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x73,0x65,0x72,0x69,0x61
+,0x6C,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53
+,0x65,0x72,0x69,0x61,0x6C,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C
+,0x20,0x74,0x78,0x2C,0x20,0x72,0x78,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28
+,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x74,0x78,0x20,0x21,0x3D,0x20,0x22,0x73,0x74
+,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72
+,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63
+,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20
+,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20
+,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22
+,0x53,0x65,0x72,0x69,0x61,0x6C,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20
+,0x5B,0x74,0x78,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x72,0x78,0x2E,0x5F,0x6E
+,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B
+,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20
+,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D
+,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20
+,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x78,0x3B,0x0D,0x0A,0x09
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75,0x74,0x63,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65
+,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64
+,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20
+,0x22,0x70,0x75,0x74,0x63,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
+,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x67,0x65,0x74,0x63,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
+,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x67
+,0x65,0x74,0x63,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70,0x72,0x6F,0x74,0x6F
+,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
+,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
+,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
+,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x61,0x62
+,0x6C,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
+,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
+,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20
+,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A
+,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50
+,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61
+,0x6D,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
+,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72
+,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77
+,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
+,0x64,0x5F,0x69,0x6E,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61
+,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C
+,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
+,0x64,0x5F,0x66,0x6C,0x6F,0x61,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69
+,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
+,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E
+,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E
+,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22
+,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61
+,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65
+,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C
+,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F
+,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50,0x43
+,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F
+,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61,0x6D
+,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x75,0x6E,0x20,0x3D,0x20,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x72,0x75,0x6E,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65
+,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+};
+
+static const char led_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x20,0x75,0x74
+,0x66,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x4C
+,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65
+,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D
+,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74
+,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x2E,0x6A
+,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22,0x6A,0x61,0x76
+,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74
+,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70
+,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70
+,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48,0x54,0x54,0x50
+,0x52,0x50,0x43,0x28,0x29,0x3B,0x6C,0x65,0x64,0x31,0x3D,0x6E,0x65,0x77,0x20,0x44
+,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C
+,0x45,0x44,0x31,0x29,0x3B,0x6C,0x65,0x64,0x32,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45
+,0x44,0x32,0x29,0x3B,0x6C,0x65,0x64,0x33,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69,0x67
+,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45,0x44
+,0x33,0x29,0x3B,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A
+,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x0D
+,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x31,0x5F,0x74
+,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72,0x64,0x31,0x20,0x3D,0x20,0x6C,0x65,0x64
+,0x31,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72,0x64,0x31,0x20,0x3D,0x3D,0x20,0x31,0x29
+,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x31,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30
+,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x2E,0x76,0x61,0x6C
+,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x31,0x20,0x4F,0x66,0x66,0x27,0x3B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
+,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
+,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B
+,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23
+,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
+,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74
+,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30
+,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x31,0x2E,0x77,0x72,0x69
+,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31
+,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x31,0x20,0x4F
+,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
+,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
+,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D
+,0x20,0x27,0x23,0x66,0x66,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
+,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29
+,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27
+,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F
+,0x6E,0x20,0x6C,0x65,0x64,0x32,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20
+,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72
+,0x64,0x32,0x20,0x3D,0x20,0x6C,0x65,0x64,0x32,0x2E,0x72,0x65,0x61,0x64,0x28,0x29
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72
+,0x64,0x32,0x20,0x3D,0x3D,0x20,0x31,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x32
+,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F
+,0x4C,0x45,0x44,0x32,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45
+,0x44,0x32,0x20,0x4F,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
+,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74
+,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F
+,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
+,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
+,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F
+,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x6C,0x65,0x64,0x32,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D
+,0x20,0x27,0x4C,0x45,0x44,0x32,0x20,0x4F,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
+,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29
+,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E
+,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30,0x38,0x30,0x30
+,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
+,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63
+,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x33,0x5F,0x74
+,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72,0x64,0x33,0x20,0x3D,0x20,0x6C,0x65,0x64
+,0x33,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72,0x64,0x33,0x20,0x3D,0x3D,0x20,0x31,0x29
+,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30
+,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x2E,0x76,0x61,0x6C
+,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F,0x66,0x66,0x27,0x3B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
+,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
+,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B
+,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23
+,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
+,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74
+,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30
+,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69
+,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33
+,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F
+,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
+,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
+,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D
+,0x20,0x27,0x23,0x30,0x30,0x30,0x30,0x63,0x63,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
+,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29
+,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27
+,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70
+,0x74,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F
+,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69
+,0x7A,0x65,0x3D,0x22,0x38,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79
+,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38
+,0x30,0x22,0x3E,0x3C,0x62,0x3E,0x4C,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65
+,0x20,0x53,0x77,0x69,0x74,0x63,0x68,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61
+,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x3C,0x62,0x72
+,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22
+,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F
+,0x4C,0x45,0x44,0x31,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E
+,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B
+,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F
+,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B
+,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30
+,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78
+,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20
+,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x31,0x5F,0x74,0x6F
+,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20
+,0x22,0x4C,0x45,0x44,0x31,0x20,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E
+,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D
+,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
+,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
+,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30
+,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F
+,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A
+,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34
+,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65
+,0x64,0x32,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C
+,0x75,0x65,0x20,0x3D,0x20,0x22,0x4C,0x45,0x44,0x32,0x20,0x4F,0x66,0x66,0x22,0x3E
+,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E
+,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E
+,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x20
+,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49
+,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53
+,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30
+,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64
+,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57
+,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47
+,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63
+,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x33,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29
+,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x22,0x4C,0x45,0x44,0x33,0x20
+,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F
+,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char i2c_set_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x53,0x65
+,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x69
+,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79
+,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72
+,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50
+,0x43,0x2E,0x6A,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22
+,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72
+,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63
+,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
+,0x72,0x69,0x70,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48
+,0x54,0x54,0x50,0x52,0x50,0x43,0x28,0x29,0x3B,0x74,0x65,0x72,0x6D,0x3D,0x6E,0x65
+,0x77,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6D,0x62
+,0x65,0x64,0x2C,0x22,0x53,0x65,0x74,0x49,0x32,0x43,0x66,0x72,0x6F,0x6D,0x57,0x65
+,0x62,0x22,0x29,0x3B,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C
+,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
+,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
+,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
+,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
+,0x3E,0x44,0x69,0x72,0x65,0x63,0x74,0x20,0x69,0x6E,0x70,0x75,0x74,0x3C,0x2F,0x62
+,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x64,0x69,0x72,0x5F
+,0x69,0x6E,0x22,0x3E,0x3C,0x2F,0x69,0x6E,0x70,0x75,0x74,0x3E,0x3C,0x62,0x75,0x74
+,0x74,0x6F,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D
+,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F
+,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63
+,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x64,0x69,0x72,0x5F,0x69,0x6E
+,0x28,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E
+,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A
+,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
+,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
+,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
+,0x3E,0x46,0x69,0x6C,0x65,0x20,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x3C
+,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
+,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79
+,0x70,0x65,0x3D,0x22,0x66,0x69,0x6C,0x65,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
+,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x6E,0x6F,0x6E,0x65,0x22,0x20
+,0x6F,0x6E,0x63,0x68,0x61,0x6E,0x67,0x65,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69
+,0x6C,0x65,0x6E,0x61,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x22,0x20,0x61,0x63,0x63,0x65
+,0x70,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x3E
+,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74
+,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69,0x6C
+,0x65,0x6E,0x61,0x6D,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
+,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20
+,0x73,0x69,0x7A,0x65,0x3D,0x22,0x32,0x35,0x22,0x20,0x44,0x49,0x53,0x41,0x42,0x4C
+,0x45,0x44,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
+,0x6C,0x65,0x5F,0x73,0x65,0x6C,0x65,0x63,0x74,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
+,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
+,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x66,0x69,0x6C
+,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x2E,0x63,0x6C,0x69,0x63,0x6B,0x28,0x29
+,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x43,0x68,0x6F,0x6F,0x73,0x65,0x20
+,0x61,0x20,0x74,0x65,0x78,0x74,0x20,0x46,0x69,0x6C,0x65,0x22,0x3E,0x0D,0x0A,0x3C
+,0x62,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62
+,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x73,0x6E,0x64,0x62,0x6F,0x78,0x22
+,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D
+,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D
+,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63
+,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x66,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28
+,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E
+,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x3C,0x70,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
+,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x31,0x38,0x70,0x74,0x22
+,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43,0x4F
+,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x0D,0x0A,0x3C
+,0x62,0x3E,0x4C,0x4F,0x47,0x3A,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22
+,0x73,0x75,0x62,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74
+,0x61,0x72,0x65,0x61,0x5F,0x63,0x6C,0x65,0x61,0x72,0x22,0x20,0x73,0x74,0x79,0x6C
+,0x65,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68
+,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70
+,0x74,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49
+,0x47,0x48,0x54,0x3A,0x32,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F
+,0x4E,0x3A,0x61,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A
+,0x38,0x70,0x78,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x43,0x6C
+,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x20,0x76,0x61
+,0x6C,0x75,0x65,0x3D,0x22,0x43,0x6C,0x65,0x61,0x72,0x22,0x3E,0x0D,0x0A,0x3C,0x62
+,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62,0x6D
+,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61
+,0x5F,0x73,0x61,0x76,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x44,0x49
+,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B,0x3B,0x46,0x4F,0x4E,0x54
+,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46
+,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x57,0x49,0x44
+,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x32
+,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F,0x4E,0x3A,0x61,0x62,0x73
+,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A,0x38,0x32,0x70,0x78,0x22
+,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x53,0x61,0x76,0x65,0x5F,0x74
+,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x3E,0x53,0x61,0x76,0x65,0x3C
+,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20
+,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x22,0x3E
+,0x0D,0x0A,0x3C,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x20,0x69,0x64,0x3D,0x22
+,0x72,0x65,0x73,0x75,0x6C,0x74,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x22,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x35
+,0x30,0x22,0x20,0x72,0x6F,0x77,0x73,0x3D,0x22,0x32,0x30,0x22,0x20,0x70,0x6C,0x61
+,0x63,0x65,0x68,0x6F,0x6C,0x64,0x65,0x72,0x3D,0x22,0x22,0x20,0x76,0x61,0x6C,0x75
+,0x65,0x3D,0x22,0x22,0x3E,0x3C,0x2F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x3E
+,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72,0x6D,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D
+,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74
+,0x3E,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F
+,0x64,0x69,0x72,0x5F,0x69,0x6E,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20
+,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x69,0x66,0x20,0x28
+,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D
+,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x64,0x69,0x72,0x5F,0x69
+,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75
+,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61
+,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45,0x4E,0x44
+,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
+,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x64,0x69,0x72,0x5F
+,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
+,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
+,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x72,0x63,0x76
+,0x5F,0x74,0x65,0x78,0x74,0x20,0x3D,0x20,0x74,0x65,0x72,0x6D,0x2E,0x72,0x75,0x6E
+,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D
+,0x0A,0x09,0x09,0x69,0x66,0x20,0x28,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x20
+,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09
+,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72
+,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75
+,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A
+,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
+,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
+,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74
+,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
+,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
+,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E
+,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F,0x66
+,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
+,0x20,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22
+,0x66,0x69,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x29,0x2E,0x66,0x69
+,0x6C,0x65,0x73,0x5B,0x30,0x5D,0x3B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20,0x72,0x65
+,0x61,0x64,0x65,0x72,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x46,0x69,0x6C,0x65,0x52
+,0x65,0x61,0x64,0x65,0x72,0x28,0x29,0x3B,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65
+,0x72,0x2E,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x65,0x76,0x74,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x76,0x61
+,0x72,0x20,0x73,0x74,0x72,0x20,0x3D,0x20,0x65,0x76,0x74,0x2E,0x74,0x61,0x72,0x67
+,0x65,0x74,0x2E,0x72,0x65,0x73,0x75,0x6C,0x74,0x3B,0x0D,0x0A,0x09,0x09,0x76,0x61
+,0x72,0x20,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x73,0x74,0x72
+,0x2E,0x73,0x70,0x6C,0x69,0x74,0x28,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x29,0x3B,0x0D
+,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x63,0x6E,0x74,0x20,0x3D,0x20,0x30,0x3B,0x0D
+,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20
+,0x3D,0x20,0x30,0x3B,0x0D,0x0A,0x09,0x09,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x28
+,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D
+,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x73,0x6E,0x64,0x5F,0x64
+,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
+,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45
+,0x4E,0x44,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74
+,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x73
+,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x3B,0x0D,0x0A,0x09
+,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66
+,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61
+,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A
+,0x09,0x09,0x09,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x74,0x65
+,0x72,0x6D,0x2E,0x72,0x75,0x6E,0x28,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B
+,0x63,0x6E,0x74,0x5D,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x69,0x66,0x20,0x28,0x72
+,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22
+,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F
+,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B
+,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
+,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
+,0x3D,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x3B,0x0D,0x0A,0x09,0x09,0x09
+,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F
+,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C
+,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09
+,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x09,0x09,0x63,0x6E,0x74,0x2B,0x2B,0x3B,0x0D,0x0A
+,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65,0x72
+,0x2E,0x72,0x65,0x61,0x64,0x41,0x73,0x54,0x65,0x78,0x74,0x28,0x6F,0x62,0x6A,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x20,0x43,0x6C,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B
+,0x0D,0x0A,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
+,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
+,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x22,0x22,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53,0x61,0x76,0x65,0x5F,0x74
+,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
+,0x20,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
+,0x42,0x6C,0x6F,0x62,0x28,0x5B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
+,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
+,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x5D,0x2C,0x20,0x7B,0x74,0x79,0x70,0x65,0x3A
+,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x7D,0x29,0x3B,0x0D
+,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x44,0x65,0x74,0x65,0x72,0x6D,0x69,0x6E,0x65
+,0x73,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09
+,0x69,0x66,0x20,0x28,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D,0x73
+,0x53,0x61,0x76,0x65,0x42,0x6C,0x6F,0x62,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C
+,0x21,0x2D,0x2D,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x09,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D
+,0x73,0x53,0x61,0x76,0x65,0x4F,0x72,0x4F,0x70,0x65,0x6E,0x42,0x6C,0x6F,0x62,0x28
+,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x2C,0x20,0x27,0x63,0x6F,0x6D,0x6D,0x5F
+,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x20,0x65
+,0x6C,0x73,0x65,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x45,0x78
+,0x70,0x65,0x63,0x74,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09,0x09,0x76
+,0x61,0x72,0x20,0x61,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x63,0x72,0x65,0x61,0x74,0x65,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x28,0x27,0x61
+,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x61,0x2E,0x68,0x72,0x65,0x66,0x20,0x3D,0x20
+,0x55,0x52,0x4C,0x2E,0x63,0x72,0x65,0x61,0x74,0x65,0x4F,0x62,0x6A,0x65,0x63,0x74
+,0x55,0x52,0x4C,0x28,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x29,0x3B,0x0D,0x0A
+,0x09,0x09,0x61,0x2E,0x73,0x65,0x74,0x41,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65
+,0x28,0x27,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x27,0x2C,0x20,0x27,0x63,0x6F
+,0x6D,0x6D,0x5F,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09
+,0x09,0x61,0x2E,0x64,0x69,0x73,0x70,0x61,0x74,0x63,0x68,0x45,0x76,0x65,0x6E,0x74
+,0x28,0x6E,0x65,0x77,0x20,0x43,0x75,0x73,0x74,0x6F,0x6D,0x45,0x76,0x65,0x6E,0x74
+,0x28,0x27,0x63,0x6C,0x69,0x63,0x6B,0x27,0x29,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x0D
+,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
+,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74
+,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char web_top_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x54,0x6F,0x70
+,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C
+,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x73,0x65
+,0x74,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x32,0x30,0x25,0x2C,0x38,0x30,0x25,0x22
+,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D
+,0x65,0x6E,0x75,0x2E,0x68,0x74,0x6D,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D
+,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74
+,0x6D,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65
+,0x22,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E
+,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x59,0x6F,0x75
+,0x20,0x63,0x61,0x6E,0x20,0x6E,0x6F,0x74,0x20,0x76,0x69,0x65,0x77,0x20,0x74,0x68
+,0x69,0x73,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x73,0x69,0x6E,0x63,0x65,0x20
+,0x74,0x68,0x65,0x20,0x66,0x72,0x61,0x6D,0x65,0x20,0x6F,0x66,0x20,0x75,0x6E,0x73
+,0x75,0x70,0x70,0x6F,0x72,0x74,0x65,0x64,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72
+,0x2E,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
+,0x3C,0x2F,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E,0x0D,0x0A,0x3C,0x2F,0x66
+,0x72,0x61,0x6D,0x65,0x73,0x65,0x74,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C
+,0x3E,0x0D,0x0A
+};
+
+static const char menu_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52,0x2D
+,0x50,0x45,0x41,0x43,0x48,0x20,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x74,0x69,0x74,0x6C
+,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F
+,0x64,0x79,0x20,0x62,0x67,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x22,0x23,0x46,0x46,0x46
+,0x41,0x46,0x41,0x22,0x3E,0x0D,0x0A,0x3C,0x43,0x45,0x4E,0x54,0x45,0x52,0x3E,0x0D
+,0x0A,0x3C,0x50,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
+,0x34,0x22,0x3E,0x3C,0x42,0x3E,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x42,0x3E,0x3C,0x2F
+,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x2F,0x50,0x3E,0x0D,0x0A,0x3C,0x2F,0x43,0x45,0x4E
+,0x54,0x45,0x52,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x70,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
+,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
+,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
+,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72
+,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x54,0x6F
+,0x70,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
+,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22
+,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C
+,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2E,0x68
+,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69
+,0x6B,0x61,0x65,0x22,0x3E,0x57,0x65,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C
+,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
+,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
+,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
+,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
+,0x22,0x69,0x32,0x63,0x5F,0x73,0x65,0x74,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61
+,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x53
+,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x61
+,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74
+,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20
+,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30
+,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x6C
+,0x65,0x64,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22
+,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F
+,0x4F,0x66,0x66,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F
+,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64
+,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
+};
+
+static const char window_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52,0x2D
+,0x50,0x45,0x41,0x43,0x48,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x3C,0x2F,0x74,0x69
+,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C
+,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20
+,0x73,0x69,0x7A,0x65,0x3D,0x22,0x31,0x35,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20
+,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30
+,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62,0x3E,0x47,0x52,0x2D,0x50,0x45,0x41,0x43
+,0x48,0x20,0x41,0x75,0x64,0x69,0x6F,0x2F,0x43,0x61,0x6D,0x65,0x72,0x61,0x20,0x53
+,0x68,0x69,0x65,0x6C,0x64,0x20,0x53,0x61,0x6D,0x70,0x6C,0x65,0x3C,0x2F,0x62,0x3E
+,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x54,0x68
+,0x69,0x73,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61
+,0x6D,0x20,0x75,0x73,0x69,0x6E,0x67,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43,0x48
+,0x20,0x61,0x6E,0x64,0x20,0x41,0x75,0x64,0x69,0x6F,0x2F,0x43,0x61,0x6D,0x65,0x72
+,0x61,0x20,0x53,0x68,0x69,0x65,0x6C,0x64,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x57
+,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x74,0x68
+,0x65,0x20,0x4D,0x65,0x6E,0x75,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x6C,0x65
+,0x66,0x74,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x64
+,0x69,0x73,0x70,0x6C,0x61,0x79,0x65,0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x69,0x73
+,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x49,0x74,0x20,0x73,0x68,0x6F,0x77,0x73,0x20,0x74,0x68,0x65
+,0x20,0x6F,0x76,0x65,0x72,0x76,0x69,0x65,0x77,0x20,0x6F,0x66,0x20,0x65,0x61,0x63
+,0x68,0x20,0x6C,0x69,0x6E,0x6B,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72
+,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x73,0x74,0x79,0x6C,0x65,0x20
+,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x63,0x73,0x73,0x22,0x3E
+,0x0D,0x0A,0x2E,0x74,0x61,0x62,0x6C,0x65,0x20,0x74,0x68,0x20,0x7B,0x0D,0x0A,0x20
+,0x20,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F
+,0x72,0x3A,0x20,0x23,0x65,0x36,0x66,0x66,0x65,0x39,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x74,0x61,0x62,0x6C,0x65
+,0x20,0x63,0x6C,0x61,0x73,0x73,0x3D,0x22,0x74,0x61,0x62,0x6C,0x65,0x22,0x20,0x62
+,0x6F,0x72,0x64,0x65,0x72,0x3D,0x31,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A
+,0x3C,0x74,0x68,0x3E,0x4C,0x69,0x6E,0x6B,0x73,0x3C,0x2F,0x74,0x68,0x3E,0x3C,0x74
+,0x68,0x3E,0x4F,0x76,0x65,0x72,0x76,0x69,0x65,0x77,0x3C,0x2F,0x74,0x68,0x3E,0x0D
+,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74
+,0x64,0x3E,0x54,0x6F,0x70,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x74,0x64,0x3E,0x3C
+,0x74,0x64,0x3E,0x49,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x74,0x75,0x72
+,0x6E,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x74,0x6F,0x70,0x20,0x70,0x61,0x67
+,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74
+,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x57,0x65
+,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64
+,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x74,0x68
+,0x65,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x61,0x63,0x71,0x75,0x69,0x72,0x65,0x64
+,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x63,0x61,0x6D,0x65,0x72,0x61,0x20,0x6F
+,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F,0x77,0x73,0x65
+,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49,0x74,0x20,0x63,0x61,0x6E,0x20,0x62
+,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20,0x61,0x74,0x20,0x61,0x20,0x73
+,0x6C,0x69,0x64,0x65,0x72,0x20,0x62,0x61,0x72,0x20,0x69,0x6E,0x20,0x22,0x57,0x61
+,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x22,0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x20
+,0x74,0x69,0x6D,0x69,0x6E,0x67,0x20,0x6F,0x66,0x20,0x61,0x20,0x72,0x65,0x6E,0x65
+,0x77,0x61,0x6C,0x20,0x6F,0x66,0x20,0x61,0x20,0x63,0x61,0x6D,0x65,0x72,0x61,0x20
+,0x70,0x69,0x63,0x74,0x75,0x72,0x65,0x2E,0x20,0x28,0x44,0x65,0x66,0x61,0x75,0x6C
+,0x74,0x73,0x20,0x61,0x72,0x65,0x20,0x35,0x30,0x30,0x6D,0x73,0x2E,0x29,0x3C,0x2F
+,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E
+,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x53,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79
+,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20
+,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x49,0x32,0x43,0x20,0x73,0x65
+,0x74,0x74,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62
+,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49
+,0x6E,0x20,0x49,0x32,0x43,0x20,0x63,0x6F,0x6D,0x6D,0x75,0x6E,0x69,0x63,0x61,0x74
+,0x69,0x6F,0x6E,0x2C,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43,0x48,0x20,0x65,0x78
+,0x65,0x63,0x75,0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x73,0x65,0x74,0x74,0x69
+,0x6E,0x67,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x65,0x76,0x69,0x63
+,0x65,0x73,0x20,0x63,0x6F,0x6E,0x6E,0x65,0x63,0x74,0x65,0x64,0x20,0x74,0x6F,0x20
+,0x49,0x32,0x43,0x5F,0x53,0x43,0x41,0x20,0x74,0x65,0x72,0x6D,0x69,0x6E,0x61,0x6C
+,0x20,0x61,0x6E,0x64,0x20,0x49,0x32,0x43,0x5F,0x53,0x43,0x4C,0x20,0x74,0x65,0x72
+,0x6D,0x69,0x6E,0x61,0x6C,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x4F,0x6E,0x20,0x74
+,0x68,0x65,0x20,0x62,0x61,0x73,0x69,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20
+,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2C,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43
+,0x48,0x20,0x61,0x63,0x63,0x65,0x73,0x73,0x65,0x73,0x20,0x74,0x6F,0x20,0x72,0x65
+,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x64
+,0x65,0x76,0x69,0x63,0x65,0x73,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x59,0x6F,0x75
+,0x20,0x63,0x61,0x6E,0x20,0x73,0x65,0x6E,0x64,0x20,0x74,0x68,0x65,0x20,0x63,0x6F
+,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x70,0x65
+,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x69,0x6E
+,0x20,0x6F,0x6E,0x65,0x20,0x6F,0x66,0x20,0x74,0x77,0x6F,0x20,0x70,0x61,0x74,0x74
+,0x65,0x72,0x6E,0x73,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D
+,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x44,0x69
+,0x72,0x65,0x63,0x74,0x6C,0x20,0x69,0x6E,0x70,0x75,0x74,0x22,0x20,0x6F,0x72,0x20
+,0x22,0x46,0x69,0x6C,0x65,0x20,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x22
+,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x63,0x72
+,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x61
+,0x6C,0x6F,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20
+,0x61,0x66,0x74,0x65,0x72,0x20,0x79,0x6F,0x75,0x20,0x63,0x68,0x65,0x63,0x6B,0x20
+,0x74,0x68,0x65,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6F
+,0x6E,0x73,0x20,0x6F,0x66,0x20,0x65,0x61,0x63,0x68,0x20,0x64,0x65,0x76,0x69,0x63
+,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x54,0x68,0x65,0x20,0x66,0x6F,0x72,0x6D
+,0x61,0x74,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E
+,0x64,0x20,0x69,0x73,0x3A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70
+,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x4D,0x65,0x74,0x68,0x6F,0x64,0x3A,0x49,0x32
+,0x43,0x20,0x61,0x64,0x64,0x72,0x2C,0x64,0x61,0x74,0x61,0x20,0x6C,0x65,0x6E,0x67
+,0x74,0x68,0x2C,0x64,0x61,0x74,0x61,0x31,0x2C,0x64,0x61,0x74,0x61,0x32,0x2C,0x64
+,0x61,0x74,0x61,0x33,0x2C,0x2E,0x2E,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x4D,0x65,0x74,0x68,0x6F,0x64,0x20,0x69,0x73,0x20,0x62,0x65
+,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B
+,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x57,0x72,0x22
+,0x69,0x73,0x20,0x57,0x72,0x69,0x74,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F
+,0x6E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62
+,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x52,0x64,0x22,0x20,0x69,0x73
+,0x20,0x52,0x65,0x61,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B
+,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x57,0x72,0x4E,0x6F,0x70,0x22,0x20,0x69,0x73
+,0x20,0x57,0x72,0x69,0x74,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28
+,0x4E,0x6F,0x20,0x53,0x54,0x4F,0x50,0x20,0x63,0x6F,0x6E,0x64,0x69,0x74,0x69,0x6F
+,0x6E,0x29,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E
+,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x52,0x64,0x4E,0x6F,0x70
+,0x22,0x20,0x69,0x73,0x20,0x52,0x65,0x61,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69
+,0x6F,0x6E,0x28,0x4E,0x6F,0x20,0x53,0x54,0x4F,0x50,0x20,0x63,0x6F,0x6E,0x64,0x69
+,0x74,0x69,0x6F,0x6E,0x29,0x3C,0x62,0x72,0x3E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A
+,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64
+,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F,0x4F,0x66,0x66,0x3C,0x2F,0x74,0x64,0x3E
+,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73
+,0x20,0x4C,0x45,0x44,0x31,0x2C,0x20,0x4C,0x45,0x44,0x32,0x20,0x61,0x6E,0x64,0x20
+,0x4C,0x45,0x44,0x33,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x74,0x6F,0x67,0x67
+,0x6C,0x65,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65
+,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72
+,0x3E,0x0D,0x0A,0x45,0x61,0x63,0x68,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x69
+,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72
+,0x72,0x65,0x6E,0x74,0x20,0x4C,0x45,0x44,0x20,0x73,0x74,0x61,0x74,0x65,0x2E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x4C,0x45,0x44,0x20,0x4F,0x4E,0x20,0x61,0x6E,0x64,0x20
+,0x4F,0x46,0x46,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x65,0x73,0x20,0x77,0x68,0x65
+,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x74,0x68,0x65,0x20
+,0x73,0x77,0x69,0x74,0x63,0x68,0x2E,0x20,0x57,0x68,0x65,0x6E,0x20,0x74,0x68,0x65
+,0x20,0x4C,0x45,0x44,0x20,0x69,0x73,0x20,0x4F,0x4E,0x2C,0x20,0x74,0x68,0x65,0x20
+,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x77,0x69
+,0x74,0x63,0x68,0x20,0x77,0x69,0x6C,0x6C,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20
+,0x74,0x68,0x65,0x20,0x4C,0x45,0x44,0x20,0x63,0x6F,0x6C,0x6F,0x72,0x2E,0x3C,0x2F
+,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x61
+,0x62,0x6C,0x65,0x3E,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79
+,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
+};
+
--- a/main.cpp	Thu Jul 13 04:19:35 2017 +0000
+++ b/main.cpp	Tue Dec 25 09:57:54 2018 +0000
@@ -1,20 +1,19 @@
 #include "mbed.h"
-#include "DisplayBace.h"
-#include "rtos.h"
+#include "EasyAttach_CameraAndLCD.h"
+#include "dcache-control.h"
 #include "JPEG_Converter.h"
 #include "HTTPServer.h"
 #include "mbed_rpc.h"
 #include "FATFileSystem.h"
 #include "RomRamBlockDevice.h"
-#include "file_table.h"        //Binary data of web pages
+#include "SDBlockDevice_GRBoard.h"
+#if defined(TARGET_RZ_A1H)
+#include "file_table_peach.h"         //Binary data of web pages
+#elif defined(TARGET_GR_LYCHEE)
+#include "file_table_lychee.h"        //Binary data of web pages
+#endif
 #include "i2c_setting.h"
 
-#define VIDEO_CVBS             (0)                 /* Analog  Video Signal */
-#define VIDEO_CMOS_CAMERA      (1)                 /* Digital Video Signal */
-#define VIDEO_YCBCR422         (0)
-#define VIDEO_RGB888           (1)
-#define VIDEO_RGB565           (2)
-
 /**** User Selection *********/
 /** Network setting **/
 #define USE_DHCP               (1)                 /* Select  0(static configuration) or 1(use DHCP) */
@@ -23,73 +22,75 @@
   #define SUBNET_MASK          ("255.255.255.0")   /* Subnet mask     */
   #define DEFAULT_GATEWAY      ("192.168.0.3")     /* Default gateway */
 #endif
-#define NETWORK_TYPE           (0)                 /* Select  0(EthernetInterface) or 1(GR_PEACH_WlanBP3595) */
-#if (NETWORK_TYPE == 1)
+#define NETWORK_TYPE           (0)                 /* Select  0(Ethernet), 1(BP3595), 2(ESP32 STA) ,3(ESP32 AP) */
+#if (NETWORK_TYPE >= 1)
   #define SCAN_NETWORK         (1)                 /* Select  0(Use WLAN_SSID, WLAN_PSK, WLAN_SECURITY) or 1(To select a network using the terminal.) */
   #define WLAN_SSID            ("SSIDofYourAP")    /* SSID */
   #define WLAN_PSK             ("PSKofYourAP")     /* PSK(Pre-Shared Key) */
   #define WLAN_SECURITY        NSAPI_SECURITY_WPA_WPA2 /* NSAPI_SECURITY_NONE, NSAPI_SECURITY_WEP, NSAPI_SECURITY_WPA, NSAPI_SECURITY_WPA2 or NSAPI_SECURITY_WPA_WPA2 */
 #endif
-/** Camera setting **/
-#define VIDEO_INPUT_METHOD     (VIDEO_CMOS_CAMERA) /* Select  VIDEO_CVBS or VIDEO_CMOS_CAMERA                       */
-#define VIDEO_INPUT_FORMAT     (VIDEO_YCBCR422)    /* Select  VIDEO_YCBCR422 or VIDEO_RGB888 or VIDEO_RGB565        */
-#define USE_VIDEO_CH           (0)                 /* Select  0 or 1            If selecting VIDEO_CMOS_CAMERA, should be 0.)               */
-#define VIDEO_PAL              (0)                 /* Select  0(NTSC) or 1(PAL) If selecting VIDEO_CVBS, this parameter is not referenced.) */
+/** JPEG out setting **/
+#define JPEG_ENCODE_QUALITY    (75)                /* JPEG encode quality (min:1, max:75 (Considering the size of JpegBuffer, about 75 is the upper limit.)) */
+#define VFIELD_INT_SKIP_CNT    (0)                 /* A guide for GR-LYCHEE.  0:60fps, 1:30fps, 2:20fps, 3:15fps, 4:12fps, 5:10fps */
 /*****************************/
 
-#if USE_VIDEO_CH == (0)
-#define VIDEO_INPUT_CH         (DisplayBase::VIDEO_INPUT_CHANNEL_0)
-#define VIDEO_INT_TYPE         (DisplayBase::INT_TYPE_S0_VFIELD)
-#else
-#define VIDEO_INPUT_CH         (DisplayBase::VIDEO_INPUT_CHANNEL_1)
-#define VIDEO_INT_TYPE         (DisplayBase::INT_TYPE_S1_VFIELD)
-#endif
-
-#if ( VIDEO_INPUT_FORMAT == VIDEO_YCBCR422 || VIDEO_INPUT_FORMAT == VIDEO_RGB565 )
-#define DATA_SIZE_PER_PIC      (2u)
-#else
-#define DATA_SIZE_PER_PIC      (4u)
-#endif
-
-/*! Frame buffer stride: Frame buffer stride should be set to a multiple of 32 or 128
-    in accordance with the frame buffer burst transfer mode. */
-#define PIXEL_HW               (320u)  /* QVGA */
-#define PIXEL_VW               (240u)  /* QVGA */
-
-#define VIDEO_BUFFER_STRIDE    (((PIXEL_HW * DATA_SIZE_PER_PIC) + 31u) & ~31u)
-#define VIDEO_BUFFER_HEIGHT    (PIXEL_VW)
-
 #if (NETWORK_TYPE == 0)
   #include "EthernetInterface.h"
   EthernetInterface network;
 #elif (NETWORK_TYPE == 1)
-  #include "LWIPBP3595Interface.h"
-  LWIPBP3595Interface network;
-  DigitalOut usb1en(P3_8);
+  #error "Not supported"
+#elif (NETWORK_TYPE == 2)
+  #include "ESP32Interface.h"
+  #if defined(TARGET_RZ_A1H)
+    ESP32Interface network(P3_10, P3_9, P2_14, P2_15);
+  #elif defined(TARGET_GR_LYCHEE)
+    ESP32Interface network(P5_3, P3_14, P7_1, P0_1);
+  #endif
+#elif (NETWORK_TYPE == 3)
+  #include "ESP32InterfaceAP.h"
+  #if defined(TARGET_RZ_A1H)
+    ESP32InterfaceAP network(P3_10, P3_9, P2_14, P2_15);
+  #elif defined(TARGET_GR_LYCHEE)
+    ESP32InterfaceAP network(P5_3, P3_14, P7_1, P0_1);
+  #endif
 #else
   #error NETWORK_TYPE error
 #endif /* NETWORK_TYPE */
-FATFileSystem fs("storage");
-RomRamBlockDevice romram_bd(512000, 512);
-Serial pc(USBTX, USBRX);
+
+/* Video input and LCD layer 0 output */
+#define VIDEO_FORMAT           (DisplayBase::VIDEO_FORMAT_YCBCR422)
+#define GRAPHICS_FORMAT        (DisplayBase::GRAPHICS_FORMAT_YCBCR422)
+#define WR_RD_WRSWA            (DisplayBase::WR_RD_WRSWA_32_16BIT)
+#define DATA_SIZE_PER_PIC      (2u)
+
+/*! Frame buffer stride: Frame buffer stride should be set to a multiple of 32 or 128
+    in accordance with the frame buffer burst transfer mode. */
+#define VIDEO_PIXEL_HW         (320u)  /* QVGA */
+#define VIDEO_PIXEL_VW         (240u)  /* QVGA */
+
+#define FRAME_BUFFER_STRIDE    (((VIDEO_PIXEL_HW * DATA_SIZE_PER_PIC) + 31u) & ~31u)
+#define FRAME_BUFFER_HEIGHT    (VIDEO_PIXEL_VW)
+
+DisplayBase Display;
 
 #if defined(__ICCARM__)
-#pragma data_alignment=16
-static uint8_t FrameBuffer_Video[VIDEO_BUFFER_STRIDE * VIDEO_BUFFER_HEIGHT]@ ".mirrorram";  //16 bytes aligned!;
-#pragma data_alignment=4
+#pragma data_alignment=32
+static uint8_t user_frame_buffer0[FRAME_BUFFER_STRIDE * FRAME_BUFFER_HEIGHT]@ ".mirrorram";
 #else
-static uint8_t FrameBuffer_Video[VIDEO_BUFFER_STRIDE * VIDEO_BUFFER_HEIGHT]__attribute((section("NC_BSS"),aligned(16)));  //16 bytes aligned!;
+static uint8_t user_frame_buffer0[FRAME_BUFFER_STRIDE * FRAME_BUFFER_HEIGHT]__attribute((section("NC_BSS"),aligned(32)));
 #endif
-static volatile int32_t vsync_count = 0;
-#if VIDEO_INPUT_METHOD == VIDEO_CVBS
-static volatile int32_t vfield_count = 1;
-#endif
+
+FATFileSystem fs("storage");
+RomRamBlockDevice romram_bd(512000, 512);
+SDBlockDevice_GRBoard sd;
+Serial pc(USBTX, USBRX);
+Thread sdConnectTask;
+
 #if defined(__ICCARM__)
-#pragma data_alignment=8
-static uint8_t JpegBuffer[2][1024 * 50]@ ".mirrorram";  //8 bytes aligned!;
-#pragma data_alignment=4
+#pragma data_alignment=32
+static uint8_t JpegBuffer[2][1024 * 64];
 #else
-static uint8_t JpegBuffer[2][1024 * 50]__attribute((section("NC_BSS"),aligned(8)));  //8 bytes aligned!;
+static uint8_t JpegBuffer[2][1024 * 64]__attribute((aligned(32)));
 #endif
 static size_t jcu_encode_size[2];
 static int image_change = 0;
@@ -98,200 +99,22 @@
 static int jcu_buf_index_write_done = 0;
 static int jcu_buf_index_read = 0;
 static int jcu_encoding = 0;
+static int Vfield_Int_Cnt = 0;
 static char i2c_setting_str_buf[I2C_SETTING_STR_BUF_SIZE];
 
 static void JcuEncodeCallBackFunc(JPEG_Converter::jpeg_conv_error_t err_code) {
-    jcu_buf_index_write_done = jcu_buf_index_write;
-    image_change = 1;
-    jcu_encoding = 0;
-}
-
-static void IntCallbackFunc_Vfield(DisplayBase::int_type_t int_type) {
-    //Interrupt callback function
-#if VIDEO_INPUT_METHOD == VIDEO_CVBS
-    if (vfield_count != 0) {
-        vfield_count = 0;
-    } else {
-        vfield_count = 1;
-#else
-    {
-#endif
-        JPEG_Converter::bitmap_buff_info_t bitmap_buff_info;
-        JPEG_Converter::encode_options_t   encode_options;
-
-        bitmap_buff_info.width          = PIXEL_HW;
-        bitmap_buff_info.height         = PIXEL_VW;
-        bitmap_buff_info.format         = JPEG_Converter::WR_RD_YCbCr422;
-        bitmap_buff_info.buffer_address = (void *)FrameBuffer_Video;
-
-        encode_options.encode_buff_size = sizeof(JpegBuffer[0]);
-        encode_options.p_EncodeCallBackFunc = &JcuEncodeCallBackFunc;
-
-        jcu_encoding = 1;
-        if (jcu_buf_index_read == jcu_buf_index_write) {
-            if (jcu_buf_index_write != 0) {
-                jcu_buf_index_write = 0;
-            } else {
-                jcu_buf_index_write = 1;
-            }
-        }
-        jcu_encode_size[jcu_buf_index_write] = 0;
-        if (Jcu.encode(&bitmap_buff_info, JpegBuffer[jcu_buf_index_write], &jcu_encode_size[jcu_buf_index_write], &encode_options) != JPEG_Converter::JPEG_CONV_OK) {
-            jcu_encode_size[jcu_buf_index_write] = 0;
-            jcu_encoding = 0;
-        }
-    }
-}
-
-static void IntCallbackFunc_Vsync(DisplayBase::int_type_t int_type) {
-    //Interrupt callback function for Vsync interruption
-    if (vsync_count > 0) {
-        vsync_count--;
-    }
-}
-
-static void WaitVsync(const int32_t wait_count) {
-    //Wait for the specified number of times Vsync occurs
-    vsync_count = wait_count;
-    while (vsync_count > 0) {
-        /* Do nothing */
-    }
-}
-
-static void camera_start(void) {
-    DisplayBase::graphics_error_t error;
-
-#if VIDEO_INPUT_METHOD == VIDEO_CMOS_CAMERA
-    DisplayBase::video_ext_in_config_t ext_in_config;
-    PinName cmos_camera_pin[11] = {
-        /* data pin */
-        P2_7, P2_6, P2_5, P2_4, P2_3, P2_2, P2_1, P2_0,
-        /* control pin */
-        P10_0,      /* DV0_CLK   */
-        P1_0,       /* DV0_Vsync */
-        P1_1        /* DV0_Hsync */
-    };
-#endif
-
-    /* Create DisplayBase object */
-    DisplayBase Display;
-
-    /* Graphics initialization process */
-    error = Display.Graphics_init(NULL);
-    if (error != DisplayBase::GRAPHICS_OK) {
-        printf("Line %d, error %d\n", __LINE__, error);
-        while (1);
-    }
-
-#if VIDEO_INPUT_METHOD == VIDEO_CVBS
-    error = Display.Graphics_Video_init( DisplayBase::INPUT_SEL_VDEC, NULL);
-    if( error != DisplayBase::GRAPHICS_OK ) {
-        printf("Line %d, error %d\n", __LINE__, error);
-        while(1);
+    if (err_code == JPEG_Converter::JPEG_CONV_OK) {
+        jcu_buf_index_write_done = jcu_buf_index_write;
+        image_change = 1;
     }
-
-#elif VIDEO_INPUT_METHOD == VIDEO_CMOS_CAMERA
-    /* MT9V111 camera input config */
-    ext_in_config.inp_format     = DisplayBase::VIDEO_EXTIN_FORMAT_BT601; /* BT601 8bit YCbCr format */
-    ext_in_config.inp_pxd_edge   = DisplayBase::EDGE_RISING;              /* Clock edge select for capturing data          */
-    ext_in_config.inp_vs_edge    = DisplayBase::EDGE_RISING;              /* Clock edge select for capturing Vsync signals */
-    ext_in_config.inp_hs_edge    = DisplayBase::EDGE_RISING;              /* Clock edge select for capturing Hsync signals */
-    ext_in_config.inp_endian_on  = DisplayBase::OFF;                      /* External input bit endian change on/off       */
-    ext_in_config.inp_swap_on    = DisplayBase::OFF;                      /* External input B/R signal swap on/off         */
-    ext_in_config.inp_vs_inv     = DisplayBase::SIG_POL_NOT_INVERTED;     /* External input DV_VSYNC inversion control     */
-    ext_in_config.inp_hs_inv     = DisplayBase::SIG_POL_INVERTED;         /* External input DV_HSYNC inversion control     */
-    ext_in_config.inp_f525_625   = DisplayBase::EXTIN_LINE_525;           /* Number of lines for BT.656 external input */
-    ext_in_config.inp_h_pos      = DisplayBase::EXTIN_H_POS_CRYCBY;       /* Y/Cb/Y/Cr data string start timing to Hsync reference */
-    ext_in_config.cap_vs_pos     = 6;                                     /* Capture start position from Vsync */
-    ext_in_config.cap_hs_pos     = 150;                                   /* Capture start position form Hsync */
-    ext_in_config.cap_width      = 640;                                   /* Capture width  */
-    ext_in_config.cap_height     = 468u;                                  /* Capture height Max 468[line]
-                                                                             Due to CMOS(MT9V111) output signal timing and VDC5 specification */
-    error = Display.Graphics_Video_init( DisplayBase::INPUT_SEL_EXT, &ext_in_config);
-    if( error != DisplayBase::GRAPHICS_OK ) {
-        printf("Line %d, error %d\n", __LINE__, error);
-        while(1);
-    }
-
-    /* MT9V111 camera input port setting */
-    error = Display.Graphics_Dvinput_Port_Init(cmos_camera_pin, 11);
-    if( error != DisplayBase::GRAPHICS_OK ) {
-        printf("Line %d, error %d\n", __LINE__, error);
-        while (1);
-    }
-#endif
-
-    /* Interrupt callback function setting (Vsync signal input to scaler 0) */
-    error = Display.Graphics_Irq_Handler_Set(DisplayBase::INT_TYPE_S0_VI_VSYNC, 0, IntCallbackFunc_Vsync);
-    if (error != DisplayBase::GRAPHICS_OK) {
-        printf("Line %d, error %d\n", __LINE__, error);
-        while (1);
-    }
-    /* Video capture setting (progressive form fixed) */
-    error = Display.Video_Write_Setting(
-                VIDEO_INPUT_CH,
-#if VIDEO_PAL == 0
-                DisplayBase::COL_SYS_NTSC_358,
-#else
-                DisplayBase::COL_SYS_PAL_443,
-#endif
-                FrameBuffer_Video,
-                VIDEO_BUFFER_STRIDE,
-#if VIDEO_INPUT_FORMAT == VIDEO_YCBCR422
-                DisplayBase::VIDEO_FORMAT_YCBCR422,
-                DisplayBase::WR_RD_WRSWA_NON,
-#elif VIDEO_INPUT_FORMAT == VIDEO_RGB565
-                DisplayBase::VIDEO_FORMAT_RGB565,
-                DisplayBase::WR_RD_WRSWA_32_16BIT,
-#else
-                DisplayBase::VIDEO_FORMAT_RGB888,
-                DisplayBase::WR_RD_WRSWA_32BIT,
-#endif
-                PIXEL_VW,
-                PIXEL_HW
-            );
-    if (error != DisplayBase::GRAPHICS_OK) {
-        printf("Line %d, error %d\n", __LINE__, error);
-        while (1);
-    }
-
-    /* Interrupt callback function setting (Field end signal for recording function in scaler 0) */
-    error = Display.Graphics_Irq_Handler_Set(VIDEO_INT_TYPE, 0, IntCallbackFunc_Vfield);
-    if (error != DisplayBase::GRAPHICS_OK) {
-        printf("Line %d, error %d\n", __LINE__, error);
-        while (1);
-    }
-
-    /* Video write process start */
-    error = Display.Video_Start (VIDEO_INPUT_CH);
-    if (error != DisplayBase::GRAPHICS_OK) {
-        printf("Line %d, error %d\n", __LINE__, error);
-        while (1);
-    }
-
-    /* Video write process stop */
-    error = Display.Video_Stop (VIDEO_INPUT_CH);
-    if (error != DisplayBase::GRAPHICS_OK) {
-        printf("Line %d, error %d\n", __LINE__, error);
-        while (1);
-    }
-
-    /* Video write process start */
-    error = Display.Video_Start (VIDEO_INPUT_CH);
-    if (error != DisplayBase::GRAPHICS_OK) {
-        printf("Line %d, error %d\n", __LINE__, error);
-        while (1);
-    }
-
-    /* Wait vsync to update resister */
-    WaitVsync(1);
+    jcu_encoding = 0;
 }
 
 static int snapshot_req(const char ** pp_data) {
     int encode_size;
 
     while ((jcu_encoding == 1) || (image_change == 0)) {
-        Thread::wait(1);
+        ThisThread::sleep_for(1);
     }
     jcu_buf_index_read = jcu_buf_index_write_done;
     image_change = 0;
@@ -302,6 +125,56 @@
     return encode_size;
 }
 
+static void IntCallbackFunc_Vfield(DisplayBase::int_type_t int_type) {
+    if (Vfield_Int_Cnt < VFIELD_INT_SKIP_CNT) {
+        Vfield_Int_Cnt++;
+        return;
+    }
+    Vfield_Int_Cnt = 0;
+
+    //Interrupt callback function
+    if (jcu_encoding == 0) {
+        JPEG_Converter::bitmap_buff_info_t bitmap_buff_info;
+        JPEG_Converter::encode_options_t   encode_options;
+
+        bitmap_buff_info.width              = VIDEO_PIXEL_HW;
+        bitmap_buff_info.height             = VIDEO_PIXEL_VW;
+        bitmap_buff_info.format             = JPEG_Converter::WR_RD_YCbCr422;
+        bitmap_buff_info.buffer_address     = (void *)user_frame_buffer0;
+
+        encode_options.encode_buff_size     = sizeof(JpegBuffer[0]);
+        encode_options.p_EncodeCallBackFunc = &JcuEncodeCallBackFunc;
+        encode_options.input_swapsetting    = JPEG_Converter::WR_RD_WRSWA_32_16_8BIT;
+
+        jcu_encoding = 1;
+        if (jcu_buf_index_read == jcu_buf_index_write) {
+            jcu_buf_index_write ^= 1;  // toggle
+        }
+        jcu_encode_size[jcu_buf_index_write] = 0;
+        dcache_invalid(JpegBuffer[jcu_buf_index_write], sizeof(JpegBuffer[0]));
+        if (Jcu.encode(&bitmap_buff_info, JpegBuffer[jcu_buf_index_write],
+            &jcu_encode_size[jcu_buf_index_write], &encode_options) != JPEG_Converter::JPEG_CONV_OK) {
+            jcu_encode_size[jcu_buf_index_write] = 0;
+            jcu_encoding = 0;
+        }
+    }
+}
+
+static void Start_Video_Camera(void) {
+    // Video capture setting (progressive form fixed)
+    Display.Video_Write_Setting(
+        DisplayBase::VIDEO_INPUT_CHANNEL_0,
+        DisplayBase::COL_SYS_NTSC_358,
+        (void *)user_frame_buffer0,
+        FRAME_BUFFER_STRIDE,
+        VIDEO_FORMAT,
+        WR_RD_WRSWA,
+        VIDEO_PIXEL_VW,
+        VIDEO_PIXEL_HW
+    );
+    EasyAttach_CameraStart(Display, DisplayBase::VIDEO_INPUT_CHANNEL_0);
+}
+
 static void TerminalWrite(Arguments* arg, Reply* r) {
     if ((arg != NULL) && (r != NULL)) {
         for (int i = 0; i < arg->argc; i++) {
@@ -393,7 +266,7 @@
     }
 }
 
-#if (SCAN_NETWORK == 1)
+#if (SCAN_NETWORK == 1) && (NETWORK_TYPE != 3)
 static const char *sec2str(nsapi_security_t sec) {
     switch (sec) {
         case NSAPI_SECURITY_NONE:
@@ -416,15 +289,20 @@
     WiFiAccessPoint *ap;
     bool ret = false;
     int i;
-    int count = 8;    /* Limit number of network arbitrary to 8 */
+    int count = 10;    /* Limit number of network arbitrary to 10 */
 
     printf("Scan:\r\n");
     ap = new WiFiAccessPoint[count];
+    if (ap == NULL) {
+        printf("memory error\r\n");
+        return 0;
+    }
     count = wifi->scan(ap, count);
     for (i = 0; i < count; i++) {
-        printf("No.%d Network: %s secured: %s BSSID: %hhX:%hhX:%hhX:%hhx:%hhx:%hhx RSSI: %hhd Ch: %hhd\r\n", i, ap[i].get_ssid(),
-               sec2str(ap[i].get_security()), ap[i].get_bssid()[0], ap[i].get_bssid()[1], ap[i].get_bssid()[2],
-               ap[i].get_bssid()[3], ap[i].get_bssid()[4], ap[i].get_bssid()[5], ap[i].get_rssi(), ap[i].get_channel());
+        printf("No.%d Network: %s secured: %s BSSID: %02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx RSSI: %hhd Ch: %hhd\r\n",
+               i, ap[i].get_ssid(), sec2str(ap[i].get_security()),
+               ap[i].get_bssid()[0], ap[i].get_bssid()[1], ap[i].get_bssid()[2], ap[i].get_bssid()[3],
+               ap[i].get_bssid()[4], ap[i].get_bssid()[5], ap[i].get_rssi(), ap[i].get_channel());
     }
     printf("%d networks available.\r\n", count);
 
@@ -467,7 +345,6 @@
                         break;
                 }
             }
-            printf("connecting...\r\n");
             wifi->set_credentials(ap[select_no].get_ssid(), pass, ap[select_no].get_security());
             ret = true;
         }
@@ -479,28 +356,53 @@
 }
 #endif
 
+static void sd_connect_task(void) {
+    int storage_type = 0;
+
+    while (1) {
+        if (storage_type == 0) {
+            if (sd.connect()) {
+                fs.unmount();
+                fs.mount(&sd);
+                storage_type = 1;
+                printf("SDBlockDevice\r\n");
+            }
+        } else {
+            if (sd.connected() == false) {
+                fs.unmount();
+                fs.mount(&romram_bd);
+                storage_type = 0;
+                printf("RomRamBlockDevice\r\n");
+            }
+        }
+        ThisThread::sleep_for(250);
+    }
+}
+
 int main(void) {
     printf("********* PROGRAM START ***********\r\n");
 
-    /* Please enable this line when performing the setting from the Terminal side. */
-//    Thread thread(SetI2CfromTerm, NULL, osPriorityBelowNormal, DEFAULT_STACK_SIZE);
+    mount_romramfs();   //RomRamFileSystem Mount
+
+    sdConnectTask.start(&sd_connect_task);
 
-    mount_romramfs();   //RomRamFileSystem Mount
-    camera_start();     //Camera Start
+    EasyAttach_Init(Display);
+    Jcu.SetQuality(JPEG_ENCODE_QUALITY);
+    // Interrupt callback function setting (Field end signal for recording function in scaler 0)
+    Display.Graphics_Irq_Handler_Set(DisplayBase::INT_TYPE_S0_VFIELD, 0, IntCallbackFunc_Vfield);
+    Start_Video_Camera();
 
     RPC::add_rpc_class<RpcDigitalOut>();
-    RPC::construct<RpcDigitalOut, PinName, const char*>(LED1, "led1");
-    RPC::construct<RpcDigitalOut, PinName, const char*>(LED2, "led2");
-    RPC::construct<RpcDigitalOut, PinName, const char*>(LED3, "led3");
     RPCFunction rpcFunc(TerminalWrite, "TerminalWrite");
     RPCFunction rpcSetI2C(SetI2CfromWeb, "SetI2CfromWeb");
 
-#if (NETWORK_TYPE == 1)
+#if defined(TARGET_RZ_A1H) && (NETWORK_TYPE == 1)
     //Audio Camera Shield USB1 enable for WlanBP3595
+    DigitalOut usb1en(P3_8);
     usb1en = 1;        //Outputs high level
-    Thread::wait(5);
+    ThisThread::sleep_for(5);
     usb1en = 0;        //Outputs low level
-    Thread::wait(5);
+    ThisThread::sleep_for(5);
 #endif
 
     printf("Network Setting up...\r\n");
@@ -508,16 +410,18 @@
     network.set_dhcp(false);
     if (network.set_network(IP_ADDRESS, SUBNET_MASK, DEFAULT_GATEWAY) != 0) { //for Static IP Address (IPAddress, NetMasks, Gateway)
         printf("Network Set Network Error \r\n");
-        return -1;
     }
 #endif
-#if (NETWORK_TYPE == 1)
-#if (SCAN_NETWORK == 1)
+
+#if (NETWORK_TYPE >= 1)
+#if (SCAN_NETWORK == 1) && (NETWORK_TYPE != 3)
     while (!scan_network(&network));
 #else
     network.set_credentials(WLAN_SSID, WLAN_PSK, WLAN_SECURITY);
 #endif
 #endif
+
+    printf("\r\nConnecting...\r\n");
     if (network.connect() != 0) {
         printf("Network Connect Error \r\n");
         return -1;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-gr-libs.lib	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,1 @@
+https://github.com/d-kato/mbed-gr-libs/#e8e5994d4ac5f76c13407bec22821499e6bf0ec1
--- a/mbed-os.lib	Thu Jul 13 04:19:35 2017 +0000
+++ b/mbed-os.lib	Tue Dec 25 09:57:54 2018 +0000
@@ -1,1 +1,1 @@
-https://github.com/ARMmbed/mbed-os/#8d21974ba35e04c4854e5090c0f8283171664175
+https://github.com/ARMmbed/mbed-os/#2fd0c5cfbd83fce62da6308f9d64c0ab64e1f0d6
--- a/mbed-rpc.lib	Thu Jul 13 04:19:35 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://developer.mbed.org/teams/mbed/code/mbed-rpc/#33e21ae4d434
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/Arguments.cpp	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,142 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "mbed.h"
+#include "Arguments.h"
+#include "pinmap.h"
+
+using namespace std;
+
+namespace mbed {
+
+Arguments::Arguments(const char* rqs) {
+    obj_name = NULL;
+    method_name = NULL;
+    argc = 0;
+
+    // This copy can be removed if we can assume the request string is
+    // persistent and writable for the duration of the call
+    strcpy(request, rqs);
+
+    // Initial '/'
+    char* p = request;
+    if (*p != '/') return;
+    p++;
+
+    // Object Name
+    p = search_arg(&obj_name, p, '/');
+    if (p == NULL) return;
+
+    // Method Name
+    p = search_arg(&method_name, p, ' ');
+    if (p == NULL) return;
+
+    // Arguments
+    while (true) {
+        argv[argc] = NULL;
+        p = search_arg(&argv[argc], p, ' ');
+        if (argv[argc] != NULL) argc++;
+        if (p == NULL) break;
+    }
+
+    index = -1;
+}
+
+char* Arguments::search_arg(char **arg, char *p, char next_sep) {
+    char *s = p;
+    while (true) {
+        if ((*p == '/') || (*p == ' ') || (*p == '\n') || (*p == '\0')) break;
+        p++;
+    }
+    if (p == s) return NULL;
+    *arg = s;
+    char separator = *p;
+    *p = '\0';
+    p++;
+    return (separator == next_sep) ? (p) : (NULL);
+}
+
+template<> PinName Arguments::getArg<PinName>(void) {
+    index++;
+    return parse_pins(argv[index]);
+}
+
+template<> int Arguments::getArg<int>(void) {
+    index++;
+    char *pEnd;
+    return strtol(argv[index], &pEnd, 10);
+}
+
+template<> const char* Arguments::getArg<const char*>(void) {
+    index++;
+    return argv[index];
+}
+
+template<> char Arguments::getArg<char>(void) {
+    index++;
+    return *argv[index];
+}
+
+template<> double Arguments::getArg<double>(void) {
+    index++;
+    return atof(argv[index]);
+}
+
+template<> float Arguments::getArg<float>(void) {
+    index++;
+    return atof(argv[index]);
+}
+
+Reply::Reply(char* r) {
+    first = true;
+    *r = '\0';
+    reply = r;
+}
+
+void Reply::separator(void) {
+    if (first) {
+        first = false;
+    } else {
+        *reply = ' '; reply++;
+    }
+}
+
+template<> void Reply::putData<const char*>(const char* s) {
+    separator();
+    reply += sprintf(reply, "%s", s);
+}
+
+template<> void Reply::putData<char*>(char* s) {
+    separator();
+    reply += sprintf(reply, "%s", s);
+}
+
+template<> void Reply::putData<char>(char c) {
+    separator();
+    reply += sprintf(reply, "%c", c);
+}
+
+template<> void Reply::putData<int>(int v) {
+    separator();
+    reply += sprintf(reply, "%d", v);
+}
+
+template<> void Reply::putData<float>(float f) {
+    separator();
+    reply += sprintf(reply, "%.17g", f);
+}
+
+} // namespace mbed
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/Arguments.h	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,65 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef ARGUMENTS_H
+#define ARGUMENTS_H
+
+#include "platform.h"
+#include "parse_pins.h"
+
+namespace mbed {
+
+#define RPC_MAX_STRING  128
+#define RPC_MAX_ARGS     16
+
+class Arguments {
+public:
+    Arguments(const char* rqs);
+
+    template<typename Arg>
+    Arg   getArg(void);
+
+    char *obj_name;
+    char *method_name;
+
+    int   argc;
+    char* argv[RPC_MAX_ARGS];
+
+private:
+    // This copy can be removed if we can assume the request string is
+    // persistent and writable for the duration of the call
+    char  request[RPC_MAX_STRING];
+    int index;
+    char* search_arg(char **arg, char *p, char next_sep);
+};
+
+class Reply {
+public:
+    Reply(char* r);
+
+    template<typename Data>
+    void putData(Data d);
+
+private:
+    void separator(void);
+    bool first;
+    char* reply;
+};
+
+
+} // Namespace mbed
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/RPCFunction.cpp	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,43 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "RPCFunction.h"
+
+namespace mbed {
+
+//Custom rpc method caller for execute so that the string will not be delimited by anything
+void rpc_method_caller_run(RPC *this_ptr, Arguments *arguments, Reply *result) {
+    ((static_cast<RPCFunction*>(this_ptr))->run)(arguments, result);
+}
+
+RPCFunction::RPCFunction(void (*f)(Arguments*, Reply*), const char* name) : RPC(name) {
+    _ftr = f;
+}
+
+//Just run the attached function using the string thats in private memory - or just using null values,
+void RPCFunction::run(Arguments* args, Reply* r) {
+    (*_ftr)(args, r);
+}
+
+const rpc_method *RPCFunction::get_rpc_methods() {
+    static const rpc_method rpc_methods[] = {
+        {"run", rpc_method_caller_run }, //Run using custom caller, all characters accepted in string
+        RPC_METHOD_SUPER(RPC)
+    };
+    return rpc_methods;
+}
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/RPCFunction.h	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,60 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef RPCFUNCTION_RPC
+#define RPCFUNCTION_RPC
+
+#include "rpc.h"
+#define STR_LEN 64
+
+namespace mbed {
+
+/**
+ *
+ *Class to call custom functions over RPC
+ *
+ */
+class RPCFunction: public RPC {
+public:
+    /**
+     * Constructor
+     *
+     *@param f Pointer to the function to call. the function must be of the form void foo(char * input, char * output)
+     *@param name The name of this object
+     */
+    RPCFunction(void (*f)(Arguments*, Reply*), const char* = NULL);
+
+    /**
+     *run
+     *
+     *Calls the attached function passing the string in but doesn't return the result.
+     *@param str The string to be passed into the attached function. This string can consist of any ASCII characters apart from escape codes. The usual limtations on argument content for RPC strings has been removed
+     *@return A string output from the function
+     */
+    void run(Arguments* args, Reply* r);
+
+    virtual const struct rpc_method *get_rpc_methods();
+
+private:
+    void (*_ftr)(Arguments*, Reply*);
+
+    char _input[STR_LEN];
+    char _output[STR_LEN];
+};
+
+}
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/RPCVariable.h	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,88 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef RPCVARIABLE_H_
+#define RPCVARIABLE_H_
+
+#include "rpc.h"
+
+namespace mbed {
+
+/**
+ *Class to read and set an attached variable using the RPC
+ *
+ */
+template<class T>
+class RPCVariable: public RPC {
+public:
+    /**
+     * Constructor
+     *
+     *@param ptr Pointer to the variable to make accessible over RPC. Any type of
+     *variable can be connected
+     *@param name The name of that this object will be over RPC
+     */
+    template<class A>
+    RPCVariable(A * ptr, const char * name) : RPC(name) {
+        _ptr = ptr;
+    }
+    /**
+     *Read the variable over RPC.
+     *
+     *@return The value of the variable
+     */
+    T read() {
+        return (*_ptr);
+    }
+    /**
+     *Write a value to the variable over RPC
+     *
+     *@param The value to be written to the attached variable.
+     */
+    void write(T value) {
+        *_ptr = value;
+    }
+
+    virtual const struct rpc_method *get_rpc_methods();
+    static struct rpc_class *get_rpc_class();
+
+private:
+    T * _ptr;
+};
+
+template<class T>
+const rpc_method *RPCVariable<T>::get_rpc_methods() {
+    static const rpc_method rpc_methods[] = {
+        {"read" , rpc_method_caller<T, RPCVariable, &RPCVariable::read> },
+        {"write", rpc_method_caller<RPCVariable, T, &RPCVariable::write> },
+        RPC_METHOD_SUPER(RPC)
+    };
+    return rpc_methods;
+}
+
+template<class T>
+rpc_class *RPCVariable<T>::get_rpc_class() {
+    static const rpc_function funcs[] = {
+            "new", rpc_function_caller<const char*, T, const char*, &RPC::construct<RPCVariable, T, const char*> > ,
+            RPC_METHOD_END
+    };
+    static rpc_class c = {"RPCVariable", funcs, NULL};
+    return &c;
+}
+
+}
+
+#endif  //RPCVARIABLE_H_
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/RpcClasses.h	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,309 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_CLASSES_H
+#define MBED_CLASSES_H
+
+#include "rpc.h"
+
+namespace mbed {
+
+class RpcDigitalOut : public RPC {
+public:
+    RpcDigitalOut(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+    void write(int a0) {o.write(a0);}
+    int read(void) {return o.read();}
+
+    virtual const struct rpc_method *get_rpc_methods() {
+        static const rpc_method rpc_methods[] = {
+            {"write", rpc_method_caller<RpcDigitalOut, int, &RpcDigitalOut::write>},
+            {"read", rpc_method_caller<int, RpcDigitalOut, &RpcDigitalOut::read>},
+            RPC_METHOD_SUPER(RPC)
+        };
+        return rpc_methods;
+    }
+    static struct rpc_class *get_rpc_class() {
+        static const rpc_function funcs[] = {
+            {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcDigitalOut, PinName, const char*> >},
+            RPC_METHOD_END
+        };
+        static rpc_class c = {"DigitalOut", funcs, NULL};
+        return &c;
+    }
+private:
+    DigitalOut o;
+};
+
+class RpcDigitalIn : public RPC {
+public:
+    RpcDigitalIn(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+    int read(void) {return o.read();}
+
+    virtual const struct rpc_method *get_rpc_methods() {
+        static const rpc_method rpc_methods[] = {
+            {"read", rpc_method_caller<int, RpcDigitalIn, &RpcDigitalIn::read>},
+            RPC_METHOD_SUPER(RPC)
+        };
+        return rpc_methods;
+    }
+    static struct rpc_class *get_rpc_class() {
+        static const rpc_function funcs[] = {
+            {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcDigitalIn, PinName, const char*> >},
+            RPC_METHOD_END
+        };
+        static rpc_class c = {"DigitalIn", funcs, NULL};
+        return &c;
+    }
+private:
+    DigitalIn o;
+};
+
+class RpcDigitalInOut : public RPC {
+public:
+    RpcDigitalInOut(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+    int read(void) {return o.read();}
+    void write(int a0) {o.write(a0);}
+    void input(void) {o.input();}
+    void output(void) {o.output();}
+
+    virtual const struct rpc_method *get_rpc_methods() {
+        static const rpc_method rpc_methods[] = {
+            {"read", rpc_method_caller<int, RpcDigitalInOut, &RpcDigitalInOut::read>},
+            {"write", rpc_method_caller<RpcDigitalInOut, int, &RpcDigitalInOut::write>},
+            {"input", rpc_method_caller<RpcDigitalInOut, &RpcDigitalInOut::input>},
+            {"output", rpc_method_caller<RpcDigitalInOut, &RpcDigitalInOut::output>},
+            RPC_METHOD_SUPER(RPC)
+        };
+        return rpc_methods;
+    }
+    static struct rpc_class *get_rpc_class() {
+        static const rpc_function funcs[] = {
+            {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcDigitalInOut, PinName, const char*> >},
+            RPC_METHOD_END
+        };
+        static rpc_class c = {"DigitalInOut", funcs, NULL};
+        return &c;
+    }
+private:
+    DigitalInOut o;
+};
+
+#if DEVICE_ANALOGIN
+class RpcAnalogIn : public RPC {
+public:
+    RpcAnalogIn(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+    float read(void) {return o.read();}
+    unsigned short read_u16(void) {return o.read_u16();}
+
+    virtual const struct rpc_method *get_rpc_methods() {
+        static const rpc_method rpc_methods[] = {
+            {"read", rpc_method_caller<float, RpcAnalogIn, &RpcAnalogIn::read>},
+            {"read_u16", rpc_method_caller<unsigned short, RpcAnalogIn, &RpcAnalogIn::read_u16>},
+            RPC_METHOD_SUPER(RPC)
+        };
+        return rpc_methods;
+    }
+    static struct rpc_class *get_rpc_class() {
+        static const rpc_function funcs[] = {
+            {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcAnalogIn, PinName, const char*> >},
+            RPC_METHOD_END
+        };
+        static rpc_class c = {"AnalogIn", funcs, NULL};
+        return &c;
+    }
+private:
+    AnalogIn o;
+};
+#endif
+
+#if DEVICE_ANALOGOUT
+class RpcAnalogOut : public RPC {
+public:
+    RpcAnalogOut(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+    float read(void) {return o.read();}
+    void write(float a0) {o.write(a0);}
+    void write_u16(unsigned short a0) {o.write_u16(a0);}
+
+    virtual const struct rpc_method *get_rpc_methods() {
+        static const rpc_method rpc_methods[] = {
+            {"read", rpc_method_caller<float, RpcAnalogOut, &RpcAnalogOut::read>},
+            {"write", rpc_method_caller<RpcAnalogOut, float, &RpcAnalogOut::write>},
+            {"write_u16", rpc_method_caller<RpcAnalogOut, unsigned short, &RpcAnalogOut::write_u16>},
+            RPC_METHOD_SUPER(RPC)
+        };
+        return rpc_methods;
+    }
+    static struct rpc_class *get_rpc_class() {
+        static const rpc_function funcs[] = {
+            {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcAnalogOut, PinName, const char*> >},
+            RPC_METHOD_END
+        };
+        static rpc_class c = {"AnalogOut", funcs, NULL};
+        return &c;
+    }
+private:
+    AnalogOut o;
+};
+#endif
+
+#if DEVICE_PWMOUT
+class RpcPwmOut : public RPC {
+public:
+    RpcPwmOut(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+    float read(void) {return o.read();}
+    void write(float a0) {o.write(a0);}
+    void period(float a0) {o.period(a0);}
+    void period_ms(int a0) {o.period_ms(a0);}
+    void pulsewidth(float a0) {o.pulsewidth(a0);}
+    void pulsewidth_ms(int a0) {o.pulsewidth_ms(a0);}
+
+    virtual const struct rpc_method *get_rpc_methods() {
+        static const rpc_method rpc_methods[] = {
+            {"read", rpc_method_caller<float, RpcPwmOut, &RpcPwmOut::read>},
+            {"write", rpc_method_caller<RpcPwmOut, float, &RpcPwmOut::write>},
+            {"period", rpc_method_caller<RpcPwmOut, float, &RpcPwmOut::period>},
+            {"period_ms", rpc_method_caller<RpcPwmOut, int, &RpcPwmOut::period_ms>},
+            {"pulsewidth", rpc_method_caller<RpcPwmOut, float, &RpcPwmOut::pulsewidth>},
+            {"pulsewidth_ms", rpc_method_caller<RpcPwmOut, int, &RpcPwmOut::pulsewidth_ms>},
+            RPC_METHOD_SUPER(RPC)
+        };
+        return rpc_methods;
+    }
+    static struct rpc_class *get_rpc_class() {
+        static const rpc_function funcs[] = {
+            {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcPwmOut, PinName, const char*> >},
+            RPC_METHOD_END
+        };
+        static rpc_class c = {"PwmOut", funcs, NULL};
+        return &c;
+    }
+private:
+    PwmOut o;
+};
+#endif
+
+#if DEVICE_SPI
+class RpcSPI : public RPC {
+public:
+    RpcSPI(PinName a0, PinName a1, PinName a2, const char *name=NULL) : RPC(name), o(a0, a1, a2) {}
+
+    void format(int a0, int a1) {o.format(a0, a1);}
+    void frequency(int a0) {o.frequency(a0);}
+    int write(int a0) {return o.write(a0);}
+
+    virtual const struct rpc_method *get_rpc_methods() {
+        static const rpc_method rpc_methods[] = {
+            {"format", rpc_method_caller<RpcSPI, int, int, &RpcSPI::format>},
+            {"frequency", rpc_method_caller<RpcSPI, int, &RpcSPI::frequency>},
+            {"write", rpc_method_caller<int, RpcSPI, int, &RpcSPI::write>},
+            RPC_METHOD_SUPER(RPC)
+        };
+        return rpc_methods;
+    }
+    static struct rpc_class *get_rpc_class() {
+        static const rpc_function funcs[] = {
+            {"new", rpc_function_caller<const char*, PinName, PinName, PinName, const char*, &RPC::construct<RpcSPI, PinName, PinName, PinName, const char*> >},
+            RPC_METHOD_END
+        };
+        static rpc_class c = {"SPI", funcs, NULL};
+        return &c;
+    }
+private:
+    SPI o;
+};
+#endif
+
+#if DEVICE_SERIAL
+class RpcSerial : public RPC {
+public:
+    RpcSerial(PinName a0, PinName a1, const char *name=NULL) : RPC(name), o(a0, a1) {}
+
+    void baud(int a0) {o.baud(a0);}
+    int readable(void) {return o.readable();}
+    int writeable(void) {return o.writeable();}
+    int putc(int a0) {return o.putc(a0);}
+    int getc(void) {return o.getc();}
+    int puts(const char * a0) {return o.puts(a0);}
+
+    virtual const struct rpc_method *get_rpc_methods() {
+        static const rpc_method rpc_methods[] = {
+            {"baud", rpc_method_caller<RpcSerial, int, &RpcSerial::baud>},
+            {"readable", rpc_method_caller<int, RpcSerial, &RpcSerial::readable>},
+            {"writeable", rpc_method_caller<int, RpcSerial, &RpcSerial::writeable>},
+            {"putc", rpc_method_caller<int, RpcSerial, int, &RpcSerial::putc>},
+            {"getc", rpc_method_caller<int, RpcSerial, &RpcSerial::getc>},
+            {"puts", rpc_method_caller<int, RpcSerial, const char *, &RpcSerial::puts>},
+            RPC_METHOD_SUPER(RPC)
+        };
+        return rpc_methods;
+    }
+    static struct rpc_class *get_rpc_class() {
+        static const rpc_function funcs[] = {
+            {"new", rpc_function_caller<const char*, PinName, PinName, const char*, &RPC::construct<RpcSerial, PinName, PinName, const char*> >},
+            RPC_METHOD_END
+        };
+        static rpc_class c = {"Serial", funcs, NULL};
+        return &c;
+    }
+private:
+    Serial o;
+};
+#endif
+
+class RpcTimer : public RPC {
+public:
+    RpcTimer(const char *name=NULL) : RPC(name), o() {}
+
+    void start(void) {o.start();}
+    void stop(void) {o.stop();}
+    void reset(void) {o.reset();}
+    float read(void) {return o.read();}
+    int read_ms(void) {return o.read_ms();}
+    int read_us(void) {return o.read_us();}
+
+    virtual const struct rpc_method *get_rpc_methods() {
+        static const rpc_method rpc_methods[] = {
+            {"start", rpc_method_caller<RpcTimer, &RpcTimer::start>},
+            {"stop", rpc_method_caller<RpcTimer, &RpcTimer::stop>},
+            {"reset", rpc_method_caller<RpcTimer, &RpcTimer::reset>},
+            {"read", rpc_method_caller<float, RpcTimer, &RpcTimer::read>},
+            {"read_ms", rpc_method_caller<int, RpcTimer, &RpcTimer::read_ms>},
+            {"read_us", rpc_method_caller<int, RpcTimer, &RpcTimer::read_us>},
+            RPC_METHOD_SUPER(RPC)
+        };
+        return rpc_methods;
+    }
+    static struct rpc_class *get_rpc_class() {
+        static const rpc_function funcs[] = {
+            {"new", rpc_function_caller<const char*, const char*, &RPC::construct<RpcTimer, const char*> >},
+            RPC_METHOD_END
+        };
+        static rpc_class c = {"Timer", funcs, NULL};
+        return &c;
+    }
+private:
+    Timer o;
+};
+
+}
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/mbed_rpc.h	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,26 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_RPC_H
+#define MBED_RPC_H
+
+#include "rpc.h"
+#include "RPCVariable.h"
+#include "RPCFunction.h"
+#include "RpcClasses.h"
+#include "Arguments.h"
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/parse_pins.cpp	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,120 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "port_api.h"
+
+namespace mbed {
+
+PinName parse_pins(const char *str) {
+#if defined(TARGET_LPC1768) || defined(TARGET_LPC11U24) || defined(TARGET_LPC2368)
+    static const PinName pin_names[] = {p5, p6, p7, p8, p9, p10, p11, p12, p13, p14
+                                , p15, p16, p17, p18, p19, p20, p21, p22, p23
+                                , p24, p25, p26, p27, p28, p29, p30};
+#elif defined(TARGET_LPC1114)
+    static const PinName pin_names[] = {dp1, dp2, dp4, dp5, dp6, dp9, dp10, dp11
+                                , dp13, dp14, dp15, dp16, dp17, dp18, dp23
+                                , dp24, dp25, dp26, dp27, dp28};
+#elif defined(TARGET_LPC4088)
+    static const PinName pin_names[] = {NC, NC, NC, NC, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14
+                                , p15, p16, p17, p18, p19, p20, NC, NC, p23
+                                , p24, p25, p26, p27, p28, p29, p30, p31, p32
+                                , p33, p34, NC, NC, p37, p38, p39, NC, NC, NC, NC, NC, NC, NC};
+#elif defined(TARGET_LPC4088_DM)
+    static const PinName pin_names[] = {p1, p2, p3, p4, NC, NC, p7, p8, p9, p10, p11, p12, p13, p14
+                                , p15, p16, p17, p18, p19, p20, p21, p22, p23
+                                , p24, p25, p26, NC, NC, p29, p30, NC, NC
+                                , NC, NC, NC, NC, NC, NC, NC, NC, p41, p42, p43, p44, p45, p46};
+#endif
+
+#if defined(TARGET_LPC1768) || defined(TARGET_LPC11U24) || defined(TARGET_LPC2368) || defined(TARGET_LPC812) || defined(TARGET_LPC4088) || defined(TARGET_LPC4088_DM) || defined(TARGET_LPC1114) || defined(TARGET_RZ_A1H) || defined(TARGET_VK_RZ_A1H) || defined(TARGET_GR_LYCHEE)
+    if (str[0] == 'P') {              // Pn_n
+        uint32_t port = str[1] - '0';
+        uint32_t pin  = str[3] - '0'; // Pn_n
+        uint32_t pin2 = str[4] - '0'; // Pn_nn
+        if (pin2 <= 9) {
+            pin = pin * 10 + pin2;
+        }
+        return port_pin((PortName)port, pin);
+
+#elif defined(TARGET_KL25Z) || defined(TARGET_KL27Z) || defined(TARGET_KL05Z) || defined(TARGET_KL46Z) || defined(TARGET_K22F) || defined(TARGET_K64F)
+    if (str[0] == 'P' && str[1] == 'T') {   // PTxn
+        uint32_t port = str[2] - 'A';
+        uint32_t pin  = str[3] - '0';       // PTxn
+        uint32_t pin2 = str[4] - '0';       // PTxnn
+
+        if (pin2 <= 9) {
+            pin = pin * 10 + pin2;
+        }
+        return port_pin((PortName)port, pin);
+
+#elif defined(TARGET_NUCLEO_F072RB) || defined(TARGET_NUCLEO_F303K8) || defined(TARGET_NUCLEO_F411RE)
+    if (str[0] == 'P') {   // PX_XX e.g.PA_2 PC_15
+        uint32_t port = str[1] - 'A';
+        uint32_t pin  = str[3] - '0';       
+        uint32_t pin2 = str[4] - '0';       
+
+        if (pin2 <= 9) {
+            pin = pin * 10 + pin2;
+        }
+        return port_pin((PortName)port, pin);
+
+#endif
+
+
+
+#if defined(TARGET_LPC1768) || defined(TARGET_LPC11U24) || defined(TARGET_LPC2368)
+    } else if (str[0] == 'p') {       // pn
+        uint32_t pin  = str[1] - '0'; // pn
+        uint32_t pin2 = str[2] - '0'; // pnn
+        if (pin2 <= 9) {
+            pin = pin * 10 + pin2;
+        }
+        if (pin < 5 || pin > 30) {
+            return NC;
+        }
+        return pin_names[pin - 5];
+#elif defined(TARGET_LPC4088) || defined(TARGET_LPC4088_DM)
+    } else if (str[0] == 'p') {       // pn
+        uint32_t pin  = str[1] - '0'; // pn
+        uint32_t pin2 = str[2] - '0'; // pnn
+        if (pin2 <= 9) {
+            pin = pin * 10 + pin2;
+        }
+        if (pin < 1 || pin > 46) {
+            return NC;
+        }
+        return pin_names[pin - 1];
+#endif
+    } else if (str[0] == 'L') {  // LEDn
+        switch (str[3]) {
+            case '1' : return LED1;
+            case '2' : return LED2;
+            case '3' : return LED3;
+            case '4' : return LED4;
+        }
+
+    } else if (str[0] == 'U') {  // USB?X
+        switch (str[3]) {
+            case 'T' : return USBTX;
+            case 'R' : return USBRX;
+        }
+    }
+
+    return NC;
+}
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/parse_pins.h	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,28 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PINMAP_H
+#define MBED_PINMAP_H
+
+#include "PinNames.h"
+
+namespace mbed {
+
+PinName parse_pins(const char *str);
+
+}
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/rpc.cpp	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,192 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "rpc.h"
+
+using namespace std;
+
+namespace mbed {
+
+RPC::RPC(const char *name) {
+    _from_construct = false;
+    if (name != NULL) {
+        _name = new char[strlen(name) + 1];
+        strcpy(_name, name);
+    } else {
+        _name = new char[12];
+        sprintf(_name, "obj%p", this);
+    }
+    // put this object at head of the list
+    _next = _head;
+    _head = this;
+}
+
+RPC::~RPC() {
+    // remove this object from the list
+    if (_head == this) { // first in the list, so just drop me
+        _head = _next;
+    } else {            // find the object before me, then drop me
+        RPC* p = _head;
+        while (p->_next != this) {
+            p = p->_next;
+        }
+        p->_next = _next;
+    }
+}
+
+const rpc_method *RPC::get_rpc_methods() {
+    static const rpc_method methods[] = {
+        {"delete", rpc_method_caller<RPC, &RPC::delete_self> },
+        RPC_METHOD_END
+    };
+    return methods;
+}
+
+RPC *RPC::lookup(const char *name) {
+    size_t len = strlen(name);
+    for (RPC *p = _head; p != NULL; p = p->_next) {
+        /* Check that p->_name matches name and is the correct length */
+        if (strncmp(p->_name, name, len) == 0 && (strlen(p->_name) == len)) {
+            return p;
+        }
+    }
+    return NULL;
+}
+
+void RPC::delete_self() {
+    delete[] _name;
+    if (_from_construct) {
+        delete this;
+    }
+}
+
+void RPC::list_objs(Arguments *args, Reply *result) {
+    for (RPC *ptr = RPC::_head; ptr != NULL; ptr = ptr->_next) {
+        if (ptr->_from_construct) {
+            result->putData<const char*>(ptr->_name);
+        }
+    }
+}
+
+void RPC::clear(Arguments*, Reply*) {
+    RPC *ptr = RPC::_head;
+    while (ptr != NULL) {
+        RPC *tmp = ptr;
+        ptr = ptr->_next;
+        delete[] tmp->_name;
+        if (tmp->_from_construct) {
+            delete tmp;
+        }
+    }
+}
+
+const rpc_function RPC::_RPC_funcs[] = {
+    {"clear", &RPC::clear },
+    { "objects", &RPC::list_objs },
+    RPC_METHOD_END
+};
+
+rpc_class RPC::_RPC_class = { "RPC", _RPC_funcs, NULL };
+
+RPC *RPC::_head = NULL;
+
+rpc_class *RPC::_classes = &_RPC_class;
+
+bool RPC::call(const char *request, char *reply) {
+    if (request == NULL) return false;
+
+    Arguments args(request);
+    Reply r(reply);
+
+    /* If there's no name print object and class names to result */
+    if (args.obj_name == NULL) {
+        for (RPC *p = RPC::_head; p != NULL; p = p->_next) {
+            r.putData<const char*>(p->_name);
+        }
+        for (rpc_class *c = RPC::_classes; c != NULL; c = c->next) {
+            r.putData<const char*>(c->name);
+        }
+        return true;
+    }
+
+    /* First try matching an instance */
+    RPC *p = lookup(args.obj_name);
+    if (p != NULL) {
+        /* Get the list of methods we support */
+        const rpc_method *cur_method = p->get_rpc_methods();
+
+        /* When there's no method print method names to result */
+        if (args.method_name == NULL) {
+            while (true) {
+                for (; cur_method->name != NULL; cur_method++) {
+                    r.putData<const char*>(cur_method->name);
+                }
+
+                /* write_name_arr's args are references, so result and cur_method will have changed */
+                if (cur_method->super != 0) {
+                    cur_method = cur_method->super(p);
+                } else {
+                    return true;
+                }
+            }
+        }
+
+        /* Look through the methods for the one whose name matches */
+        while (true) {
+            for (; cur_method->name != NULL; cur_method++) {
+                if (strcmp(cur_method->name, args.method_name) == 0) {
+                    (cur_method->method_caller)(p, &args, &r);
+                    return true;
+                }
+            }
+
+            if (cur_method->super != 0) {
+                cur_method = cur_method->super(p);
+            } else {
+                /* end of methods and no match */
+                return false;
+            }
+
+        }
+    }
+
+    /* Then try a class */
+    for (const rpc_class *q = _classes; q != NULL; q = q->next) {
+        if (strcmp(q->name, args.obj_name) == 0) {
+            /* Matched the class name, so get its functions */
+            const rpc_function *cur_func = q->static_functions;
+            if (args.method_name == NULL) {
+                for (; cur_func->name != NULL; cur_func++) {
+                    r.putData<const char*>(cur_func->name);
+                }
+                return true;
+            } else {
+                /* Otherwise call the appropriate function */
+                for (; cur_func->name != NULL; cur_func++) {
+                    if (strcmp(cur_func->name, args.method_name) == 0) {
+                        (cur_func->function_caller)(&args, &r);
+                        return true;
+                    }
+                }
+                return false;
+            }
+        }
+    }
+
+    return false;
+}
+
+} // namespace mbed
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/rpc.h	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,314 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef RPC_H
+#define RPC_H
+
+#include "mbed.h"
+#include "Arguments.h"
+
+namespace mbed {
+
+#define RPC_MAX_STRING      128
+
+struct rpc_function {
+    const char *name;
+    void (*function_caller)(Arguments*, Reply*);
+};
+
+struct rpc_class {
+    const char *name;
+    const rpc_function *static_functions;
+    struct rpc_class *next;
+};
+
+/* Class RPC
+ *  The RPC class for most things
+ */
+class RPC {
+
+public:
+
+    RPC(const char *name = NULL);
+
+    virtual ~RPC();
+
+    /* Function get_rpc_methods
+     *  Returns a pointer to an array describing the rpc methods
+     *  supported by this object, terminated by either
+     *  RPC_METHOD_END or RPC_METHOD_SUPER(Superclass).
+     *
+     * Example
+     * > class Example : public RPC {
+     * >   int foo(int a, int b) { return a + b; }
+     * >   virtual const struct rpc_method *get_rpc_methods() {
+     * >     static const rpc_method rpc_methods[] = {
+     * >       { "foo", generic_caller<int, Example, int, int, &Example::foo> },
+     * >       RPC_METHOD_SUPER(RPC)
+     * >     };
+     * >     return rpc_methods;
+     * >   }
+     * > };
+     */
+    virtual const struct rpc_method *get_rpc_methods();
+
+    static bool call(const char *buf, char *result);
+
+    /* Function lookup
+     *  Lookup and return the object that has the given name.
+     *
+     * Variables
+     *  name - the name to lookup.
+     */
+    static RPC *lookup(const char *name);
+
+protected:
+    static RPC *_head;
+    RPC *_next;
+    char *_name;
+    bool _from_construct;
+
+private:
+    static rpc_class *_classes;
+
+    static const rpc_function _RPC_funcs[];
+    static rpc_class _RPC_class;
+
+    void delete_self();
+    static void list_objs(Arguments *args, Reply *result);
+    static void clear(Arguments *args, Reply *result);
+
+public:
+    /* Function add_rpc_class
+     *  Add the class to the list of classes which can have static
+     *  methods called via rpc (the static methods which can be called
+     *  are defined by that class' get_rpc_class() static method).
+     */
+    template<class C>
+    static void add_rpc_class() {
+        rpc_class *c = C::get_rpc_class();
+        c->next = _classes;
+        _classes = c;
+    }
+
+    template<class C>
+    static const char *construct() {
+        RPC *p = new C();
+        p->_from_construct = true;
+        return p->_name;
+    }
+
+    template<class C, typename A1>
+    static const char *construct(A1 arg1) {
+        RPC *p = new C(arg1);
+        p->_from_construct = true;
+        return p->_name;
+    }
+
+    template<class C, typename A1, typename A2>
+    static const char *construct(A1 arg1, A2 arg2) {
+        RPC *p = new C(arg1, arg2);
+        p->_from_construct = true;
+        return p->_name;
+    }
+
+    template<class C, typename A1, typename A2, typename A3>
+    static const char *construct(A1 arg1, A2 arg2, A3 arg3) {
+        RPC *p = new C(arg1, arg2, arg3);
+        p->_from_construct = true;
+        return p->_name;
+    }
+
+    template<class C, typename A1, typename A2, typename A3, typename A4>
+    static const char *construct(A1 arg1, A2 arg2, A3 arg3, A4 arg4) {
+        RPC *p = new C(arg1, arg2, arg3, arg4);
+        p->_from_construct = true;
+        return p->_name;
+    }
+};
+
+/* Macro MBED_OBJECT_NAME_MAX
+ *  The maximum size of object name (including terminating null byte)
+ *  that will be recognised when using fopen to open a FileLike
+ *  object, or when using the rpc function.
+ */
+#define MBED_OBJECT_NAME_MAX 32
+
+/* Macro MBED_METHOD_NAME_MAX
+ *  The maximum size of rpc method name (including terminating null
+ *  byte) that will be recognised by the rpc function (in rpc.h).
+ */
+#define MBED_METHOD_NAME_MAX 32
+
+/* Function rpc_method_caller
+ */
+template<class T, void(T::*member)(const char *, char *)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+    (static_cast<T*>(this_ptr)->*member)(arguments, result);
+}
+
+/* Function rpc_method_caller
+ */
+template<class T, void(T::*member)()>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+    (static_cast<T*>(this_ptr)->*member)();
+}
+
+/* Function rpc_method_caller
+ */
+template<class T, typename A1, void(T::*member)(A1)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+    A1 arg1 = arguments->getArg<A1>();
+
+    (static_cast<T*>(this_ptr)->*member)(arg1);
+}
+
+/* Function rpc_method_caller
+ */
+template<class T, typename A1, typename A2, void(T::*member)(A1, A2)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+    A1 arg1 = arguments->getArg<A1>();
+    A2 arg2 = arguments->getArg<A2>();
+
+    (static_cast<T*>(this_ptr)->*member)(arg1, arg2);
+}
+
+/* Function rpc_method_caller
+ */
+template<class T, typename A1, typename A2, typename A3, void(T::*member)(A1, A2, A3)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+    A1 arg1 = arguments->getArg<A1>();
+    A2 arg2 = arguments->getArg<A2>();
+    A3 arg3 = arguments->getArg<A3>();
+
+    (static_cast<T*>(this_ptr)->*member)(arg1, arg2, arg3);
+}
+
+/* Function rpc_method_caller
+ */
+template<typename R, class T, R(T::*member)()>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+    R res = (static_cast<T*>(this_ptr)->*member)();
+    result->putData<R>(res);
+}
+
+/* Function rpc_method_caller
+ */
+template<typename R, class T, typename A1, R(T::*member)(A1)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+    A1 arg1 = arguments->getArg<A1>();
+
+    R res = (static_cast<T*>(this_ptr)->*member)(arg1);
+    result->putData<R>(res);
+}
+
+/* Function rpc_method_caller
+ */
+template<typename R, class T, typename A1, typename A2, R(T::*member)(A1, A2)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+    A1 arg1 = arguments->getArg<A1>();
+    A2 arg2 = arguments->getArg<A2>();
+
+    R res = (static_cast<T*>(this_ptr)->*member)(arg1, arg2);
+    result->putData<R>(res);
+}
+
+/* Function rpc_method_caller
+ */
+template<typename R, class T, typename A1, typename A2, typename A3, R(T::*member)(A1, A2, A3)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+    A1 arg1 = arguments->getArg<A1>();
+    A2 arg2 = arguments->getArg<A2>();
+    A3 arg3 = arguments->getArg<A3>();
+
+    R res = (static_cast<T*>(this_ptr)->*member)(arg1, arg2, arg3);
+    result->putData<R>(res);
+}
+
+/* Function rpc_function caller
+ */
+template<typename R, R(*func)()>
+void rpc_function_caller(Arguments *arguments, Reply *result) {
+    R res = (*func)();
+    result->putData<R>(res);
+}
+
+/* Function rpc_function caller
+ */
+template<typename R, typename A1, R(*func)(A1)>
+void rpc_function_caller(Arguments *arguments, Reply *result) {
+    A1 arg1 = arguments->getArg<A1>();
+    R res = (*func)(arg1);
+    result->putData<R>(res);
+}
+
+/* Function rpc_function caller
+ */
+template<typename R, typename A1, typename A2, R(*func)(A1, A2)>
+void rpc_function_caller(Arguments *arguments, Reply *result) {
+    A1 arg1 = arguments->getArg<A1>();
+    A2 arg2 = arguments->getArg<A2>();
+
+    R res = (*func)(arg1, arg2);
+    result->putData<R>(res);
+}
+
+/* Function rpc_function caller
+ */
+template<typename R, typename A1, typename A2, typename A3, R(*func)(A1, A2, A3)>
+void rpc_function_caller(Arguments *arguments, Reply *result) {
+    A1 arg1 = arguments->getArg<A1>();
+    A2 arg2 = arguments->getArg<A2>();
+    A3 arg3 = arguments->getArg<A3>();
+
+    R res = (*func)(arg1, arg2, arg3);
+    result->putData<R>(res);
+}
+
+/* Function rpc_function caller
+ */
+template<typename R, typename A1, typename A2, typename A3, typename A4, R(*func)(A1, A2, A3, A4)>
+void rpc_function_caller(Arguments *arguments, Reply *result) {
+    A1 arg1 = arguments->getArg<A1>();
+    A2 arg2 = arguments->getArg<A2>();
+    A3 arg3 = arguments->getArg<A3>();
+    A4 arg4 = arguments->getArg<A4>();
+
+    R res = (*func)(arg1, arg2, arg3, arg4);
+    result->putData<R>(res);
+}
+
+struct rpc_method {
+    const char *name;
+    typedef void (*method_caller_t)(RPC*, Arguments*, Reply*);
+    typedef const struct rpc_method *(*super_t)(RPC*);
+    union {
+        method_caller_t method_caller;
+        super_t super;
+    };
+};
+
+template<class C>
+const struct rpc_method *rpc_super(RPC *this_ptr) {
+    return static_cast<C*>(this_ptr)->C::get_rpc_methods();
+}
+
+#define RPC_METHOD_END      { NULL, NULL }
+#define RPC_METHOD_SUPER(C) { NULL, (rpc_method::method_caller_t)rpc_super<C> }
+
+} // namespace mbed
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed_app.json	Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,21 @@
+{
+    "config": {
+        "camera":{
+            "help": "0:disable 1:enable",
+            "value": "1"
+        },
+        "lcd":{
+            "help": "0:disable 1:enable",
+            "value": "0"
+        },
+        "usb-host-ch":{
+            "help": "(for GR-PEACH) 0:ch0 1:ch1",
+            "value": "1"
+        },
+        "audio-camera-shield":{
+            "help": "(for GR-PEACH) 0:not use 1:use",
+            "value": "1"
+        }
+    }
+}
+